DUMP 2 and 3 compat fixes.
This commit is contained in:
parent
bf95882f91
commit
3f0174ec91
5 changed files with 232 additions and 2 deletions
BIN
acs/swwmcomp.o
BIN
acs/swwmcomp.o
Binary file not shown.
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r115 \cu(Sun 16 Jan 02:34:02 CET 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.2pre r115 \cu(2022-01-16 02:34:02)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r116 \cu(Tue 18 Jan 13:41:29 CET 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.2pre r116 \cu(2022-01-18 13:41:29)\c-";
|
||||
|
|
|
|||
214
swwmcomp.acs
214
swwmcomp.acs
|
|
@ -97,3 +97,217 @@ SCRIPT "E1M8_KNOCKOUT" ( void )
|
|||
Delay(100);
|
||||
Exit_Normal(0);
|
||||
}
|
||||
|
||||
// DUMP 2 and 3 rewritten hub progress scripts
|
||||
// Because the way these use BigFont makes them unreadable otherwise
|
||||
|
||||
SCRIPT "DUMP2_HUB" ( void )
|
||||
{
|
||||
Delay(35);
|
||||
ACS_Terminate(2,0);
|
||||
int mapstodo;
|
||||
switch( GameSkill() )
|
||||
{
|
||||
case 0:
|
||||
mapstodo = 8;
|
||||
break;
|
||||
case 1:
|
||||
mapstodo = 16;
|
||||
break;
|
||||
case 2:
|
||||
mapstodo = 32;
|
||||
break;
|
||||
case 3:
|
||||
mapstodo = 48;
|
||||
break;
|
||||
default:
|
||||
mapstodo = 64;
|
||||
break;
|
||||
}
|
||||
bool unlockedfinal = false;
|
||||
while ( true )
|
||||
{
|
||||
int lvent = ScriptCall("BaseStatusBar","GetGlobalACSValue",59);
|
||||
bool unlockfinal = false;
|
||||
switch( GameSkill() )
|
||||
{
|
||||
case 0:
|
||||
if ( lvent >= 8 ) unlockfinal = true;
|
||||
break;
|
||||
case 1:
|
||||
if ( lvent >= 16 ) unlockfinal = true;
|
||||
break;
|
||||
case 2:
|
||||
if ( lvent >= 32 ) unlockfinal = true;
|
||||
break;
|
||||
case 3:
|
||||
if ( lvent >= 48 ) unlockfinal = true;
|
||||
break;
|
||||
default:
|
||||
if ( lvent >= 64 ) unlockfinal = true;
|
||||
break;
|
||||
}
|
||||
if ( unlockfinal && !unlockedfinal )
|
||||
{
|
||||
unlockedfinal = true;
|
||||
Ceiling_LowerByValue(10,96,96);
|
||||
}
|
||||
SetFont("BigFont");
|
||||
int progress = mapstodo-lvent;
|
||||
SetHudSize(640,480,0);
|
||||
if ( progress > 0 ) HudMessageBold(d:progress,s:" more maps to go...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
||||
else HudMessageBold(s:"The final room is open...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
||||
Delay(1);
|
||||
}
|
||||
}
|
||||
|
||||
SCRIPT "DUMP3_HUB" ( void )
|
||||
{
|
||||
Delay(1);
|
||||
ACS_Terminate(1,0);
|
||||
int mapstodo;
|
||||
switch( GameSkill() )
|
||||
{
|
||||
case 0:
|
||||
mapstodo = 8;
|
||||
break;
|
||||
case 1:
|
||||
mapstodo = 16;
|
||||
break;
|
||||
case 2:
|
||||
mapstodo = 32;
|
||||
break;
|
||||
case 3:
|
||||
mapstodo = 48;
|
||||
break;
|
||||
default:
|
||||
mapstodo = 64;
|
||||
break;
|
||||
}
|
||||
bool unlockedfinal = false;
|
||||
while ( true )
|
||||
{
|
||||
int lvent = ScriptCall("BaseStatusBar","GetGlobalACSValue",59);
|
||||
bool unlockfinal = false;
|
||||
switch( GameSkill() )
|
||||
{
|
||||
case 0:
|
||||
if ( lvent >= 8 ) unlockfinal = true;
|
||||
break;
|
||||
case 1:
|
||||
if ( lvent >= 16 ) unlockfinal = true;
|
||||
break;
|
||||
case 2:
|
||||
if ( lvent >= 32 ) unlockfinal = true;
|
||||
break;
|
||||
case 3:
|
||||
if ( lvent >= 48 ) unlockfinal = true;
|
||||
break;
|
||||
default:
|
||||
if ( lvent >= 64 ) unlockfinal = true;
|
||||
break;
|
||||
}
|
||||
if ( unlockfinal && !unlockedfinal )
|
||||
{
|
||||
unlockedfinal = true;
|
||||
Floor_LowerByValue(11,96,256);
|
||||
}
|
||||
SetFont("BigFont");
|
||||
int progress = mapstodo-lvent;
|
||||
SetHudSize(640,480,0);
|
||||
if ( progress > 1 ) HudMessageBold(d:progress,s:" more maps to go...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
||||
else if ( progress > 0 ) HudMessageBold(d:progress,s:" more map to go...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
||||
else HudMessageBold(s:"The final room is open...";HUDMSG_PLAIN,1,CR_GOLD,320.0,40.0,0);
|
||||
Delay(1);
|
||||
}
|
||||
}
|
||||
|
||||
// same here, just TOO BIG
|
||||
str DUMP3MapNames[74][2] =
|
||||
{
|
||||
{ "", "" }, // 0
|
||||
{ "Check-In", "undeadRyker" },
|
||||
{ "Pissboy", "Anonymous" },
|
||||
{ "Simplicity is Golden", "demo_the_man" },
|
||||
{ "Invitation to Destruction", "Gardevoir" },
|
||||
{ "SOLITARY", "CJacobs" },
|
||||
{ "Ruins & Lava", "VBob" },
|
||||
{ "Bloodsport Canyon", "Hoodoo456" },
|
||||
{ "Nuclear Control Facilities", "Titan314" },
|
||||
{ "Mountain Temple", "Project_ILE" },
|
||||
{ "Overflow", "SpudTheRubbish" }, // 10
|
||||
{ "'Venture into the Bouncy Castle", "Beed28" },
|
||||
{ "The Crater", "combatxtreme & Plutonic Overkill" },
|
||||
{ "The Fun Lab", "TerminusEst13" },
|
||||
{ "Durex Waste Disposal", "Minimum Payne" },
|
||||
{ "The Corporate Ladder", "Kinsie" },
|
||||
{ "Regressive Experience", "Dukka" },
|
||||
{ "Baby's First Map", "Bobman23" },
|
||||
{ "Research Facility", "deathgod5309" },
|
||||
{ "AMONG US", "HumansAmongUs" },
|
||||
{ "The Darkness Beyond", "KarolineDianne" }, // 20
|
||||
{ "Base Stimpack", "charcola" },
|
||||
{ "Crunk Refinery", "BobBarker" },
|
||||
{ "0-Pipe Gear", "Toooooasty" },
|
||||
{ "Escape from Argent Prison", "Lance Charleson" },
|
||||
{ "Live Fire Exorcise", "Sgt. Shivers" },
|
||||
{ "Attack First", "simpletonn" },
|
||||
{ "Hitler's Prison", "Luigi2600" },
|
||||
{ "Tomb of Hetickhamen", "Action Max" },
|
||||
{ "The Weed Number", "Abysswalker" },
|
||||
{ "This Is Serious Mum", "deathz0r" }, // 30
|
||||
{ "Not Another Tech Base", "ArchXeno" },
|
||||
{ "Hydraulic Plant", "SpiritOfDecay" },
|
||||
{ "Janus", "SoundOfDoomDoors" },
|
||||
{ "Gamma Station Entrance", "SMG_Marine" },
|
||||
{ "Realm of the Sempiternal Archvile", "Darsycho" },
|
||||
{ "Judgement Day", "Stale_meat" },
|
||||
{ "Complex Alive", "Roxas" },
|
||||
{ "DUMP TD", "Arctangent" },
|
||||
{ "Dumping Ground", "TotalInjury" },
|
||||
{ "Mercury Rain", "Jimmy" }, // 40
|
||||
{ "mapsterpiece", "idiotbitz" },
|
||||
{ "Tunnel Crates Rule!", "Stale_Meat" },
|
||||
{ "CLOVERHOUSE", "Icept" },
|
||||
{ "Generic UAC Outpost", "Anonymous" },
|
||||
{ "Felt", "FloatRand" },
|
||||
{ "Panic Room", "comet1338" },
|
||||
{ "Simple Chaos", "willykuo123" },
|
||||
{ "EVISCERATED", "NAG" },
|
||||
{ "The Mine to Hell", "InsanityBringer" },
|
||||
{ "Sandcastley Sandcastling Sandcastles", "PinchySkree" }, // 50
|
||||
{ "Dead", "Already Dead" },
|
||||
{ "Broken Shit", "ZachBrowder" },
|
||||
{ "Weapons Research Lab", "Vennobennu" },
|
||||
{ "Winter in Summer", "TehRealSalt" },
|
||||
{ "The UAC Ocean Base", "leodoom85" },
|
||||
{ "Hot Water Music", "Protester" },
|
||||
{ "Lambda Base", "floatRand" },
|
||||
{ "inferno odyssey", "Anonymous" },
|
||||
{ "Infested Installation", "Flipy" },
|
||||
{ "The Duality", "NeuralStunner" }, // 60
|
||||
{ "Municipal Well", "Flotilla" },
|
||||
{ "Dropoff", "CharlieTheGnarly" },
|
||||
{ "Dimensional Accelerator", "Untitled" },
|
||||
{ "Urban Hell", "ChrisR91" },
|
||||
{ "Electron", "floatRand" },
|
||||
{ "Caco-lover", "everennui" },
|
||||
{ "Brown Mesa", "Cheeki" },
|
||||
{ "Bloody Hell", "Wivicer" },
|
||||
{ "A Night at the Opera", "Temin_Dump" },
|
||||
{ "An Online Virtual Reality Used By Hackers", "Shadow Hog" }, // 70
|
||||
{ "BtFS", "Gageat" },
|
||||
{ "The Runaround", "LogicalFallacy" },
|
||||
{ "Attack From Within", "mumblemumble" }
|
||||
};
|
||||
|
||||
SCRIPT "DUMP3_DISPLAY" ( int f1, int f2 )
|
||||
{
|
||||
int fuck = (f1*10)+f2;
|
||||
SetHudSize(480,360,0);
|
||||
SetFont("BigFont");
|
||||
HudMessage(s:DUMP3MapNames[fuck][0];HUDMSG_FADEINOUT,2,CR_WHITE,240.0,270.0,2.5,0.15,0.65);
|
||||
SetHudSize(320,240,0);
|
||||
SetFont("SmallFont");
|
||||
HudMessage(s:DUMP3MapNames[fuck][1];HUDMSG_FADEINOUT,3,CR_GOLD,160.0,198.0,2.5,0.15,0.65);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -197,6 +197,17 @@ Class SWWMLevelCompatibility : LevelPostProcessor
|
|||
// unfortunately the line special wrangling has to be done one tic after map load
|
||||
// because fuck absolutely everything about how ACS works
|
||||
break;
|
||||
// DUMP 3 HUBMAP
|
||||
case '7E77AA43AF7ACDBC52171E9EE2BF98D0':
|
||||
// swap all the calls to script 12 with calls to 'DUMP3_DISPLAY'
|
||||
// to fix the bigfont being too large
|
||||
for ( int i=0; i<GetThingCount(); i++ )
|
||||
{
|
||||
if ( (GetThingSpecial(i) != 226) || (GetThingArgument(i,0) != 12) )
|
||||
continue;
|
||||
SetThingArgument(i,0,-Int('DUMP3_DISPLAY'));
|
||||
}
|
||||
break;
|
||||
// Doom 2 MAP07
|
||||
case '291F24417FB3DD411339AE82EF9B3597':
|
||||
// remove excess backpacks (there's 10 of them for fuck's sake)
|
||||
|
|
|
|||
|
|
@ -237,6 +237,11 @@ extend Class SWWMHandler
|
|||
if ( (level.GetChecksum() ~== "F286BABF0D152259CD6B996E8920CA70")
|
||||
|| (level.GetChecksum() ~== "A52BD2038CF814101AAB7D9C78F9ACE2") )
|
||||
level.ExecuteSpecial(ACS_Execute,null,null,false,-Int('DVACATION_UNFUCK'));
|
||||
// DUMP 2 and 3 hackaround for the "X maps to go" text being actually readable
|
||||
else if ( level.GetChecksum() ~== "BC2878CDB82712598A2196807D099C40" )
|
||||
level.ExecuteSpecial(ACS_Execute,null,null,false,-Int('DUMP2_HUB'));
|
||||
else if ( level.GetChecksum() ~== "7E77AA43AF7ACDBC52171E9EE2BF98D0" )
|
||||
level.ExecuteSpecial(ACS_Execute,null,null,false,-Int('DUMP3_HUB'));
|
||||
// rampancy boss brain fix (repeatedly triggering "map clear")
|
||||
let ti = ThinkerIterator.Create("Actor");
|
||||
Actor a, brain;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue