Browse Source

Source/Tools and Source/Samples automatic upgrade: override, typedef to using, 0 to nullptr.

Eugene Kozlov 8 years ago
parent
commit
59391f9523
71 changed files with 136 additions and 136 deletions
  1. 2 2
      Source/Samples/01_HelloWorld/HelloWorld.h
  2. 2 2
      Source/Samples/02_HelloGUI/HelloGUI.h
  3. 2 2
      Source/Samples/03_Sprites/Sprites.h
  4. 1 1
      Source/Samples/04_StaticScene/StaticScene.h
  5. 1 1
      Source/Samples/05_AnimatingScene/AnimatingScene.h
  6. 1 1
      Source/Samples/05_AnimatingScene/Rotator.h
  7. 1 1
      Source/Samples/06_SkeletalAnimation/Mover.h
  8. 2 2
      Source/Samples/06_SkeletalAnimation/SkeletalAnimation.h
  9. 2 2
      Source/Samples/07_Billboards/Billboards.h
  10. 1 1
      Source/Samples/08_Decals/Decals.cpp
  11. 2 2
      Source/Samples/08_Decals/Decals.h
  12. 2 2
      Source/Samples/09_MultipleViewports/MultipleViewports.h
  13. 1 1
      Source/Samples/10_RenderToTexture/RenderToTexture.h
  14. 1 1
      Source/Samples/10_RenderToTexture/Rotator.h
  15. 2 2
      Source/Samples/11_Physics/Physics.h
  16. 2 2
      Source/Samples/12_PhysicsStressTest/PhysicsStressTest.h
  17. 1 1
      Source/Samples/13_Ragdolls/CreateRagdoll.h
  18. 2 2
      Source/Samples/13_Ragdolls/Ragdolls.h
  19. 1 1
      Source/Samples/14_SoundEffects/SoundEffects.cpp
  20. 3 3
      Source/Samples/14_SoundEffects/SoundEffects.h
  21. 1 1
      Source/Samples/15_Navigation/Navigation.cpp
  22. 2 2
      Source/Samples/15_Navigation/Navigation.h
  23. 2 2
      Source/Samples/16_Chat/Chat.cpp
  24. 2 2
      Source/Samples/16_Chat/Chat.h
  25. 2 2
      Source/Samples/17_SceneReplication/SceneReplication.h
  26. 2 2
      Source/Samples/18_CharacterDemo/Character.h
  27. 3 3
      Source/Samples/18_CharacterDemo/CharacterDemo.h
  28. 2 2
      Source/Samples/19_VehicleDemo/Vehicle.h
  29. 1 1
      Source/Samples/19_VehicleDemo/VehicleDemo.h
  30. 1 1
      Source/Samples/20_HugeObjectCount/HugeObjectCount.cpp
  31. 2 2
      Source/Samples/20_HugeObjectCount/HugeObjectCount.h
  32. 1 1
      Source/Samples/21_AngelScriptIntegration/AngelScriptIntegration.h
  33. 1 1
      Source/Samples/22_LuaIntegration/LuaIntegration.h
  34. 1 1
      Source/Samples/23_Water/Water.h
  35. 2 2
      Source/Samples/24_Urho2DSprite/Urho2DSprite.h
  36. 2 2
      Source/Samples/25_Urho2DParticle/Urho2DParticle.h
  37. 2 2
      Source/Samples/26_ConsoleInput/ConsoleInput.h
  38. 2 2
      Source/Samples/27_Urho2DPhysics/Urho2DPhysics.h
  39. 2 2
      Source/Samples/28_Urho2DPhysicsRope/Urho2DPhysicsRope.h
  40. 3 3
      Source/Samples/29_SoundSynthesis/SoundSynthesis.h
  41. 1 1
      Source/Samples/30_LightAnimation/LightAnimation.h
  42. 1 1
      Source/Samples/31_MaterialAnimation/MaterialAnimation.h
  43. 2 2
      Source/Samples/32_Urho2DConstraints/Urho2DConstraints.cpp
  44. 2 2
      Source/Samples/32_Urho2DConstraints/Urho2DConstraints.h
  45. 2 2
      Source/Samples/33_Urho2DSpriterAnimation/Urho2DSpriterAnimation.h
  46. 2 2
      Source/Samples/34_DynamicGeometry/DynamicGeometry.h
  47. 1 1
      Source/Samples/35_SignedDistanceFieldText/SignedDistanceFieldText.h
  48. 1 1
      Source/Samples/36_Urho2DTileMap/Urho2DTileMap.cpp
  49. 2 2
      Source/Samples/36_Urho2DTileMap/Urho2DTileMap.h
  50. 2 2
      Source/Samples/37_UIDrag/UIDrag.h
  51. 1 1
      Source/Samples/38_SceneAndUILoad/SceneAndUILoad.h
  52. 1 1
      Source/Samples/39_CrowdNavigation/CrowdNavigation.cpp
  53. 2 2
      Source/Samples/39_CrowdNavigation/CrowdNavigation.h
  54. 1 1
      Source/Samples/40_Localization/L10n.h
  55. 2 2
      Source/Samples/41_DatabaseDemo/DatabaseDemo.cpp
  56. 3 3
      Source/Samples/41_DatabaseDemo/DatabaseDemo.h
  57. 4 4
      Source/Samples/42_PBRMaterials/PBRMaterials.cpp
  58. 1 1
      Source/Samples/42_PBRMaterials/PBRMaterials.h
  59. 2 2
      Source/Samples/43_HttpRequestDemo/HttpRequestDemo.h
  60. 1 1
      Source/Samples/44_RibbonTrailDemo/RibbonTrailDemo.h
  61. 1 1
      Source/Samples/45_InverseKinematics/InverseKinematics.h
  62. 1 1
      Source/Samples/46_RaycastVehicle/RaycastVehicleDemo.h
  63. 4 4
      Source/Samples/46_RaycastVehicle/Vehicle.h
  64. 3 3
      Source/Samples/47_Typography/Typography.cpp
  65. 2 2
      Source/Samples/47_Typography/Typography.h
  66. 2 2
      Source/Samples/48_Hello3DUI/Hello3DUI.h
  67. 3 3
      Source/Samples/Sample.h
  68. 13 13
      Source/Tools/AssetImporter/AssetImporter.cpp
  69. 1 1
      Source/Tools/OgreImporter/OgreImporter.cpp
  70. 1 1
      Source/Tools/SpritePacker/SpritePacker.cpp
  71. 3 3
      Source/Tools/Urho3DPlayer/Urho3DPlayer.h

+ 2 - 2
Source/Samples/01_HelloWorld/HelloWorld.h

@@ -38,11 +38,11 @@ public:
     HelloWorld(Context* context);
     HelloWorld(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/02_HelloGUI/HelloGUI.h

@@ -49,11 +49,11 @@ public:
     HelloGUI(Context* context);
     HelloGUI(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/03_Sprites/Sprites.h

@@ -39,11 +39,11 @@ public:
     Sprites(Context* context);
     Sprites(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 1 - 1
Source/Samples/04_StaticScene/StaticScene.h

@@ -46,7 +46,7 @@ public:
     StaticScene(Context* context);
     StaticScene(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/05_AnimatingScene/AnimatingScene.h

@@ -46,7 +46,7 @@ public:
     AnimatingScene(Context* context);
     AnimatingScene(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/05_AnimatingScene/Rotator.h

@@ -39,7 +39,7 @@ public:
     /// Set rotation speed about the Euler axes. Will be scaled with scene update time step.
     /// Set rotation speed about the Euler axes. Will be scaled with scene update time step.
     void SetRotationSpeed(const Vector3& speed);
     void SetRotationSpeed(const Vector3& speed);
     /// Handle scene update. Called by LogicComponent base class.
     /// Handle scene update. Called by LogicComponent base class.
-    virtual void Update(float timeStep);
+    virtual void Update(float timeStep) override;
     
     
     /// Return rotation speed.
     /// Return rotation speed.
     const Vector3& GetRotationSpeed() const { return rotationSpeed_; }
     const Vector3& GetRotationSpeed() const { return rotationSpeed_; }

+ 1 - 1
Source/Samples/06_SkeletalAnimation/Mover.h

@@ -38,7 +38,7 @@ public:
     /// Set motion parameters: forward movement speed, rotation speed, and movement boundaries.
     /// Set motion parameters: forward movement speed, rotation speed, and movement boundaries.
     void SetParameters(float moveSpeed, float rotateSpeed, const BoundingBox& bounds);
     void SetParameters(float moveSpeed, float rotateSpeed, const BoundingBox& bounds);
     /// Handle scene update. Called by LogicComponent base class.
     /// Handle scene update. Called by LogicComponent base class.
-    virtual void Update(float timeStep);
+    virtual void Update(float timeStep) override;
     
     
     /// Return forward movement speed.
     /// Return forward movement speed.
     float GetMoveSpeed() const { return moveSpeed_; }
     float GetMoveSpeed() const { return moveSpeed_; }

+ 2 - 2
Source/Samples/06_SkeletalAnimation/SkeletalAnimation.h

@@ -48,11 +48,11 @@ public:
     SkeletalAnimation(Context* context);
     SkeletalAnimation(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Debug</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Debug</replace>"

+ 2 - 2
Source/Samples/07_Billboards/Billboards.h

@@ -46,11 +46,11 @@ public:
     Billboards(Context* context);
     Billboards(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Debug</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button1']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Debug</replace>"

+ 1 - 1
Source/Samples/08_Decals/Decals.cpp

@@ -278,7 +278,7 @@ void Decals::PaintDecal()
 
 
 bool Decals::Raycast(float maxDistance, Vector3& hitPos, Drawable*& hitDrawable)
 bool Decals::Raycast(float maxDistance, Vector3& hitPos, Drawable*& hitDrawable)
 {
 {
-    hitDrawable = 0;
+    hitDrawable = nullptr;
 
 
     UI* ui = GetSubsystem<UI>();
     UI* ui = GetSubsystem<UI>();
     IntVector2 pos = ui->GetCursorPosition();
     IntVector2 pos = ui->GetCursorPosition();

+ 2 - 2
Source/Samples/08_Decals/Decals.h

@@ -48,11 +48,11 @@ public:
     Decals(Context* context);
     Decals(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Paint</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Paint</replace>"

+ 2 - 2
Source/Samples/09_MultipleViewports/MultipleViewports.h

@@ -45,11 +45,11 @@ public:
     MultipleViewports(Context* context);
     MultipleViewports(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element\">"
         "    <add sel=\"/element\">"
         "        <element type=\"Button\">"
         "        <element type=\"Button\">"

+ 1 - 1
Source/Samples/10_RenderToTexture/RenderToTexture.h

@@ -45,7 +45,7 @@ public:
     RenderToTexture(Context* context);
     RenderToTexture(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/10_RenderToTexture/Rotator.h

@@ -39,7 +39,7 @@ public:
     /// Set rotation speed about the Euler axes. Will be scaled with scene update time step.
     /// Set rotation speed about the Euler axes. Will be scaled with scene update time step.
     void SetRotationSpeed(const Vector3& speed);
     void SetRotationSpeed(const Vector3& speed);
     /// Handle scene update. Called by LogicComponent base class.
     /// Handle scene update. Called by LogicComponent base class.
-    virtual void Update(float timeStep);
+    virtual void Update(float timeStep) override;
     
     
     /// Return rotation speed.
     /// Return rotation speed.
     const Vector3& GetRotationSpeed() const { return rotationSpeed_; }
     const Vector3& GetRotationSpeed() const { return rotationSpeed_; }

+ 2 - 2
Source/Samples/11_Physics/Physics.h

@@ -47,11 +47,11 @@ public:
     Physics(Context* context);
     Physics(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Spawn</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Spawn</replace>"

+ 2 - 2
Source/Samples/12_PhysicsStressTest/PhysicsStressTest.h

@@ -46,11 +46,11 @@ public:
     PhysicsStressTest(Context* context);
     PhysicsStressTest(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Spawn</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Spawn</replace>"

+ 1 - 1
Source/Samples/13_Ragdolls/CreateRagdoll.h

@@ -38,7 +38,7 @@ public:
     
     
 protected:
 protected:
     /// Handle node being assigned.
     /// Handle node being assigned.
-    virtual void OnNodeSet(Node* node);
+    virtual void OnNodeSet(Node* node) override;
     
     
 private:
 private:
     /// Handle scene node's physics collision.
     /// Handle scene node's physics collision.

+ 2 - 2
Source/Samples/13_Ragdolls/Ragdolls.h

@@ -46,11 +46,11 @@ public:
     Ragdolls(Context* context);
     Ragdolls(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Spawn</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Spawn</replace>"

+ 1 - 1
Source/Samples/14_SoundEffects/SoundEffects.cpp

@@ -60,7 +60,7 @@ URHO3D_DEFINE_APPLICATION_MAIN(SoundEffects)
 
 
 SoundEffects::SoundEffects(Context* context) :
 SoundEffects::SoundEffects(Context* context) :
     Sample(context),
     Sample(context),
-    musicSource_(0)
+    musicSource_(nullptr)
 {
 {
 }
 }
 
 

+ 3 - 3
Source/Samples/14_SoundEffects/SoundEffects.h

@@ -46,16 +46,16 @@ public:
     SoundEffects(Context* context);
     SoundEffects(Context* context);
 
 
     /// Setup before engine initialization. Modifies the engine parameters.
     /// Setup before engine initialization. Modifies the engine parameters.
-    virtual void Setup();
+    virtual void Setup() override;
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
 
 
     SoundSource* musicSource_;
     SoundSource* musicSource_;
 
 
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 1 - 1
Source/Samples/15_Navigation/Navigation.cpp

@@ -348,7 +348,7 @@ Node* Navigation::CreateMushroom(const Vector3& pos)
 
 
 bool Navigation::Raycast(float maxDistance, Vector3& hitPos, Drawable*& hitDrawable)
 bool Navigation::Raycast(float maxDistance, Vector3& hitPos, Drawable*& hitDrawable)
 {
 {
-    hitDrawable = 0;
+    hitDrawable = nullptr;
 
 
     UI* ui = GetSubsystem<UI>();
     UI* ui = GetSubsystem<UI>();
     IntVector2 pos = ui->GetCursorPosition();
     IntVector2 pos = ui->GetCursorPosition();

+ 2 - 2
Source/Samples/15_Navigation/Navigation.h

@@ -50,11 +50,11 @@ public:
     Navigation(Context* context);
     Navigation(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element\">"
         "    <add sel=\"/element\">"
         "        <element type=\"Button\">"
         "        <element type=\"Button\">"

+ 2 - 2
Source/Samples/16_Chat/Chat.cpp

@@ -175,7 +175,7 @@ void Chat::UpdateButtons()
     bool serverRunning = network->IsServerRunning();
     bool serverRunning = network->IsServerRunning();
 
 
     // Show and hide buttons so that eg. Connect and Disconnect are never shown at the same time
     // Show and hide buttons so that eg. Connect and Disconnect are never shown at the same time
-    sendButton_->SetVisible(serverConnection != 0);
+    sendButton_->SetVisible(serverConnection != nullptr);
     connectButton_->SetVisible(!serverConnection && !serverRunning);
     connectButton_->SetVisible(!serverConnection && !serverRunning);
     disconnectButton_->SetVisible(serverConnection || serverRunning);
     disconnectButton_->SetVisible(serverConnection || serverRunning);
     startServerButton_->SetVisible(!serverConnection && !serverRunning);
     startServerButton_->SetVisible(!serverConnection && !serverRunning);
@@ -221,7 +221,7 @@ void Chat::HandleConnect(StringHash eventType, VariantMap& eventData)
     // Connect to server, do not specify a client scene as we are not using scene replication, just messages.
     // Connect to server, do not specify a client scene as we are not using scene replication, just messages.
     // At connect time we could also send identity parameters (such as username) in a VariantMap, but in this
     // At connect time we could also send identity parameters (such as username) in a VariantMap, but in this
     // case we skip it for simplicity
     // case we skip it for simplicity
-    network->Connect(address, CHAT_SERVER_PORT, 0);
+    network->Connect(address, CHAT_SERVER_PORT, nullptr);
 
 
     UpdateButtons();
     UpdateButtons();
 }
 }

+ 2 - 2
Source/Samples/16_Chat/Chat.h

@@ -47,11 +47,11 @@ public:
     Chat(Context* context);
     Chat(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/17_SceneReplication/SceneReplication.h

@@ -50,11 +50,11 @@ public:
     SceneReplication(Context* context);
     SceneReplication(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/18_CharacterDemo/Character.h

@@ -53,9 +53,9 @@ public:
     static void RegisterObject(Context* context);
     static void RegisterObject(Context* context);
     
     
     /// Handle startup. Called by LogicComponent base class.
     /// Handle startup. Called by LogicComponent base class.
-    virtual void Start();
+    virtual void Start() override;
     /// Handle physics world update. Called by LogicComponent base class.
     /// Handle physics world update. Called by LogicComponent base class.
-    virtual void FixedUpdate(float timeStep);
+    virtual void FixedUpdate(float timeStep) override;
     
     
     /// Movement controls. Assigned by the main program each frame.
     /// Movement controls. Assigned by the main program each frame.
     Controls controls_;
     Controls controls_;

+ 3 - 3
Source/Samples/18_CharacterDemo/CharacterDemo.h

@@ -51,14 +51,14 @@ public:
     /// Construct.
     /// Construct.
     CharacterDemo(Context* context);
     CharacterDemo(Context* context);
     /// Destruct.
     /// Destruct.
-    ~CharacterDemo();
+    virtual ~CharacterDemo() override;
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element\">"
         "    <add sel=\"/element\">"
         "        <element type=\"Button\">"
         "        <element type=\"Button\">"

+ 2 - 2
Source/Samples/19_VehicleDemo/Vehicle.h

@@ -59,9 +59,9 @@ public:
     static void RegisterObject(Context* context);
     static void RegisterObject(Context* context);
     
     
     /// Perform post-load after deserialization. Acquire the components from the scene nodes.
     /// Perform post-load after deserialization. Acquire the components from the scene nodes.
-    virtual void ApplyAttributes();
+    virtual void ApplyAttributes() override;
     /// Handle physics world update. Called by LogicComponent base class.
     /// Handle physics world update. Called by LogicComponent base class.
-    virtual void FixedUpdate(float timeStep);
+    virtual void FixedUpdate(float timeStep) override;
     
     
     /// Initialize the vehicle. Create rendering and physics components. Called by the application.
     /// Initialize the vehicle. Create rendering and physics components. Called by the application.
     void Init();
     void Init();

+ 1 - 1
Source/Samples/19_VehicleDemo/VehicleDemo.h

@@ -48,7 +48,7 @@ public:
     VehicleDemo(Context* context);
     VehicleDemo(Context* context);
     
     
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
     
     
 private:
 private:
     /// Create static scene content.
     /// Create static scene content.

+ 1 - 1
Source/Samples/20_HugeObjectCount/HugeObjectCount.cpp

@@ -126,7 +126,7 @@ void HugeObjectCount::CreateScene()
         light->SetSpecularIntensity(1.5f);
         light->SetSpecularIntensity(1.5f);
 
 
         // Create StaticModelGroups in the scene
         // Create StaticModelGroups in the scene
-        StaticModelGroup* lastGroup = 0;
+        StaticModelGroup* lastGroup = nullptr;
 
 
         for (int y = -125; y < 125; ++y)
         for (int y = -125; y < 125; ++y)
         {
         {

+ 2 - 2
Source/Samples/20_HugeObjectCount/HugeObjectCount.h

@@ -48,11 +48,11 @@ public:
     HugeObjectCount(Context* context);
     HugeObjectCount(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Group</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Group</replace>"

+ 1 - 1
Source/Samples/21_AngelScriptIntegration/AngelScriptIntegration.h

@@ -45,7 +45,7 @@ public:
     AngelScriptIntegration(Context* context);
     AngelScriptIntegration(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/22_LuaIntegration/LuaIntegration.h

@@ -45,7 +45,7 @@ public:
     LuaIntegration(Context* context);
     LuaIntegration(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/23_Water/Water.h

@@ -47,7 +47,7 @@ public:
     Water(Context* context);
     Water(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 2 - 2
Source/Samples/24_Urho2DSprite/Urho2DSprite.h

@@ -44,11 +44,11 @@ public:
     Urho2DSprite(Context* context);
     Urho2DSprite(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"

+ 2 - 2
Source/Samples/25_Urho2DParticle/Urho2DParticle.h

@@ -44,11 +44,11 @@ public:
     Urho2DParticle(Context* context);
     Urho2DParticle(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/26_ConsoleInput/ConsoleInput.h

@@ -38,11 +38,11 @@ public:
     ConsoleInput(Context* context);
     ConsoleInput(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/27_Urho2DPhysics/Urho2DPhysics.h

@@ -43,11 +43,11 @@ public:
     Urho2DPhysics(Context* context);
     Urho2DPhysics(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"

+ 2 - 2
Source/Samples/28_Urho2DPhysicsRope/Urho2DPhysicsRope.h

@@ -45,11 +45,11 @@ public:
     Urho2DPhysicsRope(Context* context);
     Urho2DPhysicsRope(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"

+ 3 - 3
Source/Samples/29_SoundSynthesis/SoundSynthesis.h

@@ -44,13 +44,13 @@ public:
     SoundSynthesis(Context* context);
     SoundSynthesis(Context* context);
 
 
     /// Setup before engine initialization. Modifies the engine parameters.
     /// Setup before engine initialization. Modifies the engine parameters.
-    virtual void Setup();
+    virtual void Setup() override;
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 1 - 1
Source/Samples/30_LightAnimation/LightAnimation.h

@@ -44,7 +44,7 @@ public:
     LightAnimation(Context* context);
     LightAnimation(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/31_MaterialAnimation/MaterialAnimation.h

@@ -44,7 +44,7 @@ public:
     MaterialAnimation(Context* context);
     MaterialAnimation(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 2 - 2
Source/Samples/32_Urho2DConstraints/Urho2DConstraints.cpp

@@ -537,7 +537,7 @@ void Urho2DConstraints::HandleMouseButtonUp(StringHash eventType, VariantMap& ev
         staticSprite->SetColor(Color(1.0f, 1.0f, 1.0f, 1.0f)); // Restore picked sprite color
         staticSprite->SetColor(Color(1.0f, 1.0f, 1.0f, 1.0f)); // Restore picked sprite color
 
 
         pickedNode->RemoveComponent<ConstraintMouse2D>(); // Remove temporary constraint
         pickedNode->RemoveComponent<ConstraintMouse2D>(); // Remove temporary constraint
-        pickedNode = NULL;
+        pickedNode = nullptr;
     }
     }
     UnsubscribeFromEvent(E_MOUSEMOVE);
     UnsubscribeFromEvent(E_MOUSEMOVE);
     UnsubscribeFromEvent(E_MOUSEBUTTONUP);
     UnsubscribeFromEvent(E_MOUSEBUTTONUP);
@@ -607,7 +607,7 @@ void Urho2DConstraints::HandleTouchEnd3(StringHash eventType, VariantMap& eventD
         staticSprite->SetColor(Color(1.0f, 1.0f, 1.0f, 1.0f)); // Restore picked sprite color
         staticSprite->SetColor(Color(1.0f, 1.0f, 1.0f, 1.0f)); // Restore picked sprite color
 
 
         pickedNode->RemoveComponent<ConstraintMouse2D>(); // Remove temporary constraint
         pickedNode->RemoveComponent<ConstraintMouse2D>(); // Remove temporary constraint
-        pickedNode = NULL;
+        pickedNode = nullptr;
     }
     }
     UnsubscribeFromEvent(E_TOUCHMOVE);
     UnsubscribeFromEvent(E_TOUCHMOVE);
     UnsubscribeFromEvent(E_TOUCHEND);
     UnsubscribeFromEvent(E_TOUCHEND);

+ 2 - 2
Source/Samples/32_Urho2DConstraints/Urho2DConstraints.h

@@ -59,11 +59,11 @@ public:
     Urho2DConstraints(Context* context);
     Urho2DConstraints(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"

+ 2 - 2
Source/Samples/33_Urho2DSpriterAnimation/Urho2DSpriterAnimation.h

@@ -44,11 +44,11 @@ public:
     Urho2DSpriterAnimation(Context* context);
     Urho2DSpriterAnimation(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"

+ 2 - 2
Source/Samples/34_DynamicGeometry/DynamicGeometry.h

@@ -46,11 +46,11 @@ public:
     DynamicGeometry(Context* context);
     DynamicGeometry(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Animation</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Animation</replace>"

+ 1 - 1
Source/Samples/35_SignedDistanceFieldText/SignedDistanceFieldText.h

@@ -47,7 +47,7 @@ public:
     SignedDistanceFieldText(Context* context);
     SignedDistanceFieldText(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/36_Urho2DTileMap/Urho2DTileMap.cpp

@@ -215,7 +215,7 @@ void Urho2DTileMap::HandleMouseButtonDown(StringHash eventType, VariantMap& even
                 sprite->SetSprite(layer->GetTile(0, 0)->GetSprite()); // Replace grass by water sprite used in top tile
                 sprite->SetSprite(layer->GetTile(0, 0)->GetSprite()); // Replace grass by water sprite used in top tile
             else sprite->SetSprite(layer->GetTile(24, 24)->GetSprite()); // Replace water by grass sprite used in bottom tile
             else sprite->SetSprite(layer->GetTile(24, 24)->GetSprite()); // Replace water by grass sprite used in bottom tile
         }
         }
-        else sprite->SetSprite(NULL); // 'Remove' sprite
+        else sprite->SetSprite(nullptr); // 'Remove' sprite
     }
     }
 }
 }
 
 

+ 2 - 2
Source/Samples/36_Urho2DTileMap/Urho2DTileMap.h

@@ -39,11 +39,11 @@ public:
     Urho2DTileMap(Context* context);
     Urho2DTileMap(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <remove sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/attribute[@name='Is Visible']\" />"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"
         "    <replace sel=\"/element/element[./attribute[@name='Name' and @value='Button0']]/element[./attribute[@name='Name' and @value='Label']]/attribute[@name='Text']/@value\">Zoom In</replace>"

+ 2 - 2
Source/Samples/37_UIDrag/UIDrag.h

@@ -45,11 +45,11 @@ public:
     UIDrag(Context* context);
     UIDrag(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 1 - 1
Source/Samples/38_SceneAndUILoad/SceneAndUILoad.h

@@ -47,7 +47,7 @@ public:
     SceneAndUILoad(Context* context);
     SceneAndUILoad(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 1 - 1
Source/Samples/39_CrowdNavigation/CrowdNavigation.cpp

@@ -381,7 +381,7 @@ void CrowdNavigation::AddOrRemoveObject()
 
 
 bool CrowdNavigation::Raycast(float maxDistance, Vector3& hitPos, Drawable*& hitDrawable)
 bool CrowdNavigation::Raycast(float maxDistance, Vector3& hitPos, Drawable*& hitDrawable)
 {
 {
-    hitDrawable = 0;
+    hitDrawable = nullptr;
 
 
     UI* ui = GetSubsystem<UI>();
     UI* ui = GetSubsystem<UI>();
     IntVector2 pos = ui->GetCursorPosition();
     IntVector2 pos = ui->GetCursorPosition();

+ 2 - 2
Source/Samples/39_CrowdNavigation/CrowdNavigation.h

@@ -52,11 +52,11 @@ public:
     CrowdNavigation(Context* context);
     CrowdNavigation(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element\">"
         "    <add sel=\"/element\">"
         "        <element type=\"Button\">"
         "        <element type=\"Button\">"

+ 1 - 1
Source/Samples/40_Localization/L10n.h

@@ -38,7 +38,7 @@ public:
     L10n(Context* context);
     L10n(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     // Load strings from JSON files and subscribe to the change language event
     // Load strings from JSON files and subscribe to the change language event

+ 2 - 2
Source/Samples/41_DatabaseDemo/DatabaseDemo.cpp

@@ -38,7 +38,7 @@ URHO3D_DEFINE_APPLICATION_MAIN(DatabaseDemo)
 
 
 DatabaseDemo::DatabaseDemo(Context* context) :
 DatabaseDemo::DatabaseDemo(Context* context) :
     Sample(context),
     Sample(context),
-    connection_(0),
+    connection_(nullptr),
     row_(0),
     row_(0),
     maxRows_(50)
     maxRows_(50)
 {
 {
@@ -49,7 +49,7 @@ DatabaseDemo::~DatabaseDemo()
     // Although the managed database connection will be disconnected by Database subsystem automatically in its destructor,
     // Although the managed database connection will be disconnected by Database subsystem automatically in its destructor,
     // it is a good practice for a class to balance the number of connect() and disconnect() calls.
     // it is a good practice for a class to balance the number of connect() and disconnect() calls.
     GetSubsystem<Database>()->Disconnect(connection_);
     GetSubsystem<Database>()->Disconnect(connection_);
-    connection_ = 0;
+    connection_ = nullptr;
 }
 }
 
 
 void DatabaseDemo::Start()
 void DatabaseDemo::Start()

+ 3 - 3
Source/Samples/41_DatabaseDemo/DatabaseDemo.h

@@ -33,14 +33,14 @@ public:
     /// Construct.
     /// Construct.
     DatabaseDemo(Context* context);
     DatabaseDemo(Context* context);
     /// Destruct.
     /// Destruct.
-    virtual ~DatabaseDemo();
+    virtual ~DatabaseDemo() override;
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 4 - 4
Source/Samples/42_PBRMaterials/PBRMaterials.cpp

@@ -48,10 +48,10 @@ URHO3D_DEFINE_APPLICATION_MAIN(PBRMaterials)
 
 
 PBRMaterials::PBRMaterials(Context* context) :
 PBRMaterials::PBRMaterials(Context* context) :
     Sample(context),
     Sample(context),
-    dynamicMaterial_(0),
-    roughnessLabel_(0),
-    metallicLabel_(0),
-    ambientLabel_(0)
+    dynamicMaterial_(nullptr),
+    roughnessLabel_(nullptr),
+    metallicLabel_(nullptr),
+    ambientLabel_(nullptr)
 {
 {
 }
 }
 
 

+ 1 - 1
Source/Samples/42_PBRMaterials/PBRMaterials.h

@@ -49,7 +49,7 @@ public:
     PBRMaterials(Context* context);
     PBRMaterials(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Construct the scene content.
     /// Construct the scene content.

+ 2 - 2
Source/Samples/43_HttpRequestDemo/HttpRequestDemo.h

@@ -42,11 +42,11 @@ public:
     HttpRequestDemo(Context* context);
     HttpRequestDemo(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 1 - 1
Source/Samples/44_RibbonTrailDemo/RibbonTrailDemo.h

@@ -44,7 +44,7 @@ public:
     RibbonTrailDemo(Context* context);
     RibbonTrailDemo(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Trail that emitted from sword.
     /// Trail that emitted from sword.

+ 1 - 1
Source/Samples/45_InverseKinematics/InverseKinematics.h

@@ -44,7 +44,7 @@ public:
     InverseKinematics(Context* context);
     InverseKinematics(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Animation controller of Jack.
     /// Animation controller of Jack.

+ 1 - 1
Source/Samples/46_RaycastVehicle/RaycastVehicleDemo.h

@@ -48,7 +48,7 @@ public:
     RaycastVehicleDemo(Context* context);
     RaycastVehicleDemo(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 private:
 private:
     /// Create static scene content.
     /// Create static scene content.

+ 4 - 4
Source/Samples/46_RaycastVehicle/Vehicle.h

@@ -54,21 +54,21 @@ public :
     /// Construct.
     /// Construct.
     Vehicle(Context* context);
     Vehicle(Context* context);
     /// Destruct.
     /// Destruct.
-    ~Vehicle();
+    virtual ~Vehicle() override;
 
 
     /// Register object factory and attributes.
     /// Register object factory and attributes.
     static void RegisterObject(Context* context);
     static void RegisterObject(Context* context);
 
 
     /// Perform post-load after deserialization. Acquire the components from the scene nodes.
     /// Perform post-load after deserialization. Acquire the components from the scene nodes.
-    virtual void ApplyAttributes();
+    virtual void ApplyAttributes() override;
 
 
     /// Initialize the vehicle. Create rendering and physics components. Called by the application.
     /// Initialize the vehicle. Create rendering and physics components. Called by the application.
     void Init();
     void Init();
 
 
     /// Handle physics world update. Called by LogicComponent base class.
     /// Handle physics world update. Called by LogicComponent base class.
-    virtual void FixedUpdate(float timeStep);
+    virtual void FixedUpdate(float timeStep) override;
     /// Updating wheel effects here.
     /// Updating wheel effects here.
-    virtual void PostUpdate(float timeStep);
+    virtual void PostUpdate(float timeStep) override;
 
 
     /// Movement controls.
     /// Movement controls.
     Controls controls_;
     Controls controls_;

+ 3 - 3
Source/Samples/47_Typography/Typography.cpp

@@ -97,7 +97,7 @@ void Typography::Start()
         "FONT_HINT_LEVEL_NONE",
         "FONT_HINT_LEVEL_NONE",
         "FONT_HINT_LEVEL_LIGHT",
         "FONT_HINT_LEVEL_LIGHT",
         "FONT_HINT_LEVEL_NORMAL",
         "FONT_HINT_LEVEL_NORMAL",
-        NULL
+        nullptr
     };
     };
     CreateMenu("UI::SetFontHintLevel", levels, URHO3D_HANDLER(Typography, HandleFontHintLevel))
     CreateMenu("UI::SetFontHintLevel", levels, URHO3D_HANDLER(Typography, HandleFontHintLevel))
         ->SetSelection(ui->GetFontHintLevel());
         ->SetSelection(ui->GetFontHintLevel());
@@ -112,7 +112,7 @@ void Typography::Start()
         "15",
         "15",
         "18",
         "18",
         "21",
         "21",
-        NULL
+        nullptr
     };
     };
     CreateMenu("UI::SetFontSubpixelThreshold", thresholds, URHO3D_HANDLER(Typography, HandleFontSubpixel))
     CreateMenu("UI::SetFontSubpixelThreshold", thresholds, URHO3D_HANDLER(Typography, HandleFontSubpixel))
         ->SetSelection(ui->GetFontSubpixelThreshold() / 3);
         ->SetSelection(ui->GetFontSubpixelThreshold() / 3);
@@ -127,7 +127,7 @@ void Typography::Start()
         "6",
         "6",
         "7",
         "7",
         "8",
         "8",
-        NULL
+        nullptr
     };
     };
     CreateMenu("UI::SetFontOversampling", limits, URHO3D_HANDLER(Typography, HandleFontOversampling))
     CreateMenu("UI::SetFontOversampling", limits, URHO3D_HANDLER(Typography, HandleFontOversampling))
         ->SetSelection(ui->GetFontOversampling() - 1);
         ->SetSelection(ui->GetFontOversampling() - 1);

+ 2 - 2
Source/Samples/47_Typography/Typography.h

@@ -35,11 +35,11 @@ public:
     Typography(Context* context);
     Typography(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 2 - 2
Source/Samples/48_Hello3DUI/Hello3DUI.h

@@ -42,11 +42,11 @@ public:
     Hello3DUI(Context* context);
     Hello3DUI(Context* context);
 
 
     /// Setup after engine initialization and before running the main loop.
     /// Setup after engine initialization and before running the main loop.
-    virtual void Start();
+    virtual void Start() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
-    virtual String GetScreenJoystickPatchString() const { return
+    virtual String GetScreenJoystickPatchString() const override { return
         "<patch>"
         "<patch>"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
         "        <attribute name=\"Is Visible\" value=\"false\" />"
         "        <attribute name=\"Is Visible\" value=\"false\" />"

+ 3 - 3
Source/Samples/Sample.h

@@ -59,11 +59,11 @@ public:
     Sample(Context* context);
     Sample(Context* context);
 
 
     /// Setup before engine initialization. Modifies the engine parameters.
     /// Setup before engine initialization. Modifies the engine parameters.
-    virtual void Setup();
+    virtual void Setup() override;
     /// Setup after engine initialization. Creates the logo, console & debug HUD.
     /// Setup after engine initialization. Creates the logo, console & debug HUD.
-    virtual void Start();
+    virtual void Start() override;
     /// Cleanup after the main loop. Called by Application.
     /// Cleanup after the main loop. Called by Application.
-    virtual void Stop();
+    virtual void Stop() override;
 
 
 protected:
 protected:
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
     /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.

+ 13 - 13
Source/Tools/AssetImporter/AssetImporter.cpp

@@ -61,7 +61,7 @@ using namespace Urho3D;
 struct OutModel
 struct OutModel
 {
 {
     OutModel() :
     OutModel() :
-        rootBone_(0),
+        rootBone_(nullptr),
         totalVertices_(0),
         totalVertices_(0),
         totalIndices_(0)
         totalIndices_(0)
     {
     {
@@ -144,8 +144,8 @@ const char *transformSuffix[TransformationComp_MAXIMUM] =
 static const unsigned MAX_CHANNELS = 4;
 static const unsigned MAX_CHANNELS = 4;
 
 
 SharedPtr<Context> context_(new Context());
 SharedPtr<Context> context_(new Context());
-const aiScene* scene_ = 0;
-aiNode* rootNode_ = 0;
+const aiScene* scene_ = nullptr;
+aiNode* rootNode_ = nullptr;
 String inputName_;
 String inputName_;
 String resourcePath_;
 String resourcePath_;
 String outPath_;
 String outPath_;
@@ -193,10 +193,10 @@ void CollectMeshes(OutModel& model, aiNode* node);
 void CollectBones(OutModel& model, bool animationOnly = false);
 void CollectBones(OutModel& model, bool animationOnly = false);
 void CollectBonesFinal(PODVector<aiNode*>& dest, const HashSet<aiNode*>& necessary, aiNode* node);
 void CollectBonesFinal(PODVector<aiNode*>& dest, const HashSet<aiNode*>& necessary, aiNode* node);
 void MoveToBindPose(OutModel& model, aiNode* current);
 void MoveToBindPose(OutModel& model, aiNode* current);
-void CollectAnimations(OutModel* model = 0);
+void CollectAnimations(OutModel* model = nullptr);
 void BuildBoneCollisionInfo(OutModel& model);
 void BuildBoneCollisionInfo(OutModel& model);
 void BuildAndSaveModel(OutModel& model);
 void BuildAndSaveModel(OutModel& model);
-void BuildAndSaveAnimations(OutModel* model = 0);
+void BuildAndSaveAnimations(OutModel* model = nullptr);
 
 
 void ExportScene(const String& outName, bool asPrefab);
 void ExportScene(const String& outName, bool asPrefab);
 void CollectSceneModels(OutScene& scene, aiNode* node);
 void CollectSceneModels(OutScene& scene, aiNode* node);
@@ -527,7 +527,7 @@ void Run(const Vector<String>& arguments)
             aiSetImportPropertyInteger(aiprops, AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS, 0);                //**false, default = true;
             aiSetImportPropertyInteger(aiprops, AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS, 0);                //**false, default = true;
             aiSetImportPropertyInteger(aiprops, AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES, 1);//default = true;
             aiSetImportPropertyInteger(aiprops, AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES, 1);//default = true;
 
 
-            scene_ = aiImportFileExWithProperties(GetNativePath(inFile).CString(), flags, NULL, aiprops);
+            scene_ = aiImportFileExWithProperties(GetNativePath(inFile).CString(), flags, nullptr, aiprops);
 
 
             // prevent processing animation suppression, both cannot work simultaneously
             // prevent processing animation suppression, both cannot work simultaneously
             suppressFbxPivotNodes_ = false;
             suppressFbxPivotNodes_ = false;
@@ -744,7 +744,7 @@ void CollectBones(OutModel& model, bool animationOnly)
         aiMesh* mesh = model.meshes_[i];
         aiMesh* mesh = model.meshes_[i];
         aiNode* meshNode = model.meshNodes_[i];
         aiNode* meshNode = model.meshNodes_[i];
         aiNode* meshParentNode = meshNode->mParent;
         aiNode* meshParentNode = meshNode->mParent;
-        aiNode* rootNode = 0;
+        aiNode* rootNode = nullptr;
 
 
         for (unsigned j = 0; j < mesh->mNumBones; ++j)
         for (unsigned j = 0; j < mesh->mNumBones; ++j)
         {
         {
@@ -1307,7 +1307,7 @@ void BuildAndSaveAnimations(OutModel* model)
         {
         {
             aiNodeAnim* channel = anim->mChannels[j];
             aiNodeAnim* channel = anim->mChannels[j];
             String channelName = FromAIString(channel->mNodeName);
             String channelName = FromAIString(channel->mNodeName);
-            aiNode* boneNode = 0;
+            aiNode* boneNode = nullptr;
 
 
             if (model)
             if (model)
             {
             {
@@ -1331,7 +1331,7 @@ void BuildAndSaveAnimations(OutModel* model)
 
 
                     // every first $fbx animation channel for a bone will consolidate other $fbx animation to a single channel
                     // every first $fbx animation channel for a bone will consolidate other $fbx animation to a single channel
                     // skip subsequent $fbx animation channel for the same bone
                     // skip subsequent $fbx animation channel for the same bone
-                    if (outAnim->GetTrack(channelName) != NULL)
+                    if (outAnim->GetTrack(channelName) != nullptr)
                         continue;
                         continue;
 
 
                     boneIndex = GetPivotlessBoneIndex(*model, channelName);
                     boneIndex = GetPivotlessBoneIndex(*model, channelName);
@@ -1674,7 +1674,7 @@ void BuildAndSaveScene(OutScene& scene, bool asPrefab)
 
 
     HashMap<aiNode*, Node*> nodeMapping;
     HashMap<aiNode*, Node*> nodeMapping;
 
 
-    Node* outRootNode = 0;
+    Node* outRootNode = nullptr;
     if (asPrefab)
     if (asPrefab)
         outRootNode = CreateSceneNode(outScene, rootNode_, nodeMapping);
         outRootNode = CreateSceneNode(outScene, rootNode_, nodeMapping);
     else
     else
@@ -2181,7 +2181,7 @@ aiBone* GetMeshBone(OutModel& model, const String& boneName)
                 return bone;
                 return bone;
         }
         }
     }
     }
-    return 0;
+    return nullptr;
 }
 }
 
 
 Matrix3x4 GetOffsetMatrix(OutModel& model, const String& boneName)
 Matrix3x4 GetOffsetMatrix(OutModel& model, const String& boneName)
@@ -2529,7 +2529,7 @@ PODVector<VertexElement> GetVertexElements(aiMesh* mesh, bool isSkinned)
 aiNode* GetNode(const String& name, aiNode* rootNode, bool caseSensitive)
 aiNode* GetNode(const String& name, aiNode* rootNode, bool caseSensitive)
 {
 {
     if (!rootNode)
     if (!rootNode)
-        return 0;
+        return nullptr;
     if (!name.Compare(rootNode->mName.data, caseSensitive))
     if (!name.Compare(rootNode->mName.data, caseSensitive))
         return rootNode;
         return rootNode;
     for (unsigned i = 0; i < rootNode->mNumChildren; ++i)
     for (unsigned i = 0; i < rootNode->mNumChildren; ++i)
@@ -2538,7 +2538,7 @@ aiNode* GetNode(const String& name, aiNode* rootNode, bool caseSensitive)
         if (found)
         if (found)
             return found;
             return found;
     }
     }
-    return 0;
+    return nullptr;
 }
 }
 
 
 aiMatrix4x4 GetDerivedTransform(aiNode* node, aiNode* rootNode, bool rootInclusive)
 aiMatrix4x4 GetDerivedTransform(aiNode* node, aiNode* rootNode, bool rootInclusive)

+ 1 - 1
Source/Tools/OgreImporter/OgreImporter.cpp

@@ -959,7 +959,7 @@ void WriteOutput(const String& outputFileName, bool exportAnimations, bool rotat
                 while (track)
                 while (track)
                 {
                 {
                     String trackName = track.GetAttribute("bone");
                     String trackName = track.GetAttribute("bone");
-                    ModelBone* bone = 0;
+                    ModelBone* bone = nullptr;
                     for (unsigned i = 0; i < bones_.Size(); ++i)
                     for (unsigned i = 0; i < bones_.Size(); ++i)
                     {
                     {
                         if (bones_[i].name_ == trackName)
                         if (bones_[i].name_ == trackName)

+ 1 - 1
Source/Tools/SpritePacker/SpritePacker.cpp

@@ -79,7 +79,7 @@ public:
     {
     {
     }
     }
 
 
-    ~PackerInfo() {}
+    virtual ~PackerInfo() override {}
 };
 };
 
 
 void Help()
 void Help()

+ 3 - 3
Source/Tools/Urho3DPlayer/Urho3DPlayer.h

@@ -36,11 +36,11 @@ public:
     Urho3DPlayer(Context* context);
     Urho3DPlayer(Context* context);
 
 
     /// Setup before engine initialization. Verify that a script file has been specified.
     /// Setup before engine initialization. Verify that a script file has been specified.
-    virtual void Setup();
+    virtual void Setup() override;
     /// Setup after engine initialization. Load the script and execute its start function.
     /// Setup after engine initialization. Load the script and execute its start function.
-    virtual void Start();
+    virtual void Start() override;
     /// Cleanup after the main loop. Run the script's stop function if it exists.
     /// Cleanup after the main loop. Run the script's stop function if it exists.
-    virtual void Stop();
+    virtual void Stop() override;
 
 
 private:
 private:
     /// Handle reload start of the script file.
     /// Handle reload start of the script file.