diff --git a/loader/include/Geode/modify/Field.hpp b/loader/include/Geode/modify/Field.hpp index 32eb1ade..99824404 100644 --- a/loader/include/Geode/modify/Field.hpp +++ b/loader/include/Geode/modify/Field.hpp @@ -41,17 +41,14 @@ namespace geode::modifier { return node->getFieldContainer(); } }; + + GEODE_DLL size_t getFieldIndexForClass(size_t hash); template class FieldIntermediate { // Padding used for guaranteeing any member of parents // will be in between sizeof(Intermediate) and sizeof(Parent) uintptr_t m_padding; - static inline std::unordered_map nextIndex; - - static size_t getFieldIndexForClass(size_t hash) { - return nextIndex[hash]++; - } public: static void fieldConstructor(void* offsetField) { diff --git a/loader/src/hooks/GeodeNodeMetadata.cpp b/loader/src/hooks/GeodeNodeMetadata.cpp index 70a0f1a8..777635ab 100644 --- a/loader/src/hooks/GeodeNodeMetadata.cpp +++ b/loader/src/hooks/GeodeNodeMetadata.cpp @@ -64,7 +64,6 @@ public: }; // proxy forwards -// clang-format off #include struct ProxyCCNode : Modify { virtual CCObject* getUserObject() { @@ -80,7 +79,10 @@ struct ProxyCCNode : Modify { } }; -// clang-format on +static inline std::unordered_map s_nextIndex; +size_t modifier::getFieldIndexForClass(size_t hash) { + return s_nextIndex[hash]++; +} // not const because might modify contents FieldContainer* CCNode::getFieldContainer() {