diff options
Diffstat (limited to 'src/map/script.h')
-rw-r--r-- | src/map/script.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/map/script.h b/src/map/script.h index ff947bf79..73ba7303e 100644 --- a/src/map/script.h +++ b/src/map/script.h @@ -401,6 +401,8 @@ struct hQueueIterator { struct script_state { struct script_stack* stack; + struct reg_db **pending_refs; ///< References to .vars returned by sub-functions, pending deletion. + int pending_ref_count; ///< Amount of pending_refs currently stored. int start,end; int pos; enum e_script_state state; @@ -589,6 +591,7 @@ struct script_interface { void (*free_vars) (struct DBMap *var_storage); struct script_state* (*alloc_state) (struct script_code* rootscript, int pos, int rid, int oid); void (*free_state) (struct script_state* st); + void (*add_pending_ref) (struct script_state *st, struct reg_db *ref); void (*run_autobonus) (const char *autobonus,int id, int pos); void (*cleararray_pc) (struct map_session_data* sd, const char* varname, void* value); void (*setarray_pc) (struct map_session_data* sd, const char* varname, uint32 idx, void* value, int* refcache); |