BF Flexglows | ||
Release Date: Dec 04, 2011 |
Author: Black Falcon
|
|
Type: Assembly |
Rating:
|
|
Links:
[download] Zip File
(1419 downloads)
[other] Tutorial by MetroidMst
[other] Video
|
Game:
|
Description
This adds a Routine which modifies the currently loaded palette on runtime, but by directly messing with the values in RAM instead of loading from a predefined location like area glows do. This allows it to be incredibly flexible, and it can be applied to ANY palette, be it area palettes, Samus, Beams, liquids or enemies.
It's a bit tricky to use, but once you get the hang of it, you will find yourself using it whenever possible. Be it Door glows or snazzy background cascade effects.
Watch the video if you want to see what this routine is capable of!
Edit: slightly updated the instructions, and the help image was finally made helpful! Special thanks goes to MetroidMst aka ShyGuyExpress for his tutorial on flexglows!
Edit2: Fixed an bug that surprisingly was not reported up until recently. Testing glows would work fine in quickmet, but entering a room with different glows made them stop cycling due to the timer getting stuck.
NOTE: After applying you still need to re-check your offsets again, as it's possible they might get shifted by a byte or two by the fix provided!
If you want to fix it yourself:
First, in the asm, replace these two lines:
!timer = $1F60,x ;relative specific glow timer
!timer2 = $1F70,x ;relative specific timer used for intensity
with these:
!timer = $173A,x ;relative specific glow timer
!timer2 = $174A,x ;relative specific timer used for intensity
Then further in the file, line 183, replace
"LDA !timerAND #$0100 : BNE +"
with
"LDA !timer : AND #$0100 : BNE +" (without quotations)
Basically a colon and whitespace was missing to separate opcodes, derp.
RAM addresses are changed to RAM being normally unused (enemy 32), but re-initialized to 0000 every time you enter a room, resetting the timers.
It's a bit tricky to use, but once you get the hang of it, you will find yourself using it whenever possible. Be it Door glows or snazzy background cascade effects.
Watch the video if you want to see what this routine is capable of!
Edit: slightly updated the instructions, and the help image was finally made helpful! Special thanks goes to MetroidMst aka ShyGuyExpress for his tutorial on flexglows!
Edit2: Fixed an bug that surprisingly was not reported up until recently. Testing glows would work fine in quickmet, but entering a room with different glows made them stop cycling due to the timer getting stuck.
NOTE: After applying you still need to re-check your offsets again, as it's possible they might get shifted by a byte or two by the fix provided!
If you want to fix it yourself:
First, in the asm, replace these two lines:
!timer = $1F60,x ;relative specific glow timer
!timer2 = $1F70,x ;relative specific timer used for intensity
with these:
!timer = $173A,x ;relative specific glow timer
!timer2 = $174A,x ;relative specific timer used for intensity
Then further in the file, line 183, replace
"LDA !timerAND #$0100 : BNE +"
with
"LDA !timer : AND #$0100 : BNE +" (without quotations)
Basically a colon and whitespace was missing to separate opcodes, derp.
RAM addresses are changed to RAM being normally unused (enemy 32), but re-initialized to 0000 every time you enter a room, resetting the timers.
Media
Ratings and Reviews
You must login to rate this resource