qwertyquerty 6be51c09c5 Ongoing gameplay dev (#49)
* launch.json cwd

* bodge to load gci for testing

* stub card stat

* gameplay bodges

* viewport, ub fixes

* add release with debug info cmake variant

* be fixes, sound stub

* viewport h

* d_msg_flow BE

* be fopAcM_createItemFromEnemyID

* update launch configuration to use iso

* more audio stubs

* Attempt to set viewport and get messages for brightness check

* skip opening scene again, fixed JMessage::TResourceContainer::TCResource::Do_destroy

* add guards for viewport changes

* moar endian swapping to get Link sitting in PROC_OPENING_SCENE and for dialogues

* BE d_msg_class i_data

* stub bgm start

* fix div by 0 error (for now)

* TEMP_BROKEN in d_menu_ring

* REQUIRES_GX_LINES

* properly stub renderingAmap::draw with REQUIRES_GX_LINES

* better stubbing outside of stubs

* fix event data getting swapped multiple times

* evil draw vp fix

* Stub log imgui

This redirects all spammy logs to an imgui window that is cleared per frame.

This fixes the serious performance dip of the logging, and makes the regular log readable.

* Oops move those optimization changes I accidentally committed behind a flag

DUSK_SELECTED_OPT

* gx_line macro in map

* fix audio stubbing

* switch to CARD API aurora impl

* remove kabufuda from link libs

* refactor imgui stuff and add input viewer

* merge stub log with refactor

* accidentally committed a metaforce header shh

* basic map loader

* ImGuiConsole: Add missing <thread> include

* you may now play as luigi (you may now load stages with bridges)

* bloom fix

* bloom leak fix

* cloud shadow fix

* add soft reset button to imgui menu

* if it broke dont not fix it

* i swear i committed this

* BE swap indMtx in JPAResource::setPTev

* wnark ct fix

* frsqrte implementation from kinoko

* Fix Clang compile error in JAISeq::prepare_getSeqData_

* Add endian conversions to dMsgFlow_c::getInitNodeIndex

This fixes a freeze when Fado tries to stop you from leaving the
starting area.

* Add RAII GXTexObj wrapper; fix almost all leaks

* Update aurora for indirect texturing

* Update aurora for CARD fix

* Fix Clang build

* More d_msg_flow endian fixes

Fixes softlock when trying to talk to Fado and possibly other NPCs.

* no frame limiter

* get pause menu working

* proper frame limiting

* particle pointer size fix

* improve map loader a bit

---------

Co-authored-by: Jasper St. Pierre <jstpierre@mecheye.net>
Co-authored-by: TakaRikka <takarikka@outlook.com>
Co-authored-by: CraftyBoss <talibabdulmaalik@gmail.com>
Co-authored-by: Luke Street <luke@street.dev>
Co-authored-by: Lurs <l_werdes@gmx.de>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
Co-authored-by: tgsm <doodrabbit@hotmail.com>
Co-authored-by: Max Roncace <me@caseif.net>
Co-authored-by: Phillip Stephens <antidote.crk@gmail.com>
2026-03-12 04:01:03 -07:00
2026-03-12 04:01:03 -07:00
2024-06-10 00:34:52 -07:00
2026-03-12 04:01:03 -07:00
2026-03-12 04:01:03 -07:00
2026-03-12 04:01:03 -07:00
2026-03-12 04:01:03 -07:00
2024-10-10 08:29:58 -06:00
2024-10-10 08:29:58 -06:00
2025-11-29 19:06:39 -08:00
2026-03-12 04:01:03 -07:00
2026-03-12 04:01:03 -07:00
2024-10-10 08:29:58 -06:00
2026-03-12 04:01:03 -07:00
2023-07-25 17:22:44 -04:00
2026-03-09 00:33:04 -07: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.

S
Description
No description provided
Readme 354 MiB
Languages
C++ 55%
C 43.6%
Java 0.4%
POV-Ray SDL 0.3%
Pawn 0.3%
Other 0.3%