浏览代码

Refactoring

Panagiotis Christopoulos Charitos 15 年之前
父节点
当前提交
7209033227
共有 55 个文件被更改,包括 605 次插入529 次删除
  1. 184 174
      build/debug/Makefile
  2. 1 1
      build/debug/gen.cfg.py
  3. 1 1
      build/genmakefile.py
  4. 5 5
      docs/Doxyfile
  5. 6 6
      src/Main.cpp
  6. 1 1
      src/Math/Euler.h
  7. 3 3
      src/Math/Transform.h
  8. 4 4
      src/Misc/map.cpp
  9. 2 2
      src/Misc/map.h
  10. 3 3
      src/Physics/MotionState.h
  11. 1 1
      src/Physics/PhyWorld.cpp
  12. 1 1
      src/Physics/PhyWorld.h
  13. 5 5
      src/Renderer/Dbg.cpp
  14. 2 2
      src/Renderer/Renderer.cpp
  15. 1 1
      src/Resources/Extension.h
  16. 23 23
      src/Resources/LightProps.cpp
  17. 1 1
      src/Resources/LightProps.h
  18. 50 49
      src/Resources/Material.cpp
  19. 1 1
      src/Resources/Material.h
  20. 23 23
      src/Resources/Mesh.cpp
  21. 1 1
      src/Resources/Mesh.h
  22. 1 1
      src/Resources/Path.h
  23. 19 19
      src/Resources/ShaderPrePreprocessor.cpp
  24. 2 0
      src/Resources/ShaderPrePreprocessor.h
  25. 18 15
      src/Resources/ShaderProg.h
  26. 9 9
      src/Resources/SkelAnim.cpp
  27. 16 16
      src/Resources/Skeleton.cpp
  28. 12 6
      src/Resources/Skeleton.h
  29. 9 6
      src/Scene/Camera.h
  30. 0 0
      src/Scene/Controllers/Controller.cpp
  31. 0 0
      src/Scene/Controllers/Controller.h
  32. 0 0
      src/Scene/Controllers/LightPropsScriptCtrl.h
  33. 0 0
      src/Scene/Controllers/MeshSkelNodeCtrl.h
  34. 0 0
      src/Scene/Controllers/README
  35. 0 0
      src/Scene/Controllers/SkelAnimCtrl.cpp
  36. 0 0
      src/Scene/Controllers/SkelAnimCtrl.h
  37. 2 2
      src/Scene/Controllers/TrfScriptCtrl.h
  38. 3 3
      src/Scene/GhostNode.h
  39. 6 6
      src/Scene/Light.h
  40. 4 4
      src/Scene/MeshNode.h
  41. 3 3
      src/Scene/ParticleEmitter.h
  42. 14 14
      src/Scene/Scene.cpp
  43. 4 4
      src/Scene/Scene.h
  44. 11 11
      src/Scene/SceneNode.cpp
  45. 10 10
      src/Scene/SceneNode.h
  46. 8 8
      src/Scene/SkelModelNode.cpp
  47. 2 2
      src/Scene/SkelModelNode.h
  48. 1 1
      src/Scene/SkelNode.cpp
  49. 2 2
      src/Scene/SkelNode.h
  50. 33 23
      src/Tokenizer/Parser.h
  51. 12 12
      src/Tokenizer/Scanner.cpp
  52. 58 33
      src/Tokenizer/Scanner.h
  53. 12 2
      src/Util/App.cpp
  54. 4 5
      src/Util/App.h
  55. 11 4
      src/Util/Common.h

+ 184 - 174
build/debug/Makefile

@@ -4,9 +4,9 @@ CFLAGS = $(COMMONFLAGS) -c -pedantic-errors -pedantic -ansi -Wall -Wextra -W -pi
 PHFLAGS = $(CFLAGS) -x c++-header
 LFLAGS = $(COMMONFLAGS) -rdynamic -L../../../bullet_svn/src/BulletSoftBody -L../../../bullet_svn/src/BulletDynamics -L../../../bullet_svn/src/BulletCollision -L../../../bullet_svn/src/LinearMath -Wl,-Bstatic -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath -lGLEW -lSDL_image -lGLU -Wl,-Bdynamic -lSDL -lGL -ljpeg -lpng -ltiff
 EXECUTABLE = AnKi.bin
-INCPATH = -I../../src/Math/ -I../../src/Tokenizer/ -I../../src/Misc/ -I../../src/ -I../../src/Renderer/ -I../../src/Scene/ -I../../src/Ui/ -I../../src/Resources/ -I../../src/Util/ -I../../src/Controllers/ -I../../src/Physics/ -I../../src/Renderer/BufferObjects/ -I../../../bullet_svn/src/ 
-SOURCES = ../../src/Tokenizer//Scanner.cpp ../../src/Misc//skybox.cpp ../../src/Misc//particles.cpp ../../src/Misc//memory.cpp ../../src/Misc//collision.cpp ../../src/Misc//map.cpp ../../src//Main.cpp ../../src/Renderer//PpsHdr.cpp ../../src/Renderer//Pps.cpp ../../src/Renderer//Bs.cpp ../../src/Renderer//IsShadows.cpp ../../src/Renderer//MsEarlyz.cpp ../../src/Renderer//Renderer.cpp ../../src/Renderer//Is.cpp ../../src/Renderer//PpsLscatt.cpp ../../src/Renderer//Ms.cpp ../../src/Renderer//BulletDebuger.cpp ../../src/Renderer//Bs2.cpp ../../src/Renderer//PpsSsao.cpp ../../src/Renderer//Dbg.cpp ../../src/Scene//MeshNode.cpp ../../src/Scene//SkelNode.cpp ../../src/Scene//Node.cpp ../../src/Scene//SkelModelNode.cpp ../../src/Scene//Light.cpp ../../src/Scene//Camera.cpp ../../src/Scene//Scene.cpp ../../src/Scene//ParticleEmitter.cpp ../../src/Ui//Ui.cpp ../../src/Resources//Material.cpp ../../src/Resources//ShaderProg.cpp ../../src/Resources//Texture.cpp ../../src/Resources//SkelAnim.cpp ../../src/Resources//Extension.cpp ../../src/Resources//Skeleton.cpp ../../src/Resources//ShaderPrePreprocessor.cpp ../../src/Resources//Resource.cpp ../../src/Resources//LightProps.cpp ../../src/Resources//Mesh.cpp ../../src/Util//Input.cpp ../../src/Util//App.cpp ../../src/Util//Common.cpp ../../src/Util//Util.cpp ../../src/Controllers//Controller.cpp ../../src/Controllers//SkelAnimCtrl.cpp ../../src/Physics//PhyWorld.cpp 
-OBJECTS = Scanner.o skybox.o particles.o memory.o collision.o map.o Main.o PpsHdr.o Pps.o Bs.o IsShadows.o MsEarlyz.o Renderer.o Is.o PpsLscatt.o Ms.o BulletDebuger.o Bs2.o PpsSsao.o Dbg.o MeshNode.o SkelNode.o Node.o SkelModelNode.o Light.o Camera.o Scene.o ParticleEmitter.o Ui.o Material.o ShaderProg.o Texture.o SkelAnim.o Extension.o Skeleton.o ShaderPrePreprocessor.o Resource.o LightProps.o Mesh.o Input.o App.o Common.o Util.o Controller.o SkelAnimCtrl.o PhyWorld.o 
+INCPATH = -I../../src/Math/ -I../../src/Tokenizer/ -I../../src/Misc/ -I../../src/ -I../../src/Renderer/ -I../../src/Scene/ -I../../src/Ui/ -I../../src/Resources/ -I../../src/Util/ -I../../src/Scene/Controllers/ -I../../src/Physics/ -I../../src/Renderer/BufferObjects/ -I../../../bullet_svn/src/ 
+SOURCES = ../../src/Tokenizer//Scanner.cpp ../../src/Misc//skybox.cpp ../../src/Misc//particles.cpp ../../src/Misc//memory.cpp ../../src/Misc//collision.cpp ../../src/Misc//map.cpp ../../src//Main.cpp ../../src/Renderer//PpsHdr.cpp ../../src/Renderer//Pps.cpp ../../src/Renderer//Bs.cpp ../../src/Renderer//IsShadows.cpp ../../src/Renderer//MsEarlyz.cpp ../../src/Renderer//Renderer.cpp ../../src/Renderer//Is.cpp ../../src/Renderer//PpsLscatt.cpp ../../src/Renderer//Ms.cpp ../../src/Renderer//BulletDebuger.cpp ../../src/Renderer//Bs2.cpp ../../src/Renderer//PpsSsao.cpp ../../src/Renderer//Dbg.cpp ../../src/Scene//MeshNode.cpp ../../src/Scene//SkelNode.cpp ../../src/Scene//SkelModelNode.cpp ../../src/Scene//Light.cpp ../../src/Scene//Camera.cpp ../../src/Scene//Scene.cpp ../../src/Scene//ParticleEmitter.cpp ../../src/Scene//SceneNode.cpp ../../src/Ui//Ui.cpp ../../src/Resources//Material.cpp ../../src/Resources//ShaderProg.cpp ../../src/Resources//Texture.cpp ../../src/Resources//SkelAnim.cpp ../../src/Resources//Extension.cpp ../../src/Resources//Skeleton.cpp ../../src/Resources//ShaderPrePreprocessor.cpp ../../src/Resources//Resource.cpp ../../src/Resources//LightProps.cpp ../../src/Resources//Mesh.cpp ../../src/Util//Input.cpp ../../src/Util//App.cpp ../../src/Util//Common.cpp ../../src/Util//Util.cpp ../../src/Scene/Controllers//Controller.cpp ../../src/Scene/Controllers//SkelAnimCtrl.cpp ../../src/Physics//PhyWorld.cpp 
+OBJECTS = Scanner.o skybox.o particles.o memory.o collision.o map.o Main.o PpsHdr.o Pps.o Bs.o IsShadows.o MsEarlyz.o Renderer.o Is.o PpsLscatt.o Ms.o BulletDebuger.o Bs2.o PpsSsao.o Dbg.o MeshNode.o SkelNode.o SkelModelNode.o Light.o Camera.o Scene.o ParticleEmitter.o SceneNode.o Ui.o Material.o ShaderProg.o Texture.o SkelAnim.o Extension.o Skeleton.o ShaderPrePreprocessor.o Resource.o LightProps.o Mesh.o Input.o App.o Common.o Util.o Controller.o SkelAnimCtrl.o PhyWorld.o 
 PRECOMPILED_HEADERS = 
 
 all: $(PRECOMPILED_HEADERS) $(SOURCES) $(EXECUTABLE)
@@ -39,8 +39,9 @@ skybox.o: ../../src/Misc//skybox.cpp ../../src/Misc//skybox.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/Resource.h \
  ../../src/Renderer/Renderer.h ../../src/Resources/ShaderProg.h \
  ../../src/Scene/Camera.h ../../src/Misc/collision.h \
- ../../src/Scene/Node.h ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
- ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
+ ../../src/Scene/SceneNode.h ../../src/Scene/Scene.h \
+ ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
+ ../../src/Physics/PhyCommon.h \
  ../../../bullet_svn/src/btBulletCollisionCommon.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../../bullet_svn/src/LinearMath/btVector3.h \
@@ -174,7 +175,8 @@ skybox.o: ../../src/Misc//skybox.cpp ../../src/Misc//skybox.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h ../../src/Util/App.h
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Util/App.h
 	@echo Compiling ../../src/Misc//skybox.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Misc//skybox.cpp -o skybox.o
 
@@ -202,7 +204,7 @@ collision.o: ../../src/Misc//collision.cpp ../../src/Misc//collision.h \
  ../../src/Math/Transform.inl.h ../../src/Renderer/Renderer.h \
  ../../src/Resources/ShaderProg.h ../../src/Resources/Resource.h \
  ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Misc//collision.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Misc//collision.cpp -o collision.o
 
@@ -226,7 +228,7 @@ map.o: ../../src/Misc//map.cpp ../../src/Misc//map.h \
  ../../src/Util/Common.h ../../src/Misc/collision.h \
  ../../src/Tokenizer/Scanner.h ../../src/Tokenizer/Parser.h \
  ../../src/Tokenizer/Scanner.h ../../src/Resources/Resource.h \
- ../../src/Scene/Camera.h ../../src/Scene/Node.h
+ ../../src/Scene/Camera.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Misc//map.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Misc//map.cpp -o map.o
 
@@ -244,7 +246,7 @@ Main.o: ../../src//Main.cpp ../../src/Util/Common.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Renderer/Renderer.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h ../../src/Ui/Ui.h \
  ../../src/Util/App.h ../../src/Misc/particles.h \
@@ -388,13 +390,15 @@ Main.o: ../../src//Main.cpp ../../src/Util/Common.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Tokenizer/Scanner.h ../../src/Misc/map.h \
  ../../src/Misc/collision.h ../../src/Scene/MeshNode.h \
  ../../src/Scene/SkelModelNode.h ../../src/Scene/MeshNode.h \
- ../../src/Resources/SkelAnim.h ../../src/Controllers/MeshSkelNodeCtrl.h \
- ../../src/Controllers/Controller.h ../../src/Controllers/SkelAnimCtrl.h \
- ../../src/Scene/SkelNode.h ../../src/Controllers/Controller.h \
+ ../../src/Resources/SkelAnim.h \
+ ../../src/Scene/Controllers/MeshSkelNodeCtrl.h \
+ ../../src/Scene/Controllers/Controller.h \
+ ../../src/Scene/Controllers/SkelAnimCtrl.h ../../src/Scene/SkelNode.h \
+ ../../src/Scene/Controllers/Controller.h \
  ../../src/Resources/LightProps.h ../../src/Renderer/BulletDebuger.h \
  ../../../bullet_svn/src/LinearMath/btIDebugDraw.h \
  ../../src/Physics/PhyCommon.h ../../src/Tokenizer/Parser.h \
@@ -418,7 +422,7 @@ PpsHdr.o: ../../src/Renderer//PpsHdr.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Resource.h ../../src/Resources/Texture.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
@@ -555,7 +559,7 @@ PpsHdr.o: ../../src/Renderer//PpsHdr.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h
 	@echo Compiling ../../src/Renderer//PpsHdr.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//PpsHdr.cpp -o PpsHdr.o
@@ -575,7 +579,7 @@ Pps.o: ../../src/Renderer//Pps.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Resource.h ../../src/Resources/Texture.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h
 	@echo Compiling ../../src/Renderer//Pps.cpp...
@@ -596,7 +600,7 @@ Bs.o: ../../src/Renderer//Bs.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h \
  ../../src/Physics/PhyCommon.h \
@@ -733,7 +737,7 @@ Bs.o: ../../src/Renderer//Bs.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Resources/Mesh.h ../../src/Renderer/BufferObjects/Vbo.h \
  ../../src/Renderer/BufferObjects/BufferObject.h \
  ../../src/Resources/Resource.h ../../src/Renderer/BufferObjects/Fbo.h \
@@ -759,7 +763,7 @@ IsShadows.o: ../../src/Renderer//IsShadows.cpp \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Texture.h ../../src/Scene/Scene.h \
  ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
  ../../src/Physics/PhyCommon.h \
@@ -896,7 +900,7 @@ IsShadows.o: ../../src/Renderer//IsShadows.cpp \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Resources/Resource.h ../../src/Renderer/BufferObjects/Fbo.h \
  ../../src/Renderer/Renderer.h ../../src/Resources/Material.h \
  ../../src/Resources/ShaderProg.h ../../src/Scene/MeshNode.h \
@@ -920,7 +924,7 @@ MsEarlyz.o: ../../src/Renderer//MsEarlyz.cpp \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Resource.h ../../src/Resources/Texture.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
@@ -1057,7 +1061,7 @@ MsEarlyz.o: ../../src/Renderer//MsEarlyz.cpp \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h
 	@echo Compiling ../../src/Renderer//MsEarlyz.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//MsEarlyz.cpp -o MsEarlyz.o
@@ -1078,7 +1082,7 @@ Renderer.o: ../../src/Renderer//Renderer.cpp \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Texture.h ../../src/Scene/Scene.h \
  ../../src/Misc/skybox.h ../../src/Physics/PhyWorld.h \
  ../../src/Physics/PhyCommon.h \
@@ -1215,7 +1219,8 @@ Renderer.o: ../../src/Renderer//Renderer.cpp \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h ../../src/Util/App.h
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Util/App.h
 	@echo Compiling ../../src/Renderer//Renderer.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//Renderer.cpp -o Renderer.o
 
@@ -1234,7 +1239,7 @@ Is.o: ../../src/Renderer//Is.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h \
  ../../src/Physics/PhyCommon.h \
@@ -1371,7 +1376,7 @@ Is.o: ../../src/Renderer//Is.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Resources/Mesh.h ../../src/Renderer/BufferObjects/Vbo.h \
  ../../src/Renderer/BufferObjects/BufferObject.h ../../src/Scene/Light.h \
  ../../src/Scene/Camera.h ../../src/Resources/Resource.h \
@@ -1396,7 +1401,7 @@ PpsLscatt.o: ../../src/Renderer//PpsLscatt.cpp \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Resource.h ../../src/Resources/Texture.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
@@ -1533,7 +1538,7 @@ PpsLscatt.o: ../../src/Renderer//PpsLscatt.cpp \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h \
  ../../src/Util/App.h
 	@echo Compiling ../../src/Renderer//PpsLscatt.cpp...
@@ -1554,7 +1559,7 @@ Ms.o: ../../src/Renderer//Ms.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h \
  ../../src/Physics/PhyCommon.h \
@@ -1691,7 +1696,7 @@ Ms.o: ../../src/Renderer//Ms.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Resources/Mesh.h ../../src/Renderer/BufferObjects/Vbo.h \
  ../../src/Renderer/BufferObjects/BufferObject.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h \
@@ -1725,7 +1730,7 @@ BulletDebuger.o: ../../src/Renderer//BulletDebuger.cpp \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Renderer//BulletDebuger.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//BulletDebuger.cpp -o BulletDebuger.o
 
@@ -1744,7 +1749,7 @@ Bs2.o: ../../src/Renderer//Bs2.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h \
  ../../src/Physics/PhyCommon.h \
@@ -1881,7 +1886,7 @@ Bs2.o: ../../src/Renderer//Bs2.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Resources/Mesh.h ../../src/Renderer/BufferObjects/Vbo.h \
  ../../src/Renderer/BufferObjects/BufferObject.h \
  ../../src/Resources/Resource.h ../../src/Renderer/BufferObjects/Fbo.h \
@@ -1906,7 +1911,7 @@ PpsSsao.o: ../../src/Renderer//PpsSsao.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Resource.h ../../src/Resources/Texture.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
@@ -2043,7 +2048,7 @@ PpsSsao.o: ../../src/Renderer//PpsSsao.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h
 	@echo Compiling ../../src/Renderer//PpsSsao.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//PpsSsao.cpp -o PpsSsao.o
@@ -2063,7 +2068,7 @@ Dbg.o: ../../src/Renderer//Dbg.cpp ../../src/Renderer//Renderer.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Renderer/BufferObjects/Fbo.h ../../src/Renderer/Renderer.h \
  ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h \
@@ -2201,15 +2206,15 @@ Dbg.o: ../../src/Renderer//Dbg.cpp ../../src/Renderer//Renderer.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
- ../../src/Scene/SkelNode.h ../../src/Controllers/Controller.h \
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene/SkelNode.h ../../src/Scene/Controllers/Controller.h \
  ../../src/Util/App.h ../../src/Physics/PhyCommon.h
 	@echo Compiling ../../src/Renderer//Dbg.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Renderer//Dbg.cpp -o Dbg.o
 
 MeshNode.o: ../../src/Scene//MeshNode.cpp ../../src/Scene//MeshNode.h \
- ../../src/Util/Common.h ../../src/Misc/memory.h ../../src/Scene//Node.h \
- ../../src/Math/Math.h ../../src/Math/Vec2.h \
+ ../../src/Util/Common.h ../../src/Misc/memory.h \
+ ../../src/Scene//SceneNode.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
  ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
  ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
  ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
@@ -2228,16 +2233,17 @@ MeshNode.o: ../../src/Scene//MeshNode.cpp ../../src/Scene//MeshNode.h \
  ../../src/Renderer/BufferObjects/BufferObject.h \
  ../../src/Misc/collision.h ../../src/Renderer/Renderer.h \
  ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
- ../../src/Scene/Node.h ../../src/Scene//SkelNode.h \
- ../../src/Controllers/Controller.h ../../src/Resources/Skeleton.h \
- ../../src/Controllers/MeshSkelNodeCtrl.h \
- ../../src/Controllers/Controller.h ../../src/Controllers/SkelAnimCtrl.h
+ ../../src/Scene/SceneNode.h ../../src/Scene//SkelNode.h \
+ ../../src/Scene/Controllers/Controller.h ../../src/Resources/Skeleton.h \
+ ../../src/Scene/Controllers/MeshSkelNodeCtrl.h \
+ ../../src/Scene/Controllers/Controller.h \
+ ../../src/Scene/Controllers/SkelAnimCtrl.h
 	@echo Compiling ../../src/Scene//MeshNode.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//MeshNode.cpp -o MeshNode.o
 
 SkelNode.o: ../../src/Scene//SkelNode.cpp ../../src/Scene//SkelNode.h \
- ../../src/Util/Common.h ../../src/Misc/memory.h ../../src/Scene//Node.h \
- ../../src/Math/Math.h ../../src/Math/Vec2.h \
+ ../../src/Util/Common.h ../../src/Misc/memory.h \
+ ../../src/Scene//SceneNode.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
  ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
  ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
  ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
@@ -2248,18 +2254,87 @@ SkelNode.o: ../../src/Scene//SkelNode.cpp ../../src/Scene//SkelNode.h \
  ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Controllers/Controller.h \
+ ../../src/Math/Transform.inl.h ../../src/Scene/Controllers/Controller.h \
  ../../src/Renderer/Renderer.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/SkelAnim.h ../../src/Resources/Skeleton.h \
- ../../src/Controllers/SkelAnimCtrl.h ../../src/Controllers/Controller.h
+ ../../src/Scene/Controllers/SkelAnimCtrl.h \
+ ../../src/Scene/Controllers/Controller.h
 	@echo Compiling ../../src/Scene//SkelNode.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//SkelNode.cpp -o SkelNode.o
 
-Node.o: ../../src/Scene//Node.cpp ../../src/Scene//Node.h \
- ../../src/Util/Common.h ../../src/Misc/memory.h ../../src/Math/Math.h \
+SkelModelNode.o: ../../src/Scene//SkelModelNode.cpp \
+ ../../src/Scene//SkelModelNode.h ../../src/Util/Common.h \
+ ../../src/Misc/memory.h ../../src/Scene//MeshNode.h \
+ ../../src/Scene//SceneNode.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
+ ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
+ ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
+ ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
+ ../../src/Math/Vec4.inl.h ../../src/Math/Quat.h \
+ ../../src/Math/Quat.inl.h ../../src/Math/Axisang.h \
+ ../../src/Math/Axisang.inl.h ../../src/Math/Euler.h \
+ ../../src/Math/Euler.inl.h ../../src/Math/Mat3.h \
+ ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
+ ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
+ ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
+ ../../src/Math/Transform.inl.h ../../src/Resources/Material.h \
+ ../../src/Resources/Resource.h ../../src/Util/Util.h \
+ ../../src/Util/Common.h ../../src/Resources/ShaderProg.h \
+ ../../src/Tokenizer/Parser.h ../../src/Tokenizer/Scanner.h \
+ ../../src/Scene//SkelNode.h ../../src/Scene/Controllers/Controller.h \
+ ../../src/Scene/Controllers/MeshSkelNodeCtrl.h \
+ ../../src/Scene/Controllers/Controller.h
+	@echo Compiling ../../src/Scene//SkelModelNode.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//SkelModelNode.cpp -o SkelModelNode.o
+
+Light.o: ../../src/Scene//Light.cpp ../../src/Scene//Light.h \
+ ../../src/Util/Common.h ../../src/Misc/memory.h \
+ ../../src/Resources/Texture.h ../../src/Resources/Resource.h \
+ ../../src/Util/Util.h ../../src/Util/Common.h \
+ ../../src/Scene//SceneNode.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
+ ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
+ ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
+ ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
+ ../../src/Math/Vec4.inl.h ../../src/Math/Quat.h \
+ ../../src/Math/Quat.inl.h ../../src/Math/Axisang.h \
+ ../../src/Math/Axisang.inl.h ../../src/Math/Euler.h \
+ ../../src/Math/Euler.inl.h ../../src/Math/Mat3.h \
+ ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
+ ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
+ ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
+ ../../src/Math/Transform.inl.h ../../src/Scene//Camera.h \
+ ../../src/Misc/collision.h ../../src/Renderer/Renderer.h \
+ ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
+ ../../src/Resources/LightProps.h
+	@echo Compiling ../../src/Scene//Light.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Light.cpp -o Light.o
+
+Camera.o: ../../src/Scene//Camera.cpp ../../src/Scene//Camera.h \
+ ../../src/Util/Common.h ../../src/Misc/memory.h \
+ ../../src/Misc/collision.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
+ ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
+ ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
+ ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
+ ../../src/Math/Vec4.inl.h ../../src/Math/Quat.h \
+ ../../src/Math/Quat.inl.h ../../src/Math/Axisang.h \
+ ../../src/Math/Axisang.inl.h ../../src/Math/Euler.h \
+ ../../src/Math/Euler.inl.h ../../src/Math/Mat3.h \
+ ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
+ ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
+ ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
+ ../../src/Math/Transform.inl.h ../../src/Scene//SceneNode.h \
+ ../../src/Renderer/Renderer.h ../../src/Resources/ShaderProg.h \
+ ../../src/Resources/Resource.h ../../src/Util/Util.h \
+ ../../src/Util/Common.h ../../src/Scene/Camera.h
+	@echo Compiling ../../src/Scene//Camera.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Camera.cpp -o Camera.o
+
+Scene.o: ../../src/Scene//Scene.cpp ../../src/Scene//Scene.h \
+ ../../src/Util/Common.h ../../src/Misc/memory.h ../../src/Misc/skybox.h \
+ ../../src/Resources/Texture.h ../../src/Resources/Resource.h \
+ ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Math/Math.h \
  ../../src/Math/Vec2.h ../../src/Math/MathForwardDecls.h \
  ../../src/Math/Vec2.inl.h ../../src/Math/MathDfltHeader.h \
  ../../src/Math/Vec3.h ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
@@ -2270,13 +2345,8 @@ Node.o: ../../src/Scene//Node.cpp ../../src/Scene//Node.h \
  ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Renderer/Renderer.h \
- ../../src/Resources/ShaderProg.h ../../src/Resources/Resource.h \
- ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
- ../../src/Controllers/Controller.h ../../src/Scene//Scene.h \
- ../../src/Misc/skybox.h ../../src/Resources/Texture.h \
- ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
+ ../../src/Math/Transform.inl.h ../../src/Physics/PhyWorld.h \
+ ../../src/Physics/PhyCommon.h \
  ../../../bullet_svn/src/btBulletCollisionCommon.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../../bullet_svn/src/LinearMath/btVector3.h \
@@ -2410,38 +2480,18 @@ Node.o: ../../src/Scene//Node.cpp ../../src/Scene//Node.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h ../../src/Util/App.h
-	@echo Compiling ../../src/Scene//Node.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Node.cpp -o Node.o
-
-SkelModelNode.o: ../../src/Scene//SkelModelNode.cpp \
- ../../src/Scene//SkelModelNode.h ../../src/Util/Common.h \
- ../../src/Misc/memory.h ../../src/Scene//MeshNode.h \
- ../../src/Scene//Node.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
- ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
- ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
- ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
- ../../src/Math/Vec4.inl.h ../../src/Math/Quat.h \
- ../../src/Math/Quat.inl.h ../../src/Math/Axisang.h \
- ../../src/Math/Axisang.inl.h ../../src/Math/Euler.h \
- ../../src/Math/Euler.inl.h ../../src/Math/Mat3.h \
- ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
- ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
- ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Resources/Material.h \
- ../../src/Resources/Resource.h ../../src/Util/Util.h \
- ../../src/Util/Common.h ../../src/Resources/ShaderProg.h \
- ../../src/Tokenizer/Parser.h ../../src/Tokenizer/Scanner.h \
- ../../src/Scene//SkelNode.h ../../src/Controllers/Controller.h \
- ../../src/Controllers/MeshSkelNodeCtrl.h \
- ../../src/Controllers/Controller.h
-	@echo Compiling ../../src/Scene//SkelModelNode.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//SkelModelNode.cpp -o SkelModelNode.o
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Scene//SkelNode.h ../../src/Scene//SceneNode.h \
+ ../../src/Scene/Controllers/Controller.h ../../src/Scene//Camera.h \
+ ../../src/Misc/collision.h ../../src/Scene//MeshNode.h \
+ ../../src/Resources/Material.h ../../src/Resources/ShaderProg.h \
+ ../../src/Scene//Light.h
+	@echo Compiling ../../src/Scene//Scene.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Scene.cpp -o Scene.o
 
-Light.o: ../../src/Scene//Light.cpp ../../src/Scene//Light.h \
- ../../src/Util/Common.h ../../src/Misc/memory.h \
- ../../src/Resources/Texture.h ../../src/Resources/Resource.h \
- ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Scene//Node.h \
+ParticleEmitter.o: ../../src/Scene//ParticleEmitter.cpp \
+ ../../src/Scene//ParticleEmitter.h ../../src/Util/Common.h \
+ ../../src/Misc/memory.h ../../src/Scene//SceneNode.h \
  ../../src/Math/Math.h ../../src/Math/Vec2.h \
  ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
  ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
@@ -2453,48 +2503,10 @@ Light.o: ../../src/Scene//Light.cpp ../../src/Scene//Light.h \
  ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Scene//Camera.h \
- ../../src/Misc/collision.h ../../src/Renderer/Renderer.h \
- ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
- ../../src/Resources/LightProps.h
-	@echo Compiling ../../src/Scene//Light.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Light.cpp -o Light.o
-
-Camera.o: ../../src/Scene//Camera.cpp ../../src/Scene//Camera.h \
- ../../src/Util/Common.h ../../src/Misc/memory.h \
- ../../src/Misc/collision.h ../../src/Math/Math.h ../../src/Math/Vec2.h \
- ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
- ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
- ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
- ../../src/Math/Vec4.inl.h ../../src/Math/Quat.h \
- ../../src/Math/Quat.inl.h ../../src/Math/Axisang.h \
- ../../src/Math/Axisang.inl.h ../../src/Math/Euler.h \
- ../../src/Math/Euler.inl.h ../../src/Math/Mat3.h \
- ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
- ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
- ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Scene//Node.h \
- ../../src/Renderer/Renderer.h ../../src/Resources/ShaderProg.h \
- ../../src/Resources/Resource.h ../../src/Util/Util.h \
- ../../src/Util/Common.h ../../src/Scene/Camera.h
-	@echo Compiling ../../src/Scene//Camera.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Camera.cpp -o Camera.o
-
-Scene.o: ../../src/Scene//Scene.cpp ../../src/Scene//Scene.h \
- ../../src/Util/Common.h ../../src/Misc/memory.h ../../src/Misc/skybox.h \
- ../../src/Resources/Texture.h ../../src/Resources/Resource.h \
- ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Math/Math.h \
- ../../src/Math/Vec2.h ../../src/Math/MathForwardDecls.h \
- ../../src/Math/Vec2.inl.h ../../src/Math/MathDfltHeader.h \
- ../../src/Math/Vec3.h ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
- ../../src/Math/Vec4.inl.h ../../src/Math/Quat.h \
- ../../src/Math/Quat.inl.h ../../src/Math/Axisang.h \
- ../../src/Math/Axisang.inl.h ../../src/Math/Euler.h \
- ../../src/Math/Euler.inl.h ../../src/Math/Mat3.h \
- ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
- ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
- ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Physics/PhyWorld.h \
+ ../../src/Math/Transform.inl.h ../../src/Scene//MeshNode.h \
+ ../../src/Resources/Material.h ../../src/Resources/Resource.h \
+ ../../src/Util/Util.h ../../src/Util/Common.h \
+ ../../src/Resources/ShaderProg.h ../../src/Scene//GhostNode.h \
  ../../src/Physics/PhyCommon.h \
  ../../../bullet_svn/src/btBulletCollisionCommon.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
@@ -2629,18 +2641,17 @@ Scene.o: ../../src/Scene//Scene.cpp ../../src/Scene//Scene.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h \
- ../../src/Scene//SkelNode.h ../../src/Scene//Node.h \
- ../../src/Controllers/Controller.h ../../src/Scene//Camera.h \
- ../../src/Misc/collision.h ../../src/Scene//MeshNode.h \
- ../../src/Resources/Material.h ../../src/Resources/ShaderProg.h \
- ../../src/Scene//Light.h
-	@echo Compiling ../../src/Scene//Scene.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//Scene.cpp -o Scene.o
+ ../../src/Physics/PhyCommon.h ../../src/Scene/SceneNode.h \
+ ../../src/Physics/PhyWorld.h ../../src/Renderer/Renderer.h \
+ ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
+ ../../src/Util/App.h ../../src/Scene//Scene.h ../../src/Misc/skybox.h \
+ ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h
+	@echo Compiling ../../src/Scene//ParticleEmitter.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//ParticleEmitter.cpp -o ParticleEmitter.o
 
-ParticleEmitter.o: ../../src/Scene//ParticleEmitter.cpp \
- ../../src/Scene//ParticleEmitter.h ../../src/Util/Common.h \
- ../../src/Misc/memory.h ../../src/Scene//Node.h ../../src/Math/Math.h \
+SceneNode.o: ../../src/Scene//SceneNode.cpp ../../src/Scene//SceneNode.h \
+ ../../src/Util/Common.h ../../src/Misc/memory.h ../../src/Math/Math.h \
  ../../src/Math/Vec2.h ../../src/Math/MathForwardDecls.h \
  ../../src/Math/Vec2.inl.h ../../src/Math/MathDfltHeader.h \
  ../../src/Math/Vec3.h ../../src/Math/Vec3.inl.h ../../src/Math/Vec4.h \
@@ -2651,11 +2662,13 @@ ParticleEmitter.o: ../../src/Scene//ParticleEmitter.cpp \
  ../../src/Math/Mat3.inl.h ../../src/Math/Mat4.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
- ../../src/Math/Transform.inl.h ../../src/Scene//MeshNode.h \
- ../../src/Resources/Material.h ../../src/Resources/Resource.h \
- ../../src/Util/Util.h ../../src/Util/Common.h \
- ../../src/Resources/ShaderProg.h ../../src/Scene//GhostNode.h \
- ../../src/Physics/PhyCommon.h \
+ ../../src/Math/Transform.inl.h ../../src/Renderer/Renderer.h \
+ ../../src/Resources/ShaderProg.h ../../src/Resources/Resource.h \
+ ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Scene/Camera.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
+ ../../src/Scene/Controllers/Controller.h ../../src/Scene//Scene.h \
+ ../../src/Misc/skybox.h ../../src/Resources/Texture.h \
+ ../../src/Physics/PhyWorld.h ../../src/Physics/PhyCommon.h \
  ../../../bullet_svn/src/btBulletCollisionCommon.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../../bullet_svn/src/LinearMath/btVector3.h \
@@ -2789,14 +2802,10 @@ ParticleEmitter.o: ../../src/Scene//ParticleEmitter.cpp \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Physics/PhyCommon.h ../../src/Scene/Node.h \
- ../../src/Physics/PhyWorld.h ../../src/Renderer/Renderer.h \
- ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h ../../src/Util/App.h \
- ../../src/Scene//Scene.h ../../src/Misc/skybox.h \
- ../../src/Resources/Texture.h ../../src/Physics/PhyWorld.h
-	@echo Compiling ../../src/Scene//ParticleEmitter.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//ParticleEmitter.cpp -o ParticleEmitter.o
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Util/App.h
+	@echo Compiling ../../src/Scene//SceneNode.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene//SceneNode.cpp -o SceneNode.o
 
 Ui.o: ../../src/Ui//Ui.cpp ../../src/Ui//Ui.h ../../src/Util/Common.h \
  ../../src/Misc/memory.h ../../src/Renderer/Renderer.h \
@@ -2814,7 +2823,7 @@ Ui.o: ../../src/Ui//Ui.cpp ../../src/Ui//Ui.h ../../src/Util/Common.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h \
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h \
  ../../src/Resources/Texture.h ../../src/Resources/Resource.h
 	@echo Compiling ../../src/Ui//Ui.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Ui//Ui.cpp -o Ui.o
@@ -2838,7 +2847,7 @@ Material.o: ../../src/Resources//Material.cpp \
  ../../src/Tokenizer/Parser.h ../../src/Tokenizer/Scanner.h \
  ../../src/Resources//Texture.h ../../src/Renderer/Renderer.h \
  ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Resources//Material.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Resources//Material.cpp -o Material.o
 
@@ -2859,7 +2868,7 @@ ShaderProg.o: ../../src/Resources//ShaderProg.cpp \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Scene/Camera.h ../../src/Misc/collision.h \
- ../../src/Scene/Node.h ../../src/Resources//ShaderPrePreprocessor.h \
+ ../../src/Scene/SceneNode.h ../../src/Resources//ShaderPrePreprocessor.h \
  ../../src/Resources//Texture.h
 	@echo Compiling ../../src/Resources//ShaderProg.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Resources//ShaderProg.cpp -o ShaderProg.o
@@ -2881,7 +2890,7 @@ Texture.o: ../../src/Resources//Texture.cpp \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Resources//Texture.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Resources//Texture.cpp -o Texture.o
 
@@ -2999,7 +3008,7 @@ Mesh.o: ../../src/Resources//Mesh.cpp ../../src/Resources//Mesh.h \
  ../../src/Util/Common.h ../../src/Misc/collision.h \
  ../../src/Renderer/Renderer.h ../../src/Resources/ShaderProg.h \
  ../../src/Resources/Resource.h ../../src/Scene/Camera.h \
- ../../src/Scene/Node.h ../../src/Tokenizer/Scanner.h \
+ ../../src/Scene/SceneNode.h ../../src/Tokenizer/Scanner.h \
  ../../src/Tokenizer/Parser.h ../../src/Tokenizer/Scanner.h
 	@echo Compiling ../../src/Resources//Mesh.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Resources//Mesh.cpp -o Mesh.o
@@ -3020,7 +3029,7 @@ Input.o: ../../src/Util//Input.cpp ../../src/Util//Input.h \
  ../../src/Math/Transform.inl.h ../../src/Renderer/Renderer.h \
  ../../src/Resources/ShaderProg.h ../../src/Resources/Resource.h \
  ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Scene/Camera.h \
- ../../src/Misc/collision.h ../../src/Scene/Node.h
+ ../../src/Misc/collision.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Util//Input.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Util//Input.cpp -o Input.o
 
@@ -3174,7 +3183,7 @@ App.o: ../../src/Util//App.cpp ../../src/Util//App.h \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h
 	@echo Compiling ../../src/Util//App.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Util//App.cpp -o App.o
 
@@ -3187,8 +3196,8 @@ Util.o: ../../src/Util//Util.cpp ../../src/Util//Util.h \
 	@echo Compiling ../../src/Util//Util.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Util//Util.cpp -o Util.o
 
-Controller.o: ../../src/Controllers//Controller.cpp \
- ../../src/Controllers//Controller.h ../../src/Util/Common.h \
+Controller.o: ../../src/Scene/Controllers//Controller.cpp \
+ ../../src/Scene/Controllers//Controller.h ../../src/Util/Common.h \
  ../../src/Misc/memory.h ../../src/Scene/Scene.h ../../src/Misc/skybox.h \
  ../../src/Resources/Texture.h ../../src/Resources/Resource.h \
  ../../src/Util/Util.h ../../src/Util/Common.h ../../src/Math/Math.h \
@@ -3337,13 +3346,14 @@ Controller.o: ../../src/Controllers//Controller.cpp \
  ../../../bullet_svn/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h \
  ../../../bullet_svn/src/BulletCollision/CollisionDispatch/btCollisionWorld.h \
  ../../src/Physics/PhyConversions.h ../../src/Physics/MotionState.h \
- ../../src/Scene/Node.h ../../src/Physics/PhyWorld.h ../../src/Util/App.h
-	@echo Compiling ../../src/Controllers//Controller.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Controllers//Controller.cpp -o Controller.o
+ ../../src/Scene/SceneNode.h ../../src/Physics/PhyWorld.h \
+ ../../src/Util/App.h
+	@echo Compiling ../../src/Scene/Controllers//Controller.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene/Controllers//Controller.cpp -o Controller.o
 
-SkelAnimCtrl.o: ../../src/Controllers//SkelAnimCtrl.cpp \
- ../../src/Controllers//SkelAnimCtrl.h ../../src/Util/Common.h \
- ../../src/Misc/memory.h ../../src/Controllers//Controller.h \
+SkelAnimCtrl.o: ../../src/Scene/Controllers//SkelAnimCtrl.cpp \
+ ../../src/Scene/Controllers//SkelAnimCtrl.h ../../src/Util/Common.h \
+ ../../src/Misc/memory.h ../../src/Scene/Controllers//Controller.h \
  ../../src/Math/Math.h ../../src/Math/Vec2.h \
  ../../src/Math/MathForwardDecls.h ../../src/Math/Vec2.inl.h \
  ../../src/Math/MathDfltHeader.h ../../src/Math/Vec3.h \
@@ -3358,12 +3368,12 @@ SkelAnimCtrl.o: ../../src/Controllers//SkelAnimCtrl.cpp \
  ../../src/Math/Transform.inl.h ../../src/Resources/SkelAnim.h \
  ../../src/Resources/Resource.h ../../src/Util/Util.h \
  ../../src/Util/Common.h ../../src/Scene/SkelNode.h \
- ../../src/Scene/Node.h ../../src/Controllers/Controller.h \
+ ../../src/Scene/SceneNode.h ../../src/Scene/Controllers/Controller.h \
  ../../src/Resources/Skeleton.h ../../src/Renderer/Renderer.h \
  ../../src/Resources/ShaderProg.h ../../src/Scene/Camera.h \
  ../../src/Misc/collision.h
-	@echo Compiling ../../src/Controllers//SkelAnimCtrl.cpp...
-	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Controllers//SkelAnimCtrl.cpp -o SkelAnimCtrl.o
+	@echo Compiling ../../src/Scene/Controllers//SkelAnimCtrl.cpp...
+	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Scene/Controllers//SkelAnimCtrl.cpp -o SkelAnimCtrl.o
 
 PhyWorld.o: ../../src/Physics//PhyWorld.cpp ../../src/Physics//PhyWorld.h \
  ../../src/Util/Common.h ../../src/Misc/memory.h \
@@ -3512,7 +3522,7 @@ PhyWorld.o: ../../src/Physics//PhyWorld.cpp ../../src/Physics//PhyWorld.h \
  ../../src/Math/Mat4.inl.h ../../src/Math/MathFuncs.h \
  ../../src/Math/MathFuncs.inl.h ../../src/Math/Transform.h \
  ../../src/Math/Transform.inl.h ../../src/Physics//PhyConversions.h \
- ../../src/Physics//MotionState.h ../../src/Scene/Node.h
+ ../../src/Physics//MotionState.h ../../src/Scene/SceneNode.h
 	@echo Compiling ../../src/Physics//PhyWorld.cpp...
 	@$(CXX) $(INCPATH) $(CFLAGS) ../../src/Physics//PhyWorld.cpp -o PhyWorld.o
 

+ 1 - 1
build/debug/gen.cfg.py

@@ -1,4 +1,4 @@
-sourcePaths = [ "../../src/Math/", "../../src/Tokenizer/", "../../src/Misc/", "../../src/", "../../src/Renderer/", "../../src/Scene/", "../../src/Ui/", "../../src/Resources/", "../../src/Util/", "../../src/Controllers/", "../../src/Physics/", "../../src/Renderer/BufferObjects/" ]
+sourcePaths = [ "../../src/Math/", "../../src/Tokenizer/", "../../src/Misc/", "../../src/", "../../src/Renderer/", "../../src/Scene/", "../../src/Ui/", "../../src/Resources/", "../../src/Util/", "../../src/Scene/Controllers/", "../../src/Physics/", "../../src/Renderer/BufferObjects/" ]
 
 includePaths = list(sourcePaths)
 includePaths.extend( [ "../../../bullet_svn/src/" ] ) # the bullet svn path

+ 1 - 1
build/genmakefile.py

@@ -79,7 +79,7 @@ while 1:
 	arg = sys.argv[i]
 	if arg == "-h" or arg == "-help" or arg == "--help":
 		print( "Makefile generator by GODlike" )
-		print( "usage: genmakefile.py [options] [-i input] [-o output]" )
+		print( "usage: " + sys.argv[0] + " [options] [-i input] [-o output]" )
 		print( "options:" )
 		print( "-h, -help, --help  Print this text" )
 		print( "-i                 Input config file. Default: gen.cfg.py" )

+ 5 - 5
docs/Doxyfile

@@ -147,7 +147,7 @@ SHORT_NAMES            = YES
 # comments will behave just like regular Qt-style comments 
 # (thus requiring an explicit @brief command for a brief description.)
 
-JAVADOC_AUTOBRIEF      = NO
+JAVADOC_AUTOBRIEF      = YES
 
 # If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
 # interpret the first line (until the first dot) of a Qt-style 
@@ -520,7 +520,7 @@ LAYOUT_FILE            =
 # The QUIET tag can be used to turn on/off the messages that are generated 
 # by doxygen. Possible values are YES and NO. If left blank NO is used.
 
-QUIET                  = NO
+QUIET                  = YES
 
 # The WARNINGS tag can be used to turn on/off the warning messages that are 
 # generated by doxygen. Possible values are YES and NO. If left blank 
@@ -1260,7 +1260,7 @@ SEARCH_INCLUDES        = YES
 # contain include files that are not input files but should be processed by 
 # the preprocessor.
 
-INCLUDE_PATH           = ../trunk/src/Util
+INCLUDE_PATH           = ../src/Util
 
 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
 # patterns (like *.h and *.hpp) to filter out the header-files in the 
@@ -1277,8 +1277,8 @@ INCLUDE_FILE_PATTERNS  =
 # undefined via #undef or recursively expanded use the := operator 
 # instead of the = operator.
 
-PREDEFINED             = "PROPERTY_RW(x,y,z,w)=x y;" \
-                         "PROPERTY_R(x,y,z)=x y;"
+PREDEFINED             = "PROPERTY_RW(_v0_,_v1_,_v2_,_v3_):=_v0_ _v1_;" \
+                         "PROPERTY_R(_v0_,_v1_,_v2_):=_v0_ _v2_;"
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
 # this tag can be used to specify a list of macro names that should be expanded. 

+ 6 - 6
src/Main.cpp

@@ -192,7 +192,7 @@ void initPhysics()
 //=====================================================================================================================================
 void init()
 {
-	PRINT( "Engine initializing..." );
+	INFO( "Engine initializing..." );
 
 	srand( unsigned(time(NULL)) );
 	mathSanityChecks();
@@ -271,7 +271,7 @@ void init()
 
 	initPhysics();
 
-	PRINT( "Engine initialization ends (" << App::getTicks()-ticks << ")" );
+	INFO( "Engine initialization ends (" << App::getTicks()-ticks << ")" );
 }
 
 
@@ -285,7 +285,7 @@ int main( int /*argc*/, char* /*argv*/[] )
 
 	init();
 
-	PRINT( "Entering main loop" );
+	INFO( "Entering main loop" );
 	int ticks = App::getTicks();
 	do
 	{
@@ -298,7 +298,7 @@ int main( int /*argc*/, char* /*argv*/[] )
 		float scale = 0.01;
 
 		// move the camera
-		static Node* mover = app->getActiveCam();
+		static SceneNode* mover = app->getActiveCam();
 
 		if( I::keys[ SDLK_1 ] ) mover = app->getActiveCam();
 		if( I::keys[ SDLK_2 ] ) mover = point_lights[0];
@@ -390,10 +390,10 @@ int main( int /*argc*/, char* /*argv*/[] )
 		else
 			if( R::framesNum == 5000 ) break;
 	}while( true );
-	PRINT( "Exiting main loop (" << App::getTicks()-ticks << ")" );
+	INFO( "Exiting main loop (" << App::getTicks()-ticks << ")" );
 
 
-	PRINT( "Exiting..." );
+	INFO( "Exiting..." );
 	app->quitApp( EXIT_SUCCESS );
 	return 0;
 }

+ 1 - 1
src/Math/Euler.h

@@ -18,7 +18,7 @@ class Euler
 		float x, y, z;
 		// accessors
 		float& operator []( uint i );
-		float  operator []( uint i) const;
+		float  operator []( uint i ) const;
 		float& bank();
 		float  bank() const;
 		float& heading();

+ 3 - 3
src/Math/Transform.h

@@ -13,9 +13,9 @@ namespace M {
  */
 class Transform
 {
-	PROPERTY_RW( Mat3, rotation, setRotation, getRotation ) ///< Property
-	PROPERTY_RW( Vec3, origin, setOrigin, getOrigin ) ///< Property
-	PROPERTY_RW( float, scale, setScale, getScale ) ///< Property
+	PROPERTY_RW( Mat3, rotation, setRotation, getRotation ) ///< @ref PROPERTY_RW : The rotation
+	PROPERTY_RW( Vec3, origin, setOrigin, getOrigin ) ///< @ref PROPERTY_RW : The translation
+	PROPERTY_RW( float, scale, setScale, getScale ) ///< @ref PROPERTY_RW : The uniform scaling
 
 	public:
 		// constructors

+ 4 - 4
src/Misc/map.cpp

@@ -169,7 +169,7 @@ uint octree_t::CheckNodeAgainstFrustum( node_t* node, const Camera& cam ) const
 
 
 
-/**
+/*
 =======================================================================================================================================
 map                                                                                                                                   =
 =======================================================================================================================================
@@ -194,15 +194,15 @@ bool map_t::load( const char* filename )
 		token = &scanner.getNextToken();
 
 		// strings is what we want in this case... please let it be G-Strings
-		if( token->code == Scanner::TC_STRING )
+		if( token->getCode() == Scanner::TC_STRING )
 		{
-			Mesh* mesh = Rsrc::meshes.load( token->value.string );
+			Mesh* mesh = Rsrc::meshes.load( token->getValue().getString() );
 			if( !mesh ) return false;
 
 			meshes.push_back( mesh );
 		}
 		// end of file
-		else if( token->code == Scanner::TC_EOF )
+		else if( token->getCode() == Scanner::TC_EOF )
 		{
 			break;
 		}

+ 2 - 2
src/Misc/map.h

@@ -16,7 +16,7 @@ octree_t
 class octree_t
 {
 	public:
-		/// Node class
+		/// SceneNode class
 		// the class does not contain complicated functions. It mainly holds the data
 		class node_t
 		{
@@ -34,7 +34,7 @@ class octree_t
 				uint GetMeshesNum() const { return meshes.size(); }
 				uint GetFacesNum() const;
 		};
-		/// end Node class
+		/// end SceneNode class
 
 	protected:
 		// funcs for the tree creation

+ 3 - 3
src/Physics/MotionState.h

@@ -3,7 +3,7 @@
 
 #include "Common.h"
 #include "PhyCommon.h"
-#include "Node.h"
+#include "SceneNode.h"
 
 
 /**
@@ -13,10 +13,10 @@ class MotionState: public btMotionState
 {
 	protected:
 		btTransform worldTransform;
-		Node* node;
+		SceneNode* node;
 
 	public:
-		MotionState( const btTransform& initialTransform, Node* node_ ):
+		MotionState( const btTransform& initialTransform, SceneNode* node_ ):
 			worldTransform( initialTransform ),
 			node( node_ )
 		{

+ 1 - 1
src/Physics/PhyWorld.cpp

@@ -4,7 +4,7 @@
 //=====================================================================================================================================
 // createNewRigidBody                                                                                                                 =
 //=====================================================================================================================================
-btRigidBody* PhyWorld::createNewRigidBody( float mass, const Transform& startTransform, btCollisionShape* shape, Node* node, int group,
+btRigidBody* PhyWorld::createNewRigidBody( float mass, const Transform& startTransform, btCollisionShape* shape, SceneNode* node, int group,
                                            int mask )
 {
 	DEBUG_ERR( shape==NULL || shape->getShapeType()==INVALID_SHAPE_PROXYTYPE )

+ 1 - 1
src/Physics/PhyWorld.h

@@ -50,7 +50,7 @@ class PhyWorld
 		 * @param mask The mask of the body. Leave it blank if there is no mask
 		 * @return A new rigid body
 		 */
-		btRigidBody* createNewRigidBody( float mass, const Transform& startTransform, btCollisionShape* shape, Node* node, int group=-1,
+		btRigidBody* createNewRigidBody( float mass, const Transform& startTransform, btCollisionShape* shape, SceneNode* node, int group=-1,
 		                                 int mask=-1 );
 };
 

+ 5 - 5
src/Renderer/Dbg.cpp

@@ -3,7 +3,7 @@
 #include "Scene.h"
 #include "Texture.h"
 #include "Fbo.h"
-#include "Node.h"
+#include "SceneNode.h"
 #include "SkelNode.h"
 #include "App.h"
 #include "PhyCommon.h"
@@ -152,14 +152,14 @@ void runStage( const Camera& cam )
 	{
 		if
 		(
-			(app->getScene()->nodes[i]->type == Node::NT_LIGHT && showLights) ||
-			(app->getScene()->nodes[i]->type == Node::NT_CAMERA && showCameras) ||
-			app->getScene()->nodes[i]->type == Node::NT_PARTICLE_EMITTER
+			(app->getScene()->nodes[i]->type == SceneNode::NT_LIGHT && showLights) ||
+			(app->getScene()->nodes[i]->type == SceneNode::NT_CAMERA && showCameras) ||
+			app->getScene()->nodes[i]->type == SceneNode::NT_PARTICLE_EMITTER
 		)
 		{
 			app->getScene()->nodes[i]->render();
 		}
-		else if( app->getScene()->nodes[i]->type == Node::NT_SKELETON && showSkeletons )
+		else if( app->getScene()->nodes[i]->type == SceneNode::NT_SKELETON && showSkeletons )
 		{
 			SkelNode* skel_node = static_cast<SkelNode*>( app->getScene()->nodes[i] );
 			glDisable( GL_DEPTH_TEST );

+ 2 - 2
src/Renderer/Renderer.cpp

@@ -107,7 +107,7 @@ init
 */
 void init()
 {
-	PRINT( "Renderer initializing..." );
+	INFO( "Renderer initializing..." );
 
 	glewInit();
 
@@ -180,7 +180,7 @@ void init()
 	// misc
 	shdr_final = Rsrc::shaders.load( "shaders/final.glsl" );
 
-	PRINT( "Renderer initialization ends" );
+	INFO( "Renderer initialization ends" );
 }
 
 

+ 1 - 1
src/Resources/Extension.h

@@ -5,7 +5,7 @@
 #include "Resource.h"
 
 
-/// Extension resource
+/// Extension @ref Resource resource
 class Extension: public Resource
 {
 	private:

+ 23 - 23
src/Resources/LightProps.cpp

@@ -18,90 +18,90 @@ Scanner scanner;
 		token = &scanner.getNextToken();
 
 		//** DIFFUSE_COL **
-		if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "DIFFUSE_COLOR" ) )
+		if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "DIFFUSE_COLOR" ) )
 		{
-			ParseArrOfNumbers<float>( scanner, true, true, 3, &diffuseCol[0] );
+			Parser::parseArrOfNumbers<float>( scanner, true, true, 3, &diffuseCol[0] );
 		}
 		//** SPECULAR_COL **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "SPECULAR_COLOR" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "SPECULAR_COLOR" ) )
 		{
-			ParseArrOfNumbers<float>( scanner, true, true, 3, &specularCol[0] );
+			Parser::parseArrOfNumbers<float>( scanner, true, true, 3, &specularCol[0] );
 		}
 		//** RADIUS **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "RADIUS" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "RADIUS" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
 
-			radius = (token->type == Scanner::DT_FLOAT) ? token->value.float_ : float(token->value.int_);
+			radius = (token->getDataType() == Scanner::DT_FLOAT) ? token->getValue().getFloat() : float(token->getValue().getInt());
 		}
 		//** CASTS_SHADOW **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "CASTS_SHADOW" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "CASTS_SHADOW" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+			if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
 
-			castsShadow_ = token->value.int_;
+			castsShadow_ = token->getValue().getInt();
 		}
 		//** DISTANCE **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "DISTANCE" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "DISTANCE" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
 
-			distance = (token->type == Scanner::DT_FLOAT) ? token->value.float_ : float(token->value.int_);
+			distance = (token->getDataType() == Scanner::DT_FLOAT) ? token->getValue().getFloat() : float(token->getValue().getInt());
 		}
 		//** FOV_X **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "FOV_X" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "FOV_X" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
 
-			fovX = (token->type == Scanner::DT_FLOAT) ? token->value.float_ : float(token->value.int_);
+			fovX = (token->getDataType() == Scanner::DT_FLOAT) ? token->getValue().getFloat() : float(token->getValue().getInt());
 		}
 		//** FOV_Y **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "FOV_Y" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "FOV_Y" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
 
-			fovY = (token->type == Scanner::DT_FLOAT) ? token->value.float_ : float(token->value.int_);
+			fovY = (token->getDataType() == Scanner::DT_FLOAT) ? token->getValue().getFloat() : float(token->getValue().getInt());
 		}
 		//** TEXTURE **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "TEXTURE" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "TEXTURE" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_STRING )
+			if( token->getCode() != Scanner::TC_STRING )
 			{
 				PARSE_ERR_EXPECTED( "string" );
 				return false;
 			}
 				
-			texture = Rsrc::textures.load( token->value.string );
+			texture = Rsrc::textures.load( token->getValue().getString() );
 			texture->texParameter( GL_TEXTURE_MAX_ANISOTROPY_EXT, 0 );
 		}
 		// end of file
-		else if( token->code == Scanner::TC_EOF )
+		else if( token->getCode() == Scanner::TC_EOF )
 		{
 			break;
 		}

+ 1 - 1
src/Resources/LightProps.h

@@ -9,7 +9,7 @@
 class Texture;
 
 
-/// Light properties resource
+/// Light properties @ref Resource resource
 class LightProps: public Resource
 {
 	// data

+ 50 - 49
src/Resources/Material.cpp

@@ -8,6 +8,7 @@
 #include "Renderer.h"
 
 
+/// Customized @ref ERROR used in @ref Material class
 #define MTL_ERROR( x ) ERROR( "Material (" << getRsrcPath() << getRsrcName() << "): " << x );
 
 
@@ -16,11 +17,11 @@
 //=====================================================================================================================================
 struct BlendParam
 {
-	int gl_enum;
+	int glEnum;
 	const char* str;
 };
 
-static BlendParam bparams [] =
+static BlendParam blendingParams [] =
 {
 	{GL_ZERO, "GL_ZERO"},
 	{GL_ONE, "GL_ONE"},
@@ -41,9 +42,9 @@ static bool searchBlendEnum( const char* str, int& gl_enum )
 {
 	for( int i=0; i<BLEND_PARAMS_NUM; i++ )
 	{
-		if( !strcmp( bparams[i].str, str) )
+		if( !strcmp( blendingParams[i].str, str) )
 		{
-			gl_enum = bparams[i].gl_enum;
+			gl_enum = blendingParams[i].glEnum;
 			return true;
 		}
 	}
@@ -66,122 +67,122 @@ bool Material::load( const char* filename )
 		token = &scanner.getNextToken();
 
 		//** SHADER_PROG **
-		if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "SHADER_PROG" ) )
+		if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "SHADER_PROG" ) )
 		{
 			if( shaderProg ) ERROR( "Shader program already loaded" );
 
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_STRING )
+			if( token->getCode() != Scanner::TC_STRING )
 			{
 				PARSE_ERR_EXPECTED( "string" );
 				return false;
 			}
-			shaderProg = Rsrc::shaders.load( token->value.string );
+			shaderProg = Rsrc::shaders.load( token->getValue().getString() );
 		}
 		//** DEPTH_MATERIAL **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "DEPTH_PASS_MATERIAL" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "DEPTH_PASS_MATERIAL" ) )
 		{
 			if( dpMtl ) ERROR( "Depth material already loaded" );
 
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_STRING )
+			if( token->getCode() != Scanner::TC_STRING )
 			{
 				PARSE_ERR_EXPECTED( "string" );
 				return false;
 			}
-			dpMtl = Rsrc::materials.load( token->value.string );
+			dpMtl = Rsrc::materials.load( token->getValue().getString() );
 		}
 		//** BLENDS **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "BLENDS" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "BLENDS" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
-			blends = token->value.int_;
+			blends = token->getValue().getInt();
 		}
 		//** REFRACTS **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "REFRACTS" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "REFRACTS" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
-			refracts = token->value.int_;
+			refracts = token->getValue().getInt();
 		}
 		//** BLENDING_SFACTOR **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "BLENDING_SFACTOR" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "BLENDING_SFACTOR" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_IDENTIFIER )
+			if( token->getCode() != Scanner::TC_IDENTIFIER )
 			{
 				PARSE_ERR_EXPECTED( "identifier" );
 				return false;
 			}
 			int gl_enum;
-			if( !searchBlendEnum(token->value.string, gl_enum) )
+			if( !searchBlendEnum(token->getValue().getString(), gl_enum) )
 			{
-				PARSE_ERR( "Incorrect blending factor \"" << token->value.string << "\"" );
+				PARSE_ERR( "Incorrect blending factor \"" << token->getValue().getString() << "\"" );
 				return false;
 			}
 			blendingSfactor = gl_enum;
 		}
 		//** BLENDING_DFACTOR **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "BLENDING_DFACTOR" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "BLENDING_DFACTOR" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_IDENTIFIER )
+			if( token->getCode() != Scanner::TC_IDENTIFIER )
 			{
 				PARSE_ERR_EXPECTED( "identifier" );
 				return false;
 			}
 			int gl_enum;
-			if( !searchBlendEnum(token->value.string, gl_enum) )
+			if( !searchBlendEnum(token->getValue().getString(), gl_enum) )
 			{
-				PARSE_ERR( "Incorrect blending factor \"" << token->value.string << "\"" );
+				PARSE_ERR( "Incorrect blending factor \"" << token->getValue().getString() << "\"" );
 				return false;
 			}
 			blendingDfactor = gl_enum;
 		}
 		//** DEPTH_TESTING **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "DEPTH_TESTING" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "DEPTH_TESTING" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
-			depthTesting = token->value.int_;
+			depthTesting = token->getValue().getInt();
 		}
 		//** WIREFRAME **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "WIREFRAME" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "WIREFRAME" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
-			wireframe = token->value.int_;
+			wireframe = token->getValue().getInt();
 		}
 		//** CASTS_SHADOW **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "CASTS_SHADOW" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "CASTS_SHADOW" ) )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
 			}
-			castsShadow = token->value.int_;
+			castsShadow = token->getValue().getInt();
 		}
 		//** USER_DEFINED_VARS **
-		else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "USER_DEFINED_VARS" ) )
+		else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "USER_DEFINED_VARS" ) )
 		{
 			// first check if the shader is defined
 			if( shaderProg == NULL )
@@ -192,7 +193,7 @@ bool Material::load( const char* filename )
 
 			// read {
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_LBRACKET )
+			if( token->getCode() != Scanner::TC_LBRACKET )
 			{
 				PARSE_ERR_EXPECTED( "{" );
 				return false;
@@ -202,16 +203,16 @@ bool Material::load( const char* filename )
 			{
 				// read the name
 				token = &scanner.getNextToken();
-				if( token->code == Scanner::TC_RBRACKET ) break;
+				if( token->getCode() == Scanner::TC_RBRACKET ) break;
 
-				if( token->code != Scanner::TC_IDENTIFIER )
+				if( token->getCode() != Scanner::TC_IDENTIFIER )
 				{
 					PARSE_ERR_EXPECTED( "identifier" );
 					return false;
 				}
 
 				string varName;
-				varName = token->value.string;
+				varName = token->getValue().getString();
 
 				userDefinedVars.push_back( UserDefinedVar() ); // create new var
 				UserDefinedVar& var = userDefinedVars.back();
@@ -231,23 +232,23 @@ bool Material::load( const char* filename )
 					// texture
 					case GL_SAMPLER_2D:
 						token = &scanner.getNextToken();
-						if( token->code == Scanner::TC_STRING )
+						if( token->getCode() == Scanner::TC_STRING )
 						{
-							var.value.texture = Rsrc::textures.load( token->value.string );
+							var.value.texture = Rsrc::textures.load( token->getValue().getString() );
 						}
-						else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "IS_FAI" ) )
+						else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "IS_FAI" ) )
 						{
 							var.value.texture = &R::Is::fai;
 						}
-						else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "MS_NORMAL_FAI" ) )
+						else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "MS_NORMAL_FAI" ) )
 						{
 							var.value.texture = &R::Ms::normalFai;
 						}
-						else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "MS_DEPTH_FAI" ) )
+						else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "MS_DEPTH_FAI" ) )
 						{
 							var.value.texture = &R::Ms::depthFai;
 						}
-						else if( token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "PPS_FAI" ) )
+						else if( token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "PPS_FAI" ) )
 						{
 							var.value.texture = &R::Pps::fai;
 						}
@@ -260,8 +261,8 @@ bool Material::load( const char* filename )
 					// float
 					case GL_FLOAT:
 						token = &scanner.getNextToken();
-						if( token->code == Scanner::TC_NUMBER && token->type == Scanner::DT_FLOAT )
-							var.value.float_ = token->value.float_;
+						if( token->getCode() == Scanner::TC_NUMBER && token->getDataType() == Scanner::DT_FLOAT )
+							var.value.float_ = token->getValue().getFloat();
 						else
 						{
 							PARSE_ERR_EXPECTED( "float" );
@@ -274,11 +275,11 @@ bool Material::load( const char* filename )
 						break;
 					// vec3
 					case GL_FLOAT_VEC3:
-						if( !ParseArrOfNumbers<float>( scanner, true, true, 3, &var.value.vec3[0] ) ) return false;
+						if( !Parser::parseArrOfNumbers<float>( scanner, true, true, 3, &var.value.vec3[0] ) ) return false;
 						break;
 					// vec4
 					case GL_FLOAT_VEC4:
-						if( !ParseArrOfNumbers<float>( scanner, true, true, 4, &var.value.vec4[0] ) ) return false;
+						if( !Parser::parseArrOfNumbers<float>( scanner, true, true, 4, &var.value.vec4[0] ) ) return false;
 						break;
 				};
 
@@ -286,7 +287,7 @@ bool Material::load( const char* filename )
 
 		}
 		// end of file
-		else if( token->code == Scanner::TC_EOF )
+		else if( token->getCode() == Scanner::TC_EOF )
 		{
 			break;
 		}

+ 1 - 1
src/Resources/Material.h

@@ -7,7 +7,7 @@
 #include "ShaderProg.h"
 
 
-/// Mesh material resource
+/// Mesh material @ref Resource resource
 class Material: public Resource
 {
 	//===================================================================================================================================

+ 23 - 23
src/Resources/Mesh.cpp

@@ -18,121 +18,121 @@ bool Mesh::load( const char* filename )
 
 	//** MATERIAL **
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_STRING )
+	if( token->getCode() != Scanner::TC_STRING )
 	{
 		PARSE_ERR_EXPECTED( "string" );
 		return false;
 	}
-	materialName = token->value.string;
+	materialName = token->getValue().getString();
 
 	//** DP_MATERIAL **
 	/*token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_STRING )
+	if( token->getCode() != Scanner::TC_STRING )
 	{
 		PARSE_ERR_EXPECTED( "string" );
 		return false;
 	}
-	dp_materialName = token->value.string;*/
+	dp_materialName = token->getValue().getString();*/
 
 	//** VERTS **
 	// verts num
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	vertCoords.resize( token->value.int_ );
+	vertCoords.resize( token->getValue().getInt() );
 
 	// read the verts
 	for( uint i=0; i<vertCoords.size(); i++ )
 	{
-		if( !ParseArrOfNumbers<float>( scanner, false, true, 3, &vertCoords[i][0] ) ) return false;
+		if( !Parser::parseArrOfNumbers<float>( scanner, false, true, 3, &vertCoords[i][0] ) ) return false;
 	}
 
 	//** FACES **
 	// faces num
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	tris.resize( token->value.int_ );
+	tris.resize( token->getValue().getInt() );
 	// read the faces
 	for( uint i=0; i<tris.size(); i++ )
 	{
-		if( !ParseArrOfNumbers<uint>( scanner, false, true, 3, tris[i].vertIds ) ) return false;
+		if( !Parser::parseArrOfNumbers<uint>( scanner, false, true, 3, tris[i].vertIds ) ) return false;
 	}
 
 	//** UVS **
 	// UVs num
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	texCoords.resize( token->value.int_ );
+	texCoords.resize( token->getValue().getInt() );
 	// read the texCoords
 	for( uint i=0; i<texCoords.size(); i++ )
 	{
-		if( !ParseArrOfNumbers( scanner, false, true, 2, &texCoords[i][0] ) ) return false;
+		if( !Parser::parseArrOfNumbers( scanner, false, true, 2, &texCoords[i][0] ) ) return false;
 	}
 
 	//** VERTEX WEIGHTS **
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	vertWeights.resize( token->value.int_ );
+	vertWeights.resize( token->getValue().getInt() );
 	for( uint i=0; i<vertWeights.size(); i++ )
 	{
 		// get the bone connections num
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+		if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 		{
 			PARSE_ERR_EXPECTED( "integer" );
 			return false;
 		}
 
 		// we treat as error if one vert doesnt have a bone
-		if( token->value.int_ < 1 )
+		if( token->getValue().getInt() < 1 )
 		{
 			ERROR( "Vert \"" << i << "\" doesnt have at least one bone" );
 			return false;
 		}
 
 		// and here is another possible error
-		if( token->value.int_ > VertexWeight::MAX_BONES_PER_VERT )
+		if( token->getValue().getInt() > VertexWeight::MAX_BONES_PER_VERT )
 		{
 			ERROR( "Cannot have more than " << VertexWeight::MAX_BONES_PER_VERT << " bones per vertex" );
 			return false;
 		}
-		vertWeights[i].bonesNum = token->value.int_;
+		vertWeights[i].bonesNum = token->getValue().getInt();
 
 		// for all the weights of the current vertes
 		for( uint j=0; j<vertWeights[i].bonesNum; j++ )
 		{
 			// read bone id
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+			if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 			{
 				PARSE_ERR_EXPECTED( "integer" );
 				return false;
 			}
-			vertWeights[i].boneIds[j] = token->value.int_;
+			vertWeights[i].boneIds[j] = token->getValue().getInt();
 
 			// read the weight of that bone
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_FLOAT )
+			if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_FLOAT )
 			{
 				PARSE_ERR_EXPECTED( "float" );
 				return false;
 			}
-			vertWeights[i].weights[j] = token->value.float_;
+			vertWeights[i].weights[j] = token->getValue().getFloat();
 		}
 	}
 

+ 1 - 1
src/Resources/Mesh.h

@@ -8,7 +8,7 @@
 #include "collision.h"
 
 
-/// Mesh resource
+/// Mesh @ref Resource resource
 class Mesh: public Resource
 {
 	// data

+ 1 - 1
src/Resources/Path.h

@@ -6,7 +6,7 @@
 #include "Math.h"
 
 
-/// Path resource
+/// Path @ref Resource resource
 class Path: public Resource
 {
 	public:

+ 19 - 19
src/Resources/ShaderPrePreprocessor.cpp

@@ -74,17 +74,17 @@ bool ShaderPrePreprocessor::parseFileForPragmas( const string& filename, int dep
 	{
 		token = &scanner.getNextToken();
 
-		if( token->code == Scanner::TC_SHARP )
+		if( token->getCode() == Scanner::TC_SHARP )
 		{
 			token = &scanner.getNextToken();
-			if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "pragma") == 0 )
+			if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "pragma") == 0 )
 			{
 				token = &scanner.getNextToken();
-				if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "anki") == 0 )
+				if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "anki") == 0 )
 				{
 					token = &scanner.getNextToken();
 /* vertShaderBegins */
-					if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "vertShaderBegins") == 0 )
+					if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "vertShaderBegins") == 0 )
 					{
 						// play
 
@@ -126,7 +126,7 @@ bool ShaderPrePreprocessor::parseFileForPragmas( const string& filename, int dep
 						// stop play
 					}
 /* geomShaderBegins */
-					else if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "geomShaderBegins") == 0 )
+					else if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "geomShaderBegins") == 0 )
 					{
 						// play
 
@@ -167,7 +167,7 @@ bool ShaderPrePreprocessor::parseFileForPragmas( const string& filename, int dep
 						// stop play
 					}
 /* fragShaderBegins */
-					else if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "fragShaderBegins") == 0 )
+					else if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "fragShaderBegins") == 0 )
 					{
 						// play
 
@@ -199,15 +199,15 @@ bool ShaderPrePreprocessor::parseFileForPragmas( const string& filename, int dep
 						// stop play
 					}
 /* include */
-					else if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "include") == 0 )
+					else if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "include") == 0 )
 					{
 						token = &scanner.getNextToken();
-						if( token->code == Scanner::TC_STRING )
+						if( token->getCode() == Scanner::TC_STRING )
 						{
 							// play
 							//int line = sourceLines.size();
 							sourceLines.push_back( string("#line 0 ") + Util::intToStr(depth+1) + " // " + lines[scanner.getLineNmbr()-1] );
-							if( !parseFileForPragmas( token->value.string, depth+1 ) ) return false;
+							if( !parseFileForPragmas( token->getValue().getString(), depth+1 ) ) return false;
 							sourceLines.push_back( string("#line ") + Util::intToStr(scanner.getLineNmbr()) + ' ' + Util::intToStr(depth) +  " // end of " + lines[scanner.getLineNmbr()-1] );
 							// stop play
 						}
@@ -218,16 +218,16 @@ bool ShaderPrePreprocessor::parseFileForPragmas( const string& filename, int dep
 						}
 					}
 /* attribute */
-					else if( token->code == Scanner::TC_IDENTIFIER && strcmp(token->value.string, "attribute") == 0 )
+					else if( token->getCode() == Scanner::TC_IDENTIFIER && strcmp(token->getValue().getString(), "attribute") == 0 )
 					{
 						token = &scanner.getNextToken();
-						if( token->code == Scanner::TC_IDENTIFIER )
+						if( token->getCode() == Scanner::TC_IDENTIFIER )
 						{
-							string varName = token->value.string;
+							string varName = token->getValue().getString();
 							token = &scanner.getNextToken();
-							if( token->code == Scanner::TC_NUMBER && token->type == Scanner::DT_INT )
+							if( token->getCode() == Scanner::TC_NUMBER && token->getDataType() == Scanner::DT_INT )
 							{
-								int loc = token->value.int_;
+								int loc = token->getValue().getInt();
 
 								// check if already defined and for circular includance
 								Vec<ShaderVarPragma>::iterator attrib = findShaderVar( output.attributes, varName );
@@ -277,32 +277,32 @@ bool ShaderPrePreprocessor::parseFileForPragmas( const string& filename, int dep
 				} // end if anki
 				
 				token = &scanner.getNextToken();
-				if( token->code!=Scanner::TC_NEWLINE && token->code!=Scanner::TC_EOF )
+				if( token->getCode()!=Scanner::TC_NEWLINE && token->getCode()!=Scanner::TC_EOF )
 				{
 					PARSE_ERR_EXPECTED( "newline or end of file" );
 					return false;
 				}
 				
-				if( token->code == Scanner::TC_EOF )
+				if( token->getCode() == Scanner::TC_EOF )
 					break;
 				
 			} // end if pragma
 		} // end if #
 /* newline */		
-		else if( token->code == Scanner::TC_NEWLINE )
+		else if( token->getCode() == Scanner::TC_NEWLINE )
 		{
 			sourceLines.push_back( lines[ scanner.getLineNmbr() - 2 ] );
 			//PRINT( lines[ scanner.getLineNmbr() - 2 ] )
 		}
 /* EOF */
-		else if( token->code == Scanner::TC_EOF )
+		else if( token->getCode() == Scanner::TC_EOF )
 		{
 			sourceLines.push_back( lines[ scanner.getLineNmbr() - 1 ] );
 			//PRINT( lines[ scanner.getLineNmbr() - 1 ] )
 			break;
 		}
 /* error */
-		else if( token->code == Scanner::TC_ERROR )
+		else if( token->getCode() == Scanner::TC_ERROR )
 		{
 			return false;
 		}

+ 2 - 0
src/Resources/ShaderPrePreprocessor.h

@@ -6,6 +6,8 @@
 
 
 /**
+ * @brief Helper class used for shader program loading
+ *
  * The class fills some of the GLSL spec deficiencies. It adds the include preprocessor directive and the support to have all the
  * shaders in the same file. The file that includes all the shaders is called ShaderPrePreprocessor-compatible. The preprocessor pragmas are
  * four: include, vertShaderBegins, fragShaderBegins and attribute. The *ShaderBegins indicate where the shader code begins and must be

+ 18 - 15
src/Resources/ShaderProg.h

@@ -6,37 +6,40 @@
 #include "Common.h"
 #include "Resource.h"
 
-class ShaderPrePreprocessor;
-class Texture;
 
 /**
+ * @brief Shader program @ref Resource
+ *
  * Shader program. Combines a fragment and a vertex shader. Every shader program consist of one OpenGL ID, a vector of uniform variables
  * and a vector of attribute variables. Every variable is a struct that contains the variable's name, location, OpenGL data type and
  * if it is a uniform or an attribute var.
  */
 class ShaderProg: public Resource
 {
-	PROPERTY_R( uint, glId, getGlId )
+	PROPERTY_R( uint, glId, getGlId ) ///< @ref PROPERTY_R : The OpenGL ID of the shader program
 	
 	friend class Material;
 
 	private:
 		/**
-		 * Attribute of uniform variable
+		 * @brief Shader program variable. The type is attribute or uniform
 		 */
 		class Var
 		{
-			PROPERTY_R( int, loc, getLoc );
-			PROPERTY_R( string, name, getName );
-			PROPERTY_R( GLenum, glDataType, getGlDataType ); ///< GL_FLOAT, GL_FLOAT_VEC2... etc
-			PROPERTY_R( uint, type, getType ); ///< SVT_ATTRIBUTE or SVT_UNIFORM
+			PROPERTY_R( int, loc, getLoc ) ///< ToDo
+			PROPERTY_R( string, name, getName ) ///< ToDo
+			PROPERTY_R( GLenum, glDataType, getGlDataType ) ///< @ref PROPERTY_R : GL_FLOAT, GL_FLOAT_VEC2... etc
+			PROPERTY_R( uint, type, getType ) ///< @ref PROPERTY_R : @ref SVT_ATTRIBUTE or @ref SVT_UNIFORM
 
 			public:
+				/**
+				 * Shader var types
+				 */
 				enum
 				{
-					SVT_ATTRIBUTE,
-					SVT_UNIFORM
-				}; ///< Shader var types
+					SVT_ATTRIBUTE, ///< SVT_ATTRIBUTE
+					SVT_UNIFORM    ///< SVT_UNIFORM
+				};
 
 				Var( int loc_, const char* name_, GLenum glDataType_, uint type_ ):
 					loc(loc_), name(name_), glDataType(glDataType_), type(type_)
@@ -55,7 +58,7 @@ class ShaderProg: public Resource
 		typedef map<string,Var*>::const_iterator NameToVarIterator; ///< Variable name to variable iterator
 
 		void getUniAndAttribVars(); ///< After the linking of the shader prog is done gather all the vars in custom containers
-		bool bindCustomAttribLocs( const ShaderPrePreprocessor& pars ) const; ///< Uses glBindAttribLocation for every parser attrib location
+		bool bindCustomAttribLocs( const class ShaderPrePreprocessor& pars ) const; ///< Uses glBindAttribLocation for every parser attrib location
 		uint createAndCompileShader( const char* sourceCode, const char* preproc, int type ) const; ///< @return Returns zero on failure
 		bool link(); ///< Link the shader prog
 		
@@ -65,7 +68,7 @@ class ShaderProg: public Resource
 		
 		inline void bind() const { DEBUG_ERR( glId==0 ); glUseProgram(glId); }
 		static void unbind() { glUseProgram(0); }
-		static uint getCurrentProgramGlId() { int i; glGetIntegerv( GL_CURRENT_PROGRAM, &i ); return i; }
+		static uint getCurrentProgramGlId() { int i; glGetIntegerv( GL_CURRENT_PROGRAM, &i ); return i; } ///< Query the GL driver for the current shader program GL ID
 
 		bool load( const char* filename );
 		bool customLoad( const char* filename, const char* extraSource = "" ); ///< Used by the renderer's shader programs
@@ -89,8 +92,8 @@ class ShaderProg: public Resource
 		 * @param tex The texture
 		 * @param texUnit The number of the texture unit
 		 */
-		void locTexUnit( int varLoc, const Texture& tex, uint texUnit ) const;
-		void locTexUnit( const char* varName, const Texture& tex, uint texUnit ) const; ///< @see locTexUnit
+		void locTexUnit( int varLoc, const class Texture& tex, uint texUnit ) const;
+		void locTexUnit( const char* varName, const class Texture& tex, uint texUnit ) const; ///< @see locTexUnit
 }; 
 
 #endif

+ 9 - 9
src/Resources/SkelAnim.cpp

@@ -16,37 +16,37 @@ bool SkelAnim::load( const char* filename )
 
 	// keyframes
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT  )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT  )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	keyframes.resize( token->value.int_ );
+	keyframes.resize( token->getValue().getInt() );
 
-	if( !ParseArrOfNumbers( scanner, false, false, keyframes.size(), &keyframes[0] ) ) return false;
+	if( !Parser::parseArrOfNumbers( scanner, false, false, keyframes.size(), &keyframes[0] ) ) return false;
 
 	// bones num
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT  )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT  )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	bones.resize( token->value.int_ );
+	bones.resize( token->getValue().getInt() );
 
 	// poses
 	for( uint i=0; i<bones.size(); i++ )
 	{
 		// has anim?
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT  )
+		if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT  )
 		{
 			PARSE_ERR_EXPECTED( "integer" );
 			return false;
 		}
 
 		// it has
-		if( token->value.int_ == 1 )
+		if( token->getValue().getInt() == 1 )
 		{
 			bones[i].keyframes.resize( keyframes.size() );
 
@@ -54,11 +54,11 @@ bool SkelAnim::load( const char* filename )
 			{
 				// parse the quat
 				float tmp[4];
-				if( !ParseArrOfNumbers( scanner, false, true, 4, &tmp[0] ) ) return false;
+				if( !Parser::parseArrOfNumbers( scanner, false, true, 4, &tmp[0] ) ) return false;
 				bones[i].keyframes[j].rotation = Quat( tmp[1], tmp[2], tmp[3], tmp[0] );
 
 				// parse the vec3
-				if( !ParseArrOfNumbers( scanner, false, true, 3, &bones[i].keyframes[j].translation[0] ) ) return false;
+				if( !Parser::parseArrOfNumbers( scanner, false, true, 3, &bones[i].keyframes[j].translation[0] ) ) return false;
 			}
 		}
 	} // end for all bones

+ 16 - 16
src/Resources/Skeleton.cpp

@@ -16,12 +16,12 @@ bool Skeleton::load( const char* filename )
 
 	//** BONES NUM **
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return false;
 	}
-	bones.resize( token->value.int_, Bone() );
+	bones.resize( token->getValue().getInt(), Bone() );
 
 	for( uint i=0; i<bones.size(); i++ )
 	{
@@ -30,22 +30,22 @@ bool Skeleton::load( const char* filename )
 
 		// NAME
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_STRING )
+		if( token->getCode() != Scanner::TC_STRING )
 		{
 			PARSE_ERR_EXPECTED( "string" );
 			return false;
 		}
-		bone.setName( token->value.string );
+		bone.setName( token->getValue().getString() );
 
 		// head
-		if( !ParseArrOfNumbers<float>( scanner, false, true, 3, &bone.head[0] ) ) return false;
+		if( !Parser::parseArrOfNumbers<float>( scanner, false, true, 3, &bone.head[0] ) ) return false;
 
 		// tail
-		if( !ParseArrOfNumbers<float>( scanner, false, true, 3, &bone.tail[0] ) ) return false;
+		if( !Parser::parseArrOfNumbers<float>( scanner, false, true, 3, &bone.tail[0] ) ) return false;
 
 		// matrix
 		Mat4 m4;
-		if( !ParseArrOfNumbers<float>( scanner, false, true, 16, &m4[0] ) ) return false;
+		if( !Parser::parseArrOfNumbers<float>( scanner, false, true, 16, &m4[0] ) ) return false;
 
 		// matrix for real
 		bone.rotSkelSpace = m4.getRotationPart();
@@ -56,40 +56,40 @@ bool Skeleton::load( const char* filename )
 
 		// parent
 		token = &scanner.getNextToken();
-		if( (token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT) &&
-		    (token->code != Scanner::TC_IDENTIFIER || strcmp( token->value.string, "NULL" )!=0) )
+		if( (token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT) &&
+		    (token->getCode() != Scanner::TC_IDENTIFIER || strcmp( token->getValue().getString(), "NULL" )!=0) )
 		{
 			PARSE_ERR_EXPECTED( "integer or NULL" );
 			return false;
 		}
 
-		if( token->code == Scanner::TC_IDENTIFIER )
+		if( token->getCode() == Scanner::TC_IDENTIFIER )
 			bone.parent = NULL;
 		else
-			bone.parent = &bones[ token->value.int_ ];
+			bone.parent = &bones[ token->getValue().getInt() ];
 
 		// childs
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+		if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 		{
 			PARSE_ERR_EXPECTED( "integer" );
 			return false;
 		}
-		if( token->value.int_ > Bone::MAX_CHILDS_PER_BONE )
+		if( token->getValue().getInt() > Bone::MAX_CHILDS_PER_BONE )
 		{
 			ERROR( "Childs for bone \"" << bone.getName() << "\" exceed the max" );
 			return false;
 		}
-		bone.childsNum = token->value.int_;
+		bone.childsNum = token->getValue().getInt();
 		for( int j=0; j<bone.childsNum; j++ )
 		{
 			token = &scanner.getNextToken();
-			if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+			if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 			{
 				PARSE_ERR_EXPECTED( "integer" );
 				return false;
 			}
-			bone.childs[j] = &bones[ token->value.int_ ];
+			bone.childs[j] = &bones[ token->getValue().getInt() ];
 		}
 	} // for all bones
 

+ 12 - 6
src/Resources/Skeleton.h

@@ -6,11 +6,20 @@
 #include "Resource.h"
 
 
-/// Skeleton
+/**
+ * It contains the bones with their position and hierarchy
+ */
 class Skeleton: public Resource
 {
 	public:
-		/// Bone
+		/**
+		 * Skeleton bone
+		 *
+		 * @note The rotation and translation that transform the bone from bone space to armature space. Meaning that if
+		 * MA = TRS(rotSkelSpace, tslSkelSpace) then head = MA * Vec3(0.0, length, 0.0) and tail = MA * Vec3( 0.0, 0.0, 0.0 )
+		 * We also keep the inverted ones for fast calculations. rotSkelSpaceInv = MA.Inverted().getRotationPart() and NOT
+		 * rotSkelSpaceInv = rotSkelSpace.GetInverted()
+		 */
 		class Bone
 		{
 			PROPERTY_RW( string, name, setName, getName )
@@ -24,10 +33,7 @@ class Skeleton: public Resource
 				Vec3  head;
 				Vec3  tail;
 
-				/* The rotation and translation that transform the bone from bone space to armature space. Meaning that if
-				MA = TRS(rotSkelSpace, tslSkelSpace) then head = MA * Vec3(0.0, length, 0.0) and tail = MA * Vec3( 0.0, 0.0, 0.0 )
-				We also keep the inverted ones for fast calculations. rotSkelSpaceInv = MA.Inverted().getRotationPart() and NOT
-				rotSkelSpaceInv = rotSkelSpace.GetInverted() */
+				/*  */
 				Mat3 rotSkelSpace;
 				Vec3 tslSkelSpace;
 				Mat3 rotSkelSpaceInv;

+ 9 - 6
src/Scene/Camera.h

@@ -3,10 +3,13 @@
 
 #include "Common.h"
 #include "collision.h"
-#include "Node.h"
+#include "SceneNode.h"
 
 
-class Camera: public Node
+/**
+ * @brief Camera SceneNode
+ */
+class Camera: public SceneNode
 {
 	public:
 		enum FrustrumPlanes
@@ -48,14 +51,14 @@ class Camera: public Node
 
 	public:
 		// constructors and destuctors
-		Camera( float fovx_, float fovy_, float znear_, float zfar_ ): Node(NT_CAMERA), fovX(fovx_), fovY(fovy_), zNear(znear_), zFar(zfar_)
+		Camera( float fovx_, float fovy_, float znear_, float zfar_ ): SceneNode(NT_CAMERA), fovX(fovx_), fovY(fovy_), zNear(znear_), zFar(zfar_)
 		{
 			calcLSpaceFrustumPlanes();
 			updateWSpaceFrustumPlanes();
 			calcProjectionMatrix();
 		}
-		Camera( const Camera& c ): Node(NT_CAMERA) { memcpy( this, &c, sizeof( Camera ) ); }
-		Camera(): Node(NT_CAMERA) {}
+		Camera( const Camera& c ): SceneNode(NT_CAMERA) { memcpy( this, &c, sizeof( Camera ) ); }
+		Camera(): SceneNode(NT_CAMERA) {}
 		~Camera() {}
 
 		// Sets & Gets
@@ -70,7 +73,7 @@ class Camera: public Node
 		float getZFar () const { return zFar; }
 		const Mat4& getProjectionMatrix() const { return projectionMat; }
 		const Mat4& getViewMatrix() const { return viewMat; }
-		const Mat4& getInvProjectionMatrix() const { return invProjectionMat; } // see the declaration of invProjectionMat for info
+		const Mat4& getInvProjectionMatrix() const { return invProjectionMat; } ///< See the declaration of invProjectionMat for info
 
 		// misc
 		void lookAtPoint( const Vec3& point );

+ 0 - 0
src/Controllers/Controller.cpp → src/Scene/Controllers/Controller.cpp


+ 0 - 0
src/Controllers/Controller.h → src/Scene/Controllers/Controller.h


+ 0 - 0
src/Controllers/LightPropsScriptCtrl.h → src/Scene/Controllers/LightPropsScriptCtrl.h


+ 0 - 0
src/Controllers/MeshSkelNodeCtrl.h → src/Scene/Controllers/MeshSkelNodeCtrl.h


+ 0 - 0
src/Controllers/README → src/Scene/Controllers/README


+ 0 - 0
src/Controllers/SkelAnimCtrl.cpp → src/Scene/Controllers/SkelAnimCtrl.cpp


+ 0 - 0
src/Controllers/SkelAnimCtrl.h → src/Scene/Controllers/SkelAnimCtrl.h


+ 2 - 2
src/Controllers/TrfScriptCtrl.h → src/Scene/Controllers/TrfScriptCtrl.h

@@ -9,9 +9,9 @@
 class TrfScriptCtrl: public Controller
 {
 	public:
-		Node* node;
+		SceneNode* node;
 	
-		TrfScriptCtrl( Node* node_ ): Controller( CT_TRF ), node(node_) {}
+		TrfScriptCtrl( SceneNode* node_ ): Controller( CT_TRF ), node(node_) {}
 		void Update( float ) { /* ToDo */ }
 };
 

+ 3 - 3
src/Scene/GhostNode.h

@@ -2,15 +2,15 @@
 #define _GHOSTNODE_H_
 
 #include "Common.h"
-#include "Node.h"
+#include "SceneNode.h"
 
 /**
  * This is a node that does nothing
  */
-class GhostNode: public Node
+class GhostNode: public SceneNode
 {
 	public:
-		GhostNode(): Node(NT_GHOST) { }
+		GhostNode(): SceneNode(NT_GHOST) { }
 		void init( const char* ) {}
 		void render() {}
 		void deinit() {}

+ 6 - 6
src/Scene/Light.h

@@ -19,14 +19,14 @@ Specular intensity of material: Sm
 
 #include "Common.h"
 #include "Texture.h"
-#include "Node.h"
+#include "SceneNode.h"
 #include "Camera.h"
 
 class LightProps;
 
 
-/// Light (A)
-class Light: public Node
+/// Light scene node (Abstract)
+class Light: public SceneNode
 {
 	public:
 		enum Type { LT_POINT, LT_SPOT };
@@ -34,13 +34,13 @@ class Light: public Node
 		Type type;
 		LightProps* lightProps; ///< Later we will add a controller
 	
-		Light( Type type_ ): Node(NT_LIGHT), type(type_) {}
+		Light( Type type_ ): SceneNode(NT_LIGHT), type(type_) {}
 		//void init( const char* );
 		void deinit();
 };
 
 
-/// PointLight
+/// PointLight scene node
 class PointLight: public Light
 {
 	public:
@@ -52,7 +52,7 @@ class PointLight: public Light
 };
 
 
-/// SpotLight
+/// SpotLight scene node
 class SpotLight: public Light
 {
 	public:

+ 4 - 4
src/Scene/MeshNode.h

@@ -2,15 +2,15 @@
 #define _MESH_NODE_H_
 
 #include "Common.h"
-#include "Node.h"
+#include "SceneNode.h"
 #include "Material.h"
 
 class MeshSkelNodeCtrl;
 class Mesh;
 
 
-/// Mesh node
-class MeshNode: public Node
+/// Mesh scene node
+class MeshNode: public SceneNode
 {
 	private:
 		void render( Material* mtl ) const; ///< Common code for render() and renderDepth()
@@ -23,7 +23,7 @@ class MeshNode: public Node
 		// controllers
 		MeshSkelNodeCtrl* meshSkelCtrl;
 		// funcs
-		MeshNode(): Node(NT_MESH), material(NULL), dpMaterial(NULL), meshSkelCtrl(NULL) {}
+		MeshNode(): SceneNode(NT_MESH), material(NULL), dpMaterial(NULL), meshSkelCtrl(NULL) {}
 		virtual void render() { render(material); }
 		virtual void renderDepth() { render( material->dpMtl ); }
 		void init( const char* filename );

+ 3 - 3
src/Scene/ParticleEmitter.h

@@ -2,7 +2,7 @@
 #define _PARTICLEEMITTER_H_
 
 #include "Common.h"
-#include "Node.h"
+#include "SceneNode.h"
 #include "MeshNode.h"
 #include "GhostNode.h"
 #include "PhyCommon.h"
@@ -13,7 +13,7 @@
  *
  * This scene node emitts @ref ParticleEmitter:Particle particle nodes in space.
  */
-class ParticleEmitter: public Node
+class ParticleEmitter: public SceneNode
 {
 	public:
 
@@ -57,7 +57,7 @@ class ParticleEmitter: public Node
 		uint timeOfPrevEmittion;
 
 		// funcs
-		ParticleEmitter(): Node( NT_PARTICLE_EMITTER ) {}
+		ParticleEmitter(): SceneNode( NT_PARTICLE_EMITTER ) {}
 		void render();
 		void renderDepth() {}
 		void init( const char* filename );

+ 14 - 14
src/Scene/Scene.cpp

@@ -23,25 +23,25 @@ Scene::Scene()
 //=====================================================================================================================================
 // registerNode                                                                                                                       =
 //=====================================================================================================================================
-void Scene::registerNode( Node* node )
+void Scene::registerNode( SceneNode* node )
 {
 	putBackNode( nodes, node );
 	
 	switch( node->type )
 	{
-		case Node::NT_LIGHT:
+		case SceneNode::NT_LIGHT:
 			putBackNode( lights, static_cast<Light*>(node) );
 			break;
-		case Node::NT_CAMERA:
+		case SceneNode::NT_CAMERA:
 			putBackNode( cameras, static_cast<Camera*>(node) );
 			break;
-		case Node::NT_MESH:
+		case SceneNode::NT_MESH:
 			putBackNode( meshNodes, static_cast<MeshNode*>(node) );
 			break;
-		case Node::NT_SKELETON:
+		case SceneNode::NT_SKELETON:
 			putBackNode( skelNodes, static_cast<SkelNode*>(node) );
 			break;
-		case Node::NT_SKEL_MODEL:
+		case SceneNode::NT_SKEL_MODEL:
 			// ToDo
 			break;
 	};
@@ -51,25 +51,25 @@ void Scene::registerNode( Node* node )
 //=====================================================================================================================================
 // unregisterNode                                                                                                                     =
 //=====================================================================================================================================
-void Scene::unregisterNode( Node* node )
+void Scene::unregisterNode( SceneNode* node )
 {
 	eraseNode( nodes, node );
 	
 	switch( node->type )
 	{
-		case Node::NT_LIGHT:
+		case SceneNode::NT_LIGHT:
 			eraseNode( lights, static_cast<Light*>(node) );
 			break;
-		case Node::NT_CAMERA:
+		case SceneNode::NT_CAMERA:
 			eraseNode( cameras, static_cast<Camera*>(node) );
 			break;
-		case Node::NT_MESH:
+		case SceneNode::NT_MESH:
 			eraseNode( meshNodes, static_cast<MeshNode*>(node) );
 			break;
-		case Node::NT_SKELETON:
+		case SceneNode::NT_SKELETON:
 			eraseNode( skelNodes, static_cast<SkelNode*>(node) );
 			break;
-		case Node::NT_SKEL_MODEL:
+		case SceneNode::NT_SKEL_MODEL:
 			// ToDo
 			break;
 	};
@@ -99,7 +99,7 @@ void Scene::unregisterController( Controller* controller )
 void Scene::updateAllWorldStuff()
 {
 	DEBUG_ERR( nodes.size() > 1024 );
-	Node* queue [1024];
+	SceneNode* queue [1024];
 	uint head = 0, tail = 0;
 	uint num = 0;
 
@@ -112,7 +112,7 @@ void Scene::updateAllWorldStuff()
 	// loop
 	while( head != tail ) // while queue not empty
 	{
-		Node* obj = queue[head++]; // queue pop
+		SceneNode* obj = queue[head++]; // queue pop
 
 		obj->updateWorldStuff();
 		++num;

+ 4 - 4
src/Scene/Scene.h

@@ -6,7 +6,7 @@
 #include "PhyWorld.h"
 
 
-class Node;
+class SceneNode;
 class Light;
 class Camera;
 class MeshNode;
@@ -51,7 +51,7 @@ class Scene
 		{};
 
 		// Containers of scene's data
-		Container<Node>       nodes;
+		Container<SceneNode>       nodes;
 		Container<Light>      lights;
 		Container<Camera>     cameras;
 		Container<MeshNode>   meshNodes;
@@ -62,8 +62,8 @@ class Scene
 		// The funcs
 		Scene();
 
-		void registerNode( Node* node ); ///< Put a node in the appropriate containers
-		void unregisterNode( Node* node );
+		void registerNode( SceneNode* node ); ///< Put a node in the appropriate containers
+		void unregisterNode( SceneNode* node );
 		void registerController( Controller* controller );
 		void unregisterController( Controller* controller );
 

+ 11 - 11
src/Scene/Node.cpp → src/Scene/SceneNode.cpp

@@ -1,5 +1,5 @@
 #include <algorithm>
-#include "Node.h"
+#include "SceneNode.h"
 #include "Renderer.h"
 #include "collision.h"
 #include "Controller.h"
@@ -10,7 +10,7 @@
 //=====================================================================================================================================
 // commonConstructorCode                                                                                                              =
 //=====================================================================================================================================
-void Node::commonConstructorCode()
+void SceneNode::commonConstructorCode()
 {
 	parent = NULL;
 	isCompound = false;
@@ -28,9 +28,9 @@ void Node::commonConstructorCode()
 
 
 //=====================================================================================================================================
-// ~Node                                                                                                                            =
+// ~SceneNode                                                                                                                            =
 //=====================================================================================================================================
-Node::~Node()
+SceneNode::~SceneNode()
 {
 	DEBUG_ERR( app->getScene() == NULL );
 	app->getScene()->unregisterNode( this );
@@ -40,7 +40,7 @@ Node::~Node()
 //=====================================================================================================================================
 // updateWorldTransform                                                                                                               =
 //=====================================================================================================================================
-void Node::updateWorldTransform()
+void SceneNode::updateWorldTransform()
 {
 	if( parent )
 	{
@@ -101,19 +101,19 @@ void Node::updateWorldTransform()
 // Move(s)                                                                                                                            =
 // Move the object according to it's local axis                                                                                       =
 //=====================================================================================================================================
-void Node::moveLocalX( float distance )
+void SceneNode::moveLocalX( float distance )
 {
 	Vec3 x_axis = rotationLspace.getColumn(0);
 	translationLspace += x_axis * distance;
 }
 
-void Node::moveLocalY( float distance )
+void SceneNode::moveLocalY( float distance )
 {
 	Vec3 y_axis = rotationLspace.getColumn(1);
 	translationLspace += y_axis * distance;
 }
 
-void Node::moveLocalZ( float distance )
+void SceneNode::moveLocalZ( float distance )
 {
 	Vec3 z_axis = rotationLspace.getColumn(2);
 	translationLspace += z_axis * distance;
@@ -123,7 +123,7 @@ void Node::moveLocalZ( float distance )
 //=====================================================================================================================================
 // addChild                                                                                                                           =
 //=====================================================================================================================================
-void Node::addChild( Node* node )
+void SceneNode::addChild( SceneNode* node )
 {
 	if( node->parent != NULL )
 	{
@@ -139,9 +139,9 @@ void Node::addChild( Node* node )
 //=====================================================================================================================================
 // removeChild                                                                                                                        =
 //=====================================================================================================================================
-void Node::removeChild( Node* node )
+void SceneNode::removeChild( SceneNode* node )
 {
-	Vec<Node*>::iterator it = find( childs.begin(), childs.end(), node );
+	Vec<SceneNode*>::iterator it = find( childs.begin(), childs.end(), node );
 	if( it == childs.end() )
 	{
 		ERROR( "Child not found" );

+ 10 - 10
src/Scene/Node.h → src/Scene/SceneNode.h

@@ -11,11 +11,11 @@ class Material;
 class Controller;
 
 
-/// Scene Node
-class Node
+/// Scene node
+class SceneNode
 {
 	PROPERTY_RW( Transform, localTransform, setLocalTransform, getLocalTransform ); ///< The transformation in local space
-	PROPERTY_RW( Transform, worldTransform, setWorldTransform, getWorldTransform ); ///< The transformation in world space
+	PROPERTY_RW( Transform, worldTransform, setWorldTransform, getWorldTransform ); ///< The transformation in world space (local combined with parent transformation)
 
 	// data
 	public:
@@ -40,8 +40,8 @@ class Node
 
 		Mat4 transformationWspace;
 
-		Node* parent;
-		Vec<Node*> childs;
+		SceneNode* parent;
+		Vec<SceneNode*> childs;
 
 		Type type;
 
@@ -55,9 +55,9 @@ class Node
 		void commonConstructorCode(); ///< Cause we cannot call constructor from other constructor
 		
 	public:
-		Node( Type type_ ): type(type_) { commonConstructorCode(); }
-		Node( Type type_, Node* parent ): type(type_) { commonConstructorCode(); parent->addChild(this); }
-		virtual ~Node();
+		SceneNode( Type type_ ): type(type_) { commonConstructorCode(); }
+		SceneNode( Type type_, SceneNode* parent ): type(type_) { commonConstructorCode(); parent->addChild(this); }
+		virtual ~SceneNode();
 		virtual void render() = 0;
 		virtual void init( const char* ) = 0; ///< init using a script
 		virtual void deinit() = 0;
@@ -69,8 +69,8 @@ class Node
 		void moveLocalX( float distance );
 		void moveLocalY( float distance );
 		void moveLocalZ( float distance );
-		void addChild( Node* node );
-		void removeChild( Node* node );
+		void addChild( SceneNode* node );
+		void removeChild( SceneNode* node );
 		void setLocalTransformation( const Vec3& t, const Mat3& r, float s ) { translationLspace=t; rotationLspace=r; scaleLspace=s; }
 };
 

+ 8 - 8
src/Scene/SkelModelNode.cpp

@@ -13,51 +13,51 @@ void SkelModelNode::init( const char* filename )
 
 	//** SKELETON **
 	token = &scanner.getNextToken();
-	if( !(token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "SKELETON" )) )
+	if( !(token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "SKELETON" )) )
 	{
 		PARSE_ERR_EXPECTED( "identifier SKELETON" );
 		return;
 	}
 	
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_STRING )
+	if( token->getCode() != Scanner::TC_STRING )
 	{
 		PARSE_ERR_EXPECTED( "string" );
 		return;
 	}
 	
 	skelNode = new SkelNode;
-	skelNode->init( token->value.string );
+	skelNode->init( token->getValue().getString() );
 	addChild( skelNode );
 	
 	//** MESHES **
 	token = &scanner.getNextToken();
-	if( !(token->code == Scanner::TC_IDENTIFIER && !strcmp( token->value.string, "MESHES_NUM" )) )
+	if( !(token->getCode() == Scanner::TC_IDENTIFIER && !strcmp( token->getValue().getString(), "MESHES_NUM" )) )
 	{
 		PARSE_ERR_EXPECTED( "identifier MESHES_NUM" );
 		return;
 	}
 		
 	token = &scanner.getNextToken();
-	if( token->code != Scanner::TC_NUMBER || token->type != Scanner::DT_INT )
+	if( token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT )
 	{
 		PARSE_ERR_EXPECTED( "integer" );
 		return;
 	}
 			
-	meshNodes.resize( token->value.int_ );
+	meshNodes.resize( token->getValue().getInt() );
 			
 	for( uint i=0; i<meshNodes.size(); ++i )
 	{
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_STRING )
+		if( token->getCode() != Scanner::TC_STRING )
 		{
 			PARSE_ERR_EXPECTED( "string" );
 			return;
 		}
 				
 		meshNodes[i] = new MeshNode;
-		meshNodes[i]->init( token->value.string );
+		meshNodes[i]->init( token->getValue().getString() );
 		skelNode->addChild( meshNodes[i] );
 		meshNodes[i]->meshSkelCtrl = new MeshSkelNodeCtrl( skelNode, meshNodes[i] );
 	}

+ 2 - 2
src/Scene/SkelModelNode.h

@@ -13,13 +13,13 @@ class SkelNode;
  * Skeleton model Scene node
  * It is just a group node with a derived init
  */
-class SkelModelNode: public Node
+class SkelModelNode: public SceneNode
 {
 	public:
 		Vec<MeshNode*> meshNodes;
 		SkelNode*   skelNode;
 		
-		SkelModelNode(): Node(NT_SKEL_MODEL), skelNode(NULL) { isCompound = true; }
+		SkelModelNode(): SceneNode(NT_SKEL_MODEL), skelNode(NULL) { isCompound = true; }
 		void init( const char* filename );
 		void deinit() {} ///< Do nothing because it loads no resources
 		void render() {} ///< Do nothing

+ 1 - 1
src/Scene/SkelNode.cpp

@@ -9,7 +9,7 @@
 // SkelNode                                                                                                                        =
 //=====================================================================================================================================
 SkelNode::SkelNode(): 
-	Node( NT_SKELETON ),
+	SceneNode( NT_SKELETON ),
 	skelAnimCtrl( NULL )
 {
 }

+ 2 - 2
src/Scene/SkelNode.h

@@ -2,7 +2,7 @@
 #define _SKEL_NODE_H_
 
 #include "Common.h"
-#include "Node.h"
+#include "SceneNode.h"
 #include "Controller.h"
 #include "Math.h"
 
@@ -10,7 +10,7 @@
 /**
  * @brief Scene node that extends the @ref Skeleton resource
  */
-class SkelNode: public Node
+class SkelNode: public SceneNode
 {
 	public:
 		class Skeleton* skeleton; ///< The skeleton resource

+ 33 - 23
src/Tokenizer/Parser.h

@@ -4,11 +4,15 @@
 #include "Common.h"
 #include "Scanner.h"
 
-/*
-=======================================================================================================================================
-parser macros                                                                                                                         =
-=======================================================================================================================================
-*/
+/**
+ * @brief It contains some functions and macros that include code commonly used in parsing
+ */
+namespace Parser {
+
+
+//=====================================================================================================================================
+// Parser macros                                                                                                                      =
+//=====================================================================================================================================
 #define PARSE_ERR(x) ERROR( "Parse Error (" << scanner.getScriptName() << ':' << scanner.getLineNmbr() << "): " << x )
 #define PARSE_WARN(x) WARNING( "Parse Warning (" << scanner.getScriptName() << ':' << scanner.getLineNmbr() << "): " << x )
 
@@ -17,27 +21,31 @@ parser macros
 #define PARSE_ERR_UNEXPECTED() PARSE_ERR( "Unexpected token " << Scanner::getTokenInfo(scanner.getCrntToken()) );
 
 
-/*
-=======================================================================================================================================
-ParseArrOfNumbers                                                                                                                     =
-=======================================================================================================================================
-*/
+//=====================================================================================================================================
+// parseArrOfNumbers                                                                                                                  =
+//=====================================================================================================================================
 /**
- * It parses expressions like this one: { 10 -0.2 123.e-10 -0x0FF } and stores the result in the arr array
+ * @brief This template func is used for a common operation of parsing arrays of numbers
+ *
+ * It parses expressions like this one: { 10 -0.2 123.e-10 -0x0FF } and stores the result in the arr array. The acceptable types
+ * (typename Type) are integer or floating point types
+ *
  * @param scanner The scanner that we will use
- * @param size The number of numbers inside the brackets
+ * @param bracket If true the array starts and ends with brackets eg { 10 0 -1 }
+ * @param signs If true the array has numbers that may contain sign
+ * @param size The count of numbers of the array wa want to parse
  * @param arr The array that the func returns the numbers
  * @return True if the parsing was successful
 */
-template <typename Type> bool ParseArrOfNumbers( Scanner& scanner, bool paren, bool signs, uint size, Type* arr )
+template <typename Type> bool parseArrOfNumbers( Scanner& scanner, bool bracket, bool signs, uint size, Type* arr )
 {
 	const Scanner::Token* token;
 
 	// first of all the left bracket
-	if( paren )
+	if( bracket )
 	{
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_LBRACKET )
+		if( token->getCode() != Scanner::TC_LBRACKET )
 		{
 			PARSE_ERR_EXPECTED( "{" );
 			return false;
@@ -54,19 +62,19 @@ template <typename Type> bool ParseArrOfNumbers( Scanner& scanner, bool paren, b
 		bool sign = 0; // sign of the number. 0 for positive and 1 for negative
 		if( signs )
 		{
-			if( token->code == Scanner::TC_MINUS )
+			if( token->getCode() == Scanner::TC_MINUS )
 			{
 				sign = 1;
 				token = &scanner.getNextToken();
 			}
-			else if( token->code == Scanner::TC_PLUS )
+			else if( token->getCode() == Scanner::TC_PLUS )
 			{
 				sign = 0;
 				token = &scanner.getNextToken();
 			}
 
 			// check if not number
-			if( token->code != Scanner::TC_NUMBER )
+			if( token->getCode() != Scanner::TC_NUMBER )
 			{
 				PARSE_ERR_EXPECTED( "number" );
 				return false;
@@ -76,19 +84,19 @@ template <typename Type> bool ParseArrOfNumbers( Scanner& scanner, bool paren, b
 		// put the number in the arr and do typecasting from int to float
 		Type nmbr;
 
-		if( token->type == Scanner::DT_FLOAT )
-			nmbr = static_cast<Type>( token->value.float_ );
+		if( token->getDataType() == Scanner::DT_FLOAT )
+			nmbr = static_cast<Type>( token->getValue().getFloat() );
 		else
-			nmbr = static_cast<Type>( token->value.int_ );
+			nmbr = static_cast<Type>( token->getValue().getInt() );
 
 		arr[i] = (sign==0) ? nmbr : -nmbr;
 	}
 
 	// the last thing is the right bracket
-	if( paren )
+	if( bracket )
 	{
 		token = &scanner.getNextToken();
-		if( token->code != Scanner::TC_RBRACKET )
+		if( token->getCode() != Scanner::TC_RBRACKET )
 		{
 			PARSE_ERR_EXPECTED( "}" );
 			return false;
@@ -99,4 +107,6 @@ template <typename Type> bool ParseArrOfNumbers( Scanner& scanner, bool paren, b
 }
 
 
+} // end namespace Parser
+
 #endif

+ 12 - 12
src/Tokenizer/Scanner.cpp

@@ -13,9 +13,9 @@
 //=====================================================================================================================================
 // Token                                                                                                                            =
 //=====================================================================================================================================
-Scanner::Token::Token( const Token& b ): code(b.code), type(b.type)
+Scanner::Token::Token( const Token& b ): code(b.code), dataType(b.dataType)
 {
-	switch( b.type )
+	switch( b.dataType )
 	{
 		case Scanner::DT_FLOAT:
 			value.float_ = b.value.float_;
@@ -73,7 +73,7 @@ Scanner::ResWord Scanner::rw7 [] =
 	{"keyword", TC_KEYWORD}, {NULL, TC_ERROR}
 };
 
-Scanner::ResWord* Scanner::rw_table [] =  // reserved word table
+Scanner::ResWord* Scanner::rwTable [] =  // reserved word table
 {
 	NULL, NULL, rw2, rw3, rw4, rw5, rw6, rw7,
 };
@@ -204,7 +204,7 @@ string Scanner::getTokenInfo( const Token& token )
 			sprintf( tokenInfoStr, "char '%c' (\"%s\")", token.value.char_, token.asString );
 			break;
 		case TC_NUMBER:
-			if( token.type == DT_FLOAT )
+			if( token.dataType == DT_FLOAT )
 				sprintf( tokenInfoStr, "float %f or %e (\"%s\")", token.value.float_, token.value.float_, token.asString );
 			else
 				sprintf( tokenInfoStr, "int %lu (\"%s\")", token.value.int_, token.asString );
@@ -404,18 +404,18 @@ bool Scanner::checkWord()
 	int len = tmpStr-crntToken.asString;
 	crntToken.code = TC_IDENTIFIER;
 	crntToken.value.string = crntToken.asString;
-	crntToken.type = DT_STR; // not important
+	crntToken.dataType = DT_STR; // not important
 
 	if( len<=7 && len>=2 )
 	{
 		int x = 0;
 		for (;;)
 		{
-			if( rw_table[len][x].string == NULL ) break;
+			if( rwTable[len][x].string == NULL ) break;
 
-			if( strcmp(rw_table[len][x].string, crntToken.asString ) == 0 )
+			if( strcmp(rwTable[len][x].string, crntToken.asString ) == 0 )
 			{
-				crntToken.code = rw_table[len][x].code;
+				crntToken.code = rwTable[len][x].code;
 				break;
 			}
 			++x;
@@ -484,7 +484,7 @@ bool Scanner::checkNumber()
 	bool expSign = 0; // exponent sign in case float is represented in mant/exp format. 0 means positive and 1 negative
 	long exp = 0;      // the exponent in case float is represented in mant/exp format
 	char* tmpStr = crntToken.asString;
-	crntToken.type = DT_INT;
+	crntToken.dataType = DT_INT;
 	uint asc;
 
 	// begin
@@ -591,7 +591,7 @@ bool Scanner::checkNumber()
 		*tmpStr++ = *pchar;
 		getNextChar();
 		asc = asciiLookup(*pchar);
-		crntToken.type = DT_FLOAT;
+		crntToken.dataType = DT_FLOAT;
 		if( asc == AC_DIGIT )
 		{
 			fnum = fnum * 10 + *pchar - '0';
@@ -631,7 +631,7 @@ bool Scanner::checkNumber()
 		*tmpStr++ = *pchar;
 		getNextChar();
 		asc = asciiLookup(*pchar);
-		crntToken.type = DT_FLOAT;
+		crntToken.dataType = DT_FLOAT;
 
 		if( *pchar == '+' || *pchar == '-' )
 		{
@@ -683,7 +683,7 @@ bool Scanner::checkNumber()
 	finalize:
 		crntToken.code = TC_NUMBER;
 
-		if( crntToken.type == DT_INT )
+		if( crntToken.dataType == DT_INT )
 		{
 			crntToken.value.int_ = num;
 		}

+ 58 - 33
src/Tokenizer/Scanner.h

@@ -5,14 +5,11 @@
 #include "Common.h"
 
 
-//=====================================================================================================================================
-// Scanner                                                                                                                          =
-//=====================================================================================================================================
 /**
- * @brief C++ Tokenizer
+ * C++ Tokenizer
  *
- * The Scanner loads a file and returns the tokens. The script must be in C++ format. The class does not make any kind of
- * memory allocations so it can be fast.
+ * The Scanner loads a file or an already loaded iostream and extracts the tokens. The script must be in C++ format. The class does
+ * not make any kind of memory allocations so it can be fast.
  */
 class Scanner
 {
@@ -32,13 +29,16 @@ class Scanner
 		bool checkSpecial();
 
 		void getLine(); ///< Reads a line from the script file
-		char getNextChar(); ///< Get the next char from the line_txt. If line_txt empty then get new line. It returns '\0' if we are in the end of the line
+		char getNextChar(); ///< Get the next char from the @ref line. If @ref line empty then get new line. It returns '\\0' if we are in the end of the line
 		char putBackChar(); ///< Put the char that Scanner::GetNextChar got back to the current line
 
 	//===================================================================================================================================
 	// ascii stuff                                                                                                                      =
 	//===================================================================================================================================
 	protected:
+		/**
+		 * Every char in the Ascii table is binded with one characteristic code type. This helps the scanning
+		 */
 		enum AsciiFlagsE
 		{
 			AC_ERROR = 0,
@@ -90,7 +90,7 @@ class Scanner
 				TC_ASSIGNOR                                                                                             //36 - 47
 		};
 
-		/// TokenDataType
+		/// The value of @ref Token::dataType
 		enum TokenDataType
 		{
 			DT_FLOAT,
@@ -99,26 +99,47 @@ class Scanner
 			DT_STR
 		};
 
-		/// TokenDataVal
-		union TokenDataVal
+		/// Used inside the Token
+		struct TokenDataVal
 		{
-			char   char_;
-			ulong  int_;
-			double float_;
-			char*  string; ///< points to Token::asString if the token is string
+			friend class Scanner;
+			friend class Token;
+
+			private:
+				/**
+				 * The data as unamed union
+				 */
+				union
+				{
+					char   char_;
+					ulong  int_;
+					double float_;
+					char*  string; ///< points to @ref Token::asString if the token is string
+				};
+
+			public:
+				// accessors
+				char        getChar()   const { return char_; } ///< Access the data as C char
+				ulong       getInt()    const { return int_; } ///< Access the data as unsigned int
+				float       getFloat()  const { return float_; }  ///< Access the data as double
+				const char* getString() const { return string; }  ///< Access the data as C string
 		};
 
 		/// The Token class
 		struct Token
 		{
-			TokenCode      code;
-			TokenDataType  type;
-			TokenDataVal   value;
+			PROPERTY_R( TokenCode, code, getCode )
+			PROPERTY_R( TokenDataType, dataType, getDataType )
+			PROPERTY_R( TokenDataVal, value, getValue )
+
+			friend class Scanner;
 
-			char asString[ MAX_SCRIPT_LINE_LEN ];
+			private:
+				char asString[ MAX_SCRIPT_LINE_LEN ];
 
-			Token(): code( TC_ERROR ) {}
-			Token( const Token& b );
+			public:
+				Token(): code( TC_ERROR ) {}
+				Token( const Token& b );
 		};
 
 	//===================================================================================================================================
@@ -133,7 +154,7 @@ class Scanner
 		};
 
 		static ResWord rw2 [], rw3 [], rw4 [], rw5 [], rw6 [], rw7 []; ///< Groups of ResWord grouped by the length of the ResWord::string
-		static ResWord* rw_table []; ///< The array contains all the groups of ResWord
+		static ResWord* rwTable []; ///< The array contains all the groups of ResWord
 
 	//===================================================================================================================================
 	// vars                                                                                                                            =
@@ -141,40 +162,44 @@ class Scanner
 	protected:
 		Token crntToken; ///< The current token
 		char  line [MAX_SCRIPT_LINE_LEN]; ///< In contains the current line's text
-		char* pchar; ///< Points to line_txt
+		char* pchar; ///< Points somewhere to @ref line
 		int   lineNmbr; ///< The number of the current line
-		bool  newlinesAsWhitespace; ///< Treat newlines as whitespace. This means that we extract new token for every line
+		bool  newlinesAsWhitespace; ///< Treat newlines as whitespace. If false means that the Scanner returns a new token for every line it finds
 		/**
-		 * Used to keep track of the newlines in multiline comments so we can return the correct number of newlines in case of 
+		 * Used to keep track of the newlines in multiline comments so we can then return the correct number of newlines in case of
 		 * newlinesAsWhitespace is false
 		 */
 		int     commentedLines;
 
 		// input
-		fstream      inFstream;
-		iostream*    inStream; ///< Points to either in_fstream or an external std::iostream
-		char         scriptName[64]; ///< The name of the input stream. Mostly used for error handling
+		fstream      inFstream; ///< The file stream. Used if the @ref Scanner is initiated using @ref loadFile
+		iostream*    inStream; ///< Points to either @ref inFstream or an external std::iostream
+		char         scriptName[64]; ///< The name of the input stream. Mostly used for the error messages inside the @ref Scanner
 
 	//===================================================================================================================================
 	// public funcs                                                                                                                     =
 	//===================================================================================================================================
 	public:
+		/**
+		 * The one and only constructor
+		 * @param newlinesAsWhitespace If false the Scanner will return newline Tokens everytime if finds a newline. True is the default behavior
+		 */
 		Scanner( bool newlinesAsWhitespace = true );
 		~Scanner() { /* The destructor does NOTHING. The class does not make any mem allocations */ }
 
-		bool loadFile( const char* filename ); ///< load a file to extract tokens
-		bool loadIoStream( iostream* iostream_, const char* scriptName_ = "unamed-iostream" ); ///< load a STL iostream to extract tokens
+		bool loadFile( const char* filename ); ///< Load a file to extract tokens
+		bool loadIoStream( iostream* iostream_, const char* scriptName_ = "unamed-iostream" ); ///< Load a STL iostream to extract tokens
 		void unload();
 
-		static void   printTokenInfo( const Token& token ); ///< print info of the given token
+		static void   printTokenInfo( const Token& token ); ///< Print info of the given token
 		static string getTokenInfo( const Token& token ); ///< Get a string with the info of the given token
 		       void   getAllprintAll();
 
-		const Token& getNextToken(); ///< Get the next token from the file
+		const Token& getNextToken(); ///< Get the next token from the stream
 		const Token& getCrntToken() const { return crntToken; } ///< Accessor for the current token
 
-		const char* getScriptName() const { return scriptName; } ///< Accessor for member variable
-		int         getLineNmbr() const { return lineNmbr; } ///< Accessor for member variable
+		const char* getScriptName() const { return scriptName; } ///< Get the name of the stream
+		int         getLineNmbr() const { return lineNmbr; } ///< Get the current line the Scanner is processing
 };
 
 #endif

+ 12 - 2
src/Util/App.cpp

@@ -1,5 +1,6 @@
 #include <GL/glew.h>
 #include <sstream>
+#include <SDL/SDL.h>
 #include "App.h"
 #include "Scene.h"
 
@@ -34,7 +35,7 @@ App::App()
 //=====================================================================================================================================
 void App::initWindow()
 {
-	PRINT( "SDL window initializing..." );
+	INFO( "SDL window initializing..." );
 	SDL_Init( SDL_INIT_VIDEO );
 
 	// print driver name
@@ -89,7 +90,7 @@ void App::initWindow()
 	SDL_WM_SetCaption( "AnKi Engine", NULL );
 
 
-	PRINT( "SDL window initialization ends" );
+	INFO( "SDL window initialization ends" );
 }
 
 
@@ -152,3 +153,12 @@ void App::printAppInfo()
 	INFO( msg.str() )
 }
 
+
+//=====================================================================================================================================
+// getTicks                                                                                                                           =
+//=====================================================================================================================================
+uint App::getTicks()
+{
+	return SDL_GetTicks();
+}
+

+ 4 - 5
src/Util/App.h

@@ -1,12 +1,11 @@
 #ifndef _APP_H_
 #define _APP_H_
 
-#include <SDL/SDL.h>
 #include "Common.h"
 
 
 /**
- * @brief This class contains all the global objects of the application. Its also responsible for some of the SDL stuff.
+ * @brief This class holds all the global objects of the application. Its also responsible for some of the SDL stuff.
  * It should be singleton
  */
 class App
@@ -22,8 +21,8 @@ class App
 	private:
 		static bool isCreated; ///< A flag to ensure one @ref App instance
 		uint time;
-		SDL_Surface* mainSurf; ///< SDL stuff
-		SDL_Surface* iconImage; ///< SDL stuff
+		class SDL_Surface* mainSurf; ///< SDL stuff
+		class SDL_Surface* iconImage; ///< SDL stuff
 
 	public:
 		uint timerTick;
@@ -39,7 +38,7 @@ class App
 		/**
 		 * @return Returns the number of milliseconds since SDL library initialization
 		 */
-		static uint getTicks() { return SDL_GetTicks(); }
+		static uint getTicks();
 };
 
 

+ 11 - 4
src/Util/Common.h

@@ -110,8 +110,12 @@ extern string getFunctionFromPrettyFunction( const char* pretty_function );
 
 
 /**
- * Read write property. It concatenates and creates a unique type so it can accept pointers. The get funcs are coming into two
- * flavors, one const and one not-const. The property is read-write after all and non-const is acceptable.
+ * @brief Read write property
+ *
+ * - It concatenates and creates a unique type so it can accept pointers
+ * - The get funcs are coming into two flavors, one const and one non-const. The property is read-write after all so the non-const is
+ *   acceptable
+ * - Dont use it with semicolon at the end eg PROPERTY_RW( .... );
  */
 #define PROPERTY_RW( __Type__, __varName__, __setFunc__, __getFunc__ ) \
 	private: \
@@ -129,7 +133,10 @@ extern string getFunctionFromPrettyFunction( const char* pretty_function );
 		}
 
 /**
- * Read only property. It concatenates and creates a unique type so it can accept pointers
+ * @brief Read only property
+ *
+ * - It concatenates and creates a unique type so it can accept pointers
+ * - Dont use it with semicolon at the end eg PROPERTY_R( .... );
  */
 #define PROPERTY_R( __Type__, __varName__, __getFunc__ ) \
 	private: \
@@ -141,7 +148,7 @@ extern string getFunctionFromPrettyFunction( const char* pretty_function );
 		}
 
 
-/// PRINT
+/// Just print
 #define PRINT( x ) cout << x << endl;