Merge branch 'universal-typedef' into 'master'

Move all typedef into one file

See merge request KartKrew/Kart!791
This commit is contained in:
James R 2022-12-05 20:59:43 +00:00
commit c7ad1e659e
74 changed files with 980 additions and 594 deletions

View file

@ -16,15 +16,15 @@
#include "d_event.h" #include "d_event.h"
typedef struct struct fpoint_t
{ {
INT32 x, y; INT32 x, y;
} fpoint_t; };
typedef struct struct fline_t
{ {
fpoint_t a, b; fpoint_t a, b;
} fline_t; };
extern boolean am_recalc; // true if screen size changes extern boolean am_recalc; // true if screen size changes
extern boolean automapactive; // In AutoMap mode? extern boolean automapactive; // In AutoMap mode?

View file

@ -79,14 +79,14 @@ void COM_Init(void);
// Variable sized buffers // Variable sized buffers
// ====================== // ======================
typedef struct vsbuf_s struct vsbuf_t
{ {
boolean allowoverflow; // if false, do a I_Error boolean allowoverflow; // if false, do a I_Error
boolean overflowed; // set to true if the buffer size failed boolean overflowed; // set to true if the buffer size failed
UINT8 *data; UINT8 *data;
size_t maxsize; size_t maxsize;
size_t cursize; size_t cursize;
} vsbuf_t; };
void VS_Alloc(vsbuf_t *buf, size_t initsize); void VS_Alloc(vsbuf_t *buf, size_t initsize);
void VS_Free(vsbuf_t *buf); void VS_Free(vsbuf_t *buf);
@ -127,13 +127,13 @@ typedef enum
CV_NOLUA = 4096,/* don't let this be called from Lua */ CV_NOLUA = 4096,/* don't let this be called from Lua */
} cvflags_t; } cvflags_t;
typedef struct CV_PossibleValue_s struct CV_PossibleValue_t
{ {
INT32 value; INT32 value;
const char *strvalue; const char *strvalue;
} CV_PossibleValue_t; };
typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NULL struct consvar_t //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NULL
{ {
const char *name; const char *name;
const char *defaultvalue; const char *defaultvalue;
@ -157,8 +157,8 @@ typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NUL
UINT16 netid; // used internaly : netid for send end receive UINT16 netid; // used internaly : netid for send end receive
// used only with CV_NETVAR // used only with CV_NETVAR
char changed; // has variable been changed by the user? 0 = no, 1 = yes char changed; // has variable been changed by the user? 0 = no, 1 = yes
struct consvar_s *next; consvar_t *next;
} consvar_t; };
/* name, defaultvalue, flags, PossibleValue, func */ /* name, defaultvalue, flags, PossibleValue, func */
#define CVAR_INIT( ... ) \ #define CVAR_INIT( ... ) \

View file

@ -130,43 +130,43 @@ void Command_Numnodes(void);
#endif #endif
// Client to server packet // Client to server packet
typedef struct struct clientcmd_pak
{ {
UINT8 client_tic; UINT8 client_tic;
UINT8 resendfrom; UINT8 resendfrom;
INT16 consistancy; INT16 consistancy;
ticcmd_t cmd; ticcmd_t cmd;
} ATTRPACK clientcmd_pak; } ATTRPACK;
// Splitscreen packet // Splitscreen packet
// WARNING: must have the same format of clientcmd_pak, for more easy use // WARNING: must have the same format of clientcmd_pak, for more easy use
typedef struct struct client2cmd_pak
{ {
UINT8 client_tic; UINT8 client_tic;
UINT8 resendfrom; UINT8 resendfrom;
INT16 consistancy; INT16 consistancy;
ticcmd_t cmd, cmd2; ticcmd_t cmd, cmd2;
} ATTRPACK client2cmd_pak; } ATTRPACK;
// 3P Splitscreen packet // 3P Splitscreen packet
// WARNING: must have the same format of clientcmd_pak, for more easy use // WARNING: must have the same format of clientcmd_pak, for more easy use
typedef struct struct client3cmd_pak
{ {
UINT8 client_tic; UINT8 client_tic;
UINT8 resendfrom; UINT8 resendfrom;
INT16 consistancy; INT16 consistancy;
ticcmd_t cmd, cmd2, cmd3; ticcmd_t cmd, cmd2, cmd3;
} ATTRPACK client3cmd_pak; } ATTRPACK;
// 4P Splitscreen packet // 4P Splitscreen packet
// WARNING: must have the same format of clientcmd_pak, for more easy use // WARNING: must have the same format of clientcmd_pak, for more easy use
typedef struct struct client4cmd_pak
{ {
UINT8 client_tic; UINT8 client_tic;
UINT8 resendfrom; UINT8 resendfrom;
INT16 consistancy; INT16 consistancy;
ticcmd_t cmd, cmd2, cmd3, cmd4; ticcmd_t cmd, cmd2, cmd3, cmd4;
} ATTRPACK client4cmd_pak; } ATTRPACK;
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma warning(disable : 4200) #pragma warning(disable : 4200)
@ -174,15 +174,15 @@ typedef struct
// Server to client packet // Server to client packet
// this packet is too large // this packet is too large
typedef struct struct servertics_pak
{ {
UINT8 starttic; UINT8 starttic;
UINT8 numtics; UINT8 numtics;
UINT8 numslots; // "Slots filled": Highest player number in use plus one. UINT8 numslots; // "Slots filled": Highest player number in use plus one.
ticcmd_t cmds[45]; // Normally [BACKUPTIC][MAXPLAYERS] but too large 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 version; // Different versions don't work
UINT8 subversion; // Contains build version UINT8 subversion; // Contains build version
@ -204,9 +204,9 @@ typedef struct
UINT8 maxplayer; UINT8 maxplayer;
boolean allownewplayer; boolean allownewplayer;
boolean discordinvites; boolean discordinvites;
} ATTRPACK serverconfig_pak; } ATTRPACK;
typedef struct struct filetx_pak
{ {
UINT8 fileid; UINT8 fileid;
UINT32 filesize; UINT32 filesize;
@ -214,21 +214,21 @@ typedef struct
UINT32 position; UINT32 position;
UINT16 size; UINT16 size;
UINT8 data[]; // Size is variable using hardware_MAXPACKETLENGTH UINT8 data[]; // Size is variable using hardware_MAXPACKETLENGTH
} ATTRPACK filetx_pak; } ATTRPACK;
typedef struct struct fileacksegment_t
{ {
UINT32 start; UINT32 start;
UINT32 acks; UINT32 acks;
} ATTRPACK fileacksegment_t; } ATTRPACK;
typedef struct struct fileack_pak
{ {
UINT8 fileid; UINT8 fileid;
UINT8 iteration; UINT8 iteration;
UINT8 numsegments; UINT8 numsegments;
fileacksegment_t segments[]; fileacksegment_t segments[];
} ATTRPACK fileack_pak; } ATTRPACK;
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma warning(default : 4200) #pragma warning(default : 4200)
@ -236,7 +236,7 @@ typedef struct
#define MAXAPPLICATION 16 #define MAXAPPLICATION 16
typedef struct struct clientconfig_pak
{ {
UINT8 _255;/* see serverinfo_pak */ UINT8 _255;/* see serverinfo_pak */
UINT8 packetversion; UINT8 packetversion;
@ -246,7 +246,7 @@ typedef struct
UINT8 localplayers; // number of splitscreen players UINT8 localplayers; // number of splitscreen players
UINT8 mode; UINT8 mode;
char names[MAXSPLITSCREENPLAYERS][MAXPLAYERNAME]; char names[MAXSPLITSCREENPLAYERS][MAXPLAYERNAME];
} ATTRPACK clientconfig_pak; } ATTRPACK;
#define SV_SPEEDMASK 0x03 // used to send kartspeed #define SV_SPEEDMASK 0x03 // used to send kartspeed
#define SV_DEDICATED 0x40 // server is dedicated #define SV_DEDICATED 0x40 // server is dedicated
@ -256,7 +256,7 @@ typedef struct
#define MAXFILENEEDED 915 #define MAXFILENEEDED 915
#define MAX_MIRROR_LENGTH 256 #define MAX_MIRROR_LENGTH 256
// This packet is too large // This packet is too large
typedef struct struct serverinfo_pak
{ {
/* /*
In the old packet, 'version' is the first field. Now that field is set 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 char httpsource[MAX_MIRROR_LENGTH]; // HTTP URL to download from, always defined for compatibility
INT16 avgpwrlv; // Kart avg power level INT16 avgpwrlv; // Kart avg power level
UINT8 fileneeded[MAXFILENEEDED]; // is filled with writexxx (byteptr.h) UINT8 fileneeded[MAXFILENEEDED]; // is filled with writexxx (byteptr.h)
} ATTRPACK serverinfo_pak; } ATTRPACK;
typedef struct struct serverrefuse_pak
{ {
char reason[255]; char reason[255];
} ATTRPACK serverrefuse_pak; } ATTRPACK;
typedef struct struct askinfo_pak
{ {
UINT8 version; UINT8 version;
tic_t time; // used for ping evaluation tic_t time; // used for ping evaluation
} ATTRPACK askinfo_pak; } ATTRPACK;
typedef struct struct msaskinfo_pak
{ {
char clientaddr[22]; char clientaddr[22];
tic_t time; // used for ping evaluation tic_t time; // used for ping evaluation
} ATTRPACK msaskinfo_pak; } ATTRPACK;
// Shorter player information for external use. // Shorter player information for external use.
typedef struct struct plrinfo
{ {
UINT8 num; UINT8 num;
char name[MAXPLAYERNAME+1]; 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. UINT8 data; // Color is first four bits, hasflag, isit and issuper have one bit each, the last is unused.
UINT32 score; UINT32 score;
UINT16 timeinserver; // In seconds. UINT16 timeinserver; // In seconds.
} ATTRPACK plrinfo; } ATTRPACK;
// Shortest player information for join during intermission. // Shortest player information for join during intermission.
typedef struct struct plrconfig
{ {
char name[MAXPLAYERNAME+1]; char name[MAXPLAYERNAME+1];
UINT8 skin; UINT8 skin;
@ -330,20 +330,20 @@ typedef struct
UINT32 pflags; UINT32 pflags;
UINT32 score; UINT32 score;
UINT8 ctfteam; UINT8 ctfteam;
} ATTRPACK plrconfig; } ATTRPACK;
typedef struct struct filesneededconfig_pak
{ {
INT32 first; INT32 first;
UINT8 num; UINT8 num;
UINT8 more; UINT8 more;
UINT8 files[MAXFILENEEDED]; // is filled with writexxx (byteptr.h) UINT8 files[MAXFILENEEDED]; // is filled with writexxx (byteptr.h)
} ATTRPACK filesneededconfig_pak; } ATTRPACK;
// //
// Network packet data // Network packet data
// //
typedef struct struct doomdata_t
{ {
UINT32 checksum; UINT32 checksum;
UINT8 ack; // If not zero the node asks for acknowledgement, the receiver must resend the ack 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 filesneededconfig_pak filesneededcfg; // ??? bytes
UINT32 pingtable[MAXPLAYERS+1]; // 68 bytes UINT32 pingtable[MAXPLAYERS+1]; // 68 bytes
} u; // This is needed to pack diff packet types data together } u; // This is needed to pack diff packet types data together
} ATTRPACK doomdata_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()
#endif #endif
#define MAXSERVERLIST (MAXNETNODES-1) #define MAXSERVERLIST (MAXNETNODES-1)
typedef struct struct serverelem_t
{ {
SINT8 node; SINT8 node;
serverinfo_pak info; serverinfo_pak info;
} serverelem_t; };
extern serverelem_t serverlist[MAXSERVERLIST]; extern serverelem_t serverlist[MAXSERVERLIST];
extern UINT32 serverlistcount; extern UINT32 serverlistcount;
@ -528,7 +528,7 @@ extern boolean hu_stopped;
// SRB2Kart // SRB2Kart
// //
typedef struct rewind_s { struct rewind_t {
UINT8 savebuffer[(768*1024)]; UINT8 savebuffer[(768*1024)];
tic_t leveltime; tic_t leveltime;
size_t demopos; size_t demopos;
@ -536,8 +536,8 @@ typedef struct rewind_s {
ticcmd_t oldcmd[MAXPLAYERS]; ticcmd_t oldcmd[MAXPLAYERS];
mobj_t oldghost[MAXPLAYERS]; mobj_t oldghost[MAXPLAYERS];
struct rewind_s *next; rewind_t *next;
} rewind_t; };
void CL_ClearRewinds(void); void CL_ClearRewinds(void);
rewind_t *CL_SaveRewindPoint(size_t demopos); rewind_t *CL_SaveRewindPoint(size_t demopos);

View file

@ -28,14 +28,14 @@ typedef enum
} evtype_t; } evtype_t;
// Event structure. // Event structure.
typedef struct struct event_t
{ {
evtype_t type; evtype_t type;
INT32 data1; // keys / mouse/joystick buttons INT32 data1; // keys / mouse/joystick buttons
INT32 data2; // mouse/joystick x move INT32 data2; // mouse/joystick x move
INT32 data3; // mouse/joystick y move INT32 data3; // mouse/joystick y move
INT32 device; // which player's device it belongs to INT32 device; // which player's device it belongs to
} event_t; };
// //
// GLOBAL VARIABLES // GLOBAL VARIABLES

View file

@ -192,9 +192,9 @@ typedef struct
UINT8 nextacknum; UINT8 nextacknum;
UINT8 flags; UINT8 flags;
} node_t; } netnode_t;
static node_t nodes[MAXNETNODES]; static netnode_t nodes[MAXNETNODES];
#define NODETIMEOUT 14 #define NODETIMEOUT 14
// return <0 if a < b (mod 256) // return <0 if a < b (mod 256)
@ -218,7 +218,7 @@ FUNCMATH static INT32 cmpack(UINT8 a, UINT8 b)
*/ */
static boolean GetFreeAcknum(UINT8 *freeack, boolean lowtimer) static boolean GetFreeAcknum(UINT8 *freeack, boolean lowtimer)
{ {
node_t *node = &nodes[doomcom->remotenode]; netnode_t *node = &nodes[doomcom->remotenode];
INT32 i, numfreeslot = 0; INT32 i, numfreeslot = 0;
if (cmpack((UINT8)((node->remotefirstack + MAXACKTOSEND) % 256), node->nextacknum) < 0) if (cmpack((UINT8)((node->remotefirstack + MAXACKTOSEND) % 256), node->nextacknum) < 0)
@ -325,7 +325,7 @@ static boolean Processackpak(void)
{ {
INT32 i; INT32 i;
boolean goodpacket = true; boolean goodpacket = true;
node_t *node = &nodes[doomcom->remotenode]; netnode_t *node = &nodes[doomcom->remotenode];
// Received an ack return, so remove the ack in the list // Received an ack return, so remove the ack in the list
if (netbuffer->ackreturn && cmpack(node->remotefirstack, netbuffer->ackreturn) < 0) if (netbuffer->ackreturn && cmpack(node->remotefirstack, netbuffer->ackreturn) < 0)
@ -492,7 +492,7 @@ void Net_AckTicker(void)
for (i = 0; i < MAXACKPACKETS; i++) for (i = 0; i < MAXACKPACKETS; i++)
{ {
const INT32 nodei = ackpak[i].destinationnode; const INT32 nodei = ackpak[i].destinationnode;
node_t *node = &nodes[nodei]; netnode_t *node = &nodes[nodei];
if (ackpak[i].acknum && ackpak[i].senttime + NODETIMEOUT < I_GetTime()) if (ackpak[i].acknum && ackpak[i].senttime + NODETIMEOUT < I_GetTime())
{ {
if (ackpak[i].resentnum > 20 && (node->flags & NF_CLOSE)) if (ackpak[i].resentnum > 20 && (node->flags & NF_CLOSE))
@ -612,7 +612,7 @@ void Net_WaitAllAckReceived(UINT32 timeout)
} }
} }
static void InitNode(node_t *node) static void InitNode(netnode_t *node)
{ {
node->acktosend_head = node->acktosend_tail = 0; node->acktosend_head = node->acktosend_tail = 0;
node->firstacktosend = 0; node->firstacktosend = 0;

View file

@ -217,22 +217,22 @@ extern const char *netxcmdnames[MAXNETXCMD - 1];
//Packet composition for Command_TeamChange_f() ServerTeamChange, etc. //Packet composition for Command_TeamChange_f() ServerTeamChange, etc.
//bitwise structs make packing bits a little easier, but byte alignment harder? //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. //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 playernum : 5; // value 0 to 31
UINT32 newteam : 5; // value 0 to 31 UINT32 newteam : 5; // value 0 to 31
UINT32 verification : 1; // value 0 to 1 UINT32 verification : 1; // value 0 to 1
UINT32 autobalance : 1; // value 0 to 1 UINT32 autobalance : 1; // value 0 to 1
UINT32 scrambled : 1; // value 0 to 1 UINT32 scrambled : 1; // value 0 to 1
} ATTRPACK changeteam_packet_t; } ATTRPACK;
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma warning(default : 4214) #pragma warning(default : 4214)
#endif #endif
typedef struct { struct changeteam_value_t {
UINT16 l; // liitle endian UINT16 l; // liitle endian
UINT16 b; // big enian 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. //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. //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 ItemFinder_OnChange(void);
void D_SetPassword(const char *pw); void D_SetPassword(const char *pw);
typedef struct struct scheduleTask_t
{ {
UINT16 basetime; UINT16 basetime;
UINT16 timer; UINT16 timer;
char *command; char *command;
} scheduleTask_t; };
extern scheduleTask_t **schedule; extern scheduleTask_t **schedule;
extern size_t schedule_size; extern size_t schedule_size;

View file

@ -37,7 +37,7 @@ typedef enum
FS_FALLBACK, // HTTP failed FS_FALLBACK, // HTTP failed
} filestatus_t; } filestatus_t;
typedef struct struct fileneeded_t
{ {
UINT8 willsend; // Is the server willing to send it? UINT8 willsend; // Is the server willing to send it?
char filename[MAX_WADPATH]; char filename[MAX_WADPATH];
@ -54,7 +54,7 @@ typedef struct
UINT32 currentsize; UINT32 currentsize;
UINT32 totalsize; UINT32 totalsize;
UINT32 ackresendposition; // Used when resuming downloads UINT32 ackresendposition; // Used when resuming downloads
} fileneeded_t; };
extern INT32 fileneedednum; extern INT32 fileneedednum;
extern fileneeded_t fileneeded[MAX_WADFILES]; extern fileneeded_t fileneeded[MAX_WADFILES];
@ -71,8 +71,6 @@ extern boolean curl_failedwebdownload;
extern boolean curl_running; extern boolean curl_running;
extern INT32 curl_transfers; extern INT32 curl_transfers;
typedef struct HTTP_login HTTP_login;
extern struct HTTP_login extern struct HTTP_login
{ {
char * url; char * url;
@ -112,7 +110,7 @@ typedef enum
LFTNS_SENT // The node already has the file LFTNS_SENT // The node already has the file
} luafiletransfernodestatus_t; } luafiletransfernodestatus_t;
typedef struct luafiletransfer_s struct luafiletransfer_t
{ {
char *filename; char *filename;
char *realfilename; char *realfilename;
@ -121,8 +119,8 @@ typedef struct luafiletransfer_s
boolean ongoing; boolean ongoing;
luafiletransfernodestatus_t nodestatus[MAXNETNODES]; luafiletransfernodestatus_t nodestatus[MAXNETNODES];
tic_t nodetimeouts[MAXNETNODES]; tic_t nodetimeouts[MAXNETNODES];
struct luafiletransfer_s *next; luafiletransfer_t *next;
} luafiletransfer_t; };
extern luafiletransfer_t *luafiletransfers; extern luafiletransfer_t *luafiletransfers;
extern boolean waitingforluafiletransfer; extern boolean waitingforluafiletransfer;

View file

@ -287,7 +287,7 @@ typedef enum
#define GARDENTOP_MAXGRINDTIME (45) #define GARDENTOP_MAXGRINDTIME (45)
// player_t struct for all respawn variables // player_t struct for all respawn variables
typedef struct respawnvars_s struct respawnvars_t
{ {
UINT8 state; // see RESPAWNST_ constants in k_respawn.h 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 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 tic_t dropdash; // Drop Dash charge timer
boolean truedeath; // Your soul has left your body boolean truedeath; // Your soul has left your body
boolean manual; // Respawn coords were manually set, please respawn exactly there boolean manual; // Respawn coords were manually set, please respawn exactly there
} respawnvars_t; };
// player_t struct for all bot variables // player_t struct for all bot variables
typedef struct botvars_s struct botvars_t
{ {
UINT8 difficulty; // Bot's difficulty setting UINT8 difficulty; // Bot's difficulty setting
UINT8 diffincrease; // In GP: bot difficulty will increase this much next round 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 SINT8 turnconfirm; // Confirm turn direction
tic_t spindashconfirm; // When high enough, they will try spindashing tic_t spindashconfirm; // When high enough, they will try spindashing
} botvars_t; };
// player_t struct for all skybox variables // player_t struct for all skybox variables
typedef struct { struct skybox_t {
mobj_t * viewpoint; mobj_t * viewpoint;
mobj_t * centerpoint; mobj_t * centerpoint;
} skybox_t; };
// ======================================================================== // ========================================================================
// PLAYER STRUCTURE // PLAYER STRUCTURE
// ======================================================================== // ========================================================================
typedef struct player_s struct player_t
{ {
mobj_t *mo; mobj_t *mo;
@ -612,6 +612,6 @@ typedef struct player_s
#ifdef HWRENDER #ifdef HWRENDER
fixed_t fovadd; // adjust FOV for hw rendering fixed_t fovadd; // adjust FOV for hw rendering
#endif #endif
} player_t; };
#endif #endif

View file

@ -40,15 +40,15 @@ typedef union
typedef actionf_t think_t; typedef actionf_t think_t;
// Doubly linked list of actors. // Doubly linked list of actors.
typedef struct thinker_s struct thinker_t
{ {
struct thinker_s *prev; thinker_t *prev;
struct thinker_s *next; thinker_t *next;
think_t function; think_t function;
// killough 11/98: count of how many other objects reference // killough 11/98: count of how many other objects reference
// this one using pointers. Used for garbage collection. // this one using pointers. Used for garbage collection.
INT32 references; INT32 references;
} thinker_t; };
#endif #endif

View file

@ -63,7 +63,7 @@ typedef enum
#pragma pack(1) #pragma pack(1)
#endif #endif
typedef struct struct ticcmd_t
{ {
SINT8 forwardmove; // -MAXPLMOVE to MAXPLMOVE (50) SINT8 forwardmove; // -MAXPLMOVE to MAXPLMOVE (50)
INT16 turning; // Turn speed INT16 turning; // Turn speed
@ -72,7 +72,7 @@ typedef struct
UINT16 buttons; UINT16 buttons;
UINT8 latency; // Netgames: how many tics ago was this ticcmd generated from this player's end? UINT8 latency; // Netgames: how many tics ago was this ticcmd generated from this player's end?
UINT8 flags; UINT8 flags;
} ATTRPACK ticcmd_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()

View file

@ -41,11 +41,11 @@ struct flickytypes_s {
/** Action pointer for reading actions from Dehacked lumps. /** Action pointer for reading actions from Dehacked lumps.
*/ */
typedef struct struct actionpointer_t
{ {
actionf_t action; ///< Function pointer corresponding to the actual action. actionf_t action; ///< Function pointer corresponding to the actual action.
const char *name; ///< Name of the action in ALL CAPS. const char *name; ///< Name of the action in ALL CAPS.
} actionpointer_t; };
struct int_const_s { struct int_const_s {
const char *n; const char *n;

View file

@ -57,13 +57,13 @@ extern UINT8 superstack;
// the code was first write for a file // the code was first write for a file
// converted to use memory with this functions // converted to use memory with this functions
typedef struct struct MYFILE
{ {
char *data; char *data;
char *curpos; char *curpos;
size_t size; size_t size;
UINT16 wad; UINT16 wad;
} MYFILE; };
#define myfeof(a) (a->data + a->size <= a->curpos) #define myfeof(a) (a->data + a->size <= a->curpos)
char *myfgets(char *buf, size_t bufsize, MYFILE *f); char *myfgets(char *buf, size_t bufsize, MYFILE *f);
char *myhashfgets(char *buf, size_t bufsize, MYFILE *f); char *myhashfgets(char *buf, size_t bufsize, MYFILE *f);

View file

@ -27,7 +27,7 @@ extern struct discordInfo_s {
boolean everyoneCanInvite; boolean everyoneCanInvite;
} discordInfo; } discordInfo;
typedef struct discordRequest_s { struct discordRequest_t {
char *username; // Discord user name. char *username; // Discord user name.
char *discriminator; // Discord discriminator (The little hashtag thing after the username). Separated for a "hide discriminators" cvar. 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() char *userID; // The ID of the Discord user, gets used with Discord_Respond()
@ -38,9 +38,9 @@ typedef struct discordRequest_s {
// Hey, wanna add ImageMagick as a dependency? :dying: // Hey, wanna add ImageMagick as a dependency? :dying:
//patch_t *avatar; //patch_t *avatar;
struct discordRequest_s *next; // Next request in the list. discordRequest_t *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 *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; extern discordRequest_t *discordRequestList;

View file

@ -68,24 +68,24 @@ enum
#endif #endif
// A single Vertex. // A single Vertex.
typedef struct struct mapvertex_t
{ {
INT16 x, y; INT16 x, y;
}ATTRPACK mapvertex_t; }ATTRPACK;
// A SideDef, defining the visual appearance of a wall, // A SideDef, defining the visual appearance of a wall,
// by setting textures and offsets. // by setting textures and offsets.
typedef struct struct mapsidedef_t
{ {
INT16 textureoffset, rowoffset; INT16 textureoffset, rowoffset;
char toptexture[8], bottomtexture[8], midtexture[8]; char toptexture[8], bottomtexture[8], midtexture[8];
// Front sector, towards viewer. // Front sector, towards viewer.
INT16 sector; INT16 sector;
} ATTRPACK mapsidedef_t; } ATTRPACK;
// A LineDef, as used for editing, and as input // A LineDef, as used for editing, and as input
// to the BSP builder. // to the BSP builder.
typedef struct struct maplinedef_t
{ {
INT16 v1, v2; INT16 v1, v2;
INT16 flags; INT16 flags;
@ -93,7 +93,7 @@ typedef struct
INT16 tag; INT16 tag;
// sidenum[1] will be 0xffff if one sided // sidenum[1] will be 0xffff if one sided
UINT16 sidenum[2]; UINT16 sidenum[2];
} ATTRPACK maplinedef_t; } ATTRPACK;
// //
// LineDef attributes. // LineDef attributes.
@ -152,7 +152,7 @@ enum
}; };
// Sector definition, from editing. // Sector definition, from editing.
typedef struct struct mapsector_t
{ {
INT16 floorheight; INT16 floorheight;
INT16 ceilingheight; INT16 ceilingheight;
@ -161,34 +161,34 @@ typedef struct
INT16 lightlevel; INT16 lightlevel;
INT16 special; INT16 special;
INT16 tag; INT16 tag;
} ATTRPACK mapsector_t; } ATTRPACK;
// SubSector, as generated by BSP. // SubSector, as generated by BSP.
typedef struct struct mapsubsector_t
{ {
UINT16 numsegs; UINT16 numsegs;
// Index of first one, segs are stored sequentially. // Index of first one, segs are stored sequentially.
UINT16 firstseg; UINT16 firstseg;
} ATTRPACK mapsubsector_t; } ATTRPACK;
// LineSeg, generated by splitting LineDefs // LineSeg, generated by splitting LineDefs
// using partition lines selected by BSP builder. // using partition lines selected by BSP builder.
typedef struct struct mapseg_t
{ {
INT16 v1, v2; INT16 v1, v2;
INT16 angle; INT16 angle;
INT16 linedef; INT16 linedef;
INT16 side; INT16 side;
INT16 offset; INT16 offset;
} ATTRPACK mapseg_t; } ATTRPACK;
// BSP node structure. // BSP node structure.
// Indicate a leaf. // Indicate a leaf.
#define NF_SUBSECTOR 0x8000 #define NF_SUBSECTOR 0x8000
typedef struct struct mapnode_t
{ {
// Partition line from (x,y) to x+dx,y+dy) // Partition line from (x,y) to x+dx,y+dy)
INT16 x, y; INT16 x, y;
@ -199,7 +199,7 @@ typedef struct
// If NF_SUBSECTOR it's a subsector, else it's a node of another subtree. // If NF_SUBSECTOR it's a subsector, else it's a node of another subtree.
UINT16 children[2]; UINT16 children[2];
} ATTRPACK mapnode_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()
@ -210,7 +210,7 @@ typedef struct
// Thing definition, position, orientation and type, // Thing definition, position, orientation and type,
// plus visibility flags and attributes. // plus visibility flags and attributes.
typedef struct struct mapthing_t
{ {
INT16 x, y; INT16 x, y;
INT16 angle, pitch, roll; INT16 angle, pitch, roll;
@ -222,8 +222,8 @@ typedef struct
fixed_t scale; fixed_t scale;
INT32 args[NUMMAPTHINGARGS]; INT32 args[NUMMAPTHINGARGS];
char *stringargs[NUMMAPTHINGSTRINGARGS]; char *stringargs[NUMMAPTHINGSTRINGARGS];
struct mobj_s *mobj; mobj_t *mobj;
} mapthing_t; };
#define ZSHIFT 4 #define ZSHIFT 4

View file

@ -210,7 +210,7 @@ extern char logfilename[1024];
// Master Server compatibility ONLY // Master Server compatibility ONLY
#define MSCOMPAT_MAXPLAYERS (32) #define MSCOMPAT_MAXPLAYERS (32)
typedef struct skincolor_s struct skincolor_t
{ {
char name[MAXCOLORNAME+1]; // Skincolor name char name[MAXCOLORNAME+1]; // Skincolor name
UINT8 ramp[COLORRAMPSIZE]; // Colormap ramp UINT8 ramp[COLORRAMPSIZE]; // Colormap ramp
@ -218,7 +218,7 @@ typedef struct skincolor_s
UINT8 invshade; // Signpost color shade UINT8 invshade; // Signpost color shade
UINT16 chatcolor; // Chat color UINT16 chatcolor; // Chat color
boolean accessible; // Accessible by the color command + setup menu boolean accessible; // Accessible by the color command + setup menu
} skincolor_t; };
#define FOLLOWERCOLOR_MATCH UINT16_MAX #define FOLLOWERCOLOR_MATCH UINT16_MAX
#define FOLLOWERCOLOR_OPPOSITE (UINT16_MAX-1) #define FOLLOWERCOLOR_OPPOSITE (UINT16_MAX-1)

View file

@ -92,12 +92,12 @@ typedef enum
PRECIPFX_WATERPARTICLES = 1<<2 PRECIPFX_WATERPARTICLES = 1<<2
} precipeffect_t; } precipeffect_t;
typedef struct struct precipprops_t
{ {
const char *name; const char *name;
mobjtype_t type; mobjtype_t type;
precipeffect_t effects; precipeffect_t effects;
} precipprops_t; };
extern precipprops_t precipprops[MAXPRECIP]; extern precipprops_t precipprops[MAXPRECIP];
extern preciptype_t precip_freeslot; extern preciptype_t precip_freeslot;
@ -107,13 +107,13 @@ extern preciptype_t curWeather;
/** Time attack information, currently a very small structure. /** 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 time; ///< Time in which the level was finished.
tic_t lap; ///< Best lap time for this level. tic_t lap; ///< Best lap time for this level.
//UINT32 score; ///< Score when the level was finished. //UINT32 score; ///< Score when the level was finished.
//UINT16 rings; ///< Rings 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. // mapvisited is now a set of flags that says what we've done in the map.
#define MV_VISITED (1) #define MV_VISITED (1)
@ -220,7 +220,7 @@ extern UINT16 skincolor_redteam, skincolor_blueteam, skincolor_redring, skincolo
extern boolean exitfadestarted; extern boolean exitfadestarted;
typedef struct struct scene_t
{ {
UINT8 numpics; UINT8 numpics;
char picname[8][8]; 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 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 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 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. scene_t scene[128]; // 128 scenes per cutscene.
INT32 numscenes; // Number of scenes in this cutscene INT32 numscenes; // Number of scenes in this cutscene
} cutscene_t; };
extern cutscene_t *cutscenes[128]; extern cutscene_t *cutscenes[128];
@ -261,7 +261,7 @@ extern cutscene_t *cutscenes[128];
#define PROMPT_PIC_LOOP 1 #define PROMPT_PIC_LOOP 1
#define PROMPT_PIC_DESTROY 2 #define PROMPT_PIC_DESTROY 2
#define MAX_PROMPT_PICS 8 #define MAX_PROMPT_PICS 8
typedef struct struct textpage_t
{ {
UINT8 numpics; UINT8 numpics;
UINT8 picmode; // sequence mode after displaying last pic, 0 = persist, 1 = loop, 2 = destroy 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. 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 INT32 timetonext; // time in tics to jump to next page automatically. 0 = don't jump automatically
char *text; char *text;
} textpage_t; };
typedef struct struct textprompt_t
{ {
textpage_t page[MAX_PAGES]; textpage_t page[MAX_PAGES];
INT32 numpages; // Number of pages in this prompt INT32 numpages; // Number of pages in this prompt
} textprompt_t; };
extern textprompt_t *textprompts[MAX_PROMPTS]; 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 #define GF_BLUEFLAG 2
// A single point in space. // A single point in space.
typedef struct struct mappoint_t
{ {
fixed_t x, y, z; fixed_t x, y, z;
} mappoint_t; };
extern struct quake extern struct quake
{ {
@ -333,11 +333,11 @@ extern struct quake
} quake; } quake;
// Custom Lua values // Custom Lua values
typedef struct struct customoption_t
{ {
char option[32]; // 31 usable characters char option[32]; // 31 usable characters
char value[256]; // 255 usable characters. If this seriously isn't enough then wtf. 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? // 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. // 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_SPECIAL (CUPCACHE_BONUS+MAXBONUSLIST)
#define CUPCACHE_MAX (CUPCACHE_SPECIAL+1) #define CUPCACHE_MAX (CUPCACHE_SPECIAL+1)
typedef struct cupheader_s struct cupheader_t
{ {
UINT16 id; ///< Cup ID UINT16 id; ///< Cup ID
char name[15]; ///< Cup title (14 chars) char name[15]; ///< Cup title (14 chars)
@ -358,8 +358,8 @@ typedef struct cupheader_s
UINT8 numbonus; ///< Number of bonus stages defined UINT8 numbonus; ///< Number of bonus stages defined
UINT8 emeraldnum; ///< ID of Emerald to use for special stage (1-7 for Chaos Emeralds, 8-14 for Super Emeralds, 0 for no emerald) 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. 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 *next; ///< Next cup in linked list
} cupheader_t; };
extern cupheader_t *kartcupheaders; // Start of cup linked list extern cupheader_t *kartcupheaders; // Start of cup linked list
extern UINT16 numkartcupheaders; extern UINT16 numkartcupheaders;
@ -368,7 +368,7 @@ extern UINT16 numkartcupheaders;
/** Map header information. /** Map header information.
*/ */
typedef struct struct mapheader_t
{ {
// Core game information, not user-modifiable directly // Core game information, not user-modifiable directly
char *lumpname; ///< Lump name can be really long char *lumpname; ///< Lump name can be really long
@ -441,7 +441,7 @@ typedef struct
// Lua information // Lua information
UINT8 numCustomOptions; ///< Internal. For Lua custom value support. UINT8 numCustomOptions; ///< Internal. For Lua custom value support.
customoption_t *customopts; ///< Custom options. Allocated dynamically for space reasons. Be careful. customoption_t *customopts; ///< Custom options. Allocated dynamically for space reasons. Be careful.
} mapheader_t; };
// level flags // level flags
#define LF_SCRIPTISFILE (1<<0) ///< True if the script is a file, not a lump. #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 NUMBASETOLNAMES (4)
#define NUMTOLNAMES (NUMBASETOLNAMES + NUMGAMETYPEFREESLOTS) #define NUMTOLNAMES (NUMBASETOLNAMES + NUMGAMETYPEFREESLOTS)
typedef struct struct tolinfo_t
{ {
const char *name; const char *name;
UINT32 flag; UINT32 flag;
} tolinfo_t; };
extern tolinfo_t TYPEOFLEVEL[NUMTOLNAMES]; extern tolinfo_t TYPEOFLEVEL[NUMTOLNAMES];
extern UINT32 lastcustomtol; extern UINT32 lastcustomtol;

View file

@ -406,4 +406,6 @@ typedef UINT64 precise_t;
#define FUNCPTRCAST(p) ((union{void(*f)(void);void*v;})\ #define FUNCPTRCAST(p) ((union{void(*f)(void);void*v;})\
{(void(*)(void))p}).v {(void(*)(void))p}).v
#include "typedef.h"
#endif //__DOOMTYPE__ #endif //__DOOMTYPE__

View file

@ -15,9 +15,7 @@
#define MAX_FONTS 32 #define MAX_FONTS 32
typedef struct font font_t; struct font_t
struct font
{ {
patch_t **font; patch_t **font;

View file

@ -28,12 +28,12 @@ extern consvar_t cv_recordmultiplayerdemos, cv_netdemosyncquality;
extern tic_t demostarttime; 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 mapping; // No, this isn't about levels. It maps to loaded character ID.
UINT8 kartspeed; UINT8 kartspeed;
UINT8 kartweight; UINT8 kartweight;
UINT32 flags; UINT32 flags;
} democharlist_t; };
// Publicly-accessible demo vars // Publicly-accessible demo vars
struct demovars_s { struct demovars_s {
@ -76,7 +76,7 @@ typedef enum {
MD_INVALID MD_INVALID
} menudemotype_e; } menudemotype_e;
typedef struct menudemo_s { struct menudemo_t {
char filepath[256]; char filepath[256];
menudemotype_e type; menudemotype_e type;
@ -93,7 +93,7 @@ typedef struct menudemo_s {
UINT8 skin, color; UINT8 skin, color;
UINT32 timeorscore; UINT32 timeorscore;
} standings[MAXPLAYERS]; } standings[MAXPLAYERS];
} menudemo_t; };
extern mobj_t *metalplayback; extern mobj_t *metalplayback;
@ -160,7 +160,7 @@ void G_LoadMetal(UINT8 **buffer);
// Your naming conventions are stupid and useless. // Your naming conventions are stupid and useless.
// There is no conflict here. // There is no conflict here.
typedef struct demoghost { struct demoghost {
UINT8 checksum[16]; UINT8 checksum[16];
UINT8 *buffer, *p, color; UINT8 *buffer, *p, color;
UINT8 fadein; UINT8 fadein;
@ -169,7 +169,7 @@ typedef struct demoghost {
democharlist_t *skinlist; democharlist_t *skinlist;
mobj_t oldmo, *mo; mobj_t oldmo, *mo;
struct demoghost *next; struct demoghost *next;
} demoghost; };
extern demoghost *ghosts; extern demoghost *ghosts;
// G_CheckDemoExtraFiles: checks if our loaded WAD list matches the demo's. // G_CheckDemoExtraFiles: checks if our loaded WAD list matches the demo's.

View file

@ -135,7 +135,7 @@ struct searchdim
UINT8 siz; UINT8 siz;
}; };
typedef struct struct mapsearchfreq_t
{ {
INT16 mapnum; INT16 mapnum;
UINT8 matchc; UINT8 matchc;
@ -143,8 +143,7 @@ typedef struct
UINT8 keywhc; UINT8 keywhc;
struct searchdim *keywhd;/* ...in KEYWORD */ struct searchdim *keywhd;/* ...in KEYWORD */
UINT8 total;/* total hits */ UINT8 total;/* total hits */
} };
mapsearchfreq_t;
INT32 G_FindMap(const char *query, char **foundmapnamep, INT32 G_FindMap(const char *query, char **foundmapnamep,
mapsearchfreq_t **freqp, INT32 *freqc); mapsearchfreq_t **freqp, INT32 *freqc);

View file

@ -81,12 +81,12 @@ extern char english_shiftxform[];
// sorted player lines // sorted player lines
//------------------------------------ //------------------------------------
typedef struct struct playersort_t
{ {
UINT32 count; UINT32 count;
INT32 num; INT32 num;
const char *name; const char *name;
} playersort_t; };
//------------------------------------ //------------------------------------
// chat stuff // chat stuff

View file

@ -38,7 +38,7 @@
actually, we need to know if it is a gamepad or analog controls 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, /*! if true, we MUST Poll() to get new joystick data,
that is: we NEED the DIRECTINPUTDEVICE2 ! (watchout NT compatibility) */ that is: we NEED the DIRECTINPUTDEVICE2 ! (watchout NT compatibility) */
@ -48,7 +48,6 @@ struct JoyType_s
INT32 bGamepadStyle; INT32 bGamepadStyle;
}; };
typedef struct JoyType_s JoyType_t;
/** \brief Joystick info /** \brief Joystick info
for palyer[sic] 1-4's joystick/gamepad for palyer[sic] 1-4's joystick/gamepad
*/ */

View file

@ -40,7 +40,7 @@ extern INT32 net_bandwidth; // in byte/s
#pragma pack(1) #pragma pack(1)
#endif #endif
typedef struct struct doomcom_t
{ {
/// Supposed to be DOOMCOM_ID /// Supposed to be DOOMCOM_ID
INT32 id; INT32 id;
@ -77,14 +77,14 @@ typedef struct
/// The packet data to be sent. /// The packet data to be sent.
char data[MAXPACKETLENGTH]; char data[MAXPACKETLENGTH];
} ATTRPACK doomcom_t; } ATTRPACK;
typedef struct struct holepunch_t
{ {
INT32 magic; INT32 magic;
INT32 addr; INT32 addr;
INT16 port; INT16 port;
} ATTRPACK holepunch_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()
@ -172,11 +172,11 @@ extern boolean (*I_SetBanUsername) (const char *username);
extern boolean (*I_SetBanReason) (const char *reason); extern boolean (*I_SetBanReason) (const char *reason);
extern boolean (*I_SetUnbanTime) (time_t timestamp); extern boolean (*I_SetUnbanTime) (time_t timestamp);
typedef struct struct bannednode_t
{ {
size_t banid; size_t banid;
time_t timeleft; time_t timeleft;
} bannednode_t; };
extern bannednode_t *bannednode; extern bannednode_t *bannednode;
/// \brief Called by D_SRB2Main to be defined by extern network driver /// \brief Called by D_SRB2Main to be defined by extern network driver

View file

@ -128,7 +128,7 @@ typedef enum
NumberofForces, NumberofForces,
} FFType; } FFType;
typedef struct JoyFF_s struct JoyFF_t
{ {
INT32 ForceX; ///< The X of the Force's Vel INT32 ForceX; ///< The X of the Force's Vel
INT32 ForceY; ///< The Y 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. 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 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. UINT32 Period; ///< Period of the effect, in microseconds.
} JoyFF_t; };
/** \brief Forcefeedback for the first joystick /** \brief Forcefeedback for the first joystick
@ -298,7 +298,7 @@ char *I_GetUserName(void);
*/ */
INT32 I_mkdir(const char *dirname, INT32 unixright); INT32 I_mkdir(const char *dirname, INT32 unixright);
typedef struct { struct CPUInfoFlags {
int FPU : 1; ///< FPU availabile int FPU : 1; ///< FPU availabile
int CPUID : 1; ///< CPUID instruction int CPUID : 1; ///< CPUID instruction
int RDTSC : 1; ///< RDTSC instruction int RDTSC : 1; ///< RDTSC instruction
@ -324,7 +324,7 @@ typedef struct {
int ALPHAbyte : 1; ///< ? int ALPHAbyte : 1; ///< ?
int PAE : 1; ///< Physical Address Extension int PAE : 1; ///< Physical Address Extension
int CPUs : 8; int CPUs : 8;
} CPUInfoFlags; };
/** \brief Info about CPU /** \brief Info about CPU

View file

@ -22,10 +22,10 @@
extern "C" { extern "C" {
#endif #endif
typedef struct timestate_s { struct timestate_t {
tic_t time; tic_t time;
fixed_t timefrac; fixed_t timefrac;
} timestate_t; };
extern timestate_t g_time; extern timestate_t g_time;
extern consvar_t cv_timescale; extern consvar_t cv_timescale;

View file

@ -5567,7 +5567,7 @@ typedef enum state
NUMSTATES NUMSTATES
} statenum_t; } statenum_t;
typedef struct struct state_t
{ {
spritenum_t sprite; spritenum_t sprite;
UINT32 frame; // we use the upper 16 bits for translucency and other shade effects UINT32 frame; // we use the upper 16 bits for translucency and other shade effects
@ -5576,7 +5576,7 @@ typedef struct
INT32 var1; INT32 var1;
INT32 var2; INT32 var2;
statenum_t nextstate; statenum_t nextstate;
} state_t; };
extern state_t states[NUMSTATES]; extern state_t states[NUMSTATES];
extern char sprnames[NUMSPRITES + 1][5]; extern char sprnames[NUMSPRITES + 1][5];
@ -6680,7 +6680,7 @@ typedef enum mobj_type
NUMMOBJTYPES NUMMOBJTYPES
} mobjtype_t; } mobjtype_t;
typedef struct struct mobjinfo_t
{ {
INT32 doomednum; INT32 doomednum;
statenum_t spawnstate; statenum_t spawnstate;
@ -6706,7 +6706,7 @@ typedef struct
sfxenum_t activesound; sfxenum_t activesound;
UINT32 flags; UINT32 flags;
statenum_t raisestate; statenum_t raisestate;
} mobjinfo_t; };
extern mobjinfo_t mobjinfo[NUMMOBJTYPES]; extern mobjinfo_t mobjinfo[NUMMOBJTYPES];

View file

@ -17,21 +17,21 @@
typedef void(*updateindexfunc)(void *const, const size_t); 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 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 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 bheap_t *owner; // The heap that owns this item
void *data; // data for this heap item void *data; // data for this heap item
UINT32 value; // The value of this item, the lowest value item is first in the array UINT32 value; // The value of this item, the lowest value item is first in the array
} bheapitem_t; };
typedef struct bheap_s struct bheap_t
{ {
size_t capacity; // capacity of the heap size_t capacity; // capacity of the heap
size_t count; // number of items in the heap size_t count; // number of items in the heap
bheapitem_t *array; // pointer to the heap items array bheapitem_t *array; // pointer to the heap items array
} bheap_t; };
/*-------------------------------------------------- /*--------------------------------------------------

View file

@ -26,14 +26,14 @@ typedef enum
#define NUMWEAKSPOTS 8 #define NUMWEAKSPOTS 8
#define WEAKSPOTANIMTIME (3*TICRATE) #define WEAKSPOTANIMTIME (3*TICRATE)
typedef struct weakspot_t struct weakspot_t
{ {
mobj_t *spot; mobj_t *spot;
spottype_t type; spottype_t type;
tic_t time; tic_t time;
UINT16 color; UINT16 color;
boolean minimap; boolean minimap;
} weakspot_t; };
#define BOSSHEALTHBARLEN 110 #define BOSSHEALTHBARLEN 110

View file

@ -31,10 +31,10 @@
#define BOTSPINDASHCONFIRM (2*TICRATE) #define BOTSPINDASHCONFIRM (2*TICRATE)
// Point for bots to aim for // Point for bots to aim for
typedef struct botprediction_s { struct botprediction_t {
fixed_t x, y; fixed_t x, y;
fixed_t radius; fixed_t radius;
} botprediction_t; };
// AVAILABLE FOR LUA // AVAILABLE FOR LUA

View file

@ -17,7 +17,7 @@
#include "doomdef.h" #include "doomdef.h"
#include "doomtype.h" #include "doomtype.h"
typedef struct brightmapStorage_s struct brightmapStorage_t
{ {
// Brightmap storage struct. // Brightmap storage struct.
// Stores data for brightmap definitions, // Stores data for brightmap definitions,
@ -28,7 +28,7 @@ typedef struct brightmapStorage_s
char brightmapName[9]; // The brightmap's name. char brightmapName[9]; // The brightmap's name.
UINT32 brightmapHash; // The brightmap name's hash. UINT32 brightmapHash; // The brightmap name's hash.
} brightmapStorage_t; };
/*-------------------------------------------------- /*--------------------------------------------------
void K_InitBrightmapsPwad(INT32 wadNum); void K_InitBrightmapsPwad(INT32 wadNum);

View file

@ -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 // 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 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) 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 losestate; // state when the player has lost
statenum_t hitconfirmstate; // state for hit confirm statenum_t hitconfirmstate; // state for hit confirm
tic_t hitconfirmtime; // time to keep the above playing for tic_t hitconfirmtime; // time to keep the above playing for
} follower_t; };
extern INT32 numfollowers; extern INT32 numfollowers;
extern follower_t followers[MAXSKINS]; extern follower_t followers[MAXSKINS];
#define MAXFOLLOWERCATEGORIES 32 #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 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) char icon[8+1]; // Lump names are only 8 characters. (+1 for \0)
UINT8 numincategory; UINT8 numincategory;
} followercategory_t; };
extern INT32 numfollowercategories; extern INT32 numfollowercategories;
extern followercategory_t followercategories[MAXFOLLOWERCATEGORIES]; extern followercategory_t followercategories[MAXFOLLOWERCATEGORIES];

View file

@ -23,12 +23,12 @@
void K_AdjustXYWithSnap(INT32 *x, INT32 *y, UINT32 options, INT32 dupx, INT32 dupy); 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 x, y;
fixed_t scale; fixed_t scale;
boolean onScreen; boolean onScreen;
} trackingResult_t; };
void K_ObjectTracking(trackingResult_t *result, vector3_t *point, boolean reverse); void K_ObjectTracking(trackingResult_t *result, vector3_t *point, boolean reverse);

View file

@ -101,17 +101,17 @@ extern M_waiting_mode_t m_waiting_mode;
typedef union typedef union
{ {
struct menu_s *submenu; // IT_SUBMENU menu_t *submenu; // IT_SUBMENU
consvar_t *cvar; // IT_CVAR consvar_t *cvar; // IT_CVAR
void (*routine)(INT32 choice); // IT_CALL, IT_KEYHANDLER, IT_ARROWS void (*routine)(INT32 choice); // IT_CALL, IT_KEYHANDLER, IT_ARROWS
} itemaction_t; } itemaction_t;
// Player Setup menu colors linked list // Player Setup menu colors linked list
typedef struct menucolor_s { struct menucolor_t {
struct menucolor_s *next; menucolor_t *next;
struct menucolor_s *prev; menucolor_t *prev;
UINT16 color; UINT16 color;
} menucolor_t; };
extern menucolor_t *menucolorhead, *menucolortail; extern menucolor_t *menucolorhead, *menucolortail;
@ -121,7 +121,7 @@ extern CV_PossibleValue_t gametype_cons_t[];
// MENU TYPEDEFS // MENU TYPEDEFS
// //
typedef struct menuitem_s struct menuitem_t
{ {
UINT16 status; // show IT_xxx UINT16 status; // show IT_xxx
@ -134,12 +134,12 @@ typedef struct menuitem_s
// extra variables // extra variables
INT32 mvar1; INT32 mvar1;
INT32 mvar2; INT32 mvar2;
} menuitem_t; };
typedef struct menu_s struct menu_t
{ {
INT16 numitems; // # of menu items INT16 numitems; // # of menu items
struct menu_s *prevMenu; // previous menu menu_t *prevMenu; // previous menu
INT16 lastOn; // last item user was on in menu INT16 lastOn; // last item user was on in menu
menuitem_t *menuitems; // menu items menuitem_t *menuitems; // menu items
@ -155,7 +155,7 @@ typedef struct menu_s
void (*initroutine)(void); // called when starting a new menu void (*initroutine)(void); // called when starting a new menu
boolean (*quitroutine)(void); // called before quit a menu return true if we can 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. boolean (*inputroutine)(INT32); // if set, called every frame in the input handler. Returning true overwrites normal input handling.
} menu_t; };
typedef enum typedef enum
{ {
@ -522,7 +522,7 @@ typedef enum
MBT_START = 1<<8 MBT_START = 1<<8
} menuButtonCode_t; } menuButtonCode_t;
typedef struct menucmd_s struct menucmd_t
{ {
SINT8 dpad_ud; // up / down dpad SINT8 dpad_ud; // up / down dpad
SINT8 dpad_lr; // left / right SINT8 dpad_lr; // left / right
@ -530,15 +530,15 @@ typedef struct menucmd_s
UINT32 buttonsHeld; // prev frame's buttons UINT32 buttonsHeld; // prev frame's buttons
UINT16 delay; // menu wait UINT16 delay; // menu wait
UINT32 delayCount; // num times ya did menu wait (to make the wait shorter each time) UINT32 delayCount; // num times ya did menu wait (to make the wait shorter each time)
} menucmd_t; };
extern menucmd_t menucmd[MAXSPLITSCREENPLAYERS]; extern menucmd_t menucmd[MAXSPLITSCREENPLAYERS];
extern struct menutransition_s { extern struct menutransition_s {
INT16 tics; INT16 tics;
INT16 dest; INT16 dest;
struct menu_s *startmenu; menu_t *startmenu;
struct menu_s *endmenu; menu_t *endmenu;
boolean in; boolean in;
} menutransition; } menutransition;
@ -607,7 +607,7 @@ typedef enum
CSSTEP_READY CSSTEP_READY
} setup_mdepth_t; } setup_mdepth_t;
typedef struct setup_player_s struct setup_player_t
{ {
SINT8 gridx, gridy; SINT8 gridx, gridy;
UINT8 profilen; UINT8 profilen;
@ -633,7 +633,7 @@ typedef struct setup_player_s
tic_t follower_timer; tic_t follower_timer;
UINT8 follower_frame; UINT8 follower_frame;
state_t *follower_state; state_t *follower_state;
} setup_player_t; };
extern setup_player_t setup_player[MAXSPLITSCREENPLAYERS]; extern setup_player_t setup_player[MAXSPLITSCREENPLAYERS];
@ -800,12 +800,12 @@ void M_ServerListFillDebug(void);
// Options menu: // Options menu:
// mode descriptions for video mode menu // mode descriptions for video mode menu
typedef struct struct modedesc_t
{ {
INT32 modenum; // video mode number in the vidmodes list INT32 modenum; // video mode number in the vidmodes list
const char *desc; // XXXxYYY const char *desc; // XXXxYYY
UINT8 goodratio; // aspect correct if 1 UINT8 goodratio; // aspect correct if 1
} modedesc_t; };
#define MAXCOLUMNMODES 12 //max modes displayed in one column #define MAXCOLUMNMODES 12 //max modes displayed in one column

View file

@ -35,27 +35,27 @@ typedef boolean(*getpathfindfinishedfunc)(void*, void*);
// A pathfindnode contains information about a node from the pathfinding // 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 // heapindex is only used within the pathfinding algorithm itself, and is always 0 after it is completed
typedef struct pathfindnode_s { struct pathfindnode_t {
size_t heapindex; // The index in the openset binary heap. Only valid while the node is in the openset. size_t heapindex; // The index in the openset binary heap. Only valid while the node is in the openset.
void *nodedata; void *nodedata;
struct pathfindnode_s *camefrom; // should eventually be the most efficient predecessor node pathfindnode_t *camefrom; // should eventually be the most efficient predecessor node
UINT32 gscore; // The accumulated distance from the start to this node UINT32 gscore; // The accumulated distance from the start to this node
UINT32 hscore; // The heuristic from this node to the goal UINT32 hscore; // The heuristic from this node to the goal
} pathfindnode_t; };
// Contains the final created path after pathfinding is completed // Contains the final created path after pathfinding is completed
typedef struct path_s { struct path_t {
size_t numnodes; size_t numnodes;
struct pathfindnode_s *array; pathfindnode_t *array;
UINT32 totaldist; UINT32 totaldist;
} path_t; };
// Contains info about the pathfinding used to setup the algorithm // Contains info about the pathfinding used to setup the algorithm
// (e.g. the base capacities of the dynamically allocated arrays) // (e.g. the base capacities of the dynamically allocated arrays)
// should be setup by the caller before starting pathfinding // 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. // 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 // 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 opensetcapacity;
size_t closedsetcapacity; size_t closedsetcapacity;
size_t nodesarraycapacity; size_t nodesarraycapacity;
@ -67,7 +67,7 @@ typedef struct pathfindsetup_s {
getnodeheuristicfunc getheuristic; getnodeheuristicfunc getheuristic;
getnodetraversablefunc gettraversable; getnodetraversablefunc gettraversable;
getpathfindfinishedfunc getfinished; getpathfindfinishedfunc getfinished;
} pathfindsetup_t; };
/*-------------------------------------------------- /*--------------------------------------------------

View file

@ -45,7 +45,7 @@
// profile_t definition (WIP) // profile_t definition (WIP)
// If you edit, see PR_SaveProfiles and PR_LoadProfiles // If you edit, see PR_SaveProfiles and PR_LoadProfiles
typedef struct profile_s struct profile_t
{ {
// Versionning // Versionning
@ -70,7 +70,7 @@ typedef struct profile_s
// Finally, control data itself // 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 INT32 controls[num_gamecontrols][MAXINPUTMAPPING]; // Lists of all the controls, defined the same way as default inputs in g_input.c
} profile_t; };
// Functions // Functions

View file

@ -22,7 +22,7 @@
#define TERRAIN_NAME_LEN 32 #define TERRAIN_NAME_LEN 32
typedef struct t_splash_s struct t_splash_t
{ {
// Splash definition. // Splash definition.
// These are particles spawned when hitting the floor. // 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. angle_t cone; // Randomized angle of the push-out.
UINT8 numParticles; // Number of particles to spawn. UINT8 numParticles; // Number of particles to spawn.
} t_splash_t; };
typedef struct t_footstep_s struct t_footstep_t
{ {
// Footstep definition. // Footstep definition.
// These are particles spawned when moving fast enough on a floor. // 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 sfxFreq; // How frequently to play the sound.
tic_t frequency; // How frequently to spawn the particles. tic_t frequency; // How frequently to spawn the particles.
fixed_t requiredSpeed; // Speed percentage you need to be at to trigger the particles. fixed_t requiredSpeed; // Speed percentage you need to be at to trigger the particles.
} t_footstep_t; };
typedef enum typedef enum
{ {
@ -75,7 +75,7 @@ typedef enum
TOV__MAX TOV__MAX
} t_overlay_action_t; } t_overlay_action_t;
typedef struct t_overlay_s struct t_overlay_t
{ {
// Overlay definition. // Overlay definition.
// These are sprites displayed on top of the base object. // 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. fixed_t scale; // Thing scale multiplier.
UINT16 color; // Colorize effect. SKINCOLOR_NONE has no colorize. 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. fixed_t speed; // Speed-up based on object speed. 0 plays the animation at a constant rate.
} t_overlay_t; };
typedef enum typedef enum
{ {
@ -98,7 +98,7 @@ typedef enum
TRF_TRIPWIRE = 1<<3 // Texture is a tripwire when used as a midtexture TRF_TRIPWIRE = 1<<3 // Texture is a tripwire when used as a midtexture
} terrain_flags_t; } terrain_flags_t;
typedef struct terrain_s struct terrain_t
{ {
// Terrain definition. // Terrain definition.
// These are all of the properties that the floor gets. // These are all of the properties that the floor gets.
@ -118,9 +118,9 @@ typedef struct terrain_s
angle_t speedPadAngle; // Speed pad angle angle_t speedPadAngle; // Speed pad angle
fixed_t floorClip; // Offset for sprites on this ground fixed_t floorClip; // Offset for sprites on this ground
UINT32 flags; // Flag values (see: terrain_flags_t) UINT32 flags; // Flag values (see: terrain_flags_t)
} terrain_t; };
typedef struct t_floor_s struct t_floor_t
{ {
// Terrain floor definition. // Terrain floor definition.
// Ties a texture name to a terrain definition. // Ties a texture name to a terrain definition.
@ -128,7 +128,7 @@ typedef struct t_floor_s
char textureName[9]; // Floor texture name. char textureName[9]; // Floor texture name.
UINT32 textureHash; // Floor texture hash. UINT32 textureHash; // Floor texture hash.
size_t terrainID; // Terrain definition ID. size_t terrainID; // Terrain definition ID.
} t_floor_t; };
/*-------------------------------------------------- /*--------------------------------------------------

View file

@ -20,17 +20,17 @@
#define DEFAULT_WAYPOINT_RADIUS (384) #define DEFAULT_WAYPOINT_RADIUS (384)
typedef struct waypoint_s struct waypoint_t
{ {
mobj_t *mobj; mobj_t *mobj;
boolean onaline; boolean onaline;
struct waypoint_s **nextwaypoints; waypoint_t **nextwaypoints;
struct waypoint_s **prevwaypoints; waypoint_t **prevwaypoints;
UINT32 *nextwaypointdistances; UINT32 *nextwaypointdistances;
UINT32 *prevwaypointdistances; UINT32 *prevwaypointdistances;
size_t numnextwaypoints; size_t numnextwaypoints;
size_t numprevwaypoints; size_t numprevwaypoints;
} waypoint_t; };
// AVAILABLE FOR LUA // AVAILABLE FOR LUA

View file

@ -24,8 +24,6 @@
extern "C" { extern "C" {
#endif #endif
typedef struct huddrawlist_s *huddrawlist_h;
// Create a new drawlist. Returns a handle to it. // Create a new drawlist. Returns a handle to it.
huddrawlist_h LUA_HUD_CreateDrawList(void); huddrawlist_h LUA_HUD_CreateDrawList(void);
// Clears the draw list. // Clears the draw list.

View file

@ -27,7 +27,7 @@ typedef struct aatree_node_s
struct aatree_node_s *left, *right; struct aatree_node_s *left, *right;
} aatree_node_t; } aatree_node_t;
struct aatree_s struct aatree_t
{ {
aatree_node_t *root; aatree_node_t *root;
UINT32 flags; UINT32 flags;

View file

@ -19,7 +19,6 @@
// Flags for AA trees. // Flags for AA trees.
#define AATREE_ZUSER 1 // Treat values as z_zone-allocated blocks and set their user fields #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); typedef void (*aatree_iter_t)(INT32 key, void *value);
aatree_t *M_AATreeAlloc(UINT32 flags); aatree_t *M_AATreeAlloc(UINT32 flags);

View file

@ -37,7 +37,7 @@ typedef enum
} conditiontype_t; } conditiontype_t;
// Condition Set information // Condition Set information
typedef struct struct condition_t
{ {
UINT32 id; /// <- The ID of this condition. UINT32 id; /// <- The ID of this condition.
/// In an unlock condition, all conditions with the same ID /// In an unlock condition, all conditions with the same ID
@ -47,14 +47,14 @@ typedef struct
INT32 requirement; /// <- The requirement for this variable. INT32 requirement; /// <- The requirement for this variable.
INT16 extrainfo1; /// <- Extra information for the condition when needed. INT16 extrainfo1; /// <- Extra information for the condition when needed.
INT16 extrainfo2; /// <- 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. UINT32 numconditions; /// <- number of conditions.
condition_t *condition; /// <- All conditionals to be checked. condition_t *condition; /// <- All conditionals to be checked.
UINT8 achieved; /// <- Whether this conditional has been achieved already or not. 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) /// (Conditional checking is skipped if true -- it's assumed you can't relock an unlockable)
} conditionset_t; };
// Emblem information // Emblem information
#define ET_GLOBAL 0 // Emblem with a position in space #define ET_GLOBAL 0 // Emblem with a position in space
@ -69,7 +69,7 @@ typedef struct
// Map emblem flags // Map emblem flags
#define ME_ENCORE 1 #define ME_ENCORE 1
typedef struct struct emblem_t
{ {
UINT8 type; ///< Emblem type UINT8 type; ///< Emblem type
INT16 tag; ///< Tag of emblem mapthing 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) INT32 var; ///< If needed, specifies information on the target amount to achieve (or target skin)
char hint[110]; ///< Hint for emblem hints menu char hint[110]; ///< Hint for emblem hints menu
UINT8 collected; ///< Do you have this emblem? 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 name[20]; ///< Name of the goal (used in the "emblem awarded" cecho)
char description[40]; ///< Description of goal (used in statistics) char description[40]; ///< Description of goal (used in statistics)
@ -89,10 +89,10 @@ typedef struct
UINT8 sprite; ///< emblem sprite to use, 0 - 25 UINT8 sprite; ///< emblem sprite to use, 0 - 25
UINT16 color; ///< skincolor to use UINT16 color; ///< skincolor to use
UINT8 collected; ///< Do you have this emblem? UINT8 collected; ///< Do you have this emblem?
} extraemblem_t; };
// Unlockable information // Unlockable information
typedef struct struct unlockable_t
{ {
char name[64]; char name[64];
char objective[64]; char objective[64];
@ -103,7 +103,7 @@ typedef struct
UINT8 nocecho; UINT8 nocecho;
UINT8 nochecklist; UINT8 nochecklist;
UINT8 unlocked; UINT8 unlocked;
} unlockable_t; };
#define SECRET_NONE 0 // Does nil. Use with levels locked by UnlockRequired #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 #define SECRET_HEADER 1 // Does nothing on its own, just serves as a header for the menu

View file

@ -29,11 +29,11 @@
#pragma warning(disable : 4706) #pragma warning(disable : 4706)
#endif #endif
typedef struct mdllistitem_s struct mdllistitem_t
{ {
struct mdllistitem_s *next; mdllistitem_t *next;
struct mdllistitem_s **prev; mdllistitem_t **prev;
} mdllistitem_t; };
FUNCINLINE static ATTRINLINE void M_DLListInsert(mdllistitem_t *item, mdllistitem_t **head) FUNCINLINE static ATTRINLINE void M_DLListInsert(mdllistitem_t *item, mdllistitem_t **head)
{ {

View file

@ -333,11 +333,11 @@ FUNCMATH FUNCINLINE static ATTRINLINE fixed_t FixedRound(fixed_t x)
return INT32_MAX; return INT32_MAX;
} }
typedef struct struct vector2_t
{ {
fixed_t x; fixed_t x;
fixed_t y; fixed_t y;
} vector2_t; };
vector2_t *FV2_Load(vector2_t *vec, fixed_t x, fixed_t y); 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); 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); 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); 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; 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_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); 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); UINT8 FV3_PointOnLineSide(const vector3_t *point, const vector3_t *line);
boolean FV3_PointInsideBox(const vector3_t *point, const vector3_t *box); boolean FV3_PointInsideBox(const vector3_t *point, const vector3_t *box);
typedef struct struct matrix_t
{ {
fixed_t m[16]; fixed_t m[16];
} matrix_t; };
void FM_LoadIdentity(matrix_t* matrix); 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); 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);

View file

@ -38,22 +38,22 @@ extern int ps_checkposition_calls;
extern precise_t ps_lua_thinkframe_time; extern precise_t ps_lua_thinkframe_time;
extern int ps_lua_mobjhooks; extern int ps_lua_mobjhooks;
typedef struct struct ps_hookinfo_t
{ {
precise_t time_taken; precise_t time_taken;
char short_src[LUA_IDSIZE]; char short_src[LUA_IDSIZE];
} ps_hookinfo_t; };
void PS_SetThinkFrameHookInfo(int index, precise_t time_taken, char* short_src); void PS_SetThinkFrameHookInfo(int index, precise_t time_taken, char* short_src);
typedef struct struct ps_botinfo_t
{ {
boolean isBot; boolean isBot;
precise_t total; precise_t total;
precise_t prediction; // K_CreateBotPrediction precise_t prediction; // K_CreateBotPrediction
precise_t nudge; // K_NudgePredictionTowardsObjects precise_t nudge; // K_NudgePredictionTowardsObjects
precise_t item; // K_BotItemUsage precise_t item; // K_BotItemUsage
} ps_botinfo_t; };
extern ps_botinfo_t ps_bots[MAXPLAYERS]; extern ps_botinfo_t ps_bots[MAXPLAYERS];

View file

@ -13,17 +13,17 @@
#ifndef M_QUEUE_H #ifndef M_QUEUE_H
#define M_QUEUE_H #define M_QUEUE_H
typedef struct mqueueitem_s struct mqueueitem_t
{ {
struct mqueueitem_s *next; mqueueitem_t *next;
} mqueueitem_t; };
typedef struct mqueue_s struct mqueue_t
{ {
mqueueitem_t head; mqueueitem_t head;
mqueueitem_t *tail; mqueueitem_t *tail;
mqueueitem_t *rover; mqueueitem_t *rover;
} mqueue_t; };
void M_QueueInit(mqueue_t *queue); void M_QueueInit(mqueue_t *queue);
void M_QueueInsert(mqueueitem_t *item, mqueue_t *queue); void M_QueueInsert(mqueueitem_t *item, mqueue_t *queue);

View file

@ -27,16 +27,16 @@ typedef union
} ATTRPACK msg_header_t; } ATTRPACK msg_header_t;
// Keep this structure 8 bytes aligned (current size is 80) // Keep this structure 8 bytes aligned (current size is 80)
typedef struct struct msg_server_t
{ {
msg_header_t header; msg_header_t header;
char ip[16]; char ip[16];
char port[8]; char port[8];
char contact[32]; char contact[32];
char version[8]; // format is: x.yy.z (like 1.30.2 or 1.31) 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; msg_header_t header;
char ipstart[16]; char ipstart[16];
@ -44,7 +44,7 @@ typedef struct
char endstamp[32]; char endstamp[32];
char reason[255]; char reason[255];
INT32 hostonly; INT32 hostonly;
} ATTRPACK msg_ban_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()

View file

@ -80,7 +80,7 @@ void P_RemoveThinker(thinker_t *thinker);
// //
// P_USER // P_USER
// //
typedef struct camera_s struct camera_t
{ {
boolean chase; boolean chase;
angle_t aiming; angle_t aiming;
@ -96,7 +96,7 @@ typedef struct camera_s
//More drawing info: to determine current sprite. //More drawing info: to determine current sprite.
angle_t angle; // orientation angle_t angle; // orientation
struct subsector_s *subsector; subsector_t *subsector;
// The closest interval over all contacted Sectors (or Things). // The closest interval over all contacted Sectors (or Things).
fixed_t floorz; fixed_t floorz;
@ -119,7 +119,7 @@ typedef struct camera_s
// Interpolation data // Interpolation data
fixed_t old_x, old_y, old_z; fixed_t old_x, old_y, old_z;
angle_t old_angle, old_aiming; angle_t old_angle, old_aiming;
} camera_t; };
// demo freecam or something before i commit die // demo freecam or something before i commit die
struct demofreecam_s { struct demofreecam_s {
@ -246,11 +246,11 @@ typedef enum
NUMJINGLES NUMJINGLES
} jingletype_t; } jingletype_t;
typedef struct struct jingle_t
{ {
char musname[7]; char musname[7];
boolean looping; boolean looping;
} jingle_t; };
extern jingle_t jingleinfo[NUMJINGLES]; 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 // P_MAP
// //
typedef struct tm_s struct tm_t
{ {
mobj_t *thing; mobj_t *thing;
fixed_t x, y; fixed_t x, y;
@ -411,7 +411,7 @@ typedef struct tm_s
// set by PIT_CheckLine() for any line that stopped the PIT_CheckLine() // set by PIT_CheckLine() for any line that stopped the PIT_CheckLine()
// that is, for any line which is 'solid' // that is, for any line which is 'solid'
line_t *blockingline; line_t *blockingline;
} tm_t; };
extern tm_t tm; extern tm_t tm;
@ -431,12 +431,12 @@ void P_UnsetThingPosition(mobj_t *thing);
void P_SetThingPosition(mobj_t *thing); void P_SetThingPosition(mobj_t *thing);
void P_SetUnderlayPosition(mobj_t *thing); void P_SetUnderlayPosition(mobj_t *thing);
typedef struct TryMoveResult_s struct TryMoveResult_t
{ {
boolean success; boolean success;
line_t *line; line_t *line;
mobj_t *mo; mobj_t *mo;
} TryMoveResult_t; };
boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y, TryMoveResult_t *result); 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); 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 // P_INTER
// //
typedef struct BasicFF_s struct BasicFF_t
{ {
INT32 ForceX; ///< The X of the Force's Vel INT32 ForceX; ///< The X of the Force's Vel
INT32 ForceY; ///< The Y 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. 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 //All, CONSTANTFORCE <20>10,000 to 10,000
INT32 Magnitude; ///< Magnitude of the effect, in the range from 0 through 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/death types, for P_DamageMobj and related */
//// Damage types //// Damage types

View file

@ -20,12 +20,12 @@
// //
// P_MAPUTL // P_MAPUTL
// //
typedef struct struct divline_t
{ {
fixed_t x, y, dx, dy; fixed_t x, y, dx, dy;
} divline_t; };
typedef struct struct intercept_t
{ {
fixed_t frac; // along trace line fixed_t frac; // along trace line
boolean isaline; boolean isaline;
@ -34,7 +34,7 @@ typedef struct
mobj_t *thing; mobj_t *thing;
line_t *line; line_t *line;
} d; } d;
} intercept_t; };
typedef boolean (*traverser_t)(intercept_t *in); typedef boolean (*traverser_t)(intercept_t *in);

View file

@ -270,7 +270,7 @@ typedef enum {
} precipflag_t; } precipflag_t;
// Map Object definition. // Map Object definition.
typedef struct mobj_s struct mobj_t
{ {
// List: thinker links. // List: thinker links.
thinker_t thinker; thinker_t thinker;
@ -284,8 +284,8 @@ typedef struct mobj_s
fixed_t old_x2, old_y2, old_z2; fixed_t old_x2, old_y2, old_z2;
// More list: links in sector (if needed) // More list: links in sector (if needed)
struct mobj_s *snext; mobj_t *snext;
struct mobj_s **sprev; // killough 8/11/98: change to ptr-to-ptr mobj_t **sprev; // killough 8/11/98: change to ptr-to-ptr
// More drawing info: to determine current sprite. // More drawing info: to determine current sprite.
angle_t angle, pitch, roll; // orientation angle_t angle, pitch, roll; // orientation
@ -302,17 +302,17 @@ typedef struct mobj_s
fixed_t spritexoffset, spriteyoffset; fixed_t spritexoffset, spriteyoffset;
fixed_t old_spritexscale, old_spriteyscale; fixed_t old_spritexscale, old_spriteyscale;
fixed_t old_spritexoffset, old_spriteyoffset; fixed_t old_spritexoffset, old_spriteyoffset;
struct pslope_s *floorspriteslope; // The slope that the floorsprite is rotated by pslope_t *floorspriteslope; // The slope that the floorsprite is rotated by
struct msecnode_s *touching_sectorlist; // a linked list of sectors where this object appears msecnode_t *touching_sectorlist; // a linked list of sectors where this object appears
struct subsector_s *subsector; // Subsector the mobj resides in. subsector_t *subsector; // Subsector the mobj resides in.
// The closest interval over all contacted sectors (or things). // The closest interval over all contacted sectors (or things).
fixed_t floorz; // Nearest floor below. fixed_t floorz; // Nearest floor below.
fixed_t ceilingz; // Nearest ceiling above. fixed_t ceilingz; // Nearest ceiling above.
struct ffloor_s *floorrover; // FOF referred by floorz ffloor_t *floorrover; // FOF referred by floorz
struct ffloor_s *ceilingrover; // FOF referred by ceilingz ffloor_t *ceilingrover; // FOF referred by ceilingz
fixed_t floordrop; fixed_t floordrop;
fixed_t ceilingdrop; fixed_t ceilingdrop;
@ -337,15 +337,15 @@ typedef struct mobj_s
// Interaction info, by BLOCKMAP. // Interaction info, by BLOCKMAP.
// Links in blocks (if needed). // Links in blocks (if needed).
struct mobj_s *bnext; mobj_t *bnext;
struct mobj_s **bprev; // killough 8/11/98: change to ptr-to-ptr mobj_t **bprev; // killough 8/11/98: change to ptr-to-ptr
// Additional pointers for NiGHTS hoops // Additional pointers for NiGHTS hoops
struct mobj_s *hnext; mobj_t *hnext;
struct mobj_s *hprev; mobj_t *hprev;
// One last pointer for kart item lists // One last pointer for kart item lists
struct mobj_s *itnext; mobj_t *itnext;
INT32 health; // for player this is rings + 1 -- no it isn't, not any more!! INT32 health; // for player this is rings + 1 -- no it isn't, not any more!!
@ -353,7 +353,7 @@ typedef struct mobj_s
angle_t movedir; // dirtype_t 0-7; also used by Deton for up/down angle angle_t movedir; // dirtype_t 0-7; also used by Deton for up/down angle
INT32 movecount; // when 0, select a new dir INT32 movecount; // when 0, select a new dir
struct mobj_s *target; // Thing being chased/attacked (or NULL), and originator for missiles. mobj_t *target; // Thing being chased/attacked (or NULL), and originator for missiles.
INT32 reactiontime; // If not 0, don't attack yet. INT32 reactiontime; // If not 0, don't attack yet.
@ -361,13 +361,13 @@ typedef struct mobj_s
// Additional info record for player avatars only. // Additional info record for player avatars only.
// Only valid if type == MT_PLAYER // Only valid if type == MT_PLAYER
struct player_s *player; player_t *player;
INT32 lastlook; // Player number last looked for. INT32 lastlook; // Player number last looked for.
mapthing_t *spawnpoint; // Used for CTF flags, objectplace, and a handful other applications. mapthing_t *spawnpoint; // Used for CTF flags, objectplace, and a handful other applications.
struct mobj_s *tracer; // Thing being chased/attacked for tracers. mobj_t *tracer; // Thing being chased/attacked for tracers.
fixed_t friction; fixed_t friction;
fixed_t movefactor; fixed_t movefactor;
@ -394,7 +394,7 @@ typedef struct mobj_s
INT32 cusval; INT32 cusval;
INT32 cvmem; INT32 cvmem;
struct pslope_s *standingslope; // The slope that the object is standing on (shouldn't need synced in savegames, right?) pslope_t *standingslope; // The slope that the object is standing on (shouldn't need synced in savegames, right?)
boolean resetinterp; // if true, some fields should not be interpolated (see R_InterpolateMobjState implementation) boolean resetinterp; // if true, some fields should not be interpolated (see R_InterpolateMobjState implementation)
boolean colorized; // Whether the mobj uses the rainbow colormap boolean colorized; // Whether the mobj uses the rainbow colormap
@ -405,8 +405,8 @@ typedef struct mobj_s
fixed_t sprxoff, spryoff, sprzoff; // Sprite offsets in real space, does NOT affect position or collision fixed_t sprxoff, spryoff, sprzoff; // Sprite offsets in real space, does NOT affect position or collision
struct terrain_s *terrain; // Terrain definition of the floor this object last hit. NULL when in the air. terrain_t *terrain; // Terrain definition of the floor this object last hit. NULL when in the air.
struct mobj_s *terrainOverlay; // Overlay sprite object for terrain mobj_t *terrainOverlay; // Overlay sprite object for terrain
INT32 hitlag; // Sal-style hit lag, straight from Captain Fetch's jowls INT32 hitlag; // Sal-style hit lag, straight from Captain Fetch's jowls
UINT8 waterskip; // Water skipping counter UINT8 waterskip; // Water skipping counter
@ -414,7 +414,7 @@ typedef struct mobj_s
INT32 dispoffset; INT32 dispoffset;
// WARNING: New fields must be added separately to savegame and Lua. // WARNING: New fields must be added separately to savegame and Lua.
} mobj_t; };
// //
// For precipitation // For precipitation
@ -423,7 +423,7 @@ typedef struct mobj_s
// so please keep the start of the // so please keep the start of the
// structure the same. // structure the same.
// //
typedef struct precipmobj_s struct precipmobj_t
{ {
// List: thinker links. // List: thinker links.
thinker_t thinker; thinker_t thinker;
@ -437,8 +437,8 @@ typedef struct precipmobj_s
fixed_t old_x2, old_y2, old_z2; fixed_t old_x2, old_y2, old_z2;
// More list: links in sector (if needed) // More list: links in sector (if needed)
struct precipmobj_s *snext; precipmobj_t *snext;
struct precipmobj_s **sprev; // killough 8/11/98: change to ptr-to-ptr precipmobj_t **sprev; // killough 8/11/98: change to ptr-to-ptr
// More drawing info: to determine current sprite. // More drawing info: to determine current sprite.
angle_t angle, pitch, roll; // orientation angle_t angle, pitch, roll; // orientation
@ -455,17 +455,17 @@ typedef struct precipmobj_s
fixed_t spritexoffset, spriteyoffset; fixed_t spritexoffset, spriteyoffset;
fixed_t old_spritexscale, old_spriteyscale; fixed_t old_spritexscale, old_spriteyscale;
fixed_t old_spritexoffset, old_spriteyoffset; fixed_t old_spritexoffset, old_spriteyoffset;
struct pslope_s *floorspriteslope; // The slope that the floorsprite is rotated by pslope_t *floorspriteslope; // The slope that the floorsprite is rotated by
struct mprecipsecnode_s *touching_sectorlist; // a linked list of sectors where this object appears mprecipsecnode_t *touching_sectorlist; // a linked list of sectors where this object appears
struct subsector_s *subsector; // Subsector the mobj resides in. subsector_t *subsector; // Subsector the mobj resides in.
// The closest interval over all contacted sectors (or things). // The closest interval over all contacted sectors (or things).
fixed_t floorz; // Nearest floor below. fixed_t floorz; // Nearest floor below.
fixed_t ceilingz; // Nearest ceiling above. fixed_t ceilingz; // Nearest ceiling above.
struct ffloor_s *floorrover; // FOF referred by floorz ffloor_t *floorrover; // FOF referred by floorz
struct ffloor_s *ceilingrover; // FOF referred by ceilingz ffloor_t *ceilingrover; // FOF referred by ceilingz
fixed_t floordrop; fixed_t floordrop;
fixed_t ceilingdrop; fixed_t ceilingdrop;
@ -480,15 +480,15 @@ typedef struct precipmobj_s
INT32 tics; // state tic counter INT32 tics; // state tic counter
state_t *state; state_t *state;
UINT32 flags; // flags from mobjinfo tables UINT32 flags; // flags from mobjinfo tables
} precipmobj_t; };
typedef struct actioncache_s struct actioncache_t
{ {
struct actioncache_s *next; actioncache_t *next;
struct actioncache_s *prev; actioncache_t *prev;
struct mobj_s *mobj; mobj_t *mobj;
INT32 statenum; INT32 statenum;
} actioncache_t; };
extern actioncache_t actioncachehead; extern actioncache_t actioncachehead;

View file

@ -66,7 +66,7 @@ typedef enum
// Polyobject Structure // Polyobject Structure
// //
typedef struct polyobj_s struct polyobj_t
{ {
mdllistitem_t link; // for subsector links; must be first mdllistitem_t link; // for subsector links; must be first
@ -78,7 +78,7 @@ typedef struct polyobj_s
size_t segCount; // number of segs in polyobject size_t segCount; // number of segs in polyobject
size_t numSegsAlloc; // number of segs allocated size_t numSegsAlloc; // number of segs allocated
struct seg_s **segs; // the segs, a reallocating array. seg_t **segs; // the segs, a reallocating array.
size_t numVertices; // number of vertices (generally == segCount) size_t numVertices; // number of vertices (generally == segCount)
size_t numVerticesAlloc; // number of vertices allocated size_t numVerticesAlloc; // number of vertices allocated
@ -88,7 +88,7 @@ typedef struct polyobj_s
size_t numLines; // number of linedefs (generally <= segCount) size_t numLines; // number of linedefs (generally <= segCount)
size_t numLinesAlloc; // number of linedefs allocated size_t numLinesAlloc; // number of linedefs allocated
struct line_s **lines; // linedefs this polyobject must move line_t **lines; // linedefs this polyobject must move
degenmobj_t spawnSpot; // location of spawn spot degenmobj_t spawnSpot; // location of spawn spot
vertex_t centerPt; // center point vertex_t centerPt; // center point
@ -109,28 +109,28 @@ typedef struct polyobj_s
INT32 translucency; // index to translucency tables INT32 translucency; // index to translucency tables
INT16 triggertag; // Tag of linedef executor to trigger on touch INT16 triggertag; // Tag of linedef executor to trigger on touch
struct visplane_s *visplane; // polyobject's visplane, for ease of putting into the list later visplane_t *visplane; // polyobject's visplane, for ease of putting into the list later
// these are saved for netgames, so do not let Lua touch these! // these are saved for netgames, so do not let Lua touch these!
INT32 spawnflags; // Flags the polyobject originally spawned with INT32 spawnflags; // Flags the polyobject originally spawned with
INT32 spawntrans; // Translucency the polyobject originally spawned with INT32 spawntrans; // Translucency the polyobject originally spawned with
} polyobj_t; };
// //
// Polyobject Blockmap Link Structure // Polyobject Blockmap Link Structure
// //
typedef struct polymaplink_s struct polymaplink_t
{ {
mdllistitem_t link; // for blockmap links mdllistitem_t link; // for blockmap links
polyobj_t *po; // pointer to polyobject polyobj_t *po; // pointer to polyobject
} polymaplink_t; };
// //
// Polyobject Special Thinkers // Polyobject Special Thinkers
// //
typedef struct polyrotate_s struct polyrotate_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
@ -138,9 +138,9 @@ typedef struct polyrotate_s
INT32 speed; // speed of movement per frame INT32 speed; // speed of movement per frame
INT32 distance; // distance to move INT32 distance; // distance to move
UINT8 turnobjs; // turn objects? PTF_ flags UINT8 turnobjs; // turn objects? PTF_ flags
} polyrotate_t; };
typedef struct polymove_s struct polymove_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
@ -150,7 +150,7 @@ typedef struct polymove_s
fixed_t momy; // y component of speed along angle fixed_t momy; // y component of speed along angle
INT32 distance; // total distance to move INT32 distance; // total distance to move
UINT32 angle; // angle along which to move UINT32 angle; // angle along which to move
} polymove_t; };
// PolyObject waypoint movement return behavior // PolyObject waypoint movement return behavior
typedef enum typedef enum
@ -160,7 +160,7 @@ typedef enum
PWR_COMEBACK, // Repeat sequence in reverse PWR_COMEBACK, // Repeat sequence in reverse
} polywaypointreturn_e; } polywaypointreturn_e;
typedef struct polywaypoint_s struct polywaypoint_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
@ -172,9 +172,9 @@ typedef struct polywaypoint_s
UINT8 returnbehavior; // behavior after reaching the last waypoint UINT8 returnbehavior; // behavior after reaching the last waypoint
UINT8 continuous; // continuously move - used with PWR_WRAP or PWR_COMEBACK UINT8 continuous; // continuously move - used with PWR_WRAP or PWR_COMEBACK
UINT8 stophere; // Will stop after it reaches the next waypoint 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 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 momx; // x component of speed along angle
fixed_t momy; // y component of speed along angle fixed_t momy; // y component of speed along angle
UINT8 closing; // if true, is closing UINT8 closing; // if true, is closing
} polyslidedoor_t; };
typedef struct polyswingdoor_s struct polyswingdoor_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
@ -205,31 +205,31 @@ typedef struct polyswingdoor_s
INT32 initDistance; // initial distance to travel INT32 initDistance; // initial distance to travel
INT32 distance; // current distance to travel INT32 distance; // current distance to travel
UINT8 closing; // if true, is closing UINT8 closing; // if true, is closing
} polyswingdoor_t; };
typedef struct polydisplace_s struct polydisplace_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
INT32 polyObjNum; INT32 polyObjNum;
struct sector_s *controlSector; sector_t *controlSector;
fixed_t dx; fixed_t dx;
fixed_t dy; fixed_t dy;
fixed_t oldHeights; fixed_t oldHeights;
} polydisplace_t; };
typedef struct polyrotdisplace_s struct polyrotdisplace_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
INT32 polyObjNum; INT32 polyObjNum;
struct sector_s *controlSector; sector_t *controlSector;
fixed_t rotscale; fixed_t rotscale;
UINT8 turnobjs; UINT8 turnobjs;
fixed_t oldHeights; fixed_t oldHeights;
} polyrotdisplace_t; };
typedef struct polyfade_s struct polyfade_t
{ {
thinker_t thinker; // must be first thinker_t thinker; // must be first
@ -241,7 +241,7 @@ typedef struct polyfade_s
boolean ticbased; boolean ticbased;
INT32 duration; INT32 duration;
INT32 timer; INT32 timer;
} polyfade_t; };
// //
// Line Activation Data Structures // Line Activation Data Structures
@ -261,23 +261,23 @@ typedef enum
PTF_OTHERS = 1<<1, // Turn other mobjs with movement PTF_OTHERS = 1<<1, // Turn other mobjs with movement
} polyturnflags_e; } polyturnflags_e;
typedef struct polyrotdata_s struct polyrotdata_t
{ {
INT32 polyObjNum; // numeric id of polyobject to affect INT32 polyObjNum; // numeric id of polyobject to affect
INT32 direction; // direction of rotation INT32 direction; // direction of rotation
INT32 speed; // angular speed INT32 speed; // angular speed
INT32 distance; // distance to move INT32 distance; // distance to move
UINT8 flags; // TMPR_ flags UINT8 flags; // TMPR_ flags
} polyrotdata_t; };
typedef struct polymovedata_s struct polymovedata_t
{ {
INT32 polyObjNum; // numeric id of polyobject to affect INT32 polyObjNum; // numeric id of polyobject to affect
fixed_t distance; // distance to move fixed_t distance; // distance to move
fixed_t speed; // linear speed fixed_t speed; // linear speed
angle_t angle; // angle of movement angle_t angle; // angle of movement
UINT8 overRide; // if true, will override any action on the object UINT8 overRide; // if true, will override any action on the object
} polymovedata_t; };
typedef enum typedef enum
{ {
@ -285,14 +285,14 @@ typedef enum
PWF_LOOP = 1<<1, // Loop movement (used with PWR_WRAP or PWR_COMEBACK) PWF_LOOP = 1<<1, // Loop movement (used with PWR_WRAP or PWR_COMEBACK)
} polywaypointflags_e; } polywaypointflags_e;
typedef struct polywaypointdata_s struct polywaypointdata_t
{ {
INT32 polyObjNum; // numeric id of polyobject to affect INT32 polyObjNum; // numeric id of polyobject to affect
INT32 sequence; // waypoint sequence # INT32 sequence; // waypoint sequence #
fixed_t speed; // linear speed fixed_t speed; // linear speed
UINT8 returnbehavior; // behavior after reaching the last waypoint UINT8 returnbehavior; // behavior after reaching the last waypoint
UINT8 flags; // PWF_ flags UINT8 flags; // PWF_ flags
} polywaypointdata_t; };
typedef enum typedef enum
{ {
@ -315,7 +315,7 @@ typedef enum
POLY_DOOR_SWING, POLY_DOOR_SWING,
} polydoor_e; } polydoor_e;
typedef struct polydoordata_s struct polydoordata_t
{ {
INT32 polyObjNum; // numeric id of polyobject to affect INT32 polyObjNum; // numeric id of polyobject to affect
INT32 doorType; // polyobj door type INT32 doorType; // polyobj door type
@ -323,31 +323,31 @@ typedef struct polydoordata_s
angle_t angle; // for slide door only, angle of motion angle_t angle; // for slide door only, angle of motion
INT32 distance; // distance to move INT32 distance; // distance to move
INT32 delay; // delay time after opening INT32 delay; // delay time after opening
} polydoordata_t; };
typedef struct polydisplacedata_s struct polydisplacedata_t
{ {
INT32 polyObjNum; INT32 polyObjNum;
struct sector_s *controlSector; sector_t *controlSector;
fixed_t dx; fixed_t dx;
fixed_t dy; fixed_t dy;
} polydisplacedata_t; };
typedef struct polyrotdisplacedata_s struct polyrotdisplacedata_t
{ {
INT32 polyObjNum; INT32 polyObjNum;
struct sector_s *controlSector; sector_t *controlSector;
fixed_t rotscale; fixed_t rotscale;
UINT8 turnobjs; UINT8 turnobjs;
} polyrotdisplacedata_t; };
typedef struct polyflagdata_s struct polyflagdata_t
{ {
INT32 polyObjNum; INT32 polyObjNum;
INT32 speed; INT32 speed;
UINT32 angle; UINT32 angle;
fixed_t momx; fixed_t momx;
} polyflagdata_t; };
typedef enum typedef enum
{ {
@ -358,7 +358,7 @@ typedef enum
TMPF_GHOSTFADE = 1<<4, TMPF_GHOSTFADE = 1<<4,
} textmappolyfade_t; } textmappolyfade_t;
typedef struct polyfadedata_s struct polyfadedata_t
{ {
INT32 polyObjNum; INT32 polyObjNum;
INT32 destvalue; INT32 destvalue;
@ -366,7 +366,7 @@ typedef struct polyfadedata_s
boolean doghostfade; boolean doghostfade;
boolean ticbased; boolean ticbased;
INT32 speed; INT32 speed;
} polyfadedata_t; };
// //
// Functions // Functions

View file

@ -28,14 +28,14 @@ boolean P_LoadNetGame(boolean reloading);
mobj_t *P_FindNewPosition(UINT32 oldposition); mobj_t *P_FindNewPosition(UINT32 oldposition);
typedef struct struct savedata_t
{ {
UINT8 skin; UINT8 skin;
INT32 score; INT32 score;
INT32 lives; INT32 lives;
UINT16 emeralds; UINT16 emeralds;
UINT8 numgameovers; UINT8 numgameovers;
} savedata_t; };
extern savedata_t savedata; extern savedata_t savedata;
extern UINT8 *save_p; extern UINT8 *save_p;

View file

@ -45,7 +45,7 @@ enum
// //
// MAP used flats lookup table // MAP used flats lookup table
// //
typedef struct struct levelflat_t
{ {
char name[9]; // resource name from wad char name[9]; // resource name from wad
@ -85,7 +85,7 @@ typedef struct
void *mipmap; void *mipmap;
void *mippic; void *mippic;
#endif #endif
} levelflat_t; };
extern size_t numlevelflats; extern size_t numlevelflats;
extern levelflat_t *levelflats; extern levelflat_t *levelflats;

View file

@ -117,16 +117,16 @@ typedef enum {
} dynplanetype_t; } dynplanetype_t;
/// Permit slopes to be dynamically altered through a thinker. /// Permit slopes to be dynamically altered through a thinker.
typedef struct struct dynlineplanethink_t
{ {
thinker_t thinker; thinker_t thinker;
pslope_t *slope; pslope_t *slope;
dynplanetype_t type; dynplanetype_t type;
line_t *sourceline; line_t *sourceline;
fixed_t extent; fixed_t extent;
} dynlineplanethink_t; };
typedef struct struct dynvertexplanethink_t
{ {
thinker_t thinker; thinker_t thinker;
pslope_t *slope; pslope_t *slope;
@ -135,7 +135,7 @@ typedef struct
fixed_t origsecheights[3]; fixed_t origsecheights[3];
fixed_t origvecheights[3]; fixed_t origvecheights[3];
UINT8 relative; UINT8 relative;
} dynvertexplanethink_t; };
void T_DynamicSlopeLine (dynlineplanethink_t* th); void T_DynamicSlopeLine (dynlineplanethink_t* th);
void T_DynamicSlopeVert (dynvertexplanethink_t* th); void T_DynamicSlopeVert (dynvertexplanethink_t* th);

View file

@ -578,17 +578,17 @@ UINT16 P_GetFFloorID(ffloor_t *fflr);
ffloor_t *P_GetFFloorByID(sector_t *sec, UINT16 id); 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. // 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; thinker_t thinker;
} thinkerdata_t; };
// //
// P_LIGHTS // P_LIGHTS
// //
/** Fire flicker action structure. /** Fire flicker action structure.
*/ */
typedef struct struct fireflicker_t
{ {
thinker_t thinker; ///< The thinker in use for the effect. thinker_t thinker; ///< The thinker in use for the effect.
sector_t *sector; ///< The sector where action is taking place. sector_t *sector; ///< The sector where action is taking place.
@ -596,29 +596,29 @@ typedef struct
INT32 resetcount; INT32 resetcount;
INT16 maxlight; ///< The brightest light level to use. INT16 maxlight; ///< The brightest light level to use.
INT16 minlight; ///< The darkest light level to use. INT16 minlight; ///< The darkest light level to use.
} fireflicker_t; };
typedef struct struct lightflash_t
{ {
thinker_t thinker; thinker_t thinker;
sector_t *sector; sector_t *sector;
INT32 maxlight; INT32 maxlight;
INT32 minlight; INT32 minlight;
} lightflash_t; };
/** Laser block thinker. /** Laser block thinker.
*/ */
typedef struct struct laserthink_t
{ {
thinker_t thinker; ///< Thinker structure for laser. thinker_t thinker; ///< Thinker structure for laser.
INT16 tag; INT16 tag;
line_t *sourceline; line_t *sourceline;
UINT8 nobosses; UINT8 nobosses;
} laserthink_t; };
/** Strobe light action structure.. /** Strobe light action structure..
*/ */
typedef struct struct strobe_t
{ {
thinker_t thinker; ///< The thinker in use for the effect. thinker_t thinker; ///< The thinker in use for the effect.
sector_t *sector; ///< The sector where the action is taking place. 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. INT16 maxlight; ///< The maximum light level to use.
INT32 darktime; ///< How INT32 to use minlight. INT32 darktime; ///< How INT32 to use minlight.
INT32 brighttime; ///< How INT32 to use maxlight. INT32 brighttime; ///< How INT32 to use maxlight.
} strobe_t; };
typedef struct struct glow_t
{ {
thinker_t thinker; thinker_t thinker;
sector_t *sector; sector_t *sector;
@ -637,11 +637,11 @@ typedef struct
INT16 maxlight; INT16 maxlight;
INT16 direction; INT16 direction;
INT16 speed; INT16 speed;
} glow_t; };
/** Thinker struct for fading lights. /** Thinker struct for fading lights.
*/ */
typedef struct struct lightlevel_t
{ {
thinker_t thinker; ///< Thinker in use for the effect. thinker_t thinker; ///< Thinker in use for the effect.
sector_t *sector; ///< Sector where action is taking place. sector_t *sector; ///< Sector where action is taking place.
@ -652,7 +652,7 @@ typedef struct
fixed_t fixedpertic; ///< Fixed point for increment per tic. 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. // 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. INT32 timer; ///< Internal timer.
} lightlevel_t; };
#define GLOWSPEED 8 #define GLOWSPEED 8
#define STROBEBRIGHT 5 #define STROBEBRIGHT 5
@ -709,7 +709,7 @@ typedef enum
/** Ceiling movement structure. /** Ceiling movement structure.
*/ */
typedef struct struct ceiling_t
{ {
thinker_t thinker; ///< Thinker for the type of movement. thinker_t thinker; ///< Thinker for the type of movement.
ceiling_e type; ///< 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. INT16 tag; ///< Tag of linedef executor to run when movement is done.
fixed_t origspeed; ///< The original, "real" speed. fixed_t origspeed; ///< The original, "real" speed.
INT32 sourceline; ///< Index of the source linedef INT32 sourceline; ///< Index of the source linedef
} ceiling_t; };
#define CEILSPEED (FRACUNIT) #define CEILSPEED (FRACUNIT)
@ -771,7 +771,7 @@ typedef enum
bridgeFall, bridgeFall,
} elevator_e; } elevator_e;
typedef struct struct floormove_t
{ {
thinker_t thinker; thinker_t thinker;
floor_e type; floor_e type;
@ -786,9 +786,9 @@ typedef struct
fixed_t delaytimer; fixed_t delaytimer;
INT16 tag; INT16 tag;
INT32 sourceline; INT32 sourceline;
} floormove_t; };
typedef struct struct elevator_t
{ {
thinker_t thinker; thinker_t thinker;
elevator_e type; elevator_e type;
@ -807,7 +807,7 @@ typedef struct
fixed_t floorwasheight; // Height the floor WAS at fixed_t floorwasheight; // Height the floor WAS at
fixed_t ceilingwasheight; // Height the ceiling WAS at fixed_t ceilingwasheight; // Height the ceiling WAS at
line_t *sourceline; line_t *sourceline;
} elevator_t; };
typedef enum typedef enum
{ {
@ -816,7 +816,7 @@ typedef enum
CF_REVERSE = 1<<2, // Reverse gravity CF_REVERSE = 1<<2, // Reverse gravity
} crumbleflag_t; } crumbleflag_t;
typedef struct struct crumble_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; line_t *sourceline;
@ -830,15 +830,15 @@ typedef struct
fixed_t floorwasheight; // Height the floor WAS at fixed_t floorwasheight; // Height the floor WAS at
fixed_t ceilingwasheight; // Height the ceiling WAS at fixed_t ceilingwasheight; // Height the ceiling WAS at
UINT8 flags; UINT8 flags;
} crumble_t; };
typedef struct struct noenemies_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; // Source line of the thinker line_t *sourceline; // Source line of the thinker
} noenemies_t; };
typedef struct struct continuousfall_t
{ {
thinker_t thinker; thinker_t thinker;
sector_t *sector; sector_t *sector;
@ -847,9 +847,9 @@ typedef struct
fixed_t floorstartheight; fixed_t floorstartheight;
fixed_t ceilingstartheight; fixed_t ceilingstartheight;
fixed_t destheight; fixed_t destheight;
} continuousfall_t; };
typedef struct struct bouncecheese_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; line_t *sourceline;
@ -859,9 +859,9 @@ typedef struct
fixed_t floorwasheight; fixed_t floorwasheight;
fixed_t ceilingwasheight; fixed_t ceilingwasheight;
boolean low; boolean low;
} bouncecheese_t; };
typedef struct struct mariothink_t
{ {
thinker_t thinker; thinker_t thinker;
sector_t *sector; sector_t *sector;
@ -870,16 +870,16 @@ typedef struct
fixed_t floorstartheight; fixed_t floorstartheight;
fixed_t ceilingstartheight; fixed_t ceilingstartheight;
INT16 tag; INT16 tag;
} mariothink_t; };
typedef struct struct mariocheck_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; line_t *sourceline;
sector_t *sector; sector_t *sector;
} mariocheck_t; };
typedef struct struct thwomp_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; line_t *sourceline;
@ -893,23 +893,23 @@ typedef struct
INT16 tag; INT16 tag;
UINT16 sound; UINT16 sound;
INT32 initDelay; INT32 initDelay;
} thwomp_t; };
typedef struct struct floatthink_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; line_t *sourceline;
sector_t *sector; sector_t *sector;
INT16 tag; INT16 tag;
} floatthink_t; };
typedef struct struct eachtime_t
{ {
thinker_t thinker; thinker_t thinker;
line_t *sourceline; // Source line of the thinker line_t *sourceline; // Source line of the thinker
boolean playersInArea[MAXPLAYERS]; boolean playersInArea[MAXPLAYERS];
boolean triggerOnExit; boolean triggerOnExit;
} eachtime_t; };
typedef enum typedef enum
{ {
@ -918,7 +918,7 @@ typedef enum
RF_DYNAMIC = 1<<2, //Dynamically sinking platform RF_DYNAMIC = 1<<2, //Dynamically sinking platform
} raiseflag_t; } raiseflag_t;
typedef struct struct raise_t
{ {
thinker_t thinker; thinker_t thinker;
INT16 tag; INT16 tag;
@ -929,7 +929,7 @@ typedef struct
fixed_t extraspeed; //For dynamically sinking platform fixed_t extraspeed; //For dynamically sinking platform
UINT8 shaketimer; //For dynamically sinking platform UINT8 shaketimer; //For dynamically sinking platform
UINT8 flags; UINT8 flags;
} raise_t; };
#define ELEVATORSPEED (FRACUNIT*4) #define ELEVATORSPEED (FRACUNIT*4)
#define FLOORSPEED (FRACUNIT) #define FLOORSPEED (FRACUNIT)
@ -971,20 +971,20 @@ void T_EachTimeThinker(eachtime_t *eachtime);
void T_CameraScanner(elevator_t *elevator); void T_CameraScanner(elevator_t *elevator);
void T_RaiseSector(raise_t *raise); void T_RaiseSector(raise_t *raise);
typedef struct struct executor_t
{ {
thinker_t thinker; // Thinker for linedef executor delay thinker_t thinker; // Thinker for linedef executor delay
line_t *line; // Pointer to line that is waiting. line_t *line; // Pointer to line that is waiting.
mobj_t *caller; // Pointer to calling mobj mobj_t *caller; // Pointer to calling mobj
sector_t *sector; // Pointer to triggering sector sector_t *sector; // Pointer to triggering sector
INT32 timer; // Delay timer INT32 timer; // Delay timer
} executor_t; };
void T_ExecutorDelay(executor_t *e); void T_ExecutorDelay(executor_t *e);
/** Generalized scroller. /** Generalized scroller.
*/ */
typedef struct struct scroll_t
{ {
thinker_t thinker; ///< Thinker structure for scrolling. thinker_t thinker; ///< Thinker structure for scrolling.
fixed_t dx, dy; ///< (dx,dy) scroll speeds. fixed_t dx, dy; ///< (dx,dy) scroll speeds.
@ -1004,14 +1004,14 @@ typedef struct
sc_carry, ///< Carry objects on floor. sc_carry, ///< Carry objects on floor.
sc_carry_ceiling,///< Carry objects on ceiling (for 3Dfloor conveyors). sc_carry_ceiling,///< Carry objects on ceiling (for 3Dfloor conveyors).
} type; } type;
} scroll_t; };
void T_Scroll(scroll_t *s); void T_Scroll(scroll_t *s);
void T_LaserFlash(laserthink_t *flash); void T_LaserFlash(laserthink_t *flash);
/** Friction for ice/sludge effects. /** Friction for ice/sludge effects.
*/ */
typedef struct struct friction_t
{ {
thinker_t thinker; ///< Thinker structure for friction. thinker_t thinker; ///< Thinker structure for friction.
INT32 friction; ///< Friction value, 0xe800 = normal. INT32 friction; ///< Friction value, 0xe800 = normal.
@ -1019,7 +1019,7 @@ typedef struct
INT32 affectee; ///< Number of affected sector. 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. 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 UINT8 roverfriction; ///< flag for whether friction originated from a FOF or not
} friction_t; };
// Friction defines. // Friction defines.
#define ORIG_FRICTION (0xF5 << (FRACBITS-8)) ///< Original value. #define ORIG_FRICTION (0xF5 << (FRACBITS-8)) ///< Original value.
@ -1033,7 +1033,7 @@ typedef enum
} pushertype_e; } pushertype_e;
// Model for pushers for push/pull effects // Model for pushers for push/pull effects
typedef struct struct pusher_t
{ {
thinker_t thinker; ///< Thinker structure for pusher effect. thinker_t thinker; ///< Thinker structure for pusher effect.
pushertype_e type; ///< Type of 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 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 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? INT32 slider; /// < Should the player go into an uncontrollable slide?
} pusher_t; };
// Model for disappearing/reappearing FOFs // Model for disappearing/reappearing FOFs
typedef struct struct disappear_t
{ {
thinker_t thinker; ///< Thinker structure for effect. thinker_t thinker; ///< Thinker structure for effect.
tic_t appeartime; ///< Tics to be appeared for tic_t appeartime; ///< Tics to be appeared for
@ -1058,12 +1058,12 @@ typedef struct
INT32 affectee; ///< Number of affected line INT32 affectee; ///< Number of affected line
INT32 sourceline; ///< Number of source line INT32 sourceline; ///< Number of source line
INT32 exists; ///< Exists toggle INT32 exists; ///< Exists toggle
} disappear_t; };
void T_Disappear(disappear_t *d); void T_Disappear(disappear_t *d);
// Model for fading FOFs // Model for fading FOFs
typedef struct struct fade_t
{ {
thinker_t thinker; ///< Thinker structure for effect. thinker_t thinker; ///< Thinker structure for effect.
ffloor_t *rover; ///< Target ffloor ffloor_t *rover; ///< Target ffloor
@ -1084,13 +1084,13 @@ typedef struct
boolean docollision; ///< Handle interactive flags boolean docollision; ///< Handle interactive flags
boolean doghostfade; ///< No interactive flags during fading boolean doghostfade; ///< No interactive flags during fading
boolean exactalpha; ///< Use exact alpha values (opengl) boolean exactalpha; ///< Use exact alpha values (opengl)
} fade_t; };
void T_Fade(fade_t *d); void T_Fade(fade_t *d);
// Model for fading colormaps // Model for fading colormaps
typedef struct struct fadecolormap_t
{ {
thinker_t thinker; ///< Thinker structure for effect. thinker_t thinker; ///< Thinker structure for effect.
sector_t *sector; ///< Sector where action is taking place. sector_t *sector; ///< Sector where action is taking place.
@ -1099,7 +1099,7 @@ typedef struct
boolean ticbased; ///< Tic-based timing boolean ticbased; ///< Tic-based timing
INT32 duration; ///< Total duration for tic-based logic (OR: speed increment) INT32 duration; ///< Total duration for tic-based logic (OR: speed increment)
INT32 timer; ///< Timer for tic-based logic (OR: internal speed counter) INT32 timer; ///< Timer for tic-based logic (OR: internal speed counter)
} fadecolormap_t; };
void T_FadeColormap(fadecolormap_t *d); void T_FadeColormap(fadecolormap_t *d);
@ -1107,7 +1107,7 @@ void T_FadeColormap(fadecolormap_t *d);
void T_Pusher(pusher_t *p); void T_Pusher(pusher_t *p);
// Plane displacement // Plane displacement
typedef struct struct planedisplace_t
{ {
thinker_t thinker; ///< Thinker structure for plane displacement effect. thinker_t thinker; ///< Thinker structure for plane displacement effect.
INT32 affectee; ///< Number of affected sector. INT32 affectee; ///< Number of affected sector.
@ -1123,7 +1123,7 @@ typedef struct
pd_ceiling, ///< Displace ceiling. pd_ceiling, ///< Displace ceiling.
pd_both, ///< Displace both floor AND ceiling. pd_both, ///< Displace both floor AND ceiling.
} type; } type;
} planedisplace_t; };
void T_PlaneDisplace(planedisplace_t *pd); void T_PlaneDisplace(planedisplace_t *pd);

View file

@ -23,12 +23,12 @@
#endif #endif
// Store lists of lumps for F_START/F_END etc. // Store lists of lumps for F_START/F_END etc.
typedef struct struct lumplist_t
{ {
UINT16 wadfile; UINT16 wadfile;
UINT16 firstlump; UINT16 firstlump;
size_t numlumps; size_t numlumps;
} lumplist_t; };
UINT32 ASTBlendPixel(RGBA_t background, RGBA_t foreground, int style, UINT8 alpha); UINT32 ASTBlendPixel(RGBA_t background, RGBA_t foreground, int style, UINT8 alpha);
UINT32 ASTBlendTexturePixel(RGBA_t background, RGBA_t foreground, int style, UINT8 alpha); UINT32 ASTBlendTexturePixel(RGBA_t background, RGBA_t foreground, int style, UINT8 alpha);

View file

@ -35,11 +35,11 @@
// Clips the given range of columns // Clips the given range of columns
// and includes it in the new clip list. // and includes it in the new clip list.
// //
typedef struct struct cliprange_t
{ {
INT32 first; INT32 first;
INT32 last; INT32 last;
} cliprange_t; };
// Silhouette, needed for clipping segs (mainly) and sprites representing things. // Silhouette, needed for clipping segs (mainly) and sprites representing things.
#define SIL_NONE 0 #define SIL_NONE 0
@ -57,7 +57,7 @@ typedef UINT8 lighttable_t;
#define CMF_FOG 4 #define CMF_FOG 4
// ExtraColormap type. Use for extra_colormaps from now on. // ExtraColormap type. Use for extra_colormaps from now on.
typedef struct extracolormap_s struct extracolormap_t
{ {
UINT8 fadestart, fadeend; UINT8 fadestart, fadeend;
UINT8 flags; UINT8 flags;
@ -74,9 +74,9 @@ typedef struct extracolormap_s
char lumpname[9]; // for netsyncing char lumpname[9]; // for netsyncing
#endif #endif
struct extracolormap_s *next; extracolormap_t *next;
struct extracolormap_s *prev; extracolormap_t *prev;
} extracolormap_t; };
// //
// INTERNAL MAP TYPES used by play and refresh // INTERNAL MAP TYPES used by play and refresh
@ -84,28 +84,25 @@ typedef struct extracolormap_s
/** Your plain vanilla vertex. /** Your plain vanilla vertex.
*/ */
typedef struct struct vertex_t
{ {
fixed_t x, y; fixed_t x, y;
boolean floorzset, ceilingzset; boolean floorzset, ceilingzset;
fixed_t floorz, ceilingz; fixed_t floorz, ceilingz;
} vertex_t; };
// Forward of linedefs, for sectors.
struct line_s;
/** Degenerate version of ::mobj_t, storing only a location. /** Degenerate version of ::mobj_t, storing only a location.
* Used for sound origins in sectors, hoop centers, and the like. Does not * Used for sound origins in sectors, hoop centers, and the like. Does not
* handle sound from moving objects (doppler), because position is probably * handle sound from moving objects (doppler), because position is probably
* just buffered, not updated. * just buffered, not updated.
*/ */
typedef struct struct degenmobj_t
{ {
thinker_t thinker; ///< Not used for anything. thinker_t thinker; ///< Not used for anything.
fixed_t x; ///< X coordinate. fixed_t x; ///< X coordinate.
fixed_t y; ///< Y coordinate. fixed_t y; ///< Y coordinate.
fixed_t z; ///< Z coordinate. fixed_t z; ///< Z coordinate.
} degenmobj_t; };
#include "p_polyobj.h" #include "p_polyobj.h"
@ -208,7 +205,7 @@ typedef enum
BT_STRONG, BT_STRONG,
} busttype_e; } busttype_e;
typedef struct ffloor_s struct ffloor_t
{ {
fixed_t *topheight; fixed_t *topheight;
INT32 *toppic; INT32 *toppic;
@ -224,17 +221,17 @@ typedef struct ffloor_s
angle_t *bottomangle; angle_t *bottomangle;
// Pointers to pointers. Yup. // Pointers to pointers. Yup.
struct pslope_s **t_slope; pslope_t **t_slope;
struct pslope_s **b_slope; pslope_t **b_slope;
size_t secnum; size_t secnum;
ffloortype_e fofflags; ffloortype_e fofflags;
struct line_s *master; line_t *master;
struct sector_s *target; sector_t *target;
struct ffloor_s *next; ffloor_t *next;
struct ffloor_s *prev; ffloor_t *prev;
INT32 lastlight; INT32 lastlight;
INT32 alpha; INT32 alpha;
@ -258,25 +255,25 @@ typedef struct ffloor_s
INT32 spawnalpha; // alpha the 3D floor spawned with INT32 spawnalpha; // alpha the 3D floor spawned with
void *fadingdata; // fading FOF thinker void *fadingdata; // fading FOF thinker
} ffloor_t; };
// This struct holds information for shadows casted by 3D floors. // This struct holds information for shadows casted by 3D floors.
// This information is contained inside the sector_t and is used as the base // This information is contained inside the sector_t and is used as the base
// information for casted shadows. // information for casted shadows.
typedef struct lightlist_s struct lightlist_t
{ {
fixed_t height; fixed_t height;
INT16 *lightlevel; INT16 *lightlevel;
extracolormap_t **extra_colormap; // pointer-to-a-pointer, so we can react to colormap changes extracolormap_t **extra_colormap; // pointer-to-a-pointer, so we can react to colormap changes
INT32 flags; INT32 flags;
ffloor_t *caster; ffloor_t *caster;
struct pslope_s *slope; // FOF_DOUBLESHADOW makes me have to store this pointer here. Bluh bluh. pslope_t *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... // This struct is used for rendering walls with shadows casted on them...
typedef struct r_lightlist_s struct r_lightlist_t
{ {
fixed_t height; fixed_t height;
fixed_t heightstep; fixed_t heightstep;
@ -288,7 +285,7 @@ typedef struct r_lightlist_s
lighttable_t *rcolormap; lighttable_t *rcolormap;
ffloortype_e flags; ffloortype_e flags;
INT32 lightnum; INT32 lightnum;
} r_lightlist_t; };
// Slopes // Slopes
typedef enum { typedef enum {
@ -296,10 +293,10 @@ typedef enum {
SL_DYNAMIC = 1<<1, /// This plane slope will be assigned a thinker to make it dynamic. SL_DYNAMIC = 1<<1, /// This plane slope will be assigned a thinker to make it dynamic.
} slopeflags_t; } slopeflags_t;
typedef struct pslope_s struct pslope_t
{ {
UINT16 id; // The number of the slope, mostly used for netgame syncing purposes 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 pslope_t *next; // Make a linked list of dynamic slopes, for easy reference later
// The plane's definition. // The plane's definition.
vector3_t o; /// Plane origin. vector3_t o; /// Plane origin.
@ -323,7 +320,7 @@ typedef struct pslope_s
#ifdef HWRENDER #ifdef HWRENDER
INT16 hwLightOffset; INT16 hwLightOffset;
#endif #endif
} pslope_t; };
typedef enum typedef enum
{ {
@ -399,7 +396,7 @@ typedef enum
// The SECTORS record, at runtime. // The SECTORS record, at runtime.
// Stores things/mobjs. // Stores things/mobjs.
// //
typedef struct sector_s struct sector_t
{ {
fixed_t floorheight; fixed_t floorheight;
fixed_t ceilingheight; fixed_t ceilingheight;
@ -445,10 +442,10 @@ typedef struct sector_s
// list of mobjs that are at least partially in the sector // list of mobjs that are at least partially in the sector
// thinglist is a subset of touching_thinglist // thinglist is a subset of touching_thinglist
struct msecnode_s *touching_thinglist; msecnode_t *touching_thinglist;
size_t linecount; size_t linecount;
struct line_s **lines; // [linecount] size line_t **lines; // [linecount] size
// Improved fake floor hack // Improved fake floor hack
ffloor_t *ffloors; ffloor_t *ffloors;
@ -480,14 +477,14 @@ typedef struct sector_s
fixed_t friction; fixed_t friction;
// Sprite culling feature // Sprite culling feature
struct line_s *cullheight; line_t *cullheight;
// Current speed of ceiling/floor. For Knuckles to hold onto stuff. // Current speed of ceiling/floor. For Knuckles to hold onto stuff.
fixed_t floorspeed, ceilspeed; fixed_t floorspeed, ceilspeed;
// list of precipitation mobjs in sector // list of precipitation mobjs in sector
precipmobj_t *preciplist; precipmobj_t *preciplist;
struct mprecipsecnode_s *touching_preciplist; mprecipsecnode_t *touching_preciplist;
// Eternity engine slope // Eternity engine slope
pslope_t *f_slope; // floor slope pslope_t *f_slope; // floor slope
@ -499,7 +496,7 @@ typedef struct sector_s
// colormap structure // colormap structure
extracolormap_t *spawn_extra_colormap; extracolormap_t *spawn_extra_colormap;
} sector_t; };
// //
// Move clipping aid for linedefs. // Move clipping aid for linedefs.
@ -517,7 +514,7 @@ typedef enum
#define NUMLINEARGS 10 #define NUMLINEARGS 10
#define NUMLINESTRINGARGS 2 #define NUMLINESTRINGARGS 2
typedef struct line_s struct line_t
{ {
// Vertices, from v1 to v2. // Vertices, from v1 to v2.
vertex_t *v1; vertex_t *v1;
@ -556,9 +553,9 @@ typedef struct line_s
char *text; // a concatenation of all front and back texture names, for linedef specials that require a string. 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 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 // add this to the calculated texture column
fixed_t textureoffset; fixed_t textureoffset;
@ -582,7 +579,7 @@ typedef struct
char *text; // a concatenation of all top, bottom, and mid texture names, for linedef specials that require a string. 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. extracolormap_t *colormap_data; // storage for colormaps; not applied to sectors.
} side_t; };
// //
// A subsector. // A subsector.
@ -590,14 +587,14 @@ typedef struct
// Basically, this is a list of linesegs, indicating the visible walls that define // Basically, this is a list of linesegs, indicating the visible walls that define
// (all or some) sides of a convex BSP leaf. // (all or some) sides of a convex BSP leaf.
// //
typedef struct subsector_s struct subsector_t
{ {
sector_t *sector; sector_t *sector;
INT16 numlines; INT16 numlines;
UINT16 firstline; UINT16 firstline;
struct polyobj_s *polyList; // haleyjd 02/19/06: list of polyobjects polyobj_t *polyList; // haleyjd 02/19/06: list of polyobjects
size_t validcount; size_t validcount;
} subsector_t; };
// Sector list node showing all sectors an object appears in. // Sector list node showing all sectors an object appears in.
// //
@ -613,32 +610,32 @@ typedef struct subsector_s
// //
// For the links, NULL means top or end of list. // For the links, NULL means top or end of list.
typedef struct msecnode_s struct msecnode_t
{ {
sector_t *m_sector; // a sector containing this object sector_t *m_sector; // a sector containing this object
struct mobj_s *m_thing; // this object mobj_t *m_thing; // this object
struct msecnode_s *m_sectorlist_prev; // prev msecnode_t for this thing msecnode_t *m_sectorlist_prev; // prev msecnode_t for this thing
struct msecnode_s *m_sectorlist_next; // next msecnode_t for this thing msecnode_t *m_sectorlist_next; // next msecnode_t for this thing
struct msecnode_s *m_thinglist_prev; // prev msecnode_t for this sector msecnode_t *m_thinglist_prev; // prev msecnode_t for this sector
struct msecnode_s *m_thinglist_next; // next msecnode_t for this sector msecnode_t *m_thinglist_next; // next msecnode_t for this sector
boolean visited; // used in search algorithms boolean visited; // used in search algorithms
} msecnode_t; };
typedef struct mprecipsecnode_s struct mprecipsecnode_t
{ {
sector_t *m_sector; // a sector containing this object sector_t *m_sector; // a sector containing this object
struct precipmobj_s *m_thing; // this object precipmobj_t *m_thing; // this object
struct mprecipsecnode_s *m_sectorlist_prev; // prev msecnode_t for this thing mprecipsecnode_t *m_sectorlist_prev; // prev msecnode_t for this thing
struct mprecipsecnode_s *m_sectorlist_next; // next msecnode_t for this thing mprecipsecnode_t *m_sectorlist_next; // next msecnode_t for this thing
struct mprecipsecnode_s *m_thinglist_prev; // prev msecnode_t for this sector mprecipsecnode_t *m_thinglist_prev; // prev msecnode_t for this sector
struct mprecipsecnode_s *m_thinglist_next; // next msecnode_t for this sector mprecipsecnode_t *m_thinglist_next; // next msecnode_t for this sector
boolean visited; // used in search algorithms boolean visited; // used in search algorithms
} mprecipsecnode_t; };
// for now, only used in hardware mode // for now, only used in hardware mode
// maybe later for software as well? // maybe later for software as well?
// that's why it's moved here // that's why it's moved here
typedef struct light_s struct light_t
{ {
UINT16 type; // light,... (cfr #define in hwr_light.c) UINT16 type; // light,... (cfr #define in hwr_light.c)
@ -651,19 +648,19 @@ typedef struct light_s
UINT32 dynamic_color; // color of the light for dynamic lighting UINT32 dynamic_color; // color of the light for dynamic lighting
float dynamic_radius; // radius of the light ball float dynamic_radius; // radius of the light ball
float dynamic_sqrradius; // radius^2 of the light ball float dynamic_sqrradius; // radius^2 of the light ball
} light_t; };
typedef struct lightmap_s struct lightmap_t
{ {
float s[2], t[2]; float s[2], t[2];
light_t *light; light_t *light;
struct lightmap_s *next; lightmap_t *next;
} lightmap_t; };
// //
// The lineseg. // The lineseg.
// //
typedef struct seg_s struct seg_t
{ {
vertex_t *v1; vertex_t *v1;
vertex_t *v2; vertex_t *v2;
@ -704,12 +701,12 @@ typedef struct seg_s
#ifdef HWRENDER #ifdef HWRENDER
INT16 hwLightOffset; INT16 hwLightOffset;
#endif #endif
} seg_t; };
// //
// BSP node. // BSP node.
// //
typedef struct struct node_t
{ {
// Partition line. // Partition line.
fixed_t x, y; fixed_t x, y;
@ -720,18 +717,18 @@ typedef struct
// If NF_SUBSECTOR its a subsector. // If NF_SUBSECTOR its a subsector.
UINT16 children[2]; UINT16 children[2];
} node_t; };
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack(1) #pragma pack(1)
#endif #endif
// posts are runs of non masked source pixels // posts are runs of non masked source pixels
typedef struct struct post_t
{ {
UINT8 topdelta; // -1 is the last post in a column UINT8 topdelta; // -1 is the last post in a column
UINT8 length; // length data bytes follows UINT8 length; // length data bytes follows
} ATTRPACK post_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()
@ -751,7 +748,7 @@ typedef post_t column_t;
// //
// ? // ?
// //
typedef struct drawseg_s struct drawseg_t
{ {
seg_t *curline; seg_t *curline;
INT32 x1; INT32 x1;
@ -771,9 +768,9 @@ typedef struct drawseg_s
INT16 *sprbottomclip; INT16 *sprbottomclip;
INT16 *maskedtexturecol; INT16 *maskedtexturecol;
struct visplane_s *ffloorplanes[MAXFFLOORS]; visplane_t *ffloorplanes[MAXFFLOORS];
INT32 numffloorplanes; INT32 numffloorplanes;
struct ffloor_s *thicksides[MAXFFLOORS]; ffloor_t *thicksides[MAXFFLOORS];
INT16 *thicksidecol; INT16 *thicksidecol;
INT32 numthicksides; INT32 numthicksides;
fixed_t frontscale[MAXVIDWIDTH]; fixed_t frontscale[MAXVIDWIDTH];
@ -783,7 +780,7 @@ typedef struct drawseg_s
fixed_t maskedtextureheight[MAXVIDWIDTH]; // For handling sloped midtextures fixed_t maskedtextureheight[MAXVIDWIDTH]; // For handling sloped midtextures
vertex_t leftpos, rightpos; // Used for rendering FOF walls with slopes vertex_t leftpos, rightpos; // Used for rendering FOF walls with slopes
} drawseg_t; };
typedef enum typedef enum
{ {
@ -795,11 +792,11 @@ typedef enum
} pic_mode_t; } pic_mode_t;
#ifdef ROTSPRITE #ifdef ROTSPRITE
typedef struct struct rotsprite_t
{ {
INT32 angles; INT32 angles;
void **patches; void **patches;
} rotsprite_t; };
#endif #endif
// Patches. // Patches.
@ -807,7 +804,7 @@ typedef struct
// Patches are used for sprites and all masked pictures, and we compose // Patches are used for sprites and all masked pictures, and we compose
// textures from the TEXTURES list of patches. // textures from the TEXTURES list of patches.
// //
typedef struct struct patch_t
{ {
INT16 width, height; INT16 width, height;
INT16 leftoffset, topoffset; INT16 leftoffset, topoffset;
@ -821,7 +818,7 @@ typedef struct
#ifdef ROTSPRITE #ifdef ROTSPRITE
rotsprite_t *rotated; // Rotated patches rotsprite_t *rotated; // Rotated patches
#endif #endif
} patch_t; };
extern patch_t *missingpat; extern patch_t *missingpat;
extern patch_t *blanklvl; extern patch_t *blanklvl;
@ -830,7 +827,7 @@ extern patch_t *blanklvl;
#pragma pack(1) #pragma pack(1)
#endif #endif
typedef struct struct softwarepatch_t
{ {
INT16 width; // bounding box size INT16 width; // bounding box size
INT16 height; INT16 height;
@ -838,14 +835,14 @@ typedef struct
INT16 topoffset; // pixels below the origin INT16 topoffset; // pixels below the origin
INT32 columnofs[8]; // only [width] used INT32 columnofs[8]; // only [width] used
// the [0] is &columnofs[width] // the [0] is &columnofs[width]
} ATTRPACK softwarepatch_t; } ATTRPACK;
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma warning(disable : 4200) #pragma warning(disable : 4200)
#endif #endif
// a pic is an unmasked block of pixels, stored in horizontal way // a pic is an unmasked block of pixels, stored in horizontal way
typedef struct struct pic_t
{ {
INT16 width; INT16 width;
UINT8 zero; // set to 0 allow autodetection of pic_t UINT8 zero; // set to 0 allow autodetection of pic_t
@ -854,7 +851,7 @@ typedef struct
INT16 height; INT16 height;
INT16 reserved1; // set to 0 INT16 reserved1; // set to 0
UINT8 data[]; UINT8 data[];
} ATTRPACK pic_t; } ATTRPACK;
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma warning(default : 4200) #pragma warning(default : 4200)
@ -951,7 +948,7 @@ typedef enum
// Or the right side: NNNNFR // Or the right side: NNNNFR
// Or both, mirrored: NNNNFLFR // Or both, mirrored: NNNNFLFR
// //
typedef struct struct spriteframe_t
{ {
// If false use 0 for any position. // If false use 0 for any position.
// Note: as eight entries are available, we might as well insert the same // Note: as eight entries are available, we might as well insert the same
@ -968,15 +965,15 @@ typedef struct
#ifdef ROTSPRITE #ifdef ROTSPRITE
rotsprite_t *rotated[2][16]; // Rotated patches rotsprite_t *rotated[2][16]; // Rotated patches
#endif #endif
} spriteframe_t; };
// //
// A sprite definition: a number of animation frames. // A sprite definition: a number of animation frames.
// //
typedef struct struct spritedef_t
{ {
size_t numframes; size_t numframes;
spriteframe_t *spriteframes; spriteframe_t *spriteframes;
} spritedef_t; };
#endif #endif

View file

@ -103,7 +103,7 @@ UINT8 *dc_transmap; // one of the translucency tables
*/ */
UINT8 *dc_translation; UINT8 *dc_translation;
struct r_lightlist_s *dc_lightlist = NULL; struct r_lightlist_t *dc_lightlist = NULL;
INT32 dc_numlights = 0, dc_maxlights, dc_texheight; INT32 dc_numlights = 0, dc_maxlights, dc_texheight;
// ========================================================================= // =========================================================================

View file

@ -47,7 +47,7 @@ extern UINT8 *dc_transmap;
extern UINT8 *dc_translation; extern UINT8 *dc_translation;
extern struct r_lightlist_s *dc_lightlist; extern struct r_lightlist_t *dc_lightlist;
extern INT32 dc_numlights, dc_maxlights; extern INT32 dc_numlights, dc_maxlights;
//Fix TUTIFRUTI //Fix TUTIFRUTI
@ -72,9 +72,9 @@ extern UINT8 *ds_source;
extern UINT8 *ds_brightmap; extern UINT8 *ds_brightmap;
extern UINT8 *ds_transmap; extern UINT8 *ds_transmap;
typedef struct { struct floatv3_t {
float x, y, z; float x, y, z;
} floatv3_t; };
// Vectors for Software's tilted slope drawers // Vectors for Software's tilted slope drawers
extern floatv3_t *ds_su, *ds_sv, *ds_sz; extern floatv3_t *ds_su, *ds_sv, *ds_sz;

View file

@ -40,7 +40,7 @@ extern enum viewcontext_e viewcontext;
#define R_GetViewNumber() ((viewcontext - VIEWCONTEXT_PLAYER1) & 3) #define R_GetViewNumber() ((viewcontext - VIEWCONTEXT_PLAYER1) & 3)
typedef struct { struct viewvars_t {
fixed_t x; fixed_t x;
fixed_t y; fixed_t y;
fixed_t z; fixed_t z;
@ -54,11 +54,11 @@ typedef struct {
fixed_t cos; fixed_t cos;
fixed_t sin; fixed_t sin;
mobj_t *mobj; mobj_t *mobj;
} viewvars_t; };
extern viewvars_t *newview; extern viewvars_t *newview;
typedef struct { struct interpmobjstate_t {
fixed_t x; fixed_t x;
fixed_t y; fixed_t y;
fixed_t z; fixed_t z;
@ -69,7 +69,7 @@ typedef struct {
fixed_t spriteyscale; fixed_t spriteyscale;
fixed_t spritexoffset; fixed_t spritexoffset;
fixed_t spriteyoffset; fixed_t spriteyoffset;
} interpmobjstate_t; };
// Level interpolators // Level interpolators
@ -83,7 +83,7 @@ typedef enum {
} levelinterpolator_type_e; } levelinterpolator_type_e;
// Tagged union of a level interpolator // Tagged union of a level interpolator
typedef struct levelinterpolator_s { struct levelinterpolator_t {
levelinterpolator_type_e type; levelinterpolator_type_e type;
thinker_t *thinker; thinker_t *thinker;
union { union {
@ -116,7 +116,7 @@ typedef struct levelinterpolator_s {
fixed_t oldzdelta, bakzdelta; fixed_t oldzdelta, bakzdelta;
} dynslope; } dynslope;
}; };
} levelinterpolator_t; };
// Interpolates the current view variables (r_state.h) against the selected view context in R_SetViewContext // Interpolates the current view variables (r_state.h) against the selected view context in R_SetViewContext
void R_InterpolateView(fixed_t frac); void R_InterpolateView(fixed_t frac);

View file

@ -92,18 +92,18 @@ typedef enum
ROTAXIS_Z // Yaw ROTAXIS_Z // Yaw
} rotaxis_t; } rotaxis_t;
typedef struct struct spriteframepivot_t
{ {
INT32 x, y; INT32 x, y;
rotaxis_t rotaxis; rotaxis_t rotaxis;
} spriteframepivot_t; };
typedef struct struct spriteinfo_t
{ {
spriteframepivot_t pivot[64 + 1]; spriteframepivot_t pivot[64 + 1];
#define SPRINFO_DEFAULT_PIVOT (64) #define SPRINFO_DEFAULT_PIVOT (64)
UINT8 available[BIT_ARRAY_SIZE(64 + 1)]; // 1 extra for default_pivot UINT8 available[BIT_ARRAY_SIZE(64 + 1)]; // 1 extra for default_pivot
} spriteinfo_t; };
// Portable Network Graphics // Portable Network Graphics
#define PNG_HEADER_SIZE (8) #define PNG_HEADER_SIZE (8)

View file

@ -28,9 +28,9 @@
// Now what is a visplane, anyway? // Now what is a visplane, anyway?
// Simple: kinda floor/ceiling polygon optimised for SRB2 rendering. // Simple: kinda floor/ceiling polygon optimised for SRB2 rendering.
// //
typedef struct visplane_s struct visplane_t
{ {
struct visplane_s *next; visplane_t *next;
fixed_t height; fixed_t height;
fixed_t viewx, viewy, viewz; fixed_t viewx, viewy, viewz;
@ -50,13 +50,13 @@ typedef struct visplane_s
fixed_t xoffs, yoffs; // Scrolling flats. fixed_t xoffs, yoffs; // Scrolling flats.
struct ffloor_s *ffloor; ffloor_t *ffloor;
polyobj_t *polyobj; polyobj_t *polyobj;
pslope_t *slope; pslope_t *slope;
boolean noencore; boolean noencore;
boolean ripple; boolean ripple;
} visplane_t; };
extern visplane_t *visplanes[MAXVISPLANES]; extern visplane_t *visplanes[MAXVISPLANES];
extern visplane_t *floorplane; extern visplane_t *floorplane;
@ -104,7 +104,7 @@ void R_CalculateSlopeVectors(void);
// Sets the slope vector pointers for the current tilted span. // Sets the slope vector pointers for the current tilted span.
void R_SetTiltedSpan(INT32 span); void R_SetTiltedSpan(INT32 span);
typedef struct planemgr_s struct visffloor_t
{ {
visplane_t *plane; visplane_t *plane;
fixed_t height; fixed_t height;
@ -119,11 +119,11 @@ typedef struct planemgr_s
fixed_t f_pos_slope; fixed_t f_pos_slope;
fixed_t b_pos_slope; fixed_t b_pos_slope;
struct pslope_s *slope; pslope_t *slope;
struct ffloor_s *ffloor; ffloor_t *ffloor;
polyobj_t *polyobj; polyobj_t *polyobj;
} visffloor_t; };
extern visffloor_t ffloor[MAXFFLOORS]; extern visffloor_t ffloor[MAXFFLOORS];
extern INT32 numffloors; extern INT32 numffloors;

View file

@ -20,9 +20,9 @@
/** Portal structure for the software renderer. /** Portal structure for the software renderer.
*/ */
typedef struct portal_s struct portal_t
{ {
struct portal_s *next; portal_t *next;
// Viewport. // Viewport.
fixed_t viewx; fixed_t viewx;
@ -39,7 +39,7 @@ typedef struct portal_s
INT16 *ceilingclip; /**< Temporary screen top clipping array. */ INT16 *ceilingclip; /**< Temporary screen top clipping array. */
INT16 *floorclip; /**< Temporary screen bottom clipping array. */ INT16 *floorclip; /**< Temporary screen bottom clipping array. */
fixed_t *frontscale;/**< Temporary screen bottom clipping array. */ fixed_t *frontscale;/**< Temporary screen bottom clipping array. */
} portal_t; };
extern portal_t* portal_base; extern portal_t* portal_base;
extern portal_t* portal_cap; extern portal_t* portal_cap;

View file

@ -30,7 +30,7 @@
#define DEFAULTSKIN4 "knuckles" // fourth player #define DEFAULTSKIN4 "knuckles" // fourth player
/// The skin_t struct /// The skin_t struct
typedef struct struct skin_t
{ {
char name[SKINNAMESIZE+1]; // INT16 descriptive name of the skin char name[SKINNAMESIZE+1]; // INT16 descriptive name of the skin
UINT16 wadnum; UINT16 wadnum;
@ -61,7 +61,7 @@ typedef struct
// contains super versions too // contains super versions too
spritedef_t sprites[NUMPLAYERSPRITES*2]; spritedef_t sprites[NUMPLAYERSPRITES*2];
spriteinfo_t sprinfo[NUMPLAYERSPRITES*2]; spriteinfo_t sprinfo[NUMPLAYERSPRITES*2];
} skin_t; };
enum facepatches { enum facepatches {
FACE_RANK = 0, FACE_RANK = 0,

View file

@ -28,7 +28,7 @@ struct rastery_s
}; };
extern struct rastery_s *prastertab; // for ASM code extern struct rastery_s *prastertab; // for ASM code
typedef struct floorsplat_s struct floorsplat_t
{ {
UINT16 *pic; UINT16 *pic;
INT32 width, height; INT32 width, height;
@ -39,7 +39,7 @@ typedef struct floorsplat_s
vector3_t verts[4]; // (x,y,z) as viewed from above on map vector3_t verts[4]; // (x,y,z) as viewed from above on map
fixed_t x, y, z; // position fixed_t x, y, z; // position
mobj_t *mobj; // Mobj it is tied to mobj_t *mobj; // Mobj it is tied to
} floorsplat_t; };
void R_DrawFloorSplat(vissprite_t *spr); void R_DrawFloorSplat(vissprite_t *spr);

View file

@ -28,13 +28,13 @@
// //
// needed for pre rendering (fracs) // needed for pre rendering (fracs)
typedef struct struct sprcache_t
{ {
fixed_t width; fixed_t width;
fixed_t offset; fixed_t offset;
fixed_t topoffset; fixed_t topoffset;
fixed_t height; fixed_t height;
} sprcache_t; };
extern sprcache_t *spritecachedinfo; extern sprcache_t *spritecachedinfo;

View file

@ -28,7 +28,7 @@
// A single patch from a texture definition, // A single patch from a texture definition,
// basically a rectangular area within // basically a rectangular area within
// the texture rectangle. // the texture rectangle.
typedef struct struct texpatch_t
{ {
// Block origin (always UL), which has already accounted for the internal origin of the patch. // Block origin (always UL), which has already accounted for the internal origin of the patch.
INT16 originx, originy; INT16 originx, originy;
@ -36,7 +36,7 @@ typedef struct
UINT8 flip; // 1 = flipx, 2 = flipy, 3 = both UINT8 flip; // 1 = flipx, 2 = flipy, 3 = both
UINT8 alpha; // Translucency value UINT8 alpha; // Translucency value
patchalphastyle_t style; patchalphastyle_t style;
} texpatch_t; };
// texture type // texture type
enum enum
@ -52,7 +52,7 @@ enum
// A texture_t describes a rectangular texture, // A texture_t describes a rectangular texture,
// which is composed of one or more texpatch_t structures // which is composed of one or more texpatch_t structures
// that arrange graphic patches. // that arrange graphic patches.
typedef struct struct texture_t
{ {
// Keep name for switch changing, etc. // Keep name for switch changing, etc.
char name[8]; char name[8];
@ -66,7 +66,7 @@ typedef struct
// All the patches[patchcount] are drawn back to front into the cached texture. // All the patches[patchcount] are drawn back to front into the cached texture.
INT16 patchcount; INT16 patchcount;
texpatch_t patches[]; texpatch_t patches[];
} texture_t; };
// all loaded and prepared textures from the start of the game // all loaded and prepared textures from the start of the game
extern texture_t **textures; extern texture_t **textures;

View file

@ -96,13 +96,13 @@ boolean R_ThingIsFlashing(mobj_t *thing);
* per portal to later group them in separate * per portal to later group them in separate
* drawnode lists. * drawnode lists.
*/ */
typedef struct struct maskcount_t
{ {
size_t drawsegs[2]; size_t drawsegs[2];
size_t vissprites[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. */ 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; sector_t* viewsector;
} maskcount_t; };
void R_DrawMasked(maskcount_t* masks, INT32 nummasks); void R_DrawMasked(maskcount_t* masks, INT32 nummasks);
@ -145,14 +145,14 @@ typedef enum
// A vissprite_t is a thing that will be drawn during a refresh, // A vissprite_t is a thing that will be drawn during a refresh,
// i.e. a sprite object that is partly visible. // i.e. a sprite object that is partly visible.
typedef struct vissprite_s struct vissprite_t
{ {
// Doubly linked list. // Doubly linked list.
struct vissprite_s *prev; vissprite_t *prev;
struct vissprite_s *next; vissprite_t *next;
// Bonus linkdraw pointer. // Bonus linkdraw pointer.
struct vissprite_s *linkdraw; vissprite_t *linkdraw;
mobj_t *mobj; // for easy access mobj_t *mobj; // for easy access
@ -219,7 +219,7 @@ typedef struct vissprite_s
INT32 dispoffset; // copy of info->dispoffset, affects ordering but not drawing INT32 dispoffset; // copy of info->dispoffset, affects ordering but not drawing
fixed_t floorclip; // Cut off your tires in tall grass fixed_t floorclip; // Cut off your tires in tall grass
} vissprite_t; };
extern UINT32 visspritecount; 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 // A drawnode is something that points to a 3D floor, 3D side, or masked
// middle texture. This is used for sorting with sprites. // middle texture. This is used for sorting with sprites.
typedef struct drawnode_s struct drawnode_t
{ {
visplane_t *plane; visplane_t *plane;
drawseg_t *seg; drawseg_t *seg;
@ -244,9 +244,9 @@ typedef struct drawnode_s
ffloor_t *ffloor; ffloor_t *ffloor;
vissprite_t *sprite; vissprite_t *sprite;
struct drawnode_s *next; drawnode_t *next;
struct drawnode_s *prev; drawnode_t *prev;
} drawnode_t; };
void R_InitDrawNodes(void); void R_InitDrawNodes(void);

View file

@ -66,12 +66,12 @@ typedef enum
SF_X2AWAYSOUND = 64, // Hear it from 2x the distance away SF_X2AWAYSOUND = 64, // Hear it from 2x the distance away
} soundflags_t; } soundflags_t;
typedef struct { struct listener_t {
fixed_t x, y, z; fixed_t x, y, z;
angle_t angle; angle_t angle;
} listener_t; };
typedef struct struct channel_t
{ {
// sound information (if null, channel avail.) // sound information (if null, channel avail.)
sfxinfo_t *sfxinfo; sfxinfo_t *sfxinfo;
@ -85,14 +85,14 @@ typedef struct
// handle of the sound being played // handle of the sound being played
INT32 handle; INT32 handle;
} channel_t; };
typedef struct { struct caption_t {
channel_t *c; channel_t *c;
sfxinfo_t *s; sfxinfo_t *s;
UINT16 t; UINT16 t;
UINT8 b; UINT8 b;
} caption_t; };
#define NUMCAPTIONS 8 #define NUMCAPTIONS 8
#define MAXCAPTIONTICS (2*TICRATE) #define MAXCAPTIONTICS (2*TICRATE)
@ -170,14 +170,14 @@ boolean S_MusicInfo(char *mname, UINT16 *mflags, boolean *looping);
boolean S_SpeedMusic(float speed); boolean S_SpeedMusic(float speed);
// Music credits // Music credits
typedef struct musicdef_s struct musicdef_t
{ {
char name[7]; char name[7];
//char usage[256]; //char usage[256];
char source[256]; char source[256];
int volume; int volume;
struct musicdef_s *next; musicdef_t *next;
} musicdef_t; };
extern struct cursongcredit extern struct cursongcredit
{ {
@ -218,7 +218,7 @@ UINT32 S_GetMusicPosition(void);
// Music Stacking (Jingles) // Music Stacking (Jingles)
// //
typedef struct musicstack_s struct musicstack_t
{ {
char musname[7]; char musname[7];
UINT16 musflags; UINT16 musflags;
@ -229,9 +229,9 @@ typedef struct musicstack_s
lumpnum_t mlumpnum; lumpnum_t mlumpnum;
boolean noposition; // force music stack resuming from zero (like music_stack_noposition) boolean noposition; // force music stack resuming from zero (like music_stack_noposition)
struct musicstack_s *prev; musicstack_t *prev;
struct musicstack_s *next; musicstack_t *next;
} musicstack_t; };
extern char music_stack_nextmusname[7]; extern char music_stack_nextmusname[7];
extern boolean music_stack_noposition; extern boolean music_stack_noposition;

View file

@ -45,7 +45,7 @@
#define BASEVIDHEIGHT 200 // resolution of the graphics. #define BASEVIDHEIGHT 200 // resolution of the graphics.
// global video state // global video state
typedef struct viddef_s struct viddef_t
{ {
INT32 modenum; // vidmode num indexes videomodes list INT32 modenum; // vidmode num indexes videomodes list
@ -74,7 +74,7 @@ typedef struct viddef_s
INT32/*fixed_t*/ fmeddupx, fmeddupy; INT32/*fixed_t*/ fmeddupx, fmeddupy;
INT32 glstate; INT32 glstate;
#endif #endif
} viddef_t; };
enum enum
{ {
@ -84,16 +84,16 @@ enum
}; };
// internal additional info for vesa modes only // internal additional info for vesa modes only
typedef struct struct vesa_extra_t
{ {
INT32 vesamode; // vesa mode number plus LINEAR_MODE bit INT32 vesamode; // vesa mode number plus LINEAR_MODE bit
void *plinearmem; // linear address of start of frame buffer void *plinearmem; // linear address of start of frame buffer
} vesa_extra_t; };
// a video modes from the video modes list, // a video modes from the video modes list,
// note: video mode 0 is always standard VGA320x200. // note: video mode 0 is always standard VGA320x200.
typedef struct vmode_s struct vmode_t
{ {
struct vmode_s *pnext; vmode_t *pnext;
char *name; char *name;
UINT32 width, height; UINT32 width, height;
UINT32 rowbytes; // bytes per scanline UINT32 rowbytes; // bytes per scanline
@ -102,12 +102,12 @@ typedef struct vmode_s
INT32 numpages; INT32 numpages;
vesa_extra_t *pextradata; // vesa mode extra data vesa_extra_t *pextradata; // vesa mode extra data
#ifdef _WIN32 #ifdef _WIN32
INT32 (WINAPI *setmode)(viddef_t *lvid, struct vmode_s *pcurrentmode); INT32 (WINAPI *setmode)(viddef_t *lvid, vmode_t *pcurrentmode);
#else #else
INT32 (*setmode)(viddef_t *lvid, struct vmode_s *pcurrentmode); INT32 (*setmode)(viddef_t *lvid, vmode_t *pcurrentmode);
#endif #endif
INT32 misc; // misc for display driver (r_opengl.dll etc) INT32 misc; // misc for display driver (r_opengl.dll etc)
} vmode_t; };
#define NUMSPECIALMODES 4 #define NUMSPECIALMODES 4
extern vmode_t specialmodes[NUMSPECIALMODES]; extern vmode_t specialmodes[NUMSPECIALMODES];

View file

@ -62,9 +62,8 @@ typedef enum
// //
// SoundFX struct. // SoundFX struct.
// //
typedef struct sfxinfo_struct sfxinfo_t;
struct sfxinfo_struct struct sfxinfo_t
{ {
// up to 6-character name // up to 6-character name
const char *name; const char *name;

View file

@ -21,11 +21,11 @@ typedef INT16 mtag_t;
#define MTAG_GLOBAL -1 #define MTAG_GLOBAL -1
/// Multitag list. Each taggable element will have its own taglist. /// Multitag list. Each taggable element will have its own taglist.
typedef struct struct taglist_t
{ {
mtag_t* tags; mtag_t* tags;
UINT16 count; UINT16 count;
} taglist_t; };
void Tag_Add (taglist_t* list, const mtag_t tag); void Tag_Add (taglist_t* list, const mtag_t tag);
void Tag_Remove (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); void Tag_SectorFSet (const size_t id, const mtag_t tag);
/// Taggroup list. It is essentially just an element id list. /// Taggroup list. It is essentially just an element id list.
typedef struct struct taggroup_t
{ {
size_t *elements; size_t *elements;
size_t count; size_t count;
size_t capacity; size_t capacity;
} taggroup_t; };
extern bitarray_t tags_available[]; extern bitarray_t tags_available[];

397
src/typedef.h Normal file
View 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);
TYPEDEF (consvar_t);
// d_netcmd.h
TYPEDEF (changeteam_packet_t);
TYPEDEF (changeteam_value_t);
TYPEDEF (scheduleTask_t);
// discord.h
TYPEDEF (discordRequest_t);
// d_player.h
TYPEDEF (respawnvars_t);
TYPEDEF (botvars_t);
TYPEDEF (skybox_t);
TYPEDEF (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);
TYPEDEF (rewind_t);
// d_event.h
TYPEDEF (event_t);
// d_netfil.h
TYPEDEF (fileneeded_t);
TYPEDEF (HTTP_login);
TYPEDEF (luafiletransfer_t);
// d_think.h
TYPEDEF (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);
TYPEDEF (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);
TYPEDEF (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
TYPEDEF (menucolor_t);
TYPEDEF (menuitem_t);
TYPEDEF (menu_t);
TYPEDEF (menucmd_t);
TYPEDEF (setup_player_t);
TYPEDEF (modedesc_t);
// k_pathfind.h
TYPEDEF (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);
TYPEDEF (terrain_t);
TYPEDEF (t_floor_t);
// k_waypoint.h
TYPEDEF (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
TYPEDEF (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
TYPEDEF (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
TYPEDEF (mobj_t);
TYPEDEF (precipmobj_t);
TYPEDEF (actioncache_t);
// p_polyobj.h
TYPEDEF (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);
TYPEDEF (extracolormap_t);
TYPEDEF (ffloor_t);
TYPEDEF (lightlist_t);
TYPEDEF (r_lightlist_t);
TYPEDEF (pslope_t);
TYPEDEF (sector_t);
TYPEDEF (line_t);
TYPEDEF (side_t);
TYPEDEF (subsector_t);
TYPEDEF (msecnode_t);
TYPEDEF (mprecipsecnode_t);
TYPEDEF (lightmap_t);
TYPEDEF (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
TYPEDEF (visplane_t);
TYPEDEF (visffloor_t);
// r_portal.h
TYPEDEF (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);
TYPEDEF (vissprite_t);
TYPEDEF (drawnode_t);
// s_sound.h
TYPEDEF (listener_t);
TYPEDEF (channel_t);
TYPEDEF (caption_t);
TYPEDEF (musicdef_t);
TYPEDEF (musicstack_t);
// screen.h
TYPEDEF (viddef_t);
TYPEDEF (vesa_extra_t);
TYPEDEF (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

View file

@ -46,12 +46,12 @@ void V_Recalc(void);
// Color look-up table // Color look-up table
#define CLUTINDEX(r, g, b) (((r) >> 3) << 11) | (((g) >> 2) << 5) | ((b) >> 3) #define CLUTINDEX(r, g, b) (((r) >> 3) << 11) | (((g) >> 2) << 5) | ((b) >> 3)
typedef struct struct colorlookup_t
{ {
boolean init; boolean init;
RGBA_t palette[256]; RGBA_t palette[256];
UINT16 table[0xFFFF]; UINT16 table[0xFFFF];
} colorlookup_t; };
void InitColorLUT(colorlookup_t *lut, RGBA_t *palette, boolean makecolors); void InitColorLUT(colorlookup_t *lut, RGBA_t *palette, boolean makecolors);
UINT8 GetColorLUT(colorlookup_t *lut, UINT8 r, UINT8 g, UINT8 b); UINT8 GetColorLUT(colorlookup_t *lut, UINT8 r, UINT8 g, UINT8 b);

View file

@ -27,12 +27,12 @@
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack(1) #pragma pack(1)
#endif #endif
typedef struct struct filelump_t
{ {
UINT32 filepos; // file offset of the resource UINT32 filepos; // file offset of the resource
UINT32 size; // size of the resource UINT32 size; // size of the resource
char name[8]; // name of the resource char name[8]; // name of the resource
} ATTRPACK filelump_t; } ATTRPACK;
#if defined(_MSC_VER) #if defined(_MSC_VER)
#pragma pack() #pragma pack()
#endif #endif
@ -43,12 +43,12 @@ typedef struct
// ============================================================== // ==============================================================
// header of a wad file // header of a wad file
typedef struct struct wadinfo_t
{ {
char identification[4]; // should be "IWAD" or "PWAD" char identification[4]; // should be "IWAD" or "PWAD"
UINT32 numlumps; // how many resources UINT32 numlumps; // how many resources
UINT32 infotableofs; // the 'directory' of resources UINT32 infotableofs; // the 'directory' of resources
} wadinfo_t; };
// Available compression methods for lumps. // Available compression methods for lumps.
typedef enum typedef enum
@ -62,7 +62,7 @@ typedef enum
} compmethod; } compmethod;
// a memory entry of the wad directory // a memory entry of the wad directory
typedef struct struct lumpinfo_t
{ {
unsigned long position; // filelump_t filepos unsigned long position; // filelump_t filepos
unsigned long disksize; // filelump_t size unsigned long disksize; // filelump_t size
@ -72,22 +72,22 @@ typedef struct
char *fullname; // e.g. "Folder/Subfolder/LongEntryName.extension" char *fullname; // e.g. "Folder/Subfolder/LongEntryName.extension"
size_t size; // real (uncompressed) size size_t size; // real (uncompressed) size
compmethod compression; // lump compression method compmethod compression; // lump compression method
} lumpinfo_t; };
// ========================================================================= // =========================================================================
// 'VIRTUAL' RESOURCES // 'VIRTUAL' RESOURCES
// ========================================================================= // =========================================================================
typedef struct { struct virtlump_t {
char name[9]; char name[9];
UINT8* data; UINT8* data;
size_t size; size_t size;
} virtlump_t; };
typedef struct { struct virtres_t {
size_t numlumps; size_t numlumps;
virtlump_t* vlumps; virtlump_t* vlumps;
} virtres_t; };
virtres_t* vres_GetMap(lumpnum_t); virtres_t* vres_GetMap(lumpnum_t);
void vres_Free(virtres_t*); void vres_Free(virtres_t*);
@ -116,7 +116,7 @@ typedef enum restype
RET_UNKNOWN, RET_UNKNOWN,
} restype_t; } restype_t;
typedef struct wadfile_s struct wadfile_t
{ {
char *filename; char *filename;
restype_t type; restype_t type;
@ -129,7 +129,7 @@ typedef struct wadfile_s
UINT8 md5sum[16]; UINT8 md5sum[16];
boolean important; // also network - !W_VerifyNMUSlumps boolean important; // also network - !W_VerifyNMUSlumps
} wadfile_t; };
#define WADFILENUM(lumpnum) (UINT16)((lumpnum)>>16) // wad flumpnum>>16) // wad file number in upper word #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 #define LUMPNUM(lumpnum) (UINT16)((lumpnum)&0xFFFF) // lump number for this pwad