Subversion Repositories WoWGM

Rev

Rev 31 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 tristanc 1
#include "pch.h"
2
#pragma hdrstop
3
 
4
#include "FrameScript.h"
5
 
6
#define FRAMESCRIPT_EXECUTE_PTR				0x00819210;
7
#define FRAMESCRIPT_GETTEXT_PTR				0x00819D40;
8
#define FRAMESCRIPT_REGISTERFUNCTION_PTR	0x00817F90;
9
#define FRAMESCRIPT_SIGNALEVENT_PTR			0x00703E50;
10
#define FRAMESCRIPT_SIGNALEVENT2_PTR		0x00703F50;
11
#define FRAMESCRIPT_UNREGISTERFUNCTION_PTR	0x00817FD0;
12
#define LUA_PUSHSTRING_PTR					0x0084E350;
13
 
14
/****************************************************************************
15
*
16
*  Private
17
*
18
***/
19
 
20
void (*FrameScript_ExecutePtr)(LPCSTR function, LPCSTR arguments, LPCSTR taint) = *(void(*)(LPCSTR,LPCSTR,LPCSTR))FRAMESCRIPT_EXECUTE_PTR;
21
PCHAR(*FrameScript_GetTextPtr)(LPCSTR text, int a2, FRAMESCRIPT_GENDER gender) = *(PCHAR(*)(LPCSTR,int,FRAMESCRIPT_GENDER))FRAMESCRIPT_GETTEXT_PTR;
22
void (*FrameScript_RegisterFunctionPtr)(LPCSTR name, int (*fcn)(lua_State *)) = *(void(*)(LPCSTR,int(*)(lua_State *)))FRAMESCRIPT_REGISTERFUNCTION_PTR;
23
void (*FrameScript_SignalEventPtr)(SCRIPTEVENT eventID) = *(void(*)(SCRIPTEVENT))FRAMESCRIPT_SIGNALEVENT_PTR;
24
void (*FrameScript_SignalEventPtr2)(SCRIPTEVENT eventID, LPCSTR string, ...) = *(void (*)(SCRIPTEVENT,LPCSTR,...))FRAMESCRIPT_SIGNALEVENT2_PTR;
25
void (*FrameScript_UnregisterFunctionPtr)(LPCSTR name) = *(void(*)(LPCSTR))FRAMESCRIPT_UNREGISTERFUNCTION_PTR;
26
void (*lua_pushstringPtr)(lua_State* L, const char* s) = *(void(*)(lua_State *,const char *))LUA_PUSHSTRING_PTR;
27
 
28
 
29
/****************************************************************************
30
*
31
*  External
32
*
33
***/
34
 
35
//===========================================================================
36
void FrameScript_Execute (LPCSTR function, LPCSTR arguments, LPCSTR taint) {
37
	FrameScript_ExecutePtr(function,arguments,taint);
38
}
39
 
40
//===========================================================================
41
PCHAR FrameScript_GetText (const char* text, int a2, FRAMESCRIPT_GENDER gender) {
42
	return FrameScript_GetTextPtr(text,a2,gender);
43
}
44
 
45
//===========================================================================
46
void FrameScript_RegisterFunction (LPCSTR name, int (*fcn)(lua_State *)) {
47
	FrameScript_RegisterFunctionPtr(name,fcn);
48
}
49
 
50
//===========================================================================
51
void FrameScript_SignalEvent (SCRIPTEVENT eventID) {
52
	FrameScript_SignalEventPtr(eventID);
53
}
54
 
55
//===========================================================================
56
void FrameScript_SignalEvent (SCRIPTEVENT eventID, LPCSTR string, ...) {
57
	va_list arglist;
58
	va_start(arglist,string);
59
	FrameScript_SignalEventPtr2(eventID,string,arglist);
60
	va_end(arglist);
61
}
62
 
63
//===========================================================================
64
void FrameScript_UnregisterFunction (LPCSTR name) {
65
	FrameScript_UnregisterFunctionPtr(name);
66
}
67
 
68
//===========================================================================
69
void _lua_pushstring(lua_State* L, const char* s) {
70
	lua_pushstringPtr(L,s);
71
}