CraftyBoss 300ed931e3 implement pre-launch ui for configuring iso directory (#301)
UI will automatically open on boot and will not launch the game if there is no valid iso path specified in the config. Can optionally be disabled on future game launches.
2026-04-09 23:06:37 -06:00
2026-04-09 19:35:54 -06:00
2026-04-09 19:26:10 -06:00
2026-04-03 17:04:22 -06:00
2024-10-10 08:29:58 -06:00
2024-10-10 08:29:58 -06:00
2026-04-09 04:59:36 -07:00
2026-04-09 19:37:42 -06:00
2023-07-25 17:22:44 -04:00
2026-04-09 19:39:53 -06:00

Dusk

Building

Prerequisites

  • CMake 3.25+
    • Windows: Install CMake Tools in Visual Studio
    • macOS: brew install cmake
  • Python 3+
    • Windows: Microsoft Store
      • Verify it's added to %PATH% by typing python in cmd.
    • macOS: brew install python@3
  • [Windows] Visual Studio 2026 Community
    • Select C++ Development and verify the following packages are included:
      • Windows 11 SDK
      • CMake Tools
      • C++ Clang Compiler
      • C++ Clang-cl
  • [macOS] Xcode 16.4+
  • [Linux] Actively tested on Ubuntu 24.04, Arch Linux & derivatives.
    • Ubuntu 24.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"
        

Setup

Clone and initialize the Dusk repository

git clone --recursive https://github.com/TwilitRealm/dusk.git
cd dusk
git pull
git submodule update --init --recursive

Building

CLion (Windows / macOS / Linux)

Open the project directory in CLion. Enable the appropriate presets for your platform:

CLion

Visual Studio (Windows)

Open the project directory in Visual Studio. The CMake configuration will be loaded automatically.

ninja (macOS)

cmake --preset macos-default-relwithdebinfo
cmake --build --preset macos-default-relwithdebinfo

Alternate presets available:

  • macos-default-debug: Clang, Debug

ninja (Linux)

cmake --preset linux-default-relwithdebinfo
cmake --build --preset linux-default-relwithdebinfo

Alternate presets available:

  • linux-default-debug: GCC, Debug
  • linux-clang-relwithdebinfo: Clang, RelWithDebInfo
  • linux-clang-debug: Clang, Debug

ninja (Windows)

cmake --preset windows-msvc-relwithdebinfo
cmake --build --preset windows-msvc-relwithdebinfo

Alternate presets available:

  • windows-msvc-debug: MSVC, Debug
  • windows-clang-relwithdebinfo: Clang-cl, RelWithDebInfo
  • windows-clang-debug: Clang-cl, Debug

Running

Pass the disc image as a positional argument. Supported formats: ISO (GCM), RVZ, WIA, WBFS, CISO, GCZ

build/{preset}/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"

S
Description
No description provided
Readme 414 MiB
Languages
C++ 54.8%
C 43.9%
Java 0.4%
POV-Ray SDL 0.3%
Pawn 0.3%
Other 0.2%