mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-10 23:02:08 +00:00
- REQUIEM.WAD fixes (#1050)
Fixes for various maps in the Requiem megawad. Idgames: https://www.doomworld.com/idgames/levels/doom2/megawads/requiem
This commit is contained in:
parent
8336e80f48
commit
b2a17dfdc2
2 changed files with 172 additions and 5 deletions
|
@ -162,11 +162,6 @@ AF40D0E49BD1B76D4B1AADD8212ADC46 // MAP01 (the wad that shall not be named =P)
|
|||
limitpain
|
||||
}
|
||||
|
||||
7C1913DEE396BA26CFF22A0E9369B7D2 // Nuke Mine, e1m2
|
||||
{
|
||||
pointonline
|
||||
}
|
||||
|
||||
920F8D876ECD96D8C2A978FF1AB2B401 // Darken2.wad map01 - Nodes go out of bounds/beyond normal sector boundaries
|
||||
CFEDB7FA89885E24856CAC9A2FB3CE58 // Darken2.wad map03 - GZDoomBuilder crashes when displaying Nodes
|
||||
8E961FA7029761D5FAB3932C40F10CD2 // Darken2.wad map04 - Nodes go out of bounds/beyond normal sector boundaries
|
||||
|
@ -198,6 +193,7 @@ EDA5CE7C462BD171BF8110AC56B67857 // pl2.wad map11
|
|||
A9A9A728E689266939C1B71655F320CA // pl2.wad map25
|
||||
62CA74092FC88C1E7FE2D0B1A8034E29 // pl2.wad map29
|
||||
19E1CFD717FC6BBA9371F0F529B4CDFF // ur_final.wad map27
|
||||
836E09559FF22A7A37C2587F7EAFF1EE // Requiem MAP29 - Incorrect sector lighting and vanishing items
|
||||
{
|
||||
rebuildnodes
|
||||
}
|
||||
|
@ -255,6 +251,7 @@ D7F6E9F08C39A17026349A04F8C0B0BE // Return to Hadron, e1m9
|
|||
19D03FFC875589E21EDBB7AB74EF4AEF // Return to Hadron, e1m9, 2016.01.03 update
|
||||
5BDA34DA60C0530794CC1EA2DA017976 // doom2.wad map14
|
||||
5B3F118B337BFBFB8D5C81E98AF7B71D // Ancient Aliens map23
|
||||
7C1913DEE396BA26CFF22A0E9369B7D2 // Nuke Mine, e1m2
|
||||
{
|
||||
pointonline
|
||||
}
|
||||
|
|
|
@ -1778,6 +1778,176 @@ class LevelCompatibility : LevelPostProcessor
|
|||
SetLineSpecial(11518, 9, 0, 0, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'BA530202AF0BA0C6CBAE6A0C7076FB72': // Requiem MAP04
|
||||
{
|
||||
// Flag deathmatch berserk for 100% items in single-player
|
||||
SetThingFlags(284, 17);
|
||||
// Make Hell Knight trap switch repeatable to prevent softlock
|
||||
SetLineFlags(823, Line.ML_REPEAT_SPECIAL);
|
||||
break;
|
||||
}
|
||||
|
||||
case '104415DDEBCAFB9783CA60807C46B57D': // Requiem MAP05
|
||||
{
|
||||
// Raise spectre pit near soulsphere if player drops into it
|
||||
for(int i = 0; i < 4; i++)
|
||||
{
|
||||
SetLineSpecial(2130+i, Floor_LowerToHighest, 28, 8, 128);
|
||||
SetLineActivation(2130+i, SPAC_Cross);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case '1B0AF5286D4E914C5E903BC505E6A844': // Requiem MAP06
|
||||
{
|
||||
// Flag deathmatch berserks for 100% items in single-player
|
||||
SetThingFlags(103, 17);
|
||||
SetThingFlags(109, 17);
|
||||
// Shooting the cross before all Imps spawn in can make 100%
|
||||
// kills impossible, add line actions and change sector tag
|
||||
for(int i = 0; i < 7; i++)
|
||||
{
|
||||
SetLineSpecial(1788+i, Floor_RaiseToNearest, 100, 32);
|
||||
SetLineActivation(1788+i, SPAC_Cross);
|
||||
}
|
||||
SetLineSpecial(1796, Floor_RaiseToNearest, 100, 32);
|
||||
SetLineActivation(1796, SPAC_Cross);
|
||||
SetLineSpecial(1800, Floor_RaiseToNearest, 100, 32);
|
||||
SetLineActivation(1800, SPAC_Cross);
|
||||
SetLineSpecial(1802, Floor_RaiseToNearest, 100, 32);
|
||||
SetLineActivation(1802, SPAC_Cross);
|
||||
ClearSectorTags(412);
|
||||
AddSectorTag(412, 100);
|
||||
// Shootable cross at demon-faced floor changed to repeatable
|
||||
// action to prevent softlock if "spikes" are raised again
|
||||
SetLineFlags(2600, Line.ML_REPEAT_SPECIAL);
|
||||
break;
|
||||
}
|
||||
|
||||
case '3C10B1B017E902BE7CDBF2436DF56973': // Requiem MAP08
|
||||
{
|
||||
// Flag deathmatch soulsphere for 100% items in single-player
|
||||
SetThingFlags(48, 17);
|
||||
// Allow player to leave inescapable lift using the walls
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
SetLineSpecial(2485+i, Plat_DownWaitUpStayLip, 68, 64, 105, 0);
|
||||
SetLineActivation(2485+i, SPAC_Use);
|
||||
SetLineFlags(2485+i, Line.ML_REPEAT_SPECIAL);
|
||||
}
|
||||
SetLineSpecial(848, Plat_DownWaitUpStayLip, 68, 64, 105, 0);
|
||||
SetLineActivation(848, SPAC_UseBack);
|
||||
SetLineFlags(848, Line.ML_REPEAT_SPECIAL);
|
||||
SetLineSpecial(895, Plat_DownWaitUpStayLip, 68, 64, 105, 0);
|
||||
SetLineActivation(895, SPAC_UseBack);
|
||||
SetLineFlags(895, Line.ML_REPEAT_SPECIAL);
|
||||
break;
|
||||
}
|
||||
|
||||
case '14FE46ED0458979118007E1906A0C9BC': // Requiem MAP09
|
||||
{
|
||||
// Flag deathmatch items for 100% items in single-player
|
||||
for(int i = 0; i < 6; i++)
|
||||
SetThingFlags(371+i, 17);
|
||||
|
||||
for(int i = 0; i < 19; i++)
|
||||
SetThingFlags(402+i, 17);
|
||||
|
||||
SetThingFlags(359, 17);
|
||||
SetThingFlags(389, 17);
|
||||
SetThingFlags(390, 17);
|
||||
// Change sides of blue skull platform to be repeatable
|
||||
for(int i = 0; i < 4; i++)
|
||||
SetLineFlags(873+i, Line.ML_REPEAT_SPECIAL);
|
||||
// Make switch that raises bars near yellow skull repeatable
|
||||
SetLineFlags(2719, Line.ML_REPEAT_SPECIAL);
|
||||
break;
|
||||
}
|
||||
|
||||
case '53A6369C3C8DA4E7AC443A8F8684E38E': // Requiem MAP12
|
||||
{
|
||||
// Remove unreachable secrets
|
||||
SetSectorSpecial(352, 0);
|
||||
SetSectorSpecial(503, 0);
|
||||
// Change action of eastern switch at pool of water so that it
|
||||
// lowers the floor properly, making the secret accessible
|
||||
SetLineSpecial(4873, Floor_LowerToLowest, 62, 8);
|
||||
break;
|
||||
}
|
||||
|
||||
case '2DAB6E4B19B4F2763695267D39CD0275': // Requiem MAP13
|
||||
{
|
||||
// Fix missing nukage at starting bridge on hardware renderer
|
||||
for(int i = 0; i < 4; i++)
|
||||
SetLineSectorRef(2152+i, Line.back, 8);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'F55FB2A8DC68CFC75E4340EF4ED7A8BF': // Requiem MAP21
|
||||
{
|
||||
// Fix self-referencing floor hack
|
||||
for(int i = 0; i < 4; i++)
|
||||
SetLineSectorRef(3+i, Line.back, 219);
|
||||
|
||||
SetLineSpecial(8, Transfer_Heights, 80);
|
||||
// Fix south side of pit hack so textures don't bleed through
|
||||
// the fake floor on hardware renderer
|
||||
SetLineSectorRef(267, Line.back, 63);
|
||||
SetLineSectorRef(268, Line.back, 63);
|
||||
SetLineSectorRef(270, Line.back, 63);
|
||||
SetLineSectorRef(271, Line.back, 63);
|
||||
SetLineSectorRef(274, Line.back, 63);
|
||||
SetLineSectorRef(275, Line.back, 63);
|
||||
SetLineSectorRef(3989, Line.back, 63);
|
||||
SetLineSectorRef(3994, Line.back, 63);
|
||||
// Fix fake 3D bridge on hardware renderer
|
||||
SetLineSectorRef(506, Line.back, 841);
|
||||
SetLineSectorRef(507, Line.back, 841);
|
||||
SetLineSectorRef(536, Line.back, 841);
|
||||
SetLineSectorRef(537, Line.back, 841);
|
||||
SetLineSectorRef(541, Line.back, 841);
|
||||
SetLineSectorRef(547, Line.back, 841);
|
||||
AddSectorTag(90, 1000);
|
||||
AddSectorTag(91, 1000);
|
||||
SetSectorTexture(90, Sector.floor, "MFLR8_4");
|
||||
SetSectorTexture(91, Sector.floor, "MFLR8_4");
|
||||
|
||||
SetLineSectorRef(553, Line.back, 841);
|
||||
SetLineSectorRef(554, Line.back, 841);
|
||||
SetLineSectorRef(559, Line.back, 841);
|
||||
SetLineSectorRef(560, Line.back, 841);
|
||||
SetLineSectorRef(562, Line.back, 841);
|
||||
SetLineSectorRef(568, Line.back, 841);
|
||||
AddSectorTag(96, 1000);
|
||||
AddSectorTag(97, 1000);
|
||||
SetSectorTexture(96, Sector.floor, "MFLR8_4");
|
||||
SetSectorTexture(97, Sector.floor, "MFLR8_4");
|
||||
SetLineSpecial(505, Transfer_Heights, 1000);
|
||||
// Fix randomly appearing ceiling at deep water
|
||||
SetLineSectorRef(1219, Line.front, 233);
|
||||
SetLineSectorRef(1222, Line.front, 233);
|
||||
SetLineSectorRef(1223, Line.front, 233);
|
||||
SetLineSectorRef(1228, Line.front, 233);
|
||||
// Make switch in sky room repeatable so player does not get
|
||||
// trapped at red cross if returning a second time
|
||||
SetLineFlags(3870, Line.ML_REPEAT_SPECIAL);
|
||||
// Move unreachable item bonuses
|
||||
SetThingXY(412, -112, 6768);
|
||||
SetThingXY(413, -112, 6928);
|
||||
SetThingXY(414, -96, 6928);
|
||||
SetThingXY(415, -96, 6768);
|
||||
// Remove unreachable secret at exit megasphere
|
||||
SetSectorSpecial(123, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
case '2499CF9A9351BE9BC4E9C66FC9F291A7': // Requiem MAP23
|
||||
{
|
||||
// Remove secret at switch that can only be scored by crouching
|
||||
SetSectorSpecial(240, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue