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

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

Previous topic - Next topic

Quote58

Quote from: sylandro on December 02, 2016, 04:36:32 AM
Ballspark. With this you can shinespark as a morph ball, but only if you have the Spring Ball.

The implementation is a bit hackish, the proper way would have been to create new entries in the transition, animation and delay tables but that involves moving a lot of code. Right now it tricks the game thinking it's a regular shinespark, but loads the values that would correspond to a morphball. The downside is that there are a lot of comparisons.

The file ballspark-main.asm enables the move. If you use Project Base or the patch that lets you continue running if you hit a slope while shinesparking, apply ballspark-slopes.asm as well.

Special thanks to @Quote58!



EDIT: Fixed a bug that only allowed to spark to the right.

No problem, I tried it out and it's pretty great! However in zero mission you had to press jump again once you were in the air so you could choose what height to boost at, is there a reason you choose not to do that?

sylandro

Thanks, I've improved it a bit and updated the post.

QuoteHowever in zero mission you had to press jump again once you were in the air so you could choose what height to boost at, is there a reason you choose not to do that?

Well, I didn't do that because I wasn't aware that could be done in ZM... how is it supposed to work? I'm have zero mission open right now and can't pull it off: once I press A the ball levitates some pixels upwards (always the same amount) and nothing happens if I press A again.

FelixWright

Quote from: sylandro on December 09, 2016, 03:39:08 PM
Thanks, I've improved it a bit and updated the post.

QuoteHowever in zero mission you had to press jump again once you were in the air so you could choose what height to boost at, is there a reason you choose not to do that?

Well, I didn't do that because I wasn't aware that could be done in ZM... how is it supposed to work? I'm have zero mission open right now and can't pull it off: once I press A the ball levitates some pixels upwards (always the same amount) and nothing happens if I press A again.

Get morph + speedbooster + high jump. (high jump is required because in ZM and MF highjump is also springball)

Run until speedboost and quickly press down. Stop moving and press A.

Samus will momentarily hover and appear to be focusing energy. At this time you can aim morph-shinespark in six different directions: left for left, left+up for diag left, no input or up for up, up+right for diag right, or right for right.

sylandro

Yes, that's the behaviour I coded. What I confuses me is the
Quotepress jump again once you were in the air so you could choose what height to boost at
part. I can't choose what height to boost at, I always levitate the same height.

biospark

Quote from: Quote58 on December 09, 2016, 01:42:58 AM
No problem, I tried it out and it's pretty great! However in zero mission you had to press jump again once you were in the air so you could choose what height to boost at, is there a reason you choose not to do that?

This is not how ZM works. You can only ballspark from the ground.

Quote58

Ooh my bad, I haven't played zero mission in a while, I thought it gave you more control

passarbye

In MZM, if you preserve a shinespark and morph, you can tap/hit A and it will bring samus up 1 tile (morphed) and preform the spark at that height.
There's no air-control besides going left or right.
:^_^:

interdpth

http://interplz.warsworldnews.com/originb1.ips Working Crocomire for ZM if anyone wants to build a rom off it. Only issue is he goes too far left and he doesn't face right(that I know of, that might be possible to change)

Quote58

I was making some new beam stuff the other day and was disassembling some of the sprite data when I figured I might as well just disassemble all of it.
So over the last couple of days, thanks to various scripts I wrote when useful, I made a compliable disassembly of the beam (and other projectiles) sprite data in super Metroid.
The files I uploaded here only cover uncharged beams and missiles however, since I'm not finished charged yet and don't have time to do so right now. When I update it to include charged beams I'll also include disassemblies of the other beam related routines for behaviour, collision, etc.

Why is this useful?:
It should make it easier to create new beams now that you can see exactly how the originals were structured, all of their offsets if you want to change something in the original, and if you want to rewrite all of them it'll be easy to move the data around because everything is linked by labels.

But that still doesn't sound useful though:
It'll be more useful when I update it, but for now it's still a ton of documentation, which is never not useful to have

Basically, the end goal here is to make it really, really easy to make new beams, but I haven't had time to finish making templates for beams. I included a few templates, but there's a lot more to make. When It's done there will be templates for every structure of beam, so it'll be as easy as picking how many tiles per beam, how many beams per shot, and whether the tiles are unique or not. This will also allow me to write a small GUI that lets you structure them and then creates the right templates and overwrites the original game's animation/tilemap data.

There's also an explanation of how OAM data is structured in the tilemaps file, so that might be helpful to some people.
I'm also attaching my more accurate VRAM map, that should cover everything in misc gfx correctly. Kej's was somewhat correct, but had a number of errors due to not looking into parts enough.

Thanks to Jam for his beam editing guide I used for understanding stuff a long time ago and is therefor the basis of this documentation, kej for all sorts of stuff I use all the time, pjboy for his banklogs and explanation of stuff at various times, and probably other people too.

Happy holidays all, I'm sorry I don't have something cooler for Christmas (I was going to make a spiderball patch or something else interesting, but didn't have the time :( )

edit:
btw in case anyone wants to use Crashtour's double jump and the sadi/kej respin patches together (they have a conflict normally), I attached a fixed combined version (the hijack crash choose wasn't ideal, but I added a couple of things and now it's fine).

for reference with VRAM, here's a picture of how the objects in there look when organised and expanded out:
[spoiler][/spoiler]

PHOSPHOTiDYL

For compatibility with all hacks.

Set dash to whatever button you don't want to use ever again, ever.
AKA select.

Set item cancel to whatever button you use to run.
Works even better with project base gameplay.

Say dash/item cancel is B, jump is A, item switch is Y, & fire is X.
I can quickmorph using down+B.
Spinjump using B+A.
Backflip crouched.
Backflip directly from morph.
Metroids are easier to fight since item cancel every time I run.
Mockball is now easier to do.
More moves with less buttons.
Select can be programmed for beam switching or something more useful.
Or whatever button is most annoying to you.

Test on project base or the code from project base thread.
Controller.zip includes bin file for sprite replacement.

UPDATE:
Now includes a small piece of code to make samus always run. However, if
speedbooster is equipped, samus will always gain blue echoes. Your root button
(aka dash/select) now includes walk/speed limit, since switching hud items
was still annoying when you needed to run & grapple. (You can still hold cancel &
cycle through the hud to set up a one shot).

UPDATE:
If using with projectbase gameplay,
you can bluesuit backflip out of a speedboost mockball.
...
...
Still a whole button unused too.

Cpt.Glitch

Want screw attack to have hyper beam palette? Why not.

passarbye

Quote from: PHOSPHOTiDYL on January 10, 2017, 07:40:48 PM
For compatibility with all hacks.

Set dash to whatever button you don't want to use ever again, ever.
AKA select.

Set item cancel to whatever button you use to run.
Works even better with project base gameplay.

[spoiler]
LoROM

;//run is item cancel
org $908542
   BIT $09B8
org $909781
   AND $09B8
org $90DDCA
   BIT $09B8

;//xray is shoot
org $888737
   BIT $09B2
org $888759
   BIT $09B2
org $8887B0
   BIT $09B2
org $90DDCA
   BIT $09B2
org $91CAE3
   BIT $09B2

;=============================================
;//PROJECT BASE
;---------------------------------------------

;button press,button hold,table transition

;8000: B button
;4000: Y button
;2000: Select
;1000: Start
;0800: Up
;0400: Down
;0200: Left
;0100: Right
;0080: A button
;0040: X button
;0020: L
;0010: R

;//backflip hold buttons
org $91A6F0
   db $80,$40   ;//[A,Y]
org $91A740
   db $80,$40   ;//[A,Y]

;//quickmorph aimdown hold buttons
org $91A3D2
   db $00,$44   ;//[nothing,Y&DOWN]
org $91A434
   db $00,$44   ;//[nothing,Y&DOWN]
org $91A766
   db $00,$44   ;//[nothing,Y&DOWN]
org $91A7B6
   db $00,$44   ;//[nothing,Y&DOWN]

;---------------------------------------------[/spoiler]
I didn't realize what this was at first (item cancel is turned into dash) but holy shit this sounds/looks cool.

PHOSPHOTiDYL

Super Metroid Hard Mode Compatibility Hack.

Credit to SmileUser96 & sylandro.

Replaces the auto item cancel option with a difficulty switch.
Auto=hard/Manual=normal

Includes sprite replacements (if you don't like, make your own or ask how to).
Modifies drop values (no drop rate).
Bypasses auto item cancel check. (6 bytes free)
Spike damage values (idk needs its own damage check for now).
Armor & damage division vs. enemies. (uses 2 bytes ram, $7EFFFE)
Display difficulty on file select screen. (these sprites are easy to change..).
Save & Load (does not modify the actual save & load routines).

Just check all the free spaces used.
Feel free to post modifications.

UPDATE:
New hotstuff.asm contains code for heat damage, lava, & acid.

UPDATE:
Added spikes.asm. Old routine only did one additional damage.
New one uses one less byte, includes the 60 damage spike.
Very easy to tweak if 120 damage is too much for you.

UPDATE:
Added skipintrosaveswork.asm.
All three save files will now work. This is compatible with all hacks.
Be careful with the hotstuff.asm, free space needs to be $8DFFF1.
If you did patch, & your game crashes during the escape, it's cause it overwrote one byte.
06FFF0 needs to be FF. Crisis averted.


PHOSPHOTiDYL

Want the A,B,X,Y buttons on the controller settings screen to look like playstation ones?

Of course you do!!

Includes graphics and a few hex tweaks to display properly.

Now with photo preview!!!!!!!
ONLY THE A,B,X,Y BUTTONS WILL BE CHANGED.


Quietus

It's be nice if you could post an image displaying the result to help people decide. :^_^:

Cpt.Glitch

The Suit Palette offsets for Zero Mission were very incorrect on the wiki.
SprayK47 and I found the actual offsets as well as their unmorph glows. The wiki has been updated.
True Gravity Suit Palette Offset = 2383CA
Gravity Suit Unmorph Glows = 23856A & 23858A
Varia Suit Palette = 237BEA
Varia Suit Morph Glows = 237D8A & 237DAA
Power Suit Palette = 2376A8
Power Suit Morph Glows = 23784A & 23786A

passarbye

Quote from: Cpt.Glitch on February 02, 2017, 12:57:31 PM
The Suit Palette offsets for Zero Mission were very incorrect on the wiki.
SprayK47 and I found the actual offsets as well as their unmorph glows. The wiki has been updated.
True Gravity Suit Palette Offset = 2383CA
Gravity Suit Unmorph Glows = 23856A & 23858A
Varia Suit Palette = 237BEA
Varia Suit Morph Glows = 237D8A & 237DAA
Power Suit Palette = 2376A8
Power Suit Morph Glows = 23784A & 23786A

THANK YOU. This will definitely help.

FelixWright

With some help from Captain Glitch I've also gotten a collection of palette resources for editing the colors of minimaps (both HUD and map menu)

http://wiki.metroidconstruction.com/doku.php?id=zero_mission:locations:minimap_graphics

Cpt.Glitch

FelixWright and I Got offsets for most of the compressed GFX in ZM. MAGE can decompress and recompress the GFX which allows all of this stuff to be edited! Palettes have not been found for these things yet but they will be soon.
GFX in here includes: Title Screen, File selection, Fusion Gallery, Cutscene GFX and more!
Going to add this information to the wiki as well, but if you are like me, I like to have a txt file with the info. Some info is likely incorrect. As in they are in the wrong category, but I am in the process of testing all those out. Enjoy. Does not include enemy and tileset GFX as MAGE has those already.

personitis

I don't know if you're doing this or not Glitch, but this is great opportunity to mention that if anyone is finding new information regarding the inner workings of their favorite Metroid game, we do have a wiki that will happily host said info. :!:

Cpt.Glitch

We've been adding info to the wiki, but I'm can't seem at add a new page to put these GFX offsets in. I asked about it in discord but didnt get an answer.

Mon732

Sorry Glitch I must have missed that.
To add a new page make sure you're logged in then follow a link to a page that doesn't exist.
There should be an option to create the page on the right hand side (Pencil with a plus).
Let me know if that doesn't work.

FelixWright

Quote from: Cpt.Glitch on February 14, 2017, 03:41:26 PM
We've been adding info to the wiki, but I'm can't seem at add a new page to put these GFX offsets in. I asked about it in discord but didnt get an answer.
Quote from: Mon732 on February 14, 2017, 04:07:52 PM
Sorry Glitch I must have missed that.
To add a new page make sure you're logged in then follow a link to a page that doesn't exist.
There should be an option to create the page on the right hand side (Pencil with a plus).
Let me know if that doesn't work.

If you do this, remember to also put down a link for it on the Main ZM page. Otherwise we won't be able to access it (you said previously that you've worked with wikis though, so I imagine you didn't need this as a reminder)

Mettyk25jigsaw

Door ASM...

Just a simple little ASM, for those who don't know much about how to create door asm inside smile's door editor...

This will help you to simply add door asm data to your rom in bank $8F so you can point to it in the door editor and thenceforth have an alternative to using scroll PLMs while entering through a door which has a red scroll on other side etc...


Cpt.Glitch

Fully Powered Suit

This makes the player start with the full powered suit GFX. There is an existing patch that does exactly this, however when paired with biospark's Unknown Items Patch, the palette borks. This ASM I have created fixes that issue with seemingly no side effects. It used some freespace in the middle of the ROM. Big thanks to biospark for helping me understand what I was doing with the main bit of the code. If it isn't clear, this is for Metroid Zero Mission.