8a7700101613a5c19982449150673e89964cd30a
Two independent gap sources, both confirmed fixed on Linux: 1. audiostream.c's Update() used if/else-if, so a loop restart (clearing BUFFERED) couldn't re-trigger Buffer() until the *next* frame's Update() noticed - up to one frame of dead air on every loop, on every platform. Restructured to two sequential ifs so a loop falls straight through into re-buffering in the same call. 2. audioStreamLinuxIsFinished only reported true once SDL's queue was completely empty - meaning silence had already started by the time "empty" could be observed, guaranteeing a gap by construction. Changed it to report ready-to-refill once the queue drops to a 4096-frame lead margin (matching the SDL device's own internal buffer size) instead of waiting for zero. SDL_QueueAudio only ever appends to a FIFO, so refilling that early never causes overlap - it just means the device's callback never runs dry. Confirmed looping gaplessly on Linux.
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%