Added SetFPS() and SetWindowVSync()

This commit is contained in:
n00b
2024-12-20 20:40:10 -05:00
parent 8b8be85dea
commit 94a9bb08fb
15 changed files with 1754 additions and 1698 deletions

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 )

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

@@ -921,7 +921,7 @@ int main(int argc, char * argv[])
//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";
rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Constraint/main.bas";
//DEBUG END
//enable_presets = true;

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);

View File

@@ -277,7 +277,9 @@ N main.WindowMode highDPI 4
N main.GrabInput flag 0
N main.SetWindowAlwaysOnTop flag 0
N main.SetMouseRelative flag 0
N main.SetWindowVSync flag 0
N main.FlashWindow flag 0
N main.SetFPS fps_val 0
N main.OpenCanvas w 0
N main.OpenCanvas h 1
N main.OpenCanvas viewport_x 2

Binary file not shown.

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);

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;