d9beb647c170acdacc53620c7835768acd9aad30
audioStreamPSPTopUp() advanced readPosition/ringFilled/framesEnqueued by the requested framesToRead regardless of how many frames a short read actually produced - a leftover assumption from the WAV/PCM design, where a short read only ever means "truly corrupt file, at the real end." That doesn't hold for MP3: a hardware decoder backend can plausibly report "nothing ready this instant" without that meaning no more content exists. Every such short read silently inflated readPosition ahead of real decode progress, triggering the loop-segment-end check far too early - restarting the pass again and again well short of the real runtime, heard as the clip racing through its own content. Now only ever advances by the actual frames produced (matching dusklinux's audioStreamLinuxFeed(), which already did this correctly), and bases the loop/end decision on real position instead of the originally-requested read size. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
Ubuntu;
sudo apt-get install git build-essential gcc python python-polib python3-pillow python3-dotenv python3-numpy python3-pyqt5 python3-opengl
Arch Linux;
sudo pacman -S git base-devel gcc python python-polib python-pillow python-dotenv python-numpy python-pyqt5 python-opengl
Description
Languages
C
87.5%
JavaScript
4%
CMake
3.4%
Python
3.3%
HTML
0.9%
Other
0.9%