mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Add typedef.h
All typedefs for structs that were present in other header files have been moved to here. (Except node_t because the renderer and netcode both define node_t LOL.)
This commit is contained in:
		
							parent
							
								
									ebd9ea579f
								
							
						
					
					
						commit
						b5310a1f68
					
				
					 72 changed files with 867 additions and 478 deletions
				
			
		| 
						 | 
				
			
			@ -16,15 +16,15 @@
 | 
			
		|||
 | 
			
		||||
#include "d_event.h"
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fpoint_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 x, y;
 | 
			
		||||
} fpoint_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fline_t
 | 
			
		||||
{
 | 
			
		||||
	fpoint_t a, b;
 | 
			
		||||
} fline_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern boolean am_recalc; // true if screen size changes
 | 
			
		||||
extern boolean automapactive; // In AutoMap mode?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,14 +79,14 @@ void COM_Init(void);
 | 
			
		|||
// Variable sized buffers
 | 
			
		||||
// ======================
 | 
			
		||||
 | 
			
		||||
typedef struct vsbuf_s
 | 
			
		||||
struct vsbuf_t
 | 
			
		||||
{
 | 
			
		||||
	boolean allowoverflow; // if false, do a I_Error
 | 
			
		||||
	boolean overflowed; // set to true if the buffer size failed
 | 
			
		||||
	UINT8 *data;
 | 
			
		||||
	size_t maxsize;
 | 
			
		||||
	size_t cursize;
 | 
			
		||||
} vsbuf_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void VS_Alloc(vsbuf_t *buf, size_t initsize);
 | 
			
		||||
void VS_Free(vsbuf_t *buf);
 | 
			
		||||
| 
						 | 
				
			
			@ -127,13 +127,13 @@ typedef enum
 | 
			
		|||
	CV_NOLUA = 4096,/* don't let this be called from Lua */
 | 
			
		||||
} cvflags_t;
 | 
			
		||||
 | 
			
		||||
typedef struct CV_PossibleValue_s
 | 
			
		||||
struct CV_PossibleValue_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 value;
 | 
			
		||||
	const char *strvalue;
 | 
			
		||||
} CV_PossibleValue_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NULL
 | 
			
		||||
struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NULL
 | 
			
		||||
{
 | 
			
		||||
	const char *name;
 | 
			
		||||
	const char *defaultvalue;
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +158,7 @@ typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NUL
 | 
			
		|||
	                      // used only with CV_NETVAR
 | 
			
		||||
	char changed;         // has variable been changed by the user? 0 = no, 1 = yes
 | 
			
		||||
	struct consvar_s *next;
 | 
			
		||||
} consvar_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* name, defaultvalue, flags, PossibleValue, func */
 | 
			
		||||
#define CVAR_INIT( ... ) \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -130,43 +130,43 @@ void Command_Numnodes(void);
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
// Client to server packet
 | 
			
		||||
typedef struct
 | 
			
		||||
struct clientcmd_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 client_tic;
 | 
			
		||||
	UINT8 resendfrom;
 | 
			
		||||
	INT16 consistancy;
 | 
			
		||||
	ticcmd_t cmd;
 | 
			
		||||
} ATTRPACK clientcmd_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// Splitscreen packet
 | 
			
		||||
// WARNING: must have the same format of clientcmd_pak, for more easy use
 | 
			
		||||
typedef struct
 | 
			
		||||
struct client2cmd_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 client_tic;
 | 
			
		||||
	UINT8 resendfrom;
 | 
			
		||||
	INT16 consistancy;
 | 
			
		||||
	ticcmd_t cmd, cmd2;
 | 
			
		||||
} ATTRPACK client2cmd_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// 3P Splitscreen packet
 | 
			
		||||
// WARNING: must have the same format of clientcmd_pak, for more easy use
 | 
			
		||||
typedef struct
 | 
			
		||||
struct client3cmd_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 client_tic;
 | 
			
		||||
	UINT8 resendfrom;
 | 
			
		||||
	INT16 consistancy;
 | 
			
		||||
	ticcmd_t cmd, cmd2, cmd3;
 | 
			
		||||
} ATTRPACK client3cmd_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// 4P Splitscreen packet
 | 
			
		||||
// WARNING: must have the same format of clientcmd_pak, for more easy use
 | 
			
		||||
typedef struct
 | 
			
		||||
struct client4cmd_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 client_tic;
 | 
			
		||||
	UINT8 resendfrom;
 | 
			
		||||
	INT16 consistancy;
 | 
			
		||||
	ticcmd_t cmd, cmd2, cmd3, cmd4;
 | 
			
		||||
} ATTRPACK client4cmd_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(disable :  4200)
 | 
			
		||||
| 
						 | 
				
			
			@ -174,15 +174,15 @@ typedef struct
 | 
			
		|||
 | 
			
		||||
// Server to client packet
 | 
			
		||||
// this packet is too large
 | 
			
		||||
typedef struct
 | 
			
		||||
struct servertics_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 starttic;
 | 
			
		||||
	UINT8 numtics;
 | 
			
		||||
	UINT8 numslots; // "Slots filled": Highest player number in use plus one.
 | 
			
		||||
	ticcmd_t cmds[45]; // Normally [BACKUPTIC][MAXPLAYERS] but too large
 | 
			
		||||
} ATTRPACK servertics_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct serverconfig_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 version; // Different versions don't work
 | 
			
		||||
	UINT8 subversion; // Contains build version
 | 
			
		||||
| 
						 | 
				
			
			@ -204,9 +204,9 @@ typedef struct
 | 
			
		|||
	UINT8 maxplayer;
 | 
			
		||||
	boolean allownewplayer;
 | 
			
		||||
	boolean discordinvites;
 | 
			
		||||
} ATTRPACK serverconfig_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct filetx_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 fileid;
 | 
			
		||||
	UINT32 filesize;
 | 
			
		||||
| 
						 | 
				
			
			@ -214,21 +214,21 @@ typedef struct
 | 
			
		|||
	UINT32 position;
 | 
			
		||||
	UINT16 size;
 | 
			
		||||
	UINT8 data[]; // Size is variable using hardware_MAXPACKETLENGTH
 | 
			
		||||
} ATTRPACK filetx_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fileacksegment_t
 | 
			
		||||
{
 | 
			
		||||
	UINT32 start;
 | 
			
		||||
	UINT32 acks;
 | 
			
		||||
} ATTRPACK fileacksegment_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fileack_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 fileid;
 | 
			
		||||
	UINT8 iteration;
 | 
			
		||||
	UINT8 numsegments;
 | 
			
		||||
	fileacksegment_t segments[];
 | 
			
		||||
} ATTRPACK fileack_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(default : 4200)
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +236,7 @@ typedef struct
 | 
			
		|||
 | 
			
		||||
#define MAXAPPLICATION 16
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct clientconfig_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 _255;/* see serverinfo_pak */
 | 
			
		||||
	UINT8 packetversion;
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +246,7 @@ typedef struct
 | 
			
		|||
	UINT8 localplayers;	// number of splitscreen players
 | 
			
		||||
	UINT8 mode;
 | 
			
		||||
	char names[MAXSPLITSCREENPLAYERS][MAXPLAYERNAME];
 | 
			
		||||
} ATTRPACK clientconfig_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#define SV_SPEEDMASK 0x03		// used to send kartspeed
 | 
			
		||||
#define SV_DEDICATED 0x40		// server is dedicated
 | 
			
		||||
| 
						 | 
				
			
			@ -256,7 +256,7 @@ typedef struct
 | 
			
		|||
#define MAXFILENEEDED 915
 | 
			
		||||
#define MAX_MIRROR_LENGTH 256
 | 
			
		||||
// This packet is too large
 | 
			
		||||
typedef struct
 | 
			
		||||
struct serverinfo_pak
 | 
			
		||||
{
 | 
			
		||||
	/*
 | 
			
		||||
	In the old packet, 'version' is the first field. Now that field is set
 | 
			
		||||
| 
						 | 
				
			
			@ -289,27 +289,27 @@ typedef struct
 | 
			
		|||
	char httpsource[MAX_MIRROR_LENGTH]; // HTTP URL to download from, always defined for compatibility
 | 
			
		||||
	INT16 avgpwrlv; // Kart avg power level
 | 
			
		||||
	UINT8 fileneeded[MAXFILENEEDED]; // is filled with writexxx (byteptr.h)
 | 
			
		||||
} ATTRPACK serverinfo_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct serverrefuse_pak
 | 
			
		||||
{
 | 
			
		||||
	char reason[255];
 | 
			
		||||
} ATTRPACK serverrefuse_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct askinfo_pak
 | 
			
		||||
{
 | 
			
		||||
	UINT8 version;
 | 
			
		||||
	tic_t time; // used for ping evaluation
 | 
			
		||||
} ATTRPACK askinfo_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct msaskinfo_pak
 | 
			
		||||
{
 | 
			
		||||
	char clientaddr[22];
 | 
			
		||||
	tic_t time; // used for ping evaluation
 | 
			
		||||
} ATTRPACK msaskinfo_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// Shorter player information for external use.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct plrinfo
 | 
			
		||||
{
 | 
			
		||||
	UINT8 num;
 | 
			
		||||
	char name[MAXPLAYERNAME+1];
 | 
			
		||||
| 
						 | 
				
			
			@ -319,10 +319,10 @@ typedef struct
 | 
			
		|||
	UINT8 data; // Color is first four bits, hasflag, isit and issuper have one bit each, the last is unused.
 | 
			
		||||
	UINT32 score;
 | 
			
		||||
	UINT16 timeinserver; // In seconds.
 | 
			
		||||
} ATTRPACK plrinfo;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// Shortest player information for join during intermission.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct plrconfig
 | 
			
		||||
{
 | 
			
		||||
	char name[MAXPLAYERNAME+1];
 | 
			
		||||
	UINT8 skin;
 | 
			
		||||
| 
						 | 
				
			
			@ -330,20 +330,20 @@ typedef struct
 | 
			
		|||
	UINT32 pflags;
 | 
			
		||||
	UINT32 score;
 | 
			
		||||
	UINT8 ctfteam;
 | 
			
		||||
} ATTRPACK plrconfig;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct filesneededconfig_pak
 | 
			
		||||
{
 | 
			
		||||
	INT32 first;
 | 
			
		||||
	UINT8 num;
 | 
			
		||||
	UINT8 more;
 | 
			
		||||
	UINT8 files[MAXFILENEEDED]; // is filled with writexxx (byteptr.h)
 | 
			
		||||
} ATTRPACK filesneededconfig_pak;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Network packet data
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct doomdata_t
 | 
			
		||||
{
 | 
			
		||||
	UINT32 checksum;
 | 
			
		||||
	UINT8 ack; // If not zero the node asks for acknowledgement, the receiver must resend the ack
 | 
			
		||||
| 
						 | 
				
			
			@ -375,18 +375,18 @@ typedef struct
 | 
			
		|||
		filesneededconfig_pak filesneededcfg; //       ??? bytes
 | 
			
		||||
		UINT32 pingtable[MAXPLAYERS+1];     //          68 bytes
 | 
			
		||||
	} u; // This is needed to pack diff packet types data together
 | 
			
		||||
} ATTRPACK doomdata_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define MAXSERVERLIST (MAXNETNODES-1)
 | 
			
		||||
typedef struct
 | 
			
		||||
struct serverelem_t
 | 
			
		||||
{
 | 
			
		||||
	SINT8 node;
 | 
			
		||||
	serverinfo_pak info;
 | 
			
		||||
} serverelem_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern serverelem_t serverlist[MAXSERVERLIST];
 | 
			
		||||
extern UINT32 serverlistcount;
 | 
			
		||||
| 
						 | 
				
			
			@ -528,7 +528,7 @@ extern boolean hu_stopped;
 | 
			
		|||
// SRB2Kart
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct rewind_s {
 | 
			
		||||
struct rewind_s {
 | 
			
		||||
	UINT8 savebuffer[(768*1024)];
 | 
			
		||||
	tic_t leveltime;
 | 
			
		||||
	size_t demopos;
 | 
			
		||||
| 
						 | 
				
			
			@ -537,7 +537,7 @@ typedef struct rewind_s {
 | 
			
		|||
	mobj_t oldghost[MAXPLAYERS];
 | 
			
		||||
 | 
			
		||||
	struct rewind_s *next;
 | 
			
		||||
} rewind_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void CL_ClearRewinds(void);
 | 
			
		||||
rewind_t *CL_SaveRewindPoint(size_t demopos);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,14 +28,14 @@ typedef enum
 | 
			
		|||
} evtype_t;
 | 
			
		||||
 | 
			
		||||
// Event structure.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct event_t
 | 
			
		||||
{
 | 
			
		||||
	evtype_t type;
 | 
			
		||||
	INT32 data1; // keys / mouse/joystick buttons
 | 
			
		||||
	INT32 data2; // mouse/joystick x move
 | 
			
		||||
	INT32 data3; // mouse/joystick y move
 | 
			
		||||
	INT32 device; // which player's device it belongs to
 | 
			
		||||
} event_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// GLOBAL VARIABLES
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -217,22 +217,22 @@ extern const char *netxcmdnames[MAXNETXCMD - 1];
 | 
			
		|||
//Packet composition for Command_TeamChange_f() ServerTeamChange, etc.
 | 
			
		||||
//bitwise structs make packing bits a little easier, but byte alignment harder?
 | 
			
		||||
//todo: decide whether to make the other netcommands conform, or just get rid of this experiment.
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct changeteam_packet_t {
 | 
			
		||||
	UINT32 playernum    : 5;  // value 0 to 31
 | 
			
		||||
	UINT32 newteam      : 5;  // value 0 to 31
 | 
			
		||||
	UINT32 verification : 1;  // value 0 to 1
 | 
			
		||||
	UINT32 autobalance  : 1;  // value 0 to 1
 | 
			
		||||
	UINT32 scrambled    : 1;  // value 0 to 1
 | 
			
		||||
} ATTRPACK changeteam_packet_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(default : 4214)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct changeteam_value_t {
 | 
			
		||||
	UINT16 l; // liitle endian
 | 
			
		||||
	UINT16 b; // big enian
 | 
			
		||||
} ATTRPACK changeteam_value_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
//Since we do not want other files/modules to know about this data buffer we union it here with a Short Int.
 | 
			
		||||
//Other files/modules will hand the INT16 back to us and we will decode it here.
 | 
			
		||||
| 
						 | 
				
			
			@ -270,12 +270,12 @@ void RemoveAdminPlayer(INT32 playernum);
 | 
			
		|||
void ItemFinder_OnChange(void);
 | 
			
		||||
void D_SetPassword(const char *pw);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct scheduleTask_t
 | 
			
		||||
{
 | 
			
		||||
	UINT16 basetime;
 | 
			
		||||
	UINT16 timer;
 | 
			
		||||
	char *command;
 | 
			
		||||
} scheduleTask_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern scheduleTask_t **schedule;
 | 
			
		||||
extern size_t schedule_size;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,7 @@ typedef enum
 | 
			
		|||
	FS_FALLBACK, // HTTP failed
 | 
			
		||||
} filestatus_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fileneeded_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 willsend; // Is the server willing to send it?
 | 
			
		||||
	char filename[MAX_WADPATH];
 | 
			
		||||
| 
						 | 
				
			
			@ -54,7 +54,7 @@ typedef struct
 | 
			
		|||
	UINT32 currentsize;
 | 
			
		||||
	UINT32 totalsize;
 | 
			
		||||
	UINT32 ackresendposition; // Used when resuming downloads
 | 
			
		||||
} fileneeded_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern INT32 fileneedednum;
 | 
			
		||||
extern fileneeded_t fileneeded[MAX_WADFILES];
 | 
			
		||||
| 
						 | 
				
			
			@ -71,8 +71,6 @@ extern boolean curl_failedwebdownload;
 | 
			
		|||
extern boolean curl_running;
 | 
			
		||||
extern INT32 curl_transfers;
 | 
			
		||||
 | 
			
		||||
typedef struct HTTP_login HTTP_login;
 | 
			
		||||
 | 
			
		||||
extern struct HTTP_login
 | 
			
		||||
{
 | 
			
		||||
	char       * url;
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +110,7 @@ typedef enum
 | 
			
		|||
	LFTNS_SENT     // The node already has the file
 | 
			
		||||
} luafiletransfernodestatus_t;
 | 
			
		||||
 | 
			
		||||
typedef struct luafiletransfer_s
 | 
			
		||||
struct luafiletransfer_s
 | 
			
		||||
{
 | 
			
		||||
	char *filename;
 | 
			
		||||
	char *realfilename;
 | 
			
		||||
| 
						 | 
				
			
			@ -122,7 +120,7 @@ typedef struct luafiletransfer_s
 | 
			
		|||
	luafiletransfernodestatus_t nodestatus[MAXNETNODES];
 | 
			
		||||
	tic_t nodetimeouts[MAXNETNODES];
 | 
			
		||||
	struct luafiletransfer_s *next;
 | 
			
		||||
} luafiletransfer_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern luafiletransfer_t *luafiletransfers;
 | 
			
		||||
extern boolean waitingforluafiletransfer;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -287,7 +287,7 @@ typedef enum
 | 
			
		|||
#define GARDENTOP_MAXGRINDTIME (45)
 | 
			
		||||
 | 
			
		||||
// player_t struct for all respawn variables
 | 
			
		||||
typedef struct respawnvars_s
 | 
			
		||||
struct respawnvars_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 state; // see RESPAWNST_ constants in k_respawn.h
 | 
			
		||||
	waypoint_t *wp; // Waypoint that we're going towards, NULL if the position isn't linked to one
 | 
			
		||||
| 
						 | 
				
			
			@ -301,10 +301,10 @@ typedef struct respawnvars_s
 | 
			
		|||
	tic_t dropdash; // Drop Dash charge timer
 | 
			
		||||
	boolean truedeath; // Your soul has left your body
 | 
			
		||||
	boolean manual; // Respawn coords were manually set, please respawn exactly there
 | 
			
		||||
} respawnvars_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// player_t struct for all bot variables
 | 
			
		||||
typedef struct botvars_s
 | 
			
		||||
struct botvars_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 difficulty; // Bot's difficulty setting
 | 
			
		||||
	UINT8 diffincrease; // In GP: bot difficulty will increase this much next round
 | 
			
		||||
| 
						 | 
				
			
			@ -321,18 +321,18 @@ typedef struct botvars_s
 | 
			
		|||
	SINT8 turnconfirm; // Confirm turn direction
 | 
			
		||||
 | 
			
		||||
	tic_t spindashconfirm; // When high enough, they will try spindashing
 | 
			
		||||
} botvars_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// player_t struct for all skybox variables
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct skybox_t {
 | 
			
		||||
	mobj_t * viewpoint;
 | 
			
		||||
	mobj_t * centerpoint;
 | 
			
		||||
} skybox_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// ========================================================================
 | 
			
		||||
//                          PLAYER STRUCTURE
 | 
			
		||||
// ========================================================================
 | 
			
		||||
typedef struct player_s
 | 
			
		||||
struct player_s
 | 
			
		||||
{
 | 
			
		||||
	mobj_t *mo;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -612,6 +612,6 @@ typedef struct player_s
 | 
			
		|||
#ifdef HWRENDER
 | 
			
		||||
	fixed_t fovadd; // adjust FOV for hw rendering
 | 
			
		||||
#endif
 | 
			
		||||
} player_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ typedef union
 | 
			
		|||
typedef actionf_t think_t;
 | 
			
		||||
 | 
			
		||||
// Doubly linked list of actors.
 | 
			
		||||
typedef struct thinker_s
 | 
			
		||||
struct thinker_s
 | 
			
		||||
{
 | 
			
		||||
	struct thinker_s *prev;
 | 
			
		||||
	struct thinker_s *next;
 | 
			
		||||
| 
						 | 
				
			
			@ -49,6 +49,6 @@ typedef struct thinker_s
 | 
			
		|||
	// killough 11/98: count of how many other objects reference
 | 
			
		||||
	// this one using pointers. Used for garbage collection.
 | 
			
		||||
	INT32 references;
 | 
			
		||||
} thinker_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,7 +63,7 @@ typedef enum
 | 
			
		|||
#pragma pack(1)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct ticcmd_t
 | 
			
		||||
{
 | 
			
		||||
	SINT8 forwardmove; // -MAXPLMOVE to MAXPLMOVE (50)
 | 
			
		||||
	INT16 turning; // Turn speed
 | 
			
		||||
| 
						 | 
				
			
			@ -72,7 +72,7 @@ typedef struct
 | 
			
		|||
	UINT16 buttons;
 | 
			
		||||
	UINT8 latency; // Netgames: how many tics ago was this ticcmd generated from this player's end?
 | 
			
		||||
	UINT8 flags;
 | 
			
		||||
} ATTRPACK ticcmd_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,11 +41,11 @@ struct flickytypes_s {
 | 
			
		|||
 | 
			
		||||
/** Action pointer for reading actions from Dehacked lumps.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct actionpointer_t
 | 
			
		||||
{
 | 
			
		||||
	actionf_t action; ///< Function pointer corresponding to the actual action.
 | 
			
		||||
	const char *name; ///< Name of the action in ALL CAPS.
 | 
			
		||||
} actionpointer_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct int_const_s {
 | 
			
		||||
	const char *n;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,13 +57,13 @@ extern UINT8 superstack;
 | 
			
		|||
 | 
			
		||||
// the code was first write for a file
 | 
			
		||||
// converted to use memory with this functions
 | 
			
		||||
typedef struct
 | 
			
		||||
struct MYFILE
 | 
			
		||||
{
 | 
			
		||||
	char *data;
 | 
			
		||||
	char *curpos;
 | 
			
		||||
	size_t size;
 | 
			
		||||
	UINT16 wad;
 | 
			
		||||
} MYFILE;
 | 
			
		||||
};
 | 
			
		||||
#define myfeof(a) (a->data + a->size <= a->curpos)
 | 
			
		||||
char *myfgets(char *buf, size_t bufsize, MYFILE *f);
 | 
			
		||||
char *myhashfgets(char *buf, size_t bufsize, MYFILE *f);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ extern struct discordInfo_s {
 | 
			
		|||
	boolean everyoneCanInvite;
 | 
			
		||||
} discordInfo;
 | 
			
		||||
 | 
			
		||||
typedef struct discordRequest_s {
 | 
			
		||||
struct discordRequest_s {
 | 
			
		||||
	char *username; // Discord user name.
 | 
			
		||||
	char *discriminator; // Discord discriminator (The little hashtag thing after the username). Separated for a "hide discriminators" cvar.
 | 
			
		||||
	char *userID; // The ID of the Discord user, gets used with Discord_Respond()
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ typedef struct discordRequest_s {
 | 
			
		|||
 | 
			
		||||
	struct discordRequest_s *next; // Next request in the list.
 | 
			
		||||
	struct discordRequest_s *prev; // Previous request in the list. Not used normally, but just in case something funky happens, this should repair the list.
 | 
			
		||||
} discordRequest_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern discordRequest_t *discordRequestList;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,24 +68,24 @@ enum
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
// A single Vertex.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct  mapvertex_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 x, y;
 | 
			
		||||
}ATTRPACK  mapvertex_t;
 | 
			
		||||
}ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// A SideDef, defining the visual appearance of a wall,
 | 
			
		||||
// by setting textures and offsets.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapsidedef_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 textureoffset, rowoffset;
 | 
			
		||||
	char toptexture[8], bottomtexture[8], midtexture[8];
 | 
			
		||||
	// Front sector, towards viewer.
 | 
			
		||||
	INT16 sector;
 | 
			
		||||
} ATTRPACK mapsidedef_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// A LineDef, as used for editing, and as input
 | 
			
		||||
// to the BSP builder.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct maplinedef_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 v1, v2;
 | 
			
		||||
	INT16 flags;
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@ typedef struct
 | 
			
		|||
	INT16 tag;
 | 
			
		||||
	// sidenum[1] will be 0xffff if one sided
 | 
			
		||||
	UINT16 sidenum[2];
 | 
			
		||||
} ATTRPACK maplinedef_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// LineDef attributes.
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ enum
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
// Sector definition, from editing.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapsector_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 floorheight;
 | 
			
		||||
	INT16 ceilingheight;
 | 
			
		||||
| 
						 | 
				
			
			@ -161,34 +161,34 @@ typedef struct
 | 
			
		|||
	INT16 lightlevel;
 | 
			
		||||
	INT16 special;
 | 
			
		||||
	INT16 tag;
 | 
			
		||||
} ATTRPACK mapsector_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// SubSector, as generated by BSP.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapsubsector_t
 | 
			
		||||
{
 | 
			
		||||
	UINT16 numsegs;
 | 
			
		||||
	// Index of first one, segs are stored sequentially.
 | 
			
		||||
	UINT16 firstseg;
 | 
			
		||||
} ATTRPACK mapsubsector_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// LineSeg, generated by splitting LineDefs
 | 
			
		||||
// using partition lines selected by BSP builder.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapseg_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 v1, v2;
 | 
			
		||||
	INT16 angle;
 | 
			
		||||
	INT16 linedef;
 | 
			
		||||
	INT16 side;
 | 
			
		||||
	INT16 offset;
 | 
			
		||||
} ATTRPACK mapseg_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
// BSP node structure.
 | 
			
		||||
 | 
			
		||||
// Indicate a leaf.
 | 
			
		||||
#define NF_SUBSECTOR 0x8000
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapnode_t
 | 
			
		||||
{
 | 
			
		||||
	// Partition line from (x,y) to x+dx,y+dy)
 | 
			
		||||
	INT16 x, y;
 | 
			
		||||
| 
						 | 
				
			
			@ -199,7 +199,7 @@ typedef struct
 | 
			
		|||
 | 
			
		||||
	// If NF_SUBSECTOR it's a subsector, else it's a node of another subtree.
 | 
			
		||||
	UINT16 children[2];
 | 
			
		||||
} ATTRPACK mapnode_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
| 
						 | 
				
			
			@ -210,7 +210,7 @@ typedef struct
 | 
			
		|||
 | 
			
		||||
// Thing definition, position, orientation and type,
 | 
			
		||||
// plus visibility flags and attributes.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapthing_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 x, y;
 | 
			
		||||
	INT16 angle, pitch, roll;
 | 
			
		||||
| 
						 | 
				
			
			@ -223,7 +223,7 @@ typedef struct
 | 
			
		|||
	INT32 args[NUMMAPTHINGARGS];
 | 
			
		||||
	char *stringargs[NUMMAPTHINGSTRINGARGS];
 | 
			
		||||
	struct mobj_s *mobj;
 | 
			
		||||
} mapthing_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define ZSHIFT 4
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -210,7 +210,7 @@ extern char logfilename[1024];
 | 
			
		|||
// Master Server compatibility ONLY
 | 
			
		||||
#define MSCOMPAT_MAXPLAYERS (32)
 | 
			
		||||
 | 
			
		||||
typedef struct skincolor_s
 | 
			
		||||
struct skincolor_t
 | 
			
		||||
{
 | 
			
		||||
	char name[MAXCOLORNAME+1];  // Skincolor name
 | 
			
		||||
	UINT8 ramp[COLORRAMPSIZE];  // Colormap ramp
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +218,7 @@ typedef struct skincolor_s
 | 
			
		|||
	UINT8 invshade;             // Signpost color shade
 | 
			
		||||
	UINT16 chatcolor;           // Chat color
 | 
			
		||||
	boolean accessible;         // Accessible by the color command + setup menu
 | 
			
		||||
} skincolor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define FOLLOWERCOLOR_MATCH UINT16_MAX
 | 
			
		||||
#define FOLLOWERCOLOR_OPPOSITE (UINT16_MAX-1)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,12 +92,12 @@ typedef enum
 | 
			
		|||
	PRECIPFX_WATERPARTICLES = 1<<2
 | 
			
		||||
} precipeffect_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct precipprops_t
 | 
			
		||||
{
 | 
			
		||||
	const char *name;
 | 
			
		||||
	mobjtype_t type;
 | 
			
		||||
	precipeffect_t effects;
 | 
			
		||||
} precipprops_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern precipprops_t precipprops[MAXPRECIP];
 | 
			
		||||
extern preciptype_t precip_freeslot;
 | 
			
		||||
| 
						 | 
				
			
			@ -107,13 +107,13 @@ extern preciptype_t curWeather;
 | 
			
		|||
 | 
			
		||||
/** Time attack information, currently a very small structure.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct recorddata_t
 | 
			
		||||
{
 | 
			
		||||
	tic_t time; ///< Time in which the level was finished.
 | 
			
		||||
	tic_t lap;  ///< Best lap time for this level.
 | 
			
		||||
	//UINT32 score; ///< Score when the level was finished.
 | 
			
		||||
	//UINT16 rings; ///< Rings when the level was finished.
 | 
			
		||||
} recorddata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// mapvisited is now a set of flags that says what we've done in the map.
 | 
			
		||||
#define MV_VISITED (1)
 | 
			
		||||
| 
						 | 
				
			
			@ -220,7 +220,7 @@ extern UINT16 skincolor_redteam, skincolor_blueteam, skincolor_redring, skincolo
 | 
			
		|||
 | 
			
		||||
extern boolean exitfadestarted;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct scene_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 numpics;
 | 
			
		||||
	char picname[8][8];
 | 
			
		||||
| 
						 | 
				
			
			@ -240,13 +240,13 @@ typedef struct
 | 
			
		|||
	UINT8 fadecolor; // Color number for fade, 0 means don't do the first fade
 | 
			
		||||
	UINT8 fadeinid;  // ID of the first fade, to a color -- ignored if fadecolor is 0
 | 
			
		||||
	UINT8 fadeoutid; // ID of the second fade, to the new screen
 | 
			
		||||
} scene_t; // TODO: It would probably behoove us to implement subsong/track selection here, too, but I'm lazy -SH
 | 
			
		||||
}; // TODO: It would probably behoove us to implement subsong/track selection here, too, but I'm lazy -SH
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct cutscene_t
 | 
			
		||||
{
 | 
			
		||||
	scene_t scene[128]; // 128 scenes per cutscene.
 | 
			
		||||
	INT32 numscenes; // Number of scenes in this cutscene
 | 
			
		||||
} cutscene_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern cutscene_t *cutscenes[128];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -261,7 +261,7 @@ extern cutscene_t *cutscenes[128];
 | 
			
		|||
#define PROMPT_PIC_LOOP 1
 | 
			
		||||
#define PROMPT_PIC_DESTROY 2
 | 
			
		||||
#define MAX_PROMPT_PICS 8
 | 
			
		||||
typedef struct
 | 
			
		||||
struct textpage_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 numpics;
 | 
			
		||||
	UINT8 picmode; // sequence mode after displaying last pic, 0 = persist, 1 = loop, 2 = destroy
 | 
			
		||||
| 
						 | 
				
			
			@ -294,13 +294,13 @@ typedef struct
 | 
			
		|||
	char nexttag[33]; // next tag to jump to. If set, this overrides nextprompt and nextpage.
 | 
			
		||||
	INT32 timetonext; // time in tics to jump to next page automatically. 0 = don't jump automatically
 | 
			
		||||
	char *text;
 | 
			
		||||
} textpage_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct textprompt_t
 | 
			
		||||
{
 | 
			
		||||
	textpage_t page[MAX_PAGES];
 | 
			
		||||
	INT32 numpages; // Number of pages in this prompt
 | 
			
		||||
} textprompt_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern textprompt_t *textprompts[MAX_PROMPTS];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -316,10 +316,10 @@ extern mapthing_t *rflagpoint, *bflagpoint; // Pointers to the flag spawn locati
 | 
			
		|||
#define GF_BLUEFLAG 2
 | 
			
		||||
 | 
			
		||||
// A single point in space.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mappoint_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t x, y, z;
 | 
			
		||||
} mappoint_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern struct quake
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -333,11 +333,11 @@ extern struct quake
 | 
			
		|||
} quake;
 | 
			
		||||
 | 
			
		||||
// Custom Lua values
 | 
			
		||||
typedef struct
 | 
			
		||||
struct customoption_t
 | 
			
		||||
{
 | 
			
		||||
	char option[32]; // 31 usable characters
 | 
			
		||||
	char value[256]; // 255 usable characters. If this seriously isn't enough then wtf.
 | 
			
		||||
} customoption_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// This could support more, but is that a good idea?
 | 
			
		||||
// Keep in mind that it may encourage people making overly long cups just because they "can", and would be a waste of memory.
 | 
			
		||||
| 
						 | 
				
			
			@ -347,7 +347,7 @@ typedef struct
 | 
			
		|||
#define CUPCACHE_SPECIAL (CUPCACHE_BONUS+MAXBONUSLIST)
 | 
			
		||||
#define CUPCACHE_MAX (CUPCACHE_SPECIAL+1)
 | 
			
		||||
 | 
			
		||||
typedef struct cupheader_s
 | 
			
		||||
struct cupheader_s
 | 
			
		||||
{
 | 
			
		||||
	UINT16 id;								///< Cup ID
 | 
			
		||||
	char name[15];							///< Cup title (14 chars)
 | 
			
		||||
| 
						 | 
				
			
			@ -359,7 +359,7 @@ typedef struct cupheader_s
 | 
			
		|||
	UINT8 emeraldnum;						///< ID of Emerald to use for special stage (1-7 for Chaos Emeralds, 8-14 for Super Emeralds, 0 for no emerald)
 | 
			
		||||
	SINT8 unlockrequired;					///< An unlockable is required to select this cup. -1 for no unlocking required.
 | 
			
		||||
	struct cupheader_s *next;				///< Next cup in linked list
 | 
			
		||||
} cupheader_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern cupheader_t *kartcupheaders; // Start of cup linked list
 | 
			
		||||
extern UINT16 numkartcupheaders;
 | 
			
		||||
| 
						 | 
				
			
			@ -368,7 +368,7 @@ extern UINT16 numkartcupheaders;
 | 
			
		|||
 | 
			
		||||
/** Map header information.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapheader_t
 | 
			
		||||
{
 | 
			
		||||
	// Core game information, not user-modifiable directly
 | 
			
		||||
	char *lumpname;						///< Lump name can be really long
 | 
			
		||||
| 
						 | 
				
			
			@ -441,7 +441,7 @@ typedef struct
 | 
			
		|||
	// Lua information
 | 
			
		||||
	UINT8 numCustomOptions;				///< Internal. For Lua custom value support.
 | 
			
		||||
	customoption_t *customopts;			///< Custom options. Allocated dynamically for space reasons. Be careful.
 | 
			
		||||
} mapheader_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// level flags
 | 
			
		||||
#define LF_SCRIPTISFILE       (1<<0) ///< True if the script is a file, not a lump.
 | 
			
		||||
| 
						 | 
				
			
			@ -530,11 +530,11 @@ enum TypeOfLevel
 | 
			
		|||
#define NUMBASETOLNAMES    (4)
 | 
			
		||||
#define NUMTOLNAMES        (NUMBASETOLNAMES + NUMGAMETYPEFREESLOTS)
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct tolinfo_t
 | 
			
		||||
{
 | 
			
		||||
	const char *name;
 | 
			
		||||
	UINT32 flag;
 | 
			
		||||
} tolinfo_t;
 | 
			
		||||
};
 | 
			
		||||
extern tolinfo_t TYPEOFLEVEL[NUMTOLNAMES];
 | 
			
		||||
extern UINT32 lastcustomtol;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -406,4 +406,6 @@ typedef UINT64 precise_t;
 | 
			
		|||
#define FUNCPTRCAST(p) ((union{void(*f)(void);void*v;})\
 | 
			
		||||
		{(void(*)(void))p}).v
 | 
			
		||||
 | 
			
		||||
#include "typedef.h"
 | 
			
		||||
 | 
			
		||||
#endif //__DOOMTYPE__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,9 +15,7 @@
 | 
			
		|||
 | 
			
		||||
#define MAX_FONTS 32
 | 
			
		||||
 | 
			
		||||
typedef struct font font_t;
 | 
			
		||||
 | 
			
		||||
struct font
 | 
			
		||||
struct font_t
 | 
			
		||||
{
 | 
			
		||||
	patch_t **font;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								src/g_demo.h
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/g_demo.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -28,12 +28,12 @@ extern consvar_t cv_recordmultiplayerdemos, cv_netdemosyncquality;
 | 
			
		|||
 | 
			
		||||
extern tic_t demostarttime;
 | 
			
		||||
 | 
			
		||||
typedef struct democharlist_s {
 | 
			
		||||
struct democharlist_t {
 | 
			
		||||
	UINT8 mapping; // No, this isn't about levels. It maps to loaded character ID.
 | 
			
		||||
	UINT8 kartspeed;
 | 
			
		||||
	UINT8 kartweight;
 | 
			
		||||
	UINT32 flags;
 | 
			
		||||
} democharlist_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Publicly-accessible demo vars
 | 
			
		||||
struct demovars_s {
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ typedef enum {
 | 
			
		|||
	MD_INVALID
 | 
			
		||||
} menudemotype_e;
 | 
			
		||||
 | 
			
		||||
typedef struct menudemo_s {
 | 
			
		||||
struct menudemo_t {
 | 
			
		||||
	char filepath[256];
 | 
			
		||||
	menudemotype_e type;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@ typedef struct menudemo_s {
 | 
			
		|||
		UINT8 skin, color;
 | 
			
		||||
		UINT32 timeorscore;
 | 
			
		||||
	} standings[MAXPLAYERS];
 | 
			
		||||
} menudemo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
extern mobj_t *metalplayback;
 | 
			
		||||
| 
						 | 
				
			
			@ -160,7 +160,7 @@ void G_LoadMetal(UINT8 **buffer);
 | 
			
		|||
 | 
			
		||||
// Your naming conventions are stupid and useless.
 | 
			
		||||
// There is no conflict here.
 | 
			
		||||
typedef struct demoghost {
 | 
			
		||||
struct demoghost {
 | 
			
		||||
	UINT8 checksum[16];
 | 
			
		||||
	UINT8 *buffer, *p, color;
 | 
			
		||||
	UINT8 fadein;
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ typedef struct demoghost {
 | 
			
		|||
	democharlist_t *skinlist;
 | 
			
		||||
	mobj_t oldmo, *mo;
 | 
			
		||||
	struct demoghost *next;
 | 
			
		||||
} demoghost;
 | 
			
		||||
};
 | 
			
		||||
extern demoghost *ghosts;
 | 
			
		||||
 | 
			
		||||
// G_CheckDemoExtraFiles: checks if our loaded WAD list matches the demo's.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ struct searchdim
 | 
			
		|||
	UINT8 siz;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mapsearchfreq_t
 | 
			
		||||
{
 | 
			
		||||
	INT16  mapnum;
 | 
			
		||||
	UINT8  matchc;
 | 
			
		||||
| 
						 | 
				
			
			@ -143,8 +143,7 @@ typedef struct
 | 
			
		|||
	UINT8  keywhc;
 | 
			
		||||
	struct searchdim *keywhd;/* ...in KEYWORD */
 | 
			
		||||
	UINT8  total;/* total hits */
 | 
			
		||||
}
 | 
			
		||||
mapsearchfreq_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
INT32 G_FindMap(const char *query, char **foundmapnamep,
 | 
			
		||||
		mapsearchfreq_t **freqp, INT32 *freqc);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,12 +81,12 @@ extern char english_shiftxform[];
 | 
			
		|||
//        sorted player lines
 | 
			
		||||
//------------------------------------
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct playersort_t
 | 
			
		||||
{
 | 
			
		||||
	UINT32 count;
 | 
			
		||||
	INT32 num;
 | 
			
		||||
	const char *name;
 | 
			
		||||
} playersort_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//------------------------------------
 | 
			
		||||
//           chat stuff
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,7 +38,7 @@
 | 
			
		|||
 actually, we need to know if it is a gamepad or analog controls
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
struct JoyType_s
 | 
			
		||||
struct JoyType_t
 | 
			
		||||
{
 | 
			
		||||
	/*! if true, we MUST Poll() to get new joystick data,
 | 
			
		||||
	that is: we NEED the DIRECTINPUTDEVICE2 ! (watchout NT compatibility) */
 | 
			
		||||
| 
						 | 
				
			
			@ -48,7 +48,6 @@ struct JoyType_s
 | 
			
		|||
	INT32 bGamepadStyle;
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
typedef struct JoyType_s JoyType_t;
 | 
			
		||||
/**	\brief Joystick info
 | 
			
		||||
	for palyer[sic] 1-4's joystick/gamepad
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								src/i_net.h
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/i_net.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -40,7 +40,7 @@ extern INT32 net_bandwidth; // in byte/s
 | 
			
		|||
#pragma pack(1)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct doomcom_t
 | 
			
		||||
{
 | 
			
		||||
	/// Supposed to be DOOMCOM_ID
 | 
			
		||||
	INT32 id;
 | 
			
		||||
| 
						 | 
				
			
			@ -77,14 +77,14 @@ typedef struct
 | 
			
		|||
 | 
			
		||||
	/// The packet data to be sent.
 | 
			
		||||
	char data[MAXPACKETLENGTH];
 | 
			
		||||
} ATTRPACK doomcom_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct holepunch_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 magic;
 | 
			
		||||
	INT32 addr;
 | 
			
		||||
	INT16 port;
 | 
			
		||||
} ATTRPACK holepunch_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
| 
						 | 
				
			
			@ -172,11 +172,11 @@ extern boolean (*I_SetBanUsername) (const char *username);
 | 
			
		|||
extern boolean (*I_SetBanReason) (const char *reason);
 | 
			
		||||
extern boolean (*I_SetUnbanTime) (time_t timestamp);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct bannednode_t
 | 
			
		||||
{
 | 
			
		||||
	size_t banid;
 | 
			
		||||
	time_t timeleft;
 | 
			
		||||
} bannednode_t;
 | 
			
		||||
};
 | 
			
		||||
extern bannednode_t *bannednode;
 | 
			
		||||
 | 
			
		||||
/// \brief Called by D_SRB2Main to be defined by extern network driver
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -128,7 +128,7 @@ typedef enum
 | 
			
		|||
	NumberofForces,
 | 
			
		||||
} FFType;
 | 
			
		||||
 | 
			
		||||
typedef struct JoyFF_s
 | 
			
		||||
struct JoyFF_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 ForceX; ///< The X of the Force's Vel
 | 
			
		||||
	INT32 ForceY; ///< The Y of the Force's Vel
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +144,7 @@ typedef struct JoyFF_s
 | 
			
		|||
	INT32 Offset; ///< Offset of the effect.
 | 
			
		||||
	UINT32 Phase; ///< Position in the cycle of the periodic effect at which playback begins, in the range from 0 through 35,999
 | 
			
		||||
	UINT32 Period; ///< Period of the effect, in microseconds.
 | 
			
		||||
} JoyFF_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**	\brief	Forcefeedback for the first joystick
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -298,7 +298,7 @@ char *I_GetUserName(void);
 | 
			
		|||
*/
 | 
			
		||||
INT32 I_mkdir(const char *dirname, INT32 unixright);
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct CPUInfoFlags {
 | 
			
		||||
	int FPU        : 1; ///< FPU availabile
 | 
			
		||||
	int CPUID      : 1; ///< CPUID instruction
 | 
			
		||||
	int RDTSC      : 1; ///< RDTSC instruction
 | 
			
		||||
| 
						 | 
				
			
			@ -324,7 +324,7 @@ typedef struct {
 | 
			
		|||
	int ALPHAbyte  : 1; ///< ?
 | 
			
		||||
	int PAE        : 1; ///< Physical Address Extension
 | 
			
		||||
	int CPUs       : 8;
 | 
			
		||||
} CPUInfoFlags;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**	\brief Info about CPU
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,10 +22,10 @@
 | 
			
		|||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct timestate_s {
 | 
			
		||||
struct timestate_t {
 | 
			
		||||
	tic_t time;
 | 
			
		||||
	fixed_t timefrac;
 | 
			
		||||
} timestate_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern timestate_t g_time;
 | 
			
		||||
extern consvar_t cv_timescale;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5567,7 +5567,7 @@ typedef enum state
 | 
			
		|||
	NUMSTATES
 | 
			
		||||
} statenum_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct state_t
 | 
			
		||||
{
 | 
			
		||||
	spritenum_t sprite;
 | 
			
		||||
	UINT32 frame; // we use the upper 16 bits for translucency and other shade effects
 | 
			
		||||
| 
						 | 
				
			
			@ -5576,7 +5576,7 @@ typedef struct
 | 
			
		|||
	INT32 var1;
 | 
			
		||||
	INT32 var2;
 | 
			
		||||
	statenum_t nextstate;
 | 
			
		||||
} state_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern state_t states[NUMSTATES];
 | 
			
		||||
extern char sprnames[NUMSPRITES + 1][5];
 | 
			
		||||
| 
						 | 
				
			
			@ -6680,7 +6680,7 @@ typedef enum mobj_type
 | 
			
		|||
	NUMMOBJTYPES
 | 
			
		||||
} mobjtype_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mobjinfo_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 doomednum;
 | 
			
		||||
	statenum_t spawnstate;
 | 
			
		||||
| 
						 | 
				
			
			@ -6706,7 +6706,7 @@ typedef struct
 | 
			
		|||
	sfxenum_t activesound;
 | 
			
		||||
	UINT32 flags;
 | 
			
		||||
	statenum_t raisestate;
 | 
			
		||||
} mobjinfo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern mobjinfo_t mobjinfo[NUMMOBJTYPES];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,21 +17,21 @@
 | 
			
		|||
 | 
			
		||||
typedef void(*updateindexfunc)(void *const, const size_t);
 | 
			
		||||
 | 
			
		||||
typedef struct bheapitem_s
 | 
			
		||||
struct bheapitem_t
 | 
			
		||||
{
 | 
			
		||||
	size_t          heapindex;    // The index in the heap this item is
 | 
			
		||||
	updateindexfunc indexchanged; // A callback function that is called when this item changes index to alert data
 | 
			
		||||
	struct bheap_s  *owner;       // The heap that owns this item
 | 
			
		||||
	void            *data;        // data for this heap item
 | 
			
		||||
	UINT32          value;        // The value of this item, the lowest value item is first in the array
 | 
			
		||||
} bheapitem_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct bheap_s
 | 
			
		||||
struct bheap_s
 | 
			
		||||
{
 | 
			
		||||
	size_t      capacity;   // capacity of the heap
 | 
			
		||||
	size_t      count;      // number of items in the heap
 | 
			
		||||
	bheapitem_t *array;     // pointer to the heap items array
 | 
			
		||||
} bheap_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*--------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,14 +26,14 @@ typedef enum
 | 
			
		|||
#define NUMWEAKSPOTS 8
 | 
			
		||||
#define WEAKSPOTANIMTIME (3*TICRATE)
 | 
			
		||||
 | 
			
		||||
typedef struct weakspot_t
 | 
			
		||||
struct weakspot_t
 | 
			
		||||
{
 | 
			
		||||
	mobj_t *spot;
 | 
			
		||||
	spottype_t type;
 | 
			
		||||
	tic_t time;
 | 
			
		||||
	UINT16 color;
 | 
			
		||||
	boolean minimap;
 | 
			
		||||
} weakspot_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define BOSSHEALTHBARLEN 110
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,10 +31,10 @@
 | 
			
		|||
#define BOTSPINDASHCONFIRM (2*TICRATE)
 | 
			
		||||
 | 
			
		||||
// Point for bots to aim for
 | 
			
		||||
typedef struct botprediction_s {
 | 
			
		||||
struct botprediction_t {
 | 
			
		||||
	fixed_t x, y;
 | 
			
		||||
	fixed_t radius;
 | 
			
		||||
} botprediction_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// AVAILABLE FOR LUA
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
#include "doomdef.h"
 | 
			
		||||
#include "doomtype.h"
 | 
			
		||||
 | 
			
		||||
typedef struct brightmapStorage_s
 | 
			
		||||
struct brightmapStorage_t
 | 
			
		||||
{
 | 
			
		||||
	// Brightmap storage struct.
 | 
			
		||||
	// Stores data for brightmap definitions,
 | 
			
		||||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ typedef struct brightmapStorage_s
 | 
			
		|||
 | 
			
		||||
	char brightmapName[9];	// The brightmap's name.
 | 
			
		||||
	UINT32 brightmapHash;	// The brightmap name's hash.
 | 
			
		||||
} brightmapStorage_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*--------------------------------------------------
 | 
			
		||||
	void K_InitBrightmapsPwad(INT32 wadNum);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,7 +43,7 @@ typedef enum
 | 
			
		|||
//
 | 
			
		||||
// We'll define these here because they're really just a mobj that'll follow some rules behind a player
 | 
			
		||||
//
 | 
			
		||||
typedef struct follower_s
 | 
			
		||||
struct follower_t
 | 
			
		||||
{
 | 
			
		||||
	char name[SKINNAMESIZE+1];	// Skin Name. This is what to refer to when asking the commands anything..
 | 
			
		||||
	char icon[8+1];			// Lump names are only 8 characters. (+1 for \0)
 | 
			
		||||
| 
						 | 
				
			
			@ -81,19 +81,19 @@ typedef struct follower_s
 | 
			
		|||
	statenum_t losestate;		// state when the player has lost
 | 
			
		||||
	statenum_t hitconfirmstate;	// state for hit confirm
 | 
			
		||||
	tic_t hitconfirmtime;		// time to keep the above playing for
 | 
			
		||||
} follower_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern INT32 numfollowers;
 | 
			
		||||
extern follower_t followers[MAXSKINS];
 | 
			
		||||
 | 
			
		||||
#define MAXFOLLOWERCATEGORIES 32
 | 
			
		||||
 | 
			
		||||
typedef struct followercategory_s
 | 
			
		||||
struct followercategory_t
 | 
			
		||||
{
 | 
			
		||||
	char name[SKINNAMESIZE+1];		// Name. This is used for the menus. We'll just follow the same rules as skins for this.
 | 
			
		||||
	char icon[8+1];			// Lump names are only 8 characters. (+1 for \0)
 | 
			
		||||
	UINT8 numincategory;
 | 
			
		||||
} followercategory_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern INT32 numfollowercategories;
 | 
			
		||||
extern followercategory_t followercategories[MAXFOLLOWERCATEGORIES];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,12 +23,12 @@
 | 
			
		|||
 | 
			
		||||
void K_AdjustXYWithSnap(INT32 *x, INT32 *y, UINT32 options, INT32 dupx, INT32 dupy);
 | 
			
		||||
 | 
			
		||||
typedef struct trackingResult_s
 | 
			
		||||
struct trackingResult_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t x, y;
 | 
			
		||||
	fixed_t scale;
 | 
			
		||||
	boolean onScreen;
 | 
			
		||||
} trackingResult_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void K_ObjectTracking(trackingResult_t *result, vector3_t *point, boolean reverse);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										24
									
								
								src/k_menu.h
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								src/k_menu.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -107,11 +107,11 @@ typedef union
 | 
			
		|||
} itemaction_t;
 | 
			
		||||
 | 
			
		||||
// Player Setup menu colors linked list
 | 
			
		||||
typedef struct menucolor_s {
 | 
			
		||||
struct menucolor_s {
 | 
			
		||||
	struct menucolor_s *next;
 | 
			
		||||
	struct menucolor_s *prev;
 | 
			
		||||
	UINT16 color;
 | 
			
		||||
} menucolor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern menucolor_t *menucolorhead, *menucolortail;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -121,7 +121,7 @@ extern CV_PossibleValue_t gametype_cons_t[];
 | 
			
		|||
// MENU TYPEDEFS
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct menuitem_s
 | 
			
		||||
struct menuitem_t
 | 
			
		||||
{
 | 
			
		||||
	UINT16 status; // show IT_xxx
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -134,9 +134,9 @@ typedef struct menuitem_s
 | 
			
		|||
	// extra variables
 | 
			
		||||
	INT32 mvar1;
 | 
			
		||||
	INT32 mvar2;
 | 
			
		||||
} menuitem_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct menu_s
 | 
			
		||||
struct menu_s
 | 
			
		||||
{
 | 
			
		||||
	INT16          numitems;           // # of menu items
 | 
			
		||||
	struct menu_s *prevMenu;           // previous menu
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ typedef struct menu_s
 | 
			
		|||
	void         (*initroutine)(void); // called when starting a new menu
 | 
			
		||||
	boolean      (*quitroutine)(void); // called before quit a menu return true if we can
 | 
			
		||||
	boolean		 (*inputroutine)(INT32); // if set, called every frame in the input handler. Returning true overwrites normal input handling.
 | 
			
		||||
} menu_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -522,7 +522,7 @@ typedef enum
 | 
			
		|||
	MBT_START = 1<<8
 | 
			
		||||
} menuButtonCode_t;
 | 
			
		||||
 | 
			
		||||
typedef struct menucmd_s
 | 
			
		||||
struct menucmd_t
 | 
			
		||||
{
 | 
			
		||||
	SINT8 dpad_ud; // up / down dpad
 | 
			
		||||
	SINT8 dpad_lr; // left / right
 | 
			
		||||
| 
						 | 
				
			
			@ -530,7 +530,7 @@ typedef struct menucmd_s
 | 
			
		|||
	UINT32 buttonsHeld; // prev frame's buttons
 | 
			
		||||
	UINT16 delay; // menu wait
 | 
			
		||||
	UINT32 delayCount; // num times ya did menu wait (to make the wait shorter each time)
 | 
			
		||||
} menucmd_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern menucmd_t menucmd[MAXSPLITSCREENPLAYERS];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -607,7 +607,7 @@ typedef enum
 | 
			
		|||
	CSSTEP_READY
 | 
			
		||||
} setup_mdepth_t;
 | 
			
		||||
 | 
			
		||||
typedef struct setup_player_s
 | 
			
		||||
struct setup_player_t
 | 
			
		||||
{
 | 
			
		||||
	SINT8 gridx, gridy;
 | 
			
		||||
	UINT8 profilen;
 | 
			
		||||
| 
						 | 
				
			
			@ -633,7 +633,7 @@ typedef struct setup_player_s
 | 
			
		|||
	tic_t follower_timer;
 | 
			
		||||
	UINT8 follower_frame;
 | 
			
		||||
	state_t *follower_state;
 | 
			
		||||
} setup_player_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern setup_player_t setup_player[MAXSPLITSCREENPLAYERS];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -800,12 +800,12 @@ void M_ServerListFillDebug(void);
 | 
			
		|||
// Options menu:
 | 
			
		||||
 | 
			
		||||
// mode descriptions for video mode menu
 | 
			
		||||
typedef struct
 | 
			
		||||
struct modedesc_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 modenum; // video mode number in the vidmodes list
 | 
			
		||||
	const char *desc;  // XXXxYYY
 | 
			
		||||
	UINT8 goodratio; // aspect correct if 1
 | 
			
		||||
} modedesc_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MAXCOLUMNMODES   12     //max modes displayed in one column
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,27 +35,27 @@ typedef boolean(*getpathfindfinishedfunc)(void*, void*);
 | 
			
		|||
 | 
			
		||||
// A pathfindnode contains information about a node from the pathfinding
 | 
			
		||||
// heapindex is only used within the pathfinding algorithm itself, and is always 0 after it is completed
 | 
			
		||||
typedef struct pathfindnode_s {
 | 
			
		||||
struct pathfindnode_s {
 | 
			
		||||
	size_t heapindex;     // The index in the openset binary heap. Only valid while the node is in the openset.
 | 
			
		||||
	void   *nodedata;
 | 
			
		||||
	struct pathfindnode_s *camefrom; // should eventually be the most efficient predecessor node
 | 
			
		||||
	UINT32     gscore;    // The accumulated distance from the start to this node
 | 
			
		||||
	UINT32     hscore;    // The heuristic from this node to the goal
 | 
			
		||||
} pathfindnode_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Contains the final created path after pathfinding is completed
 | 
			
		||||
typedef struct path_s {
 | 
			
		||||
struct path_t {
 | 
			
		||||
	size_t numnodes;
 | 
			
		||||
	struct pathfindnode_s *array;
 | 
			
		||||
	UINT32 totaldist;
 | 
			
		||||
} path_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Contains info about the pathfinding used to setup the algorithm
 | 
			
		||||
// (e.g. the base capacities of the dynamically allocated arrays)
 | 
			
		||||
// should be setup by the caller before starting pathfinding
 | 
			
		||||
// base capacities will be 8 if they aren't setup, missing callback functions will cause an error.
 | 
			
		||||
// Can be accessed after the pathfinding is complete to get the final capacities of them
 | 
			
		||||
typedef struct pathfindsetup_s {
 | 
			
		||||
struct pathfindsetup_t {
 | 
			
		||||
	size_t opensetcapacity;
 | 
			
		||||
	size_t closedsetcapacity;
 | 
			
		||||
	size_t nodesarraycapacity;
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +67,7 @@ typedef struct pathfindsetup_s {
 | 
			
		|||
	getnodeheuristicfunc getheuristic;
 | 
			
		||||
	getnodetraversablefunc gettraversable;
 | 
			
		||||
	getpathfindfinishedfunc getfinished;
 | 
			
		||||
} pathfindsetup_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*--------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@
 | 
			
		|||
 | 
			
		||||
// profile_t definition (WIP)
 | 
			
		||||
// If you edit, see PR_SaveProfiles and PR_LoadProfiles
 | 
			
		||||
typedef struct profile_s
 | 
			
		||||
struct profile_t
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	// Versionning
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +70,7 @@ typedef struct profile_s
 | 
			
		|||
 | 
			
		||||
	// Finally, control data itself
 | 
			
		||||
	INT32 controls[num_gamecontrols][MAXINPUTMAPPING];	// Lists of all the controls, defined the same way as default inputs in g_input.c
 | 
			
		||||
} profile_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Functions
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,7 @@
 | 
			
		|||
 | 
			
		||||
#define TERRAIN_NAME_LEN 32
 | 
			
		||||
 | 
			
		||||
typedef struct t_splash_s
 | 
			
		||||
struct t_splash_t
 | 
			
		||||
{
 | 
			
		||||
	// Splash definition.
 | 
			
		||||
	// These are particles spawned when hitting the floor.
 | 
			
		||||
| 
						 | 
				
			
			@ -41,9 +41,9 @@ typedef struct t_splash_s
 | 
			
		|||
	angle_t cone;			// Randomized angle of the push-out.
 | 
			
		||||
 | 
			
		||||
	UINT8 numParticles;		// Number of particles to spawn.
 | 
			
		||||
} t_splash_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct t_footstep_s
 | 
			
		||||
struct t_footstep_t
 | 
			
		||||
{
 | 
			
		||||
	// Footstep definition.
 | 
			
		||||
	// These are particles spawned when moving fast enough on a floor.
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +64,7 @@ typedef struct t_footstep_s
 | 
			
		|||
	tic_t sfxFreq;			// How frequently to play the sound.
 | 
			
		||||
	tic_t frequency;		// How frequently to spawn the particles.
 | 
			
		||||
	fixed_t requiredSpeed;	// Speed percentage you need to be at to trigger the particles.
 | 
			
		||||
} t_footstep_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +75,7 @@ typedef enum
 | 
			
		|||
	TOV__MAX
 | 
			
		||||
} t_overlay_action_t;
 | 
			
		||||
 | 
			
		||||
typedef struct t_overlay_s
 | 
			
		||||
struct t_overlay_t
 | 
			
		||||
{
 | 
			
		||||
	// Overlay definition.
 | 
			
		||||
	// These are sprites displayed on top of the base object.
 | 
			
		||||
| 
						 | 
				
			
			@ -87,7 +87,7 @@ typedef struct t_overlay_s
 | 
			
		|||
	fixed_t scale;			// Thing scale multiplier.
 | 
			
		||||
	UINT16 color;			// Colorize effect. SKINCOLOR_NONE has no colorize.
 | 
			
		||||
	fixed_t speed;			// Speed-up based on object speed. 0 plays the animation at a constant rate.
 | 
			
		||||
} t_overlay_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ typedef enum
 | 
			
		|||
	TRF_TRIPWIRE = 1<<3 // Texture is a tripwire when used as a midtexture
 | 
			
		||||
} terrain_flags_t;
 | 
			
		||||
 | 
			
		||||
typedef struct terrain_s
 | 
			
		||||
struct terrain_s
 | 
			
		||||
{
 | 
			
		||||
	// Terrain definition.
 | 
			
		||||
	// These are all of the properties that the floor gets.
 | 
			
		||||
| 
						 | 
				
			
			@ -118,9 +118,9 @@ typedef struct terrain_s
 | 
			
		|||
	angle_t speedPadAngle;	// Speed pad angle
 | 
			
		||||
	fixed_t floorClip;		// Offset for sprites on this ground
 | 
			
		||||
	UINT32 flags;			// Flag values (see: terrain_flags_t)
 | 
			
		||||
} terrain_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct t_floor_s
 | 
			
		||||
struct t_floor_t
 | 
			
		||||
{
 | 
			
		||||
	// Terrain floor definition.
 | 
			
		||||
	// Ties a texture name to a terrain definition.
 | 
			
		||||
| 
						 | 
				
			
			@ -128,7 +128,7 @@ typedef struct t_floor_s
 | 
			
		|||
	char textureName[9];	// Floor texture name.
 | 
			
		||||
	UINT32 textureHash;		// Floor texture hash.
 | 
			
		||||
	size_t terrainID;		// Terrain definition ID.
 | 
			
		||||
} t_floor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*--------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@
 | 
			
		|||
 | 
			
		||||
#define DEFAULT_WAYPOINT_RADIUS (384)
 | 
			
		||||
 | 
			
		||||
typedef struct waypoint_s
 | 
			
		||||
struct waypoint_s
 | 
			
		||||
{
 | 
			
		||||
	mobj_t             *mobj;
 | 
			
		||||
	boolean             onaline;
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ typedef struct waypoint_s
 | 
			
		|||
	UINT32             *prevwaypointdistances;
 | 
			
		||||
	size_t              numnextwaypoints;
 | 
			
		||||
	size_t              numprevwaypoints;
 | 
			
		||||
} waypoint_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// AVAILABLE FOR LUA
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,8 +24,6 @@
 | 
			
		|||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct huddrawlist_s *huddrawlist_h;
 | 
			
		||||
 | 
			
		||||
// Create a new drawlist. Returns a handle to it.
 | 
			
		||||
huddrawlist_h LUA_HUD_CreateDrawList(void);
 | 
			
		||||
// Clears the draw list.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ typedef struct aatree_node_s
 | 
			
		|||
	struct aatree_node_s *left, *right;
 | 
			
		||||
} aatree_node_t;
 | 
			
		||||
 | 
			
		||||
struct aatree_s
 | 
			
		||||
struct aatree_t
 | 
			
		||||
{
 | 
			
		||||
	aatree_node_t	*root;
 | 
			
		||||
	UINT32		flags;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@
 | 
			
		|||
// Flags for AA trees.
 | 
			
		||||
#define AATREE_ZUSER	1		// Treat values as z_zone-allocated blocks and set their user fields
 | 
			
		||||
 | 
			
		||||
typedef struct aatree_s aatree_t;
 | 
			
		||||
typedef void (*aatree_iter_t)(INT32 key, void *value);
 | 
			
		||||
 | 
			
		||||
aatree_t *M_AATreeAlloc(UINT32 flags);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										20
									
								
								src/m_cond.h
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								src/m_cond.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -37,7 +37,7 @@ typedef enum
 | 
			
		|||
} conditiontype_t;
 | 
			
		||||
 | 
			
		||||
// Condition Set information
 | 
			
		||||
typedef struct
 | 
			
		||||
struct condition_t
 | 
			
		||||
{
 | 
			
		||||
	UINT32 id;           /// <- The ID of this condition.
 | 
			
		||||
	                     ///    In an unlock condition, all conditions with the same ID
 | 
			
		||||
| 
						 | 
				
			
			@ -47,14 +47,14 @@ typedef struct
 | 
			
		|||
	INT32 requirement;   /// <- The requirement for this variable.
 | 
			
		||||
	INT16 extrainfo1;    /// <- Extra information for the condition when needed.
 | 
			
		||||
	INT16 extrainfo2;    /// <- Extra information for the condition when needed.
 | 
			
		||||
} condition_t;
 | 
			
		||||
typedef struct
 | 
			
		||||
};
 | 
			
		||||
struct conditionset_t
 | 
			
		||||
{
 | 
			
		||||
	UINT32 numconditions;   /// <- number of conditions.
 | 
			
		||||
	condition_t *condition; /// <- All conditionals to be checked.
 | 
			
		||||
	UINT8 achieved;         /// <- Whether this conditional has been achieved already or not.
 | 
			
		||||
	                        ///    (Conditional checking is skipped if true -- it's assumed you can't relock an unlockable)
 | 
			
		||||
} conditionset_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Emblem information
 | 
			
		||||
#define ET_GLOBAL  0 // Emblem with a position in space
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ typedef struct
 | 
			
		|||
// Map emblem flags
 | 
			
		||||
#define ME_ENCORE 1
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct emblem_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 type;      ///< Emblem type
 | 
			
		||||
	INT16 tag;       ///< Tag of emblem mapthing
 | 
			
		||||
| 
						 | 
				
			
			@ -79,8 +79,8 @@ typedef struct
 | 
			
		|||
	INT32 var;       ///< If needed, specifies information on the target amount to achieve (or target skin)
 | 
			
		||||
	char hint[110];  ///< Hint for emblem hints menu
 | 
			
		||||
	UINT8 collected; ///< Do you have this emblem?
 | 
			
		||||
} emblem_t;
 | 
			
		||||
typedef struct
 | 
			
		||||
};
 | 
			
		||||
struct extraemblem_t
 | 
			
		||||
{
 | 
			
		||||
	char name[20];          ///< Name of the goal (used in the "emblem awarded" cecho)
 | 
			
		||||
	char description[40];   ///< Description of goal (used in statistics)
 | 
			
		||||
| 
						 | 
				
			
			@ -89,10 +89,10 @@ typedef struct
 | 
			
		|||
	UINT8 sprite;           ///< emblem sprite to use, 0 - 25
 | 
			
		||||
	UINT16 color;           ///< skincolor to use
 | 
			
		||||
	UINT8 collected;        ///< Do you have this emblem?
 | 
			
		||||
} extraemblem_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Unlockable information
 | 
			
		||||
typedef struct
 | 
			
		||||
struct unlockable_t
 | 
			
		||||
{
 | 
			
		||||
	char name[64];
 | 
			
		||||
	char objective[64];
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +103,7 @@ typedef struct
 | 
			
		|||
	UINT8 nocecho;
 | 
			
		||||
	UINT8 nochecklist;
 | 
			
		||||
	UINT8 unlocked;
 | 
			
		||||
} unlockable_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SECRET_NONE			 0 // Does nil.  Use with levels locked by UnlockRequired
 | 
			
		||||
#define SECRET_HEADER		 1 // Does nothing on its own, just serves as a header for the menu
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,11 +29,11 @@
 | 
			
		|||
#pragma warning(disable : 4706)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct mdllistitem_s
 | 
			
		||||
struct mdllistitem_s
 | 
			
		||||
{
 | 
			
		||||
	struct mdllistitem_s *next;
 | 
			
		||||
	struct mdllistitem_s **prev;
 | 
			
		||||
} mdllistitem_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
FUNCINLINE static ATTRINLINE void M_DLListInsert(mdllistitem_t *item, mdllistitem_t **head)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -333,11 +333,11 @@ FUNCMATH FUNCINLINE static ATTRINLINE fixed_t FixedRound(fixed_t x)
 | 
			
		|||
	return INT32_MAX;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct vector2_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t x;
 | 
			
		||||
	fixed_t y;
 | 
			
		||||
} vector2_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
vector2_t *FV2_Load(vector2_t *vec, fixed_t x, fixed_t y);
 | 
			
		||||
vector2_t *FV2_UnLoad(vector2_t *vec, fixed_t *x, fixed_t *y);
 | 
			
		||||
| 
						 | 
				
			
			@ -361,10 +361,10 @@ boolean FV2_Equal(const vector2_t *a_1, const vector2_t *a_2);
 | 
			
		|||
fixed_t FV2_Dot(const vector2_t *a_1, const vector2_t *a_2);
 | 
			
		||||
vector2_t *FV2_Point2Vec (const vector2_t *point1, const vector2_t *point2, vector2_t *a_o);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct vector3_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t x, y, z;
 | 
			
		||||
} vector3_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
vector3_t *FV3_Load(vector3_t *vec, fixed_t x, fixed_t y, fixed_t z);
 | 
			
		||||
vector3_t *FV3_UnLoad(vector3_t *vec, fixed_t *x, fixed_t *y, fixed_t *z);
 | 
			
		||||
| 
						 | 
				
			
			@ -401,10 +401,10 @@ vector3_t *FV3_IntersectionPoint(const vector3_t *vNormal, const vector3_t *vLin
 | 
			
		|||
UINT8 FV3_PointOnLineSide(const vector3_t *point, const vector3_t *line);
 | 
			
		||||
boolean FV3_PointInsideBox(const vector3_t *point, const vector3_t *box);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct matrix_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t m[16];
 | 
			
		||||
} matrix_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void FM_LoadIdentity(matrix_t* matrix);
 | 
			
		||||
void FM_CreateObjectMatrix(matrix_t *matrix, fixed_t x, fixed_t y, fixed_t z, fixed_t anglex, fixed_t angley, fixed_t anglez, fixed_t upx, fixed_t upy, fixed_t upz, fixed_t radius);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,22 +38,22 @@ extern int       ps_checkposition_calls;
 | 
			
		|||
extern precise_t ps_lua_thinkframe_time;
 | 
			
		||||
extern int       ps_lua_mobjhooks;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct ps_hookinfo_t
 | 
			
		||||
{
 | 
			
		||||
	precise_t time_taken;
 | 
			
		||||
	char short_src[LUA_IDSIZE];
 | 
			
		||||
} ps_hookinfo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void PS_SetThinkFrameHookInfo(int index, precise_t time_taken, char* short_src);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct ps_botinfo_t
 | 
			
		||||
{
 | 
			
		||||
	boolean isBot;
 | 
			
		||||
	precise_t total;
 | 
			
		||||
	precise_t prediction; // K_CreateBotPrediction
 | 
			
		||||
	precise_t nudge; // K_NudgePredictionTowardsObjects
 | 
			
		||||
	precise_t item; // K_BotItemUsage
 | 
			
		||||
} ps_botinfo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern ps_botinfo_t ps_bots[MAXPLAYERS];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,17 +13,17 @@
 | 
			
		|||
#ifndef M_QUEUE_H
 | 
			
		||||
#define M_QUEUE_H
 | 
			
		||||
 | 
			
		||||
typedef struct mqueueitem_s
 | 
			
		||||
struct mqueueitem_s
 | 
			
		||||
{
 | 
			
		||||
	struct mqueueitem_s *next;
 | 
			
		||||
} mqueueitem_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct mqueue_s
 | 
			
		||||
struct mqueue_t
 | 
			
		||||
{
 | 
			
		||||
	mqueueitem_t head;
 | 
			
		||||
	mqueueitem_t *tail;
 | 
			
		||||
	mqueueitem_t *rover;
 | 
			
		||||
} mqueue_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void M_QueueInit(mqueue_t *queue);
 | 
			
		||||
void M_QueueInsert(mqueueitem_t *item, mqueue_t *queue);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,16 +27,16 @@ typedef union
 | 
			
		|||
} ATTRPACK msg_header_t;
 | 
			
		||||
 | 
			
		||||
// Keep this structure 8 bytes aligned (current size is 80)
 | 
			
		||||
typedef struct
 | 
			
		||||
struct msg_server_t
 | 
			
		||||
{
 | 
			
		||||
	msg_header_t header;
 | 
			
		||||
	char ip[16];
 | 
			
		||||
	char port[8];
 | 
			
		||||
	char contact[32];
 | 
			
		||||
	char version[8]; // format is: x.yy.z (like 1.30.2 or 1.31)
 | 
			
		||||
} ATTRPACK msg_server_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct msg_ban_t
 | 
			
		||||
{
 | 
			
		||||
	msg_header_t header;
 | 
			
		||||
	char ipstart[16];
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ typedef struct
 | 
			
		|||
	char endstamp[32];
 | 
			
		||||
	char reason[255];
 | 
			
		||||
	INT32 hostonly;
 | 
			
		||||
} ATTRPACK msg_ban_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -80,7 +80,7 @@ void P_RemoveThinker(thinker_t *thinker);
 | 
			
		|||
//
 | 
			
		||||
// P_USER
 | 
			
		||||
//
 | 
			
		||||
typedef struct camera_s
 | 
			
		||||
struct camera_t
 | 
			
		||||
{
 | 
			
		||||
	boolean chase;
 | 
			
		||||
	angle_t aiming;
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +119,7 @@ typedef struct camera_s
 | 
			
		|||
	// Interpolation data
 | 
			
		||||
	fixed_t old_x, old_y, old_z;
 | 
			
		||||
	angle_t old_angle, old_aiming;
 | 
			
		||||
} camera_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// demo freecam or something before i commit die
 | 
			
		||||
struct demofreecam_s {
 | 
			
		||||
| 
						 | 
				
			
			@ -246,11 +246,11 @@ typedef enum
 | 
			
		|||
	NUMJINGLES
 | 
			
		||||
} jingletype_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct jingle_t
 | 
			
		||||
{
 | 
			
		||||
	char musname[7];
 | 
			
		||||
	boolean looping;
 | 
			
		||||
} jingle_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern jingle_t jingleinfo[NUMJINGLES];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -381,7 +381,7 @@ void P_InternalFlickyHop(mobj_t *actor, fixed_t momz, fixed_t momh, angle_t angl
 | 
			
		|||
// P_MAP
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct tm_s
 | 
			
		||||
struct tm_t
 | 
			
		||||
{
 | 
			
		||||
	mobj_t *thing;
 | 
			
		||||
	fixed_t x, y;
 | 
			
		||||
| 
						 | 
				
			
			@ -411,7 +411,7 @@ typedef struct tm_s
 | 
			
		|||
	// set by PIT_CheckLine() for any line that stopped the PIT_CheckLine()
 | 
			
		||||
	// that is, for any line which is 'solid'
 | 
			
		||||
	line_t *blockingline;
 | 
			
		||||
} tm_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern tm_t tm;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -431,12 +431,12 @@ void P_UnsetThingPosition(mobj_t *thing);
 | 
			
		|||
void P_SetThingPosition(mobj_t *thing);
 | 
			
		||||
void P_SetUnderlayPosition(mobj_t *thing);
 | 
			
		||||
 | 
			
		||||
typedef struct TryMoveResult_s
 | 
			
		||||
struct TryMoveResult_t
 | 
			
		||||
{
 | 
			
		||||
	boolean success;
 | 
			
		||||
	line_t *line;
 | 
			
		||||
	mobj_t *mo;
 | 
			
		||||
} TryMoveResult_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y, TryMoveResult_t *result);
 | 
			
		||||
boolean P_CheckMove(mobj_t *thing, fixed_t x, fixed_t y, boolean allowdropoff, TryMoveResult_t *result);
 | 
			
		||||
| 
						 | 
				
			
			@ -496,7 +496,7 @@ extern mobj_t **blocklinks; // for thing chains
 | 
			
		|||
//
 | 
			
		||||
// P_INTER
 | 
			
		||||
//
 | 
			
		||||
typedef struct BasicFF_s
 | 
			
		||||
struct BasicFF_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 ForceX; ///< The X of the Force's Vel
 | 
			
		||||
	INT32 ForceY; ///< The Y of the Force's Vel
 | 
			
		||||
| 
						 | 
				
			
			@ -506,7 +506,7 @@ typedef struct BasicFF_s
 | 
			
		|||
	INT32 Gain; ///< /The gain to be applied to the effect, in the range from 0 through 10,000.
 | 
			
		||||
	//All, CONSTANTFORCE <20>10,000 to 10,000
 | 
			
		||||
	INT32 Magnitude; ///< Magnitude of the effect, in the range from 0 through 10,000.
 | 
			
		||||
} BasicFF_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Damage/death types, for P_DamageMobj and related */
 | 
			
		||||
//// Damage types
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,12 +20,12 @@
 | 
			
		|||
//
 | 
			
		||||
// P_MAPUTL
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct divline_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t x, y, dx, dy;
 | 
			
		||||
} divline_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct intercept_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t frac; // along trace line
 | 
			
		||||
	boolean isaline;
 | 
			
		||||
| 
						 | 
				
			
			@ -34,7 +34,7 @@ typedef struct
 | 
			
		|||
		mobj_t *thing;
 | 
			
		||||
		line_t *line;
 | 
			
		||||
	} d;
 | 
			
		||||
} intercept_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef boolean (*traverser_t)(intercept_t *in);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								src/p_mobj.h
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/p_mobj.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -270,7 +270,7 @@ typedef enum {
 | 
			
		|||
} precipflag_t;
 | 
			
		||||
 | 
			
		||||
// Map Object definition.
 | 
			
		||||
typedef struct mobj_s
 | 
			
		||||
struct mobj_s
 | 
			
		||||
{
 | 
			
		||||
	// List: thinker links.
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
| 
						 | 
				
			
			@ -414,7 +414,7 @@ typedef struct mobj_s
 | 
			
		|||
	INT32 dispoffset;
 | 
			
		||||
 | 
			
		||||
	// WARNING: New fields must be added separately to savegame and Lua.
 | 
			
		||||
} mobj_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// For precipitation
 | 
			
		||||
| 
						 | 
				
			
			@ -423,7 +423,7 @@ typedef struct mobj_s
 | 
			
		|||
// so please keep the start of the
 | 
			
		||||
// structure the same.
 | 
			
		||||
//
 | 
			
		||||
typedef struct precipmobj_s
 | 
			
		||||
struct precipmobj_s
 | 
			
		||||
{
 | 
			
		||||
	// List: thinker links.
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
| 
						 | 
				
			
			@ -480,15 +480,15 @@ typedef struct precipmobj_s
 | 
			
		|||
	INT32 tics; // state tic counter
 | 
			
		||||
	state_t *state;
 | 
			
		||||
	UINT32 flags; // flags from mobjinfo tables
 | 
			
		||||
} precipmobj_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct actioncache_s
 | 
			
		||||
struct actioncache_s
 | 
			
		||||
{
 | 
			
		||||
	struct actioncache_s *next;
 | 
			
		||||
	struct actioncache_s *prev;
 | 
			
		||||
	struct mobj_s *mobj;
 | 
			
		||||
	INT32 statenum;
 | 
			
		||||
} actioncache_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern actioncache_t actioncachehead;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ typedef enum
 | 
			
		|||
// Polyobject Structure
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct polyobj_s
 | 
			
		||||
struct polyobj_s
 | 
			
		||||
{
 | 
			
		||||
	mdllistitem_t link; // for subsector links; must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -114,23 +114,23 @@ typedef struct polyobj_s
 | 
			
		|||
	// these are saved for netgames, so do not let Lua touch these!
 | 
			
		||||
	INT32 spawnflags; // Flags the polyobject originally spawned with
 | 
			
		||||
	INT32 spawntrans; // Translucency the polyobject originally spawned with
 | 
			
		||||
} polyobj_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Polyobject Blockmap Link Structure
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct polymaplink_s
 | 
			
		||||
struct polymaplink_t
 | 
			
		||||
{
 | 
			
		||||
	mdllistitem_t link; // for blockmap links
 | 
			
		||||
	polyobj_t *po;      // pointer to polyobject
 | 
			
		||||
} polymaplink_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Polyobject Special Thinkers
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct polyrotate_s
 | 
			
		||||
struct polyrotate_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -138,9 +138,9 @@ typedef struct polyrotate_s
 | 
			
		|||
	INT32 speed;         // speed of movement per frame
 | 
			
		||||
	INT32 distance;      // distance to move
 | 
			
		||||
	UINT8 turnobjs;      // turn objects? PTF_ flags
 | 
			
		||||
} polyrotate_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polymove_s
 | 
			
		||||
struct polymove_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;  // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -150,7 +150,7 @@ typedef struct polymove_s
 | 
			
		|||
	fixed_t momy;       // y component of speed along angle
 | 
			
		||||
	INT32 distance;     // total distance to move
 | 
			
		||||
	UINT32 angle;       // angle along which to move
 | 
			
		||||
} polymove_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// PolyObject waypoint movement return behavior
 | 
			
		||||
typedef enum
 | 
			
		||||
| 
						 | 
				
			
			@ -160,7 +160,7 @@ typedef enum
 | 
			
		|||
	PWR_COMEBACK, // Repeat sequence in reverse
 | 
			
		||||
} polywaypointreturn_e;
 | 
			
		||||
 | 
			
		||||
typedef struct polywaypoint_s
 | 
			
		||||
struct polywaypoint_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -172,9 +172,9 @@ typedef struct polywaypoint_s
 | 
			
		|||
	UINT8 returnbehavior;  // behavior after reaching the last waypoint
 | 
			
		||||
	UINT8 continuous;      // continuously move - used with PWR_WRAP or PWR_COMEBACK
 | 
			
		||||
	UINT8 stophere;        // Will stop after it reaches the next waypoint
 | 
			
		||||
} polywaypoint_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polyslidedoor_s
 | 
			
		||||
struct polyslidedoor_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;      // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -191,9 +191,9 @@ typedef struct polyslidedoor_s
 | 
			
		|||
	fixed_t momx;             // x component of speed along angle
 | 
			
		||||
	fixed_t momy;             // y component of speed along angle
 | 
			
		||||
	UINT8 closing;             // if true, is closing
 | 
			
		||||
} polyslidedoor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polyswingdoor_s
 | 
			
		||||
struct polyswingdoor_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -205,9 +205,9 @@ typedef struct polyswingdoor_s
 | 
			
		|||
	INT32 initDistance;  // initial distance to travel
 | 
			
		||||
	INT32 distance;      // current distance to travel
 | 
			
		||||
	UINT8 closing;        // if true, is closing
 | 
			
		||||
} polyswingdoor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polydisplace_s
 | 
			
		||||
struct polydisplace_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -216,9 +216,9 @@ typedef struct polydisplace_s
 | 
			
		|||
	fixed_t dx;
 | 
			
		||||
	fixed_t dy;
 | 
			
		||||
	fixed_t oldHeights;
 | 
			
		||||
} polydisplace_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polyrotdisplace_s
 | 
			
		||||
struct polyrotdisplace_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -227,9 +227,9 @@ typedef struct polyrotdisplace_s
 | 
			
		|||
	fixed_t rotscale;
 | 
			
		||||
	UINT8 turnobjs;
 | 
			
		||||
	fixed_t oldHeights;
 | 
			
		||||
} polyrotdisplace_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polyfade_s
 | 
			
		||||
struct polyfade_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // must be first
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -241,7 +241,7 @@ typedef struct polyfade_s
 | 
			
		|||
	boolean ticbased;
 | 
			
		||||
	INT32 duration;
 | 
			
		||||
	INT32 timer;
 | 
			
		||||
} polyfade_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Line Activation Data Structures
 | 
			
		||||
| 
						 | 
				
			
			@ -261,23 +261,23 @@ typedef enum
 | 
			
		|||
	PTF_OTHERS = 1<<1, // Turn other mobjs with movement
 | 
			
		||||
} polyturnflags_e;
 | 
			
		||||
 | 
			
		||||
typedef struct polyrotdata_s
 | 
			
		||||
struct polyrotdata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;   // numeric id of polyobject to affect
 | 
			
		||||
	INT32 direction;    // direction of rotation
 | 
			
		||||
	INT32 speed;        // angular speed
 | 
			
		||||
	INT32 distance;     // distance to move
 | 
			
		||||
	UINT8 flags;        // TMPR_ flags
 | 
			
		||||
} polyrotdata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polymovedata_s
 | 
			
		||||
struct polymovedata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;   // numeric id of polyobject to affect
 | 
			
		||||
	fixed_t distance;   // distance to move
 | 
			
		||||
	fixed_t speed;      // linear speed
 | 
			
		||||
	angle_t angle;      // angle of movement
 | 
			
		||||
	UINT8 overRide;     // if true, will override any action on the object
 | 
			
		||||
} polymovedata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -285,14 +285,14 @@ typedef enum
 | 
			
		|||
	PWF_LOOP    = 1<<1, // Loop movement (used with PWR_WRAP or PWR_COMEBACK)
 | 
			
		||||
} polywaypointflags_e;
 | 
			
		||||
 | 
			
		||||
typedef struct polywaypointdata_s
 | 
			
		||||
struct polywaypointdata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;     // numeric id of polyobject to affect
 | 
			
		||||
	INT32 sequence;       // waypoint sequence #
 | 
			
		||||
	fixed_t speed;        // linear speed
 | 
			
		||||
	UINT8 returnbehavior; // behavior after reaching the last waypoint
 | 
			
		||||
	UINT8 flags;          // PWF_ flags
 | 
			
		||||
} polywaypointdata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -315,7 +315,7 @@ typedef enum
 | 
			
		|||
	POLY_DOOR_SWING,
 | 
			
		||||
} polydoor_e;
 | 
			
		||||
 | 
			
		||||
typedef struct polydoordata_s
 | 
			
		||||
struct polydoordata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;     // numeric id of polyobject to affect
 | 
			
		||||
	INT32 doorType;       // polyobj door type
 | 
			
		||||
| 
						 | 
				
			
			@ -323,31 +323,31 @@ typedef struct polydoordata_s
 | 
			
		|||
	angle_t angle;        // for slide door only, angle of motion
 | 
			
		||||
	INT32 distance;       // distance to move
 | 
			
		||||
	INT32 delay;          // delay time after opening
 | 
			
		||||
} polydoordata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polydisplacedata_s
 | 
			
		||||
struct polydisplacedata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;
 | 
			
		||||
	struct sector_s *controlSector;
 | 
			
		||||
	fixed_t dx;
 | 
			
		||||
	fixed_t dy;
 | 
			
		||||
} polydisplacedata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polyrotdisplacedata_s
 | 
			
		||||
struct polyrotdisplacedata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;
 | 
			
		||||
	struct sector_s *controlSector;
 | 
			
		||||
	fixed_t rotscale;
 | 
			
		||||
	UINT8 turnobjs;
 | 
			
		||||
} polyrotdisplacedata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct polyflagdata_s
 | 
			
		||||
struct polyflagdata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;
 | 
			
		||||
	INT32 speed;
 | 
			
		||||
	UINT32 angle;
 | 
			
		||||
	fixed_t momx;
 | 
			
		||||
} polyflagdata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -358,7 +358,7 @@ typedef enum
 | 
			
		|||
	TMPF_GHOSTFADE       = 1<<4,
 | 
			
		||||
} textmappolyfade_t;
 | 
			
		||||
 | 
			
		||||
typedef struct polyfadedata_s
 | 
			
		||||
struct polyfadedata_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 polyObjNum;
 | 
			
		||||
	INT32 destvalue;
 | 
			
		||||
| 
						 | 
				
			
			@ -366,7 +366,7 @@ typedef struct polyfadedata_s
 | 
			
		|||
	boolean doghostfade;
 | 
			
		||||
	boolean ticbased;
 | 
			
		||||
	INT32 speed;
 | 
			
		||||
} polyfadedata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Functions
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,14 +28,14 @@ boolean P_LoadNetGame(boolean reloading);
 | 
			
		|||
 | 
			
		||||
mobj_t *P_FindNewPosition(UINT32 oldposition);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct savedata_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 skin;
 | 
			
		||||
	INT32 score;
 | 
			
		||||
	INT32 lives;
 | 
			
		||||
	UINT16 emeralds;
 | 
			
		||||
	UINT8 numgameovers;
 | 
			
		||||
} savedata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern savedata_t savedata;
 | 
			
		||||
extern UINT8 *save_p;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ enum
 | 
			
		|||
//
 | 
			
		||||
// MAP used flats lookup table
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct levelflat_t
 | 
			
		||||
{
 | 
			
		||||
	char name[9]; // resource name from wad
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ typedef struct
 | 
			
		|||
	void *mipmap;
 | 
			
		||||
	void *mippic;
 | 
			
		||||
#endif
 | 
			
		||||
} levelflat_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern size_t numlevelflats;
 | 
			
		||||
extern levelflat_t *levelflats;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -117,16 +117,16 @@ typedef enum {
 | 
			
		|||
} dynplanetype_t;
 | 
			
		||||
 | 
			
		||||
/// Permit slopes to be dynamically altered through a thinker.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct dynlineplanethink_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	pslope_t *slope;
 | 
			
		||||
	dynplanetype_t type;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
	fixed_t extent;
 | 
			
		||||
} dynlineplanethink_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct dynvertexplanethink_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	pslope_t *slope;
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ typedef struct
 | 
			
		|||
	fixed_t origsecheights[3];
 | 
			
		||||
	fixed_t origvecheights[3];
 | 
			
		||||
	UINT8 relative;
 | 
			
		||||
} dynvertexplanethink_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_DynamicSlopeLine (dynlineplanethink_t* th);
 | 
			
		||||
void T_DynamicSlopeVert (dynvertexplanethink_t* th);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										112
									
								
								src/p_spec.h
									
										
									
									
									
								
							
							
						
						
									
										112
									
								
								src/p_spec.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -578,17 +578,17 @@ UINT16 P_GetFFloorID(ffloor_t *fflr);
 | 
			
		|||
ffloor_t *P_GetFFloorByID(sector_t *sec, UINT16 id);
 | 
			
		||||
 | 
			
		||||
// Use this when you don't know the type of your thinker data struct but need to access its thinker.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct thinkerdata_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
} thinkerdata_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// P_LIGHTS
 | 
			
		||||
//
 | 
			
		||||
/** Fire flicker action structure.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fireflicker_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; ///< The thinker in use for the effect.
 | 
			
		||||
	sector_t *sector;  ///< The sector where action is taking place.
 | 
			
		||||
| 
						 | 
				
			
			@ -596,29 +596,29 @@ typedef struct
 | 
			
		|||
	INT32 resetcount;
 | 
			
		||||
	INT16 maxlight;    ///< The brightest light level to use.
 | 
			
		||||
	INT16 minlight;    ///< The darkest light level to use.
 | 
			
		||||
} fireflicker_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct lightflash_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
	INT32 maxlight;
 | 
			
		||||
	INT32 minlight;
 | 
			
		||||
} lightflash_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** Laser block thinker.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct laserthink_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; ///< Thinker structure for laser.
 | 
			
		||||
	INT16 tag;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
	UINT8 nobosses;
 | 
			
		||||
} laserthink_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** Strobe light action structure..
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct strobe_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; ///< The thinker in use for the effect.
 | 
			
		||||
	sector_t *sector;  ///< The sector where the action is taking place.
 | 
			
		||||
| 
						 | 
				
			
			@ -627,9 +627,9 @@ typedef struct
 | 
			
		|||
	INT16 maxlight;    ///< The maximum light level to use.
 | 
			
		||||
	INT32 darktime;    ///< How INT32 to use minlight.
 | 
			
		||||
	INT32 brighttime;  ///< How INT32 to use maxlight.
 | 
			
		||||
} strobe_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct glow_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
| 
						 | 
				
			
			@ -637,11 +637,11 @@ typedef struct
 | 
			
		|||
	INT16 maxlight;
 | 
			
		||||
	INT16 direction;
 | 
			
		||||
	INT16 speed;
 | 
			
		||||
} glow_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** Thinker struct for fading lights.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct lightlevel_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;		///< Thinker in use for the effect.
 | 
			
		||||
	sector_t *sector;		///< Sector where action is taking place.
 | 
			
		||||
| 
						 | 
				
			
			@ -652,7 +652,7 @@ typedef struct
 | 
			
		|||
	fixed_t fixedpertic;	///< Fixed point for increment per tic.
 | 
			
		||||
	// The reason for those two above to be fixed point is to deal with decimal values that would otherwise get trimmed away.
 | 
			
		||||
	INT32 timer;			///< Internal timer.
 | 
			
		||||
} lightlevel_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define GLOWSPEED 8
 | 
			
		||||
#define STROBEBRIGHT 5
 | 
			
		||||
| 
						 | 
				
			
			@ -709,7 +709,7 @@ typedef enum
 | 
			
		|||
 | 
			
		||||
/** Ceiling movement structure.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct ceiling_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;    ///< Thinker for the type of movement.
 | 
			
		||||
	ceiling_e type;       ///< Type of movement.
 | 
			
		||||
| 
						 | 
				
			
			@ -728,7 +728,7 @@ typedef struct
 | 
			
		|||
	INT16 tag;            ///< Tag of linedef executor to run when movement is done.
 | 
			
		||||
	fixed_t origspeed;    ///< The original, "real" speed.
 | 
			
		||||
	INT32 sourceline;     ///< Index of the source linedef
 | 
			
		||||
} ceiling_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define CEILSPEED (FRACUNIT)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -771,7 +771,7 @@ typedef enum
 | 
			
		|||
	bridgeFall,
 | 
			
		||||
} elevator_e;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct floormove_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	floor_e type;
 | 
			
		||||
| 
						 | 
				
			
			@ -786,9 +786,9 @@ typedef struct
 | 
			
		|||
	fixed_t delaytimer;
 | 
			
		||||
	INT16 tag;
 | 
			
		||||
	INT32 sourceline;
 | 
			
		||||
} floormove_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct elevator_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	elevator_e type;
 | 
			
		||||
| 
						 | 
				
			
			@ -807,7 +807,7 @@ typedef struct
 | 
			
		|||
	fixed_t floorwasheight; // Height the floor WAS at
 | 
			
		||||
	fixed_t ceilingwasheight; // Height the ceiling WAS at
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
} elevator_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -816,7 +816,7 @@ typedef enum
 | 
			
		|||
	CF_REVERSE  = 1<<2, // Reverse gravity
 | 
			
		||||
} crumbleflag_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct crumble_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
| 
						 | 
				
			
			@ -830,15 +830,15 @@ typedef struct
 | 
			
		|||
	fixed_t floorwasheight; // Height the floor WAS at
 | 
			
		||||
	fixed_t ceilingwasheight; // Height the ceiling WAS at
 | 
			
		||||
	UINT8 flags;
 | 
			
		||||
} crumble_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct noenemies_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline; // Source line of the thinker
 | 
			
		||||
} noenemies_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct continuousfall_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
| 
						 | 
				
			
			@ -847,9 +847,9 @@ typedef struct
 | 
			
		|||
	fixed_t floorstartheight;
 | 
			
		||||
	fixed_t ceilingstartheight;
 | 
			
		||||
	fixed_t destheight;
 | 
			
		||||
} continuousfall_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct bouncecheese_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
| 
						 | 
				
			
			@ -859,9 +859,9 @@ typedef struct
 | 
			
		|||
	fixed_t floorwasheight;
 | 
			
		||||
	fixed_t ceilingwasheight;
 | 
			
		||||
	boolean low;
 | 
			
		||||
} bouncecheese_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mariothink_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
| 
						 | 
				
			
			@ -870,16 +870,16 @@ typedef struct
 | 
			
		|||
	fixed_t floorstartheight;
 | 
			
		||||
	fixed_t ceilingstartheight;
 | 
			
		||||
	INT16 tag;
 | 
			
		||||
} mariothink_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct mariocheck_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
} mariocheck_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct thwomp_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
| 
						 | 
				
			
			@ -893,23 +893,23 @@ typedef struct
 | 
			
		|||
	INT16 tag;
 | 
			
		||||
	UINT16 sound;
 | 
			
		||||
	INT32 initDelay;
 | 
			
		||||
} thwomp_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct floatthink_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline;
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
	INT16 tag;
 | 
			
		||||
} floatthink_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct eachtime_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	line_t *sourceline; // Source line of the thinker
 | 
			
		||||
	boolean playersInArea[MAXPLAYERS];
 | 
			
		||||
	boolean triggerOnExit;
 | 
			
		||||
} eachtime_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -918,7 +918,7 @@ typedef enum
 | 
			
		|||
	RF_DYNAMIC  = 1<<2, //Dynamically sinking platform
 | 
			
		||||
} raiseflag_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct raise_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;
 | 
			
		||||
	INT16 tag;
 | 
			
		||||
| 
						 | 
				
			
			@ -929,7 +929,7 @@ typedef struct
 | 
			
		|||
	fixed_t extraspeed; //For dynamically sinking platform
 | 
			
		||||
	UINT8 shaketimer; //For dynamically sinking platform
 | 
			
		||||
	UINT8 flags;
 | 
			
		||||
} raise_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define ELEVATORSPEED (FRACUNIT*4)
 | 
			
		||||
#define FLOORSPEED (FRACUNIT)
 | 
			
		||||
| 
						 | 
				
			
			@ -971,20 +971,20 @@ void T_EachTimeThinker(eachtime_t *eachtime);
 | 
			
		|||
void T_CameraScanner(elevator_t *elevator);
 | 
			
		||||
void T_RaiseSector(raise_t *raise);
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct executor_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; // Thinker for linedef executor delay
 | 
			
		||||
	line_t *line;      // Pointer to line that is waiting.
 | 
			
		||||
	mobj_t *caller;    // Pointer to calling mobj
 | 
			
		||||
	sector_t *sector;  // Pointer to triggering sector
 | 
			
		||||
	INT32 timer;       // Delay timer
 | 
			
		||||
} executor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_ExecutorDelay(executor_t *e);
 | 
			
		||||
 | 
			
		||||
/** Generalized scroller.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct scroll_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;   ///< Thinker structure for scrolling.
 | 
			
		||||
	fixed_t dx, dy;      ///< (dx,dy) scroll speeds.
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,14 +1004,14 @@ typedef struct
 | 
			
		|||
		sc_carry,        ///< Carry objects on floor.
 | 
			
		||||
		sc_carry_ceiling,///< Carry objects on ceiling (for 3Dfloor conveyors).
 | 
			
		||||
	} type;
 | 
			
		||||
} scroll_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_Scroll(scroll_t *s);
 | 
			
		||||
void T_LaserFlash(laserthink_t *flash);
 | 
			
		||||
 | 
			
		||||
/** Friction for ice/sludge effects.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct friction_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;   ///< Thinker structure for friction.
 | 
			
		||||
	INT32 friction;      ///< Friction value, 0xe800 = normal.
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1019,7 @@ typedef struct
 | 
			
		|||
	INT32 affectee;      ///< Number of affected sector.
 | 
			
		||||
	INT32 referrer;      ///< If roverfriction == true, then this will contain the sector # of the control sector where the effect was applied.
 | 
			
		||||
	UINT8 roverfriction;  ///< flag for whether friction originated from a FOF or not
 | 
			
		||||
} friction_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Friction defines.
 | 
			
		||||
#define ORIG_FRICTION          (0xF5 << (FRACBITS-8)) ///< Original value.
 | 
			
		||||
| 
						 | 
				
			
			@ -1033,7 +1033,7 @@ typedef enum
 | 
			
		|||
} pushertype_e;
 | 
			
		||||
 | 
			
		||||
// Model for pushers for push/pull effects
 | 
			
		||||
typedef struct
 | 
			
		||||
struct pusher_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;  ///< Thinker structure for pusher effect.
 | 
			
		||||
	pushertype_e type;  ///< Type of pusher effect.
 | 
			
		||||
| 
						 | 
				
			
			@ -1045,10 +1045,10 @@ typedef struct
 | 
			
		|||
	INT32 referrer;     ///< If roverpusher == true, then this will contain the sector # of the control sector where the effect was applied.
 | 
			
		||||
	INT32 exclusive;    /// < Once this affect has been applied to a mobj, no other pushers may affect it.
 | 
			
		||||
	INT32 slider;       /// < Should the player go into an uncontrollable slide?
 | 
			
		||||
} pusher_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Model for disappearing/reappearing FOFs
 | 
			
		||||
typedef struct
 | 
			
		||||
struct disappear_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;  ///< Thinker structure for effect.
 | 
			
		||||
	tic_t appeartime;   ///< Tics to be appeared for
 | 
			
		||||
| 
						 | 
				
			
			@ -1058,12 +1058,12 @@ typedef struct
 | 
			
		|||
	INT32 affectee;     ///< Number of affected line
 | 
			
		||||
	INT32 sourceline;   ///< Number of source line
 | 
			
		||||
	INT32 exists;       ///< Exists toggle
 | 
			
		||||
} disappear_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_Disappear(disappear_t *d);
 | 
			
		||||
 | 
			
		||||
// Model for fading FOFs
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fade_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;  ///< Thinker structure for effect.
 | 
			
		||||
	ffloor_t *rover;    ///< Target ffloor
 | 
			
		||||
| 
						 | 
				
			
			@ -1084,13 +1084,13 @@ typedef struct
 | 
			
		|||
	boolean docollision; ///< Handle interactive flags
 | 
			
		||||
	boolean doghostfade; ///< No interactive flags during fading
 | 
			
		||||
	boolean exactalpha; ///< Use exact alpha values (opengl)
 | 
			
		||||
} fade_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_Fade(fade_t *d);
 | 
			
		||||
 | 
			
		||||
// Model for fading colormaps
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct fadecolormap_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;          ///< Thinker structure for effect.
 | 
			
		||||
	sector_t *sector;           ///< Sector where action is taking place.
 | 
			
		||||
| 
						 | 
				
			
			@ -1099,7 +1099,7 @@ typedef struct
 | 
			
		|||
	boolean ticbased;           ///< Tic-based timing
 | 
			
		||||
	INT32 duration;             ///< Total duration for tic-based logic (OR: speed increment)
 | 
			
		||||
	INT32 timer;                ///< Timer for tic-based logic (OR: internal speed counter)
 | 
			
		||||
} fadecolormap_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_FadeColormap(fadecolormap_t *d);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1107,7 +1107,7 @@ void T_FadeColormap(fadecolormap_t *d);
 | 
			
		|||
void T_Pusher(pusher_t *p);
 | 
			
		||||
 | 
			
		||||
// Plane displacement
 | 
			
		||||
typedef struct
 | 
			
		||||
struct planedisplace_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker;   ///< Thinker structure for plane displacement effect.
 | 
			
		||||
	INT32 affectee;      ///< Number of affected sector.
 | 
			
		||||
| 
						 | 
				
			
			@ -1123,7 +1123,7 @@ typedef struct
 | 
			
		|||
		pd_ceiling,      ///< Displace ceiling.
 | 
			
		||||
		pd_both,         ///< Displace both floor AND ceiling.
 | 
			
		||||
	} type;
 | 
			
		||||
} planedisplace_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void T_PlaneDisplace(planedisplace_t *pd);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,12 +23,12 @@
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
// Store lists of lumps for F_START/F_END etc.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct lumplist_t
 | 
			
		||||
{
 | 
			
		||||
	UINT16 wadfile;
 | 
			
		||||
	UINT16 firstlump;
 | 
			
		||||
	size_t numlumps;
 | 
			
		||||
} lumplist_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
UINT32 ASTBlendPixel(RGBA_t background, RGBA_t foreground, int style, UINT8 alpha);
 | 
			
		||||
UINT32 ASTBlendTexturePixel(RGBA_t background, RGBA_t foreground, int style, UINT8 alpha);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										100
									
								
								src/r_defs.h
									
										
									
									
									
								
							
							
						
						
									
										100
									
								
								src/r_defs.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -35,11 +35,11 @@
 | 
			
		|||
// Clips the given range of columns
 | 
			
		||||
// and includes it in the new clip list.
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct cliprange_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 first;
 | 
			
		||||
	INT32 last;
 | 
			
		||||
} cliprange_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Silhouette, needed for clipping segs (mainly) and sprites representing things.
 | 
			
		||||
#define SIL_NONE   0
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +57,7 @@ typedef UINT8 lighttable_t;
 | 
			
		|||
#define CMF_FOG 4
 | 
			
		||||
 | 
			
		||||
// ExtraColormap type. Use for extra_colormaps from now on.
 | 
			
		||||
typedef struct extracolormap_s
 | 
			
		||||
struct extracolormap_s
 | 
			
		||||
{
 | 
			
		||||
	UINT8 fadestart, fadeend;
 | 
			
		||||
	UINT8 flags;
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ typedef struct extracolormap_s
 | 
			
		|||
 | 
			
		||||
	struct extracolormap_s *next;
 | 
			
		||||
	struct extracolormap_s *prev;
 | 
			
		||||
} extracolormap_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// INTERNAL MAP TYPES used by play and refresh
 | 
			
		||||
| 
						 | 
				
			
			@ -84,12 +84,12 @@ typedef struct extracolormap_s
 | 
			
		|||
 | 
			
		||||
/** Your plain vanilla vertex.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct vertex_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t x, y;
 | 
			
		||||
	boolean floorzset, ceilingzset;
 | 
			
		||||
	fixed_t floorz, ceilingz;
 | 
			
		||||
} vertex_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Forward of linedefs, for sectors.
 | 
			
		||||
struct line_s;
 | 
			
		||||
| 
						 | 
				
			
			@ -99,13 +99,13 @@ struct line_s;
 | 
			
		|||
  * handle sound from moving objects (doppler), because position is probably
 | 
			
		||||
  * just buffered, not updated.
 | 
			
		||||
  */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct degenmobj_t
 | 
			
		||||
{
 | 
			
		||||
	thinker_t thinker; ///< Not used for anything.
 | 
			
		||||
	fixed_t x;         ///< X coordinate.
 | 
			
		||||
	fixed_t y;         ///< Y coordinate.
 | 
			
		||||
	fixed_t z;         ///< Z coordinate.
 | 
			
		||||
} degenmobj_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#include "p_polyobj.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -208,7 +208,7 @@ typedef enum
 | 
			
		|||
	BT_STRONG,
 | 
			
		||||
} busttype_e;
 | 
			
		||||
 | 
			
		||||
typedef struct ffloor_s
 | 
			
		||||
struct ffloor_s
 | 
			
		||||
{
 | 
			
		||||
	fixed_t *topheight;
 | 
			
		||||
	INT32 *toppic;
 | 
			
		||||
| 
						 | 
				
			
			@ -258,13 +258,13 @@ typedef struct ffloor_s
 | 
			
		|||
	INT32 spawnalpha; // alpha the 3D floor spawned with
 | 
			
		||||
 | 
			
		||||
	void *fadingdata; // fading FOF thinker
 | 
			
		||||
} ffloor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// This struct holds information for shadows casted by 3D floors.
 | 
			
		||||
// This information is contained inside the sector_t and is used as the base
 | 
			
		||||
// information for casted shadows.
 | 
			
		||||
typedef struct lightlist_s
 | 
			
		||||
struct lightlist_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t height;
 | 
			
		||||
	INT16 *lightlevel;
 | 
			
		||||
| 
						 | 
				
			
			@ -272,11 +272,11 @@ typedef struct lightlist_s
 | 
			
		|||
	INT32 flags;
 | 
			
		||||
	ffloor_t *caster;
 | 
			
		||||
	struct pslope_s *slope; // FOF_DOUBLESHADOW makes me have to store this pointer here. Bluh bluh.
 | 
			
		||||
} lightlist_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// This struct is used for rendering walls with shadows casted on them...
 | 
			
		||||
typedef struct r_lightlist_s
 | 
			
		||||
struct r_lightlist_s
 | 
			
		||||
{
 | 
			
		||||
	fixed_t height;
 | 
			
		||||
	fixed_t heightstep;
 | 
			
		||||
| 
						 | 
				
			
			@ -288,7 +288,7 @@ typedef struct r_lightlist_s
 | 
			
		|||
	lighttable_t *rcolormap;
 | 
			
		||||
	ffloortype_e flags;
 | 
			
		||||
	INT32 lightnum;
 | 
			
		||||
} r_lightlist_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Slopes
 | 
			
		||||
typedef enum {
 | 
			
		||||
| 
						 | 
				
			
			@ -296,7 +296,7 @@ typedef enum {
 | 
			
		|||
	SL_DYNAMIC = 1<<1, /// This plane slope will be assigned a thinker to make it dynamic.
 | 
			
		||||
} slopeflags_t;
 | 
			
		||||
 | 
			
		||||
typedef struct pslope_s
 | 
			
		||||
struct pslope_s
 | 
			
		||||
{
 | 
			
		||||
	UINT16 id; // The number of the slope, mostly used for netgame syncing purposes
 | 
			
		||||
	struct pslope_s *next; // Make a linked list of dynamic slopes, for easy reference later
 | 
			
		||||
| 
						 | 
				
			
			@ -323,7 +323,7 @@ typedef struct pslope_s
 | 
			
		|||
#ifdef HWRENDER
 | 
			
		||||
	INT16 hwLightOffset;
 | 
			
		||||
#endif
 | 
			
		||||
} pslope_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -399,7 +399,7 @@ typedef enum
 | 
			
		|||
// The SECTORS record, at runtime.
 | 
			
		||||
// Stores things/mobjs.
 | 
			
		||||
//
 | 
			
		||||
typedef struct sector_s
 | 
			
		||||
struct sector_s
 | 
			
		||||
{
 | 
			
		||||
	fixed_t floorheight;
 | 
			
		||||
	fixed_t ceilingheight;
 | 
			
		||||
| 
						 | 
				
			
			@ -499,7 +499,7 @@ typedef struct sector_s
 | 
			
		|||
 | 
			
		||||
	// colormap structure
 | 
			
		||||
	extracolormap_t *spawn_extra_colormap;
 | 
			
		||||
} sector_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Move clipping aid for linedefs.
 | 
			
		||||
| 
						 | 
				
			
			@ -517,7 +517,7 @@ typedef enum
 | 
			
		|||
#define NUMLINEARGS 10
 | 
			
		||||
#define NUMLINESTRINGARGS 2
 | 
			
		||||
 | 
			
		||||
typedef struct line_s
 | 
			
		||||
struct line_s
 | 
			
		||||
{
 | 
			
		||||
	// Vertices, from v1 to v2.
 | 
			
		||||
	vertex_t *v1;
 | 
			
		||||
| 
						 | 
				
			
			@ -556,9 +556,9 @@ typedef struct line_s
 | 
			
		|||
 | 
			
		||||
	char *text; // a concatenation of all front and back texture names, for linedef specials that require a string.
 | 
			
		||||
	INT16 callcount; // no. of calls left before triggering, for the "X calls" linedef specials, defaults to 0
 | 
			
		||||
} line_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct side_t
 | 
			
		||||
{
 | 
			
		||||
	// add this to the calculated texture column
 | 
			
		||||
	fixed_t textureoffset;
 | 
			
		||||
| 
						 | 
				
			
			@ -582,7 +582,7 @@ typedef struct
 | 
			
		|||
	char *text; // a concatenation of all top, bottom, and mid texture names, for linedef specials that require a string.
 | 
			
		||||
 | 
			
		||||
	extracolormap_t *colormap_data; // storage for colormaps; not applied to sectors.
 | 
			
		||||
} side_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// A subsector.
 | 
			
		||||
| 
						 | 
				
			
			@ -590,14 +590,14 @@ typedef struct
 | 
			
		|||
// Basically, this is a list of linesegs, indicating the visible walls that define
 | 
			
		||||
//  (all or some) sides of a convex BSP leaf.
 | 
			
		||||
//
 | 
			
		||||
typedef struct subsector_s
 | 
			
		||||
struct subsector_s
 | 
			
		||||
{
 | 
			
		||||
	sector_t *sector;
 | 
			
		||||
	INT16 numlines;
 | 
			
		||||
	UINT16 firstline;
 | 
			
		||||
	struct polyobj_s *polyList; // haleyjd 02/19/06: list of polyobjects
 | 
			
		||||
	size_t validcount;
 | 
			
		||||
} subsector_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Sector list node showing all sectors an object appears in.
 | 
			
		||||
//
 | 
			
		||||
| 
						 | 
				
			
			@ -613,7 +613,7 @@ typedef struct subsector_s
 | 
			
		|||
//
 | 
			
		||||
// For the links, NULL means top or end of list.
 | 
			
		||||
 | 
			
		||||
typedef struct msecnode_s
 | 
			
		||||
struct msecnode_s
 | 
			
		||||
{
 | 
			
		||||
	sector_t *m_sector; // a sector containing this object
 | 
			
		||||
	struct mobj_s *m_thing;  // this object
 | 
			
		||||
| 
						 | 
				
			
			@ -622,9 +622,9 @@ typedef struct msecnode_s
 | 
			
		|||
	struct msecnode_s *m_thinglist_prev;  // prev msecnode_t for this sector
 | 
			
		||||
	struct msecnode_s *m_thinglist_next;  // next msecnode_t for this sector
 | 
			
		||||
	boolean visited; // used in search algorithms
 | 
			
		||||
} msecnode_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct mprecipsecnode_s
 | 
			
		||||
struct mprecipsecnode_s
 | 
			
		||||
{
 | 
			
		||||
	sector_t *m_sector; // a sector containing this object
 | 
			
		||||
	struct precipmobj_s *m_thing;  // this object
 | 
			
		||||
| 
						 | 
				
			
			@ -633,12 +633,12 @@ typedef struct mprecipsecnode_s
 | 
			
		|||
	struct mprecipsecnode_s *m_thinglist_prev;  // prev msecnode_t for this sector
 | 
			
		||||
	struct mprecipsecnode_s *m_thinglist_next;  // next msecnode_t for this sector
 | 
			
		||||
	boolean visited; // used in search algorithms
 | 
			
		||||
} mprecipsecnode_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// for now, only used in hardware mode
 | 
			
		||||
// maybe later for software as well?
 | 
			
		||||
// that's why it's moved here
 | 
			
		||||
typedef struct light_s
 | 
			
		||||
struct light_t
 | 
			
		||||
{
 | 
			
		||||
	UINT16 type;          // light,... (cfr #define in hwr_light.c)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -651,19 +651,19 @@ typedef struct light_s
 | 
			
		|||
	UINT32 dynamic_color;  // color of the light for dynamic lighting
 | 
			
		||||
	float dynamic_radius; // radius of the light ball
 | 
			
		||||
	float dynamic_sqrradius; // radius^2 of the light ball
 | 
			
		||||
} light_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct lightmap_s
 | 
			
		||||
struct lightmap_s
 | 
			
		||||
{
 | 
			
		||||
	float s[2], t[2];
 | 
			
		||||
	light_t *light;
 | 
			
		||||
	struct lightmap_s *next;
 | 
			
		||||
} lightmap_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// The lineseg.
 | 
			
		||||
//
 | 
			
		||||
typedef struct seg_s
 | 
			
		||||
struct seg_s
 | 
			
		||||
{
 | 
			
		||||
	vertex_t *v1;
 | 
			
		||||
	vertex_t *v2;
 | 
			
		||||
| 
						 | 
				
			
			@ -704,7 +704,7 @@ typedef struct seg_s
 | 
			
		|||
#ifdef HWRENDER
 | 
			
		||||
	INT16 hwLightOffset;
 | 
			
		||||
#endif
 | 
			
		||||
} seg_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// BSP node.
 | 
			
		||||
| 
						 | 
				
			
			@ -727,11 +727,11 @@ typedef struct
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
// posts are runs of non masked source pixels
 | 
			
		||||
typedef struct
 | 
			
		||||
struct post_t
 | 
			
		||||
{
 | 
			
		||||
	UINT8 topdelta; // -1 is the last post in a column
 | 
			
		||||
	UINT8 length;   // length data bytes follows
 | 
			
		||||
} ATTRPACK post_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
| 
						 | 
				
			
			@ -751,7 +751,7 @@ typedef post_t column_t;
 | 
			
		|||
//
 | 
			
		||||
// ?
 | 
			
		||||
//
 | 
			
		||||
typedef struct drawseg_s
 | 
			
		||||
struct drawseg_t
 | 
			
		||||
{
 | 
			
		||||
	seg_t *curline;
 | 
			
		||||
	INT32 x1;
 | 
			
		||||
| 
						 | 
				
			
			@ -783,7 +783,7 @@ typedef struct drawseg_s
 | 
			
		|||
	fixed_t maskedtextureheight[MAXVIDWIDTH]; // For handling sloped midtextures
 | 
			
		||||
 | 
			
		||||
	vertex_t leftpos, rightpos; // Used for rendering FOF walls with slopes
 | 
			
		||||
} drawseg_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -795,11 +795,11 @@ typedef enum
 | 
			
		|||
} pic_mode_t;
 | 
			
		||||
 | 
			
		||||
#ifdef ROTSPRITE
 | 
			
		||||
typedef struct
 | 
			
		||||
struct rotsprite_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 angles;
 | 
			
		||||
	void **patches;
 | 
			
		||||
} rotsprite_t;
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Patches.
 | 
			
		||||
| 
						 | 
				
			
			@ -807,7 +807,7 @@ typedef struct
 | 
			
		|||
// Patches are used for sprites and all masked pictures, and we compose
 | 
			
		||||
// textures from the TEXTURES list of patches.
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct patch_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 width, height;
 | 
			
		||||
	INT16 leftoffset, topoffset;
 | 
			
		||||
| 
						 | 
				
			
			@ -821,7 +821,7 @@ typedef struct
 | 
			
		|||
#ifdef ROTSPRITE
 | 
			
		||||
	rotsprite_t *rotated; // Rotated patches
 | 
			
		||||
#endif
 | 
			
		||||
} patch_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern patch_t *missingpat;
 | 
			
		||||
extern patch_t *blanklvl;
 | 
			
		||||
| 
						 | 
				
			
			@ -830,7 +830,7 @@ extern patch_t *blanklvl;
 | 
			
		|||
#pragma pack(1)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct softwarepatch_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 width;          // bounding box size
 | 
			
		||||
	INT16 height;
 | 
			
		||||
| 
						 | 
				
			
			@ -838,14 +838,14 @@ typedef struct
 | 
			
		|||
	INT16 topoffset;      // pixels below the origin
 | 
			
		||||
	INT32 columnofs[8];     // only [width] used
 | 
			
		||||
	// the [0] is &columnofs[width]
 | 
			
		||||
} ATTRPACK softwarepatch_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(disable :  4200)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// a pic is an unmasked block of pixels, stored in horizontal way
 | 
			
		||||
typedef struct
 | 
			
		||||
struct pic_t
 | 
			
		||||
{
 | 
			
		||||
	INT16 width;
 | 
			
		||||
	UINT8 zero;       // set to 0 allow autodetection of pic_t
 | 
			
		||||
| 
						 | 
				
			
			@ -854,7 +854,7 @@ typedef struct
 | 
			
		|||
	INT16 height;
 | 
			
		||||
	INT16 reserved1; // set to 0
 | 
			
		||||
	UINT8 data[];
 | 
			
		||||
} ATTRPACK pic_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(default : 4200)
 | 
			
		||||
| 
						 | 
				
			
			@ -951,7 +951,7 @@ typedef enum
 | 
			
		|||
// Or the right side: NNNNFR
 | 
			
		||||
// Or both, mirrored: NNNNFLFR
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct spriteframe_t
 | 
			
		||||
{
 | 
			
		||||
	// If false use 0 for any position.
 | 
			
		||||
	// Note: as eight entries are available, we might as well insert the same
 | 
			
		||||
| 
						 | 
				
			
			@ -968,15 +968,15 @@ typedef struct
 | 
			
		|||
#ifdef ROTSPRITE
 | 
			
		||||
	rotsprite_t *rotated[2][16]; // Rotated patches
 | 
			
		||||
#endif
 | 
			
		||||
} spriteframe_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// A sprite definition:  a number of animation frames.
 | 
			
		||||
//
 | 
			
		||||
typedef struct
 | 
			
		||||
struct spritedef_t
 | 
			
		||||
{
 | 
			
		||||
	size_t numframes;
 | 
			
		||||
	spriteframe_t *spriteframes;
 | 
			
		||||
} spritedef_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,9 +72,9 @@ extern UINT8 *ds_source;
 | 
			
		|||
extern UINT8 *ds_brightmap;
 | 
			
		||||
extern UINT8 *ds_transmap;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct floatv3_t {
 | 
			
		||||
	float x, y, z;
 | 
			
		||||
} floatv3_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Vectors for Software's tilted slope drawers
 | 
			
		||||
extern floatv3_t *ds_su, *ds_sv, *ds_sz;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								src/r_fps.h
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/r_fps.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -40,7 +40,7 @@ extern enum viewcontext_e viewcontext;
 | 
			
		|||
 | 
			
		||||
#define R_GetViewNumber() ((viewcontext - VIEWCONTEXT_PLAYER1) & 3)
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct viewvars_t {
 | 
			
		||||
	fixed_t x;
 | 
			
		||||
	fixed_t y;
 | 
			
		||||
	fixed_t z;
 | 
			
		||||
| 
						 | 
				
			
			@ -54,11 +54,11 @@ typedef struct {
 | 
			
		|||
	fixed_t cos;
 | 
			
		||||
	fixed_t sin;
 | 
			
		||||
	mobj_t *mobj;
 | 
			
		||||
} viewvars_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern viewvars_t *newview;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct interpmobjstate_t {
 | 
			
		||||
	fixed_t x;
 | 
			
		||||
	fixed_t y;
 | 
			
		||||
	fixed_t z;
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ typedef struct {
 | 
			
		|||
	fixed_t spriteyscale;
 | 
			
		||||
	fixed_t spritexoffset;
 | 
			
		||||
	fixed_t spriteyoffset;
 | 
			
		||||
} interpmobjstate_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Level interpolators
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ typedef enum {
 | 
			
		|||
} levelinterpolator_type_e;
 | 
			
		||||
 | 
			
		||||
// Tagged union of a level interpolator
 | 
			
		||||
typedef struct levelinterpolator_s {
 | 
			
		||||
struct levelinterpolator_t {
 | 
			
		||||
	levelinterpolator_type_e type;
 | 
			
		||||
	thinker_t *thinker;
 | 
			
		||||
	union {
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +116,7 @@ typedef struct levelinterpolator_s {
 | 
			
		|||
			fixed_t oldzdelta, bakzdelta;
 | 
			
		||||
		} dynslope;
 | 
			
		||||
	};
 | 
			
		||||
} levelinterpolator_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Interpolates the current view variables (r_state.h) against the selected view context in R_SetViewContext
 | 
			
		||||
void R_InterpolateView(fixed_t frac);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,18 +92,18 @@ typedef enum
 | 
			
		|||
	ROTAXIS_Z  // Yaw
 | 
			
		||||
} rotaxis_t;
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct spriteframepivot_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 x, y;
 | 
			
		||||
	rotaxis_t rotaxis;
 | 
			
		||||
} spriteframepivot_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct spriteinfo_t
 | 
			
		||||
{
 | 
			
		||||
	spriteframepivot_t pivot[64 + 1];
 | 
			
		||||
#define SPRINFO_DEFAULT_PIVOT (64)
 | 
			
		||||
	UINT8 available[BIT_ARRAY_SIZE(64 + 1)]; // 1 extra for default_pivot
 | 
			
		||||
} spriteinfo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Portable Network Graphics
 | 
			
		||||
#define PNG_HEADER_SIZE (8)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@
 | 
			
		|||
// Now what is a visplane, anyway?
 | 
			
		||||
// Simple: kinda floor/ceiling polygon optimised for SRB2 rendering.
 | 
			
		||||
//
 | 
			
		||||
typedef struct visplane_s
 | 
			
		||||
struct visplane_s
 | 
			
		||||
{
 | 
			
		||||
	struct visplane_s *next;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +56,7 @@ typedef struct visplane_s
 | 
			
		|||
 | 
			
		||||
	boolean noencore;
 | 
			
		||||
	boolean ripple;
 | 
			
		||||
} visplane_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern visplane_t *visplanes[MAXVISPLANES];
 | 
			
		||||
extern visplane_t *floorplane;
 | 
			
		||||
| 
						 | 
				
			
			@ -104,7 +104,7 @@ void R_CalculateSlopeVectors(void);
 | 
			
		|||
// Sets the slope vector pointers for the current tilted span.
 | 
			
		||||
void R_SetTiltedSpan(INT32 span);
 | 
			
		||||
 | 
			
		||||
typedef struct planemgr_s
 | 
			
		||||
struct visffloor_t
 | 
			
		||||
{
 | 
			
		||||
	visplane_t *plane;
 | 
			
		||||
	fixed_t height;
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ typedef struct planemgr_s
 | 
			
		|||
 | 
			
		||||
	struct ffloor_s *ffloor;
 | 
			
		||||
	polyobj_t *polyobj;
 | 
			
		||||
} visffloor_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern visffloor_t ffloor[MAXFFLOORS];
 | 
			
		||||
extern INT32 numffloors;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@
 | 
			
		|||
 | 
			
		||||
/** Portal structure for the software renderer.
 | 
			
		||||
 */
 | 
			
		||||
typedef struct portal_s
 | 
			
		||||
struct portal_s
 | 
			
		||||
{
 | 
			
		||||
	struct portal_s *next;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ typedef struct portal_s
 | 
			
		|||
	INT16 *ceilingclip; /**< Temporary screen top clipping array. */
 | 
			
		||||
	INT16 *floorclip;	/**< Temporary screen bottom clipping array. */
 | 
			
		||||
	fixed_t *frontscale;/**< Temporary screen bottom clipping array. */
 | 
			
		||||
} portal_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern portal_t* portal_base;
 | 
			
		||||
extern portal_t* portal_cap;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@
 | 
			
		|||
#define DEFAULTSKIN4 "knuckles" // fourth player
 | 
			
		||||
 | 
			
		||||
/// The skin_t struct
 | 
			
		||||
typedef struct
 | 
			
		||||
struct skin_t
 | 
			
		||||
{
 | 
			
		||||
	char name[SKINNAMESIZE+1]; // INT16 descriptive name of the skin
 | 
			
		||||
	UINT16 wadnum;
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ typedef struct
 | 
			
		|||
	// contains super versions too
 | 
			
		||||
	spritedef_t sprites[NUMPLAYERSPRITES*2];
 | 
			
		||||
	spriteinfo_t sprinfo[NUMPLAYERSPRITES*2];
 | 
			
		||||
} skin_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum facepatches {
 | 
			
		||||
	FACE_RANK = 0,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ struct rastery_s
 | 
			
		|||
};
 | 
			
		||||
extern struct rastery_s *prastertab; // for ASM code
 | 
			
		||||
 | 
			
		||||
typedef struct floorsplat_s
 | 
			
		||||
struct floorsplat_t
 | 
			
		||||
{
 | 
			
		||||
	UINT16 *pic;
 | 
			
		||||
	INT32 width, height;
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ typedef struct floorsplat_s
 | 
			
		|||
	vector3_t verts[4]; // (x,y,z) as viewed from above on map
 | 
			
		||||
	fixed_t x, y, z; // position
 | 
			
		||||
	mobj_t *mobj; // Mobj it is tied to
 | 
			
		||||
} floorsplat_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void R_DrawFloorSplat(vissprite_t *spr);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,13 +28,13 @@
 | 
			
		|||
//
 | 
			
		||||
 | 
			
		||||
// needed for pre rendering (fracs)
 | 
			
		||||
typedef struct
 | 
			
		||||
struct sprcache_t
 | 
			
		||||
{
 | 
			
		||||
	fixed_t width;
 | 
			
		||||
	fixed_t offset;
 | 
			
		||||
	fixed_t topoffset;
 | 
			
		||||
	fixed_t height;
 | 
			
		||||
} sprcache_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern sprcache_t *spritecachedinfo;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@
 | 
			
		|||
// A single patch from a texture definition,
 | 
			
		||||
//  basically a rectangular area within
 | 
			
		||||
//  the texture rectangle.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct texpatch_t
 | 
			
		||||
{
 | 
			
		||||
	// Block origin (always UL), which has already accounted for the internal origin of the patch.
 | 
			
		||||
	INT16 originx, originy;
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +36,7 @@ typedef struct
 | 
			
		|||
	UINT8 flip; // 1 = flipx, 2 = flipy, 3 = both
 | 
			
		||||
	UINT8 alpha; // Translucency value
 | 
			
		||||
	patchalphastyle_t style;
 | 
			
		||||
} texpatch_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// texture type
 | 
			
		||||
enum
 | 
			
		||||
| 
						 | 
				
			
			@ -52,7 +52,7 @@ enum
 | 
			
		|||
// A texture_t describes a rectangular texture,
 | 
			
		||||
//  which is composed of one or more texpatch_t structures
 | 
			
		||||
//  that arrange graphic patches.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct texture_t
 | 
			
		||||
{
 | 
			
		||||
	// Keep name for switch changing, etc.
 | 
			
		||||
	char name[8];
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ typedef struct
 | 
			
		|||
	// All the patches[patchcount] are drawn back to front into the cached texture.
 | 
			
		||||
	INT16 patchcount;
 | 
			
		||||
	texpatch_t patches[];
 | 
			
		||||
} texture_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// all loaded and prepared textures from the start of the game
 | 
			
		||||
extern texture_t **textures;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -96,13 +96,13 @@ boolean R_ThingIsFlashing(mobj_t *thing);
 | 
			
		|||
 * per portal to later group them in separate
 | 
			
		||||
 * drawnode lists.
 | 
			
		||||
 */
 | 
			
		||||
typedef struct
 | 
			
		||||
struct maskcount_t
 | 
			
		||||
{
 | 
			
		||||
	size_t drawsegs[2];
 | 
			
		||||
	size_t vissprites[2];
 | 
			
		||||
	fixed_t viewx, viewy, viewz;			/**< View z stored at the time of the BSP traversal for the view/portal. Masked sorting/drawing needs it. */
 | 
			
		||||
	sector_t* viewsector;
 | 
			
		||||
} maskcount_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void R_DrawMasked(maskcount_t* masks, INT32 nummasks);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -145,7 +145,7 @@ typedef enum
 | 
			
		|||
 | 
			
		||||
// A vissprite_t is a thing that will be drawn during a refresh,
 | 
			
		||||
// i.e. a sprite object that is partly visible.
 | 
			
		||||
typedef struct vissprite_s
 | 
			
		||||
struct vissprite_s
 | 
			
		||||
{
 | 
			
		||||
	// Doubly linked list.
 | 
			
		||||
	struct vissprite_s *prev;
 | 
			
		||||
| 
						 | 
				
			
			@ -219,7 +219,7 @@ typedef struct vissprite_s
 | 
			
		|||
	INT32 dispoffset; // copy of info->dispoffset, affects ordering but not drawing
 | 
			
		||||
 | 
			
		||||
	fixed_t floorclip; // Cut off your tires in tall grass
 | 
			
		||||
} vissprite_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern UINT32 visspritecount;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +236,7 @@ UINT8 *R_GetSpriteTranslation(vissprite_t *vis);
 | 
			
		|||
 | 
			
		||||
// A drawnode is something that points to a 3D floor, 3D side, or masked
 | 
			
		||||
// middle texture. This is used for sorting with sprites.
 | 
			
		||||
typedef struct drawnode_s
 | 
			
		||||
struct drawnode_s
 | 
			
		||||
{
 | 
			
		||||
	visplane_t *plane;
 | 
			
		||||
	drawseg_t *seg;
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +246,7 @@ typedef struct drawnode_s
 | 
			
		|||
 | 
			
		||||
	struct drawnode_s *next;
 | 
			
		||||
	struct drawnode_s *prev;
 | 
			
		||||
} drawnode_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void R_InitDrawNodes(void);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,12 +66,12 @@ typedef enum
 | 
			
		|||
	SF_X2AWAYSOUND   = 64, // Hear it from 2x the distance away
 | 
			
		||||
} soundflags_t;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct listener_t {
 | 
			
		||||
	fixed_t x, y, z;
 | 
			
		||||
	angle_t angle;
 | 
			
		||||
} listener_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct channel_t
 | 
			
		||||
{
 | 
			
		||||
	// sound information (if null, channel avail.)
 | 
			
		||||
	sfxinfo_t *sfxinfo;
 | 
			
		||||
| 
						 | 
				
			
			@ -85,14 +85,14 @@ typedef struct
 | 
			
		|||
	// handle of the sound being played
 | 
			
		||||
	INT32 handle;
 | 
			
		||||
 | 
			
		||||
} channel_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct caption_t {
 | 
			
		||||
	channel_t *c;
 | 
			
		||||
	sfxinfo_t *s;
 | 
			
		||||
	UINT16 t;
 | 
			
		||||
	UINT8 b;
 | 
			
		||||
} caption_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define NUMCAPTIONS 8
 | 
			
		||||
#define MAXCAPTIONTICS (2*TICRATE)
 | 
			
		||||
| 
						 | 
				
			
			@ -170,14 +170,14 @@ boolean S_MusicInfo(char *mname, UINT16 *mflags, boolean *looping);
 | 
			
		|||
boolean S_SpeedMusic(float speed);
 | 
			
		||||
 | 
			
		||||
// Music credits
 | 
			
		||||
typedef struct musicdef_s
 | 
			
		||||
struct musicdef_s
 | 
			
		||||
{
 | 
			
		||||
	char name[7];
 | 
			
		||||
	//char usage[256];
 | 
			
		||||
	char source[256];
 | 
			
		||||
	int volume;
 | 
			
		||||
	struct musicdef_s *next;
 | 
			
		||||
} musicdef_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern struct cursongcredit
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +218,7 @@ UINT32 S_GetMusicPosition(void);
 | 
			
		|||
// Music Stacking (Jingles)
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
typedef struct musicstack_s
 | 
			
		||||
struct musicstack_s
 | 
			
		||||
{
 | 
			
		||||
	char musname[7];
 | 
			
		||||
	UINT16 musflags;
 | 
			
		||||
| 
						 | 
				
			
			@ -231,7 +231,7 @@ typedef struct musicstack_s
 | 
			
		|||
 | 
			
		||||
    struct musicstack_s *prev;
 | 
			
		||||
    struct musicstack_s *next;
 | 
			
		||||
} musicstack_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern char music_stack_nextmusname[7];
 | 
			
		||||
extern boolean music_stack_noposition;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								src/screen.h
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/screen.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -45,7 +45,7 @@
 | 
			
		|||
#define BASEVIDHEIGHT 200 // resolution of the graphics.
 | 
			
		||||
 | 
			
		||||
// global video state
 | 
			
		||||
typedef struct viddef_s
 | 
			
		||||
struct viddef_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 modenum; // vidmode num indexes videomodes list
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ typedef struct viddef_s
 | 
			
		|||
	INT32/*fixed_t*/ fmeddupx, fmeddupy;
 | 
			
		||||
	INT32 glstate;
 | 
			
		||||
#endif
 | 
			
		||||
} viddef_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -84,14 +84,14 @@ enum
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
// internal additional info for vesa modes only
 | 
			
		||||
typedef struct
 | 
			
		||||
struct vesa_extra_t
 | 
			
		||||
{
 | 
			
		||||
	INT32 vesamode; // vesa mode number plus LINEAR_MODE bit
 | 
			
		||||
	void *plinearmem; // linear address of start of frame buffer
 | 
			
		||||
} vesa_extra_t;
 | 
			
		||||
};
 | 
			
		||||
// a video modes from the video modes list,
 | 
			
		||||
// note: video mode 0 is always standard VGA320x200.
 | 
			
		||||
typedef struct vmode_s
 | 
			
		||||
struct vmode_s
 | 
			
		||||
{
 | 
			
		||||
	struct vmode_s *pnext;
 | 
			
		||||
	char *name;
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ typedef struct vmode_s
 | 
			
		|||
	INT32 (*setmode)(viddef_t *lvid, struct vmode_s *pcurrentmode);
 | 
			
		||||
#endif
 | 
			
		||||
	INT32 misc; // misc for display driver (r_opengl.dll etc)
 | 
			
		||||
} vmode_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define NUMSPECIALMODES  4
 | 
			
		||||
extern vmode_t specialmodes[NUMSPECIALMODES];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,9 +62,8 @@ typedef enum
 | 
			
		|||
//
 | 
			
		||||
// SoundFX struct.
 | 
			
		||||
//
 | 
			
		||||
typedef struct sfxinfo_struct sfxinfo_t;
 | 
			
		||||
 | 
			
		||||
struct sfxinfo_struct
 | 
			
		||||
struct sfxinfo_t
 | 
			
		||||
{
 | 
			
		||||
	// up to 6-character name
 | 
			
		||||
	const char *name;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,11 +21,11 @@ typedef INT16 mtag_t;
 | 
			
		|||
#define MTAG_GLOBAL -1
 | 
			
		||||
 | 
			
		||||
/// Multitag list. Each taggable element will have its own taglist.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct taglist_t
 | 
			
		||||
{
 | 
			
		||||
	mtag_t* tags;
 | 
			
		||||
	UINT16 count;
 | 
			
		||||
} taglist_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void Tag_Add (taglist_t* list, const mtag_t tag);
 | 
			
		||||
void Tag_Remove (taglist_t* list, const mtag_t tag);
 | 
			
		||||
| 
						 | 
				
			
			@ -40,12 +40,12 @@ void Tag_SectorRemove (const size_t id, const mtag_t tag);
 | 
			
		|||
void Tag_SectorFSet (const size_t id, const mtag_t tag);
 | 
			
		||||
 | 
			
		||||
/// Taggroup list. It is essentially just an element id list.
 | 
			
		||||
typedef struct
 | 
			
		||||
struct taggroup_t
 | 
			
		||||
{
 | 
			
		||||
	size_t *elements;
 | 
			
		||||
	size_t count;
 | 
			
		||||
	size_t capacity;
 | 
			
		||||
} taggroup_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern bitarray_t tags_available[];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										397
									
								
								src/typedef.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										397
									
								
								src/typedef.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,397 @@
 | 
			
		|||
// SONIC ROBO BLAST 2
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Copyright (C) 2022 by Kart Krew.
 | 
			
		||||
//
 | 
			
		||||
// This program is free software distributed under the
 | 
			
		||||
// terms of the GNU General Public License, version 2.
 | 
			
		||||
// See the 'LICENSE' file for more details.
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
/// \file  typedef.h
 | 
			
		||||
/// \brief Universally accessible type definitions. This
 | 
			
		||||
///        file exists so these types can be used anywhere
 | 
			
		||||
///        without needing to include specific headers.
 | 
			
		||||
 | 
			
		||||
#define TYPEDEF2(struct_id, new_type) \
 | 
			
		||||
	typedef struct struct_id new_type
 | 
			
		||||
 | 
			
		||||
#define TYPEDEF(id) TYPEDEF2 (id, id)
 | 
			
		||||
 | 
			
		||||
// am_map.h
 | 
			
		||||
TYPEDEF (fpoint_t);
 | 
			
		||||
TYPEDEF (fline_t);
 | 
			
		||||
 | 
			
		||||
// command.h
 | 
			
		||||
TYPEDEF (vsbuf_t);
 | 
			
		||||
TYPEDEF (CV_PossibleValue_t);
 | 
			
		||||
TYPEDEF2 (consvar_s, consvar_t);
 | 
			
		||||
 | 
			
		||||
// d_netcmd.h
 | 
			
		||||
TYPEDEF (changeteam_packet_t);
 | 
			
		||||
TYPEDEF (changeteam_value_t);
 | 
			
		||||
TYPEDEF (scheduleTask_t);
 | 
			
		||||
 | 
			
		||||
// discord.h
 | 
			
		||||
TYPEDEF2 (discordRequest_s, discordRequest_t);
 | 
			
		||||
 | 
			
		||||
// d_player.h
 | 
			
		||||
TYPEDEF (respawnvars_t);
 | 
			
		||||
TYPEDEF (botvars_t);
 | 
			
		||||
TYPEDEF (skybox_t);
 | 
			
		||||
TYPEDEF2 (player_s, player_t);
 | 
			
		||||
 | 
			
		||||
// d_clisrv.h
 | 
			
		||||
TYPEDEF (clientcmd_pak);
 | 
			
		||||
TYPEDEF (client2cmd_pak);
 | 
			
		||||
TYPEDEF (client3cmd_pak);
 | 
			
		||||
TYPEDEF (client4cmd_pak);
 | 
			
		||||
TYPEDEF (servertics_pak);
 | 
			
		||||
TYPEDEF (serverconfig_pak);
 | 
			
		||||
TYPEDEF (filetx_pak);
 | 
			
		||||
TYPEDEF (fileacksegment_t);
 | 
			
		||||
TYPEDEF (fileack_pak);
 | 
			
		||||
TYPEDEF (clientconfig_pak);
 | 
			
		||||
TYPEDEF (serverinfo_pak);
 | 
			
		||||
TYPEDEF (serverrefuse_pak);
 | 
			
		||||
TYPEDEF (askinfo_pak);
 | 
			
		||||
TYPEDEF (msaskinfo_pak);
 | 
			
		||||
TYPEDEF (plrinfo);
 | 
			
		||||
TYPEDEF (plrconfig);
 | 
			
		||||
TYPEDEF (filesneededconfig_pak);
 | 
			
		||||
TYPEDEF (doomdata_t);
 | 
			
		||||
TYPEDEF (serverelem_t);
 | 
			
		||||
TYPEDEF2 (rewind_s, rewind_t);
 | 
			
		||||
 | 
			
		||||
// d_event.h
 | 
			
		||||
TYPEDEF (event_t);
 | 
			
		||||
 | 
			
		||||
// d_netfil.h
 | 
			
		||||
TYPEDEF (fileneeded_t);
 | 
			
		||||
TYPEDEF (HTTP_login);
 | 
			
		||||
TYPEDEF2 (luafiletransfer_s, luafiletransfer_t);
 | 
			
		||||
 | 
			
		||||
// d_think.h
 | 
			
		||||
TYPEDEF2 (thinker_s, thinker_t);
 | 
			
		||||
 | 
			
		||||
// d_ticcmd.h
 | 
			
		||||
TYPEDEF (ticcmd_t);
 | 
			
		||||
 | 
			
		||||
// deh_tables.h
 | 
			
		||||
TYPEDEF (actionpointer_t);
 | 
			
		||||
 | 
			
		||||
// dehacked.h
 | 
			
		||||
TYPEDEF (MYFILE);
 | 
			
		||||
 | 
			
		||||
// domdata.h
 | 
			
		||||
TYPEDEF (mapvertex_t);
 | 
			
		||||
TYPEDEF (mapsidedef_t);
 | 
			
		||||
TYPEDEF (maplinedef_t);
 | 
			
		||||
TYPEDEF (mapsector_t);
 | 
			
		||||
TYPEDEF (mapsubsector_t);
 | 
			
		||||
TYPEDEF (mapseg_t);
 | 
			
		||||
TYPEDEF (mapnode_t);
 | 
			
		||||
TYPEDEF (mapthing_t);
 | 
			
		||||
 | 
			
		||||
// doomdef.h
 | 
			
		||||
TYPEDEF (skincolor_t);
 | 
			
		||||
 | 
			
		||||
// doomstat.h
 | 
			
		||||
TYPEDEF (precipprops_t);
 | 
			
		||||
TYPEDEF (recorddata_t);
 | 
			
		||||
TYPEDEF (scene_t);
 | 
			
		||||
TYPEDEF (cutscene_t);
 | 
			
		||||
TYPEDEF (textpage_t);
 | 
			
		||||
TYPEDEF (textprompt_t);
 | 
			
		||||
TYPEDEF (mappoint_t);
 | 
			
		||||
TYPEDEF (customoption_t);
 | 
			
		||||
TYPEDEF (mapheader_t);
 | 
			
		||||
TYPEDEF (tolinfo_t);
 | 
			
		||||
TYPEDEF2 (cupheader_s, cupheader_t);
 | 
			
		||||
 | 
			
		||||
// font.h
 | 
			
		||||
TYPEDEF (font_t);
 | 
			
		||||
 | 
			
		||||
// g_demo.h
 | 
			
		||||
TYPEDEF (democharlist_t);
 | 
			
		||||
TYPEDEF (menudemo_t);
 | 
			
		||||
TYPEDEF (demoghost);
 | 
			
		||||
 | 
			
		||||
// g_game.h
 | 
			
		||||
TYPEDEF (mapsearchfreq_t);
 | 
			
		||||
 | 
			
		||||
// hu_stuff.h
 | 
			
		||||
TYPEDEF (playersort_t);
 | 
			
		||||
 | 
			
		||||
// i_joy.h
 | 
			
		||||
TYPEDEF (JoyType_t);
 | 
			
		||||
 | 
			
		||||
// i_net.h
 | 
			
		||||
TYPEDEF (doomcom_t);
 | 
			
		||||
TYPEDEF (holepunch_t);
 | 
			
		||||
TYPEDEF (bannednode_t);
 | 
			
		||||
 | 
			
		||||
// i_system.h
 | 
			
		||||
TYPEDEF (JoyFF_t);
 | 
			
		||||
TYPEDEF (CPUInfoFlags);
 | 
			
		||||
 | 
			
		||||
// i_time.h
 | 
			
		||||
TYPEDEF (timestate_t);
 | 
			
		||||
 | 
			
		||||
// info.h
 | 
			
		||||
TYPEDEF (state_t);
 | 
			
		||||
TYPEDEF (mobjinfo_t);
 | 
			
		||||
 | 
			
		||||
// k_bheap.h
 | 
			
		||||
TYPEDEF (bheapitem_t);
 | 
			
		||||
TYPEDEF2 (bheap_s, bheap_t);
 | 
			
		||||
 | 
			
		||||
// k_boss.h
 | 
			
		||||
TYPEDEF (weakspot_t);
 | 
			
		||||
 | 
			
		||||
// k_bot.h
 | 
			
		||||
TYPEDEF (botprediction_t);
 | 
			
		||||
 | 
			
		||||
// k_brightmap.h
 | 
			
		||||
TYPEDEF (brightmapStorage_t);
 | 
			
		||||
 | 
			
		||||
// k_follower.h
 | 
			
		||||
TYPEDEF (follower_t);
 | 
			
		||||
TYPEDEF (followercategory_t);
 | 
			
		||||
 | 
			
		||||
// k_hud.h
 | 
			
		||||
TYPEDEF (trackingResult_t);
 | 
			
		||||
 | 
			
		||||
// k_menu.h
 | 
			
		||||
TYPEDEF2 (menucolor_s, menucolor_t);
 | 
			
		||||
TYPEDEF (menuitem_t);
 | 
			
		||||
TYPEDEF2 (menu_s, menu_t);
 | 
			
		||||
TYPEDEF (menucmd_t);
 | 
			
		||||
TYPEDEF (setup_player_t);
 | 
			
		||||
TYPEDEF (modedesc_t);
 | 
			
		||||
 | 
			
		||||
// k_pathfind.h
 | 
			
		||||
TYPEDEF2 (pathfindnode_s, pathfindnode_t);
 | 
			
		||||
TYPEDEF (path_t);
 | 
			
		||||
TYPEDEF (pathfindsetup_t);
 | 
			
		||||
 | 
			
		||||
// k_profiles.h
 | 
			
		||||
TYPEDEF (profile_t);
 | 
			
		||||
 | 
			
		||||
// k_terrain.h
 | 
			
		||||
TYPEDEF (t_splash_t);
 | 
			
		||||
TYPEDEF (t_footstep_t);
 | 
			
		||||
TYPEDEF (t_overlay_t);
 | 
			
		||||
TYPEDEF2 (terrain_s, terrain_t);
 | 
			
		||||
TYPEDEF (t_floor_t);
 | 
			
		||||
 | 
			
		||||
// k_waypoint.h
 | 
			
		||||
TYPEDEF2 (waypoint_s, waypoint_t);
 | 
			
		||||
 | 
			
		||||
// lua_hudlib_drawlist.h
 | 
			
		||||
typedef struct huddrawlist_s *huddrawlist_h;
 | 
			
		||||
 | 
			
		||||
// m_aatree.h
 | 
			
		||||
TYPEDEF (aatree_t);
 | 
			
		||||
 | 
			
		||||
// m_cond.h
 | 
			
		||||
TYPEDEF (condition_t);
 | 
			
		||||
TYPEDEF (conditionset_t);
 | 
			
		||||
TYPEDEF (emblem_t);
 | 
			
		||||
TYPEDEF (extraemblem_t);
 | 
			
		||||
TYPEDEF (unlockable_t);
 | 
			
		||||
 | 
			
		||||
// m_dllist.h
 | 
			
		||||
TYPEDEF2 (mdllistitem_s, mdllistitem_t);
 | 
			
		||||
 | 
			
		||||
// m_fixed.h
 | 
			
		||||
TYPEDEF (vector2_t);
 | 
			
		||||
TYPEDEF (vector3_t);
 | 
			
		||||
TYPEDEF (matrix_t);
 | 
			
		||||
 | 
			
		||||
// m_perfstats.h
 | 
			
		||||
TYPEDEF (ps_hookinfo_t);
 | 
			
		||||
TYPEDEF (ps_botinfo_t);
 | 
			
		||||
 | 
			
		||||
// m_queue.h
 | 
			
		||||
TYPEDEF2 (mqueueitem_s, mqueueitem_t);
 | 
			
		||||
TYPEDEF (mqueue_t);
 | 
			
		||||
 | 
			
		||||
// mserv.h
 | 
			
		||||
TYPEDEF (msg_server_t);
 | 
			
		||||
TYPEDEF (msg_ban_t);
 | 
			
		||||
 | 
			
		||||
// p_local.h
 | 
			
		||||
TYPEDEF (camera_t);
 | 
			
		||||
TYPEDEF (jingle_t);
 | 
			
		||||
TYPEDEF (tm_t);
 | 
			
		||||
TYPEDEF (TryMoveResult_t);
 | 
			
		||||
TYPEDEF (BasicFF_t);
 | 
			
		||||
 | 
			
		||||
// p_maputl.h
 | 
			
		||||
TYPEDEF (divline_t);
 | 
			
		||||
TYPEDEF (intercept_t);
 | 
			
		||||
 | 
			
		||||
// p_mobj.h
 | 
			
		||||
TYPEDEF2 (mobj_s, mobj_t);
 | 
			
		||||
TYPEDEF2 (precipmobj_s, precipmobj_t);
 | 
			
		||||
TYPEDEF2 (actioncache_s, actioncache_t);
 | 
			
		||||
 | 
			
		||||
// p_polyobj.h
 | 
			
		||||
TYPEDEF2 (polyobj_s, polyobj_t);
 | 
			
		||||
TYPEDEF (polymaplink_t);
 | 
			
		||||
TYPEDEF (polyrotate_t);
 | 
			
		||||
TYPEDEF (polymove_t);
 | 
			
		||||
TYPEDEF (polywaypoint_t);
 | 
			
		||||
TYPEDEF (polyslidedoor_t);
 | 
			
		||||
TYPEDEF (polyswingdoor_t);
 | 
			
		||||
TYPEDEF (polydisplace_t);
 | 
			
		||||
TYPEDEF (polyrotdisplace_t);
 | 
			
		||||
TYPEDEF (polyfade_t);
 | 
			
		||||
TYPEDEF (polyrotdata_t);
 | 
			
		||||
TYPEDEF (polymovedata_t);
 | 
			
		||||
TYPEDEF (polywaypointdata_t);
 | 
			
		||||
TYPEDEF (polydoordata_t);
 | 
			
		||||
TYPEDEF (polydisplacedata_t);
 | 
			
		||||
TYPEDEF (polyrotdisplacedata_t);
 | 
			
		||||
TYPEDEF (polyflagdata_t);
 | 
			
		||||
TYPEDEF (polyfadedata_t);
 | 
			
		||||
 | 
			
		||||
// p_saveg.h
 | 
			
		||||
TYPEDEF (savedata_t);
 | 
			
		||||
 | 
			
		||||
// p_setup.h
 | 
			
		||||
TYPEDEF (levelflat_t);
 | 
			
		||||
 | 
			
		||||
// p_slopes.h
 | 
			
		||||
TYPEDEF (dynlineplanethink_t);
 | 
			
		||||
TYPEDEF (dynvertexplanethink_t);
 | 
			
		||||
 | 
			
		||||
// p_spec.h
 | 
			
		||||
TYPEDEF (thinkerdata_t);
 | 
			
		||||
TYPEDEF (fireflicker_t);
 | 
			
		||||
TYPEDEF (lightflash_t);
 | 
			
		||||
TYPEDEF (laserthink_t);
 | 
			
		||||
TYPEDEF (strobe_t);
 | 
			
		||||
TYPEDEF (glow_t);
 | 
			
		||||
TYPEDEF (lightlevel_t);
 | 
			
		||||
TYPEDEF (ceiling_t);
 | 
			
		||||
TYPEDEF (floormove_t);
 | 
			
		||||
TYPEDEF (elevator_t);
 | 
			
		||||
TYPEDEF (crumble_t);
 | 
			
		||||
TYPEDEF (noenemies_t);
 | 
			
		||||
TYPEDEF (continuousfall_t);
 | 
			
		||||
TYPEDEF (bouncecheese_t);
 | 
			
		||||
TYPEDEF (mariothink_t);
 | 
			
		||||
TYPEDEF (mariocheck_t);
 | 
			
		||||
TYPEDEF (thwomp_t);
 | 
			
		||||
TYPEDEF (floatthink_t);
 | 
			
		||||
TYPEDEF (eachtime_t);
 | 
			
		||||
TYPEDEF (raise_t);
 | 
			
		||||
TYPEDEF (executor_t);
 | 
			
		||||
TYPEDEF (scroll_t);
 | 
			
		||||
TYPEDEF (friction_t);
 | 
			
		||||
TYPEDEF (pusher_t);
 | 
			
		||||
TYPEDEF (disappear_t);
 | 
			
		||||
TYPEDEF (fade_t);
 | 
			
		||||
TYPEDEF (fadecolormap_t);
 | 
			
		||||
TYPEDEF (planedisplace_t);
 | 
			
		||||
 | 
			
		||||
// r_data.h
 | 
			
		||||
TYPEDEF (lumplist_t);
 | 
			
		||||
 | 
			
		||||
// r_defs.h
 | 
			
		||||
TYPEDEF (cliprange_t);
 | 
			
		||||
TYPEDEF (vertex_t);
 | 
			
		||||
TYPEDEF (degenmobj_t);
 | 
			
		||||
TYPEDEF (light_t);
 | 
			
		||||
//TYPEDEF (node_t);
 | 
			
		||||
TYPEDEF (post_t);
 | 
			
		||||
TYPEDEF (drawseg_t);
 | 
			
		||||
TYPEDEF (rotsprite_t);
 | 
			
		||||
TYPEDEF (patch_t);
 | 
			
		||||
TYPEDEF (softwarepatch_t);
 | 
			
		||||
TYPEDEF (pic_t);
 | 
			
		||||
TYPEDEF (spriteframe_t);
 | 
			
		||||
TYPEDEF (spritedef_t);
 | 
			
		||||
TYPEDEF2 (extracolormap_s, extracolormap_t);
 | 
			
		||||
TYPEDEF2 (ffloor_s, ffloor_t);
 | 
			
		||||
TYPEDEF (lightlist_t);
 | 
			
		||||
TYPEDEF2 (r_lightlist_s, r_lightlist_t);
 | 
			
		||||
TYPEDEF2 (pslope_s, pslope_t);
 | 
			
		||||
TYPEDEF2 (sector_s, sector_t);
 | 
			
		||||
TYPEDEF2 (line_s, line_t);
 | 
			
		||||
TYPEDEF (side_t);
 | 
			
		||||
TYPEDEF2 (subsector_s, subsector_t);
 | 
			
		||||
TYPEDEF2 (msecnode_s, msecnode_t);
 | 
			
		||||
TYPEDEF2 (mprecipsecnode_s, mprecipsecnode_t);
 | 
			
		||||
TYPEDEF2 (lightmap_s, lightmap_t);
 | 
			
		||||
TYPEDEF2 (seg_s, seg_t);
 | 
			
		||||
 | 
			
		||||
// r_draw.h
 | 
			
		||||
TYPEDEF (floatv3_t);
 | 
			
		||||
 | 
			
		||||
// r_fps.h
 | 
			
		||||
TYPEDEF (viewvars_t);
 | 
			
		||||
TYPEDEF (interpmobjstate_t);
 | 
			
		||||
TYPEDEF (levelinterpolator_t);
 | 
			
		||||
 | 
			
		||||
// r_picformats.h
 | 
			
		||||
TYPEDEF (spriteframepivot_t);
 | 
			
		||||
TYPEDEF (spriteinfo_t);
 | 
			
		||||
 | 
			
		||||
// r_plane.h
 | 
			
		||||
TYPEDEF2 (visplane_s, visplane_t);
 | 
			
		||||
TYPEDEF (visffloor_t);
 | 
			
		||||
 | 
			
		||||
// r_portal.h
 | 
			
		||||
TYPEDEF2 (portal_s, portal_t);
 | 
			
		||||
 | 
			
		||||
// r_skins.h
 | 
			
		||||
TYPEDEF (skin_t);
 | 
			
		||||
 | 
			
		||||
// r_splats.h
 | 
			
		||||
TYPEDEF (floorsplat_t);
 | 
			
		||||
 | 
			
		||||
// r_state.h
 | 
			
		||||
TYPEDEF (sprcache_t);
 | 
			
		||||
 | 
			
		||||
// r_textures.h
 | 
			
		||||
TYPEDEF (texpatch_t);
 | 
			
		||||
TYPEDEF (texture_t);
 | 
			
		||||
 | 
			
		||||
// r_things.h
 | 
			
		||||
TYPEDEF (maskcount_t);
 | 
			
		||||
TYPEDEF2 (vissprite_s, vissprite_t);
 | 
			
		||||
TYPEDEF2 (drawnode_s, drawnode_t);
 | 
			
		||||
 | 
			
		||||
// s_sound.h
 | 
			
		||||
TYPEDEF (listener_t);
 | 
			
		||||
TYPEDEF (channel_t);
 | 
			
		||||
TYPEDEF (caption_t);
 | 
			
		||||
TYPEDEF2 (musicdef_s, musicdef_t);
 | 
			
		||||
TYPEDEF2 (musicstack_s, musicstack_t);
 | 
			
		||||
 | 
			
		||||
// screen.h
 | 
			
		||||
TYPEDEF (viddef_t);
 | 
			
		||||
TYPEDEF (vesa_extra_t);
 | 
			
		||||
TYPEDEF2 (vmode_s, vmode_t);
 | 
			
		||||
 | 
			
		||||
// sounds.h
 | 
			
		||||
TYPEDEF (sfxinfo_t);
 | 
			
		||||
 | 
			
		||||
// taglist.h
 | 
			
		||||
TYPEDEF (taglist_t);
 | 
			
		||||
TYPEDEF (taggroup_t);
 | 
			
		||||
 | 
			
		||||
// v_video.h
 | 
			
		||||
TYPEDEF (colorlookup_t);
 | 
			
		||||
 | 
			
		||||
// w_wad.h
 | 
			
		||||
TYPEDEF (filelump_t);
 | 
			
		||||
TYPEDEF (wadinfo_t);
 | 
			
		||||
TYPEDEF (lumpinfo_t);
 | 
			
		||||
TYPEDEF (virtlump_t);
 | 
			
		||||
TYPEDEF (virtres_t);
 | 
			
		||||
TYPEDEF (wadfile_t);
 | 
			
		||||
 | 
			
		||||
#undef TYPEDEF
 | 
			
		||||
#undef TYPEDEF2
 | 
			
		||||
| 
						 | 
				
			
			@ -46,12 +46,12 @@ void V_Recalc(void);
 | 
			
		|||
// Color look-up table
 | 
			
		||||
#define CLUTINDEX(r, g, b) (((r) >> 3) << 11) | (((g) >> 2) << 5) | ((b) >> 3)
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
struct colorlookup_t
 | 
			
		||||
{
 | 
			
		||||
	boolean init;
 | 
			
		||||
	RGBA_t palette[256];
 | 
			
		||||
	UINT16 table[0xFFFF];
 | 
			
		||||
} colorlookup_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void InitColorLUT(colorlookup_t *lut, RGBA_t *palette, boolean makecolors);
 | 
			
		||||
UINT8 GetColorLUT(colorlookup_t *lut, UINT8 r, UINT8 g, UINT8 b);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										24
									
								
								src/w_wad.h
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								src/w_wad.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -27,12 +27,12 @@
 | 
			
		|||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack(1)
 | 
			
		||||
#endif
 | 
			
		||||
typedef struct
 | 
			
		||||
struct filelump_t
 | 
			
		||||
{
 | 
			
		||||
	UINT32 filepos; // file offset of the resource
 | 
			
		||||
	UINT32 size; // size of the resource
 | 
			
		||||
	char name[8]; // name of the resource
 | 
			
		||||
} ATTRPACK filelump_t;
 | 
			
		||||
} ATTRPACK;
 | 
			
		||||
#if defined(_MSC_VER)
 | 
			
		||||
#pragma pack()
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -43,12 +43,12 @@ typedef struct
 | 
			
		|||
// ==============================================================
 | 
			
		||||
 | 
			
		||||
// header of a wad file
 | 
			
		||||
typedef struct
 | 
			
		||||
struct wadinfo_t
 | 
			
		||||
{
 | 
			
		||||
	char identification[4]; // should be "IWAD" or "PWAD"
 | 
			
		||||
	UINT32 numlumps; // how many resources
 | 
			
		||||
	UINT32 infotableofs; // the 'directory' of resources
 | 
			
		||||
} wadinfo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Available compression methods for lumps.
 | 
			
		||||
typedef enum
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ typedef enum
 | 
			
		|||
} compmethod;
 | 
			
		||||
 | 
			
		||||
//  a memory entry of the wad directory
 | 
			
		||||
typedef struct
 | 
			
		||||
struct lumpinfo_t
 | 
			
		||||
{
 | 
			
		||||
	unsigned long position; // filelump_t filepos
 | 
			
		||||
	unsigned long disksize; // filelump_t size
 | 
			
		||||
| 
						 | 
				
			
			@ -72,22 +72,22 @@ typedef struct
 | 
			
		|||
	char *fullname;         //                   e.g. "Folder/Subfolder/LongEntryName.extension"
 | 
			
		||||
	size_t size;            // real (uncompressed) size
 | 
			
		||||
	compmethod compression; // lump compression method
 | 
			
		||||
} lumpinfo_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// =========================================================================
 | 
			
		||||
//                         'VIRTUAL' RESOURCES
 | 
			
		||||
// =========================================================================
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct virtlump_t {
 | 
			
		||||
	char name[9];
 | 
			
		||||
	UINT8* data;
 | 
			
		||||
	size_t size;
 | 
			
		||||
} virtlump_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
struct virtres_t {
 | 
			
		||||
	size_t numlumps;
 | 
			
		||||
	virtlump_t* vlumps;
 | 
			
		||||
} virtres_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
virtres_t* vres_GetMap(lumpnum_t);
 | 
			
		||||
void vres_Free(virtres_t*);
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +116,7 @@ typedef enum restype
 | 
			
		|||
	RET_UNKNOWN,
 | 
			
		||||
} restype_t;
 | 
			
		||||
 | 
			
		||||
typedef struct wadfile_s
 | 
			
		||||
struct wadfile_t
 | 
			
		||||
{
 | 
			
		||||
	char *filename;
 | 
			
		||||
	restype_t type;
 | 
			
		||||
| 
						 | 
				
			
			@ -129,7 +129,7 @@ typedef struct wadfile_s
 | 
			
		|||
	UINT8 md5sum[16];
 | 
			
		||||
 | 
			
		||||
	boolean important; // also network - !W_VerifyNMUSlumps
 | 
			
		||||
} wadfile_t;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define WADFILENUM(lumpnum) (UINT16)((lumpnum)>>16) // wad flumpnum>>16) // wad file number in upper word
 | 
			
		||||
#define LUMPNUM(lumpnum) (UINT16)((lumpnum)&0xFFFF) // lump number for this pwad
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue