From e7eb43a343974500fb41a47f2e9f21f3831ed5b3 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 15 Dec 2010 00:14:42 +0000 Subject: [PATCH] - added Gez's automap patch to mark trigger lines. SVN r3040 (trunk) --- src/am_map.cpp | 27 ++++++++++++++++++++++++--- src/gi.h | 4 ++-- src/p_setup.cpp | 1 + src/win32/zdoom.rc | 2 +- wadsrc/static/menudef.txt | 3 +++ 5 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/am_map.cpp b/src/am_map.cpp index 5eb759ee3..7c709019b 100644 --- a/src/am_map.cpp +++ b/src/am_map.cpp @@ -91,7 +91,7 @@ struct AMColor static AMColor Background, YourColor, WallColor, TSWallColor, FDWallColor, CDWallColor, ThingColor, ThingColor_Item, ThingColor_CountItem, ThingColor_Monster, ThingColor_Friend, - SecretWallColor, GridColor, XHairColor, + SpecialWallColor, SecretWallColor, GridColor, XHairColor, NotSeenColor, LockedColor, AlmostBackground, @@ -167,6 +167,7 @@ CVAR (Color, am_backcolor, 0x6c5440, CVAR_ARCHIVE); CVAR (Color, am_yourcolor, 0xfce8d8, CVAR_ARCHIVE); CVAR (Color, am_wallcolor, 0x2c1808, CVAR_ARCHIVE); CVAR (Color, am_secretwallcolor, 0x000000, CVAR_ARCHIVE); +CVAR (Color, am_specialwallcolor, 0xffffff, CVAR_ARCHIVE); CVAR (Color, am_tswallcolor, 0x888888, CVAR_ARCHIVE); CVAR (Color, am_fdwallcolor, 0x887058, CVAR_ARCHIVE); CVAR (Color, am_cdwallcolor, 0x4c3820, CVAR_ARCHIVE); @@ -177,6 +178,7 @@ CVAR (Color, am_notseencolor, 0x6c6c6c, CVAR_ARCHIVE); CVAR (Color, am_lockedcolor, 0x007800, CVAR_ARCHIVE); CVAR (Color, am_ovyourcolor, 0xfce8d8, CVAR_ARCHIVE); CVAR (Color, am_ovwallcolor, 0x00ff00, CVAR_ARCHIVE); +CVAR (Color, am_ovspecialwallcolor, 0xffffff, CVAR_ARCHIVE); CVAR (Color, am_ovthingcolor, 0xe88800, CVAR_ARCHIVE); CVAR (Color, am_ovotherwallscolor, 0x008844, CVAR_ARCHIVE); CVAR (Color, am_ovunseencolor, 0x00226e, CVAR_ARCHIVE); @@ -188,6 +190,7 @@ CVAR (Color, am_ovsecretsectorcolor,0x00ffff, CVAR_ARCHIVE); CVAR (Int, am_map_secrets, 1, CVAR_ARCHIVE); CVAR (Bool, am_drawmapback, true, CVAR_ARCHIVE); CVAR (Bool, am_showkeys, true, CVAR_ARCHIVE); +CVAR (Bool, am_showtriggerlines, false, CVAR_ARCHIVE); CVAR (Color, am_thingcolor_friend, 0xfcfcfc, CVAR_ARCHIVE); CVAR (Color, am_thingcolor_monster, 0xfcfcfc, CVAR_ARCHIVE); CVAR (Color, am_thingcolor_item, 0xfcfcfc, CVAR_ARCHIVE); @@ -897,6 +900,7 @@ static void AM_initColors (bool overlayed) { YourColor.FromCVar (am_ovyourcolor); WallColor.FromCVar (am_ovwallcolor); + SpecialWallColor.FromCVar(am_ovspecialwallcolor); SecretWallColor = WallColor; SecretSectorColor.FromCVar (am_ovsecretsectorcolor); ThingColor_Item.FromCVar (am_ovthingcolor_item); @@ -919,6 +923,7 @@ static void AM_initColors (bool overlayed) Background.FromCVar (am_backcolor); YourColor.FromCVar (am_yourcolor); SecretWallColor.FromCVar (am_secretwallcolor); + SpecialWallColor.FromCVar (am_specialwallcolor); WallColor.FromCVar (am_wallcolor); TSWallColor.FromCVar (am_tswallcolor); FDWallColor.FromCVar (am_fdwallcolor); @@ -960,6 +965,7 @@ static void AM_initColors (bool overlayed) AlmostBackground = DoomColors[2]; SecretSectorColor = SecretWallColor = + SpecialWallColor = WallColor = DoomColors[3]; TSWallColor = DoomColors[4]; FDWallColor = DoomColors[5]; @@ -981,6 +987,7 @@ static void AM_initColors (bool overlayed) AlmostBackground = DoomColors[2]; SecretSectorColor = SecretWallColor = + SpecialWallColor = WallColor = StrifeColors[3]; TSWallColor = StrifeColors[4]; FDWallColor = StrifeColors[5]; @@ -1002,6 +1009,7 @@ static void AM_initColors (bool overlayed) AlmostBackground = DoomColors[2]; SecretSectorColor = SecretWallColor = + SpecialWallColor = WallColor = RavenColors[3]; TSWallColor = RavenColors[4]; FDWallColor = RavenColors[5]; @@ -1836,14 +1844,16 @@ void AM_drawWalls (bool allmap) else if (lines[i].special == Door_LockedRaise || lines[i].special == ACS_LockedExecute || lines[i].special == ACS_LockedExecuteDoor || - (lines[i].special == Generic_Door && lines[i].args[4] !=0 )) + (lines[i].special == Door_Animated && lines[i].args[3] != 0) || + (lines[i].special == Generic_Door && lines[i].args[4] != 0)) { if (am_colorset == 0 || am_colorset == 3) // Raven games show door colors { int P_GetMapColorForLock(int lock); int lock; - if (lines[i].special==Door_LockedRaise) lock=lines[i].args[3]; + if (lines[i].special==Door_LockedRaise || lines[i].special==Door_Animated) + lock=lines[i].args[3]; else lock=lines[i].args[4]; int color = P_GetMapColorForLock(lock); @@ -1860,6 +1870,17 @@ void AM_drawWalls (bool allmap) AM_drawMline (&l, LockedColor); // locked special } } + else if (am_showtriggerlines && am_colorset == 0 && lines[i].special != 0 + && lines[i].special != Door_Open + && lines[i].special != Door_Close + && lines[i].special != Door_CloseWaitOpen + && lines[i].special != Door_Raise + && lines[i].special != Door_Animated + && lines[i].special != Generic_Door + && (lines[i].activation & SPAC_PlayerActivate)) + { + AM_drawMline(&l, SpecialWallColor); // wall with special non-door action the player can do + } else if (lines[i].backsector == NULL) { AM_drawMline(&l, WallColor); // one-sided wall diff --git a/src/gi.h b/src/gi.h index 0af160b6b..645f5d3ba 100644 --- a/src/gi.h +++ b/src/gi.h @@ -46,8 +46,8 @@ #define GI_COMPATSTAIRS 0x00000020 // same for stairbuilding #define GI_COMPATPOLY1 0x00000040 // Hexen's MAP36 needs old polyobject drawing #define GI_COMPATPOLY2 0x00000080 // so does HEXDD's MAP47 -#define GI_NOTEXTCOLOR 0x00000100 -#define GI_COMPATPORTAL 0x00000200 // same for stairbuilding +#define GI_NOTEXTCOLOR 0x00000100 // Chex Quest 3 would have everything green +#define GI_COMPATPORTAL 0x00000200 // Urban Brawl relies on the old portal code #include "gametype.h" diff --git a/src/p_setup.cpp b/src/p_setup.cpp index fa30df88f..7b45c8641 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -1781,6 +1781,7 @@ void P_SetLineID (line_t *ld) { ld->id = ld->args[0]; } + ld->special = 0; break; case TranslucentLine: diff --git a/src/win32/zdoom.rc b/src/win32/zdoom.rc index b23fe14eb..55b6e9739 100644 --- a/src/win32/zdoom.rc +++ b/src/win32/zdoom.rc @@ -491,7 +491,7 @@ BEGIN VALUE "FileDescription", "ZDoom" VALUE "FileVersion", RC_FILEVERSION2 VALUE "InternalName", "ZDoom" - VALUE "LegalCopyright", "Copyright © 1993-1996 id Software, 1998-2007 Randy Heit" + VALUE "LegalCopyright", "Copyright © 1993-1996 id Software, 1998-2010 Randy Heit" VALUE "LegalTrademarks", "Doom® is a Registered Trademark of id Software, Inc." VALUE "OriginalFilename", "zdoom.exe" VALUE "ProductName", "ZDoom" diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index a833fb8b6..243029f1d 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -870,6 +870,7 @@ OptionMenu AutomapOptions Option "Show map label", "am_showmaplabel", "MaplabelTypes" Option "Draw map background", "am_drawmapback", "OnOff" Option "Show keys (cheat)", "am_showkeys", "OnOff" + Option "Show trigger lines", "am_showtriggerlines", "OnOff" } //------------------------------------------------------------------------------------------- @@ -922,6 +923,7 @@ OptionMenu MapColorMenu ColorPicker "Teleporter to the same map", "am_intralevelcolor" ColorPicker "Teleporter to a different map", "am_interlevelcolor" ColorPicker "Secret sector", "am_secretsectorcolor" + ColorPicker "Special trigger lines", "am_specialwallcolor" StaticText " " StaticText "Cheat Mode", 1 ColorPicker "Invisible 2-sided walls", "am_tswallcolor" @@ -939,6 +941,7 @@ OptionMenu MapColorMenu ColorPicker "Not-yet-seen walls", "am_ovunseencolor" ColorPicker "Teleporter", "am_ovtelecolor" ColorPicker "Secret sector", "am_ovsecretsectorcolor" + ColorPicker "Special trigger lines", "am_ovspecialwallcolor" StaticText " " StaticText "Overlay Cheat Mode", 1 ColorPicker "Actors", "am_ovthingcolor"