From 650d07b8c1766fa5895c3a276e5efbe2865ca8db Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 4 May 2006 12:40:39 +0000 Subject: [PATCH] May 4, 2006 (Changes by Graf Zahl) - Converted A_Hexendecorations.cpp - Changed the lower decal spawning code to transfer the main decal's color if the lower decal's default color is the same as the main decal's. - Changed the decal stretcher back to use the specified size parameters as a scaling factor and not a destination size because this is more consistent with the rest of the decal code. Also adjusted the blood smear definition in DECALDEF and the description in the Wiki for this. - Added Jim's most recent fixes. SVN r77 (trunk) --- default.cbd | 16 +- docs/rh-log.txt | 12 + src/c_bind.cpp | 4 +- src/decallib.cpp | 10 +- src/decorations.cpp | 1 + src/g_hexen/a_hexenarmor.cpp | 111 -- src/g_hexen/a_hexendecorations.cpp | 625 -------- src/g_hexen/a_hexenkeys.cpp | 33 - src/g_hexen/a_speedboots.cpp | 40 - src/g_shared/a_decals.cpp | 8 +- src/g_shared/a_keys.h | 5 - src/m_alloc.cpp | 6 +- src/m_options.cpp | 2 +- src/r_data.cpp | 9 +- src/sdl/i_system.cpp | 4 +- wadsrc/decals/decaldef.txt | 2 +- wadsrc/decorate/hexen/hexenarmor.txt | 74 +- wadsrc/decorate/hexen/hexendecorations.txt | 1500 +++++++++++++++++++- wadsrc/decorate/hexen/hexenkeys.txt | 161 ++- wadsrc/decorate/hexen/speedboots.txt | 19 +- zdoom.vcproj | 60 - 21 files changed, 1796 insertions(+), 906 deletions(-) delete mode 100644 src/g_hexen/a_hexenarmor.cpp delete mode 100644 src/g_hexen/a_hexendecorations.cpp delete mode 100644 src/g_hexen/a_hexenkeys.cpp delete mode 100644 src/g_hexen/a_speedboots.cpp diff --git a/default.cbd b/default.cbd index b32f4102b..386f453df 100644 --- a/default.cbd +++ b/default.cbd @@ -3,7 +3,7 @@ do ifopt help debug - Build debug instead of release verbose - Show system commands instead of decorated messages clean - Clean temp files (use with debug to clean debug files) - zdoom.wad - (Re)build just zdoom.wad, even if it already exists + zdoom.pk3 - (Re)build just zdoom.pk3, even if it already exists To use with MinGW, compile cbuild.c into an executable using: gcc -O2 -W -Wall -Werror -o cbuild.exe cbuild.c @@ -70,7 +70,7 @@ do ifnopt clean ifnexist "${OBJ_DIR}" mkdir "${OBJ_DIR}" - ifopt zdoom.wad goto makewad + ifopt zdoom.pk3 goto makewad do if "${NOASM}"="" # This sets a custom command to run durring a compile for files with the @@ -201,15 +201,15 @@ ${COMPILER} "autostart.cpp a.nas blocks.nas misc.nas tmap.nas tmap2.nas tmap3.na ${LINK} "${TARGET}" -# If we're not cleaning and zdoom.wad exists, exit now. -if "${EVILCLEAN}"="0" ifexist zdoom.wad exit 0 +# If we're not cleaning and zdoom.pk3 exists, exit now. +if "${EVILCLEAN}"="0" ifexist zdoom.pk3 exit 0 #:makewad -LDFLAGS = '' CFLAGS = '-Os -Wall -fomit-frame-pointer' +LDFLAGS = '-lz' src_paths tools/makewad -${COMPILER} makewad.c +${COMPILER} makewad.c ioapi.c zip.c ${LINK} tools/makewad/makewad src_paths tools/xlatcc @@ -224,12 +224,12 @@ do if "${EVILCLEAN}"="1" -rm "${OBJ_DIR}" -rm "${DEP_DIR}" -rm zdoomgcc.map - -rm zdoom.wad + -rm zdoom.pk3 else chdir wadsrc do ifret 0 -call ../tools/makewad/makewad zdoom.lst - ifret 0 -copy zdoom.wad ../ + ifret 0 -copy zdoom.pk3 ../ chdir .. done done diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 8c69390fa..4e6d919a7 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,13 @@ +May 4, 2006 (Changes by Graf Zahl) +- Converted A_Hexendecorations.cpp +- Changed the lower decal spawning code to transfer the main decal's color if + the lower decal's default color is the same as the main decal's. +- Changed the decal stretcher back to use the specified size parameters as a + scaling factor and not a destination size because this is more consistent with + the rest of the decal code. Also adjusted the blood smear definition in DECALDEF + and the description in the Wiki for this. +- Added Jim's most recent fixes. + May 3, 2006 - Fixed: Conversion of c_bind.cpp to FString was incomplete. - Fixed some functions that were declared as taking size_t's but defined as taking @@ -40,6 +50,8 @@ May 3, 2006 - Renamed the string class to FString to emphasize that it is not std::string. May 3, 2006 (Changes by Graf Zahl) +- Converted A_Speedboots.cpp, A_HexenArmor.cpp and A_Hexenkeys.cpp to DECORATE +- Fixed a few memory allocation issues pointed out by Jim's Valgrind dump. - Removed doom.x, heretic.x and strife.x from the SVN repository. These are generated files. - Fixed: A_PainDie has to check whether a valid target exists before diff --git a/src/c_bind.cpp b/src/c_bind.cpp index c54d1d4d3..02b99ac65 100644 --- a/src/c_bind.cpp +++ b/src/c_bind.cpp @@ -326,7 +326,7 @@ CCMD (bind) } if (argv.argc() == 2) { - Printf ("\"%s\" = \"%s\"\n", argv[1], (Bindings[i].GetChars() ? Bindings[i].GetChars() : "")); + Printf ("\"%s\" = \"%s\"\n", argv[1], Bindings[i].GetChars()); } else { @@ -417,7 +417,7 @@ CCMD (doublebind) } if (argv.argc() == 2) { - Printf ("\"%s\" = \"%s\"\n", argv[1], (DoubleBindings[i].GetChars() ? DoubleBindings[i].GetChars() : "")); + Printf ("\"%s\" = \"%s\"\n", argv[1], DoubleBindings[i].GetChars()); } else { diff --git a/src/decallib.cpp b/src/decallib.cpp index f6f9fa907..fbe390d08 100644 --- a/src/decallib.cpp +++ b/src/decallib.cpp @@ -1187,20 +1187,18 @@ DThinker *FDecalStretcherAnim::CreateThinker (DBaseDecal *actor, side_t *wall) c thinker->TimeToStart = level.maptime + StretchStart; thinker->TimeToStop = thinker->TimeToStart + StretchTime; - FTexture * tex = TexMan[actor->PicNum]; - - if (GoalX >= 0 && tex != NULL) + if (GoalX >= 0) { - thinker->GoalX = GoalX / tex->GetWidth(); + thinker->GoalX = GoalX; thinker->bStretchX = true; } else { thinker->bStretchX = false; } - if (GoalY >= 0 && tex != NULL) + if (GoalY >= 0) { - thinker->GoalY = GoalY / tex->GetHeight(); + thinker->GoalY = GoalY; thinker->bStretchY = true; } else diff --git a/src/decorations.cpp b/src/decorations.cpp index 40ffabbd0..a0c269a5a 100644 --- a/src/decorations.cpp +++ b/src/decorations.cpp @@ -336,6 +336,7 @@ static void ParseDecorate (void (*process)(FState *, int)) if (!SC_GetString ()) { if (recursion==0) return; + SC_Close(); SC_RestoreScriptState(); recursion--; continue; diff --git a/src/g_hexen/a_hexenarmor.cpp b/src/g_hexen/a_hexenarmor.cpp deleted file mode 100644 index 8edca6912..000000000 --- a/src/g_hexen/a_hexenarmor.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include "info.h" -#include "a_pickups.h" -#include "d_player.h" -#include "gstrings.h" -#include "p_local.h" - -#define PROP_HexenArmor_Class PROP_SpawnHealth - -enum -{ - ARMOR_ARMOR, // MeshArmor - ARMOR_SHIELD, // FalconShield - ARMOR_HELMET, // PlatinumHelm - ARMOR_AMULET // AmuletOfWarding -}; - -// Mesh Armor (1) ----------------------------------------------------------- - -class AMeshArmor : public AHexenArmor -{ - DECLARE_ACTOR (AMeshArmor, AHexenArmor) -protected: - const char *PickupMessage () - { - return GStrings("TXT_ARMOR1"); - } -}; - -FState AMeshArmor::States[] = -{ - S_NORMAL (AR_1, 'A', -1, NULL , NULL), -}; - -IMPLEMENT_ACTOR (AMeshArmor, Hexen, 8005, 68) - PROP_Flags (MF_SPECIAL|MF_NOGRAVITY) - PROP_HexenArmor_Class (ARMOR_ARMOR) - PROP_SpawnState (0) - PROP_Inventory_Amount (0) -END_DEFAULTS - -// Falcon Shield (2) -------------------------------------------------------- - -class AFalconShield : public AHexenArmor -{ - DECLARE_ACTOR (AFalconShield, AHexenArmor) -protected: - const char *PickupMessage () - { - return GStrings("TXT_ARMOR2"); - } -}; - -FState AFalconShield::States[] = -{ - S_NORMAL (AR_2, 'A', -1, NULL , NULL), -}; - -IMPLEMENT_ACTOR (AFalconShield, Hexen, 8006, 69) - PROP_Flags (MF_SPECIAL|MF_NOGRAVITY) - PROP_HexenArmor_Class (ARMOR_SHIELD) - PROP_SpawnState (0) - PROP_Inventory_Amount (0) -END_DEFAULTS - -// Platinum Helm (3) -------------------------------------------------------- - -class APlatinumHelm : public AHexenArmor -{ - DECLARE_ACTOR (APlatinumHelm, AHexenArmor) -protected: - const char *PickupMessage () - { - return GStrings("TXT_ARMOR3"); - } -}; - -FState APlatinumHelm::States[] = -{ - S_NORMAL (AR_3, 'A', -1, NULL , NULL), -}; - -IMPLEMENT_ACTOR (APlatinumHelm, Hexen, 8007, 70) - PROP_Flags (MF_SPECIAL|MF_NOGRAVITY) - PROP_HexenArmor_Class (ARMOR_HELMET) - PROP_SpawnState (0) - PROP_Inventory_Amount (0) -END_DEFAULTS - -// Amulet of Warding (4) ---------------------------------------------------- - -class AAmuletOfWarding : public AHexenArmor -{ - DECLARE_ACTOR (AAmuletOfWarding, AHexenArmor) -protected: - const char *PickupMessage () - { - return GStrings("TXT_ARMOR4"); - } -}; - -FState AAmuletOfWarding::States[] = -{ - S_NORMAL (AR_4, 'A', -1, NULL , NULL), -}; - -IMPLEMENT_ACTOR (AAmuletOfWarding, Hexen, 8008, 71) - PROP_Flags (MF_SPECIAL|MF_NOGRAVITY) - PROP_HexenArmor_Class (ARMOR_AMULET) - PROP_SpawnState (0) - PROP_Inventory_Amount (0) -END_DEFAULTS diff --git a/src/g_hexen/a_hexendecorations.cpp b/src/g_hexen/a_hexendecorations.cpp deleted file mode 100644 index cf562625e..000000000 --- a/src/g_hexen/a_hexendecorations.cpp +++ /dev/null @@ -1,625 +0,0 @@ -#include "actor.h" -#include "info.h" - -// Convenient macros -------------------------------------------------------- - -#define _DECCOMMON(cls,ednum,rad,hi,ns) \ - class cls : public AActor { DECLARE_STATELESS_ACTOR (cls, AActor) static FState States[ns]; }; \ - IMPLEMENT_ACTOR (cls, Hexen, ednum, 0) \ - PROP_SpawnState (0) \ - PROP_RadiusFixed (rad) \ - PROP_HeightFixed (hi) - -#define _DECSTARTSTATES(cls,ns) \ - END_DEFAULTS FState cls::States[ns] = - -#define DEC(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_SOLID) \ - _DECSTARTSTATES(cls,ns) - -#define DECNS(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) _DECSTARTSTATES(cls,ns) - -#define DECHANG(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY) \ - _DECSTARTSTATES(cls,ns) - -#define DECHANGNB(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_NOBLOCKMAP|MF_SPAWNCEILING|MF_NOGRAVITY) \ - _DECSTARTSTATES(cls,ns) - -#define DECHANGNS(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_SPAWNCEILING|MF_NOGRAVITY) \ - _DECSTARTSTATES(cls,ns) - -#define DECNBLOCK(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_NOBLOCKMAP) \ - _DECSTARTSTATES(cls,ns) - -#define DECNBNG(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY) \ - _DECSTARTSTATES(cls,ns) - -#define DECNBNGT(cls,ednum,rad,hi,ns) \ - _DECCOMMON(cls,ednum,rad,hi,ns) \ - PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY) \ - PROP_RenderStyle (STYLE_Translucent) \ - PROP_Alpha (OPAQUE*8/10) \ - _DECSTARTSTATES(cls,ns) - -// Definitions -------------------------------------------------------------- - -DEC (AZWingedStatue, 5, 10, 62, 1) -{ - S_NORMAL (STTW, 'A', -1, NULL, NULL) -}; - -DECNS (AZRock1, 6, 20, 16, 1) -{ - S_NORMAL (RCK1, 'A', -1, NULL, NULL) -}; - -DECNS (AZRock2, 7, 20, 16, 1) -{ - S_NORMAL (RCK2, 'A', -1, NULL, NULL) -}; - -DECNS (AZRock3, 9, 20, 16, 1) -{ - S_NORMAL (RCK3, 'A', -1, NULL, NULL) -}; - -DECNS (AZRock4, 15, 20, 16, 1) -{ - S_NORMAL (RCK4, 'A', -1, NULL, NULL) -}; - -DECHANGNS (AZChandelier, 17, 20, 60, 3) -{ - S_NORMAL (CDLR, 'A', 4, NULL, &States[1]), - S_NORMAL (CDLR, 'B', 4, NULL, &States[2]), - S_NORMAL (CDLR, 'C', 4, NULL, &States[0]), -}; - -DECHANGNS (AZChandelierUnlit, 8063, 20, 60, 1) -{ - S_NORMAL (CDLR, 'D', -1, NULL, NULL) -}; - -DEC (AZTreeDead, 24, 10, 96, 1) -{ - S_NORMAL (ZTRE, 'A', -1, NULL, NULL) -}; - -DEC (AZTree, 25, 15, 128, 1) -{ - S_NORMAL (ZTRE, 'A', -1, NULL, NULL) -}; - -DEC (AZTreeSwamp150, 26, 10, 150, 1) -{ - S_NORMAL (TRES, 'A', -1, NULL, NULL) -}; - -DEC (AZTreeSwamp120, 27, 10, 120, 1) -{ - S_NORMAL (TRE3, 'A', -1, NULL, NULL) -}; - -DEC (AZStumpBurned, 28, 12, 20, 1) -{ - S_NORMAL (STM1, 'A', -1, NULL, NULL) -}; - -DEC (AZStumpBare, 29, 12, 20, 1) -{ - S_NORMAL (STM2, 'A', -1, NULL, NULL) -}; - -DECNS (AZStumpSwamp1, 37, 20, 16, 1) -{ - S_NORMAL (STM3, 'A', -1, NULL, NULL) -}; - -DECNS (AZStumpSwamp2, 38, 20, 16, 1) -{ - S_NORMAL (STM4, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomLarge1, 39, 20, 16, 1) -{ - S_NORMAL (MSH1, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomLarge2, 40, 20, 16, 1) -{ - S_NORMAL (MSH2, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomLarge3, 41, 20, 16, 1) -{ - S_NORMAL (MSH3, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomSmall1, 42, 20, 16, 1) -{ - S_NORMAL (MSH4, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomSmall2, 44, 20, 16, 1) -{ - S_NORMAL (MSH5, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomSmall3, 45, 20, 16, 1) -{ - S_NORMAL (MSH6, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomSmall4, 46, 20, 16, 1) -{ - S_NORMAL (MSH7, 'A', -1, NULL, NULL) -}; - -DECNS (AZShroomSmall5, 47, 20, 16, 1) -{ - S_NORMAL (MSH8, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmitePillar, 48, 8, 138, 1) -{ - S_NORMAL (SGMP, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteLarge, 49, 8, 48, 1) -{ - S_NORMAL (SGM1, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteMedium, 50, 6, 40, 1) -{ - S_NORMAL (SGM2, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteSmall, 51, 8, 36, 1) -{ - S_NORMAL (SGM3, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteLarge, 52, 8, 66, 1) -{ - S_NORMAL (SLC1, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteMedium, 56, 6, 50, 1) -{ - S_NORMAL (SLC2, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteSmall, 57, 8, 40, 1) -{ - S_NORMAL (SLC3, 'A', -1, NULL, NULL) -}; - -DECHANGNS (AZMossCeiling1, 58, 20, 20, 1) -{ - S_NORMAL (MSS1, 'A', -1, NULL, NULL) -}; - -DECHANGNS (AZMossCeiling2, 59, 20, 24, 1) -{ - S_NORMAL (MSS2, 'A', -1, NULL, NULL) -}; - -DEC (AZSwampVine, 60, 8, 52, 1) -{ - S_NORMAL (SWMV, 'A', -1, NULL, NULL) -}; - -DEC (AZCorpseKabob, 61, 10, 92, 1) -{ - S_NORMAL (CPS1, 'A', -1, NULL, NULL) -}; - -DECNS (AZCorpseSleeping, 62, 20, 16, 1) -{ - S_NORMAL (CPS2, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneRIP, 63, 10, 46, 1) -{ - S_NORMAL (TMS1, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneShane, 64, 10, 46, 1) -{ - S_NORMAL (TMS2, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneBigCross, 65, 10, 46, 1) -{ - S_NORMAL (TMS3, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneBrianR, 66, 10, 52, 1) -{ - S_NORMAL (TMS4, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneCrossCircle, 67, 10, 52, 1) -{ - S_NORMAL (TMS5, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneSmallCross, 68, 8, 46, 1) -{ - S_NORMAL (TMS6, 'A', -1, NULL, NULL) -}; - -DEC (AZTombstoneBrianP, 69, 8, 46, 1) -{ - S_NORMAL (TMS7, 'A', -1, NULL, NULL) -}; - -DECHANG (AZCorpseHanging, 71, 6, 75, 1) -{ - S_NORMAL (CPS3, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleGreenTall, 72, 14, 108, 1) -{ - S_NORMAL (STT2, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleBlueTall, 73, 14, 108, 1) -{ - S_NORMAL (STT3, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleGreenShort, 74, 14, 62, 1) -{ - S_NORMAL (STT4, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleBlueShort, 76, 14, 62, 1) -{ - S_NORMAL (STT5, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleStripeTall, 8044, 14, 108, 1) -{ - S_NORMAL (GAR1, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleDarkRedTall, 8045, 14, 108, 1) -{ - S_NORMAL (GAR2, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleRedTall, 8046, 14, 108, 1) -{ - S_NORMAL (GAR3, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleTanTall, 8047, 14, 108, 1) -{ - S_NORMAL (GAR4, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleRustTall, 8048, 14, 108, 1) -{ - S_NORMAL (GAR5, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleDarkRedShort, 8049, 14, 62, 1) -{ - S_NORMAL (GAR6, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleRedShort, 8050, 14, 62, 1) -{ - S_NORMAL (GAR7, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleTanShort, 8051, 14, 62, 1) -{ - S_NORMAL (GAR8, 'A', -1, NULL, NULL) -}; - -DEC (AZStatueGargoyleRustShort, 8052, 14, 62, 1) -{ - S_NORMAL (GAR9, 'A', -1, NULL, NULL) -}; - -DEC (AZBannerTattered, 77, 8, 120, 1) -{ - S_NORMAL (BNR1, 'A', -1, NULL, NULL) -}; - -DEC (AZTreeLarge1, 78, 15, 180, 1) -{ - S_NORMAL (TRE4, 'A', -1, NULL, NULL) -}; - -DEC (AZTreeLarge2, 79, 15, 180, 1) -{ - S_NORMAL (TRE5, 'A', -1, NULL, NULL) -}; - -DEC (AZTreeGnarled1, 80, 22, 100, 1) -{ - S_NORMAL (TRE6, 'A', -1, NULL, NULL) -}; - -DEC (AZTreeGnarled2, 87, 22, 100, 1) -{ - S_NORMAL (TRE7, 'A', -1, NULL, NULL) -}; - -DEC (AZLog, 88, 20, 25, 1) -{ - S_NORMAL (LOGG, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteIceLarge, 89, 8, 66, 1) -{ - S_NORMAL (ICT1, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteIceMedium, 90, 5, 50, 1) -{ - S_NORMAL (ICT2, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteIceSmall, 91, 4, 32, 1) -{ - S_NORMAL (ICT3, 'A', -1, NULL, NULL) -}; - -DECHANG (AZStalactiteIceTiny, 92, 4, 8, 1) -{ - S_NORMAL (ICT4, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteIceLarge, 93, 8, 66, 1) -{ - S_NORMAL (ICM1, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteIceMedium, 94, 5, 50, 1) -{ - S_NORMAL (ICM2, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteIceSmall, 95, 4, 32, 1) -{ - S_NORMAL (ICM3, 'A', -1, NULL, NULL) -}; - -DEC (AZStalagmiteIceTiny, 96, 4, 8, 1) -{ - S_NORMAL (ICM4, 'A', -1, NULL, NULL) -}; - -DEC (AZRockBrown1, 97, 17, 72, 1) -{ - S_NORMAL (RKBL, 'A', -1, NULL, NULL) -}; - -DEC (AZRockBrown2, 98, 15, 50, 1) -{ - S_NORMAL (RKBS, 'A', -1, NULL, NULL) -}; - -DEC (AZRockBlack, 99, 20, 40, 1) -{ - S_NORMAL (RKBK, 'A', -1, NULL, NULL) -}; - -DECNS (AZRubble1, 100, 20, 16, 1) -{ - S_NORMAL (RBL1, 'A', -1, NULL, NULL) -}; - -DECNS (AZRubble2, 101, 20, 16, 1) -{ - S_NORMAL (RBL2, 'A', -1, NULL, NULL) -}; - -DECNS (AZRubble3, 102, 20, 16, 1) -{ - S_NORMAL (RBL3, 'A', -1, NULL, NULL) -}; - -DEC (AZVasePillar, 103, 12, 54, 1) -{ - S_NORMAL (VASE, 'A', -1, NULL, NULL) -}; - -DECHANG (AZCorpseLynched, 108, 11, 95, 1) -{ - S_NORMAL (CPS4, 'A', -1, NULL, NULL) -}; - -DECNBNG (AZCandle, 119, 20, 16, 3) -{ - S_BRIGHT (CNDL, 'A', 4, NULL, &States[1]), - S_BRIGHT (CNDL, 'B', 4, NULL, &States[2]), - S_BRIGHT (CNDL, 'C', 4, NULL, &States[0]) -}; - -DEC (AZBarrel, 8100, 15, 32, 1) -{ - S_NORMAL (ZBAR, 'A', -1, NULL, NULL) -}; - -DECHANG (AZBucket, 8103, 8, 72, 1) -{ - S_NORMAL (BCKT, 'A', -1, NULL, NULL) -}; - -DEC (AFireThing, 8060, 5, 10, 9) -{ - S_BRIGHT (FSKL, 'A', 4, NULL, &States[1]), - S_BRIGHT (FSKL, 'B', 3, NULL, &States[2]), - S_BRIGHT (FSKL, 'C', 4, NULL, &States[3]), - S_BRIGHT (FSKL, 'D', 3, NULL, &States[4]), - S_BRIGHT (FSKL, 'E', 4, NULL, &States[5]), - S_BRIGHT (FSKL, 'F', 3, NULL, &States[6]), - S_BRIGHT (FSKL, 'G', 4, NULL, &States[7]), - S_BRIGHT (FSKL, 'H', 3, NULL, &States[8]), - S_BRIGHT (FSKL, 'I', 4, NULL, &States[0]) -}; - -DEC (ABrassTorch, 8061, 6, 35, 13) -{ - S_BRIGHT (BRTR, 'A', 4, NULL, &States[1]), - S_BRIGHT (BRTR, 'B', 4, NULL, &States[2]), - S_BRIGHT (BRTR, 'C', 4, NULL, &States[3]), - S_BRIGHT (BRTR, 'D', 4, NULL, &States[4]), - S_BRIGHT (BRTR, 'E', 4, NULL, &States[5]), - S_BRIGHT (BRTR, 'F', 4, NULL, &States[6]), - S_BRIGHT (BRTR, 'G', 4, NULL, &States[7]), - S_BRIGHT (BRTR, 'H', 4, NULL, &States[8]), - S_BRIGHT (BRTR, 'I', 4, NULL, &States[9]), - S_BRIGHT (BRTR, 'J', 4, NULL, &States[10]), - S_BRIGHT (BRTR, 'K', 4, NULL, &States[11]), - S_BRIGHT (BRTR, 'L', 4, NULL, &States[12]), - S_BRIGHT (BRTR, 'M', 4, NULL, &States[0]) -}; - -DECNBLOCK (AZBlueCandle, 8066, 20, 16, 5) -{ - S_BRIGHT (BCAN, 'A', 5, NULL, &States[1]), - S_BRIGHT (BCAN, 'B', 5, NULL, &States[2]), - S_BRIGHT (BCAN, 'C', 5, NULL, &States[3]), - S_BRIGHT (BCAN, 'D', 5, NULL, &States[4]), - S_BRIGHT (BCAN, 'E', 5, NULL, &States[0]) -}; - -DEC (AZIronMaiden, 8067, 12, 60, 1) -{ - S_NORMAL (IRON, 'A', -1, NULL, NULL) -}; - -DECHANGNB (AZChainBit32, 8071, 4, 32, 1) -{ - S_NORMAL (CHNS, 'A', -1, NULL, NULL) -}; - -DECHANGNB (AZChainBit64, 8072, 4, 64, 1) -{ - S_NORMAL (CHNS, 'B', -1, NULL, NULL) -}; - -DECHANGNB (AZChainEndHeart, 8073, 4, 32, 1) -{ - S_NORMAL (CHNS, 'C', -1, NULL, NULL) -}; - -DECHANGNB (AZChainEndHook1, 8074, 4, 32, 1) -{ - S_NORMAL (CHNS, 'D', -1, NULL, NULL) -}; - -DECHANGNB (AZChainEndHook2, 8075, 4, 32, 1) -{ - S_NORMAL (CHNS, 'E', -1, NULL, NULL) -}; - -DECHANGNB (AZChainEndSpike, 8076, 4, 32, 1) -{ - S_NORMAL (CHNS, 'F', -1, NULL, NULL) -}; - -DECHANGNB (AZChainEndSkull, 8077, 4, 32, 1) -{ - S_NORMAL (CHNS, 'G', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit1, 8500, 20, 16, 1) -{ - S_NORMAL (TST1, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit2, 8501, 20, 16, 1) -{ - S_NORMAL (TST2, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit3, 8502, 20, 16, 1) -{ - S_NORMAL (TST3, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit4, 8503, 20, 16, 1) -{ - S_NORMAL (TST4, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit5, 8504, 20, 16, 1) -{ - S_NORMAL (TST5, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit6, 8505, 20, 16, 1) -{ - S_NORMAL (TST6, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit7, 8506, 20, 16, 1) -{ - S_NORMAL (TST7, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit8, 8507, 20, 16, 1) -{ - S_NORMAL (TST8, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit9, 8508, 20, 16, 1) -{ - S_NORMAL (TST9, 'A', -1, NULL, NULL) -}; - -DECNBLOCK (ATableShit10, 8509, 20, 16, 1) -{ - S_NORMAL (TST0, 'A', -1, NULL, NULL) -}; - -DECNBNGT (ATeleSmoke, 140, 20, 16, 26) -{ - S_NORMAL (TSMK, 'A', 4, NULL, &States[1]), - S_NORMAL (TSMK, 'B', 3, NULL, &States[2]), - S_NORMAL (TSMK, 'C', 4, NULL, &States[3]), - S_NORMAL (TSMK, 'D', 3, NULL, &States[4]), - S_NORMAL (TSMK, 'E', 4, NULL, &States[5]), - S_NORMAL (TSMK, 'F', 3, NULL, &States[6]), - S_NORMAL (TSMK, 'G', 4, NULL, &States[7]), - S_NORMAL (TSMK, 'H', 3, NULL, &States[8]), - S_NORMAL (TSMK, 'I', 4, NULL, &States[9]), - S_NORMAL (TSMK, 'J', 3, NULL, &States[10]), - S_NORMAL (TSMK, 'K', 4, NULL, &States[11]), - S_NORMAL (TSMK, 'L', 3, NULL, &States[12]), - S_NORMAL (TSMK, 'M', 4, NULL, &States[13]), - S_NORMAL (TSMK, 'N', 3, NULL, &States[14]), - S_NORMAL (TSMK, 'O', 4, NULL, &States[15]), - S_NORMAL (TSMK, 'P', 3, NULL, &States[16]), - S_NORMAL (TSMK, 'Q', 4, NULL, &States[17]), - S_NORMAL (TSMK, 'R', 3, NULL, &States[18]), - S_NORMAL (TSMK, 'S', 4, NULL, &States[19]), - S_NORMAL (TSMK, 'T', 3, NULL, &States[20]), - S_NORMAL (TSMK, 'U', 4, NULL, &States[21]), - S_NORMAL (TSMK, 'V', 3, NULL, &States[22]), - S_NORMAL (TSMK, 'W', 4, NULL, &States[23]), - S_NORMAL (TSMK, 'X', 3, NULL, &States[24]), - S_NORMAL (TSMK, 'Y', 4, NULL, &States[25]), - S_NORMAL (TSMK, 'Z', 3, NULL, &States[0]) -}; - diff --git a/src/g_hexen/a_hexenkeys.cpp b/src/g_hexen/a_hexenkeys.cpp deleted file mode 100644 index 7567f41b2..000000000 --- a/src/g_hexen/a_hexenkeys.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "info.h" -#include "a_pickups.h" -#include "gstrings.h" -#include "a_keys.h" -#include "tarray.h" - -IMPLEMENT_STATELESS_ACTOR (AHexenKey, Hexen, -1, 0) - PROP_RadiusFixed (8) - PROP_HeightFixed (20) - PROP_Flags (MF_SPECIAL) -END_DEFAULTS - -#define MAKEKEY(num,n1,name,ednum, spawn) \ - class AKey##n1 : public AHexenKey { \ - DECLARE_ACTOR (AKey##n1, AHexenKey) \ - public: \ - const char *PickupMessage () { return GStrings("TXT_KEY_" #name); } \ - }; \ - FState AKey##n1::States[] = { S_NORMAL (KEY##num, 'A', -1, NULL, NULL) }; \ - IMPLEMENT_ACTOR (AKey##n1, Hexen, ednum, spawn) PROP_SpawnState (0) \ - PROP_Inventory_Icon ("KEYSLOT" #num) END_DEFAULTS - -MAKEKEY (1, Steel, STEEL, 8030, 85) -MAKEKEY (2, Cave, CAVE, 8031, 86) -MAKEKEY (3, Axe, AXE, 8032, 87) -MAKEKEY (4, Fire, FIRE, 8033, 88) -MAKEKEY (5, Emerald, EMERALD, 8034, 89) -MAKEKEY (6, Dungeon, DUNGEON, 8035, 90) -MAKEKEY (7, Silver, SILVER, 8036, 91) -MAKEKEY (8, Rusted, RUSTED, 8037, 92) -MAKEKEY (9, Horn, HORN, 8038, 93) -MAKEKEY (A, Swamp, SWAMP, 8039, 94) -MAKEKEY (B, Castle, CASTLE, 8200, 0) diff --git a/src/g_hexen/a_speedboots.cpp b/src/g_hexen/a_speedboots.cpp deleted file mode 100644 index f60e1cf8c..000000000 --- a/src/g_hexen/a_speedboots.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "info.h" -#include "a_pickups.h" -#include "a_artifacts.h" -#include "gstrings.h" -#include "p_local.h" - -// Speed Boots Artifact ----------------------------------------------------- - -class AArtiSpeedBoots : public APowerupGiver -{ - DECLARE_ACTOR (AArtiSpeedBoots, APowerupGiver) -public: - const char *PickupMessage (); -}; - -FState AArtiSpeedBoots::States[] = -{ - S_BRIGHT (SPED, 'A', 3, NULL , &States[1]), - S_BRIGHT (SPED, 'B', 3, NULL , &States[2]), - S_BRIGHT (SPED, 'C', 3, NULL , &States[3]), - S_BRIGHT (SPED, 'D', 3, NULL , &States[4]), - S_BRIGHT (SPED, 'E', 3, NULL , &States[5]), - S_BRIGHT (SPED, 'F', 3, NULL , &States[6]), - S_BRIGHT (SPED, 'G', 3, NULL , &States[7]), - S_BRIGHT (SPED, 'H', 3, NULL , &States[0]), -}; - -IMPLEMENT_ACTOR (AArtiSpeedBoots, Hexen, 8002, 13) - PROP_Flags (MF_SPECIAL) - PROP_Flags2 (MF2_FLOATBOB) - PROP_SpawnState (0) - PROP_Inventory_FlagsSet (IF_PICKUPFLASH) - PROP_Inventory_Icon ("ARTISPED") - PROP_PowerupGiver_Powerup ("PowerSpeed") -END_DEFAULTS - -const char *AArtiSpeedBoots::PickupMessage () -{ - return GStrings("TXT_ARTISPEED"); -} diff --git a/src/g_shared/a_decals.cpp b/src/g_shared/a_decals.cpp index 731438e10..da2c2de56 100644 --- a/src/g_shared/a_decals.cpp +++ b/src/g_shared/a_decals.cpp @@ -610,7 +610,13 @@ DImpactDecal *DImpactDecal::StaticCreate (const FDecalTemplate *tpl, fixed_t x, { if (tpl->LowerDecal) { - StaticCreate (tpl->LowerDecal->GetDecal(), x, y, z, wall); + int lowercolor = color; + const FDecalTemplate * tpl_low = tpl->LowerDecal->GetDecal(); + + // If the default color of the lower decal is the same as the main decal's + // apply the custom color as well. + if (tpl->ShadeColor == tpl_low->ShadeColor) lowercolor=0; + StaticCreate (tpl_low, x, y, z, wall, lowercolor); } DImpactDecal::CheckMax(); decal = new DImpactDecal (z); diff --git a/src/g_shared/a_keys.h b/src/g_shared/a_keys.h index df01b7a93..9a2a11d22 100644 --- a/src/g_shared/a_keys.h +++ b/src/g_shared/a_keys.h @@ -15,11 +15,6 @@ protected: virtual bool ShouldStay (); }; -class AHexenKey : public AKey -{ - DECLARE_STATELESS_ACTOR (AHexenKey, AKey) -}; - class AStrifeKey : public AKey { DECLARE_STATELESS_ACTOR (AStrifeKey, AKey) diff --git a/src/m_alloc.cpp b/src/m_alloc.cpp index 56a12826f..4ba38d8a7 100644 --- a/src/m_alloc.cpp +++ b/src/m_alloc.cpp @@ -37,7 +37,7 @@ #include "i_system.h" #include "m_alloc.h" -void *Malloc (size_t size) +void *M_Malloc (size_t size) { void *zone = malloc (size); @@ -47,7 +47,7 @@ void *Malloc (size_t size) return zone; } -void *Calloc (size_t num, size_t size) +void *M_Calloc (size_t num, size_t size) { void *zone = calloc (num, size); @@ -57,7 +57,7 @@ void *Calloc (size_t num, size_t size) return zone; } -void *Realloc (void *memblock, size_t size) +void *M_Realloc (void *memblock, size_t size) { void *zone = realloc (memblock, size); diff --git a/src/m_options.cpp b/src/m_options.cpp index 38956af36..5eb942b04 100644 --- a/src/m_options.cpp +++ b/src/m_options.cpp @@ -2671,7 +2671,7 @@ static void BuildModesList (int hiwidth, int hiheight, int hi_bits) char strtemp[32], **str; int i, c; int width, height, showbits; - bool letterbox; + bool letterbox=false; int ratiomatch; if (menu_screenratios >= 0 && menu_screenratios <= 4 && menu_screenratios != 3) diff --git a/src/r_data.cpp b/src/r_data.cpp index 13618ae18..2eca7bff9 100644 --- a/src/r_data.cpp +++ b/src/r_data.cpp @@ -1746,7 +1746,7 @@ void FIMGZTexture::MakeTexture () } } - Spans = CreateSpans (Pixels); + if (Spans == NULL) Spans = CreateSpans (Pixels); } @@ -1976,7 +1976,7 @@ void FPNGTexture::MakeTexture () delete[] oldpix; } } - Spans = CreateSpans (Pixels); + if (Spans == NULL) Spans = CreateSpans (Pixels); } @@ -2220,7 +2220,8 @@ void FMultiPatchTexture::MakeTexture () { // Add a little extra space at the end if the texture's height is not // a power of 2, in case somebody accidentally makes it repeat vertically. - int numpix = Width * Height + (1 << HeightBits) - Height; + // (Jim's Valgrind dump indicates that more padding is needed here.) + int numpix = Width * Height + Height;// (1 << HeightBits) - Height; Pixels = new BYTE[numpix]; memset (Pixels, 0, numpix); @@ -2231,7 +2232,7 @@ void FMultiPatchTexture::MakeTexture () Parts[i].OriginX, Parts[i].OriginY); } - Spans = CreateSpans (Pixels); + if (Spans == NULL) Spans = CreateSpans (Pixels); } void FMultiPatchTexture::CheckForHacks () diff --git a/src/sdl/i_system.cpp b/src/sdl/i_system.cpp index 258a858a0..8dffe2f3d 100644 --- a/src/sdl/i_system.cpp +++ b/src/sdl/i_system.cpp @@ -386,13 +386,13 @@ static int matchfile (const struct dirent *ent) void *I_FindFirst (const char *filespec, findstate_t *fileinfo) { - string dir; + FString dir; char *slash = strrchr (filespec, '/'); if (slash) { pattern = slash+1; - dir = string(filespec, slash-filespec+1); + dir = FString(filespec, slash-filespec+1); } else { diff --git a/wadsrc/decals/decaldef.txt b/wadsrc/decals/decaldef.txt index afa7a5540..2cd09e1d0 100644 --- a/wadsrc/decals/decaldef.txt +++ b/wadsrc/decals/decaldef.txt @@ -21,7 +21,7 @@ colorchanger ToBlack stretcher BloodStretcher { StretchTime 35 - GoalY 80 + GoalY 2.0 } slider BloodSlider diff --git a/wadsrc/decorate/hexen/hexenarmor.txt b/wadsrc/decorate/hexen/hexenarmor.txt index 2cf8925e9..8aa830654 100644 --- a/wadsrc/decorate/hexen/hexenarmor.txt +++ b/wadsrc/decorate/hexen/hexenarmor.txt @@ -1 +1,73 @@ -// + +// Mesh Armor (1) ----------------------------------------------------------- + +ACTOR MeshArmor : HexenArmor 8005 +{ + Game Hexen + SpawnID 68 + +NOGRAVITY + Health 0 // Armor class + Inventory.Amount 0 + Inventory.PickupMessage "$TXT_ARMOR1" + States + { + Spawn: + AR_1 A -1 + Stop + } +} + +// Falcon Shield (2) -------------------------------------------------------- + +ACTOR FalconShield : HexenArmor 8006 +{ + Game Hexen + SpawnID 69 + +NOGRAVITY + Health 1 // Armor class + Inventory.Amount 0 + Inventory.PickupMessage "$TXT_ARMOR2" + States + { + Spawn: + AR_2 A -1 + Stop + } +} + +// Platinum Helm (3) -------------------------------------------------------- + +ACTOR PlatinumHelm : HexenArmor 8007 +{ + Game Hexen + SpawnID 70 + +NOGRAVITY + Health 2 // Armor class + Inventory.Amount 0 + Inventory.PickupMessage "$TXT_ARMOR3" + States + { + Spawn: + AR_3 A -1 + Stop + } +} + +// Amulet of Warding (4) ---------------------------------------------------- + +ACTOR AmuletOfWarding : HexenArmor 8008 +{ + Game Hexen + SpawnID 71 + +NOGRAVITY + Health 3 // Armor class + Inventory.Amount 0 + Inventory.PickupMessage "$TXT_ARMOR4" + States + { + Spawn: + AR_4 A -1 + Stop + } +} + diff --git a/wadsrc/decorate/hexen/hexendecorations.txt b/wadsrc/decorate/hexen/hexendecorations.txt index 2cf8925e9..3fe66d98c 100644 --- a/wadsrc/decorate/hexen/hexendecorations.txt +++ b/wadsrc/decorate/hexen/hexendecorations.txt @@ -1 +1,1499 @@ -// +ACTOR ZWingedStatue 5 +{ + Game Hexen + Radius 10 + Height 62 + +SOLID + States + { + Spawn: + STTW A -1 + Stop + } +} + +ACTOR ZRock1 6 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RCK1 A -1 + Stop + } +} + +ACTOR ZRock2 7 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RCK2 A -1 + Stop + } +} + +ACTOR ZRock3 9 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RCK3 A -1 + Stop + } +} + +ACTOR ZRock4 15 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RCK4 A -1 + Stop + } +} + +ACTOR ZChandelier 17 +{ + Game Hexen + Radius 20 + Height 60 + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + CDLR ABC 4 + Loop + } +} + +ACTOR ZChandelierUnlit 8063 +{ + Game Hexen + Radius 20 + Height 60 + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + CDLR D -1 + Stop + } +} + +ACTOR ZTreeDead 24 +{ + Game Hexen + Radius 10 + Height 96 + +SOLID + States + { + Spawn: + ZTRE A -1 + Stop + } +} + +ACTOR ZTree 25 +{ + Game Hexen + Radius 15 + Height 128 + +SOLID + States + { + Spawn: + ZTRE A -1 + Stop + } +} + +ACTOR ZTreeSwamp150 26 +{ + Game Hexen + Radius 10 + Height 150 + +SOLID + States + { + Spawn: + TRES A -1 + Stop + } +} + +ACTOR ZTreeSwamp120 27 +{ + Game Hexen + Radius 10 + Height 120 + +SOLID + States + { + Spawn: + TRE3 A -1 + Stop + } +} + +ACTOR ZStumpBurned 28 +{ + Game Hexen + Radius 12 + Height 20 + +SOLID + States + { + Spawn: + STM1 A -1 + Stop + } +} + +ACTOR ZStumpBare 29 +{ + Game Hexen + Radius 12 + Height 20 + +SOLID + States + { + Spawn: + STM2 A -1 + Stop + } +} + +ACTOR ZStumpSwamp1 37 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + STM3 A -1 + Stop + } +} + +ACTOR ZStumpSwamp2 38 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + STM4 A -1 + Stop + } +} + +ACTOR ZShroomLarge1 39 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH1 A -1 + Stop + } +} + +ACTOR ZShroomLarge2 40 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH2 A -1 + Stop + } +} + +ACTOR ZShroomLarge3 41 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH3 A -1 + Stop + } +} + +ACTOR ZShroomSmall1 42 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH4 A -1 + Stop + } +} + +ACTOR ZShroomSmall2 44 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH5 A -1 + Stop + } +} + +ACTOR ZShroomSmall3 45 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH6 A -1 + Stop + } +} + +ACTOR ZShroomSmall4 46 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH7 A -1 + Stop + } +} + +ACTOR ZShroomSmall5 47 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + MSH8 A -1 + Stop + } +} + +ACTOR ZStalagmitePillar 48 +{ + Game Hexen + Radius 8 + Height 138 + +SOLID + States + { + Spawn: + SGMP A -1 + Stop + } +} + +ACTOR ZStalagmiteLarge 49 +{ + Game Hexen + Radius 8 + Height 48 + +SOLID + States + { + Spawn: + SGM1 A -1 + Stop + } +} + +ACTOR ZStalagmiteMedium 50 +{ + Game Hexen + Radius 6 + Height 40 + +SOLID + States + { + Spawn: + SGM2 A -1 + Stop + } +} + +ACTOR ZStalagmiteSmall 51 +{ + Game Hexen + Radius 8 + Height 36 + +SOLID + States + { + Spawn: + SGM3 A -1 + Stop + } +} + +ACTOR ZStalactiteLarge 52 +{ + Game Hexen + Radius 8 + Height 66 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + SLC1 A -1 + Stop + } +} + +ACTOR ZStalactiteMedium 56 +{ + Game Hexen + Radius 6 + Height 50 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + SLC2 A -1 + Stop + } +} + +ACTOR ZStalactiteSmall 57 +{ + Game Hexen + Radius 8 + Height 40 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + SLC3 A -1 + Stop + } +} + +ACTOR ZMossCeiling1 58 +{ + Game Hexen + Radius 20 + Height 20 + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + MSS1 A -1 + Stop + } +} + +ACTOR ZMossCeiling2 59 +{ + Game Hexen + Radius 20 + Height 24 + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + MS21 A -1 + Stop + } +} + +ACTOR ZSwampVine 60 +{ + Game Hexen + Radius 8 + Height 52 + +SOLID + States + { + Spawn: + SWMV A -1 + Stop + } +} + +ACTOR ZCorpseKabob 61 +{ + Game Hexen + Radius 10 + Height 92 + +SOLID + States + { + Spawn: + CPS1 A -1 + Stop + } +} + +ACTOR ZCorpseSleeping 62 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + CPS2 A -1 + Stop + } +} + +ACTOR ZTombstoneRIP 63 +{ + Game Hexen + Radius 10 + Height 46 + +SOLID + States + { + Spawn: + TMS1 A -1 + Stop + } +} + +ACTOR ZTombstoneShane 64 +{ + Game Hexen + Radius 10 + Height 46 + +SOLID + States + { + Spawn: + TMS2 A -1 + Stop + } +} + +ACTOR ZTombstoneBigCross 65 +{ + Game Hexen + Radius 10 + Height 46 + +SOLID + States + { + Spawn: + TMS3 A -1 + Stop + } +} + +ACTOR ZTombstoneBrianR 66 +{ + Game Hexen + Radius 10 + Height 52 + +SOLID + States + { + Spawn: + TMS4 A -1 + Stop + } +} + +ACTOR ZTombstoneCrossCircle 67 +{ + Game Hexen + Radius 10 + Height 52 + +SOLID + States + { + Spawn: + TMS5 A -1 + Stop + } +} + +ACTOR ZTombstoneSmallCross 68 +{ + Game Hexen + Radius 8 + Height 46 + +SOLID + States + { + Spawn: + TMS6 A -1 + Stop + } +} + +ACTOR ZTombstoneBrianP 69 +{ + Game Hexen + Radius 8 + Height 46 + +SOLID + States + { + Spawn: + TMS7 A -1 + Stop + } +} + +ACTOR ZCorpseHanging 71 +{ + Game Hexen + Radius 6 + Height 75 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + CPS3 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleGreenTall 72 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + STT2 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleBlueTall 73 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + STT3 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleGreenShort 74 +{ + Game Hexen + Radius 14 + Height 62 + +SOLID + States + { + Spawn: + STT4 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleBlueShort 76 +{ + Game Hexen + Radius 14 + Height 62 + +SOLID + States + { + Spawn: + STT5 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleStripeTall 8044 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + GAR1 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleDarkRedTall 8045 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + GAR2 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleRedTall 8046 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + GAR3 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleTanTall 8047 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + GAR4 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleRustTall 8048 +{ + Game Hexen + Radius 14 + Height 108 + +SOLID + States + { + Spawn: + GAR5 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleDarkRedShort 8049 +{ + Game Hexen + Radius 14 + Height 62 + +SOLID + States + { + Spawn: + GAR6 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleRedShort 8050 +{ + Game Hexen + Radius 14 + Height 62 + +SOLID + States + { + Spawn: + GAR7 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleTanShort 8051 +{ + Game Hexen + Radius 14 + Height 62 + +SOLID + States + { + Spawn: + GAR8 A -1 + Stop + } +} + +ACTOR ZStatueGargoyleRustShort 8052 +{ + Game Hexen + Radius 14 + Height 62 + +SOLID + States + { + Spawn: + GAR9 A -1 + Stop + } +} + +ACTOR ZBannerTattered 77 +{ + Game Hexen + Radius 8 + Height 120 + +SOLID + States + { + Spawn: + BNR1 A -1 + Stop + } +} + +ACTOR ZTreeLarge1 78 +{ + Game Hexen + Radius 15 + Height 180 + +SOLID + States + { + Spawn: + TRE4 A -1 + Stop + } +} + +ACTOR ZTreeLarge2 79 +{ + Game Hexen + Radius 15 + Height 180 + +SOLID + States + { + Spawn: + TRE5 A -1 + Stop + } +} + +ACTOR ZTreeGnarled1 80 +{ + Game Hexen + Radius 22 + Height 100 + +SOLID + States + { + Spawn: + TRE6 A -1 + Stop + } +} + +ACTOR ZTreeGnarled2 87 +{ + Game Hexen + Radius 22 + Height 100 + +SOLID + States + { + Spawn: + TRE7 A -1 + Stop + } +} + +ACTOR ZLog 88 +{ + Game Hexen + Radius 20 + Height 25 + +SOLID + States + { + Spawn: + LOGG A -1 + Stop + } +} + +ACTOR ZStalactiteIceLarge 89 +{ + Game Hexen + Radius 8 + Height 66 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + ICT1 A -1 + Stop + } +} + +ACTOR ZStalactiteIceMedium 90 +{ + Game Hexen + Radius 5 + Height 50 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + ICT2 A -1 + Stop + } +} + +ACTOR ZStalactiteIceSmall 91 +{ + Game Hexen + Radius 4 + Height 32 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + ICT3 A -1 + Stop + } +} + +ACTOR ZStalactiteIceTiny 92 +{ + Game Hexen + Radius 4 + Height 8 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + ICT4 A -1 + Stop + } +} + +ACTOR ZStalagmiteIceLarge 93 +{ + Game Hexen + Radius 8 + Height 66 + +SOLID + States + { + Spawn: + ICM1 A -1 + Stop + } +} + +ACTOR ZStalagmiteIceMedium 94 +{ + Game Hexen + Radius 5 + Height 50 + +SOLID + States + { + Spawn: + ICM2 A -1 + Stop + } +} + +ACTOR ZStalagmiteIceSmall 95 +{ + Game Hexen + Radius 4 + Height 32 + +SOLID + States + { + Spawn: + ICM3 A -1 + Stop + } +} + +ACTOR ZStalagmiteIceTiny 96 +{ + Game Hexen + Radius 4 + Height 8 + +SOLID + States + { + Spawn: + ICM4 A -1 + Stop + } +} + +ACTOR ZRockBrown1 97 +{ + Game Hexen + Radius 17 + Height 72 + +SOLID + States + { + Spawn: + RKBL A -1 + Stop + } +} + +ACTOR ZRockBrown2 98 +{ + Game Hexen + Radius 15 + Height 50 + +SOLID + States + { + Spawn: + RKBS A -1 + Stop + } +} + +ACTOR ZRockBlack 99 +{ + Game Hexen + Radius 20 + Height 40 + +SOLID + States + { + Spawn: + RKBK A -1 + Stop + } +} + +ACTOR ZRubble1 100 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RBL1 A -1 + Stop + } +} + +ACTOR ZRubble2 101 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RBL2 A -1 + Stop + } +} + +ACTOR ZRubble3 102 +{ + Game Hexen + Radius 20 + Height 16 + States + { + Spawn: + RBL3 A -1 + Stop + } +} + +ACTOR ZVasePillar 103 +{ + Game Hexen + Radius 12 + Height 54 + +SOLID + States + { + Spawn: + VASE A -1 + Stop + } +} + +ACTOR ZCorpseLynched 108 +{ + Game Hexen + Radius 11 + Height 95 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + CPS4 A -1 + Stop + } +} + +ACTOR ZCandle 119 +{ + Game Hexen + Radius 20 + Height 16 + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CNDL ABC 4 Bright + Loop + } +} + +ACTOR ZBarrel 8100 +{ + Game Hexen + Radius 15 + Height 32 + +SOLID + States + { + Spawn: + ZBAR A -1 + Stop + } +} + +ACTOR ZBucket 8103 +{ + Game Hexen + Radius 8 + Height 72 + +SOLID + +SPAWNCEILING + +NOGRAVITY + States + { + Spawn: + BCKT A -1 + Stop + } +} + +ACTOR ZFireThing 8060 +{ + Game Hexen + Radius 5 + Height 10 + +SOLID + States + { + Spawn: + FSKL A 4 Bright + FSKL B 3 Bright + FSKL C 4 Bright + FSKL D 3 Bright + FSKL E 4 Bright + FSKL F 3 Bright + FSKL G 4 Bright + FSKL H 3 Bright + FSKL I 4 Bright + Loop + } +} + +ACTOR ZBrassTorch 8061 +{ + Game Hexen + Radius 6 + Height 35 + +SOLID + States + { + Spawn: + BRTR ABCDEFGHIJKLM 4 Bright + Loop + } +} + +ACTOR ZBlueCandle 8066 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + BCAN ABCDE 5 Bright + Loop + } +} + +ACTOR ZIronMaiden 8067 +{ + Game Hexen + Radius 12 + Height 60 + +SOLID + States + { + Spawn: + IRON A -1 + Stop + } +} + +ACTOR ZChainBit32 8071 +{ + Game Hexen + Radius 4 + Height 32 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS A -1 + Stop + } +} + +ACTOR ZChainBit64 8072 +{ + Game Hexen + Radius 4 + Height 64 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS B -1 + Stop + } +} + +ACTOR ZChainEndHeart 8073 +{ + Game Hexen + Radius 4 + Height 32 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS C -1 + Stop + } +} + +ACTOR ZChainEndHook1 8074 +{ + Game Hexen + Radius 4 + Height 32 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS D -1 + Stop + } +} + +ACTOR ZChainEndHook2 8075 +{ + Game Hexen + Radius 4 + Height 32 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS E -1 + Stop + } +} + +ACTOR ZChainEndSpike 8076 +{ + Game Hexen + Radius 4 + Height 32 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS F -1 + Stop + } +} + +ACTOR ZChainEndSkull 8077 +{ + Game Hexen + Radius 4 + Height 32 + +SPAWNCEILING + +NOGRAVITY + +NOBLOCKMAP + States + { + Spawn: + CHNS G -1 + Stop + } +} + +ACTOR TableShit1 8500 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST1 A -1 + Stop + } +} + +ACTOR TableShit2 8501 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST2 A -1 + Stop + } +} + +ACTOR TableShit3 8502 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST3 A -1 + Stop + } +} + +ACTOR TableShit4 8503 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST4 A -1 + Stop + } +} + +ACTOR TableShit5 8504 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST5 A -1 + Stop + } +} + +ACTOR TableShit6 8505 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST6 A -1 + Stop + } +} + +ACTOR TableShit7 8506 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST7 A -1 + Stop + } +} + +ACTOR TableShit8 8507 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST8 A -1 + Stop + } +} + +ACTOR TableShit9 8508 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST1 A -1 + Stop + } +} + +ACTOR TableShit10 8509 +{ + Game Hexen + Radius 20 + Height 16 + +NOBLOCKMAP + States + { + Spawn: + TST0 A -1 + Stop + } +} + +ACTOR TeleSmoke 140 +{ + Game Hexen + Radius 20 + Height 16 + +NOGRAVITY + +NOBLOCKMAP + RenderStyle Translucent + Alpha 0.6 + States + { + Spawn: + TSMK A 4 + TSMK B 3 + TSMK C 4 + TSMK D 3 + TSMK E 4 + TSMK F 3 + TSMK G 4 + TSMK H 3 + TSMK I 4 + TSMK J 3 + TSMK K 4 + TSMK L 3 + TSMK M 4 + TSMK N 3 + TSMK O 4 + TSMK P 3 + TSMK Q 4 + TSMK R 3 + TSMK S 4 + TSMK T 3 + TSMK U 4 + TSMK V 3 + TSMK W 4 + TSMK X 3 + TSMK Y 4 + TSMK Z 3 + Loop + } +} + diff --git a/wadsrc/decorate/hexen/hexenkeys.txt b/wadsrc/decorate/hexen/hexenkeys.txt index 2cf8925e9..e58693e69 100644 --- a/wadsrc/decorate/hexen/hexenkeys.txt +++ b/wadsrc/decorate/hexen/hexenkeys.txt @@ -1 +1,160 @@ -// + +ACTOR HexenKey : Key +{ + Radius 8 + Height 20 +} + +ACTOR KeySteel : HexenKey 8030 +{ + Game Hexen + SpawnID 85 + Inventory.Icon KEYSLOT1 + Inventory.PickupMessage "$TXT_KEY_STEEL" + States + { + Spawn: + KEY1 A -1 + Stop + } +} + +ACTOR KeyCave : HexenKey 8031 +{ + Game Hexen + SpawnID 86 + Inventory.Icon KEYSLOT2 + Inventory.PickupMessage "$TXT_KEY_CAVE" + States + { + Spawn: + KEY2 A -1 + Stop + } +} + +ACTOR KeyAxe : HexenKey 8032 +{ + Game Hexen + SpawnID 87 + Inventory.Icon KEYSLOT3 + Inventory.PickupMessage "$TXT_KEY_AXE" + States + { + Spawn: + KEY3 A -1 + Stop + } +} + +ACTOR KeyFire : HexenKey 8033 +{ + Game Hexen + SpawnID 88 + Inventory.Icon KEYSLOT4 + Inventory.PickupMessage "$TXT_KEY_FIRE" + States + { + Spawn: + KEY4 A -1 + Stop + } +} + +ACTOR KeyEmerald : HexenKey 8034 +{ + Game Hexen + SpawnID 89 + Inventory.Icon KEYSLOT5 + Inventory.PickupMessage "$TXT_KEY_EMERALD" + States + { + Spawn: + KEY5 A -1 + Stop + } +} + +ACTOR KeyDungeon : HexenKey 8035 +{ + Game Hexen + SpawnID 90 + Inventory.Icon KEYSLOT6 + Inventory.PickupMessage "$TXT_KEY_DUNGEON" + States + { + Spawn: + KEY6 A -1 + Stop + } +} + +ACTOR KeySilver : HexenKey 8036 +{ + Game Hexen + SpawnID 91 + Inventory.Icon KEYSLOT7 + Inventory.PickupMessage "$TXT_KEY_SILVER" + States + { + Spawn: + KEY7 A -1 + Stop + } +} + +ACTOR KeyRusted : HexenKey 8037 +{ + Game Hexen + SpawnID 92 + Inventory.Icon KEYSLOT8 + Inventory.PickupMessage "$TXT_KEY_RUSTED" + States + { + Spawn: + KEY8 A -1 + Stop + } +} + +ACTOR KeyHorn : HexenKey 8038 +{ + Game Hexen + SpawnID 93 + Inventory.Icon KEYSLOT9 + Inventory.PickupMessage "$TXT_KEY_HORN" + States + { + Spawn: + KEY9 A -1 + Stop + } +} + +ACTOR KeySwamp : HexenKey 8039 +{ + Game Hexen + SpawnID 94 + Inventory.Icon KEYSLOTA + Inventory.PickupMessage "$TXT_KEY_SWAMP" + States + { + Spawn: + KEYA A -1 + Stop + } +} + +ACTOR KeyCastle : HexenKey 8200 +{ + Game Hexen + Inventory.Icon KEYSLOTB + Inventory.PickupMessage "$TXT_KEY_CASTLE" + States + { + Spawn: + KEYB A -1 + Stop + } +} + diff --git a/wadsrc/decorate/hexen/speedboots.txt b/wadsrc/decorate/hexen/speedboots.txt index 2cf8925e9..e4b0eefd3 100644 --- a/wadsrc/decorate/hexen/speedboots.txt +++ b/wadsrc/decorate/hexen/speedboots.txt @@ -1 +1,18 @@ -// + + +ACTOR ArtiSpeedBoots : PowerupGiver 8002 +{ + Game Hexen + SpawnID 13 + +FLOATBOB + +INVENTORY.PICKUPFLASH + Inventory.Icon ARTISPED + Inventory.PickupMessage "$TXT_ARTISPEED" + Powerup.Type Speed + States + { + Spawn: + SPED ABCDEFGH 3 Bright + Loop + } +} diff --git a/zdoom.vcproj b/zdoom.vcproj index ab8db4713..523e705bd 100644 --- a/zdoom.vcproj +++ b/zdoom.vcproj @@ -3744,54 +3744,9 @@ AdditionalOptions="" /I /fmod/api/inc" " /I /fmod/api/inc" " /I /fmod/api/inc" " /I /fmod/api/inc" " /I /fmod/api/inc" " /I /fmod/api/inc" " /I /fmod/api/inc" " /I /fmod/api/inc" "/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -