wolf_local.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. /*
  2. Copyright (C) 2004 Michael Liebscher
  3. This program is free software; you can redistribute it and/or
  4. modify it under the terms of the GNU General Public License
  5. as published by the Free Software Foundation; either version 2
  6. of the License, or (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program; if not, write to the Free Software
  13. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  14. */
  15. /*
  16. * wolf_local.h: Wolfenstein3-D init.
  17. *
  18. * Author: Michael Liebscher <johnnycanuck@users.sourceforge.net>
  19. * Date: 2004
  20. *
  21. * Acknowledgement:
  22. * Portion of this code was derived from Wolfenstein3-D, and was originally
  23. * written by Id Software, Inc.
  24. *
  25. */
  26. /*
  27. Notes:
  28. This module is implemented by wolf_main.c
  29. */
  30. #ifndef __WOLF_LOCAL_H__
  31. #define __WOLF_LOCAL_H__
  32. #include "filesystem.h"
  33. #include "arch.h"
  34. #include "cvar.h"
  35. // Game Version
  36. #define WOLFENSTEINWL6 0x00
  37. #define SPEAROFDESTINY 0x01
  38. #define TILEGLOBAL 0x10000
  39. #define HALFTILE 0x8000
  40. #define TILESHIFT 16
  41. #define MINDIST (0x5800)
  42. typedef enum difficulty_e
  43. {
  44. gd_baby,
  45. gd_easy,
  46. gd_medium,
  47. gd_hard
  48. } difficulty_t;
  49. //
  50. // this structure is cleared as each map is entered
  51. //
  52. typedef struct
  53. {
  54. int framenum;
  55. float time;
  56. char level_name[ MAX_OSPATH ]; // the descriptive name (Outer Base, etc)
  57. char mapname[ MAX_OSPATH ]; // the server name (base1, etc)
  58. char nextmap[ MAX_OSPATH ]; // go here when fraglimit is hit
  59. // intermission state
  60. W32 levelCompleted; // in case the game was saved at the intermission
  61. W32 floornum;
  62. float fpartime;
  63. char spartime[6];
  64. W32 total_secrets;
  65. W32 found_secrets;
  66. W32 total_treasure;
  67. W32 found_treasure;
  68. W32 total_monsters;
  69. W32 killed_monsters;
  70. } level_locals_t;
  71. extern level_locals_t levelstate;
  72. typedef struct
  73. {
  74. W32 total_secrets;
  75. W32 found_secrets;
  76. W32 total_treasure;
  77. W32 found_treasure;
  78. W32 total_monsters;
  79. W32 killed_monsters;
  80. W32 time;
  81. } LRstruct;
  82. extern LRstruct LevelRatios;
  83. extern cvar_t *g_version;
  84. extern cvar_t *episode;
  85. extern cvar_t *skill;
  86. extern int tics;
  87. W32 floornumber;
  88. extern void Game_Init( void );
  89. extern void Game_Reset( void );
  90. extern void ProcessGuards( void );
  91. #define WL6SPRITESDIRNAME "sprites"
  92. #define SODSPRITESDIRNAME "sodsprites"//"sprites" //gsh was originally "sodsprites"
  93. extern char *spritelocation;
  94. #endif /* __WOLF_LOCAL_H__ */