Browse Source

Merge branch 'upstream' of https://github.com/nlandry/GamePlay into nlandry-upstream

Conflicts:
	gameplay/gameplay.xcodeproj/project.pbxproj
Nick Landry 11 years ago
parent
commit
3e96faad93
35 changed files with 422 additions and 1266 deletions
  1. 4 16
      gameplay/.cproject
  2. 2 8
      gameplay/CMakeLists.txt
  3. 7 69
      gameplay/android/jni/Android.mk
  4. 4 4
      gameplay/gameplay.vcxproj
  5. 12 52
      gameplay/gameplay.xcodeproj/project.pbxproj
  6. 4 3
      gameplay/src/Base.h
  7. 10 29
      samples/CMakeLists.txt
  8. 8 52
      samples/browser/.cproject
  9. 7 69
      samples/browser/android/jni/Android.mk
  10. 10 10
      samples/browser/sample-browser.vcxproj
  11. 33 83
      samples/browser/sample-browser.xcodeproj/project.pbxproj
  12. 8 52
      samples/character/.cproject
  13. 7 69
      samples/character/android/jni/Android.mk
  14. 10 10
      samples/character/sample-character.vcxproj
  15. 29 81
      samples/character/sample-character.xcodeproj/project.pbxproj
  16. 10 10
      samples/lua/sample-lua.vcxproj
  17. 8 52
      samples/racer/.cproject
  18. 7 69
      samples/racer/android/jni/Android.mk
  19. 10 10
      samples/racer/sample-racer.vcxproj
  20. 37 85
      samples/racer/sample-racer.xcodeproj/project.pbxproj
  21. 8 52
      samples/spaceship/.cproject
  22. 7 69
      samples/spaceship/android/jni/Android.mk
  23. 10 10
      samples/spaceship/sample-spaceship.vcxproj
  24. 37 85
      samples/spaceship/sample-spaceship.xcodeproj/project.pbxproj
  25. 7 21
      template/template-CMakeLists.txt
  26. 10 10
      template/template.vcxproj
  27. 30 82
      template/template.xcodeproj/project.pbxproj
  28. 11 11
      tools/encoder/CMakeLists.txt
  29. 12 12
      tools/encoder/gameplay-encoder.vcxproj
  30. 25 45
      tools/encoder/gameplay-encoder.xcodeproj/project.pbxproj
  31. 1 1
      tools/encoder/gameplay-encoder.xcodeproj/xcshareddata/xcschemes/gameplay-encoder.xcscheme
  32. 10 9
      tools/luagen/CMakeLists.txt
  33. 13 13
      tools/luagen/gameplay-luagen.vcxproj
  34. 13 13
      tools/luagen/gameplay-luagen.xcodeproj/project.pbxproj
  35. 1 0
      tools/luagen/gameplay-luagen.xcodeproj/xcshareddata/xcschemes/gameplay-luagen.xcscheme

+ 4 - 16
gameplay/.cproject

@@ -37,14 +37,8 @@
 								<option id="gnu.cpp.compiler.option.include.paths.800094241" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.800094241" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lua}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lua}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -122,14 +116,8 @@
 								<option id="gnu.cpp.compiler.option.include.paths.1112278724" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1112278724" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lua}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lua}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>

+ 2 - 8
gameplay/CMakeLists.txt

@@ -532,14 +532,8 @@ set(GAMEPLAY_RES_SHADERS
 
 
 include_directories(
 include_directories(
     src
     src
-    ../external-deps/lua/include
-    ../external-deps/bullet/include
-    ../external-deps/png/include
-    ../external-deps/zlib/include
-    ../external-deps/ogg/include
-    ../external-deps/vorbis/include
-    ../external-deps/openal/include
-    ../external-deps/glew/include
+    ../external-deps/include
+    ../external-deps/include/bullet
 )
 )
 
 
 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")

+ 7 - 69
gameplay/android/jni/Android.mk

@@ -1,75 +1,13 @@
 GAMEPLAY_PATH := $(call my-dir)/../../src
 GAMEPLAY_PATH := $(call my-dir)/../../src
 
 
 # external-deps
 # external-deps
-PNG_PATH := ../../external-deps/png/lib/android/$(TARGET_ARCH_ABI)
-ZLIB_PATH := ../../external-deps/zlib/lib/android/$(TARGET_ARCH_ABI)
-LUA_PATH := ../../external-deps/lua/lib/android/$(TARGET_ARCH_ABI)
-BULLET_PATH := ../../external-deps/bullet/lib/android/$(TARGET_ARCH_ABI)
-OGG_PATH := ../../external-deps/ogg/lib/android/$(TARGET_ARCH_ABI)
-VORBIS_PATH := ../../external-deps/vorbis/lib/android/$(TARGET_ARCH_ABI)
-OPENAL_PATH := ../../external-deps/openal/lib/android/$(TARGET_ARCH_ABI)
+GAMEPLAY_DEPS := ../../external-deps/libs/Android/$(TARGET_ARCH_ABI)
 
 
-# libpng
-LOCAL_PATH := $(PNG_PATH)
+# libgameplay-deps
+LOCAL_PATH := $(GAMEPLAY_DEPS)
 include $(CLEAR_VARS)
 include $(CLEAR_VARS)
-LOCAL_MODULE    := libpng 
-LOCAL_SRC_FILES := libpng.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libz
-LOCAL_PATH := $(ZLIB_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libz
-LOCAL_SRC_FILES := libz.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# liblua
-LOCAL_PATH := $(LUA_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := liblua
-LOCAL_SRC_FILES := liblua.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libLinearMath
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libLinearMath
-LOCAL_SRC_FILES := libLinearMath.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletCollision
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletCollision
-LOCAL_SRC_FILES := libBulletCollision.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletDynamics
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletDynamics
-LOCAL_SRC_FILES := libBulletDynamics.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libogg
-LOCAL_PATH := $(OGG_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libogg
-LOCAL_SRC_FILES := libogg.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libvorbis
-LOCAL_PATH := $(VORBIS_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libvorbis
-LOCAL_SRC_FILES := libvorbis.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libOpenAL
-LOCAL_PATH := $(OPENAL_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libOpenAL
-LOCAL_SRC_FILES := libOpenAL.a
+LOCAL_MODULE    := libgameplay-deps 
+LOCAL_SRC_FILES := libgameplay-deps.a
 include $(PREBUILT_STATIC_LIBRARY)
 include $(PREBUILT_STATIC_LIBRARY)
 
 
 # libgameplay
 # libgameplay
@@ -315,9 +253,9 @@ LOCAL_SRC_FILES := \
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_ARM_MODE := arm
 LOCAL_ARM_MODE := arm
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
-LOCAL_CFLAGS := -D__ANDROID__ -I"../../external-deps/lua/include" -I"../../external-deps/bullet/include" -I"../../external-deps/png/include" -I"../../external-deps/ogg/include" -I"../../external-deps/vorbis/include" -I"../../external-deps/openal/include"
+LOCAL_CFLAGS := -D__ANDROID__ -I"../../external-deps/include" -I"../../external-deps/include/bullet"
 LOCAL_ADDITIONAL_DEPENDENCIES := gameplay
 LOCAL_ADDITIONAL_DEPENDENCIES := gameplay
-LOCAL_STATIC_LIBRARIES := android_native_app_glue libpng libz liblua libBulletDynamics libBulletCollision libLinearMath libvorbis libogg libOpenAL
+LOCAL_STATIC_LIBRARIES := android_native_app_glue libgameplay-deps
 include $(BUILD_SHARED_LIBRARY)
 include $(BUILD_SHARED_LIBRARY)
 
 
 $(call import-module,android/native_app_glue)
 $(call import-module,android/native_app_glue)

+ 4 - 4
gameplay/gameplay.vcxproj

@@ -628,7 +628,7 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(ProjectDir)src;..\external-deps\lua\include;..\external-deps\bullet\include;..\external-deps\openal\include\AL;..\external-deps\alut\include\AL;..\external-deps\ogg\include;..\external-deps\vorbis\include;..\external-deps\glew\include;..\external-deps\png\include;..\external-deps\zlib\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)src;..\external-deps\include;..\external-deps\include\bullet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>
       <RuntimeTypeInfo>
       </RuntimeTypeInfo>
       </RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -650,7 +650,7 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(ProjectDir)src;..\external-deps\lua\include;..\external-deps\bullet\include;..\external-deps\openal\include\AL;..\external-deps\alut\include\AL;..\external-deps\ogg\include;..\external-deps\vorbis\include;..\external-deps\glew\include;..\external-deps\png\include;..\external-deps\zlib\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)src;..\external-deps\include;..\external-deps\include\bullet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -674,7 +674,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>false</IntrinsicFunctions>
       <IntrinsicFunctions>false</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(ProjectDir)src;..\external-deps\lua\include;..\external-deps\bullet\include;..\external-deps\openal\include\AL;..\external-deps\alut\include\AL;..\external-deps\ogg\include;..\external-deps\vorbis\include;..\external-deps\glew\include;..\external-deps\png\include;..\external-deps\zlib\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)src;..\external-deps\include;..\external-deps\include\bullet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DebugInformationFormat>
       <DebugInformationFormat>
       </DebugInformationFormat>
       </DebugInformationFormat>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -689,4 +689,4 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 12 - 52
gameplay/gameplay.xcodeproj/project.pbxproj

@@ -765,17 +765,12 @@
 		42252DC91828145B00EE234B /* lua_CameraListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_CameraListener.h; sourceTree = "<group>"; };
 		42252DC91828145B00EE234B /* lua_CameraListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_CameraListener.h; sourceTree = "<group>"; };
 		42252DCA1828145B00EE234B /* lua_TerrainPatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lua_TerrainPatch.cpp; sourceTree = "<group>"; };
 		42252DCA1828145B00EE234B /* lua_TerrainPatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lua_TerrainPatch.cpp; sourceTree = "<group>"; };
 		42252DCB1828145B00EE234B /* lua_TerrainPatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_TerrainPatch.h; sourceTree = "<group>"; };
 		42252DCB1828145B00EE234B /* lua_TerrainPatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_TerrainPatch.h; sourceTree = "<group>"; };
-		422E8EB819563223001DE81F /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../external-deps/bullet/lib/ios/armv7s/libBulletCollision.a"; sourceTree = "<group>"; };
-		422E8EB919563223001DE81F /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../external-deps/bullet/lib/ios/armv7s/libBulletDynamics.a"; sourceTree = "<group>"; };
-		422E8EBA19563223001DE81F /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../external-deps/bullet/lib/ios/armv7s/libLinearMath.a"; sourceTree = "<group>"; };
 		4234D99A14686C52003031B3 /* libgameplay.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgameplay.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		4234D99A14686C52003031B3 /* libgameplay.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgameplay.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		4234D99D14686C52003031B3 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 		4234D99D14686C52003031B3 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 		426F8315187F72A700640CBA /* JoystickControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JoystickControl.cpp; path = src/JoystickControl.cpp; sourceTree = SOURCE_ROOT; };
 		426F8315187F72A700640CBA /* JoystickControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JoystickControl.cpp; path = src/JoystickControl.cpp; sourceTree = SOURCE_ROOT; };
 		426F8316187F72A700640CBA /* JoystickControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JoystickControl.h; path = src/JoystickControl.h; sourceTree = SOURCE_ROOT; };
 		426F8316187F72A700640CBA /* JoystickControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JoystickControl.h; path = src/JoystickControl.h; sourceTree = SOURCE_ROOT; };
 		426F8319187F72DF00640CBA /* lua_JoystickControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lua_JoystickControl.cpp; sourceTree = "<group>"; };
 		426F8319187F72DF00640CBA /* lua_JoystickControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lua_JoystickControl.cpp; sourceTree = "<group>"; };
 		426F831A187F72DF00640CBA /* lua_JoystickControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_JoystickControl.h; sourceTree = "<group>"; };
 		426F831A187F72DF00640CBA /* lua_JoystickControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_JoystickControl.h; sourceTree = "<group>"; };
-		42B701F615B08177002BB8C3 /* liblua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblua.a; path = "../external-deps/lua/lib/macosx/x64/liblua.a"; sourceTree = "<group>"; };
-		42B701F815B081B6002BB8C3 /* liblua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblua.a; path = "../external-deps/lua/lib/ios/armv7s/liblua.a"; sourceTree = "<group>"; };
 		42CC52F71809A4EB00AAD8AD /* AbsoluteLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AbsoluteLayout.cpp; path = src/AbsoluteLayout.cpp; sourceTree = SOURCE_ROOT; };
 		42CC52F71809A4EB00AAD8AD /* AbsoluteLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AbsoluteLayout.cpp; path = src/AbsoluteLayout.cpp; sourceTree = SOURCE_ROOT; };
 		42CC52F81809A4EB00AAD8AD /* AbsoluteLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AbsoluteLayout.h; path = src/AbsoluteLayout.h; sourceTree = SOURCE_ROOT; };
 		42CC52F81809A4EB00AAD8AD /* AbsoluteLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AbsoluteLayout.h; path = src/AbsoluteLayout.h; sourceTree = SOURCE_ROOT; };
 		42CC52F91809A4EB00AAD8AD /* AIAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AIAgent.cpp; path = src/AIAgent.cpp; sourceTree = SOURCE_ROOT; };
 		42CC52F91809A4EB00AAD8AD /* AIAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AIAgent.cpp; path = src/AIAgent.cpp; sourceTree = SOURCE_ROOT; };
@@ -1014,24 +1009,13 @@
 		42CC55661809A4EE00AAD8AD /* VertexFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VertexFormat.h; path = src/VertexFormat.h; sourceTree = SOURCE_ROOT; };
 		42CC55661809A4EE00AAD8AD /* VertexFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VertexFormat.h; path = src/VertexFormat.h; sourceTree = SOURCE_ROOT; };
 		42CC55671809A4EE00AAD8AD /* VerticalLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VerticalLayout.cpp; path = src/VerticalLayout.cpp; sourceTree = SOURCE_ROOT; };
 		42CC55671809A4EE00AAD8AD /* VerticalLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VerticalLayout.cpp; path = src/VerticalLayout.cpp; sourceTree = SOURCE_ROOT; };
 		42CC55681809A4EE00AAD8AD /* VerticalLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VerticalLayout.h; path = src/VerticalLayout.h; sourceTree = SOURCE_ROOT; };
 		42CC55681809A4EE00AAD8AD /* VerticalLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VerticalLayout.h; path = src/VerticalLayout.h; sourceTree = SOURCE_ROOT; };
-		42CCD555146EC1EB00353661 /* libpng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng.a; path = "../external-deps/png/lib/macosx/x64/libpng.a"; sourceTree = "<group>"; };
-		42CD0DA7147D8EA80000361E /* libogg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libogg.a; path = "../external-deps/ogg/lib/macosx/x64/libogg.a"; sourceTree = "<group>"; };
-		42CD0DA8147D8EA80000361E /* libvorbis.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvorbis.a; path = "../external-deps/vorbis/lib/macosx/x64/libvorbis.a"; sourceTree = "<group>"; };
-		42DFAB4F16AD8ECD0000F342 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
 		42ECC3F81A4EF5A00036C839 /* Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Text.cpp; path = src/Text.cpp; sourceTree = SOURCE_ROOT; };
 		42ECC3F81A4EF5A00036C839 /* Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Text.cpp; path = src/Text.cpp; sourceTree = SOURCE_ROOT; };
 		42ECC3F91A4EF5A00036C839 /* Text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Text.h; path = src/Text.h; sourceTree = SOURCE_ROOT; };
 		42ECC3F91A4EF5A00036C839 /* Text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Text.h; path = src/Text.h; sourceTree = SOURCE_ROOT; };
-		42FA645D1953DDD600337ABC /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
-		42FA645E1953DDD600337ABC /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
-		42FA645F1953DDD600337ABC /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
 		5B04C5CA14BFCFE100EB0071 /* libgameplay.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgameplay.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B04C5CA14BFCFE100EB0071 /* libgameplay.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgameplay.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B21E99516153890006EBEAC /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
 		5B21E99516153890006EBEAC /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
 		5B2BC75D1512514500D176CD /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
 		5B2BC75D1512514500D176CD /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
 		5B2BC75E1512514500D176CD /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
 		5B2BC75E1512514500D176CD /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
 		5B2BC7611512514D00D176CD /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 		5B2BC7611512514D00D176CD /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
-		5B2BC7631512516B00D176CD /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
-		5B5DB92F14C25B94007755DB /* libpng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng.a; path = "../external-deps/png/lib/ios/armv7s/libpng.a"; sourceTree = "<group>"; };
-		5B5DB93114C25BA5007755DB /* libogg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libogg.a; path = "../external-deps/ogg/lib/ios/armv7s/libogg.a"; sourceTree = "<group>"; };
-		5B5DB93214C25BA5007755DB /* libvorbis.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvorbis.a; path = "../external-deps/vorbis/lib/ios/armv7s/libvorbis.a"; sourceTree = "<group>"; };
 		5BC4E7D4150F8C3C00CBE1C0 /* res */ = {isa = PBXFileReference; lastKnownFileType = folder; path = res; sourceTree = "<group>"; };
 		5BC4E7D4150F8C3C00CBE1C0 /* res */ = {isa = PBXFileReference; lastKnownFileType = folder; path = res; sourceTree = "<group>"; };
 		6290E04918223DCC00A28FB9 /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework; sourceTree = DEVELOPER_DIR; };
 		6290E04918223DCC00A28FB9 /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework; sourceTree = DEVELOPER_DIR; };
 		6290E04B18223DDD00A28FB9 /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
 		6290E04B18223DDD00A28FB9 /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
@@ -1675,14 +1659,6 @@
 		5B5ADCE014C22DBE00AC6109 /* iOS */ = {
 		5B5ADCE014C22DBE00AC6109 /* iOS */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				422E8EB819563223001DE81F /* libBulletCollision.a */,
-				422E8EB919563223001DE81F /* libBulletDynamics.a */,
-				422E8EBA19563223001DE81F /* libLinearMath.a */,
-				42B701F815B081B6002BB8C3 /* liblua.a */,
-				5B5DB92F14C25B94007755DB /* libpng.a */,
-				5B5DB93114C25BA5007755DB /* libogg.a */,
-				5B5DB93214C25BA5007755DB /* libvorbis.a */,
-				42DFAB4F16AD8ECD0000F342 /* libz.dylib */,
 			);
 			);
 			name = iOS;
 			name = iOS;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -1690,14 +1666,6 @@
 		5B5ADCE114C22DC700AC6109 /* MacOSX */ = {
 		5B5ADCE114C22DC700AC6109 /* MacOSX */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				42FA645D1953DDD600337ABC /* libBulletCollision.a */,
-				42FA645E1953DDD600337ABC /* libBulletDynamics.a */,
-				42FA645F1953DDD600337ABC /* libLinearMath.a */,
-				42B701F615B08177002BB8C3 /* liblua.a */,
-				42CCD555146EC1EB00353661 /* libpng.a */,
-				42CD0DA7147D8EA80000361E /* libogg.a */,
-				42CD0DA8147D8EA80000361E /* libvorbis.a */,
-				5B2BC7631512516B00D176CD /* libz.dylib */,
 			);
 			);
 			name = MacOSX;
 			name = MacOSX;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -2290,6 +2258,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				COMBINE_HIDPI_IMAGES = YES;
 				COMBINE_HIDPI_IMAGES = YES;
@@ -2315,11 +2284,8 @@
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
-					"../external-deps/bullet/include",
-					"../external-deps/lua/include",
-					"../external-deps/png/include",
-					"../external-deps/ogg/include",
-					"../external-deps/vorbis/include",
+					"../external-deps/include",
+					"../external-deps/include/bullet",
 				);
 				);
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
@@ -2338,6 +2304,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				COMBINE_HIDPI_IMAGES = YES;
 				COMBINE_HIDPI_IMAGES = YES;
@@ -2357,11 +2324,8 @@
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
-					"../external-deps/bullet/include",
-					"../external-deps/lua/include",
-					"../external-deps/png/include",
-					"../external-deps/ogg/include",
-					"../external-deps/vorbis/include",
+					"../external-deps/include",
+					"../external-deps/include/bullet",
 				);
 				);
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
@@ -2379,6 +2343,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -2403,11 +2368,8 @@
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
-					"../external-deps/bullet/include",
-					"../external-deps/lua/include",
-					"../external-deps/png/include",
-					"../external-deps/ogg/include",
-					"../external-deps/vorbis/include",
+					"../external-deps/include",
+					"../external-deps/include/bullet",
 				);
 				);
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				LINK_WITH_STANDARD_LIBRARIES = NO;
 				LINK_WITH_STANDARD_LIBRARIES = NO;
@@ -2432,6 +2394,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD)";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -2454,11 +2417,8 @@
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_MISSING_PARENTHESES = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
-					"../external-deps/bullet/include",
-					"../external-deps/lua/include",
-					"../external-deps/png/include",
-					"../external-deps/ogg/include",
-					"../external-deps/vorbis/include",
+					"../external-deps/include",
+					"../external-deps/include/bullet",
 				);
 				);
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				LINK_WITH_STANDARD_LIBRARIES = NO;
 				LINK_WITH_STANDARD_LIBRARIES = NO;

+ 4 - 3
gameplay/src/Base.h

@@ -183,8 +183,9 @@ extern int strcmpnocase(const char* s1, const char* s2);
     #include <AL/al.h>
     #include <AL/al.h>
     #include <AL/alc.h>
     #include <AL/alc.h>
 #elif WIN32
 #elif WIN32
-    #include <al.h>
-    #include <alc.h>
+    #define AL_LIBTYPE_STATIC
+    #include <AL/al.h>
+    #include <AL/alc.h>
 #elif __linux__
 #elif __linux__
     #include <AL/al.h>
     #include <AL/al.h>
     #include <AL/alc.h>
     #include <AL/alc.h>
@@ -201,7 +202,7 @@ extern int strcmpnocase(const char* s1, const char* s2);
 
 
 // Scripting
 // Scripting
 using std::va_list;
 using std::va_list;
-#include <lua.hpp>
+#include <lua/lua.hpp>
 
 
 #define WINDOW_VSYNC        1
 #define WINDOW_VSYNC        1
 
 

+ 10 - 29
samples/CMakeLists.txt

@@ -2,42 +2,24 @@ include(BuildHelpers.CMakeLists.txt)
 
 
 include_directories( 
 include_directories( 
     ${CMAKE_SOURCE_DIR}/gameplay/src
     ${CMAKE_SOURCE_DIR}/gameplay/src
-    ${CMAKE_SOURCE_DIR}/external-deps/lua/include
-    ${CMAKE_SOURCE_DIR}/external-deps/bullet/include
-    ${CMAKE_SOURCE_DIR}/external-deps/png/include
-    ${CMAKE_SOURCE_DIR}/external-deps/ogg/include
-    ${CMAKE_SOURCE_DIR}/external-deps/vorbis/include
-    ${CMAKE_SOURCE_DIR}/external-deps/zlib/include
-    ${CMAKE_SOURCE_DIR}/external-deps/openal/include
-    ${CMAKE_SOURCE_DIR}/external-deps/glew/include
+    ${CMAKE_SOURCE_DIR}/external-deps/include
+    ${CMAKE_SOURCE_DIR}/external-deps/include/bullet
 )
 )
 
 
 add_definitions(-D__linux__)
 add_definitions(-D__linux__)
 
 
-link_directories(
-    ${CMAKE_SOURCE_DIR}/external-deps/lua/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/zlib/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/png/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/bullet/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/ogg/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/vorbis/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/openal/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/glew/lib/linux/${ARCH_DIR}
-)
+IF(ARCH_DIR STREQUAL "x64")
+    link_directories(${CMAKE_SOURCE_DIR}/external-deps/libs/Linux/x86_64)
+ELSE()
+    link_directories(${CMAKE_SOURCE_DIR}/external-deps/libs/Linux/x86)
+ENDIF(ARCH_DIR STREQUAL "x64")
+
 
 
 set(GAMEPLAY_LIBRARIES
 set(GAMEPLAY_LIBRARIES
+    stdc++
     gameplay
     gameplay
+    gameplay-deps
     m
     m
-    lua
-    png
-    z
-    vorbis
-    ogg
-    BulletDynamics
-    BulletCollision
-    LinearMath
-    openal
-    GLEW
     GL
     GL
     rt
     rt
     dl
     dl
@@ -49,7 +31,6 @@ set(GAMEPLAY_LIBRARIES
 ) 
 ) 
 
 
 add_definitions(-std=c++11)
 add_definitions(-std=c++11)
-add_definitions(-lstdc++ -lgameplay -lm -llua -lz -lpng -lvorbis -logg -lBulletCollision -lBulletDynamics -lLinearMath -lopenal -LGLEW -lGL -lrt -ldl -lX11 -lpthread -lgtk-x11-2.0 -lglib-2.0 -lgobject-2.0)
 
 
 add_subdirectory(browser)
 add_subdirectory(browser)
 add_subdirectory(character)
 add_subdirectory(character)

+ 8 - 52
samples/browser/.cproject

@@ -31,14 +31,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.343631545" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.343631545" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -66,17 +60,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.256853940" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.256853940" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 								<option id="gnu.cpp.link.option.libs.1462471443" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1462471443" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -87,14 +72,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.1831524135" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.1831524135" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2024097993" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2024097993" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
@@ -142,14 +120,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1219047092" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1219047092" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -177,17 +149,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1375101533" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1375101533" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 								<option id="gnu.cpp.link.option.libs.612530568" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.612530568" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gampeplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -198,14 +161,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.1951075365" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.1951075365" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.792701845" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.792701845" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">

+ 7 - 69
samples/browser/android/jni/Android.mk

@@ -1,13 +1,7 @@
 SAMPLE_PATH := $(call my-dir)/../../src
 SAMPLE_PATH := $(call my-dir)/../../src
 
 
 # external-deps
 # external-deps
-PNG_PATH := $(call my-dir)/../../../../external-deps/png/lib/android/$(TARGET_ARCH_ABI)
-ZLIB_PATH := $(call my-dir)/../../../../external-deps/zlib/lib/android/$(TARGET_ARCH_ABI)
-LUA_PATH := $(call my-dir)/../../../../external-deps/lua/lib/android/$(TARGET_ARCH_ABI)
-BULLET_PATH := $(call my-dir)/../../../../external-deps/bullet/lib/android/$(TARGET_ARCH_ABI)
-OGG_PATH := $(call my-dir)/../../../../external-deps/ogg/lib/android/$(TARGET_ARCH_ABI)
-VORBIS_PATH := $(call my-dir)/../../../../external-deps/vorbis/lib/android/$(TARGET_ARCH_ABI)
-OPENAL_PATH := $(call my-dir)/../../../../external-deps/openal/lib/android/$(TARGET_ARCH_ABI)
+GAMEPLAY_DEPS := $(call my-dir)/../../../../external-deps/libs/Android/$(TARGET_ARCH_ABI)
 
 
 # libgameplay
 # libgameplay
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/$(TARGET_ARCH_ABI)
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/$(TARGET_ARCH_ABI)
@@ -16,67 +10,11 @@ LOCAL_MODULE    := libgameplay
 LOCAL_SRC_FILES := libgameplay.so
 LOCAL_SRC_FILES := libgameplay.so
 include $(PREBUILT_SHARED_LIBRARY)
 include $(PREBUILT_SHARED_LIBRARY)
 
 
-# libpng
-LOCAL_PATH := $(PNG_PATH)
+# libgameplay-deps
+LOCAL_PATH := $(GAMEPLAY_DEPS)
 include $(CLEAR_VARS)
 include $(CLEAR_VARS)
-LOCAL_MODULE    := libpng 
-LOCAL_SRC_FILES := libpng.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libz
-LOCAL_PATH := $(ZLIB_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libz
-LOCAL_SRC_FILES := libz.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# liblua
-LOCAL_PATH := $(LUA_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := liblua
-LOCAL_SRC_FILES := liblua.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libLinearMath
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libLinearMath
-LOCAL_SRC_FILES := libLinearMath.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletCollision
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletCollision
-LOCAL_SRC_FILES := libBulletCollision.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletDynamics
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletDynamics
-LOCAL_SRC_FILES := libBulletDynamics.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libogg
-LOCAL_PATH := $(OGG_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libogg
-LOCAL_SRC_FILES := libogg.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libvorbis
-LOCAL_PATH := $(VORBIS_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libvorbis
-LOCAL_SRC_FILES := libvorbis.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libOpenAL
-LOCAL_PATH := $(OPENAL_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libOpenAL
-LOCAL_SRC_FILES := libOpenAL.a
+LOCAL_MODULE    := libgameplay-deps 
+LOCAL_SRC_FILES := libgameplay-deps.a
 include $(PREBUILT_STATIC_LIBRARY)
 include $(PREBUILT_STATIC_LIBRARY)
 
 
 # sample-browser
 # sample-browser
@@ -113,8 +51,8 @@ LOCAL_SRC_FILES := ../../../gameplay/src/gameplay-main-android.cpp \
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_ARM_MODE := arm
 LOCAL_ARM_MODE := arm
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
-LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/lua/include" -I"../../../external-deps/bullet/include" -I"../../../external-deps/png/include" -I"../../../external-deps/ogg/include" -I"../../../external-deps/vorbis/include" -I"../../../external-deps/openal/include" -I"../../../gameplay/src"
-LOCAL_STATIC_LIBRARIES := android_native_app_glue libpng libz liblua libBulletDynamics libBulletCollision libLinearMath libvorbis libogg libOpenAL
+LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/include" -I"../../../external-deps/include/bullet" -I"../../../gameplay/src"
+LOCAL_STATIC_LIBRARIES := android_native_app_glue libgameplay-deps
 LOCAL_SHARED_LIBRARIES := gameplay
 LOCAL_SHARED_LIBRARIES := gameplay
 include $(BUILD_SHARED_LIBRARY)
 include $(BUILD_SHARED_LIBRARY)
 
 

+ 10 - 10
samples/browser/sample-browser.vcxproj

@@ -79,15 +79,15 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\lua\include;..\..\external-deps\bullet\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -110,7 +110,7 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\lua\include;..\..\external-deps\bullet\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <ShowIncludes>false</ShowIncludes>
       <ShowIncludes>false</ShowIncludes>
       <PreprocessToFile>false</PreprocessToFile>
       <PreprocessToFile>false</PreprocessToFile>
@@ -119,8 +119,8 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -145,15 +145,15 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\lua\include;..\..\external-deps\bullet\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Release;..\..\external-deps\bullet\lib\windows\x64\Release;..\..\external-deps\openal\lib\windows\x64\Release;..\..\external-deps\ogg\lib\windows\x64\Release;..\..\external-deps\vorbis\lib\windows\x64\Release;..\..\external-deps\glew\lib\windows\x64\Release;..\..\external-deps\png\lib\windows\x64\Release;..\..\external-deps\zlib\lib\windows\x64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -348,4 +348,4 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 33 - 83
samples/browser/sample-browser.xcodeproj/project.pbxproj

@@ -36,9 +36,6 @@
 		420D547415FE430D00AD0B91 /* TriangleSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 420D545615FE430D00AD0B91 /* TriangleSample.cpp */; };
 		420D547415FE430D00AD0B91 /* TriangleSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 420D545615FE430D00AD0B91 /* TriangleSample.cpp */; };
 		420D547515FE430D00AD0B91 /* TriangleSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 420D545615FE430D00AD0B91 /* TriangleSample.cpp */; };
 		420D547515FE430D00AD0B91 /* TriangleSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 420D545615FE430D00AD0B91 /* TriangleSample.cpp */; };
 		421090EA18299EBA00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090E918299EBA00761E40 /* GameKit.framework */; };
 		421090EA18299EBA00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090E918299EBA00761E40 /* GameKit.framework */; };
-		422E8EC11956324B001DE81F /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EBE1956324B001DE81F /* libBulletCollision.a */; };
-		422E8EC21956324B001DE81F /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EBF1956324B001DE81F /* libBulletDynamics.a */; };
-		422E8EC31956324B001DE81F /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EC01956324B001DE81F /* libLinearMath.a */; };
 		422FE594169690830062D1FE /* PostProcessSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 422FE592169690830062D1FE /* PostProcessSample.cpp */; };
 		422FE594169690830062D1FE /* PostProcessSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 422FE592169690830062D1FE /* PostProcessSample.cpp */; };
 		422FE595169690830062D1FE /* PostProcessSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 422FE592169690830062D1FE /* PostProcessSample.cpp */; };
 		422FE595169690830062D1FE /* PostProcessSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 422FE592169690830062D1FE /* PostProcessSample.cpp */; };
 		424CC030161F8E3000577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC02F161F8E3000577827 /* IOKit.framework */; };
 		424CC030161F8E3000577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC02F161F8E3000577827 /* IOKit.framework */; };
@@ -61,28 +58,18 @@
 		42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933161491A5EB0098216A /* OpenGL.framework */; };
 		42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933161491A5EB0098216A /* OpenGL.framework */; };
 		42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331C1491A6750098216A /* QuartzCore.framework */; };
 		42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331C1491A6750098216A /* QuartzCore.framework */; };
 		42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331E1491A67F0098216A /* OpenAL.framework */; };
 		42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331E1491A67F0098216A /* OpenAL.framework */; };
-		42C933261491A6E50098216A /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933221491A6E50098216A /* libogg.a */; };
-		42C933271491A6E50098216A /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933231491A6E50098216A /* libvorbis.a */; };
-		42C9332C1491A7680098216A /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9332A1491A7390098216A /* libpng.a */; };
-		42C9332F1491A78D0098216A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9332D1491A7810098216A /* libz.dylib */; };
-		42CACBDF16ADA45F000D911A /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F1F6195416A71DD000C4FEA1 /* liblua.a */; };
-		42CACBE016ADA463000D911A /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB9A16AD90080000F342 /* libogg.a */; };
-		42CACBE116ADA466000D911A /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F2377116AD99EA0019CAC9 /* libpng.a */; };
-		42CACBE216ADA468000D911A /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB9B16AD90080000F342 /* libvorbis.a */; };
-		42CACBE516ADA473000D911A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB2316AD8C1C0000F342 /* libz.dylib */; };
 		42DFAABC16AD89670000F342 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAABB16AD89670000F342 /* CoreMotion.framework */; };
 		42DFAABC16AD89670000F342 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAABB16AD89670000F342 /* CoreMotion.framework */; };
 		42DFAAD416AD8A8C0000F342 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAD316AD8A8C0000F342 /* Foundation.framework */; };
 		42DFAAD416AD8A8C0000F342 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAD316AD8A8C0000F342 /* Foundation.framework */; };
 		42DFAB1F16AD8BBC0000F342 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1B16AD8BBC0000F342 /* OpenAL.framework */; };
 		42DFAB1F16AD8BBC0000F342 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1B16AD8BBC0000F342 /* OpenAL.framework */; };
 		42DFAB2016AD8BBC0000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1C16AD8BBC0000F342 /* OpenGLES.framework */; };
 		42DFAB2016AD8BBC0000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1C16AD8BBC0000F342 /* OpenGLES.framework */; };
 		42DFAB2116AD8BBC0000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1D16AD8BBC0000F342 /* QuartzCore.framework */; };
 		42DFAB2116AD8BBC0000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1D16AD8BBC0000F342 /* QuartzCore.framework */; };
 		42DFAB2216AD8BBC0000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1E16AD8BBC0000F342 /* UIKit.framework */; };
 		42DFAB2216AD8BBC0000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB1E16AD8BBC0000F342 /* UIKit.framework */; };
-		42DFABD116AD961C0000F342 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFABD016AD961C0000F342 /* libgameplay.a */; };
 		42DFABD416AD96F10000F342 /* TerrainSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42DFABD216AD96F10000F342 /* TerrainSample.cpp */; };
 		42DFABD416AD96F10000F342 /* TerrainSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42DFABD216AD96F10000F342 /* TerrainSample.cpp */; };
 		42DFABD516AD96F10000F342 /* TerrainSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42DFABD216AD96F10000F342 /* TerrainSample.cpp */; };
 		42DFABD516AD96F10000F342 /* TerrainSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42DFABD216AD96F10000F342 /* TerrainSample.cpp */; };
 		42F237A816AD9DD70019CAC9 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 42F237A716AD9DD70019CAC9 /* [email protected] */; };
 		42F237A816AD9DD70019CAC9 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 42F237A716AD9DD70019CAC9 /* [email protected] */; };
-		42FA64661953DF8100337ABC /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42FA64631953DF8100337ABC /* libBulletCollision.a */; };
-		42FA64671953DF8100337ABC /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42FA64641953DF8100337ABC /* libBulletDynamics.a */; };
-		42FA64681953DF8100337ABC /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42FA64651953DF8100337ABC /* libLinearMath.a */; };
+		435FC4091A53449B003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4081A53449B003D4E9C /* libgameplay-deps.a */; };
+		435FC40D1A534AB4003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC40C1A534AB4003D4E9C /* libgameplay.a */; };
+		435FC40F1A538315003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC40E1A538315003D4E9C /* libgameplay-deps.a */; };
 		5B61611614CCC24C0073B857 /* SamplesGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* SamplesGame.cpp */; };
 		5B61611614CCC24C0073B857 /* SamplesGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* SamplesGame.cpp */; };
 		5B61612614CCC24C0073B857 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		5B61612614CCC24C0073B857 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		5B61612714CCC24C0073B857 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42C932F21491A53E0098216A /* res */; };
 		5B61612714CCC24C0073B857 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42C932F21491A53E0098216A /* res */; };
@@ -94,7 +81,6 @@
 		F10DEAB816726157006FFFDC /* BillboardSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F10DEAB516726157006FFFDC /* BillboardSample.cpp */; };
 		F10DEAB816726157006FFFDC /* BillboardSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F10DEAB516726157006FFFDC /* BillboardSample.cpp */; };
 		F1E4B3FA1671372E007516A7 /* FormsSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F1E4B3F81671372E007516A7 /* FormsSample.cpp */; };
 		F1E4B3FA1671372E007516A7 /* FormsSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F1E4B3F81671372E007516A7 /* FormsSample.cpp */; };
 		F1E4B3FB1671372E007516A7 /* FormsSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F1E4B3F81671372E007516A7 /* FormsSample.cpp */; };
 		F1E4B3FB1671372E007516A7 /* FormsSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F1E4B3F81671372E007516A7 /* FormsSample.cpp */; };
-		F1F6195216A71DB100C4FEA1 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F1F6195116A71DB100C4FEA1 /* liblua.a */; };
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXFileReference section */
 /* Begin PBXFileReference section */
@@ -175,6 +161,9 @@
 		42FA64631953DF8100337ABC /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
 		42FA64631953DF8100337ABC /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
 		42FA64641953DF8100337ABC /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
 		42FA64641953DF8100337ABC /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
 		42FA64651953DF8100337ABC /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
 		42FA64651953DF8100337ABC /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
+		435FC4081A53449B003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC40C1A534AB4003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = ../../gameplay/Build/Products/Debug/libgameplay.a; sourceTree = "<group>"; };
+		435FC40E1A538315003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/iOS/x86/libgameplay-deps.a"; sourceTree = "<group>"; };
 		5B61611214CCC2200073B857 /* sample-browser-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "sample-browser-macosx.plist"; sourceTree = "<group>"; };
 		5B61611214CCC2200073B857 /* sample-browser-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "sample-browser-macosx.plist"; sourceTree = "<group>"; };
 		5B61612C14CCC24C0073B857 /* sample-browser-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-browser-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B61612C14CCC24C0073B857 /* sample-browser-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-browser-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B61612E14CCC24D0073B857 /* sample-browser-ios.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sample-browser-ios.plist"; sourceTree = "<group>"; };
 		5B61612E14CCC24D0073B857 /* sample-browser-ios.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sample-browser-ios.plist"; sourceTree = "<group>"; };
@@ -194,19 +183,12 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				42DFABD116AD961C0000F342 /* libgameplay.a in Frameworks */,
-				42FA64671953DF8100337ABC /* libBulletDynamics.a in Frameworks */,
-				42FA64661953DF8100337ABC /* libBulletCollision.a in Frameworks */,
-				F1F6195216A71DB100C4FEA1 /* liblua.a in Frameworks */,
-				42C933261491A6E50098216A /* libogg.a in Frameworks */,
-				42C933271491A6E50098216A /* libvorbis.a in Frameworks */,
-				42C9332C1491A7680098216A /* libpng.a in Frameworks */,
-				42C9332F1491A78D0098216A /* libz.dylib in Frameworks */,
+				435FC40D1A534AB4003D4E9C /* libgameplay.a in Frameworks */,
+				435FC4091A53449B003D4E9C /* libgameplay-deps.a in Frameworks */,
 				6212DAB81829DA1D006213DD /* GameKit.framework in Frameworks */,
 				6212DAB81829DA1D006213DD /* GameKit.framework in Frameworks */,
 				424CC030161F8E3000577827 /* IOKit.framework in Frameworks */,
 				424CC030161F8E3000577827 /* IOKit.framework in Frameworks */,
 				42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */,
 				42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */,
 				42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */,
 				42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */,
-				42FA64681953DF8100337ABC /* libLinearMath.a in Frameworks */,
 				42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */,
 				42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */,
 				42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */,
 				42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */,
 			);
 			);
@@ -216,17 +198,10 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				42CACBDF16ADA45F000D911A /* liblua.a in Frameworks */,
-				42CACBE016ADA463000D911A /* libogg.a in Frameworks */,
-				422E8EC21956324B001DE81F /* libBulletDynamics.a in Frameworks */,
-				42CACBE116ADA466000D911A /* libpng.a in Frameworks */,
-				42CACBE216ADA468000D911A /* libvorbis.a in Frameworks */,
-				42CACBE516ADA473000D911A /* libz.dylib in Frameworks */,
+				435FC40F1A538315003D4E9C /* libgameplay-deps.a in Frameworks */,
 				42DFAABC16AD89670000F342 /* CoreMotion.framework in Frameworks */,
 				42DFAABC16AD89670000F342 /* CoreMotion.framework in Frameworks */,
 				42DFAAD416AD8A8C0000F342 /* Foundation.framework in Frameworks */,
 				42DFAAD416AD8A8C0000F342 /* Foundation.framework in Frameworks */,
 				42DFAB1F16AD8BBC0000F342 /* OpenAL.framework in Frameworks */,
 				42DFAB1F16AD8BBC0000F342 /* OpenAL.framework in Frameworks */,
-				422E8EC11956324B001DE81F /* libBulletCollision.a in Frameworks */,
-				422E8EC31956324B001DE81F /* libLinearMath.a in Frameworks */,
 				421090EA18299EBA00761E40 /* GameKit.framework in Frameworks */,
 				421090EA18299EBA00761E40 /* GameKit.framework in Frameworks */,
 				42DFAB2016AD8BBC0000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAB2016AD8BBC0000F342 /* OpenGLES.framework in Frameworks */,
 				425F3A5617FBCBF00085454F /* libgameplay.a in Frameworks */,
 				425F3A5617FBCBF00085454F /* libgameplay.a in Frameworks */,
@@ -313,6 +288,9 @@
 		42C932BF1491A0DB0098216A /* Frameworks */ = {
 		42C932BF1491A0DB0098216A /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				435FC40E1A538315003D4E9C /* libgameplay-deps.a */,
+				435FC40C1A534AB4003D4E9C /* libgameplay.a */,
+				435FC4081A53449B003D4E9C /* libgameplay-deps.a */,
 				5B61613A14CCC3590073B857 /* MacOSX */,
 				5B61613A14CCC3590073B857 /* MacOSX */,
 				5B61613914CCC3560073B857 /* iOS */,
 				5B61613914CCC3560073B857 /* iOS */,
 			);
 			);
@@ -677,21 +655,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/png/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-browser-macosx.plist";
 				INFOPLIST_FILE = "sample-browser-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					"../../external-deps/libs/MacOS/x86_64",
+					../../gameplay/Build/Products/Debug,
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -712,21 +683,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/png/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-browser-macosx.plist";
 				INFOPLIST_FILE = "sample-browser-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					"../../external-deps/libs/MacOS/x86_64",
+					../../gameplay/Build/Products/Debug,
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -748,22 +712,19 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/png/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-browser-ios.plist";
 				INFOPLIST_FILE = "sample-browser-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
+				"OTHER_LDFLAGS[sdk=iphoneos*]" = (
+					"-L../../external-deps/libs/iOS/arm",
+					"-L../../gameplay/Build/Products/Debug-iphoneos",
+				);
+				"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
+					"-L../../external-deps/libs/iOS/x86",
+					"-L../../gameplay/Build/Products/Debug-iphonesimulator",
 				);
 				);
 				PROVISIONING_PROFILE = "";
 				PROVISIONING_PROFILE = "";
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
@@ -786,23 +747,12 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/png/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-browser-ios.plist";
 				INFOPLIST_FILE = "sample-browser-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
-				);
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				PROVISIONING_PROFILE = "";
 				PROVISIONING_PROFILE = "";
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";

+ 8 - 52
samples/character/.cproject

@@ -31,14 +31,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1834288243" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1834288243" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -66,17 +60,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.978110178" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.978110178" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 								<option id="gnu.cpp.link.option.libs.1065996055" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1065996055" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -87,14 +72,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.555128279" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.555128279" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1636155442" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1636155442" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
@@ -139,14 +117,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1071767614" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1071767614" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -174,17 +146,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.2110670869" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.2110670869" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 								<option id="gnu.cpp.link.option.libs.1914990656" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1914990656" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -195,14 +158,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.375722616" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.375722616" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.156112889" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.156112889" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">

+ 7 - 69
samples/character/android/jni/Android.mk

@@ -1,13 +1,7 @@
 SAMPLE_PATH := $(call my-dir)/../../src
 SAMPLE_PATH := $(call my-dir)/../../src
 
 
 # external-deps
 # external-deps
-PNG_PATH := $(call my-dir)/../../../../external-deps/png/lib/android/$(TARGET_ARCH_ABI)
-ZLIB_PATH := $(call my-dir)/../../../../external-deps/zlib/lib/android/$(TARGET_ARCH_ABI)
-LUA_PATH := $(call my-dir)/../../../../external-deps/lua/lib/android/$(TARGET_ARCH_ABI)
-BULLET_PATH := $(call my-dir)/../../../../external-deps/bullet/lib/android/$(TARGET_ARCH_ABI)
-OGG_PATH := $(call my-dir)/../../../../external-deps/ogg/lib/android/$(TARGET_ARCH_ABI)
-VORBIS_PATH := $(call my-dir)/../../../../external-deps/vorbis/lib/android/$(TARGET_ARCH_ABI)
-OPENAL_PATH := $(call my-dir)/../../../../external-deps/openal/lib/android/$(TARGET_ARCH_ABI)
+GAMEPLAY_DEPS := $(call my-dir)/../../../../external-deps/libs/Android/$(TARGET_ARCH_ABI)
 
 
 # libgameplay
 # libgameplay
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/$(TARGET_ARCH_ABI)
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/$(TARGET_ARCH_ABI)
@@ -16,67 +10,11 @@ LOCAL_MODULE    := libgameplay
 LOCAL_SRC_FILES := libgameplay.so
 LOCAL_SRC_FILES := libgameplay.so
 include $(PREBUILT_SHARED_LIBRARY)
 include $(PREBUILT_SHARED_LIBRARY)
 
 
-# libpng
-LOCAL_PATH := $(PNG_PATH)
+# libgameplay-deps
+LOCAL_PATH := $(GAMEPLAY_DEPS)
 include $(CLEAR_VARS)
 include $(CLEAR_VARS)
-LOCAL_MODULE    := libpng 
-LOCAL_SRC_FILES := libpng.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libz
-LOCAL_PATH := $(ZLIB_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libz
-LOCAL_SRC_FILES := libz.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# liblua
-LOCAL_PATH := $(LUA_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := liblua
-LOCAL_SRC_FILES := liblua.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libLinearMath
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libLinearMath
-LOCAL_SRC_FILES := libLinearMath.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletCollision
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletCollision
-LOCAL_SRC_FILES := libBulletCollision.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletDynamics
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletDynamics
-LOCAL_SRC_FILES := libBulletDynamics.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libogg
-LOCAL_PATH := $(OGG_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libogg
-LOCAL_SRC_FILES := libogg.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libvorbis
-LOCAL_PATH := $(VORBIS_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libvorbis
-LOCAL_SRC_FILES := libvorbis.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libOpenAL
-LOCAL_PATH := $(OPENAL_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libOpenAL
-LOCAL_SRC_FILES := libOpenAL.a
+LOCAL_MODULE    := libgameplay-deps 
+LOCAL_SRC_FILES := libgameplay-deps.a
 include $(PREBUILT_STATIC_LIBRARY)
 include $(PREBUILT_STATIC_LIBRARY)
 
 
 # sample-character
 # sample-character
@@ -87,8 +25,8 @@ LOCAL_SRC_FILES := ../../../gameplay/src/gameplay-main-android.cpp CharacterGame
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_ARM_MODE := arm
 LOCAL_ARM_MODE := arm
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
-LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/lua/include" -I"../../../external-deps/bullet/include" -I"../../../external-deps/png/include" -I"../../../external-deps/ogg/include" -I"../../../external-deps/vorbis/include" -I"../../../external-deps/openal/include" -I"../../../gameplay/src"
-LOCAL_STATIC_LIBRARIES := android_native_app_glue libpng libz liblua libBulletDynamics libBulletCollision libLinearMath libvorbis libogg libOpenAL
+LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/include" -I"../../../external-deps/include/bullet" -I"../../../gameplay/src"
+LOCAL_STATIC_LIBRARIES := android_native_app_glue libgameplay-deps
 LOCAL_SHARED_LIBRARIES := gameplay
 LOCAL_SHARED_LIBRARIES := gameplay
 include $(BUILD_SHARED_LIBRARY)
 include $(BUILD_SHARED_LIBRARY)
 
 

+ 10 - 10
samples/character/sample-character.vcxproj

@@ -86,7 +86,7 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>
       <RuntimeTypeInfo>
       </RuntimeTypeInfo>
       </RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -94,8 +94,8 @@
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
@@ -120,15 +120,15 @@ copy .\game.dxt.config .\game.config</Command>
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
@@ -155,15 +155,15 @@ copy .\game.dxt.config .\game.config</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Release;..\..\external-deps\bullet\lib\windows\x64\Release;..\..\external-deps\openal\lib\windows\x64\Release;..\..\external-deps\ogg\lib\windows\x64\Release;..\..\external-deps\vorbis\lib\windows\x64\Release;..\..\external-deps\glew\lib\windows\x64\Release;..\..\external-deps\png\lib\windows\x64\Release;..\..\external-deps\zlib\lib\windows\x64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
@@ -229,4 +229,4 @@ copy .\game.dxt.config .\game.config</Command>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 29 - 81
samples/character/sample-character.xcodeproj/project.pbxproj

@@ -8,42 +8,28 @@
 
 
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
 		421090EC18299EFB00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090EB18299EFB00761E40 /* GameKit.framework */; };
 		421090EC18299EFB00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090EB18299EFB00761E40 /* GameKit.framework */; };
-		422E8ED919586778001DE81F /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8ED619586778001DE81F /* libBulletCollision.a */; };
-		422E8EDA19586778001DE81F /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8ED719586778001DE81F /* libBulletDynamics.a */; };
-		422E8EDB19586778001DE81F /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8ED819586778001DE81F /* libLinearMath.a */; };
 		4239E08715755BDA005EA3F6 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 4239E08615755BDA005EA3F6 /* res */; };
 		4239E08715755BDA005EA3F6 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 4239E08615755BDA005EA3F6 /* res */; };
 		4239E08815755BDA005EA3F6 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 4239E08615755BDA005EA3F6 /* res */; };
 		4239E08815755BDA005EA3F6 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 4239E08615755BDA005EA3F6 /* res */; };
 		424CC038161FCB7B00577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC037161FCB7B00577827 /* IOKit.framework */; };
 		424CC038161FCB7B00577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC037161FCB7B00577827 /* IOKit.framework */; };
-		425EDA9217FB3B2000AABF95 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 425EDA8B17FB3B2000AABF95 /* liblua.a */; };
-		425EDA9317FB3B2000AABF95 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 425EDA8C17FB3B2000AABF95 /* libpng.a */; };
-		425EDA9417FB3B2000AABF95 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 425EDA8D17FB3B2000AABF95 /* libogg.a */; };
-		425EDA9517FB3B2000AABF95 /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 425EDA8E17FB3B2000AABF95 /* libvorbis.a */; };
 		4284B96216ADABA400FB52B4 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4284B96116ADABA400FB52B4 /* libgameplay.a */; };
 		4284B96216ADABA400FB52B4 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4284B96116ADABA400FB52B4 /* libgameplay.a */; };
 		4284B96416ADABB000FB52B4 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4284B96316ADABB000FB52B4 /* libgameplay.a */; };
 		4284B96416ADABB000FB52B4 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4284B96316ADABB000FB52B4 /* libgameplay.a */; };
-		4284B96C16ADABDC00FB52B4 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB4316AD8E3F0000F342 /* libz.dylib */; };
 		4284B96E16ADABF400FB52B4 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 4284B96D16ADABF400FB52B4 /* [email protected] */; };
 		4284B96E16ADABF400FB52B4 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 4284B96D16ADABF400FB52B4 /* [email protected] */; };
-		42A1E94C1955202600C26E5C /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42A1E9491955202600C26E5C /* libBulletCollision.a */; };
-		42A1E94D1955202600C26E5C /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42A1E94A1955202600C26E5C /* libBulletDynamics.a */; };
-		42A1E94E1955202600C26E5C /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42A1E94B1955202600C26E5C /* libLinearMath.a */; };
-		42B7026315B0A8F2002BB8C3 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42B7026215B0A8F2002BB8C3 /* liblua.a */; };
 		42B7026915B0B137002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026815B0B137002BB8C3 /* game.config */; };
 		42B7026915B0B137002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026815B0B137002BB8C3 /* game.config */; };
 		42B7026A15B0B15D002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026815B0B137002BB8C3 /* game.config */; };
 		42B7026A15B0B15D002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026815B0B137002BB8C3 /* game.config */; };
 		42CCD571146EC4B300353661 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD570146EC4B300353661 /* Cocoa.framework */; };
 		42CCD571146EC4B300353661 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD570146EC4B300353661 /* Cocoa.framework */; };
 		42CCD5A2146EC5BF00353661 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A1146EC5BF00353661 /* OpenAL.framework */; };
 		42CCD5A2146EC5BF00353661 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A1146EC5BF00353661 /* OpenAL.framework */; };
 		42CCD5A4146EC5C600353661 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A3146EC5C600353661 /* OpenGL.framework */; };
 		42CCD5A4146EC5C600353661 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A3146EC5C600353661 /* OpenGL.framework */; };
 		42CCD5A6146EC5CE00353661 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A5146EC5CE00353661 /* QuartzCore.framework */; };
 		42CCD5A6146EC5CE00353661 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A5146EC5CE00353661 /* QuartzCore.framework */; };
-		42CCD5A8146EC5DE00353661 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A7146EC5DE00353661 /* libz.dylib */; };
-		42CCD5AA146EC5F000353661 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD5A9146EC5F000353661 /* libpng.a */; };
 		42CCD5AF146EC62000353661 /* CharacterGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42CCD5AD146EC62000353661 /* CharacterGame.cpp */; };
 		42CCD5AF146EC62000353661 /* CharacterGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42CCD5AD146EC62000353661 /* CharacterGame.cpp */; };
 		42CCD5B1146EC62A00353661 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD5B0146EC62A00353661 /* icon.png */; };
 		42CCD5B1146EC62A00353661 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD5B0146EC62A00353661 /* icon.png */; };
-		42CD0F00147D93560000361E /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CD0EFB147D93560000361E /* libogg.a */; };
-		42CD0F01147D93560000361E /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CD0EFC147D93560000361E /* libvorbis.a */; };
 		42DFAAC616AD89D80000F342 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAC516AD89D80000F342 /* CoreMotion.framework */; };
 		42DFAAC616AD89D80000F342 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAC516AD89D80000F342 /* CoreMotion.framework */; };
 		42DFAADC16AD8AE30000F342 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAADB16AD8AE30000F342 /* Foundation.framework */; };
 		42DFAADC16AD8AE30000F342 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAADB16AD8AE30000F342 /* Foundation.framework */; };
 		42DFAAFF16AD8B780000F342 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFB16AD8B780000F342 /* OpenAL.framework */; };
 		42DFAAFF16AD8B780000F342 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFB16AD8B780000F342 /* OpenAL.framework */; };
 		42DFAB0016AD8B780000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFC16AD8B780000F342 /* OpenGLES.framework */; };
 		42DFAB0016AD8B780000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFC16AD8B780000F342 /* OpenGLES.framework */; };
 		42DFAB0116AD8B780000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFD16AD8B780000F342 /* QuartzCore.framework */; };
 		42DFAB0116AD8B780000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFD16AD8B780000F342 /* QuartzCore.framework */; };
 		42DFAB0216AD8B780000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFE16AD8B780000F342 /* UIKit.framework */; };
 		42DFAB0216AD8B780000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAFE16AD8B780000F342 /* UIKit.framework */; };
+		435FC4111A538954003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4101A538954003D4E9C /* libgameplay-deps.a */; };
+		435FC4131A538B45003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4121A538B45003D4E9C /* libgameplay-deps.a */; };
 		5B43D1C814C35F4C008A5D9D /* CharacterGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42CCD5AD146EC62000353661 /* CharacterGame.cpp */; };
 		5B43D1C814C35F4C008A5D9D /* CharacterGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42CCD5AD146EC62000353661 /* CharacterGame.cpp */; };
 		5B43D1D814C35F4C008A5D9D /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD5B0146EC62A00353661 /* icon.png */; };
 		5B43D1D814C35F4C008A5D9D /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD5B0146EC62A00353661 /* icon.png */; };
 		6212DAB61829D9E6006213DD /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6212DAB51829D9E6006213DD /* GameKit.framework */; };
 		6212DAB61829D9E6006213DD /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6212DAB51829D9E6006213DD /* GameKit.framework */; };
@@ -89,6 +75,8 @@
 		42DFAAFD16AD8B780000F342 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
 		42DFAAFD16AD8B780000F342 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
 		42DFAAFE16AD8B780000F342 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
 		42DFAAFE16AD8B780000F342 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
 		42DFAB4316AD8E3F0000F342 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
 		42DFAB4316AD8E3F0000F342 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
+		435FC4101A538954003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC4121A538B45003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/iOS/x86/libgameplay-deps.a"; sourceTree = "<group>"; };
 		5B43D1DD14C35F4C008A5D9D /* sample-character-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-character-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B43D1DD14C35F4C008A5D9D /* sample-character-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-character-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		6212DAB51829D9E6006213DD /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
 		6212DAB51829D9E6006213DD /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
 		DDBBAE861574040C00D39DE7 /* game.dxt.config */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = game.dxt.config; sourceTree = "<group>"; };
 		DDBBAE861574040C00D39DE7 /* game.dxt.config */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = game.dxt.config; sourceTree = "<group>"; };
@@ -100,19 +88,12 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
+				435FC4111A538954003D4E9C /* libgameplay-deps.a in Frameworks */,
 				4284B96216ADABA400FB52B4 /* libgameplay.a in Frameworks */,
 				4284B96216ADABA400FB52B4 /* libgameplay.a in Frameworks */,
-				42A1E94D1955202600C26E5C /* libBulletDynamics.a in Frameworks */,
-				42A1E94C1955202600C26E5C /* libBulletCollision.a in Frameworks */,
-				42CD0F00147D93560000361E /* libogg.a in Frameworks */,
-				42CD0F01147D93560000361E /* libvorbis.a in Frameworks */,
-				42CCD5AA146EC5F000353661 /* libpng.a in Frameworks */,
-				42CCD5A8146EC5DE00353661 /* libz.dylib in Frameworks */,
-				42B7026315B0A8F2002BB8C3 /* liblua.a in Frameworks */,
 				6212DAB61829D9E6006213DD /* GameKit.framework in Frameworks */,
 				6212DAB61829D9E6006213DD /* GameKit.framework in Frameworks */,
 				424CC038161FCB7B00577827 /* IOKit.framework in Frameworks */,
 				424CC038161FCB7B00577827 /* IOKit.framework in Frameworks */,
 				42CCD571146EC4B300353661 /* Cocoa.framework in Frameworks */,
 				42CCD571146EC4B300353661 /* Cocoa.framework in Frameworks */,
 				42CCD5A6146EC5CE00353661 /* QuartzCore.framework in Frameworks */,
 				42CCD5A6146EC5CE00353661 /* QuartzCore.framework in Frameworks */,
-				42A1E94E1955202600C26E5C /* libLinearMath.a in Frameworks */,
 				42CCD5A4146EC5C600353661 /* OpenGL.framework in Frameworks */,
 				42CCD5A4146EC5C600353661 /* OpenGL.framework in Frameworks */,
 				42CCD5A2146EC5BF00353661 /* OpenAL.framework in Frameworks */,
 				42CCD5A2146EC5BF00353661 /* OpenAL.framework in Frameworks */,
 			);
 			);
@@ -122,21 +103,14 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
+				435FC4131A538B45003D4E9C /* libgameplay-deps.a in Frameworks */,
 				4284B96416ADABB000FB52B4 /* libgameplay.a in Frameworks */,
 				4284B96416ADABB000FB52B4 /* libgameplay.a in Frameworks */,
-				4284B96C16ADABDC00FB52B4 /* libz.dylib in Frameworks */,
-				422E8EDA19586778001DE81F /* libBulletDynamics.a in Frameworks */,
 				42DFAAC616AD89D80000F342 /* CoreMotion.framework in Frameworks */,
 				42DFAAC616AD89D80000F342 /* CoreMotion.framework in Frameworks */,
-				425EDA9217FB3B2000AABF95 /* liblua.a in Frameworks */,
 				42DFAADC16AD8AE30000F342 /* Foundation.framework in Frameworks */,
 				42DFAADC16AD8AE30000F342 /* Foundation.framework in Frameworks */,
-				425EDA9517FB3B2000AABF95 /* libvorbis.a in Frameworks */,
 				42DFAAFF16AD8B780000F342 /* OpenAL.framework in Frameworks */,
 				42DFAAFF16AD8B780000F342 /* OpenAL.framework in Frameworks */,
-				425EDA9417FB3B2000AABF95 /* libogg.a in Frameworks */,
-				422E8ED919586778001DE81F /* libBulletCollision.a in Frameworks */,
-				422E8EDB19586778001DE81F /* libLinearMath.a in Frameworks */,
 				421090EC18299EFB00761E40 /* GameKit.framework in Frameworks */,
 				421090EC18299EFB00761E40 /* GameKit.framework in Frameworks */,
 				42DFAB0016AD8B780000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAB0016AD8B780000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAB0116AD8B780000F342 /* QuartzCore.framework in Frameworks */,
 				42DFAB0116AD8B780000F342 /* QuartzCore.framework in Frameworks */,
-				425EDA9317FB3B2000AABF95 /* libpng.a in Frameworks */,
 				42DFAB0216AD8B780000F342 /* UIKit.framework in Frameworks */,
 				42DFAB0216AD8B780000F342 /* UIKit.framework in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -183,6 +157,8 @@
 		42CCD56F146EC4B300353661 /* Frameworks */ = {
 		42CCD56F146EC4B300353661 /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				435FC4121A538B45003D4E9C /* libgameplay-deps.a */,
+				435FC4101A538954003D4E9C /* libgameplay-deps.a */,
 				5B43D1F114C36054008A5D9D /* MacOSX */,
 				5B43D1F114C36054008A5D9D /* MacOSX */,
 				5B43D1F014C36051008A5D9D /* iOS */,
 				5B43D1F014C36051008A5D9D /* iOS */,
 			);
 			);
@@ -477,21 +453,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-character-macosx.plist";
 				INFOPLIST_FILE = "sample-character-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					../../gameplay/Build/Products/Debug,
+					"../../external-deps/libs/MacOS/x86_64",
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
@@ -515,21 +484,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-character-macosx.plist";
 				INFOPLIST_FILE = "sample-character-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					../../gameplay/Build/Products/Debug,
+					"../../external-deps/libs/MacOS/x86_64",
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
@@ -553,22 +515,19 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-character-ios.plist";
 				INFOPLIST_FILE = "sample-character-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
+				"OTHER_LDFLAGS[sdk=iphoneos*]" = (
+					"-L../../external-deps/libs/iOS/arm",
+					"-L../../gameplay/Build/Products/Debug-iphoneos",
+				);
+				"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
+					"-L../../external-deps/libs/iOS/x86",
+					"-L../../gameplay/Build/Products/Debug-iphonesimulator",
 				);
 				);
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -594,23 +553,12 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-character-ios.plist";
 				INFOPLIST_FILE = "sample-character-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
-				);
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE = "";
 				PROVISIONING_PROFILE = "";

+ 10 - 10
samples/lua/sample-lua.vcxproj

@@ -79,15 +79,15 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -110,7 +110,7 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <ShowIncludes>false</ShowIncludes>
       <ShowIncludes>false</ShowIncludes>
       <PreprocessToFile>false</PreprocessToFile>
       <PreprocessToFile>false</PreprocessToFile>
@@ -119,8 +119,8 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -145,15 +145,15 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Release;..\..\external-deps\bullet\lib\windows\x64\Release;..\..\external-deps\openal\lib\windows\x64\Release;..\..\external-deps\ogg\lib\windows\x64\Release;..\..\external-deps\vorbis\lib\windows\x64\Release;..\..\external-deps\glew\lib\windows\x64\Release;..\..\external-deps\png\lib\windows\x64\Release;..\..\external-deps\zlib\lib\windows\x64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -192,4 +192,4 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 8 - 52
samples/racer/.cproject

@@ -31,14 +31,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1239599254" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1239599254" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -66,17 +60,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.392483013" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.392483013" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 								<option id="gnu.cpp.link.option.libs.1553962221" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1553962221" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -87,14 +72,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.348838567" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.348838567" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1304503313" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1304503313" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
@@ -139,14 +117,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1483540397" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1483540397" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -174,17 +146,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1561535911" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1561535911" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 								<option id="gnu.cpp.link.option.libs.1594325689" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1594325689" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -195,14 +158,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.1798242585" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.1798242585" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.44330890" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.44330890" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">

+ 7 - 69
samples/racer/android/jni/Android.mk

@@ -1,13 +1,7 @@
 SAMPLE_PATH := $(call my-dir)/../../src
 SAMPLE_PATH := $(call my-dir)/../../src
 
 
 # external-deps
 # external-deps
-PNG_PATH := $(call my-dir)/../../../../external-deps/png/lib/android/$(TARGET_ARCH_ABI)
-ZLIB_PATH := $(call my-dir)/../../../../external-deps/zlib/lib/android/$(TARGET_ARCH_ABI)
-LUA_PATH := $(call my-dir)/../../../../external-deps/lua/lib/android/$(TARGET_ARCH_ABI)
-BULLET_PATH := $(call my-dir)/../../../../external-deps/bullet/lib/android/$(TARGET_ARCH_ABI)
-OGG_PATH := $(call my-dir)/../../../../external-deps/ogg/lib/android/$(TARGET_ARCH_ABI)
-VORBIS_PATH := $(call my-dir)/../../../../external-deps/vorbis/lib/android/$(TARGET_ARCH_ABI)
-OPENAL_PATH := $(call my-dir)/../../../../external-deps/openal/lib/android/$(TARGET_ARCH_ABI)
+GAMEPLAY_DEPS := $(call my-dir)/../../../../external-deps/libs/Android/$(TARGET_ARCH_ABI)
 
 
 # libgameplay
 # libgameplay
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/$(TARGET_ARCH_ABI)
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/$(TARGET_ARCH_ABI)
@@ -16,67 +10,11 @@ LOCAL_MODULE    := libgameplay
 LOCAL_SRC_FILES := libgameplay.so
 LOCAL_SRC_FILES := libgameplay.so
 include $(PREBUILT_SHARED_LIBRARY)
 include $(PREBUILT_SHARED_LIBRARY)
 
 
-# libpng
-LOCAL_PATH := $(PNG_PATH)
+# libgameplay-deps
+LOCAL_PATH := $(GAMEPLAY_DEPS)
 include $(CLEAR_VARS)
 include $(CLEAR_VARS)
-LOCAL_MODULE    := libpng 
-LOCAL_SRC_FILES := libpng.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libz
-LOCAL_PATH := $(ZLIB_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libz
-LOCAL_SRC_FILES := libz.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# liblua
-LOCAL_PATH := $(LUA_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := liblua
-LOCAL_SRC_FILES := liblua.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libLinearMath
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libLinearMath
-LOCAL_SRC_FILES := libLinearMath.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletCollision
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletCollision
-LOCAL_SRC_FILES := libBulletCollision.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletDynamics
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletDynamics
-LOCAL_SRC_FILES := libBulletDynamics.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libogg
-LOCAL_PATH := $(OGG_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libogg
-LOCAL_SRC_FILES := libogg.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libvorbis
-LOCAL_PATH := $(VORBIS_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libvorbis
-LOCAL_SRC_FILES := libvorbis.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libOpenAL
-LOCAL_PATH := $(OPENAL_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libOpenAL
-LOCAL_SRC_FILES := libOpenAL.a
+LOCAL_MODULE    := libgameplay-deps 
+LOCAL_SRC_FILES := libgameplay-deps.a
 include $(PREBUILT_STATIC_LIBRARY)
 include $(PREBUILT_STATIC_LIBRARY)
 
 
 # sample-racer
 # sample-racer
@@ -87,8 +25,8 @@ LOCAL_SRC_FILES := ../../../gameplay/src/gameplay-main-android.cpp RacerGame.cpp
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_ARM_MODE := arm
 LOCAL_ARM_MODE := arm
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
-LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/lua/include" -I"../../../external-deps/bullet/include" -I"../../../external-deps/png/include" -I"../../../external-deps/ogg/include" -I"../../../external-deps/vorbis/include" -I"../../../external-deps/openal/include" -I"../../../gameplay/src"
-LOCAL_STATIC_LIBRARIES := android_native_app_glue libpng libz liblua libBulletDynamics libBulletCollision libLinearMath libvorbis libogg libOpenAL
+LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/include" -I"../../../external-deps/include/bullet" -I"../../../gameplay/src"
+LOCAL_STATIC_LIBRARIES := android_native_app_glue libgameplay-deps
 LOCAL_SHARED_LIBRARIES := gameplay
 LOCAL_SHARED_LIBRARIES := gameplay
 include $(BUILD_SHARED_LIBRARY)
 include $(BUILD_SHARED_LIBRARY)
 
 

+ 10 - 10
samples/racer/sample-racer.vcxproj

@@ -82,15 +82,15 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
@@ -111,7 +111,7 @@ copy .\game.dxt.config .\game.config</Command>
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <ShowIncludes>false</ShowIncludes>
       <ShowIncludes>false</ShowIncludes>
       <PreprocessToFile>false</PreprocessToFile>
       <PreprocessToFile>false</PreprocessToFile>
@@ -120,8 +120,8 @@ copy .\game.dxt.config .\game.config</Command>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
@@ -144,15 +144,15 @@ copy .\game.dxt.config .\game.config</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Release;..\..\external-deps\bullet\lib\windows\x64\Release;..\..\external-deps\openal\lib\windows\x64\Release;..\..\external-deps\ogg\lib\windows\x64\Release;..\..\external-deps\vorbis\lib\windows\x64\Release;..\..\external-deps\glew\lib\windows\x64\Release;..\..\external-deps\png\lib\windows\x64\Release;..\..\external-deps\zlib\lib\windows\x64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
       <Command>copy /Y "$(ProjectDir)game.dxt.config" "$(ProjectDir)game.config"</Command>
@@ -217,4 +217,4 @@ copy .\game.dxt.config .\game.config</Command>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 37 - 85
samples/racer/sample-racer.xcodeproj/project.pbxproj

@@ -8,14 +8,6 @@
 
 
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
 		421090F418299FAA00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F318299FAA00761E40 /* GameKit.framework */; };
 		421090F418299FAA00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F318299FAA00761E40 /* GameKit.framework */; };
-		422E8EF1195867E1001DE81F /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EEE195867E1001DE81F /* libBulletCollision.a */; };
-		422E8EF2195867E1001DE81F /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EEF195867E1001DE81F /* libBulletDynamics.a */; };
-		422E8EF3195867E1001DE81F /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EF0195867E1001DE81F /* libLinearMath.a */; };
-		42438B531491AD2000D218B8 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42438B521491AD2000D218B8 /* libgameplay.a */; };
-		42512C7517FB414D00373866 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C6E17FB414C00373866 /* liblua.a */; };
-		42512C7617FB414D00373866 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C6F17FB414C00373866 /* libpng.a */; };
-		42512C7717FB414D00373866 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C7017FB414C00373866 /* libogg.a */; };
-		42512C7817FB414D00373866 /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C7117FB414C00373866 /* libvorbis.a */; };
 		42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C932C01491A0DB0098216A /* Cocoa.framework */; };
 		42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C932C01491A0DB0098216A /* Cocoa.framework */; };
 		42C932EE1491A4CB0098216A /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		42C932EE1491A4CB0098216A /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		42C932F11491A5160098216A /* RacerGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* RacerGame.cpp */; };
 		42C932F11491A5160098216A /* RacerGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* RacerGame.cpp */; };
@@ -23,12 +15,6 @@
 		42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933161491A5EB0098216A /* OpenGL.framework */; };
 		42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933161491A5EB0098216A /* OpenGL.framework */; };
 		42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331C1491A6750098216A /* QuartzCore.framework */; };
 		42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331C1491A6750098216A /* QuartzCore.framework */; };
 		42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331E1491A67F0098216A /* OpenAL.framework */; };
 		42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331E1491A67F0098216A /* OpenAL.framework */; };
-		42C933261491A6E50098216A /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933221491A6E50098216A /* libogg.a */; };
-		42C933271491A6E50098216A /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933231491A6E50098216A /* libvorbis.a */; };
-		42C9332C1491A7680098216A /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9332A1491A7390098216A /* libpng.a */; };
-		42C9332F1491A78D0098216A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9332D1491A7810098216A /* libz.dylib */; };
-		42CD5E7E16ADB30E00C1D49D /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CD5E7916ADB2D500C1D49D /* libgameplay.a */; };
-		42CD5E8616ADB31400C1D49D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB3916AD8D7A0000F342 /* libz.dylib */; };
 		42CD5E8816ADB34000C1D49D /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 42CD5E8716ADB34000C1D49D /* [email protected] */; };
 		42CD5E8816ADB34000C1D49D /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 42CD5E8716ADB34000C1D49D /* [email protected] */; };
 		42D604DF16058F89003F3C48 /* game.dxt.config in Resources */ = {isa = PBXBuildFile; fileRef = 42D604DE16058F89003F3C48 /* game.dxt.config */; };
 		42D604DF16058F89003F3C48 /* game.dxt.config in Resources */ = {isa = PBXBuildFile; fileRef = 42D604DE16058F89003F3C48 /* game.dxt.config */; };
 		42D604E216058F97003F3C48 /* game.pvr.config in Resources */ = {isa = PBXBuildFile; fileRef = 42D604E116058F97003F3C48 /* game.pvr.config */; };
 		42D604E216058F97003F3C48 /* game.pvr.config in Resources */ = {isa = PBXBuildFile; fileRef = 42D604E116058F97003F3C48 /* game.pvr.config */; };
@@ -38,9 +24,10 @@
 		42DFAAE816AD8B330000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAE416AD8B330000F342 /* OpenGLES.framework */; };
 		42DFAAE816AD8B330000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAE416AD8B330000F342 /* OpenGLES.framework */; };
 		42DFAAE916AD8B330000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAE516AD8B330000F342 /* QuartzCore.framework */; };
 		42DFAAE916AD8B330000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAE516AD8B330000F342 /* QuartzCore.framework */; };
 		42DFAAEA16AD8B330000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAE616AD8B330000F342 /* UIKit.framework */; };
 		42DFAAEA16AD8B330000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAE616AD8B330000F342 /* UIKit.framework */; };
-		42E0D2391955305500C99DA8 /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42E0D2361955305500C99DA8 /* libBulletCollision.a */; };
-		42E0D23A1955305500C99DA8 /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42E0D2371955305500C99DA8 /* libBulletDynamics.a */; };
-		42E0D23B1955305500C99DA8 /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42E0D2381955305500C99DA8 /* libLinearMath.a */; };
+		435FC4151A538C36003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4141A538C36003D4E9C /* libgameplay-deps.a */; };
+		435FC4171A538C5A003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4161A538C5A003D4E9C /* libgameplay.a */; };
+		435FC4191A5395A5003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4181A5395A5003D4E9C /* libgameplay-deps.a */; };
+		435FC41B1A5395F0003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC41A1A5395C3003D4E9C /* libgameplay.a */; };
 		5B21E9991615390D006EBEAC /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B21E9981615390D006EBEAC /* IOKit.framework */; };
 		5B21E9991615390D006EBEAC /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B21E9981615390D006EBEAC /* IOKit.framework */; };
 		5B61611614CCC24C0073B857 /* RacerGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* RacerGame.cpp */; };
 		5B61611614CCC24C0073B857 /* RacerGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* RacerGame.cpp */; };
 		5B61612614CCC24C0073B857 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		5B61612614CCC24C0073B857 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
@@ -48,7 +35,6 @@
 		6212DAAE1829D910006213DD /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6212DAAD1829D910006213DD /* GameKit.framework */; };
 		6212DAAE1829D910006213DD /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6212DAAD1829D910006213DD /* GameKit.framework */; };
 		F188C94B15C1971F0025FC73 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = F188C94A15C1971F0025FC73 /* game.config */; };
 		F188C94B15C1971F0025FC73 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = F188C94A15C1971F0025FC73 /* game.config */; };
 		F1E135091607709F00351BB4 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = F188C94A15C1971F0025FC73 /* game.config */; };
 		F1E135091607709F00351BB4 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = F188C94A15C1971F0025FC73 /* game.config */; };
-		F1F6196916A7215E00C4FEA1 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F1F6196816A7215E00C4FEA1 /* liblua.a */; };
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXFileReference section */
 /* Begin PBXFileReference section */
@@ -88,6 +74,10 @@
 		42E0D2361955305500C99DA8 /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
 		42E0D2361955305500C99DA8 /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
 		42E0D2371955305500C99DA8 /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
 		42E0D2371955305500C99DA8 /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
 		42E0D2381955305500C99DA8 /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
 		42E0D2381955305500C99DA8 /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
+		435FC4141A538C36003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC4161A538C5A003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = ../../gameplay/Build/Products/Debug/libgameplay.a; sourceTree = "<group>"; };
+		435FC4181A5395A5003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/iOS/x86/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC41A1A5395C3003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = "../../gameplay/Build/Products/Debug-iphoneos/libgameplay.a"; sourceTree = "<group>"; };
 		5B21E9981615390D006EBEAC /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
 		5B21E9981615390D006EBEAC /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
 		5B61611214CCC2200073B857 /* sample-racer-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "sample-racer-macosx.plist"; sourceTree = "<group>"; };
 		5B61611214CCC2200073B857 /* sample-racer-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "sample-racer-macosx.plist"; sourceTree = "<group>"; };
 		5B61612C14CCC24C0073B857 /* sample-racer-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-racer-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B61612C14CCC24C0073B857 /* sample-racer-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-racer-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -102,19 +92,12 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				42438B531491AD2000D218B8 /* libgameplay.a in Frameworks */,
-				42E0D23A1955305500C99DA8 /* libBulletDynamics.a in Frameworks */,
-				42E0D2391955305500C99DA8 /* libBulletCollision.a in Frameworks */,
-				F1F6196916A7215E00C4FEA1 /* liblua.a in Frameworks */,
-				42C9332C1491A7680098216A /* libpng.a in Frameworks */,
-				42C933261491A6E50098216A /* libogg.a in Frameworks */,
-				42C933271491A6E50098216A /* libvorbis.a in Frameworks */,
-				42C9332F1491A78D0098216A /* libz.dylib in Frameworks */,
+				435FC4171A538C5A003D4E9C /* libgameplay.a in Frameworks */,
+				435FC4151A538C36003D4E9C /* libgameplay-deps.a in Frameworks */,
 				6212DAAE1829D910006213DD /* GameKit.framework in Frameworks */,
 				6212DAAE1829D910006213DD /* GameKit.framework in Frameworks */,
 				5B21E9991615390D006EBEAC /* IOKit.framework in Frameworks */,
 				5B21E9991615390D006EBEAC /* IOKit.framework in Frameworks */,
 				42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */,
 				42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */,
 				42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */,
 				42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */,
-				42E0D23B1955305500C99DA8 /* libLinearMath.a in Frameworks */,
 				42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */,
 				42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */,
 				42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */,
 				42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */,
 			);
 			);
@@ -124,21 +107,14 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				42CD5E7E16ADB30E00C1D49D /* libgameplay.a in Frameworks */,
-				42CD5E8616ADB31400C1D49D /* libz.dylib in Frameworks */,
-				422E8EF2195867E1001DE81F /* libBulletDynamics.a in Frameworks */,
+				435FC41B1A5395F0003D4E9C /* libgameplay.a in Frameworks */,
+				435FC4191A5395A5003D4E9C /* libgameplay-deps.a in Frameworks */,
 				42DFAACF16AD8A160000F342 /* CoreMotion.framework in Frameworks */,
 				42DFAACF16AD8A160000F342 /* CoreMotion.framework in Frameworks */,
-				42512C7517FB414D00373866 /* liblua.a in Frameworks */,
 				42DFAAE216AD8B140000F342 /* Foundation.framework in Frameworks */,
 				42DFAAE216AD8B140000F342 /* Foundation.framework in Frameworks */,
-				42512C7817FB414D00373866 /* libvorbis.a in Frameworks */,
 				42DFAAE716AD8B330000F342 /* OpenAL.framework in Frameworks */,
 				42DFAAE716AD8B330000F342 /* OpenAL.framework in Frameworks */,
-				42512C7717FB414D00373866 /* libogg.a in Frameworks */,
-				422E8EF1195867E1001DE81F /* libBulletCollision.a in Frameworks */,
-				422E8EF3195867E1001DE81F /* libLinearMath.a in Frameworks */,
 				421090F418299FAA00761E40 /* GameKit.framework in Frameworks */,
 				421090F418299FAA00761E40 /* GameKit.framework in Frameworks */,
 				42DFAAE816AD8B330000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAAE816AD8B330000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAAE916AD8B330000F342 /* QuartzCore.framework in Frameworks */,
 				42DFAAE916AD8B330000F342 /* QuartzCore.framework in Frameworks */,
-				42512C7617FB414D00373866 /* libpng.a in Frameworks */,
 				42DFAAEA16AD8B330000F342 /* UIKit.framework in Frameworks */,
 				42DFAAEA16AD8B330000F342 /* UIKit.framework in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -176,6 +152,10 @@
 		42C932BF1491A0DB0098216A /* Frameworks */ = {
 		42C932BF1491A0DB0098216A /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				435FC41A1A5395C3003D4E9C /* libgameplay.a */,
+				435FC4181A5395A5003D4E9C /* libgameplay-deps.a */,
+				435FC4161A538C5A003D4E9C /* libgameplay.a */,
+				435FC4141A538C36003D4E9C /* libgameplay-deps.a */,
 				5B61613A14CCC3590073B857 /* MacOSX */,
 				5B61613A14CCC3590073B857 /* MacOSX */,
 				5B61613914CCC3560073B857 /* iOS */,
 				5B61613914CCC3560073B857 /* iOS */,
 			);
 			);
@@ -485,21 +465,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-racer-macosx.plist";
 				INFOPLIST_FILE = "sample-racer-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					"../../external-deps/libs/MacOS/x86_64",
+					../../gameplay/Build/Products/Debug,
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -520,21 +493,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/png/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-racer-macosx.plist";
 				INFOPLIST_FILE = "sample-racer-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					"../../external-deps/libs/MacOS/x86_64",
+					../../gameplay/Build/Products/Debug,
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -555,22 +521,19 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/png/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-racer-ios.plist";
 				INFOPLIST_FILE = "sample-racer-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
+				"OTHER_LDFLAGS[sdk=iphoneos*]" = (
+					"-L../../gameplay/Build/Products/Debug-iphoneos",
+					"-L../../external-deps/libs/iOS/arm",
+				);
+				"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
+					"-L../../gameplay/Build/Products/Debug-iphonesimulator",
+					"-L../../external-deps/libs/iOS/x86",
 				);
 				);
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -591,23 +554,12 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-racer-ios.plist";
 				INFOPLIST_FILE = "sample-racer-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
-				);
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				PROVISIONING_PROFILE = "";
 				PROVISIONING_PROFILE = "";
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";

+ 8 - 52
samples/spaceship/.cproject

@@ -31,14 +31,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1116223251" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1116223251" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -66,17 +60,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1557084071" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1557084071" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
 								<option id="gnu.cpp.link.option.libs.1994161781" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1994161781" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -87,14 +72,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.378440450" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.378440450" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1848938783" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1848938783" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
@@ -139,14 +117,8 @@
 								</option>
 								</option>
 								<option id="gnu.cpp.compiler.option.include.paths.1315458936" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 								<option id="gnu.cpp.compiler.option.include.paths.1315458936" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/gameplay/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/bullet/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/lua/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/png/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/zlib/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/ogg/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/vorbis/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/openal/include&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;../../../external-deps/glew/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;../../../external-deps/include/bullet&quot;"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/gtk-2.0"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/lib/x86_64-linux-gnu/gtk-2.0/include"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
 									<listOptionValue builtIn="false" value="/usr/include/atk-1.0"/>
@@ -174,17 +146,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1108895753" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1108895753" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
 								<option id="gnu.cpp.link.option.libs.1719732332" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 								<option id="gnu.cpp.link.option.libs.1719732332" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" value="gameplay"/>
 									<listOptionValue builtIn="false" value="gameplay"/>
+									<listOptionValue builtIn="false" value="gameplay-deps"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="m"/>
-									<listOptionValue builtIn="false" value="lua"/>
-									<listOptionValue builtIn="false" value="png"/>
-									<listOptionValue builtIn="false" value="z"/>
-									<listOptionValue builtIn="false" value="vorbis"/>
-									<listOptionValue builtIn="false" value="ogg"/>
-									<listOptionValue builtIn="false" value="BulletDynamics"/>
-									<listOptionValue builtIn="false" value="BulletCollision"/>
-									<listOptionValue builtIn="false" value="LinearMath"/>
-									<listOptionValue builtIn="false" value="openal"/>
-									<listOptionValue builtIn="false" value="GLEW"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="GL"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="rt"/>
 									<listOptionValue builtIn="false" value="dl"/>
 									<listOptionValue builtIn="false" value="dl"/>
@@ -195,14 +158,7 @@
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 									<listOptionValue builtIn="false" value="gobject-2.0"/>
 								</option>
 								</option>
 								<option id="gnu.cpp.link.option.paths.1487840645" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
 								<option id="gnu.cpp.link.option.paths.1487840645" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/lua/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/zlib/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/png/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/bullet/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/ogg/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/vorbis/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/openal/lib/linux/x64"/>
-									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/glew/lib/linux/x64"/>
+									<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}/../../external-deps/libs/Linux/x86_64"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 									<listOptionValue builtIn="false" value="${workspace_loc:/gameplay/${ConfigName}}"/>
 								</option>
 								</option>
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1839462549" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
 								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1839462549" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">

+ 7 - 69
samples/spaceship/android/jni/Android.mk

@@ -1,13 +1,7 @@
 SAMPLE_PATH := $(call my-dir)/../../src
 SAMPLE_PATH := $(call my-dir)/../../src
 
 
 # external-deps
 # external-deps
-PNG_PATH := $(call my-dir)/../../../../external-deps/png/lib/android/$(TARGET_ARCH_ABI)
-ZLIB_PATH := $(call my-dir)/../../../../external-deps/zlib/lib/android/$(TARGET_ARCH_ABI)
-LUA_PATH := $(call my-dir)/../../../../external-deps/lua/lib/android/$(TARGET_ARCH_ABI)
-BULLET_PATH := $(call my-dir)/../../../../external-deps/bullet/lib/android/$(TARGET_ARCH_ABI)
-OGG_PATH := $(call my-dir)/../../../../external-deps/ogg/lib/android/$(TARGET_ARCH_ABI)
-VORBIS_PATH := $(call my-dir)/../../../../external-deps/vorbis/lib/android/$(TARGET_ARCH_ABI)
-OPENAL_PATH := $(call my-dir)/../../../../external-deps/openal/lib/android/$(TARGET_ARCH_ABI)
+GAMEPLAY_DEPS := $(call my-dir)/../../../../external-deps/libs/Android/$(TARGET_ARCH_ABI)
 
 
 # libgameplay
 # libgameplay
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/armeabi-v7a
 LOCAL_PATH := $(call my-dir)/../../../../gameplay/android/libs/armeabi-v7a
@@ -16,67 +10,11 @@ LOCAL_MODULE    := libgameplay
 LOCAL_SRC_FILES := libgameplay.so
 LOCAL_SRC_FILES := libgameplay.so
 include $(PREBUILT_SHARED_LIBRARY)
 include $(PREBUILT_SHARED_LIBRARY)
 
 
-# libpng
-LOCAL_PATH := $(PNG_PATH)
+# libgameplay-deps
+LOCAL_PATH := $(GAMEPLAY_DEPS)
 include $(CLEAR_VARS)
 include $(CLEAR_VARS)
-LOCAL_MODULE    := libpng 
-LOCAL_SRC_FILES := libpng.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libz
-LOCAL_PATH := $(ZLIB_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libz
-LOCAL_SRC_FILES := libz.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# liblua
-LOCAL_PATH := $(LUA_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := liblua
-LOCAL_SRC_FILES := liblua.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libLinearMath
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libLinearMath
-LOCAL_SRC_FILES := libLinearMath.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletCollision
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletCollision
-LOCAL_SRC_FILES := libBulletCollision.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libBulletDynamics
-LOCAL_PATH := $(BULLET_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libBulletDynamics
-LOCAL_SRC_FILES := libBulletDynamics.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libogg
-LOCAL_PATH := $(OGG_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libogg
-LOCAL_SRC_FILES := libogg.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libvorbis
-LOCAL_PATH := $(VORBIS_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libvorbis
-LOCAL_SRC_FILES := libvorbis.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-# libOpenAL
-LOCAL_PATH := $(OPENAL_PATH)
-include $(CLEAR_VARS)
-LOCAL_MODULE    := libOpenAL
-LOCAL_SRC_FILES := libOpenAL.a
+LOCAL_MODULE    := libgameplay-deps 
+LOCAL_SRC_FILES := libgameplay-deps.a
 include $(PREBUILT_STATIC_LIBRARY)
 include $(PREBUILT_STATIC_LIBRARY)
 
 
 # sample-spaceship
 # sample-spaceship
@@ -87,8 +25,8 @@ LOCAL_SRC_FILES := ../../../gameplay/src/gameplay-main-android.cpp SpaceshipGame
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_CPPFLAGS += -std=c++11 -Wno-switch-enum -Wno-switch
 LOCAL_ARM_MODE := arm
 LOCAL_ARM_MODE := arm
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
 LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
-LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/lua/include" -I"../../../external-deps/bullet/include" -I"../../../external-deps/png/include" -I"../../../external-deps/ogg/include" -I"../../../external-deps/vorbis/include" -I"../../../external-deps/openal/include" -I"../../../gameplay/src"
-LOCAL_STATIC_LIBRARIES := android_native_app_glue libpng libz liblua libBulletDynamics libBulletCollision libLinearMath libvorbis libogg libOpenAL
+LOCAL_CFLAGS    := -D__ANDROID__ -I"../../../external-deps/include" -I"../../../external-deps/include/bullet" -I"../../../gameplay/src"
+LOCAL_STATIC_LIBRARIES := android_native_app_glue libgameplay-deps
 LOCAL_SHARED_LIBRARIES := gameplay
 LOCAL_SHARED_LIBRARIES := gameplay
 include $(BUILD_SHARED_LIBRARY)
 include $(BUILD_SHARED_LIBRARY)
 
 

+ 10 - 10
samples/spaceship/sample-spaceship.vcxproj

@@ -74,14 +74,14 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -108,15 +108,15 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Debug;..\..\external-deps\bullet\lib\windows\x64\Debug;..\..\external-deps\openal\lib\windows\x64\Debug;..\..\external-deps\ogg\lib\windows\x64\Debug;..\..\external-deps\vorbis\lib\windows\x64\Debug;..\..\external-deps\glew\lib\windows\x64\Debug;..\..\external-deps\png\lib\windows\x64\Debug;..\..\external-deps\zlib\lib\windows\x64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Debug;..\..\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -145,15 +145,15 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\bullet\include;..\..\external-deps\lua\include;..\..\external-deps\openal\include\AL;..\..\external-deps\ogg\include;..\..\external-deps\vorbis\include;..\..\external-deps\png\include;..\..\external-deps\zlib\include;..\..\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\gameplay\src;..\..\external-deps\include;..\..\external-deps\include\bullet</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalLibraryDirectories>..\..\external-deps\lua\lib\windows\x64\Release;..\..\external-deps\bullet\lib\windows\x64\Release;..\..\external-deps\openal\lib\windows\x64\Release;..\..\external-deps\ogg\lib\windows\x64\Release;..\..\external-deps\vorbis\lib\windows\x64\Release;..\..\external-deps\glew\lib\windows\x64\Release;..\..\external-deps\png\lib\windows\x64\Release;..\..\external-deps\zlib\lib\windows\x64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\external-deps\libs\Windows\x86_64\Release;..\..\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -216,4 +216,4 @@ copy ..\..\gameplay\res\logo_powered_white.png res</Command>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 37 - 85
samples/spaceship/sample-spaceship.xcodeproj/project.pbxproj

@@ -9,21 +9,9 @@
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
 		421090F618299FD800761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F518299FD800761E40 /* GameKit.framework */; };
 		421090F618299FD800761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F518299FD800761E40 /* GameKit.framework */; };
 		421090F818299FF500761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F718299FF500761E40 /* GameKit.framework */; };
 		421090F818299FF500761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F718299FF500761E40 /* GameKit.framework */; };
-		421A5DFB17FE6B0B00A6AA7C /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 421A5DFA17FE6B0B00A6AA7C /* libpng.a */; };
-		422E8EF7195867F1001DE81F /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EF4195867F1001DE81F /* libBulletCollision.a */; };
-		422E8EF8195867F1001DE81F /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EF5195867F1001DE81F /* libBulletDynamics.a */; };
-		422E8EF9195867F1001DE81F /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EF6195867F1001DE81F /* libLinearMath.a */; };
 		424CC035161FCB5B00577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC034161FCB5B00577827 /* IOKit.framework */; };
 		424CC035161FCB5B00577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC034161FCB5B00577827 /* IOKit.framework */; };
-		42512C8317FB424000373866 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C7C17FB424000373866 /* liblua.a */; };
-		42512C8417FB424000373866 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C7D17FB424000373866 /* libpng.a */; };
-		42512C8517FB424000373866 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C7E17FB424000373866 /* libogg.a */; };
-		42512C8617FB424000373866 /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42512C7F17FB424000373866 /* libvorbis.a */; };
 		4284B8F616ADA63500FB52B4 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 4284B8F516ADA63500FB52B4 /* [email protected] */; };
 		4284B8F616ADA63500FB52B4 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 4284B8F516ADA63500FB52B4 /* [email protected] */; };
-		4284B8FD16ADA7DF00FB52B4 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4284B8FC16ADA7DF00FB52B4 /* libgameplay.a */; };
-		4284B8FF16ADA7F400FB52B4 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4284B8FE16ADA7F400FB52B4 /* libgameplay.a */; };
-		4284B90516ADA81B00FB52B4 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB2F16AD8CA20000F342 /* libz.dylib */; };
 		4284B90616ADA88600FB52B4 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAC316AD89B80000F342 /* CoreMotion.framework */; };
 		4284B90616ADA88600FB52B4 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAC316AD89B80000F342 /* CoreMotion.framework */; };
-		42B7026015B0A8D5002BB8C3 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42B7025F15B0A8D5002BB8C3 /* liblua.a */; };
 		42B7026F15B0B202002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026E15B0B202002BB8C3 /* game.config */; };
 		42B7026F15B0B202002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026E15B0B202002BB8C3 /* game.config */; };
 		42B7027015B0B202002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026E15B0B202002BB8C3 /* game.config */; };
 		42B7027015B0B202002BB8C3 /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 42B7026E15B0B202002BB8C3 /* game.config */; };
 		42CCD51B146EBF3600353661 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD51A146EBF3600353661 /* Cocoa.framework */; };
 		42CCD51B146EBF3600353661 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD51A146EBF3600353661 /* Cocoa.framework */; };
@@ -31,19 +19,17 @@
 		42CCD54B146EC10200353661 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD54A146EC10200353661 /* QuartzCore.framework */; };
 		42CCD54B146EC10200353661 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD54A146EC10200353661 /* QuartzCore.framework */; };
 		42CCD54D146EC10E00353661 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD54C146EC10E00353661 /* OpenAL.framework */; };
 		42CCD54D146EC10E00353661 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD54C146EC10E00353661 /* OpenAL.framework */; };
 		42CCD54F146EC11600353661 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD54E146EC11600353661 /* OpenGL.framework */; };
 		42CCD54F146EC11600353661 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD54E146EC11600353661 /* OpenGL.framework */; };
-		42CCD558146EC22900353661 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CCD557146EC22900353661 /* libz.dylib */; };
 		42CCD55E146EC24F00353661 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55D146EC24F00353661 /* icon.png */; };
 		42CCD55E146EC24F00353661 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55D146EC24F00353661 /* icon.png */; };
 		42CCD560146EC27A00353661 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55F146EC27A00353661 /* res */; };
 		42CCD560146EC27A00353661 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55F146EC27A00353661 /* res */; };
-		42CD0EF4147D932B0000361E /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CD0EEF147D932B0000361E /* libogg.a */; };
-		42CD0EF5147D932B0000361E /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42CD0EF0147D932B0000361E /* libvorbis.a */; };
 		42DFAADA16AD8AD00000F342 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAD916AD8AD00000F342 /* Foundation.framework */; };
 		42DFAADA16AD8AD00000F342 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAAD916AD8AD00000F342 /* Foundation.framework */; };
 		42DFAB0716AD8B840000F342 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0316AD8B840000F342 /* OpenAL.framework */; };
 		42DFAB0716AD8B840000F342 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0316AD8B840000F342 /* OpenAL.framework */; };
 		42DFAB0816AD8B840000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0416AD8B840000F342 /* OpenGLES.framework */; };
 		42DFAB0816AD8B840000F342 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0416AD8B840000F342 /* OpenGLES.framework */; };
 		42DFAB0916AD8B840000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0516AD8B840000F342 /* QuartzCore.framework */; };
 		42DFAB0916AD8B840000F342 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0516AD8B840000F342 /* QuartzCore.framework */; };
 		42DFAB0A16AD8B840000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0616AD8B840000F342 /* UIKit.framework */; };
 		42DFAB0A16AD8B840000F342 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42DFAB0616AD8B840000F342 /* UIKit.framework */; };
-		42E0D23F195531E100C99DA8 /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42E0D23C195531E100C99DA8 /* libBulletCollision.a */; };
-		42E0D240195531E200C99DA8 /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42E0D23D195531E100C99DA8 /* libBulletDynamics.a */; };
-		42E0D241195531E200C99DA8 /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42E0D23E195531E100C99DA8 /* libLinearMath.a */; };
+		435FC41D1A539829003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC41C1A539829003D4E9C /* libgameplay-deps.a */; };
+		435FC41F1A53983C003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC41E1A53983C003D4E9C /* libgameplay.a */; };
+		435FC4211A5398E8003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4201A5398E8003D4E9C /* libgameplay-deps.a */; };
+		435FC4231A539903003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4221A539903003D4E9C /* libgameplay.a */; };
 		5B43D19F14C35A0E008A5D9D /* SpaceshipGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42CCD547146EC0AE00353661 /* SpaceshipGame.cpp */; };
 		5B43D19F14C35A0E008A5D9D /* SpaceshipGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42CCD547146EC0AE00353661 /* SpaceshipGame.cpp */; };
 		5B43D1AF14C35A0E008A5D9D /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55D146EC24F00353661 /* icon.png */; };
 		5B43D1AF14C35A0E008A5D9D /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55D146EC24F00353661 /* icon.png */; };
 		5B43D1B014C35A0E008A5D9D /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55F146EC27A00353661 /* res */; };
 		5B43D1B014C35A0E008A5D9D /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42CCD55F146EC27A00353661 /* res */; };
@@ -90,6 +76,10 @@
 		42E0D23C195531E100C99DA8 /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
 		42E0D23C195531E100C99DA8 /* libBulletCollision.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletCollision.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletCollision.a"; sourceTree = "<group>"; };
 		42E0D23D195531E100C99DA8 /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
 		42E0D23D195531E100C99DA8 /* libBulletDynamics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libBulletDynamics.a; path = "../../external-deps/bullet/lib/macosx/x64/libBulletDynamics.a"; sourceTree = "<group>"; };
 		42E0D23E195531E100C99DA8 /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
 		42E0D23E195531E100C99DA8 /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = "../../external-deps/bullet/lib/macosx/x64/libLinearMath.a"; sourceTree = "<group>"; };
+		435FC41C1A539829003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC41E1A53983C003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = ../../gameplay/Build/Products/Debug/libgameplay.a; sourceTree = "<group>"; };
+		435FC4201A5398E8003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/iOS/arm/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC4221A539903003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = "../../gameplay/Build/Products/Debug-iphoneos/libgameplay.a"; sourceTree = "<group>"; };
 		5B43D1B414C35A0E008A5D9D /* sample-spaceship-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-spaceship-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B43D1B414C35A0E008A5D9D /* sample-spaceship-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sample-spaceship-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 /* End PBXFileReference section */
 
 
@@ -98,21 +88,14 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				4284B8FD16ADA7DF00FB52B4 /* libgameplay.a in Frameworks */,
-				42E0D240195531E200C99DA8 /* libBulletDynamics.a in Frameworks */,
-				42E0D23F195531E100C99DA8 /* libBulletCollision.a in Frameworks */,
-				42CD0EF4147D932B0000361E /* libogg.a in Frameworks */,
-				42CD0EF5147D932B0000361E /* libvorbis.a in Frameworks */,
+				435FC41F1A53983C003D4E9C /* libgameplay.a in Frameworks */,
+				435FC41D1A539829003D4E9C /* libgameplay-deps.a in Frameworks */,
 				421090F818299FF500761E40 /* GameKit.framework in Frameworks */,
 				421090F818299FF500761E40 /* GameKit.framework in Frameworks */,
-				42CCD558146EC22900353661 /* libz.dylib in Frameworks */,
-				42B7026015B0A8D5002BB8C3 /* liblua.a in Frameworks */,
 				424CC035161FCB5B00577827 /* IOKit.framework in Frameworks */,
 				424CC035161FCB5B00577827 /* IOKit.framework in Frameworks */,
 				42CCD51B146EBF3600353661 /* Cocoa.framework in Frameworks */,
 				42CCD51B146EBF3600353661 /* Cocoa.framework in Frameworks */,
 				42CCD54B146EC10200353661 /* QuartzCore.framework in Frameworks */,
 				42CCD54B146EC10200353661 /* QuartzCore.framework in Frameworks */,
 				42CCD54F146EC11600353661 /* OpenGL.framework in Frameworks */,
 				42CCD54F146EC11600353661 /* OpenGL.framework in Frameworks */,
-				42E0D241195531E200C99DA8 /* libLinearMath.a in Frameworks */,
 				42CCD54D146EC10E00353661 /* OpenAL.framework in Frameworks */,
 				42CCD54D146EC10E00353661 /* OpenAL.framework in Frameworks */,
-				421A5DFB17FE6B0B00A6AA7C /* libpng.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -120,21 +103,14 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				4284B8FF16ADA7F400FB52B4 /* libgameplay.a in Frameworks */,
-				4284B90516ADA81B00FB52B4 /* libz.dylib in Frameworks */,
-				422E8EF8195867F1001DE81F /* libBulletDynamics.a in Frameworks */,
+				435FC4231A539903003D4E9C /* libgameplay.a in Frameworks */,
+				435FC4211A5398E8003D4E9C /* libgameplay-deps.a in Frameworks */,
 				4284B90616ADA88600FB52B4 /* CoreMotion.framework in Frameworks */,
 				4284B90616ADA88600FB52B4 /* CoreMotion.framework in Frameworks */,
-				42512C8317FB424000373866 /* liblua.a in Frameworks */,
 				42DFAADA16AD8AD00000F342 /* Foundation.framework in Frameworks */,
 				42DFAADA16AD8AD00000F342 /* Foundation.framework in Frameworks */,
-				42512C8617FB424000373866 /* libvorbis.a in Frameworks */,
 				42DFAB0716AD8B840000F342 /* OpenAL.framework in Frameworks */,
 				42DFAB0716AD8B840000F342 /* OpenAL.framework in Frameworks */,
 				421090F618299FD800761E40 /* GameKit.framework in Frameworks */,
 				421090F618299FD800761E40 /* GameKit.framework in Frameworks */,
-				422E8EF7195867F1001DE81F /* libBulletCollision.a in Frameworks */,
-				422E8EF9195867F1001DE81F /* libLinearMath.a in Frameworks */,
-				42512C8517FB424000373866 /* libogg.a in Frameworks */,
 				42DFAB0816AD8B840000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAB0816AD8B840000F342 /* OpenGLES.framework in Frameworks */,
 				42DFAB0916AD8B840000F342 /* QuartzCore.framework in Frameworks */,
 				42DFAB0916AD8B840000F342 /* QuartzCore.framework in Frameworks */,
-				42512C8417FB424000373866 /* libpng.a in Frameworks */,
 				42DFAB0A16AD8B840000F342 /* UIKit.framework in Frameworks */,
 				42DFAB0A16AD8B840000F342 /* UIKit.framework in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -179,6 +155,10 @@
 		42CCD519146EBF3600353661 /* Frameworks */ = {
 		42CCD519146EBF3600353661 /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				435FC4221A539903003D4E9C /* libgameplay.a */,
+				435FC4201A5398E8003D4E9C /* libgameplay-deps.a */,
+				435FC41E1A53983C003D4E9C /* libgameplay.a */,
+				435FC41C1A539829003D4E9C /* libgameplay-deps.a */,
 				5B43D1BA14C35A81008A5D9D /* MacOSX */,
 				5B43D1BA14C35A81008A5D9D /* MacOSX */,
 				5B43D1B914C35A7A008A5D9D /* iOS */,
 				5B43D1B914C35A7A008A5D9D /* iOS */,
 			);
 			);
@@ -472,21 +452,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-spaceship-macosx.plist";
 				INFOPLIST_FILE = "sample-spaceship-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					"../../external-deps/libs/MacOS/x86_64",
+					../../gameplay/Build/Products/Debug,
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
@@ -509,21 +482,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-spaceship-macosx.plist";
 				INFOPLIST_FILE = "sample-spaceship-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/bullet/lib/macosx/x64",
-					"../../external-deps/lua/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/ogg/lib/macosx/x64",
-					"../../external-deps/vorbis/lib/macosx/x64",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug",
+					"../../external-deps/libs/MacOS/x86_64",
+					../../gameplay/Build/Products/Debug,
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
@@ -546,22 +512,19 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-spaceship-ios.plist";
 				INFOPLIST_FILE = "sample-spaceship-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
+				"OTHER_LDFLAGS[sdk=iphoneos*]" = (
+					"-L../../external-deps/libs/iOS/arm",
+					"-L../../gameplay/Build/Products/Debug-iphoneos",
+				);
+				"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
+					"-L../../external-deps/libs/iOS/x86",
+					"-L../../gameplay/Build/Products/Debug-iphonesimulator",
 				);
 				);
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -586,23 +549,12 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					../../gameplay/src,
 					../../gameplay/src,
-					"../../external-deps/bullet/include",
-					"../../external-deps/lua/include",
-					"../../external-deps/png/include",
-					"../../external-deps/ogg/include",
-					"../../external-deps/vorbis/include",
+					"../../external-deps/include",
+					"../../external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "sample-spaceship-ios.plist";
 				INFOPLIST_FILE = "sample-spaceship-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"../../external-deps/bullet/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/lua/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/png/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/ogg/lib/ios/$(CURRENT_ARCH)",
-					"../../external-deps/vorbis/lib/ios/$(CURRENT_ARCH)",
-					"~/Library/Developer/Xcode/DerivedData/gameplay-exiunaubxxjndaapmcqkaoeboiob/Build/Products/Debug-iphoneos",
-				);
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE = "";
 				PROVISIONING_PROFILE = "";

+ 7 - 21
template/template-CMakeLists.txt

@@ -5,12 +5,14 @@ set(GAME_NAME TEMPLATE_PROJECT)
 
 
 if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
 if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
     set(ARCH_DIR "x64" )
     set(ARCH_DIR "x64" )
+    set(ARCH_DEPS_DIR "x86_64" )
 else()
 else()
     set(ARCH_DIR "x86" )
     set(ARCH_DIR "x86" )
+    set(ARCH_DEPS_DIR "x86" )
 endif()
 endif()
 
 
 set(GAMEPLAY_SRC_PATH "GAMEPLAY_PATH") 
 set(GAMEPLAY_SRC_PATH "GAMEPLAY_PATH") 
-set(GAMEPLAY_EXT_LIBS_PATH "${GAMEPLAY_SRC_PATH}/external-deps")
+set(GAMEPLAY_EXT_LIBS_PATH "${GAMEPLAY_SRC_PATH}/external-deps/libs")
 
 
 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
     ADD_DEFINITIONS(-D__linux__)
     ADD_DEFINITIONS(-D__linux__)
@@ -57,7 +59,7 @@ macro (append_gameplay_ext_lib listToAppend libName libDirName)
 		find_library(FOUND_LIB_${libName} NAMES ${libName} ${ARGN})
 		find_library(FOUND_LIB_${libName} NAMES ${libName} ${ARGN})
     ELSE("${libDirName}" STREQUAL "")
     ELSE("${libDirName}" STREQUAL "")
         set(pathToSearch
         set(pathToSearch
-            "${GAMEPLAY_EXT_LIBS_PATH}/${libDirName}/lib/${TARGET_OS_DIR}/${ARCH_DIR}")
+            "${GAMEPLAY_EXT_LIBS_PATH}/${CMAKE_SYSTEM_NAME}/${ARCH_DEPS_DIR}")
 		find_library(FOUND_LIB_${libName} NAMES ${libName} ${ARGN} HINTS ${pathToSearch})
 		find_library(FOUND_LIB_${libName} NAMES ${libName} ${ARGN} HINTS ${pathToSearch})
     ENDIF("${libDirName}" STREQUAL "")
     ENDIF("${libDirName}" STREQUAL "")
 
 
@@ -90,28 +92,12 @@ endmacro(copy_files)
 
 
 include_directories( 
 include_directories( 
     ${GAMEPLAY_SRC_PATH}/gameplay/src
     ${GAMEPLAY_SRC_PATH}/gameplay/src
-    ${GAMEPLAY_SRC_PATH}/external-deps/lua/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/bullet/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/png/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/ogg/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/vorbis/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/zlib/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/openal/include
-    ${GAMEPLAY_SRC_PATH}/external-deps/openal/include/AL
-    ${GAMEPLAY_SRC_PATH}/external-deps/glew/include
+    ${GAMEPLAY_SRC_PATH}/external-deps/include
+    ${GAMEPLAY_SRC_PATH}/external-deps/include/bullet
 )
 )
 
 
 append_gameplay_lib(GAMEPLAY_LIBRARIES)
 append_gameplay_lib(GAMEPLAY_LIBRARIES)
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GLEW" "glew" "glew32")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "lua" "lua")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "png" "png" "libpng")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "BulletDynamics" "bullet")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "BulletCollision" "bullet")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "LinearMath" "bullet")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "openal" "openal" "openal32")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "vorbis" "vorbis" "libvorbis")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "ogg" "ogg" "libogg")
-append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "z" "zlib" "zlib")
+append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "gameplay-deps" "libs")
 
 
 IF (TARGET_OS STREQUAL "LINUX")
 IF (TARGET_OS STREQUAL "LINUX")
 	append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GL" "")
 	append_gameplay_ext_lib(GAMEPLAY_LIBRARIES "GL" "")

+ 10 - 10
template/template.vcxproj

@@ -76,15 +76,15 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>GAMEPLAY_PATH\external-deps\lua\include;GAMEPLAY_PATH\external-deps\bullet\include;GAMEPLAY_PATH\gameplay\src;GAMEPLAY_PATH\external-deps\openal\include\AL;GAMEPLAY_PATH\external-deps\ogg\include;GAMEPLAY_PATH\external-deps\vorbis\include;GAMEPLAY_PATH\external-deps\png\include;GAMEPLAY_PATH\external-deps\zlib\include;GAMEPLAY_PATH\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>GAMEPLAY_PATH\gameplay\src;GAMEPLAY_PATH\external-deps\include;GAMEPLAY_PATH\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>GAMEPLAY_PATH\external-deps\lua\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\bullet\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\openal\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\ogg\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\vorbis\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\glew\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\png\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\zlib\lib\windows\x64\Debug;GAMEPLAY_PATH\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>GAMEPLAY_PATH\external-deps\libs\Windows\x86_64\Debug;GAMEPLAY_PATH\gameplay\windows\x64\Debug</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -106,7 +106,7 @@ xcopy GAMEPLAY_PATH\gameplay\res\ui res\ui\* /s /y /d</Command>
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GP_USE_MEM_LEAK_DETECTION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>GAMEPLAY_PATH\external-deps\lua\include;GAMEPLAY_PATH\external-deps\bullet\include;GAMEPLAY_PATH\gameplay\src;GAMEPLAY_PATH\external-deps\openal\include\AL;GAMEPLAY_PATH\external-deps\ogg\include;GAMEPLAY_PATH\external-deps\vorbis\include;GAMEPLAY_PATH\external-deps\png\include;GAMEPLAY_PATH\external-deps\zlib\include;GAMEPLAY_PATH\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>GAMEPLAY_PATH\gameplay\src;GAMEPLAY_PATH\external-deps\include;GAMEPLAY_PATH\external-deps\include\bullet</AdditionalIncludeDirectories>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <ShowIncludes>false</ShowIncludes>
       <ShowIncludes>false</ShowIncludes>
       <PreprocessToFile>false</PreprocessToFile>
       <PreprocessToFile>false</PreprocessToFile>
@@ -115,8 +115,8 @@ xcopy GAMEPLAY_PATH\gameplay\res\ui res\ui\* /s /y /d</Command>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>GAMEPLAY_PATH\external-deps\lua\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\bullet\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\openal\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\ogg\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\vorbis\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\glew\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\png\lib\windows\x64\Debug;GAMEPLAY_PATH\external-deps\zlib\lib\windows\x64\Debug;GAMEPLAY_PATH\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>GAMEPLAY_PATH\external-deps\libs\Windows\x86_64\Debug;GAMEPLAY_PATH\gameplay\windows\x64\DebugMem</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -140,15 +140,15 @@ xcopy GAMEPLAY_PATH\gameplay\res\ui res\ui\* /s /y /d</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>GAMEPLAY_PATH\external-deps\lua\include;GAMEPLAY_PATH\external-deps\bullet\include;GAMEPLAY_PATH\gameplay\src;GAMEPLAY_PATH\external-deps\openal\include\AL;GAMEPLAY_PATH\external-deps\ogg\include;GAMEPLAY_PATH\external-deps\vorbis\include;GAMEPLAY_PATH\external-deps\png\include;GAMEPLAY_PATH\external-deps\zlib\include;GAMEPLAY_PATH\external-deps\glew\include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>GAMEPLAY_PATH\gameplay\src;GAMEPLAY_PATH\external-deps\include;GAMEPLAY_PATH\external-deps\include\bullet</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Windows</SubSystem>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;GLEW.lib;OpenAL.lib;lua.lib;png.lib;zlib.lib;gameplay.lib;ogg.lib;vorbis.lib;BulletDynamics.lib;BulletCollision.lib;LinearMath.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>GAMEPLAY_PATH\external-deps\lua\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\bullet\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\openal\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\ogg\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\vorbis\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\glew\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\png\lib\windows\x64\Release;GAMEPLAY_PATH\external-deps\zlib\lib\windows\x64\Release;GAMEPLAY_PATH\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>OpenGL32.lib;GLU32.lib;gameplay.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>GAMEPLAY_PATH\external-deps\libs\Windows\x86_64\Release;GAMEPLAY_PATH\gameplay\windows\x64\Release</AdditionalLibraryDirectories>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
       <Command>
       <Command>
@@ -199,4 +199,4 @@ xcopy GAMEPLAY_PATH\gameplay\res\ui res\ui\* /s /y /d</Command>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 30 - 82
template/template.xcodeproj/project.pbxproj

@@ -13,25 +13,9 @@
 		42049B5B16ADBB61005DD1F9 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5516ADBB61005DD1F9 /* OpenGLES.framework */; };
 		42049B5B16ADBB61005DD1F9 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5516ADBB61005DD1F9 /* OpenGLES.framework */; };
 		42049B5C16ADBB61005DD1F9 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5616ADBB61005DD1F9 /* QuartzCore.framework */; };
 		42049B5C16ADBB61005DD1F9 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5616ADBB61005DD1F9 /* QuartzCore.framework */; };
 		42049B5D16ADBB61005DD1F9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5716ADBB61005DD1F9 /* UIKit.framework */; };
 		42049B5D16ADBB61005DD1F9 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5716ADBB61005DD1F9 /* UIKit.framework */; };
-		42049B5F16ADBBF5005DD1F9 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B5E16ADBBF5005DD1F9 /* libz.dylib */; };
-		42049B6516ADBC47005DD1F9 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B6416ADBC47005DD1F9 /* liblua.a */; };
-		42049B6A16ADBC63005DD1F9 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B6616ADBC63005DD1F9 /* libogg.a */; };
-		42049B6B16ADBC63005DD1F9 /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B6716ADBC63005DD1F9 /* libvorbis.a */; };
-		42049B6F16ADBC7A005DD1F9 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B6E16ADBC7A005DD1F9 /* libpng.a */; };
-		42049B7116ADBC8B005DD1F9 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B7016ADBC8B005DD1F9 /* libpng.a */; };
-		42049B7316ADBCAB005DD1F9 /* liblua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B7216ADBCAB005DD1F9 /* liblua.a */; };
-		42049B7816ADBCC3005DD1F9 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B7416ADBCC3005DD1F9 /* libogg.a */; };
-		42049B7916ADBCC3005DD1F9 /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42049B7516ADBCC3005DD1F9 /* libvorbis.a */; };
 		42049B7D16ADBCDB005DD1F9 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 42049B7C16ADBCDB005DD1F9 /* [email protected] */; };
 		42049B7D16ADBCDB005DD1F9 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 42049B7C16ADBCDB005DD1F9 /* [email protected] */; };
-		420EBD2E195534910067FBAD /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 420EBD2B195534910067FBAD /* libBulletCollision.a */; };
-		420EBD2F195534910067FBAD /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 420EBD2C195534910067FBAD /* libBulletDynamics.a */; };
-		420EBD30195534910067FBAD /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 420EBD2D195534910067FBAD /* libLinearMath.a */; };
 		421090FA1829A5AE00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F91829A5AE00761E40 /* GameKit.framework */; };
 		421090FA1829A5AE00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090F91829A5AE00761E40 /* GameKit.framework */; };
 		421090FC1829A5BF00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090FB1829A5BF00761E40 /* GameKit.framework */; };
 		421090FC1829A5BF00761E40 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421090FB1829A5BF00761E40 /* GameKit.framework */; };
-		421539CA16ADC583001308A3 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 421539C916ADC583001308A3 /* libgameplay.a */; };
-		422E8EFE19586822001DE81F /* libBulletCollision.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EFB19586822001DE81F /* libBulletCollision.a */; };
-		422E8EFF19586822001DE81F /* libBulletDynamics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EFC19586822001DE81F /* libBulletDynamics.a */; };
-		422E8F0019586822001DE81F /* libLinearMath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422E8EFD19586822001DE81F /* libLinearMath.a */; };
 		424CC03C161FCBDD00577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC03B161FCBDD00577827 /* IOKit.framework */; };
 		424CC03C161FCBDD00577827 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 424CC03B161FCBDD00577827 /* IOKit.framework */; };
 		428F7BDE15CB131A009ED24C /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 428F7BDD15CB131A009ED24C /* game.config */; };
 		428F7BDE15CB131A009ED24C /* game.config in Resources */ = {isa = PBXBuildFile; fileRef = 428F7BDD15CB131A009ED24C /* game.config */; };
 		42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C932C01491A0DB0098216A /* Cocoa.framework */; };
 		42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C932C01491A0DB0098216A /* Cocoa.framework */; };
@@ -41,11 +25,13 @@
 		42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933161491A5EB0098216A /* OpenGL.framework */; };
 		42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C933161491A5EB0098216A /* OpenGL.framework */; };
 		42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331C1491A6750098216A /* QuartzCore.framework */; };
 		42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331C1491A6750098216A /* QuartzCore.framework */; };
 		42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331E1491A67F0098216A /* OpenAL.framework */; };
 		42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9331E1491A67F0098216A /* OpenAL.framework */; };
-		42C9332F1491A78D0098216A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C9332D1491A7810098216A /* libz.dylib */; };
+		435FC4261A539A8D003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4251A539A8D003D4E9C /* libgameplay-deps.a */; };
+		435FC4281A539A9C003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4271A539A9C003D4E9C /* libgameplay.a */; };
+		435FC42A1A539B31003D4E9C /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC4291A539B31003D4E9C /* libgameplay-deps.a */; };
+		435FC42C1A539B4E003D4E9C /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 435FC42B1A539B4E003D4E9C /* libgameplay.a */; };
 		5B61611614CCC24C0073B857 /* TemplateGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* TemplateGame.cpp */; };
 		5B61611614CCC24C0073B857 /* TemplateGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C932EF1491A5160098216A /* TemplateGame.cpp */; };
 		5B61612614CCC24C0073B857 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		5B61612614CCC24C0073B857 /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 42C932ED1491A4CB0098216A /* icon.png */; };
 		5B61612714CCC24C0073B857 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42C932F21491A53E0098216A /* res */; };
 		5B61612714CCC24C0073B857 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 42C932F21491A53E0098216A /* res */; };
-		BDBFA8611883491700342B78 /* libgameplay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BDBFA85E188347B000342B78 /* libgameplay.a */; };
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXContainerItemProxy section */
 /* Begin PBXContainerItemProxy section */
@@ -111,6 +97,10 @@
 		42C9331C1491A6750098216A /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 		42C9331C1491A6750098216A /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 		42C9331E1491A67F0098216A /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
 		42C9331E1491A67F0098216A /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
 		42C9332D1491A7810098216A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
 		42C9332D1491A7810098216A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+		435FC4251A539A8D003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC4271A539A9C003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = ../gameplay/Build/Products/Debug/libgameplay.a; sourceTree = "<group>"; };
+		435FC4291A539B31003D4E9C /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../external-deps/libs/iOS/arm/libgameplay-deps.a"; sourceTree = "<group>"; };
+		435FC42B1A539B4E003D4E9C /* libgameplay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgameplay.a; path = "../gameplay/Build/Products/Debug-iphoneos/libgameplay.a"; sourceTree = "<group>"; };
 		5B61611214CCC2200073B857 /* TEMPLATE_PROJECT-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "TEMPLATE_PROJECT-macosx.plist"; sourceTree = "<group>"; };
 		5B61611214CCC2200073B857 /* TEMPLATE_PROJECT-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "TEMPLATE_PROJECT-macosx.plist"; sourceTree = "<group>"; };
 		5B61612C14CCC24C0073B857 /* TEMPLATE_PROJECT-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "TEMPLATE_PROJECT-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B61612C14CCC24C0073B857 /* TEMPLATE_PROJECT-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "TEMPLATE_PROJECT-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5B61612E14CCC24D0073B857 /* TEMPLATE_PROJECT-ios.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TEMPLATE_PROJECT-ios.plist"; sourceTree = "<group>"; };
 		5B61612E14CCC24D0073B857 /* TEMPLATE_PROJECT-ios.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TEMPLATE_PROJECT-ios.plist"; sourceTree = "<group>"; };
@@ -123,19 +113,12 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				421539CA16ADC583001308A3 /* libgameplay.a in Frameworks */,
-				420EBD2F195534910067FBAD /* libBulletDynamics.a in Frameworks */,
-				420EBD2E195534910067FBAD /* libBulletCollision.a in Frameworks */,
-				42049B6516ADBC47005DD1F9 /* liblua.a in Frameworks */,
-				42049B6F16ADBC7A005DD1F9 /* libpng.a in Frameworks */,
+				435FC4281A539A9C003D4E9C /* libgameplay.a in Frameworks */,
+				435FC4261A539A8D003D4E9C /* libgameplay-deps.a in Frameworks */,
 				421090FA1829A5AE00761E40 /* GameKit.framework in Frameworks */,
 				421090FA1829A5AE00761E40 /* GameKit.framework in Frameworks */,
-				42049B6A16ADBC63005DD1F9 /* libogg.a in Frameworks */,
-				42049B6B16ADBC63005DD1F9 /* libvorbis.a in Frameworks */,
-				42C9332F1491A78D0098216A /* libz.dylib in Frameworks */,
 				424CC03C161FCBDD00577827 /* IOKit.framework in Frameworks */,
 				424CC03C161FCBDD00577827 /* IOKit.framework in Frameworks */,
 				42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */,
 				42C932C11491A0DB0098216A /* Cocoa.framework in Frameworks */,
 				42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */,
 				42C9331D1491A6750098216A /* QuartzCore.framework in Frameworks */,
-				420EBD30195534910067FBAD /* libLinearMath.a in Frameworks */,
 				42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */,
 				42C933171491A5EB0098216A /* OpenGL.framework in Frameworks */,
 				42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */,
 				42C9331F1491A67F0098216A /* OpenAL.framework in Frameworks */,
 			);
 			);
@@ -145,17 +128,10 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				BDBFA8611883491700342B78 /* libgameplay.a in Frameworks */,
-				42049B7316ADBCAB005DD1F9 /* liblua.a in Frameworks */,
-				422E8EFF19586822001DE81F /* libBulletDynamics.a in Frameworks */,
-				42049B7116ADBC8B005DD1F9 /* libpng.a in Frameworks */,
-				42049B7816ADBCC3005DD1F9 /* libogg.a in Frameworks */,
-				42049B7916ADBCC3005DD1F9 /* libvorbis.a in Frameworks */,
-				42049B5F16ADBBF5005DD1F9 /* libz.dylib in Frameworks */,
+				435FC42C1A539B4E003D4E9C /* libgameplay.a in Frameworks */,
+				435FC42A1A539B31003D4E9C /* libgameplay-deps.a in Frameworks */,
 				42049B5816ADBB61005DD1F9 /* CoreMotion.framework in Frameworks */,
 				42049B5816ADBB61005DD1F9 /* CoreMotion.framework in Frameworks */,
 				42049B5916ADBB61005DD1F9 /* Foundation.framework in Frameworks */,
 				42049B5916ADBB61005DD1F9 /* Foundation.framework in Frameworks */,
-				422E8EFE19586822001DE81F /* libBulletCollision.a in Frameworks */,
-				422E8F0019586822001DE81F /* libLinearMath.a in Frameworks */,
 				421090FC1829A5BF00761E40 /* GameKit.framework in Frameworks */,
 				421090FC1829A5BF00761E40 /* GameKit.framework in Frameworks */,
 				42049B5A16ADBB61005DD1F9 /* OpenAL.framework in Frameworks */,
 				42049B5A16ADBB61005DD1F9 /* OpenAL.framework in Frameworks */,
 				42049B5B16ADBB61005DD1F9 /* OpenGLES.framework in Frameworks */,
 				42049B5B16ADBB61005DD1F9 /* OpenGLES.framework in Frameworks */,
@@ -195,6 +171,10 @@
 		42C932BF1491A0DB0098216A /* Frameworks */ = {
 		42C932BF1491A0DB0098216A /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				435FC42B1A539B4E003D4E9C /* libgameplay.a */,
+				435FC4291A539B31003D4E9C /* libgameplay-deps.a */,
+				435FC4271A539A9C003D4E9C /* libgameplay.a */,
+				435FC4251A539A8D003D4E9C /* libgameplay-deps.a */,
 				5B61613A14CCC3590073B857 /* MacOSX */,
 				5B61613A14CCC3590073B857 /* MacOSX */,
 				5B61613914CCC3560073B857 /* iOS */,
 				5B61613914CCC3560073B857 /* iOS */,
 			);
 			);
@@ -554,20 +534,13 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					GAMEPLAY_PATH/gameplay/src,
 					GAMEPLAY_PATH/gameplay/src,
-					"GAMEPLAY_PATH/external-deps/bullet/include",
-					"GAMEPLAY_PATH/external-deps/lua/include",
-					"GAMEPLAY_PATH/external-deps/png/include",
-					"GAMEPLAY_PATH/external-deps/ogg/include",
-					"GAMEPLAY_PATH/external-deps/vorbis/include",
+					"GAMEPLAY_PATH/external-deps/include",
+					"GAMEPLAY_PATH/external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-macosx.plist";
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"GAMEPLAY_PATH/external-deps/bullet/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/lua/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/png/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/ogg/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/vorbis/lib/macosx/x64",
+					"GAMEPLAY_PATH/external-deps/libs/MacOS/x86_64",
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -588,20 +561,13 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					GAMEPLAY_PATH/gameplay/src,
 					GAMEPLAY_PATH/gameplay/src,
-					"GAMEPLAY_PATH/external-deps/bullet/include",
-					"GAMEPLAY_PATH/external-deps/lua/include",
-					"GAMEPLAY_PATH/external-deps/png/include",
-					"GAMEPLAY_PATH/external-deps/ogg/include",
-					"GAMEPLAY_PATH/external-deps/vorbis/include",
+					"GAMEPLAY_PATH/external-deps/include",
+					"GAMEPLAY_PATH/external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-macosx.plist";
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-macosx.plist";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"GAMEPLAY_PATH/external-deps/bullet/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/lua/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/png/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/ogg/lib/macosx/x64",
-					"GAMEPLAY_PATH/external-deps/vorbis/lib/macosx/x64",
+					"GAMEPLAY_PATH/external-deps/libs/MacOS/x86_64",
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -622,22 +588,14 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					"\"GAMEPLAY_PATH/gameplay/src\"",
 					"\"GAMEPLAY_PATH/gameplay/src\"",
-					"GAMEPLAY_PATH/external-deps/bullet/include",
-					"GAMEPLAY_PATH/external-deps/lua/include",
-					"GAMEPLAY_PATH/external-deps/png/include",
-					"GAMEPLAY_PATH/external-deps/ogg/include",
-					"GAMEPLAY_PATH/external-deps/vorbis/include",
+					"GAMEPLAY_PATH/external-deps/include",
+					"GAMEPLAY_PATH/external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-ios.plist";
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"\"GAMEPLAY_PATH/external-deps/bullet/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/lua/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/png/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/ogg/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/vorbis/lib/ios/$(CURRENT_ARCH)\"",
-				);
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
+				"OTHER_LDFLAGS[sdk=iphoneos*]" = "-LGAMEPLAY_PATH/external-deps/libs/iOS/arm";
+				"OTHER_LDFLAGS[sdk=iphonesimulator*]" = "-LGAMEPLAY_PATH/external-deps/libs/iOS/x86";
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
 				USER_HEADER_SEARCH_PATHS = "";
 				USER_HEADER_SEARCH_PATHS = "";
@@ -657,22 +615,12 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					"\"GAMEPLAY_PATH/gameplay/src\"",
 					"\"GAMEPLAY_PATH/gameplay/src\"",
-					"GAMEPLAY_PATH/external-deps/bullet/include",
-					"GAMEPLAY_PATH/external-deps/lua/include",
-					"GAMEPLAY_PATH/external-deps/png/include",
-					"GAMEPLAY_PATH/external-deps/ogg/include",
-					"GAMEPLAY_PATH/external-deps/vorbis/include",
+					"GAMEPLAY_PATH/external-deps/include",
+					"GAMEPLAY_PATH/external-deps/include/bullet",
 				);
 				);
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-ios.plist";
 				INFOPLIST_FILE = "TEMPLATE_PROJECT-ios.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
 				IPHONEOS_DEPLOYMENT_TARGET = 7.1;
-				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
-					"\"GAMEPLAY_PATH/external-deps/bullet/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/lua/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/png/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/ogg/lib/ios/$(CURRENT_ARCH)\"",
-					"\"GAMEPLAY_PATH/external-deps/vorbis/lib/ios/$(CURRENT_ARCH)\"",
-				);
+				LIBRARY_SEARCH_PATHS = "$(inherited)";
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
 				USER_HEADER_SEARCH_PATHS = "";
 				USER_HEADER_SEARCH_PATHS = "";

+ 11 - 11
tools/encoder/CMakeLists.txt

@@ -1,10 +1,8 @@
 
 
 include_directories( 
 include_directories( 
-    ${CMAKE_SOURCE_DIR}/external-deps/zlib/include
-    ${CMAKE_SOURCE_DIR}/external-deps/png/include
+    ${CMAKE_SOURCE_DIR}/external-deps/include
     ${CMAKE_SOURCE_DIR}/external-deps/freetype2/include
     ${CMAKE_SOURCE_DIR}/external-deps/freetype2/include
     /usr/include/fbxsdk
     /usr/include/fbxsdk
-    /usr/include
 )
 )
 
 
 if ( "${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG" )
 if ( "${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG" )
@@ -12,24 +10,26 @@ add_definitions(-D_DEBUG)
 endif()
 endif()
 add_definitions(-D__linux__ -DUSE_FBX)
 add_definitions(-D__linux__ -DUSE_FBX)
 
 
+IF(ARCH_DIR STREQUAL "x64")
+    set(ARCH_DEPS_DIR "x86_64")
+ELSE()
+    set(ARCH_DEPS_DIR "x86")
+ENDIF(ARCH_DIR STREQUAL "x64")
+
 link_directories(
 link_directories(
-    ${CMAKE_SOURCE_DIR}/external-deps/zlib/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/png/lib/linux/${ARCH_DIR}
+    ${CMAKE_SOURCE_DIR}/external-deps/libs/Linux/${ARCH_DEPS_DIR}
     ${CMAKE_SOURCE_DIR}/external-deps/freetype2/lib/linux/${ARCH_DIR}
     ${CMAKE_SOURCE_DIR}/external-deps/freetype2/lib/linux/${ARCH_DIR}
-    /usr/lib/gcc4/${ARCH_DIR}/release
-    /usr/lib
 )
 )
 
 
 set(APP_LIBRARIES
 set(APP_LIBRARIES
     dl
     dl
     fbxsdk
     fbxsdk
-    png
-    z   
+    gameplay-deps
     freetype
     freetype
     pthread
     pthread
-) 
+)
 
 
-add_definitions(-lstdc++ -ldl -lfbxsdk -lpng -lz -lfreetype -lpthread)
+add_definitions(-lstdc++ -ldl -lfbxsdk -lgameplay-deps -lfreetype -lpthread)
 
 
 set( APP_NAME gameplay-encoder )
 set( APP_NAME gameplay-encoder )
 
 

+ 12 - 12
tools/encoder/gameplay-encoder.vcxproj

@@ -197,15 +197,15 @@
       <WarningLevel>Level4</WarningLevel>
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=2;USE_FBX;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=2;USE_FBX;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/include;../../external-deps/freetype2/include;../../external-deps/png/include;../../external-deps/zlib/include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/include;../../external-deps/freetype2/include;../../external-deps/include</AdditionalIncludeDirectories>
       <DisableLanguageExtensions>
       <DisableLanguageExtensions>
       </DisableLanguageExtensions>
       </DisableLanguageExtensions>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/lib/vs2012/x86/debug;../../external-deps/freetype2/lib/windows/x86;../../external-deps/png/lib/windows/x86;../../external-deps/zlib/lib/windows/x86</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libfbxsdk-md.lib;freetype245.lib;libpng.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/lib/vs2012/x86/debug;../../external-deps/freetype2/lib/windows/x86;../../external-deps/libs/Windows/x86/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>libfbxsdk-md.lib;freetype245.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <IgnoreSpecificDefaultLibraries>MSVCRT</IgnoreSpecificDefaultLibraries>
       <IgnoreSpecificDefaultLibraries>MSVCRT</IgnoreSpecificDefaultLibraries>
     </Link>
     </Link>
     <PostBuildEvent>
     <PostBuildEvent>
@@ -220,15 +220,15 @@
       <WarningLevel>Level4</WarningLevel>
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>USE_FBX;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>USE_FBX;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/include;../../external-deps/freetype2/include;../../external-deps/png/include;../../external-deps/zlib/include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/include;../../external-deps/freetype2/include;../../external-deps/include</AdditionalIncludeDirectories>
       <DisableLanguageExtensions>
       <DisableLanguageExtensions>
       </DisableLanguageExtensions>
       </DisableLanguageExtensions>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/lib/vs2013/x64/debug;../../external-deps/freetype2/lib/windows/x64/Debug;../../external-deps/png/lib/windows/x64/Debug;../../external-deps/zlib/lib/windows/x64/Debug</AdditionalLibraryDirectories>
-      <AdditionalDependencies>libfbxsdk-md.lib;freetype.lib;png.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/lib/vs2013/x64/debug;../../external-deps/freetype2/lib/windows/x64/Debug;../../external-deps/libs/Windows/x86_64/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>libfbxsdk-md.lib;freetype.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <IgnoreSpecificDefaultLibraries>MSVCRT</IgnoreSpecificDefaultLibraries>
       <IgnoreSpecificDefaultLibraries>MSVCRT</IgnoreSpecificDefaultLibraries>
     </Link>
     </Link>
     <PostBuildEvent>
     <PostBuildEvent>
@@ -245,7 +245,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=0;USE_FBX;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=0;USE_FBX;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/include;../../external-deps/freetype2/include;../../external-deps/png/include;../../external-deps/zlib/include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/include;../../external-deps/freetype2/include;../../external-deps/include</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
@@ -253,7 +253,7 @@
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
       <AdditionalDependencies>libfbxsdk-md.lib;freetype245.lib;libpng.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalDependencies>libfbxsdk-md.lib;freetype245.lib;libpng.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/lib/vs2012/x86/release;../../external-deps/freetype2/lib/windows/x86;../../external-deps/png/lib/windows/x86;../../external-deps/zlib/lib/windows/x86</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2014.2.1/lib/vs2012/x86/release;../../external-deps/freetype2/lib/windows/x86;../../external-deps/libs/Windows/x86/Release</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>
       <IgnoreSpecificDefaultLibraries>
       </IgnoreSpecificDefaultLibraries>
       </IgnoreSpecificDefaultLibraries>
     </Link>
     </Link>
@@ -271,15 +271,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>USE_FBX;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>USE_FBX;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/include;../../external-deps/freetype2/include;../../external-deps/png/include;../../external-deps/zlib/include</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/include;../../external-deps/freetype2/include;../../external-deps/include</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>libfbxsdk-md.lib;freetype.lib;png.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/lib/vs2013/x64/release;../../external-deps/freetype2/lib/windows/x64/Release;../../external-deps/png/lib/windows/x64/Release;../../external-deps/zlib/lib/windows/x64/Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>libfbxsdk-md.lib;freetype.lib;gameplay-deps.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>C:/Program Files/Autodesk/FBX/FBX SDK/2015.1/lib/vs2013/x64/release;../../external-deps/freetype2/lib/windows/x64/Release;../../external-deps/libs/Windows/x86_64/Release</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>
       <IgnoreSpecificDefaultLibraries>
       </IgnoreSpecificDefaultLibraries>
       </IgnoreSpecificDefaultLibraries>
     </Link>
     </Link>
@@ -291,4 +291,4 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 25 - 45
tools/encoder/gameplay-encoder.xcodeproj/project.pbxproj

@@ -54,10 +54,9 @@
 		42C8EE3214724CD700E43619 /* Vertex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C8EE0614724CD700E43619 /* Vertex.cpp */; };
 		42C8EE3214724CD700E43619 /* Vertex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C8EE0614724CD700E43619 /* Vertex.cpp */; };
 		42C8EE3314724CD700E43619 /* VertexElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C8EE0814724CD700E43619 /* VertexElement.cpp */; };
 		42C8EE3314724CD700E43619 /* VertexElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42C8EE0814724CD700E43619 /* VertexElement.cpp */; };
 		42C8EE371472D7E700E43619 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C8EE361472D7E700E43619 /* libxml2.dylib */; };
 		42C8EE371472D7E700E43619 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C8EE361472D7E700E43619 /* libxml2.dylib */; };
-		42C8EE391472DAA300E43619 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 42C8EE381472DAA300E43619 /* libz.dylib */; };
 		42F7155C195CAF5E0010141C /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F7155B195CAF5E0010141C /* libfreetype.a */; };
 		42F7155C195CAF5E0010141C /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F7155B195CAF5E0010141C /* libfreetype.a */; };
-		42F7155E195CAF6B0010141C /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F7155D195CAF6B0010141C /* libpng.a */; };
-		42F71560195CAFC60010141C /* libfbxsdk-static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F7155F195CAFC60010141C /* libfbxsdk-static.a */; };
+		431412751A58762F007AAC9A /* libfbxsdk-static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 431412741A58762F007AAC9A /* libfbxsdk-static.a */; };
+		43BD156A1A581FBE003CA5FF /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43BD15691A581FBE003CA5FF /* libgameplay-deps.a */; };
 		B661733F16A61CE40083A307 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B661733D16A61CE40083A307 /* Image.cpp */; };
 		B661733F16A61CE40083A307 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B661733D16A61CE40083A307 /* Image.cpp */; };
 		B661734316A61CFA0083A307 /* NormalMapGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B661734116A61CFA0083A307 /* NormalMapGenerator.cpp */; };
 		B661734316A61CFA0083A307 /* NormalMapGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B661734116A61CFA0083A307 /* NormalMapGenerator.cpp */; };
 		C076C905174F6D2E00645678 /* Constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C076C8FF174F6D2E00645678 /* Constants.cpp */; };
 		C076C905174F6D2E00645678 /* Constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C076C8FF174F6D2E00645678 /* Constants.cpp */; };
@@ -171,10 +170,9 @@
 		42C8EE0814724CD700E43619 /* VertexElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VertexElement.cpp; path = src/VertexElement.cpp; sourceTree = SOURCE_ROOT; };
 		42C8EE0814724CD700E43619 /* VertexElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VertexElement.cpp; path = src/VertexElement.cpp; sourceTree = SOURCE_ROOT; };
 		42C8EE0914724CD700E43619 /* VertexElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VertexElement.h; path = src/VertexElement.h; sourceTree = SOURCE_ROOT; };
 		42C8EE0914724CD700E43619 /* VertexElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VertexElement.h; path = src/VertexElement.h; sourceTree = SOURCE_ROOT; };
 		42C8EE361472D7E700E43619 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; };
 		42C8EE361472D7E700E43619 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; };
-		42C8EE381472DAA300E43619 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
 		42F7155B195CAF5E0010141C /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = "../../external-deps/freetype2/lib/macosx/x64/libfreetype.a"; sourceTree = "<group>"; };
 		42F7155B195CAF5E0010141C /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = "../../external-deps/freetype2/lib/macosx/x64/libfreetype.a"; sourceTree = "<group>"; };
-		42F7155D195CAF6B0010141C /* libpng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng.a; path = "../../external-deps/png/lib/macosx/x64/libpng.a"; sourceTree = "<group>"; };
-		42F7155F195CAFC60010141C /* libfbxsdk-static.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libfbxsdk-static.a"; path = "../../../../../../Applications/Autodesk/FBX SDK/2015.1/lib/clang/release/libfbxsdk-static.a"; sourceTree = "<group>"; };
+		431412741A58762F007AAC9A /* libfbxsdk-static.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libfbxsdk-static.a"; path = "../../../../../Applications/Autodesk/FBX SDK/2015.1/lib/clang/release/libfbxsdk-static.a"; sourceTree = "<group>"; };
+		43BD15691A581FBE003CA5FF /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
 		B661733D16A61CE40083A307 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Image.cpp; path = src/Image.cpp; sourceTree = SOURCE_ROOT; };
 		B661733D16A61CE40083A307 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Image.cpp; path = src/Image.cpp; sourceTree = SOURCE_ROOT; };
 		B661733E16A61CE40083A307 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Image.h; path = src/Image.h; sourceTree = SOURCE_ROOT; };
 		B661733E16A61CE40083A307 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Image.h; path = src/Image.h; sourceTree = SOURCE_ROOT; };
 		B661734116A61CFA0083A307 /* NormalMapGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalMapGenerator.cpp; path = src/NormalMapGenerator.cpp; sourceTree = SOURCE_ROOT; };
 		B661734116A61CFA0083A307 /* NormalMapGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalMapGenerator.cpp; path = src/NormalMapGenerator.cpp; sourceTree = SOURCE_ROOT; };
@@ -195,16 +193,15 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				42C8EE391472DAA300E43619 /* libz.dylib in Frameworks */,
+				431412751A58762F007AAC9A /* libfbxsdk-static.a in Frameworks */,
+				43BD156A1A581FBE003CA5FF /* libgameplay-deps.a in Frameworks */,
 				42C8EE371472D7E700E43619 /* libxml2.dylib in Frameworks */,
 				42C8EE371472D7E700E43619 /* libxml2.dylib in Frameworks */,
 				4228A3FF1620A5A300955433 /* Cocoa.framework in Frameworks */,
 				4228A3FF1620A5A300955433 /* Cocoa.framework in Frameworks */,
 				422BF0901804C5230028D009 /* libstdc++.dylib in Frameworks */,
 				422BF0901804C5230028D009 /* libstdc++.dylib in Frameworks */,
 				422BF0881804C1E40028D009 /* libbz2.dylib in Frameworks */,
 				422BF0881804C1E40028D009 /* libbz2.dylib in Frameworks */,
-				42F71560195CAFC60010141C /* libfbxsdk-static.a in Frameworks */,
 				422BF0861804C16E0028D009 /* libm.dylib in Frameworks */,
 				422BF0861804C16E0028D009 /* libm.dylib in Frameworks */,
 				42F7155C195CAF5E0010141C /* libfreetype.a in Frameworks */,
 				42F7155C195CAF5E0010141C /* libfreetype.a in Frameworks */,
 				4228A4011620A5EC00955433 /* SystemConfiguration.framework in Frameworks */,
 				4228A4011620A5EC00955433 /* SystemConfiguration.framework in Frameworks */,
-				42F7155E195CAF6B0010141C /* libpng.a in Frameworks */,
 				4228A4031620A63F00955433 /* libiconv.dylib in Frameworks */,
 				4228A4031620A63F00955433 /* libiconv.dylib in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -215,6 +212,7 @@
 		4228A3FD1620A58000955433 /* Frameworks */ = {
 		4228A3FD1620A58000955433 /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				431412741A58762F007AAC9A /* libfbxsdk-static.a */,
 				4228A4001620A5EC00955433 /* SystemConfiguration.framework */,
 				4228A4001620A5EC00955433 /* SystemConfiguration.framework */,
 				4228A3FE1620A5A300955433 /* Cocoa.framework */,
 				4228A3FE1620A5A300955433 /* Cocoa.framework */,
 			);
 			);
@@ -347,13 +345,11 @@
 		427D4F44147DC9080076760E /* Libraries */ = {
 		427D4F44147DC9080076760E /* Libraries */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				42F7155F195CAFC60010141C /* libfbxsdk-static.a */,
 				42F7155B195CAF5E0010141C /* libfreetype.a */,
 				42F7155B195CAF5E0010141C /* libfreetype.a */,
-				42F7155D195CAF6B0010141C /* libpng.a */,
+				43BD15691A581FBE003CA5FF /* libgameplay-deps.a */,
 				422BF0851804C16E0028D009 /* libm.dylib */,
 				422BF0851804C16E0028D009 /* libm.dylib */,
 				422BF0871804C1E40028D009 /* libbz2.dylib */,
 				422BF0871804C1E40028D009 /* libbz2.dylib */,
 				422BF08F1804C5230028D009 /* libstdc++.dylib */,
 				422BF08F1804C5230028D009 /* libstdc++.dylib */,
-				42C8EE381472DAA300E43619 /* libz.dylib */,
 				42C8EE361472D7E700E43619 /* libxml2.dylib */,
 				42C8EE361472D7E700E43619 /* libxml2.dylib */,
 				4228A4021620A63F00955433 /* libiconv.dylib */,
 				4228A4021620A63F00955433 /* libiconv.dylib */,
 			);
 			);
@@ -386,7 +382,7 @@
 		42475CDD147208A000610A6A /* Project object */ = {
 		42475CDD147208A000610A6A /* Project object */ = {
 			isa = PBXProject;
 			isa = PBXProject;
 			attributes = {
 			attributes = {
-				LastUpgradeCheck = 0500;
+				LastUpgradeCheck = 0610;
 			};
 			};
 			buildConfigurationList = 42475CE0147208A000610A6A /* Build configuration list for PBXProject "gameplay-encoder" */;
 			buildConfigurationList = 42475CE0147208A000610A6A /* Build configuration list for PBXProject "gameplay-encoder" */;
 			compatibilityVersion = "Xcode 3.2";
 			compatibilityVersion = "Xcode 3.2";
@@ -466,7 +462,6 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD)";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++98";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++98";
 				CLANG_CXX_LIBRARY = "libstdc++";
 				CLANG_CXX_LIBRARY = "libstdc++";
 				CLANG_WARN_BOOL_CONVERSION = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
@@ -474,8 +469,10 @@
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = NO;
 				COPY_PHASE_STRIP = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
@@ -494,20 +491,13 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = (
-					"\"/Applications/Autodesk/FBX SDK/2015.1/include\"",
-					"../../external-deps/png/include",
-					"../../external-deps/freetype2/include",
-				);
+				HEADER_SEARCH_PATHS = "";
 				INFOPLIST_PREPROCESSOR_DEFINITIONS = "";
 				INFOPLIST_PREPROCESSOR_DEFINITIONS = "";
-				LIBRARY_SEARCH_PATHS = (
-					"\"/Applications/Autodesk/FBX SDK/2015.1/lib/clang/release\"",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/freetype2/lib/macosx/x64",
-				);
+				LIBRARY_SEARCH_PATHS = "";
 				MACH_O_TYPE = mh_execute;
 				MACH_O_TYPE = mh_execute;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				ONLY_ACTIVE_ARCH = YES;
 				ONLY_ACTIVE_ARCH = YES;
+				OTHER_LDFLAGS = "";
 				OTHER_TEST_FLAGS = "";
 				OTHER_TEST_FLAGS = "";
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				SDKROOT = macosx;
 				SDKROOT = macosx;
@@ -520,7 +510,6 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD)";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++98";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++98";
 				CLANG_CXX_LIBRARY = "libstdc++";
 				CLANG_CXX_LIBRARY = "libstdc++";
 				CLANG_WARN_BOOL_CONVERSION = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
@@ -528,9 +517,11 @@
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = YES;
 				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
 				GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO;
 				GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO;
@@ -543,19 +534,12 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = (
-					"\"/Applications/Autodesk/FBX SDK/2015.1/include\"",
-					"../../external-deps/png/include",
-					"../../external-deps/freetype2/include",
-				);
+				HEADER_SEARCH_PATHS = "";
 				INFOPLIST_PREPROCESSOR_DEFINITIONS = "";
 				INFOPLIST_PREPROCESSOR_DEFINITIONS = "";
-				LIBRARY_SEARCH_PATHS = (
-					"\"/Applications/Autodesk/FBX SDK/2015.1/lib/clang/release\"",
-					"../../external-deps/png/lib/macosx/x64",
-					"../../external-deps/freetype2/lib/macosx/x64",
-				);
+				LIBRARY_SEARCH_PATHS = "";
 				MACH_O_TYPE = mh_execute;
 				MACH_O_TYPE = mh_execute;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				OTHER_LDFLAGS = "";
 				OTHER_TEST_FLAGS = "";
 				OTHER_TEST_FLAGS = "";
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
 				SDKROOT = macosx;
 				SDKROOT = macosx;
@@ -567,7 +551,6 @@
 		42475CF1147208A100610A6A /* Debug */ = {
 		42475CF1147208A100610A6A /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
 				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
 				CLANG_CXX_LIBRARY = "compiler-default";
 				CLANG_CXX_LIBRARY = "compiler-default";
 				GCC_C_LANGUAGE_STANDARD = "compiler-default";
 				GCC_C_LANGUAGE_STANDARD = "compiler-default";
@@ -578,17 +561,16 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/png/include",
+					"../../external-deps/include",
 					"../../external-deps/freetype2/include",
 					"../../external-deps/freetype2/include",
 					"\"/Applications/Autodesk/FBX SDK/2015.1/include\"",
 					"\"/Applications/Autodesk/FBX SDK/2015.1/include\"",
 				);
 				);
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
+					"../../external-deps/libs/MacOS/x86_64",
 					"../../external-deps/freetype2/lib/macosx/x64",
 					"../../external-deps/freetype2/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"\"/Applications/Autodesk/FBX SDK/2015.1/lib/clang/debug\"",
 				);
 				);
 				MACH_O_TYPE = mh_execute;
 				MACH_O_TYPE = mh_execute;
+				OTHER_LDFLAGS = "-L$(SYSTEM_APPS_DIR)/Autodesk/FBX\\ SDK/2015.1/lib/clang/debug";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				VALID_ARCHS = x86_64;
 				VALID_ARCHS = x86_64;
 			};
 			};
@@ -597,7 +579,6 @@
 		42475CF2147208A100610A6A /* Release */ = {
 		42475CF2147208A100610A6A /* Release */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
 				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
 				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
 				CLANG_CXX_LIBRARY = "compiler-default";
 				CLANG_CXX_LIBRARY = "compiler-default";
 				GCC_C_LANGUAGE_STANDARD = "compiler-default";
 				GCC_C_LANGUAGE_STANDARD = "compiler-default";
@@ -608,17 +589,16 @@
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				GCC_WARN_UNUSED_VARIABLE = NO;
 				HEADER_SEARCH_PATHS = (
 				HEADER_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/png/include",
+					"../../external-deps/include",
 					"../../external-deps/freetype2/include",
 					"../../external-deps/freetype2/include",
 					"\"/Applications/Autodesk/FBX SDK/2015.1/include\"",
 					"\"/Applications/Autodesk/FBX SDK/2015.1/include\"",
 				);
 				);
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
-					"$(inherited)",
+					"../../external-deps/libs/MacOS/x86_64",
 					"../../external-deps/freetype2/lib/macosx/x64",
 					"../../external-deps/freetype2/lib/macosx/x64",
-					"../../external-deps/png/lib/macosx/x64",
-					"\"/Applications/Autodesk/FBX SDK/2015.1/lib/clang/release\"",
 				);
 				);
 				MACH_O_TYPE = mh_execute;
 				MACH_O_TYPE = mh_execute;
+				OTHER_LDFLAGS = "-L$(SYSTEM_APPS_DIR)/Autodesk/FBX\\ SDK/2015.1/lib/clang/release";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				VALID_ARCHS = x86_64;
 				VALID_ARCHS = x86_64;
 			};
 			};

+ 1 - 1
tools/encoder/gameplay-encoder.xcodeproj/xcshareddata/xcschemes/gameplay-encoder.xcscheme

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
 <Scheme
-   LastUpgradeVersion = "0510"
+   LastUpgradeVersion = "0610"
    version = "1.3">
    version = "1.3">
    <BuildAction
    <BuildAction
       parallelizeBuildables = "YES"
       parallelizeBuildables = "YES"

+ 10 - 9
tools/luagen/CMakeLists.txt

@@ -1,24 +1,25 @@
 
 
 include_directories( 
 include_directories( 
-    ${CMAKE_SOURCE_DIR}/external-deps/lua/include
-    ${CMAKE_SOURCE_DIR}/external-deps/tinyxml2/include
-    /usr/include
+    ${CMAKE_SOURCE_DIR}/external-deps/include
 )
 )
 
 
 add_definitions(-D__linux__)
 add_definitions(-D__linux__)
 
 
+IF(ARCH_DIR STREQUAL "x64")
+    set(ARCH_DEPS_DIR "x86_64")
+ELSE()
+    set(ARCH_DEPS_DIR "x86")
+ENDIF(ARCH_DIR STREQUAL "x64")
+
 link_directories(
 link_directories(
-    ${CMAKE_SOURCE_DIR}/external-deps/lua/lib/linux/${ARCH_DIR}
-    ${CMAKE_SOURCE_DIR}/external-deps/tinyxml2/lib/linux/${ARCH_DIR}
-    /usr/lib
+    ${CMAKE_SOURCE_DIR}/external-deps/libs/Linux/${ARCH_DEPS_DIR}
 )
 )
 
 
 set(APP_LIBRARIES
 set(APP_LIBRARIES
-    lua
-    tinyxml2
+    gameplay-deps
 ) 
 ) 
 
 
-add_definitions(-lstdc++ -llua -ltinyxml2)
+add_definitions(-std=c++11 -lstdc++ -lgameplay-deps)
 
 
 set( APP_NAME gameplay-luagen )
 set( APP_NAME gameplay-luagen )
 
 

+ 13 - 13
tools/luagen/gameplay-luagen.vcxproj

@@ -113,14 +113,14 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>GP_ERRORS_AS_WARNINGS;_ITERATOR_DEBUG_LEVEL=0;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>GP_ERRORS_AS_WARNINGS;_ITERATOR_DEBUG_LEVEL=0;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>../../external-deps/tinyxml2/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../external-deps/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>../../external-deps/tinyxml2/lib/windows/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>tinyxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../../external-deps/libs/Windows/x86/Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>gameplay-deps.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <PreBuildEvent>
     <PreBuildEvent>
       <Command>
       <Command>
@@ -142,14 +142,14 @@
       <WarningLevel>Level3</WarningLevel>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>GP_ERRORS_AS_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>GP_ERRORS_AS_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>../../external-deps/tinyxml2/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../external-deps/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>../../external-deps/tinyxml2/lib/windows/x64/Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>tinyxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../../external-deps/libs/Windows/x86_64/Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>gameplay-deps.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <PreBuildEvent>
     <PreBuildEvent>
       <Command>
       <Command>
@@ -173,15 +173,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>../../external-deps\tinyxml2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../external-deps/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalLibraryDirectories>../../external-deps\tinyxml2\lib\windows\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>tinyxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../../external-deps/libs/Windows/x86/Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>gameplay-deps.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <PreBuildEvent>
     <PreBuildEvent>
       <Command>
       <Command>
@@ -211,15 +211,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>../../external-deps\tinyxml2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../../external-deps/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     </ClCompile>
     <Link>
     <Link>
       <SubSystem>Console</SubSystem>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalLibraryDirectories>../../external-deps/tinyxml2/lib/windows/x64/Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>tinyxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../../external-deps/libs/Windows/x86_64/Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>gameplay-deps.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <PreBuildEvent>
     <PreBuildEvent>
       <Command>
       <Command>
@@ -243,4 +243,4 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
   </ImportGroup>
-</Project>
+</Project>

+ 13 - 13
tools/luagen/gameplay-luagen.xcodeproj/project.pbxproj

@@ -12,7 +12,7 @@
 		42B7F6FF15B06EFE002BB8C3 /* FunctionBinding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42B7F6F715B06EFE002BB8C3 /* FunctionBinding.cpp */; };
 		42B7F6FF15B06EFE002BB8C3 /* FunctionBinding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42B7F6F715B06EFE002BB8C3 /* FunctionBinding.cpp */; };
 		42B7F70015B06EFE002BB8C3 /* Generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42B7F6F915B06EFE002BB8C3 /* Generator.cpp */; };
 		42B7F70015B06EFE002BB8C3 /* Generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42B7F6F915B06EFE002BB8C3 /* Generator.cpp */; };
 		42B7F70115B06EFE002BB8C3 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42B7F6FB15B06EFE002BB8C3 /* main.cpp */; };
 		42B7F70115B06EFE002BB8C3 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42B7F6FB15B06EFE002BB8C3 /* main.cpp */; };
-		42F71562195CB2760010141C /* libtinyxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F71561195CB2760010141C /* libtinyxml2.a */; };
+		431412771A58CDD6007AAC9A /* libgameplay-deps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 431412761A58CDD6007AAC9A /* libgameplay-deps.a */; };
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXCopyFilesBuildPhase section */
 /* Begin PBXCopyFilesBuildPhase section */
@@ -41,7 +41,7 @@
 		42B7F6FA15B06EFE002BB8C3 /* Generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Generator.h; path = src/Generator.h; sourceTree = SOURCE_ROOT; };
 		42B7F6FA15B06EFE002BB8C3 /* Generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Generator.h; path = src/Generator.h; sourceTree = SOURCE_ROOT; };
 		42B7F6FB15B06EFE002BB8C3 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
 		42B7F6FB15B06EFE002BB8C3 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
 		42B7F6FC15B06EFE002BB8C3 /* TypedefBinding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TypedefBinding.h; path = src/TypedefBinding.h; sourceTree = SOURCE_ROOT; };
 		42B7F6FC15B06EFE002BB8C3 /* TypedefBinding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TypedefBinding.h; path = src/TypedefBinding.h; sourceTree = SOURCE_ROOT; };
-		42F71561195CB2760010141C /* libtinyxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtinyxml2.a; path = "../../external-deps/tinyxml2/lib/macosx/x64/libtinyxml2.a"; sourceTree = "<group>"; };
+		431412761A58CDD6007AAC9A /* libgameplay-deps.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgameplay-deps.a"; path = "../../external-deps/libs/MacOS/x86_64/libgameplay-deps.a"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 /* End PBXFileReference section */
 
 
 /* Begin PBXFrameworksBuildPhase section */
 /* Begin PBXFrameworksBuildPhase section */
@@ -49,7 +49,7 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				42F71562195CB2760010141C /* libtinyxml2.a in Frameworks */,
+				431412771A58CDD6007AAC9A /* libgameplay-deps.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -96,7 +96,7 @@
 		42B7F70B15B06F3A002BB8C3 /* Libraries */ = {
 		42B7F70B15B06F3A002BB8C3 /* Libraries */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				42F71561195CB2760010141C /* libtinyxml2.a */,
+				431412761A58CDD6007AAC9A /* libgameplay-deps.a */,
 			);
 			);
 			name = Libraries;
 			name = Libraries;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -127,7 +127,7 @@
 		42B7F6D715B06E85002BB8C3 /* Project object */ = {
 		42B7F6D715B06E85002BB8C3 /* Project object */ = {
 			isa = PBXProject;
 			isa = PBXProject;
 			attributes = {
 			attributes = {
-				LastUpgradeCheck = 0430;
+				LastUpgradeCheck = 0610;
 			};
 			};
 			buildConfigurationList = 42B7F6DA15B06E85002BB8C3 /* Build configuration list for PBXProject "gameplay-luagen" */;
 			buildConfigurationList = 42B7F6DA15B06E85002BB8C3 /* Build configuration list for PBXProject "gameplay-luagen" */;
 			compatibilityVersion = "Xcode 3.2";
 			compatibilityVersion = "Xcode 3.2";
@@ -166,7 +166,6 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
 				COPY_PHASE_STRIP = NO;
 				COPY_PHASE_STRIP = NO;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_DYNAMIC_NO_PIC = NO;
@@ -192,7 +191,6 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
 				COPY_PHASE_STRIP = YES;
 				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -210,11 +208,12 @@
 		42B7F6EB15B06E85002BB8C3 /* Debug */ = {
 		42B7F6EB15B06E85002BB8C3 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD)";
-				HEADER_SEARCH_PATHS = "../../external-deps/tinyxml2/include";
+				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				HEADER_SEARCH_PATHS = "../../external-deps/include";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/tinyxml2/lib/macosx/x64",
+					"../../external-deps/libs/MacOS/x86_64",
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -225,11 +224,12 @@
 		42B7F6EC15B06E85002BB8C3 /* Release */ = {
 		42B7F6EC15B06E85002BB8C3 /* Release */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD)";
-				HEADER_SEARCH_PATHS = "../../external-deps/tinyxml2/include";
+				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				HEADER_SEARCH_PATHS = "../../external-deps/include";
 				LIBRARY_SEARCH_PATHS = (
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
-					"../../external-deps/tinyxml2/lib/macosx/x64",
+					"../../external-deps/libs/MacOS/x86_64",
 				);
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				MACOSX_DEPLOYMENT_TARGET = 10.9;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";

+ 1 - 0
tools/luagen/gameplay-luagen.xcodeproj/xcshareddata/xcschemes/gameplay-luagen.xcscheme

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
 <Scheme
+   LastUpgradeVersion = "0610"
    version = "1.7">
    version = "1.7">
    <BuildAction
    <BuildAction
       parallelizeBuildables = "YES"
       parallelizeBuildables = "YES"