mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-23 06:34:15 -04:00
ef1cfc5d288ae50cb0810d43c274680eb49b0c6a
Dusk
Building
Prerequisites
- CMake 3.30+
- Windows: Install
CMake Toolsin Visual Studio - macOS:
brew install cmake
- Windows: Install
- Python 3+
- Windows: Microsoft Store
- Verify it's added to
%PATH%by typingpythonincmd.
- Verify it's added to
- macOS:
brew install python@3
- Windows: Microsoft Store
- [Windows] Visual Studio 2022 Community
- Select
C++ Developmentand verify the following packages are included:Windows 10 SDKCMake ToolsC++ Clang CompilerC++ Clang-cl
- Select
- [macOS] Xcode 11.5+
- [Linux] Actively tested on Ubuntu 20.04, Arch Linux & derivatives.
- Ubuntu 20.04+ packages
build-essential curl git ninja-build clang lld zlib1g-dev libcurl4-openssl-dev \ libglu1-mesa-dev libdbus-1-dev libvulkan-dev libxi-dev libxrandr-dev libasound2-dev libpulse-dev \ libudev-dev libpng-dev libncurses5-dev cmake libx11-xcb-dev python3 python-is-python3 \ libclang-dev libfreetype-dev libxinerama-dev libxcursor-dev python3-markupsafe libgtk-3-dev - Arch Linux packages
base-devel cmake ninja llvm vulkan-headers python python-markupsafe clang lld alsa-lib libpulse libxrandr freetype2 - Fedora packages
cmake vulkan-headers ninja-build clang-devel llvm-devel libpng-devel- It's also important that you install the developer tools and libraries
sudo dnf groupinstall "Development Tools" "Development Libraries"
- It's also important that you install the developer tools and libraries
- Ubuntu 20.04+ packages
Setup
- Clone and initialize the Dusk repository
git clone --recursive https://github.com/TakaRikka/dusk.git
cd dusk
git pull
git submodule update --recursive
- Generate assets
cp /path/to/GZ2E01.iso orig/GZ2E01/.
python3 ./configure.py
ninja
Building
Visual Studio (Recommended for Windows)
cmake -B build/dusk -G "Visual Studio 17 2022" -A x64 # Win32 for 32bit
ninja (Windows/macOS/Linux)
cmake -B build/dusk -GNinja
ninja -C build/dusk
Running
Pass the disc image as a positional argument. Supported formats: ISO (GCM), RVZ, WIA, WBFS, CISO, GCZ
build/dusk/dusk /path/to/game.rvz
If no path is specified, Dusk defaults to game.iso in the current working directory.
30 FPS on Debug
When compiled fully in a Debug the game runs too slowly to hit playable 30 FPS. To avoid this, you can set a CMake cache variable to optimize specific critical files without hampering debuggability in the rest of the program: -DDUSK_SELECTED_OPT=ON. When building for MSVC (Windows) you must also modify CMAKE_CXX_FLAGS_DEBUG and CMAKE_C_FLAGS_DEBUG to remove /RTC1 from the flags, like so: -DCMAKE_CXX_FLAGS_DEBUG="/MDd /Zi /Ob0 /Od" -DCMAKE_C_FLAGS_DEBUG="/MDd /Zi /Ob0 /Od"
Description
Languages
C++
54.6%
C
44.2%
Java
0.3%
POV-Ray SDL
0.3%
Pawn
0.3%
Other
0.2%