News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

[ZM_U] [ASM] Fundamental Patch for Zero Mission Hacking

Started by FelixWright, February 10, 2024, 10:53:44 AM

Previous topic - Next topic

FelixWright

This is intended to be the only patch you "need" to get those creative juices flowing ASAP.

This patch fixes bugs and limitations zm hacking has out of the box (i.e. Unknown Items)
Adds some quality of life changes (skippable cutscenes, charge tractor beam, midair ballsparking, walljump with spacejump, R-Shot)
And gives creators settings that are very easy to find and edit as needed.

Options:

  • Change where Samus starts, and what she starts with
  • Which suit upgrades will make Samus' suit appear fully powered
  • Item %
  • A new extra color for map tiles

Fixes:
[spoiler]

  • Samus
          Fixed an OAM error in Samus' running animation when she is running left and aiming forward with the fully powered suit.
  • Imago
          You are no longer softlocked after killing imago with pseudo-screw. Killing imago will now immediately unlock the doors.
  • Space pirates
          Drops will no longer damage Samus.
  • Map
          Map station cutscenes no longer have garbage in the background when using transparent map tiles.
  • Power bombs
          Power bomb tanks can now be grabbed and used before bombs without softlocking the game.
[/spoiler]

Patches:
[spoiler]

  • Enable Unknown Items
          Use Plasma Beam / Space Jump / Gravity Suit right away

  • Starting Room
          Choose where the player starts the game.
          This patch uses the X/Y position of a door object as the spawn location, so create a new 1x1 door in the room you want to start in and set that as the door ID in the ASM.

  • Scale End Percent
          Adjust the item % of your hack so people can properly 100% it

  • 4th Map Color
          Normal (Blue), Secret (Green), Heat (Orange), and now ??? (Pink)!
          It's pink OOTB but you can make it any color you want.

  • Tractor Beam
          Charge beam can be used to pull in item drops.

  • Start with Items
          Set an initial loadout for Samus.
          For abilities this is done through bitflags, for example if you want samus to have hi-jump (0x01) and morph ball (0x40) you would set startingsuitmisc to 0x41.

  • More Map Station Messages
          Gives every area their own unique message ID for Map Stations.
          Replaces Message IDs 18 for Tourian, 23 for Crateria

  • Midair Ballsparking
          Samus may now perform a ballspark in the air. Requires Hi-Jump to work.

  • R-Shot
          Charging a beam and pressing R will now unleash it. This can be used to shoot mid-spinjump without cancelling it.
[/spoiler]

Tweaks:
[spoiler]

  • Available minimap tiles has been expanded
  • You can now use more elevators
  • HARD difficulty is now always available
  • Sound Test, NESTroid, Time Attack Records, Fusion Gallery are now always available
  • Energy/Missile/Super/Power tanks no longer have limits. The HUD doesn't support anything above >12 E-tanks, >999 Missiles, or >99 Supers/PBs though
  • Atomics can now spawn on EASY difficulty
  • Charge Beam Worm, Acid Worm, and Ridley no longer require certain events to spawn
  • Charge Beam Worm won't retreat
  • Black Pirates are weak to all beams
  • Space pirates no longer mess with music
  • Samus will now take damage from any projectile when fighting Charlie a.k.a. the God of War a.k.a. the Spirit of the Mural
  • Cutscenes can now be skipped
  • Escape timer works for MB and Mecha regardless if one of them isnt set
  • Blue ship is now always active, and no longer contains a space pirate
  • Item Tanks are now air for enemies and projectiles
  • Breakable blocks can now also be revealed by missiles and super missiles
  • Samus can now walljump with spacejump
  • While paused, START can now be used to back out of STATUS/SLEEP/WORLD MAP(press A to view) menus
  • Any button may be pressed to dismiss Save station messages
  • Screw attack and speedbooster will now expose hidden expansion tanks
  • All hatches with >1HP will now flash when hit
  • Breakable Glass Tube can now be destroyed at any time
[/spoiler]



FAQ
Q: How to use?
A:[spoiler]

  • Hop on your PC.
  • Download the .ZIP from this thread.
  • Extract the .ZIP to its own folder.
  • Place a copy of your USA Metroid Zero Mission ROM in the new folder, next to fundamentals.asm .
  • Rename that ROM to zm_u.gba .
  • Get ARMIPS.
  • Place armips.exe in the same folder as fundamentals.asm.
  • Drag fundamentals.asm over armips.exe. if it worked, it will spit out a new ROM named zm_u_fundamentals.gba .
[/spoiler]

Q: How is this different from Zero Mission Hacking Toolkit (ZMHT)?
A: This should be easier to use, but if you want to add more ASM, use ZMHT instead.

Q: Does this use free space?
A: Yes, this uses end of ROM, crocomire's graphics and crocomire's code as freespace

Q: Will this work with randomizer?
A: No, because randomizers use ASM in the same spots

Q: Will this work with hacks?
A: Mostly No, because most ZM hacks use ASM in the same spots.

Credits:

  • biospark- unknown items, starting room, scale end percent, 4th map color, power bombs before bombs
  • captglitch- tractor beam, start with items
  • raygun- tractor beam, unknown items, transparent map fix
  • somerando- more map messages, getting this to work
  • yohann- tractor beam, unknown items, more map messages
  • kiliwily- imago softlock fix, samus left running OAM fix

FelixWright

#1
Doublepost because I didn't know where to fit this in OP:

You may use this thread to suggest what to add/remove.
Just try to stay minimalist with what you suggest

FelixWright

#2
I'm optimistic about V3 but it's only been lightly tested.
+ A lot of popular / common tweaks
+ Midair Ballsparking (Requires Hi-Jump)
+ R-Shot

FelixWright

Forgot to remove the 250 missile cap. Also snuck in that tweak for the map area switching order. Updated OP

FelixWright

V4

- Reverted some graphics from my hack I accidentally left in (Bomb gfx, newgame+ power bomb tank gfx)
- Now fixed: Crateria map station message was being imported, but further down in the main asm the message was being replaced again by "Unknown Item".

+ space pirate drop bug fix
+ samus fullsuit running left oam fix
+ tweak: screw attack no longer overwrites jump glow palette (you can now see charge beam jump glows while screw attacking)

FelixWright

#5
V5

- Fixed vanilla bug: Grabbing power bombs before bombs softlocks the game