From 1af10eea7fbe71427dd2bb2e45709984fd937bee Mon Sep 17 00:00:00 2001 From: mat <26722564+matcool@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:41:13 -0300 Subject: [PATCH] add check for gd version in DynamicCastFix.cpp prevents silently breaking macos --- loader/src/hooks/DynamicCastFix.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/loader/src/hooks/DynamicCastFix.cpp b/loader/src/hooks/DynamicCastFix.cpp index 2c325c33..d493bf93 100644 --- a/loader/src/hooks/DynamicCastFix.cpp +++ b/loader/src/hooks/DynamicCastFix.cpp @@ -8,6 +8,10 @@ $execute { // this is needed because the transitions in cocos uses dynamic cast to check // layers, which fail on user layers due to typeinfo not matching + #if defined(GEODE_IS_MAC) && GEODE_COMP_GD_VERSION != 22074 + #error "Unsupported version for macOS dynamic cast fix, please update the addresses" + #endif + #if defined(GEODE_IS_INTEL_MAC) void* dynamicCastAddr = reinterpret_cast(base::get() + 0x7ba1d8); (void) Mod::get()->hook(dynamicCastAddr, &cast::typeinfoCastInternal, "__dynamic_cast");