diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f50d30d..4b97d27a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -210,7 +210,7 @@ if (ANDROID)
 endif()
 
 set(MAT_JSON_AS_INTERFACE ON)
-CPMAddPackage("gh:geode-sdk/json#28f157b")
+CPMAddPackage("gh:geode-sdk/json#3fe4752")
 CPMAddPackage("gh:fmtlib/fmt#10.1.1")
 CPMAddPackage("gh:gulrak/filesystem#3e5b930")
 
@@ -241,7 +241,7 @@ if (DEFINED GEODE_TULIPHOOK_REPO_PATH)
 	message(STATUS "Using ${GEODE_TULIPHOOK_REPO_PATH} for TulipHook")
 	add_subdirectory(${GEODE_TULIPHOOK_REPO_PATH} ${GEODE_TULIPHOOK_REPO_PATH}/build)
 else()
-	CPMAddPackage("gh:geode-sdk/TulipHook#7fa328b")
+	CPMAddPackage("gh:geode-sdk/TulipHook#ada6508")
 endif()
 set(CMAKE_WARN_DEPRECATED ON CACHE BOOL "" FORCE)
 
diff --git a/loader/src/hooks/FMODFix.cpp b/loader/src/hooks/FMODFix.cpp
index 1cef5888..ced7da58 100644
--- a/loader/src/hooks/FMODFix.cpp
+++ b/loader/src/hooks/FMODFix.cpp
@@ -1,5 +1,8 @@
 #include <Geode/Geode.hpp>
 
+// uncomment whenever macos stops complaining about fmod link errors
+#ifndef GEODE_IS_MACOS
+
 using namespace geode::prelude;
 
 auto g_systemInitialized = false;
@@ -63,3 +66,5 @@ struct AndroidFMODFix : Modify<AndroidFMODFix, FMODAudioEngine> {
     }
 };
 */
+
+#endif
diff --git a/loader/src/hooks/WindowsFontCacheFix.cpp b/loader/src/hooks/WindowsFontCacheFix.cpp
index 163a01f1..b2d581c2 100644
--- a/loader/src/hooks/WindowsFontCacheFix.cpp
+++ b/loader/src/hooks/WindowsFontCacheFix.cpp
@@ -2,6 +2,8 @@
 
 #ifdef GEODE_IS_WINDOWS
 
+#include <loader/LoaderImpl.hpp>
+
 using namespace geode::prelude;
 
 // https://github.com/cocos2d/cocos2d-x/blob/5a25fe75cb8b26b61b14b070e757ec3b17ff7791/cocos2dx/platform/win32/CCImage.cpp#L96
@@ -33,14 +35,14 @@ static void patchCall(uintptr_t addr, uintptr_t newCall) {
 }
 
 $execute {
-
+    if (LoaderImpl::get()->isForwardCompatMode()) return;
+    
     // BitmapDC::~BitmapDC
     patchCall(0xC9A56, (uintptr_t)&RemoveFontResourceWHook);
 
     // BitmapDC::setFont
     patchCall(0xCB5BC, (uintptr_t)&RemoveFontResourceWHook);
     patchCall(0xCB642, (uintptr_t)&AddFontResourceWHook);
-
 };
 
-#endif
\ No newline at end of file
+#endif