diff --git a/src/client/game/game.hpp b/src/client/game/game.hpp index 08c6ea96..1e7c80f2 100644 --- a/src/client/game/game.hpp +++ b/src/client/game/game.hpp @@ -83,20 +83,24 @@ namespace game }; template - struct callable_symbol : base_symbol + struct symbol : base_symbol { using base_symbol::base_symbol; - - template - std::invoke_result_t call_safe(Args... args) - { - arxan::detail::set_address_to_call(this->get()); - return static_cast(arxan::detail::callstack_proxy_addr)(args...); - } }; - template - using symbol = std::conditional_t, callable_symbol, base_symbol>; + template + struct symbol : base_symbol + { + using func_type = T(Args...); + + using base_symbol::base_symbol; + + T call_safe(Args... args) + { + arxan::detail::set_address_to_call(this->get()); + return static_cast(arxan::detail::callstack_proxy_addr)(args...); + } + }; std::filesystem::path get_appdata_path(); }