30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
Uint8 pfwidth,pfheight;
Sint8 gameover,key_ignored;
Uint8 generation_number_inc;
Uint32 move_number;
unsigned char*quiz_text;
Inventory*inventory;
Uint32 ninventory;
char**levelstrings;
Uint16 nlevelstrings;
Value*array_data;
Uint16 ndeadanim;
DeadAnimation*deadanim;
Uint8 no_dead_anim;
typedef struct {
|
|
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
Uint8 pfwidth,pfheight;
Sint8 gameover,key_ignored;
Uint8 generation_number_inc;
Uint32 move_number;
unsigned char*quiz_text;
Inventory*inventory;
Uint32 ninventory;
unsigned char**levelstrings;
Uint16 nlevelstrings;
Value*array_data;
Uint16 ndeadanim;
DeadAnimation*deadanim;
Uint8 no_dead_anim;
typedef struct {
|
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
static Value send_message(Uint32 from,Uint32 to,Uint16 msg,Value arg1,Value arg2,Value arg3);
static Uint32 broadcast(Uint32 from,int c,Uint16 msg,Value arg1,Value arg2,Value arg3,int s);
static Value destroy(Uint32 from,Uint32 to,Uint32 why);
static const Sint8 x_delta[8]={1,1,0,-1,-1,-1,0,1};
static const Sint8 y_delta[8]={0,-1,-1,-1,0,1,1,1};
const char*value_string_ptr(Value v) {
switch(v.t) {
case TY_STRING: return stringpool[v.u];
case TY_LEVELSTRING: return v.u<nlevelstrings?levelstrings[v.u]:"<Invalid level string>";
default: fatal("Internal confusion: Trying to get string pointer for a non-string\n");
}
}
void pfunlink(Uint32 n) {
Object*o=objects[n];
if(o->down==VOIDLINK) playfield[o->x+o->y*64-65]=o->up;
|
|
|
|
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
static Value send_message(Uint32 from,Uint32 to,Uint16 msg,Value arg1,Value arg2,Value arg3);
static Uint32 broadcast(Uint32 from,int c,Uint16 msg,Value arg1,Value arg2,Value arg3,int s);
static Value destroy(Uint32 from,Uint32 to,Uint32 why);
static const Sint8 x_delta[8]={1,1,0,-1,-1,-1,0,1};
static const Sint8 y_delta[8]={0,-1,-1,-1,0,1,1,1};
const unsigned char*value_string_ptr(Value v) {
switch(v.t) {
case TY_STRING: return stringpool[v.u];
case TY_LEVELSTRING: return v.u<nlevelstrings?levelstrings[v.u]:(unsigned char*)"<Invalid level string>";
default: fatal("Internal confusion: Trying to get string pointer for a non-string\n");
}
}
void pfunlink(Uint32 n) {
Object*o=objects[n];
if(o->down==VOIDLINK) playfield[o->x+o->y*64-65]=o->up;
|