9b0214ee559b76622d378152f4fbbd326753a960
audioStreamSetLooping() sets AUDIO_STREAM_STATE_LOOPING; when a looping stream finishes, audioStreamUpdate() clears BUFFERED (not PLAYING) and fires onLoop instead of onEnd, causing the next Update() to naturally re-trigger the platform Buffer() call on the same unmodified stream->data/dataSize - full restart from position 0, with no platform-specific code needed. loopTo (looping to a point other than the start) isn't honored yet - would need slicing the buffer, flagged as a follow-up. Also fixed the shared test tone's frequency (440Hz -> 441Hz): 44100Hz doesn't divide evenly by 440Hz (100.23 samples/cycle), so the buffer's last sample didn't exactly match its first - a small discontinuity at every loop boundary independent of PSP's own click fixes. 441Hz divides evenly into exactly 100 samples/cycle, closing that gap for every platform, not just the ones with their own tail-handling. Verified end-to-end on Linux (5 onLoop firings over ~9s for a 1s tone, no errors) and confirmed compiling for PSP.
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%
JavaScript
4.2%
Python
3.5%
CMake
3.4%
HTML
0.9%
Other
1%