2022-10-27 16:03:21 +00:00
|
|
|
|
|
|
|
class LevelCompatibility : LevelPostProcessor
|
|
|
|
{
|
|
|
|
protected void Apply(Name checksum, String mapname)
|
|
|
|
{
|
|
|
|
switch (checksum)
|
|
|
|
{
|
|
|
|
case 'none':
|
|
|
|
return;
|
2022-11-07 10:51:40 +00:00
|
|
|
|
|
|
|
case '91003239cfe780bf4c1de08e0a2b7cc2': // Duke E2L1
|
|
|
|
case 'b522da99f32a71ab31fc27aaba9b7f43': // Duke E2L1 World Tour
|
|
|
|
SplitSector(37, 269, 274); // sector bleeds into another area.
|
|
|
|
break;
|
2023-01-14 12:18:53 +00:00
|
|
|
|
|
|
|
case '459c71d47b5beaa058253e162fd5a5c2': // World Tour e5l1.map
|
|
|
|
for(int i = 1373; i <= 1376; i++) SetSpriteSector(i, 860); // fix bad sector in a few sprites.
|
|
|
|
break;
|
2022-10-31 09:45:47 +00:00
|
|
|
|
|
|
|
case 'c3bfb6a6e7cded2e5fe16cea86632d79': // CP07
|
|
|
|
SplitSector(33, 192, 196); // sector bleeds into another area.
|
|
|
|
break;
|
|
|
|
|
|
|
|
case '24c7b1434070dbe01fa83c6a48926ed9': // RR E1L1.map
|
|
|
|
SplitSector(47, 367, 375); // sector bleeds into another area.
|
2022-11-15 19:08:31 +00:00
|
|
|
walls[4592].dragpoint((1615., -2715.)); // fix overlapping sectors
|
2022-10-31 09:45:47 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 'd7bf49213531cd2607e0459b950ac454': // RR E2L7.map
|
|
|
|
// need to add a sprite with picnum 11 (RRJAILDOOR) lotag = 48, hitag = 32, sector = 534
|
|
|
|
// see premap_r.cpp, line 477.
|
|
|
|
break;
|
|
|
|
|
|
|
|
case '491a04a732cd5aa253703216ff2feff4': // RR E1L2.map
|
2022-11-15 19:08:31 +00:00
|
|
|
walls[3312].cstat |= CSTAT_WALL_BOTTOM_SWAP; // missing lower texture .
|
2022-10-31 09:45:47 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case '4f2233ed8fb32f6a3deebc7803dbed69': // SW $plax.map
|
|
|
|
SplitSector(64, 281, 283); // sector bleeds into another area.
|
|
|
|
break;
|
|
|
|
|
|
|
|
case '5e49c7f6c496e337d59d0c072ed1879b': // SW $bath.map
|
|
|
|
SplitSector(198, 1105, 1125); // sector bleeds into another area.
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'b4ee363e9d15adc5c9becd01520acd23': // SW $outpost.map
|
|
|
|
SetSpriteLotag(442, -1); // silence a misplaced and *very* annoying ambient sound.
|
|
|
|
break;
|
|
|
|
|
|
|
|
case '25d4164814f10cd71d26d52d494c4fb8': // WT $auto.map
|
2022-11-15 19:08:31 +00:00
|
|
|
sectors[152].exflags |= SECTOREX_DONTCLIP; // workaround for sector object overlapping with an outer wall.
|
2022-10-31 09:45:47 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case '2bac4971499306ee6c86462e6a03dae8': // WT $volcano.map (original version)
|
|
|
|
case '67207fb90130ad561479301c0970c7ba': // WT $volcano.map (fixed version)
|
2022-11-15 19:08:31 +00:00
|
|
|
sectors[118].ceilingstat &= ~CSTAT_SECTOR_SKY;
|
|
|
|
sectors[57].ceilingstat &= ~CSTAT_SECTOR_SKY;
|
|
|
|
sectors[281].ceilingstat &= ~CSTAT_SECTOR_SKY;
|
2022-10-31 09:45:47 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case '745182e393945e0d308e8e0a5ee80c3c': // SW Last Warrior level 4.
|
|
|
|
sw_serp_continue(); // Do not make the serpent's death end the game. The menu has no second episode so this needs to continue.
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'c6f9e49e397c0b424e8030abc23ac003': // TD $shore.map
|
|
|
|
ChangeSpriteFlags(298, CSTAT_SPRITE_YFLIP, 0); // flip inverted keyhole
|
|
|
|
ChangeSpriteFlags(307, CSTAT_SPRITE_YFLIP, 0); // flip inverted keyhole
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'ef6331237eb36c84a4f7b9f5c3cd225d': // TD level 10
|
|
|
|
ChangeSpriteFlags(179, CSTAT_SPRITE_XFLIP | CSTAT_SPRITE_YFLIP, 0); // flip the inverted card reader
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-10-27 16:03:21 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|