From f4eac559892f540120e21b5572a5701140848c43 Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Wed, 1 Apr 2026 22:17:42 +0200 Subject: [PATCH] =?UTF-8?q?BFR=202=20(Big=20Fucking=20Restructureixon)=20(?= =?UTF-8?q?dos)=20Este=20es=20el=20primer=20commit=20de=20la=20reestructur?= =?UTF-8?q?aci=C3=B3.=20En=20caso=20de=20p=C3=A1nico,=20tornar=20al=20comm?= =?UTF-8?q?it=20anterior.=20-=20[FIX]=20Llevada=20basura=20varia=20(pos=20?= =?UTF-8?q?no=20en=20queda...)=20-=20[NEW]=20mogut=20el=20codi=20font=20a?= =?UTF-8?q?=20./source/=20-=20[NEW]=20lagueirtofile=20nou=20per=20a=20comp?= =?UTF-8?q?ilar=20en=20windows=20y=20linux,=20release=20i=20debug.=20mac?= =?UTF-8?q?=20res,=20que=20no=20se=20ni=20si=20funciona=20lagueirto.=20-?= =?UTF-8?q?=20[NEW]=20WARNING!!!=20make=20ja=20no=20funciona.=20Mantinc=20?= =?UTF-8?q?encara=20el=20Makefile=20per=20a=20refer=C3=A8ncia.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lagueirtofile | 30 +++- .../default_font_fnt.h | 0 .../default_font_gif.h | 0 gif.h => source/gif.h | 0 gifenc.h => source/gifenc.h | 0 jail_audio.cpp => source/jail_audio.cpp | 0 jail_audio.h => source/jail_audio.h | 0 jfile.cpp => source/jfile.cpp | 0 jfile.h => source/jfile.h | 0 jshader.cpp => source/jshader.cpp | 0 jshader.h => source/jshader.h | 0 log.h => source/log.h | 0 lua.cpp => source/lua.cpp | 8 +- lua.h => source/lua.h | 0 {lua => source/lua}/lapi.c | 0 {lua => source/lua}/lapi.h | 0 {lua => source/lua}/lauxlib.c | 0 {lua => source/lua}/lauxlib.h | 0 {lua => source/lua}/lbaselib.c | 0 {lua => source/lua}/lcode.c | 0 {lua => source/lua}/lcode.h | 0 {lua => source/lua}/lcorolib.c | 0 {lua => source/lua}/lctype.c | 0 {lua => source/lua}/lctype.h | 0 {lua => source/lua}/ldblib.c | 0 {lua => source/lua}/ldebug.c | 0 {lua => source/lua}/ldebug.h | 0 {lua => source/lua}/ldo.c | 0 {lua => source/lua}/ldo.h | 0 {lua => source/lua}/ldump.c | 0 {lua => source/lua}/lfunc.c | 0 {lua => source/lua}/lfunc.h | 0 {lua => source/lua}/lgc.c | 0 {lua => source/lua}/lgc.h | 0 {lua => source/lua}/linit.c | 0 {lua => source/lua}/liolib.c | 0 {lua => source/lua}/ljumptab.h | 0 {lua => source/lua}/llex.c | 0 {lua => source/lua}/llex.h | 0 {lua => source/lua}/llimits.h | 0 {lua => source/lua}/lmathlib.c | 0 {lua => source/lua}/lmem.c | 0 {lua => source/lua}/lmem.h | 0 {lua => source/lua}/loadlib.c | 0 {lua => source/lua}/lobject.c | 0 {lua => source/lua}/lobject.h | 0 {lua => source/lua}/lopcodes.c | 0 {lua => source/lua}/lopcodes.h | 0 {lua => source/lua}/lopnames.h | 0 {lua => source/lua}/loslib.c | 0 {lua => source/lua}/lparser.c | 0 {lua => source/lua}/lparser.h | 0 {lua => source/lua}/lprefix.h | 0 {lua => source/lua}/lstate.c | 0 {lua => source/lua}/lstate.h | 0 {lua => source/lua}/lstring.c | 0 {lua => source/lua}/lstring.h | 0 {lua => source/lua}/lstrlib.c | 0 {lua => source/lua}/ltable.c | 0 {lua => source/lua}/ltable.h | 0 {lua => source/lua}/ltablib.c | 0 {lua => source/lua}/ltm.c | 0 {lua => source/lua}/ltm.h | 0 {lua => source/lua}/lua.h | 0 {lua => source/lua}/lua.hpp | 0 {lua => source/lua}/luaconf.h | 0 {lua => source/lua}/lualib.h | 0 {lua => source/lua}/lundump.c | 0 {lua => source/lua}/lundump.h | 0 {lua => source/lua}/lutf8lib.c | 0 {lua => source/lua}/lvm.c | 0 {lua => source/lua}/lvm.h | 0 {lua => source/lua}/lzio.c | 0 {lua => source/lua}/lzio.h | 0 main.cpp => source/main.cpp | 0 mini.cpp => source/mini.cpp | 170 ++++-------------- mini.h => source/mini.h | 1 - stb_vorbis.h => source/stb_vorbis.h | 0 version.h => source/version.h | 0 79 files changed, 61 insertions(+), 148 deletions(-) rename default_font_fnt.h => source/default_font_fnt.h (100%) rename default_font_gif.h => source/default_font_gif.h (100%) rename gif.h => source/gif.h (100%) rename gifenc.h => source/gifenc.h (100%) rename jail_audio.cpp => source/jail_audio.cpp (100%) rename jail_audio.h => source/jail_audio.h (100%) rename jfile.cpp => source/jfile.cpp (100%) rename jfile.h => source/jfile.h (100%) rename jshader.cpp => source/jshader.cpp (100%) rename jshader.h => source/jshader.h (100%) rename log.h => source/log.h (100%) rename lua.cpp => source/lua.cpp (99%) rename lua.h => source/lua.h (100%) rename {lua => source/lua}/lapi.c (100%) rename {lua => source/lua}/lapi.h (100%) rename {lua => source/lua}/lauxlib.c (100%) rename {lua => source/lua}/lauxlib.h (100%) rename {lua => source/lua}/lbaselib.c (100%) rename {lua => source/lua}/lcode.c (100%) rename {lua => source/lua}/lcode.h (100%) rename {lua => source/lua}/lcorolib.c (100%) rename {lua => source/lua}/lctype.c (100%) rename {lua => source/lua}/lctype.h (100%) rename {lua => source/lua}/ldblib.c (100%) rename {lua => source/lua}/ldebug.c (100%) rename {lua => source/lua}/ldebug.h (100%) rename {lua => source/lua}/ldo.c (100%) rename {lua => source/lua}/ldo.h (100%) rename {lua => source/lua}/ldump.c (100%) rename {lua => source/lua}/lfunc.c (100%) rename {lua => source/lua}/lfunc.h (100%) rename {lua => source/lua}/lgc.c (100%) rename {lua => source/lua}/lgc.h (100%) rename {lua => source/lua}/linit.c (100%) rename {lua => source/lua}/liolib.c (100%) rename {lua => source/lua}/ljumptab.h (100%) rename {lua => source/lua}/llex.c (100%) rename {lua => source/lua}/llex.h (100%) rename {lua => source/lua}/llimits.h (100%) rename {lua => source/lua}/lmathlib.c (100%) rename {lua => source/lua}/lmem.c (100%) rename {lua => source/lua}/lmem.h (100%) rename {lua => source/lua}/loadlib.c (100%) rename {lua => source/lua}/lobject.c (100%) rename {lua => source/lua}/lobject.h (100%) rename {lua => source/lua}/lopcodes.c (100%) rename {lua => source/lua}/lopcodes.h (100%) rename {lua => source/lua}/lopnames.h (100%) rename {lua => source/lua}/loslib.c (100%) rename {lua => source/lua}/lparser.c (100%) rename {lua => source/lua}/lparser.h (100%) rename {lua => source/lua}/lprefix.h (100%) rename {lua => source/lua}/lstate.c (100%) rename {lua => source/lua}/lstate.h (100%) rename {lua => source/lua}/lstring.c (100%) rename {lua => source/lua}/lstring.h (100%) rename {lua => source/lua}/lstrlib.c (100%) rename {lua => source/lua}/ltable.c (100%) rename {lua => source/lua}/ltable.h (100%) rename {lua => source/lua}/ltablib.c (100%) rename {lua => source/lua}/ltm.c (100%) rename {lua => source/lua}/ltm.h (100%) rename {lua => source/lua}/lua.h (100%) rename {lua => source/lua}/lua.hpp (100%) rename {lua => source/lua}/luaconf.h (100%) rename {lua => source/lua}/lualib.h (100%) rename {lua => source/lua}/lundump.c (100%) rename {lua => source/lua}/lundump.h (100%) rename {lua => source/lua}/lutf8lib.c (100%) rename {lua => source/lua}/lvm.c (100%) rename {lua => source/lua}/lvm.h (100%) rename {lua => source/lua}/lzio.c (100%) rename {lua => source/lua}/lzio.h (100%) rename main.cpp => source/main.cpp (100%) rename mini.cpp => source/mini.cpp (90%) rename mini.h => source/mini.h (99%) rename stb_vorbis.h => source/stb_vorbis.h (100%) rename version.h => source/version.h (100%) diff --git a/lagueirtofile b/lagueirtofile index 842cb31..c6137af 100644 --- a/lagueirtofile +++ b/lagueirtofile @@ -1,5 +1,27 @@ -libs = -lSDL3 -lGL -cppflags = -D LUA_USE_LINUX -D DEBUG -g -Wall -std=c++20 -executable = mini_debug -sourcepath = . lua +[linux] +cppflags = -D LUA_USE_LINUX -Wall -Os -ffunction-sections -fdata-sections -std=c++20 +libs = -Wl,--gc-sections -lSDL3 -lGL +executable = mini +sourcepath = source+ +buildpath = build + +[linux_debug] default +cppflags = -D LUA_USE_LINUX -D DEBUG -g -Wall -std=c++20 +libs = -lSDL3 -lGL +executable = mini_debug +sourcepath = source+ +buildpath = build + +[windows] +cppflags = -Wall -Os -ffunction-sections -fdata-sections -std=c++20 +libs = icon.res -Wl,--gc-sections -lmingw32 -lSDL3 -lopengl32 -static-libstdc++ -static-libgcc -lpthread -mwindows +executable = mini.exe +sourcepath = source+ +buildpath = build + +[windows_debug] +cppflags = -D DEBUG -g -Wall -std=c++20 +libs = -lmingw32 -lSDL3 -lopengl32 +executable = mini_debug.exe +sourcepath = source+ buildpath = build diff --git a/default_font_fnt.h b/source/default_font_fnt.h similarity index 100% rename from default_font_fnt.h rename to source/default_font_fnt.h diff --git a/default_font_gif.h b/source/default_font_gif.h similarity index 100% rename from default_font_gif.h rename to source/default_font_gif.h diff --git a/gif.h b/source/gif.h similarity index 100% rename from gif.h rename to source/gif.h diff --git a/gifenc.h b/source/gifenc.h similarity index 100% rename from gifenc.h rename to source/gifenc.h diff --git a/jail_audio.cpp b/source/jail_audio.cpp similarity index 100% rename from jail_audio.cpp rename to source/jail_audio.cpp diff --git a/jail_audio.h b/source/jail_audio.h similarity index 100% rename from jail_audio.h rename to source/jail_audio.h diff --git a/jfile.cpp b/source/jfile.cpp similarity index 100% rename from jfile.cpp rename to source/jfile.cpp diff --git a/jfile.h b/source/jfile.h similarity index 100% rename from jfile.h rename to source/jfile.h diff --git a/jshader.cpp b/source/jshader.cpp similarity index 100% rename from jshader.cpp rename to source/jshader.cpp diff --git a/jshader.h b/source/jshader.h similarity index 100% rename from jshader.h rename to source/jshader.h diff --git a/log.h b/source/log.h similarity index 100% rename from log.h rename to source/log.h diff --git a/lua.cpp b/source/lua.cpp similarity index 99% rename from lua.cpp rename to source/lua.cpp index 9984144..18f84ed 100644 --- a/lua.cpp +++ b/source/lua.cpp @@ -1844,12 +1844,8 @@ extern "C" { const char* str = luaL_checkstring(L, 1); int x = luaL_checknumber(L, 2); int y = luaL_checknumber(L, 3); - if (lua_gettop(L) > 3) { - uint8_t color = luaL_checkinteger(L, 4); - print(str, x, y, color); - } else { - print(str, x, y); - } + uint8_t color = luaL_checkinteger(L, 4); + print(str, x, y, color); return 0; } diff --git a/lua.h b/source/lua.h similarity index 100% rename from lua.h rename to source/lua.h diff --git a/lua/lapi.c b/source/lua/lapi.c similarity index 100% rename from lua/lapi.c rename to source/lua/lapi.c diff --git a/lua/lapi.h b/source/lua/lapi.h similarity index 100% rename from lua/lapi.h rename to source/lua/lapi.h diff --git a/lua/lauxlib.c b/source/lua/lauxlib.c similarity index 100% rename from lua/lauxlib.c rename to source/lua/lauxlib.c diff --git a/lua/lauxlib.h b/source/lua/lauxlib.h similarity index 100% rename from lua/lauxlib.h rename to source/lua/lauxlib.h diff --git a/lua/lbaselib.c b/source/lua/lbaselib.c similarity index 100% rename from lua/lbaselib.c rename to source/lua/lbaselib.c diff --git a/lua/lcode.c b/source/lua/lcode.c similarity index 100% rename from lua/lcode.c rename to source/lua/lcode.c diff --git a/lua/lcode.h b/source/lua/lcode.h similarity index 100% rename from lua/lcode.h rename to source/lua/lcode.h diff --git a/lua/lcorolib.c b/source/lua/lcorolib.c similarity index 100% rename from lua/lcorolib.c rename to source/lua/lcorolib.c diff --git a/lua/lctype.c b/source/lua/lctype.c similarity index 100% rename from lua/lctype.c rename to source/lua/lctype.c diff --git a/lua/lctype.h b/source/lua/lctype.h similarity index 100% rename from lua/lctype.h rename to source/lua/lctype.h diff --git a/lua/ldblib.c b/source/lua/ldblib.c similarity index 100% rename from lua/ldblib.c rename to source/lua/ldblib.c diff --git a/lua/ldebug.c b/source/lua/ldebug.c similarity index 100% rename from lua/ldebug.c rename to source/lua/ldebug.c diff --git a/lua/ldebug.h b/source/lua/ldebug.h similarity index 100% rename from lua/ldebug.h rename to source/lua/ldebug.h diff --git a/lua/ldo.c b/source/lua/ldo.c similarity index 100% rename from lua/ldo.c rename to source/lua/ldo.c diff --git a/lua/ldo.h b/source/lua/ldo.h similarity index 100% rename from lua/ldo.h rename to source/lua/ldo.h diff --git a/lua/ldump.c b/source/lua/ldump.c similarity index 100% rename from lua/ldump.c rename to source/lua/ldump.c diff --git a/lua/lfunc.c b/source/lua/lfunc.c similarity index 100% rename from lua/lfunc.c rename to source/lua/lfunc.c diff --git a/lua/lfunc.h b/source/lua/lfunc.h similarity index 100% rename from lua/lfunc.h rename to source/lua/lfunc.h diff --git a/lua/lgc.c b/source/lua/lgc.c similarity index 100% rename from lua/lgc.c rename to source/lua/lgc.c diff --git a/lua/lgc.h b/source/lua/lgc.h similarity index 100% rename from lua/lgc.h rename to source/lua/lgc.h diff --git a/lua/linit.c b/source/lua/linit.c similarity index 100% rename from lua/linit.c rename to source/lua/linit.c diff --git a/lua/liolib.c b/source/lua/liolib.c similarity index 100% rename from lua/liolib.c rename to source/lua/liolib.c diff --git a/lua/ljumptab.h b/source/lua/ljumptab.h similarity index 100% rename from lua/ljumptab.h rename to source/lua/ljumptab.h diff --git a/lua/llex.c b/source/lua/llex.c similarity index 100% rename from lua/llex.c rename to source/lua/llex.c diff --git a/lua/llex.h b/source/lua/llex.h similarity index 100% rename from lua/llex.h rename to source/lua/llex.h diff --git a/lua/llimits.h b/source/lua/llimits.h similarity index 100% rename from lua/llimits.h rename to source/lua/llimits.h diff --git a/lua/lmathlib.c b/source/lua/lmathlib.c similarity index 100% rename from lua/lmathlib.c rename to source/lua/lmathlib.c diff --git a/lua/lmem.c b/source/lua/lmem.c similarity index 100% rename from lua/lmem.c rename to source/lua/lmem.c diff --git a/lua/lmem.h b/source/lua/lmem.h similarity index 100% rename from lua/lmem.h rename to source/lua/lmem.h diff --git a/lua/loadlib.c b/source/lua/loadlib.c similarity index 100% rename from lua/loadlib.c rename to source/lua/loadlib.c diff --git a/lua/lobject.c b/source/lua/lobject.c similarity index 100% rename from lua/lobject.c rename to source/lua/lobject.c diff --git a/lua/lobject.h b/source/lua/lobject.h similarity index 100% rename from lua/lobject.h rename to source/lua/lobject.h diff --git a/lua/lopcodes.c b/source/lua/lopcodes.c similarity index 100% rename from lua/lopcodes.c rename to source/lua/lopcodes.c diff --git a/lua/lopcodes.h b/source/lua/lopcodes.h similarity index 100% rename from lua/lopcodes.h rename to source/lua/lopcodes.h diff --git a/lua/lopnames.h b/source/lua/lopnames.h similarity index 100% rename from lua/lopnames.h rename to source/lua/lopnames.h diff --git a/lua/loslib.c b/source/lua/loslib.c similarity index 100% rename from lua/loslib.c rename to source/lua/loslib.c diff --git a/lua/lparser.c b/source/lua/lparser.c similarity index 100% rename from lua/lparser.c rename to source/lua/lparser.c diff --git a/lua/lparser.h b/source/lua/lparser.h similarity index 100% rename from lua/lparser.h rename to source/lua/lparser.h diff --git a/lua/lprefix.h b/source/lua/lprefix.h similarity index 100% rename from lua/lprefix.h rename to source/lua/lprefix.h diff --git a/lua/lstate.c b/source/lua/lstate.c similarity index 100% rename from lua/lstate.c rename to source/lua/lstate.c diff --git a/lua/lstate.h b/source/lua/lstate.h similarity index 100% rename from lua/lstate.h rename to source/lua/lstate.h diff --git a/lua/lstring.c b/source/lua/lstring.c similarity index 100% rename from lua/lstring.c rename to source/lua/lstring.c diff --git a/lua/lstring.h b/source/lua/lstring.h similarity index 100% rename from lua/lstring.h rename to source/lua/lstring.h diff --git a/lua/lstrlib.c b/source/lua/lstrlib.c similarity index 100% rename from lua/lstrlib.c rename to source/lua/lstrlib.c diff --git a/lua/ltable.c b/source/lua/ltable.c similarity index 100% rename from lua/ltable.c rename to source/lua/ltable.c diff --git a/lua/ltable.h b/source/lua/ltable.h similarity index 100% rename from lua/ltable.h rename to source/lua/ltable.h diff --git a/lua/ltablib.c b/source/lua/ltablib.c similarity index 100% rename from lua/ltablib.c rename to source/lua/ltablib.c diff --git a/lua/ltm.c b/source/lua/ltm.c similarity index 100% rename from lua/ltm.c rename to source/lua/ltm.c diff --git a/lua/ltm.h b/source/lua/ltm.h similarity index 100% rename from lua/ltm.h rename to source/lua/ltm.h diff --git a/lua/lua.h b/source/lua/lua.h similarity index 100% rename from lua/lua.h rename to source/lua/lua.h diff --git a/lua/lua.hpp b/source/lua/lua.hpp similarity index 100% rename from lua/lua.hpp rename to source/lua/lua.hpp diff --git a/lua/luaconf.h b/source/lua/luaconf.h similarity index 100% rename from lua/luaconf.h rename to source/lua/luaconf.h diff --git a/lua/lualib.h b/source/lua/lualib.h similarity index 100% rename from lua/lualib.h rename to source/lua/lualib.h diff --git a/lua/lundump.c b/source/lua/lundump.c similarity index 100% rename from lua/lundump.c rename to source/lua/lundump.c diff --git a/lua/lundump.h b/source/lua/lundump.h similarity index 100% rename from lua/lundump.h rename to source/lua/lundump.h diff --git a/lua/lutf8lib.c b/source/lua/lutf8lib.c similarity index 100% rename from lua/lutf8lib.c rename to source/lua/lutf8lib.c diff --git a/lua/lvm.c b/source/lua/lvm.c similarity index 100% rename from lua/lvm.c rename to source/lua/lvm.c diff --git a/lua/lvm.h b/source/lua/lvm.h similarity index 100% rename from lua/lvm.h rename to source/lua/lvm.h diff --git a/lua/lzio.c b/source/lua/lzio.c similarity index 100% rename from lua/lzio.c rename to source/lua/lzio.c diff --git a/lua/lzio.h b/source/lua/lzio.h similarity index 100% rename from lua/lzio.h rename to source/lua/lzio.h diff --git a/main.cpp b/source/main.cpp similarity index 100% rename from main.cpp rename to source/main.cpp diff --git a/mini.cpp b/source/mini.cpp similarity index 90% rename from mini.cpp rename to source/mini.cpp index 829634c..35f0b08 100644 --- a/mini.cpp +++ b/source/mini.cpp @@ -70,9 +70,6 @@ uint8_t tile_height = 8; font_t fonts[MAX_FONTS]; font_t *current_font; -FILE *file = NULL; -//uint8_t file_mode = 0; -bool file_ignore_comma=true; char main_lua_file[200] = "main.lua"; bool override_ini = false; @@ -90,7 +87,6 @@ namespace ds { uint8_t back_color = 0; int origin[2] = {0, 0}; int clip[4] = {0, 0, screen_width-1, screen_height-1}; // clip (x1,y1,x2,y2) calculat intersectat amb el tamany de la surface 'dest' - int clp[4] = {0, 0, screen_width, screen_height}; // clip (x1,y1,w,h) que ha especificat l'usuari uint8_t trans = 0; uint16_t fill_pattern = 0b1111111111111111; bool fill_trans = false; @@ -114,14 +110,14 @@ int pitch; uint32_t palette[256] = { 0xFF1a1c2c, 0xFF5d275d, 0xFFb13e53, 0xFFef7d57, 0xFFffcd75, 0xFFa7f070, 0xFF38b764, 0xFF257179, 0xFF29366f, 0xFF3b5dc9, 0xFF41a6f6, 0xFF73eff7, 0xFFf4f4f4, 0xFF94b0c2, 0xFF566c86, 0xFF333c57 }; -const char base64[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - -char base64font[241] = "00@B@]0X__OnZDYK[G10:9BTDEG5j20@1h000RB:_]OBjW?odl]Wlil9_oTT__omT@@02:DA477ADid@Z=nm]_[g9a[]oIi?;a9m]_mBjGB[M]99o_][]e]M" - "_?A]c_[eiLGBZ]e]mZ]o]Z]mlW:O9IABdTdZ000hR00__H[7?iH]3Oih;1?mXm5GjhB3M]897o]H]5^Mhm1ZchM5>LhB2]eXm2]oXZ5mlhLhB2]eXm2]oXZ5mlh=dest_surface->w) ds::clip[2]=dest_surface->w-1; @@ -572,8 +555,6 @@ void createDisplay() { windowID = SDL_GetWindowID(mini_win); SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"); mini_ren = SDL_CreateRenderer(mini_win, NULL); - //SDL_CreateWindowAndRenderer(512,512,0,&mini_win,&mini_ren); - //SDL_SetRenderLogicalPresentation(mini_ren, screen_width, screen_height); if (screen_cursor) SDL_ShowCursor(); else SDL_HideCursor(); mini_bak = SDL_CreateTexture(mini_ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, screen_width, screen_height); SDL_SetTextureScaleMode(mini_bak, SDL_SCALEMODE_NEAREST); @@ -585,15 +566,13 @@ void createDisplay() { } mini_shadertex = SDL_CreateTexture(mini_ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_TARGET, screen_width*screen_zoom, screen_height*screen_zoom); SDL_SetTextureScaleMode(mini_shadertex, SDL_SCALEMODE_NEAREST); - - //int filesize; - //char *shaderfile = file_getfilebuffer("lynx.glsl", filesize); shader::init(mini_win, mini_shadertex, nullptr); - //SDL_GetWindowPosition(mini_win, &windowpos_x, &windowpos_y); + log_msg(LOG_OK, "Graphics subsystem initialized\n"); } void destroyDisplay() { + SDL_DestroyTexture(mini_shadertex); SDL_DestroyTexture(mini_bak); SDL_DestroyRenderer(mini_ren); SDL_DestroyWindow(mini_win); @@ -619,13 +598,12 @@ void initGamePad() { int main(int argc,char*argv[]){ #ifdef DEBUG - SDL_SetLogPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_DEBUG); + SDL_SetLogPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_DEBUG); + log_msg(LOG_UNSALTED, "MINI v%s\n",MINI_VERSION); #endif -#ifdef DEBUG - log_msg(LOG_UNSALTED, "MINI v%s\n",MINI_VERSION); -#endif - + // Gestió de arguments + // =============================================================== if (argc>1) { if (argv[1][0]=='-' && argv[1][1]=='-') { @@ -634,7 +612,6 @@ int main(int argc,char*argv[]){ createNewProject(); exit(0); } else if (strcmp(command, "version")==0) { - //createNewProject(); exit(0); } } else if (strstr(argv[1], ".lua")!=nullptr) { @@ -646,35 +623,32 @@ int main(int argc,char*argv[]){ } else if (strstr(argv[1], ".jf2")!=nullptr) { file_setresourcefilename(argv[1]); file_setsource(SOURCE_FILE); - //strcpy(main_lua_file, argv[1]); - //strcpy(window_title, argv[1]); - //override_ini = true; } else { char path[256] = "./"; strcat(path, argv[1]); file_setresourcefolder(path); } } + #ifdef MACOS_BUNDLE + char res_file[255] = ""; + strcpy(res_file, dirname(argv[0])); + strcat(res_file, "/../Resources/data.jrf"); + file_setresourcefilename(res_file); + #endif - //screen_surface = &surfaces.emplace_back(); while (!should_quit) { should_exit=false; // initfont() - int bi = 0; - for (int ci=0; ci<96; ci+=2) { - font[ci] = base64font[bi] - 48 + ( ( base64font[bi+1] - 48 ) << 6) + ( ( ( base64font[bi+2] - 48 ) & 7 ) << 12 ); - font[ci+1] = ( ( base64font[bi+2] - 48 ) >> 3 ) + ( ( base64font[bi+3] - 48 ) << 3 ) + ( ( base64font[bi+4] - 48 ) << 9 ); - bi += 5; - } + //int bi = 0; + //for (int ci=0; ci<96; ci+=2) { + // font[ci] = base64font[bi] - 48 + ( ( base64font[bi+1] - 48 ) << 6) + ( ( ( base64font[bi+2] - 48 ) & 7 ) << 12 ); + // font[ci+1] = ( ( base64font[bi+2] - 48 ) >> 3 ) + ( ( base64font[bi+3] - 48 ) << 3 ) + ( ( base64font[bi+4] - 48 ) << 9 ); + // bi += 5; + //} -#ifdef MACOS_BUNDLE - char res_file[255] = ""; - strcpy(res_file, dirname(argv[0])); - strcat(res_file, "/../Resources/data.jrf"); - file_setresourcefilename(res_file); -#endif + // READ INI if (!override_ini) { read_ini(); @@ -691,8 +665,6 @@ int main(int argc,char*argv[]){ if (sound_enabled) JA_EnableSound(strcmp(sound_enabled, "true")==0?true:false); } - setdest(newsurf(screen_width, screen_height)); - SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_GAMEPAD); const SDL_DisplayMode *dm = SDL_GetDesktopDisplayMode(SDL_GetPrimaryDisplay()); @@ -703,10 +675,6 @@ int main(int argc,char*argv[]){ initGamePad(); - //Mix_Init(MIX_INIT_OGG); - - SDL_Event mini_eve; - reinit(); initaudio(); @@ -725,9 +693,11 @@ int main(int argc,char*argv[]){ mouse_wheel = 0; double_click = false; has_text_input = false; + while(!should_exit) { if (update_mode==UPDATE_WAIT) SDL_WaitEvent(NULL); else if (update_mode==UPDATE_TIMEOUT) SDL_WaitEventTimeout(NULL, timeout); + SDL_Event mini_eve; while(SDL_PollEvent(&mini_eve)) { if (mini_eve.type == SDL_EVENT_QUIT) { should_exit=true; should_quit=true; break; } if (mini_eve.type == SDL_EVENT_TEXT_INPUT) { @@ -738,13 +708,6 @@ int main(int argc,char*argv[]){ #ifdef DEBUG if (mini_eve.key.scancode == SDL_SCANCODE_F12) { reloadsurfs(); - //if (lua_is_playing()) { - // lua_quit(); - // quitaudio(); - // reinit(); - //} else { - // should_exit=true; - //} } else if (mini_eve.key.scancode == SDL_SCANCODE_F11) { lua_toggle_debug(); } else if (mini_eve.key.scancode == SDL_SCANCODE_F5) { @@ -849,12 +812,6 @@ void simple_pset(int x, int y, uint8_t color) { void cls(uint8_t color) { const uint8_t col = ds::draw_palette[color]; - /*for (int y=ds::clip[1]; y<=ds::clip[3];++y) { - for (int x=ds::clip[0]; x<=ds::clip[2];++x) { - simple_pset(x,y,col); - } - }*/ - SDL_memset(dest_surface->p, col, dest_surface->size); } @@ -1059,63 +1016,6 @@ void fillp(uint16_t pat, bool transparent) { ds::fill_pattern = pat; } -void print_symbol(char sym, int x, int y) { - switch(sym) { - case 1: pset(x, y-3); pset(x+1, y-2); break; - case 2: pset(x+1, y-2); pset(x+2, y-3); break; - case 3: pset(x+1, y+5); break; - case 4: pset(x, y-2); pset(x+1, y-2); pset(x+2, y-2); break; - case 5: pset(x, y-2); pset(x+1, y-1); break; - case 6: pset(x+1, y-1); pset(x+2, y-2); break; - case 7: pset(x, y-1); pset(x+1, y-1); pset(x+2, y-1); break; - } -} - -void print_char(char chr, int x, int y) { - int xi = 0, yi = 0; - uint16_t val = 1; - while(1) { - if (font[chr-32] & val) pset(x+xi, y+yi); - if (xi<2) xi++; else { if (yi==4) return; else { xi=0; yi++; } } - val <<= 1; - } -} - -void print_char_hv(char chr, int x, int y) { - int xi = 0, yi = 0; - uint16_t val = 1; - while(1) { - if (font[chr-32] & val) pset(x+(2-xi), y+(4-yi)); - if (xi<2) xi++; else { if (yi==4) return; else { xi=0; yi++; } } - val <<= 1; - } -} - -const char t195_char[]={65,65,0,0,0,0,0,67,69,69,0,0,73,73,0,0,0,78,79,79,0,0,0,0,0,85,85,0,0,0,0,0,97,97,0,0,0,0,0,99,101,101,0,0,105,105,0,0,0,110,111,111,0,0,0,0,0,117,117,0,0,0,0,0}; -const char t195_symbol[]={1,2,0,0,0,0,0,3,1,2,0,0,1,2,0,0,0,4,1,2,0,0,0,0,0,1,2,0,0,0,0,0,5,6,0,0,0,0,0,3,5,6,0,0,5,6,0,0,0,7,5,6,0,0,0,0,0,5,6,0,0,0,0,0}; - -void print(const char *str, int x, int y) { - int pos=0; - for (size_t i=0; i < SDL_strlen(str); ++i) { - if ((unsigned char)str[i]==194) { - i++; - if ((unsigned char)str[i]==161) print_char_hv('!', x+pos*4, y); - else if ((unsigned char)str[i]==191) print_char_hv('?', x+pos*4, y); - } else if ((unsigned char)str[i]==195) { - i++; - print_char(t195_char[(unsigned char)str[i]-128], x+pos*4, y); - print_symbol(t195_symbol[(unsigned char)str[i]-128], x+pos*4, y); - } else { - print_char(str[i], x+pos*4, y); - } - pos++; - } -} -void old_print(const char *str, int x, int y, uint8_t color) { - ds::pen_color=color; - print(str, x, y); -} - const uint8_t printchar(uint8_t c, int x, int y) { char_t &chr = current_font->chars[c]; blit(chr.x, chr.y, chr.w, chr.h, x, y-chr.base); @@ -1150,12 +1050,12 @@ void print(const char* str, int x, int y, uint8_t color) { } void clip(int x, int y, int w, int h) { - ds::clp[0] = x; ds::clp[1] = y; ds::clp[2] = w; ds::clp[3] = h; + ds::clip[0] = x; ds::clip[1] = y; ds::clip[2] = w-x-1; ds::clip[3] = h-y-1; recalculate_clip(); } void clip() { - ds::clp[0] = ds::clp[1] = 0; ds::clp[2] = dest_surface->w; ds::clp[3] = dest_surface->h; + ds::clip[0] = ds::clip[1] = 0; ds::clip[2] = dest_surface->w-1; ds::clip[3] = dest_surface->h-1; recalculate_clip(); } @@ -1776,10 +1676,6 @@ bool beat(int16_t i) { } } -int rnd(int x) { - return rand()%x; -} - int getfps() { return fps; } diff --git a/mini.h b/source/mini.h similarity index 99% rename from mini.h rename to source/mini.h index 74dcd46..e535f8a 100644 --- a/mini.h +++ b/source/mini.h @@ -256,7 +256,6 @@ bool minside(int x, int y, int w, int h); float time(); bool beat(int16_t i); -int rnd(int x); int getfps(); void playmusic(const char *filename, const int loop=-1); diff --git a/stb_vorbis.h b/source/stb_vorbis.h similarity index 100% rename from stb_vorbis.h rename to source/stb_vorbis.h diff --git a/version.h b/source/version.h similarity index 100% rename from version.h rename to source/version.h