28 #include "engines/wintermute/base/base_scriptable.h" 29 #include "engines/wintermute/base/scriptables/script_value.h" 30 #include "engines/wintermute/base/scriptables/script_stack.h" 32 #ifndef WINTERMUTE_PLUGINS_H 33 #define WINTERMUTE_PLUGINS_H 38 BaseScriptable *makeSXSteamAPI(BaseGame *inGame, ScStack *stack);
39 BaseScriptable *makeSXWMEGalaxyAPI(BaseGame *inGame, ScStack *stack);
40 BaseScriptable *makeSX3fStatistics(BaseGame *inGame, ScStack *stack);
41 BaseScriptable *makeSXCommandLineHelper(BaseGame *inGame, ScStack *stack);
42 BaseScriptable *makeSXSample(BaseGame *inGame, ScStack *stack);
43 BaseScriptable *makeSXVlink(BaseGame *inGame, ScStack *stack);
44 BaseScriptable *makeSXBlackAndWhite(BaseGame *inGame, ScStack *stack);
45 BaseScriptable *makeSXShadowManager(BaseGame *inGame, ScStack *stack);
47 bool EmulatePluginCall(BaseGame *inGame, ScStack *stack, ScStack *thisStack,
char *name) {
53 if (strcmp(name,
"SteamAPI") == 0) {
54 thisObj = thisStack->getTop();
56 thisObj->setNative(makeSXSteamAPI(inGame, stack));
65 else if (strcmp(name,
"WMEGalaxyAPI") == 0) {
66 thisObj = thisStack->getTop();
68 thisObj->setNative(makeSXWMEGalaxyAPI(inGame, stack));
77 else if (strcmp(name,
"Statistics") == 0) {
78 thisObj = thisStack->getTop();
80 thisObj->setNative(makeSX3fStatistics(inGame, stack));
89 else if (strcmp(name,
"CommandLineHelper") == 0) {
90 thisObj = thisStack->getTop();
92 thisObj->setNative(makeSXCommandLineHelper(inGame, stack));
101 else if (strcmp(name,
"Sample") == 0) {
102 thisObj = thisStack->getTop();
104 thisObj->setNative(makeSXSample(inGame, stack));
113 else if (strcmp(name,
"BinkVideo") == 0) {
114 thisObj = thisStack->getTop();
116 thisObj->setNative(makeSXVlink(inGame, stack));
126 else if (strcmp(name,
"BlackAndWhite") == 0) {
127 thisObj = thisStack->getTop();
129 thisObj->setNative(makeSXBlackAndWhite(inGame, stack));
138 else if (strcmp(name,
"ShadowManager") == 0) {
139 thisObj = thisStack->getTop();
141 thisObj->setNative(makeSXShadowManager(inGame, stack));
148 return STATUS_FAILED;
Definition: achievements_tables.h:27