data.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. /* $Id$
  2. * MegaZeux
  3. *
  4. * Copyright (C) 1996 Greg Janson
  5. * Copyright (C) 1998 Matthew D. Williams - dbwilli@scsn.net
  6. *
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License as
  9. * published by the Free Software Foundation; either version 2 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21. /* Declarations for DATA.ASM (most global data) */
  22. #ifndef __DATA_H
  23. #define __DATA_H
  24. #include "const.h"
  25. #include "struct.h"
  26. /* This first section is from IDPUT.ASM */
  27. extern unsigned char id_chars[455];
  28. /*extern unsigned char id_chars[128];*/
  29. extern unsigned char id_dmg[128];
  30. extern unsigned char def_id_chars[455];
  31. extern unsigned char *player_color;
  32. extern unsigned char *player_char; /* was [4]*/
  33. extern unsigned char bullet_color[3]; /* was [3]*/
  34. extern unsigned char missile_color;
  35. /*extern unsigned char bullet_char[12];*/
  36. extern unsigned char *bullet_char;
  37. extern char refresh_mod_playing;
  38. extern char mesg_edges;
  39. extern unsigned int saved_mouse_x;
  40. extern unsigned int saved_mouse_y;
  41. extern unsigned int saved_mouse_buttons;
  42. extern unsigned char board_where[NUM_BOARDS];
  43. extern unsigned char keys[NUM_KEYS];
  44. extern unsigned long score;
  45. extern char mod_playing[FILENAME_SIZE];
  46. extern char real_mod_playing[FILENAME_SIZE];
  47. extern unsigned char curr_board;
  48. extern char curr_file[FILENAME_SIZE];
  49. extern char curr_sav[FILENAME_SIZE];
  50. extern char help_file[PATHNAME_SIZE];
  51. extern char config_file[PATHNAME_SIZE];
  52. extern char MSE_file[PATHNAME_SIZE];
  53. extern char mzx_blank_mod_file[PATHNAME_SIZE];
  54. extern char mzx_convert_mod_file[PATHNAME_SIZE];
  55. extern char megazeux_dir[PATHNAME_SIZE];
  56. extern char current_dir[PATHNAME_SIZE];
  57. extern unsigned char megazeux_drive;
  58. extern unsigned char current_drive;
  59. extern char quicksave_file[FILENAME_SIZE];
  60. extern unsigned char viewport_x;
  61. extern unsigned char viewport_y;
  62. extern unsigned char viewport_xsiz;
  63. extern unsigned char viewport_ysiz;
  64. extern unsigned int board_xsiz;
  65. extern unsigned int board_ysiz;
  66. extern unsigned char can_shoot;
  67. extern unsigned char can_bomb;
  68. extern unsigned char fire_burn_brown;
  69. extern unsigned char fire_burn_space;
  70. extern unsigned char fire_burn_fakes;
  71. extern unsigned char fire_burn_trees;
  72. extern unsigned char explosions_leave;
  73. extern unsigned char save_mode;
  74. extern unsigned char forest_becomes;
  75. extern unsigned char collect_bombs;
  76. extern unsigned char fire_burns;
  77. extern unsigned char board_dir[4];
  78. extern unsigned char restart_if_zapped;
  79. extern unsigned int time_limit;
  80. extern unsigned char first_board;
  81. extern unsigned char clear_on_exit;
  82. extern unsigned char endgame_board;
  83. extern unsigned int endgame_x;
  84. extern unsigned int endgame_y;
  85. extern unsigned char game_over_sfx;
  86. extern unsigned char death_board;
  87. extern unsigned int death_x;
  88. extern unsigned int death_y;
  89. extern unsigned char only_from_swap;
  90. extern unsigned int starting_lives;
  91. extern unsigned int lives_limit;
  92. extern unsigned int starting_health;
  93. extern unsigned int health_limit;
  94. extern unsigned char last_key;//Local
  95. extern unsigned int num_input;//Local
  96. extern unsigned char input_size;//Local
  97. extern unsigned char volume;//Global
  98. extern char volume_inc;//Global
  99. extern unsigned char volume_target;//Global
  100. extern unsigned char player_ns_locked;//Now global
  101. extern unsigned char player_ew_locked;//Now global
  102. extern unsigned char player_attack_locked;//Now global
  103. extern char input_string[81];//Local
  104. extern unsigned char blind_dur;//Now global
  105. extern unsigned char firewalker_dur;//Now global
  106. extern unsigned char freeze_time_dur;//Now global
  107. extern unsigned char slow_time_dur;//Now global
  108. extern unsigned char wind_dur;//Now global
  109. extern unsigned char player_last_dir;//Local
  110. extern unsigned char current_page;
  111. extern unsigned int current_pg_seg;
  112. extern char status_shown_counters[6*COUNTER_NAME_SIZE];
  113. extern unsigned char music_on;
  114. extern unsigned char sfx_on;
  115. extern unsigned char music_gvol;//Global volume (settings)
  116. extern unsigned char sound_gvol;//Global volume (settings)
  117. extern unsigned char music_device;
  118. extern unsigned int mixing_rate;
  119. extern unsigned char sfx_channels;
  120. extern unsigned char overall_speed;
  121. extern char bottom_mesg[81];//Local
  122. extern unsigned char b_mesg_timer;//Local
  123. extern unsigned char b_mesg_row;//Local
  124. extern unsigned char b_mesg_col;//Local, 255 for centered
  125. extern unsigned int player_x;
  126. extern unsigned int player_y;
  127. extern unsigned int pl_saved_x[8];
  128. extern unsigned int pl_saved_y[8];
  129. extern unsigned char pl_saved_board[8];
  130. extern unsigned char edge_color;//Global
  131. extern unsigned char scroll_color;//Global, not saved
  132. extern unsigned char lazwall_start;//Local
  133. extern int scroll_x;//Local // Something is SERIOUSLY wrong with these two, counter.cpp
  134. extern int scroll_y;//Local // can't even see them! Spid
  135. extern unsigned int locked_x;//Local (-1 or 65535 for none)
  136. extern unsigned int locked_y;//Local (-1 or 65535 for none)
  137. extern unsigned char protection_method;
  138. extern char password[16];
  139. extern unsigned char enemy_hurt_enemy;//Global
  140. extern unsigned char cheats_active;
  141. extern unsigned char current_help_sec;
  142. extern unsigned char saved_pl_color;
  143. extern unsigned int flags[128];
  144. extern char far *board_list;
  145. extern bOffset far *board_offsets;
  146. extern unsigned long far *board_sizes;
  147. extern char far *board_filenames;
  148. extern unsigned char far *level_id;
  149. extern unsigned char far *level_color;
  150. extern unsigned char far *level_param;
  151. extern unsigned char far *level_under_id;
  152. extern unsigned char far *level_under_color;
  153. extern unsigned char far *level_under_param;
  154. extern unsigned char far *overlay;
  155. extern unsigned char far *overlay_color;
  156. extern unsigned char far *update_done;
  157. extern unsigned char overlay_mode;
  158. extern unsigned char max_bsiz_mode;
  159. extern unsigned char under_player_id;
  160. extern unsigned char under_player_color;
  161. extern unsigned char under_player_param;
  162. extern unsigned int max_bxsiz;
  163. extern unsigned int max_bysiz;
  164. extern Robot far *robots;
  165. extern Scroll far *scrolls;
  166. extern Counter far *counters;
  167. extern Sensor far *sensors;
  168. extern char far *music_devices[NUM_DEVICES+1];
  169. extern char far *music_MSEs[NUM_DEVICES];
  170. extern unsigned int mixing_rates[NUM_DEVICES][3];
  171. extern char far *music_quality[3];
  172. extern char far *thing_names[128];
  173. #endif