home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 23 / IOPROG_23.ISO / SOFT / RAYCAST.ZIP / DOOM.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-10  |  2.1 KB  |  95 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. #define DM_ANGLE_360 65536
  15.  
  16. #define DM_THING_ANG_CONV (ANGLE_360 << SHIFT / 360)
  17. #define PLAYER_START 0x0001
  18. #define DM_DEF_TEX 1
  19.  
  20. typedef struct
  21.         {
  22.            short x;
  23.            short y;
  24.         } dm_vertex;
  25.  
  26. typedef struct
  27.         {
  28.            short from, to;
  29.            short flags, special, tag;
  30.            short side[2];
  31.         } dm_line;
  32.  
  33. typedef struct
  34.         {
  35.            short tm_xoffset, tm_yoffset;
  36.            char upper_tx[8];
  37.            char lower_tx[8];
  38.            char main_tx[8];
  39.            short sector;
  40.         } dm_side;
  41.  
  42. typedef struct
  43.         {
  44.            short floor_ht;
  45.            short ceiling_ht;
  46.            char  floor_tx[8];
  47.            char  ceiling_tx[8];
  48.            short light;
  49.            short type;
  50.            short trigger;
  51.         } dm_sector;
  52.  
  53. typedef struct
  54.         {
  55.            short from, to;
  56.            unsigned short angle;
  57.            short line;
  58.            short line_side;
  59.            short line_offset;
  60.         } dm_seg;
  61.  
  62. typedef struct
  63.         {
  64.            short num_segs;
  65.            short first_seg;
  66.         } dm_ssector;
  67.  
  68. typedef struct
  69.         {
  70.            short x, y;
  71.            short dx, dy;
  72.            short ry2,ry1,rx1,rx2;
  73.            short ly2,ly1,lx1,lx2;
  74.            unsigned short right,left;
  75.         } dm_node;
  76.  
  77. typedef struct
  78.         {
  79.            short x, y;
  80.            unsigned short angle;
  81.            short thing_type;
  82.            short attributes;
  83.         } dm_thing;
  84.  
  85. typedef struct
  86.         {
  87.            short x_origin, y_origin;
  88.            short columns, rows;
  89.            short *blockpointers;
  90.         } dm_blockmap_header;
  91.  
  92. typedef short blockmap;
  93.  
  94. #endif
  95.