From 6d29632dafb2c86e0a87bd7b42fd0851ac1a4c0e Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Mon, 27 Nov 2023 17:41:21 -0600 Subject: [PATCH] Singe 2.10 Beta 1 released. Headed into Beta 2. --- CHANGELOG.txt | 3 + build-all.sh | 11 ++- src/main.c | 2 +- src/singe.c | 226 +++++++++++++++++++++++++------------------------- 4 files changed, 124 insertions(+), 118 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 748cfc635..6aeb40e6e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -41,6 +41,9 @@ New Features - Auto-installer for the new GAME, TOOL, and PATCH archive formats to make managing games easier. +- ZeroBrane Studio (https://studio.zerobrane.com) integration for live + debugging of running Singe scripts! A full IDE for developing games! + Fixes ----- diff --git a/build-all.sh b/build-all.sh index f11995cb9..6cd3c972f 100755 --- a/build-all.sh +++ b/build-all.sh @@ -48,7 +48,7 @@ function buildAll() { mkdir -p ${G_GENERATED} -if [[ 1 == 1 ]]; then +if [[ 0 == 1 ]]; then pushd thirdparty/SDL2 clearAndEnterBuild cmake ${COMMON} \ @@ -336,7 +336,7 @@ fi clearAndEnterBuild cmake ${COMMON} ${G_BUILDROOT} make - #upx -9 singe2${SUFFIX} + #upx -9 --force singe2${SUFFIX} mv -f singe2${SUFFIX} ${G_BUILDROOT}/${G_BUILDDIR}/Singe-v2.10-${OS^}-${ARCH}${SUFFIX} popd } @@ -466,6 +466,9 @@ function outputLicense() { } +mkdir -p ${G_BUILDDIR} + + # These are required for the build. sudo apt-get install -y \ xxd \ @@ -478,8 +481,8 @@ sudo apt-get install -y \ upx-ucl -buildAll linux x86_64 2>&1 | tee linux-x86_64.log -buildAll windows x86_64 2>&1 | tee windows-x86_64.log +buildAll linux x86_64 2>&1 | tee ${G_BUILDDIR}/linux-x86_64.log +buildAll windows x86_64 2>&1 | tee ${G_BUILDDIR}/windows-x86_64.log #buildAll linux x86 #buildAll macos aarch64 diff --git a/src/main.c b/src/main.c index d558f84f5..2a62967c4 100644 --- a/src/main.c +++ b/src/main.c @@ -713,7 +713,7 @@ void showHeader(void) { // 00000000011111111112222222222333333333344444444445555555555666666666677777777778 // 12345678901234567890123456789012345678901234567890123456789012345678901234567890 utilSay(" ___ ___ _ _ ___ ___"); - utilSay("/ __|_ _| \\| |/ __| __| Somewhat Interactive Nostalgic Game Engine %s Beta 1", VERSION_STRING); + utilSay("/ __|_ _| \\| |/ __| __| Somewhat Interactive Nostalgic Game Engine %s Beta 2", VERSION_STRING); utilSay("\\__ \\| || .` | (_ | _| Copyright (c) 2006-%s Scott C. Duensing", COPYRIGHT_END_YEAR); utilSay("|___/___|_|\\_|\\___|___| https://KangarooPunch.com https://SingeEngine.com"); utilSay(""); diff --git a/src/singe.c b/src/singe.c index fca9d7b56..6be7a0e99 100644 --- a/src/singe.c +++ b/src/singe.c @@ -3938,119 +3938,6 @@ void singe(SDL_Window *window, SDL_Renderer *renderer, ConfigT *conf) { _global.luaContext = luaL_newstate(); startLuaContext(_global.luaContext); - // Lua API for Singe - lua_register(_global.luaContext, "colorBackground", apiColorBackground); - lua_register(_global.luaContext, "colorForeground", apiColorForeground); - - lua_register(_global.luaContext, "controllerGetAxis", apiControllerGetAxis); - - lua_register(_global.luaContext, "debugPrint", apiDebugPrint); - - lua_register(_global.luaContext, "discAudio", apiDiscAudio); - lua_register(_global.luaContext, "discChangeSpeed", apiDiscChangeSpeed); - lua_register(_global.luaContext, "discGetFrame", apiDiscGetFrame); - lua_register(_global.luaContext, "discGetHeight", apiDiscGetHeight); - lua_register(_global.luaContext, "discGetState", apiDiscGetState); - lua_register(_global.luaContext, "discGetWidth", apiDiscGetWidth); - lua_register(_global.luaContext, "discPause", apiDiscPause); - lua_register(_global.luaContext, "discPauseAtFrame", apiDiscPauseAtFrame); - lua_register(_global.luaContext, "discPlay", apiDiscPlay); - lua_register(_global.luaContext, "discSearch", apiDiscSearch); - lua_register(_global.luaContext, "discSearchBlanking", apiDiscSearchBlanking); - lua_register(_global.luaContext, "discSetFPS", apiDiscSetFps); - lua_register(_global.luaContext, "discSkipBackward", apiDiscSkipBackward); - lua_register(_global.luaContext, "discSkipBlanking", apiDiscSkipBlanking); - lua_register(_global.luaContext, "discSkipForward", apiDiscSkipForward); - lua_register(_global.luaContext, "discSkipToFrame", apiDiscSkipToFrame); - lua_register(_global.luaContext, "discStepBackward", apiDiscStepBackward); - lua_register(_global.luaContext, "discStepForward", apiDiscStepForward); - lua_register(_global.luaContext, "discStop", apiDiscStop); - - lua_register(_global.luaContext, "fontLoad", apiFontLoad); - lua_register(_global.luaContext, "fontPrint", apiFontPrint); - lua_register(_global.luaContext, "fontQuality", apiFontQuality); - lua_register(_global.luaContext, "fontSelect", apiFontSelect); - lua_register(_global.luaContext, "fontToSprite", apiFontToSprite); - lua_register(_global.luaContext, "fontUnload", apiFontUnload); - - lua_register(_global.luaContext, "keyboardGetMode", apiKeyboardGetMode); - lua_register(_global.luaContext, "keyboardSetMode", apiKeyboardSetMode); - - lua_register(_global.luaContext, "mouseEnable", apiMouseEnable); - lua_register(_global.luaContext, "mouseDisable", apiMouseDisable); - lua_register(_global.luaContext, "mouseGetPosition", apiMouseGetPosition); - lua_register(_global.luaContext, "mouseHowMany", apiMouseHowMany); - lua_register(_global.luaContext, "mouseSetCaptured", apiMouseSetCaptured); - lua_register(_global.luaContext, "mouseSetMode", apiMouseSetMode); - - lua_register(_global.luaContext, "overlayBox", apiOverlayBox); - lua_register(_global.luaContext, "overlayCircle", apiOverlayCircle); - lua_register(_global.luaContext, "overlayClear", apiOverlayClear); - lua_register(_global.luaContext, "overlayEllipse", apiOverlayEllipse); - lua_register(_global.luaContext, "overlayGetHeight", apiOverlayGetHeight); - lua_register(_global.luaContext, "overlayGetWidth", apiOverlayGetWidth); - lua_register(_global.luaContext, "overlayLine", apiOverlayLine); - lua_register(_global.luaContext, "overlayPlot", apiOverlayPlot); - lua_register(_global.luaContext, "overlayPrint", apiOverlayPrint); - lua_register(_global.luaContext, "overlaySetResolution", apiOverlaySetResolution); - - lua_register(_global.luaContext, "scriptExecute", apiScriptExecute); - lua_register(_global.luaContext, "scriptPush", apiScriptPush); - - lua_register(_global.luaContext, "singeDisablePauseKey", apiSingeDisablePauseKey); - lua_register(_global.luaContext, "singeEnablePauseKey", apiSingeEnablePauseKey); - lua_register(_global.luaContext, "singeGetDataPath", apiSingeGetDataPath); - lua_register(_global.luaContext, "singeGetHeight", apiSingeGetHeight); - lua_register(_global.luaContext, "singeGetPauseFlag", apiSingeGetPauseFlag); - lua_register(_global.luaContext, "singeGetScriptPath", apiSingeGetScriptPath); - lua_register(_global.luaContext, "singeGetWidth", apiSingeGetWidth); - lua_register(_global.luaContext, "singeScreenshot", apiSingeScreenshot); - lua_register(_global.luaContext, "singeSetGameName", apiSingeSetGameName); - lua_register(_global.luaContext, "singeSetPauseFlag", apiSingeSetPauseFlag); - lua_register(_global.luaContext, "singeQuit", apiSingeQuit); - lua_register(_global.luaContext, "singeVersion", apiSingeVersion); - lua_register(_global.luaContext, "singeWantsCrosshairs", apiSingeWantsCrosshairs); - - lua_register(_global.luaContext, "soundFullStop", apiSoundFullStop); - lua_register(_global.luaContext, "soundGetVolume", apiSoundGetVolume); - lua_register(_global.luaContext, "soundIsPlaying", apiSoundIsPlaying); - lua_register(_global.luaContext, "soundLoad", apiSoundLoad); - lua_register(_global.luaContext, "soundPause", apiSoundPause); - lua_register(_global.luaContext, "soundPlay", apiSoundPlay); - lua_register(_global.luaContext, "soundResume", apiSoundResume); - lua_register(_global.luaContext, "soundSetVolume", apiSoundSetVolume); - lua_register(_global.luaContext, "soundStop", apiSoundStop); - lua_register(_global.luaContext, "soundUnload", apiSoundUnload); - - lua_register(_global.luaContext, "spriteDraw", apiSpriteDraw); - lua_register(_global.luaContext, "spriteGetHeight", apiSpriteGetHeight); - lua_register(_global.luaContext, "spriteGetWidth", apiSpriteGetWidth); - lua_register(_global.luaContext, "spriteLoad", apiSpriteLoad); - lua_register(_global.luaContext, "spriteQuality", apiSpriteQuality); - lua_register(_global.luaContext, "spriteRotate", apiSpriteRotate); - lua_register(_global.luaContext, "spriteRotateAndScale", apiSpriteRotateAndScale); - lua_register(_global.luaContext, "spriteScale", apiSpriteScale); - lua_register(_global.luaContext, "spriteUnload", apiSpriteUnload); - - lua_register(_global.luaContext, "videoDraw", apiVideoDraw); - lua_register(_global.luaContext, "videoGetFrame", apiVideoGetFrame); - lua_register(_global.luaContext, "videoGetFrameCount", apiVideoGetFrameCount); - lua_register(_global.luaContext, "videoGetHeight", apiVideoGetHeight); - lua_register(_global.luaContext, "videoGetVolume", apiVideoGetVolume); - lua_register(_global.luaContext, "videoGetWidth", apiVideoGetWidth); - lua_register(_global.luaContext, "videoIsPlaying", apiVideoIsPlaying); - lua_register(_global.luaContext, "videoLoad", apiVideoLoad); - lua_register(_global.luaContext, "videoPause", apiVideoPause); - lua_register(_global.luaContext, "videoPlay", apiVideoPlay); - lua_register(_global.luaContext, "videoSeek", apiVideoSeek); - lua_register(_global.luaContext, "videoSetVolume", apiVideoSetVolume); - lua_register(_global.luaContext, "videoUnload", apiVideoUnload); - - lua_register(_global.luaContext, "vldpGetHeight", apiVldpGetHeight); - lua_register(_global.luaContext, "vldpGetPixel", apiVldpGetPixel); - lua_register(_global.luaContext, "vldpGetWidth", apiVldpGetWidth); - lua_register(_global.luaContext, "vldpSetVerbose", apiVldpVerbose); - // Open main video file progTrace("Opening main video file"); doIndexDisplay(-1); @@ -4700,6 +4587,119 @@ void startLuaContext(lua_State *L) { lua_rawseti(L, -2, 1); // Remove the seachers and the package tables from the stack lua_pop(L, 2); + + // Lua API for Singe + lua_register(_global.luaContext, "colorBackground", apiColorBackground); + lua_register(_global.luaContext, "colorForeground", apiColorForeground); + + lua_register(_global.luaContext, "controllerGetAxis", apiControllerGetAxis); + + lua_register(_global.luaContext, "debugPrint", apiDebugPrint); + + lua_register(_global.luaContext, "discAudio", apiDiscAudio); + lua_register(_global.luaContext, "discChangeSpeed", apiDiscChangeSpeed); + lua_register(_global.luaContext, "discGetFrame", apiDiscGetFrame); + lua_register(_global.luaContext, "discGetHeight", apiDiscGetHeight); + lua_register(_global.luaContext, "discGetState", apiDiscGetState); + lua_register(_global.luaContext, "discGetWidth", apiDiscGetWidth); + lua_register(_global.luaContext, "discPause", apiDiscPause); + lua_register(_global.luaContext, "discPauseAtFrame", apiDiscPauseAtFrame); + lua_register(_global.luaContext, "discPlay", apiDiscPlay); + lua_register(_global.luaContext, "discSearch", apiDiscSearch); + lua_register(_global.luaContext, "discSearchBlanking", apiDiscSearchBlanking); + lua_register(_global.luaContext, "discSetFPS", apiDiscSetFps); + lua_register(_global.luaContext, "discSkipBackward", apiDiscSkipBackward); + lua_register(_global.luaContext, "discSkipBlanking", apiDiscSkipBlanking); + lua_register(_global.luaContext, "discSkipForward", apiDiscSkipForward); + lua_register(_global.luaContext, "discSkipToFrame", apiDiscSkipToFrame); + lua_register(_global.luaContext, "discStepBackward", apiDiscStepBackward); + lua_register(_global.luaContext, "discStepForward", apiDiscStepForward); + lua_register(_global.luaContext, "discStop", apiDiscStop); + + lua_register(_global.luaContext, "fontLoad", apiFontLoad); + lua_register(_global.luaContext, "fontPrint", apiFontPrint); + lua_register(_global.luaContext, "fontQuality", apiFontQuality); + lua_register(_global.luaContext, "fontSelect", apiFontSelect); + lua_register(_global.luaContext, "fontToSprite", apiFontToSprite); + lua_register(_global.luaContext, "fontUnload", apiFontUnload); + + lua_register(_global.luaContext, "keyboardGetMode", apiKeyboardGetMode); + lua_register(_global.luaContext, "keyboardSetMode", apiKeyboardSetMode); + + lua_register(_global.luaContext, "mouseEnable", apiMouseEnable); + lua_register(_global.luaContext, "mouseDisable", apiMouseDisable); + lua_register(_global.luaContext, "mouseGetPosition", apiMouseGetPosition); + lua_register(_global.luaContext, "mouseHowMany", apiMouseHowMany); + lua_register(_global.luaContext, "mouseSetCaptured", apiMouseSetCaptured); + lua_register(_global.luaContext, "mouseSetMode", apiMouseSetMode); + + lua_register(_global.luaContext, "overlayBox", apiOverlayBox); + lua_register(_global.luaContext, "overlayCircle", apiOverlayCircle); + lua_register(_global.luaContext, "overlayClear", apiOverlayClear); + lua_register(_global.luaContext, "overlayEllipse", apiOverlayEllipse); + lua_register(_global.luaContext, "overlayGetHeight", apiOverlayGetHeight); + lua_register(_global.luaContext, "overlayGetWidth", apiOverlayGetWidth); + lua_register(_global.luaContext, "overlayLine", apiOverlayLine); + lua_register(_global.luaContext, "overlayPlot", apiOverlayPlot); + lua_register(_global.luaContext, "overlayPrint", apiOverlayPrint); + lua_register(_global.luaContext, "overlaySetResolution", apiOverlaySetResolution); + + lua_register(_global.luaContext, "scriptExecute", apiScriptExecute); + lua_register(_global.luaContext, "scriptPush", apiScriptPush); + + lua_register(_global.luaContext, "singeDisablePauseKey", apiSingeDisablePauseKey); + lua_register(_global.luaContext, "singeEnablePauseKey", apiSingeEnablePauseKey); + lua_register(_global.luaContext, "singeGetDataPath", apiSingeGetDataPath); + lua_register(_global.luaContext, "singeGetHeight", apiSingeGetHeight); + lua_register(_global.luaContext, "singeGetPauseFlag", apiSingeGetPauseFlag); + lua_register(_global.luaContext, "singeGetScriptPath", apiSingeGetScriptPath); + lua_register(_global.luaContext, "singeGetWidth", apiSingeGetWidth); + lua_register(_global.luaContext, "singeScreenshot", apiSingeScreenshot); + lua_register(_global.luaContext, "singeSetGameName", apiSingeSetGameName); + lua_register(_global.luaContext, "singeSetPauseFlag", apiSingeSetPauseFlag); + lua_register(_global.luaContext, "singeQuit", apiSingeQuit); + lua_register(_global.luaContext, "singeVersion", apiSingeVersion); + lua_register(_global.luaContext, "singeWantsCrosshairs", apiSingeWantsCrosshairs); + + lua_register(_global.luaContext, "soundFullStop", apiSoundFullStop); + lua_register(_global.luaContext, "soundGetVolume", apiSoundGetVolume); + lua_register(_global.luaContext, "soundIsPlaying", apiSoundIsPlaying); + lua_register(_global.luaContext, "soundLoad", apiSoundLoad); + lua_register(_global.luaContext, "soundPause", apiSoundPause); + lua_register(_global.luaContext, "soundPlay", apiSoundPlay); + lua_register(_global.luaContext, "soundResume", apiSoundResume); + lua_register(_global.luaContext, "soundSetVolume", apiSoundSetVolume); + lua_register(_global.luaContext, "soundStop", apiSoundStop); + lua_register(_global.luaContext, "soundUnload", apiSoundUnload); + + lua_register(_global.luaContext, "spriteDraw", apiSpriteDraw); + lua_register(_global.luaContext, "spriteGetHeight", apiSpriteGetHeight); + lua_register(_global.luaContext, "spriteGetWidth", apiSpriteGetWidth); + lua_register(_global.luaContext, "spriteLoad", apiSpriteLoad); + lua_register(_global.luaContext, "spriteQuality", apiSpriteQuality); + lua_register(_global.luaContext, "spriteRotate", apiSpriteRotate); + lua_register(_global.luaContext, "spriteRotateAndScale", apiSpriteRotateAndScale); + lua_register(_global.luaContext, "spriteScale", apiSpriteScale); + lua_register(_global.luaContext, "spriteUnload", apiSpriteUnload); + + lua_register(_global.luaContext, "videoDraw", apiVideoDraw); + lua_register(_global.luaContext, "videoGetFrame", apiVideoGetFrame); + lua_register(_global.luaContext, "videoGetFrameCount", apiVideoGetFrameCount); + lua_register(_global.luaContext, "videoGetHeight", apiVideoGetHeight); + lua_register(_global.luaContext, "videoGetVolume", apiVideoGetVolume); + lua_register(_global.luaContext, "videoGetWidth", apiVideoGetWidth); + lua_register(_global.luaContext, "videoIsPlaying", apiVideoIsPlaying); + lua_register(_global.luaContext, "videoLoad", apiVideoLoad); + lua_register(_global.luaContext, "videoPause", apiVideoPause); + lua_register(_global.luaContext, "videoPlay", apiVideoPlay); + lua_register(_global.luaContext, "videoSeek", apiVideoSeek); + lua_register(_global.luaContext, "videoSetVolume", apiVideoSetVolume); + lua_register(_global.luaContext, "videoUnload", apiVideoUnload); + + lua_register(_global.luaContext, "vldpGetHeight", apiVldpGetHeight); + lua_register(_global.luaContext, "vldpGetPixel", apiVldpGetPixel); + lua_register(_global.luaContext, "vldpGetWidth", apiVldpGetWidth); + lua_register(_global.luaContext, "vldpSetVerbose", apiVldpVerbose); }