From deed0e20139a93547dac62bd8b517a505186b7b6 Mon Sep 17 00:00:00 2001 From: jacob Date: Tue, 12 Aug 2025 05:12:52 -0500 Subject: [PATCH] meta layer progress --- .natvis | 66 ------------------------------------------------- build.bat | 14 +++++------ src/meta/meta.c | 20 +++++++++------ 3 files changed, 19 insertions(+), 81 deletions(-) delete mode 100644 .natvis diff --git a/.natvis b/.natvis deleted file mode 100644 index 19187357..00000000 --- a/.natvis +++ /dev/null @@ -1,66 +0,0 @@ - - - - - ({x}, {y}) - - - - ({len}) {text, [len] s} - text, [len] s - - - - ({len}) {text, [len] su} - text, [len] su - - - - pos: {pos}, committed: [{committed} / {reserved}] - - (((u8 *)this) + 64), [pos] s - (((u8 *)this) + 64), [pos+100] s - - - - - start: {start_pos}, arena: {{{*arena}}} - - (((u8 *)arena) + start_pos + 64), [arena->pos - start_pos] - (((u8 *)arena) + start_pos + 64), [arena->pos - start_pos + 100] - arena->pos - start_pos - - - - - bits: [{cur_bit} / {data_nbits}], bytes: [{cur_bit / 8} / {data_nbits / 8}] - - - (cur_bit + 7) / 8 - data, bb - - - - - - [{(u32)(hi >> 32), xb}]{((u32)(hi & 0xFFFFFFFF)), xb}{lo, xb} - - hi, x - lo, x - - - - - [NIL] - [ROOT] - [{(u32)(uid.hi >> 32), xb}] - - - - ~~~MISMATCH~~~ {id} <{this - this->ss->ents}> - ~~~MISMATCH~~~ {id} <{this - this->ss->ents}> - {id} - {id} <{this - this->ss->ents}> - - - diff --git a/build.bat b/build.bat index 965b3c0c..981736cd 100644 --- a/build.bat +++ b/build.bat @@ -8,27 +8,27 @@ if not exist build mkdir build for %%a in (%*) do set "%%a=1" -if "%~1"=="" ( +if "%~1" == "" ( echo [No arguments provided, assuming default `pp` build] set meta=1 set pp=1 ) -if "%~1"=="release" if "%~2"=="" ( +if "%~1" == "release" if "%~2" == "" ( echo [No arguments provided, assuming default 'pp' build] set meta=1 set pp=1 ) -if not "%release%"=="1" set debug=1 +if not "%release%" == "1" set debug=1 -if "%release%"=="1" echo [Release] -if "%debug%"=="1" echo [Debug] +if "%release%" == "1" echo [Release] +if "%debug%" == "1" echo [Debug] :::::::::::::::::::::::::::::::: ::~ Build meta program -if "%meta%"=="1" ( +if "%meta%" == "1" ( echo [Building meta] :: cl.exe /Fe"build/" /Fo"build/" /c src\\meta\\meta.c /link build/meta.obj @@ -44,7 +44,7 @@ if "%meta%"=="1" ( :::::::::::::::::::::::::::::::: ::~ Build power play -if "%pp%"=="1" ( +if "%pp%" == "1" ( echo [Building power play] "build/meta.exe" pp.lay diff --git a/src/meta/meta.c b/src/meta/meta.c index 5e7dbf09..9fea10a7 100644 --- a/src/meta/meta.c +++ b/src/meta/meta.c @@ -26,12 +26,6 @@ # include "win32/meta_win32.c" #endif -//////////////////////////////// -//~ Globals - -static Arena *perm = 0; -static StringList args = ZI; - //////////////////////////////// //~ Util @@ -55,13 +49,23 @@ i32 main(i32 argc, u8 **argv) { //- Startup StartupOs(); - perm = AcquireArena(Gibi(64)); + Arena *arena = AcquireArena(Gibi(64)); //- Unpack args + StringList args = ZI; + StringList exe_layer_names = ZI; for (i32 i = 1; i < argc; ++i) { String arg = StringFromCstrNoLimit(argv[i]); - PushStringNode(perm, &args, arg); + if (EndsWith(arg, Lit(".exe"))) + { + String layer_name = TrimRight(arg, Lit(".exe")); + PushStringToList(arena, layer_name); + } + else + { + PushStringToList(arena, &args, arg); + } } return 0;