From 0ca9c3a645996fd0b5fd018e662ed41d291bdb6d 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 (cherry picked from commit 5478e5cfd1ea137b1072cc2f7fbbcc2be6e7f66d) --- recompiler/src/config_loader.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/recompiler/src/config_loader.cpp b/recompiler/src/config_loader.cpp index 2dd20bae..99741ba2 100644 --- a/recompiler/src/config_loader.cpp +++ b/recompiler/src/config_loader.cpp @@ -246,7 +246,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);