// **********************************
// Interpreter variables, flags, etc.
// **********************************

// vars
#define room_no                  v0
#define prev_room_no             v1
#define ego_edge_code            v2
#define score                    v3
#define object_touching_edge     v4
#define object_edge_code         v5
#define ego_dir                  v6
#define max_score                v7
#define free_memory              v8
#define unknown_word_no          v9
#define cycle_delay              v10
#define clock_seconds            v11
#define clock_minutes            v12
#define clock_hours              v13
#define clock_days               v14
#define joystick_sensitivity     v15
#define ego_view_no              v16
#define error_code               v17
#define error_information        v18
#define key_pressed              v19
#define computer_type            v20
#define window_close_time        v21
#define sound_type               v22
#define sound_volume             v23
// not sure what v24 is
#define selected_inventory_item  v25
#define video_mode               v26

// flags
#define ego_on_water             f0
#define ego_hidden               f1
#define input_recieved           f2
#define ego_touching_signal_line f3
#define input_parsed             f4
#define new_room                 f5
#define game_restarted           f6
#define script_buffer_blocked    f7
#define joystick_sensitivity_set f8
#define sound_on                 f9
#define trace_enabled            f10
#define first_logic0_cycle       f11
#define game_restored            f12
#define inventory_select_enabled f13
#define menu_enabled             f14
#define windows_remain           f15

// strings
#define prompt_char              s0

// edge codes
#define no_edge                  0
#define horizon_edge             1
#define right_edge               2
#define bottom_edge              3
#define left_edge                4

// directions
#define stopped                  0
#define up                       1
#define upright                  2
#define right                    3
#define downright                4
#define down                     5
#define downleft                 6
#define left                     7
#define upleft                   8

// video modes
#define CGA                      0
#define RGB                      1
#define Hercules                 2
#define EGA                      3
#define VGA                      4


// ***********
// Controllers
// ***********

// AGI menu
#define menu_about c21
#define menu_help c2
// File menu
#define menu_save c3
#define menu_restore c5
#define menu_fileseparator c20
#define menu_restart c7
#define menu_quit c1
// Action menu
#define menu_seeobject c22
#define menu_inventory c10
#define menu_status c45
// Special menu
#define menu_soundonoff c16
#define menu_clock c12
#define menu_joystick c15
#define menu_pause c18
// Speed menu
#define menu_normalspeed c24
#define menu_slowspeed c25
#define menu_fastspeed c23
#define menu_fastestspeed c28

// Keys
#define key_activiate_menu c19
#define key_decreasevolume c26
#define key_increasevolume c27
#define key_clearinputline c17
#define key_echoline c9
#define key_seeobject c4
#define key_debug c14

// *************************
// Other variables/flags/etc
// *************************

#define debug_active f32

#define clock_active f34
#define old_clock_seconds v37

#define ego o0
#define new_ego_x v30
#define new_ego_y v31
#define old_ego_x v32
#define old_ego_y v33
#define old_ego_dir v34
#define never_animate_ego f30
#define always_animate_ego f31

#define death_type v35
#define thankyou_timer v36

#define coords_shown f35

#define num_invobjects 5
// Remember to change this when you add more objects.

#define disable_game_functions f33


#define fight c48
#define run c49
#define heal c47
#define w_switch c46

#define small f16
#define m_turn f17
#define fought f18
#define weapon f20

#define trashed f19
#define trash_corpse f21
#define m1_attacks f22
#define m2_attacks f23
#define m3_attacks f24
#define m4_attacks f25
#define alerted f26
#define shed_window f27
#define got_tool f28
#define toilet_head f29
#define cemetery_zombie1 f36
#define cemetery_zombie2 f37
#define cemetery_ghoul f38
#define bathroom_zombie f39
#define cant_run f40
#define surprised f41
#define phone_sheriff f42
//f240-f242  bathroom stalls

#define health v38
#define hit_percent v39
#define damage v40
#define m_health v41
#define m_hit_percent v42
#define m_damage v43
#define monster v44
#define scenery v45
#define m_chance v46
#define powerbar v47
#define modifier v48
#define ammo v49
#define experience v50
#define max_health v51
#define exp v52
#define old_exp v53
#define prev_monster v243

//v244-v251  temporary monster coordinates

#define game_version_message "Demo v0.11"
#define game_about_message "        Tonight \n The Shrieking Corpses \n         Bleed \n\n copyright 2002 \n\n Magick Poultry Productions"