data.h 6.8 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_dmg[128];
  29. extern unsigned char def_id_chars[455];
  30. extern unsigned char *player_color;
  31. extern unsigned char *player_char; /* was [4]*/
  32. extern unsigned char bullet_color[3]; /* was [3]*/
  33. extern unsigned char missile_color;
  34. /*extern unsigned char bullet_char[12];*/
  35. extern unsigned char *bullet_char;
  36. extern char refresh_mod_playing;
  37. extern char mesg_edges;
  38. extern unsigned int saved_mouse_x;
  39. extern unsigned int saved_mouse_y;
  40. extern unsigned int saved_mouse_buttons;
  41. extern unsigned char board_where[NUM_BOARDS];
  42. extern unsigned char keys[NUM_KEYS];
  43. extern unsigned long score;
  44. extern char mod_playing[FILENAME_SIZE];
  45. extern char real_mod_playing[FILENAME_SIZE];
  46. extern unsigned char curr_board;
  47. extern char curr_file[FILENAME_SIZE];
  48. extern char curr_sav[FILENAME_SIZE];
  49. extern char help_file[PATHNAME_SIZE];
  50. extern char config_file[PATHNAME_SIZE];
  51. extern char MSE_file[PATHNAME_SIZE];
  52. extern char mzx_blank_mod_file[PATHNAME_SIZE];
  53. extern char mzx_convert_mod_file[PATHNAME_SIZE];
  54. extern char megazeux_dir[PATHNAME_SIZE];
  55. extern char current_dir[PATHNAME_SIZE];
  56. extern unsigned char megazeux_drive;
  57. extern unsigned char current_drive;
  58. extern char quicksave_file[FILENAME_SIZE];
  59. extern unsigned char viewport_x;
  60. extern unsigned char viewport_y;
  61. extern unsigned char viewport_xsiz;
  62. extern unsigned char viewport_ysiz;
  63. extern unsigned int board_xsiz;
  64. extern unsigned int board_ysiz;
  65. extern unsigned char can_shoot;
  66. extern unsigned char can_bomb;
  67. extern unsigned char fire_burn_brown;
  68. extern unsigned char fire_burn_space;
  69. extern unsigned char fire_burn_fakes;
  70. extern unsigned char fire_burn_trees;
  71. extern unsigned char explosions_leave;
  72. extern unsigned char save_mode;
  73. extern unsigned char forest_becomes;
  74. extern unsigned char collect_bombs;
  75. extern unsigned char fire_burns;
  76. extern unsigned char board_dir[4];
  77. extern unsigned char restart_if_zapped;
  78. extern unsigned int time_limit;
  79. extern unsigned char first_board;
  80. extern unsigned char clear_on_exit;
  81. extern unsigned char endgame_board;
  82. extern unsigned int endgame_x;
  83. extern unsigned int endgame_y;
  84. extern unsigned char game_over_sfx;
  85. extern unsigned char death_board;
  86. extern unsigned int death_x;
  87. extern unsigned int death_y;
  88. extern unsigned char only_from_swap;
  89. extern unsigned int starting_lives;
  90. extern unsigned int lives_limit;
  91. extern unsigned int starting_health;
  92. extern unsigned int health_limit;
  93. extern unsigned char last_key; //Local
  94. extern unsigned int num_input; //Local
  95. extern unsigned char input_size; //Local
  96. extern unsigned char volume; //Global
  97. extern char volume_inc; //Global
  98. extern unsigned char volume_target; //Global
  99. extern unsigned char player_ns_locked; //Now global
  100. extern unsigned char player_ew_locked; //Now global
  101. extern unsigned char player_attack_locked;//Now global
  102. extern char input_string[81]; //Local
  103. extern unsigned char blind_dur; //Now global
  104. extern unsigned char firewalker_dur; //Now global
  105. extern unsigned char freeze_time_dur; //Now global
  106. extern unsigned char slow_time_dur; //Now global
  107. extern unsigned char wind_dur; //Now global
  108. extern unsigned char player_last_dir; //Local
  109. extern unsigned char current_page;
  110. extern unsigned int current_pg_seg;
  111. extern char status_shown_counters[6*COUNTER_NAME_SIZE];
  112. extern unsigned char music_on;
  113. extern unsigned char sfx_on;
  114. extern unsigned char music_gvol; //Global volume (settings)
  115. extern unsigned char sound_gvol; //Global volume (settings)
  116. extern unsigned char music_device;
  117. extern unsigned int mixing_rate;
  118. extern unsigned char sfx_channels;
  119. extern unsigned char overall_speed;
  120. extern char bottom_mesg[81]; //Local
  121. extern unsigned char b_mesg_timer; //Local
  122. extern unsigned char b_mesg_row; //Local
  123. extern unsigned char b_mesg_col; //Local, 255 for centered
  124. extern unsigned int player_x;
  125. extern unsigned int player_y;
  126. extern unsigned int pl_saved_x[8];
  127. extern unsigned int pl_saved_y[8];
  128. extern unsigned char pl_saved_board[8];
  129. extern unsigned char edge_color; //Global
  130. extern unsigned char scroll_color; //Global, not saved
  131. extern unsigned char lazwall_start; //Local
  132. extern int scroll_x; //Local
  133. extern int scroll_y; //Local
  134. extern unsigned int locked_x; //Local (-1 or 65535 for none)
  135. extern unsigned int locked_y; //Local (-1 or 65535 for none)
  136. extern unsigned char protection_method;
  137. extern char password[16];
  138. extern unsigned char enemy_hurt_enemy; //Global
  139. extern unsigned char cheats_active;
  140. extern unsigned char current_help_sec;
  141. extern unsigned char saved_pl_color;
  142. extern unsigned int flags[128];
  143. extern char far *board_list;
  144. extern bOffset far *board_offsets;
  145. extern unsigned long far *board_sizes;
  146. extern char far *board_filenames;
  147. extern unsigned char far *level_id;
  148. extern unsigned char far *level_color;
  149. extern unsigned char far *level_param;
  150. extern unsigned char far *level_under_id;
  151. extern unsigned char far *level_under_color;
  152. extern unsigned char far *level_under_param;
  153. extern unsigned char far *overlay;
  154. extern unsigned char far *overlay_color;
  155. extern unsigned char far *update_done;
  156. extern unsigned char overlay_mode;
  157. extern unsigned char max_bsiz_mode;
  158. extern unsigned char under_player_id;
  159. extern unsigned char under_player_color;
  160. extern unsigned char under_player_param;
  161. extern unsigned int max_bxsiz;
  162. extern unsigned int max_bysiz;
  163. extern Robot far *robots;
  164. extern Scroll far *scrolls;
  165. extern Counter far *counters;
  166. extern Sensor far *sensors;
  167. extern char far *music_devices[NUM_DEVICES+1];
  168. extern char far *music_MSEs[NUM_DEVICES];
  169. extern unsigned int mixing_rates[NUM_DEVICES][3];
  170. extern char far *music_quality[3];
  171. extern char far *thing_names[128];
  172. #endif