DMC Rengine is a C++20 evidence-backed reverse-engineering, decompilation, editing and progressive-recompilation framework for Devil May Cry 3 HD.
Evidence / exact artifacts
-> Reverse Core identities
-> Recovered Game Source Tree
-> GDSpaces resource authority
-> Stage Ops assembly/orchestration
-> Stage Semantic Graph
-> ModViz/editor consumers
These layers cooperate but do not collapse ownership.
- GDSpaces is the only product resource resolver/materializer/provenance authority.
- Recovered original DMC3 functions/types/lifecycle code belong to the Recovered Game Source Tree.
- Stage Ops owns product-side stage/scene assembly and operational workspace state.
- Stage Semantic Graph represents Stage Ops state; it does not load/assemble independently.
- ModViz consumes Stage Ops/Semantic Graph state; it does not create a second scene/resource truth.
- Binary Inspector consumes bytes/regions/evidence; it is not a source resolver.
- EXE Editor is a frontend over executable/recovered-source evidence, not a second reverse authority database.
Sources expose mounted origins. GDSpaces owns logical resolution, source/volume selection, materialization, ByteProvenance, container expansion, WorkingCopy handoff and bounded authoring/publication contracts.
PAC, PNST and NBZ are supported internal container/archive layers. .afs/ strings are currently logical namespace evidence; a dedicated binary AFS backend remains evidence-gated and must not be inferred from the names alone. Historical PACK product parsing likewise does not establish original DMC3 runtime authority.
Reverse Core owns generic artifact/range/function/type/claim/reconstruction/validation identities. Recovered Game Source Tree owns reconstructed DMC3 code and behavior, including resource runtime, scene lifecycle, HITS runtime and other original-game subsystems.
GDSpaces may reproduce confirmed behavior as safe product policy without moving original runtime ownership into product code.
Stage Ops consumes canonical resolved/materialized resources and executable-backed Stage descriptor/selector authority. It produces one StageAssemblyWorkspace/operational scene state, preserving technical resource-set identity, numeric Stage identity and semantic gameplay identity separately.
A deterministic evidence-aware representation/index over Stage Ops state. It does not resolve resources, parse archives or own scene orchestration.
Editor/visualization consumer over Stage Ops and Semantic Graph state. Edits flow back through revision/WorkingCopy/validation contracts.
Owns executable navigation/editing UX over exact artifact mappings, recovered-source identities, evidence and guarded patch/rebuild requests. Recovered source is not promoted from readability or compile success alone.
The current project critical path is GDSpaces Layer 1:
physical bytes -> exact materialization -> bounded edit/rebuild -> NBZ publication -> canonical reopen -> original-game consumption
Stage/editor feature work must not create private resource paths or displace mandatory L1 closure work without an explicit evidence dependency.
- source game files are immutable by default;
- WorkingCopy separates edits from source bytes;
- authored output uses explicit export/publication contracts;
- no-clobber means the final publication operation itself cannot replace an existing destination;
- evidence-grade archive/member receipts require artifact-stability binding across index/member/hash observation;
- outputs must not be published into a measured retail source tree by acquisition/evidence commands;
- product hardening is kept distinct from claims about original DMC3 malformed-input acceptance.
A bounded parser, writer, recovered function, synthetic test or successful build may be complete at its own scope without making the containing subsystem complete. Formal subsystem completion requires its explicit acceptance gate and behavioral/evidence receipts.