22 #ifndef MADS_CORE_INTER_H 23 #define MADS_CORE_INTER_H 25 #include "common/serializer.h" 26 #include "mads/core/general.h" 27 #include "mads/core/anim.h" 31 #define inter_columns 5 32 #define inter_delta_y 8 34 #define inter_base_x 0 35 #define inter_size_y (video_y - display_y) 36 #define inter_base_y (video_y - inter_size_y) 38 #define command_base_x 2 39 #define command_base_y 3 40 #define command_delta_x 32 42 #define inven_base_x 90 43 #define inven_base_y 3 44 #define inven_delta_x 69 46 #define action_base_x 240 47 #define action_base_y 3 48 #define action_delta_x (video_x - action_base_x) 50 #define dialog_delta_x 318 52 #define inter_object_base_x 160 53 #define inter_object_base_y 3 54 #define inter_object_size_x 72 55 #define inter_object_size_y 36 57 #define INTER_SPINNING_OBJECT 200 58 #define INTER_TEXT_UPDATE 201 59 #define INTER_OBJECT_SPACE 1200 61 #define INTER_STRING_LENGTH 64 63 #define INTER_COMMANDS (inter_columns * 2) 65 #define INVEN_MAX_OBJECTS 32 67 #define INTER_BUILDING_SENTENCES 0 68 #define INTER_CONVERSATION 1 69 #define INTER_LIMITED_SENTENCES 2 71 #define ABSOLUTE_MODE 0 72 #define RELATIVE_MODE 1 76 #define RIGHT_SELECT 2 94 #define PREP_RELATIONAL 255 97 #define SYNTAX_SINGULAR 0 98 #define SYNTAX_PLURAL 1 99 #define SYNTAX_PARTITIVE 2 100 #define SYNTAX_SINGULAR_MASC 3 101 #define SYNTAX_SINGULAR_FEM 4 102 #define SYNTAX_SINGULAR_LIVING 5 103 #define SYNTAX_MASC_NOT_PROPER 6 104 #define SYNTAX_FEM_NOT_PROPER 7 110 #define STROKE_NONE 0 111 #define STROKE_COMMAND 1 112 #define STROKE_INVEN 2 113 #define STROKE_ACTION 3 114 #define STROKE_INTERFACE 4 115 #define STROKE_SPECIAL_INVEN 5 116 #define STROKE_DIALOG 6 117 #define STROKE_SCROLL 7 119 #define STROKE_DYNAMIC 8 121 #define STROKE_MASK 7 125 #define SCROLL_DOWN 2 126 #define SCROLL_ELEVATOR 3 127 #define SCROLL_THUMB 4 129 #define inter_scroll_x1 73 130 #define inter_scroll_x2 81 131 #define inter_up_y1 3 132 #define inter_up_y2 9 133 #define inter_down_y1 35 134 #define inter_down_y2 41 135 #define inter_elevator_y1 11 136 #define inter_elevator_y2 33 137 #define inter_thumb_y1 14 138 #define inter_thumb_y2 31 140 #define inter_thumb_range ((inter_thumb_y2 - inter_thumb_y1) + 1) 144 #define AWAITING_NONE 0 145 #define AWAITING_COMMAND 1 146 #define AWAITING_THIS 2 147 #define AWAITING_THAT 3 148 #define AWAITING_RIGHT_MOUSE 4 150 #define INTER_MESSAGE_COLOR 254 151 #define INTER_MESSAGE_COLOR_REX 3 153 #define inter_verb inter_words[0] 154 #define inter_main_noun inter_words[1] 155 #define inter_second_noun inter_words[2] 170 extern int inter_auxiliary_click;
172 extern int inter_mouse_x;
173 extern int inter_mouse_y;
174 extern int inter_mouse_type;
176 extern int inter_object_sprite;
177 extern int inter_object_series;
179 extern int inter_spinning_objects;
180 extern int inter_animation_running;
182 extern byte *inter_objects_block;
183 extern long inter_objects_block_size;
186 extern int inter_input_mode;
188 extern char *inter_dialog_strings[inter_columns];
189 extern int inter_dialog_results[inter_columns];
192 extern Verb command[INTER_COMMANDS];
194 extern int inven[INVEN_MAX_OBJECTS];
195 extern int inven_num_objects;
197 extern int active_inven;
198 extern int first_inven;
200 extern int right_command;
201 extern int left_command;
202 extern int left_inven;
203 extern int left_action;
204 extern int right_action;
207 extern int inter_command;
208 extern int inter_main_object;
209 extern int inter_second_object;
210 extern int inter_prep;
212 extern int inter_main_syntax;
213 extern int inter_second_syntax;
215 extern int inter_command_source;
216 extern int inter_main_object_source;
217 extern int inter_second_object_source;
219 extern int inter_look_around;
221 extern int inter_point_established;
222 extern int inter_point_x;
223 extern int inter_point_y;
225 extern int inter_awaiting;
228 extern int inter_words[3];
229 extern char inter_sentence[64];
231 extern bool inter_sentence_ready;
232 extern bool inter_report_hotspots;
234 extern bool inter_force_rescan;
235 extern int inter_base_hotspots;
237 extern long inter_base_time;
240 extern int scrollbar_active;
241 extern int scrollbar_elevator;
242 extern int scrollbar_old_active;
243 extern int scrollbar_old_elevator;
245 extern int scrollbar_stroke_type;
246 extern int scrollbar_quickly;
247 extern long scrollbar_base_timing;
250 extern int inter_spot_class;
251 extern int inter_spot_index;
252 extern int inter_spot_id;
254 extern byte spot_base[STROKE_MAX];
257 extern char istring_prep_names[9][7];
259 extern char istring_look_around[12];
260 extern char istring_use[5];
261 extern char istring_to[4];
262 extern char istring_walk_to[9];
263 extern char istring_space[2];
265 extern char istring_object_pronoun[MAX_SYNTAX][8];
266 extern char istring_subject_pronoun[MAX_SYNTAX][8];
267 extern char istring_demonstrative[MAX_SYNTAX][8];
269 extern int inter_object_id;
270 extern char inter_object_buf[20];
271 extern void (*inter_object_routine)();
278 extern void inter_prepare_background();
284 extern void inter_setup_hotspots();
292 extern void inter_set_active_inven(
int inven_id);
297 extern void inter_scroll_inventory(
int direction);
304 extern void inter_give_to_player(
int this_);
306 extern void inter_take_from_player(
int this_,
int where_to);
316 extern void inter_move_object(
int object_id,
int location);
321 extern void inter_init_sentence();
330 extern void inter_main_loop(
int allow_input);
332 extern void inter_screen_update();
334 extern void inter_hide_macintosh_sentence();
335 extern void inter_restore_macintosh_sentence();
337 extern void inter_turn_off_object();
338 extern void inter_spin_object(
int object_id);
339 extern int inter_allocate_objects();
340 extern void inter_deallocate_objects();
342 extern void inter_reset_dialog();
343 extern int inter_add_dialog(
char *
string,
int result);
345 extern int inter_load_background(
const char *name,
Buffer *target);
347 extern void init_inter();
Definition: serializer.h:80
Definition: anim_timer.h:27