Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
50c7d06
v2: Foundation - GameIdentity runtime detection + unified cmake.toml
praydog Mar 5, 2026
1033518
v2: Convert Mods.cpp, REFramework.hpp, Main.cpp, PluginLoader.cpp to …
praydog Mar 5, 2026
17a3d22
v2: Convert ~200 game-specific ifdefs to runtime GameIdentity checks …
praydog Mar 5, 2026
a5cfa9e
v2: Fix compilation errors - brace mismatches, GameIdentity static me…
praydog Mar 5, 2026
3537aea
v2: Update plan doc with current status and SDK struct dispatch block…
praydog Mar 5, 2026
c83fe0c
v2: Runtime dispatch for REType layout differences (MHWILDS/RE9 vs RE8)
praydog Mar 5, 2026
6289751
v2: Runtime TDB struct dispatch for TYPE_INDEX_BITS mismatch
praydog Mar 5, 2026
2a1f3a7
v2: Runtime TDB header dispatch + method stride + field/method bitfie…
praydog Mar 5, 2026
7f85c21
v2: Runtime dispatch for REParameterDef, game_namespace, REManagedObj…
praydog Mar 6, 2026
08174ff
v2: Application::Function stride/offset dispatch + RETransform joint …
praydog Mar 6, 2026
374dfd1
v2: Runtime dispatch for get_managed_vt/fieldptr_offset (>= 81 guard)
praydog Mar 6, 2026
2a43f9d
Convert remaining TDB_VER/game-specific guards to runtime dispatch
praydog Mar 6, 2026
4170240
v2: Runtime dispatch for regenny Window/SceneView struct offsets
praydog Mar 6, 2026
bf80338
v2: Namespace regenny includes in ViaDispatch for Regenny maintainabi…
praydog Mar 6, 2026
dfcaca2
v2: Fix RETypeDefinition stride and bitfield dispatch for TDB 71 games
praydog Mar 6, 2026
7d604b6
v2: Hardcode bit widths in all RETypeDefVersion structs, sizeof(T) fo…
praydog Mar 6, 2026
7564998
v2: Eliminate TYPE_INDEX_BITS macro from all RETypeDB.hpp struct defi…
praydog Mar 6, 2026
b8467e5
TDB header + RETypeImpl: full per-version dispatch
praydog Mar 6, 2026
fc331b0
Fix RE8 (TDB 69): separate dispatch from tdb70
praydog Mar 6, 2026
7b9e2d6
update
praydog Mar 6, 2026
7c00947
DMC5 (TDB 67): Fix via.Application lookup failure
praydog Mar 6, 2026
8dbb8cd
RE7 fix (TDB70)
praydog Mar 6, 2026
55dcd50
v2: 3-tier declaring_typeid dispatch + ObjectExplorer tdb67 runtime c…
praydog Mar 6, 2026
631b24a
v2: Fix RE3 crash — RopewayCameraSystem +8 offset dispatch
praydog Mar 6, 2026
c9d8e32
v2: Fix RE2 crash + head visibility — dispatch RopewayPlayerCameraCon…
praydog Mar 6, 2026
5445cd3
v2: Fix RE3 first-person rotation — dispatch RopewayMainCameraController
praydog Mar 6, 2026
2e6caf9
v2: Fix Pragmata Sketchbook crash — TDB version is 83, not 84
praydog Mar 7, 2026
842fabf
v2: Fix MH Stories 3 blurriness — Window uses DD2 layout (borderless_…
praydog Mar 10, 2026
9fe90b5
v2: Merge upstream master (36 commits) with universal dispatch preser…
praydog Apr 16, 2026
dc98094
v2: Fix copy_texture + get_d3d12_resource_container for universal dis…
praydog Apr 16, 2026
c63cc5c
v2: Address Copilot PR review (praydog/REFramework#1609)
praydog Apr 16, 2026
83a9ff7
Fix universal-mode bugs: PAK dir UI gate + RenderLayer sizeof for DMC5
Copilot Apr 16, 2026
daee901
Add safety documentation for three universal-mode latent risks
Copilot Apr 16, 2026
4e59d21
v2: Fix critical init-order bug + RE7 joint array dispatch (adversari…
praydog Apr 16, 2026
fbb7653
v2: Fix REType accessor predicate — split pointer shift from scalar r…
praydog Apr 16, 2026
4bc6530
v2: Fix DMC5 (TDB 67) REClassInfo layout + REField/REMethod dispatch
praydog Apr 16, 2026
f171d00
v2: Fix direct this->field accesses bypassing TDEF_FIELD dispatch
praydog Apr 16, 2026
a306f8c
v2: Fix GenericListData bitfield + reflection null guards + TDEF_FIEL…
praydog Apr 16, 2026
fe94253
v2: Fix GameObjectsDisplay silently disabled on D3D11 games
praydog Apr 17, 2026
4d70623
v2: Fix Assembly list stride mismatch for TDB < 81 games in ObjectExp…
praydog Apr 17, 2026
99a5f49
v2: Fix plugin ABI TDB count fields bypassing dispatch
praydog Apr 17, 2026
ec83e99
Fix FaultyFileDetector crash
praydog Apr 17, 2026
73da682
v2: Collapse workflows to single monolithic REFramework target
praydog Apr 17, 2026
0f9a509
v2: Address adversarial review R2 findings (R2-1, R2-2, R2-4, R2-6)
praydog Apr 17, 2026
288d3b5
v2: Fix IL2CPP dump crashes on DMC5 and other TDB<69 games
praydog Apr 17, 2026
1d87fc0
Merge branch 'master' into v2
praydog Apr 18, 2026
b3e08b7
Port ce9df1fe81e897c117d85ac9c4446a1a453b938f to universal branch
praydog Apr 18, 2026
6054deb
v2: Fix R3 adversarial review findings (6 of 14)
praydog Apr 18, 2026
bdb21aa
v2: Fix REGameObject::transform offset on SF6/RE4 (0x20 vs 0x18)
praydog Apr 18, 2026
405db5d
v2: Add direct struct field access audit script
praydog Apr 18, 2026
c64cfec
v2: Add accessors for REComponent/REGameObject, eliminate 57 direct f…
praydog Apr 18, 2026
df7400c
v2: Add libclang-based type-aware direct access audit
praydog Apr 18, 2026
5ea90cb
v2: Fix remaining direct field access violations + annotate stable sites
praydog Apr 18, 2026
9880c81
v2: Add accessors for all remaining guarded structs, zero audit viola…
praydog Apr 18, 2026
f3dbbe6
v2: Complete accessor migration — zero violations across entire tree
praydog Apr 18, 2026
4ba444a
v2: Move hardcoded struct offsets to reusable static methods
praydog Apr 18, 2026
1b25065
v2: Make guarded struct fields private — compiler-enforced accessor use
praydog Apr 18, 2026
cb40d8a
v2: Privatize REType fields — all 6 guarded structs now compiler-enfo…
praydog Apr 18, 2026
c69c466
v2: Extract guarded structs from ReClass header into proper type headers
praydog Apr 18, 2026
1d1817b
v2: Decouple RETypeDefinition from compiled struct inheritance
praydog Apr 18, 2026
62c4aae
v2: Decouple RETypeDB, REMethodDefinition, REField, REModule from inh…
praydog Apr 18, 2026
246e86d
v2: Fix array stride breakage from REField/REProperty/REMethodDefinit…
praydog Apr 18, 2026
7aec758
v2: Add stride-aware Impl/Param accessors, eliminate all direct TDB a…
praydog Apr 18, 2026
0b76838
v2: Proactive hardening — RETransform joints dispatch, C++/CLI refcou…
praydog Apr 18, 2026
10fea15
v2: Add sizeof and array-subscript checks to libclang audit
praydog Apr 18, 2026
2e67256
v2: Replace sizeof(REManagedObject) and sizeof(REType) with runtime_s…
praydog Apr 18, 2026
bda8875
v2: Add Dead Rising Deluxe Remaster (DRDR) game identity
praydog Apr 18, 2026
67cc411
v2: Add Ghosts n Goblins, Apollo Justice, Kunitsu-Gami, Onimusha 2
praydog Apr 18, 2026
bb3d4d3
v2: Add working context document for session continuity
praydog Apr 18, 2026
30fc67d
v2: Decouple Impl/Param types from inheritance, wire audit into CI
praydog Apr 19, 2026
8bd3014
v2: Switch CI to libclang audit, delete regex audit script
praydog Apr 19, 2026
788ccd8
v2: Add libclang audit to dev-release workflow
praydog Apr 19, 2026
ee6b024
v2: Add static_asserts proving impl type sizes are stable across all …
praydog Apr 19, 2026
4bd7269
v2: Add offsetof + sizeof proof for all undispatched layout assumptions
praydog Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,26 @@ env:
jobs:
build-pr:
runs-on: windows-latest
strategy:
matrix:
target: [RE2, RE2_TDB66, RE3, RE3_TDB67, RE4, RE7, RE7_TDB49, RE8, RE9, DMC5, MHRISE, SF6, DD2, MHWILDS, PRAGMATA, MHSTORIES3, STARFORCE]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: recursive

- name: Audit direct struct field access
run: |
pip install libclang
python scripts/audit_direct_access_clang.py

- name: Configure CMake
run: cmake -S ${{github.workspace}} -B ${{github.workspace}}/build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEVELOPER_MODE=ON "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"

- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target ${{matrix.target}}
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target REFramework

- name: Upload artifacts
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
with:
name: ${{matrix.target}}
path: ${{github.workspace}}/build/bin/${{matrix.target}}/dinput8.dll
name: REFramework
path: ${{github.workspace}}/build/bin/REFramework/dinput8.dll
if-no-files-found: error

44 changes: 21 additions & 23 deletions .github/workflows/dev-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ env:
jobs:
csharp-release:
runs-on: windows-latest
strategy:
matrix:
target: [csharp-api]
steps:
- name: Set up Python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c
Expand All @@ -16,13 +13,13 @@ jobs:

- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

- name: Configure CMake
run: cmake -S ${{github.workspace}}/csharp-api -B ${{github.workspace}}/csharp-api/build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

- name: Build
run: cmake --build ${{github.workspace}}/csharp-api/build --config ${{env.BUILD_TYPE}} --target ALL_BUILD

- name: Prepare release
working-directory: ${{github.workspace}}/csharp-api
run: |
Expand All @@ -32,20 +29,17 @@ jobs:
- name: Compress release
working-directory: ${{github.workspace}}/csharp-api
run: |
7z a ${{github.workspace}}/${{matrix.target}}.zip reframework
7z a ${{github.workspace}}/csharp-api.zip reframework

- name: Upload artifacts
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
with:
name: ${{matrix.target}}
path: ${{github.workspace}}/${{matrix.target}}.zip
name: csharp-api
path: ${{github.workspace}}/csharp-api.zip
if-no-files-found: error

dev-release:
runs-on: windows-latest
strategy:
matrix:
target: [RE2, RE2_TDB66, RE3, RE3_TDB67, RE4, RE7, RE7_TDB49, RE8, RE9, DMC5, MHRISE, SF6, DD2, MHWILDS, PRAGMATA, MHSTORIES3, STARFORCE]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
Expand All @@ -54,31 +48,36 @@ jobs:
fetch-depth: 0
persist-credentials: false

- name: Audit direct struct field access
run: |
pip install libclang
python scripts/audit_direct_access_clang.py

- name: Configure CMake
run: cmake -S ${{github.workspace}} -B ${{github.workspace}}/build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEVELOPER_MODE=ON "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"

- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target ${{matrix.target}}
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target REFramework

- name: Compress release
run: |
echo ${{github.sha}} > ${{github.workspace}}/reframework_revision.txt
echo none > ${{github.workspace}}/DELETE_OPENVR_API_DLL_IF_YOU_WANT_TO_USE_OPENXR
7z a ${{github.workspace}}/${{matrix.target}}.zip ${{github.workspace}}/reframework_revision.txt
7z a ${{github.workspace}}/${{matrix.target}}.zip ${{github.workspace}}/DELETE_OPENVR_API_DLL_IF_YOU_WANT_TO_USE_OPENXR
7z a ${{github.workspace}}/${{matrix.target}}.zip ${{github.workspace}}/build/bin/${{matrix.target}}/dinput8.dll
7z a ${{github.workspace}}/${{matrix.target}}.zip ${{github.workspace}}/dependencies/openvr/bin/win64/openvr_api.dll
7z a ${{github.workspace}}/${{matrix.target}}.zip ${{github.workspace}}/build/_deps/openxr-build/src/loader/${{env.BUILD_TYPE}}/openxr_loader.dll
7z a ${{github.workspace}}/${{matrix.target}}.zip ${{github.workspace}}/scripts
7z rn ${{github.workspace}}/${{matrix.target}}.zip scripts reframework/autorun
7z a ${{github.workspace}}/REFramework.zip ${{github.workspace}}/reframework_revision.txt
7z a ${{github.workspace}}/REFramework.zip ${{github.workspace}}/DELETE_OPENVR_API_DLL_IF_YOU_WANT_TO_USE_OPENXR
7z a ${{github.workspace}}/REFramework.zip ${{github.workspace}}/build/bin/REFramework/dinput8.dll
7z a ${{github.workspace}}/REFramework.zip ${{github.workspace}}/dependencies/openvr/bin/win64/openvr_api.dll
7z a ${{github.workspace}}/REFramework.zip ${{github.workspace}}/build/_deps/openxr-build/src/loader/${{env.BUILD_TYPE}}/openxr_loader.dll
7z a ${{github.workspace}}/REFramework.zip ${{github.workspace}}/scripts
7z rn ${{github.workspace}}/REFramework.zip scripts reframework/autorun

- name: Upload artifacts
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
with:
name: ${{matrix.target}}
path: ${{github.workspace}}/${{matrix.target}}.zip
name: REFramework
path: ${{github.workspace}}/REFramework.zip
if-no-files-found: error

nightly-push:
runs-on: windows-latest
needs: [dev-release, csharp-release]
Expand Down Expand Up @@ -112,4 +111,3 @@ jobs:
makeLatest: true
bodyFile: ${{github.workspace}}/nightly-body.md
allowUpdates: true

Loading
Loading