Iterative build-test-commit workflow for Hamsterball D3D8 reimplementation
1. Identify next subsystem (e.g., MESHWORLD geometry rendering)
2. Write targeted decompilation from Ghidra
3. Implement in reimpl/src/
4. Compile with MinGW
5. Test with Wine
6. Commit + push to both repos
7. Save Ghidra
# Build
cd ~/hamsterball-re/reimpl
i686-w64-mingw32-gcc -std=c11 -m32 -O2 -Iinclude \
src/core/win32_main.c src/level/*.c \
-o hamsterball.exe -ld3d8 -ldinput8 -ldsound -ldxguid -lole32 -lwinmm -mwindows
# Run
wine ./hamsterball.exe
# Debug Wine D3D8 translation
WINEDEBUG=+d3d8 wine ./hamsterball.exe 2>&1 | head -100