Closer look at Abe's equipment: Exoddus (PS)
| Before I get to the subject I'd like to give my thanks to Oddworld Inhabitants for amazing job at making the game rearrange and manage its data on | Intro Last month I was messing around with ol' good Exoddus' memory table on emulator, and the goal was to grant Abe access to his fart tool from the start of a new run. Any time and for an infinite amount. Using CEP, I've started my research at FeeCo. Depot and eventually found the right address to freeze. Next time I loaded my file, the cheat weren't working. Turns out game chooses a new address in 4 bytes offset randomly, left or right, of a certain region with every file load from Main Menu.Example: [..5678,567C]<=[001F5680]=>[..84,88] But it just didn't end there! Abe keeps running out of gas on most screens. I realised that game uses pair of independent counters for each utility - one is generic "ammo" and other kind of "physically stored" in inventory.⁽ᶠⁱᵍ∙¹⁾ https://i.imgur.com/rnuimHF.png fig.1 Abe's inventory From the very start Abe has access to a generic "ammo" counter generated within current level data, and that data changes its location in memory upon loading next level (map). It means that without some complex hacking tools, IT'S IMPOSSIBLE TO HACK COUNTERS SINCE THEY'RE THE PART OF A LEVEL ITSELF, with an exception of farts' global counter - which sometimes remains active even if affected memory region is completely blank. But it would eventually crash the game when new level data gets loaded in there."So where does Abe gets "physical" ammo then?" - you ask. For that our blue Mudokon has to: Step 1. Load the "dispenser" on screen (Meat sack, bone sack, grenades vendor, brew vendor). It writes some disposable data for further use. Step 2. When Abe interacts with dispenser, said data recieves this string, rendering consumables usable, or "equipping": B00B D00D 0009 Active Type? Counter For the brew vendor, player equips ammo automatically upon object load. Step 3. Pick up given tool (rock,bone,meat,grenade) off the floor. Doing that gives player's generic "digital" counter matching number of "physical" (Same function upon using brew vendor).⁽ᶠⁱᵍ∙²⁾ https://i.imgur.com/GruB31x.png fig.2 From now on, game will subtract from BOTH of the counters evenly. Once Phys. ammunition gets depleted, "Equip" gets deactivated: 0FAC D00D 0000 Inactive Type? Counter A few moments later data related to utility in steps 1 and 2 gets wiped, forcing player to repeat whole process. Interestingly, screens adjacent to source keep used up data static until Abe moves to the other screen. Let's talk about them. NO FUN ALLOWED AND THE VENDOR OF SECRETS™ The following info was discovered using frozen generic counters, memory monitoring and some very lucky glitches. There's total of four properties of screens on example of FeeCo. Depot Main Lobby and its brew vendor. See image below for visual presentation of their distribution⁽ᶠⁱᵍ∙³⁾: Credits to SUPERFLOMM from Spriters Resource and Brecht Lecluyse for map rip and HD Mudokon emotes http://www.oddworldforums.net/images.../icon3_odd.gif MASTER [Normal] The screen where's vendor object is placed. Provides player with physical ammunition.http://www.oddworldforums.net/images...icon10_odd.gif FUN [Normal] Ammunition is limited.http://www.oddworldforums.net/images...icon12_odd.gif DEPLETE [Normal] Depletes ammo normally.http://www.oddworldforums.net/images...icon11_odd.gif NO FUN [Normal] Strips the player off farts and missiles data they get prior reaching that screen.fig.3 https://i.imgur.com/U2qGBTC.png Brew vendor's secret So I wondered, "What NO FUN screens are there for?". "To prevent players from cheesing the challenge, obviously" - you say. But what if tell you there's more to it than meets the eye? That these vendors unlike other dispensers are able to TURN ALL DEPLETE SCREENS ON A MAP INTO FUN ONES!Through some experiments with hacked Digi-counter I found out that loading the file saved in DEPLETE zone, heading to the brew machine and back granted Abe with infinite gas-bombs, it even prevents THE SECRET COUNTER THAT KEEPS TRACK OF FARTS AMOUNT ON SCREEN (AND EQUIPPED) from hitting zero. I tried many times to carry the effect through NO FUN zone, and with no success. But just once I've managed to glitch it the way I could use gas-bombs infinitely at Terminal 3 (to Slig Barracks) as if it was still under effect of the vendor. So there you have it! I hope you enjoyed reading my research as much me sharing it. And again, Credits to SUPERFLOMM from Spriters Resource and Brecht Lecluyse for map rip and HD Mudokon emotes. |
This is actually really interesting, good job on this.
|