To prevent the hammers and boomerangs from killing NPCs, SMB Classic Flags and other sprites that you don't want to be killed, find and open the files mario_hammer_props.asm and mario_boomerang_props.asm located inside the folder extended\powerup. Both files act like a whitelist for sprites that should not be killed with projectiles.
After you open mario_hammer_props.asm you will see this:
; 0 = Can't be killed by Hammer
; 1-3 = Unused
; 4 = Don't interact with the Hammer at all.
; 5-7 Unused
; Bit order is:
And below that text you will see this also:
db %00010001,%00010001,%00010001,%00010001 ;custom sprites 0-3
db %00010001,%00010001,%00010001,%00010001 ; custom sprites 4-7
db %00010001,%00010001,%00010001,%00010001 ; custom sprites 8-B
db %00010001,%00010001,%00000000,%00000000 ; custom sprites C-F
By default, the first 14(0D in hexadecimal) sprites are inmune to hammers since they are the custom powerup items.The other ones can be killed with the hammers because their default settings are %00000000(this means that none of the bits are enabled). If you enable one of the used bits(0 and 4) by replacing a cero with a 1,the sprite will have the behavior specified in the bit list.
For example, if you enable bit 0 on sprite F (replace the last 0 on %00000000 with a 1, it becomes 00000001) the sprite will be inmune to hammers and when a hammer hits the sprite, it will be reflected. To prevent the sprite from reflecting the hammer, replace the fourth 0 with a 1(00010001).
These steps work for all the custom sprites. For example, if you inserted your NPC sprite as sprite 16, find this line:
db %00000000,%00000000,%00000000,%00000000 ; custom sprites 14-17
and replace the third %00000000 with %00010001 and it will become:
db %00000000,%00000000,%00010001,%00000000 ; custom sprites 14-17. The replaced numbers are the settings used for sprite 16. This means that the first %00000000 are the settings for sprite 14, and the last %00000000 for sprite 17. In other ones, just replace the %00000000 from the sprite number of your NPC sprite(and the other ones that you don't want to be killed with the hammer) with %00010001.
The file mario_boomerang_props.asm uses the same settings, just follow the previous steps.
The only difference is the text at the start:
; 0 = Can't be killed by Boomerang.
; 1-3 = Unused
; 4 = Don't interact with the projectile at all.
; 5 = Unused
; 6 = Can be retrieved by Boomerang.
; 7 = Bypass Bit 4 setting, used to retrieve some sprites.
; Bit order is:
But the bits numbers are the same that the ones used by the hammer, so you only have to replace the %00000000 from the sprite numbers with %00010001.
After you finished making the sprites that you said inmune to hammers and boomerangs, reinsert your sprites with PIXI and they should be inmune to both hammers and boomerangs. It's not necessary to reaply the patch.
I'm really lost when it comes to the graphical aspect of the patch.
I insert none of the graphic files. Yet I have the powerups in my game. But some other graphics are kinda glitched now. The usual powerups may glitch too.
My assumption is that something in the patch automatically calls the graphic files and put them in the game.
Is it how it works
How to have everything functional? I'm certainly not the only one with some weird graphics after installing the patch.
I keep trying to insert it, but I keep getting this error.
Enter a ROM file name, or drag and drop the ROM here:
An error has been detected:
error: (E5016): File '../../powerup_defs.asm' wasn't found. [incsrc ../../powerup_defs.asm]
...am I doing something wrong?
mod edit: table stretch.
Hi! I logged in again to present a new release that is compatible with the newest tools.
Originally posted by Me on GitHub
Late merry Christmas! This release fixes a small amount of things + some other nice features and support for the latest tools available.
- Added Cat Suit powerup
- Added Penguin Suit powerup
- Lunar Magic 3.00 support
This needs to be applied to a NEW AND CLEAN SMW (USA) ROM. You can't patch it to a previous version, so porting your hack to a new, clean SMW ROM is mandatory.
GIEPY support will be added and tested once a new version releases and is compatible with the latest Lunar Magic (3.00), for now, it's just compatible with PIXI 1.24.
There are a few ips files included in this release. Some have debug features (change powerup with L/R while in the map and CPU usage meter) and others are just a blank canvas to start working in there.
Download in the OP.
@ young boi
Read the readme carefully, you might have missed some intermediate step.
@ everyone else
Some of the stuff you mentioned was fixed. Please use the GitHub repo or my Discord guild to report stuff. I won't be checking this thread quite often.
I have a new update planned to reduce the current insert size by a lot and adding GIEPY support (once a new version is released, of course).
Small potatoes.. You guys wait untill new super bros switch extra deluxe comes out, Nintendo will feature dog Mario. He can lick him self clean, drag his butt on the floor and even eat your couch cushions.
Nah just kiddin, this is awesome glad your still working on this. You have put to much into this to not finish!
For the glitches with pressing down I'll have to know what it does, but in the case of the platform it might be an edge case in the game's wonky platform detection (IIRC the platform code is very primitive, it only detects Mario, and the skulls seem to behave very strangely, and there's stuff like how you can spin jump off moving throw blocks)
-------------------- Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel