1 /* 2 * OpenBOR - http://www.chronocrash.com 3 * ----------------------------------------------------------------------- 4 * All rights reserved. See LICENSE in OpenBOR root for license details. 5 * 6 * Copyright (c) 2004 - 2017 OpenBOR Team 7 */ 8 9 #ifndef OPENBORSCRIPT_H 10 #define OPENBORSCRIPT_H 11 12 #include "Interpreter.h" 13 #include "pp_parser.h" 14 15 #include "axis.h" 16 #include "binding.h" 17 #include "drawmethod.h" 18 #include "recursive_damage.h" 19 #include "entity.h" 20 21 #define MAX_GLOBAL_VAR 2048 22 #define MAX_KEY_LEN 24 23 24 //osc 25 #define script_magic ((int)0x73636f) 26 //vlst 27 #define varlist_magic ((int)0x74736c76) 28 29 30 31 typedef enum 32 { 33 // Array keys for attack entity property. 34 // Damon V. Caskey 35 // 2016-02-20 36 37 // Used for varlist[KEY] when getting or setting 38 // entity attack property. 39 40 EP_ATTACK_AK_ENTITY, 41 EP_ATTACK_AK_PROPERTY, 42 EP_ATTACK_AK_ANIMATION, 43 EP_ATTACK_AK_FRAME, 44 EP_ATTACK_AK_INDEX 45 46 } ep_attack_array_key; 47 48 //This structure holds a named variable list (list) 49 // and an indexed list (vars). 50 typedef struct 51 { 52 int magic; 53 List *list; 54 ScriptVariant *vars; 55 } Varlist; 56 57 typedef struct Script 58 { 59 int magic; 60 Interpreter *pinterpreter; 61 char *comment; // debug purpose 62 Varlist *varlist; 63 int initialized; //flag 64 int interpreterowner; //flag 65 } Script; 66 67 extern Varlist global_var_list; 68 extern List theFunctionList; 69 extern ScriptVariant *indexed_var_list; 70 extern int max_indexed_vars; 71 extern int max_entity_vars; 72 extern int max_script_vars; 73 extern int max_global_vars; 74 extern int no_nested_script; 75 extern int global_var_count; 76 77 //these functions can be used by openbor.c 78 void Varlist_Init(Varlist *varlist, int size); 79 void Varlist_Clear(Varlist *varlist); 80 void Varlist_Cleanup(Varlist *varlist); 81 int Varlist_SetByName(Varlist *varlist, char *theName, ScriptVariant *var); 82 #define Script_Set_Local_Variant(s, k, v) Varlist_SetByName((s)->varlist, (k), (v)) 83 void Script_Global_Init(); 84 void Script_Global_Clear(); 85 void Script_Init(Script *pscript, char *theName, char *comment, int first); 86 Script *alloc_script(); 87 void Script_Copy(Script *pdest, Script *psrc, int localclear); 88 int Script_IsInitialized(Script *pscript); 89 void Script_Clear(Script *pscript, int localclear); 90 int Script_AppendText(Script *pscript, char *text, char *path); 91 int Script_Compile(Script *pscript); 92 int Script_Execute(Script *pscript); 93 int Script_Save_Local_Variant(Script *cs, char *namelist[]); 94 void Script_Load_Local_Variant(Script *cs, int handle); 95 96 void Script_LoadSystemFunctions(); 97 void *Script_GetStringMapFunction(void *functionRef); 98 int Script_MapStringConstants(Instruction *pInstruction); 99 100 #ifndef COMPILED_SCRIPT 101 int Script_Call(Script *pscript, char *method, ScriptVariant *pretvar); 102 #endif 103 104 HRESULT system_isempty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 105 HRESULT system_exit(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 106 HRESULT system_NULL(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 107 HRESULT system_rand(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 108 HRESULT system_srand(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 109 HRESULT system_getglobalvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 110 HRESULT system_setglobalvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 111 HRESULT system_getlocalvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 112 HRESULT system_setlocalvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 113 HRESULT system_clearlocalvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 114 HRESULT system_clearglobalvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 115 HRESULT system_clearindexedvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 116 HRESULT system_free(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 117 HRESULT system_typeof(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 118 119 HRESULT math_sin(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 120 HRESULT math_ssin(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 121 HRESULT math_cos(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 122 HRESULT math_scos(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 123 HRESULT math_sqrt(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 124 HRESULT math_pow(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 125 HRESULT math_asin(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 126 HRESULT math_acos(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 127 HRESULT math_atan(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 128 HRESULT math_trunc(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 129 HRESULT math_round(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 130 131 HRESULT openbor_systemvariant(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 132 HRESULT openbor_setsystemvariant(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 133 HRESULT openbor_drawstring(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 134 HRESULT openbor_drawstringtoscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 135 HRESULT openbor_drawsprite(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 136 HRESULT openbor_drawspritetoscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 137 HRESULT openbor_log(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 138 HRESULT openbor_drawbox(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 139 HRESULT openbor_drawline(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 140 HRESULT openbor_drawdot(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 141 HRESULT openbor_drawboxtoscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 142 HRESULT openbor_drawlinetoscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 143 HRESULT openbor_drawdottoscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 144 HRESULT openbor_drawscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 145 146 // Animation properties. 147 HRESULT openbor_changeplayerproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 148 HRESULT openbor_changeentityproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 149 HRESULT openbor_get_animation_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 150 HRESULT openbor_set_animation_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 151 152 // Attack properties 153 HRESULT openbor_get_attack_collection(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 154 HRESULT openbor_get_attack_instance(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 155 HRESULT openbor_get_attack_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 156 HRESULT openbor_set_attack_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 157 158 // Body collision (bbox) properties 159 HRESULT openbor_get_body_collision_collection(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 160 HRESULT openbor_get_body_collision_instance(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 161 HRESULT openbor_get_body_collision_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 162 HRESULT openbor_set_body_collision_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 163 164 // Entity collision (ebox) properties 165 HRESULT openbor_get_entity_collision_collection(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 166 HRESULT openbor_get_entity_collision_instance(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 167 HRESULT openbor_get_entity_collision_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 168 HRESULT openbor_set_entity_collision_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 169 170 HRESULT openbor_getplayerproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 171 HRESULT openbor_getentityproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 172 HRESULT openbor_clearspawnentry(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 173 HRESULT openbor_setspawnentry(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 174 HRESULT openbor_spawn(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 175 HRESULT openbor_projectile(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 176 HRESULT openbor_transconst(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 177 HRESULT openbor_tossentity(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 178 HRESULT openbor_playmusic(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 179 HRESULT openbor_fademusic(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 180 HRESULT openbor_setmusicvolume(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 181 HRESULT openbor_setmusictempo(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 182 HRESULT openbor_pausemusic(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 183 HRESULT openbor_pausesamples(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 184 HRESULT openbor_pausesample(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 185 HRESULT openbor_querychannel(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 186 HRESULT openbor_stopchannel(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 187 HRESULT openbor_isactivesample(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 188 HRESULT openbor_sampleid(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 189 HRESULT openbor_playsample(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 190 HRESULT openbor_loadsample(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 191 HRESULT openbor_unloadsample(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 192 HRESULT openbor_fadeout(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 193 HRESULT openbor_playerkeys(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 194 HRESULT openbor_changepalette(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 195 HRESULT openbor_damageentity(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 196 HRESULT openbor_getcomputeddamage(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 197 HRESULT openbor_killentity(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 198 HRESULT openbor_dograb(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 199 HRESULT openbor_findtarget(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 200 HRESULT openbor_checkrange(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 201 HRESULT openbor_gettextobjproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 202 HRESULT openbor_changetextobjproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 203 HRESULT openbor_settextobj(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 204 HRESULT openbor_cleartextobj(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 205 HRESULT openbor_getlayerproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 206 HRESULT openbor_changelayerproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 207 208 // 2017-04-25, DC 209 HRESULT openbor_get_level_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 210 HRESULT openbor_set_level_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 211 HRESULT openbor_get_set_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 212 HRESULT openbor_set_set_property(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 213 HRESULT openbor_get_set_handle(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 214 215 // 2017-04-27, DC - bglayer,fglayer, etc. 216 HRESULT openbor_get_layer_handle(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 217 218 HRESULT openbor_getlevelproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 219 HRESULT openbor_changelevelproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 220 HRESULT openbor_checkhole(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 221 HRESULT openbor_checkholeindex(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 222 HRESULT openbor_checkwall(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 223 HRESULT openbor_checkwallindex(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 224 HRESULT openbor_checkplatformbelow(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 225 HRESULT openbor_checkplatformabove(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 226 HRESULT openbor_checkplatformbetween(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 227 HRESULT openbor_checkbasemap(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 228 HRESULT openbor_checkbasemapindex(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 229 HRESULT openbor_checkbase(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 230 HRESULT openbor_generatebasemap(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 231 232 HRESULT openbor_openfilestream(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 233 HRESULT openbor_getfilestreamline(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 234 HRESULT openbor_getfilestreamargument(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 235 HRESULT openbor_filestreamnextline(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 236 HRESULT openbor_getfilestreamposition(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 237 HRESULT openbor_setfilestreamposition(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 238 239 HRESULT openbor_filestreamappend(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 240 HRESULT openbor_createfilestream(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 241 HRESULT openbor_closefilestream(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 242 HRESULT openbor_savefilestream(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 243 244 HRESULT openbor_getindexedvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 245 HRESULT openbor_setindexedvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 246 HRESULT openbor_getscriptvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 247 HRESULT openbor_setscriptvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 248 HRESULT openbor_getentityvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 249 HRESULT openbor_setentityvar(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 250 251 HRESULT openbor_shutdown(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 252 253 HRESULT openbor_jumptobranch(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 254 255 HRESULT openbor_changelight(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 256 HRESULT openbor_changeshadowcolor(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 257 HRESULT openbor_bindentity(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 258 259 HRESULT openbor_array(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 260 HRESULT openbor_size(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 261 HRESULT openbor_get(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 262 HRESULT openbor_set(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 263 HRESULT openbor_delete(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 264 HRESULT openbor_add(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 265 HRESULT openbor_reset(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 266 HRESULT openbor_next(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 267 HRESULT openbor_previous(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 268 HRESULT openbor_key(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 269 HRESULT openbor_value(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 270 HRESULT openbor_islast(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 271 HRESULT openbor_isfirst(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 272 273 HRESULT openbor_allocscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 274 HRESULT openbor_clearscreen(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 275 HRESULT openbor_setdrawmethod(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 276 HRESULT openbor_updateframe(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 277 HRESULT openbor_executeanimation(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 278 HRESULT openbor_performattack(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 279 HRESULT openbor_setidle(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 280 HRESULT openbor_getentity(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 281 282 HRESULT openbor_loadmodel(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 283 HRESULT openbor_unload_model(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 284 HRESULT openbor_loadsprite(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 285 HRESULT openbor_hallfame(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 286 HRESULT openbor_menu_options(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 287 HRESULT openbor_playwebm(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 288 HRESULT openbor_playgif(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 289 HRESULT openbor_openanigif(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 290 HRESULT openbor_decodeanigif(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 291 HRESULT openbor_getanigifinfo(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 292 293 294 HRESULT openbor_strinfirst(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 295 HRESULT openbor_strinlast(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 296 HRESULT openbor_strleft(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 297 HRESULT openbor_strlength(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 298 HRESULT openbor_strwidth(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 299 HRESULT openbor_strright(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 300 HRESULT openbor_getmodelproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 301 HRESULT openbor_changemodelproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 302 HRESULT openbor_rgbcolor(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 303 304 HRESULT openbor_adjustwalkanimation(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 305 HRESULT openbor_finditem(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 306 HRESULT openbor_pickup(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 307 HRESULT openbor_waypoints(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 308 HRESULT openbor_changedrawmethod(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 309 310 HRESULT openbor_drawspriteq(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 311 HRESULT openbor_clearspriteq(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 312 HRESULT openbor_getgfxproperty(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 313 HRESULT openbor_getdrawmethod(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 314 315 HRESULT openbor_allocscript(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 316 HRESULT openbor_loadscript(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 317 HRESULT openbor_compilescript(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 318 HRESULT openbor_executescript(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 319 320 HRESULT openbor_loadgamefile(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 321 HRESULT openbor_finishlevel(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 322 HRESULT openbor_gameover(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 323 HRESULT openbor_gotomainmenu(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 324 HRESULT openbor_playgame(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 325 HRESULT openbor_getrecordingstatus(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 326 HRESULT openbor_recordinputs(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 327 HRESULT openbor_getsaveinfo(ScriptVariant **varlist , ScriptVariant **pretvar, int paramCount); 328 329 int mapstrings_animationproperty(ScriptVariant **varlist, int paramCount); 330 int mapstrings_systemvariant(ScriptVariant **varlist, int paramCount); 331 int mapstrings_entityproperty(ScriptVariant **varlist, int paramCount); 332 int mapstrings_playerproperty(ScriptVariant **varlist, int paramCount); 333 int mapstrings_setspawnentry(ScriptVariant **varlist, int paramCount); 334 int mapstrings_transconst(ScriptVariant **varlist, int paramCount); 335 int mapstrings_playerkeys(ScriptVariant **varlist, int paramCount); 336 int mapstrings_textobjproperty(ScriptVariant **varlist, int paramCount); 337 int mapstrings_layerproperty(ScriptVariant **varlist, int paramCount); 338 int mapstrings_drawmethodproperty(ScriptVariant **varlist, int paramCount); 339 int mapstrings_gfxproperty(ScriptVariant **varlist, int paramCount); 340 int mapstrings_levelproperty(ScriptVariant **varlist, int paramCount); 341 342 int mapstrings_attackproperty(ScriptVariant **varlist, int paramCount); 343 344 345 enum systemvariant_enum 346 { 347 _sv_background, 348 _sv_blockade, 349 _sv_bossescount, 350 _sv_branchname, 351 _sv_cheats, 352 _sv_count_enemies, 353 _sv_count_entities, 354 _sv_count_npcs, 355 _sv_count_players, 356 _sv_current_branch, 357 _sv_current_level, 358 _sv_current_palette, 359 _sv_current_scene, 360 _sv_current_set, 361 _sv_current_stage, 362 _sv_drawmethod_default, 363 _sv_effectvol, 364 _sv_elapsed_time, 365 _sv_ent_max, 366 _sv_fps, 367 _sv_freeram, 368 _sv_game_paused, 369 _sv_game_speed, 370 _sv_game_time, 371 _sv_gfx_x_offset, 372 _sv_gfx_y_offset, 373 _sv_gfx_y_offset_adj, 374 _sv_hresolution, 375 _sv_in_cheat_options, 376 _sv_in_control_options, 377 _sv_in_enginecreditsscreen, 378 _sv_in_gameoverscreen, 379 _sv_in_halloffamescreen, 380 _sv_in_level, 381 _sv_in_load_game, 382 _sv_in_menuscreen, 383 _sv_in_new_game, 384 _sv_in_options, 385 _sv_in_selectscreen, 386 _sv_in_showcomplete, 387 _sv_in_sound_options, 388 _sv_in_start_game, 389 _sv_in_system_options, 390 _sv_in_titlescreen, 391 _sv_in_video_options, 392 _sv_lasthit_attack, 393 _sv_lasthit_attacker, 394 _sv_lasthit_target, 395 _sv_lasthita, 396 _sv_lasthitc, 397 _sv_lasthitt, 398 _sv_lasthitx, 399 _sv_lasthity, 400 _sv_lasthitz, 401 _sv_levelheight, 402 _sv_levelpos, 403 _sv_levelwidth, 404 _sv_lightx, 405 _sv_lightz, 406 _sv_maxanimations, 407 _sv_maxattacktypes, 408 _sv_maxentityvars, 409 _sv_maxglobalvars, 410 _sv_maxindexedvars, 411 _sv_maxplayers, 412 _sv_maxscriptvars, 413 _sv_maxsoundchannels, 414 _sv_models_cached, 415 _sv_models_loaded, 416 _sv_musicvol, 417 _sv_nofadeout, 418 _sv_nogameover, 419 _sv_nohof, 420 _sv_nojoin, 421 _sv_nopause, 422 _sv_nosave, 423 _sv_noscreenshot, 424 _sv_noshowcomplete, 425 _sv_numbasemaps, 426 _sv_numbosses, 427 _sv_numholes, 428 _sv_numlayers, 429 _sv_numpalettes, 430 _sv_numwalls, 431 _sv_pakname, 432 _sv_pause, 433 _sv_pixelformat, 434 _sv_player, 435 _sv_player1, 436 _sv_player2, 437 _sv_player3, 438 _sv_player4, 439 _sv_player_max_z, 440 _sv_player_min_z, 441 _sv_porting, 442 _sv_sample_play_id, 443 _sv_scrollmaxx, 444 _sv_scrollmaxz, 445 _sv_scrollminx, 446 _sv_scrollminz, 447 _sv_self, 448 _sv_sets_count, 449 _sv_shadowalpha, 450 _sv_shadowcolor, 451 _sv_shadowopacity, 452 _sv_skiptoset, 453 _sv_slowmotion, 454 _sv_slowmotion_duration, 455 _sv_smartbomber, 456 _sv_soundvol, 457 _sv_textbox, 458 _sv_ticks, 459 _sv_totalram, 460 _sv_usedram, 461 _sv_viewporth, 462 _sv_viewportw, 463 _sv_viewportx, 464 _sv_viewporty, 465 _sv_vresolution, 466 _sv_vscreen, 467 _sv_waiting, 468 _sv_xpos, 469 _sv_ypos, 470 _sv_the_end 471 }; 472 473 #endif 474