feat(gui): add toolbar widget

feat(gui): add grid_select, toggle, panel, status_bar, image widgets
fix(bsp): fill in exterior cells
This commit is contained in:
asrael 2026-02-27 06:50:49 -06:00
parent 5a565844dd
commit 8d491612ab
63 changed files with 3150 additions and 1686 deletions

39
pxl8.sh
View file

@ -43,10 +43,6 @@ NC='\033[0m'
RED='\033[38;2;251;73;52m'
YELLOW='\033[38;2;250;189;47m'
if [[ "$(uname)" == "Linux" ]]; then
CFLAGS="$CFLAGS -D_GNU_SOURCE"
fi
build_luajit() {
if [[ ! -f "lib/luajit/src/libluajit.a" ]]; then
print_info "Building LuaJIT"
@ -167,6 +163,37 @@ compile_source_file() {
fi
}
generate_compile_commands() {
local project_dir
project_dir="$(pwd)"
local tmpfile
tmpfile=$(mktemp)
local first=true
echo "[" > "$tmpfile"
for src_file in $LIB_SOURCE_FILES; do
src_file="${src_file## }"
src_file="${src_file%% }"
[[ -z "$src_file" ]] && continue
if $first; then first=false; else printf ",\n" >> "$tmpfile"; fi
printf ' {\n "directory": "%s",\n "command": "clang -c %s %s",\n "file": "%s"\n }' \
"$project_dir" "$DEP_COMPILE_FLAGS" "$src_file" "$src_file" >> "$tmpfile"
done
for src_file in $PXL8_SOURCE_FILES; do
src_file="${src_file## }"
src_file="${src_file%% }"
[[ -z "$src_file" ]] && continue
if $first; then first=false; else printf ",\n" >> "$tmpfile"; fi
printf ' {\n "directory": "%s",\n "command": "clang -c %s %s",\n "file": "%s"\n }' \
"$project_dir" "$COMPILE_FLAGS" "$src_file" "$src_file" >> "$tmpfile"
done
printf "\n]\n" >> "$tmpfile"
mv "$tmpfile" "compile_commands.json"
}
compile_shaders() {
local build_mode="$1"
local shader_dir="src/gfx/shaders/cpu"
@ -536,11 +563,13 @@ case "$COMMAND" in
"
if [[ "$HAS_SDL3" -eq 1 ]]; then
PXL8_SOURCE_FILES="$PXL8_SOURCE_FILES src/hal/pxl8_mem_sdl3.c"
PXL8_SOURCE_FILES="$PXL8_SOURCE_FILES src/hal/pxl8_io_sdl3.c src/hal/pxl8_mem_sdl3.c"
else
PXL8_SOURCE_FILES="$PXL8_SOURCE_FILES src/hal/pxl8_mem.c"
fi
generate_compile_commands
LUAJIT_LIB="lib/luajit/src/libluajit.a"
OBJECT_DIR="$BUILDDIR/obj"
mkdir -p "$OBJECT_DIR"