From 5478e5cfd1ea137b1072cc2f7fbbcc2be6e7f66d Mon Sep 17 00:00:00 2001 From: Matthew Stanley <1379tech@gmail.com> Date: Thu, 8 Oct 2026 21:30:20 -0700 Subject: [PATCH] Preserve legacy overlay keys for default camera component order --- generated/OpenBIOS.emitter.sha | 2 +- generated/SCPH1001.emitter.sha | 2 +- recompiler/src/config_loader.cpp | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/generated/OpenBIOS.emitter.sha b/generated/OpenBIOS.emitter.sha index 2223a5fb..bf9509a0 100644 --- a/generated/OpenBIOS.emitter.sha +++ b/generated/OpenBIOS.emitter.sha @@ -1 +1 @@ -eeaec4bf58d5813938d47c92ef83b69f81d5b41bcd6f591369fd62d2e428f783 +0f077acf89c658898e53aa522bff6ec73b019f977528c6880eaabf628dfa44d0 diff --git a/generated/SCPH1001.emitter.sha b/generated/SCPH1001.emitter.sha index d4b2a703..64168c58 100644 --- a/generated/SCPH1001.emitter.sha +++ b/generated/SCPH1001.emitter.sha @@ -1 +1 @@ -f2b6184a3df6c998ff4ed1953c6e006f54131c51baf8866c34096c37d43fc26e +041ee1b0e079b7633588ad31989c2bead87a6ee07bd86e664feffe237dc3ed15 diff --git a/recompiler/src/config_loader.cpp b/recompiler/src/config_loader.cpp index 4b32fa2d..79c0bde6 100644 --- a/recompiler/src/config_loader.cpp +++ b/recompiler/src/config_loader.cpp @@ -208,7 +208,12 @@ uint32_t overlay_codegen_config_hash(const GameConfig& c) { h.u32(site.queue_guard ? 1u : 0u); } h.u32(c.ws_aspect_cone.forward_addr); - for (uint32_t value : c.ws_aspect_cone.forward_offsets) h.u32(value); + // Preserve cache identities for titles using the existing component order. + // A non-default order changes runtime participation and needs a new key. + if (c.ws_aspect_cone.forward_offsets != std::array{0u, 2u, 4u}) { + h.u32(0x41584953u); // AXIS + for (uint32_t value : c.ws_aspect_cone.forward_offsets) h.u32(value); + } h.u32(c.ws_aspect_cone.object_type_offset); h.u32(c.ws_aspect_cone.object_reg); h.u32(c.ws_aspect_cone.x_reg);