2
0
Эх сурвалжийг харах

Regenerated Lua bindings.

Cameron Hart 14 жил өмнө
parent
commit
a55085ac01

+ 72 - 72
Bindings/Contents/LUA/API/Polycode.lua

@@ -1,87 +1,87 @@
-require "Polycode/OSFILE"
-require "Polycode/OSFileEntry"
-require "Polycode/OSBasics"
-require "Polycode/BezierCurve"
-require "Polycode/Bone"
-require "Polycode/Camera"
-require "Polycode/Color"
-require "Polycode/Config"
-require "Polycode/PolycodeViewBase"
-require "Polycode/Core"
-require "Polycode/CoreInput"
-require "Polycode/CoreServices"
-require "Polycode/Cubemap"
-require "Polycode/Data"
-require "Polycode/Entity"
+require "Polycode/SkeletonAnimation"
+require "Polycode/BoneTrack"
+require "Polycode/Skeleton"
+require "Polycode/TweenManager"
 require "Polycode/Event"
-require "Polycode/EventDispatcher"
 require "Polycode/EventHandler"
-require "Polycode/FixedShader"
-require "Polycode/FixedShaderBinding"
-require "Polycode/Font"
-require "Polycode/FontManager"
-require "Polycode/Image"
-require "Polycode/InputEvent"
-require "Polycode/Label"
-require "Polycode/Logger"
-require "Polycode/Material"
-require "Polycode/MaterialManager"
-require "Polycode/Matrix4"
-require "Polycode/Mesh"
-require "Polycode/VertexBuffer"
-require "Polycode/PolycodeModule"
-require "Polycode/ObjectEntry"
 require "Polycode/Particle"
-require "Polycode/ScreenParticleEmitter"
-require "Polycode/SceneParticleEmitter"
-require "Polycode/ParticleEmitter"
-require "Polycode/Perlin"
-require "Polycode/Polygon"
-require "Polycode/Quaternion"
-require "Polycode/QuaternionCurve"
-require "Polycode/Rectangle"
+require "Polycode/FontManager"
 require "Polycode/Renderer"
-require "Polycode/Resource"
-require "Polycode/ResourceManager"
-require "Polycode/Scene"
 require "Polycode/SceneEntity"
-require "Polycode/SceneLabel"
-require "Polycode/SceneLight"
-require "Polycode/SceneLine"
-require "Polycode/SceneManager"
-require "Polycode/SceneMesh"
+require "Polycode/Texture"
+require "Polycode/Vector3"
+require "Polycode/Scene"
+require "Polycode/Screen"
+require "Polycode/Vertex"
+require "Polycode/ScreenImage"
+require "Polycode/ResourceManager"
+require "Polycode/ScreenMesh"
 require "Polycode/ScenePrimitive"
-require "Polycode/SceneRenderTexture"
 require "Polycode/SceneSound"
 require "Polycode/SceneSoundListener"
-require "Polycode/Screen"
-require "Polycode/ScreenCurve"
-require "Polycode/ScreenEntity"
+require "Polycode/Config"
+require "Polycode/Tween"
+require "Polycode/BezierPathTween"
+require "Polycode/QuaternionTween"
+require "Polycode/QuaternionCurve"
+require "Polycode/SceneManager"
+require "Polycode/Matrix4"
+require "Polycode/SceneLine"
 require "Polycode/ScreenEvent"
-require "Polycode/ScreenImage"
+require "Polycode/Bone"
+require "Polycode/SceneMesh"
+require "Polycode/Sound"
+require "Polycode/Shader"
+require "Polycode/ShaderBinding"
+require "Polycode/ObjectEntry"
+require "Polycode/ScreenManager"
+require "Polycode/Vector2"
+require "Polycode/EventDispatcher"
+require "Polycode/SoundManager"
+require "Polycode/Logger"
+require "Polycode/Image"
+require "Polycode/Perlin"
 require "Polycode/ScreenLabel"
+require "Polycode/Cubemap"
+require "Polycode/SceneLabel"
+require "Polycode/TimerManager"
+require "Polycode/Quaternion"
+require "Polycode/Label"
 require "Polycode/ScreenLine"
-require "Polycode/ScreenManager"
-require "Polycode/ScreenMesh"
-require "Polycode/ScreenShape"
 require "Polycode/ScreenSoundListener"
 require "Polycode/ScreenSound"
-require "Polycode/ScreenSprite"
-require "Polycode/Shader"
-require "Polycode/ShaderBinding"
-require "Polycode/SkeletonAnimation"
-require "Polycode/BoneTrack"
-require "Polycode/Skeleton"
-require "Polycode/Sound"
-require "Polycode/SoundManager"
 require "Polycode/String"
-require "Polycode/Texture"
+require "Polycode/PolycodeModule"
+require "Polycode/PolycodeViewBase"
+require "Polycode/Core"
+require "Polycode/InputEvent"
+require "Polycode/Mesh"
+require "Polycode/VertexBuffer"
+require "Polycode/MaterialManager"
+require "Polycode/BezierCurve"
+require "Polycode/ScreenShape"
+require "Polycode/ScreenParticleEmitter"
+require "Polycode/SceneParticleEmitter"
+require "Polycode/ParticleEmitter"
+require "Polycode/Data"
+require "Polycode/ScreenEntity"
 require "Polycode/Timer"
-require "Polycode/TimerManager"
-require "Polycode/Tween"
-require "Polycode/BezierPathTween"
-require "Polycode/QuaternionTween"
-require "Polycode/TweenManager"
-require "Polycode/Vector2"
-require "Polycode/Vector3"
-require "Polycode/Vertex"
+require "Polycode/CoreInput"
+require "Polycode/OSFILE"
+require "Polycode/OSFileEntry"
+require "Polycode/OSBasics"
+require "Polycode/Polygon"
+require "Polycode/Font"
+require "Polycode/Entity"
+require "Polycode/Material"
+require "Polycode/Color"
+require "Polycode/ScreenCurve"
+require "Polycode/Rectangle"
+require "Polycode/CoreServices"
+require "Polycode/Resource"
+require "Polycode/SceneRenderTexture"
+require "Polycode/Camera"
+require "Polycode/ScreenSprite"
+require "Polycode/FixedShader"
+require "Polycode/FixedShaderBinding"
+require "Polycode/SceneLight"

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 474 - 483
Bindings/Contents/LUA/Include/PolycodeLUAWrappers.h


+ 1015 - 1015
Bindings/Contents/LUA/Source/PolycodeLUA.cpp

@@ -2,487 +2,58 @@
 #include "PolycodeLUAWrappers.h"
 
 int luaopen_Polycode(lua_State *L) {
-	static const struct luaL_reg polycoreLib [] = {		{"OSFILE_get_fileType", Polycore_OSFILE_get_fileType},
-		{"OSFILE_set_fileType", Polycore_OSFILE_set_fileType},
-		{"OSFILE", Polycore_OSFILE},
-		{"OSFILE_debugDump", Polycore_OSFILE_debugDump},
-		{"delete_OSFILE", Polycore_delete_OSFILE},
-		{"OSFileEntry_get_name", Polycore_OSFileEntry_get_name},
-		{"OSFileEntry_get_extension", Polycore_OSFileEntry_get_extension},
-		{"OSFileEntry_get_nameWithoutExtension", Polycore_OSFileEntry_get_nameWithoutExtension},
-		{"OSFileEntry_get_basePath", Polycore_OSFileEntry_get_basePath},
-		{"OSFileEntry_get_fullPath", Polycore_OSFileEntry_get_fullPath},
-		{"OSFileEntry_get_type", Polycore_OSFileEntry_get_type},
-		{"OSFileEntry_set_name", Polycore_OSFileEntry_set_name},
-		{"OSFileEntry_set_extension", Polycore_OSFileEntry_set_extension},
-		{"OSFileEntry_set_nameWithoutExtension", Polycore_OSFileEntry_set_nameWithoutExtension},
-		{"OSFileEntry_set_basePath", Polycore_OSFileEntry_set_basePath},
-		{"OSFileEntry_set_fullPath", Polycore_OSFileEntry_set_fullPath},
-		{"OSFileEntry_set_type", Polycore_OSFileEntry_set_type},
-		{"OSFileEntry", Polycore_OSFileEntry},
-		{"delete_OSFileEntry", Polycore_delete_OSFileEntry},
-		{"OSBasics_open", Polycore_OSBasics_open},
-		{"OSBasics_close", Polycore_OSBasics_close},
-		{"OSBasics_read", Polycore_OSBasics_read},
-		{"OSBasics_write", Polycore_OSBasics_write},
-		{"OSBasics_seek", Polycore_OSBasics_seek},
-		{"OSBasics_tell", Polycore_OSBasics_tell},
-		{"OSBasics_isFolder", Polycore_OSBasics_isFolder},
-		{"OSBasics_createFolder", Polycore_OSBasics_createFolder},
-		{"OSBasics_removeItem", Polycore_OSBasics_removeItem},
-		{"delete_OSBasics", Polycore_delete_OSBasics},
-		{"BezierCurve", Polycore_BezierCurve},
-		{"BezierCurve_getControlPoint", Polycore_BezierCurve_getControlPoint},
-		{"BezierCurve_getNumControlPoints", Polycore_BezierCurve_getNumControlPoints},
-		{"BezierCurve_addControlPoint", Polycore_BezierCurve_addControlPoint},
-		{"BezierCurve_addControlPoint3dWithHandles", Polycore_BezierCurve_addControlPoint3dWithHandles},
-		{"BezierCurve_addControlPoint3d", Polycore_BezierCurve_addControlPoint3d},
-		{"BezierCurve_addControlPoint2dWithHandles", Polycore_BezierCurve_addControlPoint2dWithHandles},
-		{"BezierCurve_addControlPoint2d", Polycore_BezierCurve_addControlPoint2d},
-		{"BezierCurve_getHeightAt", Polycore_BezierCurve_getHeightAt},
-		{"BezierCurve_getPointAt", Polycore_BezierCurve_getPointAt},
-		{"BezierCurve_getPointBetween", Polycore_BezierCurve_getPointBetween},
-		{"BezierCurve_rebuildBuffers", Polycore_BezierCurve_rebuildBuffers},
-		{"delete_BezierCurve", Polycore_delete_BezierCurve},
-		{"Bone_get_parentBoneId", Polycore_Bone_get_parentBoneId},
-		{"Bone_get_boneMatrix", Polycore_Bone_get_boneMatrix},
-		{"Bone_get_restMatrix", Polycore_Bone_get_restMatrix},
-		{"Bone_get_baseMatrix", Polycore_Bone_get_baseMatrix},
-		{"Bone_set_parentBoneId", Polycore_Bone_set_parentBoneId},
-		{"Bone", Polycore_Bone},
-		{"Bone_enableBoneLabel", Polycore_Bone_enableBoneLabel},
-		{"Bone_getName", Polycore_Bone_getName},
-		{"Bone_Render", Polycore_Bone_Render},
-		{"Bone_setParentBone", Polycore_Bone_setParentBone},
-		{"Bone_addChildBone", Polycore_Bone_addChildBone},
-		{"Bone_getParentBone", Polycore_Bone_getParentBone},
-		{"Bone_getNumChildBones", Polycore_Bone_getNumChildBones},
-		{"Bone_getChildBone", Polycore_Bone_getChildBone},
-		{"Bone_getBoneMatrix", Polycore_Bone_getBoneMatrix},
-		{"Bone_setBoneMatrix", Polycore_Bone_setBoneMatrix},
-		{"Bone_getRestMatrix", Polycore_Bone_getRestMatrix},
-		{"Bone_getFullRestMatrix", Polycore_Bone_getFullRestMatrix},
-		{"Bone_getParentRestMatrix", Polycore_Bone_getParentRestMatrix},
-		{"Bone_getFinalMatrix", Polycore_Bone_getFinalMatrix},
-		{"Bone_setRestMatrix", Polycore_Bone_setRestMatrix},
-		{"Bone_setBaseMatrix", Polycore_Bone_setBaseMatrix},
-		{"Bone_getBaseMatrix", Polycore_Bone_getBaseMatrix},
-		{"Bone_getFullBaseMatrix", Polycore_Bone_getFullBaseMatrix},
-		{"delete_Bone", Polycore_delete_Bone},
-		{"Camera", Polycore_Camera},
-		{"Camera_buildFrustrumPlanes", Polycore_Camera_buildFrustrumPlanes},
-		{"Camera_isSphereInFrustrum", Polycore_Camera_isSphereInFrustrum},
-		{"Camera_canSee", Polycore_Camera_canSee},
-		{"Camera_setOrthoMode", Polycore_Camera_setOrthoMode},
-		{"Camera_getOrthoMode", Polycore_Camera_getOrthoMode},
-		{"Camera_setFOV", Polycore_Camera_setFOV},
-		{"Camera_getFOV", Polycore_Camera_getFOV},
-		{"Camera_setParentScene", Polycore_Camera_setParentScene},
-		{"Camera_doCameraTransform", Polycore_Camera_doCameraTransform},
-		{"Camera_setLightDepthTexture", Polycore_Camera_setLightDepthTexture},
-		{"Camera_hasFilterShader", Polycore_Camera_hasFilterShader},
-		{"Camera_drawFilter", Polycore_Camera_drawFilter},
-		{"Camera_setExposureLevel", Polycore_Camera_setExposureLevel},
-		{"Camera_getExposureLevel", Polycore_Camera_getExposureLevel},
-		{"Camera_createPostFilter", Polycore_Camera_createPostFilter},
-		{"Camera_setPostFilter", Polycore_Camera_setPostFilter},
-		{"Camera_removePostFilter", Polycore_Camera_removePostFilter},
-		{"Camera_getScreenShaderMaterial", Polycore_Camera_getScreenShaderMaterial},
-		{"delete_Camera", Polycore_delete_Camera},
-		{"Color_get_r", Polycore_Color_get_r},
-		{"Color_get_g", Polycore_Color_get_g},
-		{"Color_get_b", Polycore_Color_get_b},
-		{"Color_get_a", Polycore_Color_get_a},
-		{"Color_set_r", Polycore_Color_set_r},
-		{"Color_set_g", Polycore_Color_set_g},
-		{"Color_set_b", Polycore_Color_set_b},
-		{"Color_set_a", Polycore_Color_set_a},
-		{"Color", Polycore_Color},
-		{"Color_setColorHex", Polycore_Color_setColorHex},
-		{"Color_setColorHexRGB", Polycore_Color_setColorHexRGB},
-		{"Color_setColorHSV", Polycore_Color_setColorHSV},
-		{"Color_setColorRGBA", Polycore_Color_setColorRGBA},
-		{"Color_setColorRGB", Polycore_Color_setColorRGB},
-		{"Color_setColor", Polycore_Color_setColor},
-		{"Color_Random", Polycore_Color_Random},
-		{"Color_getBrightness", Polycore_Color_getBrightness},
-		{"Color_getUint", Polycore_Color_getUint},
-		{"delete_Color", Polycore_delete_Color},
-		{"Config", Polycore_Config},
-		{"Config_loadConfig", Polycore_Config_loadConfig},
-		{"Config_saveConfig", Polycore_Config_saveConfig},
-		{"Config_getEntry", Polycore_Config_getEntry},
-		{"Config_setStringValue", Polycore_Config_setStringValue},
-		{"Config_setNumericValue", Polycore_Config_setNumericValue},
-		{"Config_getNumericValue", Polycore_Config_getNumericValue},
-		{"Config_getStringValue", Polycore_Config_getStringValue},
-		{"delete_Config", Polycore_delete_Config},
-		{"PolycodeViewBase", Polycore_PolycodeViewBase},
-		{"delete_PolycodeViewBase", Polycore_delete_PolycodeViewBase},
-		{"Core_Update", Polycore_Core_Update},
-		{"Core_enableMouse", Polycore_Core_enableMouse},
-		{"Core_setCursor", Polycore_Core_setCursor},
-		{"Core_createThread", Polycore_Core_createThread},
-		{"Core_lockMutex", Polycore_Core_lockMutex},
-		{"Core_unlockMutex", Polycore_Core_unlockMutex},
-		{"Core_createMutex", Polycore_Core_createMutex},
-		{"Core_copyStringToClipboard", Polycore_Core_copyStringToClipboard},
-		{"Core_getClipboardString", Polycore_Core_getClipboardString},
-		{"Core_getServices", Polycore_Core_getServices},
-		{"Core_getFPS", Polycore_Core_getFPS},
-		{"Core_Shutdown", Polycore_Core_Shutdown},
-		{"Core_isFullscreen", Polycore_Core_isFullscreen},
-		{"Core_getAALevel", Polycore_Core_getAALevel},
-		{"Core_getInput", Polycore_Core_getInput},
-		{"Core_getXRes", Polycore_Core_getXRes},
-		{"Core_getYRes", Polycore_Core_getYRes},
-		{"Core_getNumVideoModes", Polycore_Core_getNumVideoModes},
-		{"Core_createFolder", Polycore_Core_createFolder},
-		{"Core_copyDiskItem", Polycore_Core_copyDiskItem},
-		{"Core_moveDiskItem", Polycore_Core_moveDiskItem},
-		{"Core_removeDiskItem", Polycore_Core_removeDiskItem},
-		{"Core_openFolderPicker", Polycore_Core_openFolderPicker},
-		{"Core_setVideoModeIndex", Polycore_Core_setVideoModeIndex},
-		{"Core_setVideoMode", Polycore_Core_setVideoMode},
-		{"Core_resizeTo", Polycore_Core_resizeTo},
-		{"Core_doSleep", Polycore_Core_doSleep},
-		{"Core_getElapsed", Polycore_Core_getElapsed},
-		{"Core_getTicks", Polycore_Core_getTicks},
-		{"Core_getTicksFloat", Polycore_Core_getTicksFloat},
-		{"Core_setUserPointer", Polycore_Core_setUserPointer},
-		{"Core_getUserPointer", Polycore_Core_getUserPointer},
-		{"delete_Core", Polycore_delete_Core},
-		{"CoreInput", Polycore_CoreInput},
-		{"CoreInput_getMousePosition", Polycore_CoreInput_getMousePosition},
-		{"CoreInput_getKeyState", Polycore_CoreInput_getKeyState},
-		{"CoreInput_getMouseDelta", Polycore_CoreInput_getMouseDelta},
-		{"CoreInput_getMouseButtonState", Polycore_CoreInput_getMouseButtonState},
-		{"CoreInput_mouseWheelUp", Polycore_CoreInput_mouseWheelUp},
-		{"CoreInput_mouseWheelDown", Polycore_CoreInput_mouseWheelDown},
-		{"CoreInput_setMouseButtonState", Polycore_CoreInput_setMouseButtonState},
-		{"CoreInput_setMousePosition", Polycore_CoreInput_setMousePosition},
-		{"CoreInput_setKeyState", Polycore_CoreInput_setKeyState},
-		{"CoreInput_setDeltaPosition", Polycore_CoreInput_setDeltaPosition},
-		{"CoreInput_createEvent", Polycore_CoreInput_createEvent},
-		{"delete_CoreInput", Polycore_delete_CoreInput},
-		{"CoreServices_getInstance", Polycore_CoreServices_getInstance},
-		{"CoreServices_setInstance", Polycore_CoreServices_setInstance},
-		{"CoreServices_getRenderMutex", Polycore_CoreServices_getRenderMutex},
-		{"CoreServices_setRenderer", Polycore_CoreServices_setRenderer},
-		{"CoreServices_getRenderer", Polycore_CoreServices_getRenderer},
-		{"CoreServices_Update", Polycore_CoreServices_Update},
-		{"CoreServices_setCore", Polycore_CoreServices_setCore},
-		{"CoreServices_getCore", Polycore_CoreServices_getCore},
-		{"CoreServices_installModule", Polycore_CoreServices_installModule},
-		{"CoreServices_getMaterialManager", Polycore_CoreServices_getMaterialManager},
-		{"CoreServices_getScreenManager", Polycore_CoreServices_getScreenManager},
-		{"CoreServices_getSceneManager", Polycore_CoreServices_getSceneManager},
-		{"CoreServices_getTimerManager", Polycore_CoreServices_getTimerManager},
-		{"CoreServices_getTweenManager", Polycore_CoreServices_getTweenManager},
-		{"CoreServices_getResourceManager", Polycore_CoreServices_getResourceManager},
-		{"CoreServices_getSoundManager", Polycore_CoreServices_getSoundManager},
-		{"CoreServices_getFontManager", Polycore_CoreServices_getFontManager},
-		{"CoreServices_getConfig", Polycore_CoreServices_getConfig},
-		{"delete_CoreServices", Polycore_delete_CoreServices},
-		{"Cubemap", Polycore_Cubemap},
-		{"delete_Cubemap", Polycore_delete_Cubemap},
-		{"Data", Polycore_Data},
-		{"Data_loadFromFile", Polycore_Data_loadFromFile},
-		{"Data_getAsString", Polycore_Data_getAsString},
-		{"Data_setFromString", Polycore_Data_setFromString},
-		{"Data_saveToFile", Polycore_Data_saveToFile},
-		{"Data_getData", Polycore_Data_getData},
-		{"delete_Data", Polycore_delete_Data},
-		{"Entity_get_custEntityType", Polycore_Entity_get_custEntityType},
-		{"Entity_get_billboardMode", Polycore_Entity_get_billboardMode},
-		{"Entity_get_billboardRoll", Polycore_Entity_get_billboardRoll},
-		{"Entity_get_alphaTest", Polycore_Entity_get_alphaTest},
-		{"Entity_get_backfaceCulled", Polycore_Entity_get_backfaceCulled},
-		{"Entity_get_renderWireframe", Polycore_Entity_get_renderWireframe},
-		{"Entity_get_color", Polycore_Entity_get_color},
-		{"Entity_get_enabled", Polycore_Entity_get_enabled},
-		{"Entity_get_visible", Polycore_Entity_get_visible},
-		{"Entity_get_depthWrite", Polycore_Entity_get_depthWrite},
-		{"Entity_get_depthTest", Polycore_Entity_get_depthTest},
-		{"Entity_get_blendingMode", Polycore_Entity_get_blendingMode},
-		{"Entity_get_colorAffectsChildren", Polycore_Entity_get_colorAffectsChildren},
-		{"Entity_get_visibilityAffectsChildren", Polycore_Entity_get_visibilityAffectsChildren},
-		{"Entity_get_depthOnly", Polycore_Entity_get_depthOnly},
-		{"Entity_get_bBox", Polycore_Entity_get_bBox},
-		{"Entity_get_ignoreParentMatrix", Polycore_Entity_get_ignoreParentMatrix},
-		{"Entity_get_isMask", Polycore_Entity_get_isMask},
-		{"Entity_set_custEntityType", Polycore_Entity_set_custEntityType},
-		{"Entity_set_billboardMode", Polycore_Entity_set_billboardMode},
-		{"Entity_set_billboardRoll", Polycore_Entity_set_billboardRoll},
-		{"Entity_set_alphaTest", Polycore_Entity_set_alphaTest},
-		{"Entity_set_backfaceCulled", Polycore_Entity_set_backfaceCulled},
-		{"Entity_set_renderWireframe", Polycore_Entity_set_renderWireframe},
-		{"Entity_set_enabled", Polycore_Entity_set_enabled},
-		{"Entity_set_visible", Polycore_Entity_set_visible},
-		{"Entity_set_depthWrite", Polycore_Entity_set_depthWrite},
-		{"Entity_set_depthTest", Polycore_Entity_set_depthTest},
-		{"Entity_set_blendingMode", Polycore_Entity_set_blendingMode},
-		{"Entity_set_colorAffectsChildren", Polycore_Entity_set_colorAffectsChildren},
-		{"Entity_set_visibilityAffectsChildren", Polycore_Entity_set_visibilityAffectsChildren},
-		{"Entity_set_depthOnly", Polycore_Entity_set_depthOnly},
-		{"Entity_set_ignoreParentMatrix", Polycore_Entity_set_ignoreParentMatrix},
-		{"Entity_set_isMask", Polycore_Entity_set_isMask},
-		{"Entity", Polycore_Entity},
-		{"Entity_Render", Polycore_Entity_Render},
-		{"Entity_Update", Polycore_Entity_Update},
-		{"Entity_transformAndRender", Polycore_Entity_transformAndRender},
-		{"Entity_renderChildren", Polycore_Entity_renderChildren},
-		{"Entity_dirtyMatrix", Polycore_Entity_dirtyMatrix},
-		{"Entity_rebuildTransformMatrix", Polycore_Entity_rebuildTransformMatrix},
-		{"Entity_updateEntityMatrix", Polycore_Entity_updateEntityMatrix},
-		{"Entity_getTransformMatrix", Polycore_Entity_getTransformMatrix},
-		{"Entity_getConcatenatedMatrix", Polycore_Entity_getConcatenatedMatrix},
-		{"Entity_getConcatenatedRollMatrix", Polycore_Entity_getConcatenatedRollMatrix},
-		{"Entity_setTransformByMatrix", Polycore_Entity_setTransformByMatrix},
-		{"Entity_setTransformByMatrixPure", Polycore_Entity_setTransformByMatrixPure},
-		{"Entity_getLookAtMatrix", Polycore_Entity_getLookAtMatrix},
-		{"Entity_addEntity", Polycore_Entity_addEntity},
-		{"Entity_addChild", Polycore_Entity_addChild},
-		{"Entity_removeChild", Polycore_Entity_removeChild},
-		{"Entity_setParentEntity", Polycore_Entity_setParentEntity},
-		{"Entity_getParentEntity", Polycore_Entity_getParentEntity},
-		{"Entity_getPosition", Polycore_Entity_getPosition},
-		{"Entity_getCombinedPosition", Polycore_Entity_getCombinedPosition},
-		{"Entity_setPosition", Polycore_Entity_setPosition},
-		{"Entity_setPositionX", Polycore_Entity_setPositionX},
-		{"Entity_setPositionY", Polycore_Entity_setPositionY},
-		{"Entity_Translate", Polycore_Entity_Translate},
-		{"Entity_setPositionZ", Polycore_Entity_setPositionZ},
-		{"Entity_setScaleX", Polycore_Entity_setScaleX},
-		{"Entity_setScaleY", Polycore_Entity_setScaleY},
-		{"Entity_setScaleZ", Polycore_Entity_setScaleZ},
-		{"Entity_Scale", Polycore_Entity_Scale},
-		{"Entity_setScale", Polycore_Entity_setScale},
-		{"Entity_getCompoundScale", Polycore_Entity_getCompoundScale},
-		{"Entity_getScale", Polycore_Entity_getScale},
-		{"Entity_getCombinedPitch", Polycore_Entity_getCombinedPitch},
-		{"Entity_getCombinedYaw", Polycore_Entity_getCombinedYaw},
-		{"Entity_getCombinedRoll", Polycore_Entity_getCombinedRoll},
-		{"Entity_rebuildRotation", Polycore_Entity_rebuildRotation},
-		{"Entity_setPitch", Polycore_Entity_setPitch},
-		{"Entity_setYaw", Polycore_Entity_setYaw},
-		{"Entity_setRoll", Polycore_Entity_setRoll},
-		{"Entity_Roll", Polycore_Entity_Roll},
-		{"Entity_Yaw", Polycore_Entity_Yaw},
-		{"Entity_Pitch", Polycore_Entity_Pitch},
-		{"Entity_getPitch", Polycore_Entity_getPitch},
-		{"Entity_getYaw", Polycore_Entity_getYaw},
-		{"Entity_getRoll", Polycore_Entity_getRoll},
-		{"Entity_setRotationQuat", Polycore_Entity_setRotationQuat},
-		{"Entity_getRotationQuat", Polycore_Entity_getRotationQuat},
-		{"Entity_lookAt", Polycore_Entity_lookAt},
-		{"Entity_lookAtEntity", Polycore_Entity_lookAtEntity},
-		{"Entity_getCombinedColor", Polycore_Entity_getCombinedColor},
-		{"Entity_setColor", Polycore_Entity_setColor},
-		{"Entity_setColorInt", Polycore_Entity_setColorInt},
-		{"Entity_recalculateBBox", Polycore_Entity_recalculateBBox},
-		{"Entity_getBBoxRadius", Polycore_Entity_getBBoxRadius},
-		{"Entity_getCompoundBBoxRadius", Polycore_Entity_getCompoundBBoxRadius},
-		{"Entity_setBBoxRadius", Polycore_Entity_setBBoxRadius},
-		{"Entity_setMask", Polycore_Entity_setMask},
-		{"Entity_clearMask", Polycore_Entity_clearMask},
-		{"Entity_setBlendingMode", Polycore_Entity_setBlendingMode},
-		{"Entity_getChildCenter", Polycore_Entity_getChildCenter},
-		{"Entity_getEntityProp", Polycore_Entity_getEntityProp},
-		{"Entity_doUpdates", Polycore_Entity_doUpdates},
-		{"Entity_buildPositionMatrix", Polycore_Entity_buildPositionMatrix},
-		{"Entity_adjustMatrixForChildren", Polycore_Entity_adjustMatrixForChildren},
-		{"Entity_setRenderer", Polycore_Entity_setRenderer},
-		{"delete_Entity", Polycore_delete_Entity},
-		{"Event", Polycore_Event},
-		{"Event_getEventCode", Polycore_Event_getEventCode},
-		{"Event_getDispatcher", Polycore_Event_getDispatcher},
-		{"Event_setEventCode", Polycore_Event_setEventCode},
-		{"Event_setDispatcher", Polycore_Event_setDispatcher},
-		{"Event_getEventType", Polycore_Event_getEventType},
-		{"delete_Event", Polycore_delete_Event},
-		{"EventDispatcher", Polycore_EventDispatcher},
-		{"EventDispatcher_removeAllHandlers", Polycore_EventDispatcher_removeAllHandlers},
-		{"EventDispatcher_removeAllHandlersForListener", Polycore_EventDispatcher_removeAllHandlersForListener},
-		{"EventDispatcher_addEventListener", Polycore_EventDispatcher_addEventListener},
-		{"EventDispatcher_removeEventListener", Polycore_EventDispatcher_removeEventListener},
-		{"EventDispatcher___dispatchEvent", Polycore_EventDispatcher___dispatchEvent},
-		{"EventDispatcher_dispatchEvent", Polycore_EventDispatcher_dispatchEvent},
-		{"EventDispatcher_dispatchEventNoDelete", Polycore_EventDispatcher_dispatchEventNoDelete},
-		{"delete_EventDispatcher", Polycore_delete_EventDispatcher},
-		{"EventHandler", Polycore_EventHandler},
-		{"delete_EventHandler", Polycore_delete_EventHandler},
-		{"FixedShader", Polycore_FixedShader},
-		{"FixedShader_createBinding", Polycore_FixedShader_createBinding},
-		{"delete_FixedShader", Polycore_delete_FixedShader},
-		{"FixedShaderBinding", Polycore_FixedShaderBinding},
-		{"FixedShaderBinding_addTexture", Polycore_FixedShaderBinding_addTexture},
-		{"FixedShaderBinding_addCubemap", Polycore_FixedShaderBinding_addCubemap},
-		{"FixedShaderBinding_addParam", Polycore_FixedShaderBinding_addParam},
-		{"FixedShaderBinding_getDiffuseTexture", Polycore_FixedShaderBinding_getDiffuseTexture},
-		{"delete_FixedShaderBinding", Polycore_delete_FixedShaderBinding},
-		{"Font_get_loaded", Polycore_Font_get_loaded},
-		{"Font_set_loaded", Polycore_Font_set_loaded},
-		{"Font", Polycore_Font},
-		{"Font_getFace", Polycore_Font_getFace},
-		{"Font_isValid", Polycore_Font_isValid},
-		{"delete_Font", Polycore_delete_Font},
-		{"FontManager", Polycore_FontManager},
-		{"FontManager_registerFont", Polycore_FontManager_registerFont},
-		{"FontManager_getFontByName", Polycore_FontManager_getFontByName},
-		{"delete_FontManager", Polycore_delete_FontManager},
-		{"Image", Polycore_Image},
-		{"Image_loadImage", Polycore_Image_loadImage},
-		{"Image_loadPNG", Polycore_Image_loadPNG},
-		{"Image_createEmpty", Polycore_Image_createEmpty},
-		{"Image_fill", Polycore_Image_fill},
-		{"Image_setPixel", Polycore_Image_setPixel},
-		{"Image_getPixel", Polycore_Image_getPixel},
-		{"Image_swap", Polycore_Image_swap},
-		{"Image_line", Polycore_Image_line},
-		{"Image_moveTo", Polycore_Image_moveTo},
-		{"Image_move", Polycore_Image_move},
-		{"Image_lineTo", Polycore_Image_lineTo},
-		{"Image_drawRect", Polycore_Image_drawRect},
-		{"Image_perlinNoise", Polycore_Image_perlinNoise},
-		{"Image_fastBlur", Polycore_Image_fastBlur},
-		{"Image_fastBlurVert", Polycore_Image_fastBlurVert},
-		{"Image_fastBlurHor", Polycore_Image_fastBlurHor},
-		{"Image_darken", Polycore_Image_darken},
-		{"Image_lighten", Polycore_Image_lighten},
-		{"Image_multiply", Polycore_Image_multiply},
-		{"Image_getBrushX", Polycore_Image_getBrushX},
-		{"Image_getBrushY", Polycore_Image_getBrushY},
-		{"Image_isLoaded", Polycore_Image_isLoaded},
-		{"Image_getType", Polycore_Image_getType},
-		{"Image_writeBMP", Polycore_Image_writeBMP},
-		{"Image_getWidth", Polycore_Image_getWidth},
-		{"Image_getHeight", Polycore_Image_getHeight},
-		{"Image_getPixels", Polycore_Image_getPixels},
-		{"delete_Image", Polycore_delete_Image},
-		{"InputEvent_get_mouseButton", Polycore_InputEvent_get_mouseButton},
-		{"InputEvent_get_mousePosition", Polycore_InputEvent_get_mousePosition},
-		{"InputEvent_get_key", Polycore_InputEvent_get_key},
-		{"InputEvent_get_charCode", Polycore_InputEvent_get_charCode},
-		{"InputEvent_get_timestamp", Polycore_InputEvent_get_timestamp},
-		{"InputEvent_set_mouseButton", Polycore_InputEvent_set_mouseButton},
-		{"InputEvent_set_timestamp", Polycore_InputEvent_set_timestamp},
-		{"InputEvent", Polycore_InputEvent},
-		{"InputEvent_getMousePosition", Polycore_InputEvent_getMousePosition},
-		{"InputEvent_getKey", Polycore_InputEvent_getKey},
-		{"InputEvent_getMouseButton", Polycore_InputEvent_getMouseButton},
-		{"InputEvent_keyCode", Polycore_InputEvent_keyCode},
-		{"delete_InputEvent", Polycore_delete_InputEvent},
-		{"Label", Polycore_Label},
-		{"Label_setText", Polycore_Label_setText},
-		{"Label_getText", Polycore_Label_getText},
-		{"Label_getTextWidth", Polycore_Label_getTextWidth},
-		{"Label_getTextHeight", Polycore_Label_getTextHeight},
-		{"Label_getFont", Polycore_Label_getFont},
-		{"delete_Label", Polycore_delete_Label},
-		{"Logger", Polycore_Logger},
-		{"Logger_log", Polycore_Logger_log},
-		{"Logger_logw", Polycore_Logger_logw},
-		{"delete_Logger", Polycore_delete_Logger},
-		{"Material_get_specularValue", Polycore_Material_get_specularValue},
-		{"Material_get_specularColor", Polycore_Material_get_specularColor},
-		{"Material_get_diffuseColor", Polycore_Material_get_diffuseColor},
-		{"Material_set_specularValue", Polycore_Material_set_specularValue},
-		{"Material", Polycore_Material},
-		{"Material_addShader", Polycore_Material_addShader},
-		{"Material_getNumShaders", Polycore_Material_getNumShaders},
-		{"Material_addShaderRenderTarget", Polycore_Material_addShaderRenderTarget},
-		{"Material_getNumShaderRenderTargets", Polycore_Material_getNumShaderRenderTargets},
-		{"Material_getShaderRenderTarget", Polycore_Material_getShaderRenderTarget},
-		{"Material_getName", Polycore_Material_getName},
-		{"Material_getShader", Polycore_Material_getShader},
-		{"Material_getShaderBinding", Polycore_Material_getShaderBinding},
-		{"Material_loadMaterial", Polycore_Material_loadMaterial},
-		{"delete_Material", Polycore_delete_Material},
-		{"MaterialManager", Polycore_MaterialManager},
-		{"MaterialManager_Update", Polycore_MaterialManager_Update},
-		{"MaterialManager_createFramebufferTexture", Polycore_MaterialManager_createFramebufferTexture},
-		{"MaterialManager_createTexture", Polycore_MaterialManager_createTexture},
-		{"MaterialManager_createNewTexture", Polycore_MaterialManager_createNewTexture},
-		{"MaterialManager_createTextureFromImage", Polycore_MaterialManager_createTextureFromImage},
-		{"MaterialManager_createTextureFromFile", Polycore_MaterialManager_createTextureFromFile},
-		{"MaterialManager_deleteTexture", Polycore_MaterialManager_deleteTexture},
-		{"MaterialManager_reloadTextures", Polycore_MaterialManager_reloadTextures},
-		{"MaterialManager_reloadProgramsAndTextures", Polycore_MaterialManager_reloadProgramsAndTextures},
-		{"MaterialManager_reloadPrograms", Polycore_MaterialManager_reloadPrograms},
-		{"MaterialManager_addShaderModule", Polycore_MaterialManager_addShaderModule},
-		{"MaterialManager_getTextureByResourcePath", Polycore_MaterialManager_getTextureByResourcePath},
-		{"MaterialManager_cubemapFromXMLNode", Polycore_MaterialManager_cubemapFromXMLNode},
-		{"MaterialManager_loadMaterialsFromFile", Polycore_MaterialManager_loadMaterialsFromFile},
-		{"MaterialManager_materialFromXMLNode", Polycore_MaterialManager_materialFromXMLNode},
-		{"MaterialManager_setShaderFromXMLNode", Polycore_MaterialManager_setShaderFromXMLNode},
-		{"MaterialManager_createShaderFromXMLNode", Polycore_MaterialManager_createShaderFromXMLNode},
-		{"delete_MaterialManager", Polycore_delete_MaterialManager},
-		{"Matrix4", Polycore_Matrix4},
-		{"Matrix4_identity", Polycore_Matrix4_identity},
-		{"Matrix4_rotateVector", Polycore_Matrix4_rotateVector},
-		{"Matrix4_getPosition", Polycore_Matrix4_getPosition},
-		{"Matrix4_setPosition", Polycore_Matrix4_setPosition},
-		{"Matrix4_setScale", Polycore_Matrix4_setScale},
-		{"Matrix4_getEulerAngles", Polycore_Matrix4_getEulerAngles},
-		{"Matrix4_inverse", Polycore_Matrix4_inverse},
-		{"Matrix4_inverseAffine", Polycore_Matrix4_inverseAffine},
-		{"delete_Matrix4", Polycore_delete_Matrix4},
-		{"Mesh_get_useVertexColors", Polycore_Mesh_get_useVertexColors},
-		{"Mesh_set_useVertexColors", Polycore_Mesh_set_useVertexColors},
-		{"Mesh", Polycore_Mesh},
-		{"Mesh_addPolygon", Polycore_Mesh_addPolygon},
-		{"Mesh_loadMesh", Polycore_Mesh_loadMesh},
-		{"Mesh_saveToFile", Polycore_Mesh_saveToFile},
-		{"Mesh_loadFromFile", Polycore_Mesh_loadFromFile},
-		{"Mesh_getPolygonCount", Polycore_Mesh_getPolygonCount},
-		{"Mesh_getVertexCount", Polycore_Mesh_getVertexCount},
-		{"Mesh_getPolygon", Polycore_Mesh_getPolygon},
-		{"Mesh_createPlane", Polycore_Mesh_createPlane},
-		{"Mesh_createVPlane", Polycore_Mesh_createVPlane},
-		{"Mesh_createTorus", Polycore_Mesh_createTorus},
-		{"Mesh_createBox", Polycore_Mesh_createBox},
-		{"Mesh_createSphere", Polycore_Mesh_createSphere},
-		{"Mesh_createCylinder", Polycore_Mesh_createCylinder},
-		{"Mesh_createCone", Polycore_Mesh_createCone},
-		{"Mesh_recenterMesh", Polycore_Mesh_recenterMesh},
-		{"Mesh_useVertexNormals", Polycore_Mesh_useVertexNormals},
-		{"Mesh_setVertexBuffer", Polycore_Mesh_setVertexBuffer},
-		{"Mesh_getVertexBuffer", Polycore_Mesh_getVertexBuffer},
-		{"Mesh_getRadius", Polycore_Mesh_getRadius},
-		{"Mesh_calculateNormals", Polycore_Mesh_calculateNormals},
-		{"Mesh_getMeshType", Polycore_Mesh_getMeshType},
-		{"Mesh_setMeshType", Polycore_Mesh_setMeshType},
-		{"Mesh_calculateBBox", Polycore_Mesh_calculateBBox},
-		{"Mesh_hasVertexBuffer", Polycore_Mesh_hasVertexBuffer},
-		{"delete_Mesh", Polycore_delete_Mesh},
-		{"VertexBuffer_get_verticesPerFace", Polycore_VertexBuffer_get_verticesPerFace},
-		{"VertexBuffer_get_meshType", Polycore_VertexBuffer_get_meshType},
-		{"VertexBuffer_set_verticesPerFace", Polycore_VertexBuffer_set_verticesPerFace},
-		{"VertexBuffer_set_meshType", Polycore_VertexBuffer_set_meshType},
-		{"VertexBuffer", Polycore_VertexBuffer},
-		{"VertexBuffer_getVertexCount", Polycore_VertexBuffer_getVertexCount},
-		{"delete_VertexBuffer", Polycore_delete_VertexBuffer},
-		{"PolycodeModule", Polycore_PolycodeModule},
-		{"PolycodeModule_getType", Polycore_PolycodeModule_getType},
-		{"delete_PolycodeModule", Polycore_delete_PolycodeModule},
-		{"ObjectEntry_get_type", Polycore_ObjectEntry_get_type},
-		{"ObjectEntry_get_name", Polycore_ObjectEntry_get_name},
-		{"ObjectEntry_get_NumberVal", Polycore_ObjectEntry_get_NumberVal},
-		{"ObjectEntry_get_intVal", Polycore_ObjectEntry_get_intVal},
-		{"ObjectEntry_get_stringVal", Polycore_ObjectEntry_get_stringVal},
-		{"ObjectEntry_get_boolVal", Polycore_ObjectEntry_get_boolVal},
-		{"ObjectEntry_get_length", Polycore_ObjectEntry_get_length},
-		{"ObjectEntry_set_type", Polycore_ObjectEntry_set_type},
-		{"ObjectEntry_set_name", Polycore_ObjectEntry_set_name},
-		{"ObjectEntry_set_NumberVal", Polycore_ObjectEntry_set_NumberVal},
-		{"ObjectEntry_set_intVal", Polycore_ObjectEntry_set_intVal},
-		{"ObjectEntry_set_stringVal", Polycore_ObjectEntry_set_stringVal},
-		{"ObjectEntry_set_boolVal", Polycore_ObjectEntry_set_boolVal},
-		{"ObjectEntry_set_length", Polycore_ObjectEntry_set_length},
-		{"ObjectEntry", Polycore_ObjectEntry},
-		{"ObjectEntry_addChild", Polycore_ObjectEntry_addChild},
-		{"delete_ObjectEntry", Polycore_delete_ObjectEntry},
+	static const struct luaL_reg polycoreLib [] = {		{"SkeletonAnimation", Polycore_SkeletonAnimation},
+		{"SkeletonAnimation_addBoneTrack", Polycore_SkeletonAnimation_addBoneTrack},
+		{"SkeletonAnimation_getName", Polycore_SkeletonAnimation_getName},
+		{"SkeletonAnimation_Play", Polycore_SkeletonAnimation_Play},
+		{"SkeletonAnimation_Stop", Polycore_SkeletonAnimation_Stop},
+		{"SkeletonAnimation_Update", Polycore_SkeletonAnimation_Update},
+		{"SkeletonAnimation_setSpeed", Polycore_SkeletonAnimation_setSpeed},
+		{"delete_SkeletonAnimation", Polycore_delete_SkeletonAnimation},
+		{"BoneTrack_get_LocXVec", Polycore_BoneTrack_get_LocXVec},
+		{"BoneTrack_get_LocYVec", Polycore_BoneTrack_get_LocYVec},
+		{"BoneTrack_get_LocZVec", Polycore_BoneTrack_get_LocZVec},
+		{"BoneTrack_get_ScaleXVec", Polycore_BoneTrack_get_ScaleXVec},
+		{"BoneTrack_get_ScaleYVec", Polycore_BoneTrack_get_ScaleYVec},
+		{"BoneTrack_get_ScaleZVec", Polycore_BoneTrack_get_ScaleZVec},
+		{"BoneTrack_get_boneQuat", Polycore_BoneTrack_get_boneQuat},
+		{"BoneTrack_get_QuatWVec", Polycore_BoneTrack_get_QuatWVec},
+		{"BoneTrack_get_QuatXVec", Polycore_BoneTrack_get_QuatXVec},
+		{"BoneTrack_get_QuatYVec", Polycore_BoneTrack_get_QuatYVec},
+		{"BoneTrack_get_QuatZVec", Polycore_BoneTrack_get_QuatZVec},
+		{"BoneTrack", Polycore_BoneTrack},
+		{"BoneTrack_Play", Polycore_BoneTrack_Play},
+		{"BoneTrack_Stop", Polycore_BoneTrack_Stop},
+		{"BoneTrack_Update", Polycore_BoneTrack_Update},
+		{"BoneTrack_setSpeed", Polycore_BoneTrack_setSpeed},
+		{"delete_BoneTrack", Polycore_delete_BoneTrack},
+		{"Skeleton", Polycore_Skeleton},
+		{"Skeleton_loadSkeleton", Polycore_Skeleton_loadSkeleton},
+		{"Skeleton_playAnimation", Polycore_Skeleton_playAnimation},
+		{"Skeleton_playAnimationByIndex", Polycore_Skeleton_playAnimationByIndex},
+		{"Skeleton_addAnimation", Polycore_Skeleton_addAnimation},
+		{"Skeleton_getAnimation", Polycore_Skeleton_getAnimation},
+		{"Skeleton_Update", Polycore_Skeleton_Update},
+		{"Skeleton_getBoneByName", Polycore_Skeleton_getBoneByName},
+		{"Skeleton_bonesVisible", Polycore_Skeleton_bonesVisible},
+		{"Skeleton_enableBoneLabels", Polycore_Skeleton_enableBoneLabels},
+		{"Skeleton_getNumBones", Polycore_Skeleton_getNumBones},
+		{"Skeleton_getBone", Polycore_Skeleton_getBone},
+		{"Skeleton_getCurrentAnimation", Polycore_Skeleton_getCurrentAnimation},
+		{"delete_Skeleton", Polycore_delete_Skeleton},
+		{"TweenManager", Polycore_TweenManager},
+		{"TweenManager_addTween", Polycore_TweenManager_addTween},
+		{"TweenManager_Update", Polycore_TweenManager_Update},
+		{"delete_TweenManager", Polycore_delete_TweenManager},
+		{"Event", Polycore_Event},
+		{"Event_getEventCode", Polycore_Event_getEventCode},
+		{"Event_getDispatcher", Polycore_Event_getDispatcher},
+		{"Event_setEventCode", Polycore_Event_setEventCode},
+		{"Event_setDispatcher", Polycore_Event_setDispatcher},
+		{"Event_getEventType", Polycore_Event_getEventType},
+		{"delete_Event", Polycore_delete_Event},
+		{"EventHandler", Polycore_EventHandler},
+		{"delete_EventHandler", Polycore_delete_EventHandler},
 		{"Particle_get_velVector", Polycore_Particle_get_velVector},
 		{"Particle_get_dirVector", Polycore_Particle_get_dirVector},
 		{"Particle_get_deviation", Polycore_Particle_get_deviation},
@@ -503,122 +74,10 @@ int luaopen_Polycode(lua_State *L) {
 		{"Particle_createSceneParticle", Polycore_Particle_createSceneParticle},
 		{"Particle_createScreenParticle", Polycore_Particle_createScreenParticle},
 		{"delete_Particle", Polycore_delete_Particle},
-		{"ScreenParticleEmitter", Polycore_ScreenParticleEmitter},
-		{"ScreenParticleEmitter_getEmitter", Polycore_ScreenParticleEmitter_getEmitter},
-		{"ScreenParticleEmitter_addParticleBody", Polycore_ScreenParticleEmitter_addParticleBody},
-		{"ScreenParticleEmitter_getBaseMatrix", Polycore_ScreenParticleEmitter_getBaseMatrix},
-		{"ScreenParticleEmitter_Update", Polycore_ScreenParticleEmitter_Update},
-		{"delete_ScreenParticleEmitter", Polycore_delete_ScreenParticleEmitter},
-		{"SceneParticleEmitter", Polycore_SceneParticleEmitter},
-		{"SceneParticleEmitter_getEmitter", Polycore_SceneParticleEmitter_getEmitter},
-		{"SceneParticleEmitter_respawnSceneParticles", Polycore_SceneParticleEmitter_respawnSceneParticles},
-		{"SceneParticleEmitter_addParticleBody", Polycore_SceneParticleEmitter_addParticleBody},
-		{"SceneParticleEmitter_getBaseMatrix", Polycore_SceneParticleEmitter_getBaseMatrix},
-		{"SceneParticleEmitter_Update", Polycore_SceneParticleEmitter_Update},
-		{"delete_SceneParticleEmitter", Polycore_delete_SceneParticleEmitter},
-		{"ParticleEmitter_get_particleSpeedMod", Polycore_ParticleEmitter_get_particleSpeedMod},
-		{"ParticleEmitter_get_brightnessDeviation", Polycore_ParticleEmitter_get_brightnessDeviation},
-		{"ParticleEmitter_get_deviation", Polycore_ParticleEmitter_get_deviation},
-		{"ParticleEmitter_get_dirVector", Polycore_ParticleEmitter_get_dirVector},
-		{"ParticleEmitter_get_gravVector", Polycore_ParticleEmitter_get_gravVector},
-		{"ParticleEmitter_get_lifespan", Polycore_ParticleEmitter_get_lifespan},
-		{"ParticleEmitter_get_rotationFollowsPath", Polycore_ParticleEmitter_get_rotationFollowsPath},
-		{"ParticleEmitter_get_scaleCurve", Polycore_ParticleEmitter_get_scaleCurve},
-		{"ParticleEmitter_get_colorCurveR", Polycore_ParticleEmitter_get_colorCurveR},
-		{"ParticleEmitter_get_colorCurveG", Polycore_ParticleEmitter_get_colorCurveG},
-		{"ParticleEmitter_get_colorCurveB", Polycore_ParticleEmitter_get_colorCurveB},
-		{"ParticleEmitter_get_colorCurveA", Polycore_ParticleEmitter_get_colorCurveA},
-		{"ParticleEmitter_get_useColorCurves", Polycore_ParticleEmitter_get_useColorCurves},
-		{"ParticleEmitter_get_useScaleCurves", Polycore_ParticleEmitter_get_useScaleCurves},
-		{"ParticleEmitter_set_particleSpeedMod", Polycore_ParticleEmitter_set_particleSpeedMod},
-		{"ParticleEmitter_set_brightnessDeviation", Polycore_ParticleEmitter_set_brightnessDeviation},
-		{"ParticleEmitter_set_lifespan", Polycore_ParticleEmitter_set_lifespan},
-		{"ParticleEmitter_set_rotationFollowsPath", Polycore_ParticleEmitter_set_rotationFollowsPath},
-		{"ParticleEmitter_set_useColorCurves", Polycore_ParticleEmitter_set_useColorCurves},
-		{"ParticleEmitter_set_useScaleCurves", Polycore_ParticleEmitter_set_useScaleCurves},
-		{"ParticleEmitter", Polycore_ParticleEmitter},
-		{"ParticleEmitter_createParticles", Polycore_ParticleEmitter_createParticles},
-		{"ParticleEmitter_setRotationSpeed", Polycore_ParticleEmitter_setRotationSpeed},
-		{"ParticleEmitter_setParticleBlendingMode", Polycore_ParticleEmitter_setParticleBlendingMode},
-		{"ParticleEmitter_setDepthWrite", Polycore_ParticleEmitter_setDepthWrite},
-		{"ParticleEmitter_setDepthTest", Polycore_ParticleEmitter_setDepthTest},
-		{"ParticleEmitter_setAlphaTest", Polycore_ParticleEmitter_setAlphaTest},
-		{"ParticleEmitter_enablePerlin", Polycore_ParticleEmitter_enablePerlin},
-		{"ParticleEmitter_setParticleVisibility", Polycore_ParticleEmitter_setParticleVisibility},
-		{"ParticleEmitter_setPerlinModSize", Polycore_ParticleEmitter_setPerlinModSize},
-		{"ParticleEmitter_setBillboardMode", Polycore_ParticleEmitter_setBillboardMode},
-		{"ParticleEmitter_enableEmitter", Polycore_ParticleEmitter_enableEmitter},
-		{"ParticleEmitter_emitterEnabled", Polycore_ParticleEmitter_emitterEnabled},
-		{"ParticleEmitter_setEmitterRadius", Polycore_ParticleEmitter_setEmitterRadius},
-		{"ParticleEmitter_setAllAtOnce", Polycore_ParticleEmitter_setAllAtOnce},
-		{"ParticleEmitter_Trigger", Polycore_ParticleEmitter_Trigger},
-		{"ParticleEmitter_resetParticle", Polycore_ParticleEmitter_resetParticle},
-		{"ParticleEmitter_setParticleCount", Polycore_ParticleEmitter_setParticleCount},
-		{"ParticleEmitter_addParticleBody", Polycore_ParticleEmitter_addParticleBody},
-		{"ParticleEmitter_getBaseMatrix", Polycore_ParticleEmitter_getBaseMatrix},
-		{"ParticleEmitter_updateEmitter", Polycore_ParticleEmitter_updateEmitter},
-		{"delete_ParticleEmitter", Polycore_delete_ParticleEmitter},
-		{"Perlin", Polycore_Perlin},
-		{"Perlin_Get", Polycore_Perlin_Get},
-		{"delete_Perlin", Polycore_delete_Perlin},
-		{"Polygon_get_useVertexNormals", Polycore_Polygon_get_useVertexNormals},
-		{"Polygon_set_useVertexNormals", Polycore_Polygon_set_useVertexNormals},
-		{"Polygon", Polycore_Polygon},
-		{"Polygon_getVertexCount", Polycore_Polygon_getVertexCount},
-		{"Polygon_getVertex", Polycore_Polygon_getVertex},
-		{"Polygon_addVertex", Polycore_Polygon_addVertex},
-		{"Polygon_removeVertex", Polycore_Polygon_removeVertex},
-		{"Polygon_calculateNormal", Polycore_Polygon_calculateNormal},
-		{"Polygon_getFaceNormal", Polycore_Polygon_getFaceNormal},
-		{"Polygon_getBounds2D", Polycore_Polygon_getBounds2D},
-		{"Polygon_setNormal", Polycore_Polygon_setNormal},
-		{"Polygon_flipUVY", Polycore_Polygon_flipUVY},
-		{"delete_Polygon", Polycore_delete_Polygon},
-		{"Quaternion_get_x", Polycore_Quaternion_get_x},
-		{"Quaternion_get_y", Polycore_Quaternion_get_y},
-		{"Quaternion_get_z", Polycore_Quaternion_get_z},
-		{"Quaternion_get_w", Polycore_Quaternion_get_w},
-		{"Quaternion_set_x", Polycore_Quaternion_set_x},
-		{"Quaternion_set_y", Polycore_Quaternion_set_y},
-		{"Quaternion_set_z", Polycore_Quaternion_set_z},
-		{"Quaternion_set_w", Polycore_Quaternion_set_w},
-		{"Quaternion", Polycore_Quaternion},
-		{"Quaternion_setFromMatrix", Polycore_Quaternion_setFromMatrix},
-		{"Quaternion_Slerp", Polycore_Quaternion_Slerp},
-		{"Quaternion_Dot", Polycore_Quaternion_Dot},
-		{"Quaternion_Log", Polycore_Quaternion_Log},
-		{"Quaternion_Exp", Polycore_Quaternion_Exp},
-		{"Quaternion_Norm", Polycore_Quaternion_Norm},
-		{"Quaternion_normalize", Polycore_Quaternion_normalize},
-		{"Quaternion_lookAt", Polycore_Quaternion_lookAt},
-		{"Quaternion_createFromMatrix", Polycore_Quaternion_createFromMatrix},
-		{"Quaternion_Squad", Polycore_Quaternion_Squad},
-		{"Quaternion_Inverse", Polycore_Quaternion_Inverse},
-		{"Quaternion_set", Polycore_Quaternion_set},
-		{"Quaternion_inverse", Polycore_Quaternion_inverse},
-		{"Quaternion_InvSqrt", Polycore_Quaternion_InvSqrt},
-		{"Quaternion_fromAxes", Polycore_Quaternion_fromAxes},
-		{"Quaternion_FromAngleAxis", Polycore_Quaternion_FromAngleAxis},
-		{"Quaternion_ToAngleAxis", Polycore_Quaternion_ToAngleAxis},
-		{"Quaternion_createFromAxisAngle", Polycore_Quaternion_createFromAxisAngle},
-		{"Quaternion_createMatrix", Polycore_Quaternion_createMatrix},
-		{"delete_Quaternion", Polycore_delete_Quaternion},
-		{"QuaternionCurve", Polycore_QuaternionCurve},
-		{"QuaternionCurve_interpolate", Polycore_QuaternionCurve_interpolate},
-		{"QuaternionCurve_generatePointsFromCurves", Polycore_QuaternionCurve_generatePointsFromCurves},
-		{"QuaternionCurve_recalcTangents", Polycore_QuaternionCurve_recalcTangents},
-		{"delete_QuaternionCurve", Polycore_delete_QuaternionCurve},
-		{"Rectangle_get_x", Polycore_Rectangle_get_x},
-		{"Rectangle_get_y", Polycore_Rectangle_get_y},
-		{"Rectangle_get_w", Polycore_Rectangle_get_w},
-		{"Rectangle_get_h", Polycore_Rectangle_get_h},
-		{"Rectangle_set_x", Polycore_Rectangle_set_x},
-		{"Rectangle_set_y", Polycore_Rectangle_set_y},
-		{"Rectangle_set_w", Polycore_Rectangle_set_w},
-		{"Rectangle_set_h", Polycore_Rectangle_set_h},
-		{"Rectangle", Polycore_Rectangle},
-		{"Rectangle_setRect", Polycore_Rectangle_setRect},
-		{"delete_Rectangle", Polycore_delete_Rectangle},
+		{"FontManager", Polycore_FontManager},
+		{"FontManager_registerFont", Polycore_FontManager_registerFont},
+		{"FontManager_getFontByName", Polycore_FontManager_getFontByName},
+		{"delete_FontManager", Polycore_delete_FontManager},
 		{"Renderer_get_ambientColor", Polycore_Renderer_get_ambientColor},
 		{"Renderer_get_clearColor", Polycore_Renderer_get_clearColor},
 		{"Renderer_get_exposureLevel", Polycore_Renderer_get_exposureLevel},
@@ -710,27 +169,43 @@ int luaopen_Polycode(lua_State *L) {
 		{"Renderer_getNumSpotLights", Polycore_Renderer_getNumSpotLights},
 		{"Renderer_getNumLights", Polycore_Renderer_getNumLights},
 		{"delete_Renderer", Polycore_delete_Renderer},
-		{"Resource", Polycore_Resource},
-		{"Resource_getResourceName", Polycore_Resource_getResourceName},
-		{"Resource_getResourceType", Polycore_Resource_getResourceType},
-		{"Resource_setResourceName", Polycore_Resource_setResourceName},
-		{"Resource_setResourcePath", Polycore_Resource_setResourcePath},
-		{"Resource_getResourcePath", Polycore_Resource_getResourcePath},
-		{"delete_Resource", Polycore_delete_Resource},
-		{"ResourceManager", Polycore_ResourceManager},
-		{"ResourceManager_addResource", Polycore_ResourceManager_addResource},
-		{"ResourceManager_addDirResource", Polycore_ResourceManager_addDirResource},
-		{"ResourceManager_addArchive", Polycore_ResourceManager_addArchive},
-		{"ResourceManager_readFile", Polycore_ResourceManager_readFile},
-		{"ResourceManager_parseTextures", Polycore_ResourceManager_parseTextures},
-		{"ResourceManager_parseMaterials", Polycore_ResourceManager_parseMaterials},
-		{"ResourceManager_parseShaders", Polycore_ResourceManager_parseShaders},
-		{"ResourceManager_parsePrograms", Polycore_ResourceManager_parsePrograms},
-		{"ResourceManager_parseCubemaps", Polycore_ResourceManager_parseCubemaps},
-		{"ResourceManager_parseOthers", Polycore_ResourceManager_parseOthers},
-		{"ResourceManager_getResource", Polycore_ResourceManager_getResource},
-		{"ResourceManager_addShaderModule", Polycore_ResourceManager_addShaderModule},
-		{"delete_ResourceManager", Polycore_delete_ResourceManager},
+		{"SceneEntity_get_castShadows", Polycore_SceneEntity_get_castShadows},
+		{"SceneEntity_set_castShadows", Polycore_SceneEntity_set_castShadows},
+		{"SceneEntity", Polycore_SceneEntity},
+		{"SceneEntity_testMouseCollision", Polycore_SceneEntity_testMouseCollision},
+		{"delete_SceneEntity", Polycore_delete_SceneEntity},
+		{"Texture_get_scrollSpeedX", Polycore_Texture_get_scrollSpeedX},
+		{"Texture_get_scrollSpeedY", Polycore_Texture_get_scrollSpeedY},
+		{"Texture_get_clamp", Polycore_Texture_get_clamp},
+		{"Texture_set_scrollSpeedX", Polycore_Texture_set_scrollSpeedX},
+		{"Texture_set_scrollSpeedY", Polycore_Texture_set_scrollSpeedY},
+		{"Texture_set_clamp", Polycore_Texture_set_clamp},
+		{"Texture_setTextureData", Polycore_Texture_setTextureData},
+		{"Texture_recreateFromImageData", Polycore_Texture_recreateFromImageData},
+		{"Texture_getScrollOffsetX", Polycore_Texture_getScrollOffsetX},
+		{"Texture_getScrollOffsetY", Polycore_Texture_getScrollOffsetY},
+		{"Texture_setImageData", Polycore_Texture_setImageData},
+		{"Texture_updateScroll", Polycore_Texture_updateScroll},
+		{"Texture_setResourcePath", Polycore_Texture_setResourcePath},
+		{"Texture_getResourcePath", Polycore_Texture_getResourcePath},
+		{"Texture_getTextureData", Polycore_Texture_getTextureData},
+		{"Texture_getWidth", Polycore_Texture_getWidth},
+		{"Texture_getHeight", Polycore_Texture_getHeight},
+		{"delete_Texture", Polycore_delete_Texture},
+		{"Vector3_get_x", Polycore_Vector3_get_x},
+		{"Vector3_get_y", Polycore_Vector3_get_y},
+		{"Vector3_get_z", Polycore_Vector3_get_z},
+		{"Vector3_set_x", Polycore_Vector3_set_x},
+		{"Vector3_set_y", Polycore_Vector3_set_y},
+		{"Vector3_set_z", Polycore_Vector3_set_z},
+		{"Vector3", Polycore_Vector3},
+		{"Vector3_set", Polycore_Vector3_set},
+		{"Vector3_distance", Polycore_Vector3_distance},
+		{"Vector3_length", Polycore_Vector3_length},
+		{"Vector3_dot", Polycore_Vector3_dot},
+		{"Vector3_crossProduct", Polycore_Vector3_crossProduct},
+		{"Vector3_Normalize", Polycore_Vector3_Normalize},
+		{"delete_Vector3", Polycore_delete_Vector3},
 		{"Scene_get_clearColor", Polycore_Scene_get_clearColor},
 		{"Scene_get_useClearColor", Polycore_Scene_get_useClearColor},
 		{"Scene_get_ambientColor", Polycore_Scene_get_ambientColor},
@@ -770,416 +245,941 @@ int luaopen_Polycode(lua_State *L) {
 		{"Scene_getLight", Polycore_Scene_getLight},
 		{"Scene_getCustomEntityByType", Polycore_Scene_getCustomEntityByType},
 		{"delete_Scene", Polycore_delete_Scene},
-		{"SceneEntity_get_castShadows", Polycore_SceneEntity_get_castShadows},
-		{"SceneEntity_set_castShadows", Polycore_SceneEntity_set_castShadows},
-		{"SceneEntity", Polycore_SceneEntity},
-		{"SceneEntity_testMouseCollision", Polycore_SceneEntity_testMouseCollision},
-		{"delete_SceneEntity", Polycore_delete_SceneEntity},
+		{"Screen_get_enabled", Polycore_Screen_get_enabled},
+		{"Screen_set_enabled", Polycore_Screen_set_enabled},
+		{"Screen", Polycore_Screen},
+		{"Screen_addChild", Polycore_Screen_addChild},
+		{"Screen_removeChild", Polycore_Screen_removeChild},
+		{"Screen_setScreenOffset", Polycore_Screen_setScreenOffset},
+		{"Screen_getScreenOffset", Polycore_Screen_getScreenOffset},
+		{"Screen_Shutdown", Polycore_Screen_Shutdown},
+		{"Screen_Update", Polycore_Screen_Update},
+		{"Screen_getEntityAt", Polycore_Screen_getEntityAt},
+		{"Screen_Render", Polycore_Screen_Render},
+		{"Screen_setRenderer", Polycore_Screen_setRenderer},
+		{"Screen_setNormalizedCoordinates", Polycore_Screen_setNormalizedCoordinates},
+		{"Screen_setScreenShader", Polycore_Screen_setScreenShader},
+		{"Screen_clearScreenShader", Polycore_Screen_clearScreenShader},
+		{"Screen_getHighestZIndex", Polycore_Screen_getHighestZIndex},
+		{"Screen_sortChildren", Polycore_Screen_sortChildren},
+		{"Screen_cmpZindex", Polycore_Screen_cmpZindex},
+		{"Screen_handleInputEvent", Polycore_Screen_handleInputEvent},
+		{"Screen_hasFilterShader", Polycore_Screen_hasFilterShader},
+		{"Screen_drawFilter", Polycore_Screen_drawFilter},
+		{"Screen_usesNormalizedCoordinates", Polycore_Screen_usesNormalizedCoordinates},
+		{"Screen_getYCoordinateSize", Polycore_Screen_getYCoordinateSize},
+		{"Screen_getRootEntity", Polycore_Screen_getRootEntity},
+		{"Screen_getScreenShaderMaterial", Polycore_Screen_getScreenShaderMaterial},
+		{"delete_Screen", Polycore_delete_Screen},
+		{"Vertex_get_restNormal", Polycore_Vertex_get_restNormal},
+		{"Vertex_get_restPosition", Polycore_Vertex_get_restPosition},
+		{"Vertex_get_normal", Polycore_Vertex_get_normal},
+		{"Vertex_get_vertexColor", Polycore_Vertex_get_vertexColor},
+		{"Vertex_get_useVertexColor", Polycore_Vertex_get_useVertexColor},
+		{"Vertex_set_useVertexColor", Polycore_Vertex_set_useVertexColor},
+		{"Vertex", Polycore_Vertex},
+		{"Vertex_addBoneAssignment", Polycore_Vertex_addBoneAssignment},
+		{"Vertex_getNumBoneAssignments", Polycore_Vertex_getNumBoneAssignments},
+		{"Vertex_getBoneAssignment", Polycore_Vertex_getBoneAssignment},
+		{"Vertex_normalizeWeights", Polycore_Vertex_normalizeWeights},
+		{"Vertex_getTexCoord", Polycore_Vertex_getTexCoord},
+		{"Vertex_setTexCoord", Polycore_Vertex_setTexCoord},
+		{"Vertex_setNormal", Polycore_Vertex_setNormal},
+		{"delete_Vertex", Polycore_delete_Vertex},
+		{"ScreenImage", Polycore_ScreenImage},
+		{"ScreenImage_setImageCoordinates", Polycore_ScreenImage_setImageCoordinates},
+		{"ScreenImage_getImageWidth", Polycore_ScreenImage_getImageWidth},
+		{"ScreenImage_getImageHeight", Polycore_ScreenImage_getImageHeight},
+		{"delete_ScreenImage", Polycore_delete_ScreenImage},
+		{"ResourceManager", Polycore_ResourceManager},
+		{"ResourceManager_addResource", Polycore_ResourceManager_addResource},
+		{"ResourceManager_addDirResource", Polycore_ResourceManager_addDirResource},
+		{"ResourceManager_addArchive", Polycore_ResourceManager_addArchive},
+		{"ResourceManager_readFile", Polycore_ResourceManager_readFile},
+		{"ResourceManager_parseTextures", Polycore_ResourceManager_parseTextures},
+		{"ResourceManager_parseMaterials", Polycore_ResourceManager_parseMaterials},
+		{"ResourceManager_parseShaders", Polycore_ResourceManager_parseShaders},
+		{"ResourceManager_parsePrograms", Polycore_ResourceManager_parsePrograms},
+		{"ResourceManager_parseCubemaps", Polycore_ResourceManager_parseCubemaps},
+		{"ResourceManager_parseOthers", Polycore_ResourceManager_parseOthers},
+		{"ResourceManager_getResource", Polycore_ResourceManager_getResource},
+		{"ResourceManager_addShaderModule", Polycore_ResourceManager_addShaderModule},
+		{"delete_ResourceManager", Polycore_delete_ResourceManager},
+		{"ScreenMesh", Polycore_ScreenMesh},
+		{"ScreenMesh_Render", Polycore_ScreenMesh_Render},
+		{"ScreenMesh_getMesh", Polycore_ScreenMesh_getMesh},
+		{"ScreenMesh_getTexture", Polycore_ScreenMesh_getTexture},
+		{"ScreenMesh_loadTexture", Polycore_ScreenMesh_loadTexture},
+		{"ScreenMesh_setTexture", Polycore_ScreenMesh_setTexture},
+		{"delete_ScreenMesh", Polycore_delete_ScreenMesh},
+		{"ScenePrimitive", Polycore_ScenePrimitive},
+		{"delete_ScenePrimitive", Polycore_delete_ScenePrimitive},
+		{"SceneSound", Polycore_SceneSound},
+		{"SceneSound_Update", Polycore_SceneSound_Update},
+		{"SceneSound_getSound", Polycore_SceneSound_getSound},
+		{"delete_SceneSound", Polycore_delete_SceneSound},
+		{"SceneSoundListener", Polycore_SceneSoundListener},
+		{"SceneSoundListener_Update", Polycore_SceneSoundListener_Update},
+		{"delete_SceneSoundListener", Polycore_delete_SceneSoundListener},
+		{"Config", Polycore_Config},
+		{"Config_loadConfig", Polycore_Config_loadConfig},
+		{"Config_saveConfig", Polycore_Config_saveConfig},
+		{"Config_getEntry", Polycore_Config_getEntry},
+		{"Config_setStringValue", Polycore_Config_setStringValue},
+		{"Config_setNumericValue", Polycore_Config_setNumericValue},
+		{"Config_getNumericValue", Polycore_Config_getNumericValue},
+		{"Config_getStringValue", Polycore_Config_getStringValue},
+		{"delete_Config", Polycore_delete_Config},
+		{"Tween_get_repeat", Polycore_Tween_get_repeat},
+		{"Tween_set_repeat", Polycore_Tween_set_repeat},
+		{"Tween", Polycore_Tween},
+		{"Tween_interpolateTween", Polycore_Tween_interpolateTween},
+		{"Tween_updateCustomTween", Polycore_Tween_updateCustomTween},
+		{"Tween_doOnComplete", Polycore_Tween_doOnComplete},
+		{"Tween_Pause", Polycore_Tween_Pause},
+		{"Tween_Reset", Polycore_Tween_Reset},
+		{"Tween_isComplete", Polycore_Tween_isComplete},
+		{"Tween_setSpeed", Polycore_Tween_setSpeed},
+		{"delete_Tween", Polycore_delete_Tween},
+		{"BezierPathTween", Polycore_BezierPathTween},
+		{"BezierPathTween_updateCustomTween", Polycore_BezierPathTween_updateCustomTween},
+		{"delete_BezierPathTween", Polycore_delete_BezierPathTween},
+		{"QuaternionTween", Polycore_QuaternionTween},
+		{"QuaternionTween_updateCustomTween", Polycore_QuaternionTween_updateCustomTween},
+		{"delete_QuaternionTween", Polycore_delete_QuaternionTween},
+		{"QuaternionCurve", Polycore_QuaternionCurve},
+		{"QuaternionCurve_interpolate", Polycore_QuaternionCurve_interpolate},
+		{"QuaternionCurve_generatePointsFromCurves", Polycore_QuaternionCurve_generatePointsFromCurves},
+		{"QuaternionCurve_recalcTangents", Polycore_QuaternionCurve_recalcTangents},
+		{"delete_QuaternionCurve", Polycore_delete_QuaternionCurve},
+		{"SceneManager", Polycore_SceneManager},
+		{"SceneManager_addScene", Polycore_SceneManager_addScene},
+		{"SceneManager_Update", Polycore_SceneManager_Update},
+		{"SceneManager_UpdateVirtual", Polycore_SceneManager_UpdateVirtual},
+		{"SceneManager_removeScene", Polycore_SceneManager_removeScene},
+		{"SceneManager_registerRenderTexture", Polycore_SceneManager_registerRenderTexture},
+		{"delete_SceneManager", Polycore_delete_SceneManager},
+		{"Matrix4", Polycore_Matrix4},
+		{"Matrix4_identity", Polycore_Matrix4_identity},
+		{"Matrix4_rotateVector", Polycore_Matrix4_rotateVector},
+		{"Matrix4_getPosition", Polycore_Matrix4_getPosition},
+		{"Matrix4_setPosition", Polycore_Matrix4_setPosition},
+		{"Matrix4_setScale", Polycore_Matrix4_setScale},
+		{"Matrix4_getEulerAngles", Polycore_Matrix4_getEulerAngles},
+		{"Matrix4_inverse", Polycore_Matrix4_inverse},
+		{"Matrix4_inverseAffine", Polycore_Matrix4_inverseAffine},
+		{"delete_Matrix4", Polycore_delete_Matrix4},
+		{"SceneLine", Polycore_SceneLine},
+		{"SceneLine_Render", Polycore_SceneLine_Render},
+		{"delete_SceneLine", Polycore_delete_SceneLine},
+		{"ScreenEvent", Polycore_ScreenEvent},
+		{"delete_ScreenEvent", Polycore_delete_ScreenEvent},
+		{"Bone_get_parentBoneId", Polycore_Bone_get_parentBoneId},
+		{"Bone_get_boneMatrix", Polycore_Bone_get_boneMatrix},
+		{"Bone_get_restMatrix", Polycore_Bone_get_restMatrix},
+		{"Bone_get_baseMatrix", Polycore_Bone_get_baseMatrix},
+		{"Bone_set_parentBoneId", Polycore_Bone_set_parentBoneId},
+		{"Bone", Polycore_Bone},
+		{"Bone_enableBoneLabel", Polycore_Bone_enableBoneLabel},
+		{"Bone_getName", Polycore_Bone_getName},
+		{"Bone_Render", Polycore_Bone_Render},
+		{"Bone_setParentBone", Polycore_Bone_setParentBone},
+		{"Bone_addChildBone", Polycore_Bone_addChildBone},
+		{"Bone_getParentBone", Polycore_Bone_getParentBone},
+		{"Bone_getNumChildBones", Polycore_Bone_getNumChildBones},
+		{"Bone_getChildBone", Polycore_Bone_getChildBone},
+		{"Bone_getBoneMatrix", Polycore_Bone_getBoneMatrix},
+		{"Bone_setBoneMatrix", Polycore_Bone_setBoneMatrix},
+		{"Bone_getRestMatrix", Polycore_Bone_getRestMatrix},
+		{"Bone_getFullRestMatrix", Polycore_Bone_getFullRestMatrix},
+		{"Bone_getParentRestMatrix", Polycore_Bone_getParentRestMatrix},
+		{"Bone_getFinalMatrix", Polycore_Bone_getFinalMatrix},
+		{"Bone_setRestMatrix", Polycore_Bone_setRestMatrix},
+		{"Bone_setBaseMatrix", Polycore_Bone_setBaseMatrix},
+		{"Bone_getBaseMatrix", Polycore_Bone_getBaseMatrix},
+		{"Bone_getFullBaseMatrix", Polycore_Bone_getFullBaseMatrix},
+		{"delete_Bone", Polycore_delete_Bone},
+		{"SceneMesh_get_lightmapIndex", Polycore_SceneMesh_get_lightmapIndex},
+		{"SceneMesh_get_showVertexNormals", Polycore_SceneMesh_get_showVertexNormals},
+		{"SceneMesh_set_showVertexNormals", Polycore_SceneMesh_set_showVertexNormals},
+		{"SceneMesh", Polycore_SceneMesh},
+		{"SceneMesh_Render", Polycore_SceneMesh_Render},
+		{"SceneMesh_getLocalShaderOptions", Polycore_SceneMesh_getLocalShaderOptions},
+		{"SceneMesh_getMesh", Polycore_SceneMesh_getMesh},
+		{"SceneMesh_getTexture", Polycore_SceneMesh_getTexture},
+		{"SceneMesh_getMaterial", Polycore_SceneMesh_getMaterial},
+		{"SceneMesh_loadTexture", Polycore_SceneMesh_loadTexture},
+		{"SceneMesh_loadSkeleton", Polycore_SceneMesh_loadSkeleton},
+		{"SceneMesh_setTexture", Polycore_SceneMesh_setTexture},
+		{"SceneMesh_setMaterial", Polycore_SceneMesh_setMaterial},
+		{"SceneMesh_setMaterialByName", Polycore_SceneMesh_setMaterialByName},
+		{"SceneMesh_setMesh", Polycore_SceneMesh_setMesh},
+		{"SceneMesh_setSkeleton", Polycore_SceneMesh_setSkeleton},
+		{"SceneMesh_getSkeleton", Polycore_SceneMesh_getSkeleton},
+		{"SceneMesh_renderMeshLocally", Polycore_SceneMesh_renderMeshLocally},
+		{"SceneMesh_cacheToVertexBuffer", Polycore_SceneMesh_cacheToVertexBuffer},
+		{"delete_SceneMesh", Polycore_delete_SceneMesh},
+		{"Sound", Polycore_Sound},
+		{"Sound_Play", Polycore_Sound_Play},
+		{"Sound_Stop", Polycore_Sound_Stop},
+		{"Sound_setVolume", Polycore_Sound_setVolume},
+		{"Sound_setPitch", Polycore_Sound_setPitch},
+		{"Sound_setIsPositional", Polycore_Sound_setIsPositional},
+		{"Sound_setSoundPosition", Polycore_Sound_setSoundPosition},
+		{"Sound_setSoundVelocity", Polycore_Sound_setSoundVelocity},
+		{"Sound_setSoundDirection", Polycore_Sound_setSoundDirection},
+		{"Sound_setPositionalProperties", Polycore_Sound_setPositionalProperties},
+		{"Sound_loadWAV", Polycore_Sound_loadWAV},
+		{"Sound_loadOGG", Polycore_Sound_loadOGG},
+		{"Sound_GenSource", Polycore_Sound_GenSource},
+		{"Sound_checkALError", Polycore_Sound_checkALError},
+		{"Sound_soundError", Polycore_Sound_soundError},
+		{"Sound_soundCheck", Polycore_Sound_soundCheck},
+		{"delete_Sound", Polycore_delete_Sound},
+		{"Shader_get_numSpotLights", Polycore_Shader_get_numSpotLights},
+		{"Shader_get_numAreaLights", Polycore_Shader_get_numAreaLights},
+		{"Shader_set_numSpotLights", Polycore_Shader_set_numSpotLights},
+		{"Shader_set_numAreaLights", Polycore_Shader_set_numAreaLights},
+		{"Shader_getType", Polycore_Shader_getType},
+		{"Shader_setName", Polycore_Shader_setName},
+		{"Shader_getName", Polycore_Shader_getName},
+		{"Shader_createBinding", Polycore_Shader_createBinding},
+		{"delete_Shader", Polycore_delete_Shader},
+		{"ShaderBinding", Polycore_ShaderBinding},
+		{"ShaderBinding_clearTexture", Polycore_ShaderBinding_clearTexture},
+		{"ShaderBinding_addTexture", Polycore_ShaderBinding_addTexture},
+		{"ShaderBinding_addParam", Polycore_ShaderBinding_addParam},
+		{"ShaderBinding_addCubemap", Polycore_ShaderBinding_addCubemap},
+		{"ShaderBinding_getNumLocalParams", Polycore_ShaderBinding_getNumLocalParams},
+		{"ShaderBinding_getLocalParam", Polycore_ShaderBinding_getLocalParam},
+		{"ShaderBinding_getLocalParamByName", Polycore_ShaderBinding_getLocalParamByName},
+		{"ShaderBinding_addRenderTargetBinding", Polycore_ShaderBinding_addRenderTargetBinding},
+		{"ShaderBinding_getNumRenderTargetBindings", Polycore_ShaderBinding_getNumRenderTargetBindings},
+		{"ShaderBinding_getRenderTargetBinding", Polycore_ShaderBinding_getRenderTargetBinding},
+		{"ShaderBinding_getNumInTargetBindings", Polycore_ShaderBinding_getNumInTargetBindings},
+		{"ShaderBinding_getInTargetBinding", Polycore_ShaderBinding_getInTargetBinding},
+		{"ShaderBinding_getNumOutTargetBindings", Polycore_ShaderBinding_getNumOutTargetBindings},
+		{"ShaderBinding_getOutTargetBinding", Polycore_ShaderBinding_getOutTargetBinding},
+		{"ShaderBinding_addLocalParam", Polycore_ShaderBinding_addLocalParam},
+		{"delete_ShaderBinding", Polycore_delete_ShaderBinding},
+		{"ObjectEntry_get_type", Polycore_ObjectEntry_get_type},
+		{"ObjectEntry_get_name", Polycore_ObjectEntry_get_name},
+		{"ObjectEntry_get_NumberVal", Polycore_ObjectEntry_get_NumberVal},
+		{"ObjectEntry_get_intVal", Polycore_ObjectEntry_get_intVal},
+		{"ObjectEntry_get_stringVal", Polycore_ObjectEntry_get_stringVal},
+		{"ObjectEntry_get_boolVal", Polycore_ObjectEntry_get_boolVal},
+		{"ObjectEntry_get_length", Polycore_ObjectEntry_get_length},
+		{"ObjectEntry_set_type", Polycore_ObjectEntry_set_type},
+		{"ObjectEntry_set_name", Polycore_ObjectEntry_set_name},
+		{"ObjectEntry_set_NumberVal", Polycore_ObjectEntry_set_NumberVal},
+		{"ObjectEntry_set_intVal", Polycore_ObjectEntry_set_intVal},
+		{"ObjectEntry_set_stringVal", Polycore_ObjectEntry_set_stringVal},
+		{"ObjectEntry_set_boolVal", Polycore_ObjectEntry_set_boolVal},
+		{"ObjectEntry_set_length", Polycore_ObjectEntry_set_length},
+		{"ObjectEntry", Polycore_ObjectEntry},
+		{"ObjectEntry_addChild", Polycore_ObjectEntry_addChild},
+		{"delete_ObjectEntry", Polycore_delete_ObjectEntry},
+		{"ScreenManager", Polycore_ScreenManager},
+		{"ScreenManager_removeScreen", Polycore_ScreenManager_removeScreen},
+		{"ScreenManager_addScreen", Polycore_ScreenManager_addScreen},
+		{"ScreenManager_Update", Polycore_ScreenManager_Update},
+		{"delete_ScreenManager", Polycore_delete_ScreenManager},
+		{"Vector2", Polycore_Vector2},
+		{"delete_Vector2", Polycore_delete_Vector2},
+		{"EventDispatcher", Polycore_EventDispatcher},
+		{"EventDispatcher_removeAllHandlers", Polycore_EventDispatcher_removeAllHandlers},
+		{"EventDispatcher_removeAllHandlersForListener", Polycore_EventDispatcher_removeAllHandlersForListener},
+		{"EventDispatcher_addEventListener", Polycore_EventDispatcher_addEventListener},
+		{"EventDispatcher_removeEventListener", Polycore_EventDispatcher_removeEventListener},
+		{"EventDispatcher___dispatchEvent", Polycore_EventDispatcher___dispatchEvent},
+		{"EventDispatcher_dispatchEvent", Polycore_EventDispatcher_dispatchEvent},
+		{"EventDispatcher_dispatchEventNoDelete", Polycore_EventDispatcher_dispatchEventNoDelete},
+		{"delete_EventDispatcher", Polycore_delete_EventDispatcher},
+		{"SoundManager", Polycore_SoundManager},
+		{"SoundManager_setListenerPosition", Polycore_SoundManager_setListenerPosition},
+		{"SoundManager_setListenerOrientation", Polycore_SoundManager_setListenerOrientation},
+		{"SoundManager_initAL", Polycore_SoundManager_initAL},
+		{"SoundManager_setGlobalVolume", Polycore_SoundManager_setGlobalVolume},
+		{"delete_SoundManager", Polycore_delete_SoundManager},
+		{"Logger", Polycore_Logger},
+		{"Logger_log", Polycore_Logger_log},
+		{"Logger_logw", Polycore_Logger_logw},
+		{"delete_Logger", Polycore_delete_Logger},
+		{"Image", Polycore_Image},
+		{"Image_loadImage", Polycore_Image_loadImage},
+		{"Image_loadPNG", Polycore_Image_loadPNG},
+		{"Image_createEmpty", Polycore_Image_createEmpty},
+		{"Image_fill", Polycore_Image_fill},
+		{"Image_setPixel", Polycore_Image_setPixel},
+		{"Image_getPixel", Polycore_Image_getPixel},
+		{"Image_swap", Polycore_Image_swap},
+		{"Image_line", Polycore_Image_line},
+		{"Image_moveTo", Polycore_Image_moveTo},
+		{"Image_move", Polycore_Image_move},
+		{"Image_lineTo", Polycore_Image_lineTo},
+		{"Image_drawRect", Polycore_Image_drawRect},
+		{"Image_perlinNoise", Polycore_Image_perlinNoise},
+		{"Image_fastBlur", Polycore_Image_fastBlur},
+		{"Image_fastBlurVert", Polycore_Image_fastBlurVert},
+		{"Image_fastBlurHor", Polycore_Image_fastBlurHor},
+		{"Image_darken", Polycore_Image_darken},
+		{"Image_lighten", Polycore_Image_lighten},
+		{"Image_multiply", Polycore_Image_multiply},
+		{"Image_getBrushX", Polycore_Image_getBrushX},
+		{"Image_getBrushY", Polycore_Image_getBrushY},
+		{"Image_isLoaded", Polycore_Image_isLoaded},
+		{"Image_getType", Polycore_Image_getType},
+		{"Image_writeBMP", Polycore_Image_writeBMP},
+		{"Image_getWidth", Polycore_Image_getWidth},
+		{"Image_getHeight", Polycore_Image_getHeight},
+		{"Image_getPixels", Polycore_Image_getPixels},
+		{"delete_Image", Polycore_delete_Image},
+		{"Perlin", Polycore_Perlin},
+		{"Perlin_Get", Polycore_Perlin_Get},
+		{"delete_Perlin", Polycore_delete_Perlin},
+		{"ScreenLabel", Polycore_ScreenLabel},
+		{"ScreenLabel_addDropShadow", Polycore_ScreenLabel_addDropShadow},
+		{"ScreenLabel_setText", Polycore_ScreenLabel_setText},
+		{"ScreenLabel_getText", Polycore_ScreenLabel_getText},
+		{"ScreenLabel_getLabel", Polycore_ScreenLabel_getLabel},
+		{"delete_ScreenLabel", Polycore_delete_ScreenLabel},
+		{"Cubemap", Polycore_Cubemap},
+		{"delete_Cubemap", Polycore_delete_Cubemap},
 		{"SceneLabel", Polycore_SceneLabel},
 		{"SceneLabel_testMouseCollision", Polycore_SceneLabel_testMouseCollision},
 		{"SceneLabel_setText", Polycore_SceneLabel_setText},
 		{"SceneLabel_getLabel", Polycore_SceneLabel_getLabel},
 		{"SceneLabel_Render", Polycore_SceneLabel_Render},
 		{"delete_SceneLabel", Polycore_delete_SceneLabel},
-		{"SceneLight_get_specularLightColor", Polycore_SceneLight_get_specularLightColor},
-		{"SceneLight_get_lightColor", Polycore_SceneLight_get_lightColor},
-		{"SceneLight", Polycore_SceneLight},
-		{"SceneLight_getIntensity", Polycore_SceneLight_getIntensity},
-		{"SceneLight_setIntensity", Polycore_SceneLight_setIntensity},
-		{"SceneLight_setAttenuation", Polycore_SceneLight_setAttenuation},
-		{"SceneLight_getConstantAttenuation", Polycore_SceneLight_getConstantAttenuation},
-		{"SceneLight_getLinearAttenuation", Polycore_SceneLight_getLinearAttenuation},
-		{"SceneLight_getQuadraticAttenuation", Polycore_SceneLight_getQuadraticAttenuation},
-		{"SceneLight_getType", Polycore_SceneLight_getType},
-		{"SceneLight_renderDepthMap", Polycore_SceneLight_renderDepthMap},
-		{"SceneLight_Render", Polycore_SceneLight_Render},
-		{"SceneLight_getLightViewMatrix", Polycore_SceneLight_getLightViewMatrix},
-		{"SceneLight_getZBufferTexture", Polycore_SceneLight_getZBufferTexture},
-		{"SceneLight_setSpecularLightColor", Polycore_SceneLight_setSpecularLightColor},
-		{"SceneLight_setDiffuseLightColor", Polycore_SceneLight_setDiffuseLightColor},
-		{"SceneLight_setLightColor", Polycore_SceneLight_setLightColor},
-		{"SceneLight_setSpotlightProperties", Polycore_SceneLight_setSpotlightProperties},
-		{"SceneLight_getSpotlightCutoff", Polycore_SceneLight_getSpotlightCutoff},
-		{"SceneLight_getSpotlightExponent", Polycore_SceneLight_getSpotlightExponent},
-		{"SceneLight_enableShadows", Polycore_SceneLight_enableShadows},
-		{"SceneLight_setShadowMapFOV", Polycore_SceneLight_setShadowMapFOV},
-		{"SceneLight_areShadowsEnabled", Polycore_SceneLight_areShadowsEnabled},
-		{"SceneLight_getLightType", Polycore_SceneLight_getLightType},
-		{"SceneLight_enableDebugDraw", Polycore_SceneLight_enableDebugDraw},
-		{"SceneLight_setLightImportance", Polycore_SceneLight_setLightImportance},
-		{"SceneLight_getLightImportance", Polycore_SceneLight_getLightImportance},
-		{"delete_SceneLight", Polycore_delete_SceneLight},
-		{"SceneLine", Polycore_SceneLine},
-		{"SceneLine_Render", Polycore_SceneLine_Render},
-		{"delete_SceneLine", Polycore_delete_SceneLine},
-		{"SceneManager", Polycore_SceneManager},
-		{"SceneManager_addScene", Polycore_SceneManager_addScene},
-		{"SceneManager_Update", Polycore_SceneManager_Update},
-		{"SceneManager_UpdateVirtual", Polycore_SceneManager_UpdateVirtual},
-		{"SceneManager_removeScene", Polycore_SceneManager_removeScene},
-		{"SceneManager_registerRenderTexture", Polycore_SceneManager_registerRenderTexture},
-		{"delete_SceneManager", Polycore_delete_SceneManager},
-		{"SceneMesh_get_lightmapIndex", Polycore_SceneMesh_get_lightmapIndex},
-		{"SceneMesh_get_showVertexNormals", Polycore_SceneMesh_get_showVertexNormals},
-		{"SceneMesh_set_showVertexNormals", Polycore_SceneMesh_set_showVertexNormals},
-		{"SceneMesh", Polycore_SceneMesh},
-		{"SceneMesh_Render", Polycore_SceneMesh_Render},
-		{"SceneMesh_getLocalShaderOptions", Polycore_SceneMesh_getLocalShaderOptions},
-		{"SceneMesh_getMesh", Polycore_SceneMesh_getMesh},
-		{"SceneMesh_getTexture", Polycore_SceneMesh_getTexture},
-		{"SceneMesh_getMaterial", Polycore_SceneMesh_getMaterial},
-		{"SceneMesh_loadTexture", Polycore_SceneMesh_loadTexture},
-		{"SceneMesh_loadSkeleton", Polycore_SceneMesh_loadSkeleton},
-		{"SceneMesh_setTexture", Polycore_SceneMesh_setTexture},
-		{"SceneMesh_setMaterial", Polycore_SceneMesh_setMaterial},
-		{"SceneMesh_setMaterialByName", Polycore_SceneMesh_setMaterialByName},
-		{"SceneMesh_setMesh", Polycore_SceneMesh_setMesh},
-		{"SceneMesh_setSkeleton", Polycore_SceneMesh_setSkeleton},
-		{"SceneMesh_getSkeleton", Polycore_SceneMesh_getSkeleton},
-		{"SceneMesh_renderMeshLocally", Polycore_SceneMesh_renderMeshLocally},
-		{"SceneMesh_cacheToVertexBuffer", Polycore_SceneMesh_cacheToVertexBuffer},
-		{"delete_SceneMesh", Polycore_delete_SceneMesh},
-		{"ScenePrimitive", Polycore_ScenePrimitive},
-		{"delete_ScenePrimitive", Polycore_delete_ScenePrimitive},
-		{"SceneRenderTexture", Polycore_SceneRenderTexture},
-		{"SceneRenderTexture_drawScreen", Polycore_SceneRenderTexture_drawScreen},
-		{"SceneRenderTexture_getTargetTexture", Polycore_SceneRenderTexture_getTargetTexture},
-		{"SceneRenderTexture_getTargetScene", Polycore_SceneRenderTexture_getTargetScene},
-		{"SceneRenderTexture_getTargetCamera", Polycore_SceneRenderTexture_getTargetCamera},
-		{"delete_SceneRenderTexture", Polycore_delete_SceneRenderTexture},
-		{"SceneSound", Polycore_SceneSound},
-		{"SceneSound_Update", Polycore_SceneSound_Update},
-		{"SceneSound_getSound", Polycore_SceneSound_getSound},
-		{"delete_SceneSound", Polycore_delete_SceneSound},
-		{"SceneSoundListener", Polycore_SceneSoundListener},
-		{"SceneSoundListener_Update", Polycore_SceneSoundListener_Update},
-		{"delete_SceneSoundListener", Polycore_delete_SceneSoundListener},
-		{"Screen_get_enabled", Polycore_Screen_get_enabled},
-		{"Screen_set_enabled", Polycore_Screen_set_enabled},
-		{"Screen", Polycore_Screen},
-		{"Screen_addChild", Polycore_Screen_addChild},
-		{"Screen_removeChild", Polycore_Screen_removeChild},
-		{"Screen_setScreenOffset", Polycore_Screen_setScreenOffset},
-		{"Screen_getScreenOffset", Polycore_Screen_getScreenOffset},
-		{"Screen_Shutdown", Polycore_Screen_Shutdown},
-		{"Screen_Update", Polycore_Screen_Update},
-		{"Screen_getEntityAt", Polycore_Screen_getEntityAt},
-		{"Screen_Render", Polycore_Screen_Render},
-		{"Screen_setRenderer", Polycore_Screen_setRenderer},
-		{"Screen_setNormalizedCoordinates", Polycore_Screen_setNormalizedCoordinates},
-		{"Screen_setScreenShader", Polycore_Screen_setScreenShader},
-		{"Screen_clearScreenShader", Polycore_Screen_clearScreenShader},
-		{"Screen_getHighestZIndex", Polycore_Screen_getHighestZIndex},
-		{"Screen_sortChildren", Polycore_Screen_sortChildren},
-		{"Screen_cmpZindex", Polycore_Screen_cmpZindex},
-		{"Screen_handleInputEvent", Polycore_Screen_handleInputEvent},
-		{"Screen_hasFilterShader", Polycore_Screen_hasFilterShader},
-		{"Screen_drawFilter", Polycore_Screen_drawFilter},
-		{"Screen_usesNormalizedCoordinates", Polycore_Screen_usesNormalizedCoordinates},
-		{"Screen_getYCoordinateSize", Polycore_Screen_getYCoordinateSize},
-		{"Screen_getRootEntity", Polycore_Screen_getRootEntity},
-		{"Screen_getScreenShaderMaterial", Polycore_Screen_getScreenShaderMaterial},
-		{"delete_Screen", Polycore_delete_Screen},
+		{"TimerManager", Polycore_TimerManager},
+		{"TimerManager_removeTimer", Polycore_TimerManager_removeTimer},
+		{"TimerManager_addTimer", Polycore_TimerManager_addTimer},
+		{"TimerManager_Update", Polycore_TimerManager_Update},
+		{"delete_TimerManager", Polycore_delete_TimerManager},
+		{"Quaternion_get_x", Polycore_Quaternion_get_x},
+		{"Quaternion_get_y", Polycore_Quaternion_get_y},
+		{"Quaternion_get_z", Polycore_Quaternion_get_z},
+		{"Quaternion_get_w", Polycore_Quaternion_get_w},
+		{"Quaternion_set_x", Polycore_Quaternion_set_x},
+		{"Quaternion_set_y", Polycore_Quaternion_set_y},
+		{"Quaternion_set_z", Polycore_Quaternion_set_z},
+		{"Quaternion_set_w", Polycore_Quaternion_set_w},
+		{"Quaternion", Polycore_Quaternion},
+		{"Quaternion_setFromMatrix", Polycore_Quaternion_setFromMatrix},
+		{"Quaternion_Slerp", Polycore_Quaternion_Slerp},
+		{"Quaternion_Dot", Polycore_Quaternion_Dot},
+		{"Quaternion_Log", Polycore_Quaternion_Log},
+		{"Quaternion_Exp", Polycore_Quaternion_Exp},
+		{"Quaternion_Norm", Polycore_Quaternion_Norm},
+		{"Quaternion_normalize", Polycore_Quaternion_normalize},
+		{"Quaternion_lookAt", Polycore_Quaternion_lookAt},
+		{"Quaternion_createFromMatrix", Polycore_Quaternion_createFromMatrix},
+		{"Quaternion_Squad", Polycore_Quaternion_Squad},
+		{"Quaternion_Inverse", Polycore_Quaternion_Inverse},
+		{"Quaternion_set", Polycore_Quaternion_set},
+		{"Quaternion_inverse", Polycore_Quaternion_inverse},
+		{"Quaternion_InvSqrt", Polycore_Quaternion_InvSqrt},
+		{"Quaternion_fromAxes", Polycore_Quaternion_fromAxes},
+		{"Quaternion_FromAngleAxis", Polycore_Quaternion_FromAngleAxis},
+		{"Quaternion_ToAngleAxis", Polycore_Quaternion_ToAngleAxis},
+		{"Quaternion_createFromAxisAngle", Polycore_Quaternion_createFromAxisAngle},
+		{"Quaternion_createMatrix", Polycore_Quaternion_createMatrix},
+		{"delete_Quaternion", Polycore_delete_Quaternion},
+		{"Label", Polycore_Label},
+		{"Label_setText", Polycore_Label_setText},
+		{"Label_getText", Polycore_Label_getText},
+		{"Label_getTextWidth", Polycore_Label_getTextWidth},
+		{"Label_getTextHeight", Polycore_Label_getTextHeight},
+		{"Label_getFont", Polycore_Label_getFont},
+		{"delete_Label", Polycore_delete_Label},
+		{"ScreenLine", Polycore_ScreenLine},
+		{"ScreenLine_Update", Polycore_ScreenLine_Update},
+		{"ScreenLine_Render", Polycore_ScreenLine_Render},
+		{"ScreenLine_setLineWidth", Polycore_ScreenLine_setLineWidth},
+		{"delete_ScreenLine", Polycore_delete_ScreenLine},
+		{"ScreenSoundListener", Polycore_ScreenSoundListener},
+		{"ScreenSoundListener_Update", Polycore_ScreenSoundListener_Update},
+		{"delete_ScreenSoundListener", Polycore_delete_ScreenSoundListener},
+		{"ScreenSound", Polycore_ScreenSound},
+		{"ScreenSound_Update", Polycore_ScreenSound_Update},
+		{"ScreenSound_getSound", Polycore_ScreenSound_getSound},
+		{"delete_ScreenSound", Polycore_delete_ScreenSound},
+		{"String_get_contents", Polycore_String_get_contents},
+		{"String_get_s_contents", Polycore_String_get_s_contents},
+		{"String", Polycore_String},
+		{"String_size", Polycore_String_size},
+		{"String_length", Polycore_String_length},
+		{"String_getSTLString", Polycore_String_getSTLString},
+		{"String_getSTLWString", Polycore_String_getSTLWString},
+		{"String_substr", Polycore_String_substr},
+		{"String_rfind", Polycore_String_rfind},
+		{"String_find", Polycore_String_find},
+		{"String_find_last_of", Polycore_String_find_last_of},
+		{"String_toLowerCase", Polycore_String_toLowerCase},
+		{"String_toUpperCase", Polycore_String_toUpperCase},
+		{"String_replace", Polycore_String_replace},
+		{"String_NumberToString", Polycore_String_NumberToString},
+		{"String_IntToString", Polycore_String_IntToString},
+		{"String_c_str", Polycore_String_c_str},
+		{"String_wc_str", Polycore_String_wc_str},
+		{"String_data", Polycore_String_data},
+		{"String_getDataWithEncoding", Polycore_String_getDataWithEncoding},
+		{"String_getDataSizeWithEncoding", Polycore_String_getDataSizeWithEncoding},
+		{"String_setDataWithEncoding", Polycore_String_setDataWithEncoding},
+		{"delete_String", Polycore_delete_String},
+		{"PolycodeModule", Polycore_PolycodeModule},
+		{"PolycodeModule_getType", Polycore_PolycodeModule_getType},
+		{"delete_PolycodeModule", Polycore_delete_PolycodeModule},
+		{"PolycodeViewBase", Polycore_PolycodeViewBase},
+		{"delete_PolycodeViewBase", Polycore_delete_PolycodeViewBase},
+		{"Core_Update", Polycore_Core_Update},
+		{"Core_enableMouse", Polycore_Core_enableMouse},
+		{"Core_setCursor", Polycore_Core_setCursor},
+		{"Core_createThread", Polycore_Core_createThread},
+		{"Core_lockMutex", Polycore_Core_lockMutex},
+		{"Core_unlockMutex", Polycore_Core_unlockMutex},
+		{"Core_createMutex", Polycore_Core_createMutex},
+		{"Core_copyStringToClipboard", Polycore_Core_copyStringToClipboard},
+		{"Core_getClipboardString", Polycore_Core_getClipboardString},
+		{"Core_getServices", Polycore_Core_getServices},
+		{"Core_getFPS", Polycore_Core_getFPS},
+		{"Core_Shutdown", Polycore_Core_Shutdown},
+		{"Core_isFullscreen", Polycore_Core_isFullscreen},
+		{"Core_getAALevel", Polycore_Core_getAALevel},
+		{"Core_getInput", Polycore_Core_getInput},
+		{"Core_getXRes", Polycore_Core_getXRes},
+		{"Core_getYRes", Polycore_Core_getYRes},
+		{"Core_getNumVideoModes", Polycore_Core_getNumVideoModes},
+		{"Core_createFolder", Polycore_Core_createFolder},
+		{"Core_copyDiskItem", Polycore_Core_copyDiskItem},
+		{"Core_moveDiskItem", Polycore_Core_moveDiskItem},
+		{"Core_removeDiskItem", Polycore_Core_removeDiskItem},
+		{"Core_openFolderPicker", Polycore_Core_openFolderPicker},
+		{"Core_setVideoModeIndex", Polycore_Core_setVideoModeIndex},
+		{"Core_setVideoMode", Polycore_Core_setVideoMode},
+		{"Core_resizeTo", Polycore_Core_resizeTo},
+		{"Core_doSleep", Polycore_Core_doSleep},
+		{"Core_getElapsed", Polycore_Core_getElapsed},
+		{"Core_getTicks", Polycore_Core_getTicks},
+		{"Core_getTicksFloat", Polycore_Core_getTicksFloat},
+		{"Core_setUserPointer", Polycore_Core_setUserPointer},
+		{"Core_getUserPointer", Polycore_Core_getUserPointer},
+		{"delete_Core", Polycore_delete_Core},
+		{"InputEvent_get_mouseButton", Polycore_InputEvent_get_mouseButton},
+		{"InputEvent_get_mousePosition", Polycore_InputEvent_get_mousePosition},
+		{"InputEvent_get_key", Polycore_InputEvent_get_key},
+		{"InputEvent_get_charCode", Polycore_InputEvent_get_charCode},
+		{"InputEvent_get_timestamp", Polycore_InputEvent_get_timestamp},
+		{"InputEvent_set_mouseButton", Polycore_InputEvent_set_mouseButton},
+		{"InputEvent_set_timestamp", Polycore_InputEvent_set_timestamp},
+		{"InputEvent", Polycore_InputEvent},
+		{"InputEvent_getMousePosition", Polycore_InputEvent_getMousePosition},
+		{"InputEvent_getKey", Polycore_InputEvent_getKey},
+		{"InputEvent_getMouseButton", Polycore_InputEvent_getMouseButton},
+		{"InputEvent_keyCode", Polycore_InputEvent_keyCode},
+		{"delete_InputEvent", Polycore_delete_InputEvent},
+		{"Mesh_get_useVertexColors", Polycore_Mesh_get_useVertexColors},
+		{"Mesh_set_useVertexColors", Polycore_Mesh_set_useVertexColors},
+		{"Mesh", Polycore_Mesh},
+		{"Mesh_addPolygon", Polycore_Mesh_addPolygon},
+		{"Mesh_loadMesh", Polycore_Mesh_loadMesh},
+		{"Mesh_saveToFile", Polycore_Mesh_saveToFile},
+		{"Mesh_loadFromFile", Polycore_Mesh_loadFromFile},
+		{"Mesh_getPolygonCount", Polycore_Mesh_getPolygonCount},
+		{"Mesh_getVertexCount", Polycore_Mesh_getVertexCount},
+		{"Mesh_getPolygon", Polycore_Mesh_getPolygon},
+		{"Mesh_createPlane", Polycore_Mesh_createPlane},
+		{"Mesh_createVPlane", Polycore_Mesh_createVPlane},
+		{"Mesh_createTorus", Polycore_Mesh_createTorus},
+		{"Mesh_createBox", Polycore_Mesh_createBox},
+		{"Mesh_createSphere", Polycore_Mesh_createSphere},
+		{"Mesh_createCylinder", Polycore_Mesh_createCylinder},
+		{"Mesh_createCone", Polycore_Mesh_createCone},
+		{"Mesh_recenterMesh", Polycore_Mesh_recenterMesh},
+		{"Mesh_useVertexNormals", Polycore_Mesh_useVertexNormals},
+		{"Mesh_setVertexBuffer", Polycore_Mesh_setVertexBuffer},
+		{"Mesh_getVertexBuffer", Polycore_Mesh_getVertexBuffer},
+		{"Mesh_getRadius", Polycore_Mesh_getRadius},
+		{"Mesh_calculateNormals", Polycore_Mesh_calculateNormals},
+		{"Mesh_getMeshType", Polycore_Mesh_getMeshType},
+		{"Mesh_setMeshType", Polycore_Mesh_setMeshType},
+		{"Mesh_calculateBBox", Polycore_Mesh_calculateBBox},
+		{"Mesh_hasVertexBuffer", Polycore_Mesh_hasVertexBuffer},
+		{"delete_Mesh", Polycore_delete_Mesh},
+		{"VertexBuffer_get_verticesPerFace", Polycore_VertexBuffer_get_verticesPerFace},
+		{"VertexBuffer_get_meshType", Polycore_VertexBuffer_get_meshType},
+		{"VertexBuffer_set_verticesPerFace", Polycore_VertexBuffer_set_verticesPerFace},
+		{"VertexBuffer_set_meshType", Polycore_VertexBuffer_set_meshType},
+		{"VertexBuffer", Polycore_VertexBuffer},
+		{"VertexBuffer_getVertexCount", Polycore_VertexBuffer_getVertexCount},
+		{"delete_VertexBuffer", Polycore_delete_VertexBuffer},
+		{"MaterialManager", Polycore_MaterialManager},
+		{"MaterialManager_Update", Polycore_MaterialManager_Update},
+		{"MaterialManager_createFramebufferTexture", Polycore_MaterialManager_createFramebufferTexture},
+		{"MaterialManager_createTexture", Polycore_MaterialManager_createTexture},
+		{"MaterialManager_createNewTexture", Polycore_MaterialManager_createNewTexture},
+		{"MaterialManager_createTextureFromImage", Polycore_MaterialManager_createTextureFromImage},
+		{"MaterialManager_createTextureFromFile", Polycore_MaterialManager_createTextureFromFile},
+		{"MaterialManager_deleteTexture", Polycore_MaterialManager_deleteTexture},
+		{"MaterialManager_reloadTextures", Polycore_MaterialManager_reloadTextures},
+		{"MaterialManager_reloadProgramsAndTextures", Polycore_MaterialManager_reloadProgramsAndTextures},
+		{"MaterialManager_reloadPrograms", Polycore_MaterialManager_reloadPrograms},
+		{"MaterialManager_addShaderModule", Polycore_MaterialManager_addShaderModule},
+		{"MaterialManager_getTextureByResourcePath", Polycore_MaterialManager_getTextureByResourcePath},
+		{"MaterialManager_cubemapFromXMLNode", Polycore_MaterialManager_cubemapFromXMLNode},
+		{"MaterialManager_loadMaterialsFromFile", Polycore_MaterialManager_loadMaterialsFromFile},
+		{"MaterialManager_materialFromXMLNode", Polycore_MaterialManager_materialFromXMLNode},
+		{"MaterialManager_setShaderFromXMLNode", Polycore_MaterialManager_setShaderFromXMLNode},
+		{"MaterialManager_createShaderFromXMLNode", Polycore_MaterialManager_createShaderFromXMLNode},
+		{"delete_MaterialManager", Polycore_delete_MaterialManager},
+		{"BezierCurve", Polycore_BezierCurve},
+		{"BezierCurve_getControlPoint", Polycore_BezierCurve_getControlPoint},
+		{"BezierCurve_getNumControlPoints", Polycore_BezierCurve_getNumControlPoints},
+		{"BezierCurve_addControlPoint", Polycore_BezierCurve_addControlPoint},
+		{"BezierCurve_addControlPoint3dWithHandles", Polycore_BezierCurve_addControlPoint3dWithHandles},
+		{"BezierCurve_addControlPoint3d", Polycore_BezierCurve_addControlPoint3d},
+		{"BezierCurve_addControlPoint2dWithHandles", Polycore_BezierCurve_addControlPoint2dWithHandles},
+		{"BezierCurve_addControlPoint2d", Polycore_BezierCurve_addControlPoint2d},
+		{"BezierCurve_getHeightAt", Polycore_BezierCurve_getHeightAt},
+		{"BezierCurve_getPointAt", Polycore_BezierCurve_getPointAt},
+		{"BezierCurve_getPointBetween", Polycore_BezierCurve_getPointBetween},
+		{"BezierCurve_rebuildBuffers", Polycore_BezierCurve_rebuildBuffers},
+		{"delete_BezierCurve", Polycore_delete_BezierCurve},
+		{"ScreenShape_get_strokeEnabled", Polycore_ScreenShape_get_strokeEnabled},
+		{"ScreenShape_get_strokeColor", Polycore_ScreenShape_get_strokeColor},
+		{"ScreenShape_get_lineSmooth", Polycore_ScreenShape_get_lineSmooth},
+		{"ScreenShape_set_strokeEnabled", Polycore_ScreenShape_set_strokeEnabled},
+		{"ScreenShape_set_lineSmooth", Polycore_ScreenShape_set_lineSmooth},
+		{"ScreenShape", Polycore_ScreenShape},
+		{"ScreenShape_Render", Polycore_ScreenShape_Render},
+		{"ScreenShape_setStrokeColor", Polycore_ScreenShape_setStrokeColor},
+		{"ScreenShape_setStrokeWidth", Polycore_ScreenShape_setStrokeWidth},
+		{"ScreenShape_setGradient", Polycore_ScreenShape_setGradient},
+		{"ScreenShape_clearGradient", Polycore_ScreenShape_clearGradient},
+		{"ScreenShape_setShapeSize", Polycore_ScreenShape_setShapeSize},
+		{"ScreenShape_addShapePoint", Polycore_ScreenShape_addShapePoint},
+		{"delete_ScreenShape", Polycore_delete_ScreenShape},
+		{"ScreenParticleEmitter", Polycore_ScreenParticleEmitter},
+		{"ScreenParticleEmitter_getEmitter", Polycore_ScreenParticleEmitter_getEmitter},
+		{"ScreenParticleEmitter_addParticleBody", Polycore_ScreenParticleEmitter_addParticleBody},
+		{"ScreenParticleEmitter_getBaseMatrix", Polycore_ScreenParticleEmitter_getBaseMatrix},
+		{"ScreenParticleEmitter_Update", Polycore_ScreenParticleEmitter_Update},
+		{"delete_ScreenParticleEmitter", Polycore_delete_ScreenParticleEmitter},
+		{"SceneParticleEmitter", Polycore_SceneParticleEmitter},
+		{"SceneParticleEmitter_getEmitter", Polycore_SceneParticleEmitter_getEmitter},
+		{"SceneParticleEmitter_respawnSceneParticles", Polycore_SceneParticleEmitter_respawnSceneParticles},
+		{"SceneParticleEmitter_addParticleBody", Polycore_SceneParticleEmitter_addParticleBody},
+		{"SceneParticleEmitter_getBaseMatrix", Polycore_SceneParticleEmitter_getBaseMatrix},
+		{"SceneParticleEmitter_Update", Polycore_SceneParticleEmitter_Update},
+		{"delete_SceneParticleEmitter", Polycore_delete_SceneParticleEmitter},
+		{"ParticleEmitter_get_particleSpeedMod", Polycore_ParticleEmitter_get_particleSpeedMod},
+		{"ParticleEmitter_get_brightnessDeviation", Polycore_ParticleEmitter_get_brightnessDeviation},
+		{"ParticleEmitter_get_deviation", Polycore_ParticleEmitter_get_deviation},
+		{"ParticleEmitter_get_dirVector", Polycore_ParticleEmitter_get_dirVector},
+		{"ParticleEmitter_get_gravVector", Polycore_ParticleEmitter_get_gravVector},
+		{"ParticleEmitter_get_lifespan", Polycore_ParticleEmitter_get_lifespan},
+		{"ParticleEmitter_get_rotationFollowsPath", Polycore_ParticleEmitter_get_rotationFollowsPath},
+		{"ParticleEmitter_get_scaleCurve", Polycore_ParticleEmitter_get_scaleCurve},
+		{"ParticleEmitter_get_colorCurveR", Polycore_ParticleEmitter_get_colorCurveR},
+		{"ParticleEmitter_get_colorCurveG", Polycore_ParticleEmitter_get_colorCurveG},
+		{"ParticleEmitter_get_colorCurveB", Polycore_ParticleEmitter_get_colorCurveB},
+		{"ParticleEmitter_get_colorCurveA", Polycore_ParticleEmitter_get_colorCurveA},
+		{"ParticleEmitter_get_useColorCurves", Polycore_ParticleEmitter_get_useColorCurves},
+		{"ParticleEmitter_get_useScaleCurves", Polycore_ParticleEmitter_get_useScaleCurves},
+		{"ParticleEmitter_set_particleSpeedMod", Polycore_ParticleEmitter_set_particleSpeedMod},
+		{"ParticleEmitter_set_brightnessDeviation", Polycore_ParticleEmitter_set_brightnessDeviation},
+		{"ParticleEmitter_set_lifespan", Polycore_ParticleEmitter_set_lifespan},
+		{"ParticleEmitter_set_rotationFollowsPath", Polycore_ParticleEmitter_set_rotationFollowsPath},
+		{"ParticleEmitter_set_useColorCurves", Polycore_ParticleEmitter_set_useColorCurves},
+		{"ParticleEmitter_set_useScaleCurves", Polycore_ParticleEmitter_set_useScaleCurves},
+		{"ParticleEmitter", Polycore_ParticleEmitter},
+		{"ParticleEmitter_createParticles", Polycore_ParticleEmitter_createParticles},
+		{"ParticleEmitter_setRotationSpeed", Polycore_ParticleEmitter_setRotationSpeed},
+		{"ParticleEmitter_setParticleBlendingMode", Polycore_ParticleEmitter_setParticleBlendingMode},
+		{"ParticleEmitter_setDepthWrite", Polycore_ParticleEmitter_setDepthWrite},
+		{"ParticleEmitter_setDepthTest", Polycore_ParticleEmitter_setDepthTest},
+		{"ParticleEmitter_setAlphaTest", Polycore_ParticleEmitter_setAlphaTest},
+		{"ParticleEmitter_enablePerlin", Polycore_ParticleEmitter_enablePerlin},
+		{"ParticleEmitter_setParticleVisibility", Polycore_ParticleEmitter_setParticleVisibility},
+		{"ParticleEmitter_setPerlinModSize", Polycore_ParticleEmitter_setPerlinModSize},
+		{"ParticleEmitter_setBillboardMode", Polycore_ParticleEmitter_setBillboardMode},
+		{"ParticleEmitter_enableEmitter", Polycore_ParticleEmitter_enableEmitter},
+		{"ParticleEmitter_emitterEnabled", Polycore_ParticleEmitter_emitterEnabled},
+		{"ParticleEmitter_setEmitterRadius", Polycore_ParticleEmitter_setEmitterRadius},
+		{"ParticleEmitter_setAllAtOnce", Polycore_ParticleEmitter_setAllAtOnce},
+		{"ParticleEmitter_Trigger", Polycore_ParticleEmitter_Trigger},
+		{"ParticleEmitter_resetParticle", Polycore_ParticleEmitter_resetParticle},
+		{"ParticleEmitter_setParticleCount", Polycore_ParticleEmitter_setParticleCount},
+		{"ParticleEmitter_addParticleBody", Polycore_ParticleEmitter_addParticleBody},
+		{"ParticleEmitter_getBaseMatrix", Polycore_ParticleEmitter_getBaseMatrix},
+		{"ParticleEmitter_updateEmitter", Polycore_ParticleEmitter_updateEmitter},
+		{"delete_ParticleEmitter", Polycore_delete_ParticleEmitter},
+		{"Data", Polycore_Data},
+		{"Data_loadFromFile", Polycore_Data_loadFromFile},
+		{"Data_getAsString", Polycore_Data_getAsString},
+		{"Data_setFromString", Polycore_Data_setFromString},
+		{"Data_saveToFile", Polycore_Data_saveToFile},
+		{"Data_getData", Polycore_Data_getData},
+		{"delete_Data", Polycore_delete_Data},
+		{"ScreenEntity_get_hasFocus", Polycore_ScreenEntity_get_hasFocus},
+		{"ScreenEntity_get_blockMouseInput", Polycore_ScreenEntity_get_blockMouseInput},
+		{"ScreenEntity_get_zindex", Polycore_ScreenEntity_get_zindex},
+		{"ScreenEntity_get_snapToPixels", Polycore_ScreenEntity_get_snapToPixels},
+		{"ScreenEntity_set_hasFocus", Polycore_ScreenEntity_set_hasFocus},
+		{"ScreenEntity_set_blockMouseInput", Polycore_ScreenEntity_set_blockMouseInput},
+		{"ScreenEntity_set_zindex", Polycore_ScreenEntity_set_zindex},
+		{"ScreenEntity_set_snapToPixels", Polycore_ScreenEntity_set_snapToPixels},
+		{"ScreenEntity", Polycore_ScreenEntity},
+		{"ScreenEntity_setPosition", Polycore_ScreenEntity_setPosition},
+		{"ScreenEntity_setScale", Polycore_ScreenEntity_setScale},
+		{"ScreenEntity_setRotation", Polycore_ScreenEntity_setRotation},
+		{"ScreenEntity_getRotation", Polycore_ScreenEntity_getRotation},
+		{"ScreenEntity__onMouseDown", Polycore_ScreenEntity__onMouseDown},
+		{"ScreenEntity__onMouseUp", Polycore_ScreenEntity__onMouseUp},
+		{"ScreenEntity__onMouseMove", Polycore_ScreenEntity__onMouseMove},
+		{"ScreenEntity__onMouseWheelUp", Polycore_ScreenEntity__onMouseWheelUp},
+		{"ScreenEntity__onMouseWheelDown", Polycore_ScreenEntity__onMouseWheelDown},
+		{"ScreenEntity_onMouseDown", Polycore_ScreenEntity_onMouseDown},
+		{"ScreenEntity_onMouseUp", Polycore_ScreenEntity_onMouseUp},
+		{"ScreenEntity_onMouseMove", Polycore_ScreenEntity_onMouseMove},
+		{"ScreenEntity_onMouseWheelUp", Polycore_ScreenEntity_onMouseWheelUp},
+		{"ScreenEntity_onMouseWheelDown", Polycore_ScreenEntity_onMouseWheelDown},
+		{"ScreenEntity__onKeyDown", Polycore_ScreenEntity__onKeyDown},
+		{"ScreenEntity__onKeyUp", Polycore_ScreenEntity__onKeyUp},
+		{"ScreenEntity_onKeyDown", Polycore_ScreenEntity_onKeyDown},
+		{"ScreenEntity_onKeyUp", Polycore_ScreenEntity_onKeyUp},
+		{"ScreenEntity_hitTest", Polycore_ScreenEntity_hitTest},
+		{"ScreenEntity_buildPositionMatrix", Polycore_ScreenEntity_buildPositionMatrix},
+		{"ScreenEntity_adjustMatrixForChildren", Polycore_ScreenEntity_adjustMatrixForChildren},
+		{"ScreenEntity_getWidth", Polycore_ScreenEntity_getWidth},
+		{"ScreenEntity_getHeight", Polycore_ScreenEntity_getHeight},
+		{"ScreenEntity_setWidth", Polycore_ScreenEntity_setWidth},
+		{"ScreenEntity_setHeight", Polycore_ScreenEntity_setHeight},
+		{"ScreenEntity_onGainFocus", Polycore_ScreenEntity_onGainFocus},
+		{"ScreenEntity_onLoseFocus", Polycore_ScreenEntity_onLoseFocus},
+		{"ScreenEntity_startDrag", Polycore_ScreenEntity_startDrag},
+		{"ScreenEntity_stopDrag", Polycore_ScreenEntity_stopDrag},
+		{"ScreenEntity_setBlendingMode", Polycore_ScreenEntity_setBlendingMode},
+		{"ScreenEntity_setPositionMode", Polycore_ScreenEntity_setPositionMode},
+		{"ScreenEntity_setDragLimits", Polycore_ScreenEntity_setDragLimits},
+		{"ScreenEntity_clearDragLimits", Polycore_ScreenEntity_clearDragLimits},
+		{"ScreenEntity_focusChild", Polycore_ScreenEntity_focusChild},
+		{"ScreenEntity_focusNextChild", Polycore_ScreenEntity_focusNextChild},
+		{"ScreenEntity_getPosition2D", Polycore_ScreenEntity_getPosition2D},
+		{"ScreenEntity_isFocusable", Polycore_ScreenEntity_isFocusable},
+		{"delete_ScreenEntity", Polycore_delete_ScreenEntity},
+		{"Timer", Polycore_Timer},
+		{"Timer_Pause", Polycore_Timer_Pause},
+		{"Timer_isPaused", Polycore_Timer_isPaused},
+		{"Timer_getTicks", Polycore_Timer_getTicks},
+		{"Timer_Update", Polycore_Timer_Update},
+		{"Timer_Reset", Polycore_Timer_Reset},
+		{"Timer_hasElapsed", Polycore_Timer_hasElapsed},
+		{"Timer_getElapsedf", Polycore_Timer_getElapsedf},
+		{"delete_Timer", Polycore_delete_Timer},
+		{"CoreInput", Polycore_CoreInput},
+		{"CoreInput_getMousePosition", Polycore_CoreInput_getMousePosition},
+		{"CoreInput_getKeyState", Polycore_CoreInput_getKeyState},
+		{"CoreInput_getMouseDelta", Polycore_CoreInput_getMouseDelta},
+		{"CoreInput_getMouseButtonState", Polycore_CoreInput_getMouseButtonState},
+		{"CoreInput_mouseWheelUp", Polycore_CoreInput_mouseWheelUp},
+		{"CoreInput_mouseWheelDown", Polycore_CoreInput_mouseWheelDown},
+		{"CoreInput_setMouseButtonState", Polycore_CoreInput_setMouseButtonState},
+		{"CoreInput_setMousePosition", Polycore_CoreInput_setMousePosition},
+		{"CoreInput_setKeyState", Polycore_CoreInput_setKeyState},
+		{"CoreInput_setDeltaPosition", Polycore_CoreInput_setDeltaPosition},
+		{"CoreInput_createEvent", Polycore_CoreInput_createEvent},
+		{"delete_CoreInput", Polycore_delete_CoreInput},
+		{"OSFILE_get_fileType", Polycore_OSFILE_get_fileType},
+		{"OSFILE_set_fileType", Polycore_OSFILE_set_fileType},
+		{"OSFILE", Polycore_OSFILE},
+		{"OSFILE_debugDump", Polycore_OSFILE_debugDump},
+		{"delete_OSFILE", Polycore_delete_OSFILE},
+		{"OSFileEntry_get_name", Polycore_OSFileEntry_get_name},
+		{"OSFileEntry_get_extension", Polycore_OSFileEntry_get_extension},
+		{"OSFileEntry_get_nameWithoutExtension", Polycore_OSFileEntry_get_nameWithoutExtension},
+		{"OSFileEntry_get_basePath", Polycore_OSFileEntry_get_basePath},
+		{"OSFileEntry_get_fullPath", Polycore_OSFileEntry_get_fullPath},
+		{"OSFileEntry_get_type", Polycore_OSFileEntry_get_type},
+		{"OSFileEntry_set_name", Polycore_OSFileEntry_set_name},
+		{"OSFileEntry_set_extension", Polycore_OSFileEntry_set_extension},
+		{"OSFileEntry_set_nameWithoutExtension", Polycore_OSFileEntry_set_nameWithoutExtension},
+		{"OSFileEntry_set_basePath", Polycore_OSFileEntry_set_basePath},
+		{"OSFileEntry_set_fullPath", Polycore_OSFileEntry_set_fullPath},
+		{"OSFileEntry_set_type", Polycore_OSFileEntry_set_type},
+		{"OSFileEntry", Polycore_OSFileEntry},
+		{"delete_OSFileEntry", Polycore_delete_OSFileEntry},
+		{"OSBasics_open", Polycore_OSBasics_open},
+		{"OSBasics_close", Polycore_OSBasics_close},
+		{"OSBasics_read", Polycore_OSBasics_read},
+		{"OSBasics_write", Polycore_OSBasics_write},
+		{"OSBasics_seek", Polycore_OSBasics_seek},
+		{"OSBasics_tell", Polycore_OSBasics_tell},
+		{"OSBasics_isFolder", Polycore_OSBasics_isFolder},
+		{"OSBasics_createFolder", Polycore_OSBasics_createFolder},
+		{"OSBasics_removeItem", Polycore_OSBasics_removeItem},
+		{"delete_OSBasics", Polycore_delete_OSBasics},
+		{"Polygon_get_useVertexNormals", Polycore_Polygon_get_useVertexNormals},
+		{"Polygon_set_useVertexNormals", Polycore_Polygon_set_useVertexNormals},
+		{"Polygon", Polycore_Polygon},
+		{"Polygon_getVertexCount", Polycore_Polygon_getVertexCount},
+		{"Polygon_getVertex", Polycore_Polygon_getVertex},
+		{"Polygon_addVertex", Polycore_Polygon_addVertex},
+		{"Polygon_removeVertex", Polycore_Polygon_removeVertex},
+		{"Polygon_calculateNormal", Polycore_Polygon_calculateNormal},
+		{"Polygon_getFaceNormal", Polycore_Polygon_getFaceNormal},
+		{"Polygon_getBounds2D", Polycore_Polygon_getBounds2D},
+		{"Polygon_setNormal", Polycore_Polygon_setNormal},
+		{"Polygon_flipUVY", Polycore_Polygon_flipUVY},
+		{"delete_Polygon", Polycore_delete_Polygon},
+		{"Font_get_loaded", Polycore_Font_get_loaded},
+		{"Font_set_loaded", Polycore_Font_set_loaded},
+		{"Font", Polycore_Font},
+		{"Font_getFace", Polycore_Font_getFace},
+		{"Font_isValid", Polycore_Font_isValid},
+		{"delete_Font", Polycore_delete_Font},
+		{"Entity_get_custEntityType", Polycore_Entity_get_custEntityType},
+		{"Entity_get_billboardMode", Polycore_Entity_get_billboardMode},
+		{"Entity_get_billboardRoll", Polycore_Entity_get_billboardRoll},
+		{"Entity_get_alphaTest", Polycore_Entity_get_alphaTest},
+		{"Entity_get_backfaceCulled", Polycore_Entity_get_backfaceCulled},
+		{"Entity_get_renderWireframe", Polycore_Entity_get_renderWireframe},
+		{"Entity_get_color", Polycore_Entity_get_color},
+		{"Entity_get_enabled", Polycore_Entity_get_enabled},
+		{"Entity_get_visible", Polycore_Entity_get_visible},
+		{"Entity_get_depthWrite", Polycore_Entity_get_depthWrite},
+		{"Entity_get_depthTest", Polycore_Entity_get_depthTest},
+		{"Entity_get_blendingMode", Polycore_Entity_get_blendingMode},
+		{"Entity_get_colorAffectsChildren", Polycore_Entity_get_colorAffectsChildren},
+		{"Entity_get_visibilityAffectsChildren", Polycore_Entity_get_visibilityAffectsChildren},
+		{"Entity_get_depthOnly", Polycore_Entity_get_depthOnly},
+		{"Entity_get_bBox", Polycore_Entity_get_bBox},
+		{"Entity_get_ignoreParentMatrix", Polycore_Entity_get_ignoreParentMatrix},
+		{"Entity_get_isMask", Polycore_Entity_get_isMask},
+		{"Entity_set_custEntityType", Polycore_Entity_set_custEntityType},
+		{"Entity_set_billboardMode", Polycore_Entity_set_billboardMode},
+		{"Entity_set_billboardRoll", Polycore_Entity_set_billboardRoll},
+		{"Entity_set_alphaTest", Polycore_Entity_set_alphaTest},
+		{"Entity_set_backfaceCulled", Polycore_Entity_set_backfaceCulled},
+		{"Entity_set_renderWireframe", Polycore_Entity_set_renderWireframe},
+		{"Entity_set_enabled", Polycore_Entity_set_enabled},
+		{"Entity_set_visible", Polycore_Entity_set_visible},
+		{"Entity_set_depthWrite", Polycore_Entity_set_depthWrite},
+		{"Entity_set_depthTest", Polycore_Entity_set_depthTest},
+		{"Entity_set_blendingMode", Polycore_Entity_set_blendingMode},
+		{"Entity_set_colorAffectsChildren", Polycore_Entity_set_colorAffectsChildren},
+		{"Entity_set_visibilityAffectsChildren", Polycore_Entity_set_visibilityAffectsChildren},
+		{"Entity_set_depthOnly", Polycore_Entity_set_depthOnly},
+		{"Entity_set_ignoreParentMatrix", Polycore_Entity_set_ignoreParentMatrix},
+		{"Entity_set_isMask", Polycore_Entity_set_isMask},
+		{"Entity", Polycore_Entity},
+		{"Entity_Render", Polycore_Entity_Render},
+		{"Entity_Update", Polycore_Entity_Update},
+		{"Entity_transformAndRender", Polycore_Entity_transformAndRender},
+		{"Entity_renderChildren", Polycore_Entity_renderChildren},
+		{"Entity_dirtyMatrix", Polycore_Entity_dirtyMatrix},
+		{"Entity_rebuildTransformMatrix", Polycore_Entity_rebuildTransformMatrix},
+		{"Entity_updateEntityMatrix", Polycore_Entity_updateEntityMatrix},
+		{"Entity_getTransformMatrix", Polycore_Entity_getTransformMatrix},
+		{"Entity_getConcatenatedMatrix", Polycore_Entity_getConcatenatedMatrix},
+		{"Entity_getConcatenatedRollMatrix", Polycore_Entity_getConcatenatedRollMatrix},
+		{"Entity_setTransformByMatrix", Polycore_Entity_setTransformByMatrix},
+		{"Entity_setTransformByMatrixPure", Polycore_Entity_setTransformByMatrixPure},
+		{"Entity_getLookAtMatrix", Polycore_Entity_getLookAtMatrix},
+		{"Entity_addEntity", Polycore_Entity_addEntity},
+		{"Entity_addChild", Polycore_Entity_addChild},
+		{"Entity_removeChild", Polycore_Entity_removeChild},
+		{"Entity_setParentEntity", Polycore_Entity_setParentEntity},
+		{"Entity_getParentEntity", Polycore_Entity_getParentEntity},
+		{"Entity_getPosition", Polycore_Entity_getPosition},
+		{"Entity_getCombinedPosition", Polycore_Entity_getCombinedPosition},
+		{"Entity_setPosition", Polycore_Entity_setPosition},
+		{"Entity_setPositionX", Polycore_Entity_setPositionX},
+		{"Entity_setPositionY", Polycore_Entity_setPositionY},
+		{"Entity_Translate", Polycore_Entity_Translate},
+		{"Entity_setPositionZ", Polycore_Entity_setPositionZ},
+		{"Entity_setScaleX", Polycore_Entity_setScaleX},
+		{"Entity_setScaleY", Polycore_Entity_setScaleY},
+		{"Entity_setScaleZ", Polycore_Entity_setScaleZ},
+		{"Entity_Scale", Polycore_Entity_Scale},
+		{"Entity_setScale", Polycore_Entity_setScale},
+		{"Entity_getCompoundScale", Polycore_Entity_getCompoundScale},
+		{"Entity_getScale", Polycore_Entity_getScale},
+		{"Entity_getCombinedPitch", Polycore_Entity_getCombinedPitch},
+		{"Entity_getCombinedYaw", Polycore_Entity_getCombinedYaw},
+		{"Entity_getCombinedRoll", Polycore_Entity_getCombinedRoll},
+		{"Entity_rebuildRotation", Polycore_Entity_rebuildRotation},
+		{"Entity_setPitch", Polycore_Entity_setPitch},
+		{"Entity_setYaw", Polycore_Entity_setYaw},
+		{"Entity_setRoll", Polycore_Entity_setRoll},
+		{"Entity_Roll", Polycore_Entity_Roll},
+		{"Entity_Yaw", Polycore_Entity_Yaw},
+		{"Entity_Pitch", Polycore_Entity_Pitch},
+		{"Entity_getPitch", Polycore_Entity_getPitch},
+		{"Entity_getYaw", Polycore_Entity_getYaw},
+		{"Entity_getRoll", Polycore_Entity_getRoll},
+		{"Entity_setRotationQuat", Polycore_Entity_setRotationQuat},
+		{"Entity_getRotationQuat", Polycore_Entity_getRotationQuat},
+		{"Entity_lookAt", Polycore_Entity_lookAt},
+		{"Entity_lookAtEntity", Polycore_Entity_lookAtEntity},
+		{"Entity_getCombinedColor", Polycore_Entity_getCombinedColor},
+		{"Entity_setColor", Polycore_Entity_setColor},
+		{"Entity_setColorInt", Polycore_Entity_setColorInt},
+		{"Entity_recalculateBBox", Polycore_Entity_recalculateBBox},
+		{"Entity_getBBoxRadius", Polycore_Entity_getBBoxRadius},
+		{"Entity_getCompoundBBoxRadius", Polycore_Entity_getCompoundBBoxRadius},
+		{"Entity_setBBoxRadius", Polycore_Entity_setBBoxRadius},
+		{"Entity_setMask", Polycore_Entity_setMask},
+		{"Entity_clearMask", Polycore_Entity_clearMask},
+		{"Entity_setBlendingMode", Polycore_Entity_setBlendingMode},
+		{"Entity_getChildCenter", Polycore_Entity_getChildCenter},
+		{"Entity_getEntityProp", Polycore_Entity_getEntityProp},
+		{"Entity_doUpdates", Polycore_Entity_doUpdates},
+		{"Entity_buildPositionMatrix", Polycore_Entity_buildPositionMatrix},
+		{"Entity_adjustMatrixForChildren", Polycore_Entity_adjustMatrixForChildren},
+		{"Entity_setRenderer", Polycore_Entity_setRenderer},
+		{"delete_Entity", Polycore_delete_Entity},
+		{"Material_get_specularValue", Polycore_Material_get_specularValue},
+		{"Material_get_specularColor", Polycore_Material_get_specularColor},
+		{"Material_get_diffuseColor", Polycore_Material_get_diffuseColor},
+		{"Material_set_specularValue", Polycore_Material_set_specularValue},
+		{"Material", Polycore_Material},
+		{"Material_addShader", Polycore_Material_addShader},
+		{"Material_getNumShaders", Polycore_Material_getNumShaders},
+		{"Material_addShaderRenderTarget", Polycore_Material_addShaderRenderTarget},
+		{"Material_getNumShaderRenderTargets", Polycore_Material_getNumShaderRenderTargets},
+		{"Material_getShaderRenderTarget", Polycore_Material_getShaderRenderTarget},
+		{"Material_getName", Polycore_Material_getName},
+		{"Material_getShader", Polycore_Material_getShader},
+		{"Material_getShaderBinding", Polycore_Material_getShaderBinding},
+		{"Material_loadMaterial", Polycore_Material_loadMaterial},
+		{"delete_Material", Polycore_delete_Material},
+		{"Color_get_r", Polycore_Color_get_r},
+		{"Color_get_g", Polycore_Color_get_g},
+		{"Color_get_b", Polycore_Color_get_b},
+		{"Color_get_a", Polycore_Color_get_a},
+		{"Color_set_r", Polycore_Color_set_r},
+		{"Color_set_g", Polycore_Color_set_g},
+		{"Color_set_b", Polycore_Color_set_b},
+		{"Color_set_a", Polycore_Color_set_a},
+		{"Color", Polycore_Color},
+		{"Color_setColorHex", Polycore_Color_setColorHex},
+		{"Color_setColorHexRGB", Polycore_Color_setColorHexRGB},
+		{"Color_setColorHSV", Polycore_Color_setColorHSV},
+		{"Color_setColorRGBA", Polycore_Color_setColorRGBA},
+		{"Color_setColorRGB", Polycore_Color_setColorRGB},
+		{"Color_setColor", Polycore_Color_setColor},
+		{"Color_Random", Polycore_Color_Random},
+		{"Color_getBrightness", Polycore_Color_getBrightness},
+		{"Color_getUint", Polycore_Color_getUint},
+		{"delete_Color", Polycore_delete_Color},
 		{"ScreenCurve", Polycore_ScreenCurve},
 		{"delete_ScreenCurve", Polycore_delete_ScreenCurve},
-		{"ScreenEntity_get_hasFocus", Polycore_ScreenEntity_get_hasFocus},
-		{"ScreenEntity_get_blockMouseInput", Polycore_ScreenEntity_get_blockMouseInput},
-		{"ScreenEntity_get_zindex", Polycore_ScreenEntity_get_zindex},
-		{"ScreenEntity_get_snapToPixels", Polycore_ScreenEntity_get_snapToPixels},
-		{"ScreenEntity_set_hasFocus", Polycore_ScreenEntity_set_hasFocus},
-		{"ScreenEntity_set_blockMouseInput", Polycore_ScreenEntity_set_blockMouseInput},
-		{"ScreenEntity_set_zindex", Polycore_ScreenEntity_set_zindex},
-		{"ScreenEntity_set_snapToPixels", Polycore_ScreenEntity_set_snapToPixels},
-		{"ScreenEntity", Polycore_ScreenEntity},
-		{"ScreenEntity_setPosition", Polycore_ScreenEntity_setPosition},
-		{"ScreenEntity_setScale", Polycore_ScreenEntity_setScale},
-		{"ScreenEntity_setRotation", Polycore_ScreenEntity_setRotation},
-		{"ScreenEntity_getRotation", Polycore_ScreenEntity_getRotation},
-		{"ScreenEntity__onMouseDown", Polycore_ScreenEntity__onMouseDown},
-		{"ScreenEntity__onMouseUp", Polycore_ScreenEntity__onMouseUp},
-		{"ScreenEntity__onMouseMove", Polycore_ScreenEntity__onMouseMove},
-		{"ScreenEntity__onMouseWheelUp", Polycore_ScreenEntity__onMouseWheelUp},
-		{"ScreenEntity__onMouseWheelDown", Polycore_ScreenEntity__onMouseWheelDown},
-		{"ScreenEntity_onMouseDown", Polycore_ScreenEntity_onMouseDown},
-		{"ScreenEntity_onMouseUp", Polycore_ScreenEntity_onMouseUp},
-		{"ScreenEntity_onMouseMove", Polycore_ScreenEntity_onMouseMove},
-		{"ScreenEntity_onMouseWheelUp", Polycore_ScreenEntity_onMouseWheelUp},
-		{"ScreenEntity_onMouseWheelDown", Polycore_ScreenEntity_onMouseWheelDown},
-		{"ScreenEntity__onKeyDown", Polycore_ScreenEntity__onKeyDown},
-		{"ScreenEntity__onKeyUp", Polycore_ScreenEntity__onKeyUp},
-		{"ScreenEntity_onKeyDown", Polycore_ScreenEntity_onKeyDown},
-		{"ScreenEntity_onKeyUp", Polycore_ScreenEntity_onKeyUp},
-		{"ScreenEntity_hitTest", Polycore_ScreenEntity_hitTest},
-		{"ScreenEntity_buildPositionMatrix", Polycore_ScreenEntity_buildPositionMatrix},
-		{"ScreenEntity_adjustMatrixForChildren", Polycore_ScreenEntity_adjustMatrixForChildren},
-		{"ScreenEntity_getWidth", Polycore_ScreenEntity_getWidth},
-		{"ScreenEntity_getHeight", Polycore_ScreenEntity_getHeight},
-		{"ScreenEntity_setWidth", Polycore_ScreenEntity_setWidth},
-		{"ScreenEntity_setHeight", Polycore_ScreenEntity_setHeight},
-		{"ScreenEntity_onGainFocus", Polycore_ScreenEntity_onGainFocus},
-		{"ScreenEntity_onLoseFocus", Polycore_ScreenEntity_onLoseFocus},
-		{"ScreenEntity_startDrag", Polycore_ScreenEntity_startDrag},
-		{"ScreenEntity_stopDrag", Polycore_ScreenEntity_stopDrag},
-		{"ScreenEntity_setBlendingMode", Polycore_ScreenEntity_setBlendingMode},
-		{"ScreenEntity_setPositionMode", Polycore_ScreenEntity_setPositionMode},
-		{"ScreenEntity_setDragLimits", Polycore_ScreenEntity_setDragLimits},
-		{"ScreenEntity_clearDragLimits", Polycore_ScreenEntity_clearDragLimits},
-		{"ScreenEntity_focusChild", Polycore_ScreenEntity_focusChild},
-		{"ScreenEntity_focusNextChild", Polycore_ScreenEntity_focusNextChild},
-		{"ScreenEntity_getPosition2D", Polycore_ScreenEntity_getPosition2D},
-		{"ScreenEntity_isFocusable", Polycore_ScreenEntity_isFocusable},
-		{"delete_ScreenEntity", Polycore_delete_ScreenEntity},
-		{"ScreenEvent", Polycore_ScreenEvent},
-		{"delete_ScreenEvent", Polycore_delete_ScreenEvent},
-		{"ScreenImage", Polycore_ScreenImage},
-		{"ScreenImage_setImageCoordinates", Polycore_ScreenImage_setImageCoordinates},
-		{"ScreenImage_getImageWidth", Polycore_ScreenImage_getImageWidth},
-		{"ScreenImage_getImageHeight", Polycore_ScreenImage_getImageHeight},
-		{"delete_ScreenImage", Polycore_delete_ScreenImage},
-		{"ScreenLabel", Polycore_ScreenLabel},
-		{"ScreenLabel_addDropShadow", Polycore_ScreenLabel_addDropShadow},
-		{"ScreenLabel_setText", Polycore_ScreenLabel_setText},
-		{"ScreenLabel_getText", Polycore_ScreenLabel_getText},
-		{"ScreenLabel_getLabel", Polycore_ScreenLabel_getLabel},
-		{"delete_ScreenLabel", Polycore_delete_ScreenLabel},
-		{"ScreenLine", Polycore_ScreenLine},
-		{"ScreenLine_Update", Polycore_ScreenLine_Update},
-		{"ScreenLine_Render", Polycore_ScreenLine_Render},
-		{"ScreenLine_setLineWidth", Polycore_ScreenLine_setLineWidth},
-		{"delete_ScreenLine", Polycore_delete_ScreenLine},
-		{"ScreenManager", Polycore_ScreenManager},
-		{"ScreenManager_removeScreen", Polycore_ScreenManager_removeScreen},
-		{"ScreenManager_addScreen", Polycore_ScreenManager_addScreen},
-		{"ScreenManager_Update", Polycore_ScreenManager_Update},
-		{"delete_ScreenManager", Polycore_delete_ScreenManager},
-		{"ScreenMesh", Polycore_ScreenMesh},
-		{"ScreenMesh_Render", Polycore_ScreenMesh_Render},
-		{"ScreenMesh_getMesh", Polycore_ScreenMesh_getMesh},
-		{"ScreenMesh_getTexture", Polycore_ScreenMesh_getTexture},
-		{"ScreenMesh_loadTexture", Polycore_ScreenMesh_loadTexture},
-		{"ScreenMesh_setTexture", Polycore_ScreenMesh_setTexture},
-		{"delete_ScreenMesh", Polycore_delete_ScreenMesh},
-		{"ScreenShape_get_strokeEnabled", Polycore_ScreenShape_get_strokeEnabled},
-		{"ScreenShape_get_strokeColor", Polycore_ScreenShape_get_strokeColor},
-		{"ScreenShape_get_lineSmooth", Polycore_ScreenShape_get_lineSmooth},
-		{"ScreenShape_set_strokeEnabled", Polycore_ScreenShape_set_strokeEnabled},
-		{"ScreenShape_set_lineSmooth", Polycore_ScreenShape_set_lineSmooth},
-		{"ScreenShape", Polycore_ScreenShape},
-		{"ScreenShape_Render", Polycore_ScreenShape_Render},
-		{"ScreenShape_setStrokeColor", Polycore_ScreenShape_setStrokeColor},
-		{"ScreenShape_setStrokeWidth", Polycore_ScreenShape_setStrokeWidth},
-		{"ScreenShape_setGradient", Polycore_ScreenShape_setGradient},
-		{"ScreenShape_clearGradient", Polycore_ScreenShape_clearGradient},
-		{"ScreenShape_setShapeSize", Polycore_ScreenShape_setShapeSize},
-		{"ScreenShape_addShapePoint", Polycore_ScreenShape_addShapePoint},
-		{"delete_ScreenShape", Polycore_delete_ScreenShape},
-		{"ScreenSoundListener", Polycore_ScreenSoundListener},
-		{"ScreenSoundListener_Update", Polycore_ScreenSoundListener_Update},
-		{"delete_ScreenSoundListener", Polycore_delete_ScreenSoundListener},
-		{"ScreenSound", Polycore_ScreenSound},
-		{"ScreenSound_Update", Polycore_ScreenSound_Update},
-		{"ScreenSound_getSound", Polycore_ScreenSound_getSound},
-		{"delete_ScreenSound", Polycore_delete_ScreenSound},
+		{"Rectangle_get_x", Polycore_Rectangle_get_x},
+		{"Rectangle_get_y", Polycore_Rectangle_get_y},
+		{"Rectangle_get_w", Polycore_Rectangle_get_w},
+		{"Rectangle_get_h", Polycore_Rectangle_get_h},
+		{"Rectangle_set_x", Polycore_Rectangle_set_x},
+		{"Rectangle_set_y", Polycore_Rectangle_set_y},
+		{"Rectangle_set_w", Polycore_Rectangle_set_w},
+		{"Rectangle_set_h", Polycore_Rectangle_set_h},
+		{"Rectangle", Polycore_Rectangle},
+		{"Rectangle_setRect", Polycore_Rectangle_setRect},
+		{"delete_Rectangle", Polycore_delete_Rectangle},
+		{"CoreServices_getInstance", Polycore_CoreServices_getInstance},
+		{"CoreServices_setInstance", Polycore_CoreServices_setInstance},
+		{"CoreServices_getRenderMutex", Polycore_CoreServices_getRenderMutex},
+		{"CoreServices_setRenderer", Polycore_CoreServices_setRenderer},
+		{"CoreServices_getRenderer", Polycore_CoreServices_getRenderer},
+		{"CoreServices_Update", Polycore_CoreServices_Update},
+		{"CoreServices_setCore", Polycore_CoreServices_setCore},
+		{"CoreServices_getCore", Polycore_CoreServices_getCore},
+		{"CoreServices_installModule", Polycore_CoreServices_installModule},
+		{"CoreServices_getMaterialManager", Polycore_CoreServices_getMaterialManager},
+		{"CoreServices_getScreenManager", Polycore_CoreServices_getScreenManager},
+		{"CoreServices_getSceneManager", Polycore_CoreServices_getSceneManager},
+		{"CoreServices_getTimerManager", Polycore_CoreServices_getTimerManager},
+		{"CoreServices_getTweenManager", Polycore_CoreServices_getTweenManager},
+		{"CoreServices_getResourceManager", Polycore_CoreServices_getResourceManager},
+		{"CoreServices_getSoundManager", Polycore_CoreServices_getSoundManager},
+		{"CoreServices_getFontManager", Polycore_CoreServices_getFontManager},
+		{"CoreServices_getConfig", Polycore_CoreServices_getConfig},
+		{"delete_CoreServices", Polycore_delete_CoreServices},
+		{"Resource", Polycore_Resource},
+		{"Resource_getResourceName", Polycore_Resource_getResourceName},
+		{"Resource_getResourceType", Polycore_Resource_getResourceType},
+		{"Resource_setResourceName", Polycore_Resource_setResourceName},
+		{"Resource_setResourcePath", Polycore_Resource_setResourcePath},
+		{"Resource_getResourcePath", Polycore_Resource_getResourcePath},
+		{"delete_Resource", Polycore_delete_Resource},
+		{"SceneRenderTexture", Polycore_SceneRenderTexture},
+		{"SceneRenderTexture_drawScreen", Polycore_SceneRenderTexture_drawScreen},
+		{"SceneRenderTexture_getTargetTexture", Polycore_SceneRenderTexture_getTargetTexture},
+		{"SceneRenderTexture_getTargetScene", Polycore_SceneRenderTexture_getTargetScene},
+		{"SceneRenderTexture_getTargetCamera", Polycore_SceneRenderTexture_getTargetCamera},
+		{"delete_SceneRenderTexture", Polycore_delete_SceneRenderTexture},
+		{"Camera", Polycore_Camera},
+		{"Camera_buildFrustrumPlanes", Polycore_Camera_buildFrustrumPlanes},
+		{"Camera_isSphereInFrustrum", Polycore_Camera_isSphereInFrustrum},
+		{"Camera_canSee", Polycore_Camera_canSee},
+		{"Camera_setOrthoMode", Polycore_Camera_setOrthoMode},
+		{"Camera_getOrthoMode", Polycore_Camera_getOrthoMode},
+		{"Camera_setFOV", Polycore_Camera_setFOV},
+		{"Camera_getFOV", Polycore_Camera_getFOV},
+		{"Camera_setParentScene", Polycore_Camera_setParentScene},
+		{"Camera_doCameraTransform", Polycore_Camera_doCameraTransform},
+		{"Camera_setLightDepthTexture", Polycore_Camera_setLightDepthTexture},
+		{"Camera_hasFilterShader", Polycore_Camera_hasFilterShader},
+		{"Camera_drawFilter", Polycore_Camera_drawFilter},
+		{"Camera_setExposureLevel", Polycore_Camera_setExposureLevel},
+		{"Camera_getExposureLevel", Polycore_Camera_getExposureLevel},
+		{"Camera_createPostFilter", Polycore_Camera_createPostFilter},
+		{"Camera_setPostFilter", Polycore_Camera_setPostFilter},
+		{"Camera_removePostFilter", Polycore_Camera_removePostFilter},
+		{"Camera_getScreenShaderMaterial", Polycore_Camera_getScreenShaderMaterial},
+		{"delete_Camera", Polycore_delete_Camera},
 		{"ScreenSprite", Polycore_ScreenSprite},
 		{"ScreenSprite_addAnimation", Polycore_ScreenSprite_addAnimation},
 		{"ScreenSprite_playAnimation", Polycore_ScreenSprite_playAnimation},
 		{"ScreenSprite_Update", Polycore_ScreenSprite_Update},
 		{"delete_ScreenSprite", Polycore_delete_ScreenSprite},
-		{"Shader_get_numSpotLights", Polycore_Shader_get_numSpotLights},
-		{"Shader_get_numAreaLights", Polycore_Shader_get_numAreaLights},
-		{"Shader_set_numSpotLights", Polycore_Shader_set_numSpotLights},
-		{"Shader_set_numAreaLights", Polycore_Shader_set_numAreaLights},
-		{"Shader_getType", Polycore_Shader_getType},
-		{"Shader_setName", Polycore_Shader_setName},
-		{"Shader_getName", Polycore_Shader_getName},
-		{"Shader_createBinding", Polycore_Shader_createBinding},
-		{"delete_Shader", Polycore_delete_Shader},
-		{"ShaderBinding", Polycore_ShaderBinding},
-		{"ShaderBinding_clearTexture", Polycore_ShaderBinding_clearTexture},
-		{"ShaderBinding_addTexture", Polycore_ShaderBinding_addTexture},
-		{"ShaderBinding_addParam", Polycore_ShaderBinding_addParam},
-		{"ShaderBinding_addCubemap", Polycore_ShaderBinding_addCubemap},
-		{"ShaderBinding_getNumLocalParams", Polycore_ShaderBinding_getNumLocalParams},
-		{"ShaderBinding_getLocalParam", Polycore_ShaderBinding_getLocalParam},
-		{"ShaderBinding_getLocalParamByName", Polycore_ShaderBinding_getLocalParamByName},
-		{"ShaderBinding_addRenderTargetBinding", Polycore_ShaderBinding_addRenderTargetBinding},
-		{"ShaderBinding_getNumRenderTargetBindings", Polycore_ShaderBinding_getNumRenderTargetBindings},
-		{"ShaderBinding_getRenderTargetBinding", Polycore_ShaderBinding_getRenderTargetBinding},
-		{"ShaderBinding_getNumInTargetBindings", Polycore_ShaderBinding_getNumInTargetBindings},
-		{"ShaderBinding_getInTargetBinding", Polycore_ShaderBinding_getInTargetBinding},
-		{"ShaderBinding_getNumOutTargetBindings", Polycore_ShaderBinding_getNumOutTargetBindings},
-		{"ShaderBinding_getOutTargetBinding", Polycore_ShaderBinding_getOutTargetBinding},
-		{"ShaderBinding_addLocalParam", Polycore_ShaderBinding_addLocalParam},
-		{"delete_ShaderBinding", Polycore_delete_ShaderBinding},
-		{"SkeletonAnimation", Polycore_SkeletonAnimation},
-		{"SkeletonAnimation_addBoneTrack", Polycore_SkeletonAnimation_addBoneTrack},
-		{"SkeletonAnimation_getName", Polycore_SkeletonAnimation_getName},
-		{"SkeletonAnimation_Play", Polycore_SkeletonAnimation_Play},
-		{"SkeletonAnimation_Stop", Polycore_SkeletonAnimation_Stop},
-		{"SkeletonAnimation_Update", Polycore_SkeletonAnimation_Update},
-		{"SkeletonAnimation_setSpeed", Polycore_SkeletonAnimation_setSpeed},
-		{"delete_SkeletonAnimation", Polycore_delete_SkeletonAnimation},
-		{"BoneTrack_get_LocXVec", Polycore_BoneTrack_get_LocXVec},
-		{"BoneTrack_get_LocYVec", Polycore_BoneTrack_get_LocYVec},
-		{"BoneTrack_get_LocZVec", Polycore_BoneTrack_get_LocZVec},
-		{"BoneTrack_get_ScaleXVec", Polycore_BoneTrack_get_ScaleXVec},
-		{"BoneTrack_get_ScaleYVec", Polycore_BoneTrack_get_ScaleYVec},
-		{"BoneTrack_get_ScaleZVec", Polycore_BoneTrack_get_ScaleZVec},
-		{"BoneTrack_get_boneQuat", Polycore_BoneTrack_get_boneQuat},
-		{"BoneTrack_get_QuatWVec", Polycore_BoneTrack_get_QuatWVec},
-		{"BoneTrack_get_QuatXVec", Polycore_BoneTrack_get_QuatXVec},
-		{"BoneTrack_get_QuatYVec", Polycore_BoneTrack_get_QuatYVec},
-		{"BoneTrack_get_QuatZVec", Polycore_BoneTrack_get_QuatZVec},
-		{"BoneTrack", Polycore_BoneTrack},
-		{"BoneTrack_Play", Polycore_BoneTrack_Play},
-		{"BoneTrack_Stop", Polycore_BoneTrack_Stop},
-		{"BoneTrack_Update", Polycore_BoneTrack_Update},
-		{"BoneTrack_setSpeed", Polycore_BoneTrack_setSpeed},
-		{"delete_BoneTrack", Polycore_delete_BoneTrack},
-		{"Skeleton", Polycore_Skeleton},
-		{"Skeleton_loadSkeleton", Polycore_Skeleton_loadSkeleton},
-		{"Skeleton_playAnimation", Polycore_Skeleton_playAnimation},
-		{"Skeleton_playAnimationByIndex", Polycore_Skeleton_playAnimationByIndex},
-		{"Skeleton_addAnimation", Polycore_Skeleton_addAnimation},
-		{"Skeleton_getAnimation", Polycore_Skeleton_getAnimation},
-		{"Skeleton_Update", Polycore_Skeleton_Update},
-		{"Skeleton_getBoneByName", Polycore_Skeleton_getBoneByName},
-		{"Skeleton_bonesVisible", Polycore_Skeleton_bonesVisible},
-		{"Skeleton_enableBoneLabels", Polycore_Skeleton_enableBoneLabels},
-		{"Skeleton_getNumBones", Polycore_Skeleton_getNumBones},
-		{"Skeleton_getBone", Polycore_Skeleton_getBone},
-		{"Skeleton_getCurrentAnimation", Polycore_Skeleton_getCurrentAnimation},
-		{"delete_Skeleton", Polycore_delete_Skeleton},
-		{"Sound", Polycore_Sound},
-		{"Sound_Play", Polycore_Sound_Play},
-		{"Sound_Stop", Polycore_Sound_Stop},
-		{"Sound_setVolume", Polycore_Sound_setVolume},
-		{"Sound_setPitch", Polycore_Sound_setPitch},
-		{"Sound_setIsPositional", Polycore_Sound_setIsPositional},
-		{"Sound_setSoundPosition", Polycore_Sound_setSoundPosition},
-		{"Sound_setSoundVelocity", Polycore_Sound_setSoundVelocity},
-		{"Sound_setSoundDirection", Polycore_Sound_setSoundDirection},
-		{"Sound_setPositionalProperties", Polycore_Sound_setPositionalProperties},
-		{"Sound_loadWAV", Polycore_Sound_loadWAV},
-		{"Sound_loadOGG", Polycore_Sound_loadOGG},
-		{"Sound_GenSource", Polycore_Sound_GenSource},
-		{"Sound_checkALError", Polycore_Sound_checkALError},
-		{"Sound_soundError", Polycore_Sound_soundError},
-		{"Sound_soundCheck", Polycore_Sound_soundCheck},
-		{"delete_Sound", Polycore_delete_Sound},
-		{"SoundManager", Polycore_SoundManager},
-		{"SoundManager_setListenerPosition", Polycore_SoundManager_setListenerPosition},
-		{"SoundManager_setListenerOrientation", Polycore_SoundManager_setListenerOrientation},
-		{"SoundManager_initAL", Polycore_SoundManager_initAL},
-		{"SoundManager_setGlobalVolume", Polycore_SoundManager_setGlobalVolume},
-		{"delete_SoundManager", Polycore_delete_SoundManager},
-		{"String_get_contents", Polycore_String_get_contents},
-		{"String_get_s_contents", Polycore_String_get_s_contents},
-		{"String", Polycore_String},
-		{"String_size", Polycore_String_size},
-		{"String_length", Polycore_String_length},
-		{"String_getSTLString", Polycore_String_getSTLString},
-		{"String_getSTLWString", Polycore_String_getSTLWString},
-		{"String_substr", Polycore_String_substr},
-		{"String_rfind", Polycore_String_rfind},
-		{"String_find", Polycore_String_find},
-		{"String_find_last_of", Polycore_String_find_last_of},
-		{"String_toLowerCase", Polycore_String_toLowerCase},
-		{"String_toUpperCase", Polycore_String_toUpperCase},
-		{"String_replace", Polycore_String_replace},
-		{"String_NumberToString", Polycore_String_NumberToString},
-		{"String_IntToString", Polycore_String_IntToString},
-		{"String_c_str", Polycore_String_c_str},
-		{"String_wc_str", Polycore_String_wc_str},
-		{"String_data", Polycore_String_data},
-		{"String_getDataWithEncoding", Polycore_String_getDataWithEncoding},
-		{"String_getDataSizeWithEncoding", Polycore_String_getDataSizeWithEncoding},
-		{"String_setDataWithEncoding", Polycore_String_setDataWithEncoding},
-		{"delete_String", Polycore_delete_String},
-		{"Texture_get_scrollSpeedX", Polycore_Texture_get_scrollSpeedX},
-		{"Texture_get_scrollSpeedY", Polycore_Texture_get_scrollSpeedY},
-		{"Texture_get_clamp", Polycore_Texture_get_clamp},
-		{"Texture_set_scrollSpeedX", Polycore_Texture_set_scrollSpeedX},
-		{"Texture_set_scrollSpeedY", Polycore_Texture_set_scrollSpeedY},
-		{"Texture_set_clamp", Polycore_Texture_set_clamp},
-		{"Texture_setTextureData", Polycore_Texture_setTextureData},
-		{"Texture_recreateFromImageData", Polycore_Texture_recreateFromImageData},
-		{"Texture_getScrollOffsetX", Polycore_Texture_getScrollOffsetX},
-		{"Texture_getScrollOffsetY", Polycore_Texture_getScrollOffsetY},
-		{"Texture_setImageData", Polycore_Texture_setImageData},
-		{"Texture_updateScroll", Polycore_Texture_updateScroll},
-		{"Texture_setResourcePath", Polycore_Texture_setResourcePath},
-		{"Texture_getResourcePath", Polycore_Texture_getResourcePath},
-		{"Texture_getTextureData", Polycore_Texture_getTextureData},
-		{"Texture_getWidth", Polycore_Texture_getWidth},
-		{"Texture_getHeight", Polycore_Texture_getHeight},
-		{"delete_Texture", Polycore_delete_Texture},
-		{"Timer", Polycore_Timer},
-		{"Timer_Pause", Polycore_Timer_Pause},
-		{"Timer_isPaused", Polycore_Timer_isPaused},
-		{"Timer_getTicks", Polycore_Timer_getTicks},
-		{"Timer_Update", Polycore_Timer_Update},
-		{"Timer_Reset", Polycore_Timer_Reset},
-		{"Timer_hasElapsed", Polycore_Timer_hasElapsed},
-		{"Timer_getElapsedf", Polycore_Timer_getElapsedf},
-		{"delete_Timer", Polycore_delete_Timer},
-		{"TimerManager", Polycore_TimerManager},
-		{"TimerManager_removeTimer", Polycore_TimerManager_removeTimer},
-		{"TimerManager_addTimer", Polycore_TimerManager_addTimer},
-		{"TimerManager_Update", Polycore_TimerManager_Update},
-		{"delete_TimerManager", Polycore_delete_TimerManager},
-		{"Tween_get_repeat", Polycore_Tween_get_repeat},
-		{"Tween_set_repeat", Polycore_Tween_set_repeat},
-		{"Tween", Polycore_Tween},
-		{"Tween_interpolateTween", Polycore_Tween_interpolateTween},
-		{"Tween_updateCustomTween", Polycore_Tween_updateCustomTween},
-		{"Tween_doOnComplete", Polycore_Tween_doOnComplete},
-		{"Tween_Pause", Polycore_Tween_Pause},
-		{"Tween_Reset", Polycore_Tween_Reset},
-		{"Tween_isComplete", Polycore_Tween_isComplete},
-		{"Tween_setSpeed", Polycore_Tween_setSpeed},
-		{"delete_Tween", Polycore_delete_Tween},
-		{"BezierPathTween", Polycore_BezierPathTween},
-		{"BezierPathTween_updateCustomTween", Polycore_BezierPathTween_updateCustomTween},
-		{"delete_BezierPathTween", Polycore_delete_BezierPathTween},
-		{"QuaternionTween", Polycore_QuaternionTween},
-		{"QuaternionTween_updateCustomTween", Polycore_QuaternionTween_updateCustomTween},
-		{"delete_QuaternionTween", Polycore_delete_QuaternionTween},
-		{"TweenManager", Polycore_TweenManager},
-		{"TweenManager_addTween", Polycore_TweenManager_addTween},
-		{"TweenManager_Update", Polycore_TweenManager_Update},
-		{"delete_TweenManager", Polycore_delete_TweenManager},
-		{"Vector2", Polycore_Vector2},
-		{"delete_Vector2", Polycore_delete_Vector2},
-		{"Vector3_get_x", Polycore_Vector3_get_x},
-		{"Vector3_get_y", Polycore_Vector3_get_y},
-		{"Vector3_get_z", Polycore_Vector3_get_z},
-		{"Vector3_set_x", Polycore_Vector3_set_x},
-		{"Vector3_set_y", Polycore_Vector3_set_y},
-		{"Vector3_set_z", Polycore_Vector3_set_z},
-		{"Vector3", Polycore_Vector3},
-		{"Vector3_set", Polycore_Vector3_set},
-		{"Vector3_distance", Polycore_Vector3_distance},
-		{"Vector3_length", Polycore_Vector3_length},
-		{"Vector3_dot", Polycore_Vector3_dot},
-		{"Vector3_crossProduct", Polycore_Vector3_crossProduct},
-		{"Vector3_Normalize", Polycore_Vector3_Normalize},
-		{"delete_Vector3", Polycore_delete_Vector3},
-		{"Vertex_get_restNormal", Polycore_Vertex_get_restNormal},
-		{"Vertex_get_restPosition", Polycore_Vertex_get_restPosition},
-		{"Vertex_get_normal", Polycore_Vertex_get_normal},
-		{"Vertex_get_vertexColor", Polycore_Vertex_get_vertexColor},
-		{"Vertex_get_useVertexColor", Polycore_Vertex_get_useVertexColor},
-		{"Vertex_set_useVertexColor", Polycore_Vertex_set_useVertexColor},
-		{"Vertex", Polycore_Vertex},
-		{"Vertex_addBoneAssignment", Polycore_Vertex_addBoneAssignment},
-		{"Vertex_getNumBoneAssignments", Polycore_Vertex_getNumBoneAssignments},
-		{"Vertex_getBoneAssignment", Polycore_Vertex_getBoneAssignment},
-		{"Vertex_normalizeWeights", Polycore_Vertex_normalizeWeights},
-		{"Vertex_getTexCoord", Polycore_Vertex_getTexCoord},
-		{"Vertex_setTexCoord", Polycore_Vertex_setTexCoord},
-		{"Vertex_setNormal", Polycore_Vertex_setNormal},
-		{"delete_Vertex", Polycore_delete_Vertex},
+		{"FixedShader", Polycore_FixedShader},
+		{"FixedShader_createBinding", Polycore_FixedShader_createBinding},
+		{"delete_FixedShader", Polycore_delete_FixedShader},
+		{"FixedShaderBinding", Polycore_FixedShaderBinding},
+		{"FixedShaderBinding_addTexture", Polycore_FixedShaderBinding_addTexture},
+		{"FixedShaderBinding_addCubemap", Polycore_FixedShaderBinding_addCubemap},
+		{"FixedShaderBinding_addParam", Polycore_FixedShaderBinding_addParam},
+		{"FixedShaderBinding_getDiffuseTexture", Polycore_FixedShaderBinding_getDiffuseTexture},
+		{"delete_FixedShaderBinding", Polycore_delete_FixedShaderBinding},
+		{"SceneLight_get_specularLightColor", Polycore_SceneLight_get_specularLightColor},
+		{"SceneLight_get_lightColor", Polycore_SceneLight_get_lightColor},
+		{"SceneLight", Polycore_SceneLight},
+		{"SceneLight_getIntensity", Polycore_SceneLight_getIntensity},
+		{"SceneLight_setIntensity", Polycore_SceneLight_setIntensity},
+		{"SceneLight_setAttenuation", Polycore_SceneLight_setAttenuation},
+		{"SceneLight_getConstantAttenuation", Polycore_SceneLight_getConstantAttenuation},
+		{"SceneLight_getLinearAttenuation", Polycore_SceneLight_getLinearAttenuation},
+		{"SceneLight_getQuadraticAttenuation", Polycore_SceneLight_getQuadraticAttenuation},
+		{"SceneLight_getType", Polycore_SceneLight_getType},
+		{"SceneLight_renderDepthMap", Polycore_SceneLight_renderDepthMap},
+		{"SceneLight_Render", Polycore_SceneLight_Render},
+		{"SceneLight_getLightViewMatrix", Polycore_SceneLight_getLightViewMatrix},
+		{"SceneLight_getZBufferTexture", Polycore_SceneLight_getZBufferTexture},
+		{"SceneLight_setSpecularLightColor", Polycore_SceneLight_setSpecularLightColor},
+		{"SceneLight_setDiffuseLightColor", Polycore_SceneLight_setDiffuseLightColor},
+		{"SceneLight_setLightColor", Polycore_SceneLight_setLightColor},
+		{"SceneLight_setSpotlightProperties", Polycore_SceneLight_setSpotlightProperties},
+		{"SceneLight_getSpotlightCutoff", Polycore_SceneLight_getSpotlightCutoff},
+		{"SceneLight_getSpotlightExponent", Polycore_SceneLight_getSpotlightExponent},
+		{"SceneLight_enableShadows", Polycore_SceneLight_enableShadows},
+		{"SceneLight_setShadowMapFOV", Polycore_SceneLight_setShadowMapFOV},
+		{"SceneLight_areShadowsEnabled", Polycore_SceneLight_areShadowsEnabled},
+		{"SceneLight_getLightType", Polycore_SceneLight_getLightType},
+		{"SceneLight_enableDebugDraw", Polycore_SceneLight_enableDebugDraw},
+		{"SceneLight_setLightImportance", Polycore_SceneLight_setLightImportance},
+		{"SceneLight_getLightImportance", Polycore_SceneLight_getLightImportance},
+		{"delete_SceneLight", Polycore_delete_SceneLight},
 		{NULL, NULL}
 	};
 	luaL_openlib(L, "Polycore", polycoreLib, 0);

+ 1 - 1
Modules/Bindings/3DPhysics/API/Physics3D.lua

@@ -1,6 +1,6 @@
 require "Physics3D/CollisionScene"
-require "Physics3D/CollisionSceneEntity"
 require "Physics3D/PhysicsScene"
+require "Physics3D/CollisionSceneEntity"
 require "Physics3D/PhysicsSceneEntity"
 require "Physics3D/PhysicsCharacter"
 require "Physics3D/PhysicsVehicle"

+ 93 - 93
Modules/Bindings/3DPhysics/Include/Physics3DLUAWrappers.h

@@ -206,99 +206,6 @@ static int Physics3D_delete_CollisionScene(lua_State *L) {
 	return 0;
 }
 
-static int Physics3D_CollisionSceneEntity_get_lastPosition(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushlightuserdata(L, &inst->lastPosition);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_get_enabled(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushboolean(L, inst->enabled);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	bool param = lua_toboolean(L, 2);
-	inst->enabled = param;
-	return 0;
-}
-
-static int Physics3D_CollisionSceneEntity(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TNUMBER);
-	int type = lua_tointeger(L, 2);
-	CollisionSceneEntity *inst = new CollisionSceneEntity(entity, type);
-	lua_pushlightuserdata(L, (void*)inst);
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_getSceneEntity(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	void *ptrRetVal = (void*)inst->getSceneEntity();
-	if(ptrRetVal == NULL) {
-		lua_pushnil(L);
-	} else {
-		lua_pushlightuserdata(L, ptrRetVal);
-	}
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_getType(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	lua_pushinteger(L, inst->getType());
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_Update(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	inst->Update();
-	return 0;
-}
-
-static int Physics3D_CollisionSceneEntity_getConvexShape(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	void *ptrRetVal = (void*)inst->getConvexShape();
-	if(ptrRetVal == NULL) {
-		lua_pushnil(L);
-	} else {
-		lua_pushlightuserdata(L, ptrRetVal);
-	}
-	return 1;
-}
-
-static int Physics3D_CollisionSceneEntity_createCollisionShape(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
-	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
-	luaL_checktype(L, 3, LUA_TNUMBER);
-	int type = lua_tointeger(L, 3);
-	void *ptrRetVal = (void*)inst->createCollisionShape(entity, type);
-	if(ptrRetVal == NULL) {
-		lua_pushnil(L);
-	} else {
-		lua_pushlightuserdata(L, ptrRetVal);
-	}
-	return 1;
-}
-
-static int Physics3D_delete_CollisionSceneEntity(lua_State *L) {
-	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
-	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
-	delete inst;
-	return 0;
-}
-
 static int Physics3D_PhysicsScene(lua_State *L) {
 	PhysicsScene *inst = new PhysicsScene();
 	lua_pushlightuserdata(L, (void*)inst);
@@ -489,6 +396,99 @@ static int Physics3D_delete_PhysicsScene(lua_State *L) {
 	return 0;
 }
 
+static int Physics3D_CollisionSceneEntity_get_lastPosition(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->lastPosition);
+	return 1;
+}
+
+static int Physics3D_CollisionSceneEntity_get_enabled(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	lua_pushboolean(L, inst->enabled);
+	return 1;
+}
+
+static int Physics3D_CollisionSceneEntity_set_enabled(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	bool param = lua_toboolean(L, 2);
+	inst->enabled = param;
+	return 0;
+}
+
+static int Physics3D_CollisionSceneEntity(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	int type = lua_tointeger(L, 2);
+	CollisionSceneEntity *inst = new CollisionSceneEntity(entity, type);
+	lua_pushlightuserdata(L, (void*)inst);
+	return 1;
+}
+
+static int Physics3D_CollisionSceneEntity_getSceneEntity(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	void *ptrRetVal = (void*)inst->getSceneEntity();
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Physics3D_CollisionSceneEntity_getType(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	lua_pushinteger(L, inst->getType());
+	return 1;
+}
+
+static int Physics3D_CollisionSceneEntity_Update(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	inst->Update();
+	return 0;
+}
+
+static int Physics3D_CollisionSceneEntity_getConvexShape(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	void *ptrRetVal = (void*)inst->getConvexShape();
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Physics3D_CollisionSceneEntity_createCollisionShape(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	SceneEntity * entity = (SceneEntity *)lua_topointer(L, 2);
+	luaL_checktype(L, 3, LUA_TNUMBER);
+	int type = lua_tointeger(L, 3);
+	void *ptrRetVal = (void*)inst->createCollisionShape(entity, type);
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Physics3D_delete_CollisionSceneEntity(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	CollisionSceneEntity *inst = (CollisionSceneEntity*)lua_topointer(L, 1);
+	delete inst;
+	return 0;
+}
+
 static int Physics3D_PhysicsSceneEntity_get_enabled(lua_State *L) {
 	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
 	PhysicsSceneEntity *inst = (PhysicsSceneEntity*)lua_topointer(L, 1);

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

@@ -20,16 +20,6 @@ CoreServices::setInstance(inst);
 		{"CollisionScene_removeCollision", Physics3D_CollisionScene_removeCollision},
 		{"CollisionScene_adjustForCollision", Physics3D_CollisionScene_adjustForCollision},
 		{"delete_CollisionScene", Physics3D_delete_CollisionScene},
-		{"CollisionSceneEntity_get_lastPosition", Physics3D_CollisionSceneEntity_get_lastPosition},
-		{"CollisionSceneEntity_get_enabled", Physics3D_CollisionSceneEntity_get_enabled},
-		{"CollisionSceneEntity_set_enabled", Physics3D_CollisionSceneEntity_set_enabled},
-		{"CollisionSceneEntity", Physics3D_CollisionSceneEntity},
-		{"CollisionSceneEntity_getSceneEntity", Physics3D_CollisionSceneEntity_getSceneEntity},
-		{"CollisionSceneEntity_getType", Physics3D_CollisionSceneEntity_getType},
-		{"CollisionSceneEntity_Update", Physics3D_CollisionSceneEntity_Update},
-		{"CollisionSceneEntity_getConvexShape", Physics3D_CollisionSceneEntity_getConvexShape},
-		{"CollisionSceneEntity_createCollisionShape", Physics3D_CollisionSceneEntity_createCollisionShape},
-		{"delete_CollisionSceneEntity", Physics3D_delete_CollisionSceneEntity},
 		{"PhysicsScene", Physics3D_PhysicsScene},
 		{"PhysicsScene_Update", Physics3D_PhysicsScene_Update},
 		{"PhysicsScene_removePhysicsChild", Physics3D_PhysicsScene_removePhysicsChild},
@@ -40,6 +30,16 @@ CoreServices::setInstance(inst);
 		{"PhysicsScene_removeCharacterChild", Physics3D_PhysicsScene_removeCharacterChild},
 		{"PhysicsScene_addVehicleChild", Physics3D_PhysicsScene_addVehicleChild},
 		{"delete_PhysicsScene", Physics3D_delete_PhysicsScene},
+		{"CollisionSceneEntity_get_lastPosition", Physics3D_CollisionSceneEntity_get_lastPosition},
+		{"CollisionSceneEntity_get_enabled", Physics3D_CollisionSceneEntity_get_enabled},
+		{"CollisionSceneEntity_set_enabled", Physics3D_CollisionSceneEntity_set_enabled},
+		{"CollisionSceneEntity", Physics3D_CollisionSceneEntity},
+		{"CollisionSceneEntity_getSceneEntity", Physics3D_CollisionSceneEntity_getSceneEntity},
+		{"CollisionSceneEntity_getType", Physics3D_CollisionSceneEntity_getType},
+		{"CollisionSceneEntity_Update", Physics3D_CollisionSceneEntity_Update},
+		{"CollisionSceneEntity_getConvexShape", Physics3D_CollisionSceneEntity_getConvexShape},
+		{"CollisionSceneEntity_createCollisionShape", Physics3D_CollisionSceneEntity_createCollisionShape},
+		{"delete_CollisionSceneEntity", Physics3D_delete_CollisionSceneEntity},
 		{"PhysicsSceneEntity_get_enabled", Physics3D_PhysicsSceneEntity_get_enabled},
 		{"PhysicsSceneEntity_set_enabled", Physics3D_PhysicsSceneEntity_set_enabled},
 		{"PhysicsSceneEntity", Physics3D_PhysicsSceneEntity},

+ 1 - 1
Modules/Contents/2DPhysics/CMakeLists.txt

@@ -45,7 +45,7 @@ IF(POLYCODE_INSTALL_FRAMEWORK)
 
     # install libraries
 #    IF(POLYCODE_BUILD_SHARED)
-    INSTALL(TARGETS Polycode2DPhysics DESTINATION Modules/lib)
+    INSTALL(TARGETS Polycode2DPhysics EXPORT Polycode2DPhysics-targets DESTINATION Modules/lib)
 #    ENDIF(POLYCODE_BUILD_SHARED)
 #    IF(POLYCODE_BUILD_STATIC)
 #        INSTALL(TARGETS Polycode2DPhysics_static DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/lib)

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно