b3623c84a547a4a2e7de010c06e28296f712dbf7
Entities weren't being detached from their chunk's entities[] slot in two despawn paths (CUTSCENE_ENTITY_REMOVE, item pickup collection) - the slot leaked forever until the whole chunk unloaded. Both now call entitySetChunk(entity, CHUNK_INDEX_INVALID) before nulling the type. entity_t.chunkIndex and entitySetChunk/mapGetChunk now use chunkindex_t instead of uint8_t, matching mapGetChunkIndexAt's own -1-is-invalid convention - added CHUNK_INDEX_INVALID next to the typedef in worldpos.h rather than reusing the old 0xFF/uint8_t sentinel, which would silently mean +255 on a signed 16-bit field instead of -1. mapPositionSet now also recomputes every live entity's cached chunkIndex after mapRebuildChunkOrder() reshuffles which chunk_t sits at each chunkOrder slot - done as a direct field recompute rather than through entitySetChunk, which would've looked up each entity's now-stale old index, failed to find/clear its real registration, and inserted a duplicate entry into the correct chunk on every map position change. Also adds saveCanSave() (false while a cutscene is running) and shows the player's live chunkIndex in the ui/debug/uiplayerpos overlay. Co-Authored-By: Claude Sonnet 5 <[email protected]>
Dusk
RPG Game Project, small and able to run on a PSP.
Building
Each build target has different requirements. You can take a look at the git workflow to see how the builds are done for each target. In addition, for accessing the editor and building the game on your host system, install the following packages, depending on your system;
Fedora;
sudo dnf install git make gcc cmake python python-polib python3-pillow python3-dotenv python3-numpy python-qt5 python3-pyopengl SDL2-devel zlib-devel libzip-devel bzip2-devel openssl-devel lzma-sdk-devel xz xz-devel lua-devel libmad-devel
libmad-devel (used for MP3 decoding) is GPL-licensed and ships in the
RPM Fusion free repository rather than Fedora's
base repos - make sure RPM Fusion is enabled first.
Ubuntu;
sudo apt-get install git build-essential gcc python python-polib python3-pillow python3-dotenv python3-numpy python3-pyqt5 python3-opengl libmad0-dev
Arch Linux;
sudo pacman -S git base-devel gcc python python-polib python-pillow python-dotenv python-numpy python-pyqt5 python-opengl libmad
Languages
C
89.7%
JavaScript
3.5%
CMake
3.1%
Python
2.1%
HTML
0.8%
Other
0.7%