Added plane mesh and new water node
* Changed the water actor to irrlichts built-in water surface node * Added CreatePlaneMesh() function
This commit is contained in:
@@ -439,8 +439,6 @@ void init_embedded_functions()
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("SetMouseRelative", ID_TYPE_SUB);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("SetWindowVSync", ID_TYPE_SUB);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("FlashWindow", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("WindowIsGrabbed", ID_TYPE_FN_NUM);
|
||||
@@ -455,8 +453,6 @@ void init_embedded_functions()
|
||||
embed_function("CloseCanvas", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
embed_function("OpenCanvas3D", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_x", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_y", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_w", ID_TYPE_NUM);
|
||||
@@ -521,7 +517,7 @@ void init_embedded_functions()
|
||||
embed_function("SetCanvasPhysics2D", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("state", ID_TYPE_NUM);
|
||||
embed_function("OpenSpriteCanvas", ID_TYPE_FN_NUM);
|
||||
embed_function("OpenCanvasSpriteLayer", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_x", ID_TYPE_NUM);
|
||||
@@ -1309,6 +1305,11 @@ void init_embedded_functions()
|
||||
embed_function("LoadMeshFromArchive", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("archive$", ID_TYPE_STR);
|
||||
add_embedded_arg("mesh_file$", ID_TYPE_STR);
|
||||
embed_function("CreatePlaneMesh", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("tileCount_w", ID_TYPE_NUM);
|
||||
add_embedded_arg("tileCount_h", ID_TYPE_NUM);
|
||||
embed_function("CreateMeshActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("CreateMeshOctreeActor", ID_TYPE_FN_NUM);
|
||||
@@ -1317,9 +1318,11 @@ void init_embedded_functions()
|
||||
add_embedded_arg("cube_size", ID_TYPE_NUM);
|
||||
embed_function("CreateSphereActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("radius", ID_TYPE_NUM);
|
||||
embed_function("CreateWaterPlaneActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
embed_function("CreateWaterActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
add_embedded_arg("waveHeight", ID_TYPE_NUM);
|
||||
add_embedded_arg("waveSpeed", ID_TYPE_NUM);
|
||||
add_embedded_arg("waveLength", ID_TYPE_NUM);
|
||||
embed_function("CreateLightActor", ID_TYPE_FN_NUM);
|
||||
embed_function("CreateBillboardActor", ID_TYPE_FN_NUM);
|
||||
embed_function("CreateTerrainActor", ID_TYPE_FN_NUM);
|
||||
@@ -2297,34 +2300,6 @@ void init_embedded_functions()
|
||||
add_embedded_arg("patchX", ID_TYPE_NUM);
|
||||
add_embedded_arg("patchZ", ID_TYPE_NUM);
|
||||
add_embedded_arg("LOD", ID_TYPE_NUM);
|
||||
embed_function("setWaterWindForce", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("f", ID_TYPE_NUM);
|
||||
embed_function("getWaterWindForce", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("setWaterWaveHeight", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
embed_function("getWaterWaveHeight", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("setWaterWindDirection", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("x", ID_TYPE_NUM);
|
||||
add_embedded_arg("z", ID_TYPE_NUM);
|
||||
embed_function("getWaterWindDirection", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
|
||||
embed_function("setWaterColor", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("c", ID_TYPE_NUM);
|
||||
embed_function("getWaterColor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("setWaterColorBlendFactor", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("cbfactor", ID_TYPE_NUM);
|
||||
embed_function("getWaterColorBlendFactor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("SetActorAnimation", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("start_frame", ID_TYPE_NUM);
|
||||
|
||||
@@ -433,8 +433,6 @@ embed_function("SetWindowAlwaysOnTop", ID_TYPE_SUB);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("SetMouseRelative", ID_TYPE_SUB);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("SetWindowVSync", ID_TYPE_SUB);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("FlashWindow", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("WindowIsGrabbed", ID_TYPE_FN_NUM);
|
||||
@@ -449,8 +447,6 @@ add_embedded_arg("mode", ID_TYPE_NUM);
|
||||
embed_function("CloseCanvas", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
embed_function("OpenCanvas3D", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_x", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_y", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_w", ID_TYPE_NUM);
|
||||
@@ -515,7 +511,7 @@ embed_function("ActiveCanvas", ID_TYPE_FN_NUM);
|
||||
embed_function("SetCanvasPhysics2D", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("state", ID_TYPE_NUM);
|
||||
embed_function("OpenSpriteCanvas", ID_TYPE_FN_NUM);
|
||||
embed_function("OpenCanvasSpriteLayer", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("viewport_x", ID_TYPE_NUM);
|
||||
@@ -1303,6 +1299,11 @@ add_embedded_arg("index_data", ID_TYPE_BYREF_NUM);
|
||||
embed_function("LoadMeshFromArchive", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("archive$", ID_TYPE_STR);
|
||||
add_embedded_arg("mesh_file$", ID_TYPE_STR);
|
||||
embed_function("CreatePlaneMesh", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("tileCount_w", ID_TYPE_NUM);
|
||||
add_embedded_arg("tileCount_h", ID_TYPE_NUM);
|
||||
embed_function("CreateMeshActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("CreateMeshOctreeActor", ID_TYPE_FN_NUM);
|
||||
@@ -1311,9 +1312,11 @@ embed_function("CreateCubeActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("cube_size", ID_TYPE_NUM);
|
||||
embed_function("CreateSphereActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("radius", ID_TYPE_NUM);
|
||||
embed_function("CreateWaterPlaneActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("w", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
embed_function("CreateWaterActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
add_embedded_arg("waveHeight", ID_TYPE_NUM);
|
||||
add_embedded_arg("waveSpeed", ID_TYPE_NUM);
|
||||
add_embedded_arg("waveLength", ID_TYPE_NUM);
|
||||
embed_function("CreateLightActor", ID_TYPE_FN_NUM);
|
||||
embed_function("CreateBillboardActor", ID_TYPE_FN_NUM);
|
||||
embed_function("CreateTerrainActor", ID_TYPE_FN_NUM);
|
||||
@@ -2291,34 +2294,6 @@ add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("patchX", ID_TYPE_NUM);
|
||||
add_embedded_arg("patchZ", ID_TYPE_NUM);
|
||||
add_embedded_arg("LOD", ID_TYPE_NUM);
|
||||
embed_function("setWaterWindForce", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("f", ID_TYPE_NUM);
|
||||
embed_function("getWaterWindForce", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("setWaterWaveHeight", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
embed_function("getWaterWaveHeight", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("setWaterWindDirection", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("x", ID_TYPE_NUM);
|
||||
add_embedded_arg("z", ID_TYPE_NUM);
|
||||
embed_function("getWaterWindDirection", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
|
||||
embed_function("setWaterColor", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("c", ID_TYPE_NUM);
|
||||
embed_function("getWaterColor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("setWaterColorBlendFactor", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("cbfactor", ID_TYPE_NUM);
|
||||
embed_function("getWaterColorBlendFactor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("SetActorAnimation", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("start_frame", ID_TYPE_NUM);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -541,9 +541,6 @@ case FN_SetWindowAlwaysOnTop: //Sub Procedure
|
||||
case FN_SetMouseRelative: //Sub Procedure
|
||||
rc_setMouseRelative( SETMOUSERELATIVE_FLAG );
|
||||
break;
|
||||
case FN_SetWindowVSync: //Sub Procedure
|
||||
rc_setWindowVSync( SETWINDOWVSYNC_FLAG );
|
||||
break;
|
||||
case FN_FlashWindow: //Number Function
|
||||
rc_push_num(rc_flashWindow( FLASHWINDOW_FLAG ));
|
||||
break;
|
||||
@@ -557,7 +554,7 @@ case FN_CloseCanvas: //Sub Procedure
|
||||
rc_canvasClose( CLOSECANVAS_C_NUM );
|
||||
break;
|
||||
case FN_OpenCanvas3D: //Number Function
|
||||
rc_push_num(rc_canvasOpen3D( OPENCANVAS3D_W, OPENCANVAS3D_H, OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE ));
|
||||
rc_push_num(rc_canvasOpen3D( OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE ));
|
||||
break;
|
||||
case FN_SetCanvasVisible: //Sub Procedure
|
||||
rc_setCanvasVisible( SETCANVASVISIBLE_C_NUM, SETCANVASVISIBLE_FLAG );
|
||||
@@ -616,8 +613,8 @@ case FN_ActiveCanvas: //Number Function
|
||||
case FN_SetCanvasPhysics2D: //Sub Procedure
|
||||
rc_setCanvasPhysics2D( SETCANVASPHYSICS2D_C_NUM, SETCANVASPHYSICS2D_STATE );
|
||||
break;
|
||||
case FN_OpenSpriteCanvas: //Number Function
|
||||
rc_push_num(rc_canvasOpenSpriteLayer( OPENSPRITECANVAS_W, OPENSPRITECANVAS_H, OPENSPRITECANVAS_VIEWPORT_X, OPENSPRITECANVAS_VIEWPORT_Y, OPENSPRITECANVAS_VIEWPORT_W, OPENSPRITECANVAS_VIEWPORT_H ));
|
||||
case FN_OpenCanvasSpriteLayer: //Number Function
|
||||
rc_push_num(rc_canvasOpenSpriteLayer( OPENCANVASSPRITELAYER_W, OPENCANVASSPRITELAYER_H, OPENCANVASSPRITELAYER_VIEWPORT_X, OPENCANVASSPRITELAYER_VIEWPORT_Y, OPENCANVASSPRITELAYER_VIEWPORT_W, OPENCANVASSPRITELAYER_VIEWPORT_H ));
|
||||
break;
|
||||
case FN_Circle: //Sub Procedure
|
||||
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS );
|
||||
@@ -1397,6 +1394,9 @@ case FN_AddMeshBuffer: //Sub Procedure
|
||||
case FN_LoadMeshFromArchive: //Number Function
|
||||
rc_push_num(rc_loadMeshFromArchive( LOADMESHFROMARCHIVE_ARCHIVE$, LOADMESHFROMARCHIVE_MESH_FILE$ ));
|
||||
break;
|
||||
case FN_CreatePlaneMesh: //Number Function
|
||||
rc_push_num(rc_createPlaneMesh( CREATEPLANEMESH_W, CREATEPLANEMESH_H, CREATEPLANEMESH_TILECOUNT_W, CREATEPLANEMESH_TILECOUNT_H ));
|
||||
break;
|
||||
case FN_CreateMeshActor: //Number Function
|
||||
rc_push_num(rc_createMeshActor( CREATEMESHACTOR_MESH ));
|
||||
break;
|
||||
@@ -1409,8 +1409,8 @@ case FN_CreateCubeActor: //Number Function
|
||||
case FN_CreateSphereActor: //Number Function
|
||||
rc_push_num(rc_createSphereActor( CREATESPHEREACTOR_RADIUS ));
|
||||
break;
|
||||
case FN_CreateWaterPlaneActor: //Number Function
|
||||
rc_push_num(rc_createWaterPlaneActor( CREATEWATERPLANEACTOR_W, CREATEWATERPLANEACTOR_H ));
|
||||
case FN_CreateWaterActor: //Number Function
|
||||
rc_push_num(rc_createWaterActor( CREATEWATERACTOR_MESH, CREATEWATERACTOR_WAVEHEIGHT, CREATEWATERACTOR_WAVESPEED, CREATEWATERACTOR_WAVELENGTH ));
|
||||
break;
|
||||
case FN_CreateLightActor: //Number Function
|
||||
rc_push_num(rc_createLightActor( ));
|
||||
@@ -2261,36 +2261,6 @@ case FN_SetTerrainCameraRotationDelta: //Sub Procedure
|
||||
case FN_SetTerrainPatchLOD: //Sub Procedure
|
||||
rc_setTerrainPatchLOD( SETTERRAINPATCHLOD_ACTOR, SETTERRAINPATCHLOD_PATCHX, SETTERRAINPATCHLOD_PATCHZ, SETTERRAINPATCHLOD_LOD );
|
||||
break;
|
||||
case FN_setWaterWindForce: //Sub Procedure
|
||||
rc_setWaterWindForce( SETWATERWINDFORCE_ACTOR, SETWATERWINDFORCE_F );
|
||||
break;
|
||||
case FN_getWaterWindForce: //Number Function
|
||||
rc_push_num(rc_getWaterWindForce( GETWATERWINDFORCE_ACTOR ));
|
||||
break;
|
||||
case FN_setWaterWaveHeight: //Sub Procedure
|
||||
rc_setWaterWaveHeight( SETWATERWAVEHEIGHT_ACTOR, SETWATERWAVEHEIGHT_H );
|
||||
break;
|
||||
case FN_getWaterWaveHeight: //Number Function
|
||||
rc_push_num(rc_getWaterWaveHeight( GETWATERWAVEHEIGHT_ACTOR ));
|
||||
break;
|
||||
case FN_setWaterWindDirection: //Sub Procedure
|
||||
rc_setWaterWindDirection( SETWATERWINDDIRECTION_ACTOR, SETWATERWINDDIRECTION_X, SETWATERWINDDIRECTION_Z );
|
||||
break;
|
||||
case FN_getWaterWindDirection: //Sub Procedure
|
||||
rc_getWaterWindDirection( GETWATERWINDDIRECTION_ACTOR, &GETWATERWINDDIRECTION_X, &GETWATERWINDDIRECTION_Z );
|
||||
break;
|
||||
case FN_setWaterColor: //Sub Procedure
|
||||
rc_setWaterColor( SETWATERCOLOR_ACTOR, SETWATERCOLOR_C );
|
||||
break;
|
||||
case FN_getWaterColor: //Number Function
|
||||
rc_push_num(rc_getWaterColor( GETWATERCOLOR_ACTOR ));
|
||||
break;
|
||||
case FN_setWaterColorBlendFactor: //Sub Procedure
|
||||
rc_setWaterColorBlendFactor( SETWATERCOLORBLENDFACTOR_ACTOR, SETWATERCOLORBLENDFACTOR_CBFACTOR );
|
||||
break;
|
||||
case FN_getWaterColorBlendFactor: //Number Function
|
||||
rc_push_num(rc_getWaterColorBlendFactor( GETWATERCOLORBLENDFACTOR_ACTOR ));
|
||||
break;
|
||||
case FN_SetActorAnimation: //Sub Procedure
|
||||
rc_setActorAnimation( SETACTORANIMATION_ACTOR, SETACTORANIMATION_START_FRAME, SETACTORANIMATION_END_FRAME );
|
||||
break;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -541,9 +541,6 @@ case FN_SetWindowAlwaysOnTop: //Sub Procedure
|
||||
case FN_SetMouseRelative: //Sub Procedure
|
||||
rc_setMouseRelative( SETMOUSERELATIVE_FLAG );
|
||||
break;
|
||||
case FN_SetWindowVSync: //Sub Procedure
|
||||
rc_setWindowVSync( SETWINDOWVSYNC_FLAG );
|
||||
break;
|
||||
case FN_FlashWindow: //Number Function
|
||||
rc_push_num(rc_flashWindow( FLASHWINDOW_FLAG ));
|
||||
break;
|
||||
@@ -557,7 +554,7 @@ case FN_CloseCanvas: //Sub Procedure
|
||||
rc_canvasClose( CLOSECANVAS_C_NUM );
|
||||
break;
|
||||
case FN_OpenCanvas3D: //Number Function
|
||||
rc_push_num(rc_canvasOpen3D( OPENCANVAS3D_W, OPENCANVAS3D_H, OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE ));
|
||||
rc_push_num(rc_canvasOpen3D( OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE ));
|
||||
break;
|
||||
case FN_SetCanvasVisible: //Sub Procedure
|
||||
rc_setCanvasVisible( SETCANVASVISIBLE_C_NUM, SETCANVASVISIBLE_FLAG );
|
||||
@@ -616,8 +613,8 @@ case FN_ActiveCanvas: //Number Function
|
||||
case FN_SetCanvasPhysics2D: //Sub Procedure
|
||||
rc_setCanvasPhysics2D( SETCANVASPHYSICS2D_C_NUM, SETCANVASPHYSICS2D_STATE );
|
||||
break;
|
||||
case FN_OpenSpriteCanvas: //Number Function
|
||||
rc_push_num(rc_canvasOpenSpriteLayer( OPENSPRITECANVAS_W, OPENSPRITECANVAS_H, OPENSPRITECANVAS_VIEWPORT_X, OPENSPRITECANVAS_VIEWPORT_Y, OPENSPRITECANVAS_VIEWPORT_W, OPENSPRITECANVAS_VIEWPORT_H ));
|
||||
case FN_OpenCanvasSpriteLayer: //Number Function
|
||||
rc_push_num(rc_canvasOpenSpriteLayer( OPENCANVASSPRITELAYER_W, OPENCANVASSPRITELAYER_H, OPENCANVASSPRITELAYER_VIEWPORT_X, OPENCANVASSPRITELAYER_VIEWPORT_Y, OPENCANVASSPRITELAYER_VIEWPORT_W, OPENCANVASSPRITELAYER_VIEWPORT_H ));
|
||||
break;
|
||||
case FN_Circle: //Sub Procedure
|
||||
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS );
|
||||
@@ -1397,6 +1394,9 @@ case FN_AddMeshBuffer: //Sub Procedure
|
||||
case FN_LoadMeshFromArchive: //Number Function
|
||||
rc_push_num(rc_loadMeshFromArchive( LOADMESHFROMARCHIVE_ARCHIVE$, LOADMESHFROMARCHIVE_MESH_FILE$ ));
|
||||
break;
|
||||
case FN_CreatePlaneMesh: //Number Function
|
||||
rc_push_num(rc_createPlaneMesh( CREATEPLANEMESH_W, CREATEPLANEMESH_H, CREATEPLANEMESH_TILECOUNT_W, CREATEPLANEMESH_TILECOUNT_H ));
|
||||
break;
|
||||
case FN_CreateMeshActor: //Number Function
|
||||
rc_push_num(rc_createMeshActor( CREATEMESHACTOR_MESH ));
|
||||
break;
|
||||
@@ -1409,8 +1409,8 @@ case FN_CreateCubeActor: //Number Function
|
||||
case FN_CreateSphereActor: //Number Function
|
||||
rc_push_num(rc_createSphereActor( CREATESPHEREACTOR_RADIUS ));
|
||||
break;
|
||||
case FN_CreateWaterPlaneActor: //Number Function
|
||||
rc_push_num(rc_createWaterPlaneActor( CREATEWATERPLANEACTOR_W, CREATEWATERPLANEACTOR_H ));
|
||||
case FN_CreateWaterActor: //Number Function
|
||||
rc_push_num(rc_createWaterActor( CREATEWATERACTOR_MESH, CREATEWATERACTOR_WAVEHEIGHT, CREATEWATERACTOR_WAVESPEED, CREATEWATERACTOR_WAVELENGTH ));
|
||||
break;
|
||||
case FN_CreateLightActor: //Number Function
|
||||
rc_push_num(rc_createLightActor( ));
|
||||
@@ -2261,36 +2261,6 @@ case FN_SetTerrainCameraRotationDelta: //Sub Procedure
|
||||
case FN_SetTerrainPatchLOD: //Sub Procedure
|
||||
rc_setTerrainPatchLOD( SETTERRAINPATCHLOD_ACTOR, SETTERRAINPATCHLOD_PATCHX, SETTERRAINPATCHLOD_PATCHZ, SETTERRAINPATCHLOD_LOD );
|
||||
break;
|
||||
case FN_setWaterWindForce: //Sub Procedure
|
||||
rc_setWaterWindForce( SETWATERWINDFORCE_ACTOR, SETWATERWINDFORCE_F );
|
||||
break;
|
||||
case FN_getWaterWindForce: //Number Function
|
||||
rc_push_num(rc_getWaterWindForce( GETWATERWINDFORCE_ACTOR ));
|
||||
break;
|
||||
case FN_setWaterWaveHeight: //Sub Procedure
|
||||
rc_setWaterWaveHeight( SETWATERWAVEHEIGHT_ACTOR, SETWATERWAVEHEIGHT_H );
|
||||
break;
|
||||
case FN_getWaterWaveHeight: //Number Function
|
||||
rc_push_num(rc_getWaterWaveHeight( GETWATERWAVEHEIGHT_ACTOR ));
|
||||
break;
|
||||
case FN_setWaterWindDirection: //Sub Procedure
|
||||
rc_setWaterWindDirection( SETWATERWINDDIRECTION_ACTOR, SETWATERWINDDIRECTION_X, SETWATERWINDDIRECTION_Z );
|
||||
break;
|
||||
case FN_getWaterWindDirection: //Sub Procedure
|
||||
rc_getWaterWindDirection( GETWATERWINDDIRECTION_ACTOR, &GETWATERWINDDIRECTION_X, &GETWATERWINDDIRECTION_Z );
|
||||
break;
|
||||
case FN_setWaterColor: //Sub Procedure
|
||||
rc_setWaterColor( SETWATERCOLOR_ACTOR, SETWATERCOLOR_C );
|
||||
break;
|
||||
case FN_getWaterColor: //Number Function
|
||||
rc_push_num(rc_getWaterColor( GETWATERCOLOR_ACTOR ));
|
||||
break;
|
||||
case FN_setWaterColorBlendFactor: //Sub Procedure
|
||||
rc_setWaterColorBlendFactor( SETWATERCOLORBLENDFACTOR_ACTOR, SETWATERCOLORBLENDFACTOR_CBFACTOR );
|
||||
break;
|
||||
case FN_getWaterColorBlendFactor: //Number Function
|
||||
rc_push_num(rc_getWaterColorBlendFactor( GETWATERCOLORBLENDFACTOR_ACTOR ));
|
||||
break;
|
||||
case FN_SetActorAnimation: //Sub Procedure
|
||||
rc_setActorAnimation( SETACTORANIMATION_ACTOR, SETACTORANIMATION_START_FRAME, SETACTORANIMATION_END_FRAME );
|
||||
break;
|
||||
|
||||
@@ -125,6 +125,25 @@ int rc_createMesh()
|
||||
return mesh_id;
|
||||
}
|
||||
|
||||
int rc_createPlaneMesh(double w, double h, double tileCount_w, double tileCount_h)
|
||||
{
|
||||
irr::scene::IAnimatedMesh* mesh = SceneManager->addHillPlaneMesh( "plane",
|
||||
irr::core::dimension2d<irr::f32>(w/tileCount_w, h/tileCount_h),
|
||||
irr::core::dimension2d<irr::u32>(tileCount_w, tileCount_h));
|
||||
|
||||
if(!mesh)
|
||||
return -1;
|
||||
|
||||
int mesh_id = rc_mesh.size();
|
||||
rc_mesh_obj mesh_obj;
|
||||
mesh_obj.mesh = mesh;
|
||||
mesh_obj.mesh_type = RC_MESH_TYPE_ANIMATED;
|
||||
|
||||
rc_mesh.push_back(mesh_obj);
|
||||
|
||||
return mesh_id;
|
||||
}
|
||||
|
||||
|
||||
//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)
|
||||
@@ -734,10 +753,18 @@ int rc_createSphereActor(double radius)
|
||||
}
|
||||
|
||||
//add mesh actor to scene
|
||||
int rc_createWaterPlaneActor(double w, double h)
|
||||
int rc_createWaterActor(int mesh_id, double waveHeight, double waveSpeed, double waveLength)
|
||||
{
|
||||
int actor_id = -1;
|
||||
RealisticWaterSceneNode* node = new RealisticWaterSceneNode(SceneManager, w, h);
|
||||
|
||||
if(mesh_id < 0 || mesh_id >= rc_mesh.size())
|
||||
return -1;
|
||||
|
||||
if(!rc_mesh[mesh_id].mesh)
|
||||
return -1;
|
||||
|
||||
irr::scene::ISceneNode* node = SceneManager->addWaterSurfaceSceneNode(rc_mesh[mesh_id].mesh, waveHeight, waveSpeed, waveLength);
|
||||
|
||||
rc_scene_node actor;
|
||||
actor.node_type = RC_NODE_TYPE_WATER;
|
||||
actor.mesh_node = node;
|
||||
@@ -887,154 +914,6 @@ void rc_deleteActor(int actor_id)
|
||||
rc_actor[actor_id].material_ref_index = -1;
|
||||
}
|
||||
|
||||
void rc_setWaterWindForce(int actor, double f)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
water->setWindForce(f);
|
||||
}
|
||||
}
|
||||
|
||||
double rc_getWaterWindForce(int actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return 0;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
return water->getWindForce();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void rc_setWaterWaveHeight(int actor, double h)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
water->setWaveHeight(h);
|
||||
}
|
||||
}
|
||||
|
||||
double rc_getWaterWaveHeight(int actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return 0;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
return water->getWaveHeight();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void rc_setWaterWindDirection(int actor, double x, double z)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
water->setWindDirection( irr::core::vector2df(x, z));
|
||||
}
|
||||
}
|
||||
|
||||
void rc_getWaterWindDirection(int actor, double* x, double* z)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
*x = 0;
|
||||
*z = 0;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
irr::core::vector2df v = water->getWindDirection();
|
||||
*x = v.X;
|
||||
*z = v.Y;
|
||||
}
|
||||
}
|
||||
|
||||
void rc_setWaterColor(int actor, Uint32 c)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
irr::video::SColor color;
|
||||
color.set(c);
|
||||
SColorf cf(color);
|
||||
water->setWaterColor( cf );
|
||||
}
|
||||
}
|
||||
|
||||
irr::u32 rc_getWaterColor(int actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return 0;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
irr::video::SColorf color = water->getWaterColor();
|
||||
return color.toSColor().color;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void rc_setWaterColorBlendFactor(int actor, double cbfactor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
water->setColorBlendFactor(cbfactor);
|
||||
}
|
||||
}
|
||||
|
||||
double rc_getWaterColorBlendFactor(int actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return 0;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_WATER:
|
||||
RealisticWaterSceneNode* water = (RealisticWaterSceneNode*)rc_actor[actor].mesh_node;
|
||||
return water->getColorBlendFactor();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//set actor texture
|
||||
void rc_setActorTexture(int actor, int layer, int image_id)
|
||||
|
||||
Reference in New Issue
Block a user