Skip to content

Add Dunia.dll runtime patches and modernize codebase - #1

Merged
coconutbird merged 8 commits into
mainfrom
dev/vtable
Feb 22, 2026
Merged

coconutbird merged 8 commits into
mainfrom
dev/vtable

Conversation

@coconutbird

Copy link
Copy Markdown
Owner

Summary

This PR adds Multi Fixer-style runtime patches to Dunia.dll and modernizes the codebase.

Features Added

Dunia Engine Patches

Runtime patches applied on game startup (no file modifications):

Patch Description
Jackal Tapes Fix Fixes incorrect tape recordings in the Southern map
DevMode Unlock Enables developer console commands
Predecessor Tapes Unlocks 7 bonus missions (originally tied to Ubisoft account)
Machetes Unlock Unlocks 2 bonus machete skins

Codebase Improvements

  • Migrate to Rust 2024 edition
  • Update windows crate to 0.62
  • Refactor vtables to use cppvtable macros
  • Reorganize code into src/gear/ and src/patches/ modules
  • Add cargo-husky pre-commit hooks for fmt/clippy
  • Add MinHook infrastructure for future function hooks

Changes

  • src/patches/ - New module for signature scanning and runtime patching
  • src/gear/ - Reorganized gear detection code
  • Updated dependencies and Rust edition
  • Updated README with features list

Pull Request opened by Augment Code with guidance from the PR author

- Jackal Tapes Fix: Correct tape recordings in Southern map
- No Blinking Items: Remove highlight glow on interactables
- DevMode Unlock: Enable developer console commands
- Predecessor Tapes Unlock: Unlock 7 bonus missions
- Machetes Unlock: Unlock 2 bonus machete skins

Uses signature scanning for version independence (Steam/Uplay/GOG/Retail).
All signatures scanned upfront before any patches applied.
- Add minhook 0.9 dependency for function detouring
- Create src/patches/hooks.rs with:
  - Signature patterns for game functions (InitOptions, CreateSlider)
  - HookAddresses struct for caching scanned addresses
  - install_hooks() and remove_hooks() functions
- Integrate hooks module into patches system
- No hooks are currently active - this is infrastructure for future use
- Comment out apply_no_blinking_items() call
- Add #[allow(dead_code)] to suppress warnings for unused code
- Add Features section documenting all patches
- List CPU crash fix and Dunia engine patches
- Add table of active patches (Jackal Tapes, DevMode, Predecessor Tapes, Machetes)
- Link to FoxAhead's Multi Fixer GitHub repo
@coconutbird
coconutbird merged commit 601e51c into main Feb 22, 2026
1 check passed
@coconutbird
coconutbird deleted the dev/vtable branch February 22, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant