Jelajahi Sumber

fix links to interdoc

mitm001 5 tahun lalu
induk
melakukan
d9464371cb
30 mengubah file dengan 48 tambahan dan 49 penghapusan
  1. 1 1
      docs/modules/ROOT/pages/jme3/features.adoc
  2. 5 5
      docs/modules/contributions/pages/ai/jme3_ai.adoc
  3. 2 2
      docs/modules/core/pages/animation/animation.adoc
  4. 1 1
      docs/modules/core/pages/app/simpleapplication.adoc
  5. 3 3
      docs/modules/core/pages/gui/nifty_gui.adoc
  6. 1 1
      docs/modules/core/pages/gui/nifty_gui_java_interaction.adoc
  7. 1 1
      docs/modules/core/pages/gui/nifty_gui_scenarios.adoc
  8. 1 1
      docs/modules/core/pages/input/input_handling.adoc
  9. 3 4
      docs/modules/core/pages/math/matrix.adoc
  10. 2 2
      docs/modules/core/pages/math/quaternion.adoc
  11. 2 2
      docs/modules/core/pages/scene/3d_models.adoc
  12. 1 1
      docs/modules/core/pages/scene/spatial.adoc
  13. 1 1
      docs/modules/core/pages/util/sky.adoc
  14. 1 1
      docs/modules/sdk/pages/ios.adoc
  15. 1 1
      docs/modules/sdk/pages/model_loader_and_viewer.adoc
  16. 1 1
      docs/modules/tutorials/pages/beginner/beginner.adoc
  17. 2 2
      docs/modules/tutorials/pages/beginner/hello_asset.adoc
  18. 1 1
      docs/modules/tutorials/pages/beginner/hello_collision.adoc
  19. 1 1
      docs/modules/tutorials/pages/beginner/hello_effects.adoc
  20. 1 1
      docs/modules/tutorials/pages/beginner/hello_input_system.adoc
  21. 1 1
      docs/modules/tutorials/pages/beginner/hello_simpleapplication.adoc
  22. 1 1
      docs/modules/tutorials/pages/beginner/solutions.adoc
  23. 4 4
      docs/modules/tutorials/pages/concepts/faq.adoc
  24. 3 3
      docs/modules/tutorials/pages/concepts/multi-media_asset_pipeline.adoc
  25. 1 1
      docs/modules/tutorials/pages/concepts/terminology.adoc
  26. 2 2
      docs/modules/tutorials/pages/how-to/modeling/blender/blender.adoc
  27. 1 1
      docs/modules/tutorials/pages/how-to/modeling/blender/blender_ogre_compatibility.adoc
  28. 1 1
      docs/modules/tutorials/pages/how-to/modeling/blender/makehuman.adoc
  29. 1 1
      docs/modules/tutorials/pages/how-to/modeling/blender/mixamo.adoc
  30. 1 1
      docs/modules/wiki/pages/wiki_translation.adoc

+ 1 - 1
docs/modules/ROOT/pages/jme3/features.adoc

@@ -47,7 +47,7 @@ See also: xref:jme3/requirements.adoc[requirements].
 **  xref:physics:control/ragdoll.adoc[Ragdoll physics]
 
 *  xref:physics:bullet_multithreading.adoc[Multi-threaded physics]
-*  xref:physics:physics.adoc#create-a-collisionshape,Mesh-accurate collision shapes]
+*  <<physics:physics.adoc#create-a-collisionshape,Mesh-accurate collision shapes>>
 
 
 == Supported Formats

+ 5 - 5
docs/modules/contributions/pages/ai/jme3_ai.adoc

@@ -15,7 +15,7 @@ You can read about the introduction of the library in the forum thread: link:htt
 
 *  link:https://github.com/MeFisto94/jme3-artificial-intelligence/releases[jme3 Artificial Intelligence Library] - The library and javaDocs for jme3AI. This is also where you can report problems or help in maintaining the library.
 *  link:https://github.com/stevefsp/critterai/releases[CritterAI] - Stephen Pratt's link:http://www.critterai.org/projects/nmgen_study/[NMGen Study] project files to generate the navmesh.
-*  To get the assets (3D models) used in this example, add the xref:sdk:sample_code.adoc#jme3testdata-assets.adoc[jME3-testdata.jar] to your classpath.
+*  To get the assets (3D models) used in this example, add the <<sdk:sample_code.adoc#jme3testdata-assets,jME3-testdata.jar>> to your classpath.
 *  Java SDK 8+.
 
 Stephen Pratt explains in detail the configuration parameters of CritterAI/Jme3AI in a easy to follow format and is suggested reading.
@@ -57,7 +57,7 @@ Both methods produce exactly the same NavMesh and both will be covered in this t
 *  Open your scene in the Terrain Editor or Scene Explorer by btn:[RMB] selecting the file in your assets folder and choosing `Edit Terrain` or `Edit in SceneComposer`.
 *  Once open, btn:[RMB] select the root node in the `SceneExplorer` and then select `menu:Spatial[NavMesh]`.
 
-This will open the `Create NavMesh` dialog with default settings. You can read in depth about each parameter by following the `Configuration Parameters` link under xref:jme3/advanced/jme3_ai.adoc#requirements.adoc[Requirements].
+This will open the `Create NavMesh` dialog with default settings. You can read in depth about each parameter by following the `Configuration Parameters` link under <<requirements,Requirements>>.
 
 .Parameter Insight
 The jme3AI system uses CritterAI, which is based off link:https://github.com/recastnavigation/recastnavigation[Recast and Detour] navigation. The author of Recast lays out a few specific rules for NavMesh creation in this link:http://digestingduck.blogspot.dk/2009/08/recast-settings-uncovered.html[blog post], which logically apply to jme3AI. Below is a translation of this post as it pertains to jme3AI.
@@ -336,7 +336,7 @@ These are implementation decisions that are left up to you.
 
 === Loading the NavMesh
 
-In this tutorial example, the optimized mesh was exported as a geometry using the jMonkey binary format `.j3o`. Doing so means the loading of your `NavMeshes` is done the same way you load any model, by using the `AssetManager`. Once you load the `.j3o`, you grab its `Mesh` and create the `NavMesh` object to be passed to the link:https://github.com/jMonkeyEngine/doc-examples/blob/master/src/com/jme3/examples/jme3ai/ai/NavigationControl.java[NavigationControl] constructor. This tutorial uses a xref:core:app/state/application_states.adoc#baseappstate[BaseAppState] for model loading so access to the `Application` class is built in.
+In this tutorial example, the optimized mesh was exported as a geometry using the jMonkey binary format `.j3o`. Doing so means the loading of your `NavMeshes` is done the same way you load any model, by using the `AssetManager`. Once you load the `.j3o`, you grab its `Mesh` and create the `NavMesh` object to be passed to the link:https://github.com/jMonkeyEngine/doc-examples/blob/master/src/com/jme3/examples/jme3ai/ai/NavigationControl.java[NavigationControl] constructor. This tutorial uses a <<core:app/state/application_states.adoc#baseappstate,BaseAppState>> for model loading so access to the `Application` class is built in.
 
 [source, java]
 ----
@@ -366,7 +366,7 @@ public NavigationControl(NavMesh navMesh) {
 
 === Communicating with NavigationControl
 
-This tutorial makes use of the xref:tutorials:beginner/hello_picking.adoc[Hello Picking] and xref:jme3/advanced/mouse_picking.adoc#pick-a-target-using-the-mouse-pointer.adoc[Mouse Picking] tutorials so you should already be familiar with this method for picking and how to add the xref:tutorials:beginner/hello_input_system.adoc[input mappings] to your game. How you implement your ActionListener is up to you.
+This tutorial makes use of the xref:tutorials:beginner/hello_picking.adoc[Hello Picking] and <<core:input/mouse_picking.adoc#pick-a-target-using-the-mouse-pointer,Mouse Picking>> tutorials so you should already be familiar with this method for picking and how to add the xref:tutorials:beginner/hello_input_system.adoc[input mappings] to your game. How you implement your ActionListener is up to you.
 
 .PCState ActionListener
 [source, java]
@@ -509,7 +509,7 @@ private void shutdownAndAwaitTermination(ExecutorService pool) {
 }
 ----
 
-The easiest way to move a physics character is by using the xref:physics:control/walking_character.adoc#bettercharactercontrol[BetterCharacterControl] class. In this implementation, this is done in the link:https://github.com/jMonkeyEngine/doc-examples/blob/master/src/com/jme3/examples/jme3ai/controls/PCControl.java[PCControl] class by extending `BetterCharacterControl`. Since `BetterCharacterControl` is required to be present on the spatial for pathfinding, in the `setSpatial()` method, we throw an exception to let us know if it's missing.
+The easiest way to move a physics character is by using the <<physics:control/walking_character.adoc#bettercharactercontrol,BetterCharacterControl>> class. In this implementation, this is done in the link:https://github.com/jMonkeyEngine/doc-examples/blob/master/src/com/jme3/examples/jme3ai/controls/PCControl.java[PCControl] class by extending `BetterCharacterControl`. Since `BetterCharacterControl` is required to be present on the spatial for pathfinding, in the `setSpatial()` method, we throw an exception to let us know if it's missing.
 
 [source, java]
 ----

+ 2 - 2
docs/modules/core/pages/animation/animation.adoc

@@ -10,7 +10,7 @@ In 3D games, you do not only load static 3D models, you also want to be able to
 
 JME3 only loads and plays animated models, it does not create them.
 
-What is required for an animated model? (xref:tutorials:concepts/terminology.adoc#animation[See also: Animation terminology]
+What is required for an animated model? (<<tutorials:concepts/terminology.adoc#animation,See also: Animation terminology>>
 
 .  For each model, you have to segment the model into a skeleton (*bone rigging*).
 .  For each motion, you have to specify how the animation distorts parts of the model (*skinning*).
@@ -19,7 +19,7 @@ What is required for an animated model? (xref:tutorials:concepts/terminology.ado
 
 Unless you download free models, or buy them from a 3D artist, you must create your animated models in an *external mesh editor* (for example, Blender) yourself.
 
-*  xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types]
+*  <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>>
 *  xref:tutorials:how-to/modeling/blender/blender.adoc[Creating assets in Blender3D]
 *  link:http://www.youtube.com/watch?v=IDHMWsu_PqA[Video: Creating Worlds with Instances in Blender]
 

+ 1 - 1
docs/modules/core/pages/app/simpleapplication.adoc

@@ -14,7 +14,7 @@ SimpleApplication gives you access to standard game features, such as a scene gr
 For each game, you (directly or indirectly) extend SimpleApplication exactly once as the central class. If you need access to any SimpleApplication features from another game class, make the other class extend xref:app/state/application_states.adoc[AbstractAppState] (don't extend SimpleApplication once more).
 ====
 
-NOTE: The SimpleApplication class is undergoing changes. To understand how these changes may affect your projects and how to best prepare for them, see  xref:tutorials:beginner/hello_simpleapplication.adoc#the-future-of-simpleapplication[The Future of SimpleApplication] topic in the "`Hello SimpleApplication`" tutorial for beginners.
+NOTE: The SimpleApplication class is undergoing changes. To understand how these changes may affect your projects and how to best prepare for them, see  <<tutorials:beginner/hello_simpleapplication.adoc#the-future-of-simpleapplication,The Future of SimpleApplication>> topic in the "`Hello SimpleApplication`" tutorial for beginners.
 
 The following code sample shows the typical base structure of a jME3 game:
 

+ 3 - 3
docs/modules/core/pages/gui/nifty_gui.adoc

@@ -57,11 +57,11 @@ Nifty GUIs are made up of the following *elements*:
 === JME-Nifty Sample Code
 
 *  XML examples
-**  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-testdata/src/main/resources/Interface/Nifty/HelloJme.xml[HelloJme.xml] - Can be found in xref:sdk:sample_code.adoc#jme3testdata-assets.adoc[jme-testdata/Interface/Nifty] also.
+**  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-testdata/src/main/resources/Interface/Nifty/HelloJme.xml[HelloJme.xml] - Can be found in <<sdk:sample_code.adoc#jme3testdata-assets,jme-testdata/Interface/Nifty>> also.
 
 *  Java examples
-**  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-examples/src/main/java/jme3test/niftygui/TestNiftyGui.java[TestNiftyGui.java] - Can be found in xref:sdk:sample_code.adoc#the-jme3tests-project-template.adoc[jme3 tests] also.
-**  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-examples/src/main/java/jme3test/niftygui/TestNiftyToMesh.java[TestNiftyToMesh.java] - Can be found in xref:sdk:sample_code.adoc#the-jme3tests-project-template.adoc[jme3 tests] also.
+**  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-examples/src/main/java/jme3test/niftygui/TestNiftyGui.java[TestNiftyGui.java] - Can be found in <<sdk:sample_code.adoc#the-jme3tests-project-template,jme3 tests>> also.
+**  link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-examples/src/main/java/jme3test/niftygui/TestNiftyToMesh.java[TestNiftyToMesh.java] - Can be found in <<sdk:sample_code.adoc#the-jme3tests-project-template,jme3 tests>> also.
 
 *  jME3-ready version of the Nifty +++<abbr title="Graphical User Interface">GUI</abbr>+++ 1.3 demo (sample code, Java)
 **  link:http://files.seapegasus.org/NiftyGuiDemo.zip[NiftyGuiDemo.zip]

+ 1 - 1
docs/modules/core/pages/gui/nifty_gui_java_interaction.adoc

@@ -17,7 +17,7 @@ In the previous parts of the tutorial, you created a two-screen user interface.
 
 To let a Nifty screen communicate with the Java application, you register a `ScreenController` to every NiftyGUI screen. You create a ScreenController by creating a Java class that implements the `de.lessvoid.nifty.screen.ScreenController` interface and its abstract methods.
 
-*Pro Tip:* Since you are writing a jME3 application, you can additionally make the ScreenController class extend the xref:core:app/state/application_states.adoc#baseappstate[BaseAppState] class! This gives the ScreenController access to the application object and to the update loop!
+*Pro Tip:* Since you are writing a jME3 application, you can additionally make the ScreenController class extend the <<core:app/state/application_states.adoc#baseappstate,BaseAppState>> class! This gives the ScreenController access to the application object and to the update loop!
 
 Create an AppState *MyStartScreen*.java file in your package. ( btn:[RMB] click on your package and select `menu:New[Other>JME3 Classes>New BaseAppState]`)
 

+ 1 - 1
docs/modules/core/pages/gui/nifty_gui_scenarios.adoc

@@ -30,7 +30,7 @@ When the player switches between game states, you detach one set of AppStates, a
 
 == Get Access to Application and Update Loop
 
-Since you are writing a jME3 application, you can additionally make any ScreenController class extend the xref:core:app/state/application_states.adoc#baseappstate[BaseAppState] class.
+Since you are writing a jME3 application, you can additionally make any ScreenController class extend the <<core:app/state/application_states.adoc#baseappstate,BaseAppState>> class.
 This gives the ScreenController access to the application object and to the update loop!
 
 [source,java]

+ 1 - 1
docs/modules/core/pages/input/input_handling.adoc

@@ -329,4 +329,4 @@ The abstraction of separating triggers and mappings has the advantage that you c
 
 == Detecting Joystick Connection States
 
-For information regarding the connection state of a joystick see xref:tutorials:beginner/hello_input_system.adoc#listening-for-joystick-connections[Listening for Joystick Connections].
+For information regarding the connection state of a joystick see <<tutorials:beginner/hello_input_system.adoc#listening-for-joystick-connections,Listening for Joystick Connections>>.

+ 3 - 4
docs/modules/core/pages/math/matrix.adoc

@@ -1,7 +1,6 @@
 = Matrix
-:author:
-:revnumber:
-:revdate: 2020/07/15
+:revnumber: 2.0
+:revdate: 2020/07/24
 
 
 
@@ -109,7 +108,7 @@ jME includes two types of Matrix classes: Matrix3f and Matrix4f. Matrix3f is a 3
 
 === Transformations
 
-Multiplying a xref:tutorials:concepts/terminology.adoc#vectors[Vector] with a Matrix allows the Vector to be transformed. Either rotating, scaling or translating that Vector.
+Multiplying a <<tutorials:concepts/terminology.adoc#vectors,Vector>> with a Matrix allows the Vector to be transformed. Either rotating, scaling or translating that Vector.
 
 
 ==== Scaling

+ 2 - 2
docs/modules/core/pages/math/quaternion.adoc

@@ -78,7 +78,7 @@ s.getLocalRotation().fromAngles(angles);
 
 === Three Axes
 
-If you have three axes that define your rotation, where the axes define the left axis, up axis and directional axis respectively) you can make use of `fromAxes` to generate the Quaternion. It should be noted that this will generate a new xref:jme3/matrix.adoc[Matrix] object that is then garbage collected, thus, this method should not be used if it will be called many times. Again, `toAxes` will populate a xref:tutorials:concepts/terminology.adoc#vectors[Vector3f] array.
+If you have three axes that define your rotation, where the axes define the left axis, up axis and directional axis respectively) you can make use of `fromAxes` to generate the Quaternion. It should be noted that this will generate a new xref:jme3/matrix.adoc[Matrix] object that is then garbage collected, thus, this method should not be used if it will be called many times. Again, `toAxes` will populate a <<tutorials:concepts/terminology.adoc#vectors,Vector3f>> array.
 
 
 ==== Example - Rotate a Spatial Using fromAxes
@@ -99,7 +99,7 @@ s.getLocalRotation().fromAxes(axes);
 
 === Rotation Matrix
 
-Commonly you might find yourself with a xref:jme3/matrix.adoc[Matrix] defining a xref:tutorials:concepts/rotate.adoc#[rotation]. In fact, it's very common to contain a rotation in a Matrix, create a Quaternion, rotate the Quaternion, and then get the Matrix back. Quaternion contains a `fromRotationMatrix` method that will create the appropriate Quaternion based on the given Matrix. The `toRotationMatrix` will populate a given Matrix.
+Commonly you might find yourself with a xref:jme3/matrix.adoc[Matrix] defining a xref:tutorials:concepts/rotate.adoc[rotation]. In fact, it's very common to contain a rotation in a Matrix, create a Quaternion, rotate the Quaternion, and then get the Matrix back. Quaternion contains a `fromRotationMatrix` method that will create the appropriate Quaternion based on the given Matrix. The `toRotationMatrix` will populate a given Matrix.
 
 
 ==== Example - Rotate a Spatial Using a Rotation Matrix

+ 2 - 2
docs/modules/core/pages/scene/3d_models.adoc

@@ -10,7 +10,7 @@ Like xref:jme3/advanced/shape.adoc[Shape]s, 3D models are also made up of xref:s
 
 To use 3D models in a jME3 application:
 
-.  Export the 3D model using a xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Type].
+.  Export the 3D model using a <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Type>>.
 .  Save the files into a sub-directory of your jME3 `Assets` directory.
 .  In your code, you use the xref:asset/asset_manager.adoc[Asset Manager] to load models as xref:scene/spatial.adoc[Spatial]s into a jME application.
 +
@@ -22,7 +22,7 @@ Spatial model = assetManager.loadModel(
 
 [NOTE]
 ====
-(For the release build:) Use one of methods recommended for your 3D model xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Type] to convert the model to .j3o format. You don't need this step until you deploy your application if you are making frequent changes to your models, however, you should get into the habit of always converting your models.
+(For the release build:) Use one of methods recommended for your 3D model <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Type>> to convert the model to .j3o format. You don't need this step until you deploy your application if you are making frequent changes to your models, however, you should get into the habit of always converting your models.
 ====
 
 

+ 1 - 1
docs/modules/core/pages/scene/spatial.adoc

@@ -140,7 +140,7 @@ playerNode.getControl(PlayerControl.class).setHealth(99);
 ----
 
 *  You can add as many data objects (of String, Boolean, Integer, Float, Array types) to a Spatial as you want. Just make sure to label them with unique case-sensitive strings (`health`, `Inventory`, `equipment`, etc).
-*  The saved data can even be a custom Java object if you make the custom Java class xref:jme3/advanced/save_and_load.adoc#custom-savable-class[implement the Savable interface]!
+*  The saved data can even be a custom Java object if you make the custom Java class <<export/save_and_load.adoc#custom-savable-class,implement the Savable interface>>!
 *  When you save a Spatial as a .j3o file, the custom data is saved, too, and all Savables are restored the next time you load the .j3o!
 
 This is how you list all data keys that are already defined for one Spatial:

+ 1 - 1
docs/modules/core/pages/util/sky.adoc

@@ -54,4 +54,4 @@ Box or Sphere?
 For more information on Skymap creation see:
 
 *  xref:jme3/advanced/free_skymaps.adoc[How to create free skymaps]
-*  xref:tutorials:how-to/modeling/blender/blender.adoc#skybox-baking.adoc[SkyBox baking]
+*  <<tutorials:how-to/modeling/blender/blender.adoc#skybox-baking,SkyBox baking>>

+ 1 - 1
docs/modules/sdk/pages/ios.adoc

@@ -178,4 +178,4 @@ The JmeAppHarness.java class is initialized and called from native code through
 
 Effectively native code can reside in both the Xcode project and in the `ios/src` folder. To keep the dependencies clean and make code reusable you should try to put generic native code that does not depend on the Xcode project in the `ios/src` folder. You can also mix and match ARC and non-ARC code through this by converting the main project to use ARC and putting code with manual memory management in the `ios/src` folder.
 
-Java code for iOS should be in the `ios/src` folder as well for clean separation, its also the only place where they will be compiled with a reference to the iOS specific jME classes. For information on how to connect your application code and device specific code, see the xref:sdk:android.adoc#using_android_specific_functions[Android].
+Java code for iOS should be in the `ios/src` folder as well for clean separation, its also the only place where they will be compiled with a reference to the iOS specific jME classes. For information on how to connect your application code and device specific code, see the <<android.adoc#using_android_specific_functions,Android>>.

+ 1 - 1
docs/modules/sdk/pages/model_loader_and_viewer.adoc

@@ -6,7 +6,7 @@
 
 The jMonkeyEngine SDK imports models from your project and stores them in the assets folder. The imported models are converted to a jME3 compatible binary format called .j3o. Double-click .j3o files in the jMonkeyEngine SDK to display them in the SceneViewer, or load them in-game using the AssetManager.
 
-Presently, link:http://www.blender.org/[Blender 3D] is the preferred modelling tool for jME3 as it is also Open-Source Software and an exporter for GLTF files exists. View the 3D model xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types] and their export/conversion options for more info.
+Presently, link:http://www.blender.org/[Blender 3D] is the preferred modelling tool for jME3 as it is also Open-Source Software and an exporter for GLTF files exists. View the 3D model <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> and their export/conversion options for more info.
 
 [WARNING]
 ====

+ 1 - 1
docs/modules/tutorials/pages/beginner/beginner.adoc

@@ -4,7 +4,7 @@
 :revdate: 2020/07/06
 
 
-The beginner tutorials demonstrate the most common use cases and explain basic concepts. We encourage you to run the sample codes and experiment with them. link:https://github.com/jMonkeyEngine/jmonkeyengine/tree/master/jme3-examples/src/main/java/jme3test[All example code] is included in the jMonkeyEngine SDK: Simply create a new project from the xref:sdk:sample_code.adoc#the-jme3tests-project-template[JmeTests] template.
+The beginner tutorials demonstrate the most common use cases and explain basic concepts. We encourage you to run the sample codes and experiment with them. link:https://github.com/jMonkeyEngine/jmonkeyengine/tree/master/jme3-examples/src/main/java/jme3test[All example code] is included in the jMonkeyEngine SDK: Simply create a new project from the <<sdk:sample_code.adoc#the-jme3tests-project-template,JmeTests>> template.
 
 To start writing your own projects, create a new file from the `BasicGame` template.
 Note that Test apps in this example project are not necessarily the recommended way to build an app with JME, they are just simple one class test case that showcase a feature.

+ 2 - 2
docs/modules/tutorials/pages/beginner/hello_asset.adoc

@@ -168,7 +168,7 @@ Clear existing text in the guiNode by detaching all its children.
 
 === Loading a Model
 
-Export your 3D model in a xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Type] (.mesh.xml, .scene, .material, .skeleton.xml, .gltf) and place it in a subdirectory of `assets/Models/`. The following code sample goes into the `simpleInitApp()` method.
+Export your 3D model in a <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Type>> (.mesh.xml, .scene, .material, .skeleton.xml, .gltf) and place it in a subdirectory of `assets/Models/`. The following code sample goes into the `simpleInitApp()` method.
 
 [source,java]
 ----
@@ -223,7 +223,7 @@ JME3 offers ClasspathLocator, ZipLocator, FileLocator, HttpZipLocator, and UrlLo
 == Creating Models and Scenes
 
 To create 3D models and scenes, you need a 3D Mesh Editor. If you don't have any tools, install Blender.
-Then you link:http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/UV_Map_Basics[create fully textured models (e.g. with Blender)], export them to your project using a xref:ROOT:jme3/features.adoc#supported-formats[Supported External File Type], xref:ROOT:jme3/features.adoc#supported-external-file-types[convert models] to `.j3o` using the recommended method for your chosen file type, <<loading-models-and-scenes,load models>>, and create 3D scenes from them.
+Then you link:http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/UV_Map_Basics[create fully textured models (e.g. with Blender)], export them to your project using a <<ROOT:jme3/features.adoc#supported-formats,Supported External File Type>>, xref:ROOT:jme3/features.adoc#supported-external-file-types[convert models] to `.j3o` using the recommended method for your chosen file type, <<loading-models-and-scenes,load models>>, and create 3D scenes from them.
 
 
 === Model File Formats

+ 1 - 1
docs/modules/tutorials/pages/beginner/hello_collision.adoc

@@ -268,7 +268,7 @@ As usual, you initialize the game in the `simpleInitApp()` method.
 
 Currently, jMonkeyEngine has two versions of link:https://pybullet.org/wordpress/[Bullet Physics]. A java port, link:http://jbullet.advel.cz/[jBullet], and link:https://en.wikipedia.org/wiki/Java_Native_Interface[JNI] (native) implementation. Although both accomplish the same goal of adding physics to your game, how you interact with each is quite different. This tutorial and it's examples use the JNI (native) implementation of physics. Which you choose is up to you.
 
-See the xref:ROOT:jme3/jme3_source_structure.adoc#physics[source structure] page for details on how to add each library to your game.
+See the <<ROOT:jme3/jme3_source_structure.adoc#physics,source structure>> page for details on how to add each library to your game.
 
 How you initialize each is the same, only the methods used for manipulating objects is different. The first thing you do in every physics game is create a BulletAppState object. It gives you access to the jME3 Bullet integration which handles physical forces and collisions.
 

+ 1 - 1
docs/modules/tutorials/pages/beginner/hello_effects.adoc

@@ -260,7 +260,7 @@ a| Whether particles fall down (positive) or fly up (negative). Set to 0f for a
 
 |===
 
-You can find details about xref:core:effect/particle_emitters.adoc#configure_parameters[effect parameters] here.
+You can find details about <<core:effect/particle_emitters.adoc#configure_parameters,effect parameters>> here.
 Add and modify one parameter at a time, and try different values until you get the effect you want.
 
 

+ 1 - 1
docs/modules/tutorials/pages/beginner/hello_input_system.adoc

@@ -366,7 +366,7 @@ inputManager.addMapping("Pause",  new KeyTrigger(usersPauseKey));
 ----
 .  Switch off the flyCam and override the WASD keys.
 +
-TIP: Use xref:tutorials:concepts/faq.adoc#how-do-i-switch-between-third-person-and-first-person-view[flyCam.setEnabled(false);]
+TIP: Use <<concepts/faq.adoc#how-do-i-switch-between-third-person-and-first-person-view,flyCam.setEnabled(false);>>
 
 
 [IMPORTANT]

+ 1 - 1
docs/modules/tutorials/pages/beginner/hello_simpleapplication.adoc

@@ -4,7 +4,7 @@
 :keywords: beginner, intro, documentation, init, simpleapplication, basegame
 
 
-*Prerequisites:* This tutorial assumes that you have xref:ROOT:documentation.adoc#install[downloaded the jMonkeyEngine SDK].
+*Prerequisites:* This tutorial assumes that you have <<ROOT:documentation.adoc#install,downloaded the jMonkeyEngine SDK>>.
 
 In this tutorial series, we assume that you use the jMonkeyEngine xref:sdk:sdk.adoc[SDK]. As an intermediate or advanced Java developer, you will quickly see that, in general, you can develop jMonkeyEngine code in any integrated development environment (NetBeans IDE, Eclipse, IntelliJ) or even from the xref:ROOT:jme3/simpleapplication_from_the_commandline.adoc[command line].
 

+ 1 - 1
docs/modules/tutorials/pages/beginner/solutions.adoc

@@ -4,7 +4,7 @@
 :revdate: 2020/07/06
 
 
-This is a user-proposed group of solutions for some or all of the exercises presented throughout the beginner tutorials (xref:ROOT:jme3.adoc#tutorials_for_beginners[tutorials_for_beginners]).
+This is a user-proposed group of solutions for some or all of the exercises presented throughout the beginner tutorials (xref:beginner/beginner.adoc[tutorials_for_beginners]).
 There are several ways to do them, so take what you see with a grain of salt, and actually try to do them yourself instead of jumping to the solution, for it is the best way to learn!
 
 

+ 4 - 4
docs/modules/tutorials/pages/concepts/faq.adoc

@@ -154,7 +154,7 @@ Note that you should not register every single folder containing a texture as th
 === How do I Create 3-D models, textures, sounds?
 
 Follow our best practices for the xref:concepts/multi-media_asset_pipeline.adoc[multi-media asset pipeline]. +
-You create 3-D models in a 3-D mesh editor, for example Blender, and export it in one of the 3D model xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types] such as GLTF (animated objects, scenes) or Wavefront OBJ format (static objects, scenes).
+You create 3-D models in a 3-D mesh editor, for example Blender, and export it in one of the 3D model <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> such as GLTF (animated objects, scenes) or Wavefront OBJ format (static objects, scenes).
 You create textures in a graphic editor, for example Gimp, and export them as PNG or JPG.
 You create sounds in an audio editor, for example, Audacity, and export them as WAVE or OGG.
 
@@ -170,7 +170,7 @@ You create sounds in an audio editor, for example, Audacity, and export them as
 
 === How do I load a 3-D model into the scene?
 
-Export your model using one of the xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types] for 3D models. Convert to .j3o binary format. Load the .j3o file using the AssetManager.
+Export your model using one of the <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> for 3D models. Convert to .j3o binary format. Load the .j3o file using the AssetManager.
 
 [source,java]
 ----
@@ -567,7 +567,7 @@ You can use jBullet's CharacterControl that locks a physical object upright, so
 
 *Learn more:*
 
-* xref:physics:control/walking_character.adoc#bettercharactercontrol[BetterCharacterControl]
+* <<physics:control/walking_character.adoc#bettercharactercontrol,BetterCharacterControl>>
 
 *Code Sample:*
 
@@ -676,7 +676,7 @@ link:https://github.com/nifty-gui/nifty-gui[https://github.com/nifty-gui/nifty-g
 
 === Is there Java Doc for Nifty GUI?
 
-xref:ROOT:jme3/advanced/nifty_gui_java_interaction.adoc#useful_links[Nifty GUI 1.3 Java docs]
+<<core:gui/nifty_gui_java_interaction.adoc#useful_links,Nifty GUI 1.3 Java docs>>
 
 
 == I want to create an environment with sounds, effects, and landscapes

+ 3 - 3
docs/modules/tutorials/pages/concepts/multi-media_asset_pipeline.adoc

@@ -7,7 +7,7 @@
 Assets are files that are not code. Your multi-media assets includes, for example, your textures (image files), models (mesh files), and sounds (audio files).
 
 *  You create textures in a graphic editor, for example link:http://gimp.org[Gimp], and export them as PNG or JPG.
-*  You xref:how-to/modeling/blender/blender.adoc[create models] in a 3D mesh editor, for example link:https://www.blender.org[Blender], and export them in GLTF, Wavefront OBJ, or any xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Type].
+*  You xref:how-to/modeling/blender/blender.adoc[create models] in a 3D mesh editor, for example link:https://www.blender.org[Blender], and export them in GLTF, Wavefront OBJ, or any <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Type>>.
 *  You create sounds in an audio editor, for example link:http://audacity.sourceforge.net[Audacity], and export them as WAVE or OGG.
 
 == Asset Pipeline
@@ -120,7 +120,7 @@ Every material feature not listed in the xref:core:material/materials_overview.a
 ..  Unwrap the model in the 3D editor and generate a *UV texture* (i.e. one texture file that contains all the pieces of one model from different angles). +
 Don't use multiple separate texture files with one model, it will break the model into several meshes.
 
-.  Export the model mesh in one of the supported xref:ROOT:jme3/features.adoc##supported-external-file-types[Supported External File Types].
+.  Export the model mesh in one of the supported <<ROOT:jme3/features.adoc##supported-external-file-types,Supported External File Types>>.
 ..  *Bake* each texture into one file when exporting. Create a Texture Atlas.
 ..  *Save exported models to subfolders of the `assets/Textures` (sic) directory, so they are together with their textures*!
 
@@ -138,7 +138,7 @@ See also: link:http://www.gamasutra.com/view/feature/2530/practical_texture_atla
 
 == Convert 3D Models to .j3o Format
 
-Convert all models and scenes to jME3's binary .j3o format to load() them. Use one of the conversion methods listed for the xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Type] you have chosen.
+Convert all models and scenes to jME3's binary .j3o format to load() them. Use one of the conversion methods listed for the <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Type>> you have chosen.
 
 .  Confirm that you exported the model into the `assets/Textures` directory (or subdirectories) together with all its textures.
 .  In the SDK, right-click the model and choose "`Convert to j3o Binary`". +

+ 1 - 1
docs/modules/tutorials/pages/concepts/terminology.adoc

@@ -231,7 +231,7 @@ The technique described above is known as the "`Metalness Workflow`". Where you
 
 There is another workflow known as the "`Specular Workflow`". In the metalness workflow the albedo map is used for both diffuse color and specular color. "`Specular Workflow`" uses a specular color map instead. In this workflow, the albedo map is the diffuse color, the specular map is the specular color, and you have a gray scale gloss map that is the same as the roughness map. The workflow is very similar to the old techniques used for making materials.
 
-This has been a brief introduction to PBR. In reality, it requires a significant amount of learning to implement correctly. Read the three part series of articles called, Physically Based Rendering, that can be found under the xref:ROOT:jme3.adoc#materials-light-shadow[Materials, light, Shadow] topic for a more in depth explanation of PBR textures. This is a must read for any serious jME developer.
+This has been a brief introduction to PBR. In reality, it requires a significant amount of learning to implement correctly. Read the three part series of articles called, Physically Based Rendering, that can be found under the "`Material, light, Shadow`" topic for a more in depth explanation of PBR textures. This is a must read for any serious jME developer.
 
 See also: link:https://www.chaosgroup.com/blog/understanding-metalness[Understanding Metalness].
 

+ 2 - 2
docs/modules/tutorials/pages/how-to/modeling/blender/blender.adoc

@@ -157,7 +157,7 @@ Also check out these videos and resources:
 
 == Action Baking
 
-There are many 3D model xref:ROOT:jme3/features.adoc#supported-external-file-types.adoc[Supported External File Types] for jMonkeyEngine. Some of them bake your actions automatically on export, others don't. Baking is a destructive process so it is recommended that you test the animation in-game first. If your animations are all messed up, try baking them or use a different exporter.
+There are many 3D model <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> for jMonkeyEngine. Some of them bake your actions automatically on export, others don't. Baking is a destructive process so it is recommended that you test the animation in-game first. If your animations are all messed up, try baking them or use a different exporter.
 
 If you find yourself in need of baking, the process is as follows.
 
@@ -349,7 +349,7 @@ The goal of this tutorial is to explain briefly how to bake light map in blender
 
 == Importing the model in the SDK and creating the appropriate material
 
-Once this is done, export your model with one of the 3D model xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types] and convert it into a `.j3o` with the SDK, or the JME link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter].
+Once this is done, export your model with one of the 3D model <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> and convert it into a `.j3o` with the SDK, or the JME link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter].
 
 *  Create material for it using the lighting definition.
 *  Add the colorMap in the diffuse map slot and the lightMap in the light map slot.

+ 1 - 1
docs/modules/tutorials/pages/how-to/modeling/blender/blender_ogre_compatibility.adoc

@@ -7,7 +7,7 @@ Here you can find working combinations of Blender and the OgreXML exporter, with
 
 [WARNING]
 ====
-As of Blender version 2.8+, OgreXML is no longer compatible for exporting. See xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types] for other options.
+As of Blender version 2.8+, OgreXML is no longer compatible for exporting. See <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> for other options.
 ====
 
 

+ 1 - 1
docs/modules/tutorials/pages/how-to/modeling/blender/makehuman.adoc

@@ -36,7 +36,7 @@ Here's the procedure:
 **  Select a pathname in the assets/Models folder of your JME3 project.
 **  Clicking the `Save As Blender File` button in the `File Browser` writes the file.
 
-.  Export the file using a xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Type]:
+.  Export the file using a <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Type>>:
 **  Launch the jMonkeyEngine3 SDK.
 **  Open your JME3 project.
 **  Under the `Project Assets` node of your project, open the `Models` folder.

+ 1 - 1
docs/modules/tutorials/pages/how-to/modeling/blender/mixamo.adoc

@@ -251,7 +251,7 @@ NOTE: If the action is not visible, navigate to the `Dope Sheet Editor` and from
 == Export
 
 
-Your rigged file is now ready to export. Export your model using one of the xref:ROOT:jme3/features.adoc#supported-external-file-types[Supported External File Types] of your choice.
+Your rigged file is now ready to export. Export your model using one of the <<ROOT:jme3/features.adoc#supported-external-file-types,Supported External File Types>> of your choice.
 
 
 == Appending Blender Animations

+ 1 - 1
docs/modules/wiki/pages/wiki_translation.adoc

@@ -8,7 +8,7 @@ Official translations of the wiki are not practical due to varying dialects, dod
 
 This tutorial will go into the details of how to setup a copy of the wiki on link:https://github.com/[GitHub] that looks and feels like the official wiki, including link:https://github.com/marketplace/travis-ci[Travis-CI] automatically converting your AsciiDoc content to HTML, then publishing those files on each commit.
 
-You are not required to translate every page or even mirror changes to the official wiki. What is required is a linked wiki be robust enough to actually help other monkeys and that the content is kept current. If it's deemed worthy, a link to your repository, whether its stored on your own domain or not, will be added to the main page of the wiki under the xref:ROOT:documentation.adoc#languages[Languages] topic.
+You are not required to translate every page or even mirror changes to the official wiki. What is required is a linked wiki be robust enough to actually help other monkeys and that the content is kept current. If it's deemed worthy, a link to your repository, whether its stored on your own domain or not, will be added to the main page of the wiki under the <<ROOT:documentation.adoc#languages,Languages>> topic.
 
 [WARNING]
 ====