zm:locations:tweaks
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
zm:locations:tweaks [2025/02/24 22:01] – created felixwright | zm:locations:tweaks [2025/02/24 22:13] (current) – felixwright | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | placeholder | + | ====== Metroid: Zero Mission Hex Tweaks ====== |
+ | |||
+ | “Hex Tweaks” are loosely defined as sets of single-or-multiple-byte-changes that can be preformed for desirable effects. There is no clearly-defined upper limit for the number of bytes that can constitute a 'hex tweak' but they are usually less than 16 bytes' worth of changes. Most ZM hex changes are 2 byte changes. All that is needed to perform the hex tweak is a hex editor such as HxD. The tweak will give you an offset, original byte values, and the new values that you will enter in. | ||
+ | |||
+ | ===== Samus Tweaks ===== | ||
+ | Tweaks related directly to Samus. | ||
+ | |||
+ | 0x9522 = 04 to 01 | ||
+ | Unmorphing makes samus stand all the way up. | ||
+ | |||
+ | 0x879E = 08 4C to 05 E0 | ||
+ | Disables the crouch sound. | ||
+ | |||
+ | 0x606CC = 7F 07 to ?? ?? | ||
+ | Y start position after loading a new game. To find your value use the following formula. (64n-1) Where N is the height in blocks. | ||
+ | |||
+ | 0x8F92 = E0 79 to 28 E0 | ||
+ | Disables walljumping. | ||
+ | |||
+ | 0x6A36 = 0B to 08 (while moving left/ | ||
+ | 0x8D4C = 0C to 08 (respin) | ||
+ | 0x8E64 = 0C to 08 (while turning back mid-air) | ||
+ | 0x8EEC = 0C to 08 (spinjump) | ||
+ | 0x6BBC = 01 D1 to 08 20 (initial spinjump pose) | ||
+ | Disables spinjumping. | ||
+ | |||
+ | 0x8F72 change to 0EDC | ||
+ | 0x8F90 change to C046 | ||
+ | 0x6138 change to D061 | ||
+ | Enables walljumping with spacejump and screw attack. | ||
+ | |||
+ | 0x250174 = 2 to ?? (Frame 1) | ||
+ | 0x250184 = 2 to ?? (Frame 2) | ||
+ | 0x250194 = 2 to ?? (Frame 3) | ||
+ | Power Suit Walljump animation frame timers. Adjusting these can reduce or lengthen WJ delay. | ||
+ | |||
+ | 0x29F984 = 2 to ?? (Frame 1) | ||
+ | 0x29F994 = 2 to ?? (Frame 2) | ||
+ | 0x29F9A4 = 2 to ?? (Frame 3) | ||
+ | Zero Suit Walljump animation frame timers. Adjusting these can reduce or lengthen WJ delay. | ||
+ | |||
+ | 0x8F68 = 18 20 to 04 E0 | ||
+ | Space jump has no delay as to when the player can jump again. | ||
+ | |||
+ | 0x8F6C = 40 to ?? | ||
+ | Delay before the player can spacejump again. Shorter jumps allow the player to jump quicker. Higher jumps take longer. | ||
+ | |||
+ | 0x8F50 = 08 1C to 03 E0 | ||
+ | Spacejump works underwater/ | ||
+ | |||
+ | 0x81DA = 08 48 to 03 E0 | ||
+ | 0x823E = 00 21 to 14 E0 | ||
+ | Screw Attack works under water/ | ||
+ | |||
+ | 0x7020 = 30 to ?? | ||
+ | Invincibility timer. Max of 255 (FF) frames. | ||
+ | |||
+ | 0x5FD4 = 38 4A to 04 E0 | ||
+ | Always makes powergrip work, (even without the powergrip item.) | ||
+ | |||
+ | 0x61D0 = 08 to ?? | ||
+ | Walljump timer, slows Samus' X velocity when near the wall for this many frames. Max is FF. | ||
+ | |||
+ | 0x7024 = 20 72 to C0 46 | ||
+ | Getting damaged no longer resets shinespark timer. | ||
+ | |||
+ | 0xA720 = 01 to 00 | ||
+ | Disables jump echoes. | ||
+ | |||
+ | 0x951E = 0F to 00 | ||
+ | Stops unmorph glow. | ||
+ | |||
+ | 0x9608 = 03 48 to 08 E0 | ||
+ | 0x979C = 02 48 to 06 E0 | ||
+ | 0x98BC = 02 48 to 06 E0 | ||
+ | Allows Samus to stay gripped to a ledge while a power bomb is exploding. | ||
+ | |||
+ | 0x8306 = 20 to 30 | ||
+ | 0x830A = 00 to 30 | ||
+ | 0x830D = D0 to D1 | ||
+ | Gravity does not protect against heat. Only protects against lava if Varia is also equipped. | ||
+ | |||
+ | 0xA734 = 01 to 00 | ||
+ | Disables Speedboost and Shinespark echoes. | ||
+ | |||
+ | 0x8C88 = 04 48 to 33 E0 | ||
+ | Disables shinesparking. | ||
+ | |||
+ | ===== Enemy/Boss Tweaks ===== | ||
+ | Tweaks related to enemies and bosses. | ||
+ | |||
+ | 0x1D482 = 03 20 to 05 E0 | ||
+ | 0x1D57C = 03 20 to 05 E0 | ||
+ | 0x1D6AE = 03 20 to 04 E0 | ||
+ | 0x1D772 = 03 20 to 04 E0 | ||
+ | 0x1D84C = 03 20 to 04 E0 | ||
+ | Makes zipline and button always on. | ||
+ | |||
+ | 0x3DCF4 = 03 20 to 06 E0 | ||
+ | Mua spawns even if zipline event is not set. | ||
+ | |||
+ | 0x2CC16 = 04 29 to 0E E0 | ||
+ | Black pirates are weak to all beams. | ||
+ | |||
+ | 0x19C8A = 06 20 to 08 E0 | ||
+ | Skips Kraid Tourian Statue activating cutscene. | ||
+ | |||
+ | 0x33B3C = 06 20 to 0B E0 | ||
+ | Skips Ridley Tourian Statue activating cutscene. | ||
+ | |||
+ | 0x32532 = 05 20 to 01 E0 | ||
+ | Skips Ridley Encounter cutscene. | ||
+ | |||
+ | 0x322C8 = 03 20 to 06 E0 | ||
+ | Ridley fight will begin no matter what. | ||
+ | |||
+ | 0x322CA = 17 to ?? | ||
+ | Event Ridely will check for before starting fight. If event isn't set, fight will not begin. | ||
+ | |||
+ | 0x21292 = 0B 48 to 19 E0 | ||
+ | Deorem spawns regardless if missiles were obtained. | ||
+ | |||
+ | 0x23158 = 04 49 to 04 E0 | ||
+ | Make Deorem fight last until one of you dies. | ||
+ | |||
+ | 0x232BE = 58 88 to 05 E0 | ||
+ | Deorem drops no item upon death. | ||
+ | |||
+ | 0x43178 = 11 1C to 08 E0 | ||
+ | Make doors unlock right when Imago dies. | ||
+ | |||
+ | 0x410 = 09 to 08 | ||
+ | Makes game end from Samus' Ship without a cutscene after killing Mother Brain. | ||
+ | |||
+ | 0x3D0E6 = 1120 to 17E0 | ||
+ | Mother Brain' | ||
+ | |||
+ | 0x53980 = 0F to 01 | ||
+ | Make the escape timer work for MB and Mecha regardless if one of them isn't set. | ||
+ | |||
+ | 0x4CDE6 = B4 to 18 | ||
+ | 0x4CF36 = 11 20 to 03 E0 | ||
+ | 0x4CF52 = 0C 48 to 04 E0 | ||
+ | 0x4E05A = FE F7 to 01 E0 | ||
+ | Killing Mecha no longer sets a timer or beeps and unlocks doors quicker. | ||
+ | |||
+ | 0x46476 = 03 20 to 04 E0 | ||
+ | Makes power bomb tube breakable at any time. | ||
+ | |||
+ | 0x35D58 = 01 to 00 | ||
+ | Removes slowed physics when grabbed by a Metroid. | ||
+ | |||
+ | 0x112A9 = D8 to E0 | ||
+ | Enemies no longer get stunned when shot. | ||
+ | |||
+ | 0x23b84 = 2A to ?? | ||
+ | Event Dessgeega will check for before starting fight. If event isn't set, fight will not begin. | ||
+ | |||
+ | 0x23b82 = 03 20 to 09 E0 | ||
+ | Dessgeega will start fighting at anytime | ||
+ | |||
+ | ===== Weapon Tweaks ===== | ||
+ | Tweaks related to weapons. | ||
+ | |||
+ | 0x50AC2 = 0C to 04 | ||
+ | Make missile vulnerability only include normal missiles. | ||
+ | |||
+ | 0x345CB4 = 0C to 04 | ||
+ | Make Missile doors only open with normal missiles. | ||
+ | |||
+ | 0x345ABC = 0C to 04 | ||
+ | Prevent Super Missiles from breaking normal never reform missile blocks. | ||
+ | |||
+ | 0x345ABE = 0C to 04 | ||
+ | Prevent Super Missiles from breaking normal no reform missile blocks. | ||
+ | |||
+ | 0x54E16 = 0A 20 to 06 E0 | ||
+ | Removes screen shake and enemy fall/stun effect when a Super Missile explodes. | ||
+ | |||
+ | 0x57786 = 78 20 to 02 E0 | ||
+ | Removes screen shake and enemy fall/stun effect when a Power Bomb explodes. | ||
+ | |||
+ | 0x521D8 = 13 to 31 | ||
+ | Apply this and lay some bombs for a good time. | ||
+ | |||
+ | 0x4F9FE = 80 18 to C0 46 | ||
+ | 0x4FA0E 40 19 to C0 46 | ||
+ | Samus speed no longer added to projectile speed like in SM. | ||
+ | |||
+ | ===== Interface Tweaks ===== | ||
+ | Tweaks related to Map, HUD, Title Screen, etc. | ||
+ | |||
+ | 52326 = 02 to ?? (First half Y position) | ||
+ | 52378 = 02 to ?? (Second half Y position) | ||
+ | 52390 = 20 to ?? (Second half X position) | ||
+ | HUD Energy positions (in pixels) (WIP, will need ASM to change first half X position) | ||
+ | |||
+ | 52484 = 40 46 to ?? 20 } (Missiles Y, first byte) | ||
+ | 52486 = 06 74 to 10 70 | ||
+ | 5249C = 36 to ?? (Missiles X) | ||
+ | 524D8 = 02 to ?? (Super Missiles Y) | ||
+ | 524F0 = 50 to ?? (Super Missiles X) | ||
+ | 5252C = 02 to ?? (Power Bombs Y) | ||
+ | 52544 = 6A to ?? (Power Bombs X) | ||
+ | HUD Ammo positions (in pixels) | ||
+ | |||
+ | 5257E = 0A to ?? (Minimap flicker Y) | ||
+ | 52596 = DE to ?? (Minimap flicker X) | ||
+ | 52602 = FA to ?? (Minimap Y) | ||
+ | 5261A = D6 to ?? (Minimap X) | ||
+ | HUD Minimap positions (in pixels) | ||
+ | |||
+ | 0x52888 = 1D 2F to 14 E0 | ||
+ | Disables health alarm. | ||
+ | |||
+ | 0x5ADCE = A0 78 to 02 E0 | ||
+ | Getting an item no longer updates the map (Missiles, ect.). | ||
+ | |||
+ | 0x5ADFE = 60 8A to 08 E0 | ||
+ | Getting an ability no longer updates map. | ||
+ | |||
+ | 0x6E1AA = 03 to 02 | ||
+ | World map will not pop up if A is pressed on map screen. | ||
+ | |||
+ | 0x6896C = 0A 48 to 05 E0 | ||
+ | Always show items collected and timer on pause screen. | ||
+ | |||
+ | 0x6A628 = 25 49 to 0A 1C | ||
+ | Prevents Jap map tiles from being overwritten in VRAM, making them usable. | ||
+ | |||
+ | 0x57C88 = 11 48 to 0F E0 | ||
+ | Disables pausing. | ||
+ | |||
+ | 6896C = 0A 48 to 05 E0 | ||
+ | Always show items collected and timer on pause screen | ||
+ | |||
+ | 0x2D4 = 01 to 02 | ||
+ | Skip boot intros. | ||
+ | |||
+ | 0x77110 = 91 42 to 04 E0 | ||
+ | Disable title screen demos. | ||
+ | |||
+ | 0x60DEA = 0F to ?? | ||
+ | Index of last demo to play, (ex: if you want 4 demos total, set this to 03). | ||
+ | Music Related | ||
+ | |||
+ | 0x28856 = 03 20 to 08 E0 | ||
+ | Makes pirate alarm music no longer play when triggering the pirate alarm. | ||
+ | |||
+ | 0x28812 = 03 20 to 06 E0 | ||
+ | Makes pirate ambiance music no longer play when the pirate alarm goes off. | ||
+ | |||
+ | 0x3A2B2 = 43 to ?? | ||
+ | Song for Chozo Guardian fight. Change to valid song value. | ||
+ | |||
+ | 0x66B7C = 12 to ?? | ||
+ | Song for Chozo Guardian Cutscene. Change to valid song value. | ||
+ | |||
+ | 0x28862 = 45 to ?? | ||
+ | Song for pirate alarm. Change to valid song value. | ||
+ | |||
+ | 0x77218 = 02 to ?? | ||
+ | Song for title screen. Change to valid song value. | ||
+ | |||
+ | 0x7C85C = 09 to ?? | ||
+ | Song for fileselect. Change to valid song value. | ||
+ | |||
+ | 0x65840 = 35 to ?? | ||
+ | Song for Ridley fight. Change to valid song value. | ||
+ | |||
+ | 0x2149C = 3C to ?? | ||
+ | Song for Deorem fight. Change to valid song value. | ||
+ | |||
+ | 0x21E0A = 01 to ?? | ||
+ | Song when Deorem dies. Change to valid song value. | ||
+ | |||
+ | 0x4C2D8 = 41 to ?? | ||
+ | Song that plays for Mecha fight. Change to valid song value. | ||
+ | |||
+ | 0x4CF56 = 08 to ?? | ||
+ | Mecha-Ridley Escape song. Change to valid song value. | ||
+ | Misc. | ||
+ | |||
+ | 3A2: 0C → 08 | ||
+ | Selecting “Gallery” option on file select plays the credits instead of opening the gallery. | ||
+ | |||
+ | 0x62E5C = 33 02 → 63 00 | ||
+ | No exiting ship, jump or footsteps sounds on starting new game. | ||
+ | |||
+ | 0x60F96 = 07 to 1E | ||
+ | 0x60FA4 = F0 0B to D4 13 | ||
+ | No longer lose upgrades or suit after escaping Tourain. (You may want to alter the cutscene that plays.) | ||
+ | |||
+ | 0x4AFE6 = 4A to ?? | ||
+ | Change to whatever event you'd like the blue ship to activate to. | ||
+ | |||
+ | 0x4AFEF = D1 to E0 | ||
+ | The blue ship always activate. | ||
+ | |||
+ | 0x10266 = 91 42 to 17 E0 | ||
+ | Samus' Ship no longer refills health | ||
+ | |||
+ | 0x102AA = 91 42 to 17 E0 | ||
+ | Samus' Ship no longer refills missiles. | ||
+ | |||
+ | 0x102EE = 91 42 to 17 E0 | ||
+ | Samus' Ship no longer refills Super Missiles. | ||
+ | |||
+ | 0x10332 = 91 42 to 17 E0 | ||
+ | Samus' Ship no longer refills Power Bombs. | ||
+ | |||
+ | 0x2C75C = F0 to ?? | ||
+ | Pirate alarm timer. Value is multiplied by two to get the true value used for the alarm. So F0 = 1E0, Ex: 3D = 7A | ||
+ | |||
+ | 0x12F00 = 05 to ?? | ||
+ | Amount of health small orbs restore. | ||
+ | |||
+ | 0x12F20 = 14 to ?? | ||
+ | Amount of health big orbs restore. | ||
+ | |||
+ | 0x12F40 = 02 to ?? | ||
+ | Amount Missile drops restore. | ||
+ | |||
+ | 0x12F60 = 02 to ?? | ||
+ | Amount Super drops restore. | ||
+ | |||
+ | 0x12F80 = 01 to ?? | ||
+ | Amount Power Bomb drops restore. | ||
+ | |||
+ | 0x3459C4 = 64 to ?? (Easy) | ||
+ | 0x3459C8 = 64 to ?? (Normal) | ||
+ | 0x3459CC = 32 to ?? (Hard) | ||
+ | Energy Tank Values | ||
+ | |||
+ | 0x3459C5 = 5 to ?? (Easy) | ||
+ | 0x3459C9 = 5 to ?? (Normal) | ||
+ | 0x3459CD = 2 to ?? (Hard) | ||
+ | Missile Tank Values | ||
+ | |||
+ | 0x3459C6 = 2 to ?? (Easy) | ||
+ | 0x3459CA = 2 to ?? (Normal) | ||
+ | 0x3459CE = 1 to ?? (Hard) | ||
+ | Super Missile Tank Values | ||
+ | |||
+ | 0x3459C7 = 2 to ?? (Easy) | ||
+ | 0x3459CB = 2 to ?? (Normal) | ||
+ | 0x3459CF = 1 to ?? (Hard) | ||
+ | Power Bomb Tank Values | ||
+ | |||
+ | 0x3459C0 = 63 to ?? (Energy) | ||
+ | 0x3459C1 = 0 to ?? (Missiles) | ||
+ | 0x3459C2 = 0 to ?? (Super Missiles) | ||
+ | 0x3459C3 = 0 to ?? (Power Bombs) | ||
+ | Starting Energy/ | ||
+ | |||
+ | 0x45132 = 0B D1 to 6E E0 | ||
+ | 0x4521A = 1E to 0 | ||
+ | 0x45228 = 1A to 16 | ||
+ | 0x45236 = 04 48 to 02 E0 | ||
+ | Ship no longer refills energy or ammunition. | ||
+ | |||
+ | 0x5E793 = D0 to E0 | ||
+ | All hatches with more than one hit's worth of “health” will flash. | ||
+ | |||
+ | 0x345CB2 = 00 to ?? | ||
+ | Amount of hits required to open a blue hatch. | ||
+ | |||
+ | 0x345CB6 = 00 to ?? | ||
+ | Amount of Missiles required to open a red hatch. | ||
+ | |||
+ | 0x345CBA = 00 to ?? | ||
+ | Amount of Super Missiles required to open a green hatch. | ||
+ | |||
+ | 0x345CBE = 00 to ?? | ||
+ | Amount of Power bombs required to open a yellow hatch. | ||
+ | |||
+ | 0x5CE36 = 06 to ?? | ||
+ | 0805CE54 06 to ?? | ||
+ | Door Transition speed. | ||
+ | |||
+ | 0x5EF8A = 06 48 to 03 E0 | ||
+ | All door transitions are hatchless variant (Faster) | ||
+ | |||
+ | 0x61116 = 08 D1 to C0 46 | ||
+ | Press B to skip elevator/ | ||
+ | |||
+ | 0x345B4A 3C → ?? | ||
+ | number of frames it takes for slow crumble blocks to break | ||
+ | |||
+ | 7DE0E = 04 D1 to 11 D1 | ||
+ | Makes hard mode always available | ||
+ | |||
+ | 55FA8 = 11 48 to 64 E0 | ||
+ | Disables varia suit animation | ||
+ | |||
+ | 0x56010 = df to ff | ||
+ | 0x600ee = 20 to 00 | ||
+ | If Gravity Suit has not been acquired, it will not be activated after defeating ruin test | ||
+ | |||
+ | 13C08 + (SpriteID - 22) * 4 | ||
+ | to | ||
+ | DC = left | ||
+ | D4 = right | ||
+ | To change a Chozo statue' | ||
+ | |||
+ | 0x75EA78 - 29 02 02 08 to 81 72 04 08 | ||
+ | 0x75ED70 - 48 39 2D 08 to 74 D6 30 08 | ||
+ | All save stations use Chozodia AI/Graphics (healing/ | ||
+ | |||
+ | Editing the text in the opening before the title screen. | ||
+ | Start at 0x845F468 (“Emergency Order”), 0x845F4D0 (“Exterminate all…”), or 0x845F60A (“And defeat the…”) | ||
+ | Every six bytes will be the tile's character number. | ||
+ | For example, if you wanted “Emergency Order” to say “Fnergency Order”, you would do this: | ||
+ | 0x845F468 08 → 09 | ||
+ | 0x845F46E 0E → 0F | ||
+ | |||
+ | 03 is a blank character | ||
+ | 1E is a period | ||
+ | Please note that there isn't a letter K for some reason. |
zm/locations/tweaks.1740434519.txt.gz · Last modified: by felixwright