style/normalize-conventions
An assistant-written stretch of code had drifted from the conventions the older hand-written files establish. Sweeps the whole of src/ back into line. Systematic: - @returns -> @return (163 occurrences, 84 files). Concentrated in ui/ and rpg/cutscene/; the rest of the tree already used @return 646 times. - Lowercase "null" -> "NULL" in assert/error message strings (170 occurrences, 28 files), matching the dominant 441-use spelling. Covers "cannot be null", "must not be null" and adjectival uses. Localized: - sort.c: drop a stray #include <stdlib.h> that sat *above* the copyright header, leaving it the only file in the repo without a leading header block. Also drops the same redundant include from random.c and npcturn.c (dusk.h already pulls in stdlib.h). - Convert 7 files' license headers from // lines to the /** */ block form. - cutscenesystem.c: memset -> memoryZero, matching the identical call ~20 lines further down and the rest of the codebase. - Struct tags suffixed _t -> _s: threadlock_t -> threadmutex_s (which also makes the tag match its typedef) and chunkpos_t -> chunkpos_s. - Convert 20 inline /* */ block comments to // across the mesh builders, assetfile.c and assetlocaleloader.c. - Pointer truthiness if(!ptr) -> if(ptr == NULL) in 16 places, matching the 267 existing explicit comparisons. Boolean !x checks are left alone. - entityanim.h: drop a JSDoc-style type annotation from an @return. - Document easing.h's 16 undeclared easing functions and assetjsonloader.h's 3 loader callbacks. No behavioral change. Builds clean with no new warnings; ctest shows the same 6 pre-existing failures as HEAD, verified against a pristine worktree. Co-Authored-By: Claude Opus 5 (1M context) <[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%