mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-21 11:11:16 +00:00
- panel.h cleanup.
This commit is contained in:
parent
12c63d2337
commit
994a575435
3 changed files with 131 additions and 118 deletions
|
@ -373,8 +373,8 @@ typedef struct STATEstruct STATE, *STATEp, * *STATEpp;
|
|||
//struct PIC_STATEstruct;
|
||||
//typedef struct PIC_STATEstruct PIC_STATE, *PIC_STATEp;
|
||||
|
||||
struct PANEL_STATEstruct;
|
||||
typedef struct PANEL_STATEstruct PANEL_STATE, *PANEL_STATEp;
|
||||
struct PANEL_STATE;
|
||||
typedef struct PANEL_STATE *PANEL_STATEp;
|
||||
|
||||
struct PLAYERstruct;
|
||||
typedef struct PLAYERstruct PLAYER, *PLAYERp;
|
||||
|
@ -388,8 +388,8 @@ typedef struct ATTRIBUTEstruct ATTRIBUTE, *ATTRIBUTEp;
|
|||
struct SECTOR_OBJECTstruct;
|
||||
typedef struct SECTOR_OBJECTstruct SECTOR_OBJECT, *SECTOR_OBJECTp;
|
||||
|
||||
struct PANEL_SPRITEstruct;
|
||||
typedef struct PANEL_SPRITEstruct PANEL_SPRITE, *PANEL_SPRITEp;
|
||||
struct PANEL_SPRITE;
|
||||
typedef struct PANEL_SPRITE *PANEL_SPRITEp;
|
||||
|
||||
struct ANIMstruct;
|
||||
typedef struct ANIMstruct ANIM, *ANIMp;
|
||||
|
|
|
@ -32,11 +32,14 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
|
|||
|
||||
BEGIN_SW_NS
|
||||
|
||||
#define PRI_FRONT_MAX 250
|
||||
#define PRI_FRONT 192
|
||||
#define PRI_MID 128
|
||||
#define PRI_BACK 64
|
||||
#define PRI_BACK_MAX 0
|
||||
enum
|
||||
{
|
||||
PRI_FRONT_MAX = 250,
|
||||
PRI_FRONT = 192,
|
||||
PRI_MID = 128,
|
||||
PRI_BACK = 64,
|
||||
PRI_BACK_MAX = 0
|
||||
};
|
||||
|
||||
#define MAKE_CONPIC_ENUM
|
||||
enum conpic_id
|
||||
|
@ -48,135 +51,145 @@ typedef enum conpic_id CONPIC_ID;
|
|||
|
||||
enum PanelSpriteIDs
|
||||
{
|
||||
ID_BORDER_TOP = 1, ID_BORDER_BOTTOM, ID_BORDER_LEFT, ID_BORDER_RIGHT, ID_BORDER_SHADE,
|
||||
ID_PANEL_BORDER_LEFT, ID_PANEL_BORDER_RIGHT,
|
||||
ID_TEXT, ID_TEXT2, ID_TEXT3, ID_TEXT4
|
||||
ID_BORDER_TOP = 1, ID_BORDER_BOTTOM, ID_BORDER_LEFT, ID_BORDER_RIGHT, ID_BORDER_SHADE,
|
||||
ID_PANEL_BORDER_LEFT, ID_PANEL_BORDER_RIGHT,
|
||||
ID_TEXT, ID_TEXT2, ID_TEXT3, ID_TEXT4
|
||||
};
|
||||
|
||||
struct PANEL_STATEstruct
|
||||
struct PANEL_STATE
|
||||
{
|
||||
short picndx; // for pip stuff in conpic.h
|
||||
int tics;
|
||||
void (*Animator)(PANEL_SPRITEp); // JBF: return type was long
|
||||
PANEL_STATEp NextState;
|
||||
uint32_t flags;
|
||||
uint8_t xvel;
|
||||
uint8_t yvel;
|
||||
short picndx; // for pip stuff in conpic.h
|
||||
int tics;
|
||||
void (*Animator)(PANEL_SPRITEp); // JBF: return type was long
|
||||
PANEL_STATEp NextState;
|
||||
uint32_t flags;
|
||||
uint8_t xvel;
|
||||
uint8_t yvel;
|
||||
};
|
||||
|
||||
#define PANF_PRIMARY (BIT(0)) // denotes primary weapon
|
||||
#define PANF_SECONDARY (BIT(1)) // denotes secondary weapon
|
||||
#define PANF_BOB (BIT(2))
|
||||
#define PANF_REST_POS (BIT(3)) // used for certain weapons - fireball
|
||||
#define PANF_RELOAD (BIT(4)) // reload flag used for uzi
|
||||
#define PANF_TRANS_FLIP (BIT(5)) // translucent flip - matches rotate sprite
|
||||
#define PANF_ACTION_POS (BIT(6)) // used for certain weapons - fireball
|
||||
#define PANF_WEAPON_HIDE (BIT(7)) // hide when climbing/driving
|
||||
#define PANF_TRANSLUCENT (BIT(8)) // turn invisible
|
||||
#define PANF_INVISIBLE (BIT(9)) // turn invisible
|
||||
#define PANF_DEATH_HIDE (BIT(10)) // hide done when dead
|
||||
#define PANF_SCREEN_CLIP (BIT(12)) // maintain aspect to the screen
|
||||
#define PANF_IGNORE_START_MOST (BIT(14)) // maintain aspect to the screen
|
||||
#define PANF_XFLIP (BIT(15)) // xflip
|
||||
#define PANF_SUICIDE (BIT(16)) // kill myself
|
||||
#define PANF_WEAPON_SPRITE (BIT(17)) // its a weapon sprite - for V mode
|
||||
#define PANF_CORNER (BIT(18)) // draw from the corner
|
||||
#define PANF_NOT_IN_VIEW (BIT(19)) // not in view
|
||||
#define PANF_UNHIDE_SHOOT (BIT(20)) // shoot after un-hiding a weapon
|
||||
#define PANF_JUMPING (BIT(21))
|
||||
#define PANF_FALLING (BIT(22))
|
||||
#define PANF_DRAW_BEFORE_VIEW (BIT(30)) // draw before drawrooms
|
||||
enum
|
||||
{
|
||||
PANF_PRIMARY = (BIT(0)), // denotes primary weapon
|
||||
PANF_SECONDARY = (BIT(1)), // denotes secondary weapon
|
||||
PANF_BOB = (BIT(2)),
|
||||
PANF_REST_POS = (BIT(3)), // used for certain weapons - fireball
|
||||
PANF_RELOAD = (BIT(4)), // reload flag used for uzi
|
||||
PANF_TRANS_FLIP = (BIT(5)), // translucent flip - matches rotate sprite
|
||||
PANF_ACTION_POS = (BIT(6)), // used for certain weapons - fireball
|
||||
PANF_WEAPON_HIDE = (BIT(7)), // hide when climbing/driving
|
||||
PANF_TRANSLUCENT = (BIT(8)), // turn invisible
|
||||
PANF_INVISIBLE = (BIT(9)), // turn invisible
|
||||
PANF_DEATH_HIDE = (BIT(10)), // hide done when dead
|
||||
PANF_SCREEN_CLIP = (BIT(12)), // maintain aspect to the screen
|
||||
PANF_IGNORE_START_MOST = (BIT(14)), // maintain aspect to the screen
|
||||
PANF_XFLIP = (BIT(15)), // xflip
|
||||
PANF_SUICIDE = (BIT(16)), // kill myself
|
||||
PANF_WEAPON_SPRITE = (BIT(17)), // its a weapon sprite - for V mode
|
||||
PANF_CORNER = (BIT(18)), // draw from the corner
|
||||
PANF_NOT_IN_VIEW = (BIT(19)), // not in view
|
||||
PANF_UNHIDE_SHOOT = (BIT(20)), // shoot after un-hiding a weapon
|
||||
PANF_JUMPING = (BIT(21)),
|
||||
PANF_FALLING = (BIT(22)),
|
||||
PANF_DRAW_BEFORE_VIEW = (BIT(30)), // draw before drawrooms
|
||||
};
|
||||
|
||||
typedef void (*PANEL_SPRITE_FUNCp)(PANEL_SPRITEp);
|
||||
|
||||
typedef struct
|
||||
struct PANEL_SPRITE_OVERLAY
|
||||
{
|
||||
PANEL_STATEp State;
|
||||
int flags;
|
||||
short tics;
|
||||
short pic;
|
||||
short xoff; // from panel sprite center x
|
||||
short yoff; // from panel sprite center y
|
||||
} PANEL_SPRITE_OVERLAY, *PANEL_SPRITE_OVERLAYp;
|
||||
|
||||
struct PANEL_SPRITEstruct
|
||||
{
|
||||
PANEL_SPRITEp Next, Prev;
|
||||
PANEL_SPRITEp sibling;
|
||||
PANEL_STATEp State, RetractState, PresentState, ActionState, RestState;
|
||||
PLAYERp PlayerP;
|
||||
DVector2 pos, opos, bobpos;
|
||||
|
||||
PANEL_SPRITE_OVERLAY over[8];
|
||||
PANEL_SPRITE_FUNCp PanelSpriteFunc;
|
||||
short ID; // id for finding sprite types on the list
|
||||
short picndx; // for pip stuff in conpic.h
|
||||
short picnum; // bypass pip stuff in conpic.h
|
||||
short vel, vel_adj;
|
||||
int flags, priority;
|
||||
int scale;
|
||||
int jump_speed, jump_grav; // jumping vars
|
||||
int xspeed;
|
||||
short tics, delay; // time vars
|
||||
short ang, rotate_ang;
|
||||
short sin_ndx, sin_amt, sin_arc_speed;
|
||||
double bob_height_divider;
|
||||
short shade, pal;
|
||||
short kill_tics;
|
||||
short WeaponType; // remember my own weapon type for weapons with secondary function
|
||||
|
||||
// Inline helpers.
|
||||
void backupx() { opos.X = pos.X; };
|
||||
void backupy() { opos.Y = pos.Y; };
|
||||
void backupcoords() { opos = pos; };
|
||||
void backupbobx() { bobpos.X = pos.X; };
|
||||
void backupboby() { bobpos.Y = pos.Y; };
|
||||
void backupbobcoords() { bobpos = pos; };
|
||||
PANEL_STATEp State;
|
||||
int flags;
|
||||
short tics;
|
||||
short pic;
|
||||
short xoff; // from panel sprite center x
|
||||
short yoff; // from panel sprite center y
|
||||
};
|
||||
|
||||
typedef struct
|
||||
struct PANEL_SPRITE
|
||||
{
|
||||
PANEL_STATEp pstate;
|
||||
short state_size;
|
||||
} PANEL_STATE_TABLE, *PANEL_STATE_TABLEp;
|
||||
PANEL_SPRITE* Next, * Prev;
|
||||
PANEL_SPRITE* sibling;
|
||||
PANEL_STATEp State, RetractState, PresentState, ActionState, RestState;
|
||||
PLAYERp PlayerP;
|
||||
DVector2 pos, opos, bobpos;
|
||||
|
||||
PANEL_SPRITE_OVERLAY over[8];
|
||||
PANEL_SPRITE_FUNCp PanelSpriteFunc;
|
||||
short ID; // id for finding sprite types on the list
|
||||
short picndx; // for pip stuff in conpic.h
|
||||
short picnum; // bypass pip stuff in conpic.h
|
||||
short vel, vel_adj;
|
||||
int flags, priority;
|
||||
int scale;
|
||||
int jump_speed, jump_grav; // jumping vars
|
||||
int xspeed;
|
||||
short tics, delay; // time vars
|
||||
short ang, rotate_ang;
|
||||
short sin_ndx, sin_amt, sin_arc_speed;
|
||||
double bob_height_divider;
|
||||
short shade, pal;
|
||||
short kill_tics;
|
||||
short WeaponType; // remember my own weapon type for weapons with secondary function
|
||||
|
||||
// Inline helpers.
|
||||
void backupx() { opos.X = pos.X; };
|
||||
void backupy() { opos.Y = pos.Y; };
|
||||
void backupcoords() { opos = pos; };
|
||||
void backupbobx() { bobpos.X = pos.X; };
|
||||
void backupboby() { bobpos.Y = pos.Y; };
|
||||
void backupbobcoords() { bobpos = pos; };
|
||||
};
|
||||
|
||||
struct PANEL_STATE_TABLE
|
||||
{
|
||||
PANEL_STATEp pstate;
|
||||
short state_size;
|
||||
};
|
||||
|
||||
extern PANEL_STATE_TABLE PanelStateTable[];
|
||||
|
||||
// Panel State flags - also used for
|
||||
#define psf_Invisible BIT(16)
|
||||
#define psf_QuickCall BIT(23)
|
||||
#define psf_Xflip BIT(24)
|
||||
#define psf_ShadeHalf BIT(25)
|
||||
#define psf_ShadeNone BIT(26)
|
||||
enum
|
||||
{
|
||||
psf_Invisible = BIT(16),
|
||||
psf_QuickCall = BIT(23),
|
||||
psf_Xflip = BIT(24),
|
||||
psf_ShadeHalf = BIT(25),
|
||||
psf_ShadeNone = BIT(26),
|
||||
};
|
||||
|
||||
enum BorderTypes
|
||||
{
|
||||
BORDER_NONE = 0,
|
||||
BORDER_MINI_BAR = 1,
|
||||
BORDER_BAR = 2
|
||||
BORDER_NONE = 0,
|
||||
BORDER_MINI_BAR = 1,
|
||||
BORDER_BAR = 2
|
||||
};
|
||||
|
||||
#define MICRO_SIGHT_NUM 0
|
||||
#define MICRO_SIGHT 2075
|
||||
enum
|
||||
{
|
||||
MICRO_SIGHT_NUM = 0,
|
||||
MICRO_SIGHT = 2075,
|
||||
|
||||
MICRO_SHOT_NUM = 2,
|
||||
MICRO_SHOT_20 = 2076,
|
||||
MICRO_SHOT_1 = 2077,
|
||||
|
||||
MICRO_HEAT_NUM = 1,
|
||||
MICRO_HEAT = 2084,
|
||||
|
||||
UZI_COPEN = 2040,
|
||||
UZI_CCLOSED = 2041,
|
||||
UZI_CLIT = 2042,
|
||||
UZI_CRELOAD = 2043,
|
||||
|
||||
HEAD_MODE1 = 2055,
|
||||
HEAD_MODE2 = 2056,
|
||||
HEAD_MODE3 = 2057,
|
||||
|
||||
SHOTGUN_AUTO_NUM = 0,
|
||||
SHOTGUN_AUTO = 2078,
|
||||
};
|
||||
|
||||
#define MICRO_SHOT_NUM 2
|
||||
#define MICRO_SHOT_20 2076
|
||||
#define MICRO_SHOT_1 2077
|
||||
|
||||
#define MICRO_HEAT_NUM 1
|
||||
#define MICRO_HEAT 2084
|
||||
|
||||
#define UZI_COPEN 2040
|
||||
#define UZI_CCLOSED 2041
|
||||
#define UZI_CLIT 2042
|
||||
#define UZI_CRELOAD 2043
|
||||
|
||||
#define HEAD_MODE1 2055
|
||||
#define HEAD_MODE2 2056
|
||||
#define HEAD_MODE3 2057
|
||||
|
||||
#define SHOTGUN_AUTO_NUM 0
|
||||
#define SHOTGUN_AUTO 2078
|
||||
|
||||
PANEL_SPRITEp pSpawnSprite(PLAYERp pp, PANEL_STATEp state, uint8_t priority, double x, double y);
|
||||
void pSetSuicide(PANEL_SPRITEp psp);
|
||||
|
|
|
@ -309,9 +309,9 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PANEL_SPRITE_OVERL
|
|||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
FSerializer& Serialize(FSerializer& arc, const char* keyname, PANEL_SPRITEstruct& w, PANEL_SPRITEstruct* def)
|
||||
FSerializer& Serialize(FSerializer& arc, const char* keyname, PANEL_SPRITE& w, PANEL_SPRITE* def)
|
||||
{
|
||||
static PANEL_SPRITEstruct nul;
|
||||
static PANEL_SPRITE nul;
|
||||
if (!def)
|
||||
{
|
||||
def = &nul;
|
||||
|
|
Loading…
Reference in a new issue