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 | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Gideon Zhi

Red Tektite
Level: 13

Posts: 22/79
EXP: 10265
For next: 2

Since: 04-02-05

Since last post: 47 days
Last activity: 2 days
Posted on 04-13-05 04:42 AM Link | Quote

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!


(edited by Gideon Zhi on 04-12-05 11:46 AM)
(edited by Gideon Zhi on 04-12-05 01:45 PM)
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 1743/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 04-13-05 09:28 AM Link | Quote
interesting, care to share the technique? I'm keeping a running list of data on the game, quite extensive so far.
FloBo

Koopa
Level: 17

Posts: 42/101
EXP: 20723
For next: 4020

Since: 09-11-04

Since last post: 3 days
Last activity: 13 hours
Posted on 04-13-05 12:07 PM Link | Quote
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?
Gideon Zhi

Red Tektite
Level: 13

Posts: 23/79
EXP: 10265
For next: 2

Since: 04-02-05

Since last post: 47 days
Last activity: 2 days
Posted on 04-13-05 07:57 PM Link | Quote
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!


(edited by Gideon Zhi on 04-13-05 02:59 AM)
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4191/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 04-14-05 03:55 AM Link | Quote
Nifty. Maybe you could add an air meter too.
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
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.006 seconds.