SVN r71 (trunk)

This commit is contained in:
Christoph Oelckers 2006-04-30 21:49:18 +00:00
commit 29cd024aba
31 changed files with 1718 additions and 1105 deletions

View file

@ -1,102 +0,0 @@
#include "info.h"
#include "a_pickups.h"
#include "d_player.h"
#include "p_local.h"
#include "gstrings.h"
#include "gi.h"
// Armor bonus --------------------------------------------------------------
class AArmorBonus : public ABasicArmorBonus
{
DECLARE_ACTOR (AArmorBonus, ABasicArmorBonus)
protected:
virtual const char *PickupMessage ()
{
return GStrings("GOTARMBONUS");
}
};
FState AArmorBonus::States[] =
{
S_NORMAL (BON2, 'A', 6, NULL , &States[1]),
S_NORMAL (BON2, 'B', 6, NULL , &States[2]),
S_NORMAL (BON2, 'C', 6, NULL , &States[3]),
S_NORMAL (BON2, 'D', 6, NULL , &States[4]),
S_NORMAL (BON2, 'C', 6, NULL , &States[5]),
S_NORMAL (BON2, 'B', 6, NULL , &States[0])
};
IMPLEMENT_ACTOR (AArmorBonus, Doom, 2015, 22)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_BasicArmorBonus_SavePercent (FRACUNIT/3)
PROP_BasicArmorBonus_SaveAmount (1)
PROP_BasicArmorBonus_MaxSaveAmount (200) // deh.MaxArmor
PROP_Inventory_FlagsSet (IF_ALWAYSPICKUP)
PROP_SpawnState (0)
PROP_Inventory_Icon ("ARM1A0")
END_DEFAULTS
// Green armor --------------------------------------------------------------
class AGreenArmor : public ABasicArmorPickup
{
DECLARE_ACTOR (AGreenArmor, ABasicArmorPickup)
protected:
virtual const char *PickupMessage ()
{
return GStrings("GOTARMOR");
}
};
FState AGreenArmor::States[] =
{
S_NORMAL (ARM1, 'A', 6, NULL , &States[1]),
S_BRIGHT (ARM1, 'B', 7, NULL , &States[0])
};
IMPLEMENT_ACTOR (AGreenArmor, Doom, 2018, 68)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_BasicArmorPickup_SavePercent (FRACUNIT/3)
PROP_BasicArmorPickup_SaveAmount (100) // 100*deh.GreenAC
PROP_SpawnState (0)
PROP_Inventory_Icon ("ARM1A0")
END_DEFAULTS
// Blue armor ---------------------------------------------------------------
class ABlueArmor : public ABasicArmorPickup
{
DECLARE_ACTOR (ABlueArmor, ABasicArmorPickup)
protected:
virtual const char *PickupMessage ()
{
return GStrings("GOTMEGA");
}
};
FState ABlueArmor::States[] =
{
S_NORMAL (ARM2, 'A', 6, NULL , &States[1]),
S_BRIGHT (ARM2, 'B', 6, NULL , &States[0])
};
IMPLEMENT_ACTOR (ABlueArmor, Doom, 2019, 69)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_BasicArmorPickup_SavePercent (FRACUNIT/2)
PROP_BasicArmorPickup_SaveAmount (200) // 100*deh.BlueAC
PROP_SpawnState (0)
PROP_Inventory_Icon ("ARM2A0")
END_DEFAULTS

View file

@ -1,403 +0,0 @@
#include "actor.h"
#include "info.h"
/********** Decorations ***********/
#define _DECCOMMON(cls,ednum,rad,hi,ns,id) \
class cls : public AActor { DECLARE_STATELESS_ACTOR (cls, AActor) static FState States[ns]; }; \
IMPLEMENT_ACTOR (cls, Doom, ednum, id) \
PROP_SpawnState(0) \
PROP_RadiusFixed(rad) \
PROP_HeightFixed(hi)
#define _DECSTARTSTATES(cls,ns) \
FState cls::States[ns] =
#define DECID(cls,ednum,id,rad,hi,ns) \
_DECCOMMON(cls,ednum,rad,hi,ns,id) \
PROP_Flags (MF_SOLID) \
END_DEFAULTS \
_DECSTARTSTATES(cls,ns)
#define DEC(cls,ednum,rad,hi,ns) \
DECID(cls,ednum,0,rad,hi,ns)
#define DECNSOLID(cls,ednum,rad,hi,ns) \
_DECCOMMON(cls,ednum,rad,hi,ns,0) \
END_DEFAULTS \
_DECSTARTSTATES(cls,ns)
#define DECHANG(cls,ednum,rad,hi,ns) \
_DECCOMMON(cls,ednum,rad,hi,ns,0) \
PROP_Flags (MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY) \
END_DEFAULTS \
_DECSTARTSTATES(cls,ns)
#define DECHANGNS(cls,ednum,rad,hi,ns) \
_DECCOMMON(cls,ednum,rad,hi,ns,0) \
PROP_Flags (MF_SPAWNCEILING|MF_NOGRAVITY) \
END_DEFAULTS \
_DECSTARTSTATES(cls,ns)
#define DECNBLOCKID(cls,ednum,id,rad,hi,ns) \
_DECCOMMON(cls,ednum,rad,hi,ns,id) \
/*PROP_Flags (MF_NOBLOCKMAP)*/ \
END_DEFAULTS \
_DECSTARTSTATES(cls,ns)
#define SUBCLASS_NS(cls,super,ednum,rad,hi) \
class cls : public super { DECLARE_STATELESS_ACTOR (cls, super) }; \
IMPLEMENT_STATELESS_ACTOR (cls, Doom, ednum, 0) \
PROP_RadiusFixed (rad) \
PROP_HeightFixed (hi) \
PROP_FlagsClear (MF_SOLID) \
END_DEFAULTS
// Tech lamp ---------------------------------------------------------------
DEC (ATechLamp, 85, 16, 80, 4)
{
S_BRIGHT (TLMP, 'A', 4, NULL, &States[1]),
S_BRIGHT (TLMP, 'B', 4, NULL, &States[2]),
S_BRIGHT (TLMP, 'C', 4, NULL, &States[3]),
S_BRIGHT (TLMP, 'D', 4, NULL, &States[0])
};
// Tech lamp 2 -------------------------------------------------------------
DEC (ATechLamp2, 86, 16, 60, 4)
{
S_BRIGHT (TLP2, 'A', 4, NULL, &States[1]),
S_BRIGHT (TLP2, 'B', 4, NULL, &States[2]),
S_BRIGHT (TLP2, 'C', 4, NULL, &States[3]),
S_BRIGHT (TLP2, 'D', 4, NULL, &States[0])
};
// Column ------------------------------------------------------------------
DEC (AColumn, 2028, 16, 48, 1)
{
S_BRIGHT (COLU, 'A', -1, NULL, NULL)
};
// Tall green column -------------------------------------------------------
DEC (ATallGreenColumn, 30, 16, 52, 1)
{
S_NORMAL (COL1, 'A', -1, NULL, NULL)
};
// Short green column ------------------------------------------------------
DEC (AShortGreenColumn, 31, 16, 40, 1)
{
S_NORMAL (COL2, 'A', -1, NULL, NULL)
};
// Tall red column ---------------------------------------------------------
DEC (ATallRedColumn, 32, 16, 52, 1)
{
S_NORMAL (COL3, 'A', -1, NULL, NULL)
};
// Short red column --------------------------------------------------------
DEC (AShortRedColumn, 33, 16, 40, 1)
{
S_NORMAL (COL4, 'A', -1, NULL, NULL)
};
// Skull column ------------------------------------------------------------
DEC (ASkullColumn, 37, 16, 40, 1)
{
S_NORMAL (COL6, 'A', -1, NULL, NULL)
};
// Heart column ------------------------------------------------------------
DEC (AHeartColumn, 36, 16, 40, 2)
{
S_NORMAL (COL5, 'A', 14, NULL, &States[1]),
S_NORMAL (COL5, 'B', 14, NULL, &States[0])
};
// Evil eye ----------------------------------------------------------------
DEC (AEvilEye, 41, 16, 54, 4)
{
S_BRIGHT (CEYE, 'A', 6, NULL, &States[1]),
S_BRIGHT (CEYE, 'B', 6, NULL, &States[2]),
S_BRIGHT (CEYE, 'C', 6, NULL, &States[3]),
S_BRIGHT (CEYE, 'B', 6, NULL, &States[0])
};
// Floating skull ----------------------------------------------------------
DEC (AFloatingSkull, 42, 16, 26, 3)
{
S_BRIGHT (FSKU, 'A', 6, NULL, &States[1]),
S_BRIGHT (FSKU, 'B', 6, NULL, &States[2]),
S_BRIGHT (FSKU, 'C', 6, NULL, &States[0])
};
// Torch tree --------------------------------------------------------------
DEC (ATorchTree, 43, 16, 56, 1)
{
S_NORMAL (TRE1, 'A', -1, NULL, NULL)
};
// Blue torch --------------------------------------------------------------
DEC (ABlueTorch, 44, 16, 68, 4)
{
S_BRIGHT (TBLU, 'A', 4, NULL, &States[1]),
S_BRIGHT (TBLU, 'B', 4, NULL, &States[2]),
S_BRIGHT (TBLU, 'C', 4, NULL, &States[3]),
S_BRIGHT (TBLU, 'D', 4, NULL, &States[0])
};
// Green torch -------------------------------------------------------------
DEC (AGreenTorch, 45, 16, 68, 4)
{
S_BRIGHT (TGRN, 'A', 4, NULL, &States[1]),
S_BRIGHT (TGRN, 'B', 4, NULL, &States[2]),
S_BRIGHT (TGRN, 'C', 4, NULL, &States[3]),
S_BRIGHT (TGRN, 'D', 4, NULL, &States[0])
};
// Red torch ---------------------------------------------------------------
DEC (ARedTorch, 46, 16, 68, 4)
{
S_BRIGHT (TRED, 'A', 4, NULL, &States[1]),
S_BRIGHT (TRED, 'B', 4, NULL, &States[2]),
S_BRIGHT (TRED, 'C', 4, NULL, &States[3]),
S_BRIGHT (TRED, 'D', 4, NULL, &States[0])
};
// Short blue torch --------------------------------------------------------
DEC (AShortBlueTorch, 55, 16, 37, 4)
{
S_BRIGHT (SMBT, 'A', 4, NULL, &States[1]),
S_BRIGHT (SMBT, 'B', 4, NULL, &States[2]),
S_BRIGHT (SMBT, 'C', 4, NULL, &States[3]),
S_BRIGHT (SMBT, 'D', 4, NULL, &States[0])
};
// Short green torch -------------------------------------------------------
DEC (AShortGreenTorch, 56, 16, 37, 4)
{
S_BRIGHT (SMGT, 'A', 4, NULL, &States[1]),
S_BRIGHT (SMGT, 'B', 4, NULL, &States[2]),
S_BRIGHT (SMGT, 'C', 4, NULL, &States[3]),
S_BRIGHT (SMGT, 'D', 4, NULL, &States[0])
};
// Short red torch ---------------------------------------------------------
DEC (AShortRedTorch, 57, 16, 37, 4)
{
S_BRIGHT (SMRT, 'A', 4, NULL, &States[1]),
S_BRIGHT (SMRT, 'B', 4, NULL, &States[2]),
S_BRIGHT (SMRT, 'C', 4, NULL, &States[3]),
S_BRIGHT (SMRT, 'D', 4, NULL, &States[0])
};
// Stalagtite --------------------------------------------------------------
DEC (AStalagtite, 47, 16, 40, 1)
{
S_NORMAL (SMIT, 'A', -1, NULL, NULL)
};
// Tech pillar -------------------------------------------------------------
DEC (ATechPillar, 48, 16, 128, 1)
{
S_NORMAL (ELEC, 'A', -1, NULL, NULL)
};
// Candle stick ------------------------------------------------------------
DECNSOLID (ACandlestick, 34, 20, 14, 1)
{
S_BRIGHT (CAND, 'A', -1, NULL, NULL)
};
// Candelabra --------------------------------------------------------------
DEC (ACandelabra, 35, 16, 60, 1)
{
S_BRIGHT (CBRA, 'A', -1, NULL, NULL)
};
// Bloody twitch -----------------------------------------------------------
DECHANG (ABloodyTwitch, 49, 16, 68, 4)
{
S_NORMAL (GOR1, 'A', 10, NULL, &States[1]),
S_NORMAL (GOR1, 'B', 15, NULL, &States[2]),
S_NORMAL (GOR1, 'C', 8, NULL, &States[3]),
S_NORMAL (GOR1, 'B', 6, NULL, &States[0])
};
// Meat 2 ------------------------------------------------------------------
DECHANG (AMeat2, 50, 16, 84, 1)
{
S_NORMAL (GOR2, 'A', -1, NULL, NULL)
};
// Meat 3 ------------------------------------------------------------------
DECHANG (AMeat3, 51, 16, 84, 1)
{
S_NORMAL (GOR3, 'A', -1, NULL, NULL)
};
// Meat 4 ------------------------------------------------------------------
DECHANG (AMeat4, 52, 16, 68, 1)
{
S_NORMAL (GOR4, 'A', -1, NULL, NULL)
};
// Meat 5 ------------------------------------------------------------------
DECHANG (AMeat5, 53, 16, 52, 1)
{
S_NORMAL (GOR5, 'A', -1, NULL, NULL)
};
// Nonsolid meat -----------------------------------------------------------
SUBCLASS_NS (ANonsolidMeat2, AMeat2, 59, 20, 84)
SUBCLASS_NS (ANonsolidMeat3, AMeat3, 61, 20, 52)
SUBCLASS_NS (ANonsolidMeat4, AMeat4, 60, 20, 68)
SUBCLASS_NS (ANonsolidMeat5, AMeat5, 62, 20, 52)
// Nonsolid bloody twitch --------------------------------------------------
SUBCLASS_NS (ANonsolidTwitch, ABloodyTwitch, 63, 20, 68)
// Head on a stick ---------------------------------------------------------
DEC (AHeadOnAStick, 27, 16, 56, 1)
{
S_NORMAL (POL4, 'A', -1, NULL, NULL)
};
// Heads (plural!) on a stick ----------------------------------------------
DEC (AHeadsOnAStick, 28, 16, 64, 1)
{
S_NORMAL (POL2, 'A', -1, NULL, NULL)
};
// Head candles ------------------------------------------------------------
DEC (AHeadCandles, 29, 16, 42, 2)
{
S_BRIGHT (POL3, 'A', 6, NULL, &States[1]),
S_BRIGHT (POL3, 'B', 6, NULL, &States[0])
};
// Dead on a stick ---------------------------------------------------------
DEC (ADeadStick, 25, 16, 64, 1)
{
S_NORMAL (POL1, 'A', -1, NULL, NULL)
};
// Still alive on a stick --------------------------------------------------
DEC (ALiveStick, 26, 16, 64, 2)
{
S_NORMAL (POL6, 'A', 6, NULL, &States[1]),
S_NORMAL (POL6, 'B', 8, NULL, &States[0])
};
// Big tree ----------------------------------------------------------------
DEC (ABigTree, 54, 32, 108, 1)
{
S_NORMAL (TRE2, 'A', -1, NULL, NULL)
};
// Burning barrel ----------------------------------------------------------
DECID (ABurningBarrel, 70, 149, 16, 32, 3)
{
S_BRIGHT (FCAN, 'A', 4, NULL, &States[1]),
S_BRIGHT (FCAN, 'B', 4, NULL, &States[2]),
S_BRIGHT (FCAN, 'C', 4, NULL, &States[0])
};
// Hanging with no guts ----------------------------------------------------
DECHANG (AHangNoGuts, 73, 16, 88, 1)
{
S_NORMAL (HDB1, 'A', -1, NULL, NULL)
};
// Hanging from bottom with no brain ---------------------------------------
DECHANG (AHangBNoBrain, 74, 16, 88, 1)
{
S_NORMAL (HDB2, 'A', -1, NULL, NULL)
};
// Hanging from top, looking down ------------------------------------------
DECHANG (AHangTLookingDown, 75, 16, 64, 1)
{
S_NORMAL (HDB3, 'A', -1, NULL, NULL)
};
// Hanging from top, looking up --------------------------------------------
DECHANG (AHangTLookingUp, 77, 16, 64, 1)
{
S_NORMAL (HDB5, 'A', -1, NULL, NULL)
};
// Hanging from top, skully ------------------------------------------------
DECHANG (AHangTSkull, 76, 16, 64, 1)
{
S_NORMAL (HDB4, 'A', -1, NULL, NULL)
};
// Hanging from top without a brain ----------------------------------------
DECHANG (AHangTNoBrain, 78, 16, 64, 1)
{
S_NORMAL (HDB6, 'A', -1, NULL, NULL)
};
// Colon gibs --------------------------------------------------------------
DECNBLOCKID (AColonGibs, 79, 147, 20, 4, 1)
{
S_NORMAL (POB1, 'A', -1, NULL, NULL)
};
// Small pool o' blood -----------------------------------------------------
DECNBLOCKID (ASmallBloodPool, 80, 148, 20, 1, 1)
{
S_NORMAL (POB2, 'A', -1, NULL, NULL)
};
// brain stem lying on the ground ------------------------------------------
DECNBLOCKID (ABrainStem, 81, 150, 20, 4, 1)
{
S_NORMAL (BRS1, 'A', -1, NULL, NULL)
};

View file

@ -1,164 +0,0 @@
#include "info.h"
#include "a_pickups.h"
#include "d_player.h"
#include "gstrings.h"
#include "p_local.h"
#include "a_keys.h"
#include "gstrings.h"
IMPLEMENT_STATELESS_ACTOR (ADoomKey, Doom, -1, 0)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH)
END_DEFAULTS
// Blue key card ------------------------------------------------------------
class ABlueCard : public ADoomKey
{
DECLARE_ACTOR (ABlueCard, ADoomKey)
public:
const char *PickupMessage ();
};
FState ABlueCard::States[] =
{
S_NORMAL (BKEY, 'A', 10, NULL , &States[1]),
S_BRIGHT (BKEY, 'B', 10, NULL , &States[0])
};
IMPLEMENT_ACTOR (ABlueCard, Doom, 5, 85)
PROP_SpawnState (0)
PROP_Inventory_Icon ("STKEYS0")
END_DEFAULTS
const char *ABlueCard::PickupMessage ()
{
return GStrings("GOTBLUECARD");
}
// Yellow key card ----------------------------------------------------------
class AYellowCard : public ADoomKey
{
DECLARE_ACTOR (AYellowCard, ADoomKey)
public:
const char *PickupMessage ();
};
FState AYellowCard::States[] =
{
S_NORMAL (YKEY, 'A', 10, NULL , &States[1]),
S_BRIGHT (YKEY, 'B', 10, NULL , &States[0])
};
IMPLEMENT_ACTOR (AYellowCard, Doom, 6, 87)
PROP_SpawnState (0)
PROP_Inventory_Icon ("STKEYS1")
END_DEFAULTS
const char *AYellowCard::PickupMessage ()
{
return GStrings("GOTYELWCARD");
}
// Red key card -------------------------------------------------------------
class ARedCard : public ADoomKey
{
DECLARE_ACTOR (ARedCard, ADoomKey)
public:
const char *PickupMessage ();
};
FState ARedCard::States[] =
{
S_NORMAL (RKEY, 'A', 10, NULL , &States[1]),
S_BRIGHT (RKEY, 'B', 10, NULL , &States[0])
};
IMPLEMENT_ACTOR (ARedCard, Doom, 13, 86)
PROP_SpawnState (0)
PROP_Inventory_Icon ("STKEYS2")
END_DEFAULTS
const char *ARedCard::PickupMessage ()
{
return GStrings("GOTREDCARD");
}
// Blue skull key -----------------------------------------------------------
class ABlueSkull : public ADoomKey
{
DECLARE_ACTOR (ABlueSkull, ADoomKey)
public:
const char *PickupMessage ();
};
FState ABlueSkull::States[] =
{
S_NORMAL (BSKU, 'A', 10, NULL , &States[1]),
S_BRIGHT (BSKU, 'B', 10, NULL , &States[0])
};
IMPLEMENT_ACTOR (ABlueSkull, Doom, 40, 90)
PROP_SpawnState (0)
PROP_Inventory_Icon ("STKEYS3")
END_DEFAULTS
const char *ABlueSkull::PickupMessage ()
{
return GStrings("GOTBLUESKUL");
}
// Yellow skull key ---------------------------------------------------------
class AYellowSkull : public ADoomKey
{
DECLARE_ACTOR (AYellowSkull, ADoomKey)
public:
const char *PickupMessage ();
};
FState AYellowSkull::States[] =
{
S_NORMAL (YSKU, 'A', 10, NULL , &States[1]),
S_BRIGHT (YSKU, 'B', 10, NULL , &States[0])
};
IMPLEMENT_ACTOR (AYellowSkull, Doom, 39, 88)
PROP_SpawnState (0)
PROP_Inventory_Icon ("STKEYS4")
END_DEFAULTS
const char *AYellowSkull::PickupMessage ()
{
return GStrings("GOTYELWSKUL");
}
// Red skull key ------------------------------------------------------------
class ARedSkull : public ADoomKey
{
DECLARE_ACTOR (ARedSkull, ADoomKey)
public:
const char *PickupMessage ();
};
FState ARedSkull::States[] =
{
S_NORMAL (RSKU, 'A', 10, NULL , &States[1]),
S_BRIGHT (RSKU, 'B', 10, NULL , &States[0])
};
IMPLEMENT_ACTOR (ARedSkull, Doom, 38, 89)
PROP_SpawnState (0)
PROP_Inventory_Icon ("STKEYS5")
END_DEFAULTS
const char *ARedSkull::PickupMessage ()
{
return GStrings("GOTREDSKUL");
}

View file

@ -634,7 +634,7 @@ private:
TAG_DONE);
DrBNumberOuter (ammo1->Amount, -67, -4 - BigHeight);
ammotop = -4 - BigHeight;
if (ammo2 != NULL)
if (ammo2 != NULL && ammo2!=ammo1)
{
// Draw secondary ammo just above the primary ammo
int y = MIN (-6 - BigHeight, -6 - (ammoIcon != NULL ? ammoIcon->GetHeight() : 0));