Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2016-07-11 17:43:58

Adam
Member
Registered: 2016-05-07
Post 68/83

Sprite pointers

Someone has spotted a big problem after playing my hack. The back sprites for Bulbasaur and Spearow are messed up. After looking into the sprite positions via the *.*sym file, it seems as if the sprite data for both executives were originally only about 125 bytes!!! The disassembly states that they are 310 bytes or so (equal to the replacement spites I inserted). Weird but not something that can't be overcome.....

....except that there seems to be no sprite pointers that I can find.  Spearow is at x15E2EB and Bulbasaur is at x16049B, which as a 3 byte pointer should presumably be 57 EB 62, and 58 9B 44.... except when I search, translhextion can't find that combination anywhere. Which puts me at a loss.

Does anyone know where to find the backsprite pointers so I can change them? Also what format they take if different to what I mentioned.

Thanks!

Last edited by Adam (2016-07-11 17:44:30)

Offline

#2 2016-07-11 22:23:40

Montblanc
Member
Registered: 2016-02-23
Post 29/49

Re: Sprite pointers

Isn't the bank always the last byte? At least in I gen is stored that way: x15E2EB should be EB 62 57 and x16049B 9B 44 58

Last edited by Montblanc (2016-07-11 22:24:55)

Offline

#3 2016-07-12 03:52:30

comet
Member
Registered: 2012-04-09
Post 651/675

Re: Sprite pointers

pic pointer banks are off by 0x36, so you would be looking for 21 EB 62 and 22 9B 44.

Offline

#4 2016-07-12 08:03:39

Adam
Member
Registered: 2016-05-07
Post 69/83

Re: Sprite pointers

No wonder I couldn't bloody find them! Cheers guys.

Offline

#5 2016-07-12 10:38:42

Adam
Member
Registered: 2016-05-07
Post 70/83

Re: Sprite pointers

OK, I'm confused as hell. 21 EB 62 isn't in the code, but 229B44 is. After playing around, I discovered that the Spearow pointer is at x12007B. Because I was messing around with putting 49 00 40 in different places (and different variations as per Montblanc's suggestion), I discovered it was this when my spearow ended up with Dodrio's backsprite.

HOWEVER, the data at that offset is 00 00 40, when it should be 52 00 40 for Dodrio. That rule of -36 doesn't make any sense for this one as it is 52 off!

Offline

#6 2016-07-12 11:04:54

Adam
Member
Registered: 2016-05-07
Post 71/83

Re: Sprite pointers

Never mind. It's fixed now. The *.*sym file was actually wrong and that location is now where spearow's sprite data is at. I experimented a bit and found it.

I really wish I started all this with Disassembly instead :p

Offline

Board footer

Powered by FluxBB