home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !FALCON / !BONUS / GAMES / ENGINES / BM214A.ZIP / BM214A / ORIGINAL.SRC / DOOM.H next >
C/C++ Source or Header  |  1994-12-23  |  3KB  |  128 lines

  1. /********************************************************************
  2.  FILENAME: DOOM.H
  3.  AUTHOR  : JAKE HILL
  4.  DATE    : 12/1/94
  5.  
  6.  Copyright (c) 1994 by Jake Hill:
  7.  If you use any part of this code in your own project, please credit
  8.  me in your documentation and source code.  Thanks.
  9. ********************************************************************/
  10.  
  11. #ifndef DOOM_H
  12. #define DOOM_H
  13.  
  14. typedef struct
  15.         {
  16.            char signature[4];
  17.            unsigned long num_entries;
  18.            unsigned long foffset;
  19.         } WAD_Header;
  20.  
  21. typedef struct
  22.         {
  23.            unsigned long foffset;
  24.            unsigned long size;
  25.            char name[8];
  26.         } Directory_Entry;
  27.  
  28. typedef struct
  29.         {
  30.            short x;
  31.            short y;
  32.         } vertex;
  33.  
  34. typedef struct
  35.         {
  36.            short from, to;
  37.            short flags, special, tag;
  38.            short side[2];
  39.         } line;
  40.  
  41. typedef struct
  42.         {
  43.            short tm_xoffset, tm_yoffset;
  44.            char upper_tx[8];
  45.            char lower_tx[8];
  46.            char main_tx[8];
  47.            short sector;
  48.         } side;
  49.  
  50. typedef struct
  51.         {
  52.            short floor_ht;
  53.            short ceiling_ht;
  54.            char  floor_tx[8];
  55.            char  ceiling_tx[8];
  56.            short light;
  57.            short type;
  58.            short trigger;
  59.         } sector;
  60.  
  61. typedef struct
  62.         {
  63.            short from, to;
  64.            unsigned short angle;
  65.            short line;
  66.            short line_side;
  67.            short line_offset;
  68.         } seg;
  69. typedef seg segment;
  70.  
  71. typedef struct
  72.         {
  73.            short num_segs;
  74.            short first_seg;
  75.         } ssector;
  76.  
  77. typedef struct
  78.         {
  79.            short x, y;
  80.            short dx, dy;
  81.            short ry2,ry1,rx1,rx2;
  82.            short ly2,ly1,lx1,lx2;
  83.            unsigned short right,left;
  84.         } node;
  85.  
  86. typedef struct
  87.         {
  88.            short x, y;
  89.            unsigned short angle;
  90.            short thing_type;
  91.            short attributes;
  92.         } thing;
  93.  
  94. typedef struct
  95.         {
  96.            short x_origin, y_origin;
  97.            short columns, rows;
  98.            short *blockpointers;
  99.         } blockmap_header;
  100.  
  101. typedef short blockmap;
  102.  
  103. //****************************************************************
  104. // Additional structures created by me.
  105. //****************************************************************
  106.  
  107. typedef struct
  108.         {
  109.            char type;
  110.            char opaque;
  111.            long y1, y2;
  112.            long dy1, dy2;
  113.         } wall;
  114.         
  115. typedef struct
  116.         {
  117.            short hight;
  118.            short start, end;
  119.         } floor_run;
  120.  
  121. typedef struct
  122.         {
  123.            short tex_num;
  124.            short top, bottom;
  125.         } wall_run;
  126.  
  127. #endif
  128.