Browse Source

Export some consts to AngelScript

1vanK 8 years ago
parent
commit
150c4fb26d
32 changed files with 214 additions and 175 deletions
  1. 40 0
      Source/Urho3D/AngelScript/MathAPI.cpp
  2. 1 1
      bin/Data/Scripts/02_HelloGUI.as
  3. 4 4
      bin/Data/Scripts/04_StaticScene.as
  4. 4 4
      bin/Data/Scripts/05_AnimatingScene.as
  5. 5 5
      bin/Data/Scripts/06_SkeletalAnimation.as
  6. 4 4
      bin/Data/Scripts/07_Billboards.as
  7. 5 5
      bin/Data/Scripts/08_Decals.as
  8. 5 5
      bin/Data/Scripts/09_MultipleViewports.as
  9. 4 4
      bin/Data/Scripts/10_RenderToTexture.as
  10. 7 7
      bin/Data/Scripts/11_Physics.as
  11. 7 7
      bin/Data/Scripts/12_PhysicsStressTest.as
  12. 25 25
      bin/Data/Scripts/13_Ragdolls.as
  13. 7 7
      bin/Data/Scripts/15_Navigation.as
  14. 6 6
      bin/Data/Scripts/17_SceneReplication.as
  15. 13 13
      bin/Data/Scripts/18_CharacterDemo.as
  16. 11 11
      bin/Data/Scripts/19_VehicleDemo.as
  17. 5 5
      bin/Data/Scripts/20_HugeObjectCount.as
  18. 4 4
      bin/Data/Scripts/23_Water.as
  19. 4 4
      bin/Data/Scripts/24_Urho2DSprite.as
  20. 4 4
      bin/Data/Scripts/27_Urho2DPhysics.as
  21. 4 4
      bin/Data/Scripts/28_Urho2DPhysicsRope.as
  22. 4 4
      bin/Data/Scripts/30_LightAnimation.as
  23. 4 4
      bin/Data/Scripts/31_MaterialAnimation.as
  24. 4 4
      bin/Data/Scripts/32_Urho2DConstraints.as
  25. 4 4
      bin/Data/Scripts/33_Urho2DSpriterAnimation.as
  26. 4 4
      bin/Data/Scripts/34_DynamicGeometry.as
  27. 4 4
      bin/Data/Scripts/35_SignedDistanceFieldText.as
  28. 4 4
      bin/Data/Scripts/36_Urho2DTileMap.as
  29. 4 4
      bin/Data/Scripts/38_SceneAndUILoad.as
  30. 5 6
      bin/Data/Scripts/39_CrowdNavigation.as
  31. 4 4
      bin/Data/Scripts/42_PBRMaterials.as
  32. 4 4
      bin/Data/Scripts/44_RibbonTrailDemo.as

+ 40 - 0
Source/Urho3D/AngelScript/MathAPI.cpp

@@ -194,6 +194,15 @@ static void RegisterIntVector2(asIScriptEngine* engine)
     engine->RegisterObjectProperty("IntVector2", "int y", offsetof(IntVector2, y_));
     engine->RegisterGlobalFunction("IntVector2 VectorMin(const IntVector2&in, const IntVector2&in)", asFUNCTIONPR(VectorMin, (const IntVector2&, const IntVector2&), IntVector2), asCALL_CDECL);
     engine->RegisterGlobalFunction("IntVector2 VectorMax(const IntVector2&in, const IntVector2&in)", asFUNCTIONPR(VectorMax, (const IntVector2&, const IntVector2&), IntVector2), asCALL_CDECL);
+
+    engine->SetDefaultNamespace("IntVector2");
+    engine->RegisterGlobalProperty("const IntVector2 ZERO", (void*)&IntVector2::ZERO);
+    engine->RegisterGlobalProperty("const IntVector2 LEFT", (void*)&IntVector2::LEFT);
+    engine->RegisterGlobalProperty("const IntVector2 RIGHT", (void*)&IntVector2::RIGHT);
+    engine->RegisterGlobalProperty("const IntVector2 UP", (void*)&IntVector2::UP);
+    engine->RegisterGlobalProperty("const IntVector2 DOWN", (void*)&IntVector2::DOWN);
+    engine->RegisterGlobalProperty("const IntVector2 ONE", (void*)&IntVector2::ONE);
+    engine->SetDefaultNamespace("");
 }
 
 static void ConstructIntVector3(IntVector3* ptr)
@@ -248,6 +257,17 @@ static void RegisterIntVector3(asIScriptEngine* engine)
     engine->RegisterObjectProperty("IntVector3", "int z", offsetof(IntVector3, z_));
     engine->RegisterGlobalFunction("IntVector3 VectorMin(const IntVector3&in, const IntVector3&in)", asFUNCTIONPR(VectorMin, (const IntVector3&, const IntVector3&), IntVector3), asCALL_CDECL);
     engine->RegisterGlobalFunction("IntVector3 VectorMax(const IntVector3&in, const IntVector3&in)", asFUNCTIONPR(VectorMax, (const IntVector3&, const IntVector3&), IntVector3), asCALL_CDECL);
+
+    engine->SetDefaultNamespace("IntVector3");
+    engine->RegisterGlobalProperty("const IntVector3 ZERO", (void*)&IntVector3::ZERO);
+    engine->RegisterGlobalProperty("const IntVector3 LEFT", (void*)&IntVector3::LEFT);
+    engine->RegisterGlobalProperty("const IntVector3 RIGHT", (void*)&IntVector3::RIGHT);
+    engine->RegisterGlobalProperty("const IntVector3 UP", (void*)&IntVector3::UP);
+    engine->RegisterGlobalProperty("const IntVector3 DOWN", (void*)&IntVector3::DOWN);
+    engine->RegisterGlobalProperty("const IntVector3 FORWARD", (void*)&IntVector3::FORWARD);
+    engine->RegisterGlobalProperty("const IntVector3 BACK", (void*)&IntVector3::BACK);
+    engine->RegisterGlobalProperty("const IntVector3 ONE", (void*)&IntVector3::ONE);
+    engine->SetDefaultNamespace("");
 }
 
 static void ConstructVector2(Vector2* ptr)
@@ -331,6 +351,15 @@ static void RegisterVector2(asIScriptEngine* engine)
     engine->RegisterGlobalFunction("IntVector2 VectorFloorToInt(const Vector2&in)", asFUNCTIONPR(VectorFloorToInt, (const Vector2&), IntVector2), asCALL_CDECL);
     engine->RegisterGlobalFunction("IntVector2 VectorRoundToInt(const Vector2&in)", asFUNCTIONPR(VectorRoundToInt, (const Vector2&), IntVector2), asCALL_CDECL);
     engine->RegisterGlobalFunction("IntVector2 VectorCeilToInt(const Vector2&in)", asFUNCTIONPR(VectorCeilToInt, (const Vector2&), IntVector2), asCALL_CDECL);
+
+    engine->SetDefaultNamespace("Vector2");
+    engine->RegisterGlobalProperty("const Vector2 ZERO", (void*)&Vector2::ZERO);
+    engine->RegisterGlobalProperty("const Vector2 LEFT", (void*)&Vector2::LEFT);
+    engine->RegisterGlobalProperty("const Vector2 RIGHT", (void*)&Vector2::RIGHT);
+    engine->RegisterGlobalProperty("const Vector2 UP", (void*)&Vector2::UP);
+    engine->RegisterGlobalProperty("const Vector2 DOWN", (void*)&Vector2::DOWN);
+    engine->RegisterGlobalProperty("const Vector2 ONE", (void*)&Vector2::ONE);
+    engine->SetDefaultNamespace("");
 }
 
 static void ConstructVector3(Vector3* ptr)
@@ -433,6 +462,17 @@ static void RegisterVector3(asIScriptEngine* engine)
     engine->RegisterGlobalFunction("IntVector3 VectorFloorToInt(const Vector3&in)", asFUNCTIONPR(VectorFloorToInt, (const Vector3&), IntVector3), asCALL_CDECL);
     engine->RegisterGlobalFunction("IntVector3 VectorRoundToInt(const Vector3&in)", asFUNCTIONPR(VectorRoundToInt, (const Vector3&), IntVector3), asCALL_CDECL);
     engine->RegisterGlobalFunction("IntVector3 VectorCeilToInt(const Vector3&in)", asFUNCTIONPR(VectorCeilToInt, (const Vector3&), IntVector3), asCALL_CDECL);
+
+    engine->SetDefaultNamespace("Vector3");
+    engine->RegisterGlobalProperty("const Vector3 ZERO", (void*)&Vector3::ZERO);
+    engine->RegisterGlobalProperty("const Vector3 LEFT", (void*)&Vector3::LEFT);
+    engine->RegisterGlobalProperty("const Vector3 RIGHT", (void*)&Vector3::RIGHT);
+    engine->RegisterGlobalProperty("const Vector3 UP", (void*)&Vector3::UP);
+    engine->RegisterGlobalProperty("const Vector3 DOWN", (void*)&Vector3::DOWN);
+    engine->RegisterGlobalProperty("const Vector3 FORWARD", (void*)&Vector3::FORWARD);
+    engine->RegisterGlobalProperty("const Vector3 BACK", (void*)&Vector3::BACK);
+    engine->RegisterGlobalProperty("const Vector3 ONE", (void*)&Vector3::ONE);
+    engine->SetDefaultNamespace("");
 }
 
 static void ConstructVector4(Vector4* ptr)

+ 1 - 1
bin/Data/Scripts/02_HelloGUI.as

@@ -11,7 +11,7 @@
 #include "Scripts/Utilities/Sample.as"
 
 Window@ window;
-IntVector2 dragBeginPosition = IntVector2(0, 0);
+IntVector2 dragBeginPosition = IntVector2::ZERO;
 
 void Start()
 {

+ 4 - 4
bin/Data/Scripts/04_StaticScene.as

@@ -126,13 +126,13 @@ void MoveCamera(float timeStep)
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     // Use the Translate() function (default local space) to move relative to the node's orientation.
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()

+ 4 - 4
bin/Data/Scripts/05_AnimatingScene.as

@@ -127,13 +127,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()

+ 5 - 5
bin/Data/Scripts/06_SkeletalAnimation.as

@@ -165,13 +165,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // Toggle debug geometry with space
     if (input.keyPress[KEY_SPACE])
@@ -212,7 +212,7 @@ class Mover : ScriptObject
 
     void Update(float timeStep)
     {
-        node.Translate(Vector3(0.0f, 0.0f, 1.0f) * moveSpeed * timeStep);
+        node.Translate(Vector3::FORWARD * moveSpeed * timeStep);
 
         // If in risk of going outside the plane, rotate the model right
         Vector3 pos = node.position;

+ 4 - 4
bin/Data/Scripts/07_Billboards.as

@@ -217,13 +217,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // Toggle debug geometry with space
     if (input.keyPress[KEY_SPACE])

+ 5 - 5
bin/Data/Scripts/08_Decals.as

@@ -183,13 +183,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // Toggle debug geometry with space
     if (input.keyPress[KEY_SPACE])
@@ -219,7 +219,7 @@ void PaintDecal()
         // use full texture UV's (0,0) to (1,1). Note that if we create several decals to a large object (such as the ground
         // plane) over a large area using just one DecalSet component, the decals will all be culled as one unit. If that is
         // undesirable, it may be necessary to create more than one DecalSet based on the distance
-        decal.AddDecal(hitDrawable, hitPos, cameraNode.rotation, 0.5f, 1.0f, 1.0f, Vector2(0.0f, 0.0f), Vector2(1.0f, 1.0f));
+        decal.AddDecal(hitDrawable, hitPos, cameraNode.rotation, 0.5f, 1.0f, 1.0f, Vector2::ZERO, Vector2::ONE);
     }
 }
 

+ 5 - 5
bin/Data/Scripts/09_MultipleViewports.as

@@ -102,7 +102,7 @@ void CreateScene()
     // Parent the rear camera node to the front camera node and turn it 180 degrees to face backward
     // Here, we use the angle-axis constructor for Quaternion instead of the usual Euler angles
     rearCameraNode = cameraNode.CreateChild("RearCamera");
-    rearCameraNode.Rotate(Quaternion(180.0f, Vector3(0.0f, 1.0f, 0.0f)));
+    rearCameraNode.Rotate(Quaternion(180.0f, Vector3::UP));
     Camera@ rearCamera = rearCameraNode.CreateComponent("Camera");
     rearCamera.farClip = 300.0f;
     // Because the rear viewport is rather small, disable occlusion culling from it. Use the camera's
@@ -192,13 +192,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // Toggle post processing effects on the front viewport. Note that the rear viewport is unaffected
     RenderPath@ effectRenderPath = renderer.viewports[0].renderPath;

+ 4 - 4
bin/Data/Scripts/10_RenderToTexture.as

@@ -207,13 +207,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()

+ 7 - 7
bin/Data/Scripts/11_Physics.as

@@ -84,7 +84,7 @@ void CreateScene()
         CollisionShape@ shape = floorNode.CreateComponent("CollisionShape");
         // Set a box shape of size 1 x 1 x 1 for collision. The shape will be scaled with the scene node scale, so the
         // rendering and physics representation sizes should match (the box model is also 1 x 1 x 1.)
-        shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+        shape.SetBox(Vector3::ONE);
     }
 
     {
@@ -107,7 +107,7 @@ void CreateScene()
                 body.mass = 1.0f;
                 body.friction = 0.75f;
                 CollisionShape@ shape = boxNode.CreateComponent("CollisionShape");
-                shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+                shape.SetBox(Vector3::ONE);
             }
         }
     }
@@ -180,13 +180,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // "Shoot" a physics object with left mousebutton
     if (input.mouseButtonPress[MOUSEB_LEFT])
@@ -227,7 +227,7 @@ void SpawnObject()
     body.mass = 0.25f;
     body.friction = 0.75f;
     CollisionShape@ shape = boxNode.CreateComponent("CollisionShape");
-    shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+    shape.SetBox(Vector3::ONE);
 
     const float OBJECT_VELOCITY = 10.0f;
 

+ 7 - 7
bin/Data/Scripts/12_PhysicsStressTest.as

@@ -72,7 +72,7 @@ void CreateScene()
         CollisionShape@ shape = floorNode.CreateComponent("CollisionShape");
         // Set a box shape of size 1 x 1 x 1 for collision. The shape will be scaled with the scene node scale, so the
         // rendering and physics representation sizes should match (the box model is also 1 x 1 x 1.)
-        shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+        shape.SetBox(Vector3::ONE);
     }
 
     {
@@ -115,7 +115,7 @@ void CreateScene()
             // Disable collision event signaling to reduce CPU load of the physics simulation
             body.collisionEventMode = COLLISION_NEVER;
             CollisionShape@ shape = boxNode.CreateComponent("CollisionShape");
-            shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+            shape.SetBox(Vector3::ONE);
         }
     }
 
@@ -187,13 +187,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // "Shoot" a physics object with left mousebutton
     if (input.mouseButtonPress[MOUSEB_LEFT])
@@ -233,7 +233,7 @@ void SpawnObject()
     body.mass = 0.25f;
     body.friction = 0.75f;
     CollisionShape@ shape = boxNode.CreateComponent("CollisionShape");
-    shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+    shape.SetBox(Vector3::ONE);
 
     const float OBJECT_VELOCITY = 10.0f;
 

+ 25 - 25
bin/Data/Scripts/13_Ragdolls.as

@@ -75,7 +75,7 @@ void CreateScene()
         CollisionShape@ shape = floorNode.CreateComponent("CollisionShape");
         // Set a box shape of size 1 x 1 x 1 for collision. The shape will be scaled with the scene node scale, so the
         // rendering and physics representation sizes should match (the box model is also 1 x 1 x 1.)
-        shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+        shape.SetBox(Vector3::ONE);
     }
 
     // Create animated models
@@ -178,13 +178,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // "Shoot" a physics object with left mousebutton
     if (input.mouseButtonPress[MOUSEB_LEFT])
@@ -292,26 +292,26 @@ class CreateRagdoll : ScriptObject
                 Quaternion(0.0f, 0.0f, 90.0f));
 
             // Create Constraints between bones
-            CreateRagdollConstraint("Bip01_L_Thigh", "Bip01_Pelvis", CONSTRAINT_CONETWIST, Vector3(0.0f, 0.0f, -1.0f),
-                Vector3(0.0f, 0.0f, 1.0f), Vector2(45.0f, 45.0f), Vector2(0.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_R_Thigh", "Bip01_Pelvis", CONSTRAINT_CONETWIST, Vector3(0.0f, 0.0f, -1.0f),
-                Vector3(0.0f, 0.0f, 1.0f), Vector2(45.0f, 45.0f), Vector2(0.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_L_Calf", "Bip01_L_Thigh", CONSTRAINT_HINGE, Vector3(0.0f, 0.0f, -1.0f),
-                Vector3(0.0f, 0.0f, -1.0f), Vector2(90.0f, 0.0f), Vector2(0.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_R_Calf", "Bip01_R_Thigh", CONSTRAINT_HINGE, Vector3(0.0f, 0.0f, -1.0f),
-                Vector3(0.0f, 0.0f, -1.0f), Vector2(90.0f, 0.0f), Vector2(0.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_Spine1", "Bip01_Pelvis", CONSTRAINT_HINGE, Vector3(0.0f, 0.0f, 1.0f),
-                Vector3(0.0f, 0.0f, 1.0f), Vector2(45.0f, 0.0f), Vector2(-10.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_Head", "Bip01_Spine1", CONSTRAINT_CONETWIST, Vector3(-1.0f, 0.0f, 0.0f),
-                Vector3(-1.0f, 0.0f, 0.0f), Vector2(0.0f, 30.0f), Vector2(0.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_L_UpperArm", "Bip01_Spine1", CONSTRAINT_CONETWIST, Vector3(0.0f, -1.0f, 0.0f),
-                Vector3(0.0f, 1.0f, 0.0f), Vector2(45.0f, 45.0f), Vector2(0.0f, 0.0f), false);
-            CreateRagdollConstraint("Bip01_R_UpperArm", "Bip01_Spine1", CONSTRAINT_CONETWIST, Vector3(0.0f, -1.0f, 0.0f),
-                Vector3(0.0f, 1.0f, 0.0f), Vector2(45.0f, 45.0f), Vector2(0.0f, 0.0f), false);
-            CreateRagdollConstraint("Bip01_L_Forearm", "Bip01_L_UpperArm", CONSTRAINT_HINGE, Vector3(0.0f, 0.0f, -1.0f),
-                Vector3(0.0f, 0.0f, -1.0f), Vector2(90.0f, 0.0f), Vector2(0.0f, 0.0f));
-            CreateRagdollConstraint("Bip01_R_Forearm", "Bip01_R_UpperArm", CONSTRAINT_HINGE, Vector3(0.0f, 0.0f, -1.0f),
-                Vector3(0.0f, 0.0f, -1.0f), Vector2(90.0f, 0.0f), Vector2(0.0f, 0.0f));
+            CreateRagdollConstraint("Bip01_L_Thigh", "Bip01_Pelvis", CONSTRAINT_CONETWIST, Vector3::BACK,
+                Vector3::FORWARD, Vector2(45.0f, 45.0f), Vector2::ZERO);
+            CreateRagdollConstraint("Bip01_R_Thigh", "Bip01_Pelvis", CONSTRAINT_CONETWIST, Vector3::BACK,
+                Vector3::FORWARD, Vector2(45.0f, 45.0f), Vector2::ZERO);
+            CreateRagdollConstraint("Bip01_L_Calf", "Bip01_L_Thigh", CONSTRAINT_HINGE, Vector3::BACK,
+                Vector3::BACK, Vector2(90.0f, 0.0f), Vector2::ZERO);
+            CreateRagdollConstraint("Bip01_R_Calf", "Bip01_R_Thigh", CONSTRAINT_HINGE, Vector3::BACK,
+                Vector3::BACK, Vector2(90.0f, 0.0f), Vector2::ZERO);
+            CreateRagdollConstraint("Bip01_Spine1", "Bip01_Pelvis", CONSTRAINT_HINGE, Vector3::FORWARD,
+                Vector3::FORWARD, Vector2(45.0f, 0.0f), Vector2(-10.0f, 0.0f));
+            CreateRagdollConstraint("Bip01_Head", "Bip01_Spine1", CONSTRAINT_CONETWIST, Vector3::LEFT,
+                Vector3::LEFT, Vector2(0.0f, 30.0f), Vector2::ZERO);
+            CreateRagdollConstraint("Bip01_L_UpperArm", "Bip01_Spine1", CONSTRAINT_CONETWIST, Vector3::DOWN,
+                Vector3::UP, Vector2(45.0f, 45.0f), Vector2::ZERO, false);
+            CreateRagdollConstraint("Bip01_R_UpperArm", "Bip01_Spine1", CONSTRAINT_CONETWIST, Vector3::DOWN,
+                Vector3::UP, Vector2(45.0f, 45.0f), Vector2::ZERO, false);
+            CreateRagdollConstraint("Bip01_L_Forearm", "Bip01_L_UpperArm", CONSTRAINT_HINGE, Vector3::BACK,
+                Vector3::BACK, Vector2(90.0f, 0.0f), Vector2::ZERO);
+            CreateRagdollConstraint("Bip01_R_Forearm", "Bip01_R_UpperArm", CONSTRAINT_HINGE, Vector3::BACK,
+                Vector3::BACK, Vector2(90.0f, 0.0f), Vector2::ZERO);
 
             // Disable keyframe animation from all bones so that they will not interfere with the ragdoll
             AnimatedModel@ model = node.GetComponent("AnimatedModel");

+ 7 - 7
bin/Data/Scripts/15_Navigation.as

@@ -203,13 +203,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // Set destination or teleport with left mouse button
     if (input.mouseButtonPress[MOUSEB_LEFT])
@@ -237,7 +237,7 @@ void SetPathPoint()
         {
             // Teleport
             currentPath.Clear();
-            jackNode.LookAt(Vector3(pathPos.x, jackNode.position.y, pathPos.z), Vector3(0.0f, 1.0f, 0.0f));
+            jackNode.LookAt(Vector3(pathPos.x, jackNode.position.y, pathPos.z), Vector3::UP);
             jackNode.position = pathPos;
         }
         else
@@ -332,8 +332,8 @@ void FollowPath(float timeStep)
         if (move > distance)
             move = distance;
 
-        jackNode.LookAt(nextWaypoint, Vector3(0.0f, 1.0f, 0.0f));
-        jackNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * move);
+        jackNode.LookAt(nextWaypoint, Vector3::UP);
+        jackNode.Translate(Vector3::FORWARD * move);
 
         // Remove waypoint if reached it
         if (distance < 0.1)

+ 6 - 6
bin/Data/Scripts/17_SceneReplication.as

@@ -94,7 +94,7 @@ void CreateScene()
             RigidBody@ body = floorNode.CreateComponent("RigidBody");
             body.friction = 1.0f;
             CollisionShape@ shape = floorNode.CreateComponent("CollisionShape");
-            shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+            shape.SetBox(Vector3::ONE);
         }
     }
 
@@ -278,7 +278,7 @@ void MoveCamera()
             const float CAMERA_DISTANCE = 5.0f;
 
             // Move camera some distance away from the ball
-            cameraNode.position = ballNode.position + cameraNode.rotation * Vector3(0.0f, 0.0f, -1.0f) * CAMERA_DISTANCE;
+            cameraNode.position = ballNode.position + cameraNode.rotation * Vector3::BACK * CAMERA_DISTANCE;
             showInstructions = true;
         }
     }
@@ -341,13 +341,13 @@ void HandlePhysicsPreStep(StringHash eventType, VariantMap& eventData)
             // independent from rendering framerate. We could also apply forces (which would enable in-air control),
             // but want to emphasize that it's a ball which should only control its motion by rolling along the ground
             if (connection.controls.IsDown(CTRL_FORWARD))
-                body.ApplyTorque(rotation * Vector3(1.0f, 0.0f, 0.0f) * MOVE_TORQUE);
+                body.ApplyTorque(rotation * Vector3::RIGHT * MOVE_TORQUE);
             if (connection.controls.IsDown(CTRL_BACK))
-                body.ApplyTorque(rotation * Vector3(-1.0f, 0.0f, 0.0f) * MOVE_TORQUE);
+                body.ApplyTorque(rotation * Vector3::LEFT * MOVE_TORQUE);
             if (connection.controls.IsDown(CTRL_LEFT))
-                body.ApplyTorque(rotation * Vector3(0.0f, 0.0f, 1.0f) * MOVE_TORQUE);
+                body.ApplyTorque(rotation * Vector3::FORWARD * MOVE_TORQUE);
             if (connection.controls.IsDown(CTRL_RIGHT))
-                body.ApplyTorque(rotation * Vector3(0.0f, 0.0f, -1.0f) * MOVE_TORQUE);
+                body.ApplyTorque(rotation * Vector3::BACK * MOVE_TORQUE);
         }
     }
 }

+ 13 - 13
bin/Data/Scripts/18_CharacterDemo.as

@@ -93,7 +93,7 @@ void CreateScene()
     // inside geometry
     body.collisionLayer = 2;
     CollisionShape@ shape = floorNode.CreateComponent("CollisionShape");
-    shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+    shape.SetBox(Vector3::ONE);
 
     // Create mushrooms of varying sizes
     const uint NUM_MUSHROOMS = 60;
@@ -134,7 +134,7 @@ void CreateScene()
         // Bigger boxes will be heavier and harder to move
         body.mass = scale * 2.0f;
         CollisionShape@ shape = objectNode.CreateComponent("CollisionShape");
-        shape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+        shape.SetBox(Vector3::ONE);
     }
 }
 
@@ -144,7 +144,7 @@ void CreateCharacter()
     characterNode.position = Vector3(0.0f, 1.0f, 0.0f);
 
     Node@ adjNode = characterNode.CreateChild("AdjNode");
-    adjNode.rotation = Quaternion(180, Vector3(0,1,0) );
+    adjNode.rotation = Quaternion(180.0f, Vector3::UP);
 
     // Create the rendering component + animation controller
     AnimatedModel@ object = adjNode.CreateComponent("AnimatedModel");
@@ -163,7 +163,7 @@ void CreateCharacter()
 
     // Set zero angular factor so that physics doesn't turn the character on its own.
     // Instead we will control the character yaw manually
-    body.angularFactor = Vector3(0.0f, 0.0f, 0.0f);
+    body.angularFactor = Vector3::ZERO;
 
     // Set the rigidbody to signal collision also when in rest, so that we get ground collisions properly
     body.collisionEventMode = COLLISION_ALWAYS;
@@ -259,7 +259,7 @@ void HandleUpdate(StringHash eventType, VariantMap& eventData)
         // Limit pitch
         character.controls.pitch = Clamp(character.controls.pitch, -80.0f, 80.0f);
         // Set rotation already here so that it's updated every rendering frame instead of every physics frame
-        characterNode.rotation = Quaternion(character.controls.yaw, Vector3(0.0f, 1.0f, 0.0f));
+        characterNode.rotation = Quaternion(character.controls.yaw, Vector3::UP);
 
         // Switch between 1st and 3rd person
         if (input.keyPress[KEY_F])
@@ -299,7 +299,7 @@ void HandlePostUpdate(StringHash eventType, VariantMap& eventData)
 
     // Get camera lookat dir from character yaw + pitch
     Quaternion rot = characterNode.rotation;
-    Quaternion dir = rot * Quaternion(character.controls.pitch, Vector3(1.0f, 0.0f, 0.0f));
+    Quaternion dir = rot * Quaternion(character.controls.pitch, Vector3::RIGHT);
 
     // Turn head to camera pitch, but limit to avoid unnatural animation
     Node@ headNode = characterNode.GetChild("Mutant:Head", true);
@@ -321,7 +321,7 @@ void HandlePostUpdate(StringHash eventType, VariantMap& eventData)
         Vector3 aimPoint = characterNode.position + rot * Vector3(0.0f, 1.7f, 0.0f); // You can modify x Vector3 value to translate the fixed character position (indicative range[-2;2])
 
         // Collide camera ray with static physics objects (layer bitmask 2) to ensure we see the character properly
-        Vector3 rayDir = dir * Vector3(0.0f, 0.0f, -1.0f); // For indoor scenes you can use dir * Vector3(0.0, 0.0, -0.5) to prevent camera from crossing the walls
+        Vector3 rayDir = dir * Vector3::BACK; // For indoor scenes you can use dir * Vector3(0.0, 0.0, -0.5) to prevent camera from crossing the walls
         float rayDistance = cameraDistance;
         PhysicsRaycastResult result = scene_.physicsWorld.RaycastSingle(Ray(aimPoint, rayDir), rayDistance, 2);
         if (result.body !is null)
@@ -410,13 +410,13 @@ class Character : ScriptObject
         Vector3 planeVelocity(velocity.x, 0.0f, velocity.z);
 
         if (controls.IsDown(CTRL_FORWARD))
-            moveDir += Vector3(0.0f, 0.0f, 1.0f);
+            moveDir += Vector3::FORWARD;
         if (controls.IsDown(CTRL_BACK))
-            moveDir += Vector3(0.0f, 0.0f, -1.0f);
+            moveDir += Vector3::BACK;
         if (controls.IsDown(CTRL_LEFT))
-            moveDir += Vector3(-1.0f, 0.0f, 0.0f);
+            moveDir += Vector3::LEFT;
         if (controls.IsDown(CTRL_RIGHT))
-            moveDir += Vector3(1.0f, 0.0f, 0.0f);
+            moveDir += Vector3::RIGHT;
 
         // Normalize move vector so that diagonal strafing is not faster
         if (moveDir.lengthSquared > 0.0f)
@@ -436,7 +436,7 @@ class Character : ScriptObject
             {
                 if (okToJump)
                 {
-                    body.ApplyImpulse(Vector3(0.0f, 1.0f, 0.0f) * JUMP_FORCE);
+                    body.ApplyImpulse(Vector3::UP * JUMP_FORCE);
                     okToJump = false;
                     animCtrl.PlayExclusive("Models/Mutant/Mutant_Jump1.ani", 0, false, 0.2f);
                 }
@@ -452,7 +452,7 @@ class Character : ScriptObject
         else
         {
             // Play walk animation if moving on ground, otherwise fade it out
-            if (softGrounded && !moveDir.Equals(Vector3(0.0f, 0.0f, 0.0f)))
+            if (softGrounded && !moveDir.Equals(Vector3::ZERO))
             {
                 animCtrl.PlayExclusive("Models/Mutant/Mutant_Run.ani", 0, true, 0.2f);
                 // Set walk animation speed proportional to velocity

+ 11 - 11
bin/Data/Scripts/19_VehicleDemo.as

@@ -75,7 +75,7 @@ void CreateScene()
 
     // Create heightmap terrain with collision
     Node@ terrainNode = scene_.CreateChild("Terrain");
-    terrainNode.position = Vector3(0.0f, 0.0f, 0.0f);
+    terrainNode.position = Vector3::ZERO;
     Terrain@ terrain = terrainNode.CreateComponent("Terrain");
     terrain.patchSize = 64;
     terrain.spacing = Vector3(2.0f, 0.1f, 2.0f); // Spacing between vertices and vertical resolution of the height map
@@ -100,7 +100,7 @@ void CreateScene()
         position.y = terrain.GetHeight(position) - 0.1f;
         objectNode.position = position;
         // Create a rotation quaternion from up vector to terrain normal
-        objectNode.rotation = Quaternion(Vector3(0.0f, 1.0f, 0.0), terrain.GetNormal(position));
+        objectNode.rotation = Quaternion(Vector3::UP, terrain.GetNormal(position));
         objectNode.SetScale(3.0f);
         StaticModel@ object = objectNode.CreateComponent("StaticModel");
         object.model = cache.GetResource("Model", "Models/Mushroom.mdl");
@@ -224,9 +224,9 @@ void HandlePostUpdate(StringHash eventType, VariantMap& eventData)
         return;
 
     // Physics update has completed. Position camera behind vehicle
-    Quaternion dir(vehicleNode.rotation.yaw, Vector3(0.0f, 1.0f, 0.0f));
-    dir = dir * Quaternion(vehicle.controls.yaw, Vector3(0.0f, 1.0f, 0.0f));
-    dir = dir * Quaternion(vehicle.controls.pitch, Vector3(1.0f, 0.0f, 0.0f));
+    Quaternion dir(vehicleNode.rotation.yaw, Vector3::UP);
+    dir = dir * Quaternion(vehicle.controls.yaw, Vector3::UP);
+    dir = dir * Quaternion(vehicle.controls.pitch, Vector3::RIGHT);
 
     Vector3 cameraTargetPos = vehicleNode.position - dir * Vector3(0.0f, 0.0f, CAMERA_DISTANCE);
     Vector3 cameraStartPos = vehicleNode.position;
@@ -291,7 +291,7 @@ class Vehicle : ScriptObject
         hullObject.model = cache.GetResource("Model", "Models/Box.mdl");
         hullObject.material = cache.GetResource("Material", "Materials/Stone.xml");
         hullObject.castShadows = true;
-        hullShape.SetBox(Vector3(1.0f, 1.0f, 1.0f));
+        hullShape.SetBox(Vector3::ONE);
         hullBody.mass = 4.0f;
         hullBody.linearDamping = 0.2f; // Some air resistance
         hullBody.angularDamping = 0.5f;
@@ -337,8 +337,8 @@ class Vehicle : ScriptObject
         wheelConstraint.constraintType = CONSTRAINT_HINGE;
         wheelConstraint.otherBody = node.GetComponent("RigidBody");
         wheelConstraint.worldPosition = wheelNode.worldPosition; // Set constraint's both ends at wheel's location
-        wheelConstraint.axis = Vector3(0.0f, 1.0f, 0.0f); // Wheel rotates around its local Y-axis
-        wheelConstraint.otherAxis = offset.x >= 0.0f ? Vector3(1.0f, 0.0f, 0.0f) : Vector3(-1.0f, 0.0f, 0.0f); // Wheel's hull axis points either left or right
+        wheelConstraint.axis = Vector3::UP; // Wheel rotates around its local Y-axis
+        wheelConstraint.otherAxis = offset.x >= 0.0f ? Vector3::RIGHT : Vector3::LEFT; // Wheel's hull axis points either left or right
         wheelConstraint.lowLimit = Vector2(-180.0f, 0.0f); // Let the wheel rotate freely around the axis
         wheelConstraint.highLimit = Vector2(180.0f, 0.0f);
         wheelConstraint.disableCollision = true; // Let the wheel intersect the vehicle hull
@@ -372,8 +372,8 @@ class Vehicle : ScriptObject
 
         Quaternion steeringRot(0.0f, steering * MAX_WHEEL_ANGLE, 0.0f);
 
-        frontLeftAxis.otherAxis = steeringRot * Vector3(-1.0f, 0.0f, 0.0f);
-        frontRightAxis.otherAxis = steeringRot * Vector3(1.0f, 0.0f, 0.0f);
+        frontLeftAxis.otherAxis = steeringRot * Vector3::LEFT;
+        frontRightAxis.otherAxis = steeringRot * Vector3::RIGHT;
 
         if (accelerator != 0.0f)
         {
@@ -388,7 +388,7 @@ class Vehicle : ScriptObject
 
         // Apply downforce proportional to velocity
         Vector3 localVelocity = hullBody.rotation.Inverse() * hullBody.linearVelocity;
-        hullBody.ApplyForce(hullBody.rotation * Vector3(0.0f, -1.0f, 0.0f) * Abs(localVelocity.z) * DOWN_FORCE);
+        hullBody.ApplyForce(hullBody.rotation * Vector3::DOWN * Abs(localVelocity.z) * DOWN_FORCE);
     }
 }
 

+ 5 - 5
bin/Data/Scripts/20_HugeObjectCount.as

@@ -172,20 +172,20 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void AnimateObjects(float timeStep)
 {
     const float ROTATE_SPEED = 15.0f;
     // Rotate about the Z axis (roll)
-    Quaternion rotateQuat(ROTATE_SPEED * timeStep, Vector3(0.0f, 0.0f, 1.0f));
+    Quaternion rotateQuat(ROTATE_SPEED * timeStep, Vector3::FORWARD);
 
     for (uint i = 0; i < boxNodes.length; ++i)
         boxNodes[i].Rotate(rotateQuat);

+ 4 - 4
bin/Data/Scripts/23_Water.as

@@ -203,13 +203,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // In case resolution has changed, adjust the reflection camera aspect ratio
     Camera@ reflectionCamera = reflectionCameraNode.GetComponent("Camera");

+ 4 - 4
bin/Data/Scripts/24_Urho2DSprite.as

@@ -126,13 +126,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::UP * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, -1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::DOWN * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     if (input.keyDown[KEY_PAGEUP])
     {

+ 4 - 4
bin/Data/Scripts/27_Urho2DPhysics.as

@@ -150,13 +150,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::UP * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, -1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::DOWN * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     if (input.keyDown[KEY_PAGEUP])
     {

+ 4 - 4
bin/Data/Scripts/28_Urho2DPhysicsRope.as

@@ -142,13 +142,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::UP * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, -1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::DOWN * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     if (input.keyDown[KEY_PAGEUP])
     {

+ 4 - 4
bin/Data/Scripts/30_LightAnimation.as

@@ -177,13 +177,13 @@ void MoveCamera(float timeStep)
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     // Use the Translate() function (default local space) to move relative to the node's orientation.
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()

+ 4 - 4
bin/Data/Scripts/31_MaterialAnimation.as

@@ -135,13 +135,13 @@ void MoveCamera(float timeStep)
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     // Use the Translate() function (default local space) to move relative to the node's orientation.
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()

+ 4 - 4
bin/Data/Scripts/32_Urho2DConstraints.as

@@ -349,10 +349,10 @@ void MoveCamera(float timeStep)
     uint MOVE_SPEED = 4; // Movement speed as world units per second
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
-    if (input.keyDown[KEY_W]) cameraNode.Translate(Vector3(0.0f, 1.0f, 0.0f) * MOVE_SPEED * timeStep);
-    if (input.keyDown[KEY_S]) cameraNode.Translate(Vector3(0.0f, -1.0f, 0.0f) * MOVE_SPEED * timeStep);
-    if (input.keyDown[KEY_A]) cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
-    if (input.keyDown[KEY_D]) cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+    if (input.keyDown[KEY_W]) cameraNode.Translate(Vector3::UP * MOVE_SPEED * timeStep);
+    if (input.keyDown[KEY_S]) cameraNode.Translate(Vector3::DOWN * MOVE_SPEED * timeStep);
+    if (input.keyDown[KEY_A]) cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
+    if (input.keyDown[KEY_D]) cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     if (input.keyDown[KEY_PAGEUP]) camera.zoom = camera.zoom * 1.01f; // Zoom In
     if (input.keyDown[KEY_PAGEDOWN]) camera.zoom = camera.zoom * 0.99f; // Zoom Out

+ 4 - 4
bin/Data/Scripts/33_Urho2DSpriterAnimation.as

@@ -95,13 +95,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::UP * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, -1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::DOWN * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     if (input.keyDown[KEY_PAGEUP])
     {

+ 4 - 4
bin/Data/Scripts/34_DynamicGeometry.as

@@ -274,13 +274,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0, 0.0, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0, 0.0, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0, 0.0, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0, 0.0, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void AnimateObjects(float timeStep)

+ 4 - 4
bin/Data/Scripts/35_SignedDistanceFieldText.as

@@ -149,13 +149,13 @@ void MoveCamera(float timeStep)
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     // Use the Translate() function (default local space) to move relative to the node's orientation.
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()

+ 4 - 4
bin/Data/Scripts/36_Urho2DTileMap.as

@@ -103,13 +103,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::UP * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, -1.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::DOWN * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     if (input.keyDown[KEY_PAGEUP])
     {

+ 4 - 4
bin/Data/Scripts/38_SceneAndUILoad.as

@@ -141,13 +141,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 // Create XML patch instructions for screen joystick layout specific to this sample app

+ 5 - 6
bin/Data/Scripts/39_CrowdNavigation.as

@@ -375,13 +375,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 
     // Set destination or spawn a jack with left mouse button
     if (input.mouseButtonPress[MOUSEB_LEFT])
@@ -467,7 +467,6 @@ void HandleCrowdAgentFormation(StringHash eventType, VariantMap& eventData)
 void HandleCrowdAgentReposition(StringHash eventType, VariantMap& eventData)
 {
     const String WALKING_ANI = "Models/Jack_Walk.ani";
-    const Vector3 FORWARD(0.0f, 0.0f, 1.0f);
 
     Node@ node = eventData["Node"].GetPtr();
     CrowdAgent@ agent = eventData["CrowdAgent"].GetPtr();
@@ -483,7 +482,7 @@ void HandleCrowdAgentReposition(StringHash eventType, VariantMap& eventData)
         {
             float speedRatio = speed / agent.maxSpeed;
             // Face the direction of its velocity but moderate the turning speed based on the speed ratio and timeStep
-            node.rotation = node.rotation.Slerp(Quaternion(FORWARD, velocity), 10.f * timeStep * speedRatio);
+            node.rotation = node.rotation.Slerp(Quaternion(Vector3::FORWARD, velocity), 10.f * timeStep * speedRatio);
             // Throttle the animation speed based on agent speed ratio (ratio = 1 is full throttle)
             animCtrl.SetSpeed(WALKING_ANI, speedRatio * 1.5f);
         }

+ 4 - 4
bin/Data/Scripts/42_PBRMaterials.as

@@ -208,13 +208,13 @@ void MoveCamera(float timeStep)
 
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 // Create XML patch instructions for screen joystick layout specific to this sample app

+ 4 - 4
bin/Data/Scripts/44_RibbonTrailDemo.as

@@ -180,13 +180,13 @@ void MoveCamera(float timeStep)
     // Read WASD keys and move the camera scene node to the corresponding direction if they are pressed
     // Use the Translate() function (default local space) to move relative to the node's orientation.
     if (input.keyDown[KEY_W])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, 1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::FORWARD * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_S])
-        cameraNode.Translate(Vector3(0.0f, 0.0f, -1.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::BACK * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_A])
-        cameraNode.Translate(Vector3(-1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::LEFT * MOVE_SPEED * timeStep);
     if (input.keyDown[KEY_D])
-        cameraNode.Translate(Vector3(1.0f, 0.0f, 0.0f) * MOVE_SPEED * timeStep);
+        cameraNode.Translate(Vector3::RIGHT * MOVE_SPEED * timeStep);
 }
 
 void SubscribeToEvents()