summaryrefslogtreecommitdiff
path: root/src/map/magic-interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/magic-interpreter.h')
-rw-r--r--src/map/magic-interpreter.h5
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;