Name: | OW Inventory |
Author: | MarioE |
Added: | |
Version History: | View |
Tool: | Asar |
Requires Free Space: | Yes |
Bug Fix: | No |
Featured: | No |
Description: | These two patches add either an NSMBWii or SMB3 styled overworld inventory. A near-replica of the treasure chest from SMB3 is included. Read the readme for more details. This version fixes a bug with the last page of the 3rd save file of the SMB3 inventory, as well as a possible H-blank related bug. It also requires the SRAM Plus patch to function. Sample instances of sram_table.asm have been included for your ease. LX5's fix: Fixed a bug related to the arrows having garbage tiles instead of the arrow tile. |
Tags: | inventory item lorom needs remoderation nsmbwii overworld powerup smb3 |
Comments: | 20 (jump to comments) |
Download
17.55 KiB | 1,256 downloads
Comments (20)
Here is the example image:
... on top of what i previously mentioned here
no
1) sa-1 version (at least mine) would require uberasm usage or searching some hijacks at gm11 and perhaps 13 to clear a some ram addresses and do other stuff
2) getting the star to work with amk is so god damn horrible, it requires messing with AMK's source to get a similar effect to how it's supposed to work, this is mainly by the fact that amk is so damn sensible when it comes to music upload during black screens
3) implementing custom powerups support is horrible by the fact that it would require some sort of rewrite to have the outline gfx like the not remoderated version has (see pic 2). i was thinking to make the items dynamic so it doesn't eat the entire SP2 area, but that's so time consuming to get it to work at all
4) nsmbwii inventory has some weird crashes and weird behaviors when using more than one page of items, the causes are in the draw_inv routine
5) didn't even try messing with the lorom version of the patch, smb3 inventory or the treasure chests lmao
if you have enough free time and are brave enough you can try what i did i guess:
- sa-1 version requires the usage of a custom irq handler and disabling the hijack at irq, it does literally nothing on sa-1 roms
- amk source (spc700) needs to be adjusted, voices setting ($005e) shouldn't reset on song upload and there needs to be sfxs or 1dfa commands to mute voices on demand, it'd be better to edit 1dfa's behavior imo, sfx are muted during song uploads if i read amk's source correctly
- not sure if needed, but i made amk upload a song to the spc700 during gm11 (disable sample upload!) to ensure that the fade song effect doesn't carry over the level, disabled the voices and the custom irq handler if using sa-1
- amk non spc700 source needs to be adjusted as well, to check if mario has a star during gm12 to see if we need to mute the voices again (HandleSpecialSongs is a good spot for this)
- the voices needs to be reenabled on gm13 init so the star song starts playing if mario has one. every gm referenced in the last points should also check if mario comes from the overworld or not ($141a)
- placing a easy to read pointer to add_item routine somewhere in the patch, so it can be used with asar's read3 function like i did on my upcoming star coins patch update [1] [2], a lot more user friendly than have the end user to copy an address that asar pops out to get the treasure chest to work at all
i'm probably missing something somewhere, but honestly, it's not worth the trouble getting a public friendly version of this patch; making the user modify amk's source (even by including the files to just drag and drop) it's something i'd like to avoid at all costs because amk is so sensible, users would yell at me if they broke their amk and i don't want to consume my whole time fixing this instead of working on my own hack
perhaps i would have been able to get this to work fine if i ignored custom powerups support, but that would be against my principles lol
i may be able to provide assistance to anyone who wants to fix this because i want to see this remoderated at some point (tfw contradicting myself), feel free to dm me on discord or pm me here. do not contact me if you aren't trying to remoderate it pls
me after writing this wall of text
dl $7E1F49 : dw $0029 i change to 29 intead of dl $7E1F49 : dw $0028
the second is the example that comes from it.
and i put this intead of the example:
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
i just add one more row of "db $FF", i dont know why it works but
when you use it in the overworld the star song plays and when you get in the level while you have star power none music plays, then the power end and the overworld song plays in the level
You need to re-insert the patch and look at the command window. Asar prints "add_items is located at: $xxxxxx". $xxxxxx is the position of the subroutine which adds the item.
You need to change the address after !add_item to the one Asar has output.