improve script hot reload

This commit is contained in:
asrael 2026-01-08 01:19:25 -06:00
parent 01d6e09a91
commit 15041984f1
25 changed files with 1516 additions and 293 deletions

16
pxl8.sh
View file

@ -344,6 +344,8 @@ case "$COMMAND" in
src/pxl8_log.c
src/pxl8_math.c
src/pxl8_repl.c
src/pxl8_replay.c
src/pxl8_rng.c
src/pxl8_save.c
src/pxl8_script.c
src/pxl8_sdl3.c
@ -380,9 +382,23 @@ case "$COMMAND" in
obj_file="$OBJECT_DIR/$obj_name"
OBJECTS="$OBJECTS $obj_file"
NEEDS_REBUILD=false
if [[ "$src_file" -nt "$obj_file" ]] || \
[[ "src/pxl8_types.h" -nt "$obj_file" ]] || \
[[ "src/pxl8_macros.h" -nt "$obj_file" ]]; then
NEEDS_REBUILD=true
fi
if [[ "$src_file" == "src/pxl8_script.c" ]]; then
for lua_file in src/lua/*.lua src/lua/pxl8/*.lua lib/fennel/fennel.lua; do
if [[ -f "$lua_file" ]] && [[ "$lua_file" -nt "$obj_file" ]]; then
NEEDS_REBUILD=true
break
fi
done
fi
if [[ "$NEEDS_REBUILD" == true ]]; then
NEED_LINK=true
compile_source_file "$src_file" "$obj_file" "$COMPILE_FLAGS"
SOURCES_COMPILED="yes"