707856fcf2747c37174e12cc21aa22dd45c9dc0b
Previously the main menu UI opened directly with no cutscene, and only pressing "Start Game" spun up a brand new cutscene (main_menu_start_game.jsonc) for the save-device check/load-slots flow. Now a single cutscene (main_menu.jsonc) starts the moment the main menu scene becomes active, sitting idle (new CUTSCENE_ITEM_TYPE_IDLE item - no existing item type blocked forever with no side effect) while the menu is shown, so it can own menu-wide state going forward. Pressing "Start Game" now jumps the already-running cutscene to a NEW_GAME marker via cutsceneGoTo instead of starting a second cutscene - this already-existing mechanism needed no engine changes. Both retry options (no device / load error) also now jump straight back to NEW_GAME instead of RESTARTing the whole cutscene, since RESTART would otherwise strand the player on the idle block. sceneMainMenuStartGame also handles the case where the cutscene already ran to completion once (e.g. backing out of the save picker and pressing Start Game again) by restarting it landing straight on NEW_GAME, avoiding a crash from jumping a marker with no cutscene running. Built and verified on Linux (boots/idles without crashing, cutscene tests pass), PSP, GameCube and Wii (Docker). 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%