diff --git a/rcbasic_build/intern_inc/switch_cases.h b/rcbasic_build/intern_inc/switch_cases.h index 872c8fb..b7e808a 100644 --- a/rcbasic_build/intern_inc/switch_cases.h +++ b/rcbasic_build/intern_inc/switch_cases.h @@ -206,6 +206,13 @@ rc_getSpriteCanvasBilinearFilter( GETSPRITECANVASBILINEARFILTER_C_NUM ) rc_getSpriteCanvasPhysics( GETSPRITECANVASPHYSICS_C_NUM ) rc_setSpriteCanvasRenderPriority( SETSPRITECANVASRENDERPRIORITY_C_NUM, SETSPRITECANVASRENDERPRIORITY_PRIORITY, SETSPRITECANVASRENDERPRIORITY_ORDER ) rc_getSpriteCanvasRenderPriority( GETSPRITECANVASRENDERPRIORITY_C_NUM, &GETSPRITECANVASRENDERPRIORITY_PRIORITY, &GETSPRITECANVASRENDERPRIORITY_ORDER ) +rc_addPostEffect( ADDPOSTEFFECT_C_NUM, ADDPOSTEFFECT_EFFECT_TYPE ) +rc_removePostEffect( REMOVEPOSTEFFECT_C_NUM, REMOVEPOSTEFFECT_EFFECT_NUM ) +rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_EFFECT_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE ) +rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_EFFECT_NUM, GETPOSTEFFECTPROPERTY_PROPERTY ) +rc_clearPostEffects( CLEARPOSTEFFECTS_C_NUM ) +rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_EFFECT_NUM, SETPOSTEFFECTACTIVE_FLAG ) +rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM, POSTEFFECTISACTIVE_EFFECT_NUM ) rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS ) rc_drawCircleFill( CIRCLEFILL_X, CIRCLEFILL_Y, CIRCLEFILL_RADIUS ) rc_drawEllipse( ELLIPSE_X, ELLIPSE_Y, ELLIPSE_RX, ELLIPSE_RY ) @@ -691,6 +698,11 @@ rc_makePlanarTextureMap( MAKEPLANARTEXTUREMAP_MESH, MAKEPLANARTEXTUREMAP_RESOLU rc_reCalculateMeshNormals( RECALCULATEMESHNORMALS_MESH ) rc_getMeshPolygonCount( GETMESHPOLYGONCOUNT_MESH ) rc_flipMeshSurfaces( FLIPMESHSURFACES_MESH ) +rc_setMeshBuffer( SETMESHBUFFER_MESH_ID, SETMESHBUFFER_BUFFER_NUM, SETMESHBUFFER_VERTEX_COUNT, &SETMESHBUFFER_VERTEX_DATA, &SETMESHBUFFER_NORMAL_DATA, &SETMESHBUFFER_UV_DATA, SETMESHBUFFER_INDEX_COUNT, &SETMESHBUFFER_INDEX_DATA ) +rc_getMeshBufferCount( GETMESHBUFFERCOUNT_MESH_ID ) +rc_getMeshBufferVertexCount( GETMESHBUFFERVERTEXCOUNT_MESH_ID, GETMESHBUFFERVERTEXCOUNT_BUFFER_INDEX ) +rc_getMeshBufferIndexCount( GETMESHBUFFERINDEXCOUNT_MESH_ID, GETMESHBUFFERINDEXCOUNT_BUFFER_INDEX ) +rc_getMeshBuffer( GETMESHBUFFER_MESH_ID, GETMESHBUFFER_BUFFER_INDEX, &GETMESHBUFFER_VERTEX_DATA, &GETMESHBUFFER_NORMAL_DATA, &GETMESHBUFFER_UV_DATA, &GETMESHBUFFER_INDEX_DATA ) rc_createAnimatedActor( CREATEANIMATEDACTOR_MESH ) rc_createOctreeActor( CREATEOCTREEACTOR_MESH ) rc_createCubeActor( CREATECUBEACTOR_CUBE_SIZE ) @@ -938,6 +950,9 @@ rc_setSceneShadowColor( SETSCENESHADOWCOLOR_COLOR ) rc_getSceneShadowColor( ) rc_setSceneAmbientColor( SETSCENEAMBIENTCOLOR_COLOR ) rc_getSceneAmbientColor( ) +rc_pipeline_Begin( ) +rc_pipeline_End( ) +rc_pipeline_Render( ) rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR ) rc_stopParticleEmitter( STOPPARTICLEEMITTER_ACTOR ) rc_setParticleDirection( SETPARTICLEDIRECTION_ACTOR, SETPARTICLEDIRECTION_X, SETPARTICLEDIRECTION_Y, SETPARTICLEDIRECTION_Z ) diff --git a/rcbasic_build/intern_lib/canvas.bas b/rcbasic_build/intern_lib/canvas.bas index 24f5540..9e00ac4 100644 --- a/rcbasic_build/intern_lib/canvas.bas +++ b/rcbasic_build/intern_lib/canvas.bas @@ -30,3 +30,10 @@ function GetSpriteCanvasBilinearFilter( c_num ) function GetSpriteCanvasPhysics( c_num ) function SetSpriteCanvasRenderPriority( c_num, priority, order ) sub GetSpriteCanvasRenderPriority( c_num, ByRef priority, ByRef order ) +function AddPostEffect( c_num, effect_type ) +sub RemovePostEffect( c_num, effect_num ) +sub SetPostEffectProperty( c_num, effect_num, property, property_value ) +function GetPostEffectProperty( c_num, effect_num, property) +sub ClearPostEffects( c_num ) +sub SetPostEffectActive( c_num, effect_num, flag ) +function PostEffectIsActive( c_num, effect_num ) diff --git a/rcbasic_build/intern_lib/mesh.bas b/rcbasic_build/intern_lib/mesh.bas index 1999b4a..29db2cc 100644 --- a/rcbasic_build/intern_lib/mesh.bas +++ b/rcbasic_build/intern_lib/mesh.bas @@ -19,3 +19,8 @@ Sub MakePlanarTextureMap( mesh, resolution ) Sub ReCalculateMeshNormals( mesh ) Function GetMeshPolygonCount( mesh ) Sub FlipMeshSurfaces( mesh ) +Function SetMeshBuffer( mesh_id, buffer_num, vertex_count, ByRef vertex_data, ByRef normal_data, ByRef uv_data, index_count, ByRef index_data ) +Function GetMeshBufferCount( mesh_id ) +Function GetMeshBufferVertexCount( mesh_id, buffer_index ) +Function GetMeshBufferIndexCount( mesh_id, buffer_index ) +Function GetMeshBuffer( mesh_id, buffer_index, ByRef vertex_data, ByRef normal_data, ByRef uv_data, ByRef index_data ) diff --git a/rcbasic_build/intern_lib/scene.bas b/rcbasic_build/intern_lib/scene.bas index fcf454a..d858cf9 100644 --- a/rcbasic_build/intern_lib/scene.bas +++ b/rcbasic_build/intern_lib/scene.bas @@ -13,3 +13,6 @@ Sub SetSceneShadowColor(color) Function GetSceneShadowColor() Sub SetSceneAmbientColor(color) Function GetSceneAmbientColor() +Sub Pipeline_Begin() +Sub Pipeline_End() +Sub Pipeline_Render() diff --git a/rcbasic_build/main.cpp b/rcbasic_build/main.cpp index ec0c768..79b800f 100755 --- a/rcbasic_build/main.cpp +++ b/rcbasic_build/main.cpp @@ -966,7 +966,7 @@ int main(int argc, char * argv[]) if(rc_filename.compare("--version")==0) { - cout << "RCBASIC Compiler v4.6" << endl; + cout << "RCBASIC Compiler v4.7" << endl; return 0; } diff --git a/rcbasic_build/rc_builtin.h b/rcbasic_build/rc_builtin.h index 7d0220e..ede9343 100755 --- a/rcbasic_build/rc_builtin.h +++ b/rcbasic_build/rc_builtin.h @@ -551,6 +551,30 @@ void init_embedded_functions() add_embedded_arg("c_num", ID_TYPE_NUM); add_embedded_arg("priority", ID_TYPE_BYREF_NUM); add_embedded_arg("order", ID_TYPE_BYREF_NUM); + embed_function("AddPostEffect", ID_TYPE_FN_NUM); + add_embedded_arg("c_num", ID_TYPE_NUM); + add_embedded_arg("effect_type", ID_TYPE_NUM); + embed_function("RemovePostEffect", ID_TYPE_SUB); + add_embedded_arg("c_num", ID_TYPE_NUM); + add_embedded_arg("effect_num", ID_TYPE_NUM); + embed_function("SetPostEffectProperty", ID_TYPE_SUB); + add_embedded_arg("c_num", ID_TYPE_NUM); + add_embedded_arg("effect_num", ID_TYPE_NUM); + add_embedded_arg("property", ID_TYPE_NUM); + add_embedded_arg("property_value", ID_TYPE_NUM); + embed_function("GetPostEffectProperty", ID_TYPE_FN_NUM); + add_embedded_arg("c_num", ID_TYPE_NUM); + add_embedded_arg("effect_num", ID_TYPE_NUM); + add_embedded_arg("property", ID_TYPE_NUM); + embed_function("ClearPostEffects", ID_TYPE_SUB); + add_embedded_arg("c_num", ID_TYPE_NUM); + embed_function("SetPostEffectActive", ID_TYPE_SUB); + add_embedded_arg("c_num", ID_TYPE_NUM); + add_embedded_arg("effect_num", ID_TYPE_NUM); + add_embedded_arg("flag", ID_TYPE_NUM); + embed_function("PostEffectIsActive", ID_TYPE_FN_NUM); + add_embedded_arg("c_num", ID_TYPE_NUM); + add_embedded_arg("effect_num", ID_TYPE_NUM); embed_function("Circle", ID_TYPE_SUB); add_embedded_arg("x", ID_TYPE_NUM); add_embedded_arg("y", ID_TYPE_NUM); @@ -2090,6 +2114,30 @@ void init_embedded_functions() add_embedded_arg("mesh", ID_TYPE_NUM); embed_function("FlipMeshSurfaces", ID_TYPE_SUB); add_embedded_arg("mesh", ID_TYPE_NUM); + embed_function("SetMeshBuffer", ID_TYPE_FN_NUM); + add_embedded_arg("mesh_id", ID_TYPE_NUM); + add_embedded_arg("buffer_num", ID_TYPE_NUM); + add_embedded_arg("vertex_count", ID_TYPE_NUM); + add_embedded_arg("vertex_data", ID_TYPE_BYREF_NUM); + add_embedded_arg("normal_data", ID_TYPE_BYREF_NUM); + add_embedded_arg("uv_data", ID_TYPE_BYREF_NUM); + add_embedded_arg("index_count", ID_TYPE_NUM); + add_embedded_arg("index_data", ID_TYPE_BYREF_NUM); + embed_function("GetMeshBufferCount", ID_TYPE_FN_NUM); + add_embedded_arg("mesh_id", ID_TYPE_NUM); + embed_function("GetMeshBufferVertexCount", ID_TYPE_FN_NUM); + add_embedded_arg("mesh_id", ID_TYPE_NUM); + add_embedded_arg("buffer_index", ID_TYPE_NUM); + embed_function("GetMeshBufferIndexCount", ID_TYPE_FN_NUM); + add_embedded_arg("mesh_id", ID_TYPE_NUM); + add_embedded_arg("buffer_index", ID_TYPE_NUM); + embed_function("GetMeshBuffer", ID_TYPE_FN_NUM); + add_embedded_arg("mesh_id", ID_TYPE_NUM); + add_embedded_arg("buffer_index", ID_TYPE_NUM); + add_embedded_arg("vertex_data", ID_TYPE_BYREF_NUM); + add_embedded_arg("normal_data", ID_TYPE_BYREF_NUM); + add_embedded_arg("uv_data", ID_TYPE_BYREF_NUM); + add_embedded_arg("index_data", ID_TYPE_BYREF_NUM); embed_function("CreateAnimatedActor", ID_TYPE_FN_NUM); add_embedded_arg("mesh", ID_TYPE_NUM); embed_function("CreateOctreeActor", ID_TYPE_FN_NUM); @@ -2956,6 +3004,9 @@ void init_embedded_functions() embed_function("SetSceneAmbientColor", ID_TYPE_SUB); add_embedded_arg("color", ID_TYPE_NUM); embed_function("GetSceneAmbientColor", ID_TYPE_FN_NUM); + embed_function("Pipeline_Begin", ID_TYPE_SUB); + embed_function("Pipeline_End", ID_TYPE_SUB); + embed_function("Pipeline_Render", ID_TYPE_SUB); embed_function("startParticleEmitter", ID_TYPE_SUB); add_embedded_arg("actor", ID_TYPE_NUM); embed_function("stopParticleEmitter", ID_TYPE_SUB); diff --git a/rcbasic_build/rcbasic4_changes.ods b/rcbasic_build/rcbasic4_changes.ods index bca25cd..7ca4129 100644 Binary files a/rcbasic_build/rcbasic4_changes.ods and b/rcbasic_build/rcbasic4_changes.ods differ diff --git a/rcbasic_build/tokenizer.h b/rcbasic_build/tokenizer.h index 427b218..fcc4ea6 100755 --- a/rcbasic_build/tokenizer.h +++ b/rcbasic_build/tokenizer.h @@ -1300,6 +1300,30 @@ string rc_keywordToken(string sline) return "0"; else if(sline.compare("SPRITE_ORDER_DESCENDING")==0) return "1"; + else if(sline.compare("POST_PROCESS_TYPE_BLOOM")==0) + return "1"; + else if(sline.compare("POST_PROCESS_TYPE_BLUR")==0) + return "2"; + else if(sline.compare("POST_PROCESS_TYPE_MOTION_BLUR")==0) + return "3"; + else if(sline.compare("POST_PROCESS_TYPE_RADIAL_BLUR")==0) + return "4"; + else if(sline.compare("POST_PROCESS_TYPE_COLORIZE")==0) + return "5"; + else if(sline.compare("POST_PROCESS_TYPE_INVERT")==0) + return "6"; + else if(sline.compare("POST_PROCESS_TYPE_DISTORTION")==0) + return "7"; + else if(sline.compare("POST_PROCESS_PROPERTY_STRENGTH")==0) + return "1"; + else if(sline.compare("POST_PROCESS_PROPERTY_DISTANCE")==0) + return "2"; + else if(sline.compare("POST_PROCESS_PROPERTY_MULTIPLIER")==0) + return "3"; + else if(sline.compare("POST_PROCESS_PROPERTY_SATURATION")==0) + return "4"; + else if(sline.compare("POST_PROCESS_PROPERTY_COLOR")==0) + return "5"; else { for(int i = 0; i < rc_constants.size(); i++) diff --git a/rcbasic_runtime/main.cpp b/rcbasic_runtime/main.cpp index 3f7f1e1..eb58c32 100755 --- a/rcbasic_runtime/main.cpp +++ b/rcbasic_runtime/main.cpp @@ -57,6 +57,7 @@ #include "rc_video.h" #include "rc_steam_lib.h" #include "rc_windowclose.h" +#include "rc_render_control.h" #include "rc_test.h" #include @@ -4398,7 +4399,7 @@ int main(int argc, char * argv[]) if(rc_filename.compare("--version")==0) { - cout << "RCBASIC Runtime v4.6" << endl; + cout << "RCBASIC Runtime v4.7" << endl; return 0; } diff --git a/rcbasic_runtime/rc_defines.h b/rcbasic_runtime/rc_defines.h index c3b297d..5160874 100755 --- a/rcbasic_runtime/rc_defines.h +++ b/rcbasic_runtime/rc_defines.h @@ -548,85 +548,109 @@ #define GETSPRITECANVASRENDERPRIORITY_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITECANVASRENDERPRIORITY_PRIORITY num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITECANVASRENDERPRIORITY_ORDER num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_Circle 208 +#define FN_AddPostEffect 208 +#define ADDPOSTEFFECT_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define ADDPOSTEFFECT_EFFECT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define FN_RemovePostEffect 209 +#define REMOVEPOSTEFFECT_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define REMOVEPOSTEFFECT_EFFECT_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define FN_SetPostEffectProperty 210 +#define SETPOSTEFFECTPROPERTY_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define SETPOSTEFFECTPROPERTY_EFFECT_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define SETPOSTEFFECTPROPERTY_PROPERTY num_var[2].nref[0].value[ num_var[2].byref_offset ] +#define SETPOSTEFFECTPROPERTY_PROPERTY_VALUE num_var[3].nref[0].value[ num_var[3].byref_offset ] +#define FN_GetPostEffectProperty 211 +#define GETPOSTEFFECTPROPERTY_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define GETPOSTEFFECTPROPERTY_EFFECT_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define GETPOSTEFFECTPROPERTY_PROPERTY num_var[2].nref[0].value[ num_var[2].byref_offset ] +#define FN_ClearPostEffects 212 +#define CLEARPOSTEFFECTS_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define FN_SetPostEffectActive 213 +#define SETPOSTEFFECTACTIVE_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define SETPOSTEFFECTACTIVE_EFFECT_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define SETPOSTEFFECTACTIVE_FLAG num_var[2].nref[0].value[ num_var[2].byref_offset ] +#define FN_PostEffectIsActive 214 +#define POSTEFFECTISACTIVE_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define POSTEFFECTISACTIVE_EFFECT_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define FN_Circle 215 #define CIRCLE_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CIRCLE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CIRCLE_RADIUS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_CircleFill 209 +#define FN_CircleFill 216 #define CIRCLEFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CIRCLEFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CIRCLEFILL_RADIUS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_Ellipse 210 +#define FN_Ellipse 217 #define ELLIPSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ELLIPSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ELLIPSE_RX num_var[2].nref[0].value[ num_var[2].byref_offset ] #define ELLIPSE_RY num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_EllipseFill 211 +#define FN_EllipseFill 218 #define ELLIPSEFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ELLIPSEFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ELLIPSEFILL_RX num_var[2].nref[0].value[ num_var[2].byref_offset ] #define ELLIPSEFILL_RY num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_FloodFill 212 +#define FN_FloodFill 219 #define FLOODFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define FLOODFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetPixel 213 +#define FN_GetPixel 220 #define GETPIXEL_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPIXEL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetColor 214 +#define FN_SetColor 221 #define SETCOLOR_C num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_Line 215 +#define FN_Line 222 #define LINE_X1 num_var[0].nref[0].value[ num_var[0].byref_offset ] #define LINE_Y1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define LINE_X2 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define LINE_Y2 num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_Poly 216 +#define FN_Poly 223 #define POLY_N num_var[0].nref[0].value[ num_var[0].byref_offset ] #define POLY_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define POLY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_Rect 217 +#define FN_Rect 224 #define RECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define RECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define RECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define RECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_RectFill 218 +#define FN_RectFill 225 #define RECTFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define RECTFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define RECTFILL_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define RECTFILL_H num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_RGB 219 +#define FN_RGB 226 #define RGB_R num_var[0].nref[0].value[ num_var[0].byref_offset ] #define RGB_G num_var[1].nref[0].value[ num_var[1].byref_offset ] #define RGB_B num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_RGBA 220 +#define FN_RGBA 227 #define RGBA_R num_var[0].nref[0].value[ num_var[0].byref_offset ] #define RGBA_G num_var[1].nref[0].value[ num_var[1].byref_offset ] #define RGBA_B num_var[2].nref[0].value[ num_var[2].byref_offset ] #define RGBA_A num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_Pset 221 +#define FN_Pset 228 #define PSET_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define PSET_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_Triangle 222 +#define FN_Triangle 229 #define TRIANGLE_X1 num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRIANGLE_Y1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TRIANGLE_X2 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define TRIANGLE_Y2 num_var[3].nref[0].value[ num_var[3].byref_offset ] #define TRIANGLE_X3 num_var[4].nref[0].value[ num_var[4].byref_offset ] #define TRIANGLE_Y3 num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_Line3D 223 +#define FN_Line3D 230 #define LINE3D_X1 num_var[0].nref[0].value[ num_var[0].byref_offset ] #define LINE3D_Y1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define LINE3D_Z1 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define LINE3D_X2 num_var[3].nref[0].value[ num_var[3].byref_offset ] #define LINE3D_Y2 num_var[4].nref[0].value[ num_var[4].byref_offset ] #define LINE3D_Z2 num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_Box3D 224 +#define FN_Box3D 231 #define BOX3D_MIN_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define BOX3D_MIN_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define BOX3D_MIN_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] #define BOX3D_MAX_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define BOX3D_MAX_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] #define BOX3D_MAX_Z num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_Triangle3D 225 +#define FN_Triangle3D 232 #define TRIANGLE3D_X1 num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRIANGLE3D_Y1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TRIANGLE3D_Z1 num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -636,57 +660,57 @@ #define TRIANGLE3D_X3 num_var[6].nref[0].value[ num_var[6].byref_offset ] #define TRIANGLE3D_Y3 num_var[7].nref[0].value[ num_var[7].byref_offset ] #define TRIANGLE3D_Z3 num_var[8].nref[0].value[ num_var[8].byref_offset ] -#define FN_LoadImage 226 +#define FN_LoadImage 233 #define LOADIMAGE_IMG$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_LoadImageEx 227 +#define FN_LoadImageEx 234 #define LOADIMAGEEX_IMG$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define LOADIMAGEEX_COLKEY num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_createImage 228 +#define FN_createImage 235 #define CREATEIMAGE_W num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEIMAGE_H num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEIMAGE_BUFFER num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_createImageEx 229 +#define FN_createImageEx 236 #define CREATEIMAGEEX_W num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEIMAGEEX_H num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEIMAGEEX_BUFFER num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEIMAGEEX_COLOR num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_BufferFromImage 230 +#define FN_BufferFromImage 237 #define BUFFERFROMIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define BUFFERFROMIMAGE_BUFFER num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_ImageExists 231 +#define FN_ImageExists 238 #define IMAGEEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ColorKey 232 +#define FN_ColorKey 239 #define COLORKEY_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COLORKEY_C num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setBilinearFilter 233 +#define FN_setBilinearFilter 240 #define SETBILINEARFILTER_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getBilinearFilter 234 -#define FN_CopyImage 235 +#define FN_getBilinearFilter 241 +#define FN_CopyImage 242 #define COPYIMAGE_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteImage 236 +#define FN_DeleteImage 243 #define DELETEIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetImageAlpha 237 +#define FN_SetImageAlpha 244 #define SETIMAGEALPHA_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETIMAGEALPHA_A num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetImageAlpha 238 +#define FN_GetImageAlpha 245 #define GETIMAGEALPHA_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetImageSize 239 +#define FN_GetImageSize 246 #define GETIMAGESIZE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETIMAGESIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETIMAGESIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetBlendMode 240 +#define FN_SetBlendMode 247 #define SETBLENDMODE_BLEND_MODE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetBlendMode 241 -#define FN_SetImageColorMod 242 +#define FN_GetBlendMode 248 +#define FN_SetImageColorMod 249 #define SETIMAGECOLORMOD_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETIMAGECOLORMOD_C num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetImageColorMod 243 +#define FN_GetImageColorMod 250 #define GETIMAGECOLORMOD_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DrawImage 244 +#define FN_DrawImage 251 #define DRAWIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_DrawImage_Blit 245 +#define FN_DrawImage_Blit 252 #define DRAWIMAGE_BLIT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_BLIT_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_BLIT_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -694,7 +718,7 @@ #define DRAWIMAGE_BLIT_SRC_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] #define DRAWIMAGE_BLIT_SRC_W num_var[5].nref[0].value[ num_var[5].byref_offset ] #define DRAWIMAGE_BLIT_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_DrawImage_BlitEx 246 +#define FN_DrawImage_BlitEx 253 #define DRAWIMAGE_BLITEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_BLITEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_BLITEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -704,12 +728,12 @@ #define DRAWIMAGE_BLITEX_SRC_Y num_var[6].nref[0].value[ num_var[6].byref_offset ] #define DRAWIMAGE_BLITEX_SRC_W num_var[7].nref[0].value[ num_var[7].byref_offset ] #define DRAWIMAGE_BLITEX_SRC_H num_var[8].nref[0].value[ num_var[8].byref_offset ] -#define FN_DrawImage_Rotate 247 +#define FN_DrawImage_Rotate 254 #define DRAWIMAGE_ROTATE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_ROTATE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_ROTATE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define DRAWIMAGE_ROTATE_ANGLE num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_DrawImage_RotateEx 248 +#define FN_DrawImage_RotateEx 255 #define DRAWIMAGE_ROTATEEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_ROTATEEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_ROTATEEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -718,13 +742,13 @@ #define DRAWIMAGE_ROTATEEX_SRC_W num_var[5].nref[0].value[ num_var[5].byref_offset ] #define DRAWIMAGE_ROTATEEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ] #define DRAWIMAGE_ROTATEEX_ANGLE num_var[7].nref[0].value[ num_var[7].byref_offset ] -#define FN_DrawImage_Zoom 249 +#define FN_DrawImage_Zoom 256 #define DRAWIMAGE_ZOOM_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_ZOOM_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_ZOOM_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define DRAWIMAGE_ZOOM_ZX num_var[3].nref[0].value[ num_var[3].byref_offset ] #define DRAWIMAGE_ZOOM_ZY num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_DrawImage_ZoomEx 250 +#define FN_DrawImage_ZoomEx 257 #define DRAWIMAGE_ZOOMEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_ZOOMEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_ZOOMEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -734,14 +758,14 @@ #define DRAWIMAGE_ZOOMEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ] #define DRAWIMAGE_ZOOMEX_ZX num_var[7].nref[0].value[ num_var[7].byref_offset ] #define DRAWIMAGE_ZOOMEX_ZY num_var[8].nref[0].value[ num_var[8].byref_offset ] -#define FN_DrawImage_Rotozoom 251 +#define FN_DrawImage_Rotozoom 258 #define DRAWIMAGE_ROTOZOOM_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_ROTOZOOM_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_ROTOZOOM_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define DRAWIMAGE_ROTOZOOM_ANGLE num_var[3].nref[0].value[ num_var[3].byref_offset ] #define DRAWIMAGE_ROTOZOOM_ZX num_var[4].nref[0].value[ num_var[4].byref_offset ] #define DRAWIMAGE_ROTOZOOM_ZY num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_DrawImage_RotozoomEx 252 +#define FN_DrawImage_RotozoomEx 259 #define DRAWIMAGE_ROTOZOOMEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_ROTOZOOMEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_ROTOZOOMEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -752,13 +776,13 @@ #define DRAWIMAGE_ROTOZOOMEX_ANGLE num_var[7].nref[0].value[ num_var[7].byref_offset ] #define DRAWIMAGE_ROTOZOOMEX_ZX num_var[8].nref[0].value[ num_var[8].byref_offset ] #define DRAWIMAGE_ROTOZOOMEX_ZY num_var[9].nref[0].value[ num_var[9].byref_offset ] -#define FN_DrawImage_Flip 253 +#define FN_DrawImage_Flip 260 #define DRAWIMAGE_FLIP_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_FLIP_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_FLIP_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define DRAWIMAGE_FLIP_H num_var[3].nref[0].value[ num_var[3].byref_offset ] #define DRAWIMAGE_FLIP_V num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_DrawImage_FlipEx 254 +#define FN_DrawImage_FlipEx 261 #define DRAWIMAGE_FLIPEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWIMAGE_FLIPEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWIMAGE_FLIPEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -768,918 +792,918 @@ #define DRAWIMAGE_FLIPEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ] #define DRAWIMAGE_FLIPEX_H num_var[7].nref[0].value[ num_var[7].byref_offset ] #define DRAWIMAGE_FLIPEX_V num_var[8].nref[0].value[ num_var[8].byref_offset ] -#define FN_SetAntiAliasMode 255 +#define FN_SetAntiAliasMode 262 #define SETANTIALIASMODE_AA_MODE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetAntiAliasMode 256 -#define FN_ConvertToNormalMap 257 +#define FN_GetAntiAliasMode 263 +#define FN_ConvertToNormalMap 264 #define CONVERTTONORMALMAP_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CONVERTTONORMALMAP_AMP num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_InKey 258 -#define FN_Key 259 +#define FN_InKey 265 +#define FN_Key 266 #define KEY_KEY_CODE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_WaitKey 260 -#define FN_HideMouse 261 -#define FN_ShowMouse 262 -#define FN_MouseIsVisible 263 -#define FN_GetMouse 264 +#define FN_WaitKey 267 +#define FN_HideMouse 268 +#define FN_ShowMouse 269 +#define FN_MouseIsVisible 270 +#define FN_GetMouse 271 #define GETMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMOUSE_MB1 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETMOUSE_MB2 num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETMOUSE_MB3 num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_MouseX 265 -#define FN_MouseY 266 -#define FN_MouseButton 267 +#define FN_MouseX 272 +#define FN_MouseY 273 +#define FN_MouseButton 274 #define MOUSEBUTTON_MB num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetMouseWheel 268 +#define FN_GetMouseWheel 275 #define GETMOUSEWHEEL_X_AXIS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMOUSEWHEEL_Y_AXIS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_MouseWheelX 269 -#define FN_MouseWheelY 270 -#define FN_GetGlobalMouse 271 +#define FN_MouseWheelX 276 +#define FN_MouseWheelY 277 +#define FN_GetGlobalMouse 278 #define GETGLOBALMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETGLOBALMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETGLOBALMOUSE_MB1 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETGLOBALMOUSE_MB2 num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETGLOBALMOUSE_MB3 num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_GlobalMouseX 272 -#define FN_GlobalMouseY 273 -#define FN_WarpMouse 274 +#define FN_GlobalMouseX 279 +#define FN_GlobalMouseY 280 +#define FN_WarpMouse 281 #define WARPMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define WARPMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_WarpMouseGlobal 275 +#define FN_WarpMouseGlobal 282 #define WARPMOUSEGLOBAL_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define WARPMOUSEGLOBAL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetMouseZone 276 +#define FN_SetMouseZone 283 #define SETMOUSEZONE_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMOUSEZONE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMOUSEZONE_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETMOUSEZONE_H num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_ClearMouseZone 277 -#define FN_CreateSound 278 +#define FN_ClearMouseZone 284 +#define FN_CreateSound 285 #define CREATESOUND_BUFFER num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATESOUND_BUFFER_SIZE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATESOUND_VOL num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_LoadSound 279 +#define FN_LoadSound 286 #define LOADSOUND_SND_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_LoadMusic 280 +#define FN_LoadMusic 287 #define LOADMUSIC_MUSIC_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_PlaySound 281 +#define FN_PlaySound 288 #define PLAYSOUND_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define PLAYSOUND_CHANNEL num_var[1].nref[0].value[ num_var[1].byref_offset ] #define PLAYSOUND_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_PlaySoundTimed 282 +#define FN_PlaySoundTimed 289 #define PLAYSOUNDTIMED_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define PLAYSOUNDTIMED_CHANNEL num_var[1].nref[0].value[ num_var[1].byref_offset ] #define PLAYSOUNDTIMED_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ] #define PLAYSOUNDTIMED_MS num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_PlayMusic 283 +#define FN_PlayMusic 290 #define PLAYMUSIC_MLOOPS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_PauseSound 284 +#define FN_PauseSound 291 #define PAUSESOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ResumeSound 285 +#define FN_ResumeSound 292 #define RESUMESOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_PauseMusic 286 -#define FN_ResumeMusic 287 -#define FN_DeleteSound 288 +#define FN_PauseMusic 293 +#define FN_ResumeMusic 294 +#define FN_DeleteSound 295 #define DELETESOUND_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteMusic 289 -#define FN_FadeMusicIn 290 +#define FN_DeleteMusic 296 +#define FN_FadeMusicIn 297 #define FADEMUSICIN_FADE_TIME num_var[0].nref[0].value[ num_var[0].byref_offset ] #define FADEMUSICIN_LOOPS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_FadeMusicOut 291 +#define FN_FadeMusicOut 298 #define FADEMUSICOUT_FADE_TIME num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_MusicExists 292 -#define FN_SetMusicVolume 293 +#define FN_MusicExists 299 +#define FN_SetMusicVolume 300 #define SETMUSICVOLUME_VOL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetMusicVolume 294 -#define FN_SetMusicPosition 295 +#define FN_GetMusicVolume 301 +#define FN_SetMusicPosition 302 #define SETMUSICPOSITION_POS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetMusicPosition 296 -#define FN_RewindMusic 297 -#define FN_SetSoundChannels 298 +#define FN_GetMusicPosition 303 +#define FN_RewindMusic 304 +#define FN_SetSoundChannels 305 #define SETSOUNDCHANNELS_MAX_CHANNELS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumSoundChannels 299 -#define FN_SoundIsEnabled 300 -#define FN_SoundExists 301 +#define FN_NumSoundChannels 306 +#define FN_SoundIsEnabled 307 +#define FN_SoundExists 308 #define SOUNDEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetChannelVolume 302 +#define FN_SetChannelVolume 309 #define SETCHANNELVOLUME_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCHANNELVOLUME_VOL num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetChannelVolume 303 +#define FN_GetChannelVolume 310 #define GETCHANNELVOLUME_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSoundVolume 304 +#define FN_SetSoundVolume 311 #define SETSOUNDVOLUME_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSOUNDVOLUME_VOL num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSoundVolume 305 +#define FN_GetSoundVolume 312 #define GETSOUNDVOLUME_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_StopMusic 306 -#define FN_StopSound 307 +#define FN_StopMusic 313 +#define FN_StopSound 314 #define STOPSOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetChannelPanning 308 +#define FN_SetChannelPanning 315 #define SETCHANNELPANNING_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCHANNELPANNING_LEFT_VALUE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETCHANNELPANNING_RIGHT_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetChannelDistance 309 +#define FN_SetChannelDistance 316 #define SETCHANNELDISTANCE_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCHANNELDISTANCE_DIST_VALUE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_ChannelIsPlaying 310 +#define FN_ChannelIsPlaying 317 #define CHANNELISPLAYING_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ChannelIsPaused 311 +#define FN_ChannelIsPaused 318 #define CHANNELISPAUSED_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_QueryAudioSpec 312 +#define FN_QueryAudioSpec 319 #define QUERYAUDIOSPEC_FREQ num_var[0].nref[0].value[ num_var[0].byref_offset ] #define QUERYAUDIOSPEC_FORMAT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define QUERYAUDIOSPEC_CHANNELS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_MusicIsPlaying 313 -#define FN_SetChannelSpacePosition 314 +#define FN_MusicIsPlaying 320 +#define FN_SetChannelSpacePosition 321 #define SETCHANNELSPACEPOSITION_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCHANNELSPACEPOSITION_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETCHANNELSPACEPOSITION_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_NumJoysticks 315 -#define FN_NumJoyAxes 316 +#define FN_NumJoysticks 322 +#define FN_NumJoyAxes 323 #define NUMJOYAXES_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumJoyButtons 317 +#define FN_NumJoyButtons 324 #define NUMJOYBUTTONS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumJoyHats 318 +#define FN_NumJoyHats 325 #define NUMJOYHATS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumJoyTrackBalls 319 +#define FN_NumJoyTrackBalls 326 #define NUMJOYTRACKBALLS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_JoyAxis 320 +#define FN_JoyAxis 327 #define JOYAXIS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define JOYAXIS_JOY_AXIS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_JoyButton 321 +#define FN_JoyButton 328 #define JOYBUTTON_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define JOYBUTTON_JOY_BUTTON num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_JoyHat 322 +#define FN_JoyHat 329 #define JOYHAT_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define JOYHAT_JOY_HAT num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetJoyTrackBall 323 +#define FN_GetJoyTrackBall 330 #define GETJOYTRACKBALL_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOYTRACKBALL_BALL num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOYTRACKBALL_DX num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETJOYTRACKBALL_DY num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_JoyName$ 324 +#define FN_JoyName$ 331 #define JOYNAME$_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_JoystickIsConnected 325 +#define FN_JoystickIsConnected 332 #define JOYSTICKISCONNECTED_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_JoyRumblePlay 326 +#define FN_JoyRumblePlay 333 #define JOYRUMBLEPLAY_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define JOYRUMBLEPLAY_STRENGTH num_var[1].nref[0].value[ num_var[1].byref_offset ] #define JOYRUMBLEPLAY_DURATION num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_JoyRumbleStop 327 +#define FN_JoyRumbleStop 334 #define JOYRUMBLESTOP_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_JoystickIsHaptic 328 +#define FN_JoystickIsHaptic 335 #define JOYSTICKISHAPTIC_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_LoadFont 329 +#define FN_LoadFont 336 #define LOADFONT_FNT_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define LOADFONT_FONT_SIZE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteFont 330 +#define FN_DeleteFont 337 #define DELETEFONT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_FontExists 331 +#define FN_FontExists 338 #define FONTEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetFont 332 +#define FN_SetFont 339 #define SETFONT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DrawText 333 +#define FN_DrawText 340 #define DRAWTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define DRAWTEXT_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWTEXT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetTextSize 334 +#define FN_GetTextSize 341 #define GETTEXTSIZE_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define GETTEXTSIZE_W num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTEXTSIZE_H num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_TextWidth 335 +#define FN_TextWidth 342 #define TEXTWIDTH_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_TextHeight 336 +#define FN_TextHeight 343 #define TEXTHEIGHT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_TouchPressure 337 -#define FN_GetTouch 338 +#define FN_TouchPressure 344 +#define FN_GetTouch 345 #define GETTOUCH_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTOUCH_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTOUCH_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETTOUCH_DX num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETTOUCH_DY num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_GetMultiTouch 339 +#define FN_GetMultiTouch 346 #define GETMULTITOUCH_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMULTITOUCH_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMULTITOUCH_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETMULTITOUCH_FINGERS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETMULTITOUCH_DIST num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETMULTITOUCH_THETA num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_GetTouchFinger 340 +#define FN_GetTouchFinger 347 #define GETTOUCHFINGER_FINGER num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTOUCHFINGER_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTOUCHFINGER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETTOUCHFINGER_PRESSURE num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_NumFingers 341 -#define FN_GetAccel 342 +#define FN_NumFingers 348 +#define FN_GetAccel 349 #define GETACCEL_ACCEL_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACCEL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACCEL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACCEL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_AccelName$ 343 +#define FN_AccelName$ 350 #define ACCELNAME$_ACCEL_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumAccels 344 -#define FN_GetGyro 345 +#define FN_NumAccels 351 +#define FN_GetGyro 352 #define GETGYRO_GYRO_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETGYRO_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETGYRO_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETGYRO_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GyroName$ 346 +#define FN_GyroName$ 353 #define GYRONAME$_GYRO_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumGyros 347 -#define FN_TouchX 348 -#define FN_TouchY 349 -#define FN_CheckSockets 350 +#define FN_NumGyros 354 +#define FN_TouchX 355 +#define FN_TouchY 356 +#define FN_CheckSockets 357 #define CHECKSOCKETS_TIMEOUT_MS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TCP_SocketReady 351 +#define FN_TCP_SocketReady 358 #define TCP_SOCKETREADY_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_UDP_SocketReady 352 +#define FN_UDP_SocketReady 359 #define UDP_SOCKETREADY_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TCP_OpenSocket 353 +#define FN_TCP_OpenSocket 360 #define TCP_OPENSOCKET_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define TCP_OPENSOCKET_PORT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TCP_CloseSocket 354 +#define FN_TCP_CloseSocket 361 #define TCP_CLOSESOCKET_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TCP_RemoteHost 355 +#define FN_TCP_RemoteHost 362 #define TCP_REMOTEHOST_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TCP_RemotePort 356 +#define FN_TCP_RemotePort 363 #define TCP_REMOTEPORT_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TCP_GetData 357 +#define FN_TCP_GetData 364 #define TCP_GETDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TCP_GETDATA_NUMBYTES num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TCP_GETDATA_SDATA$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_TCP_SendData 358 +#define FN_TCP_SendData 365 #define TCP_SENDDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TCP_SENDDATA_SDATA$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_TCP_AcceptSocket 359 +#define FN_TCP_AcceptSocket 366 #define TCP_ACCEPTSOCKET_SERVER num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_UDP_OpenSocket 360 +#define FN_UDP_OpenSocket 367 #define UDP_OPENSOCKET_PORT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_UDP_CloseSocket 361 +#define FN_UDP_CloseSocket 368 #define UDP_CLOSESOCKET_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_UDP_GetData 362 +#define FN_UDP_GetData 369 #define UDP_GETDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define UDP_GETDATA_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define UDP_GETDATA_PORT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define UDP_GETDATA_SDATA$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_UDP_Length 363 -#define FN_UDP_MaxLength 364 -#define FN_UDP_RemoteHost$ 365 +#define FN_UDP_Length 370 +#define FN_UDP_MaxLength 371 +#define FN_UDP_RemoteHost$ 372 #define UDP_REMOTEHOST$_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_UDP_RemotePort 366 +#define FN_UDP_RemotePort 373 #define UDP_REMOTEPORT_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_UDP_SendData 367 +#define FN_UDP_SendData 374 #define UDP_SENDDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define UDP_SENDDATA_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define UDP_SENDDATA_PORT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define UDP_SENDDATA_SDATA$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_LoadVideo 368 +#define FN_LoadVideo 375 #define LOADVIDEO_VID$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_PlayVideo 369 +#define FN_PlayVideo 376 #define PLAYVIDEO_VLOOPS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_PauseVideo 370 -#define FN_StopVideo 371 -#define FN_SetVideoPosition 372 +#define FN_PauseVideo 377 +#define FN_StopVideo 378 +#define FN_SetVideoPosition 379 #define SETVIDEOPOSITION_POS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ResumeVideo 373 -#define FN_GetVideoPosition 374 -#define FN_DeleteVideo 375 -#define FN_VideoIsPlaying 376 -#define FN_VideoEnd 377 -#define FN_GetVideoStats 378 +#define FN_ResumeVideo 380 +#define FN_GetVideoPosition 381 +#define FN_DeleteVideo 382 +#define FN_VideoIsPlaying 383 +#define FN_VideoEnd 384 +#define FN_GetVideoStats 385 #define GETVIDEOSTATS_VFILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define GETVIDEOSTATS_VLEN num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETVIDEOSTATS_VFPS num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETVIDEOSTATS_FRAME_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETVIDEOSTATS_FRAME_H num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetVideoDrawRect 379 +#define FN_SetVideoDrawRect 386 #define SETVIDEODRAWRECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETVIDEODRAWRECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETVIDEODRAWRECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETVIDEODRAWRECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetVideoDrawRect 380 +#define FN_GetVideoDrawRect 387 #define GETVIDEODRAWRECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETVIDEODRAWRECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETVIDEODRAWRECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETVIDEODRAWRECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetVideoSize 381 +#define FN_GetVideoSize 388 #define GETVIDEOSIZE_W num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETVIDEOSIZE_H num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_VideoExists 382 -#define FN_SetVideoVolume 383 +#define FN_VideoExists 389 +#define FN_SetVideoVolume 390 #define SETVIDEOVOLUME_VOL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetVideoVolume 384 -#define FN_System 385 +#define FN_GetVideoVolume 391 +#define FN_System 392 #define SYSTEM_CMD$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_OS$ 386 -#define FN_Command$ 387 +#define FN_OS$ 393 +#define FN_Command$ 394 #define COMMAND$_ARG num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumCommands 388 -#define FN_Env$ 389 +#define FN_NumCommands 395 +#define FN_Env$ 396 #define ENV$_V$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_SetEnv 390 +#define FN_SetEnv 397 #define SETENV_VAR$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define SETENV_VALUE$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_PrefPath$ 391 +#define FN_PrefPath$ 398 #define PREFPATH$_ORG_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define PREFPATH$_APP_NAME$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_Android_GetExternalStoragePath$ 392 -#define FN_Android_GetExternalStorageState 393 -#define FN_Android_GetInternalStoragePath$ 394 -#define FN_Android_JNI_Message$ 395 +#define FN_Android_GetExternalStoragePath$ 399 +#define FN_Android_GetExternalStorageState 400 +#define FN_Android_GetInternalStoragePath$ 401 +#define FN_Android_JNI_Message$ 402 #define ANDROID_JNI_MESSAGE$_ARG$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_Runtime_Utility_Message$ 396 +#define FN_Runtime_Utility_Message$ 403 #define RUNTIME_UTILITY_MESSAGE$_ARG$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_GetDesktopDisplayMode 397 +#define FN_GetDesktopDisplayMode 404 #define GETDESKTOPDISPLAYMODE_INDEX num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETDESKTOPDISPLAYMODE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETDESKTOPDISPLAYMODE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETDESKTOPDISPLAYMODE_FREQ num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetPowerInfo 398 +#define FN_GetPowerInfo 405 #define GETPOWERINFO_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPOWERINFO_SECS num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPOWERINFO_PCT num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_EvalJS$ 399 +#define FN_EvalJS$ 406 #define EVALJS$_JS_CODE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_SystemReturnStdOut$ 400 +#define FN_SystemReturnStdOut$ 407 #define SYSTEMRETURNSTDOUT$_CMD$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_OpenURL 401 +#define FN_OpenURL 408 #define OPENURL_URL$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_MessageBox 402 +#define FN_MessageBox 409 #define MESSAGEBOX_TITLE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define MESSAGEBOX_MSG$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_Runtime$ 403 -#define FN_NumCPUs 404 -#define FN_SystemRam 405 -#define FN_GetGPUInfo$ 406 -#define FN_Steam_AddAchievement 407 +#define FN_Runtime$ 410 +#define FN_NumCPUs 411 +#define FN_SystemRam 412 +#define FN_GetGPUInfo$ 413 +#define FN_Steam_AddAchievement 414 #define STEAM_ADDACHIEVEMENT_ACH_ID$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define STEAM_ADDACHIEVEMENT_ACH_NAME$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_Steam_ClearAchievements 408 -#define FN_Steam_FinalizeAchievements 409 -#define FN_Steam_TriggerAchievement 410 +#define FN_Steam_ClearAchievements 415 +#define FN_Steam_FinalizeAchievements 416 +#define FN_Steam_TriggerAchievement 417 #define STEAM_TRIGGERACHIEVEMENT_ACH_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_Steam_GetID$ 411 -#define FN_DimMatrix 412 +#define FN_Steam_GetID$ 418 +#define FN_DimMatrix 419 #define DIMMATRIX_M_ROWS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DIMMATRIX_M_COLS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_DeleteMatrix 413 +#define FN_DeleteMatrix 420 #define DELETEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_AddMatrix 414 +#define FN_AddMatrix 421 #define ADDMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ADDMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ADDMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_AugmentMatrix 415 +#define FN_AugmentMatrix 422 #define AUGMENTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define AUGMENTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define AUGMENTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_CopyMatrix 416 +#define FN_CopyMatrix 423 #define COPYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COPYMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_InsertMatrixColumns 417 +#define FN_InsertMatrixColumns 424 #define INSERTMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define INSERTMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ] #define INSERTMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_InsertMatrixRows 418 +#define FN_InsertMatrixRows 425 #define INSERTMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define INSERTMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define INSERTMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_MultiplyMatrix 419 +#define FN_MultiplyMatrix 426 #define MULTIPLYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define MULTIPLYMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define MULTIPLYMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_CubeMatrix 420 +#define FN_CubeMatrix 427 #define CUBEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CUBEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_DeleteMatrixColumns 421 +#define FN_DeleteMatrixColumns 428 #define DELETEMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DELETEMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DELETEMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_DeleteMatrixRows 422 +#define FN_DeleteMatrixRows 429 #define DELETEMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DELETEMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DELETEMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ClearMatrix 423 +#define FN_ClearMatrix 430 #define CLEARMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ClearMatrixColumns 424 +#define FN_ClearMatrixColumns 431 #define CLEARMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CLEARMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CLEARMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ClearMatrixRows 425 +#define FN_ClearMatrixRows 432 #define CLEARMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CLEARMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CLEARMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_FillMatrix 426 +#define FN_FillMatrix 433 #define FILLMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define FILLMATRIX_V num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_FillMatrixColumns 427 +#define FN_FillMatrixColumns 434 #define FILLMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define FILLMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ] #define FILLMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ] #define FILLMATRIXCOLUMNS_V num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_FillMatrixRows 428 +#define FN_FillMatrixRows 435 #define FILLMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define FILLMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define FILLMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ] #define FILLMATRIXROWS_V num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_CopyMatrixColumns 429 +#define FN_CopyMatrixColumns 436 #define COPYMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COPYMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COPYMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ] #define COPYMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_CopyMatrixRows 430 +#define FN_CopyMatrixRows 437 #define COPYMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COPYMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COPYMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ] #define COPYMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetIdentityMatrix 431 +#define FN_SetIdentityMatrix 438 #define SETIDENTITYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETIDENTITYMATRIX_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SolveMatrix 432 +#define FN_SolveMatrix 439 #define SOLVEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SOLVEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SOLVEMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_IsEqualMatrix 433 +#define FN_IsEqualMatrix 440 #define ISEQUALMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ISEQUALMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ISEQUALMATRIX_TOLERANCE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_Determinant 434 +#define FN_Determinant 441 #define DETERMINANT_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_AdjointMatrix 435 +#define FN_AdjointMatrix 442 #define ADJOINTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ADJOINTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_InvertMatrix 436 +#define FN_InvertMatrix 443 #define INVERTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define INVERTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_MatrixFromBuffer 437 +#define FN_MatrixFromBuffer 444 #define MATRIXFROMBUFFER_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define MATRIXFROMBUFFER_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define MATRIXFROMBUFFER_C num_var[2].nref[0].value[ num_var[2].byref_offset ] #define MATRIXFROMBUFFER_BUFFER num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_BufferFromMatrix 438 +#define FN_BufferFromMatrix 445 #define BUFFERFROMMATRIX_BUFFER num_var[0].nref[0].value[ num_var[0].byref_offset ] #define BUFFERFROMMATRIX_MA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_RandomizeMatrix 439 +#define FN_RandomizeMatrix 446 #define RANDOMIZEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define RANDOMIZEMATRIX_VMIN num_var[1].nref[0].value[ num_var[1].byref_offset ] #define RANDOMIZEMATRIX_VMAX num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_MatrixValue 440 +#define FN_MatrixValue 447 #define MATRIXVALUE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define MATRIXVALUE_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define MATRIXVALUE_C num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetMatrixValue 441 +#define FN_SetMatrixValue 448 #define SETMATRIXVALUE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATRIXVALUE_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATRIXVALUE_C num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETMATRIXVALUE_V num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_ScalarMatrix 442 +#define FN_ScalarMatrix 449 #define SCALARMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SCALARMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SCALARMATRIX_S_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ScalarMatrixColumns 443 +#define FN_ScalarMatrixColumns 450 #define SCALARMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SCALARMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SCALARMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SCALARMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define SCALARMATRIXCOLUMNS_S_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_ScalarMatrixRows 444 +#define FN_ScalarMatrixRows 451 #define SCALARMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SCALARMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SCALARMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SCALARMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define SCALARMATRIXROWS_S_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_SquareMatrix 445 +#define FN_SquareMatrix 452 #define SQUAREMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SQUAREMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_CofactorMatrix 446 +#define FN_CofactorMatrix 453 #define COFACTORMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COFACTORMATRIX_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COFACTORMATRIX_C num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SubtractMatrix 447 +#define FN_SubtractMatrix 454 #define SUBTRACTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SUBTRACTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SUBTRACTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SwapMatrix 448 +#define FN_SwapMatrix 455 #define SWAPMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SWAPMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SwapMatrixColumn 449 +#define FN_SwapMatrixColumn 456 #define SWAPMATRIXCOLUMN_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SWAPMATRIXCOLUMN_C1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SWAPMATRIXCOLUMN_C2 num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SwapMatrixRow 450 +#define FN_SwapMatrixRow 457 #define SWAPMATRIXROW_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SWAPMATRIXROW_R1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SWAPMATRIXROW_R2 num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_TransposeMatrix 451 +#define FN_TransposeMatrix 458 #define TRANSPOSEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRANSPOSEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_UnAugmentMatrix 452 +#define FN_UnAugmentMatrix 459 #define UNAUGMENTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define UNAUGMENTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define UNAUGMENTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ZeroMatrix 453 +#define FN_ZeroMatrix 460 #define ZEROMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetMatrixSize 454 +#define FN_GetMatrixSize 461 #define GETMATRIXSIZE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATRIXSIZE_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMATRIXSIZE_C num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_IncrementMatrixRows 455 +#define FN_IncrementMatrixRows 462 #define INCREMENTMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define INCREMENTMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define INCREMENTMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ] #define INCREMENTMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define INCREMENTMATRIXROWS_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_IncrementMatrixColumns 456 +#define FN_IncrementMatrixColumns 463 #define INCREMENTMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define INCREMENTMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define INCREMENTMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ] #define INCREMENTMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define INCREMENTMATRIXCOLUMNS_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_JoinMatrixRows 457 +#define FN_JoinMatrixRows 464 #define JOINMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define JOINMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define JOINMATRIXROWS_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_JoinMatrixColumns 458 +#define FN_JoinMatrixColumns 465 #define JOINMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define JOINMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define JOINMATRIXCOLUMNS_MC num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ClipMatrix 459 +#define FN_ClipMatrix 466 #define CLIPMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CLIPMATRIX_R num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CLIPMATRIX_C num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CLIPMATRIX_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CLIPMATRIX_NUM_COLS num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CLIPMATRIX_MB num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_SetMatrixTranslation 460 +#define FN_SetMatrixTranslation 467 #define SETMATRIXTRANSLATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATRIXTRANSLATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATRIXTRANSLATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETMATRIXTRANSLATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetMatrixRotation 461 +#define FN_SetMatrixRotation 468 #define SETMATRIXROTATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATRIXROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATRIXROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETMATRIXROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetMatrixScale 462 +#define FN_SetMatrixScale 469 #define SETMATRIXSCALE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATRIXSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATRIXSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETMATRIXSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetMatrixTranslation 463 +#define FN_GetMatrixTranslation 470 #define GETMATRIXTRANSLATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATRIXTRANSLATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMATRIXTRANSLATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETMATRIXTRANSLATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetMatrixRotation 464 +#define FN_GetMatrixRotation 471 #define GETMATRIXROTATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATRIXROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMATRIXROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETMATRIXROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetMatrixScale 465 +#define FN_GetMatrixScale 472 #define GETMATRIXSCALE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATRIXSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMATRIXSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETMATRIXSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetClipboardText$ 466 -#define FN_SetClipboardText 467 +#define FN_GetClipboardText$ 473 +#define FN_SetClipboardText 474 #define SETCLIPBOARDTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_HasClipboardText 468 -#define FN_ReadInput_Start 469 -#define FN_ReadInput_Stop 470 -#define FN_ReadInput_GetText$ 471 -#define FN_ReadInput_SetText 472 +#define FN_HasClipboardText 475 +#define FN_ReadInput_Start 476 +#define FN_ReadInput_Stop 477 +#define FN_ReadInput_GetText$ 478 +#define FN_ReadInput_SetText 479 #define READINPUT_SETTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_ReadInput_ToggleBackspace 473 +#define FN_ReadInput_ToggleBackspace 480 #define READINPUT_TOGGLEBACKSPACE_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateSprite 474 +#define FN_CreateSprite 481 #define CREATESPRITE_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATESPRITE_FRAME_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATESPRITE_FRAME_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_DeleteSprite 475 +#define FN_DeleteSprite 482 #define DELETESPRITE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpritePosition 476 +#define FN_SetSpritePosition 483 #define SETSPRITEPOSITION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_TranslateSprite 477 +#define FN_TranslateSprite 484 #define TRANSLATESPRITE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRANSLATESPRITE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TRANSLATESPRITE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpritePosition 478 +#define FN_GetSpritePosition 485 #define GETSPRITEPOSITION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITEPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SpriteX 479 +#define FN_SpriteX 486 #define SPRITEX_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SpriteY 480 +#define FN_SpriteY 487 #define SPRITEY_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteRotation 481 +#define FN_SetSpriteRotation 488 #define SETSPRITEROTATION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEROTATION_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_RotateSprite 482 +#define FN_RotateSprite 489 #define ROTATESPRITE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ROTATESPRITE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteRotation 483 +#define FN_GetSpriteRotation 490 #define GETSPRITEROTATION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteScale 484 +#define FN_SetSpriteScale 491 #define SETSPRITESCALE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITESCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITESCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ScaleSprite 485 +#define FN_ScaleSprite 492 #define SCALESPRITE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SCALESPRITE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SCALESPRITE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpriteScale 486 +#define FN_GetSpriteScale 493 #define GETSPRITESCALE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITESCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITESCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetSpriteZ 487 +#define FN_SetSpriteZ 494 #define SETSPRITEZ_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEZ_Z num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SpriteZ 488 +#define FN_SpriteZ 495 #define SPRITEZ_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetSpriteSize 489 +#define FN_GetSpriteSize 496 #define GETSPRITESIZE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITESIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITESIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SpriteWidth 490 +#define FN_SpriteWidth 497 #define SPRITEWIDTH_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SpriteHeight 491 +#define FN_SpriteHeight 498 #define SPRITEHEIGHT_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteVisible 492 +#define FN_SetSpriteVisible 499 #define SETSPRITEVISIBLE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEVISIBLE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SpriteIsVisible 493 +#define FN_SpriteIsVisible 500 #define SPRITEISVISIBLE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteSolid 494 +#define FN_SetSpriteSolid 501 #define SETSPRITESOLID_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITESOLID_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SpriteIsSolid 495 +#define FN_SpriteIsSolid 502 #define SPRITEISSOLID_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteType 496 +#define FN_SetSpriteType 503 #define SETSPRITETYPE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITETYPE_SPRITE_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteType 497 +#define FN_GetSpriteType 504 #define GETSPRITETYPE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteSource 498 +#define FN_SetSpriteSource 505 #define SETSPRITESOURCE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITESOURCE_IMG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteSource 499 +#define FN_GetSpriteSource 506 #define GETSPRITESOURCE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SpriteExists 500 +#define FN_SpriteExists 507 #define SPRITEEXISTS_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteColorMod 501 +#define FN_SetSpriteColorMod 508 #define SETSPRITECOLORMOD_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITECOLORMOD_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetSpriteAlpha 502 +#define FN_SetSpriteAlpha 509 #define SETSPRITEALPHA_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEALPHA_ALPHA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteColorMod 503 +#define FN_GetSpriteColorMod 510 #define GETSPRITECOLORMOD_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetSpriteAlpha 504 +#define FN_GetSpriteAlpha 511 #define GETSPRITEALPHA_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateSpriteAnimation 505 +#define FN_CreateSpriteAnimation 512 #define CREATESPRITEANIMATION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATESPRITEANIMATION_ANIM_LENGTH num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATESPRITEANIMATION_SPEED num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetSpriteFrame 506 +#define FN_SetSpriteFrame 513 #define SETSPRITEFRAME_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEFRAME_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteFrame 507 +#define FN_GetSpriteFrame 514 #define GETSPRITEFRAME_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteAnimationFrame 508 +#define FN_SetSpriteAnimationFrame 515 #define SETSPRITEANIMATIONFRAME_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEANIMATIONFRAME_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEANIMATIONFRAME_ANIM_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETSPRITEANIMATIONFRAME_FRAME num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetSpriteAnimationFrame 509 +#define FN_GetSpriteAnimationFrame 516 #define GETSPRITEANIMATIONFRAME_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEANIMATIONFRAME_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITEANIMATIONFRAME_ANIM_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetSpriteAnimationLength 510 +#define FN_SetSpriteAnimationLength 517 #define SETSPRITEANIMATIONLENGTH_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEANIMATIONLENGTH_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEANIMATIONLENGTH_ANIM_LENGTH num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpriteAnimationLength 511 +#define FN_GetSpriteAnimationLength 518 #define GETSPRITEANIMATIONLENGTH_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEANIMATIONLENGTH_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetSpriteAnimationSpeed 512 +#define FN_SetSpriteAnimationSpeed 519 #define SETSPRITEANIMATIONSPEED_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEANIMATIONSPEED_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEANIMATIONSPEED_SPEED num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpriteAnimationSpeed 513 +#define FN_GetSpriteAnimationSpeed 520 #define GETSPRITEANIMATIONSPEED_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEANIMATIONSPEED_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetSpriteAnimation 514 +#define FN_SetSpriteAnimation 521 #define SETSPRITEANIMATION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEANIMATION_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEANIMATION_NUM_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpriteAnimation 515 +#define FN_GetSpriteAnimation 522 #define GETSPRITEANIMATION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetSpriteCurrentAnimationFrame 516 +#define FN_GetSpriteCurrentAnimationFrame 523 #define GETSPRITECURRENTANIMATIONFRAME_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumSpriteAnimationLoops 517 +#define FN_NumSpriteAnimationLoops 524 #define NUMSPRITEANIMATIONLOOPS_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SpriteAnimationIsPlaying 518 +#define FN_SpriteAnimationIsPlaying 525 #define SPRITEANIMATIONISPLAYING_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteSpriteAnimation 519 +#define FN_DeleteSpriteAnimation 526 #define DELETESPRITEANIMATION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DELETESPRITEANIMATION_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getSpriteCenter 520 +#define FN_getSpriteCenter 527 #define GETSPRITECENTER_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setSpriteLinearVelocity 521 +#define FN_setSpriteLinearVelocity 528 #define SETSPRITELINEARVELOCITY_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITELINEARVELOCITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITELINEARVELOCITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getSpriteLinearVelocity 522 +#define FN_getSpriteLinearVelocity 529 #define GETSPRITELINEARVELOCITY_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITELINEARVELOCITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITELINEARVELOCITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setSpriteAngularVelocity 523 +#define FN_setSpriteAngularVelocity 530 #define SETSPRITEANGULARVELOCITY_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEANGULARVELOCITY_AV num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getSpriteAngularVelocity 524 +#define FN_getSpriteAngularVelocity 531 #define GETSPRITEANGULARVELOCITY_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_applySpriteForce 525 +#define FN_applySpriteForce 532 #define APPLYSPRITEFORCE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYSPRITEFORCE_FX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYSPRITEFORCE_FY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYSPRITEFORCE_PX num_var[3].nref[0].value[ num_var[3].byref_offset ] #define APPLYSPRITEFORCE_PY num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_applySpriteCentralForce 526 +#define FN_applySpriteCentralForce 533 #define APPLYSPRITECENTRALFORCE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYSPRITECENTRALFORCE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYSPRITECENTRALFORCE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_applySpriteTorque 527 +#define FN_applySpriteTorque 534 #define APPLYSPRITETORQUE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYSPRITETORQUE_TORQUE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_applySpriteLinearImpulse 528 +#define FN_applySpriteLinearImpulse 535 #define APPLYSPRITELINEARIMPULSE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYSPRITELINEARIMPULSE_IX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYSPRITELINEARIMPULSE_IY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYSPRITELINEARIMPULSE_PX num_var[3].nref[0].value[ num_var[3].byref_offset ] #define APPLYSPRITELINEARIMPULSE_PY num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_applySpriteAngularImpulse 529 +#define FN_applySpriteAngularImpulse 536 #define APPLYSPRITEANGULARIMPULSE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYSPRITEANGULARIMPULSE_IMPULSE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getSpriteMass 530 +#define FN_getSpriteMass 537 #define GETSPRITEMASS_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSpriteInertia 531 +#define FN_getSpriteInertia 538 #define GETSPRITEINERTIA_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSpriteWorldPoint 532 +#define FN_getSpriteWorldPoint 539 #define GETSPRITEWORLDPOINT_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEWORLDPOINT_LX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITEWORLDPOINT_LY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITEWORLDPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITEWORLDPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getSpriteWorldVector 533 +#define FN_getSpriteWorldVector 540 #define GETSPRITEWORLDVECTOR_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEWORLDVECTOR_LX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITEWORLDVECTOR_LY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITEWORLDVECTOR_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITEWORLDVECTOR_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getSpriteLocalPoint 534 +#define FN_getSpriteLocalPoint 541 #define GETSPRITELOCALPOINT_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITELOCALPOINT_WX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITELOCALPOINT_WY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITELOCALPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITELOCALPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getSpriteLocalVector 535 +#define FN_getSpriteLocalVector 542 #define GETSPRITELOCALVECTOR_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITELOCALVECTOR_WX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITELOCALVECTOR_WY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITELOCALVECTOR_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITELOCALVECTOR_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getSpriteLinearVelocityFromLocalPoint 536 +#define FN_getSpriteLinearVelocityFromLocalPoint 543 #define GETSPRITELINEARVELOCITYFROMLOCALPOINT_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITELINEARVELOCITYFROMLOCALPOINT_PX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITELINEARVELOCITYFROMLOCALPOINT_PY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITELINEARVELOCITYFROMLOCALPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITELINEARVELOCITYFROMLOCALPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getSpriteLinearVelocityFromWorldPoint 537 +#define FN_getSpriteLinearVelocityFromWorldPoint 544 #define GETSPRITELINEARVELOCITYFROMWORLDPOINT_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITELINEARVELOCITYFROMWORLDPOINT_WX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITELINEARVELOCITYFROMWORLDPOINT_WY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITELINEARVELOCITYFROMWORLDPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITELINEARVELOCITYFROMWORLDPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getSpriteLinearDamping 538 +#define FN_getSpriteLinearDamping 545 #define GETSPRITELINEARDAMPING_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSpriteLinearDamping 539 +#define FN_setSpriteLinearDamping 546 #define SETSPRITELINEARDAMPING_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITELINEARDAMPING_LINEARDAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getSpriteAngularDamping 540 +#define FN_getSpriteAngularDamping 547 #define GETSPRITEANGULARDAMPING_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSpriteAngularDamping 541 +#define FN_setSpriteAngularDamping 548 #define SETSPRITEANGULARDAMPING_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEANGULARDAMPING_ANGULARDAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getSpriteGravityScale 542 +#define FN_getSpriteGravityScale 549 #define GETSPRITEGRAVITYSCALE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSpriteGravityScale 543 +#define FN_setSpriteGravityScale 550 #define SETSPRITEGRAVITYSCALE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEGRAVITYSCALE_G_SCALE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSpriteBullet 544 +#define FN_setSpriteBullet 551 #define SETSPRITEBULLET_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEBULLET_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_spriteIsBullet 545 +#define FN_spriteIsBullet 552 #define SPRITEISBULLET_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSpriteSleepAllowed 546 +#define FN_setSpriteSleepAllowed 553 #define SETSPRITESLEEPALLOWED_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITESLEEPALLOWED_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_spriteSleepAllowed 547 +#define FN_spriteSleepAllowed 554 #define SPRITESLEEPALLOWED_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSpriteAwake 548 +#define FN_setSpriteAwake 555 #define SETSPRITEAWAKE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEAWAKE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_spriteIsAwake 549 +#define FN_spriteIsAwake 556 #define SPRITEISAWAKE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSpriteFixedRotation 550 +#define FN_setSpriteFixedRotation 557 #define SETSPRITEFIXEDROTATION_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEFIXEDROTATION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_spriteIsFixedRotation 551 +#define FN_spriteIsFixedRotation 558 #define SPRITEISFIXEDROTATION_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteDensity 552 +#define FN_SetSpriteDensity 559 #define SETSPRITEDENSITY_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEDENSITY_DENSITY num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteDensity 553 +#define FN_GetSpriteDensity 560 #define GETSPRITEDENSITY_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteFriction 554 +#define FN_SetSpriteFriction 561 #define SETSPRITEFRICTION_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEFRICTION_FRICTION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteFriction 555 +#define FN_GetSpriteFriction 562 #define GETSPRITEFRICTION_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteRestitution 556 +#define FN_SetSpriteRestitution 563 #define SETSPRITERESTITUTION_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITERESTITUTION_RESTITUTION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteRestitution 557 +#define FN_GetSpriteRestitution 564 #define GETSPRITERESTITUTION_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteRestitutionThreshold 558 +#define FN_SetSpriteRestitutionThreshold 565 #define SETSPRITERESTITUTIONTHRESHOLD_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITERESTITUTIONTHRESHOLD_THRESHOLD num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteRestitutionThreshold 559 +#define FN_GetSpriteRestitutionThreshold 566 #define GETSPRITERESTITUTIONTHRESHOLD_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetSpriteAABB 560 +#define FN_GetSpriteAABB 567 #define GETSPRITEAABB_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEAABB_X1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITEAABB_Y1 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSPRITEAABB_X2 num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETSPRITEAABB_Y2 num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_SetGravity2D 561 +#define FN_SetGravity2D 568 #define SETGRAVITY2D_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETGRAVITY2D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetGravity2D 562 +#define FN_GetGravity2D 569 #define GETGRAVITY2D_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETGRAVITY2D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetWorld2DTimeStep 563 +#define FN_SetWorld2DTimeStep 570 #define SETWORLD2DTIMESTEP_TS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetWorld2DVelocityIterations 564 +#define FN_SetWorld2DVelocityIterations 571 #define SETWORLD2DVELOCITYITERATIONS_V num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetWorld2DPositionIterations 565 +#define FN_SetWorld2DPositionIterations 572 #define SETWORLD2DPOSITIONITERATIONS_P num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetWorld2DTimeStep 566 -#define FN_GetWorld2DVelocityIterations 567 -#define FN_GetWorld2DPositionIterations 568 -#define FN_SetWorld2DAutoClearForces 569 +#define FN_GetWorld2DTimeStep 573 +#define FN_GetWorld2DVelocityIterations 574 +#define FN_GetWorld2DPositionIterations 575 +#define FN_SetWorld2DAutoClearForces 576 #define SETWORLD2DAUTOCLEARFORCES_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetWorld2DAutoClearForces 570 -#define FN_CastRay2D 571 +#define FN_GetWorld2DAutoClearForces 577 +#define FN_CastRay2D 578 #define CASTRAY2D_FROM_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CASTRAY2D_FROM_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CASTRAY2D_TO_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CASTRAY2D_TO_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_CastRay2D_All 572 +#define FN_CastRay2D_All 579 #define CASTRAY2D_ALL_FROM_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CASTRAY2D_ALL_FROM_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CASTRAY2D_ALL_TO_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CASTRAY2D_ALL_TO_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetRayHit2D 573 +#define FN_GetRayHit2D 580 #define GETRAYHIT2D_INDEX num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETRAYHIT2D_SPR_ID num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETRAYHIT2D_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETRAYHIT2D_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETRAYHIT2D_NORMAL_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETRAYHIT2D_NORMAL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_SetSpriteShape 574 +#define FN_SetSpriteShape 581 #define SETSPRITESHAPE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITESHAPE_SHAPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteShape 575 +#define FN_GetSpriteShape 582 #define GETSPRITESHAPE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteRadius 576 +#define FN_SetSpriteRadius 583 #define SETSPRITERADIUS_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITERADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetSpriteRadius 577 +#define FN_GetSpriteRadius 584 #define GETSPRITERADIUS_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetSpriteBox 578 +#define FN_SetSpriteBox 585 #define SETSPRITEBOX_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEBOX_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEBOX_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpriteBoxSize 579 +#define FN_GetSpriteBoxSize 586 #define GETSPRITEBOXSIZE_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITEBOXSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITEBOXSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetSpriteChain 580 +#define FN_SetSpriteChain 587 #define SETSPRITECHAIN_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITECHAIN_VX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITECHAIN_VY num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -1688,25 +1712,25 @@ #define SETSPRITECHAIN_PREV_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define SETSPRITECHAIN_NEXT_X num_var[6].nref[0].value[ num_var[6].byref_offset ] #define SETSPRITECHAIN_NEXT_Y num_var[7].nref[0].value[ num_var[7].byref_offset ] -#define FN_SetSpriteChainLoop 581 +#define FN_SetSpriteChainLoop 588 #define SETSPRITECHAINLOOP_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITECHAINLOOP_VX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITECHAINLOOP_VY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETSPRITECHAINLOOP_V_COUNT num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetSpritePolygon 582 +#define FN_SetSpritePolygon 589 #define SETSPRITEPOLYGON_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITEPOLYGON_VX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITEPOLYGON_VY num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETSPRITEPOLYGON_V_COUNT num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetSpriteShapeOffset 583 +#define FN_SetSpriteShapeOffset 590 #define SETSPRITESHAPEOFFSET_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSPRITESHAPEOFFSET_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSPRITESHAPEOFFSET_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetSpriteShapeOffset 584 +#define FN_GetSpriteShapeOffset 591 #define GETSPRITESHAPEOFFSET_SPR_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSPRITESHAPEOFFSET_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSPRITESHAPEOFFSET_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_createDistanceJoint 585 +#define FN_createDistanceJoint 592 #define CREATEDISTANCEJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEDISTANCEJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEDISTANCEJOINT_AX num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -1714,22 +1738,22 @@ #define CREATEDISTANCEJOINT_BX num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CREATEDISTANCEJOINT_BY num_var[5].nref[0].value[ num_var[5].byref_offset ] #define CREATEDISTANCEJOINT_COLLIDE_CONNECT num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_createFrictionJoint 586 +#define FN_createFrictionJoint 593 #define CREATEFRICTIONJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEFRICTIONJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEFRICTIONJOINT_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEFRICTIONJOINT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATEFRICTIONJOINT_COLLIDE_CONNECT num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_createGearJoint 587 +#define FN_createGearJoint 594 #define CREATEGEARJOINT_JOINTA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEGEARJOINT_JOINTB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEGEARJOINT_G_RATIO num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEGEARJOINT_COLLIDE_CONNECT num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_createMotorJoint 588 +#define FN_createMotorJoint 595 #define CREATEMOTORJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEMOTORJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEMOTORJOINT_COLLIDE_CONNECT num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_createPrismaticJoint 589 +#define FN_createPrismaticJoint 596 #define CREATEPRISMATICJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEPRISMATICJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEPRISMATICJOINT_AX num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -1737,7 +1761,7 @@ #define CREATEPRISMATICJOINT_AXISX num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CREATEPRISMATICJOINT_AXISY num_var[5].nref[0].value[ num_var[5].byref_offset ] #define CREATEPRISMATICJOINT_COLLIDE_CONNECT num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_createPulleyJoint 590 +#define FN_createPulleyJoint 597 #define CREATEPULLEYJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEPULLEYJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEPULLEYJOINT_GAX num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -1750,19 +1774,19 @@ #define CREATEPULLEYJOINT_BY num_var[9].nref[0].value[ num_var[9].byref_offset ] #define CREATEPULLEYJOINT_J_RATIO num_var[10].nref[0].value[ num_var[10].byref_offset ] #define CREATEPULLEYJOINT_COLLIDE_CONNECT num_var[11].nref[0].value[ num_var[11].byref_offset ] -#define FN_createRevoluteJoint 591 +#define FN_createRevoluteJoint 598 #define CREATEREVOLUTEJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEREVOLUTEJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEREVOLUTEJOINT_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEREVOLUTEJOINT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATEREVOLUTEJOINT_COLLIDE_CONNECT num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_createWeldJoint 592 +#define FN_createWeldJoint 599 #define CREATEWELDJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEWELDJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEWELDJOINT_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEWELDJOINT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATEWELDJOINT_COLLIDE_CONNECT num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_createWheelJoint 593 +#define FN_createWheelJoint 600 #define CREATEWHEELJOINT_SPRITEA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEWHEELJOINT_SPRITEB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEWHEELJOINT_AX num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -1770,225 +1794,225 @@ #define CREATEWHEELJOINT_AXISX num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CREATEWHEELJOINT_AXISY num_var[5].nref[0].value[ num_var[5].byref_offset ] #define CREATEWHEELJOINT_COLLIDE_CONNECT num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_getJointWorldAnchorA 594 +#define FN_getJointWorldAnchorA 601 #define GETJOINTWORLDANCHORA_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTWORLDANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTWORLDANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointWorldAnchorB 595 +#define FN_getJointWorldAnchorB 602 #define GETJOINTWORLDANCHORB_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTWORLDANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTWORLDANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointReactionForce 596 +#define FN_getJointReactionForce 603 #define GETJOINTREACTIONFORCE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTREACTIONFORCE_INV_DT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTREACTIONFORCE_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETJOINTREACTIONFORCE_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getJointReactionTorque 597 +#define FN_getJointReactionTorque 604 #define GETJOINTREACTIONTORQUE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTREACTIONTORQUE_INV_DT num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointLocalAnchorA 598 +#define FN_getJointLocalAnchorA 605 #define GETJOINTLOCALANCHORA_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTLOCALANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTLOCALANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointLocalAnchorB 599 +#define FN_getJointLocalAnchorB 606 #define GETJOINTLOCALANCHORB_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTLOCALANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTLOCALANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setJointLength 600 +#define FN_setJointLength 607 #define SETJOINTLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTLENGTH_JLEN num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointLength 601 +#define FN_getJointLength 608 #define GETJOINTLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointMinLength 602 +#define FN_setJointMinLength 609 #define SETJOINTMINLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMINLENGTH_JLEN num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMinLength 603 +#define FN_getJointMinLength 610 #define GETJOINTMINLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointMaxLength 604 +#define FN_setJointMaxLength 611 #define SETJOINTMAXLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMAXLENGTH_JLEN num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMaxLength 605 +#define FN_getJointMaxLength 612 #define GETJOINTMAXLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointCurrentLength 606 +#define FN_getJointCurrentLength 613 #define GETJOINTCURRENTLENGTH_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointStiffness 607 +#define FN_setJointStiffness 614 #define SETJOINTSTIFFNESS_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTSTIFFNESS_STIFFNESS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointStiffness 608 +#define FN_getJointStiffness 615 #define GETJOINTSTIFFNESS_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointDamping 609 +#define FN_setJointDamping 616 #define SETJOINTDAMPING_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTDAMPING_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointDamping 610 +#define FN_getJointDamping 617 #define GETJOINTDAMPING_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointMaxForce 611 +#define FN_setJointMaxForce 618 #define SETJOINTMAXFORCE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMAXFORCE_FORCE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMaxForce 612 +#define FN_getJointMaxForce 619 #define GETJOINTMAXFORCE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointMaxTorque 613 +#define FN_setJointMaxTorque 620 #define SETJOINTMAXTORQUE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMAXTORQUE_TORQUE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMaxTorque 614 +#define FN_getJointMaxTorque 621 #define GETJOINTMAXTORQUE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointCorrectionFactor 615 +#define FN_setJointCorrectionFactor 622 #define SETJOINTCORRECTIONFACTOR_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTCORRECTIONFACTOR_FACTOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointCorrectionFactor 616 +#define FN_getJointCorrectionFactor 623 #define GETJOINTCORRECTIONFACTOR_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointRatio 617 +#define FN_setJointRatio 624 #define SETJOINTRATIO_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTRATIO_J_RATIO num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointRatio 618 +#define FN_getJointRatio 625 #define GETJOINTRATIO_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointLinearOffset 619 +#define FN_setJointLinearOffset 626 #define SETJOINTLINEAROFFSET_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTLINEAROFFSET_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETJOINTLINEAROFFSET_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointLinearOffset 620 +#define FN_getJointLinearOffset 627 #define GETJOINTLINEAROFFSET_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTLINEAROFFSET_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTLINEAROFFSET_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setJointAngularOffset 621 +#define FN_setJointAngularOffset 628 #define SETJOINTANGULAROFFSET_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTANGULAROFFSET_ANGLEOFFSET num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointAngularOffset 622 +#define FN_getJointAngularOffset 629 #define GETJOINTANGULAROFFSET_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointLocalAxisA 623 +#define FN_getJointLocalAxisA 630 #define GETJOINTLOCALAXISA_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTLOCALAXISA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTLOCALAXISA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointReferenceAngle 624 +#define FN_getJointReferenceAngle 631 #define GETJOINTREFERENCEANGLE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointTranslation 625 +#define FN_getJointTranslation 632 #define GETJOINTTRANSLATION_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointSpeed 626 +#define FN_getJointSpeed 633 #define GETJOINTSPEED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_jointIsLimitEnabled 627 +#define FN_jointIsLimitEnabled 634 #define JOINTISLIMITENABLED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_enableJointLimit 628 +#define FN_enableJointLimit 635 #define ENABLEJOINTLIMIT_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ENABLEJOINTLIMIT_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointLowerLimit 629 +#define FN_getJointLowerLimit 636 #define GETJOINTLOWERLIMIT_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointUpperLimit 630 +#define FN_getJointUpperLimit 637 #define GETJOINTUPPERLIMIT_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointLimits 631 +#define FN_setJointLimits 638 #define SETJOINTLIMITS_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTLIMITS_LOWER_LIMIT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETJOINTLIMITS_UPPER_LIMIT num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_jointMotorIsEnabled 632 +#define FN_jointMotorIsEnabled 639 #define JOINTMOTORISENABLED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_enableJointMotor 633 +#define FN_enableJointMotor 640 #define ENABLEJOINTMOTOR_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ENABLEJOINTMOTOR_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setJointMotorSpeed 634 +#define FN_setJointMotorSpeed 641 #define SETJOINTMOTORSPEED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMOTORSPEED_SPEED num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMotorSpeed 635 +#define FN_getJointMotorSpeed 642 #define GETJOINTMOTORSPEED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointMaxMotorForce 636 +#define FN_setJointMaxMotorForce 643 #define SETJOINTMAXMOTORFORCE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMAXMOTORFORCE_FORCE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMaxMotorForce 637 +#define FN_getJointMaxMotorForce 644 #define GETJOINTMAXMOTORFORCE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointMotorForce 638 +#define FN_getJointMotorForce 645 #define GETJOINTMOTORFORCE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTMOTORFORCE_INV_DT num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setJointMaxMotorTorque 639 +#define FN_setJointMaxMotorTorque 646 #define SETJOINTMAXMOTORTORQUE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTMAXMOTORTORQUE_TORQUE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointMaxMotorTorque 640 +#define FN_getJointMaxMotorTorque 647 #define GETJOINTMAXMOTORTORQUE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointMotorTorque 641 +#define FN_getJointMotorTorque 648 #define GETJOINTMOTORTORQUE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTMOTORTORQUE_INV_DT num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getJointGroundAnchorA 642 +#define FN_getJointGroundAnchorA 649 #define GETJOINTGROUNDANCHORA_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTGROUNDANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTGROUNDANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointGroundAnchorB 643 +#define FN_getJointGroundAnchorB 650 #define GETJOINTGROUNDANCHORB_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETJOINTGROUNDANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETJOINTGROUNDANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointLengthA 644 +#define FN_getJointLengthA 651 #define GETJOINTLENGTHA_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointLengthB 645 +#define FN_getJointLengthB 652 #define GETJOINTLENGTHB_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointCurrentLengthA 646 +#define FN_getJointCurrentLengthA 653 #define GETJOINTCURRENTLENGTHA_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointCurrentLengthB 647 +#define FN_getJointCurrentLengthB 654 #define GETJOINTCURRENTLENGTHB_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setJointOrigin 648 +#define FN_setJointOrigin 655 #define SETJOINTORIGIN_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETJOINTORIGIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETJOINTORIGIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getJointAngle 649 +#define FN_getJointAngle 656 #define GETJOINTANGLE_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointLinearSpeed 650 +#define FN_getJointLinearSpeed 657 #define GETJOINTLINEARSPEED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getJointAngularSpeed 651 +#define FN_getJointAngularSpeed 658 #define GETJOINTANGULARSPEED_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteJoint 652 +#define FN_DeleteJoint 659 #define DELETEJOINT_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_JointExists 653 +#define FN_JointExists 660 #define JOINTEXISTS_JOINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateTileSet 654 +#define FN_CreateTileSet 661 #define CREATETILESET_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATETILESET_TILE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATETILESET_TILE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetTileAnimationLength 655 +#define FN_SetTileAnimationLength 662 #define SETTILEANIMATIONLENGTH_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTILEANIMATIONLENGTH_BASE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTILEANIMATIONLENGTH_NUM_FRAMES num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetTileAnimationLength 656 +#define FN_GetTileAnimationLength 663 #define GETTILEANIMATIONLENGTH_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTILEANIMATIONLENGTH_BASE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetTileAnimationFrame 657 +#define FN_SetTileAnimationFrame 664 #define SETTILEANIMATIONFRAME_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTILEANIMATIONFRAME_BASE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTILEANIMATIONFRAME_ANIM_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETTILEANIMATIONFRAME_TILE_FRAME num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetTileAnimationFrame 658 +#define FN_GetTileAnimationFrame 665 #define GETTILEANIMATIONFRAME_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTILEANIMATIONFRAME_BASE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTILEANIMATIONFRAME_ANIM_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetTileAnimationSpeed 659 +#define FN_SetTileAnimationSpeed 666 #define SETTILEANIMATIONSPEED_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTILEANIMATIONSPEED_BASE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTILEANIMATIONSPEED_SPEED num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetTileAnimationSpeed 660 +#define FN_GetTileAnimationSpeed 667 #define GETTILEANIMATIONSPEED_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTILEANIMATIONSPEED_BASE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_CreateTileMap 661 +#define FN_CreateTileMap 668 #define CREATETILEMAP_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATETILEMAP_WIDTHINTILES num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATETILEMAP_HEIGHTINTILES num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetTileMapSize 662 +#define FN_SetTileMapSize 669 #define SETTILEMAPSIZE_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTILEMAPSIZE_WIDTHINTILES num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTILEMAPSIZE_HEIGHTINTILES num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetTileMapSize 663 +#define FN_GetTileMapSize 670 #define GETTILEMAPSIZE_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTILEMAPSIZE_WIDTHINTILES num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTILEMAPSIZE_HEIGHTINTILES num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetTile 664 +#define FN_SetTile 671 #define SETTILE_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTILE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTILE_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETTILE_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetTile 665 +#define FN_GetTile 672 #define GETTILE_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTILE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTILE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_FillTile 666 +#define FN_FillTile 673 #define FILLTILE_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define FILLTILE_TILE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define FILLTILE_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define FILLTILE_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define FILLTILE_WIDTHINTILES num_var[4].nref[0].value[ num_var[4].byref_offset ] #define FILLTILE_HEIGHTINTILES num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_DrawTileMap 667 +#define FN_DrawTileMap 674 #define DRAWTILEMAP_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DRAWTILEMAP_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define DRAWTILEMAP_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -1996,20 +2020,20 @@ #define DRAWTILEMAP_H num_var[4].nref[0].value[ num_var[4].byref_offset ] #define DRAWTILEMAP_OFFSET_X num_var[5].nref[0].value[ num_var[5].byref_offset ] #define DRAWTILEMAP_OFFSET_Y num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_DeleteTileSet 668 +#define FN_DeleteTileSet 675 #define DELETETILESET_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteTileMap 669 +#define FN_DeleteTileMap 676 #define DELETETILEMAP_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TileSetExists 670 +#define FN_TileSetExists 677 #define TILESETEXISTS_TILESET num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_TileMapExists 671 +#define FN_TileMapExists 678 #define TILEMAPEXISTS_TILEMAP num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_LoadMesh 672 +#define FN_LoadMesh 679 #define LOADMESH_MESH_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_DeleteMesh 673 +#define FN_DeleteMesh 680 #define DELETEMESH_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateMesh 674 -#define FN_AddMeshBuffer 675 +#define FN_CreateMesh 681 +#define FN_AddMeshBuffer 682 #define ADDMESHBUFFER_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ADDMESHBUFFER_VERTEX_COUNT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ADDMESHBUFFER_VERTEX_DATA num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2017,39 +2041,39 @@ #define ADDMESHBUFFER_UV_DATA num_var[4].nref[0].value[ num_var[4].byref_offset ] #define ADDMESHBUFFER_INDEX_COUNT num_var[5].nref[0].value[ num_var[5].byref_offset ] #define ADDMESHBUFFER_INDEX_DATA num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_LoadMeshFromArchive 676 +#define FN_LoadMeshFromArchive 683 #define LOADMESHFROMARCHIVE_ARCHIVE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define LOADMESHFROMARCHIVE_MESH_FILE$ str_var[1].sref[0].value[ str_var[1].byref_offset ] -#define FN_CreatePlaneMesh 677 +#define FN_CreatePlaneMesh 684 #define CREATEPLANEMESH_W num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEPLANEMESH_H num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEPLANEMESH_TILECOUNT_W num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEPLANEMESH_TILECOUNT_H num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATEPLANEMESH_TXREPEAT_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CREATEPLANEMESH_TXREPEAT_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_LoadAN8 678 +#define FN_LoadAN8 685 #define LOADAN8_AN8_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_LoadMeshFromAN8 679 +#define FN_LoadMeshFromAN8 686 #define LOADMESHFROMAN8_AN8_PROJECT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define LOADMESHFROMAN8_AN8_SCENE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_GetNumAN8Scenes 680 +#define FN_GetNumAN8Scenes 687 #define GETNUMAN8SCENES_AN8_PROJECT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetAN8SceneName$ 681 +#define FN_GetAN8SceneName$ 688 #define GETAN8SCENENAME$_AN8_PROJECT num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETAN8SCENENAME$_SCENE_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_CreateConeMesh 682 +#define FN_CreateConeMesh 689 #define CREATECONEMESH_RADIUS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATECONEMESH_CONE_LENGTH num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATECONEMESH_TESSELATION num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATECONEMESH_TOP_COLOR num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATECONEMESH_BOTTOM_COLOR num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_CreateCylinderMesh 683 +#define FN_CreateCylinderMesh 690 #define CREATECYLINDERMESH_RADIUS num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATECYLINDERMESH_CYLINDER_LENGTH num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATECYLINDERMESH_TESSELATION num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATECYLINDERMESH_COLOR num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATECYLINDERMESH_CLOSE_TOP num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_CreateVolumeLightMesh 684 +#define FN_CreateVolumeLightMesh 691 #define CREATEVOLUMELIGHTMESH_U num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEVOLUMELIGHTMESH_V num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEVOLUMELIGHTMESH_FOOT_COLOR num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2058,9 +2082,9 @@ #define CREATEVOLUMELIGHTMESH_DIM_X num_var[5].nref[0].value[ num_var[5].byref_offset ] #define CREATEVOLUMELIGHTMESH_DIM_Y num_var[6].nref[0].value[ num_var[6].byref_offset ] #define CREATEVOLUMELIGHTMESH_DIM_Z num_var[7].nref[0].value[ num_var[7].byref_offset ] -#define FN_DeleteAN8 685 +#define FN_DeleteAN8 692 #define DELETEAN8_AN8_PROJECT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetMeshBoundingBox 686 +#define FN_SetMeshBoundingBox 693 #define SETMESHBOUNDINGBOX_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMESHBOUNDINGBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMESHBOUNDINGBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2068,7 +2092,7 @@ #define SETMESHBOUNDINGBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define SETMESHBOUNDINGBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define SETMESHBOUNDINGBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_GetMeshBoundingBox 687 +#define FN_GetMeshBoundingBox 694 #define GETMESHBOUNDINGBOX_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMESHBOUNDINGBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETMESHBOUNDINGBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2076,270 +2100,294 @@ #define GETMESHBOUNDINGBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETMESHBOUNDINGBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETMESHBOUNDINGBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_ReCalculateMeshBoundingBox 688 +#define FN_ReCalculateMeshBoundingBox 695 #define RECALCULATEMESHBOUNDINGBOX_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_MakePlanarTextureMap 689 +#define FN_MakePlanarTextureMap 696 #define MAKEPLANARTEXTUREMAP_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] #define MAKEPLANARTEXTUREMAP_RESOLUTION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_ReCalculateMeshNormals 690 +#define FN_ReCalculateMeshNormals 697 #define RECALCULATEMESHNORMALS_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetMeshPolygonCount 691 +#define FN_GetMeshPolygonCount 698 #define GETMESHPOLYGONCOUNT_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_FlipMeshSurfaces 692 +#define FN_FlipMeshSurfaces 699 #define FLIPMESHSURFACES_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateAnimatedActor 693 +#define FN_SetMeshBuffer 700 +#define SETMESHBUFFER_MESH_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define SETMESHBUFFER_BUFFER_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define SETMESHBUFFER_VERTEX_COUNT num_var[2].nref[0].value[ num_var[2].byref_offset ] +#define SETMESHBUFFER_VERTEX_DATA num_var[3].nref[0].value[ num_var[3].byref_offset ] +#define SETMESHBUFFER_NORMAL_DATA num_var[4].nref[0].value[ num_var[4].byref_offset ] +#define SETMESHBUFFER_UV_DATA num_var[5].nref[0].value[ num_var[5].byref_offset ] +#define SETMESHBUFFER_INDEX_COUNT num_var[6].nref[0].value[ num_var[6].byref_offset ] +#define SETMESHBUFFER_INDEX_DATA num_var[7].nref[0].value[ num_var[7].byref_offset ] +#define FN_GetMeshBufferCount 701 +#define GETMESHBUFFERCOUNT_MESH_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define FN_GetMeshBufferVertexCount 702 +#define GETMESHBUFFERVERTEXCOUNT_MESH_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define GETMESHBUFFERVERTEXCOUNT_BUFFER_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define FN_GetMeshBufferIndexCount 703 +#define GETMESHBUFFERINDEXCOUNT_MESH_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define GETMESHBUFFERINDEXCOUNT_BUFFER_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define FN_GetMeshBuffer 704 +#define GETMESHBUFFER_MESH_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] +#define GETMESHBUFFER_BUFFER_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ] +#define GETMESHBUFFER_VERTEX_DATA num_var[2].nref[0].value[ num_var[2].byref_offset ] +#define GETMESHBUFFER_NORMAL_DATA num_var[3].nref[0].value[ num_var[3].byref_offset ] +#define GETMESHBUFFER_UV_DATA num_var[4].nref[0].value[ num_var[4].byref_offset ] +#define GETMESHBUFFER_INDEX_DATA num_var[5].nref[0].value[ num_var[5].byref_offset ] +#define FN_CreateAnimatedActor 705 #define CREATEANIMATEDACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateOctreeActor 694 +#define FN_CreateOctreeActor 706 #define CREATEOCTREEACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateCubeActor 695 +#define FN_CreateCubeActor 707 #define CREATECUBEACTOR_CUBE_SIZE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateSphereActor 696 +#define FN_CreateSphereActor 708 #define CREATESPHEREACTOR_RADIUS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateWaterActor 697 +#define FN_CreateWaterActor 709 #define CREATEWATERACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEWATERACTOR_WAVEHEIGHT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEWATERACTOR_WAVESPEED num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEWATERACTOR_WAVELENGTH num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_CreateLightActor 698 -#define FN_CreateBillboardActor 699 -#define FN_CreateTerrainActor 700 +#define FN_CreateLightActor 710 +#define FN_CreateBillboardActor 711 +#define FN_CreateTerrainActor 712 #define CREATETERRAINACTOR_HMAP_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ] -#define FN_CreateParticleActor 701 +#define FN_CreateParticleActor 713 #define CREATEPARTICLEACTOR_PARTICLE_TYPE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_DeleteActor 702 +#define FN_DeleteActor 714 #define DELETEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetActorTransform 703 +#define FN_GetActorTransform 715 #define GETACTORTRANSFORM_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORTRANSFORM_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetActorPosition 704 +#define FN_SetActorPosition 716 #define SETACTORPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_TranslateActorLocal 705 +#define FN_TranslateActorLocal 717 #define TRANSLATEACTORLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRANSLATEACTORLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TRANSLATEACTORLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define TRANSLATEACTORLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_TranslateActorWorld 706 +#define FN_TranslateActorWorld 718 #define TRANSLATEACTORWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRANSLATEACTORWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TRANSLATEACTORWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define TRANSLATEACTORWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetActorPosition 707 +#define FN_GetActorPosition 719 #define GETACTORPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetActorScale 708 +#define FN_SetActorScale 720 #define SETACTORSCALE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_ScaleActor 709 +#define FN_ScaleActor 721 #define SCALEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SCALEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SCALEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SCALEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetActorScale 710 +#define FN_GetActorScale 722 #define GETACTORSCALE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetActorRotation 711 +#define FN_SetActorRotation 723 #define SETACTORROTATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_RotateActor 712 +#define FN_RotateActor 724 #define ROTATEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ROTATEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ROTATEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define ROTATEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetActorRotation 713 +#define FN_GetActorRotation 725 #define GETACTORROTATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetActorVisible 714 +#define FN_SetActorVisible 726 #define SETACTORVISIBLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORVISIBLE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_ActorIsVisible 715 +#define FN_ActorIsVisible 727 #define ACTORISVISIBLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetActorAutoCulling 716 +#define FN_SetActorAutoCulling 728 #define SETACTORAUTOCULLING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORAUTOCULLING_CULL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetActorAutoCulling 717 +#define FN_GetActorAutoCulling 729 #define GETACTORAUTOCULLING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_AddActorShadow 718 +#define FN_AddActorShadow 730 #define ADDACTORSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_RemoveActorShadow 719 +#define FN_RemoveActorShadow 731 #define REMOVEACTORSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ActorExists 720 +#define FN_ActorExists 732 #define ACTOREXISTS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_CreateProjectorActor 721 -#define FN_CreateActorAnimation 722 +#define FN_CreateProjectorActor 733 +#define FN_CreateActorAnimation 734 #define CREATEACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEACTORANIMATION_START_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEACTORANIMATION_END_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEACTORANIMATION_SPEED num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetActorAnimation 723 +#define FN_SetActorAnimation 735 #define SETACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORANIMATION_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORANIMATION_NUM_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetActorAnimationSpeed 724 +#define FN_SetActorAnimationSpeed 736 #define SETACTORANIMATIONSPEED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORANIMATIONSPEED_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORANIMATIONSPEED_SPEED num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetActorAnimationFrames 725 +#define FN_SetActorAnimationFrames 737 #define SETACTORANIMATIONFRAMES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORANIMATIONFRAMES_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORANIMATIONFRAMES_START_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORANIMATIONFRAMES_END_FRAME num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetActorCurrentAnimation 726 +#define FN_GetActorCurrentAnimation 738 #define GETACTORCURRENTANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetActorAnimationSpeed 727 +#define FN_GetActorAnimationSpeed 739 #define GETACTORANIMATIONSPEED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORANIMATIONSPEED_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetActorAnimationStartFrame 728 +#define FN_GetActorAnimationStartFrame 740 #define GETACTORANIMATIONSTARTFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORANIMATIONSTARTFRAME_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetActorAnimationEndFrame 729 +#define FN_GetActorAnimationEndFrame 741 #define GETACTORANIMATIONENDFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORANIMATIONENDFRAME_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetActorFrame 730 +#define FN_SetActorFrame 742 #define SETACTORFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORFRAME_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetActorFrame 731 +#define FN_GetActorFrame 743 #define GETACTORFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_ActorAnimationIsPlaying 732 +#define FN_ActorAnimationIsPlaying 744 #define ACTORANIMATIONISPLAYING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumActorAnimationLoops 733 +#define FN_NumActorAnimationLoops 745 #define NUMACTORANIMATIONLOOPS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetActorMD2Animation 734 +#define FN_SetActorMD2Animation 746 #define SETACTORMD2ANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORMD2ANIMATION_ANIM num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORMD2ANIMATION_NUM_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetActorMD2AnimationByName 735 +#define FN_SetActorMD2AnimationByName 747 #define SETACTORMD2ANIMATIONBYNAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORMD2ANIMATIONBYNAME_ANIM_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define SETACTORMD2ANIMATIONBYNAME_NUM_LOOPS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_DeleteActorAnimation 736 +#define FN_DeleteActorAnimation 748 #define DELETEACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define DELETEACTORANIMATION_ANIMATION num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetGravity3D 737 +#define FN_SetGravity3D 749 #define SETGRAVITY3D_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETGRAVITY3D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETGRAVITY3D_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetGravity3D 738 +#define FN_GetGravity3D 750 #define GETGRAVITY3D_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETGRAVITY3D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETGRAVITY3D_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetActorShape 739 +#define FN_SetActorShape 751 #define SETACTORSHAPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORSHAPE_SHAPE_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORSHAPE_MASS num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetActorShape 740 +#define FN_GetActorShape 752 #define GETACTORSHAPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetActorSolid 741 +#define FN_SetActorSolid 753 #define SETACTORSOLID_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORSOLID_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_ActorIsSolid 742 +#define FN_ActorIsSolid 754 #define ACTORISSOLID_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetActorCollision 743 +#define FN_GetActorCollision 755 #define GETACTORCOLLISION_ACTOR1 num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORCOLLISION_ACTOR2 num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetActorGravity 744 +#define FN_SetActorGravity 756 #define SETACTORGRAVITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORGRAVITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORGRAVITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORGRAVITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetActorGravity 745 +#define FN_GetActorGravity 757 #define GETACTORGRAVITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORGRAVITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORGRAVITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORGRAVITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorDamping 746 +#define FN_setActorDamping 758 #define SETACTORDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORDAMPING_LIN_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORDAMPING_ANG_DAMPING num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getActorLinearDamping 747 +#define FN_getActorLinearDamping 759 #define GETACTORLINEARDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getActorAngularDamping 748 +#define FN_getActorAngularDamping 760 #define GETACTORANGULARDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getActorLinearSleepThreshold 749 +#define FN_getActorLinearSleepThreshold 761 #define GETACTORLINEARSLEEPTHRESHOLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getActorAngularSleepThreshold 750 +#define FN_getActorAngularSleepThreshold 762 #define GETACTORANGULARSLEEPTHRESHOLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_applyActorDamping 751 +#define FN_applyActorDamping 763 #define APPLYACTORDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORDAMPING_TIMESTEP num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setActorMassProperties 752 +#define FN_setActorMassProperties 764 #define SETACTORMASSPROPERTIES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORMASSPROPERTIES_MASS num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORMASSPROPERTIES_INERTIA_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORMASSPROPERTIES_INERTIA_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define SETACTORMASSPROPERTIES_INERTIA_Z num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getActorLinearFactor 753 +#define FN_getActorLinearFactor 765 #define GETACTORLINEARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORLINEARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORLINEARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORLINEARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorLinearFactor 754 +#define FN_setActorLinearFactor 766 #define SETACTORLINEARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORLINEARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORLINEARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORLINEARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorInverseMass 755 +#define FN_getActorInverseMass 767 #define GETACTORINVERSEMASS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_integrateActorVelocities 756 +#define FN_integrateActorVelocities 768 #define INTEGRATEACTORVELOCITIES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define INTEGRATEACTORVELOCITIES_V_STEP num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_applyActorCentralForceLocal 757 +#define FN_applyActorCentralForceLocal 769 #define APPLYACTORCENTRALFORCELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORCENTRALFORCELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORCENTRALFORCELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORCENTRALFORCELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorCentralForceWorld 758 +#define FN_applyActorCentralForceWorld 770 #define APPLYACTORCENTRALFORCEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORCENTRALFORCEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORCENTRALFORCEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORCENTRALFORCEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorTotalForce 759 +#define FN_getActorTotalForce 771 #define GETACTORTOTALFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORTOTALFORCE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORTOTALFORCE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORTOTALFORCE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorTotalTorque 760 +#define FN_getActorTotalTorque 772 #define GETACTORTOTALTORQUE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORTOTALTORQUE_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORTOTALTORQUE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORTOTALTORQUE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorInverseInertiaDiagLocal 761 +#define FN_getActorInverseInertiaDiagLocal 773 #define GETACTORINVERSEINERTIADIAGLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORINVERSEINERTIADIAGLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORINVERSEINERTIADIAGLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORINVERSEINERTIADIAGLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorInverseInertiaDiagLocal 762 +#define FN_setActorInverseInertiaDiagLocal 774 #define SETACTORINVERSEINERTIADIAGLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORINVERSEINERTIADIAGLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORINVERSEINERTIADIAGLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORINVERSEINERTIADIAGLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorSleepThresholds 763 +#define FN_setActorSleepThresholds 775 #define SETACTORSLEEPTHRESHOLDS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORSLEEPTHRESHOLDS_LINEAR num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORSLEEPTHRESHOLDS_ANGULAR num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_applyActorTorqueLocal 764 +#define FN_applyActorTorqueLocal 776 #define APPLYACTORTORQUELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORTORQUELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORTORQUELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORTORQUELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorTorqueWorld 765 +#define FN_applyActorTorqueWorld 777 #define APPLYACTORTORQUEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORTORQUEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORTORQUEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORTORQUEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorForceLocal 766 +#define FN_applyActorForceLocal 778 #define APPLYACTORFORCELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORFORCELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORFORCELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2347,7 +2395,7 @@ #define APPLYACTORFORCELOCAL_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define APPLYACTORFORCELOCAL_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define APPLYACTORFORCELOCAL_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_applyActorForceWorld 767 +#define FN_applyActorForceWorld 779 #define APPLYACTORFORCEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORFORCEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORFORCEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2355,27 +2403,27 @@ #define APPLYACTORFORCEWORLD_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define APPLYACTORFORCEWORLD_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define APPLYACTORFORCEWORLD_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_applyActorCentralImpulseLocal 768 +#define FN_applyActorCentralImpulseLocal 780 #define APPLYACTORCENTRALIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORCENTRALIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORCENTRALIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORCENTRALIMPULSELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorCentralImpulseWorld 769 +#define FN_applyActorCentralImpulseWorld 781 #define APPLYACTORCENTRALIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORCENTRALIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORCENTRALIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORCENTRALIMPULSEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorTorqueImpulseLocal 770 +#define FN_applyActorTorqueImpulseLocal 782 #define APPLYACTORTORQUEIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORTORQUEIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORTORQUEIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORTORQUEIMPULSELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorTorqueImpulseWorld 771 +#define FN_applyActorTorqueImpulseWorld 783 #define APPLYACTORTORQUEIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORTORQUEIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORTORQUEIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define APPLYACTORTORQUEIMPULSEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_applyActorImpulseLocal 772 +#define FN_applyActorImpulseLocal 784 #define APPLYACTORIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2383,7 +2431,7 @@ #define APPLYACTORIMPULSELOCAL_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define APPLYACTORIMPULSELOCAL_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define APPLYACTORIMPULSELOCAL_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_applyActorImpulseWorld 773 +#define FN_applyActorImpulseWorld 785 #define APPLYACTORIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define APPLYACTORIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define APPLYACTORIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2391,52 +2439,52 @@ #define APPLYACTORIMPULSEWORLD_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define APPLYACTORIMPULSEWORLD_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define APPLYACTORIMPULSEWORLD_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_clearActorForces 774 +#define FN_clearActorForces 786 #define CLEARACTORFORCES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_updateActorInertiaTensor 775 +#define FN_updateActorInertiaTensor 787 #define UPDATEACTORINERTIATENSOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getActorCenter 776 +#define FN_getActorCenter 788 #define GETACTORCENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORCENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORCENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORCENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorRotationQ 777 +#define FN_getActorRotationQ 789 #define GETACTORROTATIONQ_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORROTATIONQ_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORROTATIONQ_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORROTATIONQ_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETACTORROTATIONQ_W num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getActorLinearVelocityWorld 778 +#define FN_getActorLinearVelocityWorld 790 #define GETACTORLINEARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORLINEARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORLINEARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORLINEARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorAngularVelocityWorld 779 +#define FN_getActorAngularVelocityWorld 791 #define GETACTORANGULARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORANGULARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORANGULARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORANGULARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorLinearVelocityLocal 780 +#define FN_setActorLinearVelocityLocal 792 #define SETACTORLINEARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORLINEARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORLINEARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORLINEARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorLinearVelocityWorld 781 +#define FN_setActorLinearVelocityWorld 793 #define SETACTORLINEARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORLINEARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORLINEARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORLINEARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorAngularVelocityLocal 782 +#define FN_setActorAngularVelocityLocal 794 #define SETACTORANGULARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORANGULARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORANGULARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORANGULARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorAngularVelocityWorld 783 +#define FN_setActorAngularVelocityWorld 795 #define SETACTORANGULARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORANGULARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORANGULARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORANGULARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorVelocityInLocalPoint 784 +#define FN_getActorVelocityInLocalPoint 796 #define GETACTORVELOCITYINLOCALPOINT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORVELOCITYINLOCALPOINT_REL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORVELOCITYINLOCALPOINT_REL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2444,17 +2492,17 @@ #define GETACTORVELOCITYINLOCALPOINT_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETACTORVELOCITYINLOCALPOINT_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETACTORVELOCITYINLOCALPOINT_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_getActorLinearVelocityLocal 785 +#define FN_getActorLinearVelocityLocal 797 #define GETACTORLINEARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORLINEARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORLINEARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORLINEARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorAngularVelocityLocal 786 +#define FN_getActorAngularVelocityLocal 798 #define GETACTORANGULARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORANGULARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORANGULARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORANGULARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorAABB 787 +#define FN_getActorAABB 799 #define GETACTORAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORAABB_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORAABB_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2462,7 +2510,7 @@ #define GETACTORAABB_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETACTORAABB_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETACTORAABB_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_computeActorImpulseDenominator 788 +#define FN_computeActorImpulseDenominator 800 #define COMPUTEACTORIMPULSEDENOMINATOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COMPUTEACTORIMPULSEDENOMINATOR_POS_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COMPUTEACTORIMPULSEDENOMINATOR_POS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2470,56 +2518,56 @@ #define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_computeActorAngularImpulseDenominator 789 +#define FN_computeActorAngularImpulseDenominator 801 #define COMPUTEACTORANGULARIMPULSEDENOMINATOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COMPUTEACTORANGULARIMPULSEDENOMINATOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COMPUTEACTORANGULARIMPULSEDENOMINATOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define COMPUTEACTORANGULARIMPULSEDENOMINATOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setActorAngularFactor 790 +#define FN_setActorAngularFactor 802 #define SETACTORANGULARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORANGULARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORANGULARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORANGULARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getActorAngularFactor 791 +#define FN_getActorAngularFactor 803 #define GETACTORANGULARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORANGULARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORANGULARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORANGULARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_computeActorGyroImpulseLocal 792 +#define FN_computeActorGyroImpulseLocal 804 #define COMPUTEACTORGYROIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COMPUTEACTORGYROIMPULSELOCAL_DT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COMPUTEACTORGYROIMPULSELOCAL_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define COMPUTEACTORGYROIMPULSELOCAL_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define COMPUTEACTORGYROIMPULSELOCAL_Z num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_computeActorGyroImpulseWorld 793 +#define FN_computeActorGyroImpulseWorld 805 #define COMPUTEACTORGYROIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COMPUTEACTORGYROIMPULSEWORLD_DT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define COMPUTEACTORGYROIMPULSEWORLD_X num_var[2].nref[0].value[ num_var[2].byref_offset ] #define COMPUTEACTORGYROIMPULSEWORLD_Y num_var[3].nref[0].value[ num_var[3].byref_offset ] #define COMPUTEACTORGYROIMPULSEWORLD_Z num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_getActorLocalInertia 794 +#define FN_getActorLocalInertia 806 #define GETACTORLOCALINERTIA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORLOCALINERTIA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORLOCALINERTIA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETACTORLOCALINERTIA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetActorSleepState 795 +#define FN_SetActorSleepState 807 #define SETACTORSLEEPSTATE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORSLEEPSTATE_STATE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_CastRay3D 796 +#define FN_CastRay3D 808 #define CASTRAY3D_FROM_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CASTRAY3D_FROM_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CASTRAY3D_FROM_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CASTRAY3D_TO_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CASTRAY3D_TO_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CASTRAY3D_TO_Z num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_CastRay3D_All 797 +#define FN_CastRay3D_All 809 #define CASTRAY3D_ALL_FROM_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CASTRAY3D_ALL_FROM_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CASTRAY3D_ALL_FROM_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CASTRAY3D_ALL_TO_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CASTRAY3D_ALL_TO_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] #define CASTRAY3D_ALL_TO_Z num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_GetRayHit3D 798 +#define FN_GetRayHit3D 810 #define GETRAYHIT3D_INDEX num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETRAYHIT3D_ACTOR_ID num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETRAYHIT3D_X num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2528,17 +2576,17 @@ #define GETRAYHIT3D_NORMAL_X num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETRAYHIT3D_NORMAL_Y num_var[6].nref[0].value[ num_var[6].byref_offset ] #define GETRAYHIT3D_NORMAL_Z num_var[7].nref[0].value[ num_var[7].byref_offset ] -#define FN_SetActorShapeEx 799 +#define FN_SetActorShapeEx 811 #define SETACTORSHAPEEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORSHAPEEX_SHAPE_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORSHAPEEX_MASS num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETACTORSHAPEEX_RADIUS num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_createPointConstraint 800 +#define FN_createPointConstraint 812 #define CREATEPOINTCONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEPOINTCONSTRAINT_PXA num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEPOINTCONSTRAINT_PYA num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEPOINTCONSTRAINT_PZA num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_createPointConstraintEx 801 +#define FN_createPointConstraintEx 813 #define CREATEPOINTCONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEPOINTCONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEPOINTCONSTRAINTEX_PXA num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2547,47 +2595,47 @@ #define CREATEPOINTCONSTRAINTEX_PXB num_var[5].nref[0].value[ num_var[5].byref_offset ] #define CREATEPOINTCONSTRAINTEX_PYB num_var[6].nref[0].value[ num_var[6].byref_offset ] #define CREATEPOINTCONSTRAINTEX_PZB num_var[7].nref[0].value[ num_var[7].byref_offset ] -#define FN_setPointPivotA 802 +#define FN_setPointPivotA 814 #define SETPOINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPOINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPOINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETPOINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setPointPivotB 803 +#define FN_setPointPivotB 815 #define SETPOINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPOINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPOINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETPOINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_createHingeConstraint 804 +#define FN_createHingeConstraint 816 #define CREATEHINGECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEHINGECONSTRAINT_FRAMEA num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEHINGECONSTRAINT_USEREFERENCEFRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_createHingeConstraintEx 805 +#define FN_createHingeConstraintEx 817 #define CREATEHINGECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATEHINGECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATEHINGECONSTRAINTEX_FRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATEHINGECONSTRAINTEX_FRAMEB num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATEHINGECONSTRAINTEX_USEREFERENCEFRAMEA num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_createSlideConstraint 806 +#define FN_createSlideConstraint 818 #define CREATESLIDECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATESLIDECONSTRAINT_FRAMEINB_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATESLIDECONSTRAINT_USELINEARREFERENCEFRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_createSlideConstraintEx 807 +#define FN_createSlideConstraintEx 819 #define CREATESLIDECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATESLIDECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATESLIDECONSTRAINTEX_FRAMEINA_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATESLIDECONSTRAINTEX_FRAMEINB_MATRIX num_var[3].nref[0].value[ num_var[3].byref_offset ] #define CREATESLIDECONSTRAINTEX_USELINEARREFERENCEFRAMEA num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_createConeConstraint 808 +#define FN_createConeConstraint 820 #define CREATECONECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATECONECONSTRAINT_RBAFRAME_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_createConeConstraintEx 809 +#define FN_createConeConstraintEx 821 #define CREATECONECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define CREATECONECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ] #define CREATECONECONSTRAINTEX_RBAFRAME_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ] #define CREATECONECONSTRAINTEX_RBBFRAME_MATRIX num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_deleteConstraint 810 +#define FN_deleteConstraint 822 #define DELETECONSTRAINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConstraintFrameOffsetA 811 +#define FN_getConstraintFrameOffsetA 823 #define GETCONSTRAINTFRAMEOFFSETA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2595,7 +2643,7 @@ #define GETCONSTRAINTFRAMEOFFSETA_RX num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETA_RY num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETA_RZ num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_getConstraintFrameOffsetB 812 +#define FN_getConstraintFrameOffsetB 824 #define GETCONSTRAINTFRAMEOFFSETB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2603,43 +2651,43 @@ #define GETCONSTRAINTFRAMEOFFSETB_RX num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETB_RY num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETCONSTRAINTFRAMEOFFSETB_RZ num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_useConstraintFrameOffset 813 +#define FN_useConstraintFrameOffset 825 #define USECONSTRAINTFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define USECONSTRAINTFRAMEOFFSET_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getHingeAngle 814 +#define FN_getHingeAngle 826 #define GETHINGEANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getHingeAngleEx 815 +#define FN_getHingeAngleEx 827 #define GETHINGEANGLEEX_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETHINGEANGLEEX_T_MATRIXA num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETHINGEANGLEEX_T_MATRIXB num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getConstraintBreakingImpulseThreshold 816 +#define FN_getConstraintBreakingImpulseThreshold 828 #define GETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConstraintAFrame 817 +#define FN_getConstraintAFrame 829 #define GETCONSTRAINTAFRAME_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCONSTRAINTAFRAME_MA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getConstraintBFrame 818 +#define FN_getConstraintBFrame 830 #define GETCONSTRAINTBFRAME_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCONSTRAINTBFRAME_MA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setHingeAxis 819 +#define FN_setHingeAxis 831 #define SETHINGEAXIS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETHINGEAXIS_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETHINGEAXIS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETHINGEAXIS_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setConstraintBreakingImpulseThreshold 820 +#define FN_setConstraintBreakingImpulseThreshold 832 #define SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_THRESHOLD num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setConstraintFrames 821 +#define FN_setConstraintFrames 833 #define SETCONSTRAINTFRAMES_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONSTRAINTFRAMES_FRAMEA_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETCONSTRAINTFRAMES_FRAMEB_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setHingeLimit 822 +#define FN_setHingeLimit 834 #define SETHINGELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETHINGELIMIT_LOW num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETHINGELIMIT_HIGH num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETHINGELIMIT_SOFTNESS num_var[3].nref[0].value[ num_var[3].byref_offset ] #define SETHINGELIMIT_BIAS_FACTOR num_var[4].nref[0].value[ num_var[4].byref_offset ] #define SETHINGELIMIT_RELAXATION_FACTOR num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_setConeLimit 823 +#define FN_setConeLimit 835 #define SETCONELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONELIMIT_SWINGSPAN1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETCONELIMIT_SWINGSPAN2 num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2647,290 +2695,290 @@ #define SETCONELIMIT_SOFTNESS num_var[4].nref[0].value[ num_var[4].byref_offset ] #define SETCONELIMIT_BIAS_FACTOR num_var[5].nref[0].value[ num_var[5].byref_offset ] #define SETCONELIMIT_RELAXATION_FACTOR num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_getHingeLimitBiasFactor 824 +#define FN_getHingeLimitBiasFactor 836 #define GETHINGELIMITBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getHingeLimitRelaxationFactor 825 +#define FN_getHingeLimitRelaxationFactor 837 #define GETHINGELIMITRELAXATIONFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getHingeLimitSign 826 +#define FN_getHingeLimitSign 838 #define GETHINGELIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getHingeSolveLimit 827 +#define FN_getHingeSolveLimit 839 #define GETHINGESOLVELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_useHingeReferenceFrameA 828 +#define FN_useHingeReferenceFrameA 840 #define USEHINGEREFERENCEFRAMEA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define USEHINGEREFERENCEFRAMEA_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getConstraintAppliedImpulse 829 +#define FN_getConstraintAppliedImpulse 841 #define GETCONSTRAINTAPPLIEDIMPULSE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConstraintFixedActor 830 +#define FN_getConstraintFixedActor 842 #define GETCONSTRAINTFIXEDACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getPointPivotA 831 +#define FN_getPointPivotA 843 #define GETPOINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPOINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPOINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETPOINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getPointPivotB 832 +#define FN_getPointPivotB 844 #define GETPOINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPOINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPOINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETPOINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getConstraintActorA 833 +#define FN_getConstraintActorA 845 #define GETCONSTRAINTACTORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConstraintActorB 834 +#define FN_getConstraintActorB 846 #define GETCONSTRAINTACTORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setConstraintSolverIterations 835 +#define FN_setConstraintSolverIterations 847 #define SETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONSTRAINTSOLVERITERATIONS_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getConeBiasFactor 836 +#define FN_getConeBiasFactor 848 #define GETCONEBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeDamping 837 +#define FN_getConeDamping 849 #define GETCONEDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeFixThresh 838 +#define FN_getConeFixThresh 850 #define GETCONEFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeLimit 839 +#define FN_getConeLimit 851 #define GETCONELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCONELIMIT_LIMIT_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getConstraintLimitSoftness 840 +#define FN_getConstraintLimitSoftness 852 #define GETCONSTRAINTLIMITSOFTNESS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConstraintSolverIterations 841 +#define FN_getConstraintSolverIterations 853 #define GETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeAnglePoint 842 +#define FN_getConeAnglePoint 854 #define GETCONEANGLEPOINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCONEANGLEPOINT_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETCONEANGLEPOINT_C_LEN num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETCONEANGLEPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETCONEANGLEPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETCONEANGLEPOINT_Z num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_getConstraintAngularOnly 843 +#define FN_getConstraintAngularOnly 855 #define GETCONSTRAINTANGULARONLY_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeSolveSwingLimit 844 +#define FN_getConeSolveSwingLimit 856 #define GETCONESOLVESWINGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeSolveTwistLimit 845 +#define FN_getConeSolveTwistLimit 857 #define GETCONESOLVETWISTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeSwingSpan1 846 +#define FN_getConeSwingSpan1 858 #define GETCONESWINGSPAN1_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeSwingSpan2 847 +#define FN_getConeSwingSpan2 859 #define GETCONESWINGSPAN2_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeTwistAngle 848 +#define FN_getConeTwistAngle 860 #define GETCONETWISTANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeTwistLimitSign 849 +#define FN_getConeTwistLimitSign 861 #define GETCONETWISTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getConeTwistSpan 850 +#define FN_getConeTwistSpan 862 #define GETCONETWISTSPAN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setConstraintAngularOnly 851 +#define FN_setConstraintAngularOnly 863 #define SETCONSTRAINTANGULARONLY_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONSTRAINTANGULARONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setConeDamping 852 +#define FN_setConeDamping 864 #define SETCONEDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONEDAMPING_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setConeFixThresh 853 +#define FN_setConeFixThresh 865 #define SETCONEFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCONEFIXTHRESH_FIXTHRESH num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getSlideAnchorA 854 +#define FN_getSlideAnchorA 866 #define GETSLIDEANCHORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSLIDEANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSLIDEANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSLIDEANCHORA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getSlideAnchorB 855 +#define FN_getSlideAnchorB 867 #define GETSLIDEANCHORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSLIDEANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSLIDEANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETSLIDEANCHORB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getSlideAngDepth 856 +#define FN_getSlideAngDepth 868 #define GETSLIDEANGDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideAngularPos 857 +#define FN_getSlideAngularPos 869 #define GETSLIDEANGULARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideDampingDirAng 858 +#define FN_getSlideDampingDirAng 870 #define GETSLIDEDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideDampingDirLin 859 +#define FN_getSlideDampingDirLin 871 #define GETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideDampingLimAng 860 +#define FN_getSlideDampingLimAng 872 #define GETSLIDEDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideDampingLimLin 861 +#define FN_getSlideDampingLimLin 873 #define GETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideDampingOrthoAng 862 +#define FN_getSlideDampingOrthoAng 874 #define GETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideDampingOrthoLin 863 +#define FN_getSlideDampingOrthoLin 875 #define GETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideLinearPos 864 +#define FN_getSlideLinearPos 876 #define GETSLIDELINEARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideLinDepth 865 +#define FN_getSlideLinDepth 877 #define GETSLIDELINDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideLowerAngLimit 866 +#define FN_getSlideLowerAngLimit 878 #define GETSLIDELOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideLowerLinLimit 867 +#define FN_getSlideLowerLinLimit 879 #define GETSLIDELOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideRestitutionDirAng 868 +#define FN_getSlideRestitutionDirAng 880 #define GETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideRestitutionDirLin 869 +#define FN_getSlideRestitutionDirLin 881 #define GETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideRestitutionLimAng 870 +#define FN_getSlideRestitutionLimAng 882 #define GETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideRestitutionLimLin 871 +#define FN_getSlideRestitutionLimLin 883 #define GETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideRestitutionOrthoAng 872 +#define FN_getSlideRestitutionOrthoAng 884 #define GETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideRestitutionOrthoLin 873 +#define FN_getSlideRestitutionOrthoLin 885 #define GETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSoftnessDirAng 874 +#define FN_getSlideSoftnessDirAng 886 #define GETSLIDESOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSoftnessDirLin 875 +#define FN_getSlideSoftnessDirLin 887 #define GETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSoftnessLimAng 876 +#define FN_getSlideSoftnessLimAng 888 #define GETSLIDESOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSoftnessLimLin 877 +#define FN_getSlideSoftnessLimLin 889 #define GETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSoftnessOrthoAng 878 +#define FN_getSlideSoftnessOrthoAng 890 #define GETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSoftnessOrthoLin 879 +#define FN_getSlideSoftnessOrthoLin 891 #define GETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSolveAngLimit 880 +#define FN_getSlideSolveAngLimit 892 #define GETSLIDESOLVEANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideSolveLinLimit 881 +#define FN_getSlideSolveLinLimit 893 #define GETSLIDESOLVELINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideUpperAngLimit 882 +#define FN_getSlideUpperAngLimit 894 #define GETSLIDEUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideUpperLinLimit 883 +#define FN_getSlideUpperLinLimit 895 #define GETSLIDEUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getSlideUseFrameOffset 884 +#define FN_getSlideUseFrameOffset 896 #define GETSLIDEUSEFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setSlideDampingDirAng 885 +#define FN_setSlideDampingDirAng 897 #define SETSLIDEDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEDAMPINGDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideDampingDirLin 886 +#define FN_setSlideDampingDirLin 898 #define SETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEDAMPINGDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideDampingLimAng 887 +#define FN_setSlideDampingLimAng 899 #define SETSLIDEDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEDAMPINGLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideDampingLimLin 888 +#define FN_setSlideDampingLimLin 900 #define SETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEDAMPINGLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideDampingOrthoAng 889 +#define FN_setSlideDampingOrthoAng 901 #define SETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEDAMPINGORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideDampingOrthoLin 890 +#define FN_setSlideDampingOrthoLin 902 #define SETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEDAMPINGORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideLowerAngLimit 891 +#define FN_setSlideLowerAngLimit 903 #define SETSLIDELOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDELOWERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideLowerLinLimit 892 +#define FN_setSlideLowerLinLimit 904 #define SETSLIDELOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDELOWERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideRestitutionDirAng 893 +#define FN_setSlideRestitutionDirAng 905 #define SETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDERESTITUTIONDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideRestitutionDirLin 894 +#define FN_setSlideRestitutionDirLin 906 #define SETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDERESTITUTIONDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideRestitutionLimAng 895 +#define FN_setSlideRestitutionLimAng 907 #define SETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDERESTITUTIONLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideRestitutionLimLin 896 +#define FN_setSlideRestitutionLimLin 908 #define SETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDERESTITUTIONLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideRestitutionOrthoAng 897 +#define FN_setSlideRestitutionOrthoAng 909 #define SETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDERESTITUTIONORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideRestitutionOrthoLin 898 +#define FN_setSlideRestitutionOrthoLin 910 #define SETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDERESTITUTIONORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideSoftnessDirAng 899 +#define FN_setSlideSoftnessDirAng 911 #define SETSLIDESOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDESOFTNESSDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideSoftnessDirLin 900 +#define FN_setSlideSoftnessDirLin 912 #define SETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDESOFTNESSDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideSoftnessLimAng 901 +#define FN_setSlideSoftnessLimAng 913 #define SETSLIDESOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDESOFTNESSLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideSoftnessLimLin 902 +#define FN_setSlideSoftnessLimLin 914 #define SETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDESOFTNESSLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideSoftnessOrthoAng 903 +#define FN_setSlideSoftnessOrthoAng 915 #define SETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDESOFTNESSORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideSoftnessOrthoLin 904 +#define FN_setSlideSoftnessOrthoLin 916 #define SETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDESOFTNESSORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideUpperAngLimit 905 +#define FN_setSlideUpperAngLimit 917 #define SETSLIDEUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEUPPERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setSlideUpperLinLimit 906 +#define FN_setSlideUpperLinLimit 918 #define SETSLIDEUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSLIDEUPPERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_ConstraintExists 907 +#define FN_ConstraintExists 919 #define CONSTRAINTEXISTS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetCameraPosition 908 +#define FN_SetCameraPosition 920 #define SETCAMERAPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCAMERAPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETCAMERAPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetCameraPosition 909 +#define FN_GetCameraPosition 921 #define GETCAMERAPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCAMERAPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETCAMERAPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_TranslateCamera 910 +#define FN_TranslateCamera 922 #define TRANSLATECAMERA_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define TRANSLATECAMERA_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define TRANSLATECAMERA_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetCameraRotation 911 +#define FN_SetCameraRotation 923 #define SETCAMERAROTATION_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETCAMERAROTATION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETCAMERAROTATION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetCameraRotation 912 +#define FN_GetCameraRotation 924 #define GETCAMERAROTATION_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETCAMERAROTATION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETCAMERAROTATION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_RotateCamera 913 +#define FN_RotateCamera 925 #define ROTATECAMERA_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ROTATECAMERA_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ROTATECAMERA_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetCameraFOV 914 +#define FN_SetCameraFOV 926 #define SETCAMERAFOV_FOV num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetCameraFOV 915 -#define FN_SetCameraAspectRatio 916 +#define FN_GetCameraFOV 927 +#define FN_SetCameraAspectRatio 928 #define SETCAMERAASPECTRATIO_ASPECT num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetCameraAspectRatio 917 -#define FN_SetCameraFarValue 918 +#define FN_GetCameraAspectRatio 929 +#define FN_SetCameraFarValue 930 #define SETCAMERAFARVALUE_ZF num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetCameraFarValue 919 -#define FN_SetCameraNearValue 920 +#define FN_GetCameraFarValue 931 +#define FN_SetCameraNearValue 932 #define SETCAMERANEARVALUE_ZN num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetCameraNearValue 921 -#define FN_SetProjectionMatrix 922 +#define FN_GetCameraNearValue 933 +#define FN_SetProjectionMatrix 934 #define SETPROJECTIONMATRIX_MATA num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPROJECTIONMATRIX_PROJECTION_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetProjectionMatrix 923 +#define FN_GetProjectionMatrix 935 #define GETPROJECTIONMATRIX_MATA num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetWorldToViewportPosition 924 +#define FN_GetWorldToViewportPosition 936 #define GETWORLDTOVIEWPORTPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETWORLDTOVIEWPORTPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETWORLDTOVIEWPORTPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETWORLDTOVIEWPORTPOSITION_VX num_var[3].nref[0].value[ num_var[3].byref_offset ] #define GETWORLDTOVIEWPORTPOSITION_VY num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_AddSceneSkyBox 925 +#define FN_AddSceneSkyBox 937 #define ADDSCENESKYBOX_IMG_TOP num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ADDSCENESKYBOX_IMG_BOTTOM num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ADDSCENESKYBOX_IMG_LEFT num_var[2].nref[0].value[ num_var[2].byref_offset ] #define ADDSCENESKYBOX_IMG_RIGHT num_var[3].nref[0].value[ num_var[3].byref_offset ] #define ADDSCENESKYBOX_IMG_FRONT num_var[4].nref[0].value[ num_var[4].byref_offset ] #define ADDSCENESKYBOX_IMG_BACK num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_AddSceneSkyDome 926 +#define FN_AddSceneSkyDome 938 #define ADDSCENESKYDOME_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_AddSceneSkyDomeEx 927 +#define FN_AddSceneSkyDomeEx 939 #define ADDSCENESKYDOMEEX_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ] #define ADDSCENESKYDOMEEX_HORIRES num_var[1].nref[0].value[ num_var[1].byref_offset ] #define ADDSCENESKYDOMEEX_VERTRES num_var[2].nref[0].value[ num_var[2].byref_offset ] #define ADDSCENESKYDOMEEX_TXPERCENTAGE num_var[3].nref[0].value[ num_var[3].byref_offset ] #define ADDSCENESKYDOMEEX_SPHEREPERCENTAGE num_var[4].nref[0].value[ num_var[4].byref_offset ] #define ADDSCENESKYDOMEEX_RADIUS num_var[5].nref[0].value[ num_var[5].byref_offset ] -#define FN_RemoveSceneSky 928 -#define FN_SetWorld3DMaxSubSteps 929 +#define FN_RemoveSceneSky 940 +#define FN_SetWorld3DMaxSubSteps 941 #define SETWORLD3DMAXSUBSTEPS_STEPS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetWorld3DTimeStep 930 +#define FN_SetWorld3DTimeStep 942 #define SETWORLD3DTIMESTEP_TS num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetWorld3DMaxSubSteps 931 -#define FN_GetWorld3DTimeStep 932 -#define FN_SetSceneFog 933 +#define FN_GetWorld3DMaxSubSteps 943 +#define FN_GetWorld3DTimeStep 944 +#define FN_SetSceneFog 945 #define SETSCENEFOG_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETSCENEFOG_FOG_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETSCENEFOG_START_VAL num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2938,7 +2986,7 @@ #define SETSCENEFOG_DENSITY num_var[4].nref[0].value[ num_var[4].byref_offset ] #define SETSCENEFOG_PIXELFOG num_var[5].nref[0].value[ num_var[5].byref_offset ] #define SETSCENEFOG_RANGEFOG num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_GetSceneFog 934 +#define FN_GetSceneFog 946 #define GETSCENEFOG_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETSCENEFOG_FOG_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETSCENEFOG_START_VAL num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -2946,117 +2994,120 @@ #define GETSCENEFOG_DENSITY num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETSCENEFOG_PIXELFOG num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETSCENEFOG_RANGEFOG num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_ClearScene 935 -#define FN_SetSceneShadowColor 936 +#define FN_ClearScene 947 +#define FN_SetSceneShadowColor 948 #define SETSCENESHADOWCOLOR_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetSceneShadowColor 937 -#define FN_SetSceneAmbientColor 938 +#define FN_GetSceneShadowColor 949 +#define FN_SetSceneAmbientColor 950 #define SETSCENEAMBIENTCOLOR_COLOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetSceneAmbientColor 939 -#define FN_startParticleEmitter 940 +#define FN_GetSceneAmbientColor 951 +#define FN_Pipeline_Begin 952 +#define FN_Pipeline_End 953 +#define FN_Pipeline_Render 954 +#define FN_startParticleEmitter 955 #define STARTPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_stopParticleEmitter 941 +#define FN_stopParticleEmitter 956 #define STOPPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleDirection 942 +#define FN_setParticleDirection 957 #define SETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getParticleDirection 943 +#define FN_getParticleDirection 958 #define GETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_useParticleEveryMeshVertex 944 +#define FN_useParticleEveryMeshVertex 959 #define USEPARTICLEEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define USEPARTICLEEVERYMESHVERTEX_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_particleIsUsingEveryMeshVertex 945 +#define FN_particleIsUsingEveryMeshVertex 960 #define PARTICLEISUSINGEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleNormalDirectionMod 946 +#define FN_setParticleNormalDirectionMod 961 #define SETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLENORMALDIRECTIONMOD_ND_MOD num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleNormalDirectionMod 947 +#define FN_getParticleNormalDirectionMod 962 #define GETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_useParticleNormalDirection 948 +#define FN_useParticleNormalDirection 963 #define USEPARTICLENORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define USEPARTICLENORMALDIRECTION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_particleIsUsingNormalDirection 949 +#define FN_particleIsUsingNormalDirection 964 #define PARTICLEISUSINGNORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMesh 950 +#define FN_setParticleMesh 965 #define SETPARTICLEMESH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMESH_MESH num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setMinParticlesPerSecond 951 +#define FN_setMinParticlesPerSecond 966 #define SETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMinParticlesPerSecond 952 +#define FN_getMinParticlesPerSecond 967 #define GETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaxParticlesPerSecond 953 +#define FN_setMaxParticlesPerSecond 968 #define SETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaxParticlesPerSecond 954 +#define FN_getMaxParticlesPerSecond 969 #define GETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMinStartColor 955 +#define FN_setParticleMinStartColor 970 #define SETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMINSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleMinStartColor 956 +#define FN_getParticleMinStartColor 971 #define GETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMaxStartColor 957 +#define FN_setParticleMaxStartColor 972 #define SETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMAXSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleMaxStartColor 958 +#define FN_getParticleMaxStartColor 973 #define GETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMinLife 959 +#define FN_setParticleMinLife 974 #define SETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMINLIFE_MINLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleMinLife 960 +#define FN_getParticleMinLife 975 #define GETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMaxLife 961 +#define FN_setParticleMaxLife 976 #define SETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMAXLIFE_MAXLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleMaxLife 962 +#define FN_getParticleMaxLife 977 #define GETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMaxAngle 963 +#define FN_setParticleMaxAngle 978 #define SETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMAXANGLE_MAXANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleMaxAngle 964 +#define FN_getParticleMaxAngle 979 #define GETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleMinStartSize 965 +#define FN_setParticleMinStartSize 980 #define SETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getParticleMinStartSize 966 +#define FN_getParticleMinStartSize 981 #define GETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setParticleMaxStartSize 967 +#define FN_setParticleMaxStartSize 982 #define SETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getParticleMaxStartSize 968 +#define FN_getParticleMaxStartSize 983 #define GETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setParticleCenter 969 +#define FN_setParticleCenter 984 #define SETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getParticleCenter 970 +#define FN_getParticleCenter 985 #define GETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setParticleRadius 971 +#define FN_setParticleRadius 986 #define SETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLERADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleRadius 972 +#define FN_getParticleRadius 987 #define GETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleRingThickness 973 +#define FN_setParticleRingThickness 988 #define SETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLERINGTHICKNESS_RINGTHICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleRingThickness 974 +#define FN_getParticleRingThickness 989 #define GETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setParticleBox 975 +#define FN_setParticleBox 990 #define SETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -3064,7 +3115,7 @@ #define SETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define SETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define SETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_getParticleBox 976 +#define FN_getParticleBox 991 #define GETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -3072,84 +3123,84 @@ #define GETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ] #define GETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ] #define GETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ] -#define FN_setParticleNormal 977 +#define FN_setParticleNormal 992 #define SETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_getParticleNormal 978 +#define FN_getParticleNormal 993 #define GETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_setParticleLength 979 +#define FN_setParticleLength 994 #define SETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPARTICLELENGTH_P_LEN num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getParticleLength 980 +#define FN_getParticleLength 995 #define GETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_useParticleOutlineOnly 981 +#define FN_useParticleOutlineOnly 996 #define USEPARTICLEOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define USEPARTICLEOUTLINEONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_particleIsUsingOutlineOnly 982 +#define FN_particleIsUsingOutlineOnly 997 #define PARTICLEISUSINGOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getParticleType 983 +#define FN_getParticleType 998 #define GETPARTICLETYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_lightIsCastingShadow 984 +#define FN_lightIsCastingShadow 999 #define LIGHTISCASTINGSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getLightType 985 +#define FN_getLightType 1000 #define GETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_getLightRadius 986 +#define FN_getLightRadius 1001 #define GETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setLightType 987 +#define FN_setLightType 1002 #define SETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTTYPE_LIGHT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setLightRadius 988 +#define FN_setLightRadius 1003 #define SETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTRADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setLightShadowCast 989 +#define FN_setLightShadowCast 1004 #define SETLIGHTSHADOWCAST_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTSHADOWCAST_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetLightAmbientColor 990 +#define FN_SetLightAmbientColor 1005 #define SETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetLightAmbientColor 991 +#define FN_GetLightAmbientColor 1006 #define GETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetLightAttenuation 992 +#define FN_SetLightAttenuation 1007 #define SETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTATTENUATION_L_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETLIGHTATTENUATION_L_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETLIGHTATTENUATION_L_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetLightAttenuation 993 +#define FN_GetLightAttenuation 1008 #define GETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETLIGHTATTENUATION_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETLIGHTATTENUATION_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETLIGHTATTENUATION_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetLightDiffuseColor 994 +#define FN_SetLightDiffuseColor 1009 #define SETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetLightDiffuseColor 995 +#define FN_GetLightDiffuseColor 1010 #define GETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetLightFalloff 996 +#define FN_SetLightFalloff 1011 #define SETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTFALLOFF_FALLOFF num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetLightFalloff 997 +#define FN_GetLightFalloff 1012 #define GETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetLightInnerCone 998 +#define FN_SetLightInnerCone 1013 #define SETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTINNERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetLightInnerCone 999 +#define FN_GetLightInnerCone 1014 #define GETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetLightOuterCone 1000 +#define FN_SetLightOuterCone 1015 #define SETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTOUTERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetLightOuterCone 1001 +#define FN_GetLightOuterCone 1016 #define GETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_SetLightSpecularColor 1002 +#define FN_SetLightSpecularColor 1017 #define SETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETLIGHTSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetLightSpecularColor 1003 +#define FN_GetLightSpecularColor 1018 #define GETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetTerrainPatchAABB 1004 +#define FN_GetTerrainPatchAABB 1019 #define GETTERRAINPATCHAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTERRAINPATCHAABB_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTERRAINPATCHAABB_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ] @@ -3159,222 +3210,222 @@ #define GETTERRAINPATCHAABB_MAXX num_var[6].nref[0].value[ num_var[6].byref_offset ] #define GETTERRAINPATCHAABB_MAXY num_var[7].nref[0].value[ num_var[7].byref_offset ] #define GETTERRAINPATCHAABB_MAXZ num_var[8].nref[0].value[ num_var[8].byref_offset ] -#define FN_GetTerrainPatchLOD 1005 +#define FN_GetTerrainPatchLOD 1020 #define GETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetTerrainHeight 1006 +#define FN_GetTerrainHeight 1021 #define GETTERRAINHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTERRAINHEIGHT_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTERRAINHEIGHT_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_GetTerrainCenter 1007 +#define FN_GetTerrainCenter 1022 #define GETTERRAINCENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETTERRAINCENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETTERRAINCENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETTERRAINCENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetTerrainLODDistance 1008 +#define FN_SetTerrainLODDistance 1023 #define SETTERRAINLODDISTANCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTERRAINLODDISTANCE_LOD num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTERRAINLODDISTANCE_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_ScaleTerrainTexture 1009 +#define FN_ScaleTerrainTexture 1024 #define SCALETERRAINTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SCALETERRAINTEXTURE_SCALE num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SCALETERRAINTEXTURE_SCALE2 num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_SetTerrainCameraMovementDelta 1010 +#define FN_SetTerrainCameraMovementDelta 1025 #define SETTERRAINCAMERAMOVEMENTDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTERRAINCAMERAMOVEMENTDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetTerrainCameraRotationDelta 1011 +#define FN_SetTerrainCameraRotationDelta 1026 #define SETTERRAINCAMERAROTATIONDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTERRAINCAMERAROTATIONDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetTerrainPatchLOD 1012 +#define FN_SetTerrainPatchLOD 1027 #define SETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETTERRAINPATCHLOD_LOD num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetProjectorTarget 1013 +#define FN_SetProjectorTarget 1028 #define SETPROJECTORTARGET_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPROJECTORTARGET_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETPROJECTORTARGET_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETPROJECTORTARGET_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_GetProjectorTarget 1014 +#define FN_GetProjectorTarget 1029 #define GETPROJECTORTARGET_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETPROJECTORTARGET_X num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETPROJECTORTARGET_Y num_var[2].nref[0].value[ num_var[2].byref_offset ] #define GETPROJECTORTARGET_Z num_var[3].nref[0].value[ num_var[3].byref_offset ] -#define FN_SetProjectorFOV 1015 +#define FN_SetProjectorFOV 1030 #define SETPROJECTORFOV_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETPROJECTORFOV_FOV num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_GetProjectorFOV 1016 +#define FN_GetProjectorFOV 1031 #define GETPROJECTORFOV_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_createMaterial 1017 -#define FN_deleteMaterial 1018 +#define FN_createMaterial 1032 +#define FN_deleteMaterial 1033 #define DELETEMATERIAL_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setActorMaterial 1019 +#define FN_setActorMaterial 1034 #define SETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORMATERIAL_MATERIAL_ID num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getActorMaterial 1020 +#define FN_getActorMaterial 1035 #define GETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_copyActorMaterial 1021 +#define FN_copyActorMaterial 1036 #define COPYACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define COPYACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_copyMaterial 1022 +#define FN_copyMaterial 1037 #define COPYMATERIAL_SMATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialTextureCanvas 1023 +#define FN_setMaterialTextureCanvas 1038 #define SETMATERIALTEXTURECANVAS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALTEXTURECANVAS_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATERIALTEXTURECANVAS_CANVAS_ID num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setMaterialAmbientColor 1024 +#define FN_setMaterialAmbientColor 1039 #define SETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialAmbientColor 1025 +#define FN_getMaterialAmbientColor 1040 #define GETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialAntiAliasing 1026 +#define FN_setMaterialAntiAliasing 1041 #define SETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALANTIALIASING_AA num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialAntiAliasing 1027 +#define FN_getMaterialAntiAliasing 1042 #define GETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialBackfaceCulling 1028 +#define FN_setMaterialBackfaceCulling 1043 #define SETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALBACKFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialBackfaceCulling 1029 +#define FN_getMaterialBackfaceCulling 1044 #define GETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialBlendFactor 1030 +#define FN_setMaterialBlendFactor 1045 #define SETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALBLENDFACTOR_BF num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialBlendFactor 1031 +#define FN_getMaterialBlendFactor 1046 #define GETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialBlendMode 1032 +#define FN_setMaterialBlendMode 1047 #define SETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALBLENDMODE_BLEND_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialBlendMode 1033 +#define FN_getMaterialBlendMode 1048 #define GETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialColorMask 1034 +#define FN_setMaterialColorMask 1049 #define SETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALCOLORMASK_COLOR_MASK num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialColorMask 1035 +#define FN_getMaterialColorMask 1050 #define GETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialColorMode 1036 +#define FN_setMaterialColorMode 1051 #define SETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALCOLORMODE_COLOR_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialColorMode 1037 +#define FN_getMaterialColorMode 1052 #define GETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialDiffuseColor 1038 +#define FN_setMaterialDiffuseColor 1053 #define SETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialDiffuseColor 1039 +#define FN_getMaterialDiffuseColor 1054 #define GETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialEmissiveColor 1040 +#define FN_setMaterialEmissiveColor 1055 #define SETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALEMISSIVECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialEmissiveColor 1041 +#define FN_getMaterialEmissiveColor 1056 #define GETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialFog 1042 +#define FN_setMaterialFog 1057 #define SETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALFOG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialFog 1043 +#define FN_getMaterialFog 1058 #define GETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialFrontfaceCulling 1044 +#define FN_setMaterialFrontfaceCulling 1059 #define SETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALFRONTFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialFrontfaceCulling 1045 +#define FN_getMaterialFrontfaceCulling 1060 #define GETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialGouraudShading 1046 +#define FN_setMaterialGouraudShading 1061 #define SETMATERIALGOURAUDSHADING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALGOURAUDSHADING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_materialIsGouraudShaded 1047 +#define FN_materialIsGouraudShaded 1062 #define MATERIALISGOURAUDSHADED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_materialIsAplhaBlend 1048 +#define FN_materialIsAplhaBlend 1063 #define MATERIALISAPLHABLEND_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_materialIsTransparent 1049 +#define FN_materialIsTransparent 1064 #define MATERIALISTRANSPARENT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialLighting 1050 +#define FN_setMaterialLighting 1065 #define SETMATERIALLIGHTING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALLIGHTING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_materialIsLit 1051 +#define FN_materialIsLit 1066 #define MATERIALISLIT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialType 1052 +#define FN_setMaterialType 1067 #define SETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALTYPE_MAT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialType 1053 +#define FN_getMaterialType 1068 #define GETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialNormalize 1054 +#define FN_setMaterialNormalize 1069 #define SETMATERIALNORMALIZE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALNORMALIZE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_materialIsNormalized 1055 +#define FN_materialIsNormalized 1070 #define MATERIALISNORMALIZED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialPointCloud 1056 +#define FN_setMaterialPointCloud 1071 #define SETMATERIALPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALPOINTCLOUD_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_materialIsPointCloud 1057 +#define FN_materialIsPointCloud 1072 #define MATERIALISPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialFlag 1058 +#define FN_setMaterialFlag 1073 #define SETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATERIALFLAG_F_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getMaterialFlag 1059 +#define FN_getMaterialFlag 1074 #define GETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_setMaterialTexture 1060 +#define FN_setMaterialTexture 1075 #define SETMATERIALTEXTURE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALTEXTURE_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATERIALTEXTURE_IMG_ID num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setMaterialShininess 1061 +#define FN_setMaterialShininess 1076 #define SETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALSHININESS_SHININESS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialShininess 1062 +#define FN_getMaterialShininess 1077 #define GETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialSpecularColor 1063 +#define FN_setMaterialSpecularColor 1078 #define SETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialSpecularColor 1064 +#define FN_getMaterialSpecularColor 1079 #define GETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialThickness 1065 +#define FN_setMaterialThickness 1080 #define SETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALTHICKNESS_THICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getMaterialThickness 1066 +#define FN_getMaterialThickness 1081 #define GETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setMaterialWireframe 1067 +#define FN_setMaterialWireframe 1082 #define SETMATERIALWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALWIREFRAME_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_materialIsWireframe 1068 +#define FN_materialIsWireframe 1083 #define MATERIALISWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setActorTexture 1069 +#define FN_setActorTexture 1084 #define SETACTORTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORTEXTURE_LAYER num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORTEXTURE_IMAGE_ID num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getActorMaterialCount 1070 +#define FN_getActorMaterialCount 1085 #define GETACTORMATERIALCOUNT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_setActorMaterialFlag 1071 +#define FN_setActorMaterialFlag 1086 #define SETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORMATERIALFLAG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETACTORMATERIALFLAG_FLAG_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_getActorMaterialFlag 1072 +#define FN_getActorMaterialFlag 1087 #define GETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORMATERIALFLAG_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ] #define GETACTORMATERIALFLAG_FLAG num_var[2].nref[0].value[ num_var[2].byref_offset ] -#define FN_setActorMaterialType 1073 +#define FN_setActorMaterialType 1088 #define SETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETACTORMATERIALTYPE_MATERIAL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_getActorMaterialType 1074 +#define FN_getActorMaterialType 1089 #define GETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETACTORMATERIALTYPE_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_MaterialExists 1075 +#define FN_MaterialExists 1090 #define MATERIALEXISTS_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_NumMaterialConstants 1076 +#define FN_NumMaterialConstants 1091 #define NUMMATERIALCONSTANTS_MATERIAL_TYPE num_var[0].nref[0].value[ num_var[0].byref_offset ] -#define FN_GetMaterialConstantName$ 1077 +#define FN_GetMaterialConstantName$ 1092 #define GETMATERIALCONSTANTNAME$_MATERIAL_TYPE num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATERIALCONSTANTNAME$_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ] -#define FN_SetMaterialConstant 1078 +#define FN_SetMaterialConstant 1093 #define SETMATERIALCONSTANT_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ] #define SETMATERIALCONSTANT_M_CONSTANT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define SETMATERIALCONSTANT_N1 num_var[1].nref[0].value[ num_var[1].byref_offset ] #define SETMATERIALCONSTANT_N2 num_var[2].nref[0].value[ num_var[2].byref_offset ] #define SETMATERIALCONSTANT_N3 num_var[3].nref[0].value[ num_var[3].byref_offset ] #define SETMATERIALCONSTANT_N4 num_var[4].nref[0].value[ num_var[4].byref_offset ] -#define FN_GetMaterialConstant 1079 +#define FN_GetMaterialConstant 1094 #define GETMATERIALCONSTANT_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ] #define GETMATERIALCONSTANT_M_CONSTANT$ str_var[0].sref[0].value[ str_var[0].byref_offset ] #define GETMATERIALCONSTANT_N1 num_var[1].nref[0].value[ num_var[1].byref_offset ] diff --git a/rcbasic_runtime/rc_func130_cases.h b/rcbasic_runtime/rc_func130_cases.h index 689a4e0..029b7d2 100644 --- a/rcbasic_runtime/rc_func130_cases.h +++ b/rcbasic_runtime/rc_func130_cases.h @@ -649,6 +649,27 @@ case FN_SetSpriteCanvasRenderPriority: //Number Function case FN_GetSpriteCanvasRenderPriority: //Sub Procedure rc_getSpriteCanvasRenderPriority( GETSPRITECANVASRENDERPRIORITY_C_NUM, &GETSPRITECANVASRENDERPRIORITY_PRIORITY, &GETSPRITECANVASRENDERPRIORITY_ORDER ); break; +case FN_AddPostEffect: //Number Function + rc_push_num(rc_addPostEffect( ADDPOSTEFFECT_C_NUM, ADDPOSTEFFECT_EFFECT_TYPE )); + break; +case FN_RemovePostEffect: //Sub Procedure + rc_removePostEffect( REMOVEPOSTEFFECT_C_NUM, REMOVEPOSTEFFECT_EFFECT_NUM ); + break; +case FN_SetPostEffectProperty: //Sub Procedure + rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_EFFECT_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE ); + break; +case FN_GetPostEffectProperty: //Number Function + rc_push_num(rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_EFFECT_NUM, GETPOSTEFFECTPROPERTY_PROPERTY )); + break; +case FN_ClearPostEffects: //Sub Procedure + rc_clearPostEffects( CLEARPOSTEFFECTS_C_NUM ); + break; +case FN_SetPostEffectActive: //Sub Procedure + rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_EFFECT_NUM, SETPOSTEFFECTACTIVE_FLAG ); + break; +case FN_PostEffectIsActive: //Number Function + rc_push_num(rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM, POSTEFFECTISACTIVE_EFFECT_NUM )); + break; case FN_Circle: //Sub Procedure rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS ); break; @@ -2105,6 +2126,21 @@ case FN_GetMeshPolygonCount: //Number Function case FN_FlipMeshSurfaces: //Sub Procedure rc_flipMeshSurfaces( FLIPMESHSURFACES_MESH ); break; +case FN_SetMeshBuffer: //Number Function + rc_push_num(rc_setMeshBuffer( SETMESHBUFFER_MESH_ID, SETMESHBUFFER_BUFFER_NUM, SETMESHBUFFER_VERTEX_COUNT, &SETMESHBUFFER_VERTEX_DATA, &SETMESHBUFFER_NORMAL_DATA, &SETMESHBUFFER_UV_DATA, SETMESHBUFFER_INDEX_COUNT, &SETMESHBUFFER_INDEX_DATA )); + break; +case FN_GetMeshBufferCount: //Number Function + rc_push_num(rc_getMeshBufferCount( GETMESHBUFFERCOUNT_MESH_ID )); + break; +case FN_GetMeshBufferVertexCount: //Number Function + rc_push_num(rc_getMeshBufferVertexCount( GETMESHBUFFERVERTEXCOUNT_MESH_ID, GETMESHBUFFERVERTEXCOUNT_BUFFER_INDEX )); + break; +case FN_GetMeshBufferIndexCount: //Number Function + rc_push_num(rc_getMeshBufferIndexCount( GETMESHBUFFERINDEXCOUNT_MESH_ID, GETMESHBUFFERINDEXCOUNT_BUFFER_INDEX )); + break; +case FN_GetMeshBuffer: //Number Function + rc_push_num(rc_getMeshBuffer( GETMESHBUFFER_MESH_ID, GETMESHBUFFER_BUFFER_INDEX, &GETMESHBUFFER_VERTEX_DATA, &GETMESHBUFFER_NORMAL_DATA, &GETMESHBUFFER_UV_DATA, &GETMESHBUFFER_INDEX_DATA )); + break; case FN_CreateAnimatedActor: //Number Function rc_push_num(rc_createAnimatedActor( CREATEANIMATEDACTOR_MESH )); break; @@ -2846,6 +2882,15 @@ case FN_SetSceneAmbientColor: //Sub Procedure case FN_GetSceneAmbientColor: //Number Function rc_push_num(rc_getSceneAmbientColor( )); break; +case FN_Pipeline_Begin: //Sub Procedure + rc_pipeline_Begin( ); + break; +case FN_Pipeline_End: //Sub Procedure + rc_pipeline_End( ); + break; +case FN_Pipeline_Render: //Sub Procedure + rc_pipeline_Render( ); + break; case FN_startParticleEmitter: //Sub Procedure rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR ); break; diff --git a/rcbasic_runtime/rc_gfx.h b/rcbasic_runtime/rc_gfx.h index bcef69d..634e79f 100644 --- a/rcbasic_runtime/rc_gfx.h +++ b/rcbasic_runtime/rc_gfx.h @@ -29,6 +29,7 @@ #include "rc_spritelib.h" #include "rc_tilelib.h" #include "rc_joints.h" +#include "rc_post_fx.h" #include @@ -1245,6 +1246,14 @@ void rc_canvasClose(int canvas_id) rc_canvas[canvas_id].sprite_id.clear(); + //delete post effects for canvas + for(int i = 0; i < rc_canvas[canvas_id].post_effect.size(); i++) + { + rc_removePostEffect(canvas_id, i); + } + + rc_canvas[canvas_id].post_effect.clear(); + if(rc_active_canvas == canvas_id) rc_active_canvas = -1; diff --git a/rcbasic_runtime/rc_gfx_core.h b/rcbasic_runtime/rc_gfx_core.h index 40d172e..aab8d14 100755 --- a/rcbasic_runtime/rc_gfx_core.h +++ b/rcbasic_runtime/rc_gfx_core.h @@ -334,6 +334,28 @@ struct rc_spriteCanvasProperties int order; }; +#define RC_POST_PROCESS_BLOOM 1 +#define RC_POST_PROCESS_BLUR 2 +#define RC_POST_PROCESS_MOTION_BLUR 3 +#define RC_POST_PROCESS_RADIAL_BLUR 4 +#define RC_POST_PROCESS_COLORIZE 5 +#define RC_POST_PROCESS_INVERT 6 +#define RC_POST_PROCESS_DISTORTION 7 + +// strength, distance, multiplier, saturation, color +#define RC_PP_PROPERTY_STRENGTH 1 +#define RC_PP_PROPERTY_DISTANCE 2 +#define RC_PP_PROPERTY_MULTIPLIER 3 +#define RC_PP_PROPERTY_SATURATION 4 +#define RC_PP_PROPERTY_COLOR 5 + +struct rc_post_effect +{ + int type; + void* object; + bool is_active; +}; + #define RC_CANVAS_TYPE_2D 0 #define RC_CANVAS_TYPE_3D 1 #define RC_CANVAS_TYPE_SPRITE 2 @@ -382,12 +404,15 @@ struct rc_canvas_obj rc_physicsWorld2D_obj physics2D; irr::core::array sprite_id; rc_spriteCanvasProperties spriteCanvasProperties; + + irr::core::array post_effect; }; irr::core::array rc_canvas; irr::core::array rc_canvas_zOrder; int rc_active_canvas = -1; bool hasPreUpdated = false; +bool manual_render_control = false; irr::video::SColor rc_active_color(0,0,0,0); irr::video::SColor rc_clear_color(0,0,0,0); diff --git a/rcbasic_runtime/rc_mesh.h b/rcbasic_runtime/rc_mesh.h index c0f7b17..136892f 100755 --- a/rcbasic_runtime/rc_mesh.h +++ b/rcbasic_runtime/rc_mesh.h @@ -398,7 +398,7 @@ int rc_createVolumeLightMesh( double u, double v, double foot_color, double tail //create mesh from geometry data [TODO] -bool rc_addMeshBuffer(int mesh_id, int vertex_count, double* vertex_data, double* normal_data, double* uv_data, int index_count, double* index_data) +int rc_addMeshBuffer(int mesh_id, int vertex_count, double* vertex_data, double* normal_data, double* uv_data, int index_count, double* index_data) { irr::scene::ISkinnedMesh * mesh = (irr::scene::ISkinnedMesh*) rc_mesh[mesh_id].mesh; @@ -407,7 +407,7 @@ bool rc_addMeshBuffer(int mesh_id, int vertex_count, double* vertex_data, double if(!mbuf) { mesh->drop(); - return false; + return -1; } irr::core::array vertices; @@ -437,7 +437,162 @@ bool rc_addMeshBuffer(int mesh_id, int vertex_count, double* vertex_data, double } + int mbuf_index = mesh->getMeshBufferCount()-1; + + return mbuf_index; +} + + +bool rc_setMeshBuffer(int mesh_id, int buffer_index, int vertex_count, double* vertex_data, double* normal_data, double* uv_data, int index_count, double* index_data) +{ + irr::scene::ISkinnedMesh * mesh = (irr::scene::ISkinnedMesh*) rc_mesh[mesh_id].mesh; + + if(buffer_index < 0 || buffer_index >= mesh->getMeshBufferCount()) + return false; + + irr::scene::SSkinMeshBuffer* mbuf = (irr::scene::SSkinMeshBuffer*)mesh->getMeshBuffer(buffer_index); + + if(!mbuf) + { + mesh->drop(); + return false; + } + + irr::core::array vertices; + irr::core::array indices; + + for(int i = 0; i < vertex_count; i++) + { + irr::video::S3DVertex v; + v.Pos = irr::core::vector3df( (irr::f32) vertex_data[i*3], (irr::f32) vertex_data[i*3+1], (irr::f32) vertex_data[i*3+2] ); + v.Normal = irr::core::vector3df( (irr::f32) normal_data[i*3], (irr::f32) normal_data[i*3+1], (irr::f32) normal_data[i*3+2] ); + v.TCoords = irr::core::vector2df( (irr::f32) uv_data[i*2], (irr::f32) uv_data[i*2+1] ); + vertices.push_back(v); + } + + for(int i = 0; i < index_count; i++) + { + indices.push_back( (irr::u16) index_data[i] ); + } + + if(indices.size() > 0) + { + mbuf->Indices.clear(); + mbuf->Vertices_Standard.clear(); + + for(int i = 0; i < vertices.size(); i++) + mbuf->Vertices_Standard.push_back(vertices[i]); + + for(int i = 0; i < indices.size(); i++) + mbuf->Indices.push_back(indices[i]); + + } + return true; } + +int rc_getMeshBufferCount(int mesh_id) +{ + irr::scene::ISkinnedMesh * mesh = (irr::scene::ISkinnedMesh*) rc_mesh[mesh_id].mesh; + + if(mesh_id < 0 || mesh_id >= rc_mesh.size()) + return false; + + return rc_mesh[mesh_id].mesh->getMeshBufferCount(); +} + +int rc_getMeshBufferVertexCount(int mesh_id, int buffer_index) +{ + irr::scene::ISkinnedMesh * mesh = (irr::scene::ISkinnedMesh*) rc_mesh[mesh_id].mesh; + + if(mesh_id < 0 || mesh_id >= rc_mesh.size()) + return 0; + + int buffer_count = rc_mesh[mesh_id].mesh->getMeshBufferCount(); + + if(buffer_index < 0 || buffer_index >= buffer_count) + return 0; + + irr::scene::SSkinMeshBuffer* mbuf = (irr::scene::SSkinMeshBuffer*)mesh->getMeshBuffer(buffer_index); + + if(!mbuf) + { + return 0; + } + + return mbuf->getVertexCount(); +} + +int rc_getMeshBufferIndexCount(int mesh_id, int buffer_index) +{ + irr::scene::ISkinnedMesh * mesh = (irr::scene::ISkinnedMesh*) rc_mesh[mesh_id].mesh; + + if(mesh_id < 0 || mesh_id >= rc_mesh.size()) + return 0; + + int buffer_count = rc_mesh[mesh_id].mesh->getMeshBufferCount(); + + if(buffer_index < 0 || buffer_index >= buffer_count) + return 0; + + irr::scene::SSkinMeshBuffer* mbuf = (irr::scene::SSkinMeshBuffer*)mesh->getMeshBuffer(buffer_index); + + if(!mbuf) + { + return 0; + } + + return mbuf->getIndexCount(); +} + +bool rc_getMeshBuffer(int mesh_id, int buffer_index, double* vertex_data, double* normal_data, double* uv_data, double* index_data) +{ + irr::scene::ISkinnedMesh * mesh = (irr::scene::ISkinnedMesh*) rc_mesh[mesh_id].mesh; + + if(mesh_id < 0 || mesh_id >= rc_mesh.size()) + return false; + + int buffer_count = rc_mesh[mesh_id].mesh->getMeshBufferCount(); + + if(buffer_index < 0 || buffer_index >= buffer_count) + return false; + + irr::scene::SSkinMeshBuffer* mbuf = (irr::scene::SSkinMeshBuffer*)mesh->getMeshBuffer(buffer_index); + + if(!mbuf) + { + return false; + } + + int vertex_count = mbuf->getVertexCount(); + int index_count = mbuf->getIndexCount(); + + for(int i = 0; i < vertex_count; i++) + { + irr::video::S3DVertex* v = mbuf->getVertex(i); + + vertex_data[i*3] = (double)v->Pos.X; + vertex_data[i*3+1] = (double)v->Pos.Y; + vertex_data[i*3+2] = (double)v->Pos.Z; + + normal_data[i*3] = (double)v->Normal.X; + normal_data[i*3+1] = (double)v->Normal.Y; + normal_data[i*3+2] = (double)v->Normal.Z; + + uv_data[i*2] = (double)v->TCoords.X; + uv_data[i*2+1] = (double)v->TCoords.Y; + } + + for(int i = 0; i < index_count; i++) + { + index_data[i] = (double)mbuf->getIndices()[i]; + } + + return true; +} + + + + #endif // RC_MESH_H_INCLUDED diff --git a/rcbasic_runtime/rc_net.h b/rcbasic_runtime/rc_net.h index 43d0b95..ac6ed84 100755 --- a/rcbasic_runtime/rc_net.h +++ b/rcbasic_runtime/rc_net.h @@ -455,7 +455,7 @@ void rc_net_udp_closeSocket(int socket) int rc_net_udp_sendData(int slot, std::string host, Uint16 port, std::string s_data) { - if(socket < 0 || socket >= rc_udp_socket.size()) + if(slot < 0 || slot >= rc_udp_socket.size()) return 0; IPaddress srvadd; diff --git a/rcbasic_runtime/rc_post_fx.h b/rcbasic_runtime/rc_post_fx.h new file mode 100644 index 0000000..9e2b72b --- /dev/null +++ b/rcbasic_runtime/rc_post_fx.h @@ -0,0 +1,1588 @@ +#ifndef RC_POST_FX_H_INCLUDED +#define RC_POST_FX_H_INCLUDED + +#include +#include + +#include "rc_gfx_core.h" + +using namespace std; +using namespace irr; +using namespace core; +using namespace scene; +using namespace video; +using namespace io; +using namespace gui; + + +// DISTORTION + +class PPE_Glass_callback: public video::IShaderConstantSetCallBack +{ + public: + float strength; + + virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData) + { + video::IVideoDriver* driver = services->getVideoDriver(); + services->setVertexShaderConstant("strength", reinterpret_cast(&strength),1); + int var0=0; + services->setPixelShaderConstant("Texture1", (float*)(&var0), 1); + int var1=1; + services->setPixelShaderConstant("Texture2", (float*)(&var1), 1); + } +}; + + + + +class IPostProcessGlass : public scene::ISceneNode +{ + + public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material;//the material used with shader + video::ITexture* rt0; //the rendertarget/normalmap + video::ITexture* rt1; //the smgr->drawAll output + int mat; + PPE_Glass_callback* callback; + + IPostProcessGlass(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + + callback = NULL; + rt0 = NULL; + rt1 = NULL; + } + + + void initiate(unsigned int sizeW,unsigned int sizeH,float strength,scene::ISceneManager* smgr) + { + static stringc vertShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + + static stringc fragShader = + "uniform float strength;" + "varying vec2 vTexCoord;" + "uniform sampler2D Texture2; " + "uniform sampler2D Texture1;" + "" + "void main(void)" + "{" + " vec2 offset= texture2D( Texture2, vTexCoord).xy;" + " float d=length(offset);" + " if(d!=0.0){offset-=0.5*d;}" + " offset=offset*strength+vTexCoord;" + " gl_FragColor = texture2D( Texture1, offset );" + //"gl_FragColor=texture2D( Texture1, vTexCoord )+texture2D( Texture2, vTexCoord );" + "}"; + + + + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + callback= new PPE_Glass_callback(); + callback->strength=strength; + + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertShader.c_str(), "main", video::EVST_VS_1_1, + fragShader.c_str(), "main", video::EPST_PS_1_1, + callback, (video::EMT_SOLID) + ); + rt0 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + rt1 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0, rt0); + Material.setTexture(1,rt1); + } + + + + + virtual void OnPreRender() + { + } + + virtual void render() + { + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + + + +// COLORIZE + +struct PPE_Color_Setup +{ + float saturation; + float coloringStrength; + video::SColorf col; +}; + + +class PPE_Color_callback: public video::IShaderConstantSetCallBack +{ +public: + float saturation; + float coloringStrength; + video::SColorf col; + + virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData) + { + video::IVideoDriver* driver = services->getVideoDriver(); + + services->setVertexShaderConstant("saturation", reinterpret_cast(&saturation),1); + services->setVertexShaderConstant("coloringStrength", reinterpret_cast(&coloringStrength),1); + services->setPixelShaderConstant("coloring", reinterpret_cast(&col), 4); + } +}; + + + + +class IPostProcessColor : public scene::ISceneNode +{ + + public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material; + video::ITexture* rt0; //the rendertarget + int mat; + PPE_Color_callback* callback; + + IPostProcessColor(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + } + + + void initiate(unsigned int sizeW,unsigned int sizeH,PPE_Color_Setup data,scene::ISceneManager* smgr) + { + static stringc vertToonShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + static stringc fragToonShader = + "uniform sampler2D texture[2];" + "varying vec2 vTexCoord;" + "uniform float saturation;" + "uniform float coloringStrength;" + "uniform vec4 coloring;" + + "void main()" + "{" + " vec4 sample = texture2D(texture[0], vTexCoord);" + " float sat=saturation/10.0;" + " float hue=coloringStrength/10.0;" + " float greyscale=sample.r*0.3+sample.g*0.49+sample.b*0.11;" + " vec4 cGreyScale;" + " cGreyScale.r=greyscale;" + " cGreyScale.g=greyscale;" + " cGreyScale.b=greyscale;" + + " sample=(sample*(1.0-hue))+coloring/255.0*greyscale*(hue);" + " gl_FragColor = (cGreyScale*sat)+sample*(1.0-sat);" + "}"; + + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + callback= new PPE_Color_callback; + callback->saturation=data.saturation; + callback->coloringStrength=data.coloringStrength; + callback->col=data.col; + + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertToonShader.c_str(), "main", video::EVST_VS_1_1, + fragToonShader.c_str(), "main", video::EPST_PS_1_1, + callback, (video::EMT_SOLID) + ); + + + rt0 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0,rt0); + } + + + + + virtual void OnPreRender(){} + + virtual void render() + { + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + //Renders the Post-Process Effect + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + + + + +// RADIAL BLUR + +class PPE_RadialBlur_callback: public video::IShaderConstantSetCallBack +{ + public: + float sampleDist; + float sampleStrength; + virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData) + { + video::IVideoDriver* driver = services->getVideoDriver(); + services->setVertexShaderConstant("sampleDist", reinterpret_cast(&sampleDist),1); + services->setVertexShaderConstant("sampleStrength", reinterpret_cast(&sampleStrength),1); + } +}; + + + + +class IPostProcessRadialBlur : public scene::ISceneNode +{ + public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material; + video::ITexture* rt0; //the rendertarget + int mat; + PPE_RadialBlur_callback* callback; + + IPostProcessRadialBlur(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + } + + + void initiate(int sizeW,int sizeH,float sampleDist,float sampleStrength,scene::ISceneManager* smgr) + { + static stringc vertToonShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + static stringc fragToonShader = + "uniform sampler2D texture[2];" + "varying vec2 vTexCoord;" + "uniform float sampleDist;" + "uniform float sampleStrength;" + + "void main()" + "{" + "vec2 dir=vec2(0.5,0.5)-vTexCoord;" + "float dist=sqrt(dir.x*dir.x+dir.y*dir.y);" + "dir=normalize(dir);" + " float samples [10];" + " samples [0]=-0.08;" + " samples [1]=-0.05;" + " samples [2]=-0.03;" + " samples [3]=-0.02;" + " samples [4]=-0.01;" + " samples [5]=0.01;" + " samples [6]=0.02;" + " samples [7]=0.03;" + " samples [8]=0.05;" + " samples [9]=0.08;" + " vec4 sample = texture2D(texture[0], vTexCoord);" + " vec4 avg=sample;" + " vec4 col;" + " for (int i = 0; i < 10; i++)" + " {" + " vec2 tC=min(vec2(0.999,0.999),max(vec2(0.001,0.001),vTexCoord+dir*samples[i]*sampleDist));" + + " col=texture2D(texture[0],tC);" + " float intensity=col.r+col.g+col.b;" + " avg += col; " + " }" + " avg /= 11.0;" + " float t=dist*sampleStrength;" + "t=clamp(t,0.0,1.0);" + " gl_FragColor = mix(sample,avg,t);" + "}"; + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + callback= new PPE_RadialBlur_callback; + callback->sampleDist=sampleDist; + callback->sampleStrength=sampleStrength; + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertToonShader.c_str(), "main", video::EVST_VS_1_1, + fragToonShader.c_str(), "main", video::EPST_PS_1_1, + callback, (video::EMT_SOLID) + ); + + + rt0 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0, rt0); + } + + + + + virtual void OnPreRender(){} + + virtual void render() + { + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + //Renders the Post-Process Effect + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + + + +// BLOOM + +struct PPE_Bloom_Setup +{ + float sampleDist; + float strength; + float multiplier; +}; + + +class PPE_Bloom_callback: public video::IShaderConstantSetCallBack +{ +public: + float sampleDist; + float strength; + float multiplier; + + virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData) + { + video::IVideoDriver* driver = services->getVideoDriver(); + services->setVertexShaderConstant("sampleDist", reinterpret_cast(&sampleDist),1); + services->setVertexShaderConstant("strength", reinterpret_cast(&strength),1); + services->setVertexShaderConstant("multiplier", reinterpret_cast(&multiplier),1); + } +}; + + + + +class IPostProcessBloom : public scene::ISceneNode +{ + +public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material; + video::ITexture* rt0; //the rendertarget + int mat; + PPE_Bloom_callback* callback; + + IPostProcessBloom(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + } + + + void initiate(unsigned int sizeW,unsigned int sizeH,PPE_Bloom_Setup data,scene::ISceneManager* smgr) + { + static stringc vertShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + + static stringc fragShader = + "uniform sampler2D texture[2];" + "varying vec2 vTexCoord;" + "uniform float sampleDist;" + "uniform float strength;" + "uniform float multiplier;" + "void main()" + "{" + " vec2 samples[12]; " + " samples[0] = vTexCoord + sampleDist * vec2(-0.326212, -0.405805);" + " samples[1] = vTexCoord + sampleDist * vec2(-0.840144, -0.073580);" + " samples[2] = vTexCoord + sampleDist * vec2(-0.695914, 0.457137);" + " samples[3] = vTexCoord + sampleDist * vec2(-0.203345, 0.620716);" + " samples[4] = vTexCoord + sampleDist * vec2(0.962340, -0.194983);" + " samples[5] = vTexCoord + sampleDist * vec2(0.473434, -0.480026);" + " samples[6] = vTexCoord + sampleDist * vec2(0.519456, 0.767022);" + " samples[7] = vTexCoord + sampleDist * vec2(0.185461, -0.893124);" + " samples[8] = vTexCoord + sampleDist * vec2(0.507431, 0.064425);" + " samples[9] = vTexCoord + sampleDist * vec2(0.896420, 0.412458);" + " samples[10] = vTexCoord + sampleDist * vec2(-0.321940, -0.932615);" + " samples[11] = vTexCoord + sampleDist * vec2(-0.791559, -0.597705);" + " vec4 sample = texture2D(texture[0], vTexCoord);" + " vec4 avg = sample;" + " vec4 col;" + " for (int i = 0; i < 12; i++)" + " {" + " vec2 tC=min(vec2(0.999,0.999),max(vec2(0.001,0.001),samples[i]));" + " avg +=texture2D(texture[0],tC);" + " }" + " avg /= 13.0;" + " avg.r=pow(avg.r,strength);" + " avg.g=pow(avg.g,strength);" + " avg.b=pow(avg.b,strength);" + " gl_FragColor = sample+avg*multiplier;" + "}"; + + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + callback= new PPE_Bloom_callback(); + callback->sampleDist=data.sampleDist; + callback->strength=data.strength; + callback->multiplier=data.multiplier; + + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertShader.c_str(), "main", video::EVST_VS_1_1, + fragShader.c_str(), "main", video::EPST_PS_1_1, + callback, (video::EMT_SOLID) + ); + rt0 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0, rt0); + } + + + + + virtual void OnPreRender(){} + + virtual void render() + { + + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + //Renders the Post-Process Effect + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + + + + +// BLUR + +class PPE_Blur_callback: public video::IShaderConstantSetCallBack +{ +public: + float sampleDist; + virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData) + { + video::IVideoDriver* driver = services->getVideoDriver(); + services->setVertexShaderConstant("sampleDist", reinterpret_cast(&sampleDist),1); + } +}; + + + + +class IPostProcessBlur : public scene::ISceneNode +{ +public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material; + video::ITexture* rt0; //the rendertarget + int mat; + PPE_Blur_callback* callback; + + IPostProcessBlur(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + } + + + void initiate(int sizeW,int sizeH,float sampleDist,scene::ISceneManager* smgr) + { + static stringc vertToonShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + static stringc fragToonShader = + "uniform sampler2D texture[2];" + "varying vec2 vTexCoord;" + "uniform float sampleDist;" + + "void main()" + "{" + " vec2 samples[12]; " + " samples[0] = vTexCoord + sampleDist * vec2(-0.326212, -0.405805);" + " samples[1] = vTexCoord + sampleDist * vec2(-0.840144, -0.073580);" + " samples[2] = vTexCoord + sampleDist * vec2(-0.695914, 0.457137);" + " samples[3] = vTexCoord + sampleDist * vec2(-0.203345, 0.620716);" + " samples[4] = vTexCoord + sampleDist * vec2(0.962340, -0.194983);" + " samples[5] = vTexCoord + sampleDist * vec2(0.473434, -0.480026);" + " samples[6] = vTexCoord + sampleDist * vec2(0.519456, 0.767022);" + " samples[7] = vTexCoord + sampleDist * vec2(0.185461, -0.893124);" + " samples[8] = vTexCoord + sampleDist * vec2(0.507431, 0.064425);" + " samples[9] = vTexCoord + sampleDist * vec2(0.896420, 0.412458);" + " samples[10] = vTexCoord + sampleDist * vec2(-0.321940, -0.932615);" + " samples[11] = vTexCoord + sampleDist * vec2(-0.791559, -0.597705);" + " vec4 sample = texture2D(texture[0], vTexCoord);" + " vec4 avg = sample;" + " vec4 col;" + " for (int i = 0; i < 12; i++)" + " {" + " vec2 tC=min(vec2(0.999,0.999),max(vec2(0.001,0.001),samples[i]));" + " col=texture2D(texture[0],tC );" + " float intensity=col.r+col.g+col.b;" + " avg += col; " + " }" + " avg /= 13.0;" + " gl_FragColor = avg;" + "}"; + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + callback= new PPE_Blur_callback; + callback->sampleDist=sampleDist; + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertToonShader.c_str(), "main", video::EVST_VS_1_1, + fragToonShader.c_str(), "main", video::EPST_PS_1_1, + callback, (video::EMT_SOLID) + ); + + + rt0 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0, rt0); + } + + + + + virtual void OnPreRender(){} + + virtual void render() + { + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + //Renders the Post-Process Effect + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + + +// INVERT + +class IPostProcessInvert : public scene::ISceneNode +{ +public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material; + video::ITexture* rt0; //the rendertarget + int mat; + + IPostProcessInvert(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + } + + + void initiate(int sizeW,int sizeH,scene::ISceneManager* smgr) + { + static stringc vertToonShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + static stringc fragToonShader = + "uniform sampler2D texture[2];" + "varying vec2 vTexCoord;" + "" + "void main()" + "{" + " vec4 col=texture2D(texture[0],vTexCoord);" + " gl_FragColor =vec4(1.0,1.0,1.0,1.0)-col;" + "}"; + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertToonShader.c_str(), "main", video::EVST_VS_1_1, + fragToonShader.c_str(), "main", video::EPST_PS_1_1, + NULL, (video::EMT_SOLID) + ); + + + rt0 = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0, rt0); + } + + + + + virtual void OnPreRender(){} + + virtual void render() + { + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + //Renders the Post-Process Effect + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + +// MOTION BLUR + +class PPE_MotionBlur_callback: public video::IShaderConstantSetCallBack +{ +public: + float strength; + virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData) + { + video::IVideoDriver* driver = services->getVideoDriver(); + services->setVertexShaderConstant("strength", reinterpret_cast(&strength),1); + int var0=0; + services->setPixelShaderConstant("texture1", (float*)(&var0), 1); + int var1=1; + services->setPixelShaderConstant("texture2", (float*)(&var1), 1); + } +}; + + + + +class IPostProcessMotionBlur : public scene::ISceneNode +{ + +public: + core::aabbox3d Box; + video::S3DVertex Vertices[6];//the vertices for the onscreenquad + video::SMaterial Material;//the material used with shader + video::SMaterial Accum;//a simple diffuse material.. + video::ITexture* next; //the rendertarget + video::ITexture* prev; //the rendertarget + video::ITexture* accum; //the rendertarget + int mat; + PPE_MotionBlur_callback* callback; + + IPostProcessMotionBlur(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id): scene::ISceneNode(parent, mgr, id) + { + Vertices[0] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[1] = video::S3DVertex(-1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 0.0f); + Vertices[2] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + Vertices[3] = video::S3DVertex( 1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 1.0f); + Vertices[4] = video::S3DVertex(-1.0f, -1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 0.0f, 1.0f); + Vertices[5] = video::S3DVertex( 1.0f, 1.0f, 0.0f,1,1,0, video::SColor(255,0,255,255), 1.0f, 0.0f); + } + + + void initiate(unsigned int sizeW,unsigned int sizeH,float strength,scene::ISceneManager* smgr) + { + static stringc vertShader = + "varying vec2 vTexCoord;" + "void main(void)" + "{" + " vec2 Position;" + " Position.xy = sign(gl_Vertex.xy);" + " gl_Position = vec4(Position.xy, 0.0, 1.0);" + "vTexCoord =Position.xy *.5 + .5;" + "}"; + + static stringc fragShader = + "uniform sampler2D texture1;" + "uniform sampler2D texture2;" + "varying vec2 vTexCoord;" + "uniform float strength;" + "void main()" + "{" + " gl_FragColor = mix( texture2D( texture1, vTexCoord ), texture2D( texture2, vTexCoord ), vec4( strength,strength,strength,strength) );" + "}"; + + + static stringc fragShader2 = + "uniform sampler2D texture1;" + "varying vec2 vTexCoord;" + "void main()" + "{" + " gl_FragColor =texture2D( texture1, vTexCoord );" + "}"; + + + video::IVideoDriver* driver = smgr->getVideoDriver(); + video::IGPUProgrammingServices* gpu = driver->getGPUProgrammingServices(); + + callback= new PPE_MotionBlur_callback(); + callback->strength=strength; + + Material.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertShader.c_str(), "main", video::EVST_VS_1_1, + fragShader.c_str(), "main", video::EPST_PS_1_1, + callback, (video::EMT_SOLID) + ); + Accum.MaterialType=(E_MATERIAL_TYPE)gpu->addHighLevelShaderMaterial + ( + vertShader.c_str(), "main", video::EVST_VS_1_1, + fragShader2.c_str(), "main", video::EPST_PS_1_1, + NULL, (video::EMT_SOLID) + ); + next = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + prev = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + accum = driver->addRenderTargetTexture(core::dimension2d(sizeW,sizeH)); + + Material.Wireframe = false; + Material.Lighting = false; + Material.setTexture(0, next); + Material.setTexture(1,prev); + + + Accum.Wireframe = false; + Accum.Lighting = false; + Accum.setTexture(0, accum); + } + + + + + virtual void OnPreRender(){} + + virtual void render() + { + u16 indices[] = {0,1,2,3,4,5}; + video::IVideoDriver* driver = SceneManager->getVideoDriver(); //Fills Next + driver->setRenderTarget(next, true, true, video::SColor(0,0,0,0)); + SceneManager->drawAll(); + + driver->setRenderTarget(accum, true, true, video::SColor(0,0,0,0)); //Combine Next&prev in accum + driver->setMaterial(Material); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + + driver->setRenderTarget(prev, true, true, video::SColor(0,0,0,0)); //Write back accum into prev + driver->setMaterial(Accum); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + + virtual void renderFinal() + { + video::IVideoDriver* driver = SceneManager->getVideoDriver(); + u16 indices[] = {0,1,2,3,4,5}; + driver->setMaterial(Accum); + driver->setTransform(video::ETS_WORLD, AbsoluteTransformation); + driver->drawIndexedTriangleList(&Vertices[0], 6, &indices[0], 2); + } + + + virtual u32 getMaterialCount(){return 1;} + virtual video::SMaterial& getMaterial(s32 i){return (Material);} + virtual const core::aabbox3d& getBoundingBox() const{return Box;} +}; + + + + + + +int rc_addPostEffect(int canvas_id, int effect_type) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return -1; + + int pp_id = -1; + + for(int i = 0; i < rc_canvas[canvas_id].post_effect.size(); i++) + { + if(rc_canvas[canvas_id].post_effect[i].type < 0) + { + pp_id = i; + } + } + + if(pp_id < 0) + { + pp_id = rc_canvas[canvas_id].post_effect.size(); + + rc_post_effect pfx; + pfx.type = effect_type; + pfx.object = NULL; + pfx.is_active = true; + rc_canvas[canvas_id].post_effect.push_back(pfx); + } + else + { + rc_canvas[canvas_id].post_effect[pp_id].type = effect_type; + rc_canvas[canvas_id].post_effect[pp_id].object = NULL; + rc_canvas[canvas_id].post_effect[pp_id].is_active = true; + } + + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = new IPostProcessBloom(SceneManager->getRootSceneNode(), SceneManager, -1); + + PPE_Bloom_Setup setup; + setup.sampleDist=0.01; + setup.strength=1; + setup.multiplier=1; + + Bloom->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, setup, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = Bloom; + } + break; + + case RC_POST_PROCESS_BLUR: + { + IPostProcessBlur *Blur = new IPostProcessBlur(SceneManager->getRootSceneNode(), SceneManager, -1); + + float sampleDist = 0.001; + Blur->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, sampleDist, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = Blur; + } + break; + + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = new IPostProcessColor(SceneManager->getRootSceneNode(), SceneManager, -1); + PPE_Color_Setup setup; + setup.saturation=1; // + setup.coloringStrength=1; + setup.col=video::SColorf(0,0,0,0); + PPE_Color->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, setup, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = PPE_Color; + } + break; + + case RC_POST_PROCESS_INVERT: + { + IPostProcessInvert *Invert = new IPostProcessInvert(SceneManager->getRootSceneNode(), SceneManager, -1); + Invert->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = Invert; + } + break; + + case RC_POST_PROCESS_MOTION_BLUR: + { + IPostProcessMotionBlur *Blur = new IPostProcessMotionBlur(SceneManager->getRootSceneNode(), SceneManager, -1); + float strength = 0.1; + Blur->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, strength, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = Blur; + } + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + { + IPostProcessRadialBlur *Blur = new IPostProcessRadialBlur(SceneManager->getRootSceneNode(), SceneManager, -1); + float dist = 0.1; + float strength = 1; + Blur->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, dist, strength, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = Blur; + } + break; + + case RC_POST_PROCESS_DISTORTION: + { + IPostProcessGlass *Glass = new IPostProcessGlass(SceneManager->getRootSceneNode(), SceneManager, -1); + float strength = 0.1; + Glass->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, strength, SceneManager); + + rc_canvas[canvas_id].post_effect[pp_id].object = Glass; + } + break; + } + + + return pp_id; +} + +void rc_removePostEffect(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + rc_canvas[canvas_id].post_effect[effect_id].is_active = false; + + if(rc_canvas[canvas_id].post_effect[effect_id].object) + { + switch(rc_canvas[canvas_id].post_effect[effect_id].type) + { + case RC_POST_PROCESS_BLOOM: + delete (IPostProcessBloom*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + + case RC_POST_PROCESS_BLUR: + delete (IPostProcessBlur*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + + case RC_POST_PROCESS_COLORIZE: + delete (IPostProcessColor*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + + case RC_POST_PROCESS_DISTORTION: + delete (IPostProcessGlass*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + + case RC_POST_PROCESS_INVERT: + delete (IPostProcessInvert*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + + case RC_POST_PROCESS_MOTION_BLUR: + delete (IPostProcessMotionBlur*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + delete (IPostProcessRadialBlur*)rc_canvas[canvas_id].post_effect[effect_id].object; + break; + } + } + + rc_canvas[canvas_id].post_effect[effect_id].object = NULL; + rc_canvas[canvas_id].post_effect[effect_id].type = -1; +} + +void rc_clearPostEffects(int canvas_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + for(int i = 0; i < rc_canvas[canvas_id].post_effect.size(); i++) + { + rc_removePostEffect(canvas_id, i); + } + + rc_canvas[canvas_id].post_effect.clear(); +} + + +void rc_setPostEffectStrength(int canvas_id, int effect_id, double strength) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + Bloom->callback->strength = (float)strength; + } + break; + + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + PPE_Color->callback->coloringStrength = (float)strength; + } + break; + + case RC_POST_PROCESS_MOTION_BLUR: + { + IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->callback->strength = (float)strength; + } + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + { + IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->callback->sampleStrength = (float)strength; + } + break; + + case RC_POST_PROCESS_DISTORTION: + { + IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect[effect_id].object; + Glass->callback->strength = (float)strength; + } + break; + } +} + + +void rc_setPostEffectDistance(int canvas_id, int effect_id, double dist) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + Bloom->callback->sampleDist = (float)dist; + } + break; + + case RC_POST_PROCESS_BLUR: + { + IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->callback->sampleDist = (float)dist; + } + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + { + IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->callback->sampleDist = (float)dist; + } + break; + } +} + + + +void rc_setPostEffectMultiplier(int canvas_id, int effect_id, double multiplier) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + Bloom->callback->multiplier = (float)multiplier; + } + break; + } +} + + +void rc_setPostEffectSaturation(int canvas_id, int effect_id, double saturation) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + PPE_Color->callback->saturation = (float)saturation; + } + break; + } +} + + +void rc_setPostEffectColor(int canvas_id, int effect_id, double c_color) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + PPE_Color->callback->col = irr::video::SColorf( irr::video::SColor((irr::u32) c_color) ); + } + break; + } +} + + +void rc_setPostEffectProperty(int canvas_id, int effect_id, int effect_property, double effect_value) +{ + switch(effect_property) + { + case RC_PP_PROPERTY_STRENGTH: + { + rc_setPostEffectStrength(canvas_id, effect_id, effect_value); + } + break; + + case RC_PP_PROPERTY_DISTANCE: + { + rc_setPostEffectDistance(canvas_id, effect_id, effect_value); + } + break; + + case RC_PP_PROPERTY_MULTIPLIER: + { + rc_setPostEffectMultiplier(canvas_id, effect_id, effect_value); + } + break; + + case RC_PP_PROPERTY_SATURATION: + { + rc_setPostEffectSaturation(canvas_id, effect_id, effect_value); + } + break; + + case RC_PP_PROPERTY_COLOR: + { + rc_setPostEffectColor(canvas_id, effect_id, effect_value); + } + break; + } +} + + + + + + + +double rc_getPostEffectStrength(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return 0; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return 0; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Bloom->callback->strength; + } + break; + + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)PPE_Color->callback->coloringStrength; + } + break; + + case RC_POST_PROCESS_MOTION_BLUR: + { + IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Blur->callback->strength; + } + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + { + IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Blur->callback->sampleStrength; + } + break; + + case RC_POST_PROCESS_DISTORTION: + { + IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Glass->callback->strength; + } + break; + } + + return 0; +} + + +double rc_getPostEffectDistance(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return 0; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return 0; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Bloom->callback->sampleDist; + } + break; + + case RC_POST_PROCESS_BLUR: + { + IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Blur->callback->sampleDist; + } + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + { + IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Blur->callback->sampleDist; + } + break; + } + + return 0; +} + + + +double rc_getPostEffectMultiplier(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return 0; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return 0; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)Bloom->callback->multiplier; + } + break; + } + + return 0; +} + + +double rc_getPostEffectSaturation(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return 0; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return 0; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)PPE_Color->callback->saturation; + } + break; + } + + return 0; +} + + +double rc_getPostEffectColor(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return 0; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return 0; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + return (double)PPE_Color->callback->col.toSColor().color; + } + break; + } + + return 0; +} + + +double rc_getPostEffectProperty(int canvas_id, int effect_id, int effect_property) +{ + switch(effect_property) + { + case RC_PP_PROPERTY_STRENGTH: + { + return rc_getPostEffectStrength(canvas_id, effect_id); + } + break; + + case RC_PP_PROPERTY_DISTANCE: + { + return rc_getPostEffectDistance(canvas_id, effect_id); + } + break; + + case RC_PP_PROPERTY_MULTIPLIER: + { + return rc_getPostEffectMultiplier(canvas_id, effect_id); + } + break; + + case RC_PP_PROPERTY_SATURATION: + { + return rc_getPostEffectSaturation(canvas_id, effect_id); + } + break; + + case RC_PP_PROPERTY_COLOR: + { + return rc_getPostEffectColor(canvas_id, effect_id); + } + break; + } + + return 0; +} + + +void rc_setPostEffectActive(int canvas_id, int effect_id, bool flag) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return; + + rc_canvas[canvas_id].post_effect[effect_id].is_active = flag; +} + +bool rc_postEffectIsActive(int canvas_id, int effect_id) +{ + if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) + return false; + + if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size()) + return false; + + return rc_canvas[canvas_id].post_effect[effect_id].is_active; +} + + + +void rc_renderPostEffect(int canvas_id, int effect_id) +{ + if(!rc_canvas[canvas_id].post_effect[effect_id].is_active) + return; + + int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed + + switch(effect_type) + { + case RC_POST_PROCESS_BLOOM: + { + IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object; + Bloom->render(); + } + break; + + case RC_POST_PROCESS_BLUR: + { + IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->render(); + } + break; + + case RC_POST_PROCESS_COLORIZE: + { + IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object; + PPE_Color->render(); + } + break; + + case RC_POST_PROCESS_INVERT: + { + IPostProcessInvert *Invert = (IPostProcessInvert*) rc_canvas[canvas_id].post_effect[effect_id].object; + Invert->render(); + } + break; + + case RC_POST_PROCESS_MOTION_BLUR: + { + IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->render(); + } + break; + + case RC_POST_PROCESS_RADIAL_BLUR: + { + IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object; + Blur->render(); + } + break; + + case RC_POST_PROCESS_DISTORTION: + { + IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect[effect_id].object; + Glass->render(); + } + break; + } + +} + +#endif // RC_POST_FX_H_INCLUDED diff --git a/rcbasic_runtime/rc_render_control.h b/rcbasic_runtime/rc_render_control.h new file mode 100644 index 0000000..8624421 --- /dev/null +++ b/rcbasic_runtime/rc_render_control.h @@ -0,0 +1,212 @@ +#ifndef RC_RENDER_CONTROL_H_INCLUDED +#define RC_RENDER_CONTROL_H_INCLUDED + +#include +#include "rc_gfx_core.h" +#include "rc_post_fx.h" + + + +void rc_pipeline_Begin() +{ + manual_render_control = true; + + VideoDriver->beginScene(true, true); + + Uint32 current_time_ms = SDL_GetTicks(); + double frame_current_time = ((double)current_time_ms)/1000.0; + + for(int i = 0; i < rc_transition_actor.size();) + { + int t_actor = rc_transition_actor[i]; + + if((frame_current_time - rc_actor[t_actor].transition_start_time) >= rc_actor[t_actor].transition_time) + { + irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[t_actor].mesh_node; + node->setTransitionTime(0); + node->setJointMode(irr::scene::EJUOR_NONE); + rc_actor[t_actor].transition = false; + rc_actor[t_actor].transition_time = 0; + rc_actor[t_actor].transition_start_time = 0; + rc_transition_actor.erase(t_actor); + + rc_actor[t_actor].animation[0].start_frame = (int)rc_actor[t_actor].transition_frame; + rc_actor[t_actor].animation[0].end_frame = (int)rc_actor[t_actor].transition_frame; + rc_actor[t_actor].animation[0].fps = 0; + rc_actor[t_actor].current_animation_loop = 0; + rc_actor[t_actor].isPlaying = true; + rc_actor[t_actor].current_animation = 0; + } + else + { + //std::cout << "Animate dammit" << std::endl; + irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[t_actor].mesh_node; + node->animateJoints(); + i++; + } + } +} + +void rc_pipeline_End() +{ + int win_w = 0, win_h = 0; + double w_scale = 1, h_scale = 1; + + if(rc_window) + { + SDL_GetWindowSize(rc_window, &win_w, &win_h); + } + + + if(manual_render_control) + { + #ifdef RC_DRIVER_GLES2 + w_scale = ( (double)win_w / (double)rc_window_size.Width ); + h_scale = ( (double)win_h / (double)rc_window_size.Height ); + + irr::core::rect src( irr::core::vector2d(0,0), rc_canvas[0].texture->getSize() ); + irr::core::rect dest( irr::core::vector2d(0,0), irr::core::dimension2d(win_w*w_scale, win_h*h_scale) ); + #else + irr::core::rect src( irr::core::vector2d(0,0), rc_window_size ); + irr::core::rect dest; + + if(rc_windowIsFullscreen()) + dest = irr::core::rect( irr::core::vector2d(0,0), irr::core::dimension2d(win_w, win_h) ); + else + dest = irr::core::rect( irr::core::vector2d(0,rc_canvas[0].texture->getSize().Height - rc_window_size.Height), irr::core::dimension2d(win_w, win_h) ); + #endif // RC_DRIVER_GLES2 + + VideoDriver->draw2DImage(rc_canvas[0].texture, dest, src); + + VideoDriver->endScene(); + + rc_setActiveCanvas(rc_active_canvas); + + #ifdef RC_WEB + emscripten_sleep(0); + #else + SDL_Delay(0); + #endif // RC_WEB + } + + manual_render_control = false; +} + + + +void rc_pipeline_Render() +{ + if(!manual_render_control) + return; + + if(rc_active_canvas < 0 || rc_active_canvas >= rc_canvas.size()) + return; + + if(rc_canvas[rc_active_canvas].texture) + return; + + //VideoDriver->setRenderTarget(rc_canvas[0].texture); + irr::core::vector2d bb_position(0,0); + irr::core::dimension2d bb_dimension = rc_canvas[0].texture->getSize(); + + VideoDriver->setViewPort( irr::core::rect(bb_position, bb_dimension) ); + + + if(rc_canvas[rc_active_canvas].show3D) + { + //VideoDriver->setRenderTarget(rc_canvas[rc_active_canvas].texture, true, true, irr::video::SColor(255,120,120,120)); + + if(rc_canvas[rc_active_canvas].camera.camera) + SceneManager->setActiveCamera(rc_canvas[rc_active_canvas].camera.camera); + + rc_canvas[rc_active_canvas].camera.update(); + + VideoDriver->setViewPort(irr::core::rect(0,0,rc_canvas[rc_active_canvas].texture->getSize().Width,rc_canvas[rc_active_canvas].texture->getSize().Height)); + + irr::video::SColor current_color = rc_active_color; + irr::video::SMaterial m; + m.Lighting=false; + VideoDriver->setMaterial(m); + VideoDriver->setTransform(video::ETS_WORLD, core::matrix4()); + for(int i = 0; i < rc_prim3d_operation.size(); i++) + { + switch(rc_prim3d_operation[i].prim_type) + { + case PRIM3D_LINE: + rc_active_color = rc_prim3d_operation[i].color; + prim3d_drawLine3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], + rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1]); + break; + case PRIM3D_BOX: + rc_active_color = rc_prim3d_operation[i].color; + prim3d_drawBox3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], + rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1]); + break; + case PRIM3D_TRIANGLE: + rc_active_color = rc_prim3d_operation[i].color; + prim3d_drawTriangle3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], + rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1], + rc_prim3d_operation[i].x[2], rc_prim3d_operation[i].y[2], rc_prim3d_operation[i].z[2]); + break; + } + } + rc_active_color = current_color; + rc_setDriverMaterial(); + + SceneManager->drawAll(); + + //render post effects + for(int effect_num = 0; effect_num < rc_canvas[rc_active_canvas].post_effect.size(); effect_num++) + { + rc_renderPostEffect(rc_active_canvas, effect_num); //It won't render if not active so no check needs to be done here + } + + } + + + int canvas_id = rc_active_canvas; + + if(rc_canvas[canvas_id].texture && rc_canvas[canvas_id].visible) + { + irr::core::rect dest(rc_canvas[canvas_id].viewport.position, rc_canvas[canvas_id].viewport.dimension); + irr::core::rect src(rc_canvas[canvas_id].offset, rc_canvas[canvas_id].viewport.dimension); + + irr::video::SColor color(rc_canvas[canvas_id].color_mod); + + #if defined(RC_DRIVER_GLES2) + if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_3D) + { + src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].texture->getSize() ); + dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); + } + else if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_2D) + { + irr::core::dimension2d cv_dim = rc_canvas[canvas_id].viewport.dimension; + irr::core::position2d cv_pos = rc_canvas[canvas_id].viewport.position; + irr::core::vector2d cv_offset(rc_canvas[canvas_id].offset.X, rc_canvas[canvas_id].texture->getSize().Height - rc_canvas[canvas_id].offset.Y - cv_dim.Height); + src = irr::core::rect( cv_offset, cv_dim ); + dest = irr::core::rect( irr::core::vector2d(cv_pos.X, cv_pos.Y + cv_dim.Height), irr::core::dimension2d(cv_dim.Width, -1*cv_dim.Height) ); + } + else if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE) + { + + src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].texture->getSize() ); + dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); + drawSprites(canvas_id); + } + + #else + if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE) + { + + src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].viewport.dimension); //sprite layers will just offset the sprites in drawSprites() + drawSprites(canvas_id); + } + + #endif // defined + + } + +} + +#endif // RC_RENDER_CONTROL_H_INCLUDED diff --git a/rcbasic_runtime/rc_windowclose.h b/rcbasic_runtime/rc_windowclose.h index ff851ee..ff877e5 100755 --- a/rcbasic_runtime/rc_windowclose.h +++ b/rcbasic_runtime/rc_windowclose.h @@ -489,38 +489,42 @@ bool rc_update() Uint32 current_time_ms = SDL_GetTicks(); double frame_current_time = ((double)current_time_ms)/1000.0; - for(int i = 0; i < rc_transition_actor.size();) - { - int t_actor = rc_transition_actor[i]; + if(!manual_render_control) + { + for(int i = 0; i < rc_transition_actor.size();) + { + int t_actor = rc_transition_actor[i]; - if((frame_current_time - rc_actor[t_actor].transition_start_time) >= rc_actor[t_actor].transition_time) - { - irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[t_actor].mesh_node; - node->setTransitionTime(0); - node->setJointMode(irr::scene::EJUOR_NONE); - rc_actor[t_actor].transition = false; - rc_actor[t_actor].transition_time = 0; - rc_actor[t_actor].transition_start_time = 0; - rc_transition_actor.erase(t_actor); + if((frame_current_time - rc_actor[t_actor].transition_start_time) >= rc_actor[t_actor].transition_time) + { + irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[t_actor].mesh_node; + node->setTransitionTime(0); + node->setJointMode(irr::scene::EJUOR_NONE); + rc_actor[t_actor].transition = false; + rc_actor[t_actor].transition_time = 0; + rc_actor[t_actor].transition_start_time = 0; + rc_transition_actor.erase(t_actor); - rc_actor[t_actor].animation[0].start_frame = (int)rc_actor[t_actor].transition_frame; - rc_actor[t_actor].animation[0].end_frame = (int)rc_actor[t_actor].transition_frame; - rc_actor[t_actor].animation[0].fps = 0; - rc_actor[t_actor].current_animation_loop = 0; - rc_actor[t_actor].isPlaying = true; - rc_actor[t_actor].current_animation = 0; - } - else - { - //std::cout << "Animate dammit" << std::endl; - irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[t_actor].mesh_node; - node->animateJoints(); - i++; - } - } + rc_actor[t_actor].animation[0].start_frame = (int)rc_actor[t_actor].transition_frame; + rc_actor[t_actor].animation[0].end_frame = (int)rc_actor[t_actor].transition_frame; + rc_actor[t_actor].animation[0].fps = 0; + rc_actor[t_actor].current_animation_loop = 0; + rc_actor[t_actor].isPlaying = true; + rc_actor[t_actor].current_animation = 0; + } + else + { + //std::cout << "Animate dammit" << std::endl; + irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[t_actor].mesh_node; + node->animateJoints(); + i++; + } + } + } - VideoDriver->beginScene(true, true); + if(!manual_render_control) + VideoDriver->beginScene(true, true); if(!hasPreUpdated) { @@ -532,61 +536,71 @@ bool rc_update() rc_physics3D.world->stepSimulation(rc_physics3D.DeltaTime*0.001f, rc_physics3D.maxSubSteps, fixed_timestep); } - for(int canvas_id = 0; canvas_id < rc_canvas.size(); i++) + if(!manual_render_control) { - if(rc_canvas[canvas_id].show3D) + for(int canvas_id = 0; canvas_id < rc_canvas.size(); canvas_id++) { - VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, true, true, irr::video::SColor(255,120,120,120)); + if(rc_canvas[canvas_id].show3D) + { + VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, true, true, rc_clear_color); - if(rc_canvas[canvas_id].camera.camera) - SceneManager->setActiveCamera(rc_canvas[canvas_id].camera.camera); + if(rc_canvas[canvas_id].camera.camera) + SceneManager->setActiveCamera(rc_canvas[canvas_id].camera.camera); - rc_canvas[canvas_id].camera.update(); + rc_canvas[canvas_id].camera.update(); - VideoDriver->setViewPort(irr::core::rect(0,0,rc_canvas[canvas_id].texture->getSize().Width,rc_canvas[canvas_id].texture->getSize().Height)); + VideoDriver->setViewPort(irr::core::rect(0,0,rc_canvas[canvas_id].texture->getSize().Width,rc_canvas[canvas_id].texture->getSize().Height)); - //irr::core::rect viewport(irr::core::position, rc_canvas[i].viewport.dimension); - //VideoDriver->setViewPort(viewport); - irr::video::SColor current_color = rc_active_color; - irr::video::SMaterial m; - m.Lighting=false; - VideoDriver->setMaterial(m); - VideoDriver->setTransform(video::ETS_WORLD, core::matrix4()); - for(int i = 0; i < rc_prim3d_operation.size(); i++) - { - switch(rc_prim3d_operation[i].prim_type) - { - case PRIM3D_LINE: - rc_active_color = rc_prim3d_operation[i].color; - prim3d_drawLine3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], - rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1]); - break; - case PRIM3D_BOX: - rc_active_color = rc_prim3d_operation[i].color; - prim3d_drawBox3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], - rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1]); - break; - case PRIM3D_TRIANGLE: - rc_active_color = rc_prim3d_operation[i].color; - prim3d_drawTriangle3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], - rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1], - rc_prim3d_operation[i].x[2], rc_prim3d_operation[i].y[2], rc_prim3d_operation[i].z[2]); - break; - } - } - rc_active_color = current_color; - rc_setDriverMaterial(); + //irr::core::rect viewport(irr::core::position, rc_canvas[i].viewport.dimension); + //VideoDriver->setViewPort(viewport); + irr::video::SColor current_color = rc_active_color; + irr::video::SMaterial m; + m.Lighting=false; + VideoDriver->setMaterial(m); + VideoDriver->setTransform(video::ETS_WORLD, core::matrix4()); + for(int i = 0; i < rc_prim3d_operation.size(); i++) + { + switch(rc_prim3d_operation[i].prim_type) + { + case PRIM3D_LINE: + rc_active_color = rc_prim3d_operation[i].color; + prim3d_drawLine3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], + rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1]); + break; + case PRIM3D_BOX: + rc_active_color = rc_prim3d_operation[i].color; + prim3d_drawBox3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], + rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1]); + break; + case PRIM3D_TRIANGLE: + rc_active_color = rc_prim3d_operation[i].color; + prim3d_drawTriangle3D(rc_prim3d_operation[i].x[0], rc_prim3d_operation[i].y[0], rc_prim3d_operation[i].z[0], + rc_prim3d_operation[i].x[1], rc_prim3d_operation[i].y[1], rc_prim3d_operation[i].z[1], + rc_prim3d_operation[i].x[2], rc_prim3d_operation[i].y[2], rc_prim3d_operation[i].z[2]); + break; + } + } + rc_active_color = current_color; + rc_setDriverMaterial(); - SceneManager->drawAll(); - //VideoDriver->draw2DRectangle(irr::video::SColor(255,0,255,0), irr::core::rect(10,40,100,500)); + SceneManager->drawAll(); - //vector3df p0(0, 0, 0); - //vector3df p1(10, 30, 0); - //vector3df p2(20, -30, 0); - //vector3df p3(30, 0, 0); - //drawBezierCurve(VideoDriver, p0, p1, p2, p3, irr::video::SColor(255, 0, 255, 0), 100); + //render post effects + for(int effect_num = 0; effect_num < rc_canvas[rc_active_canvas].post_effect.size(); effect_num++) + { + rc_renderPostEffect(canvas_id, effect_num); //It won't render if not active so no check needs to be done here + } - VideoDriver->setRenderTarget(rc_canvas[0].texture); + //VideoDriver->draw2DRectangle(irr::video::SColor(255,0,255,0), irr::core::rect(10,40,100,500)); + + //vector3df p0(0, 0, 0); + //vector3df p1(10, 30, 0); + //vector3df p2(20, -30, 0); + //vector3df p3(30, 0, 0); + //drawBezierCurve(VideoDriver, p0, p1, p2, p3, irr::video::SColor(255, 0, 255, 0), 100); + + VideoDriver->setRenderTarget(rc_canvas[0].texture); + } } } @@ -607,35 +621,41 @@ bool rc_update() //std::cout << "draw canvas[" << canvas_id << "] (" << rc_canvas[canvas_id].offset.X << ", " << rc_canvas[canvas_id].offset.Y << ") (" << rc_canvas[canvas_id].viewport.dimension.Width << ", " << rc_canvas[canvas_id].viewport.dimension.Height << ")" << std::endl; #if defined(RC_DRIVER_GLES2) - if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_3D) + if(!manual_render_control) { - src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].texture->getSize() ); - dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); - } - else if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_2D) - { - irr::core::dimension2d cv_dim = rc_canvas[canvas_id].viewport.dimension; - irr::core::position2d cv_pos = rc_canvas[canvas_id].viewport.position; - irr::core::vector2d cv_offset(rc_canvas[canvas_id].offset.X, rc_canvas[canvas_id].texture->getSize().Height - rc_canvas[canvas_id].offset.Y - cv_dim.Height); - src = irr::core::rect( cv_offset, cv_dim ); - dest = irr::core::rect( irr::core::vector2d(cv_pos.X, cv_pos.Y + cv_dim.Height), irr::core::dimension2d(cv_dim.Width, -1*cv_dim.Height) ); - } - else if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE) - { + if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_3D) + { + src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].texture->getSize() ); + dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); + } + else if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_2D) + { + irr::core::dimension2d cv_dim = rc_canvas[canvas_id].viewport.dimension; + irr::core::position2d cv_pos = rc_canvas[canvas_id].viewport.position; + irr::core::vector2d cv_offset(rc_canvas[canvas_id].offset.X, rc_canvas[canvas_id].texture->getSize().Height - rc_canvas[canvas_id].offset.Y - cv_dim.Height); + src = irr::core::rect( cv_offset, cv_dim ); + dest = irr::core::rect( irr::core::vector2d(cv_pos.X, cv_pos.Y + cv_dim.Height), irr::core::dimension2d(cv_dim.Width, -1*cv_dim.Height) ); + } + else if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE) + { - src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].texture->getSize() ); - dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); - drawSprites(canvas_id); - } + src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].texture->getSize() ); + dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); + drawSprites(canvas_id); + } + } //dest = irr::core::rect( irr::core::vector2d(dest.UpperLeftCorner.X, dest.UpperLeftCorner.Y + dest.getHeight()), irr::core::dimension2d(dest.getWidth(), -1*dest.getHeight()) ); draw2DImage2(VideoDriver, rc_canvas[canvas_id].texture, src, dest, irr::core::position2d(0, 0), 0, true, color, screenSize); #else - if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE) - { + if(!manual_render_control) + { + if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE) + { - src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].viewport.dimension); //sprite layers will just offset the sprites in drawSprites() - drawSprites(canvas_id); - } + src = irr::core::rect( irr::core::vector2d(0, 0), rc_canvas[canvas_id].viewport.dimension); //sprite layers will just offset the sprites in drawSprites() + drawSprites(canvas_id); + } + } draw2DImage2(VideoDriver, rc_canvas[canvas_id].texture, src, dest, irr::core::position2d(0, 0), 0, true, color, screenSize); #endif // defined @@ -653,49 +673,56 @@ bool rc_update() //VideoDriver->draw2DRectangle(irr::video::SColor(255,255,0,0), irr::core::rect(0,0,100,500)); VideoDriver->setRenderTarget(0); - //VideoDriver->beginScene(true, true); - //VideoDriver->draw2DImage(rc_canvas[0].texture, irr::core::vector2d(0,0)); - //debug - //std::cout << "scale:: " << rc_window_size.Width << ", " << win_w << ", " << rc_canvas[0].texture->getSize().Width << std::endl; - //irr::core::rect src( irr::core::vector2d(0,0), rc_canvas[0].texture->getSize() ); - #ifdef RC_DRIVER_GLES2 - irr::core::rect src( irr::core::vector2d(0,0), rc_canvas[0].texture->getSize() ); - irr::core::rect dest( irr::core::vector2d(0,0), irr::core::dimension2d(win_w*w_scale, win_h*h_scale) ); - #else - irr::core::rect src( irr::core::vector2d(0,0), rc_window_size ); - irr::core::rect dest; + if(!manual_render_control) + { + //VideoDriver->beginScene(true, true); + //VideoDriver->draw2DImage(rc_canvas[0].texture, irr::core::vector2d(0,0)); - if(rc_windowIsFullscreen()) - dest = irr::core::rect( irr::core::vector2d(0,0), irr::core::dimension2d(win_w, win_h) ); - else - dest = irr::core::rect( irr::core::vector2d(0,rc_canvas[0].texture->getSize().Height - rc_window_size.Height), irr::core::dimension2d(win_w, win_h) ); - #endif // RC_DRIVER_GLES2 + //debug + //std::cout << "scale:: " << rc_window_size.Width << ", " << win_w << ", " << rc_canvas[0].texture->getSize().Width << std::endl; + //irr::core::rect src( irr::core::vector2d(0,0), rc_canvas[0].texture->getSize() ); + #ifdef RC_DRIVER_GLES2 + irr::core::rect src( irr::core::vector2d(0,0), rc_canvas[0].texture->getSize() ); + irr::core::rect dest( irr::core::vector2d(0,0), irr::core::dimension2d(win_w*w_scale, win_h*h_scale) ); + #else + irr::core::rect src( irr::core::vector2d(0,0), rc_window_size ); + irr::core::rect dest; - //irr::video::SColor color(0); - VideoDriver->draw2DImage(rc_canvas[0].texture, dest, src); - //draw2DImage2(VideoDriver, rc_canvas[0].texture, src, dest, irr::core::position2d(0, 0), 0, false, color, screenSize); - //irr::core::rect src( irr::core::vector2d(0, 0), rc_canvas[0].texture->getSize() ); - //irr::core::rect dest( irr::core::vector2d(0, 0), irr::core::dimension2d( ); - //draw2DImage2(VideoDriver, rc_canvas[canvas_id].texture, src, dest, irr::core::position2d(0, 0), 0, true, color, screenSize); + if(rc_windowIsFullscreen()) + dest = irr::core::rect( irr::core::vector2d(0,0), irr::core::dimension2d(win_w, win_h) ); + else + dest = irr::core::rect( irr::core::vector2d(0,rc_canvas[0].texture->getSize().Height - rc_window_size.Height), irr::core::dimension2d(win_w, win_h) ); + #endif // RC_DRIVER_GLES2 - //VideoDriver->draw2DImage(rc_image[0].image, irr::core::rect(0,0,100,100), irr::core::rect(0,0,100,100)); - //VideoDriver->draw2DRectangle(irr::video::SColor(255,255,0,0), irr::core::rect(0,0,100,100)); - //end debug + //irr::video::SColor color(0); + VideoDriver->draw2DImage(rc_canvas[0].texture, dest, src); + //draw2DImage2(VideoDriver, rc_canvas[0].texture, src, dest, irr::core::position2d(0, 0), 0, false, color, screenSize); + //irr::core::rect src( irr::core::vector2d(0, 0), rc_canvas[0].texture->getSize() ); + //irr::core::rect dest( irr::core::vector2d(0, 0), irr::core::dimension2d( ); + //draw2DImage2(VideoDriver, rc_canvas[canvas_id].texture, src, dest, irr::core::position2d(0, 0), 0, true, color, screenSize); - //device->getGUIEnvironment()->drawAll(); - VideoDriver->endScene(); + //VideoDriver->draw2DImage(rc_image[0].image, irr::core::rect(0,0,100,100), irr::core::rect(0,0,100,100)); + //VideoDriver->draw2DRectangle(irr::video::SColor(255,255,0,0), irr::core::rect(0,0,100,100)); + //end debug - rc_setActiveCanvas(rc_active_canvas); + //device->getGUIEnvironment()->drawAll(); + VideoDriver->endScene(); + + rc_setActiveCanvas(rc_active_canvas); + } } hasPreUpdated = false; //Will be set to true if PreUpdate() is called - #ifdef RC_WEB - emscripten_sleep(0); - #else - SDL_Delay(0); - #endif // RC_WEB + if(!manual_render_control) + { + #ifdef RC_WEB + emscripten_sleep(0); + #else + SDL_Delay(0); + #endif // RC_WEB + } return (!Close); }