Files
khallaandClaude Opus 5.5 d9f5c85430 Initial sacred_re scaffold with borderless fullscreen mod
- Launcher (sacred_re.exe) starts sacred.exe with sacred_re.dll injected
  via Detours; the DLL verifies the Sacred Gold 2.28 build before hooking.
- Hook framework: RE_HOOK for game addresses, RE_HOOK_API for Windows
  APIs, per-hook enable/disable in sacred_re.ini, sacred_re.log.
- Game code: Log (0x66f1c0) hooked, CmdLineHasFlag (0x813140) rewritten.
- Borderless mod: forces windowed mode, covers the monitor, scales the
  1024x768 image aspect-correct, remaps mouse input, keeps running in the
  background with keyboard input hidden while unfocused.
- CMake/Ninja/MSVC x86 build, VS Code setup, disasm tool, function map.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 23:55:50 +02:00

27 lines
845 B
CMake

# Microsoft Detours (MIT) — function hooking and DLL injection.
# Upstream ships no CMake build, so we compile its sources into a static lib.
include(FetchContent)
FetchContent_Declare(detours_src
GIT_REPOSITORY https://github.com/microsoft/Detours.git
GIT_TAG v4.0.1
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(detours_src)
set(_d ${detours_src_SOURCE_DIR}/src)
add_library(detours STATIC
${_d}/detours.cpp
${_d}/modules.cpp
${_d}/disasm.cpp
${_d}/image.cpp
${_d}/creatwth.cpp
${_d}/disolx86.cpp
${_d}/disolx64.cpp
${_d}/disolia64.cpp
${_d}/disolarm.cpp
${_d}/disolarm64.cpp
)
target_include_directories(detours PUBLIC ${_d})
# C++20 implies /permissive-, which v4.0.1 does not compile under (goto over initialisations).
target_compile_options(detours PRIVATE /W3 /permissive)