From 3f0174ec91dd2449924d23c05b3ea5109bec1c13 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Tue, 18 Jan 2022 13:41:29 +0100 Subject: [PATCH] DUMP 2 and 3 compat fixes. --- acs/swwmcomp.o | Bin 1112 -> 5496 bytes language.version | 4 +- swwmcomp.acs | 214 +++++++++++++++++++++ zscript/compat/swwm_compat.zsc | 11 ++ zscript/handler/swwm_handler_worldload.zsc | 5 + 5 files changed, 232 insertions(+), 2 deletions(-) diff --git a/acs/swwmcomp.o b/acs/swwmcomp.o index e7af79370e988042abf4e967fd3a8ac49e499691..10de632398dbe43f6d3afb789af5a05c6ac3bbed 100644 GIT binary patch literal 5496 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 delta 201 zcmeyNb%TS=(K(nQfMp|_2@^X5LvTPyki%p}HfPOXKS$pM3=9k$3=9k^3=9lL3=9m8 z3=9l`3=9k@3=9mV3=9k{3=9mDCU0b`cM1*(^0~tR0Xz_j!G?i>!Ht1|A&7y2A%lT| zp`3w%p_PGwp^broVIl(q!+Zt?hSdxV4BHqO7|t?Ge#bdqf`Ng-*EJ$QgMop8nSp^p jfPsMlBqlfctdN8>$N@f{P9W25m>3uwor6= 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); +} diff --git a/zscript/compat/swwm_compat.zsc b/zscript/compat/swwm_compat.zsc index 306a7a92f..bcabfa9a8 100644 --- a/zscript/compat/swwm_compat.zsc +++ b/zscript/compat/swwm_compat.zsc @@ -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