22 #ifndef MADS_CORE_PLAYER_H 23 #define MADS_CORE_PLAYER_H 25 #include "common/serializer.h" 26 #include "mads/core/general.h" 30 #define player_verb player2.words[0] 31 #define player_main_noun player2.words[1] 32 #define player_second_noun player2.words[2] 34 #define PLAYER_VERTICAL 1 35 #define PLAYER_DIAGONAL 2 36 #define PLAYER_HORIZONTAL 3 38 #define PLAYER_DIAGONAL_THRESHOLD 141 40 #define PLAYER_MAX_ROOMS 120 42 #define PLAYER_MAX_STOP 12 47 int target_x, target_y;
50 int x_counter, y_counter;
55 int center_of_gravity;
61 int walk_off_edge_to_room;
67 int prepare_walk_facing;
71 bool commands_allowed;
73 bool walker_previously_visible;
85 int stop_walker_sequence;
86 int stop_walker_stack[PLAYER_MAX_STOP];
87 int stop_walker_trigger[PLAYER_MAX_STOP];
88 int stop_walker_pointer;
93 int next_special_code;
109 int main_object_source;
110 int second_object_source;
117 char series_name[20];
123 byte been_here_before;
124 int num_rooms_been_in;
125 int rooms_been_in[PLAYER_MAX_ROOMS];
128 byte walker_loads_first;
129 byte walker_loaded_first;
130 byte walker_is_loaded;
131 byte walker_must_reload;
133 bool walker_been_visible;
138 byte walk_trigger_dest;
139 int walk_trigger_words[3];
141 bool enable_at_target;
157 extern const byte player_clockwise[10];
161 #define player_said_1(aa) (player_parse (words_##aa , 0) ) 162 #define player_said_2(aa, bb) (player_parse (words_##aa, words_##bb, 0) ) 163 #define player_said_3(aa, bb, cc) (player_parse (words_##aa, words_##bb, words_##cc, 0) ) 165 extern void init_player();
170 extern void player_new_stop_walker();
176 extern void player_stationary_update();
184 extern void player_set_facing();
190 extern void player_set_final_facing();
196 extern void player_select_series();
201 extern void player_set_sprite();
207 extern void player_keep_walking();
212 extern int player_search_image();
217 extern void player_set_image();
222 extern int player_load_series(
const char *name);
227 extern void player_himem_preload(
const char *name,
int level);
229 extern void player_dump_walker();
230 extern void player_preserve_palette();
239 extern void player_new_command();
245 extern void player_new_walk();
251 extern int player_parse(
int vocab_word, ...);
256 extern void player_cancel_walk();
262 extern void player_cancel_command();
267 extern int player_has_been_in_room(
int id);
273 extern void player_discover_room(
int id);
279 extern void player_undiscover_room();
291 extern int player_has(
int object_id);
296 extern void player_clear_stop_walkers();
301 extern void player_init();
307 extern void player_start_walking(
int walk_x,
int walk_y,
int walk_facing);
312 extern int player_add_stop_walker(
int walker,
int trigger);
320 extern void player_walk(
int x,
int y,
int facing);
322 extern void player_walk_trigger(
int trigger);
327 extern void player_demand_facing(
int facing);
329 extern void player_demand_location(
int x,
int y);
338 extern void player_first_walk(
int from_x,
int from_y,
int from_facing,
339 int to_x,
int to_y,
int to_facing,
int enable_at_target);
346 extern void player_keep_turning();
348 extern void player_activate_trigger();
353 extern void save_player();
358 extern void restore_player();
Definition: serializer.h:80
Definition: anim_timer.h:27