Rev 31 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "pch.h"
#pragma hdrstop
#include "FrameScript.h"
/****************************************************************************
*
* Client memory addresses
*
***/
#define FRAMESCRIPT_EXECUTE_PTR 0x00819210
#define FRAMESCRIPT_GETTEXT_PTR 0x00819D40
#define FRAMESCRIPT_REGISTERFUNCTION_PTR 0x00817F90
#define FRAMESCRIPT_SIGNALEVENT_PTR 0x00703E50
#define FRAMESCRIPT_SIGNALEVENT2_PTR 0x00703F50
#define FRAMESCRIPT_UNREGISTERFUNCTION_PTR 0x00817FD0
#define LUA_PUSHSTRING_PTR 0x0084E350
/****************************************************************************
*
* Client function pointers
*
***/
void (*FrameScript_ExecutePtr)(LPCSTR,LPCSTR,LPCSTR) = *(void(*)(LPCSTR,LPCSTR,LPCSTR))FRAMESCRIPT_EXECUTE_PTR;
PCHAR(*FrameScript_GetTextPtr)(LPCSTR,int,FRAMESCRIPT_GENDER) = *(PCHAR(*)(LPCSTR,int,FRAMESCRIPT_GENDER))FRAMESCRIPT_GETTEXT_PTR;
void (*FrameScript_RegisterFunctionPtr)(LPCSTR,int(*)(lua_State*)) = *(void(*)(LPCSTR,int(*)(lua_State *)))FRAMESCRIPT_REGISTERFUNCTION_PTR;
void (*FrameScript_SignalEventPtr)(SCRIPTEVENT) = *(void(*)(SCRIPTEVENT))FRAMESCRIPT_SIGNALEVENT_PTR;
void (*FrameScript_SignalEventPtr2)(SCRIPTEVENT,LPCSTR,...) = *(void (*)(SCRIPTEVENT,LPCSTR,...))FRAMESCRIPT_SIGNALEVENT2_PTR;
void (*FrameScript_UnregisterFunctionPtr)(LPCSTR) = *(void(*)(LPCSTR))FRAMESCRIPT_UNREGISTERFUNCTION_PTR;
void (*lua_pushstringPtr)(lua_State*,const char*) = *(void(*)(lua_State *,const char *))LUA_PUSHSTRING_PTR;
/****************************************************************************
*
* External
*
***/
//===========================================================================
void FrameScript_Execute (LPCSTR function, LPCSTR arguments, LPCSTR taint) {
FrameScript_ExecutePtr(function,arguments,taint);
}
//===========================================================================
PCHAR FrameScript_GetText (char const* text, int a2, FRAMESCRIPT_GENDER gender) {
return FrameScript_GetTextPtr(text,a2,gender);
}
//===========================================================================
void FrameScript_RegisterFunction (LPCSTR name, int (*fcn)(lua_State *)) {
FrameScript_RegisterFunctionPtr(name,fcn);
}
//===========================================================================
void FrameScript_SignalEvent (SCRIPTEVENT eventID) {
FrameScript_SignalEventPtr(eventID);
}
//===========================================================================
void FrameScript_SignalEvent (SCRIPTEVENT eventID, LPCSTR string, ...) {
va_list arglist;
va_start(arglist,string);
FrameScript_SignalEventPtr2(eventID,string,arglist);
va_end(arglist);
}
//===========================================================================
void FrameScript_UnregisterFunction (LPCSTR name) {
FrameScript_UnregisterFunctionPtr(name);
}
//===========================================================================
void _lua_pushstring(lua_State* L, char const* s) {
lua_pushstringPtr(L,s);
}