diff options
Diffstat (limited to 'src/map/magic-interpreter.h')
-rw-r--r-- | src/map/magic-interpreter.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/map/magic-interpreter.h b/src/map/magic-interpreter.h index 26f6c5c..0e6218e 100644 --- a/src/map/magic-interpreter.h +++ b/src/map/magic-interpreter.h @@ -115,6 +115,7 @@ typedef struct val { #define EXPR_AREA 2 #define EXPR_FUNAPP 3 #define EXPR_ID 4 +#define EXPR_SPELLFIELD 5 typedef struct e_location { struct expr *m, *x, *y; @@ -137,6 +138,7 @@ typedef struct expr { e_area_t e_area; struct { int id, line_nr, column; int args_nr; struct expr *args[MAX_ARGS]; } e_funapp; int e_id; + struct { struct expr *expr; int id; } e_field; } e; unsigned char ty; } expr_t; @@ -244,6 +246,7 @@ typedef struct letdef { typedef struct spell { char *name; char *invocation; + int index; // Relative location in the definitions file int flags; int arg; int spellarg_ty; @@ -312,7 +315,7 @@ typedef struct env { typedef struct cont_activation_record { effect_t *return_location; union c { - struct { int id; effect_t *body; int entities_nr; int *entities; int index; } c_foreach; + struct { int id, ty; effect_t *body; int entities_nr; int *entities; int index; } c_foreach; struct { int id; effect_t *body; int current; int stop; } c_for; struct { int args_nr, *formals; val_t *old_actuals; } c_proc; } c; |