PJB3005 5c247bcb15 Fix cCcS layout being interpreted inconsistently across TUs
Fixes #245

Might be the cause of #176 too but I wasn't able to repro that in either case, so can't confirm.
2026-04-06 23:15:56 +02:00
2024-06-10 00:34:52 -07:00
a
2026-04-04 22:22:34 -07:00
2026-04-05 11:47:49 -07:00
2026-04-03 17:04:22 -06:00
2026-04-06 00:48:10 -07:00
2024-10-10 08:29:58 -06:00
2024-10-10 08:29:58 -06:00
2026-04-03 19:54:57 -07:00
2026-03-26 18:54:07 -07:00
2024-10-10 08:29:58 -06:00
2023-07-25 17:22:44 -04:00

Dusk

Building

Prerequisites

  • CMake 3.30+
    • 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 2022 Community
    • Select C++ Development and verify the following packages are included:
      • Windows 10 SDK
      • CMake Tools
      • C++ Clang Compiler
      • C++ Clang-cl
  • [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"
        

Setup

  1. Clone and initialize the Dusk repository
git clone --recursive https://github.com/TakaRikka/dusk.git
cd dusk
git pull
git submodule update --recursive
  1. 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"

S
Description
No description provided
Readme 360 MiB
Languages
C++ 54.6%
C 44.2%
Java 0.3%
POV-Ray SDL 0.3%
Pawn 0.3%
Other 0.2%