summaryrefslogblamecommitdiff
path: root/src/map/script.h
blob: b70aba3a072ccfa6ee502e3cbd65655fdc7eb9e2 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12



                                                          







                  

  



                                   
  







                                   

  








                                                   
           

                                                                         
 

                                      
 


                                        



                         
// $Id: script.h,v 1.2 2004/09/25 05:32:19 MouseJstr Exp $
#ifndef _SCRIPT_H_
#define _SCRIPT_H_

struct script_data
{
    int  type;
    union
    {
        int  num;
        char *str;
    } u;
};

struct script_stack
{
    int  sp, sp_max;
    struct script_data *stack_data;
};
struct script_state
{
    struct script_stack *stack;
    int  start, end;
    int  pos, state;
    int  rid, oid;
    char *script, *new_script;
    int  defsp, new_pos, new_defsp;
};

unsigned char *parse_script (unsigned char *, int);
typedef struct argrec
{
    char *name;
    union
    {
        int  i;
        char *s;
    } v;
} argrec_t;
int  run_script_l (unsigned char *, int, int, int, int, argrec_t * args);
int  run_script (unsigned char *, int, int, int);

struct dbt *script_get_label_db ();
struct dbt *script_get_userfunc_db ();

int  script_config_read (char *cfgName);
int  do_init_script ();
int  do_final_script ();

extern char mapreg_txt[];

#endif