#ifndef _INCLUDE_SIGNATURES_H_ #define _INCLUDE_SIGNATURES_H_ #include "extension.h" #include "util.h" #include #include class SignatureWrapper { public: ke::AString signature; ke::AString address; ke::AString offset; StringHashMap args; CallingConvention callConv; HookType hookType; ReturnType retType; ThisPointerType thisType; }; class SignatureGameConfig : public ITextListener_SMC { public: SignatureWrapper *GetFunctionSignature(const char *function); public: //ITextListener_SMC SMCResult ReadSMC_NewSection(const SMCStates *states, const char *name); SMCResult ReadSMC_KeyValue(const SMCStates *states, const char *key, const char *value); SMCResult ReadSMC_LeavingSection(const SMCStates *states); void ReadSMC_ParseStart(); private: ReturnType GetReturnTypeFromString(const char *str); HookParamType GetHookParamTypeFromString(const char *str); Register_t GetCustomRegisterFromString(const char *str); private: StringHashMap signatures_; }; extern SignatureGameConfig *g_pSignatures; #endif