Framework for Sacred 2 Gold, game log mirror, borderless fullscreen

Ported from sacredK with module-relative addresses, hooks by exported
name and a SHA-256 check of the six game modules (Community Patch
2.65.1). Borderless windowed at monitor size replaces exclusive
fullscreen, whose focus loss during loading made the game quit and
crash on exit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
khallaandClaude Opus 5.5 committed 2026-10-31 01:39:44 +01:00
commit 8a7bdfd99f
44 files changed
+2505

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
# Function map
Game functions we hook, call or have rewritten. Address = module + VA at the
module's preferred base (as in Ghidra).
| Module | Address | Function | Status | Source |
|---|---|---|---|---|
| orcSystem.dll | 0x10018c60 | `Orc::Log::logMessage(const String&, LogMessageLevel)` (virtual, `__thiscall`, ret 8) | hooked: mirrored into sacred2K.log | `src/game/orc/log.cpp` |
| s2render.dll | 0x1029a736 | `cDX9Base::_initDX(const sInitParams&)` (`__thiscall`, ret 4) | hooked: always windowed at monitor size; window style patched to borderless | `src/mods/borderless.cpp` |
| s2render.dll | 0x1029d81e | `cDX9Base::flip()` | known: minimises on `D3DERR_DEVICELOST` | `docs/borderless.md` |
| sacred2.exe | 0x00489ada | `s2_purecall()` handler: logs, then `DebugBreak` | known | `docs/borderless.md` |