Merge pull request #54 from n00b87/v401_dev

V401 dev
This commit is contained in:
Rodney Cunningham
2025-01-12 19:46:52 -05:00
committed by GitHub
56 changed files with 7103 additions and 4263 deletions

190
RCBasic_Dev_Setup.bat Normal file
View File

@@ -0,0 +1,190 @@
cd ..
set DEV_BASE_DIR=%CD%
git clone --branch sdl2_device https://github.com/n00b87/RCIrrlicht.git
git clone --branch irrlicht_loader https://github.com/n00b87/an8-parser.git
git clone https://github.com/n00b87/RCDocs.git
git clone https://github.com/n00b87/IrrTheora.git
git clone https://github.com/n00b87/irrBullet.git
git clone --branch "VER-2-13-3" https://github.com/freetype/freetype.git
curl -Lo SDL2-devel-2.30.10-mingw.zip "https://github.com/libsdl-org/SDL/releases/download/release-2.30.10/SDL2-devel-2.30.10-mingw.zip"
tar -xf SDL2-devel-2.30.10-mingw.zip
rename SDL2-2.30.10 SDL2-dev
curl -Lo SDL2_image-devel-2.8.3-mingw.zip "https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.3/SDL2_image-devel-2.8.3-mingw.zip"
tar -xf SDL2_image-devel-2.8.3-mingw.zip
rename SDL2_image-2.8.3 SDL2_image-dev
curl -Lo SDL2_mixer-devel-2.8.0-mingw.zip "https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.8.0/SDL2_mixer-devel-2.8.0-mingw.zip"
tar -xf SDL2_mixer-devel-2.8.0-mingw.zip
rename SDL2_mixer-2.8.0 SDL2_mixer-dev
curl -Lo SDL2_net-devel-2.2.0-mingw.zip "https://github.com/libsdl-org/SDL_net/releases/download/release-2.2.0/SDL2_net-devel-2.2.0-mingw.zip"
tar -xf SDL2_net-devel-2.2.0-mingw.zip
rename SDL2_net-2.2.0 SDL2_net-dev
git clone --branch "v1.1.1" https://github.com/xiph/theora.git
git clone --branch "v1.1.1" https://github.com/xiph/theora.git theora64
git clone --branch "v1.3.7" https://github.com/xiph/vorbis.git
git clone --branch "v1.3.5" https://github.com/xiph/ogg.git
git clone --branch "v2.4.2" https://github.com/erincatto/box2d.git
git clone --branch "3.25" https://github.com/bulletphysics/bullet3.git
cd ogg
set TMP_PATH=%PATH%
set PATH=%MINGW32%\bin;%PATH%
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make
set PATH=%TMP_PATH%
cd ..
set PATH=%MINGW64%\bin;%PATH%
mkdir build64
cd build64
cmake -G "MinGW Makefiles" ..
mingw32-make
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
cd vorbis
set PATH=%MINGW32%\bin;%PATH%
mkdir build
cd build
cmake -G "MinGW Makefiles" .. -DOGG_INCLUDE_DIR=%DEV_BASE_DIR%\ogg\include -DOGG_LIBRARY=%DEV_BASE_DIR%\ogg\build\libogg.a
mingw32-make
set PATH=%TMP_PATH%
cd ..
set PATH=%MINGW64%\bin;%PATH%
mkdir build64
cd build64
cmake -G "MinGW Makefiles" .. -DOGG_INCLUDE_DIR=%DEV_BASE_DIR%\ogg\include -DOGG_LIBRARY=%DEV_BASE_DIR%\ogg\build64\libogg.a
mingw32-make
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
set PATH=%MINGW32%\bin;%PATH%
cd theora\win32\xmingw32
set bash="C:\Program Files\Git\bin\sh.exe"
%bash% --login -i -c "export dev_dir=$PWD/../../.. && export C_INCLUDE_PATH=$dev_dir/ogg/include && export C_INCLUDE_PATH=$dev_dir/vorbis/include:$C_INCLUDE_PATH && export LIBRARY_PATH=$dev_dir/ogg/build:$LIBRARY_PATH && export LIBRARY_PATH=$dev_dir/vorbis/build/lib:$LIBRARY_PATH && mingw32-make libtheoradec.dll"
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
set PATH=%MINGW64%\bin;%PATH%
cd theora64\win32\xmingw32
set bash="C:\Program Files\Git\bin\sh.exe"
%bash% --login -i -c "export dev_dir=$PWD/../../.. && export C_INCLUDE_PATH=$dev_dir/ogg/include && export C_INCLUDE_PATH=$dev_dir/vorbis/include:$C_INCLUDE_PATH && export LIBRARY_PATH=$dev_dir/ogg/build64:$LIBRARY_PATH && export LIBRARY_PATH=$dev_dir/vorbis/build64/lib:$LIBRARY_PATH && mingw32-make libtheoradec.dll"
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
cd box2d
set PATH=%MINGW32%\bin;%PATH%
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make
set PATH=%TMP_PATH%
cd ..
set PATH=%MINGW64%\bin;%PATH%
mkdir build64
cd build64
cmake -G "MinGW Makefiles" ..
mingw32-make
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
cd bullet3
cd src
mklink /J bullet %CD%
cd ..
set PATH=%MINGW32%\bin;%PATH%
mkdir build
cd build
cmake -G "MinGW Makefiles" .. -DBUILD_OPENGL3_DEMOS=OFF -DBUILD_BULLET2_DEMOS=OFF -DBUILD_UNIT_TESTS=OFF -DUSE_GRAPHICAL_BENCHMARK=OFF
mingw32-make
set PATH=%TMP_PATH%
cd ..
set PATH=%MINGW64%\bin;%PATH%
mkdir build64
cd build64
cmake -G "MinGW Makefiles" .. -DBUILD_OPENGL3_DEMOS=OFF -DBUILD_BULLET2_DEMOS=OFF -DBUILD_UNIT_TESTS=OFF -DUSE_GRAPHICAL_BENCHMARK=OFF
mingw32-make
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
cd freetype
cd include
mklink /J freetype2 %CD%
cd ..
set PATH=%MINGW32%\bin;%PATH%
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make
set PATH=%TMP_PATH%
cd ..
set PATH=%MINGW64%\bin;%PATH%
mkdir build64
cd build64
cmake -G "MinGW Makefiles" ..
mingw32-make
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
cd RCIrrlicht\include
del IrrCompileConfig.h
rename IrrCompileConfig_win.h IrrCompileConfig.h
cd %DEV_BASE_DIR%
cd RCIrrlicht\source\Irrlicht
set PATH=%CODEBLOCKS_DIR%;%PATH%
codeblocks --clean --target="Win32 - Release - accurate math - dll" Irrlicht-gcc.cbp
codeblocks --clean --target="Release64 - accurate math - dll" Irrlicht-gcc.cbp
codeblocks --build --target="Win32 - Release - accurate math - dll" Irrlicht-gcc.cbp
codeblocks --build --target="Release64 - accurate math - dll" Irrlicht-gcc.cbp
set PATH=%TMP_PATH%
cd %DEV_BASE_DIR%
echo ------------------------
echo Setup Complete

39
RCBasic_Dev_Setup.sh Normal file
View File

@@ -0,0 +1,39 @@
sudo apt update
sudo apt install git
sudo apt install make
sudo apt install cmake
sudo apt install g++
sudo apt install geany
sudo apt install spice-webdavd spice-client-gtk
sudo apt install codeblocks
sudo apt install python3
sudo apt install openjdk-21-jdk
cd ..
git clone --branch "v2.4.2" https://github.com/erincatto/box2d.git
git clone --branch "3.21" https://github.com/bulletphysics/bullet3.git
sudo apt install libsdl2-dev
sudo apt install libsdl2-image-dev
sudo apt install libsdl2-mixer-dev
sudo apt install libsdl2-net-dev
sudo apt install libogg-dev
sudo apt install libvorbis-dev
sudo apt install libtheora-dev
git clone git@github.com:n00b87/RCBASIC4.git
git clone git@github.com:n00b87/an8-parser.git --branch irrlicht_loader
git clone git@github.com:n00b87/IrrTheora.git
git clone git@github.com:n00b87/RCBasic-Studio.git
git clone git@github.com:n00b87/RCIrrlicht.git --branch sdl2_device
git clone git@github.com:n00b87/RCIrrlicht.git RCIrrlicht_em --branch ogles2_sdl2
git clone git@github.com:n00b87/irrBullet.git
git clone git@github.com:n00b87/RCDocs.git
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install 3.1.72
./emsdk activate 3.1.72

View File

@@ -1,2 +1,15 @@
# RCBASIC4
Version 4 of the RCBasic Programming Language Compiler and Runtime
## Setup Build Environment
### On Windows
1. Install the following software: Codeblocks, MinGW32, MinGW64, Git, and CMake
2. Set MINGW32 and MINGW64 environment variables to the root of each tool
3. Set CODEBLOCKS_DIR to Codeblocks root
4. Run RCBasic_Dev_Setup.bat
### On Linux
1. Run RCBasic_Dev_Setup.sh
NOTE: The linux setup script is still a work in progress.

View File

@@ -487,12 +487,16 @@ ul, #myUL {
<li><a href="setmouserelative.html" target="main">SetMouseRelative</a></li>
<li><a href="setwindowvsync.html" target="main">SetWindowVSync</a></li>
<li><a href="flashwindow.html" target="main">FlashWindow</a></li>
<li><a href="windowisgrabbed.html" target="main">WindowIsGrabbed</a></li>
<li><a href="preupdate.html" target="main">PreUpdate</a></li>
<li><a href="setfps.html" target="main">SetFPS</a></li>
</ul>
</li>
@@ -657,6 +661,10 @@ ul, #myUL {
<li><a href="drawimage_flipex.html" target="main">DrawImage_FlipEx</a></li>
<li><a href="setantialiasmode.html" target="main">SetAntiAliasMode</a></li>
<li><a href="getantialiasmode.html" target="main">GetAntiAliasMode</a></li>
</ul>
</li>
@@ -1221,6 +1229,16 @@ ul, #myUL {
<li><a href="getspritesource.html" target="main">GetSpriteSource</a></li>
<li><a href="spriteexists.html" target="main">SpriteExists</a></li>
<li><a href="setspritecolormod.html" target="main">SetSpriteColorMod</a></li>
<li><a href="setspritealpha.html" target="main">SetSpriteAlpha</a></li>
<li><a href="getspritecolormod.html" target="main">GetSpriteColorMod</a></li>
<li><a href="getspritealpha.html" target="main">GetSpriteAlpha</a></li>
</ul>
</li>
@@ -1519,6 +1537,8 @@ ul, #myUL {
<li><a href="deletejoint.html" target="main">DeleteJoint</a></li>
<li><a href="jointexists.html" target="main">JointExists</a></li>
</ul>
</li>

View File

@@ -0,0 +1,4 @@
#title GetAntiAliasMode [RCBasic Doc]
#header function GetAntiAliasMode( )

View File

@@ -0,0 +1,4 @@
#title GetSpriteAlpha [RCBasic Doc]
#header Function GetSpriteAlpha(sprite)

View File

@@ -0,0 +1,4 @@
#title GetSpriteColorMod [RCBasic Doc]
#header Function GetSpriteColorMod(sprite)

View File

@@ -0,0 +1,4 @@
#title JointExists [RCBasic Doc]
#header function JointExists( joint_id )

View File

@@ -0,0 +1,4 @@
#title SetAntiAliasMode [RCBasic Doc]
#header sub SetAntiAliasMode( aa_mode )

4
doc/files/setfps.txt Normal file
View File

@@ -0,0 +1,4 @@
#title SetFPS [RCBasic Doc]
#header Sub SetFPS(fps_val)

View File

@@ -0,0 +1,4 @@
#title SetSpriteAlpha [RCBasic Doc]
#header Sub SetSpriteAlpha(sprite, alpha)

View File

@@ -7,7 +7,7 @@
</head>
<body>
<p><h2>Sub SetSpriteAnimation(sprite, animation) </h2></p>
<p><h2>Sub SetSpriteAnimation(sprite, animation, num_loops) </h2></p>
<p>
Sets the current animation for a sprite
</p>

View File

@@ -1,5 +1,5 @@
#title SetSpriteAnimation [RCBasic Doc]
#header Sub SetSpriteAnimation(sprite, animation)
#header Sub SetSpriteAnimation(sprite, animation, num_loops)
Sets the current animation for a sprite

View File

@@ -0,0 +1,4 @@
#title SetSpriteColorMod [RCBasic Doc]
#header Sub SetSpriteColorMod(sprite, color)

View File

@@ -0,0 +1,4 @@
#title SpriteExists [RCBasic Doc]
#header Function SpriteExists(sprite)

View File

@@ -169,9 +169,11 @@ rc_restoreWindow( )
rc_grabInput( GRABINPUT_FLAG )
rc_setWindowAlwaysOnTop( SETWINDOWALWAYSONTOP_FLAG )
rc_setMouseRelative( SETMOUSERELATIVE_FLAG )
rc_setWindowVSync( SETWINDOWVSYNC_FLAG )
rc_flashWindow( FLASHWINDOW_FLAG )
rc_windowIsGrabbed( )
rc_preUpdate( )
rc_setFPS( SETFPS_FPS_VAL )
rc_canvasOpen( OPENCANVAS_W, OPENCANVAS_H, OPENCANVAS_VIEWPORT_X, OPENCANVAS_VIEWPORT_Y, OPENCANVAS_VIEWPORT_W, OPENCANVAS_VIEWPORT_H, OPENCANVAS_MODE )
rc_canvasClose( CLOSECANVAS_C_NUM )
rc_canvasOpen3D( OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE )
@@ -242,6 +244,8 @@ rc_drawImage_Rotozoom( DRAWIMAGE_ROTOZOOM_SLOT, DRAWIMAGE_ROTOZOOM_X, DRAWIMAG
rc_drawImage_RotozoomEx( DRAWIMAGE_ROTOZOOMEX_SLOT, DRAWIMAGE_ROTOZOOMEX_X, DRAWIMAGE_ROTOZOOMEX_Y, DRAWIMAGE_ROTOZOOMEX_SRC_X, DRAWIMAGE_ROTOZOOMEX_SRC_Y, DRAWIMAGE_ROTOZOOMEX_SRC_W, DRAWIMAGE_ROTOZOOMEX_SRC_H, DRAWIMAGE_ROTOZOOMEX_ANGLE, DRAWIMAGE_ROTOZOOMEX_ZX, DRAWIMAGE_ROTOZOOMEX_ZY )
rc_drawImage_Flip( DRAWIMAGE_FLIP_SLOT, DRAWIMAGE_FLIP_X, DRAWIMAGE_FLIP_Y, DRAWIMAGE_FLIP_H, DRAWIMAGE_FLIP_V )
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_inKey( )
rc_key( KEY_KEY_CODE )
rc_waitKey( )
@@ -476,6 +480,11 @@ rc_setSpriteType( SETSPRITETYPE_SPRITE, SETSPRITETYPE_SPRITE_TYPE )
rc_getSpriteType( GETSPRITETYPE_SPRITE )
rc_setSpriteSource( SETSPRITESOURCE_SPRITE, SETSPRITESOURCE_IMG )
rc_getSpriteSource( GETSPRITESOURCE_SPRITE )
rc_spriteExists( SPRITEEXISTS_SPRITE )
rc_setSpriteColorMod( SETSPRITECOLORMOD_SPRITE, SETSPRITECOLORMOD_COLOR )
rc_setSpriteAlpha( SETSPRITEALPHA_SPRITE, SETSPRITEALPHA_ALPHA )
rc_getSpriteColorMod( GETSPRITECOLORMOD_SPRITE )
rc_getSpriteAlpha( GETSPRITEALPHA_SPRITE )
rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED )
rc_setSpriteFrame( SETSPRITEFRAME_SPRITE, SETSPRITEFRAME_FRAME )
rc_getSpriteFrame( GETSPRITEFRAME_SPRITE )
@@ -613,6 +622,7 @@ rc_getJointAngle( GETJOINTANGLE_JOINT_ID )
rc_getJointLinearSpeed( GETJOINTLINEARSPEED_JOINT_ID )
rc_getJointAngularSpeed( GETJOINTANGULARSPEED_JOINT_ID )
rc_deleteJoint( DELETEJOINT_JOINT_ID )
rc_jointExists( JOINTEXISTS_JOINT_ID )
rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H )
rc_setTileAnimationLength( SETTILEANIMATIONLENGTH_TILESET, SETTILEANIMATIONLENGTH_BASE_TILE, SETTILEANIMATIONLENGTH_NUM_FRAMES )
rc_getTileAnimationLength( GETTILEANIMATIONLENGTH_TILESET, GETTILEANIMATIONLENGTH_BASE_TILE )

View File

@@ -27,3 +27,5 @@ sub DrawImage_Rotozoom(slot, x, y, angle, zx, zy)
sub DrawImage_RotozoomEx(slot, x, y, src_x, src_y, src_w, src_h, angle, zx, zy)
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( )

View File

@@ -66,3 +66,4 @@ function getJointAngle( joint_id)
function getJointLinearSpeed( joint_id)
function getJointAngularSpeed( joint_id)
Sub DeleteJoint( joint_id )
function JointExists( joint_id )

View File

@@ -24,3 +24,8 @@ Sub SetSpriteType(sprite, sprite_type)
Function GetSpriteType(sprite)
Sub SetSpriteSource(sprite, img)
Function GetSpriteSource(sprite)
Function SpriteExists(sprite)
Sub SetSpriteColorMod(sprite, color)
Sub SetSpriteAlpha(sprite, alpha)
Function GetSpriteColorMod(sprite)
Function GetSpriteAlpha(sprite)

View File

@@ -45,6 +45,8 @@ sub RestoreWindow( )
sub GrabInput(flag)
sub SetWindowAlwaysOnTop( flag )
sub SetMouseRelative(flag)
sub SetWindowVSync(flag)
function FlashWindow( flag )
function WindowIsGrabbed( )
Sub PreUpdate( )
Sub SetFPS(fps_val)

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();
@@ -919,9 +919,11 @@ int main(int argc, char * argv[])
bool clean_after_build = true;
//DEBUG START
//rc_filename = "/home/n00b/projects/bu/constraint_demo/main.bas";
//rc_filename = "/home/n00b/Music/Simple 3D Platformer/main.bas";
//rc_filename = "/home/n00b/projects/rcbasic_alpha3/test_project/main.bas";
//chdir("/home/n00b/Programs/RCBasic_v400_Linux64/examples/Spinning Axis");
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Spinning Axis/main.bas";
//rc_filename = "/home/n00b/Downloads/Tile Scrolling/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";
//DEBUG END
//enable_presets = true;
@@ -955,7 +957,7 @@ int main(int argc, char * argv[])
if(rc_filename.compare("--version")==0)
{
cout << "RCBASIC Compiler v4.0" << endl;
cout << "RCBASIC Compiler v4.1" << endl;
return 0;
}
@@ -989,6 +991,7 @@ int main(int argc, char * argv[])
//if(rcbasic_loadProgram("tst.bas"))
if(rcbasic_loadProgram(rc_filename))
{
//std::cout << "LOADED PROG" << std::endl;
if(!rcbasic_compile())
{
cout << "Compile Failed" << endl;

View File

@@ -1415,8 +1415,10 @@ bool pre_parse(int start_token = 0, int end_token = -1, int pp_flags, bool eval_
return false;
}
bool byref_isArray = (id[tmp_id].type == ID_TYPE_BYREF_USER && arg_count == 1);
if(arg_count != id[tmp_id].num_args)
if(arg_count != id[tmp_id].num_args && (!byref_isArray))
{
if(type_redim_flag)
{

View File

@@ -438,10 +438,14 @@ 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);
embed_function("PreUpdate", ID_TYPE_SUB);
embed_function("SetFPS", ID_TYPE_SUB);
add_embedded_arg("fps_val", ID_TYPE_NUM);
embed_function("OpenCanvas", ID_TYPE_FN_NUM);
add_embedded_arg("w", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
@@ -742,6 +746,9 @@ void init_embedded_functions()
add_embedded_arg("src_h", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
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("InKey", ID_TYPE_FN_NUM);
embed_function("Key", ID_TYPE_FN_NUM);
add_embedded_arg("key_code", ID_TYPE_NUM);
@@ -1384,6 +1391,18 @@ void init_embedded_functions()
add_embedded_arg("img", ID_TYPE_NUM);
embed_function("GetSpriteSource", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("SpriteExists", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("SetSpriteColorMod", ID_TYPE_SUB);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("color", ID_TYPE_NUM);
embed_function("SetSpriteAlpha", ID_TYPE_SUB);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("alpha", ID_TYPE_NUM);
embed_function("GetSpriteColorMod", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("GetSpriteAlpha", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("anim_length", ID_TYPE_NUM);
@@ -1831,6 +1850,8 @@ void init_embedded_functions()
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("DeleteJoint", ID_TYPE_SUB);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("JointExists", ID_TYPE_FN_NUM);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("CreateTileSet", ID_TYPE_FN_NUM);
add_embedded_arg("img_id", ID_TYPE_NUM);
add_embedded_arg("tile_w", ID_TYPE_NUM);

View File

@@ -1,43 +0,0 @@
embedded_functions.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/conio.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/arrays.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/math.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/strings.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/stacks.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/files.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/directories.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/datetime.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/window.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/canvas.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/prim2d.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/images.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/keyboard.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/audio.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/joystick.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/gfxconsole.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/text.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/touch.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/network.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/video.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/system.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/matrix.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/process.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/clipboard.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/textedit.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/sprites.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/sprite_animation.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/sprite_physics.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/joint2D.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/tilemaps.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/mesh.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_animation.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_physics.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/constraint3D.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/camera.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/scene.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/particles.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/lights.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/terrain.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/water.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/materials.bas

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1734137418 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
1735455479 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
<iostream>
<stack>
<vector>
@@ -14,7 +14,7 @@
"env_resolve.h"
"identifier.h"
1733593486 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
1735169600 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
<iostream>
<string>
<cctype>
@@ -25,39 +25,39 @@
"keywords.h"
"constants.h"
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_utility.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_utility.h
<fstream>
<sstream>
<ctype.h>
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_debug.h
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_debug.h
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/keywords.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_build/keywords.h
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/constants.h
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/constants.h
<vector>
1733777902 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
"tokenizer.h"
"identifier.h"
"rc_global.h"
"constants.h"
<inttypes.h>
1734138795 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
<inttypes.h>
<stack>
"rc_global.h"
"rc_utility.h"
"rc_debug.h"
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
<inttypes.h>
1733959765 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
1734919451 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
"identifier.h"
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
<iostream>
<fstream>
<inttypes.h>
@@ -66,7 +66,7 @@
<string>
<stdlib.h>
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/file_directory.h
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/file_directory.h
<sys/stat.h>
<sys/types.h>
<unistd.h>
@@ -77,7 +77,7 @@
<windows.h>
<winbase.h>
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_build/env_resolve.h
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/env_resolve.h
<winbase.h>
<cstdlib>

View File

@@ -2,83 +2,29 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<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="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="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="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>
<File name="constants.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<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="0" topLine="0" />
</Cursor>
</File>
<File name="parser.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="99035" topLine="1896" />
</Cursor>
<Folding>
<Collapse line="1718" />
<Collapse line="2063" />
<Collapse line="2147" />
<Collapse line="2179" />
<Collapse line="2243" />
<Collapse line="2280" />
<Collapse line="2314" />
<Collapse line="3294" />
<Collapse line="3440" />
<Collapse line="4645" />
<Collapse line="4804" />
<Collapse line="4883" />
<Collapse line="4917" />
<Collapse line="4976" />
<Collapse line="4996" />
<Collapse line="5015" />
<Collapse line="5079" />
<Collapse line="5221" />
<Collapse line="5369" />
<Collapse line="5392" />
<Collapse line="5458" />
<Collapse line="5522" />
<Collapse line="5542" />
<Collapse line="5587" />
<Collapse line="5676" />
<Collapse line="5707" />
<Collapse line="5858" />
<Collapse line="5889" />
<Collapse line="6309" />
<Collapse line="6320" />
<Collapse line="6345" />
<Collapse line="6878" />
</Folding>
</File>
<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="28770" topLine="910" />
</Cursor>
</File>
<File name="keywords.h" open="0" top="0" tabpos="9" 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="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="41970" topLine="1016" />
</Cursor>
</File>
<File name="rc_utility.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1747" topLine="56" />
</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" />
<Cursor1 position="46572" topLine="1213" />
</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">
@@ -86,9 +32,29 @@
<Cursor1 position="41761" topLine="1347" />
</Cursor>
</File>
<File name="identifier.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="parser.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="33082" topLine="992" />
<Cursor1 position="61118" topLine="1640" />
</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="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="identifier.h" open="0" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="525" topLine="5" />
</Cursor>
</File>
<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="29859" topLine="903" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="rcbasic_build" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="bin/Debug/rcbasic_build" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug/" />
<Option type="1" />
<Option compiler="mingw32" />
<Compiler>
<Add option="-g" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/include" />
</Compiler>
<Linker>
<Add option="-lmingw32 -lSDL2main -lSDL2" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/lib" />
</Linker>
</Target>
<Target title="Release">
<Option output="bin/Release/rcbasic_build" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="1" />
<Option compiler="mingw32" />
<Compiler>
<Add option="-O2" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/include" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lmingw32 -lSDL2main -lSDL2" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/lib" />
</Linker>
</Target>
<Target title="Release64">
<Option output="bin/Release64/rcbasic_build" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release64/" />
<Option type="1" />
<Option compiler="mingw64" />
<Compiler>
<Add option="-O2" />
<Add directory="../../SDL2-dev/x86_64-w64-mingw32/include" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lmingw32 -lSDL2main -lSDL2" />
<Add directory="../../SDL2-dev/x86_64-w64-mingw32/lib" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
<Add option="-fexceptions" />
</Compiler>
<Unit filename="main.cpp" />
<Extensions />
</Project>
</CodeBlocks_project_file>

View File

@@ -0,0 +1,524 @@
# depslib dependency file v1.0
1734515750 source:c:\dev\rcbasic4\rcbasic_build\main.cpp
<iostream>
<stack>
<vector>
<fstream>
<stdio.h>
<string>
"tokenizer.h"
"parser.h"
"rc_builtin.h"
"rc_vm_asm.h"
"file_directory.h"
"env_resolve.h"
"identifier.h"
1734515750 c:\dev\rcbasic4\rcbasic_build\tokenizer.h
<iostream>
<string>
<cctype>
<vector>
<SDL2/SDL.h>
"rc_utility.h"
"rc_debug.h"
"keywords.h"
"constants.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl.h
"SDL_main.h"
"SDL_stdinc.h"
"SDL_assert.h"
"SDL_atomic.h"
"SDL_audio.h"
"SDL_clipboard.h"
"SDL_cpuinfo.h"
"SDL_endian.h"
"SDL_error.h"
"SDL_events.h"
"SDL_filesystem.h"
"SDL_gamecontroller.h"
"SDL_guid.h"
"SDL_haptic.h"
"SDL_hidapi.h"
"SDL_hints.h"
"SDL_joystick.h"
"SDL_loadso.h"
"SDL_log.h"
"SDL_messagebox.h"
"SDL_metal.h"
"SDL_mutex.h"
"SDL_power.h"
"SDL_render.h"
"SDL_rwops.h"
"SDL_sensor.h"
"SDL_shape.h"
"SDL_system.h"
"SDL_thread.h"
"SDL_timer.h"
"SDL_version.h"
"SDL_video.h"
"SDL_locale.h"
"SDL_misc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_main.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_stdinc.h
"SDL_config.h"
<sys/types.h>
<stdio.h>
<stdlib.h>
<stddef.h>
<stdarg.h>
<stdlib.h>
<malloc.h>
<stddef.h>
<stdarg.h>
<memory.h>
<string.h>
<strings.h>
<wchar.h>
<inttypes.h>
<stdint.h>
<ctype.h>
<math.h>
<float.h>
<alloca.h>
<malloc.h>
<malloc.h>
<malloc.h>
<stdlib.h>
<sal.h>
"begin_code.h"
<stdlib.h>
<string.h>
<stdio.h>
"close_code.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config.h
"SDL_platform.h"
"SDL_config_windows.h"
"SDL_config_winrt.h"
"SDL_config_wingdk.h"
"SDL_config_xbox.h"
"SDL_config_macosx.h"
"SDL_config_iphoneos.h"
"SDL_config_android.h"
"SDL_config_os2.h"
"SDL_config_emscripten.h"
"SDL_config_ngage.h"
"SDL_config_minimal.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_platform.h
<AvailabilityMacros.h>
<TargetConditionals.h>
<TargetConditionals.h>
<winapifamily.h>
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\begin_code.h
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\close_code.h
1716767039 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_windows.h
"SDL_platform.h"
<winsdkver.h>
<sdkddkver.h>
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_winrt.h
"SDL_platform.h"
<sdkddkver.h>
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_wingdk.h
"SDL_platform.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_xbox.h
"SDL_platform.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_macosx.h
"SDL_platform.h"
<AvailabilityMacros.h>
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_iphoneos.h
"SDL_platform.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_android.h
"SDL_platform.h"
<stdarg.h>
1716868864 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_os2.h
"SDL_platform.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_emscripten.h
"SDL_platform.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_ngage.h
"SDL_platform.h"
1704143989 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_config_minimal.h
"SDL_platform.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_assert.h
"SDL_stdinc.h"
"begin_code.h"
<signal.h>
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_atomic.h
"SDL_stdinc.h"
"SDL_platform.h"
"begin_code.h"
<sys/cpuinline.h>
<mbarrier.h>
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_audio.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_endian.h"
"SDL_mutex.h"
"SDL_thread.h"
"SDL_rwops.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_error.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_endian.h
"SDL_stdinc.h"
<intrin.h>
<endian.h>
<endian.h>
<sys/endian.h>
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_mutex.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_thread.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_atomic.h"
"SDL_mutex.h"
<process.h>
<process.h>
<stdlib.h>
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_rwops.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_clipboard.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_cpuinfo.h
"SDL_stdinc.h"
<intrin.h>
<intrin.h>
<arm_neon.h>
<altivec.h>
<arm_neon.h>
<armintr.h>
<arm_neon.h>
<arm64intr.h>
<arm64_neon.h>
<mm3dnow.h>
<lsxintrin.h>
<lasxintrin.h>
<immintrin.h>
<mmintrin.h>
<xmmintrin.h>
<emmintrin.h>
<pmmintrin.h>
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_events.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_video.h"
"SDL_keyboard.h"
"SDL_mouse.h"
"SDL_joystick.h"
"SDL_gamecontroller.h"
"SDL_quit.h"
"SDL_gesture.h"
"SDL_touch.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_video.h
"SDL_stdinc.h"
"SDL_pixels.h"
"SDL_rect.h"
"SDL_surface.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_pixels.h
"SDL_stdinc.h"
"SDL_endian.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_rect.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_pixels.h"
"SDL_rwops.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_surface.h
"SDL_stdinc.h"
"SDL_pixels.h"
"SDL_rect.h"
"SDL_blendmode.h"
"SDL_rwops.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_blendmode.h
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_keyboard.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_keycode.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_keycode.h
"SDL_stdinc.h"
"SDL_scancode.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_scancode.h
"SDL_stdinc.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_mouse.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_joystick.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_guid.h"
"SDL_mutex.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_guid.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_gamecontroller.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_rwops.h"
"SDL_sensor.h"
"SDL_joystick.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_sensor.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_quit.h
"SDL_stdinc.h"
"SDL_error.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_gesture.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_video.h"
"SDL_touch.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_touch.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_filesystem.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_haptic.h
"SDL_stdinc.h"
"SDL_error.h"
"SDL_joystick.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_hidapi.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_hints.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_loadso.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_log.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_messagebox.h
"SDL_stdinc.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_metal.h
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_power.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_render.h
"SDL_stdinc.h"
"SDL_rect.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_shape.h
"SDL_stdinc.h"
"SDL_pixels.h"
"SDL_rect.h"
"SDL_surface.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_system.h
"SDL_stdinc.h"
"SDL_keyboard.h"
"SDL_render.h"
"SDL_video.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_timer.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_version.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_locale.h
"SDL_stdinc.h"
"SDL_error.h"
"begin_code.h"
"close_code.h"
1733538930 c:\dev\sdl2-dev\i686-w64-mingw32\include\sdl2\sdl_misc.h
"SDL_stdinc.h"
"begin_code.h"
"close_code.h"
1734515750 c:\dev\rcbasic4\rcbasic_build\rc_utility.h
<fstream>
<sstream>
<ctype.h>
1734515750 c:\dev\rcbasic4\rcbasic_build\rc_debug.h
1734515750 c:\dev\rcbasic4\rcbasic_build\keywords.h
1734515750 c:\dev\rcbasic4\rcbasic_build\constants.h
<vector>
1734515750 c:\dev\rcbasic4\rcbasic_build\parser.h
"tokenizer.h"
"identifier.h"
"rc_global.h"
"constants.h"
<inttypes.h>
1734515750 c:\dev\rcbasic4\rcbasic_build\identifier.h
<inttypes.h>
<stack>
"rc_global.h"
"rc_utility.h"
"rc_debug.h"
1734515750 c:\dev\rcbasic4\rcbasic_build\rc_global.h
<inttypes.h>
1734515750 c:\dev\rcbasic4\rcbasic_build\rc_builtin.h
"identifier.h"
1734515750 c:\dev\rcbasic4\rcbasic_build\rc_vm_asm.h
<iostream>
<fstream>
<inttypes.h>
<vector>
<sstream>
<string>
<stdlib.h>
1734515750 c:\dev\rcbasic4\rcbasic_build\file_directory.h
<sys/stat.h>
<sys/types.h>
<unistd.h>
<dirent.h>
<stdlib.h>
<sys/param.h>
<tchar.h>
<windows.h>
<winbase.h>
1734515750 c:\dev\rcbasic4\rcbasic_build\env_resolve.h
<winbase.h>
<cstdlib>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Release64" />
<File name="main.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28428" topLine="897" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@@ -432,10 +432,14 @@ 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);
embed_function("PreUpdate", ID_TYPE_SUB);
embed_function("SetFPS", ID_TYPE_SUB);
add_embedded_arg("fps_val", ID_TYPE_NUM);
embed_function("OpenCanvas", ID_TYPE_FN_NUM);
add_embedded_arg("w", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
@@ -736,6 +740,9 @@ add_embedded_arg("src_w", ID_TYPE_NUM);
add_embedded_arg("src_h", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
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("InKey", ID_TYPE_FN_NUM);
embed_function("Key", ID_TYPE_FN_NUM);
add_embedded_arg("key_code", ID_TYPE_NUM);
@@ -1378,6 +1385,18 @@ add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("img", ID_TYPE_NUM);
embed_function("GetSpriteSource", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("SpriteExists", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("SetSpriteColorMod", ID_TYPE_SUB);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("color", ID_TYPE_NUM);
embed_function("SetSpriteAlpha", ID_TYPE_SUB);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("alpha", ID_TYPE_NUM);
embed_function("GetSpriteColorMod", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("GetSpriteAlpha", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("anim_length", ID_TYPE_NUM);
@@ -1825,6 +1844,8 @@ embed_function("getJointAngularSpeed", ID_TYPE_FN_NUM);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("DeleteJoint", ID_TYPE_SUB);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("JointExists", ID_TYPE_FN_NUM);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("CreateTileSet", ID_TYPE_FN_NUM);
add_embedded_arg("img_id", ID_TYPE_NUM);
add_embedded_arg("tile_w", ID_TYPE_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -538,6 +538,9 @@ 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;
@@ -547,6 +550,9 @@ case FN_WindowIsGrabbed: //Number Function
case FN_PreUpdate: //Sub Procedure
rc_preUpdate( );
break;
case FN_SetFPS: //Sub Procedure
rc_setFPS( SETFPS_FPS_VAL );
break;
case FN_OpenCanvas: //Number Function
rc_push_num(rc_canvasOpen( OPENCANVAS_W, OPENCANVAS_H, OPENCANVAS_VIEWPORT_X, OPENCANVAS_VIEWPORT_Y, OPENCANVAS_VIEWPORT_W, OPENCANVAS_VIEWPORT_H, OPENCANVAS_MODE ));
break;
@@ -757,6 +763,12 @@ case FN_DrawImage_Flip: //Sub Procedure
case FN_DrawImage_FlipEx: //Sub Procedure
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 );
break;
case FN_SetAntiAliasMode: //Sub Procedure
rc_setAntiAliasMode( SETANTIALIASMODE_AA_MODE );
break;
case FN_GetAntiAliasMode: //Number Function
rc_push_num(rc_getAntiAliasMode( ));
break;
case FN_InKey: //Number Function
rc_push_num(rc_inKey( ));
break;
@@ -1460,6 +1472,21 @@ case FN_SetSpriteSource: //Sub Procedure
case FN_GetSpriteSource: //Number Function
rc_push_num(rc_getSpriteSource( GETSPRITESOURCE_SPRITE ));
break;
case FN_SpriteExists: //Number Function
rc_push_num(rc_spriteExists( SPRITEEXISTS_SPRITE ));
break;
case FN_SetSpriteColorMod: //Sub Procedure
rc_setSpriteColorMod( SETSPRITECOLORMOD_SPRITE, SETSPRITECOLORMOD_COLOR );
break;
case FN_SetSpriteAlpha: //Sub Procedure
rc_setSpriteAlpha( SETSPRITEALPHA_SPRITE, SETSPRITEALPHA_ALPHA );
break;
case FN_GetSpriteColorMod: //Number Function
rc_push_num(rc_getSpriteColorMod( GETSPRITECOLORMOD_SPRITE ));
break;
case FN_GetSpriteAlpha: //Number Function
rc_push_num(rc_getSpriteAlpha( GETSPRITEALPHA_SPRITE ));
break;
case FN_CreateSpriteAnimation: //Number Function
rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED ));
break;
@@ -1871,6 +1898,9 @@ case FN_getJointAngularSpeed: //Number Function
case FN_DeleteJoint: //Sub Procedure
rc_deleteJoint( DELETEJOINT_JOINT_ID );
break;
case FN_JointExists: //Number Function
rc_push_num(rc_jointExists( JOINTEXISTS_JOINT_ID ));
break;
case FN_CreateTileSet: //Number Function
rc_push_num(rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H ));
break;

View File

@@ -972,14 +972,6 @@ string rc_keywordToken(string sline)
return "<num>" + rc_intToString(SDL_HAT_RIGHTDOWN);
else if(sline.compare("HAT_CENTERED")==0)
return "<num>" + rc_intToString(SDL_HAT_CENTERED);
else if(sline.compare("BLENDMODE_NONE")==0)
return "<num>" + rc_intToString(SDL_BLENDMODE_NONE);
else if(sline.compare("BLENDMODE_BLEND")==0)
return "<num>" + rc_intToString(SDL_BLENDMODE_BLEND);
else if(sline.compare("BLENDMODE_ADD")==0)
return "<num>" + rc_intToString(SDL_BLENDMODE_ADD);
else if(sline.compare("BLENDMODE_MOD")==0)
return "<num>" + rc_intToString(SDL_BLENDMODE_MOD);
else if(sline.compare("ANDROID_EXTERNAL_STORAGE_READ")==0)
return "<num>1";
else if(sline.compare("ANDROID_EXTERNAL_STORAGE_WRITE")==0)

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

View File

@@ -4389,7 +4389,7 @@ int main(int argc, char * argv[])
if(rc_filename.compare("--version")==0)
{
cout << "RCBASIC Runtime v4.0" << endl;
cout << "RCBASIC Runtime v4.1" << endl;
return 0;
}
@@ -4447,13 +4447,13 @@ int main(int argc, char * argv[])
std::cin >> debug_opt;
if(debug_opt.compare("a")==0)
{
//rc_intern_dirChange("/home/n00b/Music/rcbasic_v400_linux64/examples/tile_demo");
rc_intern_dirChange("");
rc_intern_dirChange("/home/n00b/Programs/RCBasic_v400_Linux64/examples/Spinning Axis/");
//rc_intern_dirChange("");
rc_filename = "main.cbc";
}
else
{
rc_intern_dirChange("/home/n00b/projects/bu/constraint_demo");
rc_intern_dirChange("/home/n00b/Programs/RCBasic_v400_Linux64/examples/Simple 3D Platformer/");
}
#endif
//---------------

View File

@@ -311,7 +311,7 @@ int rc_createAnimatedActor(int mesh_id)
rc_actor[actor_id].current_animation_loop = 0;
rc_actor[actor_id].num_animation_loops = 0;
rc_animEndCallBack* anim_callback = new rc_animEndCallBack();
anim_callback->ref_actor = &rc_actor[actor_id];
anim_callback->ref_id = actor_id;
anim_callback->OnAnimationEnd(node);
node->setAnimationEndCallback(anim_callback);
node->setLoopMode(false);

File diff suppressed because it is too large Load Diff

View File

@@ -538,6 +538,9 @@ 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;
@@ -547,6 +550,9 @@ case FN_WindowIsGrabbed: //Number Function
case FN_PreUpdate: //Sub Procedure
rc_preUpdate( );
break;
case FN_SetFPS: //Sub Procedure
rc_setFPS( SETFPS_FPS_VAL );
break;
case FN_OpenCanvas: //Number Function
rc_push_num(rc_canvasOpen( OPENCANVAS_W, OPENCANVAS_H, OPENCANVAS_VIEWPORT_X, OPENCANVAS_VIEWPORT_Y, OPENCANVAS_VIEWPORT_W, OPENCANVAS_VIEWPORT_H, OPENCANVAS_MODE ));
break;
@@ -757,6 +763,12 @@ case FN_DrawImage_Flip: //Sub Procedure
case FN_DrawImage_FlipEx: //Sub Procedure
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 );
break;
case FN_SetAntiAliasMode: //Sub Procedure
rc_setAntiAliasMode( SETANTIALIASMODE_AA_MODE );
break;
case FN_GetAntiAliasMode: //Number Function
rc_push_num(rc_getAntiAliasMode( ));
break;
case FN_InKey: //Number Function
rc_push_num(rc_inKey( ));
break;
@@ -1460,6 +1472,21 @@ case FN_SetSpriteSource: //Sub Procedure
case FN_GetSpriteSource: //Number Function
rc_push_num(rc_getSpriteSource( GETSPRITESOURCE_SPRITE ));
break;
case FN_SpriteExists: //Number Function
rc_push_num(rc_spriteExists( SPRITEEXISTS_SPRITE ));
break;
case FN_SetSpriteColorMod: //Sub Procedure
rc_setSpriteColorMod( SETSPRITECOLORMOD_SPRITE, SETSPRITECOLORMOD_COLOR );
break;
case FN_SetSpriteAlpha: //Sub Procedure
rc_setSpriteAlpha( SETSPRITEALPHA_SPRITE, SETSPRITEALPHA_ALPHA );
break;
case FN_GetSpriteColorMod: //Number Function
rc_push_num(rc_getSpriteColorMod( GETSPRITECOLORMOD_SPRITE ));
break;
case FN_GetSpriteAlpha: //Number Function
rc_push_num(rc_getSpriteAlpha( GETSPRITEALPHA_SPRITE ));
break;
case FN_CreateSpriteAnimation: //Number Function
rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED ));
break;
@@ -1871,6 +1898,9 @@ case FN_getJointAngularSpeed: //Number Function
case FN_DeleteJoint: //Sub Procedure
rc_deleteJoint( DELETEJOINT_JOINT_ID );
break;
case FN_JointExists: //Number Function
rc_push_num(rc_jointExists( JOINTEXISTS_JOINT_ID ));
break;
case FN_CreateTileSet: //Number Function
rc_push_num(rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H ));
break;

View File

@@ -308,12 +308,22 @@ bool rc_windowOpenEx(std::string title, int x, int y, int w, int h, uint32_t win
irr_creation_params.Bits = 16;
irr_creation_params.Fullscreen = fullscreen;
irr_creation_params.Stencilbuffer = stencil_buffer;
irr_creation_params.Vsync = vsync;
irr_creation_params.Vsync = false;
irr_creation_params.EventReceiver = 0;
irr_creation_params.WindowPosition = position2d<s32>(x, y);
irr_creation_params.AntiAlias = AntiAlias;
irr_creation_params.OGLES2ShaderPath = ".shaders/";
rc_window_setfps = vsync;
if(vsync)
{
SDL_DisplayMode dm;
SDL_GetDesktopDisplayMode(0, &dm);
rc_setfps_refresh_rate = dm.refresh_rate;
rc_setfps_timer = SDL_GetTicks();
}
device = createDeviceEx(irr_creation_params);
@@ -1045,6 +1055,7 @@ int rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode, int ca
canvas.physics2D.enabled = true;
canvas.physics2D.contact_listener = new rc_contactListener_obj();
canvas.physics2D.world->SetContactListener(canvas.physics2D.contact_listener);
canvas.sprite_id.clear();
}
switch(mode)
@@ -1123,13 +1134,14 @@ void rc_canvasClose(int canvas_id)
}
//sprites are destroyed when the world is deleted so I just to set the active attribute to false and set the body to NULL
for(int i = 0; i < rc_canvas[canvas_id].sprite.size(); i++)
for(int i = 0; i < rc_canvas[canvas_id].sprite_id.size(); i++)
{
rc_canvas[canvas_id].sprite[i]->active = false;
rc_canvas[canvas_id].sprite[i]->physics.body = NULL;
int spr_id = rc_canvas[canvas_id].sprite_id[i];
rc_sprite[spr_id].active = false;
rc_sprite[spr_id].physics.body = NULL;
}
rc_canvas[canvas_id].sprite.clear();
rc_canvas[canvas_id].sprite_id.clear();
if(rc_active_canvas == canvas_id)
rc_active_canvas = -1;
@@ -1167,25 +1179,6 @@ void rc_setCanvasPhysics2D(int canvas_id, bool flag)
rc_canvas[canvas_id].physics2D.enabled = flag;
}
void rc_clearCanvas()
{
if(rc_active_canvas >= 0 && rc_active_canvas < rc_canvas.size())
{
if(rc_canvas[rc_active_canvas].texture)
switch(rc_canvas[rc_active_canvas].type)
{
case RC_CANVAS_TYPE_2D:
VideoDriver->clearBuffers(true, true, true, rc_clear_color);
break;
default:
VideoDriver->clearBuffers(true, true, true, rc_clear_color);
break;
}
}
}
void rc_setCanvasVisible(int canvas_id, bool flag)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) //canvas 0 is being excluded because its the back buffer
@@ -1666,7 +1659,7 @@ void rc_drawTriangle3D(double x1, double y1, double z1, double x2, double y2, do
void rc_drawTriangle(double x1, double y1, double x2, double y2, double x3, double y3)
{
irr::core::array<irr::video::S3DVertex> v;
irr::core::array<irr::video::S3DVertex> v;
v.push_back(video::S3DVertex(x1, y1, 0.f, 0.f, 1.f, 0.f, rc_active_color, 0.5f, 0.5f));
v.push_back(video::S3DVertex(x2, y2, 0.f, 0.f, 1.f, 0.f, rc_active_color, 0.5f, 0.5f));
v.push_back(video::S3DVertex(x3, y3, 0.f, 0.f, 1.f, 0.f, rc_active_color, 0.5f, 0.5f));
@@ -1676,6 +1669,8 @@ void rc_drawTriangle(double x1, double y1, double x2, double y2, double x3, doub
i.push_back(1);
i.push_back(2);
v.sort();
VideoDriver->draw2DVertexPrimitiveList(v.pointer(), 3, i.pointer(), 1);
}
@@ -1805,7 +1800,7 @@ int rc_loadFont(std::string fnt_file, int font_size)
int font_id = -1;
for(int i = 0; i < rc_font.size(); i++)
{
if(rc_font[i]!=NULL)
if(!rc_font[i].active)
{
font_id = i;
break;
@@ -1826,11 +1821,12 @@ int rc_loadFont(std::string fnt_file, int font_size)
{
font_id = rc_font.size();
rc_font_obj* f = new rc_font_obj();
rc_font_obj f;
f->face = Face;
f->font = dfont;
f->font_size = font_size;
f.face = Face;
f.font = dfont;
f.font_size = font_size;
f.active = true;
rc_font.push_back(f);
@@ -1838,21 +1834,25 @@ int rc_loadFont(std::string fnt_file, int font_size)
}
else
{
rc_font[font_id]->face = Face;
rc_font[font_id]->font = dfont;
rc_font[font_id]->font_size = font_size;
rc_font[font_id].face = Face;
rc_font[font_id].font = dfont;
rc_font[font_id].font_size = font_size;
rc_font[font_id].active = true;
}
//std::cout << "id: " << font_id << std::endl;
return font_id;
}
bool rc_fontExists(int font_id)
{
if(font_id >= 0 && font_id < rc_font.size())
{
if(rc_font[font_id]->font != NULL)
if(font_id < 0 || font_id >= rc_font.size())
return false;
if(rc_font[font_id].active)
return true;
}
return false;
}
@@ -1860,11 +1860,12 @@ void rc_deleteFont(int font_id)
{
if(rc_fontExists(font_id))
{
delete rc_font[font_id]->font;
delete rc_font[font_id]->face;
rc_font[font_id]->font = NULL;
rc_font[font_id]->face = NULL;
rc_font[font_id]->font_size = 0;
delete rc_font[font_id].font;
delete rc_font[font_id].face;
rc_font[font_id].font = NULL;
rc_font[font_id].face = NULL;
rc_font[font_id].font_size = 0;
rc_font[font_id].active = false;
}
}
@@ -1879,11 +1880,11 @@ void rc_drawText(std::string txt, int x, int y)
if(rc_fontExists(rc_active_font))
{
std::wstring text = utf8_to_wstring(txt);
irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font]->font->getDimension(text.c_str());
irr::core::rect<s32> tpos(x, y, text_dim.Width, rc_font[rc_active_font]->font_size);
irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font].font->getDimension(text.c_str());
irr::core::rect<s32> tpos(x, y, text_dim.Width, rc_font[rc_active_font].font_size);
//std::cout << "Start drawing text: " << tpos.getWidth() << ", " << tpos.getHeight() << std::endl;
rc_font[rc_active_font]->font->draw(text.c_str(), tpos, rc_active_color);
rc_font[rc_active_font].font->draw(text.c_str(), tpos, rc_active_color);
//std::cout << "------------------" << std::endl;
}
}
@@ -1893,7 +1894,7 @@ Uint32 rc_getTextWidth(const std::string txt)
if(rc_fontExists(rc_active_font))
{
std::wstring text = utf8_to_wstring(txt);
irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font]->font->getDimension(text.c_str());
irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font].font->getDimension(text.c_str());
return text_dim.Width;
}
return 0;
@@ -1906,7 +1907,7 @@ Uint32 rc_getTextHeight(const std::string txt)
std::wstring text = utf8_to_wstring(txt);
//std::wstring wide = converter.from_bytes(txt);
//irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font]->getDimension(wide.c_str());
return rc_font[rc_active_font]->font_size;
return rc_font[rc_active_font].font_size;
}
return 0;
}
@@ -1916,9 +1917,9 @@ void rc_getTextSize(const std::string txt, double* w, double* h)
if(rc_fontExists(rc_active_font))
{
std::wstring text = utf8_to_wstring(txt);
irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font]->font->getDimension(text.c_str());
irr::core::dimension2d<irr::u32> text_dim = rc_font[rc_active_font].font->getDimension(text.c_str());
*w = text_dim.Width;
*h = rc_font[rc_active_font]->font_size;
*h = rc_font[rc_active_font].font_size;
}
else
{
@@ -2119,7 +2120,25 @@ void rc_setMouseRelative(bool flag)
void rc_setWindowVSync(bool flag)
{
//TODO
rc_window_setfps = true;
SDL_DisplayMode dm;
SDL_GetDesktopDisplayMode(0, &dm);
rc_setfps_refresh_rate = dm.refresh_rate;
rc_setfps_timer = SDL_GetTicks();
}
void rc_setFPS(int fps)
{
if(fps < 0)
{
rc_window_setfps = false;
}
else
{
rc_window_setfps = true;
rc_setfps_refresh_rate = fps;
rc_setfps_timer = SDL_GetTicks();
}
}
int rc_openURL(std::string url)
@@ -2546,6 +2565,16 @@ bool rc_getBilinearFilter()
return rc_bilinear_filter;
}
void rc_setAntiAliasMode( int aa_mode )
{
rc_anti_alias = (irr::video::E_ANTI_ALIASING_MODE) aa_mode;
}
int rc_getAntiAliasMode( )
{
return (int)rc_anti_alias;
}
void rc_setImageColorMod(int img_id, Uint32 color)
{
if(img_id < 0 || img_id >= rc_image.size())

View File

@@ -1,7 +1,7 @@
#ifndef RC_GFX_CORE_H_INCLUDED
#define RC_GFX_CORE_H_INCLUDED
#if defined(RC_ANDROID) || defined(RC_WINDOWS)
#if defined(RC_ANDROID)
#include "SDL.h"
#include "btBulletDynamicsCommon.h"
#include "BulletSoftBody/btSoftRigidDynamicsWorld.h"
@@ -255,6 +255,9 @@ bool rc_mouse_zone_active = false;
double rc_window_zone_scale_x = 1;
double rc_window_zone_scale_y = 1;
SDL_Rect rc_mouse_zone;
bool rc_window_setfps = false;
int rc_setfps_refresh_rate = 0;
Uint32 rc_setfps_timer = 0;
struct rc_scene_properties_obj
{
@@ -295,9 +298,9 @@ class rc_contactListener_obj : public b2ContactListener
{
void BeginContact(b2Contact* contact)
{
rc_sprite2D_obj* spriteA = (rc_sprite2D_obj*) contact->GetFixtureA()->GetBody()->GetUserData().pointer;
rc_sprite2D_obj* spriteA = &rc_sprite[contact->GetFixtureA()->GetBody()->GetUserData().pointer];
rc_sprite2D_obj* spriteB = (rc_sprite2D_obj*) contact->GetFixtureB()->GetBody()->GetUserData().pointer;
rc_sprite2D_obj* spriteB = &rc_sprite[contact->GetFixtureB()->GetBody()->GetUserData().pointer];
//std::cout << "sprite[" << spriteA->id << "] collide with sprite[" << spriteB->id << "]" << std::endl;
@@ -358,7 +361,7 @@ struct rc_canvas_obj
irr::u32 color_mod;
rc_physicsWorld2D_obj physics2D;
irr::core::array<rc_sprite2D_obj*> sprite;
irr::core::array<irr::s32> sprite_id;
};
irr::core::array<rc_canvas_obj> rc_canvas;
@@ -417,9 +420,10 @@ struct rc_font_obj
CGUITTFace* face;
CGUIFreetypeFont* font;
int font_size;
bool active;
};
irr::core::array<rc_font_obj*> rc_font;
irr::core::array<rc_font_obj> rc_font;
int rc_active_font = -1;
@@ -583,10 +587,11 @@ irr::core::array<int> rc_transition_actor;
class rc_animEndCallBack : public IAnimationEndCallBack
{
public:
rc_scene_node* ref_actor;
int ref_id;
void OnAnimationEnd( IAnimatedMeshSceneNode *node)
{
rc_scene_node* ref_actor = &rc_actor[ref_id];
if(ref_actor->current_animation_loop < ref_actor->num_animation_loops || ref_actor->num_animation_loops < 0)
{
//std::cout << "animating" << std::endl;
@@ -745,6 +750,7 @@ irr::core::array<rc_image_obj> rc_image;
irr::video::E_BLEND_OPERATION rc_blend_mode = irr::video::EBO_ADD;
bool rc_bilinear_filter = false;
irr::video::E_ANTI_ALIASING_MODE rc_anti_alias = irr::video::EAAM_OFF;
#define PRIM3D_LINE 1
#define PRIM3D_TRIANGLE 2
@@ -774,7 +780,8 @@ void rc_setDriverMaterial()
material.TextureLayer[0].BilinearFilter = rc_bilinear_filter;
material.MaterialTypeParam = irr::video::pack_textureBlendFunc(irr::video::EBF_SRC_ALPHA, irr::video::EBF_ONE_MINUS_SRC_ALPHA, irr::video::EMFN_MODULATE_1X, irr::video::EAS_TEXTURE | irr::video::EAS_VERTEX_COLOR);
material.BlendOperation = rc_blend_mode;
material.BlendOperation = irr::video::EBO_ADD;
//material.BlendOperation = irr::video::EBO_ADD;
material.AntiAliasing = rc_anti_alias;
material.MaterialType = irr::video::EMT_ONETEXTURE_BLEND;
@@ -856,6 +863,7 @@ void draw2DImage(irr::video::IVideoDriver *driver, irr::video::ITexture* texture
material.TextureLayer[0].BilinearFilter = rc_bilinear_filter;
material.MaterialTypeParam = irr::video::pack_textureBlendFunc(irr::video::EBF_SRC_ALPHA, irr::video::EBF_ONE_MINUS_SRC_ALPHA, irr::video::EMFN_MODULATE_1X, irr::video::EAS_TEXTURE | irr::video::EAS_VERTEX_COLOR);
material.BlendOperation = rc_blend_mode;
material.AntiAliasing = rc_anti_alias;
//material.BlendOperation = irr::video::EBO_ADD;
if (useAlphaChannel)
@@ -948,7 +956,7 @@ void draw2DImage2(irr::video::IVideoDriver *driver, irr::video::ITexture* textur
material.TextureLayer[0].BilinearFilter = rc_bilinear_filter; //TODO: Add option to switch this on/off
material.BlendOperation = rc_blend_mode;
material.MaterialTypeParam = irr::video::pack_textureBlendFunc(irr::video::EBF_SRC_ALPHA, irr::video::EBF_ONE_MINUS_SRC_ALPHA, irr::video::EMFN_MODULATE_1X, irr::video::EAS_TEXTURE | irr::video::EAS_VERTEX_COLOR);
//material.AntiAliasing = irr::video::EAAM_OFF;
material.AntiAliasing = rc_anti_alias;
if (useAlphaChannel)
material.MaterialType = irr::video::EMT_ONETEXTURE_BLEND;

View File

@@ -11,6 +11,14 @@
#include "rc_gfx_core.h"
bool rc_jointExists(int joint_id)
{
if(joint_id < 0 || joint_id >= rc_joint.size())
return false;
return rc_joint[joint_id].active;
}
int rc_createDistanceJoint(int spriteA, int spriteB, double aX, double aY, double bX, double bY, bool collide_connected)
{
if(rc_active_canvas < 0 || rc_active_canvas >= rc_canvas.size())

View File

@@ -56,6 +56,16 @@ void rc_clearScene()
{
if(SceneManager)
{
for(int i = 0; i < rc_physics3D.constraints.size(); i++)
{
if(rc_physics3D.constraints[i].constraint)
{
rc_physics3D.world->getPointer()->removeConstraint(rc_physics3D.constraints[i].constraint);
rc_physics3D.constraints[i].constraint = NULL;
rc_physics3D.constraints[i].type = 0;
}
}
for(int i = 0; i < rc_actor.size(); i++)
{
if(rc_actor[i].mesh_node)

View File

@@ -51,7 +51,7 @@ struct rc_sprite2D_obj
int num_animation_loops;
int current_animation_loop;
bool isPlaying;
irr::core::array<int> deleted_sprites;
irr::core::array<int> deleted_animation;
irr::core::array<rc_sprite2D_animation_obj> animation;
int parent_canvas = -1;

View File

@@ -621,6 +621,9 @@ std::vector<rc_rayHit2D_obj> rc_rayHit2D;
// Function to perform a ray cast and collect all hits
int rc_castRay2D_All(double from_x, double from_y, double to_x, double to_y)
{
if(rc_canvas[rc_active_canvas].type != RC_CANVAS_TYPE_SPRITE)
return 0;
rc_rayHit2D.clear();
RayCastCallback callback;
const b2Vec2 point1(from_x, from_y);
@@ -633,7 +636,7 @@ int rc_castRay2D_All(double from_x, double from_y, double to_x, double to_y)
for(int i = 0; i < cb_hits.size(); i++)
{
rc_rayHit2D_obj hit;
rc_sprite2D_obj* h_sprite = (rc_sprite2D_obj*)cb_hits[i].fixture->GetBody()->GetUserData().pointer;
rc_sprite2D_obj* h_sprite = &rc_sprite[cb_hits[i].fixture->GetBody()->GetUserData().pointer];
hit.sprite_id = h_sprite->id;
hit.hit_point = cb_hits[i].point;
hit.hit_normal = cb_hits[i].normal;
@@ -646,6 +649,9 @@ int rc_castRay2D_All(double from_x, double from_y, double to_x, double to_y)
// Function to perform a ray cast and collect the closest hit
int rc_castRay2D(double from_x, double from_y, double to_x, double to_y)
{
if(rc_canvas[rc_active_canvas].type != RC_CANVAS_TYPE_SPRITE)
return 0;
rc_rayHit2D.clear();
RayCastCallback callback;
const b2Vec2 point1(from_x, from_y);
@@ -661,7 +667,7 @@ int rc_castRay2D(double from_x, double from_y, double to_x, double to_y)
for(int i = 0; i < cb_hits.size(); i++)
{
rc_rayHit2D_obj hit;
rc_sprite2D_obj* h_sprite = (rc_sprite2D_obj*)cb_hits[i].fixture->GetBody()->GetUserData().pointer;
rc_sprite2D_obj* h_sprite = &rc_sprite[cb_hits[i].fixture->GetBody()->GetUserData().pointer];
hit.sprite_id = h_sprite->id;
hit.hit_point = cb_hits[i].point;
hit.hit_normal = cb_hits[i].normal;

View File

@@ -35,10 +35,10 @@ int rc_createSpriteAnimation(int spr_id, int anim_length, double fps)
animation.frames.push_back(0);
int animation_id = rc_sprite[spr_id].animation.size();
if(rc_sprite[spr_id].deleted_sprites.size() > 0)
if(rc_sprite[spr_id].deleted_animation.size() > 0)
{
animation_id = rc_sprite[spr_id].deleted_sprites[0];
rc_sprite[spr_id].deleted_sprites.erase(0);
animation_id = rc_sprite[spr_id].deleted_animation[0];
rc_sprite[spr_id].deleted_animation.erase(0);
rc_sprite[spr_id].animation[animation_id] = animation;
}
else
@@ -55,7 +55,13 @@ void rc_deleteSpriteAnimation(int spr_id, int animation)
if(!rc_sprite[spr_id].active)
return;
rc_sprite[spr_id].deleted_sprites.push_back(animation);
for(int i = 0; i < rc_sprite[spr_id].deleted_animation.size(); i++)
{
if(rc_sprite[spr_id].deleted_animation[i] == animation)
return;
}
rc_sprite[spr_id].deleted_animation.push_back(animation);
}
void rc_setSpriteFrame(int spr_id, int frame)
@@ -281,24 +287,30 @@ void sortSpriteZ(int canvas_id)
if(!rc_canvas[canvas_id].texture)
return;
for(int i = 0; i < rc_canvas[canvas_id].sprite.size(); i++)
for(int i = 0; i < rc_canvas[canvas_id].sprite_id.size(); i++)
{
rc_sprite2D_obj* spriteA = rc_canvas[canvas_id].sprite[i];
int spriteA = rc_canvas[canvas_id].sprite_id[i];
for(int j = i+1; j < rc_canvas[canvas_id].sprite.size(); j++)
for(int j = i+1; j < rc_canvas[canvas_id].sprite_id.size(); j++)
{
rc_sprite2D_obj* spriteB = rc_canvas[canvas_id].sprite[j];
int spriteB = rc_canvas[canvas_id].sprite_id[j];
if(spriteB->z > spriteA->z)
if(rc_sprite[spriteB].z > rc_sprite[spriteA].z)
{
rc_canvas[canvas_id].sprite[j] = NULL;
rc_canvas[canvas_id].sprite.erase(j);
rc_canvas[canvas_id].sprite.insert(spriteB, i);
rc_canvas[canvas_id].sprite_id.erase(j);
rc_canvas[canvas_id].sprite_id.insert(spriteB, i);
}
}
}
}
bool rc_spriteExists(int spr_id)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return false;
return rc_sprite[spr_id].active;
}
int rc_createSprite(int img_id, double w, double h)
{
@@ -352,7 +364,7 @@ int rc_createSprite(int img_id, double w, double h)
sprBodyDef.type = b2_dynamicBody;
sprBodyDef.position.Set(w/2, h/2);
sprBodyDef.angle = 0;
sprBodyDef.userData.pointer = (uintptr_t)&rc_sprite[spr_id];
sprBodyDef.userData.pointer = spr_id;
rc_sprite[spr_id].physics.body = rc_canvas[rc_active_canvas].physics2D.world->CreateBody(&sprBodyDef);
b2FixtureDef sprFixtureDef;
@@ -386,7 +398,10 @@ int rc_createSprite(int img_id, double w, double h)
rc_sprite[spr_id].animation.clear();
rc_createSpriteAnimation(spr_id, 1, 0);
rc_canvas[rc_active_canvas].sprite.push_back(&rc_sprite[spr_id]);
int i = rc_canvas[rc_active_canvas].sprite_id.size();
rc_canvas[rc_active_canvas].sprite_id.push_back(spr_id);
//std::cout << "Create Debug: [" << rc_active_canvas << "] index = " << i << " spr_id = " << rc_canvas[rc_active_canvas].sprite[i]->id << std::endl;
sortSpriteZ(rc_active_canvas);
@@ -412,13 +427,13 @@ void rc_deleteSprite(int spr_id)
rc_sprite[spr_id].parent_canvas = -1;
rc_sprite[spr_id].animation.clear();
for(int i = 0; i < rc_canvas[rc_active_canvas].sprite.size(); i++)
for(int i = 0; i < rc_canvas[rc_active_canvas].sprite_id.size(); i++)
{
rc_sprite2D_obj* canvas_sprite = rc_canvas[rc_active_canvas].sprite[i];
rc_sprite2D_obj* global_sprite = &rc_sprite[spr_id];
if(canvas_sprite == global_sprite)
int canvas_sprite = rc_canvas[rc_active_canvas].sprite_id[i];
if(canvas_sprite == spr_id)
{
rc_canvas[rc_active_canvas].sprite.erase(i);
rc_canvas[rc_active_canvas].sprite_id.erase(i);
break;
}
}
@@ -796,6 +811,51 @@ bool rc_spriteIsVisible(int spr_id)
return rc_sprite[spr_id].visible;
}
void rc_setSpriteColorMod(int spr_id, Uint32 color)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return;
if(!rc_sprite[spr_id].active)
return;
if(rc_sprite[spr_id].image_id >= 0)
rc_sprite[spr_id].color_mod = irr::video::SColor(color);
}
void rc_setSpriteAlpha(int spr_id, Uint32 alpha)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return;
if(!rc_sprite[spr_id].active)
return;
if(rc_sprite[spr_id].image_id >= 0)
rc_sprite[spr_id].alpha = (Uint8)alpha;
}
Uint32 rc_getSpriteColorMod(int spr_id)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return 0;
if(!rc_sprite[spr_id].active)
return 0;
return rc_sprite[spr_id].color_mod.color;
}
Uint32 rc_getSpriteAlpha(int spr_id)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return 0;
if(!rc_sprite[spr_id].active)
return 0;
return (Uint32)rc_sprite[spr_id].alpha;
}
//-----------------------------------PHYSICS----------------------------------------------------------------------------------
@@ -846,9 +906,11 @@ void drawSprites(int canvas_id)
int offset_x = rc_canvas[canvas_id].offset.X;
int offset_y = rc_canvas[canvas_id].offset.Y;
for(int spr_index = 0; spr_index < rc_canvas[canvas_id].sprite.size(); spr_index++)
for(int spr_index = 0; spr_index < rc_canvas[canvas_id].sprite_id.size(); spr_index++)
{
rc_sprite2D_obj* sprite = rc_canvas[canvas_id].sprite[spr_index];
int spr_id = rc_canvas[canvas_id].sprite_id[spr_index];
rc_sprite2D_obj* sprite = &rc_sprite[spr_id];
//std::cout << "debug info: " << canvas_id << " --> " << spr_index << " id = " << sprite->id << " anim_size = " << sprite->animation.size() << std::endl; continue;
if(!sprite->visible)
continue;

View File

@@ -258,7 +258,7 @@ void rc_setTile(int tilemap, int tile, int x, int y)
int num_tset_tiles = rc_tileset[tileset].tiles.size();
if(tile < 0 || tile >= num_tset_tiles)
return;
tile = -1;
if( (x < 0 || x >= rc_tilemap[tilemap].num_tiles_across) || (y < 0 || y >= rc_tilemap[tilemap].num_tiles_down) )
return;
@@ -297,7 +297,7 @@ void rc_fillTile(int tilemap, int tile, int x, int y, int widthInTiles, int heig
int num_tset_tiles = rc_tileset[tileset].tiles.size();
if(tile < 0 || tile >= num_tset_tiles)
return;
tile = -1;
if( (x < 0 || x >= rc_tilemap[tilemap].num_tiles_across) || (y < 0 || y >= rc_tilemap[tilemap].num_tiles_down) )
return;

View File

@@ -1,6 +1,44 @@
#ifndef RC_WINDOWCLOSE_H_INCLUDED
#define RC_WINDOWCLOSE_H_INCLUDED
void rc_clearCanvas()
{
if(rc_active_canvas >= 0 && rc_active_canvas < rc_canvas.size())
{
if(rc_canvas[rc_active_canvas].texture)
switch(rc_canvas[rc_active_canvas].type)
{
case RC_CANVAS_TYPE_2D:
VideoDriver->clearBuffers(true, true, true, rc_clear_color);
break;
case RC_CANVAS_TYPE_SPRITE:
VideoDriver->clearBuffers(true, true, true, rc_clear_color);
for(int i = 0; i < rc_joint.size(); i++)
{
if(rc_joint[i].canvas == rc_active_canvas)
{
rc_deleteJoint(i);
}
}
for(int i = 0; i < rc_sprite.size(); i++)
{
if(rc_sprite[i].parent_canvas == rc_active_canvas)
{
rc_deleteSprite(i);
}
}
break;
default:
VideoDriver->clearBuffers(true, true, true, rc_clear_color);
break;
}
}
}
void rc_closeWindow_hw()
{
irrtheora::stopVideo();
@@ -79,6 +117,13 @@ void rc_preUpdate()
bool rc_update()
{
if(rc_window_setfps)
{
int frame_delay = 1000/rc_setfps_refresh_rate;
while( (SDL_GetTicks()-rc_setfps_timer) < frame_delay ){}
rc_setfps_timer = SDL_GetTicks();
}
if(!device->run())
return false;

View File

@@ -105,6 +105,7 @@
<Unit filename="rc_tilemap.h" />
<Unit filename="rc_utf8.h" />
<Unit filename="rc_video.h" />
<Unit filename="rc_windowclose.h" />
<Unit filename="theoraplay.c">
<Option compilerVar="CC" />
</Unit>

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1734311733 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
1736029334 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
"rc_os_defines.h"
<emscripten.h>
<sys/param.h>
@@ -33,12 +33,12 @@
<irrtheora.h>
"rc_func130_cases.h"
1734311733 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
1736029846 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
<TargetConditionals.h>
1734309571 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1734919451 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
"rc_os_defines.h"
<sys/param.h>
<iostream>
@@ -109,9 +109,9 @@
"theoraplay.h"
<set>
1694287822 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay.h
1729346052 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_matrix.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_matrix.h
<iostream>
<vector>
<bits/stdc++.h>
@@ -127,11 +127,11 @@
"rc_matrix.h"
"rc_defines.h"
1728937556 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_geometry.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_geometry.h
"rc_matrix.h"
<cmath>
1728937556 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay.c
1734372058 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay.c
"rc_os_defines.h"
<stdio.h>
<stdlib.h>
@@ -148,13 +148,13 @@
"theoraplay_cvtrgb.h"
"theoraplay_cvtrgb.h"
1694287822 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay_cvtrgb.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay_cvtrgb.h
1727545973 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/gui_freetype_font.cpp
1734372058 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/gui_freetype_font.cpp
"gui_freetype_font.h"
<cassert>
1728937556 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/gui_freetype_font.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/gui_freetype_font.h
"rc_os_defines.h"
"ft2build.h"
"freetype/freetype.h"
@@ -1242,13 +1242,13 @@
"matrix4.h"
"IVideoDriver.h"
1727545973 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.cpp
1734372058 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.cpp
"RealisticWater.h"
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
<irrlicht.h>
1734312754 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
1736029837 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
"SDL.h"
<SDL2/SDL.h>
<irrlicht.h>
@@ -1272,7 +1272,7 @@
"rc_joints.h"
<irrtheora.h>
1734313369 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
1736028804 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
"SDL.h"
"btBulletDynamicsCommon.h"
"BulletSoftBody/btSoftRigidDynamicsWorld.h"
@@ -1298,15 +1298,15 @@
"an8parser.h"
<an8parser.h>
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_utf8.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_utf8.h
<string>
<algorithm>
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/camera.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/camera.h
<irrlicht.h>
<iostream>
1730168962 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite2D.h
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite2D.h
<irrlicht.h>
<box2d/box2d.h>
@@ -2193,7 +2193,7 @@
1686539631 /home/n00b/Projects/irrTheora/theoraplay.h
1733594068 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx3D.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx3D.h
"SDL.h"
<btBulletDynamicsCommon.h>
<BulletCollision/CollisionDispatch/btGhostObject.h>
@@ -2222,7 +2222,7 @@
"rc_scene.h"
"rc_camera.h"
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_audio.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_audio.h
<vector>
"rc_os_defines.h"
<android/log.h>
@@ -2243,7 +2243,7 @@
<SDL2/SDL.h>
<SDL2/SDL_mixer.h>
1734293958 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_net.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_net.h
"rc_os_defines.h"
<android/log.h>
"SDL.h"
@@ -2271,11 +2271,11 @@
<unistd.h>
<assert.h>
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_video.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_video.h
"rc_gfx_core.h"
<irrtheora.h>
1734309571 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1734919451 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1724469097 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
"irrBullet.h"
@@ -2479,9 +2479,9 @@
1608686973 /usr/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h
"BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h"
1728937556 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_test.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_test.h
1728751611 /home/n00b/Projects/an8-parser/an8parser.h
1735440217 /home/n00b/Projects/an8-parser/an8parser.h
<iostream>
<fstream>
<vector>
@@ -2489,8 +2489,9 @@
<string>
<irrlicht.h>
<cmath>
<cstdint>
1733892344 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_spritelib.h
1734919451 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_spritelib.h
"SDL.h"
<SDL2/SDL.h>
"rc_sprite2D.h"
@@ -2498,50 +2499,58 @@
"rc_sprite_physics.h"
"rc_joints.h"
1733959298 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_tilelib.h
1734658467 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_tilelib.h
"SDL.h"
<SDL2/SDL.h>
"rc_tilemap.h"
"rc_gfx_core.h"
1729551233 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_tilemap.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_tilemap.h
<irrlicht.h>
<vector>
1734205862 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
"rc_sprite2D.h"
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_joints.h
1734910148 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_joints.h
"SDL.h"
<SDL2/SDL.h>
"rc_sprite2D.h"
"rc_gfx_core.h"
1734206925 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
"rc_gfx_core.h"
1734138955 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
1731710840 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h
1734119354 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_animation.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_animation.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_physics.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_physics.h
1731249956 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_constraint.h
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_constraint.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_mesh.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_mesh.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_particles.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_particles.h
1733777902 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_scene.h
1734719003 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_scene.h
"rc_gfx_core.h"
1731249956 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_camera.h
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_camera.h
1734313936 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
1608686973 /usr/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h
"BulletCollision/CollisionShapes/btTriangleCallback.h"
"LinearMath/btTransform.h"
1734710710 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_tri_points.h
<iostream>
<string>
<math.h>
<cmath>
<vector>
<algorithm>

View File

@@ -2,124 +2,24 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="rc_actor_animation.h" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3250" topLine="93" />
</Cursor>
</File>
<File name="rc_actor_material.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="14332" topLine="540" />
</Cursor>
</File>
<File name="RealisticWater.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="7671" topLine="204" />
</Cursor>
</File>
<File name="rc_sprite_physics.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10319" topLine="472" />
</Cursor>
</File>
<File name="rc_media.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17752" topLine="630" />
</Cursor>
</File>
<File name="rc_actor_physics.h" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="668" />
</Cursor>
</File>
<File name="rc_audio.h" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6531" topLine="311" />
</Cursor>
</File>
<File name="rc_os_defines.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_sprite_physics.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="914" topLine="31" />
<Cursor1 position="13990" topLine="547" />
</Cursor>
</File>
<File name="rc_physics3D_base.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_actor_animation.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="565" topLine="19" />
<Cursor1 position="4598" topLine="117" />
</Cursor>
</File>
<File name="rc_gfx_core.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_defines.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="26959" topLine="736" />
</Cursor>
</File>
<File name="rc_net.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1339" topLine="12" />
</Cursor>
</File>
<File name="rc_constraint.h" open="1" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="303" topLine="258" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBullet.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="7" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletWorld.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2750" topLine="75" />
</Cursor>
</File>
<File name="rc_geometry.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20919" topLine="652" />
</Cursor>
</File>
<File name="rc_sprite2D.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1444" topLine="0" />
</Cursor>
</File>
<File name="rc_base_actor.h" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13697" topLine="505" />
</Cursor>
</File>
<File name="rc_test.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="115" topLine="0" />
</Cursor>
</File>
<File name="rc_video.h" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_matrix.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="116" topLine="3" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletcommon.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="924" topLine="6" />
</Cursor>
</File>
<File name="rc_tilemap.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="243" topLine="0" />
</Cursor>
</File>
<File name="rc_gfx3D.h" open="1" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="583" topLine="11" />
</Cursor>
</File>
<File name="rc_func130_cases.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="116893" topLine="2608" />
<Cursor1 position="190390" topLine="2847" />
</Cursor>
</File>
<File name="gui_freetype_font.cpp" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -127,29 +27,9 @@
<Cursor1 position="792" topLine="0" />
</Cursor>
</File>
<File name="rc_stdlib.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="camera.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="24553" topLine="1081" />
</Cursor>
</File>
<File name="rc_gfx.h" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="21506" topLine="932" />
</Cursor>
</File>
<File name="rc_defines.h" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="190390" topLine="2843" />
</Cursor>
</File>
<File name="camera.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="261" topLine="0" />
</Cursor>
</File>
<File name="rc_spritelib.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20025" topLine="806" />
<Cursor1 position="640" topLine="15" />
</Cursor>
</File>
<File name="gui_freetype_font.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -157,9 +37,164 @@
<Cursor1 position="183" topLine="0" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_base_actor.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="133333" topLine="4437" />
<Cursor1 position="8535" topLine="255" />
</Cursor>
</File>
<File name="rc_os_defines.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="93" topLine="0" />
</Cursor>
</File>
<File name="rc_func130_cases.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="54913" topLine="1444" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletcommon.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="924" topLine="6" />
</Cursor>
</File>
<File name="rc_windowclose.h" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="22498" topLine="611" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletCollisionObject.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="384" />
</Cursor>
</File>
<File name="rc_tilelib.h" open="0" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3693" topLine="136" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBullet.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="7" />
</Cursor>
</File>
<File name="rc_constraint.h" open="0" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8391" topLine="231" />
</Cursor>
</File>
<File name="rc_gfx_core.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13404" topLine="410" />
</Cursor>
</File>
<File name="rc_tilemap.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="243" topLine="26" />
</Cursor>
</File>
<File name="rc_spritelib.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20148" topLine="829" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="132123" topLine="4378" />
</Cursor>
</File>
<File name="rc_net.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3769" topLine="186" />
</Cursor>
</File>
<File name="rc_font.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletRigidBody.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2046" topLine="42" />
</Cursor>
</File>
<File name="rc_media.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17752" topLine="630" />
</Cursor>
</File>
<File name="rc_video.h" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="169" topLine="6" />
</Cursor>
</File>
<File name="rc_test.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="115" topLine="0" />
</Cursor>
</File>
<File name="rc_geometry.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20919" topLine="652" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletWorld.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2750" topLine="75" />
</Cursor>
</File>
<File name="rc_gfx.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="49156" topLine="2415" />
</Cursor>
</File>
<File name="RealisticWater.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="7671" topLine="204" />
</Cursor>
</File>
<File name="rc_sprite2D.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1019" topLine="31" />
</Cursor>
</File>
<File name="rc_physics3D_base.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3283" topLine="66" />
</Cursor>
</File>
<File name="rc_joints.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="310" topLine="0" />
</Cursor>
</File>
<File name="rc_matrix.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="116" topLine="804" />
</Cursor>
</File>
<File name="rc_gfx3D.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="565" topLine="0" />
</Cursor>
</File>
<File name="rc_scene.h" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1764" topLine="39" />
</Cursor>
</File>
<File name="rc_actor_material.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="14123" topLine="456" />
</Cursor>
</File>
<File name="rc_stdlib.h" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="24491" topLine="1083" />
</Cursor>
</File>
<File name="rc_actor_physics.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="rcbasic_runtime" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="bin/Debug/rcbasic_runtime" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
</Compiler>
</Target>
<Target title="Release">
<Option output="bin/Release/rcbasic_runtime" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="1" />
<Option compiler="mingw32" />
<Compiler>
<Add option="-O2" />
<Add directory="../../an8-parser" />
<Add directory="../../box2d/include" />
<Add directory="../../bullet3/src" />
<Add directory="../../freetype/include" />
<Add directory="../../freetype/build/include" />
<Add directory="../../irrBullet/include" />
<Add directory="../../IrrTheora" />
<Add directory="../../ogg/include" />
<Add directory="../../RCIrrlicht/include" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/include" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/include/SDL2" />
<Add directory="../../SDL2_image-dev/i686-w64-mingw32/include" />
<Add directory="../../SDL2_mixer-dev/i686-w64-mingw32/include" />
<Add directory="../../SDL2_net-dev/i686-w64-mingw32/include" />
<Add directory="../../theora/include" />
<Add directory="../../vorbis/include" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lmingw32 -lSDL2main -lSDL2 -lSDL2_net -lSDL2_mixer -lIrrlicht -lvorbisfile -lvorbis -logg -ltheoradec -lfreetype -lbox2d -lBulletSoftBody -lBulletDynamics -lBulletInverseDynamics -lBulletCollision -lLinearMath" />
<Add directory="../../box2d/build/bin" />
<Add directory="../../bullet3/build/lib" />
<Add directory="../../freetype/build" />
<Add directory="../../ogg/build" />
<Add directory="../../RCIrrlicht/lib/Win32-gcc" />
<Add directory="../../SDL2-dev/i686-w64-mingw32/lib" />
<Add directory="../../SDL2_net-dev/i686-w64-mingw32/lib" />
<Add directory="../../SDL2_mixer-dev/i686-w64-mingw32/lib" />
<Add directory="../../SDL2_image-dev/i686-w64-mingw32/lib" />
<Add directory="../../theora/win32/xmingw32" />
<Add directory="../../vorbis/build/lib" />
</Linker>
</Target>
<Target title="Release64">
<Option output="bin/Release/rcbasic_runtime" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="1" />
<Option compiler="mingw64" />
<Compiler>
<Add option="-O2" />
<Add directory="../../an8-parser" />
<Add directory="../../box2d/include" />
<Add directory="../../bullet3/src" />
<Add directory="../../freetype/include" />
<Add directory="../../freetype/build64/include" />
<Add directory="../../irrBullet/include" />
<Add directory="../../IrrTheora" />
<Add directory="../../ogg/include" />
<Add directory="../../RCIrrlicht/include" />
<Add directory="../../SDL2-dev/x86_64-w64-mingw32/include" />
<Add directory="../../SDL2-dev/x86_64-w64-mingw32/include/SDL2" />
<Add directory="../../SDL2_image-dev/x86_64-w64-mingw32/include" />
<Add directory="../../SDL2_mixer-dev/x86_64-w64-mingw32/include" />
<Add directory="../../SDL2_net-dev/x86_64-w64-mingw32/include" />
<Add directory="../../theora/include" />
<Add directory="../../vorbis/include" />
</Compiler>
<Linker>
<Add option="-s" />
<Add option="-lmingw32 -lSDL2main -lSDL2 -lSDL2_net -lSDL2_mixer -lIrrlicht -lvorbisfile -lvorbis -logg -ltheoradec -lfreetype -lbox2d -lBulletSoftBody -lBulletDynamics -lBulletInverseDynamics -lBulletCollision -lLinearMath" />
<Add directory="../../box2d/build64/bin" />
<Add directory="../../bullet3/build64/lib" />
<Add directory="../../freetype/build64" />
<Add directory="../../ogg/build64" />
<Add directory="../../RCIrrlicht/lib/Win64-gcc" />
<Add directory="../../SDL2-dev/x86_64-w64-mingw32/lib" />
<Add directory="../../SDL2_net-dev/x86_64-w64-mingw32/lib" />
<Add directory="../../SDL2_mixer-dev/x86_64-w64-mingw32/lib" />
<Add directory="../../SDL2_image-dev/x86_64-w64-mingw32/lib" />
<Add directory="../../theora64/win32/xmingw32" />
<Add directory="../../vorbis/build64/lib" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
<Add option="-fexceptions" />
</Compiler>
<Unit filename="../../IrrTheora/irrtheora.h" />
<Unit filename="../../irrBullet/src/irrBullet.cpp" />
<Unit filename="../../irrBullet/src/irrBulletBoxShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletBvhTriangleMeshShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCapsuleShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCollisionCallBackInformation.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCollisionObject.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCollisionObjectAffector.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCollisionObjectAffectorAttract.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCollisionObjectAffectorDelete.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCollisionShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletConeShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletConvexHullShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletCylinderShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletGImpactMeshShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletGhostObject.cpp" />
<Unit filename="../../irrBullet/src/irrBulletLiquidBody.cpp" />
<Unit filename="../../irrBullet/src/irrBulletMotionState.cpp" />
<Unit filename="../../irrBullet/src/irrBulletPhysicsDebug.cpp" />
<Unit filename="../../irrBullet/src/irrBulletRayCastVehicle.cpp" />
<Unit filename="../../irrBullet/src/irrBulletRigidBody.cpp" />
<Unit filename="../../irrBullet/src/irrBulletSoftBody.cpp" />
<Unit filename="../../irrBullet/src/irrBulletSphereShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletTriangleMeshShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletWorld.cpp" />
<Unit filename="../../irrBullet/src/irrBulletcommon.cpp" />
<Unit filename="camera.h" />
<Unit filename="gui_freetype_font.cpp" />
<Unit filename="gui_freetype_font.h" />
<Unit filename="main.cpp" />
<Unit filename="rc_actor_animation.h" />
<Unit filename="rc_actor_material.h" />
<Unit filename="rc_actor_physics.h" />
<Unit filename="rc_audio.h" />
<Unit filename="rc_base_actor.h" />
<Unit filename="rc_camera.h" />
<Unit filename="rc_constraint.h" />
<Unit filename="rc_defines.h" />
<Unit filename="rc_font.h" />
<Unit filename="rc_func130_cases.h" />
<Unit filename="rc_geometry.h" />
<Unit filename="rc_gfx.h" />
<Unit filename="rc_gfx3D.h" />
<Unit filename="rc_gfx_core.h" />
<Unit filename="rc_joints.h" />
<Unit filename="rc_matrix.h" />
<Unit filename="rc_media.h" />
<Unit filename="rc_mesh.h" />
<Unit filename="rc_net.h" />
<Unit filename="rc_os_defines.h" />
<Unit filename="rc_particles.h" />
<Unit filename="rc_physics3D_base.h" />
<Unit filename="rc_process.h" />
<Unit filename="rc_scene.h" />
<Unit filename="rc_sprite2D.h" />
<Unit filename="rc_sprite_physics.h" />
<Unit filename="rc_spritelib.h" />
<Unit filename="rc_stdlib.h" />
<Unit filename="rc_test.h" />
<Unit filename="rc_tilelib.h" />
<Unit filename="rc_tilemap.h" />
<Unit filename="rc_utf8.h" />
<Unit filename="rc_video.h" />
<Unit filename="rc_windowclose.h" />
<Unit filename="resource.rc">
<Option compilerVar="WINDRES" />
</Unit>
<Unit filename="theoraplay.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="theoraplay.h" />
<Unit filename="theoraplay_cvtrgb.h" />
<Extensions>
<lib_finder disable_auto="1" />
</Extensions>
</Project>
</CodeBlocks_project_file>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
</CodeBlocks_layout_file>

View File

@@ -1 +1 @@
MAINICON ICON "rcbasic.ico"
MAINICON ICON "icon/rcbasic.ico"