Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - SNES sprite priority stuff
  
User name:
Password:
Reply:
 

UserPost
HyperLamer
Posts: 4191/8210
Nifty. Maybe you could add an air meter too.
Gideon Zhi
Posts: 23/79
Here're a couple of addresses. This was done extremely hackily, to -really- implement it in a functional, practical way (as, say, iron boots) would require quite a bit of retooling, but I'll leave that up to the imagination of the viewer.

$009A - BG blend settings - set to 72 to enable sprite blending on BG2
6A129/0D:A128 - Link's sprite priority (before it gets chunked into RAM) - Change it from $20 to $18 to place him underneath BG2
3D7D8/077D8 - Jump table for handling movement stuff. The pointer at D7E8 ($BCDC) points to the splash-into-water handler. The pointer at D852 ($9DDD) points to the walk-down-stairs handler.

To implement the hack, simply, change the blend settings in a savestate, Link's sprite priority in the rom, and the pointer for the splash-into-water handler to the walk-down-stairs handler.

Of course, to implement this stuff in a practical, useful way, you'd have to do a whole lot more, but it's kinda neat to see

Oh, and by the way, the OAM table is stored at $0800 in wram. Fun!
FloBo
Posts: 42/101
Nice going^^

Anyway, I'd like to know if there's some document on the net that actually explains the structure, data is stored in SNES-savestates (preferably SNES9X-savestates, but ZSNES will do as well...). Does anyone know such a doc and the location where I can find it?
MathOnNapkins
Posts: 1743/2189
interesting, care to share the technique? I'm keeping a running list of data on the game, quite extensive so far.
Gideon Zhi
Posts: 22/79

Just for fun, I'm trying to make Link walk under water. I've messed up the detection on the staircase and "tricked" it into thinking that the water layer isn't there, but I'd like to change the layer priority on Link's sprite. He is, I think, currently between BG2 and 3; I'd like to change it so that when he goes down the stairs he ends up between BGs 1 and 2. What registers should I be looking at writing to, and is there anything I should keep in mind? I've never been particularly handy with sprite stuff...

[Edit] Oh, and by the way, whereabouts in ZST-format savestates is OAM stored? Any information to this end would be extremely useful

[Edit 2]Hahah, yes, figured it out!


Had to enable color addition for sprites on BG2, and I found where Link's sprite priority is pulled from in the rom. Rawk!
Acmlm's Board - I2 Archive - Rom Hacking - SNES sprite priority stuff


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.011 seconds.