ea35472ef8e02bc128fd53b177e067326f314032
The feeder's final chunk zero-padded up to the full 1024-frame reserved size (e.g. 956 padding samples for a 68-sample remainder), jumping straight from whatever amplitude the waveform ended at down to silence - an audible click. Fixed two ways: fade the last 32 real frames linearly to zero before any padding begins (also covers the case where total length is an exact multiple of the chunk size, where the waveform would otherwise just stop abruptly with no padding at all), and declare only the real sample count via sceAudioSetChannelDataLen (64-aligned) for the final chunk instead of padding out to the full reserved length, shrinking the leftover padding to under 64 samples. Channel length gets reset to the full chunk size at the start of each feed pass in case a previous playback left it shortened. Verified via PPSSPP: sceAudioSetChannelDataLen(7, 1024) then (7, 128) for the tone's 68-sample remainder, onEnd still fires once.
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%