#pragma once #include "squirrel.h" #include "sqstdaux.h" #include "sqstdblob.h" #include "sqstdio.h" #include "sqstdmath.h" #include "sqstdstring.h" #include "sqstdsystem.h" #include typedef void *(*__GetGameManagerVoid)(); static SQInteger GameManager_GameManager(HSQUIRRELVM v) { void *GameManager = ((__GetGameManagerVoid)0x080CC18E)(); sq_pushuserpointer(v, GameManager); return 1; } typedef void *(*__GameManagerByThis)(void *GameManager); static SQInteger GameManager_GetParty(HSQUIRRELVM v) { SQUserPointer P; sq_getuserpointer(v, 2, &P); void *CParty = ((__GameManagerByThis)0x08294E10)(P); if (CParty) sq_pushuserpointer(v, CParty); else sq_pushinteger(v, 0); return 1; } static SQInteger register_GameManager_func(HSQUIRRELVM v, SQFUNCTION f, const char *fname) { sq_pushroottable(v); sq_pushstring(v, fname, -1); sq_newclosure(v, f, 0); // create a new function sq_newslot(v, -3, SQFalse); sq_pop(v, 1); // pops the root table } static void RegisterGameManager(HSQUIRRELVM v) { // 获得GameManager对象 register_GameManager_func(v, GameManager_GameManager, _SC("Sq_GameManager_GameManager")); // 获得队伍对象 register_GameManager_func(v, GameManager_GetParty, _SC("Sq_GameManager_GetParty")); }