Blogs Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
 


Go Back   Oddworld Forums > Zulag One > Oddworld Discussion > Oddworld Mods & Hacks


Reply
 
Thread Tools
 
  #1  
Old 10-23-2018, 02:54 PM
Ale's's Avatar
Ale's Ale's is offline
Zappfly
 
Join Date: Sep 2018
Location: Russia
Posts: 5
Rep Power: 0
Ale's keeps ya spleen toasty (114)Ale's keeps ya spleen toasty (114)
Idea 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 |
| the fly. There's some hardcore oldschool coding involved you won't come across these days.                                                           |
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.⁽ᶠⁱᵍ∙⁾


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).⁽ᶠⁱᵍ∙⁾


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

MASTER
[Normal] The screen where's vendor object is placed. Provides player with physical ammunition.
[Hacked Digi-counter] Farts/missile ammo won't deplete if exceeded physical limit.
FUN
[Normal] Ammunition is limited.
[Hacked Digi] Farts/missile ammo won't deplete if exceeded physical limit, either.
DEPLETE
[Normal] Depletes ammo normally.
[Hacked Digi] Depletes ammo normally. In case of farts their supply is unlimited as long as SECRET COUNTER THAT KEEPS TRACK OF FARTS AMOUNT ON SCREEN (BOTH EQUIPPED AND PRIMED) is above 0. Once empty, doesn't render ordinary fart green until "Digi" set back to 0. Exceeding missile limits results in graphical glitches, tele-glitching to another screen, freezes and crash.
NO FUN
[Normal] Strips the player off farts and missiles data they get prior reaching that screen.
[Hacked Digi] Unable to use any weapon, empty. Glitches and crashes similar to DEPLETE screen.
fig.3

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.

Last edited by Ale's; 10-24-2018 at 06:06 PM..
Reply With Quote
  #2  
Old 10-23-2018, 09:17 PM
JayDee's Avatar
JayDee JayDee is offline
Global Moderator
Problem Sleuth
 
Join Date: Aug 2008
Location: Up North, Not Scotland Though.
Posts: 1,113
Blog Entries: 28
Rep Power: 11
JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)JayDee will be our finest member EVER! (1375)
Default

This is actually really interesting, good job on this.
__________________

Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules

Smilies are On
[IMG] code is On
HTML code is On
Forum Jump



All times are GMT -8. The time now is 07:45 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc.

Please note that the Oddworld Forums are not affiliated with Oddworld Inhabitants.