Explorar o código

Build Lua module libs as part of main build

Ivan Safrin %!s(int64=14) %!d(string=hai) anos
pai
achega
e60accd2bf

+ 4 - 2
Bindings/Contents/LUA/CMakeLists.txt

@@ -32,8 +32,10 @@ IF(POLYCODE_INSTALL_FRAMEWORK)
     
     
     # install headers
     # install headers
     INSTALL(FILES ${polycodeLua_HDRS} 
     INSTALL(FILES ${polycodeLua_HDRS} 
-        DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/include)
+        DESTINATION Bindings/Lua/Core/include)
 
 
+    INSTALL(DIRECTORY API DESTINATION Bindings/Lua/Core)
+	
     # install libraries
     # install libraries
 #    IF(POLYCODE_BUILD_SHARED)
 #    IF(POLYCODE_BUILD_SHARED)
 #        INSTALL(TARGETS PolycodeLua_dynamic
 #        INSTALL(TARGETS PolycodeLua_dynamic
@@ -42,7 +44,7 @@ IF(POLYCODE_INSTALL_FRAMEWORK)
     
     
 #    IF(POLYCODE_BUILD_STATIC)
 #    IF(POLYCODE_BUILD_STATIC)
      INSTALL(TARGETS PolycodeLua 
      INSTALL(TARGETS PolycodeLua 
-         DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/lib)
+         DESTINATION Bindings/Lua/Core/lib)
 #    ENDIF(POLYCODE_BUILD_STATIC)
 #    ENDIF(POLYCODE_BUILD_STATIC)
     
     
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 11 - 8
Bindings/Scripts/create_lua_library/CMakeLists.txt

@@ -6,13 +6,16 @@ IF(NOT PY_PLY)
 	MESSAGE(SEND_ERROR "The Python PLY (Python Lex-Yacc) module is required to generate Lua bindings.")
 	MESSAGE(SEND_ERROR "The Python PLY (Python Lex-Yacc) module is required to generate Lua bindings.")
 ENDIF(NOT PY_PLY)
 ENDIF(NOT PY_PLY)
 
 
-ADD_CUSTOM_TARGET(PolycodeLuaGenerate
-    ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Core/Contents/Include Polycode Polycode.h polycore Polycore ../../Contents/LUA/API ../../Contents/LUA/API/Polycode ../../Contents/LUA/Include ../../Contents/LUA/Source
-	${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/2DPhysics/Include/ Physics2D Polycode2DPhysics.h physics2d Physics2D ../../../Modules/Bindings/2DPhysics/API ../../../Modules/Bindings/2DPhysics/API/Physics2D ../../../Modules/Bindings/2DPhysics/Include ../../../Modules/Bindings/2DPhysics/Source
-	${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/3DPhysics/Include/ Physics3D Polycode3DPhysics.h physics3d Physics3D ../../../Modules/Bindings/3DPhysics/API ../../../Modules/Bindings/3DPhysics/API/Physics3D ../../../Modules/Bindings/3DPhysics/Include ../../../Modules/Bindings/3DPhysics/Source
-	DEPENDS Polycore
-	COMMENT "Generating Lua API"
-	WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
-	SOURCES create_lua_library.py
+ADD_CUSTOM_COMMAND(
+OUTPUT luaGenerateCmd
+COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Core/Contents/Include Polycode Polycode.h polycore Polycore ../../Contents/LUA/API ../../Contents/LUA/API/Polycode ../../Contents/LUA/Include ../../Contents/LUA/Source
+COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/2DPhysics/Include/ Physics2D Polycode2DPhysics.h physics2d Physics2D ../../../Modules/Bindings/2DPhysics/API ../../../Modules/Bindings/2DPhysics/API/Physics2D ../../../Modules/Bindings/2DPhysics/Include ../../../Modules/Bindings/2DPhysics/Source
+COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/3DPhysics/Include/ Physics3D Polycode3DPhysics.h physics3d Physics3D ../../../Modules/Bindings/3DPhysics/API ../../../Modules/Bindings/3DPhysics/API/Physics3D ../../../Modules/Bindings/3DPhysics/Include ../../../Modules/Bindings/3DPhysics/Source
+WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
 )
 )
 
 
+ADD_CUSTOM_TARGET(PolycodeLuaGenerate 
+	DEPENDS Polycore luaGenerateCmd
+	COMMENT "Generating Lua API"
+	SOURCES create_lua_library.py)
+

+ 3 - 0
CMakeLists.txt

@@ -61,6 +61,9 @@ ENDIF(POLYCODE_BUILD_BINDINGS)
 
 
 IF(POLYCODE_BUILD_MODULES)
 IF(POLYCODE_BUILD_MODULES)
     ADD_SUBDIRECTORY(Modules/Contents)
     ADD_SUBDIRECTORY(Modules/Contents)
+    IF(POLYCODE_BUILD_BINDINGS)
+        ADD_SUBDIRECTORY(Modules/Bindings)
+    ENDIF(POLYCODE_BUILD_BINDINGS)
 ENDIF(POLYCODE_BUILD_MODULES)
 ENDIF(POLYCODE_BUILD_MODULES)
 
 
 IF(POLYCODE_BUILD_PLAYER)
 IF(POLYCODE_BUILD_PLAYER)

+ 1 - 0
Modules/Bindings/2DPhysics/API/Physics2D/PhysicsScreenEvent.lua

@@ -6,6 +6,7 @@ class "PhysicsScreenEvent" (Event)
 
 
 EVENT_NEW_SHAPE_COLLISION = 0
 EVENT_NEW_SHAPE_COLLISION = 0
 EVENT_END_SHAPE_COLLISION = 1
 EVENT_END_SHAPE_COLLISION = 1
+EVENT_SOLVE_SHAPE_COLLISION = 3
 function PhysicsScreenEvent:__index__(name)
 function PhysicsScreenEvent:__index__(name)
 	if name == "localCollisionNormal" then
 	if name == "localCollisionNormal" then
 		retVal = Physics2D.PhysicsScreenEvent_get_localCollisionNormal(self.__ptr)
 		retVal = Physics2D.PhysicsScreenEvent_get_localCollisionNormal(self.__ptr)

+ 47 - 0
Modules/Bindings/2DPhysics/CMakeLists.txt

@@ -1,5 +1,14 @@
 INCLUDE(PolycodeIncludes)
 INCLUDE(PolycodeIncludes)
 
 
+FIND_PACKAGE(Lua51 REQUIRED)
+
+INCLUDE_DIRECTORIES(
+    ${LUA_INCLUDE_DIR}
+    ${BOX2D_INCLUDE_DIR}
+    ${Polycode_SOURCE_DIR}/Modules/Contents/2DPhysics/Include
+    Include
+)
+
 SET(polycode2DPhysics_SRCS
 SET(polycode2DPhysics_SRCS
     Source/Physics2DLUA.cpp
     Source/Physics2DLUA.cpp
 )
 )
@@ -10,3 +19,41 @@ SET(polycode2DPhysics_HDRS
 )
 )
 
 
 ADD_LIBRARY(Physics2D SHARED ${polycode2DPhysics_SRCS} ${polycode2DPhysics_HDRS})
 ADD_LIBRARY(Physics2D SHARED ${polycode2DPhysics_SRCS} ${polycode2DPhysics_HDRS})
+TARGET_LINK_LIBRARIES(Physics2D
+    Polycore
+    Polycode2DPhysics
+    ${BOX2D_LIBRARIES}
+    ${OPENGL_LIBRARIES}
+    ${OPENAL_LIBRARY}
+    ${PNG_LIBRARIES}
+    ${FREETYPE_LIBRARIES}
+    ${PHYSFS_LIBRARY}
+    ${VORBISFILE_LIBRARY}
+    ${LUA_LIBRARY})
+IF(APPLE)
+    TARGET_LINK_LIBRARIES(Physics2D "-framework Cocoa")
+    TARGET_LINK_LIBRARIES(Physics2D "-framework IOKit")
+ENDIF(APPLE)
+
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
+IF(POLYCODE_INSTALL_FRAMEWORK)
+    
+    # install headers
+    INSTALL(FILES ${polycode2DPhysics_HDRS} 
+        DESTINATION Bindings/Lua/Modules/2DPhysics/include)
+
+    INSTALL(DIRECTORY API DESTINATION Bindings/Lua/Modules/2DPhysics)
+	
+    # install libraries
+#    IF(POLYCODE_BUILD_SHARED)
+#        INSTALL(TARGETS PolycodeLua_dynamic
+#            DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/lib)
+#    ENDIF(POLYCODE_BUILD_SHARED)
+    
+#    IF(POLYCODE_BUILD_STATIC)
+     INSTALL(TARGETS Physics2D
+         DESTINATION Bindings/Lua/Modules/2DPhysics/lib)
+#    ENDIF(POLYCODE_BUILD_STATIC)
+    
+ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 8 - 56
Modules/Bindings/3DPhysics/API/Physics3D/CollisionScene.lua

@@ -36,10 +36,6 @@ function CollisionScene:Update()
 	local retVal =  Physics3D.CollisionScene_Update(self.__ptr)
 	local retVal =  Physics3D.CollisionScene_Update(self.__ptr)
 end
 end
 
 
-function CollisionScene:enableCollision(entity, val)
-	local retVal = Physics3D.CollisionScene_enableCollision(self.__ptr, entity.__ptr, val)
-end
-
 function CollisionScene:getCollisionEntityByObject(collisionObject)
 function CollisionScene:getCollisionEntityByObject(collisionObject)
 	local retVal = Physics3D.CollisionScene_getCollisionEntityByObject(self.__ptr, collisionObject.__ptr)
 	local retVal = Physics3D.CollisionScene_getCollisionEntityByObject(self.__ptr, collisionObject.__ptr)
 	if retVal == nil then return nil end
 	if retVal == nil then return nil end
@@ -64,6 +60,10 @@ function CollisionScene:getFirstEntityInRay(origin, dest)
 	end
 	end
 end
 end
 
 
+function CollisionScene:enableCollision(entity, val)
+	local retVal = Physics3D.CollisionScene_enableCollision(self.__ptr, entity.__ptr, val)
+end
+
 function CollisionScene:getCollisionByScreenEntity(ent)
 function CollisionScene:getCollisionByScreenEntity(ent)
 	local retVal = Physics3D.CollisionScene_getCollisionByScreenEntity(self.__ptr, ent.__ptr)
 	local retVal = Physics3D.CollisionScene_getCollisionByScreenEntity(self.__ptr, ent.__ptr)
 	if retVal == nil then return nil end
 	if retVal == nil then return nil end
@@ -112,60 +112,12 @@ function CollisionScene:testCollisionOnCollisionChild_Convex(cEnt1, cEnt2)
 	end
 	end
 end
 end
 
 
-function CollisionScene:testCollisionOnCollisionChild_RayTest(cEnt1, cEnt2)
-	local retVal = Physics3D.CollisionScene_testCollisionOnCollisionChild_RayTest(self.__ptr, cEnt1.__ptr, cEnt2.__ptr)
-	if retVal == nil then return nil end
-	if Polycore.__ptr_lookup[retVal] ~= nil then
-		return Polycore.__ptr_lookup[retVal]
-	else
-		Polycore.__ptr_lookup[retVal] = CollisionResult("__skip_ptr__")
-		Polycore.__ptr_lookup[retVal].__ptr = retVal
-		return Polycore.__ptr_lookup[retVal]
-	end
-end
-
-function CollisionScene:getCollisionNormalFromCollisionEnts(cEnt1, cEnt2)
-	local retVal = Physics3D.CollisionScene_getCollisionNormalFromCollisionEnts(self.__ptr, cEnt1.__ptr, cEnt2.__ptr)
-	if retVal == nil then return nil end
-	if Polycore.__ptr_lookup[retVal] ~= nil then
-		return Polycore.__ptr_lookup[retVal]
-	else
-		Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
-		Polycore.__ptr_lookup[retVal].__ptr = retVal
-		return Polycore.__ptr_lookup[retVal]
-	end
-end
-
-function CollisionScene:getCollisionNormal(ent1, ent2)
-	local retVal = Physics3D.CollisionScene_getCollisionNormal(self.__ptr, ent1.__ptr, ent2.__ptr)
-	if retVal == nil then return nil end
-	if Polycore.__ptr_lookup[retVal] ~= nil then
-		return Polycore.__ptr_lookup[retVal]
-	else
-		Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
-		Polycore.__ptr_lookup[retVal].__ptr = retVal
-		return Polycore.__ptr_lookup[retVal]
-	end
-end
-
-function CollisionScene:applyVelocity(entity, x, y, z)
-	local retVal = Physics3D.CollisionScene_applyVelocity(self.__ptr, entity.__ptr, x, y, z)
-end
-
-function CollisionScene:loadCollisionChild(entity, autoCollide, type)
-	local retVal = Physics3D.CollisionScene_loadCollisionChild(self.__ptr, entity.__ptr, autoCollide, type)
-end
-
-function CollisionScene:enableGravity(entity)
-	local retVal = Physics3D.CollisionScene_enableGravity(self.__ptr, entity.__ptr)
-end
-
 function CollisionScene:stopTrackingCollision(entity)
 function CollisionScene:stopTrackingCollision(entity)
 	local retVal = Physics3D.CollisionScene_stopTrackingCollision(self.__ptr, entity.__ptr)
 	local retVal = Physics3D.CollisionScene_stopTrackingCollision(self.__ptr, entity.__ptr)
 end
 end
 
 
-function CollisionScene:addCollisionChild(newEntity, autoCollide, type, group)
-	local retVal = Physics3D.CollisionScene_addCollisionChild(self.__ptr, newEntity.__ptr, autoCollide, type, group)
+function CollisionScene:addCollisionChild(newEntity, type, group)
+	local retVal = Physics3D.CollisionScene_addCollisionChild(self.__ptr, newEntity.__ptr, type, group)
 	if retVal == nil then return nil end
 	if retVal == nil then return nil end
 	if Polycore.__ptr_lookup[retVal] ~= nil then
 	if Polycore.__ptr_lookup[retVal] ~= nil then
 		return Polycore.__ptr_lookup[retVal]
 		return Polycore.__ptr_lookup[retVal]
@@ -176,8 +128,8 @@ function CollisionScene:addCollisionChild(newEntity, autoCollide, type, group)
 	end
 	end
 end
 end
 
 
-function CollisionScene:trackCollision(newEntity, autoCollide, type, group)
-	local retVal = Physics3D.CollisionScene_trackCollision(self.__ptr, newEntity.__ptr, autoCollide, type, group)
+function CollisionScene:trackCollision(newEntity, type, group)
+	local retVal = Physics3D.CollisionScene_trackCollision(self.__ptr, newEntity.__ptr, type, group)
 	if retVal == nil then return nil end
 	if retVal == nil then return nil end
 	if Polycore.__ptr_lookup[retVal] ~= nil then
 	if Polycore.__ptr_lookup[retVal] ~= nil then
 		return Polycore.__ptr_lookup[retVal]
 		return Polycore.__ptr_lookup[retVal]

+ 6 - 39
Modules/Bindings/3DPhysics/API/Physics3D/CollisionSceneEntity.lua

@@ -12,31 +12,7 @@ SHAPE_PLANE = 6
 SHAPE_CONE = 7
 SHAPE_CONE = 7
 SHAPE_CYLINDER = 8
 SHAPE_CYLINDER = 8
 function CollisionSceneEntity:__index__(name)
 function CollisionSceneEntity:__index__(name)
-	if name == "gravityEnabled" then
-		return Physics3D.CollisionSceneEntity_get_gravityEnabled(self.__ptr)
-	elseif name == "autoCollide" then
-		return Physics3D.CollisionSceneEntity_get_autoCollide(self.__ptr)
-	elseif name == "gravityVector" then
-		retVal = Physics3D.CollisionSceneEntity_get_gravityVector(self.__ptr)
-		if Polycore.__ptr_lookup[retVal] ~= nil then
-			return Polycore.__ptr_lookup[retVal]
-		else
-			Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
-			Polycore.__ptr_lookup[retVal].__ptr = retVal
-			return Polycore.__ptr_lookup[retVal]
-		end
-	elseif name == "gVelocity" then
-		retVal = Physics3D.CollisionSceneEntity_get_gVelocity(self.__ptr)
-		if Polycore.__ptr_lookup[retVal] ~= nil then
-			return Polycore.__ptr_lookup[retVal]
-		else
-			Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
-			Polycore.__ptr_lookup[retVal].__ptr = retVal
-			return Polycore.__ptr_lookup[retVal]
-		end
-	elseif name == "gravityStrength" then
-		return Physics3D.CollisionSceneEntity_get_gravityStrength(self.__ptr)
-	elseif name == "lastPosition" then
+	if name == "lastPosition" then
 		retVal = Physics3D.CollisionSceneEntity_get_lastPosition(self.__ptr)
 		retVal = Physics3D.CollisionSceneEntity_get_lastPosition(self.__ptr)
 		if Polycore.__ptr_lookup[retVal] ~= nil then
 		if Polycore.__ptr_lookup[retVal] ~= nil then
 			return Polycore.__ptr_lookup[retVal]
 			return Polycore.__ptr_lookup[retVal]
@@ -52,16 +28,7 @@ end
 
 
 
 
 function CollisionSceneEntity:__set_callback(name,value)
 function CollisionSceneEntity:__set_callback(name,value)
-	if name == "gravityEnabled" then
-		Physics3D.CollisionSceneEntity_set_gravityEnabled(self.__ptr, value)
-		return true
-	elseif name == "autoCollide" then
-		Physics3D.CollisionSceneEntity_set_autoCollide(self.__ptr, value)
-		return true
-	elseif name == "gravityStrength" then
-		Physics3D.CollisionSceneEntity_set_gravityStrength(self.__ptr, value)
-		return true
-	elseif name == "enabled" then
+	if name == "enabled" then
 		Physics3D.CollisionSceneEntity_set_enabled(self.__ptr, value)
 		Physics3D.CollisionSceneEntity_set_enabled(self.__ptr, value)
 		return true
 		return true
 	end
 	end
@@ -95,15 +62,15 @@ function CollisionSceneEntity:getSceneEntity()
 	end
 	end
 end
 end
 
 
-function CollisionSceneEntity:Update()
-	local retVal =  Physics3D.CollisionSceneEntity_Update(self.__ptr)
-end
-
 function CollisionSceneEntity:getType()
 function CollisionSceneEntity:getType()
 	local retVal =  Physics3D.CollisionSceneEntity_getType(self.__ptr)
 	local retVal =  Physics3D.CollisionSceneEntity_getType(self.__ptr)
 	return retVal
 	return retVal
 end
 end
 
 
+function CollisionSceneEntity:Update()
+	local retVal =  Physics3D.CollisionSceneEntity_Update(self.__ptr)
+end
+
 function CollisionSceneEntity:getConvexShape()
 function CollisionSceneEntity:getConvexShape()
 	local retVal =  Physics3D.CollisionSceneEntity_getConvexShape(self.__ptr)
 	local retVal =  Physics3D.CollisionSceneEntity_getConvexShape(self.__ptr)
 	if retVal == nil then return nil end
 	if retVal == nil then return nil end

+ 23 - 2
Modules/Bindings/3DPhysics/API/Physics3D/PhysicsCharacter.lua

@@ -28,6 +28,10 @@ function PhysicsCharacter:PhysicsCharacter(...)
 	end
 	end
 end
 end
 
 
+function PhysicsCharacter:Update()
+	local retVal =  Physics3D.PhysicsCharacter_Update(self.__ptr)
+end
+
 function PhysicsCharacter:setWalkDirection(direction)
 function PhysicsCharacter:setWalkDirection(direction)
 	local retVal = Physics3D.PhysicsCharacter_setWalkDirection(self.__ptr, direction.__ptr)
 	local retVal = Physics3D.PhysicsCharacter_setWalkDirection(self.__ptr, direction.__ptr)
 end
 end
@@ -36,8 +40,25 @@ function PhysicsCharacter:jump()
 	local retVal =  Physics3D.PhysicsCharacter_jump(self.__ptr)
 	local retVal =  Physics3D.PhysicsCharacter_jump(self.__ptr)
 end
 end
 
 
-function PhysicsCharacter:Update()
-	local retVal =  Physics3D.PhysicsCharacter_Update(self.__ptr)
+function PhysicsCharacter:warpCharacter(position)
+	local retVal = Physics3D.PhysicsCharacter_warpCharacter(self.__ptr, position.__ptr)
+end
+
+function PhysicsCharacter:setJumpSpeed(jumpSpeed)
+	local retVal = Physics3D.PhysicsCharacter_setJumpSpeed(self.__ptr, jumpSpeed)
+end
+
+function PhysicsCharacter:setFallSpeed(fallSpeed)
+	local retVal = Physics3D.PhysicsCharacter_setFallSpeed(self.__ptr, fallSpeed)
+end
+
+function PhysicsCharacter:setMaxJumpHeight(maxJumpHeight)
+	local retVal = Physics3D.PhysicsCharacter_setMaxJumpHeight(self.__ptr, maxJumpHeight)
+end
+
+function PhysicsCharacter:onGround()
+	local retVal =  Physics3D.PhysicsCharacter_onGround(self.__ptr)
+	return retVal
 end
 end
 
 
 
 

+ 4 - 4
Modules/Bindings/3DPhysics/API/Physics3D/PhysicsSceneEntity.lua

@@ -49,6 +49,10 @@ function PhysicsSceneEntity:PhysicsSceneEntity(...)
 	end
 	end
 end
 end
 
 
+function PhysicsSceneEntity:Update()
+	local retVal =  Physics3D.PhysicsSceneEntity_Update(self.__ptr)
+end
+
 function PhysicsSceneEntity:getSceneEntity()
 function PhysicsSceneEntity:getSceneEntity()
 	local retVal =  Physics3D.PhysicsSceneEntity_getSceneEntity(self.__ptr)
 	local retVal =  Physics3D.PhysicsSceneEntity_getSceneEntity(self.__ptr)
 	if retVal == nil then return nil end
 	if retVal == nil then return nil end
@@ -61,10 +65,6 @@ function PhysicsSceneEntity:getSceneEntity()
 	end
 	end
 end
 end
 
 
-function PhysicsSceneEntity:Update()
-	local retVal =  Physics3D.PhysicsSceneEntity_Update(self.__ptr)
-end
-
 function PhysicsSceneEntity:setFriction(friction)
 function PhysicsSceneEntity:setFriction(friction)
 	local retVal = Physics3D.PhysicsSceneEntity_setFriction(self.__ptr, friction)
 	local retVal = Physics3D.PhysicsSceneEntity_setFriction(self.__ptr, friction)
 end
 end

+ 2 - 2
Modules/Bindings/3DPhysics/API/Physics3D/PhysicsVehicle.lua

@@ -59,8 +59,8 @@ function PhysicsVehicle:setBrake(value, wheelIndex)
 	local retVal = Physics3D.PhysicsVehicle_setBrake(self.__ptr, value, wheelIndex)
 	local retVal = Physics3D.PhysicsVehicle_setBrake(self.__ptr, value, wheelIndex)
 end
 end
 
 
-function PhysicsVehicle:ResetVehicle()
-	local retVal =  Physics3D.PhysicsVehicle_ResetVehicle(self.__ptr)
+function PhysicsVehicle:warpVehicle(position)
+	local retVal = Physics3D.PhysicsVehicle_warpVehicle(self.__ptr, position.__ptr)
 end
 end
 
 
 function PhysicsVehicle:Update()
 function PhysicsVehicle:Update()

+ 59 - 0
Modules/Bindings/3DPhysics/CMakeLists.txt

@@ -0,0 +1,59 @@
+INCLUDE(PolycodeIncludes)
+
+FIND_PACKAGE(Lua51 REQUIRED)
+
+INCLUDE_DIRECTORIES(
+    ${LUA_INCLUDE_DIR}
+    ${BULLET_INCLUDE_DIR}
+    ${Polycode_SOURCE_DIR}/Modules/Contents/3DPhysics/Include
+    Include
+)
+
+SET(polycode3DPhysics_SRCS
+    Source/Physics3DLUA.cpp
+)
+
+SET(polycode3DPhysics_HDRS
+    Include/Physics3DLUA.h
+    Include/Physics3DLUAWrappers.h
+)
+
+ADD_LIBRARY(Physics3D SHARED ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
+TARGET_LINK_LIBRARIES(Physics3D
+    Polycore
+    Polycode3DPhysics
+    ${BULLET_LIBRARIES}
+    ${OPENGL_LIBRARIES}
+    ${OPENAL_LIBRARY}
+    ${PNG_LIBRARIES}
+    ${FREETYPE_LIBRARIES}
+    ${PHYSFS_LIBRARY}
+    ${VORBISFILE_LIBRARY}
+    ${LUA_LIBRARY})
+IF(APPLE)
+    TARGET_LINK_LIBRARIES(Physics3D "-framework Cocoa")
+    TARGET_LINK_LIBRARIES(Physics3D "-framework IOKit")
+ENDIF(APPLE)
+
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
+IF(POLYCODE_INSTALL_FRAMEWORK)
+    
+    # install headers
+    INSTALL(FILES ${polycode3DPhysics_HDRS} 
+        DESTINATION Bindings/Lua/Modules/3DPhysics/include)
+
+    INSTALL(DIRECTORY API DESTINATION Bindings/Lua/Modules/3DPhysics)
+	
+    # install libraries
+#    IF(POLYCODE_BUILD_SHARED)
+#        INSTALL(TARGETS PolycodeLua_dynamic
+#            DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/lib)
+#    ENDIF(POLYCODE_BUILD_SHARED)
+    
+#    IF(POLYCODE_BUILD_STATIC)
+     INSTALL(TARGETS Physics3D
+         DESTINATION Bindings/Lua/Modules/3DPhysics/lib)
+#    ENDIF(POLYCODE_BUILD_STATIC)
+    
+ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 89 - 197
Modules/Bindings/3DPhysics/Include/Physics3DLUAWrappers.h

@@ -29,17 +29,6 @@ static int Physics3D_CollisionScene_Update(lua_State *L) {
 	return 0;
 	return 0;
 }
 }
 
 
-static int Physics3D_CollisionScene_enableCollision(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TBOOLEAN);
-	bool val = lua_toboolean(L, 3);
-	inst->enableCollision(entity, val);
-	return 0;
-}
-
 static int Physics3D_CollisionScene_getCollisionEntityByObject(lua_State *L) {
 static int Physics3D_CollisionScene_getCollisionEntityByObject(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
@@ -67,6 +56,17 @@ static int Physics3D_CollisionScene_getFirstEntityInRay(lua_State *L) {
 	return 1;
 	return 1;
 }
 }
 
 
+static int Physics3D_CollisionScene_enableCollision(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
+	luaL_checktype(L, 3, LUA_TBOOLEAN);
+	bool val = lua_toboolean(L, 3);
+	inst->enableCollision(entity, val);
+	return 0;
+}
+
 static int Physics3D_CollisionScene_getCollisionByScreenEntity(lua_State *L) {
 static int Physics3D_CollisionScene_getCollisionByScreenEntity(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
@@ -120,90 +120,6 @@ static int Physics3D_CollisionScene_testCollisionOnCollisionChild_Convex(lua_Sta
 	return 1;
 	return 1;
 }
 }
 
 
-static int Physics3D_CollisionScene_testCollisionOnCollisionChild_RayTest(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity * cEnt1 = (CollisionSceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity * cEnt2 = (CollisionSceneEntity *)lua_topointer(L, 3);
-	CollisionResult *retInst = new CollisionResult();
-	*retInst = inst->testCollisionOnCollisionChild_RayTest(cEnt1, cEnt2);
-	lua_pushlightuserdata(L, retInst);
-	return 1;
-}
-
-static int Physics3D_CollisionScene_getCollisionNormalFromCollisionEnts(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity * cEnt1 = (CollisionSceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity * cEnt2 = (CollisionSceneEntity *)lua_topointer(L, 3);
-	Vector3 *retInst = new Vector3();
-	*retInst = inst->getCollisionNormalFromCollisionEnts(cEnt1, cEnt2);
-	lua_pushlightuserdata(L, retInst);
-	return 1;
-}
-
-static int Physics3D_CollisionScene_getCollisionNormal(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	SceneEntity * ent1 = (SceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TLIGHTUSERDATA);
-	SceneEntity * ent2 = (SceneEntity *)lua_topointer(L, 3);
-	Vector3 *retInst = new Vector3();
-	*retInst = inst->getCollisionNormal(ent1, ent2);
-	lua_pushlightuserdata(L, retInst);
-	return 1;
-}
-
-static int Physics3D_CollisionScene_applyVelocity(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TNUMBER);
-	Number x = lua_tonumber(L, 3);
-	luaL_checktype(L, 4, LUA_TNUMBER);
-	Number y = lua_tonumber(L, 4);
-	luaL_checktype(L, 5, LUA_TNUMBER);
-	Number z = lua_tonumber(L, 5);
-	inst->applyVelocity(entity, x, y, z);
-	return 0;
-}
-
-static int Physics3D_CollisionScene_loadCollisionChild(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
-	bool autoCollide;
-	if(lua_isboolean(L, 3)) {
-		autoCollide = lua_toboolean(L, 3);
-	} else {
-		autoCollide = false;
-	}
-	int type;
-	if(lua_isnumber(L, 4)) {
-		type = lua_tointeger(L, 4);
-	} else {
-		type = 0;
-	}
-	inst->loadCollisionChild(entity, autoCollide, type);
-	return 0;
-}
-
-static int Physics3D_CollisionScene_enableGravity(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
-	inst->enableGravity(entity);
-	return 0;
-}
-
 static int Physics3D_CollisionScene_stopTrackingCollision(lua_State *L) {
 static int Physics3D_CollisionScene_stopTrackingCollision(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
@@ -218,25 +134,19 @@ static int Physics3D_CollisionScene_addCollisionChild(lua_State *L) {
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
 	SceneEntity * newEntity = (SceneEntity *)lua_topointer(L, 2);
 	SceneEntity * newEntity = (SceneEntity *)lua_topointer(L, 2);
-	bool autoCollide;
-	if(lua_isboolean(L, 3)) {
-		autoCollide = lua_toboolean(L, 3);
-	} else {
-		autoCollide = false;
-	}
 	int type;
 	int type;
-	if(lua_isnumber(L, 4)) {
-		type = lua_tointeger(L, 4);
+	if(lua_isnumber(L, 3)) {
+		type = lua_tointeger(L, 3);
 	} else {
 	} else {
 		type = 0;
 		type = 0;
 	}
 	}
 	int group;
 	int group;
-	if(lua_isnumber(L, 5)) {
-		group = lua_tointeger(L, 5);
+	if(lua_isnumber(L, 4)) {
+		group = lua_tointeger(L, 4);
 	} else {
 	} else {
-		group = 0;
+		group = 1;
 	}
 	}
-	void *ptrRetVal = (void*)inst->addCollisionChild(newEntity, autoCollide, type, group);
+	void *ptrRetVal = (void*)inst->addCollisionChild(newEntity, type, group);
 	if(ptrRetVal == NULL) {
 	if(ptrRetVal == NULL) {
 		lua_pushnil(L);
 		lua_pushnil(L);
 	} else {
 	} else {
@@ -250,21 +160,19 @@ static int Physics3D_CollisionScene_trackCollision(lua_State *L) {
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	CollisionScene *inst = (CollisionScene*)lua_topointer(L, 1);
 	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
 	SceneEntity * newEntity = (SceneEntity *)lua_topointer(L, 2);
 	SceneEntity * newEntity = (SceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TBOOLEAN);
-	bool autoCollide = lua_toboolean(L, 3);
 	int type;
 	int type;
-	if(lua_isnumber(L, 4)) {
-		type = lua_tointeger(L, 4);
+	if(lua_isnumber(L, 3)) {
+		type = lua_tointeger(L, 3);
 	} else {
 	} else {
 		type = 0;
 		type = 0;
 	}
 	}
 	int group;
 	int group;
-	if(lua_isnumber(L, 5)) {
-		group = lua_tointeger(L, 5);
+	if(lua_isnumber(L, 4)) {
+		group = lua_tointeger(L, 4);
 	} else {
 	} else {
-		group = 0;
+		group = 1;
 	}
 	}
-	void *ptrRetVal = (void*)inst->trackCollision(newEntity, autoCollide, type, group);
+	void *ptrRetVal = (void*)inst->trackCollision(newEntity, type, group);
 	if(ptrRetVal == NULL) {
 	if(ptrRetVal == NULL) {
 		lua_pushnil(L);
 		lua_pushnil(L);
 	} else {
 	} else {
@@ -289,41 +197,6 @@ static int Physics3D_delete_CollisionScene(lua_State *L) {
 	return 0;
 	return 0;
 }
 }
 
 
-static int Physics3D_CollisionSceneEntity_get_gravityEnabled(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushboolean(L, inst->gravityEnabled);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_get_autoCollide(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushboolean(L, inst->autoCollide);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_get_gravityVector(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushlightuserdata(L, &inst->gravityVector);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_get_gVelocity(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushlightuserdata(L, &inst->gVelocity);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_get_gravityStrength(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushnumber(L, inst->gravityStrength);
-	return 1;
-}
-
 static int Physics3D_CollisionSceneEntity_get_lastPosition(lua_State *L) {
 static int Physics3D_CollisionSceneEntity_get_lastPosition(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
@@ -338,30 +211,6 @@ static int Physics3D_CollisionSceneEntity_get_enabled(lua_State *L) {
 	return 1;
 	return 1;
 }
 }
 
 
-static int Physics3D_CollisionSceneEntity_set_gravityEnabled(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	bool param = lua_toboolean(L, 2);
-	inst->gravityEnabled = param;
-	return 0;
-}
-
-static int Physics3D_CollisionSceneEntity_set_autoCollide(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	bool param = lua_toboolean(L, 2);
-	inst->autoCollide = param;
-	return 0;
-}
-
-static int Physics3D_CollisionSceneEntity_set_gravityStrength(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	Number param = lua_tonumber(L, 2);
-	inst->gravityStrength = param;
-	return 0;
-}
-
 static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
 static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
@@ -373,11 +222,9 @@ static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
 static int Physics3D_CollisionSceneEntity(lua_State *L) {
 static int Physics3D_CollisionSceneEntity(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 1);
 	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TBOOLEAN);
-	bool autoCollide = lua_toboolean(L, 2);
-	luaL_checktype(L, 3, LUA_TNUMBER);
-	int type = lua_tointeger(L, 3);
-	CollisionSceneEntity *inst = new CollisionSceneEntity(entity, autoCollide, type);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	int type = lua_tointeger(L, 2);
+	CollisionSceneEntity *inst = new CollisionSceneEntity(entity, type);
 	lua_pushlightuserdata(L, (void*)inst);
 	lua_pushlightuserdata(L, (void*)inst);
 	return 1;
 	return 1;
 }
 }
@@ -394,18 +241,18 @@ static int Physics3D_CollisionSceneEntity_getSceneEntity(lua_State *L) {
 	return 1;
 	return 1;
 }
 }
 
 
-static int Physics3D_CollisionSceneEntity_Update(lua_State *L) {
+static int Physics3D_CollisionSceneEntity_getType(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	inst->Update();
-	return 0;
+	lua_pushinteger(L, inst->getType());
+	return 1;
 }
 }
 
 
-static int Physics3D_CollisionSceneEntity_getType(lua_State *L) {
+static int Physics3D_CollisionSceneEntity_Update(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
 	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushinteger(L, inst->getType());
-	return 1;
+	inst->Update();
+	return 0;
 }
 }
 
 
 static int Physics3D_CollisionSceneEntity_getConvexShape(lua_State *L) {
 static int Physics3D_CollisionSceneEntity_getConvexShape(lua_State *L) {
@@ -632,6 +479,13 @@ static int Physics3D_PhysicsSceneEntity(lua_State *L) {
 	return 1;
 	return 1;
 }
 }
 
 
+static int Physics3D_PhysicsSceneEntity_Update(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
+	inst->Update();
+	return 0;
+}
+
 static int Physics3D_PhysicsSceneEntity_getSceneEntity(lua_State *L) {
 static int Physics3D_PhysicsSceneEntity_getSceneEntity(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
 	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
@@ -644,13 +498,6 @@ static int Physics3D_PhysicsSceneEntity_getSceneEntity(lua_State *L) {
 	return 1;
 	return 1;
 }
 }
 
 
-static int Physics3D_PhysicsSceneEntity_Update(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
-	inst->Update();
-	return 0;
-}
-
 static int Physics3D_PhysicsSceneEntity_setFriction(lua_State *L) {
 static int Physics3D_PhysicsSceneEntity_setFriction(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
 	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);
@@ -688,6 +535,13 @@ static int Physics3D_PhysicsCharacter(lua_State *L) {
 	return 1;
 	return 1;
 }
 }
 
 
+static int Physics3D_PhysicsCharacter_Update(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
+	inst->Update();
+	return 0;
+}
+
 static int Physics3D_PhysicsCharacter_setWalkDirection(lua_State *L) {
 static int Physics3D_PhysicsCharacter_setWalkDirection(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
 	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
@@ -704,13 +558,49 @@ static int Physics3D_PhysicsCharacter_jump(lua_State *L) {
 	return 0;
 	return 0;
 }
 }
 
 
-static int Physics3D_PhysicsCharacter_Update(lua_State *L) {
+static int Physics3D_PhysicsCharacter_warpCharacter(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
 	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
-	inst->Update();
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	Vector3 position = *(Vector3*)lua_topointer(L, 2);
+	inst->warpCharacter(position);
+	return 0;
+}
+
+static int Physics3D_PhysicsCharacter_setJumpSpeed(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number jumpSpeed = lua_tonumber(L, 2);
+	inst->setJumpSpeed(jumpSpeed);
+	return 0;
+}
+
+static int Physics3D_PhysicsCharacter_setFallSpeed(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number fallSpeed = lua_tonumber(L, 2);
+	inst->setFallSpeed(fallSpeed);
 	return 0;
 	return 0;
 }
 }
 
 
+static int Physics3D_PhysicsCharacter_setMaxJumpHeight(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number maxJumpHeight = lua_tonumber(L, 2);
+	inst->setMaxJumpHeight(maxJumpHeight);
+	return 0;
+}
+
+static int Physics3D_PhysicsCharacter_onGround(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
+	lua_pushboolean(L, inst->onGround());
+	return 1;
+}
+
 static int Physics3D_delete_PhysicsCharacter(lua_State *L) {
 static int Physics3D_delete_PhysicsCharacter(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
 	PhysicsCharacter *inst = (PhysicsCharacter*)lua_topointer(L, 1);
@@ -784,7 +674,7 @@ static int Physics3D_PhysicsVehicle_addWheel(lua_State *L) {
 	if(lua_isnumber(L, 13)) {
 	if(lua_isnumber(L, 13)) {
 		rollInfluence = lua_tonumber(L, 13);
 		rollInfluence = lua_tonumber(L, 13);
 	} else {
 	} else {
-		rollInfluence = 0.05f;
+		rollInfluence = 0.5f;
 	}
 	}
 	inst->addWheel(entity, connection, direction, axle, suspentionRestLength, wheelRadius, isFrontWheel, suspensionStiffness, suspensionDamping, suspensionCompression, wheelFriction, rollInfluence);
 	inst->addWheel(entity, connection, direction, axle, suspentionRestLength, wheelRadius, isFrontWheel, suspensionStiffness, suspensionDamping, suspensionCompression, wheelFriction, rollInfluence);
 	return 0;
 	return 0;
@@ -823,10 +713,12 @@ static int Physics3D_PhysicsVehicle_setBrake(lua_State *L) {
 	return 0;
 	return 0;
 }
 }
 
 
-static int Physics3D_PhysicsVehicle_ResetVehicle(lua_State *L) {
+static int Physics3D_PhysicsVehicle_warpVehicle(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsVehicle *inst = (PhysicsVehicle*)lua_topointer(L, 1);
 	PhysicsVehicle *inst = (PhysicsVehicle*)lua_topointer(L, 1);
-	inst->ResetVehicle();
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	Vector3 position = *(Vector3*)lua_topointer(L, 2);
+	inst->warpVehicle(position);
 	return 0;
 	return 0;
 }
 }
 
 

+ 10 - 19
Modules/Bindings/3DPhysics/Source/Physics3DLUA.cpp

@@ -7,39 +7,25 @@ CoreServices::setInstance(inst);
 	static const struct luaL_reg physics3dLib [] = {		{"CollisionScene", Physics3D_CollisionScene},
 	static const struct luaL_reg physics3dLib [] = {		{"CollisionScene", Physics3D_CollisionScene},
 		{"CollisionScene_initCollisionScene", Physics3D_CollisionScene_initCollisionScene},
 		{"CollisionScene_initCollisionScene", Physics3D_CollisionScene_initCollisionScene},
 		{"CollisionScene_Update", Physics3D_CollisionScene_Update},
 		{"CollisionScene_Update", Physics3D_CollisionScene_Update},
-		{"CollisionScene_enableCollision", Physics3D_CollisionScene_enableCollision},
 		{"CollisionScene_getCollisionEntityByObject", Physics3D_CollisionScene_getCollisionEntityByObject},
 		{"CollisionScene_getCollisionEntityByObject", Physics3D_CollisionScene_getCollisionEntityByObject},
 		{"CollisionScene_getFirstEntityInRay", Physics3D_CollisionScene_getFirstEntityInRay},
 		{"CollisionScene_getFirstEntityInRay", Physics3D_CollisionScene_getFirstEntityInRay},
+		{"CollisionScene_enableCollision", Physics3D_CollisionScene_enableCollision},
 		{"CollisionScene_getCollisionByScreenEntity", Physics3D_CollisionScene_getCollisionByScreenEntity},
 		{"CollisionScene_getCollisionByScreenEntity", Physics3D_CollisionScene_getCollisionByScreenEntity},
 		{"CollisionScene_testCollision", Physics3D_CollisionScene_testCollision},
 		{"CollisionScene_testCollision", Physics3D_CollisionScene_testCollision},
 		{"CollisionScene_testCollisionOnCollisionChild", Physics3D_CollisionScene_testCollisionOnCollisionChild},
 		{"CollisionScene_testCollisionOnCollisionChild", Physics3D_CollisionScene_testCollisionOnCollisionChild},
 		{"CollisionScene_testCollisionOnCollisionChild_Convex", Physics3D_CollisionScene_testCollisionOnCollisionChild_Convex},
 		{"CollisionScene_testCollisionOnCollisionChild_Convex", Physics3D_CollisionScene_testCollisionOnCollisionChild_Convex},
-		{"CollisionScene_testCollisionOnCollisionChild_RayTest", Physics3D_CollisionScene_testCollisionOnCollisionChild_RayTest},
-		{"CollisionScene_getCollisionNormalFromCollisionEnts", Physics3D_CollisionScene_getCollisionNormalFromCollisionEnts},
-		{"CollisionScene_getCollisionNormal", Physics3D_CollisionScene_getCollisionNormal},
-		{"CollisionScene_applyVelocity", Physics3D_CollisionScene_applyVelocity},
-		{"CollisionScene_loadCollisionChild", Physics3D_CollisionScene_loadCollisionChild},
-		{"CollisionScene_enableGravity", Physics3D_CollisionScene_enableGravity},
 		{"CollisionScene_stopTrackingCollision", Physics3D_CollisionScene_stopTrackingCollision},
 		{"CollisionScene_stopTrackingCollision", Physics3D_CollisionScene_stopTrackingCollision},
 		{"CollisionScene_addCollisionChild", Physics3D_CollisionScene_addCollisionChild},
 		{"CollisionScene_addCollisionChild", Physics3D_CollisionScene_addCollisionChild},
 		{"CollisionScene_trackCollision", Physics3D_CollisionScene_trackCollision},
 		{"CollisionScene_trackCollision", Physics3D_CollisionScene_trackCollision},
 		{"CollisionScene_adjustForCollision", Physics3D_CollisionScene_adjustForCollision},
 		{"CollisionScene_adjustForCollision", Physics3D_CollisionScene_adjustForCollision},
 		{"delete_CollisionScene", Physics3D_delete_CollisionScene},
 		{"delete_CollisionScene", Physics3D_delete_CollisionScene},
-		{"CollisionSceneEntity_get_gravityEnabled", Physics3D_CollisionSceneEntity_get_gravityEnabled},
-		{"CollisionSceneEntity_get_autoCollide", Physics3D_CollisionSceneEntity_get_autoCollide},
-		{"CollisionSceneEntity_get_gravityVector", Physics3D_CollisionSceneEntity_get_gravityVector},
-		{"CollisionSceneEntity_get_gVelocity", Physics3D_CollisionSceneEntity_get_gVelocity},
-		{"CollisionSceneEntity_get_gravityStrength", Physics3D_CollisionSceneEntity_get_gravityStrength},
 		{"CollisionSceneEntity_get_lastPosition", Physics3D_CollisionSceneEntity_get_lastPosition},
 		{"CollisionSceneEntity_get_lastPosition", Physics3D_CollisionSceneEntity_get_lastPosition},
 		{"CollisionSceneEntity_get_enabled", Physics3D_CollisionSceneEntity_get_enabled},
 		{"CollisionSceneEntity_get_enabled", Physics3D_CollisionSceneEntity_get_enabled},
-		{"CollisionSceneEntity_set_gravityEnabled", Physics3D_CollisionSceneEntity_set_gravityEnabled},
-		{"CollisionSceneEntity_set_autoCollide", Physics3D_CollisionSceneEntity_set_autoCollide},
-		{"CollisionSceneEntity_set_gravityStrength", Physics3D_CollisionSceneEntity_set_gravityStrength},
 		{"CollisionSceneEntity_set_enabled", Physics3D_CollisionSceneEntity_set_enabled},
 		{"CollisionSceneEntity_set_enabled", Physics3D_CollisionSceneEntity_set_enabled},
 		{"CollisionSceneEntity", Physics3D_CollisionSceneEntity},
 		{"CollisionSceneEntity", Physics3D_CollisionSceneEntity},
 		{"CollisionSceneEntity_getSceneEntity", Physics3D_CollisionSceneEntity_getSceneEntity},
 		{"CollisionSceneEntity_getSceneEntity", Physics3D_CollisionSceneEntity_getSceneEntity},
-		{"CollisionSceneEntity_Update", Physics3D_CollisionSceneEntity_Update},
 		{"CollisionSceneEntity_getType", Physics3D_CollisionSceneEntity_getType},
 		{"CollisionSceneEntity_getType", Physics3D_CollisionSceneEntity_getType},
+		{"CollisionSceneEntity_Update", Physics3D_CollisionSceneEntity_Update},
 		{"CollisionSceneEntity_getConvexShape", Physics3D_CollisionSceneEntity_getConvexShape},
 		{"CollisionSceneEntity_getConvexShape", Physics3D_CollisionSceneEntity_getConvexShape},
 		{"CollisionSceneEntity_createCollisionShape", Physics3D_CollisionSceneEntity_createCollisionShape},
 		{"CollisionSceneEntity_createCollisionShape", Physics3D_CollisionSceneEntity_createCollisionShape},
 		{"delete_CollisionSceneEntity", Physics3D_delete_CollisionSceneEntity},
 		{"delete_CollisionSceneEntity", Physics3D_delete_CollisionSceneEntity},
@@ -53,15 +39,20 @@ CoreServices::setInstance(inst);
 		{"PhysicsSceneEntity_get_enabled", Physics3D_PhysicsSceneEntity_get_enabled},
 		{"PhysicsSceneEntity_get_enabled", Physics3D_PhysicsSceneEntity_get_enabled},
 		{"PhysicsSceneEntity_set_enabled", Physics3D_PhysicsSceneEntity_set_enabled},
 		{"PhysicsSceneEntity_set_enabled", Physics3D_PhysicsSceneEntity_set_enabled},
 		{"PhysicsSceneEntity", Physics3D_PhysicsSceneEntity},
 		{"PhysicsSceneEntity", Physics3D_PhysicsSceneEntity},
-		{"PhysicsSceneEntity_getSceneEntity", Physics3D_PhysicsSceneEntity_getSceneEntity},
 		{"PhysicsSceneEntity_Update", Physics3D_PhysicsSceneEntity_Update},
 		{"PhysicsSceneEntity_Update", Physics3D_PhysicsSceneEntity_Update},
+		{"PhysicsSceneEntity_getSceneEntity", Physics3D_PhysicsSceneEntity_getSceneEntity},
 		{"PhysicsSceneEntity_setFriction", Physics3D_PhysicsSceneEntity_setFriction},
 		{"PhysicsSceneEntity_setFriction", Physics3D_PhysicsSceneEntity_setFriction},
 		{"PhysicsSceneEntity_getType", Physics3D_PhysicsSceneEntity_getType},
 		{"PhysicsSceneEntity_getType", Physics3D_PhysicsSceneEntity_getType},
 		{"delete_PhysicsSceneEntity", Physics3D_delete_PhysicsSceneEntity},
 		{"delete_PhysicsSceneEntity", Physics3D_delete_PhysicsSceneEntity},
 		{"PhysicsCharacter", Physics3D_PhysicsCharacter},
 		{"PhysicsCharacter", Physics3D_PhysicsCharacter},
+		{"PhysicsCharacter_Update", Physics3D_PhysicsCharacter_Update},
 		{"PhysicsCharacter_setWalkDirection", Physics3D_PhysicsCharacter_setWalkDirection},
 		{"PhysicsCharacter_setWalkDirection", Physics3D_PhysicsCharacter_setWalkDirection},
 		{"PhysicsCharacter_jump", Physics3D_PhysicsCharacter_jump},
 		{"PhysicsCharacter_jump", Physics3D_PhysicsCharacter_jump},
-		{"PhysicsCharacter_Update", Physics3D_PhysicsCharacter_Update},
+		{"PhysicsCharacter_warpCharacter", Physics3D_PhysicsCharacter_warpCharacter},
+		{"PhysicsCharacter_setJumpSpeed", Physics3D_PhysicsCharacter_setJumpSpeed},
+		{"PhysicsCharacter_setFallSpeed", Physics3D_PhysicsCharacter_setFallSpeed},
+		{"PhysicsCharacter_setMaxJumpHeight", Physics3D_PhysicsCharacter_setMaxJumpHeight},
+		{"PhysicsCharacter_onGround", Physics3D_PhysicsCharacter_onGround},
 		{"delete_PhysicsCharacter", Physics3D_delete_PhysicsCharacter},
 		{"delete_PhysicsCharacter", Physics3D_delete_PhysicsCharacter},
 		{"PhysicsVehicle_get_tuning", Physics3D_PhysicsVehicle_get_tuning},
 		{"PhysicsVehicle_get_tuning", Physics3D_PhysicsVehicle_get_tuning},
 		{"PhysicsVehicle", Physics3D_PhysicsVehicle},
 		{"PhysicsVehicle", Physics3D_PhysicsVehicle},
@@ -69,7 +60,7 @@ CoreServices::setInstance(inst);
 		{"PhysicsVehicle_applyEngineForce", Physics3D_PhysicsVehicle_applyEngineForce},
 		{"PhysicsVehicle_applyEngineForce", Physics3D_PhysicsVehicle_applyEngineForce},
 		{"PhysicsVehicle_setSteeringValue", Physics3D_PhysicsVehicle_setSteeringValue},
 		{"PhysicsVehicle_setSteeringValue", Physics3D_PhysicsVehicle_setSteeringValue},
 		{"PhysicsVehicle_setBrake", Physics3D_PhysicsVehicle_setBrake},
 		{"PhysicsVehicle_setBrake", Physics3D_PhysicsVehicle_setBrake},
-		{"PhysicsVehicle_ResetVehicle", Physics3D_PhysicsVehicle_ResetVehicle},
+		{"PhysicsVehicle_warpVehicle", Physics3D_PhysicsVehicle_warpVehicle},
 		{"PhysicsVehicle_Update", Physics3D_PhysicsVehicle_Update},
 		{"PhysicsVehicle_Update", Physics3D_PhysicsVehicle_Update},
 		{"delete_PhysicsVehicle", Physics3D_delete_PhysicsVehicle},
 		{"delete_PhysicsVehicle", Physics3D_delete_PhysicsVehicle},
 		{NULL, NULL}
 		{NULL, NULL}

+ 8 - 4
Player/Build/Mac OS X Standalone/StandalonePlayer/StandalonePlayer.xcodeproj/project.pbxproj

@@ -7,6 +7,7 @@
 	objects = {
 	objects = {
 
 
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
+		6D29041C13FE0C810099BF25 /* libPolycodeLua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D29041B13FE0C810099BF25 /* libPolycodeLua.a */; };
 		6D328DD813FDC65800EEF5E2 /* PolycodeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6D328DD713FDC65800EEF5E2 /* PolycodeView.mm */; };
 		6D328DD813FDC65800EEF5E2 /* PolycodeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6D328DD713FDC65800EEF5E2 /* PolycodeView.mm */; };
 		6D328DDA13FDC66300EEF5E2 /* PolycodePlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D328DD913FDC66300EEF5E2 /* PolycodePlayer.cpp */; };
 		6D328DDA13FDC66300EEF5E2 /* PolycodePlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D328DD913FDC66300EEF5E2 /* PolycodePlayer.cpp */; };
 		6D328DDC13FDC67400EEF5E2 /* libPolycore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DDB13FDC67400EEF5E2 /* libPolycore.a */; };
 		6D328DDC13FDC67400EEF5E2 /* libPolycore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DDB13FDC67400EEF5E2 /* libPolycore.a */; };
@@ -18,7 +19,6 @@
 		6D328DEA13FDC68400EEF5E2 /* libphysfs.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DE213FDC68400EEF5E2 /* libphysfs.a */; };
 		6D328DEA13FDC68400EEF5E2 /* libphysfs.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DE213FDC68400EEF5E2 /* libphysfs.a */; };
 		6D328DEB13FDC68400EEF5E2 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DE313FDC68400EEF5E2 /* libpng15.a */; };
 		6D328DEB13FDC68400EEF5E2 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DE313FDC68400EEF5E2 /* libpng15.a */; };
 		6D328DEC13FDC68400EEF5E2 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DE413FDC68400EEF5E2 /* libz.a */; };
 		6D328DEC13FDC68400EEF5E2 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DE413FDC68400EEF5E2 /* libz.a */; };
-		6D328DEE13FDC6DA00EEF5E2 /* libPolycodeLua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D328DED13FDC6DA00EEF5E2 /* libPolycodeLua.a */; };
 		6DE45BB9138DA66C000BDFBA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DE45BB8138DA66C000BDFBA /* Cocoa.framework */; };
 		6DE45BB9138DA66C000BDFBA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DE45BB8138DA66C000BDFBA /* Cocoa.framework */; };
 		6DE45BC3138DA66C000BDFBA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6DE45BC1138DA66C000BDFBA /* InfoPlist.strings */; };
 		6DE45BC3138DA66C000BDFBA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6DE45BC1138DA66C000BDFBA /* InfoPlist.strings */; };
 		6DE45BC6138DA66C000BDFBA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE45BC5138DA66C000BDFBA /* main.m */; };
 		6DE45BC6138DA66C000BDFBA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE45BC5138DA66C000BDFBA /* main.m */; };
@@ -32,6 +32,7 @@
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXFileReference section */
 /* Begin PBXFileReference section */
+		6D29041B13FE0C810099BF25 /* libPolycodeLua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycodeLua.a; path = ../../../../Release/Darwin/Framework/Bindings/Lua/Core/lib/libPolycodeLua.a; sourceTree = "<group>"; };
 		6D328DD613FDC65800EEF5E2 /* PolycodeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeView.h; path = ../../../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.h; sourceTree = "<group>"; };
 		6D328DD613FDC65800EEF5E2 /* PolycodeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeView.h; path = ../../../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.h; sourceTree = "<group>"; };
 		6D328DD713FDC65800EEF5E2 /* PolycodeView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PolycodeView.mm; path = ../../../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.mm; sourceTree = "<group>"; };
 		6D328DD713FDC65800EEF5E2 /* PolycodeView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PolycodeView.mm; path = ../../../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.mm; sourceTree = "<group>"; };
 		6D328DD913FDC66300EEF5E2 /* PolycodePlayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; fileEncoding = 4; name = PolycodePlayer.cpp; path = ../../../../Contents/Source/PolycodePlayer.cpp; sourceTree = "<group>"; };
 		6D328DD913FDC66300EEF5E2 /* PolycodePlayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; fileEncoding = 4; name = PolycodePlayer.cpp; path = ../../../../Contents/Source/PolycodePlayer.cpp; sourceTree = "<group>"; };
@@ -44,7 +45,6 @@
 		6D328DE213FDC68400EEF5E2 /* libphysfs.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libphysfs.a; path = ../../../../Release/Darwin/Framework/Core/Dependencies/lib/libphysfs.a; sourceTree = "<group>"; };
 		6D328DE213FDC68400EEF5E2 /* libphysfs.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libphysfs.a; path = ../../../../Release/Darwin/Framework/Core/Dependencies/lib/libphysfs.a; sourceTree = "<group>"; };
 		6D328DE313FDC68400EEF5E2 /* libpng15.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng15.a; path = ../../../../Release/Darwin/Framework/Core/Dependencies/lib/libpng15.a; sourceTree = "<group>"; };
 		6D328DE313FDC68400EEF5E2 /* libpng15.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng15.a; path = ../../../../Release/Darwin/Framework/Core/Dependencies/lib/libpng15.a; sourceTree = "<group>"; };
 		6D328DE413FDC68400EEF5E2 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = ../../../../Release/Darwin/Framework/Core/Dependencies/lib/libz.a; sourceTree = "<group>"; };
 		6D328DE413FDC68400EEF5E2 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = ../../../../Release/Darwin/Framework/Core/Dependencies/lib/libz.a; sourceTree = "<group>"; };
-		6D328DED13FDC6DA00EEF5E2 /* libPolycodeLua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycodeLua.a; path = ../../../../Release/Darwin/Framework/Modules/lib/libPolycodeLua.a; sourceTree = "<group>"; };
 		6DE45BB4138DA66C000BDFBA /* StandalonePlayer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StandalonePlayer.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		6DE45BB4138DA66C000BDFBA /* StandalonePlayer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StandalonePlayer.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		6DE45BB8138DA66C000BDFBA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 		6DE45BB8138DA66C000BDFBA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 		6DE45BBB138DA66C000BDFBA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
 		6DE45BBB138DA66C000BDFBA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
@@ -84,7 +84,7 @@
 				6D328DEA13FDC68400EEF5E2 /* libphysfs.a in Frameworks */,
 				6D328DEA13FDC68400EEF5E2 /* libphysfs.a in Frameworks */,
 				6D328DEB13FDC68400EEF5E2 /* libpng15.a in Frameworks */,
 				6D328DEB13FDC68400EEF5E2 /* libpng15.a in Frameworks */,
 				6D328DEC13FDC68400EEF5E2 /* libz.a in Frameworks */,
 				6D328DEC13FDC68400EEF5E2 /* libz.a in Frameworks */,
-				6D328DEE13FDC6DA00EEF5E2 /* libPolycodeLua.a in Frameworks */,
+				6D29041C13FE0C810099BF25 /* libPolycodeLua.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -111,7 +111,7 @@
 		6DE45BB7138DA66C000BDFBA /* Frameworks */ = {
 		6DE45BB7138DA66C000BDFBA /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				6D328DED13FDC6DA00EEF5E2 /* libPolycodeLua.a */,
+				6D29041B13FE0C810099BF25 /* libPolycodeLua.a */,
 				6D328DDD13FDC68400EEF5E2 /* libfreetype.a */,
 				6D328DDD13FDC68400EEF5E2 /* libfreetype.a */,
 				6D328DDE13FDC68400EEF5E2 /* liblibogg.a */,
 				6D328DDE13FDC68400EEF5E2 /* liblibogg.a */,
 				6D328DDF13FDC68400EEF5E2 /* liblibvorbis.a */,
 				6D328DDF13FDC68400EEF5E2 /* liblibvorbis.a */,
@@ -324,6 +324,7 @@
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
+					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Bindings/Lua/Core/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/include\"",
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
 				);
 				);
@@ -333,6 +334,7 @@
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/lib\"",
+					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Bindings/Lua/Core/lib\"",
 				);
 				);
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				WRAPPER_EXTENSION = app;
 				WRAPPER_EXTENSION = app;
@@ -352,6 +354,7 @@
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
+					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Bindings/Lua/Core/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/include\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/include\"",
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
 				);
 				);
@@ -361,6 +364,7 @@
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/lib\"",
 					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Modules/lib\"",
+					"\"$(SRCROOT)/../../../../Release/Darwin/Framework/Bindings/Lua/Core/lib\"",
 				);
 				);
 				ONLY_ACTIVE_ARCH = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 288 - 369
Player/Build/Mac OS X Standalone/StandalonePlayer/StandalonePlayer.xcodeproj/project.xcworkspace/xcuserdata/ivansafrin.xcuserdatad/UserInterfaceState.xcuserstate


+ 12 - 8
Player/Build/Mac OS X/Polycode Player.xcodeproj/project.pbxproj

@@ -9,8 +9,9 @@
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
 		1DDD582C0DA1D0D100B32029 /* MyDocument.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58280DA1D0D100B32029 /* MyDocument.xib */; };
 		1DDD582C0DA1D0D100B32029 /* MyDocument.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58280DA1D0D100B32029 /* MyDocument.xib */; };
 		1DDD582D0DA1D0D100B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD582A0DA1D0D100B32029 /* MainMenu.xib */; };
 		1DDD582D0DA1D0D100B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD582A0DA1D0D100B32029 /* MainMenu.xib */; };
-		6D1D88D613FDA926004918FC /* libPolycore_d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D1D88D513FDA926004918FC /* libPolycore_d.a */; };
 		6D1D88DE13FDA9B0004918FC /* PolycodePlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D1D88DD13FDA9B0004918FC /* PolycodePlayer.cpp */; };
 		6D1D88DE13FDA9B0004918FC /* PolycodePlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D1D88DD13FDA9B0004918FC /* PolycodePlayer.cpp */; };
+		6D29040F13FE09F80099BF25 /* libPolycore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D29040E13FE09F80099BF25 /* libPolycore.a */; };
+		6D29041113FE0A020099BF25 /* libPolycodeLua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D29041013FE0A020099BF25 /* libPolycodeLua.a */; };
 		6D34117B12B7D6ED0034FA9B /* PPlayerDocumentController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D34117A12B7D6ED0034FA9B /* PPlayerDocumentController.m */; };
 		6D34117B12B7D6ED0034FA9B /* PPlayerDocumentController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D34117A12B7D6ED0034FA9B /* PPlayerDocumentController.m */; };
 		6D34134112B7FCD00034FA9B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D34134012B7FCD00034FA9B /* IOKit.framework */; };
 		6D34134112B7FCD00034FA9B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D34134012B7FCD00034FA9B /* IOKit.framework */; };
 		6D96F92E13FD968F00A26C09 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F92613FD968F00A26C09 /* libfreetype.a */; };
 		6D96F92E13FD968F00A26C09 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F92613FD968F00A26C09 /* libfreetype.a */; };
@@ -22,7 +23,6 @@
 		6D96F93413FD968F00A26C09 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F92C13FD968F00A26C09 /* libpng15.a */; };
 		6D96F93413FD968F00A26C09 /* libpng15.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F92C13FD968F00A26C09 /* libpng15.a */; };
 		6D96F93513FD968F00A26C09 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F92D13FD968F00A26C09 /* libz.a */; };
 		6D96F93513FD968F00A26C09 /* libz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F92D13FD968F00A26C09 /* libz.a */; };
 		6D96F93A13FD96B600A26C09 /* PolycodeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6D96F93913FD96B600A26C09 /* PolycodeView.mm */; };
 		6D96F93A13FD96B600A26C09 /* PolycodeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6D96F93913FD96B600A26C09 /* PolycodeView.mm */; };
-		6D96F93C13FD974200A26C09 /* libPolycodeLua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D96F93B13FD974200A26C09 /* libPolycodeLua.a */; };
 		6DBAB08212B6EAAD00986D01 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DBAB07B12B6EAAD00986D01 /* OpenAL.framework */; };
 		6DBAB08212B6EAAD00986D01 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DBAB07B12B6EAAD00986D01 /* OpenAL.framework */; };
 		6DBAB08312B6EAAD00986D01 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DBAB07C12B6EAAD00986D01 /* OpenGL.framework */; };
 		6DBAB08312B6EAAD00986D01 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DBAB07C12B6EAAD00986D01 /* OpenGL.framework */; };
 		6DBAB0BF12B6ECCB00986D01 /* PolycodeCocoaPlayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6DBAB0BE12B6ECCB00986D01 /* PolycodeCocoaPlayer.mm */; };
 		6DBAB0BF12B6ECCB00986D01 /* PolycodeCocoaPlayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6DBAB0BE12B6ECCB00986D01 /* PolycodeCocoaPlayer.mm */; };
@@ -48,8 +48,9 @@
 		2A37F4BAFDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
 		2A37F4BAFDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
 		2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
 		2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
 		2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
 		2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
-		6D1D88D513FDA926004918FC /* libPolycore_d.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycore_d.a; path = ../../../Release/Darwin/Framework/Core/lib/libPolycore_d.a; sourceTree = "<group>"; };
 		6D1D88DD13FDA9B0004918FC /* PolycodePlayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; fileEncoding = 4; name = PolycodePlayer.cpp; path = ../../Contents/Source/PolycodePlayer.cpp; sourceTree = "<group>"; };
 		6D1D88DD13FDA9B0004918FC /* PolycodePlayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; fileEncoding = 4; name = PolycodePlayer.cpp; path = ../../Contents/Source/PolycodePlayer.cpp; sourceTree = "<group>"; };
+		6D29040E13FE09F80099BF25 /* libPolycore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycore.a; path = ../../../Release/Darwin/Framework/Core/lib/libPolycore.a; sourceTree = "<group>"; };
+		6D29041013FE0A020099BF25 /* libPolycodeLua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycodeLua.a; path = ../../../Release/Darwin/Framework/Bindings/Lua/Core/lib/libPolycodeLua.a; sourceTree = "<group>"; };
 		6D34117912B7D6ED0034FA9B /* PPlayerDocumentController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PPlayerDocumentController.h; sourceTree = "<group>"; };
 		6D34117912B7D6ED0034FA9B /* PPlayerDocumentController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PPlayerDocumentController.h; sourceTree = "<group>"; };
 		6D34117A12B7D6ED0034FA9B /* PPlayerDocumentController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PPlayerDocumentController.m; sourceTree = "<group>"; };
 		6D34117A12B7D6ED0034FA9B /* PPlayerDocumentController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PPlayerDocumentController.m; sourceTree = "<group>"; };
 		6D34134012B7FCD00034FA9B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
 		6D34134012B7FCD00034FA9B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
@@ -63,7 +64,6 @@
 		6D96F92D13FD968F00A26C09 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = ../../../Release/Darwin/Framework/Core/Dependencies/lib/libz.a; sourceTree = "<group>"; };
 		6D96F92D13FD968F00A26C09 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = ../../../Release/Darwin/Framework/Core/Dependencies/lib/libz.a; sourceTree = "<group>"; };
 		6D96F93813FD96B600A26C09 /* PolycodeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeView.h; path = ../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.h; sourceTree = "<group>"; };
 		6D96F93813FD96B600A26C09 /* PolycodeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeView.h; path = ../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.h; sourceTree = "<group>"; };
 		6D96F93913FD96B600A26C09 /* PolycodeView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PolycodeView.mm; path = ../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.mm; sourceTree = "<group>"; };
 		6D96F93913FD96B600A26C09 /* PolycodeView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PolycodeView.mm; path = ../../../Release/Darwin/Framework/Core/PolycodeView/PolycodeView.mm; sourceTree = "<group>"; };
-		6D96F93B13FD974200A26C09 /* libPolycodeLua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycodeLua.a; path = ../../../Release/Darwin/Framework/Modules/lib/libPolycodeLua.a; sourceTree = "<group>"; };
 		6DBAB07B12B6EAAD00986D01 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
 		6DBAB07B12B6EAAD00986D01 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
 		6DBAB07C12B6EAAD00986D01 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
 		6DBAB07C12B6EAAD00986D01 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
 		6DBAB0BD12B6ECC400986D01 /* PolycodeCocoaPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeCocoaPlayer.h; path = ../../Contents/Include/PolycodeCocoaPlayer.h; sourceTree = SOURCE_ROOT; };
 		6DBAB0BD12B6ECC400986D01 /* PolycodeCocoaPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeCocoaPlayer.h; path = ../../Contents/Include/PolycodeCocoaPlayer.h; sourceTree = SOURCE_ROOT; };
@@ -183,8 +183,8 @@
 				6D96F93313FD968F00A26C09 /* libphysfs.a in Frameworks */,
 				6D96F93313FD968F00A26C09 /* libphysfs.a in Frameworks */,
 				6D96F93413FD968F00A26C09 /* libpng15.a in Frameworks */,
 				6D96F93413FD968F00A26C09 /* libpng15.a in Frameworks */,
 				6D96F93513FD968F00A26C09 /* libz.a in Frameworks */,
 				6D96F93513FD968F00A26C09 /* libz.a in Frameworks */,
-				6D96F93C13FD974200A26C09 /* libPolycodeLua.a in Frameworks */,
-				6D1D88D613FDA926004918FC /* libPolycore_d.a in Frameworks */,
+				6D29040F13FE09F80099BF25 /* libPolycore.a in Frameworks */,
+				6D29041113FE0A020099BF25 /* libPolycodeLua.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -276,8 +276,8 @@
 		2A37F4C3FDCFA73011CA2CEA /* Frameworks */ = {
 		2A37F4C3FDCFA73011CA2CEA /* Frameworks */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				6D1D88D513FDA926004918FC /* libPolycore_d.a */,
-				6D96F93B13FD974200A26C09 /* libPolycodeLua.a */,
+				6D29040E13FE09F80099BF25 /* libPolycore.a */,
+				6D29041013FE0A020099BF25 /* libPolycodeLua.a */,
 				6D96F92613FD968F00A26C09 /* libfreetype.a */,
 				6D96F92613FD968F00A26C09 /* libfreetype.a */,
 				6D96F92713FD968F00A26C09 /* liblibogg.a */,
 				6D96F92713FD968F00A26C09 /* liblibogg.a */,
 				6D96F92813FD968F00A26C09 /* liblibvorbis.a */,
 				6D96F92813FD968F00A26C09 /* liblibvorbis.a */,
@@ -569,6 +569,7 @@
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
+					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Bindings/Lua/Core/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/Dependencies/include\"",
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
@@ -580,6 +581,7 @@
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/lib\"",
+					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Bindings/Lua/Core/lib\"",
 				);
 				);
 				PRODUCT_NAME = "Polycode Player";
 				PRODUCT_NAME = "Polycode Player";
 			};
 			};
@@ -597,6 +599,7 @@
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/include/lua5.1\"",
+					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Bindings/Lua/Core/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/Dependencies/include\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/Dependencies/include\"",
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
 					/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenAL.framework/Headers,
@@ -608,6 +611,7 @@
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/Dependencies/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Core/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/lib\"",
 					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Modules/lib\"",
+					"\"$(SRCROOT)/../../../Release/Darwin/Framework/Bindings/Lua/Core/lib\"",
 				);
 				);
 				ONLY_ACTIVE_ARCH = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				PRODUCT_NAME = "Polycode Player";
 				PRODUCT_NAME = "Polycode Player";

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 368 - 587
Player/Build/Mac OS X/Polycode Player.xcodeproj/project.xcworkspace/xcuserdata/ivansafrin.xcuserdatad/UserInterfaceState.xcuserstate


+ 0 - 4
Player/Contents/Source/PolycodePlayer.cpp

@@ -268,10 +268,6 @@ PolycodePlayer::PolycodePlayer(String fileName, bool knownArchive) : EventDispat
 
 
 void PolycodePlayer::loadFile(const char *fileName) {
 void PolycodePlayer::loadFile(const char *fileName) {
 	
 	
-	FILE *t = fopen("C:\\out.txt", "a");
-	fwrite(fileName, strlen(fileName), 1, t);
-	fclose(t);
-
 	String mainFile = "";
 	String mainFile = "";
 	String basePath = fileName;
 	String basePath = fileName;
 	
 	

+ 0 - 455
Player/Contents/Source/PolycodePlayer.mm

@@ -1,455 +0,0 @@
-/*
-Copyright (C) 2011 by Ivan Safrin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-#include "PolycodePlayer.h"
-
-extern "C" {	
-//	extern int luaopen_Tau(lua_State* L); // declare the wrapped module
-		//	loadFileIntoState(L, "Polycode Player.app/Contents/Resources/API/class.lua");
-	
-	int MyLoader(lua_State* pState)
-	{		
-		std::string module = lua_tostring(pState, 1);
-		module += ".lua";
-		
-		string defaultPath = "API/";
-		defaultPath.append(module);
-		
-		const char* fullPath = module.c_str();		
-		printf("Loading custom class: %s\n", module.c_str());
-		OSFILE *inFile = OSBasics::open(module, "r");	
-		
-		if(!inFile) {
-			inFile =  OSBasics::open(defaultPath, "r");	
-		}
-		
-		if(inFile) {
-			OSBasics::seek(inFile, 0, SEEK_END);	
-			long progsize = OSBasics::tell(inFile);
-			OSBasics::seek(inFile, 0, SEEK_SET);
-			char *buffer = (char*)malloc(progsize+1);
-			memset(buffer, 0, progsize+1);
-			OSBasics::read(buffer, progsize, 1, inFile);
-			luaL_loadbuffer(pState, (const char*)buffer, progsize, fullPath);		
-			//free(buffer);
-			OSBasics::close(inFile);	
-		} else {
-			std::string err = "\n\tError - Could could not find ";
-			err += module;
-			err += ".";			
-			lua_pushstring(pState, err.c_str());			
-		}
-		return 1;
-	}
-	
-	static int debugPrint(lua_State *L)
-	{
-		const char *msg = lua_tostring(L, 1);
-		PolycodeDebugEvent *event = new PolycodeDebugEvent();			
-		if(msg)
-			event->errorString = string(msg);
-		else
-			event->errorString = string("<invalid string>");
-		
-		Logger::log(">> %s\n", event->errorString.c_str());
-		PolycodePlayer *player = (PolycodePlayer*)CoreServices::getInstance()->getCore()->getUserPointer();
-		player->dispatchEvent(event, PolycodeDebugEvent::EVENT_PRINT);
-		return 0;
-	}	
-	
-	int PolycodePlayer::report (lua_State *L, int status) {
-		const char *msg;
-			
-		printf("Error status: %d\n", status);
-		if (status) {
-			msg = lua_tostring(L, -1);
-			if (msg == NULL) msg = "(error with no message)";
-			printf("status=%d, %s\n", status, msg);
-			lua_pop(L, 1);
-			
-			vector<String> info = String(msg).split(":");
-			
-			PolycodeDebugEvent *event = new PolycodeDebugEvent();			
-			if(info.size() > 2) {
-				event->errorString = info[2];
-				event->lineNumber = atoi(info[1].c_str());
-			} else {
-				event->errorString = string(msg);
-				event->lineNumber = 0;
-			}
-			dispatchEvent(event, PolycodeDebugEvent::EVENT_ERROR);
-			
-		}
-		return status;
-	}	
-	
-	void PolycodePlayer::runFile(String fileName) {
-		
-		printf("Running %s\n", fileName.c_str());
-		
-		L=lua_open();
-		
-		/*
-		 luaopen_base(L);	// load basic libs (eg. print)
-		 luaopen_math(L);
-		 luaopen_table(L);
-		 luaopen_package(L);
-		 */
-		luaL_openlibs(L);
-		
-		luaopen_Polycode(L);
-		//luaopen_Tau(L);	// load the wrappered module
-		
-		
-		lua_getfield(L, LUA_GLOBALSINDEX, "package");	// push "package"
-		lua_getfield(L, -1, "loaders");					// push "package.loaders"
-		lua_remove(L, -2);								// remove "package"
-		
-		// Count the number of entries in package.loaders.
-		// Table is now at index -2, since 'nil' is right on top of it.
-		// lua_next pushes a key and a value onto the stack.
-		int numLoaders = 0;
-		lua_pushnil(L);
-		while (lua_next(L, -2) != 0) 
-		{
-			lua_pop(L, 1);
-			numLoaders++;
-		}
-		
-		lua_pushinteger(L, numLoaders + 1);
-		lua_pushcfunction(L, MyLoader);
-		lua_rawset(L, -3);
-		
-		// Table is still on the stack.  Get rid of it now.
-		lua_pop(L, 1);		
-		
-		lua_register(L, "debugPrint", debugPrint);			
-		
-		lua_getfield(L, LUA_GLOBALSINDEX, "require");
-		lua_pushstring(L, "class");		
-		lua_call(L, 1, 0);
-
-		lua_getfield(L, LUA_GLOBALSINDEX, "require");
-		lua_pushstring(L, "Polycode");		
-		lua_call(L, 1, 0);		
-		
-		lua_getfield(L, LUA_GLOBALSINDEX, "require");
-		lua_pushstring(L, "defaults");		
-		lua_call(L, 1, 0);
-		
-		for(int i=0; i < loadedModules.size(); i++) {
-			String moduleName = loadedModules[i];
-			String moduleDestPath = String("/tmp/") + moduleName+ String(".dylib");
-			String moduleLoadCall = String("luaopen_") + moduleName;
-			lua_getfield(L, LUA_GLOBALSINDEX, "require");
-			lua_pushstring(L, moduleName.c_str());		
-			lua_call(L, 1, 0);
-
-			lua_getfield(L, LUA_GLOBALSINDEX, "package");
-			lua_getfield(L, -1, "loadlib");	
-			lua_pushstring(L, moduleDestPath.c_str());
-			lua_pushstring(L, moduleLoadCall.c_str());			
-			lua_call(L, 2, 1);
-			lua_setfield(L, LUA_GLOBALSINDEX, "f");			
-			
-			lua_getfield(L, LUA_GLOBALSINDEX, "f");
-			lua_getfield(L, LUA_GLOBALSINDEX, "__core__services__instance");						
-			lua_call(L, 1, 0);			
-			//local f = package.loadlib("/Users/ivansafrin/Desktop/Workshop/HelloPolycodeLUA/libPolycode2DPhysicsModule.dylib", "luaopen_Physics2D")
-			//f(Polycore.CoreServices_getInstance())
-					
-		}
-
-		String fileData = "";
-
-		OSFILE *inFile = OSBasics::open(fileName, "r");	
-		if(inFile) {
-			Logger::log("Opened entrypoint file...");
-			OSBasics::seek(inFile, 0, SEEK_END);	
-			long progsize = OSBasics::tell(inFile);
-			OSBasics::seek(inFile, 0, SEEK_SET);
-			char *buffer = (char*)malloc(progsize+1);
-			memset(buffer, 0, progsize+1);
-			OSBasics::read(buffer, progsize, 1, inFile);
-			fileData = String(buffer);		
-			free(buffer);
-			OSBasics::close(inFile);	
-		} else {
-			Logger::log("Error opening entrypoint file (%s)\n", fileName.c_str());
-		}
-		
-		
-		String postpend = ""; //" \nif update == nil then\nfunction update(e)\nend\nend\nwhile CORE:Update() do\nupdate(CORE:getElapsed())\nend";
-		
-		//String fullScript = prepend + prepend2 + prepend3 + fileData;// + postpend;
-		String fullScript = fileData;
-		//String fullScript = fileData;// + postpend;
-		
-		doneLoading = true;
-		
-		//lua_gc(L, LUA_GCSTOP, 0);
-		
-		
-/*
-		lua_pushliteral(L, "debug");
-		lua_gettable(L, LUA_GLOBALSINDEX);
-		lua_pushliteral(L, "traceback");  // correct fn name?
-		lua_gettable(L, -2);
-
-*/				
-		
-		CoreServices::getInstance()->getCore()->lockMutex(CoreServices::getRenderMutex());			
-		if (report(L, luaL_loadstring(L, fullScript.c_str()) || lua_pcall(L, 0,0,0))) {
-			
-			CoreServices::getInstance()->getCore()->unlockMutex(CoreServices::getRenderMutex());			
-			printf("CRASH LOADING SCRIPT FILE\n");
-//			exit(1);				
-		} else  {
-			CoreServices::getInstance()->getCore()->unlockMutex(CoreServices::getRenderMutex());			
-			if (report(L, luaL_loadstring(L, postpend.c_str()) || lua_pcall(L, 0,0,0))) {	
-//				exit(1);
-				printf("CRASH IN SCRIPT EXECUTION FILE\n");			
-			} else  {
-
-			}
-		}
-
-	}
-}
-
-PolycodeDebugEvent::PolycodeDebugEvent() : Event() {
-	
-}
-
-PolycodeDebugEvent::~PolycodeDebugEvent() {
-	
-}
-
-
-PolycodePlayer::PolycodePlayer(String fileName, bool knownArchive) : EventDispatcher()  {
-	fileToRun = fileName;
-	core = NULL;
-	doneLoading = false;	
-	_knownArchive = knownArchive;
-	xRes = 640;
-	yRes = 480;
-	aaLevel = 6;
-	fullScreen = false;	
-}
-
-void PolycodePlayer::loadFile(const char *fileName) {
-	
-	String nameString = fileName;
-	String ext = nameString.substr(nameString.length() - 8, nameString.length());
-	
-	printf("Loading %s\n", fileName);
-	
-	bool loadingArchive = false;
-	
-	String configPath;
-	
-	if(ext == ".polyapp" || _knownArchive) {
-		ResourceManager *rman = CoreServices::getInstance()->getResourceManager();
-		rman->addArchive(nameString);
-		configPath = "runinfo.polyrun";
-		loadingArchive = true;
-		Logger::log("Reading configuration from POLYAPP file... (%s)\n", nameString.c_str());
-	} else {
-		ResourceManager *rman = CoreServices::getInstance()->getResourceManager();
-		
-		String fileDir = "";
-		vector<String> bits = String(fileName).split("/");
-		for(int i=0; i < bits.size()-1; i++) {
-			fileDir += "/"+bits[i];
-		}
-		
-		rman->addArchive(fileDir);
-		configPath = fileName;
-		Logger::log("Reading configuration from .polycode file directly... (%s)\n", fileName);		
-	}
-	
-	String mainFile = "";
-	String basePath = fileName;
-	
-	Number red = 0.2f;
-	Number green = 0.2f;
-	Number blue = 0.2f;
-	
-	frameRate = 60;
-	
-	Object configFile;
-	if(!configFile.loadFromXML(configPath)) {
-		Logger::log("Error loading config file\n");
-	} else {		
-		
-		if(configFile.root["entryPoint"]) {
-			mainFile = configFile.root["entryPoint"]->stringVal;
-		}		
-		if(configFile.root["defaultWidth"]) {
-			xRes = configFile.root["defaultWidth"]->intVal;
-		}		
-		if(configFile.root["defaultHeight"]) {
-			yRes = configFile.root["defaultHeight"]->intVal;
-		}		
-		if(configFile.root["frameRate"]) {
-			frameRate = configFile.root["frameRate"]->intVal;
-		}		
-		if(configFile.root["antiAliasingLevel"]) {
-			aaLevel = configFile.root["antiAliasingLevel"]->intVal;
-		}		
-		if(configFile.root["fullScreen"]) {
-			fullScreen = configFile.root["fullScreen"]->boolVal;
-		}		
-		if(configFile.root["backgroundColor"]) {
-			ObjectEntry *color = configFile.root["backgroundColor"];
-			if((*color)["red"] && (*color)["green"] && (*color)["blue"]) {
-				red = (*color)["red"]->NumberVal;
-				green = (*color)["green"]->NumberVal;
-				blue = (*color)["blue"]->NumberVal;
-				
-			}			
-		}
-		ObjectEntry *modules = configFile.root["modules"];			
-		if(modules) {
-			for(int i=0; i < modules->length; i++) {			
-				String moduleName = (*modules)[i]->stringVal;
-				printf("Loading module: %s\n", moduleName.c_str());				
-				String moduleFileName = String("__lib/osx/") + moduleName+ String(".dylib");
-				String moduleDestPath = String("/tmp/") + moduleName+ String(".dylib");
-				
-				OSFILE *inFile = OSBasics::open(moduleFileName, "r");	
-				if(inFile) {
-					OSBasics::seek(inFile, 0, SEEK_END);	
-					long progsize = OSBasics::tell(inFile);
-					OSBasics::seek(inFile, 0, SEEK_SET);
-					char *buffer = (char*)malloc(progsize+1);
-					memset(buffer, 0, progsize+1);
-					OSBasics::read(buffer, progsize, 1, inFile);
-					
-					OSFILE *outFile = OSBasics::open(moduleDestPath, "w");						
-					OSBasics::write(buffer, progsize, 1, outFile);
-					OSBasics::close(outFile);	
-					
-					free(buffer);
-					OSBasics::close(inFile);	
-					
-					loadedModules.push_back(moduleName);
-				} else {
-					printf("Error loading module: %s\n", (*modules)[i]->stringVal.c_str());									
-				}
-			}
-
-		}			
-	}
-	
-	Logger::log("Mainfile: %s\n", mainFile.c_str());
-	
-	PolycodeDebugEvent *event = new PolycodeDebugEvent();			
-	event->xRes = xRes;
-	event->yRes = yRes;	
-	
-	createCore();
-	
-	Logger::log("Core created...\n");
-	
-	CoreServices::getInstance()->getResourceManager()->addArchive("default.pak");
-	CoreServices::getInstance()->getResourceManager()->addDirResource("default");
-	
-	
-	//CoreServices::getInstance()->installModule(new GLSLShaderModule());	
-	
-	
-	if(configFile.root["packedItems"]) {
-		ObjectEntry *packed = configFile.root["packedItems"];
-		if(packed) {
-			for(int i=0; i < packed->length; i++) {
-				ObjectEntry *entryIsResource = (*(*packed)[i])["isResource"];				
-				ObjectEntry *entryPath = (*(*packed)[i])["path"];
-				if(entryIsResource && entryPath) {
-					if(entryIsResource->boolVal == true) {
-						CoreServices::getInstance()->getResourceManager()->addDirResource(entryPath->stringVal, true);
-					}
-				}
-			}
-		}
-	}
-	
-	
-	core->setUserPointer(this);
-	//core->addEventListener(this, Core::EVENT_CORE_RESIZE);
-	core->setVideoMode(xRes, yRes, fullScreen, aaLevel);
-		
-//	dispatchEvent(event, PolycodeDebugEvent::EVENT_RESIZE);		
-	
-	CoreServices::getInstance()->getRenderer()->setClearColor(red, green, blue);
-//	CoreServices::getInstance()->getRenderer()->setClearColor(1,0,0);
-	srand(core->getTicks());
-	
-	String fullPath;
-	
-	if(loadingArchive) {
-		fullPath = mainFile;
-	} else {
-		int lindex = basePath.find_last_of("/");
-		fullPath = basePath.substr(0, lindex);	
-		fullPath += mainFile;	
-		Logger::log(fullPath.c_str());
-	}
-	
-	runFile(fullPath);
-}
-
-void PolycodePlayer::runPlayer() {
-	Logger::log("Running player\n");	
-	loadFile(fileToRun.c_str());
-}
-
-PolycodePlayer::~PolycodePlayer() {
-	printf("deleting core...\n");
-	delete core;
-	PolycodeDebugEvent *event = new PolycodeDebugEvent();			
-	dispatchEvent(event, PolycodeDebugEvent::EVENT_REMOVE);	
-//	lua_close(L);
-}
-
-void PolycodePlayer::handleEvent(Event *event) {	
-	if(event->getDispatcher() == core) {
-		switch(event->getEventCode()) {
-			case Core::EVENT_CORE_RESIZE:
-				PolycodeDebugEvent *event = new PolycodeDebugEvent();			
-				event->xRes = core->getXRes();
-				event->yRes = core->getYRes();				
-				dispatchEvent(event, PolycodeDebugEvent::EVENT_RESIZE);								
-			break;		
-		}
-	}
-}
-
-
-bool PolycodePlayer::Update() {
-	
-	lua_getfield(L, LUA_GLOBALSINDEX, "Update");
-	lua_pushnumber(L, core->getElapsed());
-	lua_call(L, 1, 0);
-	
-	return core->Update();
-}

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio