Browse Source

major changes:
- refactored internal rendering system
- added new tween: TweenAlphaFade
- improved multithreading textures loading
- added option 'filtering' to xml

- added include folder

minor:
- refactored CMake
- updated wiki
- improved demo
- improved VS projects
- fixed process_atlas for 8bit png images
- other minor changes

dmuratshin 10 years ago
parent
commit
1780af447f
100 changed files with 618 additions and 432 deletions
  1. 4 4
      .hg_archival.txt
  2. 125 110
      CMakeLists.txt
  3. BIN
      doc/wiki.zip
  4. 1 1
      examples/Demo/data/light_fs.glsl
  5. 3 1
      examples/Demo/proj.cmake/CMakeLists.txt
  6. 18 38
      examples/Demo/proj.win32/Demo.vcxproj
  7. 2 93
      examples/Demo/proj.win32/Demo.vcxproj.filters
  8. 53 3
      examples/Demo/src/TestColorFont.h
  9. 2 1
      examples/Demo/src/TestManageRes.h
  10. 1 1
      examples/Demo/src/TestMask.h
  11. 9 9
      examples/Demo/src/TestRender2Texture.h
  12. 51 0
      examples/Demo/src/TestTweenAlphaFade.h
  13. 48 0
      examples/Demo/src/TestTweenGlow.h
  14. 1 0
      examples/Demo/src/TestTweenText.h
  15. 81 23
      examples/Demo/src/TestUserShader.h
  16. 74 95
      examples/Demo/src/TestUserShader2.h
  17. 7 2
      examples/Demo/src/example.cpp
  18. 3 1
      examples/Demo/src/test.h
  19. 0 5
      examples/DemoBox2D/data/res.xml
  20. 7 4
      examples/DemoBox2D/proj.win32/DemoBox2D.vcxproj
  21. 8 5
      examples/DemoBox2D/src/Box2DDebugDraw.cpp
  22. 0 1
      examples/DemoBox2D/src/example.cpp
  23. 7 5
      examples/Game/part1/proj.win32/GamePart1.vcxproj
  24. 7 5
      examples/Game/part2/proj.win32/GamePart2.vcxproj
  25. 7 5
      examples/Game/part3/proj.win32/GamePart3.vcxproj
  26. 7 5
      examples/Game/part4/proj.win32/GamePart4.vcxproj
  27. 7 5
      examples/Game/part5/proj.win32/GamePart5.vcxproj
  28. 7 5
      examples/HelloWorld/proj.win32/HelloWorld.vcxproj
  29. 7 5
      examples/Match3/proj.win32/Match3.vcxproj
  30. 1 0
      include/ox/Actor.hpp
  31. 1 0
      include/ox/AffineTransform.hpp
  32. 1 0
      include/ox/AnimationFrame.hpp
  33. 1 0
      include/ox/AsyncTask.hpp
  34. 1 0
      include/ox/Box9Sprite.hpp
  35. 1 0
      include/ox/Button.hpp
  36. 1 0
      include/ox/ClipRectActor.hpp
  37. 1 0
      include/ox/Clock.hpp
  38. 1 0
      include/ox/Color.hpp
  39. 1 0
      include/ox/ColorRectSprite.hpp
  40. 1 0
      include/ox/CreateResourceContext.hpp
  41. 1 0
      include/ox/DebugActor.hpp
  42. 1 0
      include/ox/Draggable.hpp
  43. 1 0
      include/ox/Event.hpp
  44. 1 0
      include/ox/EventDispatcher.hpp
  45. 1 0
      include/ox/FileSystem.hpp
  46. 1 0
      include/ox/Font.hpp
  47. 1 0
      include/ox/HttpRequestTask.hpp
  48. 1 0
      include/ox/ImageData.hpp
  49. 1 0
      include/ox/ImageDataOperations.hpp
  50. 1 0
      include/ox/Input.hpp
  51. 1 0
      include/ox/InputText.hpp
  52. 1 0
      include/ox/KeyEvent.hpp
  53. 1 0
      include/ox/MaskedRenderer.hpp
  54. 1 0
      include/ox/MaskedSprite.hpp
  55. 1 0
      include/ox/Matrix.hpp
  56. 1 0
      include/ox/Mem2Native.hpp
  57. 1 0
      include/ox/MemoryTexture.hpp
  58. 1 0
      include/ox/Multithreading.hpp
  59. 1 0
      include/ox/Mutex.hpp
  60. 1 0
      include/ox/NativeTexture.hpp
  61. 1 0
      include/ox/Object.hpp
  62. 1 0
      include/ox/PointerState.hpp
  63. 1 0
      include/ox/Polygon.hpp
  64. 1 0
      include/ox/ProgressBar.hpp
  65. 1 0
      include/ox/Property.hpp
  66. 1 0
      include/ox/Rect.hpp
  67. 1 0
      include/ox/RenderState.hpp
  68. 1 0
      include/ox/Renderer.hpp
  69. 1 0
      include/ox/ResAnim.hpp
  70. 1 0
      include/ox/ResAtlas.hpp
  71. 1 0
      include/ox/ResBuffer.hpp
  72. 1 0
      include/ox/ResFont.hpp
  73. 1 0
      include/ox/ResFontBM.hpp
  74. 1 0
      include/ox/ResStarlingAtlas.hpp
  75. 1 0
      include/ox/Resource.hpp
  76. 1 0
      include/ox/Resources.hpp
  77. 1 0
      include/ox/Restorable.hpp
  78. 1 0
      include/ox/STDFileSystem.hpp
  79. 1 0
      include/ox/STDRenderer.hpp
  80. 1 0
      include/ox/ScalarMath.hpp
  81. 1 0
      include/ox/ShaderProgram.hpp
  82. 1 0
      include/ox/SlidingActor.hpp
  83. 1 0
      include/ox/Sprite.hpp
  84. 1 0
      include/ox/Stage.hpp
  85. 1 0
      include/ox/TextField.hpp
  86. 1 0
      include/ox/TextStyle.hpp
  87. 1 0
      include/ox/Texture.hpp
  88. 1 0
      include/ox/ThreadMessages.hpp
  89. 1 0
      include/ox/TouchEvent.hpp
  90. 1 0
      include/ox/Tween.hpp
  91. 1 0
      include/ox/TweenAnim.hpp
  92. 1 0
      include/ox/TweenQueue.hpp
  93. 1 0
      include/ox/Tweener.hpp
  94. 1 0
      include/ox/UberShaderProgram.hpp
  95. 1 0
      include/ox/UpdateState.hpp
  96. 1 0
      include/ox/Vector2.hpp
  97. 1 0
      include/ox/Vector3.hpp
  98. 1 0
      include/ox/Vector4.hpp
  99. 1 0
      include/ox/VertexDeclaration.hpp
  100. 1 0
      include/ox/VideoDriver.hpp

+ 4 - 4
.hg_archival.txt

@@ -1,6 +1,6 @@
 repo: b6d71054df5712e643a0685bc3ba54b123db5729
-node: f48dcf7ec09e896dc09a52b82af2852ad36c3c1a
-branch: default
+node: 4a9c0fc4ade726fe37918fa3c22cc7692452fa05
+branch: material
 latesttag: oldrender
-latesttagdistance: 983
-changessincelatesttag: 1146
+latesttagdistance: 1004
+changessincelatesttag: 1222

+ 125 - 110
CMakeLists.txt

@@ -2,11 +2,19 @@ cmake_minimum_required (VERSION 2.6)
 project (OXYGINE)
 
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
+set(OX_HAVE_LIBJPEG 0)
+set(OX_HAVE_LIBPNG 0)
+set(OX_HAVE_LIBCURL 0)
+set(OX_HAVE_HTTP 0)
+set(OX_USE_SDL2 1)
 
-if (WIN32)
-	set(OX_DEFINITIONS	${OX_DEFINITIONS}
-		-D_CRT_SECURE_NO_WARNINGS)
+
+find_package(OpenGL)
+
+if (EMSCRIPTEN)
+	#don't need SDL2
+elseif (WIN32)	
+	#hardcoded path to SDL2 on windows
 	set(SDL2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../SDL/include)
 else(WIN32)
 	find_path(SDL2_INCLUDE_DIRS NAMES SDL2/SDL.h)
@@ -16,94 +24,113 @@ else(WIN32)
 		set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIRS}/SDL2)
 		message(STATUS "found")		
 	else()
-		message(STATUS "SDL notfound")
+		message(STATUS "SDL not found")
 		set(SDL2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../SDL/include)					
 	endif()
 
 	find_package(CURL)
+endif(EMSCRIPTEN)
+
+
+set(OXYGINE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/oxygine)
+set(OXYGINE_SRC ${OXYGINE_ROOT}/src)
+
+set(FOLDERS src src/closure src/minizip src/core
+			src/core/gl src/dev_tools src/minizip 
+			src/math src/pugixml src/json src/res 
+			src/text_utils src/utils src/winnie_alloc)
+
+
+if (EMSCRIPTEN)
+	set(PLATFORM emscripten)
+elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 	
+	set(PLATFORM linux)
+elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+	set(PLATFORM ios)
+elseif(MSVC)
+	set(PLATFORM win32)
+elseif(MINGW)	
+	set(PLATFORM win32_mingw)
+endif()
 
-endif(WIN32)
+
+set(THIRD_PARTY ${OXYGINE_ROOT}/third_party/${PLATFORM})
 
 
-set(OX_HAVE_LIBJPEG 1)
-set(OX_HAVE_LIBPNG 1)
 
 if (EMSCRIPTEN)
-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-	set(OX_HAVE_LIBJPEG 0)
 	set(OX_HAVE_LIBPNG 1)
-	set(THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/third_party/emscripten)
-	set(SDL2_INCLUDE_DIRS "")
-	file(GLOB OXYGINE_JS_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/src/core/emscripten/*.js)
+	set(OX_HAVE_HTTP 1)	
+	set(OX_USE_SDL2 0)
+
+	set(SOURCES ${OXYGINE_SRC}/core/emscripten/HttpRequestEmscriptenTask.cpp)
+
+
+	file(GLOB OXYGINE_JS_LIBRARIES ${OXYGINE_SRC}/core/emscripten/*.js)
+
 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 	
-	set(THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/third_party/linux)
+	
+	set(OX_HAVE_LIBJPEG 1)
+	set(OX_HAVE_LIBPNG 1)
+
 elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-	set(THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/third_party/ios)
 elseif(MSVC)
-	set(THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/third_party/win32)	
+
+	set(OX_HAVE_LIBJPEG 1)
+	set(OX_HAVE_LIBPNG 1)	
+	set(OX_HAVE_LIBCURL 1)
+	set(OX_HAVE_HTTP 1)
+
 	set(libprefix lib)
+
+	set(OX_DEFINITIONS	${OX_DEFINITIONS} -D_CRT_SECURE_NO_WARNINGS)
+
 elseif(MINGW)	
-	set(THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/third_party/win32_mingw)
+
 	set(libprefix lib)
-	set(OX_HAVE_LIBJPEG 0)	
-endif()
- 
 
-if (EMSCRIPTEN)
-	set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/src/core/emscripten/HttpRequestEmscriptenTask.cpp)
-endif(EMSCRIPTEN)
+	set(OX_HAVE_LIBPNG 1)	
+	set(OX_HAVE_LIBCURL 1)
+	set(OX_HAVE_HTTP 1)
 
+endif()
 
-set(OXYGINE_ROOT_SRC ${CMAKE_CURRENT_SOURCE_DIR}/oxygine/src)
-set(FOLDERS . closure minizip core core/gl dev_tools minizip math pugixml json res text_utils utils winnie_alloc)
-if (WIN32)
-	set(FOLDERS ${FOLDERS} core/curl)
+if (OX_HAVE_LIBCURL)	
+	set(FOLDERS ${FOLDERS} src/core/curl)
 	include_directories(${THIRD_PARTY}/curl/)
-	set(OX_HAVE_LIBCURL 1)
-elseif(EMSCRIPTEN)
-	set(OX_HAVE_LIBCURL 0)
-else(WIN32)
-	include_directories(${CURL_INCLUDE_DIRS})
-	set(CORE_LIBS ${CORE_LIBS} ${CURL_LIBRARIES})
-	#set(FOLDERS ${FOLDERS} core/curl)
-	set(OX_HAVE_LIBCURL 0)
-	set(OX_NO_HTTP 1)
+	set(OX_DEFINITIONS ${OX_DEFINITIONS} -DOX_HAVE_LIBCURL)
+endif(OX_HAVE_LIBCURL)	
+
+
+if (NOT OX_HAVE_HTTP)
 	set(OX_DEFINITIONS ${OX_DEFINITIONS} -DOX_NO_HTTP)
-endif(WIN32)
+endif(NOT OX_HAVE_HTTP)
+
 
-foreach(F ${FOLDERS})
-	file(GLOB FLS #RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/
-		${OXYGINE_ROOT_SRC}/${F}/*.cpp
-		${OXYGINE_ROOT_SRC}/${F}/*.c
-		${OXYGINE_ROOT_SRC}/${F}/*.h)
-	set(SOURCES ${SOURCES} ${FLS})
-	source_group(${F} FILES ${FLS})
-endforeach(F)
 
+foreach(ITEM ${FOLDERS})
+	file(GLOB FLS
+		${OXYGINE_ROOT}/${ITEM}/*.cpp
+		${OXYGINE_ROOT}/${ITEM}/*.c
+		${OXYGINE_ROOT}/${ITEM}/*.h)
+	set(SOURCES ${SOURCES} ${FLS})	
+	string(REPLACE / \\ SGROUP ${ITEM})
+	source_group(${SGROUP} FILES ${FLS})
+endforeach(ITEM)
 
 
 set(OXYGINE_INCLUDE_DIRS 
-	${OXYGINE_ROOT_SRC}
-	${SDL2_INCLUDE_DIRS}
+	${OXYGINE_SRC}
 	${THIRD_PARTY}/pthreads/include/
 	${THIRD_PARTY}/zlib)
 
 
-include_directories(${OXYGINE_INCLUDE_DIRS})
-
-
-find_package(OpenGL)
-include_directories(
-	${THIRD_PARTY}/libjpeg
-	${THIRD_PARTY}/libpng
-	)
-
-
 set(OXYGINE_LIBRARY_DIRS
 	${OXYGINE_LIBRARY_DIRS}
 	${OXYGINE_SOURCE_DIR}/libs
 	${THIRD_PARTY}/libraries)
 
+
 if (FORCE_GLES)
 	set(OPENGL_LIBRARIES libGLESv2.lib)
 endif(FORCE_GLES)
@@ -112,93 +139,79 @@ endif(FORCE_GLES)
 if (MINGW) 
 	set(CORE_LIBS ${CORE_LIBS}	mingw32)
 endif(MINGW)
- 
+
 
 set(CORE_LIBS 
 	${CORE_LIBS}
-	oxygine-framework
-	SDL2main	
-	SDL2	
+	oxygine-framework	
 	${OPENGL_LIBRARIES}		
 )
 
+
+if (OX_USE_SDL2)
+	set(CORE_LIBS ${CORE_LIBS}
+		SDL2main SDL2)
+	set(OXYGINE_INCLUDE_DIRS ${OXYGINE_INCLUDE_DIRS} ${SDL2_INCLUDE_DIRS})
+endif(OX_USE_SDL2)	
+
+
 if (WIN32)
-	set(CORE_LIBS		
-		${CORE_LIBS}
+	set(CORE_LIBS ${CORE_LIBS}
 		pthreadVCE2
 		libcurl_imp
-		ws2_32
-		)
-
-elseif(EMSCRIPTEN)
-
+		ws2_32)
+elseif(EMSCRIPTEN)	
 else(WIN32)
-	set(CORE_LIBS
-		${CORE_LIBS}
-		pthread	
-	)
+	set(CORE_LIBS ${CORE_LIBS} pthread)
 endif(WIN32)
 
 
-#add png library
-if (OX_HAVE_LIBPNG)
 
+if (OX_HAVE_LIBPNG)		
+	set(OX_DEFINITIONS	${OX_DEFINITIONS} -DOX_HAVE_LIBPNG)
+	include_directories(${THIRD_PARTY}/libpng)
 	set(LIBPNG ${libprefix}png)
 
-	if (MSVC)
+	if (MSVC)		
 		if (MSVC_VERSION EQUAL "1900")
 			set(LIBPNG ${LIBPNG}-2015)
 		endif()
+	elseif(EMSCRIPTEN)
+		set(LIBPNG libz libpng16)
 	endif()	
 
-	set(CORE_LIBS
-		${CORE_LIBS}
-		${LIBPNG})
-
-	set(OX_DEFINITIONS	${OX_DEFINITIONS}
-		-DOX_HAVE_LIBPNG)
+	set(CORE_LIBS ${CORE_LIBS} ${LIBPNG})
 endif(OX_HAVE_LIBPNG)
 
-#add z library
-if (EMSCRIPTEN)
-	set(CORE_LIBS
-		${CORE_LIBS}
-		libz
-		libpng16
-	)
-else(EMSCRIPTEN)
-	set(CORE_LIBS
-		${CORE_LIBS}
-		${libprefix}z${libprefix})
-endif(EMSCRIPTEN)
-
-
-#message(STATUS ${CORE_LIBS})
 
-#add jpeg library
-if (OX_HAVE_LIBJPEG)
+if (OX_HAVE_LIBJPEG)	
+	set(OX_DEFINITIONS	${OX_DEFINITIONS} -DOX_HAVE_LIBJPEG)
+	include_directories(${THIRD_PARTY}/libjpeg)
 	set(LIBJPEG ${libprefix}jpeg)
-
+	
 	if (MSVC)
 		if (MSVC_VERSION EQUAL "1900")
 			set(LIBJPEG ${LIBJPEG}-2015)
 		endif()	
-	endif()	
+	endif()
 
-	set(OX_DEFINITIONS	${OX_DEFINITIONS}
-		-DOX_HAVE_LIBJPEG)
-	set(CORE_LIBS
-		${CORE_LIBS}
-		${LIBJPEG})
+	set(CORE_LIBS ${CORE_LIBS} ${LIBJPEG})
 endif(OX_HAVE_LIBJPEG)
 
 
-if (OX_HAVE_LIBCURL)
-	set(OX_DEFINITIONS ${OX_DEFINITIONS}
-		-DOX_HAVE_LIBCURL)
-endif(OX_HAVE_LIBCURL)
+if (NOT EMSCRIPTEN)
+	set(CORE_LIBS ${CORE_LIBS}
+		${libprefix}z${libprefix})
+endif(NOT EMSCRIPTEN)
+
+
+if (NOT MSVC)
+	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
+endif(NOT MSVC)
+
 
 add_definitions(${OX_DEFINITIONS})
+include_directories(${OXYGINE_INCLUDE_DIRS})
 add_library(oxygine-framework STATIC ${SOURCES})
 
 
@@ -222,7 +235,9 @@ set(OXYGINE_JS_LIBRARIES
 	${OXYGINE_JS_LIBRARIES}
 	PARENT_SCOPE)
 
-
+message(STATUS "SDL includes: ${SDL2_INCLUDE_DIRS}")
+message(STATUS "Libs:     ${CORE_LIBS}")
+message(STATUS "Platform: ${PLATFORM}")
 
 set(CMAKE_INSTALL_PREFIX ../libs)
 install(TARGETS oxygine-framework CONFIGURATIONS Debug DESTINATION ./debug)

BIN
doc/wiki.zip


+ 1 - 1
examples/Demo/data/light_fs.glsl

@@ -14,7 +14,7 @@ void main()
 	lowp vec3 normal = texture2D(normal_texture, result_uv2).xyz * 2.0 - 1.0;
 
 
-	mediump vec3 dir = normalize(vec3(result_pos.xy, 0.0) - vec3(light, 40.0));
+	mediump vec3 dir = normalize(vec3(result_pos.xy, 0.0) - vec3(light, 200.0));
 
 
 	dir = vec3(-dir.x, dir.y, -dir.z);

+ 3 - 1
examples/Demo/proj.cmake/CMakeLists.txt

@@ -7,7 +7,9 @@ include_directories(${OXYGINE_INCLUDE_DIRS})
 link_directories(${OXYGINE_LIBRARY_DIRS})
 
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-add_executable(Demo ../src/Counter.cpp ../src/entry_point.cpp ../src/example.cpp ../src/test.cpp  ../src/Counter.h ../src/TestAlphaHitTest.h ../src/TestBox9Sprite.h ../src/TestClipRect.h ../src/TestColorFont.h ../src/TestCounter.h ../src/TestDrag.h ../src/TestHttp.h ../src/TestInputText.h ../src/TestManageRes.h ../src/TestMask.h ../src/TestPerf.h ../src/TestPolygon.h ../src/TestProgressBar.h ../src/TestRender2Texture.h ../src/TestSliding.h ../src/TestTexel2Pixel.h ../src/TestText.h ../src/TestTextureFormat.h ../src/TestTweenText.h ../src/TestTweens.h ../src/TestUserShader.h ../src/TestUserShader2.h ../src/example.h ../src/test.h )
+add_executable(Demo ../src/Counter.cpp ../src/entry_point.cpp ../src/example.cpp ../src/test.cpp 
+	../src/Counter.h ../src/TestAlphaHitTest.h ../src/TestBox9Sprite.h ../src/TestClipRect.h
+	../src/TestColorFont.h ../src/TestTweenGlow.h ../src/TestCounter.h ../src/TestDrag.h ../src/TestHttp.h ../src/TestInputText.h ../src/TestManageRes.h ../src/TestMask.h ../src/TestPerf.h ../src/TestPolygon.h ../src/TestProgressBar.h ../src/TestRender2Texture.h ../src/TestSliding.h ../src/TestTexel2Pixel.h ../src/TestText.h ../src/TestTextureFormat.h ../src/TestTweenText.h ../src/TestTweens.h ../src/TestUserShader.h ../src/TestUserShader2.h ../src/TestAlphaFade.h ../src/example.h ../src/test.h )
 
 if (WIN32) #disable console mode for VC++
 	set_target_properties(Demo PROPERTIES WIN32_EXECUTABLE TRUE)

+ 18 - 38
examples/Demo/proj.win32/Demo.vcxproj

@@ -17,6 +17,8 @@
     <ProjectName>Demo</ProjectName>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+
+
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
@@ -32,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -52,12 +58,15 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
+
   <PropertyGroup>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)_$(PlatformToolset)\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)_$(PlatformToolset)\</IntDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)_$(PlatformToolset)\</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)_$(PlatformToolset)\</IntDir>
   </PropertyGroup>
+
+
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <LinkIncremental>false</LinkIncremental>
   </PropertyGroup>
@@ -76,10 +85,9 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalOptions>/ignore:4099 /ignore:4204 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -99,50 +107,22 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>
-  <ItemGroup>
+  <ItemGroup>    
     <ProjectReference Include="../../../\oxygine\SDL\win32\oxygine.vcxproj">
       <Project>{52411305-cfe1-4fa8-9885-5729bfc816cf}</Project>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="../src/Counter.cpp" />
-    <ClCompile Include="../src/entry_point.cpp" />
-    <ClCompile Include="../src/example.cpp" />
-    <ClCompile Include="../src/test.cpp" />
+    <ClCompile Include="../src/Counter.cpp" /><ClCompile Include="../src/entry_point.cpp" /><ClCompile Include="../src/example.cpp" /><ClCompile Include="../src/test.cpp" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="../src/Counter.h" />
-    <ClInclude Include="../src/TestAlphaHitTest.h" />
-    <ClInclude Include="../src/TestBox9Sprite.h" />
-    <ClInclude Include="../src/TestClipRect.h" />
-    <ClInclude Include="../src/TestCounter.h" />
-    <ClInclude Include="../src/TestDrag.h" />
-    <ClInclude Include="../src/TestHttp.h" />
-    <ClInclude Include="../src/TestInputText.h" />
-    <ClInclude Include="../src/TestManageRes.h" />
-    <ClInclude Include="../src/TestMask.h" />
-    <ClInclude Include="../src/TestPerf.h" />
-    <ClInclude Include="../src/TestPolygon.h" />
-    <ClInclude Include="../src/TestProgressBar.h" />
-    <ClInclude Include="../src/TestRender2Texture.h" />
-    <ClInclude Include="../src/TestSliding.h" />
-    <ClInclude Include="../src/TestTexel2Pixel.h" />
-    <ClInclude Include="../src/TestText.h" />
-    <ClInclude Include="../src/TestTextureFormat.h" />
-    <ClInclude Include="../src/TestTweenShine.h" />
-    <ClInclude Include="../src/TestTweenText.h" />
-    <ClInclude Include="../src/TestTweens.h" />
-    <ClInclude Include="../src/TestUserShader.h" />
-    <ClInclude Include="../src/TestUserShader2.h" />
-    <ClInclude Include="../src/example.h" />
-    <ClInclude Include="../src/test.h" />
-    <ClInclude Include="..\src\TestColorFont.h" />
-    <ClInclude Include="..\src\TestTouches.h" />
+    <ClInclude Include="../src/Counter.h" /><ClInclude Include="../src/TestAlphaHitTest.h" /><ClInclude Include="../src/TestBox9Sprite.h" /><ClInclude Include="../src/TestClipRect.h" /><ClInclude Include="../src/TestColorFont.h" /><ClInclude Include="../src/TestCounter.h" /><ClInclude Include="../src/TestDrag.h" /><ClInclude Include="../src/TestHttp.h" /><ClInclude Include="../src/TestInputText.h" /><ClInclude Include="../src/TestManageRes.h" /><ClInclude Include="../src/TestMask.h" /><ClInclude Include="../src/TestPerf.h" /><ClInclude Include="../src/TestPolygon.h" /><ClInclude Include="../src/TestProgressBar.h" /><ClInclude Include="../src/TestRender2Texture.h" /><ClInclude Include="../src/TestSliding.h" /><ClInclude Include="../src/TestTexel2Pixel.h" /><ClInclude Include="../src/TestText.h" /><ClInclude Include="../src/TestTextureFormat.h" /><ClInclude Include="../src/TestTouches.h" /><ClInclude Include="../src/TestTweenShine.h" /><ClInclude Include="../src/TestTweenText.h" /><ClInclude Include="../src/TestTweens.h" /><ClInclude Include="../src/TestUserShader.h" /><ClInclude Include="../src/TestUserShader2.h" /><ClInclude Include="../src/example.h" /><ClInclude Include="../src/test.h" />
+    <ClInclude Include="..\src\TestTweenAlphaFade.h" />
+    <ClInclude Include="..\src\TestTweenGlow.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">

+ 2 - 93
examples/Demo/proj.win32/Demo.vcxproj.filters

@@ -14,101 +14,10 @@
       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
     </Filter>
   </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="../src/Counter.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="../src/entry_point.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="../src/example.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="../src/test.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="../src/Counter.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestAlphaHitTest.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestBox9Sprite.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestClipRect.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestCounter.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestDrag.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestHttp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestInputText.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestManageRes.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestMask.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestPerf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestPolygon.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestProgressBar.h">
+    <ClInclude Include="..\src\TestTweenGlow.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="../src/TestRender2Texture.h">
+    <ClInclude Include="..\src\TestTweenAlphaFade.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="../src/TestSliding.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestTexel2Pixel.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestText.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestTextureFormat.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestTweenShine.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestTweenText.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestTweens.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestUserShader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/TestUserShader2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/example.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="../src/test.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\TestTouches.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\TestColorFont.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
 </Project>

+ 53 - 3
examples/Demo/src/TestColorFont.h

@@ -3,6 +3,52 @@
 #include "core/UberShaderProgram.h"
 
 DECLARE_SMART(ShaderTextField, spShaderTextField);
+class CustomShader : public Material
+{
+public:
+    static CustomShader* get(Actor* a)
+    {
+        return safeCast<CustomShader*>(a->getMaterial());
+    }
+
+    CustomShader(UberShaderProgram* shader): _shader(shader) {}
+
+    void apply(Actor* a)
+    {
+        a->setMaterial(this);
+    }
+
+    void free()
+    {
+
+    }
+
+    void setUniforms(IVideoDriver* driver, ShaderProgram* prog)
+    {
+        //driver->setUniform("userValue", &_val, 1);
+
+        /*Color q(_adata, _adata, _adata, _adata);
+        Vector4 c;
+        c = tovec(_outer * q);
+        driver->setUniform("_black", &c, 1);
+        c = tovec(getColor() * _style.color * q);
+        driver->setUniform("_white", &c, 1);*/
+    }
+
+    void doRender(Actor* actor, RenderState& rs)
+    {
+        /* _shader->setShaderUniformsCallback(CLOSURE(this, &CustomShader::setUniforms));
+         STDRenderer* renderer = safeCast<STDRenderer*>(rs.renderer);
+         renderer->setUberShaderProgram(_shader);
+
+         actor->doRender(rs);
+
+         renderer->setUberShaderProgram(&Renderer::uberShader);
+         _shader->setShaderUniformsCallback(UberShaderProgram::ShaderUniformsCallback());*/
+    }
+
+    UberShaderProgram* _shader;
+};
 
 class ShaderTextField : public TextField
 {
@@ -11,7 +57,7 @@ public:
     static void init()
     {
         shader = new UberShaderProgram();
-        shader->init(Renderer::uberShaderBody,
+        shader->init(STDRenderer::uberShaderBody,
                      "#define MODIFY_BASE\n"
                      "#define DONT_MULT_BY_RESULT_COLOR\n"
                      "uniform lowp vec4 _black;"
@@ -29,6 +75,8 @@ public:
         delete shader;
     }
 
+    //void set
+
     ShaderTextField() : _outer(Color::White)
     {
 
@@ -67,12 +115,14 @@ private:
 
     void doRender(const RenderState& rs)
     {
+        Material::setCurrent(rs.material);
+
+        STDRenderer* renderer = STDRenderer::instance;
         _adata = rs.alpha;
         shader->setShaderUniformsCallback(CLOSURE(this, &ShaderTextField::setUniforms));
-        STDRenderer* renderer = safeCast<STDRenderer*>(rs.renderer);
         renderer->setUberShaderProgram(shader);
         TextField::doRender(rs);
-        renderer->setUberShaderProgram(&Renderer::uberShader);
+        renderer->setUberShaderProgram(&STDRenderer::uberShader);
 
         shader->setShaderUniformsCallback(UberShaderProgram::ShaderUniformsCallback());
     }

+ 2 - 1
examples/Demo/src/TestManageRes.h

@@ -28,7 +28,8 @@ public:
                 continue;
             spSprite sprite = new Sprite;
             sprite->setResAnim(ra);
-            sprite->addTween(TweenAnim(ra), 500, -1);
+            if (ra->getTotalFrames() > 1)
+                sprite->addTween(TweenAnim(ra), 500, -1);
             sprite->setPosition(scalar::randFloat(50.0f, getWidth() - 100.0f), scalar::randFloat(50.0f, getHeight() - 100.0f));
             sprite->attachTo(content);
 

+ 1 - 1
examples/Demo/src/TestMask.h

@@ -83,7 +83,7 @@ public:
             if (t->value == 0)
                 _masked->setMask(0);
             else
-                _masked->setMask(_mask);
+                _masked->setMask(_mask, true);
         }
 
         if (id == "pause")

+ 9 - 9
examples/Demo/src/TestRender2Texture.h

@@ -49,29 +49,29 @@ public:
             return;
 
         STDRenderer renderer(0);
-        RenderState rs;
-        rs.renderer = &renderer;
-
 
         Rect viewport(Point(0, 0), content->getSize().cast<Point>());
         renderer.initCoordinateSystem(viewport.getWidth(), viewport.getHeight(), true);
 
-        IVideoDriver::instance->setRenderTarget(texture);
-        IVideoDriver::instance->setViewport(viewport);
+        IVideoDriver* driver = IVideoDriver::instance;
+
+        driver->setRenderTarget(texture);
+        driver->setViewport(viewport);
+
+        RectF destRect(te->localPosition - Vector2(16, 16), Vector2(32, 32));
 
         //begin rendering
         renderer.begin(0);
 
         ResAnim* brush = resources.getResAnim("brush");
-        AnimationFrame frame = brush->getFrame(0, 0);
+        AnimationFrame frame = brush->getFrame(0);
         const Diffuse& df = frame.getDiffuse();
         renderer.setTexture(df.base, 0);
         renderer.setBlendMode(blend_alpha);
-        RectF destRect(te->localPosition - Vector2(16, 16), Vector2(32, 32));
-        renderer.draw(&rs, color, frame.getSrcRect(), destRect);
+        renderer.draw(color, frame.getSrcRect(), destRect);
         renderer.end();
 
         //restore to default render target
-        IVideoDriver::instance->setRenderTarget(0);
+        driver->setRenderTarget(0);
     }
 };

+ 51 - 0
examples/Demo/src/TestTweenAlphaFade.h

@@ -0,0 +1,51 @@
+#pragma once
+#include "test.h"
+#include "TweenAlphaFade.h"
+#undef OUT
+
+
+class TestTweenAlphaFade : public Test
+{
+public:
+    spActor _test;
+    TestTweenAlphaFade()
+    {
+        spSprite sprite = new Sprite;
+        //Vector2 pos(0, 0);
+        //sprite->setPosition(pos);
+        sprite->setResAnim(resources.getResAnim("t2p"));
+        sprite->attachTo(content);
+        //float scale = 1.0f / getStage()->getScaleX();
+        //sprite->setScale(scale);
+        //Vector2 displaySpriteSize = sprite->getSize() * scale;
+        //sprite->setPosition((content->getSize() - displaySpriteSize) / 2.0f);
+        //*/
+
+        sprite->setPosition(100.8f, 100.5f);
+        sprite->setScale(1.5f);
+        sprite->setAnchor(0.5f, 0.5f);
+        sprite->setRotationDegrees(45);
+        sprite->addEventListener(TouchEvent::CLICK,
+                                 CLOSURE(this, &TestTweenAlphaFade::onClick));
+
+        spSprite child = new Sprite;
+        //child->attachTo(sprite);
+        child->setScale(1.0f / 1.5f);
+        child->setResAnim(resources.getResAnim("t2p"));
+
+
+        //sprite->addTween(Actor::TweenX(0), 10000, -1, true);
+        sprite->addTween(TweenAnim(resources.getResAnim("anim")), 500, -1);
+        _test = sprite;
+    }
+
+    void onClick(Event*)
+    {
+        _test->addTween(TweenAlphaFade(false, false), 5500, 1, true);
+    }
+
+    void clicked(string id)
+    {
+        //   _test->addTween(TweenFade(), 1500);
+    }
+};

+ 48 - 0
examples/Demo/src/TestTweenGlow.h

@@ -0,0 +1,48 @@
+#pragma once
+#include "test.h"
+#include "TweenGlow.h"
+#undef OUT
+
+
+class TestTweenGlow : public Test
+{
+public:
+    spActor _test;
+    TestTweenGlow()
+    {
+        spSprite sprite = new Sprite;
+        //Vector2 pos(0, 0);
+        //sprite->setPosition(pos);
+        sprite->setResAnim(resources.getResAnim("t2p"));
+        sprite->attachTo(content);
+        //float scale = 1.0f / getStage()->getScaleX();
+        //sprite->setScale(scale);
+        //Vector2 displaySpriteSize = sprite->getSize() * scale;
+        //sprite->setPosition((content->getSize() - displaySpriteSize) / 2.0f);
+        //*/
+
+        sprite->setPosition(100.8f, 100.5f);
+        sprite->setScale(1.5f);
+        sprite->addEventListener(TouchEvent::CLICK,
+                                 CLOSURE(this, &TestTweenGlow::onClick));
+
+        spSprite child = new Sprite;
+        child->attachTo(sprite);
+        child->setScale(1.0f / 1.5f);
+        child->setResAnim(resources.getResAnim("t2p"));
+
+
+        sprite->addTween(Actor::TweenX(-130), 10000, -1, true);
+        _test = sprite;
+    }
+
+    void onClick(Event*)
+    {
+        _test->addTween(TweenAlphaFade(false), 5500, 1, true);
+    }
+
+    void clicked(string id)
+    {
+        //   _test->addTween(TweenFade(), 1500);
+    }
+};

+ 1 - 0
examples/Demo/src/TestTweenText.h

@@ -15,6 +15,7 @@ public:
     }
 
     void init(TextField& actor) {}
+    void done(TextField& actor) {}
     void update(TextField& actor, float p, const UpdateState& us)
     {
         int v = lerp<int>(0, (int)_text.size(), p);

+ 81 - 23
examples/Demo/src/TestUserShader.h

@@ -3,13 +3,14 @@
 #include "core/UberShaderProgram.h"
 #include "core/gl/VideoDriverGLES20.h"
 #include "core/gl/oxgl.h"
+#include "STDMaterial.h"
 
 DECLARE_SMART(ShaderSprite, spShaderSprite);
 
 class ShaderSprite: public Sprite
 {
 public:
-    ShaderSprite(): _program(0), _val(0, 0, 0, 0)
+    ShaderSprite(): _program(0), _val(0.5f, 0.5f, 0.5f, 0)
     {
 
     }
@@ -41,16 +42,70 @@ private:
 
     void doRender(const RenderState& rs)
     {
-        _program->setShaderUniformsCallback(CLOSURE(this, &ShaderSprite::setUniforms));
-        STDRenderer* renderer = safeCast<STDRenderer*>(rs.renderer);
+        /* _program->setShaderUniformsCallback(CLOSURE(this, &ShaderSprite::setUniforms));
+         STDRenderer* renderer = safeCast<STDRenderer*>(rs.renderer);
+         renderer->setUberShaderProgram(_program);
+         Sprite::doRender(rs);
+         renderer->setUberShaderProgram(&Renderer::uberShader);
+
+         _program->setShaderUniformsCallback(UberShaderProgram::ShaderUniformsCallback());*/
+    }
+};
+
+class TweenShader: public Tween, public Material
+{
+public:
+    UberShaderProgram* _program;
+    Vector4 _val;
+    TweenShader(UberShaderProgram* prog) : _program(prog), _val(0, 0, 0, 0) {}
+    ~TweenShader()
+    {
+        if (_client)
+            _client->setMaterial(0);
+    }
+
+    void _start(Actor& actor) OVERRIDE
+    {
+        actor.setName("zzz");
+        actor.setMaterial(this) ;
+    }
+
+    void _update(Actor& actor, const UpdateState& us)
+    {
+        _val = lerp(Vector4(1, 1, 1, 0), Vector4(0, 0, 0, 0),  _percent);
+    }
+
+    void _done(Actor& actor, const UpdateState& us)
+    {
+        actor.setMaterial(0);
+    }
+
+    void setUniforms(IVideoDriver* driver, ShaderProgram* prog)
+    {
+        driver->setUniform("userValue", &_val, 1);
+    }
+
+    void apply(Material* prev) OVERRIDE
+    {
+        STDRenderer* renderer = STDMaterial::instance->getRenderer();
+        _program->setShaderUniformsCallback(CLOSURE(this, &TweenShader::setUniforms));
+        //STDRenderer* renderer = safeCast<STDRenderer*>(r);
         renderer->setUberShaderProgram(_program);
-        Sprite::doRender(rs);
-        renderer->setUberShaderProgram(&Renderer::uberShader);
+    }
+
+    void doRender(Sprite* s, const RenderState& rs) OVERRIDE
+    {
+        STDMaterial::instance->doRender(s, rs);
+    }
 
-        _program->setShaderUniformsCallback(UberShaderProgram::ShaderUniformsCallback());
+    void finish() OVERRIDE
+    {
+        STDRenderer* renderer = STDMaterial::instance->getRenderer();
+        renderer->drawBatch();
     }
 };
 
+
 class TestUserShader: public Test
 {
 public:
@@ -58,45 +113,47 @@ public:
     UberShaderProgram* _shaderAddColor;
     UberShaderProgram* _shaderInvert;
 
-    spShaderSprite _sprite;
+    spSprite _sprite;
 
     TestUserShader(): _shaderMono(0), _shaderAddColor(0)
     {
         _shaderMono = new UberShaderProgram();
-        _shaderMono->init(Renderer::uberShaderBody,
-                          "#define MODIFY_BASE\n"
+        _shaderMono->init(STDRenderer::uberShaderBody,
+                          "#define MODIFY_BASE_PRE\n"
                           "uniform lowp vec4 userValue;"
-                          "lowp vec4 modify_base(lowp vec4 base)\n"
+                          "lowp vec4 modify_base_pre(lowp vec4 base)\n"
                           "{\n"
-                          "lowp float c = (base.r + base.g + base.b)/3.0;\n"
+                          "lowp float c = (base.r + base.g + base.b) / 3.0;\n"
                           "return mix(vec4(c, c, c, base.a), base, userValue.r);\n"
                           "}\n");
 
         _shaderAddColor = new UberShaderProgram();
-        _shaderAddColor->init(Renderer::uberShaderBody,
-                              "#define MODIFY_BASE\n"
+        _shaderAddColor->init(STDRenderer::uberShaderBody,
+                              "#define MODIFY_BASE_PRE\n"
                               "uniform lowp vec4 userValue;"
-                              "lowp vec4 modify_base(lowp vec4 base)\n"
+                              "lowp vec4 modify_base_pre(lowp vec4 base)\n"
                               "{\n"
-                              "return base + userValue;\n"
+                              "return base + userValue * base.a;\n"
                               "}\n");
 
         _shaderInvert = new UberShaderProgram();
-        _shaderInvert->init(Renderer::uberShaderBody,
-                            "#define MODIFY_BASE\n"
+        _shaderInvert->init(STDRenderer::uberShaderBody,
+                            "#define MODIFY_BASE_PRE\n"
                             "uniform lowp vec4 userValue;"
-                            "lowp vec4 modify_base(lowp vec4 base)\n"
+                            "lowp vec4 modify_base_pre(lowp vec4 base)\n"
                             "{\n"
                             "\n"
-                            "return vec4(mix(vec4(1.0, 1.0, 1.0, 1.0) - base, base, userValue.r).rgb, base.a);\n"
+                            "lowp vec4 inverted = vec4(1.0, 1.0, 1.0, 1.0) - base;\n"
+                            "lowp vec4 res = mix(inverted * base.a, base, userValue.r);\n"
+                            "return vec4(res.rgb, base.a);\n"
                             "}\n");
 
 
-        _sprite = new ShaderSprite;
+        _sprite = new Sprite;
         _sprite->setResAnim(resources.getResAnim("bg"));
         _sprite->attachTo(content);
-        _sprite->addTween(ShaderSprite::TweenVal(Vector4(1, 1, 1, 0)), 5000, -1, true);
-        _sprite->setShaderProgram(_shaderInvert);
+
+        //_sprite->addTween2(new TweenShader(_shaderInvert), TweenOptions(2000).twoSides(true).loops(-1));
 
         toggle t[] =
         {
@@ -119,7 +176,8 @@ public:
         if (id == "shader")
         {
             UberShaderProgram* shader = (UberShaderProgram*)data->data;
-            _sprite->setShaderProgram(shader);
+
+            _sprite->addTween2(new TweenShader(shader), TweenOptions(3000).twoSides(true));
         }
     }
 };

+ 74 - 95
examples/Demo/src/TestUserShader2.h

@@ -7,22 +7,25 @@
 #include "core/gl/ShaderProgramGL.h"
 
 
-class LightningRenderer : public Renderer
+class LightningMaterial : public Material
 {
 public:
+    const VertexDeclaration* _vdecl;
+    ShaderProgramGL* _lightShader;
+    Vector2 _light;
+
+    vector<vertexPCT2T2> _vertices;
+    AnimationFrame _normal;
     spNativeTexture _base;
-    spNativeTexture _normal;
 
-    spNativeTexture _base2;
+    LightningMaterial()
+    {
+        _normal = resources.getResAnim("normal")->getFrame(0);
 
-    AnimationFrame _defaultNormal;
+        _light = getStage()->getSize() / 2;
 
-    ShaderProgramGL* _lightShader;
-    Vector2 _light;
-    LightningRenderer() : _light(0, 0)
-    {
-        //vertex declaration with 2 pairs of UV
-        _vdecl = getDriver()->getVertexDeclaration(vertexPCT2T2::FORMAT);
+        IVideoDriver* driver = IVideoDriver::instance;
+        _vdecl = driver->getVertexDeclaration(vertexPCT2T2::FORMAT);
 
         //load vertex shader
         file::buffer vsdata;
@@ -42,127 +45,103 @@ public:
         _lightShader->init(pr);
 
         //set shader and apply samplers uniforms
-        getDriver()->setShaderProgram(_lightShader);
-        getDriver()->setUniformInt("base_texture", 0);
-        getDriver()->setUniformInt("normal_texture", 1);
-
-        //texture for sprites without normals
-        _defaultNormal = resources.getResAnim("defnormal")->getFrame(0);
+        driver->setShaderProgram(_lightShader);
+        driver->setUniformInt("base_texture", 0);
+        driver->setUniformInt("normal_texture", 1);
     }
 
-    void setLightPosition(const Vector2& pos)
+    void apply(Material* prev) OVERRIDE
     {
-        _light = pos;
-    }
+        IVideoDriver* driver = IVideoDriver::instance;
+        driver->setShaderProgram(_lightShader);
 
-    void _begin()
-    {
-        setShader(_lightShader);
-        _base = 0;
-        _normal = 0;
+        Vector2 light = getStage()->getDescendant("light")->getPosition();
 
-        _driver->setUniform("light", &_light, 1);
+        driver->setUniform("light", &light, 1);
+        driver->setUniform("mat", &STDMaterial::instance->getRenderer()->getViewProjection());
 
-        _driver->setState(IVideoDriver::STATE_BLEND, 1);
-        _driver->setBlendFunc(IVideoDriver::BT_ONE, IVideoDriver::BT_ONE_MINUS_SRC_ALPHA);
-        _driver->setBlendFunc(IVideoDriver::BT_SRC_ALPHA, IVideoDriver::BT_ONE_MINUS_SRC_ALPHA);
-    }
+        driver->setTexture(1, _normal.getDiffuse().base);
 
-    void setBlendMode(blend_mode blend)
-    {
+        driver->setState(IVideoDriver::STATE_BLEND, 0);
+        driver->setBlendFunc(IVideoDriver::BT_ONE, IVideoDriver::BT_ONE_MINUS_SRC_ALPHA);
+        driver->setBlendFunc(IVideoDriver::BT_SRC_ALPHA, IVideoDriver::BT_ONE_MINUS_SRC_ALPHA);
     }
 
-    void setTexture(spNativeTexture base, spNativeTexture alpha, bool basePremultiplied /* = true */)
+    void finish() OVERRIDE
     {
-        _base2 = base;
-
+        drawBatch(IVideoDriver::instance);
     }
 
-    void preDrawBatch()
+    void drawBatch(IVideoDriver* driver)
     {
-    }
+        size_t count = _vertices.size();
+        if (!count)
+            return;
 
-    void draw(const RState* rs, const Color& color, const RectF& srcRect, const RectF& destRect)
-    {
-        draw(rs, color, srcRect, destRect,
-             _base2, _defaultNormal.getDiffuse().base, _defaultNormal.getSrcRect());
-    }
+        size_t indices = (count * 3) / 2;
 
-    void draw(const RState* rs, const Color& color, const RectF& srcRect, const RectF& destRect, spNativeTexture base, spNativeTexture normal, const RectF& normalSrc)
-    {
-        if (_base != base)
-        {
-            drawBatch();
-            _base = base;
-            _driver->setTexture(0, _base);
-        }
+        driver->setTexture(0, _base);
 
-        if (_normal != normal)
-        {
-            drawBatch();
-            _normal = normal;
-            _driver->setTexture(1, _normal);
-        }
+        if (indices <= STDRenderer::indices8.size())
+            driver->draw(IVideoDriver::PT_TRIANGLES, _vdecl, &_vertices.front(), count, &STDRenderer::indices8.front(), indices, false);
+        else
+            driver->draw(IVideoDriver::PT_TRIANGLES, _vdecl, &_vertices.front(), count, &STDRenderer::indices16.front(), indices, true);
 
-        vertexPCT2T2 v[4];
-        fillQuadT2(v, srcRect, normalSrc, destRect, rs->transform, color.rgba());
-        _vertices.insert(_vertices.end(), (unsigned char*)v, (unsigned char*)v + sizeof(v));
-        _checkDrawBatch();
+        _vertices.clear();
     }
-};
 
-class Sprite2 : public Sprite
-{
-public:
-    Sprite2(const AnimationFrame& n) : normal(n) {}
 
-    void doRender(const RenderState& rs)
+    void doRender(Sprite* sprite, const RenderState& rs) OVERRIDE
     {
-        LightningRenderer* renderer = safeCast<LightningRenderer*>(rs.renderer);
-
-        const Diffuse& df = _frame.getDiffuse();
-        renderer->draw(&rs, getColor(), _frame.getSrcRect(), getDestRect(), df.base, normal.getDiffuse().base, normal.getSrcRect());
-    }
-
-    AnimationFrame normal;
-};
+        Material::setCurrent(this);
 
+        vertexPCT2T2 v[4];
+        const AnimationFrame& frame = sprite->getAnimFrame();
 
-class LightningActor : public Actor
-{
-public:
-    LightningRenderer _renderer;
-    void render(const RenderState& parent)
-    {
-        _renderer.setLightPosition(_getStage()->getDescendant("light")->getPosition());
+        if (frame.getDiffuse().base != _base)
+        {
+            drawBatch(IVideoDriver::instance);
+            _base = frame.getDiffuse().base;
+        }
 
-        RenderState rs = parent;
-        rs.renderer = &_renderer;
-        _renderer.begin(parent.renderer);
-        Actor::render(rs);
-        _renderer.end();
+        fillQuadT2(v, frame.getSrcRect(), _normal.getSrcRect(), sprite->getDestRect(), rs.transform, 0xffFFffFF);
+        _vertices.insert(_vertices.end(), v, v + 4);
     }
 };
+
 class TestUserShader2 : public Test
 {
 public:
-    UberShaderProgram* _shader;
-
     Draggable drag;
 
-    TestUserShader2() : _shader(0)
+    TestUserShader2()
     {
-        spActor lightning = new LightningActor;
-        this->content->addChild(lightning);
-        lightning->setSize(this->content->getSize());
+        LightningMaterial* mat = new LightningMaterial;
 
-        AnimationFrame frame = resources.getResAnim("normal")->getFrame(0);
-        spSprite spr = new Sprite2(frame);
+        spSprite spr = new Sprite();
         spr->setResAnim(resources.getResAnim("tiled2"));
         spr->setScale(2);
         spr->setAnchor(0.5f, 0.5f);
         spr->setPosition(content->getSize() / 2);
-        spr->attachTo(lightning);
+        spr->attachTo(content);
+        spr->setMaterial(mat);
+
+
+        spr = new Sprite();
+        spr->setResAnim(resources.getResAnim("tiled2"));
+        spr->setScale(2);
+        spr->setAnchor(0.5f, 0.5f);
+        spr->setPosition(content->getSize() / 2 + Vector2(300, 50));
+        spr->attachTo(content);
+        spr->setMaterial(mat);
+
+        spr = new Sprite();
+        spr->setResAnim(resources.getResAnim("tiled2"));
+        spr->setScale(2);
+        spr->setAnchor(0.5f, 0.5f);
+        spr->setPosition(content->getSize() / 2 + Vector2(-200, 50));
+        spr->attachTo(content);
+        spr->setMaterial(mat);
 
 
         spSprite light = new Sprite;
@@ -172,7 +151,7 @@ public:
         drag.init(light.get());
         light->setPosition(getSize() / 2);
 
-        lightning->addChild(light);
+        content->addChild(light);
     }
 
 };

+ 7 - 2
examples/Demo/src/example.cpp

@@ -25,6 +25,7 @@
 #include "TestTweenShine.h"
 #include "TestTouches.h"
 #include "TestColorFont.h"
+#include "TestTweenAlphaFade.h"
 
 #ifdef __S3E__
 #include "s3eKeyboard.h"
@@ -78,6 +79,7 @@ public:
         addButton("inputtext", "Input Text");
         addButton("openbrowser", "Open Browser");
         addButton("http", "Http requests");
+        addButton("tweenfade", "Tween Alpha Fade");
 
         _color = Color::Red;
         _txtColor = Color::White;
@@ -226,7 +228,10 @@ public:
             showTest(new TestColorFont);
         }
 
-
+        if (id == "tweenfade")
+        {
+            showTest(new TestTweenAlphaFade);
+        }
     }
 };
 
@@ -242,7 +247,7 @@ void example_preinit()
     I set it to false to simplify shaders for UserShaderDemo
     */
 
-    Renderer::setPremultipliedAlphaRender(false);
+    //Renderer::setPremultipliedAlphaRender(false);
 }
 
 

+ 3 - 1
examples/Demo/src/test.h

@@ -17,6 +17,7 @@ public:
     Content() : driver(0) { setName("content"); }
     IVideoDriver* driver;
 
+    /*
     void render(const RenderState& parentRS)
     {
 
@@ -24,11 +25,12 @@ public:
 
         RenderState rs = parentRS;
         STDRenderer renderer(driver ? driver : IVideoDriver::instance);
-        renderer.begin(parentRS.renderer);
+        renderer.Renderer::begin(parentRS.renderer);
         rs.renderer = &renderer;
         Actor::render(rs);
         renderer.end();
     }
+    */
 };
 
 DECLARE_SMART(Test, spTest);

+ 0 - 5
examples/DemoBox2D/data/res.xml

@@ -3,12 +3,7 @@
 	<set path = "images" />
 	<atlas>
 		<image file="circle.png"/>
-		<image id="anim" file="anim1.png" cols = "7" /> <!-- 'id' is optional -->
-		<image file="button.png" cols = "3" />				
 		<image file="pen.png" />				
 		<image file="shot.png" />	
 	</atlas>
-	
-	<set path = "fonts" />
-	<font file="main.fnt" />
 </resources>

+ 7 - 4
examples/DemoBox2D/proj.win32/DemoBox2D.vcxproj

@@ -32,7 +32,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -77,7 +81,7 @@
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -100,7 +104,7 @@
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>
@@ -109,7 +113,6 @@
       <Project>{52411305-cfe1-4fa8-9885-5729bfc816cf}</Project>
     </ProjectReference>
   </ItemGroup>
-  
   <ItemGroup>
     <ClCompile Include="../src/Box2DDebugDraw.cpp" />
     <ClCompile Include="../src/entry_point.cpp" />

+ 8 - 5
examples/DemoBox2D/src/Box2DDebugDraw.cpp

@@ -3,6 +3,8 @@
 #include "RenderState.h"
 #include "core/gl/VideoDriverGLES20.h"
 #include "core/gl/ShaderProgramGL.h"
+#include "Material.h"
+#include "STDMaterial.h"
 
 Box2DDraw::Box2DDraw(): _worldScale(1.0f), _world(0)
 {
@@ -41,20 +43,21 @@ Box2DDraw::~Box2DDraw()
 
 void Box2DDraw::doRender(const RenderState& rs)
 {
-    rs.renderer->drawBatch();
+    Material::setCurrent(0);
+
+    IVideoDriver* driver = IVideoDriver::instance;
 
     _world->SetDebugDraw(this);
 
-    rs.renderer->getDriver()->setShaderProgram(_program);
+    driver->setShaderProgram(_program);
 
-    Matrix m = Matrix(rs.transform) * rs.renderer->getViewProjection();
-    rs.renderer->getDriver()->setUniform("projection", &m);
+    Matrix m = Matrix(rs.transform) * STDMaterial::instance->getRenderer()->getViewProjection();
+    driver->setUniform("projection", &m);
 
     glEnable(GL_BLEND);
     glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
     _world->DrawDebugData();
     _world->SetDebugDraw(0);
-    rs.renderer->resetSettings();
 }
 
 void Box2DDraw::DrawPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color)

+ 0 - 1
examples/DemoBox2D/src/example.cpp

@@ -93,7 +93,6 @@ public:
         setSize(getStage()->getSize());
 
         spButton btn = new Button;
-        btn->setResAnim(gameResources.getResAnim("button"));
         btn->setX(getWidth() - btn->getWidth() - 3);
         btn->setY(3);
         btn->attachTo(this);

+ 7 - 5
examples/Game/part1/proj.win32/GamePart1.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 7 - 5
examples/Game/part2/proj.win32/GamePart2.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 7 - 5
examples/Game/part3/proj.win32/GamePart3.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 7 - 5
examples/Game/part4/proj.win32/GamePart4.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 7 - 5
examples/Game/part5/proj.win32/GamePart5.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../../..//oxygine/third_party/win32/libraries;../../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 7 - 5
examples/HelloWorld/proj.win32/HelloWorld.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 7 - 5
examples/Match3/proj.win32/Match3.vcxproj

@@ -34,7 +34,11 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
+    
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <WholeProgramOptimization Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '14.0'">true</WholeProgramOptimization>
+    
+
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
     <PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
@@ -81,8 +85,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
@@ -104,8 +107,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalLibraryDirectories>../../..//oxygine/third_party/win32/libraries;../../..//libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libcurl_imp.lib;libjpeg.lib;libpng.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalDependencies Condition="'$(VisualStudioVersion)' == '14.0'">libcurl_imp.lib;libjpeg-2015.lib;libpng-2015.lib;libzlib.lib;opengl32.lib;pthreadVCE2.lib;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies></AdditionalDependencies>
       <AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>

+ 1 - 0
include/ox/Actor.hpp

@@ -0,0 +1 @@
+#include "Actor.h"

+ 1 - 0
include/ox/AffineTransform.hpp

@@ -0,0 +1 @@
+#include "math/AffineTransform.h"

+ 1 - 0
include/ox/AnimationFrame.hpp

@@ -0,0 +1 @@
+#include "AnimationFrame.h"

+ 1 - 0
include/ox/AsyncTask.hpp

@@ -0,0 +1 @@
+#include "AsyncTask.h"

+ 1 - 0
include/ox/Box9Sprite.hpp

@@ -0,0 +1 @@
+#include "Box9Sprite.h"

+ 1 - 0
include/ox/Button.hpp

@@ -0,0 +1 @@
+#include "Button.h"

+ 1 - 0
include/ox/ClipRectActor.hpp

@@ -0,0 +1 @@
+#include "ClipRectActor.h"

+ 1 - 0
include/ox/Clock.hpp

@@ -0,0 +1 @@
+#include "Clock.h"

+ 1 - 0
include/ox/Color.hpp

@@ -0,0 +1 @@
+#include "math/Color.h"

+ 1 - 0
include/ox/ColorRectSprite.hpp

@@ -0,0 +1 @@
+#include "ColorRectSprite.h"

+ 1 - 0
include/ox/CreateResourceContext.hpp

@@ -0,0 +1 @@
+#include "res/CreateResourceContext.h"

+ 1 - 0
include/ox/DebugActor.hpp

@@ -0,0 +1 @@
+#include "DebugActor.h"

+ 1 - 0
include/ox/Draggable.hpp

@@ -0,0 +1 @@
+#include "Draggable.h"

+ 1 - 0
include/ox/Event.hpp

@@ -0,0 +1 @@
+#include "Event.h"

+ 1 - 0
include/ox/EventDispatcher.hpp

@@ -0,0 +1 @@
+#include "EventDispatcher.h"

+ 1 - 0
include/ox/FileSystem.hpp

@@ -0,0 +1 @@
+#include "core/FileSystem.h"

+ 1 - 0
include/ox/Font.hpp

@@ -0,0 +1 @@
+#include "Font.h"

+ 1 - 0
include/ox/HttpRequestTask.hpp

@@ -0,0 +1 @@
+#include "HttpRequestTask.h"

+ 1 - 0
include/ox/ImageData.hpp

@@ -0,0 +1 @@
+#include "core/ImageData.h"

+ 1 - 0
include/ox/ImageDataOperations.hpp

@@ -0,0 +1 @@
+#include "core/ImageDataOperations.h"

+ 1 - 0
include/ox/Input.hpp

@@ -0,0 +1 @@
+#include "Input.h"

+ 1 - 0
include/ox/InputText.hpp

@@ -0,0 +1 @@
+#include "InputText.h"

+ 1 - 0
include/ox/KeyEvent.hpp

@@ -0,0 +1 @@
+#include "KeyEvent.h"

+ 1 - 0
include/ox/MaskedRenderer.hpp

@@ -0,0 +1 @@
+#include "MaskedRenderer.h"

+ 1 - 0
include/ox/MaskedSprite.hpp

@@ -0,0 +1 @@
+#include "MaskedSprite.h"

+ 1 - 0
include/ox/Matrix.hpp

@@ -0,0 +1 @@
+#include "math/Matrix.h"

+ 1 - 0
include/ox/Mem2Native.hpp

@@ -0,0 +1 @@
+#include "core/Mem2Native.h"

+ 1 - 0
include/ox/MemoryTexture.hpp

@@ -0,0 +1 @@
+#include "MemoryTexture.h"

+ 1 - 0
include/ox/Multithreading.hpp

@@ -0,0 +1 @@
+#include "Multithreading.h"

+ 1 - 0
include/ox/Mutex.hpp

@@ -0,0 +1 @@
+#include "core/Mutex.h"

+ 1 - 0
include/ox/NativeTexture.hpp

@@ -0,0 +1 @@
+#include "core/NativeTexture.h"

+ 1 - 0
include/ox/Object.hpp

@@ -0,0 +1 @@
+#include "core/Object.h"

+ 1 - 0
include/ox/PointerState.hpp

@@ -0,0 +1 @@
+#include "PointerState.h"

+ 1 - 0
include/ox/Polygon.hpp

@@ -0,0 +1 @@
+#include "Polygon.h"

+ 1 - 0
include/ox/ProgressBar.hpp

@@ -0,0 +1 @@
+#include "ProgressBar.h"

+ 1 - 0
include/ox/Property.hpp

@@ -0,0 +1 @@
+#include "Property.h"

+ 1 - 0
include/ox/Rect.hpp

@@ -0,0 +1 @@
+#include "math/Rect.h"

+ 1 - 0
include/ox/RenderState.hpp

@@ -0,0 +1 @@
+#include "RenderState.h"

+ 1 - 0
include/ox/Renderer.hpp

@@ -0,0 +1 @@
+#include "core/Renderer.h"

+ 1 - 0
include/ox/ResAnim.hpp

@@ -0,0 +1 @@
+#include "res/ResAnim.h"

+ 1 - 0
include/ox/ResAtlas.hpp

@@ -0,0 +1 @@
+#include "res/ResAtlas.h"

+ 1 - 0
include/ox/ResBuffer.hpp

@@ -0,0 +1 @@
+#include "res/ResBuffer.h"

+ 1 - 0
include/ox/ResFont.hpp

@@ -0,0 +1 @@
+#include "res/ResFont.h"

+ 1 - 0
include/ox/ResFontBM.hpp

@@ -0,0 +1 @@
+#include "res/ResFontBM.h"

+ 1 - 0
include/ox/ResStarlingAtlas.hpp

@@ -0,0 +1 @@
+#include "res/ResStarlingAtlas.h"

+ 1 - 0
include/ox/Resource.hpp

@@ -0,0 +1 @@
+#include "res/Resource.h"

+ 1 - 0
include/ox/Resources.hpp

@@ -0,0 +1 @@
+#include "res/Resources.h"

+ 1 - 0
include/ox/Restorable.hpp

@@ -0,0 +1 @@
+#include "core/Restorable.h"

+ 1 - 0
include/ox/STDFileSystem.hpp

@@ -0,0 +1 @@
+#include "core/STDFileSystem.h"

+ 1 - 0
include/ox/STDRenderer.hpp

@@ -0,0 +1 @@
+#include "STDRenderer.h"

+ 1 - 0
include/ox/ScalarMath.hpp

@@ -0,0 +1 @@
+#include "math/ScalarMath.h"

+ 1 - 0
include/ox/ShaderProgram.hpp

@@ -0,0 +1 @@
+#include "core/ShaderProgram.h"

+ 1 - 0
include/ox/SlidingActor.hpp

@@ -0,0 +1 @@
+#include "SlidingActor.h"

+ 1 - 0
include/ox/Sprite.hpp

@@ -0,0 +1 @@
+#include "Sprite.h"

+ 1 - 0
include/ox/Stage.hpp

@@ -0,0 +1 @@
+#include "Stage.h"

+ 1 - 0
include/ox/TextField.hpp

@@ -0,0 +1 @@
+#include "TextField.h"

+ 1 - 0
include/ox/TextStyle.hpp

@@ -0,0 +1 @@
+#include "TextStyle.h"

+ 1 - 0
include/ox/Texture.hpp

@@ -0,0 +1 @@
+#include "core/Texture.h"

+ 1 - 0
include/ox/ThreadMessages.hpp

@@ -0,0 +1 @@
+#include "core/ThreadMessages.h"

+ 1 - 0
include/ox/TouchEvent.hpp

@@ -0,0 +1 @@
+#include "TouchEvent.h"

+ 1 - 0
include/ox/Tween.hpp

@@ -0,0 +1 @@
+#include "Tween.h"

+ 1 - 0
include/ox/TweenAnim.hpp

@@ -0,0 +1 @@
+#include "TweenAnim.h"

+ 1 - 0
include/ox/TweenQueue.hpp

@@ -0,0 +1 @@
+#include "TweenQueue.h"

+ 1 - 0
include/ox/Tweener.hpp

@@ -0,0 +1 @@
+#include "Tweener.h"

+ 1 - 0
include/ox/UberShaderProgram.hpp

@@ -0,0 +1 @@
+#include "core/UberShaderProgram.h"

+ 1 - 0
include/ox/UpdateState.hpp

@@ -0,0 +1 @@
+#include "UpdateState.h"

+ 1 - 0
include/ox/Vector2.hpp

@@ -0,0 +1 @@
+#include "math/Vector2.h"

+ 1 - 0
include/ox/Vector3.hpp

@@ -0,0 +1 @@
+#include "math/Vector3.h"

+ 1 - 0
include/ox/Vector4.hpp

@@ -0,0 +1 @@
+#include "math/Vector4.h"

+ 1 - 0
include/ox/VertexDeclaration.hpp

@@ -0,0 +1 @@
+#include "core/VertexDeclaration.h"

+ 1 - 0
include/ox/VideoDriver.hpp

@@ -0,0 +1 @@
+#include "core/VideoDriver.h"

Some files were not shown because too many files changed in this diff