The Great Metroid Construction Collaboration Hunt - Post your resources here!

Started by Zhs2, July 20, 2009, 07:55:03 PM

Previous topic - Next topic

TobiMikami

I'm so glad this finally got a patch for the every-man. It's such a minor thing for the leg work involved with it I'd imagine, by eliminating that I'd imagine a lot more hacks will have this "room name" scheme that I personally have loved ever since Metroid Prime, the first game in the series to have room names.

Tundain

Flipped bomb torizo statue.

Are you tired of having to adapt your hack because the bomb torizo statue only faces one way?, well this is the patch for you!

Makes some simple changes to make bomb torizo's crumbling statue face right instead of left.

Enjoy!

TobiMikami

Would it be possible to flip Kraid the same way? Or is that different vecause of the way the ceiling falls down and such? Either way still pretty cool!


Tundain

Reveal hidden areas bts

This patch adds 2 new bts;
one which will reveal hidden sections,
and another one to hide these again.
there are a few limitations, but nothing too bad

Just like metroid super zero mission!

More info on how to use in the file itself

Enjoy! (and credit pls)


TobiMikami

brooo yes this is SOOO overdue! I was about to start excitedly typing like super Zero Mission when I read that lmfaoo.

How did you go about doing this? In the sense that obviously when she collides with an air fool xray tile, but was there like a way in SM to make it check for a flag or something to see if she's still in contact, and if not to raise the alpha (or however SM did it back then lol). I'm trying to figure out the best way to go about this in my own engine, I had issues with the Phazon I  made that as an object tile equivalent to an air fool block in SM and I had to do a lot of redundant collison checks to make it work properly, just like all the break blocks had to be collision checked from like every bbox.

Tundain

When she comes into contact with the revealing bts, a flag is set and layer2 is disabled (revealing the area), when touching the coverup bts, that flag is checked, and if set, the bts will re-enable layer2, effectively covering the area again. In both cases, if the flag is set(for the reveal bts) or unset(for the coverup bts), it will skip it's code.

TobiMikami

Excellent! I can use a collision event then to set a flag and an object state with a simplistic fsm to switch states when/if necessary, maybe I'll use the collision rectangle function since I have more freedom with that, either way, thank you for confirming my logic was on the right track!

Ob

Spore Spawn PB Reaction - Force SpoSpo to open up about their feelings.

Simple v1.0
Power bomb explosions prompt Spore Spawn to open up. Apply ASM, set Spore Spawn's PB reaction AI to the same as the freespace define, and make Spore Spawn vulnerable to power bombs. Uses 30 bytes in $A5.

Requires Improved Power Bomb Explosion by MFreak [spoiler]Vanilla PBs crash.
[/spoiler]

SpoSpo never saw it coming.

Tundain

Suit based shinespark damage.

This simple patch makes it so shinesparks deal less damage based on how many suits you have equipped.

self-explanatory, so no screenshots needed


TobiMikami

Make spore spawn open up about its feelings lmfao that was great.

I like these weird subtle concepts like that shinespark suit thing though. Seriously keep it up yall give me good ideas here haha.

nodever2

SM: Modern Bugfix Compilation PreRelease1

I am posting a PreRelease here because there are some questions I have for the community on what the best way to format this patch would be in order to make it easy to use.

If you guys remember JAM's bugfix compilation made back in the day, posted on the old site, I believe it was a very good idea for a resource - in theory, a simple one-and-done patch which anyone can apply which fixes issues in SM that make the gameplay experience worse otherwise.
However, the patch had some issues in practice; first of all, it is in IPS format, which means if it conflicts with any other patches or custom code you are using, you can't easily solve that issue without just not using the compilation patch at all. Related, the fact that you can't choose which fixes to use within the patch is definitely a point against using that patch.

So, over the past few months, I have been on-and-off developing a new bugfix compilation patch inspired by this with the goals of:

  • Modernizing the bugfix compilation idea
  • Adding new/improved bugfixes the community has discovered since the original patch's release
  • Focusing on not fixing bugs which allow any fun glitches or tech that advanced SM players enjoy exploiting when they play the game
  • Preferring bugfixes which are simple and small in scope
However, there are some complications when trying to deliver a patch which attempts to remain customizable and future-proof. Specifically, I am not sure how exactly to format the patch, and wanted to get your thoughts. Some formats are more condusive to including larger/more large-scope bugfixes.

  • The patch is currently formatted as 1 asm file in which users can comment out patches which they prefer not to use. This is one option for how the final patch can be formatted.
  • The patch could also be formatted as an asm file which uses include statements to include other asm files, and each included file represents one bugfix, so if the user wants to avoid using a patch they can just comment out the include statement. This would be much easier to customize, but include statements tend to be cumbersome to use sometimes when trying to get the file pathing right, especially with xkas, but it can also be a challenge when using SMART (sidnote, when assembling ASM in the Project/ASM folder, does SMART also assemble ASM in all subfolders in Project/ASM as well? This could post complications when using include statements). This patch has a goal of being accessible to everyone, even people less familiar with how to edit ASM files.
  • The patch could also just be served as an archive of individual asm files (without a master asm file which includes the rest), where each asm file is its own bugfix patch, and users can apply each bugfix individually that they want to use.
I was also tossing around the idea of making a GitHub repository for this patch which various members of our community could have permission to update, so we can ensure that this patch is future-proof and able to be maintained with time. Just an idea, but I know with patches like this it's easy for them to become outdated once their creator leaves the community/takes a hiatus while the community further advances their tools and knowledge while they're gone.

Consider this post an open invitation to any feedback/thoughts that anyone in the community has on this subject, regardless of your level of ASM knowledge. The last thing I wanted to say was that if anyone has any bugfixes that they know of that they think should be included in this patch, or any thoughts on the selection of bugfixes which is already included, I encourage you to voice your thoughts on that. Moderators, if you think this would be better suited to it's own forum topic, feel free to move this post.

This patch is very WIP, and I have left some notes and todo-lists commented in the file that'll be visible to those reading the code.

Tundain

Slope-compatible space pirates!

Here's a qol improvement that you (probably) didn't knew you needed, but you do.

Self-explanatory, makes pirates walk up/down slopes
Uses extremely little free space!


OmegaDragnet9

This began last night from me learning how to modify the boss music for one boss, so I went through most of the main bosses while I was at it. Haven't gotten Mother Brain and the Baby Metroid worked out yet.

Credits to Begrimed (music hex edit charts from the SMMM shared with permission) FullOfFail (the change-music code from Draygon Destruction Timer) and PJ Boy (Banklogs.)

I've got each part set to different freespace in $8F. Cheet-sheet attached for easy reference offline.

(The Crocomire code I probably could have made more concise. Will fix that at a later revision. It works better to change that in editor anyway.)

H A M

allows both ridleys to be placed anywhere by checking enemy id.
also allows mother brain's bean burrito explosion to load the correct damage value regardless of area.

Tundain

Variable knockback timer

This very simple patch allows you to give each enemy a unique timer for how long samus gets knocked back by it.
This means you can make it so zoomers knock samus for 5 frames, but mama turtle knocks samus for 30 frames, giving the sensation of enemies knocking samus with greater force.

You can set the timer by using value 16h in the enemy header (for SMART-users that's Unused_1 in the enemy dna editor)

uses no free space at all!

H A M

Fixes Ceres Ridley skipping to third palette change after 70 hits (second palette threshold). Uses no freespace.

Tundain

Reserve missiles!

Long ago, the devs thought about adding reserve missiles to the game, but in the end, they decided not to.
That's why i set out to reimplement reserve missiles and make them a full-fledged feature for hacks to use.

How it works:
the "supply" menu has been slightly redesigned. an extra indicator for your reserve missiles has been added underneath your reserve energy indicator.
When "auto" mode is chosen, selecting the button below allows you to switch between reserve missiles/energy.
When "manual" mode is chosen, selecting the button below allows you to manually drain the selected unit.
included is also a reserve missile tank plm so you don't need to bother for that

This patch also implements all the features of Nodever2's "reserve bugfixes.asm" patch, so if you wanna use both, you can just use this one on itself.
(make sure to still credit nodever2 tho, he's responsible for those fixes)

things to note:
-you will need to add a msg box for the plm yourself.
-please credit!
-enjoy!

screenshots:

Tundain

Charge missile/super missiles

This patch adds in the ability to charge up your missiles or super missiles.
Charge up a missile to fire a super missile instead.
Charge up a super missile to fire a super missiles, which when colliding will summon in a tiny version of the plasma sba.

There are two versions of this patch; built-in and collectable.
Built-in makes it a basic feature, so once you collect charge beam you can use it.
Collectable adds two new item plms to the game (gfx included for those who wish) which need to be collected to respectively use charge missiles/supers
Original idea by Benox, i made it into reality

Don't forget to credit please!




Mentlegen

You guys have outdone yourselves, really.
Here's Phantoons Curse from exertion - i've gotten requests to upload it from several folks.

Tundain

Non-explosive planet!

Are you tired of the planet always blowing up when samus leaves it, even tho it makes zero sense story-wise?
then this is what you're looking for!
Prevents the planet from blowing up, now samus will simply leave it
second version of this patch adds in some explosions to still show that smth on the planet exploded, but not the entire planet.

More info in the readme!

Enjoy! (and credit please)


OmegaDragnet9

This came about from recently learning how to edit the File Select Tilemaps.

Attached is two pictures of the tile table for reference, as well as a legend for corresponding bytes.

Also attached is part of PJ Boy's Disassembly of Bank $81 as well as his notes on tilemap format. Much thanks to him for those as well as Nodever2 for helping me get a better understanding of how the Tilemap format works.



Tundain

Custom Cutscenes!

This patch will allow you to add your own cutscenes to your hack.
These can be used to transmit things to the player which would otherwise be hard to transmit, and end up with the player not really knowing what to do.
For example, let's say that after killing a boss, a door opens up on the other side of the map. Normally, you don't have any easy way to tell the player this.
But with this patch, you can show a cutscene which shows the door being unlocked, thus saving the player from potentially running around the map for quite a while.

You can also show a title demo cutscene, in order to teach the player how a new item works for example.

The player can press start to skip the cutscene a message is displayed on the bottom of the screen.

Info on how to use is in the readme and in the asm file itself.

Special thx to:
-Nodever2
-Mfreak
-Caauyjdp

For their very helpful feedback!