Parcourir la source

Updated anchor links

Björn Ritzl il y a 6 ans
Parent
commit
4649402849

+ 4 - 4
docs/en/manuals/adapting-graphics-to-screen-size.md

@@ -20,12 +20,12 @@ This manual will address some of these things and suggest best practices.
 
 ## How to change how your content is rendered
 
-The Defold render script give you total control over the entire rendering pipeline. The render script decides the order as well as what and how to draw things. The default behavior of the render script is to always draw the same area of pixels, defined by the width and height in the *game.project* file, regardless if the window is resized or the actual screen resolution doesn't match. This will result in the content being stretched if the aspect ratio changes and zoomed in or out if the window size changes. In some games this might be acceptable, but it is more likely that you want to show more or less game content if the screen resolution or aspect ratio is different, or at least make sure to zoom the content without changing the aspect ratio. The default stretch behavior can easily be changed and you can read more about how to do this in the [Render manual](https://www.defold.com/manuals/render/#_default_view_projection).
+The Defold render script give you total control over the entire rendering pipeline. The render script decides the order as well as what and how to draw things. The default behavior of the render script is to always draw the same area of pixels, defined by the width and height in the *game.project* file, regardless if the window is resized or the actual screen resolution doesn't match. This will result in the content being stretched if the aspect ratio changes and zoomed in or out if the window size changes. In some games this might be acceptable, but it is more likely that you want to show more or less game content if the screen resolution or aspect ratio is different, or at least make sure to zoom the content without changing the aspect ratio. The default stretch behavior can easily be changed and you can read more about how to do this in the [Render manual](https://www.defold.com/manuals/render/#default-view-projection).
 
 
 ## Retro/8-bit graphics
 
-Retro/8-bit graphics often refer to games emulating the graphical style of old game consoles or computers with their low resolution and limited color palette. As an example the Nintendo Entertainment System (NES) had a screen resolution of 256x240, the Commodore 64 had 320x200 and the Gameboy had 160x144, all of which are only a fraction of the size of modern screens. In order to make games emulating this graphical style and screen resolution playable on a modern high resolution screen the graphics has to be upscaled or zoomed several times. One simple way of doing this is to draw all of your graphics in the low resolution and style that you wish to emulate and zoom the graphics when it is rendered. This can easily be achieved in Defold using the render script and the [Fixed Projection](/manuals/render/#_default_view_projection) set to a suitable zoom value.
+Retro/8-bit graphics often refer to games emulating the graphical style of old game consoles or computers with their low resolution and limited color palette. As an example the Nintendo Entertainment System (NES) had a screen resolution of 256x240, the Commodore 64 had 320x200 and the Gameboy had 160x144, all of which are only a fraction of the size of modern screens. In order to make games emulating this graphical style and screen resolution playable on a modern high resolution screen the graphics has to be upscaled or zoomed several times. One simple way of doing this is to draw all of your graphics in the low resolution and style that you wish to emulate and zoom the graphics when it is rendered. This can easily be achieved in Defold using the render script and the [Fixed Projection](/manuals/render/#default-view-projection) set to a suitable zoom value.
 
 Let's take this tileset and player character ([source](https://ansimuz.itch.io/grotto-escape-game-art-pack)) and use them for an 8-bit retro game with a resolution of 320x200:
 
@@ -96,7 +96,7 @@ This will create a high dpi back buffer on displays that support it. The game wi
 
 ## Creating an adaptive GUI
 
-The system for creating GUI components is built around a number of basic building blocks, or [nodes](/manuals/gui/#_node_types), and while it may seem overly simple it can be used to create anything from buttons to complex menus and popups. The GUIs that you create can be configured to automatically adapt to screen size and orientation changes. You can for instance keep nodes anchored to the top, bottom or sides of the screen and nodes can either keep their size or stretch. The relationship between nodes as well as their size and appearance can also be configured to change when the screen size or orientation changes.
+The system for creating GUI components is built around a number of basic building blocks, or [nodes](/manuals/gui/#node-types), and while it may seem overly simple it can be used to create anything from buttons to complex menus and popups. The GUIs that you create can be configured to automatically adapt to screen size and orientation changes. You can for instance keep nodes anchored to the top, bottom or sides of the screen and nodes can either keep their size or stretch. The relationship between nodes as well as their size and appearance can also be configured to change when the screen size or orientation changes.
 
 ### Node properties
 
@@ -106,7 +106,7 @@ Each node in a gui has a pivot point, a horizontal and vertical anchor as well a
 * The anchor mode controls how the node’s vertical and horizontal position is altered when the scene boundaries, or the parent node’s boundaries are stretched to fit the physical screen size.
 * The adjust mode setting controls what happens to a node when the scene boundaries, or the parent node’s boundaries, are adjusted to fit the physical screen size.
 
-You can learn more about these properties [in the GUI manual](/manuals/gui/#_node_properties).
+You can learn more about these properties [in the GUI manual](/manuals/gui/#node-properties).
 
 ### Layouts
 

+ 2 - 2
docs/en/manuals/android.md

@@ -36,7 +36,7 @@ Make sure that you store your certificate and key safely. If you lose them you w
 
 ## Creating an Android application bundle
 
-The editor lets you easily create a stand alone application bundle for your game. Before bundling you can specify what icon(s) to use for the app, set version code etc in the "game.project" [project settings file](/manuals/project-settings/#_android). To bundle select <kbd>Project ▸ Bundle... ▸ Android Application...</kbd> from the menu.
+The editor lets you easily create a stand alone application bundle for your game. Before bundling you can specify what icon(s) to use for the app, set version code etc in the "game.project" [project settings file](/manuals/project-settings/#android). To bundle select <kbd>Project ▸ Bundle... ▸ Android Application...</kbd> from the menu.
 
 If you want the editor to automatically create random debug certificates, leave the *Certificate* and *Private key* fields empty:
 
@@ -63,7 +63,7 @@ Success
 
 ## Permissions
 
-The Defold engine requires a number of different permissions for all engine features to work. The permissions are defined in the `AndroidManifest.xml`, specified in the "game.project" [project settings file](/manuals/project-settings/#_android). You can read more about Android permissions in [the official docs](https://developer.android.com/guide/topics/permissions/overview). The following permissions are requested in the default manifest:
+The Defold engine requires a number of different permissions for all engine features to work. The permissions are defined in the `AndroidManifest.xml`, specified in the "game.project" [project settings file](/manuals/project-settings/#android). You can read more about Android permissions in [the official docs](https://developer.android.com/guide/topics/permissions/overview). The following permissions are requested in the default manifest:
 
 ### android.permission.INTERNET and android.permission.ACCESS_NETWORK_STATE (Protection level: normal)
 Allows applications to open network sockets and access information about networks. These permission are needed for internet access. ([Android official docs](https://developer.android.com/reference/android/Manifest.permission#INTERNET)) and ([Android official docs](https://developer.android.com/reference/android/Manifest.permission#ACCESS_NETWORK_STATE)).

+ 1 - 1
docs/en/manuals/application-lifecycle.md

@@ -102,7 +102,7 @@ The last step in the update loop involves dispatching `@system` messages (`exit`
 
 The number of frame updates per second (which equals the number of update-loop runs per second) can be set in the project settings, or programmatically by sending a `set_update_frequency` message to the `@system` socket. In addition, it is possible to set the _time step_ for collection proxies individually by sending a `set_time_step` message to the proxy. Changing a collection's time step does not affect the frame rate. It does affect the physics update time step as well as the `dt` variable passed to `update().` Also note that altering the time step does not alter the number of times `update()` will be called each frame---it is always exactly once.
 
-(See the [Collection proxy manual](/manuals/collection-proxy) and [`set_time_step`](/ref/collection-proxy#set_time_step) for details)
+(See the [Collection proxy manual](/manuals/collection-proxy) and [`set_time_step`](/ref/collection-proxy#set-time-step) for details)
 
 ## Finalization
 

+ 6 - 6
docs/en/manuals/bundling.md

@@ -23,19 +23,19 @@ When bundling your game there is an option to create a build report. This is ver
 
 ![build report](images/profiling/build_report.png){srcset="images/profiling/[email protected] 2x"}
 
-To learn more about build reports please refer to the [Profiling manual](/manuals/profiling/#_build_reports).
+To learn more about build reports please refer to the [Profiling manual](/manuals/profiling/#build-reports).
 
 ### Android
 
-Creating an Android application bundle (.apk file) as well as the prerequisite setup is documented in the [Android manual](/manuals/android/#_creating_an_android_application_bundle).
+Creating an Android application bundle (.apk file) as well as the prerequisite setup is documented in the [Android manual](/manuals/android/#creating-an-android-application-bundle).
 
 ### iOS
 
-Creating an iOS application bundle (.ipa file) as well as the prerequisite setup is documented in the [iOS manual](/manuals/ios/#_creating_an_ios_application_bundle).
+Creating an iOS application bundle (.ipa file) as well as the prerequisite setup is documented in the [iOS manual](/manuals/ios/#creating-an-ios-application-bundle).
 
 ### OSX
 
-Creating an OSX application bundle (.app file) requires no specific setup, but optional platform specific configuration is done in the "game.project" [project settings file](/manuals/project-settings/#_macos_os_x).
+Creating an OSX application bundle (.app file) requires no specific setup, but optional platform specific configuration is done in the "game.project" [project settings file](/manuals/project-settings/#macos-os-x).
 
 ### Linux
 
@@ -43,7 +43,7 @@ Creating a Linux application bundle requires no specific setup and no optional p
 
 ### Windows
 
-Creating a Windows application bundle (.exe file) requires no specific setup, but optional platform specific configuration is done in the "game.project" [project settings file](/manuals/project-settings/#_windows).
+Creating a Windows application bundle (.exe file) requires no specific setup, but optional platform specific configuration is done in the "game.project" [project settings file](/manuals/project-settings/#windows).
 
 #### Facebook Gameroom
 
@@ -51,7 +51,7 @@ It is possible to create a special version of a Windows application bundle speci
 
 ### HTML5
 
-Creating an HTML5 application bundle as well as optional setup is documented in the [HTML5 manual](/manuals/html5/#_creating_html5_content).
+Creating an HTML5 application bundle as well as optional setup is documented in the [HTML5 manual](/manuals/html5/#creating-html5-content).
 
 #### Facebook Instant Games
 

+ 4 - 4
docs/en/manuals/camera.md

@@ -5,7 +5,7 @@ brief: This manual describes the functionality of the Defold camera component.
 
 # Cameras
 
-A camera in Defold is a component that changes the viewport and projection of the game world. The camera component defines a bare bones perspective or orthographic camera that provides a view and projection matrix to the render script. A perspective camera is typically used for 3D games while an orthographic camera is used for 2D games. If you need advanced features like chasing, zooming, shake etc you will need to implement it yourself (see section on [third-party camera solutions](https://www.defold.com/manuals/camera/#_third_party_camera_solutions) below).
+A camera in Defold is a component that changes the viewport and projection of the game world. The camera component defines a bare bones perspective or orthographic camera that provides a view and projection matrix to the render script. A perspective camera is typically used for 3D games while an orthographic camera is used for 2D games. If you need advanced features like chasing, zooming, shake etc you will need to implement it yourself (see section on [third-party camera solutions](https://www.defold.com/manuals/camera/#third-party-camera-solutions) below).
 
 ## Creating a camera
 
@@ -84,7 +84,7 @@ An alternative way is to update the position of the game object the camera compo
 When the camera has panned, zoomed or changed it's projection from the default orthographic Stretch projection the mouse coordinates provided in the on_input() lifecycle function will no longer match to the world coordinates of your game objects. You need to manually account for the change in view or projection. Converting from mouse/screen coordinates to world coordinates from the default render script is done like this:
 
 ::: sidenote
-The [third-party camera solutions mentioned in this manual](/manuals/camera/#_third_party_camera_solutions) provides functions for converting to and from screen coordinates.
+The [third-party camera solutions mentioned in this manual](/manuals/camera/#third-party-camera-solutions) provides functions for converting to and from screen coordinates.
 :::
 
 ```Lua
@@ -123,7 +123,7 @@ Note that the near and far planes are also specified in the message. The near an
 With an orthographic projection the view will be positioned such that the lower-left corner of the rendered portion of the screen will correspond to the position of the game object the camera component is attached to.
 :::
 
-Learn more about the render script and how to change which type of orthographic projection to use in the [Render manual](/manuals/render/#_default_view_projection).
+Learn more about the render script and how to change which type of orthographic projection to use in the [Render manual](/manuals/render/#default-view-projection).
 
 ### Perspective projection (3D)
 To use perspective projection you must use both the view and projection provided by the camera. You tell the render script to use the projection coming from the camera by sending a message to the render script:
@@ -132,7 +132,7 @@ To use perspective projection you must use both the view and projection provided
 msg.post("@render:", "use_camera_projection")
 ```
 
-Learn more about the render script in the [Render manual](/manuals/render/#_perspective_projection).
+Learn more about the render script in the [Render manual](/manuals/render/#perspective-projection).
 
 
 ## Third-party camera solutions

+ 1 - 1
docs/en/manuals/collection-factory.md

@@ -7,7 +7,7 @@ brief: This manual explains how to use collection factory components to spawn hi
 
 The collection factory component is used to spawn groups and hierarchies of game objects stored in collection files into a running game.
 
-Collections provide a powerful mechanism to create reusable templates, or "prefabs" in Defold. For an overview on Collections, see the [Building blocks documentation](/manuals/building-blocks#_collections). Collections can be placed in the editor, or they can be dynamically inserted into your game.
+Collections provide a powerful mechanism to create reusable templates, or "prefabs" in Defold. For an overview on Collections, see the [Building blocks documentation](/manuals/building-blocks#collections). Collections can be placed in the editor, or they can be dynamically inserted into your game.
 
 With a collection factory component you can spawn the contents of a collection file into a game world. This is analogous to performing factory spawning of all game objects inside the collection and then building the parent-child hierarchy between the objects. A typical use case is to spawn enemies consisting of multiple game objects (enemy + weapon, for instance).
 

+ 3 - 3
docs/en/manuals/components.md

@@ -53,7 +53,7 @@ msg.post("#weapon", "enable")
 
 ## Component properties
 
-The Defold components types all have different properties. The [Properties pane](/manuals/editor/#_the_editor_views) in the editor will show the properties of the currently selected component in the [Outline pane](/manuals/editor/#_the_editor_views). Refer to the manuals of the different component types to learn more about the available component properties.
+The Defold components types all have different properties. The [Properties pane](/manuals/editor/#the-editor-views) in the editor will show the properties of the currently selected component in the [Outline pane](/manuals/editor/#the-editor-views). Refer to the manuals of the different component types to learn more about the available component properties.
 
 ## Component position, rotation and scale
 
@@ -66,7 +66,7 @@ If you need to change the position, rotation or scale of a component at run-time
 The draw order of visual components depend on two things:
 
 ### Render script predicates
-Each component is assigned a [material](/manuals/material/) and each material has one or more tags. The render script will in turn define a number of predicates, each matching one or more material tags. The render script [predicates are drawn one by one](/manuals/render/#_render_predicates) in the *update()* function of the render script and the components matching the tags defined in each predicate will be drawn. The default render script will first draw sprites and tilemaps in one pass, then particle effects in another pass, both in world space. The render script will then proceed to draw GUI components in a separate pass in screen space.
+Each component is assigned a [material](/manuals/material/) and each material has one or more tags. The render script will in turn define a number of predicates, each matching one or more material tags. The render script [predicates are drawn one by one](/manuals/render/#render-predicates) in the *update()* function of the render script and the components matching the tags defined in each predicate will be drawn. The default render script will first draw sprites and tilemaps in one pass, then particle effects in another pass, both in world space. The render script will then proceed to draw GUI components in a separate pass in screen space.
 
 ### Component z-value
 The components matching a predicate are drawn together, and the order in which they are drawn depends on the final z-value of the component. The final z-value of a component is the sum of the z-values of the component itself, the game object it belongs to and the z-value of any parent game objects.
@@ -88,5 +88,5 @@ With the above hierarchy the final z-value of the sprite component on B is 2 + 1
 ::: important
 If two components have the exact same z-value the order is undefined and you may end up with components flickering back and forth or components being rendered in one order on one platform and in another order on another platform.
 
-The render script defines a near and far plane for z-values. Any component with a z-value that falls outside of this range will not be rendered. The default range is -1 to 1 but [it can easily be changed](/manuals/render/#_default_view_projection).
+The render script defines a near and far plane for z-values. Any component with a z-value that falls outside of this range will not be rendered. The default range is -1 to 1 but [it can easily be changed](/manuals/render/#default-view-projection).
 :::

+ 2 - 2
docs/en/manuals/dev-app.md

@@ -13,7 +13,7 @@ Any application that is bundled in Debug mode will be able to act as a developme
 
 ### Installing on iOS
 
-Any iOS application that has been bundled as a Debug variant will be able to act as a development app. It is recommended that you bundle a Debug variant of the application that you are currently working on. This will ensure that the dev app has the correct project settings and uses the same [native extensions](/manuals/extensions/). Follow the [instructions in the iOS manual](/manuals/ios/#_creating_an_ios_application_bundle) to bundle for iOS. Make sure to select Debug as variant!
+Any iOS application that has been bundled as a Debug variant will be able to act as a development app. It is recommended that you bundle a Debug variant of the application that you are currently working on. This will ensure that the dev app has the correct project settings and uses the same [native extensions](/manuals/extensions/). Follow the [instructions in the iOS manual](/manuals/ios/#creating-an-ios-application-bundle) to bundle for iOS. Make sure to select Debug as variant!
 
 ### Installing on Android
 
@@ -48,7 +48,7 @@ To launch your game on your device, the dev app and editor must be able to conne
 2. Launch the dev app on the device.
 3. Select your device under <kbd>Project ▸ Targets</kbd> in the editor.
 4. Select <kbd>Project ▸ Build And Launch</kbd> to run the game. It may take a while for the game to start since the game content is streamed to the device over the network.
-5. While the game is running, you can use [hot reloading](/manuals/debugging#_hot_reloading) as usual.
+5. While the game is running, you can use [hot reloading](/manuals/debugging#hot-reloading) as usual.
 
 ![launch](images/dev-app/launch.png)
 

+ 1 - 1
docs/en/manuals/extensions-best-practices.md

@@ -96,7 +96,7 @@ Here is a folder structure that we use frequently for our extensions.
             /res                         -- Any resources needed for a platform
             /external
                 README.md                -- Notes/scripts on how to build or package any external libraries
-        /bundleres                       -- Resources that should be bundles for (see game.project and the [bundle_resources setting]([physics scale setting](/manuals/project-settings/#_project))
+        /bundleres                       -- Resources that should be bundles for (see game.project and the [bundle_resources setting]([physics scale setting](/manuals/project-settings/#project))
             /<platform>
         game.project
         game.appmanifest                 -- Any extra app configuration info

+ 1 - 1
docs/en/manuals/extensions-debugging.md

@@ -69,7 +69,7 @@ You are adviced to read the file, gather information and send it to a server of
 
 The adb output says where it is located (different location on different devices)
 
-If the app is [debuggable](https://www.defold.com/manuals/project-settings/#_android), you can get the crash log like so:
+If the app is [debuggable](https://www.defold.com/manuals/project-settings/#android), you can get the crash log like so:
 
 	$ adb shell "run-as com.defold.adtest sh -c 'cat /data/data/com.defold.adtest/files/_crash'" > ./_crash
 

+ 1 - 1
docs/en/manuals/facebook.md

@@ -69,7 +69,7 @@ For Android you need to specify a *Google Play Package Name*, which is the game'
 $ cat certificate.pem | openssl x509 -outform der | openssl sha1 -binary | openssl base64
 ```
 
-(See [Creating certificates and keys](/manuals/android/#_creating_certificates_and_keys) in the Android manual for details on how to create your own signing files.)
+(See [Creating certificates and keys](/manuals/android/#creating-certificates-and-keys) in the Android manual for details on how to create your own signing files.)
 
 ![Android settings](images/facebook/settings_android.png)
 

+ 4 - 4
docs/en/manuals/flash.md

@@ -114,7 +114,7 @@ The Defold equivalent of the Flash Stage is a collection. When the engine starts
 
 ![game.project](images/flash/game_project.png)
 
-Collections are containers that are used in the editor to organize game objects and other collections. The contents of a collection can also be spawned via script into the runtime using a [collection factory](/manuals/collection-factory/#_spawning_a_collection), which works the same way as a regular game object factory. This is useful for spawning groups of enemies, or a pattern of coin collectables, for instance. In the screenshot below, we have manually placed two instances of the "logos" collection into the "main" collection.
+Collections are containers that are used in the editor to organize game objects and other collections. The contents of a collection can also be spawned via script into the runtime using a [collection factory](/manuals/collection-factory/#spawning-a-collection), which works the same way as a regular game object factory. This is useful for spawning groups of enemies, or a pattern of coin collectables, for instance. In the screenshot below, we have manually placed two instances of the "logos" collection into the "main" collection.
 
 ![collection](images/flash/collection.png)
 
@@ -134,7 +134,7 @@ Motion tweens allow the animation of various properties of an object, including
 
 ## Defold—property animation
 
-Defold works with pixel images as opposed to vector graphics, thus it does not have an equivalent for shape tweening. However, motion tweening has a powerful equivalent in [property animation](/ref/go/#go.animate). This is accomplished via script, using the `go.animate()` function. The go.animate() function tweens a property (such as color, scale, rotation or position) from the starting value to the desired end value, using one of many available easing functions (including custom ones). Where Flash required user implementation of more advanced easing functions, Defold includes [many easing functions](/manuals/animation/#_easing) built into the engine.
+Defold works with pixel images as opposed to vector graphics, thus it does not have an equivalent for shape tweening. However, motion tweening has a powerful equivalent in [property animation](/ref/go/#go.animate). This is accomplished via script, using the `go.animate()` function. The go.animate() function tweens a property (such as color, scale, rotation or position) from the starting value to the desired end value, using one of many available easing functions (including custom ones). Where Flash required user implementation of more advanced easing functions, Defold includes [many easing functions](/manuals/animation/#easing) built into the engine.
 
 Where Flash makes use of keyframes of graphics on a timeline for animation, one of the main methods of graphic animation in Defold is by flipbook animation of imported image sequences. Animations are organised in a game object component known as an atlas. In this instance we have an atlas for a game character with an animation sequence called "run". This consists of a series of png files:
 
@@ -238,7 +238,7 @@ Now, bullets can collide with targets and other bullets. For reference, we have
 
 Note how the *Group* property is set to "target" and *Mask* is set to "bullet".
 
-In Flash, collision detection occurs only when explicitly called by the script. In Defold, collision detection occurs continuously in the background as long as a collision object remains enabled. When a collision occurs, messages are sent to all components of a game object (most relevantly, the script components). These are the [collision_response and contact_point_response](/manuals/physics/#_collision_messages) messages, which contain all the information required to resolve the collision as desired.
+In Flash, collision detection occurs only when explicitly called by the script. In Defold, collision detection occurs continuously in the background as long as a collision object remains enabled. When a collision occurs, messages are sent to all components of a game object (most relevantly, the script components). These are the [collision_response and contact_point_response](/manuals/physics/#collision-messages) messages, which contain all the information required to resolve the collision as desired.
 
 The advantage of Defold collision detection is that it is more advanced than that of Flash, with the ability to detect collisions between relatively complex shapes with very little setup effort. Collision detection is automatic, meaning looping through the various objects in the different collision groups and explicitly performing hit tests is not required. The main drawback is that there is no equivalent to the Flash shapeFlag. However, for most uses combinations of the basic box and sphere shapes suffice. For more complex scenarios, custom shapes [are possible](//forum.defold.com/t/does-defold-support-only-three-shapes-for-collision-solved/1985).
 
@@ -268,7 +268,7 @@ on_input
 on_reload
 :   Called when the script component is reloaded.
 
-The callback functions listed above are all optional and can be removed if not used. For details on how to set up input, please refer to the [input manual](/manuals/input). A common pitfall occurs when working with collection proxies - please refer for [this section](/manuals/input/#_input_and_collection_proxies) of the input manual for more information.
+The callback functions listed above are all optional and can be removed if not used. For details on how to set up input, please refer to the [input manual](/manuals/input). A common pitfall occurs when working with collection proxies - please refer for [this section](/manuals/input/#input-and-collection-proxies) of the input manual for more information.
 
 As discussed in the collision detection section, collision events are dealt with through the sending of messages to the game objects involved. Their respective script components receive the message in their on_message callback functions.
 

+ 2 - 2
docs/en/manuals/getting-help.md

@@ -33,7 +33,7 @@ A good way to discuss and get help with a problem is to post a question on our [
   - macOS: `/Users/ **Your Username** /Library/Application Support/` or `~/Library/Application Support/Defold`
   - Linux: `~/.Defold`
 
-  Engine logs for Android can be accessed using the `adb` command line tool (Android Debug Bridge). Read more about the `adb` command line tool in the [Android manual](/manuals/android/#_android_debug_bridge).
+  Engine logs for Android can be accessed using the `adb` command line tool (Android Debug Bridge). Read more about the `adb` command line tool in the [Android manual](/manuals/android/#android-debug-bridge).
 
   Engine logs for iOS can be accessed using XCode and the Devices and Simulators menu option.
 
@@ -44,7 +44,7 @@ A good way to discuss and get help with a problem is to post a question on our [
 
   Engine logs for desktop builds can be viewed by running the Defold application from a terminal/command prompt.
 
-  You can also write engine logs to a file and access this once the application has been shut down. You can read more about how to enable and access the log in the [Debugging manual](/manuals/debugging/#_extracting_the_log.txt_file).
+  You can also write engine logs to a file and access this once the application has been shut down. You can read more about how to enable and access the log in the [Debugging manual](/manuals/debugging/#extracting-the-log.txt-file).
 
 * **Minimal repro case project (OPTIONAL)** - Please attach a minimal project where the bug is reproduced. This will greatly help the person trying to investigate and fix the bug. If you share the project as a zip file make sure to exclude the `.git`, `.internal` and `build` folders from the archive.
 

+ 1 - 1
docs/en/manuals/html5.md

@@ -72,7 +72,7 @@ Each time the application is exported, this content is created afresh. If you wi
 
 ![HTML5 Section](images/html5/html5_section.png)
 
-More information about every option is available in [project settings manual](/manuals/project-settings/#_html5).
+More information about every option is available in [project settings manual](/manuals/project-settings/#html5).
 
 ::: important
 You can't modify files of the default html/css template in `builtins` folder. For applying your modifications copy/paste needed file from `builtins` and set this file in `game.project`.

+ 1 - 1
docs/en/manuals/importing-assets.md

@@ -7,7 +7,7 @@ brief: This manual covers how to import and edit assets in Defold using external
 
 A game project usually consists of a large number of external assets that are produced in various specialized programs for producing graphics, 3D models, sound files, animations and so forth. Defold is built for a workflow where you work in your external tools and then import the assets into Defold as they are finalized. When the assets are imported into Defold they can be used by the various component types to create flipbook animations, tilemaps, particle effects and many other things:
 
-* Images can be used to create texture [atlases](/manuals/atlas) and tile sources which in turn can be used by visual components such as [sprites](/manuals/sprite), [tilemaps](/manuals/tilemap) and [particle effects](/manuals/particlefx). Read more about this in the [Graphics manual](/manuals/graphics/#_importing_image_files).
+* Images can be used to create texture [atlases](/manuals/atlas) and tile sources which in turn can be used by visual components such as [sprites](/manuals/sprite), [tilemaps](/manuals/tilemap) and [particle effects](/manuals/particlefx). Read more about this in the [Graphics manual](/manuals/graphics/#importing-image-files).
 * Sounds can be used by the [Sound component](/manuals/sound) to play sounds.
 * Spine animation data is used by the [Spine component](/manuals/spinemodel) to show and animate Spine models.
 * Fonts are used by the [Label component](/manuals/label) and by [text nodes](/manuals/gui-text) in a GUI.

+ 3 - 3
docs/en/manuals/input.md

@@ -17,7 +17,7 @@ Devices
   1. Keyboard (single key as well as text input)
   2. Mouse (position, button clicks and mouse wheel actions)
   3. Single and multi-touch (on iOS and Android devices)
-  4. Gamepads (as supported through the operating system and mapped in the [gamepads](#_gamepads) file)
+  4. Gamepads (as supported through the operating system and mapped in the [gamepads](#gamepads) file)
 
 Input bindings
 : Before input is sent to a script the raw input from the device is translated into meaningful *actions* via the input bindings table.
@@ -282,8 +282,8 @@ A ready to use solution for using collision objects to detect user input can be
 
 In both cases there is a need to convert from the screen space coordinates of the mouse or touch event and the world space coordinates of the game objects. This can be done in a couple of different ways:
 
-  * Manually keep track of which view and projection that is used by the render script and use this to convert to and from world space. See the [camera manual for an example of this](/manuals/camera/#_converting_mouse_to_world_coordinates).
-  * Use a [third-party camera solution](/manuals/camera/#_third_party_camera_solutions) and make use of the provided screen-to-world conversion functions.
+  * Manually keep track of which view and projection that is used by the render script and use this to convert to and from world space. See the [camera manual for an example of this](/manuals/camera/#converting-mouse-to-world-coordinates).
+  * Use a [third-party camera solution](/manuals/camera/#third-party-camera-solutions) and make use of the provided screen-to-world conversion functions.
 
 
 ## Gamepads settings file

+ 2 - 2
docs/en/manuals/instant-games.md

@@ -25,7 +25,7 @@ Before you can publish your Defold game to Facebook, you need to set up your gam
    <script src="https://connect.facebook.net/en_US/fbinstant.6.3.js"></script>
    ```
 
-   See [the HTML5 manual](/manuals/html5/#_customizing_html5_applications) for details on how to customize your bundled app.
+   See [the HTML5 manual](/manuals/html5/#customizing-html5-applications) for details on how to customize your bundled app.
 
 4. When you are ready to test your game, bundle it to HTML5 and upload it to Facebook.
 
@@ -68,7 +68,7 @@ A Defold version of the "Tic Tac Toe" example game for Instant Games is availabl
 The Facebook Instant Games [best practices](https://developers.facebook.com/docs/games/instant-games/best-practices) recommends an initial loading time less than 5 seconds. Defold adds little overhead to your games and provide a number of tools allowing you to reduce the size of your game:
 
 Removing unused engine features
-: A standard Defold engine for HTML5 is a little less than 1.2MB in size when compressed using gzip, but the engine size can be significantly reduce by removing parts of the engine that aren't used by your game. Which parts of the engine to remove is specified in an "app.manifest", referenced from the [Native Extension section](/manuals/project-settings/#_native_extension) of your "game.project" file.
+: A standard Defold engine for HTML5 is a little less than 1.2MB in size when compressed using gzip, but the engine size can be significantly reduce by removing parts of the engine that aren't used by your game. Which parts of the engine to remove is specified in an "app.manifest", referenced from the [Native Extension section](/manuals/project-settings/#native-extension) of your "game.project" file.
 
   This functionality is still in an alpha state and needs further documentation. Tools for generating app.manifests file can be found here: https://forum.defold.com/t/stripping-appmanifest-maker/16059
 

+ 1 - 1
docs/en/manuals/live-update.md

@@ -34,7 +34,7 @@ When the bundler creates an application bundle it needs to store any excluded re
 There are currently two ways that Defold can store the resources. Choose the method in the *Mode* dropdown in the settings window:
 
 `Amazon`
-: This option tells Defold to automatically upload excluded resources to an Amazon Web Service (AWS) S3 bucket. Fill in your AWS *Credential profile* name, select the appropriate *Bucket* and provide a *Prefix* name. [See below for details how to set up an AWS account](#_setting_up_amazon_web_service).
+: This option tells Defold to automatically upload excluded resources to an Amazon Web Service (AWS) S3 bucket. Fill in your AWS *Credential profile* name, select the appropriate *Bucket* and provide a *Prefix* name. [See below for details how to set up an AWS account](#setting_up_amazon_web_service).
 
 `Zip`
 : This option tells Defold to create a Zip archive file with any excluded resources. The archive is saved at the location specified in the *Export path* setting.

+ 2 - 2
docs/en/manuals/optimization.md

@@ -20,7 +20,7 @@ Defold will create a dependency tree when building and bundling your application
   * What this means for actual application size is not clearly defined but we are talking size in the range of up to 20 MB.
 * Playable ads are usually limited to between 2 and 5 MB depending on the ad network.
 
-To get a better understanding of what makes up the size of your application you can [generate a build report](/manuals/bundling/#_build_reports) when bundling. It is quite common that sounds and graphics is what takes up the bulk of the size of any game.
+To get a better understanding of what makes up the size of your application you can [generate a build report](/manuals/bundling/#build-reports) when bundling. It is quite common that sounds and graphics is what takes up the bulk of the size of any game.
 
 ### Optimize sounds
 Defold supports .ogg and .wav files where .ogg is typically used for music and .wav for sound effects. Sounds must be 16-bit with a sampling rate of 44100 so any optimizations must be done on the sounds before encoding them. You can edit the sounds in an external sound editor software to reduce the quality or convert from .wav to .ogg.
@@ -133,7 +133,7 @@ This section is not yet finished. Topics that will be covered:
 
 * [Texture compression](/manuals/texture-profiles/)
 * [Dynamic loading of collections](https://www.defold.com/manuals/collection-proxy/)
-* [Dynamic loading of factories](https://www.defold.com/manuals/collection-factory/#_dynamic_loading_of_factory_resources)
+* [Dynamic loading of factories](https://www.defold.com/manuals/collection-factory/#dynamic-loading-of-factory-resources)
 * [Profiling](/manuals/profiling/)
 
 

+ 1 - 1
docs/en/manuals/particlefx.md

@@ -19,7 +19,7 @@ Modifier
 
 ## Creating an effect
 
-Select <kbd>New... ▸ Particle FX</kbd> from the context menu in the *Assets* browser. Name the new particle effect file. The editor will now open the file using the [Scene Editor](/manuals/editor/#_the_scene_editor).
+Select <kbd>New... ▸ Particle FX</kbd> from the context menu in the *Assets* browser. Name the new particle effect file. The editor will now open the file using the [Scene Editor](/manuals/editor/#the-scene-editor).
 
 The *Outline* pane shows the default emitter. Select the emitter to bring up its properties in the *Properties* pane below.
 

+ 2 - 2
docs/en/manuals/physics.md

@@ -87,7 +87,7 @@ Mask
 
 ### Units used by the physics engine simulation
 
-The physics engine simulates Newtonian physics and it is designed to work well with meters, kilograms and seconds (MKS) units. Furthermore, the physics engine is tuned to work well with moving objects of a size in the 0.1 to 10 meters range (static objects can be larger) and by default the engine treats 1 unit (pixel) as 1 meter. This conversion between pixels and meters is convenient on a simulation level, but from a game creation perspective it isn't very useful. With default settings a collision shape with a size of 200 pixels would be treated as having a size of 200 meters which is well outside of the recommended range, at least for a moving object. In general it is required that the physics simulation is scaled for it to work well with the typical size of objects in a game. The scale of the physics simulation can be changed in `game.project` via the [physics scale setting](/manuals/project-settings/#_physics). Setting this value to for instance 0.02 would mean that 200 pixels would be treated as a 4 meters. Do note that the gravity (also changed in `game.project`) has to be increased to accommodate for the change in scale.
+The physics engine simulates Newtonian physics and it is designed to work well with meters, kilograms and seconds (MKS) units. Furthermore, the physics engine is tuned to work well with moving objects of a size in the 0.1 to 10 meters range (static objects can be larger) and by default the engine treats 1 unit (pixel) as 1 meter. This conversion between pixels and meters is convenient on a simulation level, but from a game creation perspective it isn't very useful. With default settings a collision shape with a size of 200 pixels would be treated as having a size of 200 meters which is well outside of the recommended range, at least for a moving object. In general it is required that the physics simulation is scaled for it to work well with the typical size of objects in a game. The scale of the physics simulation can be changed in `game.project` via the [physics scale setting](/manuals/project-settings/#physics). Setting this value to for instance 0.02 would mean that 200 pixels would be treated as a 4 meters. Do note that the gravity (also changed in `game.project`) has to be increased to accommodate for the change in scale.
 
 ## Group and mask
 
@@ -348,4 +348,4 @@ Collection proxies
 : Through collection proxies it is possible to load more than one top level collection, or *game world* into the engine. When doing so it is important to know that each top level collection is a separate physical world. Physics interactions (collisions, triggers, ray-casts) only happen between objects belonging to the same world. So even if the collision objects from two worlds visually sits right on top of each other, there cannot be any physics interaction between them.
 
 Collisions not detected
-: If you have problems with collisions not being handled or detected properly then make sure to read up on [physics debugging in the Debugging manual](/manuals/debugging/#_debugging_problems_with_physics).
+: If you have problems with collisions not being handled or detected properly then make sure to read up on [physics debugging in the Debugging manual](/manuals/debugging/#debugging-problems-with-physics).

+ 1 - 1
docs/en/manuals/render.md

@@ -308,4 +308,4 @@ Rendering of the nodes in a GUI component are done from top to bottom of the nod
 Rendering of nodes are done per component. This means that nodes from different GUI components will not be batched.
 :::
 
-The ability to arrange nodes in hierarchies makes it easy to group nodes into manageable units. But hierarchies can effectively break batch rendering if you mix different node types. It is possible to more effectively batch GUI nodes while maintaining node hierarchies using GUI layers. You can read more about GUI layers and how they affect draw calls in the [GUI manual](/manuals/gui#_layers_and_draw_calls).
+The ability to arrange nodes in hierarchies makes it easy to group nodes into manageable units. But hierarchies can effectively break batch rendering if you mix different node types. It is possible to more effectively batch GUI nodes while maintaining node hierarchies using GUI layers. You can read more about GUI layers and how they affect draw calls in the [GUI manual](/manuals/gui#layers-and-draw-calls).

+ 1 - 1
docs/en/manuals/texture-profiles.md

@@ -99,7 +99,7 @@ The *Formats* added to a profile each have the following properties:
 : Selects the quality level for the resulting compressed image. The values range from `FAST` (lowest quality, fast compression) to `BEST` (highest quality, slowest compression).
 
 *Type*
-: Selects the type of compression used for the resulting compressed image, `COMPRESSION_TYPE_DEFAULT`, `COMPRESSION_TYPE_WEBP` or `COMPRESSION_TYPE_WEBP_LOSSY`. See [Compression Types](#_compression_types) below for more details.
+: Selects the type of compression used for the resulting compressed image, `COMPRESSION_TYPE_DEFAULT`, `COMPRESSION_TYPE_WEBP` or `COMPRESSION_TYPE_WEBP_LOSSY`. See [Compression Types](#compression_types) below for more details.
 
 ## Texture formats
 

+ 1 - 1
docs/en/manuals/windows.md

@@ -9,7 +9,7 @@ Developing Defold applications for the Windows platform is a straight forward pr
 
 ## Project settings
 
-Windows specific application configuration is done from the [Windows section](/manuals/project-settings/#_windows) of the *game.project* settings file.
+Windows specific application configuration is done from the [Windows section](/manuals/project-settings/#windows) of the *game.project* settings file.
 
 ## Application icon
 

+ 1 - 1
docs/en/tutorials/magic-link.md

@@ -42,7 +42,7 @@ This tutorial is written as a step-by-step guide where we build the game on a co
 
 You need to start by creating a new project and importing the asset package:
 
-* Create a [new project](/manuals/project-setup/#_creating_a_new_project) from the "Empty Project" template
+* Create a [new project](/manuals/project-setup/#creating-a-new-project) from the "Empty Project" template
 * Download the "Magic Link" asset package and unpack it on your hard drive (the package is a ZIP archive)
 
 <a class="btn btn-primary btn-xs-block btn-icon" href="//storage.googleapis.com/defold-doc/assets/magic-link-assets.zip">Download asset package<span aria-hidden="true" class="icon icon-download"></span></a>

+ 2 - 2
docs/en/tutorials/runner.md

@@ -67,7 +67,7 @@ Now, if you haven't already downloaded and installed the Defold editor, it's tim
 
 :[install](../shared/install.md)
 
-When the editor is installed and started it's time to create a new project and getting it ready. Create a [new project](/manuals/project-setup/#_creating_a_new_project) from the "Empty Project" template.
+When the editor is installed and started it's time to create a new project and getting it ready. Create a [new project](/manuals/project-setup/#creating-a-new-project) from the "Empty Project" template.
 
 ## The editor
 
@@ -314,7 +314,7 @@ Finally, create a new *hero.script* file and add it to the game object.
 ::: sidenote
 The reason we are handling the collision ourselves is that if we instead set the type on the frog's collision object to dynamic, the engine will peform a Newtonian simulation of the bodies involved. For a game like this, such a simulation is far from optimal so instead of fighting the physics engine with various forces, we take full control.
 
-Now, to do that and handle collision properly requires a little bit of vector mathematics. A thorough explanation on how to solve kinematic collisions is given in the [Physics documentation](/manuals/physics#_resolving_kinematic_collisions).
+Now, to do that and handle collision properly requires a little bit of vector mathematics. A thorough explanation on how to solve kinematic collisions is given in the [Physics documentation](/manuals/physics#resolving-kinematic-collisions).
 :::
 
 ```lua

+ 1 - 1
docs/ko/manuals/application-lifecycle.md

@@ -90,7 +90,7 @@ main 컬렉션의 각 게임 오브젝트 컴포넌트 순환하며 수행됩니
 #### Frame rate and collection time step
 초당 프레임 업데이트의 수(FPS, 즉 update-loop의 실행 수와 동일함)는 프로젝트 설정(project settings)에서 셋팅할 수 있으며 프로그래밍 방식으로 @system 소켓에 "set_update_frequency" 메세지를 보내서 셋팅할 수도 있습니다. 그리고 프록시로 "set_time_step" 메세지를 보내서 컬렉션 프록시의 시간 흐름(time step)을 개별적으로 설정하는 것도 가능합니다. 컬렉션의 시간 흐름을 변경해도 프레임 레이트에 영향을 주지는 않습니다. 대신, 물리 업데이트(physics update)의 시간 흐름과, update() 함수로 전달되는 "dt" 인자값에 영향을 줍니다. 또한, 시간 흐름을 변경하는 것은 각 프레임에 호출되는 update()의 횟수를 변경하는 것은 아닙니다. update()는 프레임당 한번씩만 호출됩니다.
 
-(자세한 것은 [Collection proxy](/manuals/collection-proxy) 와 [set_time_step](/ref/collectionproxy/#set_time_step) 를 참고하세요.)
+(자세한 것은 [Collection proxy](/manuals/collection-proxy) 와 [set_time_step](/ref/collectionproxy/#set-time-step) 를 참고하세요.)
 
 ## Finalization
 어플리케이션이 종료되는 시점에는, 마지막 업데이트 루프 시퀀스를 끝내고, 컬렉션 프록시들을 언로드하여 프록시 컬렉션의 모든 게임오브젝트의 마무리(finalizing)와 삭제(deleting)를 수행합니다.

+ 2 - 2
docs/ko/manuals/gui.md

@@ -21,7 +21,7 @@ GUI 컴포넌트는 여러 개의 노드로 구성됩니다. 노드는 아래 
 * Template node, 자세한 것은 [Template nodes](/manuals/gui-templates) 문서 참고
 * Spine node, 자세한 것은 [Spine nodes](/manuals/gui-spine) 문서 참고
 
-노드는 단순하고 어떠한 로직도 포함하고 있지 않습니다. 에디터상에서나 런타임시 스크립트를 통하여 이동(translate or move)하거나 부-모 관계를 정렬(order)시킬 수는 있습니다. 스크립트 코드로 GUI 컴포넌트의 모든 노드들에게 직접적으로 액세스 할 수 있습니다. 노드는 스크립트로 애니메이션 시킬 수 있고(아래 [Property animation](/manuals/animation/#_property_animation) 참고) 애니메이션은 노드에서 실행될 수 있습니다(Box node의 플립북(flipbook) 애니메이션 그리고 Spine node의 본(bone) 애니메이션).
+노드는 단순하고 어떠한 로직도 포함하고 있지 않습니다. 에디터상에서나 런타임시 스크립트를 통하여 이동(translate or move)하거나 부-모 관계를 정렬(order)시킬 수는 있습니다. 스크립트 코드로 GUI 컴포넌트의 모든 노드들에게 직접적으로 액세스 할 수 있습니다. 노드는 스크립트로 애니메이션 시킬 수 있고(아래 [Property animation](/manuals/animation/#property-animation) 참고) 애니메이션은 노드에서 실행될 수 있습니다(Box node의 플립북(flipbook) 애니메이션 그리고 Spine node의 본(bone) 애니메이션).
 
 "Nodes" 폴더에서 마우스 오른쪽 버튼을 눌러 "Add Box", "Add Text", "Add Pie", "Add Template", "Add Spine Node" 중 하나를 선택해 노드를 추가합니다.
 
@@ -42,7 +42,7 @@ GUI 컴포넌트는 여러 개의 노드로 구성됩니다. 노드는 아래 
 
 이들 프로퍼티는 에디터의 프로퍼티 탭에서 수정(인덱스(index) 설정과 부모관계(parenting) 설정은 안됨)하거나 스크립트를 통해 수정([GUI API](http://www.defold.com/ref/gui) 참고)하는 것이 가능합니다.
 
-이들 각 프로퍼티는 스크립트를 통해 애니메이션을 적용할 수도 있습니다. (아래 [Property animation](/manuals/animation/#_property_animation) 참고) 
+이들 각 프로퍼티는 스크립트를 통해 애니메이션을 적용할 수도 있습니다. (아래 [Property animation](/manuals/animation/#property-animation) 참고) 
 
 ## Textures and flip book animations
 GUI 인터페이스 컴포넌트의 일부분으로 텍스쳐 아틀라스나 타일 소스의 이미지나 애니메이션을 사용 할 수 있습니다. 먼저 이미지 리소스(아틀라스 혹은 타일 소스)가 추가하면 이 리소스에 포함된 모든 이미지와 애니메이션을 GUI 노드에 반영할 수 있습니다. 상단의 "GUI" 메뉴를 사용하거나 키보드 단축키를 사용하거나 "Textures" 폴더에 마우스 오른쪽 버튼을 눌러서 텍스쳐를 추가해 보세요.

+ 1 - 1
docs/ko/manuals/input.md

@@ -101,7 +101,7 @@ end
 #### action.pressed
 입력이 검출된 첫번째 프레임에서 true, 그외에는 false
 #### action.repeated
-입력이 반복되고 있으면 true, 그 외에는 false. 이 값은 기본적으로 매 프레임마다 설정되지는 않지만 [프로젝트 설정(project settings)](/manuals/project-settings#input)의 repeat_delay와 repeat_interval 의 설정에 따라 달라집니다.
+입력이 반복되고 있으면 true, 그 외에는 false. 이 값은 기본적으로 매 프레임마다 설정되지는 않지만 [프로젝트 설정(project settings)](/manuals/project-settings#input)의 repeat-delay와 repeat-interval 의 설정에 따라 달라집니다.
 #### action.released
 입력이 해지(release)된 프레임에 true, 그 외에는 false
 

+ 1 - 1
docs/ko/manuals/ios.md

@@ -73,7 +73,7 @@ iOS 장치에서 게임을 실행하려면 Defold dev app과 에디터가 같은
 2. iOS 장치에서 Defold dev app 실행하기
 3. 에디터에서  **Project > Targets** 에 있는 당신의 장치 선택
 4. 게임을 실행하기 위해 **Project > Build And Launch** 선택하기. 게임 컨텐츠가 네트워크를 통해서 장치로 스트림 되므로 게임이 시작되는데 시간이 걸릴 수 있음.
-5. 게임이 실행되는 동안, 평소처럼 [핫 리로드(hot-reload)](/manuals/debugging#_hot-reloading)도 할 수 있음
+5. 게임이 실행되는 동안, 평소처럼 [핫 리로드(hot-reload)](/manuals/debugging#hot-reloading)도 할 수 있음
 
 ## Creating an iOS application bundle
 에디터에서 게임용 독립 어플리케이션 번들(stand alone application bundle)도 쉽게 생성할 수 있습니다. 메뉴에서 **Project > Bundle…​ > iOS Application…​** 를 선택하기만 하면 됩니다.