Added New Static Mesh Functions

This commit is contained in:
n00b
2025-01-25 23:53:43 -05:00
parent 8e161a1a22
commit 17b420578c
157 changed files with 2590 additions and 1150 deletions

View File

@@ -644,11 +644,14 @@ rc_deleteMesh( DELETEMESH_MESH )
rc_createMesh( )
rc_addMeshBuffer( ADDMESHBUFFER_MESH, ADDMESHBUFFER_VERTEX_COUNT, &ADDMESHBUFFER_VERTEX_DATA, &ADDMESHBUFFER_NORMAL_DATA, &ADDMESHBUFFER_UV_DATA, ADDMESHBUFFER_INDEX_COUNT, &ADDMESHBUFFER_INDEX_DATA )
rc_loadMeshFromArchive( LOADMESHFROMARCHIVE_ARCHIVE$, LOADMESHFROMARCHIVE_MESH_FILE$ )
rc_createPlaneMesh( CREATEPLANEMESH_W, CREATEPLANEMESH_H, CREATEPLANEMESH_TILECOUNT_W, CREATEPLANEMESH_TILECOUNT_H )
rc_createPlaneMesh( CREATEPLANEMESH_W, CREATEPLANEMESH_H, CREATEPLANEMESH_TILECOUNT_W, CREATEPLANEMESH_TILECOUNT_H, CREATEPLANEMESH_TXREPEAT_X, CREATEPLANEMESH_TXREPEAT_Y )
rc_loadAN8( LOADAN8_AN8_FILE$ )
rc_loadMeshFromAN8( LOADMESHFROMAN8_AN8_PROJECT, LOADMESHFROMAN8_AN8_SCENE$ )
rc_getNumAN8Scenes( GETNUMAN8SCENES_AN8_PROJECT )
rc_getAN8SceneName( GETAN8SCENENAME$_AN8_PROJECT, GETAN8SCENENAME$_SCENE_NUM )
rc_createConeMesh( CREATECONEMESH_RADIUS, CREATECONEMESH_CONE_LENGTH, CREATECONEMESH_TESSELATION, CREATECONEMESH_TOP_COLOR, CREATECONEMESH_BOTTOM_COLOR )
rc_createCylinderMesh( CREATECYLINDERMESH_RADIUS, CREATECYLINDERMESH_CYLINDER_LENGTH, CREATECYLINDERMESH_TESSELATION, CREATECYLINDERMESH_COLOR, CREATECYLINDERMESH_CLOSE_TOP )
rc_createVolumeLightMesh( CREATEVOLUMELIGHTMESH_U, CREATEVOLUMELIGHTMESH_V, CREATEVOLUMELIGHTMESH_FOOT_COLOR, CREATEVOLUMELIGHTMESH_TAIL_COLOR, CREATEVOLUMELIGHTMESH_LP_DISTANCE, CREATEVOLUMELIGHTMESH_DIM_X, CREATEVOLUMELIGHTMESH_DIM_Y, CREATEVOLUMELIGHTMESH_DIM_Z )
rc_createAnimatedActor( CREATEANIMATEDACTOR_MESH )
rc_createOctreeActor( CREATEOCTREEACTOR_MESH )
rc_createCubeActor( CREATECUBEACTOR_CUBE_SIZE )

View File

@@ -3,8 +3,11 @@ sub DeleteMesh( mesh )
function CreateMesh( )
sub AddMeshBuffer( mesh, vertex_count, ByRef vertex_data, ByRef normal_data, ByRef uv_data, index_count, ByRef index_data )
function LoadMeshFromArchive( archive$, mesh_file$ )
Function CreatePlaneMesh( w, h, tileCount_w, tileCount_h )
Function CreatePlaneMesh( w, h, tileCount_w, tileCount_h, txRepeat_x, txRepeat_y )
Function LoadAN8( an8_file$ )
Function LoadMeshFromAN8(an8_project, an8_scene$)
Function GetNumAN8Scenes(an8_project)
Function GetAN8SceneName$(an8_project, scene_num)
Function CreateConeMesh( radius, cone_length, tesselation, top_color, bottom_color )
Function CreateCylinderMesh( radius, cylinder_length, tesselation, color, close_top )
Function CreateVolumeLightMesh( u, v, foot_color, tail_color, lp_distance, dim_x, dim_y, dim_z )

View File

@@ -145,7 +145,7 @@ bool rc_preprocessor()
}
}
cout << "\nDEBUG INCLUDE ABS_PATH:" << inc_file.filename << endl << endl;
//cout << "\nDEBUG INCLUDE ABS_PATH:" << inc_file.filename << endl << endl;
inc_file.line_number = 0;
inc_file.line_position = 0;
inc_file.dbg_inc_index = inc_files.size();

View File

@@ -1940,6 +1940,8 @@ void init_embedded_functions()
add_embedded_arg("h", ID_TYPE_NUM);
add_embedded_arg("tileCount_w", ID_TYPE_NUM);
add_embedded_arg("tileCount_h", ID_TYPE_NUM);
add_embedded_arg("txRepeat_x", ID_TYPE_NUM);
add_embedded_arg("txRepeat_y", ID_TYPE_NUM);
embed_function("LoadAN8", ID_TYPE_FN_NUM);
add_embedded_arg("an8_file$", ID_TYPE_STR);
embed_function("LoadMeshFromAN8", ID_TYPE_FN_NUM);
@@ -1950,6 +1952,27 @@ void init_embedded_functions()
embed_function("GetAN8SceneName$", ID_TYPE_FN_STR);
add_embedded_arg("an8_project", ID_TYPE_NUM);
add_embedded_arg("scene_num", ID_TYPE_NUM);
embed_function("CreateConeMesh", ID_TYPE_FN_NUM);
add_embedded_arg("radius", ID_TYPE_NUM);
add_embedded_arg("cone_length", ID_TYPE_NUM);
add_embedded_arg("tesselation", ID_TYPE_NUM);
add_embedded_arg("top_color", ID_TYPE_NUM);
add_embedded_arg("bottom_color", ID_TYPE_NUM);
embed_function("CreateCylinderMesh", ID_TYPE_FN_NUM);
add_embedded_arg("radius", ID_TYPE_NUM);
add_embedded_arg("cylinder_length", ID_TYPE_NUM);
add_embedded_arg("tesselation", ID_TYPE_NUM);
add_embedded_arg("color", ID_TYPE_NUM);
add_embedded_arg("close_top", ID_TYPE_NUM);
embed_function("CreateVolumeLightMesh", ID_TYPE_FN_NUM);
add_embedded_arg("u", ID_TYPE_NUM);
add_embedded_arg("v", ID_TYPE_NUM);
add_embedded_arg("foot_color", ID_TYPE_NUM);
add_embedded_arg("tail_color", ID_TYPE_NUM);
add_embedded_arg("lp_distance", ID_TYPE_NUM);
add_embedded_arg("dim_x", ID_TYPE_NUM);
add_embedded_arg("dim_y", ID_TYPE_NUM);
add_embedded_arg("dim_z", ID_TYPE_NUM);
embed_function("CreateAnimatedActor", ID_TYPE_FN_NUM);
add_embedded_arg("mesh", ID_TYPE_NUM);
embed_function("CreateOctreeActor", ID_TYPE_FN_NUM);

Binary file not shown.

View File

@@ -1934,6 +1934,8 @@ 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);
add_embedded_arg("txRepeat_x", ID_TYPE_NUM);
add_embedded_arg("txRepeat_y", ID_TYPE_NUM);
embed_function("LoadAN8", ID_TYPE_FN_NUM);
add_embedded_arg("an8_file$", ID_TYPE_STR);
embed_function("LoadMeshFromAN8", ID_TYPE_FN_NUM);
@@ -1944,6 +1946,27 @@ add_embedded_arg("an8_project", ID_TYPE_NUM);
embed_function("GetAN8SceneName$", ID_TYPE_FN_STR);
add_embedded_arg("an8_project", ID_TYPE_NUM);
add_embedded_arg("scene_num", ID_TYPE_NUM);
embed_function("CreateConeMesh", ID_TYPE_FN_NUM);
add_embedded_arg("radius", ID_TYPE_NUM);
add_embedded_arg("cone_length", ID_TYPE_NUM);
add_embedded_arg("tesselation", ID_TYPE_NUM);
add_embedded_arg("top_color", ID_TYPE_NUM);
add_embedded_arg("bottom_color", ID_TYPE_NUM);
embed_function("CreateCylinderMesh", ID_TYPE_FN_NUM);
add_embedded_arg("radius", ID_TYPE_NUM);
add_embedded_arg("cylinder_length", ID_TYPE_NUM);
add_embedded_arg("tesselation", ID_TYPE_NUM);
add_embedded_arg("color", ID_TYPE_NUM);
add_embedded_arg("close_top", ID_TYPE_NUM);
embed_function("CreateVolumeLightMesh", ID_TYPE_FN_NUM);
add_embedded_arg("u", ID_TYPE_NUM);
add_embedded_arg("v", ID_TYPE_NUM);
add_embedded_arg("foot_color", ID_TYPE_NUM);
add_embedded_arg("tail_color", ID_TYPE_NUM);
add_embedded_arg("lp_distance", ID_TYPE_NUM);
add_embedded_arg("dim_x", ID_TYPE_NUM);
add_embedded_arg("dim_y", ID_TYPE_NUM);
add_embedded_arg("dim_z", ID_TYPE_NUM);
embed_function("CreateAnimatedActor", ID_TYPE_FN_NUM);
add_embedded_arg("mesh", ID_TYPE_NUM);
embed_function("CreateOctreeActor", ID_TYPE_FN_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -1965,7 +1965,7 @@ 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 ));
rc_push_num(rc_createPlaneMesh( CREATEPLANEMESH_W, CREATEPLANEMESH_H, CREATEPLANEMESH_TILECOUNT_W, CREATEPLANEMESH_TILECOUNT_H, CREATEPLANEMESH_TXREPEAT_X, CREATEPLANEMESH_TXREPEAT_Y ));
break;
case FN_LoadAN8: //Number Function
rc_push_num(rc_loadAN8( LOADAN8_AN8_FILE$ ));
@@ -1979,6 +1979,15 @@ case FN_GetNumAN8Scenes: //Number Function
case FN_GetAN8SceneName$: //String Function
rc_push_str(rc_getAN8SceneName( GETAN8SCENENAME$_AN8_PROJECT, GETAN8SCENENAME$_SCENE_NUM ));
break;
case FN_CreateConeMesh: //Number Function
rc_push_num(rc_createConeMesh( CREATECONEMESH_RADIUS, CREATECONEMESH_CONE_LENGTH, CREATECONEMESH_TESSELATION, CREATECONEMESH_TOP_COLOR, CREATECONEMESH_BOTTOM_COLOR ));
break;
case FN_CreateCylinderMesh: //Number Function
rc_push_num(rc_createCylinderMesh( CREATECYLINDERMESH_RADIUS, CREATECYLINDERMESH_CYLINDER_LENGTH, CREATECYLINDERMESH_TESSELATION, CREATECYLINDERMESH_COLOR, CREATECYLINDERMESH_CLOSE_TOP ));
break;
case FN_CreateVolumeLightMesh: //Number Function
rc_push_num(rc_createVolumeLightMesh( CREATEVOLUMELIGHTMESH_U, CREATEVOLUMELIGHTMESH_V, CREATEVOLUMELIGHTMESH_FOOT_COLOR, CREATEVOLUMELIGHTMESH_TAIL_COLOR, CREATEVOLUMELIGHTMESH_LP_DISTANCE, CREATEVOLUMELIGHTMESH_DIM_X, CREATEVOLUMELIGHTMESH_DIM_Y, CREATEVOLUMELIGHTMESH_DIM_Z ));
break;
case FN_CreateAnimatedActor: //Number Function
rc_push_num(rc_createAnimatedActor( CREATEANIMATEDACTOR_MESH ));
break;

View File

@@ -1240,6 +1240,20 @@ string rc_keywordToken(string sline)
return "<num>1";
else if(sline.compare("SPRITE_TYPE_DYNAMIC")==0)
return "<num>2";
else if(sline.compare("COLOR_MASK_NONE")==0)
return "<num>0";
else if(sline.compare("COLOR_MASK_ALPHA")==0)
return "<num>1";
else if(sline.compare("COLOR_MASK_RED")==0)
return "<num>2";
else if(sline.compare("COLOR_MASK_GREEN")==0)
return "<num>4";
else if(sline.compare("COLOR_MASK_BLUE")==0)
return "<num>8";
else if(sline.compare("COLOR_MASK_RGB")==0)
return "<num>14";
else if(sline.compare("COLOR_MASK_ALL")==0)
return "<num>15";
else
{
for(int i = 0; i < rc_constants.size(); i++)