Banner
Views: 994,391,626
Time:
10 users online: AllexGG, FrozenQuills, gibbl, Goobie Doobie, gui, Infinity, Klug, Kusrry, Mediocre Espurr, NewPointless - Guests: 92 - Bots: 132 Users: 54,523 (2,085 active)
Latest: Noobeb
Tip: Try running your hack on various SNES emulators to see if anything is incompatible.
Not logged in.
Details for One-Shot Fire Flower Block
SMW Blocks - One-Shot Fire Flower Block Link - Show random
File Name: One-Shot Fire Flower Block
Added:
Authors: JamesD28
Act As: 025 or 130
Includes GFX: Yes
Description: This is a block that when collected, will award Fire Power that can be used for a single shot. Collecting multiple blocks will give the player the respective amount of shots. When the player's shots have been used up, they will revert to big Mario.

See the asm file for some customization options. Requires a few small helper patches (inserted with the block) to handle the fireball counter.

Requested by KatMakes.
Tags: fire flower, fireball, lorom, one shot, sa-1
Rating: No rating
Download: Download - 1.90 KiB
75 downloads
Screenshots
Previous 
 Next
Maarfy
Does what it's supposed to more or less, accepted. Note that, if !NoCape = 0, it's possible to touch this block as Cape Mario while in cape flight. This will cause Mario to instantly become Fire Mario, but does not exit cape flight state. As Fire Mario isn't meant to fly, this causes harmless graphical glitches in the player sprite until flight state is ended.

I think the overall design of this block & patch is a little strange, personally. Particularly with flowers in the item box, it can lead to situations where purposely taking damage before grabbing a flower is preferable, as doing so resets banked shots and allows Fire Mario to have unlimited ammo. Since this block already has to apply a patch, I think it'd make more sense to create a "temporary fire state" completely separate from the "true" $19 = #$03 fire state.

That all said, this block seems naturally geared towards more of a kaizo sort of design where the vast majority of these oddities wouldn't be encountered in the first place.

Tested with Asar 1.81, Lunar Magic 3.31, SA-1 1.40, Snes9x 1.59.2, GPS 1.4.21.
Posted by:  Maarfy - | Link
MarioFanGamer
I'd also add that one of the hijacks, the kill player routine, is at changing the music which means using AddmusicK overwrites the hijack should you use this block before (which may or may not be fixed by reapplying the patch, considering that that hijack uses an autoclean like the others) but also that you have to change the song to be played to 0x01 instead of 0x09.
Posted by:  MarioFanGamer - | Link
Saela
Couldn't find anything so far, but I'll just use a backup rom for now. I'll let you know if I figure it out! Thank you.
Posted by: Saela - | Link
Saela
I inserted this and the block itself works perfectly fine, but whenever I go into any other level the game crashes as soon as I take damage after having collected a mushroom. I can die normally or hit munchers or anything without issues, the crash only occurs if I collected a mushroom before. Of course I don't know why exactly this happens and there are many other patches I have inserted into my hack but I just thought I should let you know. Definitely has something to do with this because the crashes only happen when this block is inserted.
Posted by: Saela - | Link
JamesD28
I'm unable to recreate that issue on a clean ROM. I recommend that you go through all your patches and check to see if there are any which are using the same freeRAM as the block, or if there are any hijack conflicts - look for all instances of "ORG" in your patch asms, and then check the address after it. If it matches any of the hijacks in the Block asm or is a similar address then there's probably a conflict.
Posted by:  JamesD28 - | Link
HammerBrother
 JamesD28 Oh:
Code
ORG $00FEB5
autoclean JML CheckShots		; Checks the number of shots left when shooting a fireball, and handles reverting.
NOP

ORG $00F5F9
autoclean dl ZeroShots			; Zero the number of shots when taking damage.

ORG $00F60A
autoclean JML ZeroShotsDeath	; Zero the number of shots when dying.
NOP

freecode

CheckShots:
LDA #$06
STA $1DFC|!addr		; Restore code.

LDA !freeRAM
BEQ End
DEC !freeRAM
BNE End
LDA #$01
STA $19
if !RevertSFX
LDA #!RevertSFX
STA !RevertSFXBank|!addr
endif

End:
JML $00FEBA|!bank

ZeroShots:
STZ !freeRAM
JML $028008|!bank		; Zero freeram then return to normal routine.

ZeroShotsDeath:
LDA #$09
STA $1DFB|!addr
STZ !freeRAM
JML $00F60F|!bank		; Zero freeram then restore original code.


Very interesting, you can combine things. I have a feeling that some can be converted to uberasm tool code.
Posted by: HammerBrother - | Link
JamesD28
Originally posted by HammerBrother
Did you forgot the patch? I don't see a readme or links to the required resources.

"Requires a few small helper patches (inserted with the block)"
Posted by:  JamesD28 - | Link
HammerBrother
Did you forgot the patch? I don't see a readme or links to the required resources.
Posted by: HammerBrother - | Link

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2022 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy
  • sm64romhacks