Added FX Materials

* Added FX Shader Materials
* Added Projector Actor
This commit is contained in:
n00b
2025-04-11 00:51:47 -04:00
parent 14a315db60
commit b67d63d32c
73 changed files with 5384 additions and 1825 deletions

View File

@@ -43,4 +43,5 @@ Include "/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/particles.bas"
Include "/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/lights.bas"
Include "/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/terrain.bas"
Include "/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/water.bas"
Include "/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/projector.bas"
Include "/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/materials.bas"

View File

@@ -246,6 +246,7 @@ rc_drawImage_Flip( DRAWIMAGE_FLIP_SLOT, DRAWIMAGE_FLIP_X, DRAWIMAGE_FLIP_Y, D
rc_drawImage_FlipEx( DRAWIMAGE_FLIPEX_SLOT, DRAWIMAGE_FLIPEX_X, DRAWIMAGE_FLIPEX_Y, DRAWIMAGE_FLIPEX_SRC_X, DRAWIMAGE_FLIPEX_SRC_Y, DRAWIMAGE_FLIPEX_SRC_W, DRAWIMAGE_FLIPEX_SRC_H, DRAWIMAGE_FLIPEX_H, DRAWIMAGE_FLIPEX_V )
rc_setAntiAliasMode( SETANTIALIASMODE_AA_MODE )
rc_getAntiAliasMode( )
rc_convertToNormalMap( CONVERTTONORMALMAP_IMG_ID, CONVERTTONORMALMAP_AMP )
rc_inKey( )
rc_key( KEY_KEY_CODE )
rc_waitKey( )
@@ -392,6 +393,7 @@ rc_messageBox( MESSAGEBOX_TITLE$, MESSAGEBOX_MSG$ )
#/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_inc/exceptions/rc_runtime.h
rc_numCPUs( )
rc_intern_systemRam( )
rc_getGPUInfo( )
rc_dimMatrix( DIMMATRIX_M_ROWS, DIMMATRIX_M_COLS )
rc_deleteMatrix( DELETEMATRIX_MA )
rc_addMatrix( ADDMATRIX_MA, ADDMATRIX_MB, ADDMATRIX_MC )
@@ -690,6 +692,7 @@ rc_getActorAutoCulling( GETACTORAUTOCULLING_ACTOR )
rc_addActorShadow( ADDACTORSHADOW_ACTOR )
rc_removeActorShadow( REMOVEACTORSHADOW_ACTOR )
rc_actorExists( ACTOREXISTS_ACTOR )
rc_createProjectorActor( )
rc_createActorAnimation( CREATEACTORANIMATION_ACTOR, CREATEACTORANIMATION_START_FRAME, CREATEACTORANIMATION_END_FRAME, CREATEACTORANIMATION_SPEED )
rc_setActorAnimation( SETACTORANIMATION_ACTOR, SETACTORANIMATION_ANIMATION, SETACTORANIMATION_NUM_LOOPS )
rc_setActorAnimationSpeed( SETACTORANIMATIONSPEED_ACTOR, SETACTORANIMATIONSPEED_ANIMATION, SETACTORANIMATIONSPEED_SPEED )
@@ -903,6 +906,10 @@ rc_getWorld3DTimeStep( )
rc_setSceneFog( SETSCENEFOG_COLOR, SETSCENEFOG_FOG_TYPE, SETSCENEFOG_START_VAL, SETSCENEFOG_END_VAL, SETSCENEFOG_DENSITY, SETSCENEFOG_PIXELFOG, SETSCENEFOG_RANGEFOG )
rc_getSceneFog( &GETSCENEFOG_COLOR, &GETSCENEFOG_FOG_TYPE, &GETSCENEFOG_START_VAL, &GETSCENEFOG_END_VAL, &GETSCENEFOG_DENSITY, &GETSCENEFOG_PIXELFOG, &GETSCENEFOG_RANGEFOG )
rc_clearScene( )
rc_setSceneShadowColor( SETSCENESHADOWCOLOR_COLOR )
rc_getSceneShadowColor( )
rc_setSceneAmbientColor( SETSCENEAMBIENTCOLOR_COLOR )
rc_getSceneAmbientColor( )
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR )
rc_stopParticleEmitter( STOPPARTICLEEMITTER_ACTOR )
rc_setParticleDirection( SETPARTICLEDIRECTION_ACTOR, SETPARTICLEDIRECTION_X, SETPARTICLEDIRECTION_Y, SETPARTICLEDIRECTION_Z )
@@ -976,6 +983,10 @@ rc_scaleTerrainTexture( SCALETERRAINTEXTURE_ACTOR, SCALETERRAINTEXTURE_SCALE,
rc_setTerrainCameraMovementDelta( SETTERRAINCAMERAMOVEMENTDELTA_ACTOR, SETTERRAINCAMERAMOVEMENTDELTA_DELTA )
rc_setTerrainCameraRotationDelta( SETTERRAINCAMERAROTATIONDELTA_ACTOR, SETTERRAINCAMERAROTATIONDELTA_DELTA )
rc_setTerrainPatchLOD( SETTERRAINPATCHLOD_ACTOR, SETTERRAINPATCHLOD_PATCHX, SETTERRAINPATCHLOD_PATCHZ, SETTERRAINPATCHLOD_LOD )
rc_setProjectorTarget( SETPROJECTORTARGET_ACTOR, SETPROJECTORTARGET_X, SETPROJECTORTARGET_Y, SETPROJECTORTARGET_Z )
rc_getProjectorTarget( GETPROJECTORTARGET_ACTOR, &GETPROJECTORTARGET_X, &GETPROJECTORTARGET_Y, &GETPROJECTORTARGET_Z )
rc_setProjectorFOV( SETPROJECTORFOV_ACTOR, SETPROJECTORFOV_FOV )
rc_getProjectorFOV( GETPROJECTORFOV_ACTOR )
rc_createMaterial( )
rc_deleteMaterial( DELETEMATERIAL_MATERIAL_ID )
rc_setActorMaterial( SETACTORMATERIAL_ACTOR, SETACTORMATERIAL_MATERIAL_NUM, SETACTORMATERIAL_MATERIAL_ID )
@@ -1035,3 +1046,7 @@ rc_getActorMaterialFlag( GETACTORMATERIALFLAG_ACTOR, GETACTORMATERIALFLAG_MAT
rc_setActorMaterialType( SETACTORMATERIALTYPE_ACTOR, SETACTORMATERIALTYPE_MATERIAL_TYPE )
rc_getActorMaterialType( GETACTORMATERIALTYPE_ACTOR, GETACTORMATERIALTYPE_MATERIAL )
rc_materialExists( MATERIALEXISTS_MATERIAL )
rc_numMaterialConstants( NUMMATERIALCONSTANTS_MATERIAL_TYPE )
rc_getMaterialConstantName( GETMATERIALCONSTANTNAME$_MATERIAL_TYPE, GETMATERIALCONSTANTNAME$_INDEX )
rc_setMaterialConstant( SETMATERIALCONSTANT_MATERIAL, SETMATERIALCONSTANT_M_CONSTANT$, SETMATERIALCONSTANT_N1, SETMATERIALCONSTANT_N2, SETMATERIALCONSTANT_N3, SETMATERIALCONSTANT_N4 )
rc_getMaterialConstant( GETMATERIALCONSTANT_MATERIAL, GETMATERIALCONSTANT_M_CONSTANT$, &GETMATERIALCONSTANT_N1, &GETMATERIALCONSTANT_N2, &GETMATERIALCONSTANT_N3, &GETMATERIALCONSTANT_N4 )

View File

@@ -26,3 +26,4 @@ function GetActorAutoCulling( actor )
sub AddActorShadow( actor )
sub RemoveActorShadow( actor )
function ActorExists( actor )
Function CreateProjectorActor()

View File

@@ -29,3 +29,4 @@ sub DrawImage_Flip(slot, x, y, h, v)
sub DrawImage_FlipEx(slot, x, y, src_x, src_y, src_w, src_h, h, v)
sub SetAntiAliasMode( aa_mode )
function GetAntiAliasMode( )
sub ConvertToNormalMap(img_id, amp)

View File

@@ -57,3 +57,7 @@ function getActorMaterialFlag( actor, material, flag)
sub setActorMaterialType( actor, material_type)
function getActorMaterialType( actor, material)
function MaterialExists( material )
Function NumMaterialConstants(material_type)
Function GetMaterialConstantName$(material_type, index)
Sub SetMaterialConstant(material, m_constant$, n1, n2, n3, n4)
Sub GetMaterialConstant(material, m_constant$, ByRef n1, ByRef n2, ByRef n3, ByRef n4)

View File

@@ -0,0 +1,4 @@
Sub SetProjectorTarget(actor, x, y, z)
Sub GetProjectorTarget(actor, ByRef x, ByRef y, ByRef z)
Sub SetProjectorFOV(actor, fov)
Function GetProjectorFOV(actor)

View File

@@ -9,3 +9,7 @@ function GetWorld3DTimeStep()
Sub SetSceneFog(color, fog_type, start_val, end_val, density, pixelFog, rangeFog)
Sub GetSceneFog(ByRef color, ByRef fog_type, ByRef start_val, ByRef end_val, ByRef density, ByRef pixelFog, ByRef rangeFog)
Sub ClearScene()
Sub SetSceneShadowColor(color)
Function GetSceneShadowColor()
Sub SetSceneAmbientColor(color)
Function GetSceneAmbientColor()

View File

@@ -19,3 +19,4 @@ function MessageBox(title$, msg$)
function Runtime$()
function NumCPUs()
function SystemRam()
function GetGPUInfo$()

View File

@@ -923,7 +923,7 @@ int main(int argc, char * argv[])
//rc_filename = "/home/n00b/test/stp/serenity_main.bas";
//rc_filename = "/home/n00b/test/SpriteShapeTest/main.bas";
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Constraint/main.bas";
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Simple 3D Platformer/main.bas";
//rc_filename = "/home/n00b/Programs/RCBasic_v401_Linux64/examples/Simple_3D_Platformer/main.bas";
//DEBUG END
//enable_presets = true;
@@ -957,7 +957,7 @@ int main(int argc, char * argv[])
if(rc_filename.compare("--version")==0)
{
cout << "RCBASIC Compiler v4.2a" << endl;
cout << "RCBASIC Compiler v4.2" << endl;
return 0;
}

View File

@@ -749,6 +749,9 @@ void init_embedded_functions()
embed_function("SetAntiAliasMode", ID_TYPE_SUB);
add_embedded_arg("aa_mode", ID_TYPE_NUM);
embed_function("GetAntiAliasMode", ID_TYPE_FN_NUM);
embed_function("ConvertToNormalMap", ID_TYPE_SUB);
add_embedded_arg("img_id", ID_TYPE_NUM);
add_embedded_arg("amp", ID_TYPE_NUM);
embed_function("InKey", ID_TYPE_FN_NUM);
embed_function("Key", ID_TYPE_FN_NUM);
add_embedded_arg("key_code", ID_TYPE_NUM);
@@ -1085,6 +1088,7 @@ void init_embedded_functions()
embed_function("Runtime$", ID_TYPE_FN_STR);
embed_function("NumCPUs", ID_TYPE_FN_NUM);
embed_function("SystemRam", ID_TYPE_FN_NUM);
embed_function("GetGPUInfo$", ID_TYPE_FN_STR);
embed_function("DimMatrix", ID_TYPE_FN_NUM);
add_embedded_arg("m_rows", ID_TYPE_NUM);
add_embedded_arg("m_cols", ID_TYPE_NUM);
@@ -2102,6 +2106,7 @@ void init_embedded_functions()
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("ActorExists", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("CreateProjectorActor", ID_TYPE_FN_NUM);
embed_function("CreateActorAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("start_frame", ID_TYPE_NUM);
@@ -2866,6 +2871,12 @@ void init_embedded_functions()
add_embedded_arg("pixelFog", ID_TYPE_BYREF_NUM);
add_embedded_arg("rangeFog", ID_TYPE_BYREF_NUM);
embed_function("ClearScene", ID_TYPE_SUB);
embed_function("SetSceneShadowColor", ID_TYPE_SUB);
add_embedded_arg("color", ID_TYPE_NUM);
embed_function("GetSceneShadowColor", ID_TYPE_FN_NUM);
embed_function("SetSceneAmbientColor", ID_TYPE_SUB);
add_embedded_arg("color", ID_TYPE_NUM);
embed_function("GetSceneAmbientColor", ID_TYPE_FN_NUM);
embed_function("startParticleEmitter", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("stopParticleEmitter", ID_TYPE_SUB);
@@ -3104,6 +3115,21 @@ 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("SetProjectorTarget", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
embed_function("GetProjectorTarget", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
embed_function("SetProjectorFOV", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("fov", ID_TYPE_NUM);
embed_function("GetProjectorFOV", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("createMaterial", ID_TYPE_FN_NUM);
embed_function("deleteMaterial", ID_TYPE_SUB);
add_embedded_arg("material_id", ID_TYPE_NUM);
@@ -3260,6 +3286,25 @@ void init_embedded_functions()
add_embedded_arg("material", ID_TYPE_NUM);
embed_function("MaterialExists", ID_TYPE_FN_NUM);
add_embedded_arg("material", ID_TYPE_NUM);
embed_function("NumMaterialConstants", ID_TYPE_FN_NUM);
add_embedded_arg("material_type", ID_TYPE_NUM);
embed_function("GetMaterialConstantName$", ID_TYPE_FN_STR);
add_embedded_arg("material_type", ID_TYPE_NUM);
add_embedded_arg("index", ID_TYPE_NUM);
embed_function("SetMaterialConstant", ID_TYPE_SUB);
add_embedded_arg("material", ID_TYPE_NUM);
add_embedded_arg("m_constant$", ID_TYPE_STR);
add_embedded_arg("n1", ID_TYPE_NUM);
add_embedded_arg("n2", ID_TYPE_NUM);
add_embedded_arg("n3", ID_TYPE_NUM);
add_embedded_arg("n4", ID_TYPE_NUM);
embed_function("GetMaterialConstant", ID_TYPE_SUB);
add_embedded_arg("material", ID_TYPE_NUM);
add_embedded_arg("m_constant$", ID_TYPE_STR);
add_embedded_arg("n1", ID_TYPE_BYREF_NUM);
add_embedded_arg("n2", ID_TYPE_BYREF_NUM);
add_embedded_arg("n3", ID_TYPE_BYREF_NUM);
add_embedded_arg("n4", ID_TYPE_BYREF_NUM);
}
void init_embedded_types()

Binary file not shown.

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1742442082 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
1744257370 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
<iostream>
<stack>
<vector>
@@ -14,7 +14,7 @@
"env_resolve.h"
"identifier.h"
1742438422 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
1744318795 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
<iostream>
<string>
<cctype>
@@ -54,7 +54,7 @@
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
<inttypes.h>
1742442075 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
1744257290 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
"identifier.h"
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h

View File

@@ -2,43 +2,24 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="main.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28572" topLine="811" />
</Cursor>
<Folding>
<Collapse line="305" />
<Collapse line="362" />
</Folding>
</File>
<File name="env_resolve.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="615" topLine="32" />
</Cursor>
</File>
<File name="constants.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="tokenizer.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="50994" topLine="1243" />
</Cursor>
</File>
<File name="rc_utility.h" open="0" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1747" topLine="35" />
</Cursor>
</File>
<File name="identifier.h" open="0" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="main.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9544" topLine="341" />
<Cursor1 position="28904" topLine="909" />
</Cursor>
</File>
<File name="rc_global.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_builtin.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13014" topLine="163" />
<Cursor1 position="112317" topLine="2509" />
</Cursor>
</File>
<File name="constants.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_vm_asm.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -54,14 +35,29 @@
<Collapse line="6341" />
</Folding>
</File>
<File name="rc_builtin.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="112317" topLine="2509" />
</Cursor>
</File>
<File name="keywords.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="105" topLine="17" />
</Cursor>
</File>
<File name="identifier.h" open="0" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9544" topLine="341" />
</Cursor>
</File>
<File name="tokenizer.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="46887" topLine="1127" />
</Cursor>
</File>
<File name="env_resolve.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="615" topLine="32" />
</Cursor>
</File>
<File name="rc_global.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13014" topLine="163" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@@ -743,6 +743,9 @@ add_embedded_arg("v", ID_TYPE_NUM);
embed_function("SetAntiAliasMode", ID_TYPE_SUB);
add_embedded_arg("aa_mode", ID_TYPE_NUM);
embed_function("GetAntiAliasMode", ID_TYPE_FN_NUM);
embed_function("ConvertToNormalMap", ID_TYPE_SUB);
add_embedded_arg("img_id", ID_TYPE_NUM);
add_embedded_arg("amp", ID_TYPE_NUM);
embed_function("InKey", ID_TYPE_FN_NUM);
embed_function("Key", ID_TYPE_FN_NUM);
add_embedded_arg("key_code", ID_TYPE_NUM);
@@ -1079,6 +1082,7 @@ add_embedded_arg("msg$", ID_TYPE_STR);
embed_function("Runtime$", ID_TYPE_FN_STR);
embed_function("NumCPUs", ID_TYPE_FN_NUM);
embed_function("SystemRam", ID_TYPE_FN_NUM);
embed_function("GetGPUInfo$", ID_TYPE_FN_STR);
embed_function("DimMatrix", ID_TYPE_FN_NUM);
add_embedded_arg("m_rows", ID_TYPE_NUM);
add_embedded_arg("m_cols", ID_TYPE_NUM);
@@ -2096,6 +2100,7 @@ embed_function("RemoveActorShadow", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("ActorExists", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("CreateProjectorActor", ID_TYPE_FN_NUM);
embed_function("CreateActorAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("start_frame", ID_TYPE_NUM);
@@ -2860,6 +2865,12 @@ add_embedded_arg("density", ID_TYPE_BYREF_NUM);
add_embedded_arg("pixelFog", ID_TYPE_BYREF_NUM);
add_embedded_arg("rangeFog", ID_TYPE_BYREF_NUM);
embed_function("ClearScene", ID_TYPE_SUB);
embed_function("SetSceneShadowColor", ID_TYPE_SUB);
add_embedded_arg("color", ID_TYPE_NUM);
embed_function("GetSceneShadowColor", ID_TYPE_FN_NUM);
embed_function("SetSceneAmbientColor", ID_TYPE_SUB);
add_embedded_arg("color", ID_TYPE_NUM);
embed_function("GetSceneAmbientColor", ID_TYPE_FN_NUM);
embed_function("startParticleEmitter", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("stopParticleEmitter", ID_TYPE_SUB);
@@ -3098,6 +3109,21 @@ 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("SetProjectorTarget", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
embed_function("GetProjectorTarget", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
embed_function("SetProjectorFOV", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("fov", ID_TYPE_NUM);
embed_function("GetProjectorFOV", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("createMaterial", ID_TYPE_FN_NUM);
embed_function("deleteMaterial", ID_TYPE_SUB);
add_embedded_arg("material_id", ID_TYPE_NUM);
@@ -3254,3 +3280,22 @@ add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("material", ID_TYPE_NUM);
embed_function("MaterialExists", ID_TYPE_FN_NUM);
add_embedded_arg("material", ID_TYPE_NUM);
embed_function("NumMaterialConstants", ID_TYPE_FN_NUM);
add_embedded_arg("material_type", ID_TYPE_NUM);
embed_function("GetMaterialConstantName$", ID_TYPE_FN_STR);
add_embedded_arg("material_type", ID_TYPE_NUM);
add_embedded_arg("index", ID_TYPE_NUM);
embed_function("SetMaterialConstant", ID_TYPE_SUB);
add_embedded_arg("material", ID_TYPE_NUM);
add_embedded_arg("m_constant$", ID_TYPE_STR);
add_embedded_arg("n1", ID_TYPE_NUM);
add_embedded_arg("n2", ID_TYPE_NUM);
add_embedded_arg("n3", ID_TYPE_NUM);
add_embedded_arg("n4", ID_TYPE_NUM);
embed_function("GetMaterialConstant", ID_TYPE_SUB);
add_embedded_arg("material", ID_TYPE_NUM);
add_embedded_arg("m_constant$", ID_TYPE_STR);
add_embedded_arg("n1", ID_TYPE_BYREF_NUM);
add_embedded_arg("n2", ID_TYPE_BYREF_NUM);
add_embedded_arg("n3", ID_TYPE_BYREF_NUM);
add_embedded_arg("n4", ID_TYPE_BYREF_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -769,6 +769,9 @@ case FN_SetAntiAliasMode: //Sub Procedure
case FN_GetAntiAliasMode: //Number Function
rc_push_num(rc_getAntiAliasMode( ));
break;
case FN_ConvertToNormalMap: //Sub Procedure
rc_convertToNormalMap( CONVERTTONORMALMAP_IMG_ID, CONVERTTONORMALMAP_AMP );
break;
case FN_InKey: //Number Function
rc_push_num(rc_inKey( ));
break;
@@ -1208,6 +1211,9 @@ case FN_NumCPUs: //Number Function
case FN_SystemRam: //Number Function
rc_push_num(rc_intern_systemRam( ));
break;
case FN_GetGPUInfo$: //String Function
rc_push_str(rc_getGPUInfo( ));
break;
case FN_DimMatrix: //Number Function
rc_push_num(rc_dimMatrix( DIMMATRIX_M_ROWS, DIMMATRIX_M_COLS ));
break;
@@ -2102,6 +2108,9 @@ case FN_RemoveActorShadow: //Sub Procedure
case FN_ActorExists: //Number Function
rc_push_num(rc_actorExists( ACTOREXISTS_ACTOR ));
break;
case FN_CreateProjectorActor: //Number Function
rc_push_num(rc_createProjectorActor( ));
break;
case FN_CreateActorAnimation: //Number Function
rc_push_num(rc_createActorAnimation( CREATEACTORANIMATION_ACTOR, CREATEACTORANIMATION_START_FRAME, CREATEACTORANIMATION_END_FRAME, CREATEACTORANIMATION_SPEED ));
break;
@@ -2741,6 +2750,18 @@ case FN_GetSceneFog: //Sub Procedure
case FN_ClearScene: //Sub Procedure
rc_clearScene( );
break;
case FN_SetSceneShadowColor: //Sub Procedure
rc_setSceneShadowColor( SETSCENESHADOWCOLOR_COLOR );
break;
case FN_GetSceneShadowColor: //Number Function
rc_push_num(rc_getSceneShadowColor( ));
break;
case FN_SetSceneAmbientColor: //Sub Procedure
rc_setSceneAmbientColor( SETSCENEAMBIENTCOLOR_COLOR );
break;
case FN_GetSceneAmbientColor: //Number Function
rc_push_num(rc_getSceneAmbientColor( ));
break;
case FN_startParticleEmitter: //Sub Procedure
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR );
break;
@@ -2960,6 +2981,18 @@ case FN_SetTerrainCameraRotationDelta: //Sub Procedure
case FN_SetTerrainPatchLOD: //Sub Procedure
rc_setTerrainPatchLOD( SETTERRAINPATCHLOD_ACTOR, SETTERRAINPATCHLOD_PATCHX, SETTERRAINPATCHLOD_PATCHZ, SETTERRAINPATCHLOD_LOD );
break;
case FN_SetProjectorTarget: //Sub Procedure
rc_setProjectorTarget( SETPROJECTORTARGET_ACTOR, SETPROJECTORTARGET_X, SETPROJECTORTARGET_Y, SETPROJECTORTARGET_Z );
break;
case FN_GetProjectorTarget: //Sub Procedure
rc_getProjectorTarget( GETPROJECTORTARGET_ACTOR, &GETPROJECTORTARGET_X, &GETPROJECTORTARGET_Y, &GETPROJECTORTARGET_Z );
break;
case FN_SetProjectorFOV: //Sub Procedure
rc_setProjectorFOV( SETPROJECTORFOV_ACTOR, SETPROJECTORFOV_FOV );
break;
case FN_GetProjectorFOV: //Number Function
rc_push_num(rc_getProjectorFOV( GETPROJECTORFOV_ACTOR ));
break;
case FN_createMaterial: //Number Function
rc_push_num(rc_createMaterial( ));
break;
@@ -3137,3 +3170,15 @@ case FN_getActorMaterialType: //Number Function
case FN_MaterialExists: //Number Function
rc_push_num(rc_materialExists( MATERIALEXISTS_MATERIAL ));
break;
case FN_NumMaterialConstants: //Number Function
rc_push_num(rc_numMaterialConstants( NUMMATERIALCONSTANTS_MATERIAL_TYPE ));
break;
case FN_GetMaterialConstantName$: //String Function
rc_push_str(rc_getMaterialConstantName( GETMATERIALCONSTANTNAME$_MATERIAL_TYPE, GETMATERIALCONSTANTNAME$_INDEX ));
break;
case FN_SetMaterialConstant: //Sub Procedure
rc_setMaterialConstant( SETMATERIALCONSTANT_MATERIAL, SETMATERIALCONSTANT_M_CONSTANT$, SETMATERIALCONSTANT_N1, SETMATERIALCONSTANT_N2, SETMATERIALCONSTANT_N3, SETMATERIALCONSTANT_N4 );
break;
case FN_GetMaterialConstant: //Sub Procedure
rc_getMaterialConstant( GETMATERIALCONSTANT_MATERIAL, GETMATERIALCONSTANT_M_CONSTANT$, &GETMATERIALCONSTANT_N1, &GETMATERIALCONSTANT_N2, &GETMATERIALCONSTANT_N3, &GETMATERIALCONSTANT_N4 );
break;

View File

@@ -1112,8 +1112,30 @@ string rc_keywordToken(string sline)
return "<num>22";
else if(sline.compare("MATERIAL_TYPE_ONETEXTURE_BLEND")==0)
return "<num>23";
else if(sline.compare("MATERIAL_TYPE_FORCE_32BIT")==0)
return "<num>24";
else if(sline.compare("FX_MATERIAL_TYPE_NORMAL_BLEND")==0)
return "<num>128";
else if(sline.compare("FX_MATERIAL_TYPE_REFRACTION")==0)
return "<num>129";
else if(sline.compare("FX_MATERIAL_TYPE_REFRACTION2")==0)
return "<num>130";
else if(sline.compare("FX_MATERIAL_TYPE_GOOCH")==0)
return "<num>131";
else if(sline.compare("FX_MATERIAL_TYPE_PLASTIC")==0)
return "<num>132";
else if(sline.compare("FX_MATERIAL_TYPE_TANGENT")==0)
return "<num>133";
else if(sline.compare("FX_MATERIAL_TYPE_SPEAKER")==0)
return "<num>134";
else if(sline.compare("FX_MATERIAL_TYPE_PHONG_TEXTURE")==0)
return "<num>135";
else if(sline.compare("FX_MATERIAL_TYPE_STYLE")==0)
return "<num>136";
else if(sline.compare("FX_MATERIAL_TYPE_STYLE2")==0)
return "<num>137";
else if(sline.compare("FX_MATERIAL_TYPE_STYLE3")==0)
return "<num>138";
else if(sline.compare("FX_MATERIAL_TYPE_STYLE4")==0)
return "<num>139";
else if(sline.compare("BLEND_MODE_NONE")==0)
return "<num>0";
else if(sline.compare("BLEND_MODE_ADD")==0)