struct HEADERTYPE { char type[4]; unsigned long num_dir_entries; unsigned long dirpointer; }; struct DIRENTRYTYPE { unsigned long startaddr; unsigned long length; char name[8]; }; struct LINEDEFTYPE { short int from_vertex; short int to_vertex; short int attributes; short int type; short int sector_trigger; short int right_sidedef; short int left_sidedef; }; struct SIDEDEFTYPE { short int u_offset; short int v_offset; char uppertxt[8]; char lowertxt[8]; char walltxt[8]; short int sector; }; struct VERTEXTYPE { short int x; short int y; }; struct SEGMENTTYPE { short int from_vertex; short int to_vertex; short int angle; short int linedef; short int side; short int distance; }; struct SSECTORTYPE { short int startseg; short int numsegs; }; struct NODETYPE { short int x; short int y; short int dx; short int dy; short int left_y_upper; short int left_y_lower; short int left_x_upper; short int left_x_lower; short int right_y_upper; short int right_y_lower; short int right_x_upper; short int right_x_lower; unsigned short int left_child; unsigned short int right_child; }; struct SECTORTYPE { short int floor_alt; short int ceiling_alt; char floortxt[8]; char ceiltxt[8]; short int brightness; short int special; short int trigger; };