mirror of https://github.com/ZDoom/qzdoom.git
SBARINFO update:
- Reorganized the SBarInfo code. - Added interpolate(<speed>) flag to drawnumber, drawbar, and drawgem. The old way of interpolating the health and armor is depreciated. - Added: armortype to drawswitchableimage loosely based on Gez's submission. - As an extension to the previous you can now use comparison operators on inventory items and armortype in drawswitchableimage. SVN r2069 (trunk)
This commit is contained in:
parent
515862636a
commit
3f4f0a8ae4
|
@ -1,3 +1,11 @@
|
|||
January 1, 2010 (SBARINFO update)
|
||||
- Reorganized the SBarInfo code.
|
||||
- Added interpolate(<speed>) flag to drawnumber, drawbar, and drawgem. The old
|
||||
way of interpolating the health and armor is depreciated.
|
||||
- Added: armortype to drawswitchableimage loosely based on Gez's submission.
|
||||
- As an extension to the previous you can now use comparison operators on
|
||||
inventory items and armortype in drawswitchableimage.
|
||||
|
||||
January 1, 2010 (Changes by Graf Zahl)
|
||||
- Fixed: Heretic's Weredragon (Beast) should not have a melee state.
|
||||
|
||||
|
|
|
@ -696,8 +696,7 @@ add_executable( zdoom WIN32
|
|||
g_shared/a_weaponpiece.cpp
|
||||
g_shared/a_weapons.cpp
|
||||
g_shared/hudmessages.cpp
|
||||
g_shared/sbarinfo_display.cpp
|
||||
g_shared/sbarinfo_parser.cpp
|
||||
g_shared/sbarinfo.cpp
|
||||
g_shared/sbar_mugshot.cpp
|
||||
g_shared/shared_hud.cpp
|
||||
g_shared/shared_sbar.cpp
|
||||
|
|
|
@ -32,6 +32,9 @@
|
|||
**
|
||||
*/
|
||||
|
||||
#ifndef __SBAR_H__
|
||||
#define __SBAR_H__
|
||||
|
||||
#include "dobject.h"
|
||||
#include "v_collection.h"
|
||||
#include "v_text.h"
|
||||
|
@ -195,14 +198,29 @@ private:
|
|||
};
|
||||
|
||||
class player_t;
|
||||
struct FMugShot
|
||||
class FMugShot
|
||||
{
|
||||
public:
|
||||
enum StateFlags
|
||||
{
|
||||
STANDARD = 0x0,
|
||||
|
||||
XDEATHFACE = 0x1,
|
||||
ANIMATEDGODMODE = 0x2,
|
||||
DISABLEGRIN = 0x4,
|
||||
DISABLEOUCH = 0x8,
|
||||
DISABLEPAIN = 0x10,
|
||||
DISABLERAMPAGE = 0x20,
|
||||
};
|
||||
|
||||
FMugShot();
|
||||
void Grin(bool grin=true) { bEvilGrin = grin; }
|
||||
void Tick(player_t *player);
|
||||
bool SetState(const char *state_name, bool wait_till_done=false, bool reset=false);
|
||||
int UpdateState(player_t *player, int stateflags=0);
|
||||
FTexture *GetFace(player_t *player, const char *default_face, int accuracy, int stateflags=0);
|
||||
int UpdateState(player_t *player, StateFlags stateflags=STANDARD);
|
||||
FTexture *GetFace(player_t *player, const char *default_face, int accuracy, StateFlags stateflags=STANDARD);
|
||||
|
||||
private:
|
||||
FMugShotState *CurrentState;
|
||||
int RampageTimer;
|
||||
int LastDamageAngle;
|
||||
|
@ -369,3 +387,5 @@ DBaseStatusBar *CreateCustomStatusBar(int script=0);
|
|||
|
||||
void ST_LoadCrosshair(bool alwaysload=false);
|
||||
extern FTexture *CrosshairImage;
|
||||
|
||||
#endif /* __SBAR_H__ */
|
||||
|
|
|
@ -324,7 +324,7 @@ bool FMugShot::SetState(const char *state_name, bool wait_till_done, bool reset)
|
|||
//
|
||||
//===========================================================================
|
||||
|
||||
int FMugShot::UpdateState(player_t *player, int stateflags)
|
||||
int FMugShot::UpdateState(player_t *player, StateFlags stateflags)
|
||||
{
|
||||
int i;
|
||||
angle_t badguyangle;
|
||||
|
@ -333,7 +333,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
|
||||
if (player->health > 0)
|
||||
{
|
||||
if (bEvilGrin && !(stateflags & DRAWMUGSHOT_DISABLEGRIN))
|
||||
if (bEvilGrin && !(stateflags & DISABLEGRIN))
|
||||
{
|
||||
if (player->bonuscount)
|
||||
{
|
||||
|
@ -348,7 +348,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
|
||||
if (player->damagecount &&
|
||||
// Now go in if pain is disabled but we think ouch will be shown (and ouch is not disabled!)
|
||||
(!(stateflags & DRAWMUGSHOT_DISABLEPAIN) || (((FaceHealth != -1 && FaceHealth - player->health > ST_MUCHPAIN) || bOuchActive) && !(stateflags & DRAWMUGSHOT_DISABLEOUCH))))
|
||||
(!(stateflags & DISABLEPAIN) || (((FaceHealth != -1 && FaceHealth - player->health > ST_MUCHPAIN) || bOuchActive) && !(stateflags & DISABLEOUCH))))
|
||||
{
|
||||
int damage_angle = 1;
|
||||
if (player->attacker && player->attacker != player->mo)
|
||||
|
@ -380,7 +380,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
}
|
||||
}
|
||||
bool use_ouch = false;
|
||||
if (((FaceHealth != -1 && FaceHealth - player->health > ST_MUCHPAIN) || bOuchActive) && !(stateflags & DRAWMUGSHOT_DISABLEOUCH))
|
||||
if (((FaceHealth != -1 && FaceHealth - player->health > ST_MUCHPAIN) || bOuchActive) && !(stateflags & DISABLEOUCH))
|
||||
{
|
||||
use_ouch = true;
|
||||
full_state_name = "ouch.";
|
||||
|
@ -407,7 +407,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
else
|
||||
{
|
||||
bool use_ouch = false;
|
||||
if (((FaceHealth != -1 && player->health - FaceHealth > ST_MUCHPAIN) || bOuchActive) && !(stateflags & DRAWMUGSHOT_DISABLEOUCH))
|
||||
if (((FaceHealth != -1 && player->health - FaceHealth > ST_MUCHPAIN) || bOuchActive) && !(stateflags & DISABLEOUCH))
|
||||
{
|
||||
use_ouch = true;
|
||||
full_state_name = "ouch.";
|
||||
|
@ -425,7 +425,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
}
|
||||
}
|
||||
|
||||
if (RampageTimer == ST_RAMPAGEDELAY && !(stateflags & DRAWMUGSHOT_DISABLERAMPAGE))
|
||||
if (RampageTimer == ST_RAMPAGEDELAY && !(stateflags & DISABLERAMPAGE))
|
||||
{
|
||||
SetState("rampage", !bNormal); //If we have nothing better to show, use the rampage face.
|
||||
return 0;
|
||||
|
@ -436,7 +436,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
bool good;
|
||||
if ((player->cheats & CF_GODMODE) || (player->mo != NULL && player->mo->flags2 & MF2_INVULNERABLE))
|
||||
{
|
||||
good = SetState((stateflags & DRAWMUGSHOT_ANIMATEDGODMODE) ? "godanimated" : "god");
|
||||
good = SetState((stateflags & ANIMATEDGODMODE) ? "godanimated" : "god");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -450,7 +450,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!(stateflags & DRAWMUGSHOT_XDEATHFACE) || !(player->cheats & CF_EXTREMELYDEAD))
|
||||
if (!(stateflags & XDEATHFACE) || !(player->cheats & CF_EXTREMELYDEAD))
|
||||
{
|
||||
full_state_name = "death.";
|
||||
}
|
||||
|
@ -473,7 +473,7 @@ int FMugShot::UpdateState(player_t *player, int stateflags)
|
|||
//
|
||||
//===========================================================================
|
||||
|
||||
FTexture *FMugShot::GetFace(player_t *player, const char *default_face, int accuracy, int stateflags)
|
||||
FTexture *FMugShot::GetFace(player_t *player, const char *default_face, int accuracy, StateFlags stateflags)
|
||||
{
|
||||
int angle = UpdateState(player, stateflags);
|
||||
int level = 0;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -37,48 +37,17 @@
|
|||
#define __SBarInfo_SBAR_H__
|
||||
|
||||
#include "tarray.h"
|
||||
#include "v_collection.h"
|
||||
|
||||
#define NUMHUDS 9
|
||||
#define NUMPOPUPS 3
|
||||
|
||||
class FBarTexture;
|
||||
class FScanner;
|
||||
|
||||
/**
|
||||
* This class is used to help prevent errors that may occur from adding or
|
||||
* subtracting from coordinates.
|
||||
*
|
||||
* In order to provide the maximum flexibility, coordinates are packed into
|
||||
* an int with one bit reserved for relCenter.
|
||||
*/
|
||||
class SBarInfoCoordinate
|
||||
{
|
||||
public:
|
||||
SBarInfoCoordinate &Add(int add);
|
||||
int Coordinate() const { return value; }
|
||||
bool RelCenter() const { return relCenter; }
|
||||
void Set(int coord, bool center) { value = coord; relCenter = center; }
|
||||
void SetCoord(int coord) { value = coord; }
|
||||
void SetRelCenter(bool center) { relCenter = center; }
|
||||
|
||||
int operator* () const { return Coordinate(); }
|
||||
SBarInfoCoordinate operator+ (int add) const { return SBarInfoCoordinate(*this).Add(add); }
|
||||
SBarInfoCoordinate operator+ (const SBarInfoCoordinate &other) const { return SBarInfoCoordinate(*this).Add(other.Coordinate()); }
|
||||
SBarInfoCoordinate operator- (int sub) const { return SBarInfoCoordinate(*this).Add(-sub); }
|
||||
SBarInfoCoordinate operator- (const SBarInfoCoordinate &other) const { return SBarInfoCoordinate(*this).Add(-other.Coordinate()); }
|
||||
void operator+= (int add) { Add(add); }
|
||||
void operator-= (int sub) { Add(-sub); }
|
||||
|
||||
protected:
|
||||
unsigned relCenter:1;
|
||||
int value:31;
|
||||
};
|
||||
|
||||
struct SBarInfoCommand; //we need to be able to use this before it is defined.
|
||||
struct MugShotState;
|
||||
class SBarInfoMainBlock;
|
||||
|
||||
//Popups!
|
||||
struct Popup
|
||||
{
|
||||
enum PopupTransition
|
||||
{
|
||||
TRANSITION_NONE,
|
||||
|
@ -86,8 +55,6 @@ enum PopupTransition
|
|||
TRANSITION_FADE,
|
||||
};
|
||||
|
||||
struct Popup
|
||||
{
|
||||
PopupTransition transition;
|
||||
bool opened;
|
||||
bool moving;
|
||||
|
@ -110,54 +77,10 @@ struct Popup
|
|||
int getAlpha(int maxAlpha=FRACUNIT);
|
||||
};
|
||||
|
||||
//SBarInfo
|
||||
struct SBarInfoBlock
|
||||
{
|
||||
TArray<SBarInfoCommand> commands;
|
||||
bool forceScaled;
|
||||
bool fullScreenOffsets;
|
||||
int alpha;
|
||||
|
||||
SBarInfoBlock();
|
||||
};
|
||||
|
||||
struct SBarInfoCommand
|
||||
{
|
||||
SBarInfoCommand();
|
||||
~SBarInfoCommand();
|
||||
void setString(FScanner &sc, const char* source, int strnum, int maxlength=-1, bool exact=false);
|
||||
|
||||
int type;
|
||||
int special;
|
||||
union
|
||||
{
|
||||
int special2;
|
||||
SBarInfoCoordinate sbcoord2;
|
||||
};
|
||||
union
|
||||
{
|
||||
int special3;
|
||||
SBarInfoCoordinate sbcoord3;
|
||||
};
|
||||
int special4;
|
||||
int flags;
|
||||
SBarInfoCoordinate x;
|
||||
SBarInfoCoordinate y;
|
||||
int value;
|
||||
int image_index;
|
||||
FTextureID sprite_index;
|
||||
FString string[2];
|
||||
FFont *font;
|
||||
EColorRange translation;
|
||||
EColorRange translation2;
|
||||
EColorRange translation3;
|
||||
SBarInfoBlock subBlock; //for type SBarInfo_CMD_GAMEMODE
|
||||
};
|
||||
|
||||
struct SBarInfo
|
||||
{
|
||||
TArray<FString> Images;
|
||||
SBarInfoBlock huds[NUMHUDS];
|
||||
SBarInfoMainBlock *huds[NUMHUDS];
|
||||
Popup popups[NUMPOPUPS];
|
||||
bool automapbar;
|
||||
bool interpolateHealth;
|
||||
|
@ -169,16 +92,13 @@ struct SBarInfo
|
|||
int armorInterpolationSpeed;
|
||||
int height;
|
||||
int gameType;
|
||||
FMugShot MugShot;
|
||||
|
||||
int GetGameType() { return gameType; }
|
||||
void ParseSBarInfo(int lump);
|
||||
void ParseSBarInfoBlock(FScanner &sc, SBarInfoBlock &block);
|
||||
void ParseMugShotBlock(FScanner &sc, FMugShotState &state);
|
||||
void getCoordinates(FScanner &sc, bool fullScreenOffsets, SBarInfoCoordinate &x, SBarInfoCoordinate &y); //retrieves the next two arguments as x and y.
|
||||
int getSignedInteger(FScanner &sc); //returns a signed integer.
|
||||
int newImage(const char* patchname);
|
||||
void Init();
|
||||
EColorRange GetTranslation(FScanner &sc, const char* translation);
|
||||
SBarInfo();
|
||||
SBarInfo(int lumpnum);
|
||||
~SBarInfo();
|
||||
|
@ -190,243 +110,4 @@ struct SBarInfo
|
|||
#define SCRIPT_DEFAULT 1
|
||||
extern SBarInfo *SBarInfoScript[2];
|
||||
|
||||
// Enums used between the parser and the display
|
||||
enum //gametype flags
|
||||
{
|
||||
GAMETYPE_SINGLEPLAYER = 1,
|
||||
GAMETYPE_COOPERATIVE = 2,
|
||||
GAMETYPE_DEATHMATCH = 4,
|
||||
GAMETYPE_TEAMGAME = 8,
|
||||
};
|
||||
|
||||
enum //drawimage flags
|
||||
{
|
||||
DRAWIMAGE_PLAYERICON = 0x1,
|
||||
DRAWIMAGE_AMMO1 = 0x2,
|
||||
DRAWIMAGE_AMMO2 = 0x4,
|
||||
DRAWIMAGE_INVENTORYICON = 0x8,
|
||||
DRAWIMAGE_TRANSLATABLE = 0x10,
|
||||
DRAWIMAGE_WEAPONSLOT = 0x20,
|
||||
DRAWIMAGE_SWITCHABLE_AND = 0x40,
|
||||
DRAWIMAGE_INVULNERABILITY = 0x80,
|
||||
DRAWIMAGE_OFFSET_CENTER = 0x100,
|
||||
DRAWIMAGE_OFFSET_CENTERBOTTOM = 0x200,
|
||||
DRAWIMAGE_ARMOR = 0x800,
|
||||
DRAWIMAGE_WEAPONICON = 0x1000,
|
||||
DRAWIMAGE_SIGIL = 0x2000,
|
||||
DRAWIMAGE_KEYSLOT = 0x4000,
|
||||
DRAWIMAGE_HEXENARMOR = 0x8000,
|
||||
|
||||
DRAWIMAGE_OFFSET = DRAWIMAGE_OFFSET_CENTER|DRAWIMAGE_OFFSET_CENTERBOTTOM,
|
||||
};
|
||||
|
||||
enum //drawnumber flags
|
||||
{
|
||||
DRAWNUMBER_HEALTH = 0x1,
|
||||
DRAWNUMBER_ARMOR = 0x2,
|
||||
DRAWNUMBER_AMMO1 = 0x4,
|
||||
DRAWNUMBER_AMMO2 = 0x8,
|
||||
DRAWNUMBER_AMMO = 0x10,
|
||||
DRAWNUMBER_AMMOCAPACITY = 0x20,
|
||||
DRAWNUMBER_FRAGS = 0x40,
|
||||
DRAWNUMBER_INVENTORY = 0x80,
|
||||
DRAWNUMBER_KILLS = 0x100,
|
||||
DRAWNUMBER_MONSTERS = 0x200,
|
||||
DRAWNUMBER_ITEMS = 0x400,
|
||||
DRAWNUMBER_TOTALITEMS = 0x800,
|
||||
DRAWNUMBER_SECRETS = 0x1000,
|
||||
DRAWNUMBER_TOTALSECRETS = 0x2000,
|
||||
DRAWNUMBER_ARMORCLASS = 0x4000,
|
||||
DRAWNUMBER_GLOBALVAR = 0x8000,
|
||||
DRAWNUMBER_GLOBALARRAY = 0x10000,
|
||||
DRAWNUMBER_FILLZEROS = 0x20000,
|
||||
DRAWNUMBER_WHENNOTZERO = 0x40000,
|
||||
DRAWNUMBER_POWERUPTIME = 0x80000,
|
||||
DRAWNUMBER_DRAWSHADOW = 0x100000,
|
||||
DRAWNUMBER_AIRTIME = 0x200000,
|
||||
};
|
||||
|
||||
enum //drawbar flags (will go into special2)
|
||||
{
|
||||
DRAWBAR_HORIZONTAL = 1,
|
||||
DRAWBAR_REVERSE = 2,
|
||||
DRAWBAR_COMPAREDEFAULTS = 4,
|
||||
};
|
||||
|
||||
enum //drawselectedinventory flags
|
||||
{
|
||||
DRAWSELECTEDINVENTORY_ALTERNATEONEMPTY = 0x1,
|
||||
DRAWSELECTEDINVENTORY_ARTIFLASH = 0x2,
|
||||
DRAWSELECTEDINVENTORY_ALWAYSSHOWCOUNTER = 0x4,
|
||||
DRAWSELECTEDINVENTORY_CENTER = 0x8,
|
||||
DRAWSELECTEDINVENTORY_CENTERBOTTOM = 0x10,
|
||||
DRAWSELECTEDINVENTORY_DRAWSHADOW = 0x20,
|
||||
};
|
||||
|
||||
enum //drawinventorybar flags
|
||||
{
|
||||
DRAWINVENTORYBAR_ALWAYSSHOW = 0x1,
|
||||
DRAWINVENTORYBAR_NOARTIBOX = 0x2,
|
||||
DRAWINVENTORYBAR_NOARROWS = 0x4,
|
||||
DRAWINVENTORYBAR_ALWAYSSHOWCOUNTER = 0x8,
|
||||
DRAWINVENTORYBAR_TRANSLUCENT = 0x10,
|
||||
DRAWINVENTORYBAR_VERTICAL = 0x20,
|
||||
};
|
||||
|
||||
enum //drawgem flags
|
||||
{
|
||||
DRAWGEM_WIGGLE = 1,
|
||||
DRAWGEM_TRANSLATABLE = 2,
|
||||
DRAWGEM_ARMOR = 4,
|
||||
DRAWGEM_REVERSE = 8,
|
||||
};
|
||||
|
||||
enum //drawshader flags
|
||||
{
|
||||
DRAWSHADER_VERTICAL = 1,
|
||||
DRAWSHADER_REVERSE = 2,
|
||||
};
|
||||
|
||||
enum //drawmugshot flags
|
||||
{
|
||||
DRAWMUGSHOT_XDEATHFACE = 0x1,
|
||||
DRAWMUGSHOT_ANIMATEDGODMODE = 0x2,
|
||||
DRAWMUGSHOT_DISABLEGRIN = 0x4,
|
||||
DRAWMUGSHOT_DISABLEOUCH = 0x8,
|
||||
DRAWMUGSHOT_DISABLEPAIN = 0x10,
|
||||
DRAWMUGSHOT_DISABLERAMPAGE = 0x20,
|
||||
};
|
||||
|
||||
enum //drawkeybar flags
|
||||
{
|
||||
DRAWKEYBAR_VERTICAL = 0x1,
|
||||
DRAWKEYBAR_REVERSEROWS = 0x2,
|
||||
};
|
||||
|
||||
enum //event flags
|
||||
{
|
||||
SBARINFOEVENT_NOT = 1,
|
||||
SBARINFOEVENT_OR = 2,
|
||||
SBARINFOEVENT_AND = 4,
|
||||
};
|
||||
|
||||
enum //aspect ratios
|
||||
{
|
||||
ASPECTRATIO_4_3 = 0,
|
||||
ASPECTRATIO_16_9 = 1,
|
||||
ASPECTRATIO_16_10 = 2,
|
||||
ASPECTRATIO_5_4 = 4,
|
||||
};
|
||||
|
||||
enum //Key words
|
||||
{
|
||||
SBARINFO_BASE,
|
||||
SBARINFO_HEIGHT,
|
||||
SBARINFO_INTERPOLATEHEALTH,
|
||||
SBARINFO_INTERPOLATEARMOR,
|
||||
SBARINFO_COMPLETEBORDER,
|
||||
SBARINFO_MONOSPACEFONTS,
|
||||
SBARINFO_LOWERHEALTHCAP,
|
||||
SBARINFO_STATUSBAR,
|
||||
SBARINFO_MUGSHOT,
|
||||
SBARINFO_CREATEPOPUP,
|
||||
};
|
||||
|
||||
enum //Bar types
|
||||
{
|
||||
STBAR_NONE,
|
||||
STBAR_FULLSCREEN,
|
||||
STBAR_NORMAL,
|
||||
STBAR_AUTOMAP,
|
||||
STBAR_INVENTORY,
|
||||
STBAR_INVENTORYFULLSCREEN,
|
||||
STBAR_POPUPLOG,
|
||||
STBAR_POPUPKEYS,
|
||||
STBAR_POPUPSTATUS,
|
||||
};
|
||||
|
||||
enum //Bar key words
|
||||
{
|
||||
SBARINFO_DRAWIMAGE,
|
||||
SBARINFO_DRAWNUMBER,
|
||||
SBARINFO_DRAWSWITCHABLEIMAGE,
|
||||
SBARINFO_DRAWMUGSHOT,
|
||||
SBARINFO_DRAWSELECTEDINVENTORY,
|
||||
SBARINFO_DRAWINVENTORYBAR,
|
||||
SBARINFO_DRAWBAR,
|
||||
SBARINFO_DRAWGEM,
|
||||
SBARINFO_DRAWSHADER,
|
||||
SBARINFO_DRAWSTRING,
|
||||
SBARINFO_DRAWKEYBAR,
|
||||
SBARINFO_GAMEMODE,
|
||||
SBARINFO_PLAYERCLASS,
|
||||
SBARINFO_ASPECTRATIO,
|
||||
SBARINFO_ISSELECTED,
|
||||
SBARINFO_USESAMMO,
|
||||
SBARINFO_USESSECONDARYAMMO,
|
||||
SBARINFO_HASWEAPONPIECE,
|
||||
SBARINFO_INVENTORYBARNOTVISIBLE,
|
||||
SBARINFO_WEAPONAMMO,
|
||||
SBARINFO_ININVENTORY,
|
||||
};
|
||||
|
||||
//All this so I can change the mugshot state in ACS...
|
||||
class FBarShader : public FTexture
|
||||
{
|
||||
public:
|
||||
FBarShader(bool vertical, bool reverse);
|
||||
const BYTE *GetColumn(unsigned int column, const Span **spans_out);
|
||||
const BYTE *GetPixels();
|
||||
void Unload();
|
||||
private:
|
||||
BYTE Pixels[512];
|
||||
Span DummySpan[2];
|
||||
};
|
||||
|
||||
class DSBarInfo : public DBaseStatusBar
|
||||
{
|
||||
DECLARE_CLASS(DSBarInfo, DBaseStatusBar)
|
||||
public:
|
||||
DSBarInfo(SBarInfo *script=NULL);
|
||||
~DSBarInfo();
|
||||
void Draw(EHudState state);
|
||||
void NewGame();
|
||||
void AttachToPlayer(player_t *player);
|
||||
void Tick();
|
||||
void ReceivedWeapon (AWeapon *weapon);
|
||||
void FlashItem(const PClass *itemtype);
|
||||
void ShowPop(int popnum);
|
||||
void SetMugShotState(const char* stateName, bool waitTillDone=false, bool reset=false);
|
||||
private:
|
||||
void doCommands(SBarInfoBlock &block, int xOffset=0, int yOffset=0, int alpha=FRACUNIT);
|
||||
void DrawGraphic(FTexture* texture, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, bool translate=false, bool dim=false, int offsetflags=0);
|
||||
void DrawString(const char* str, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, EColorRange translation, int spacing=0, bool drawshadow=false);
|
||||
void DrawNumber(int num, int len, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, EColorRange translation, int spacing=0, bool fillzeros=false, bool drawshadow=false);
|
||||
void DrawFace(const char *defaultFace, int accuracy, int stateflags, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets);
|
||||
int updateState(bool xdth, bool animatedgodmode);
|
||||
void DrawInventoryBar(int type, int num, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, bool alwaysshow,
|
||||
SBarInfoCoordinate counterx, SBarInfoCoordinate countery, EColorRange translation, bool drawArtiboxes, bool noArrows, bool alwaysshowcounter, int bgalpha, bool vertical);
|
||||
void DrawGem(FTexture* chain, FTexture* gem, int value, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, int padleft, int padright, int chainsize,
|
||||
bool wiggle, bool translate);
|
||||
FRemapTable* getTranslation();
|
||||
|
||||
SBarInfo *script;
|
||||
FImageCollection Images;
|
||||
FPlayerSkin *oldSkin;
|
||||
FFont *drawingFont;
|
||||
int oldHealth;
|
||||
int oldArmor;
|
||||
int mugshotHealth;
|
||||
int chainWiggle;
|
||||
int artiflash;
|
||||
int pendingPopup;
|
||||
int currentPopup;
|
||||
unsigned int invBarOffset;
|
||||
FBarShader shader_horz_normal;
|
||||
FBarShader shader_horz_reverse;
|
||||
FBarShader shader_vert_normal;
|
||||
FBarShader shader_vert_reverse;
|
||||
FMugShot MugShot;
|
||||
};
|
||||
|
||||
#endif //__SBarInfo_SBAR_H__
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -67,7 +67,6 @@
|
|||
#include "c_bind.h"
|
||||
#include "info.h"
|
||||
#include "r_translate.h"
|
||||
#include "sbarinfo.h"
|
||||
#include "cmdlib.h"
|
||||
#include "m_png.h"
|
||||
#include "p_setup.h"
|
||||
|
|
770
zdoom.vcproj
770
zdoom.vcproj
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue