mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
VScript: add code for calling codecallbacks
This commit is contained in:
parent
cc19debbe6
commit
bcf994e210
@ -101,6 +101,16 @@ SQRESULT CSquirrelVM::RegisterConstant(const SQChar* name, SQInteger value)
|
||||
return CSquirrelVM__RegisterConstant(this, name, value);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------
|
||||
// Purpose: executes a code callback
|
||||
// Input : *name -
|
||||
// Output : true on success, false otherwise
|
||||
//---------------------------------------------------------------------------------
|
||||
bool CSquirrelVM::ExecuteCodeCallback(const SQChar* const callbackName)
|
||||
{
|
||||
return CSquirrelVM__ExecuteCodeCallback(this, callbackName);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------
|
||||
// Purpose: registers a code function
|
||||
// Input : *s -
|
||||
|
@ -21,6 +21,8 @@ public:
|
||||
SQRESULT RegisterFunction(const SQChar* scriptname, const SQChar* nativename, const SQChar* helpstring, const SQChar* returntype, const SQChar* parameters, void* functor);
|
||||
SQRESULT RegisterConstant(const SQChar* name, SQInteger value);
|
||||
|
||||
bool ExecuteCodeCallback(const SQChar* const callbackName);
|
||||
|
||||
FORCEINLINE HSQUIRRELVM GetVM() const { return m_sqVM; }
|
||||
FORCEINLINE SQCONTEXT GetContext() const { return m_iContext; }
|
||||
FORCEINLINE eDLL_T GetNativeContext() const { return (eDLL_T)GetContext(); }
|
||||
@ -64,7 +66,7 @@ inline bool(*CSquirrelVM__PrecompileClientScripts)(CSquirrelVM* vm, SQCONTEXT co
|
||||
#ifndef CLIENT_DLL
|
||||
inline bool(*CSquirrelVM__PrecompileServerScripts)(CSquirrelVM* vm, SQCONTEXT context, char** scriptArray, int scriptCount);
|
||||
#endif
|
||||
|
||||
inline bool(*CSquirrelVM__ExecuteCodeCallback)(CSquirrelVM* s, const SQChar* callbackName);
|
||||
inline bool(*CSquirrelVM__ThrowError)(CSquirrelVM* vm, HSQUIRRELVM v);
|
||||
|
||||
#ifndef CLIENT_DLL
|
||||
@ -122,6 +124,7 @@ class VSquirrel : public IDetour
|
||||
#ifndef DEDICATED
|
||||
LogFunAdr("CSquirrelVM::PrecompileClientScripts", CSquirrelVM__PrecompileClientScripts);
|
||||
#endif // !DEDICATED
|
||||
LogFunAdr("CSquirrelVM::ExecuteCodeCallback", CSquirrelVM__ExecuteCodeCallback);
|
||||
LogFunAdr("CSquirrelVM::ThrowError", CSquirrelVM__ThrowError);
|
||||
}
|
||||
virtual void GetFun(void) const
|
||||
@ -140,6 +143,7 @@ class VSquirrel : public IDetour
|
||||
// cl/ui scripts.rson compiling
|
||||
g_GameDll.FindPatternSIMD("E8 ?? ?? ?? ?? 44 0F B6 F0 48 85 DB").FollowNearCallSelf().GetPtr(CSquirrelVM__PrecompileClientScripts);
|
||||
#endif
|
||||
g_GameDll.FindPatternSIMD("E8 ?? ?? ?? ?? C6 47 1C 01").FollowNearCallSelf().GetPtr(CSquirrelVM__ExecuteCodeCallback);
|
||||
g_GameDll.FindPatternSIMD("E8 ?? ?? ?? ?? BB ?? ?? ?? ?? 8B C3").FollowNearCallSelf().GetPtr(CSquirrelVM__ThrowError);
|
||||
}
|
||||
virtual void GetVar(void) const { }
|
||||
|
Loading…
x
Reference in New Issue
Block a user