summaryrefslogtreecommitdiff
path: root/src/map/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/script.h')
-rw-r--r--src/map/script.h238
1 files changed, 119 insertions, 119 deletions
diff --git a/src/map/script.h b/src/map/script.h
index ed56b8ebe..e4c12de28 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -13,101 +13,101 @@ extern int potion_hp, potion_per_hp, potion_sp, potion_per_sp;
extern int potion_target;
extern struct Script_Config {
- unsigned warn_func_mismatch_argtypes : 1;
- unsigned warn_func_mismatch_paramnum : 1;
- int check_cmdcount;
- int check_gotocount;
- int input_min_value;
- int input_max_value;
-
- const char *die_event_name;
- const char *kill_pc_event_name;
- const char *kill_mob_event_name;
- const char *login_event_name;
- const char *logout_event_name;
- const char *loadmap_event_name;
- const char *baselvup_event_name;
- const char *joblvup_event_name;
-
- const char* ontouch_name;
- const char* ontouch2_name;
+ unsigned warn_func_mismatch_argtypes : 1;
+ unsigned warn_func_mismatch_paramnum : 1;
+ int check_cmdcount;
+ int check_gotocount;
+ int input_min_value;
+ int input_max_value;
+
+ const char *die_event_name;
+ const char *kill_pc_event_name;
+ const char *kill_mob_event_name;
+ const char *login_event_name;
+ const char *logout_event_name;
+ const char *loadmap_event_name;
+ const char *baselvup_event_name;
+ const char *joblvup_event_name;
+
+ const char *ontouch_name;
+ const char *ontouch2_name;
} script_config;
typedef enum c_op {
- C_NOP, // end of script/no value (nil)
- C_POS,
- C_INT, // number
- C_PARAM, // parameter variable (see pc_readparam/pc_setparam)
- C_FUNC, // buildin function call
- C_STR, // string (free'd automatically)
- C_CONSTSTR, // string (not free'd)
- C_ARG, // start of argument list
- C_NAME,
- C_EOL, // end of line (extra stack values are cleared)
- C_RETINFO,
- C_USERFUNC, // internal script function
- C_USERFUNC_POS, // internal script function label
- C_REF, // the next call to c_op2 should push back a ref to the left operand
-
- // operators
- C_OP3, // a ? b : c
- C_LOR, // a || b
- C_LAND, // a && b
- C_LE, // a <= b
- C_LT, // a < b
- C_GE, // a >= b
- C_GT, // a > b
- C_EQ, // a == b
- C_NE, // a != b
- C_XOR, // a ^ b
- C_OR, // a | b
- C_AND, // a & b
- C_ADD, // a + b
- C_SUB, // a - b
- C_MUL, // a * b
- C_DIV, // a / b
- C_MOD, // a % b
- C_NEG, // - a
- C_LNOT, // ! a
- C_NOT, // ~ a
- C_R_SHIFT, // a >> b
- C_L_SHIFT, // a << b
- C_ADD_PP, // ++a
- C_SUB_PP, // --a
+ C_NOP, // end of script/no value (nil)
+ C_POS,
+ C_INT, // number
+ C_PARAM, // parameter variable (see pc_readparam/pc_setparam)
+ C_FUNC, // buildin function call
+ C_STR, // string (free'd automatically)
+ C_CONSTSTR, // string (not free'd)
+ C_ARG, // start of argument list
+ C_NAME,
+ C_EOL, // end of line (extra stack values are cleared)
+ C_RETINFO,
+ C_USERFUNC, // internal script function
+ C_USERFUNC_POS, // internal script function label
+ C_REF, // the next call to c_op2 should push back a ref to the left operand
+
+ // operators
+ C_OP3, // a ? b : c
+ C_LOR, // a || b
+ C_LAND, // a && b
+ C_LE, // a <= b
+ C_LT, // a < b
+ C_GE, // a >= b
+ C_GT, // a > b
+ C_EQ, // a == b
+ C_NE, // a != b
+ C_XOR, // a ^ b
+ C_OR, // a | b
+ C_AND, // a & b
+ C_ADD, // a + b
+ C_SUB, // a - b
+ C_MUL, // a * b
+ C_DIV, // a / b
+ C_MOD, // a % b
+ C_NEG, // - a
+ C_LNOT, // ! a
+ C_NOT, // ~ a
+ C_R_SHIFT, // a >> b
+ C_L_SHIFT, // a << b
+ C_ADD_PP, // ++a
+ C_SUB_PP, // --a
} c_op;
struct script_retinfo {
- struct DBMap* var_function;// scope variables
- struct script_code* script;// script code
- int pos;// script location
- int nargs;// argument count
- int defsp;// default stack pointer
+ struct DBMap *var_function;// scope variables
+ struct script_code *script;// script code
+ int pos;// script location
+ int nargs;// argument count
+ int defsp;// default stack pointer
};
struct script_data {
- enum c_op type;
- union script_data_val {
- int num;
- char *str;
- struct script_retinfo* ri;
- } u;
- struct DBMap** ref;
+ enum c_op type;
+ union script_data_val {
+ int num;
+ char *str;
+ struct script_retinfo *ri;
+ } u;
+ struct DBMap **ref;
};
// Moved defsp from script_state to script_stack since
// it must be saved when script state is RERUNLINE. [Eoe / jA 1094]
struct script_code {
- int script_size;
- unsigned char* script_buf;
- struct DBMap* script_vars;
+ int script_size;
+ unsigned char *script_buf;
+ struct DBMap *script_vars;
};
struct script_stack {
- int sp;// number of entries in the stack
- int sp_max;// capacity of the stack
- int defsp;
- struct script_data *stack_data;// stack
- struct DBMap* var_function;// scope variables
+ int sp;// number of entries in the stack
+ int sp_max;// capacity of the stack
+ int defsp;
+ struct script_data *stack_data;// stack
+ struct DBMap *var_function;// scope variables
};
@@ -117,81 +117,81 @@ struct script_stack {
enum e_script_state { RUN,STOP,END,RERUNLINE,GOTO,RETFUNC };
struct script_state {
- struct script_stack* stack;
- int start,end;
- int pos;
- enum e_script_state state;
- int rid,oid;
- struct script_code *script, *scriptroot;
- struct sleep_data {
- int tick,timer,charid;
- } sleep;
- int instance_id;
- //For backing up purposes
- struct script_state *bk_st;
- int bk_npcid;
- unsigned freeloop : 1;// used by buildin_freeloop
- unsigned op2ref : 1;// used by op_2
+ struct script_stack *stack;
+ int start,end;
+ int pos;
+ enum e_script_state state;
+ int rid,oid;
+ struct script_code *script, *scriptroot;
+ struct sleep_data {
+ int tick,timer,charid;
+ } sleep;
+ int instance_id;
+ //For backing up purposes
+ struct script_state *bk_st;
+ int bk_npcid;
+ unsigned freeloop : 1;// used by buildin_freeloop
+ unsigned op2ref : 1;// used by op_2
};
struct script_reg {
- int index;
- int data;
+ int index;
+ int data;
};
struct script_regstr {
- int index;
- char* data;
+ int index;
+ char *data;
};
enum script_parse_options {
- SCRIPT_USE_LABEL_DB = 0x1,// records labels in scriptlabel_db
- SCRIPT_IGNORE_EXTERNAL_BRACKETS = 0x2,// ignores the check for {} brackets around the script
- SCRIPT_RETURN_EMPTY_SCRIPT = 0x4// returns the script object instead of NULL for empty scripts
+ SCRIPT_USE_LABEL_DB = 0x1,// records labels in scriptlabel_db
+ SCRIPT_IGNORE_EXTERNAL_BRACKETS = 0x2,// ignores the check for {} brackets around the script
+ SCRIPT_RETURN_EMPTY_SCRIPT = 0x4// returns the script object instead of NULL for empty scripts
};
-const char* skip_space(const char* p);
-void script_error(const char* src, const char* file, int start_line, const char* error_msg, const char* error_pos);
+const char *skip_space(const char *p);
+void script_error(const char *src, const char *file, int start_line, const char *error_msg, const char *error_pos);
-struct script_code* parse_script(const char* src,const char* file,int line,int options);
-void run_script_sub(struct script_code *rootscript,int pos,int rid,int oid, char* file, int lineno);
-void run_script(struct script_code*,int,int,int);
+struct script_code *parse_script(const char *src,const char *file,int line,int options);
+void run_script_sub(struct script_code *rootscript,int pos,int rid,int oid, char *file, int lineno);
+void run_script(struct script_code *,int,int,int);
int set_var(struct map_session_data *sd, char *name, void *val);
int conv_num(struct script_state *st,struct script_data *data);
-const char* conv_str(struct script_state *st,struct script_data *data);
+const char *conv_str(struct script_state *st,struct script_data *data);
int run_script_timer(int tid, unsigned int tick, int id, intptr_t data);
void run_script_main(struct script_state *st);
void script_stop_sleeptimers(int id);
-struct linkdb_node* script_erase_sleepdb(struct linkdb_node *n);
-void script_free_code(struct script_code* code);
+struct linkdb_node *script_erase_sleepdb(struct linkdb_node *n);
+void script_free_code(struct script_code *code);
void script_free_vars(struct DBMap *storage);
-struct script_state* script_alloc_state(struct script_code* script, int pos, int rid, int oid);
-void script_free_state(struct script_state* st);
+struct script_state *script_alloc_state(struct script_code *script, int pos, int rid, int oid);
+void script_free_state(struct script_state *st);
-struct DBMap* script_get_label_db(void);
-struct DBMap* script_get_userfunc_db(void);
+struct DBMap *script_get_label_db(void);
+struct DBMap *script_get_userfunc_db(void);
void script_run_autobonus(const char *autobonus,int id, int pos);
-bool script_get_constant(const char* name, int* value);
-void script_set_constant(const char* name, int value, bool isparameter);
+bool script_get_constant(const char *name, int *value);
+void script_set_constant(const char *name, int value, bool isparameter);
-void script_cleararray_pc(struct map_session_data* sd, const char* varname, void* value);
-void script_setarray_pc(struct map_session_data* sd, const char* varname, uint8 idx, void* value, int* refcache);
+void script_cleararray_pc(struct map_session_data *sd, const char *varname, void *value);
+void script_setarray_pc(struct map_session_data *sd, const char *varname, uint8 idx, void *value, int *refcache);
int script_config_read(char *cfgName);
int do_init_script(void);
int do_final_script(void);
-int add_str(const char* p);
-const char* get_str(int id);
+int add_str(const char *p);
+const char *get_str(int id);
int script_reload(void);
// @commands (script based)
void setd_sub(struct script_state *st, TBL_PC *sd, const char *varname, int elem, void *value, struct DBMap **ref);
#ifdef BETA_THREAD_TEST
-void queryThread_log(char * entry, int length);
+void queryThread_log(char *entry, int length);
#endif
#endif /* _SCRIPT_H_ */