From a86774fcddc2ca6456ed630b2be5658209511d3d Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 16 Jun 2008 22:38:23 +0000 Subject: [PATCH] - Changed: Line_SetIdentification will ignore extended parameters when used in maps defined Hexen style in MAPINFO. SVN r1042 (trunk) --- docs/rh-log.txt | 2 ++ src/g_level.cpp | 3 ++- src/g_level.h | 1 + src/g_shared/sbar_mugshot.cpp | 1 + src/p_setup.cpp | 11 +++++++++-- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index b9e4d68b8..9b74dd53b 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,6 @@ June 16, 2008 (Changes by Graf Zahl) +- Changed: Line_SetIdentification will ignore extended parameters when + used in maps defined Hexen style in MAPINFO. - Fixed: Ambient sounds didn't pass their point of origin to S_StartSound. - Fixed: UseType was not properly set for textures defined in TEXTURES. - Fixed: You couldn't set an offset for sprites defined in TEXTURES. diff --git a/src/g_level.cpp b/src/g_level.cpp index 0bdf6f967..89c37337f 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -721,7 +721,8 @@ static void G_DoParseMapInfo (int lump) | LEVEL_ACTOWNSPECIAL | LEVEL_MISSILESACTIVATEIMPACT | LEVEL_INFINITE_FLIGHT - | LEVEL_MONSTERFALLINGDAMAGE; + | LEVEL_MONSTERFALLINGDAMAGE + | LEVEL_HEXENHACK; } levelindex = FindWadLevelInfo (sc.String); if (levelindex == -1) diff --git a/src/g_level.h b/src/g_level.h index 82844ca35..7d6d206b6 100644 --- a/src/g_level.h +++ b/src/g_level.h @@ -120,6 +120,7 @@ #define LEVEL_CONV_SINGLE_UNFREEZE UCONST64(0x10000000000000) #define LEVEL_RAILINGHACK UCONST64(0x20000000000000) // but UDMF requires them to be separate to have more control #define LEVEL_DUMMYSWITCHES UCONST64(0x40000000000000) +#define LEVEL_HEXENHACK UCONST64(0x80000000000000) // Level was defined in a Hexen style MAPINFO struct acsdefered_s; diff --git a/src/g_shared/sbar_mugshot.cpp b/src/g_shared/sbar_mugshot.cpp index 9cfacf5ef..e330eca55 100644 --- a/src/g_shared/sbar_mugshot.cpp +++ b/src/g_shared/sbar_mugshot.cpp @@ -456,6 +456,7 @@ int FMugShot::UpdateState(player_t *player, bool xdeath, bool animated_god_mode) } full_state_name += player->LastDamageType; SetState(full_state_name); + bNormal = true; //Allow the face to return to alive states when the player respawns. } return 0; } diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 75144278c..78ad1f379 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -1559,8 +1559,15 @@ void P_SetLineID (line_t *ld) switch (ld->special) { case Line_SetIdentification: - ld->id = ld->args[0] + 256 * ld->args[4]; - ld->flags |= ld->args[1]<<16; + if (!(level.flags & LEVEL_HEXENHACK)) + { + ld->id = ld->args[0] + 256 * ld->args[4]; + ld->flags |= ld->args[1]<<16; + } + else + { + ld->id = ld->args[0]; + } break; case TranslucentLine: