Conversation

the GBA stores sprite rotation HOW?

1
0
0

so there's 128 sprites that start in RAM at 0x07000000, they're 6 bytes long, and the second sprite starts at 0x07000008

yeah they're 6 bytes long but stored every 8 bytes

1
0
0

the 2 bytes between each object are the sprite rotation.

But they're not the sprite rotation for the sprite they're next to!

1
0
0

instead, it takes a total of 32 bytes (4 sprites) to encode one single sprite rotation entry.

So the first rotation group is at 0x7000006, 0x700000e, 0x7000016, 0x700001e

1
0
0

and then inside the 6 bytes that define sprites, there's a bitfield that determines which rotation group it uses.

2
0
0

so there's 32 rotation groups, but they're interleaved inside the sprites. for... reasons

1
0
0

@foone So several sprites can use the same rotation? Makes sense, in a way.

1
0
0

@jens sharing rotations makes sense
stuffing them inbetween each sprite? less so

0
0
0
@foone those sprite rotations are stuffed in a memory block like a dragon in a fox, if you get what i mean
0
0
0