Max number of standing map sprites?

The rom I researched is FE7(J).

@Icecube I’ve edited all of those to FF and wrote 2000 at 26A52, but it still isn’t working.
I’m using the standing sprite 0x88, and it just loads a… shadow, I think?

Do you mind sending me a patch and the save file?

Sure. This may take some hours though, I’m not at home now.

I tested according to my discovery and found that even if I broke the limitation there was a glich like what @Blademaster said, and then I found that: the highest bit of index is not useless as you imagined. In fact, it determines whether the animation can play: 1-cannot, 0-can. I know it may sound absurd but you can do a simple test to find it out yourself. To conclude, the highest bit is a control bit, while the least 7 bits are index bits.

@Icecube Nevermind, it works now!
I’ve double checked it and it seems I had missed one of the offsets before, since I was in a hurry.
Huge thanks, icecube!

I confirm that this fixes the problem in FE8.

@AlfredKamon: Glad it works.
@MisakaMikoto: Are you sure that you’ve found all filters? I don’t know about FE7(J), but in FE7(US), I found that

24D76 24DFC 25258 257BC 260EA 261D6 26284 26344 263D8 264B4

should be changed into FF and

24ED4

should be changed into 2000 (mov r0,0x00).

IMO it’s safe to edit it because the Standing Sprite ID has not been changed since the last read.

I just double checked to make sure I had all the values set properly, and from what I can tell, any value over 0xB0 still doesn’t have it’s animation play. 0x80-0xAF do work.

Though 0xAF is still 175(well, index 175 for 176 total due to 0x00) animations so I guess that isn’t really a problem worth worrying about regardless, so this could just be left as is?

I tested in FE7(US) but it still cannot play the animation normally:

BTW I toggled breakpoint at all those addresses and found:
Return from character status sheet or Press Start on the unit on the map: 080257BC
Return from battle animation: 08024DFC->08024ED4->080257BC

What are the rest addresses for?(In fact, I only found the 080257BC(= 08025C48 in jp rom) before because I toggled breakpoint for the address in the staning sprite pointer table from which the game needs to load data. I am pretty curious how you found those all >_<)

What’s more, what is the original data at 08C99B00 for? Do I need to repoint the table to be safe?

look at these wizards go at it

1 Like

And in three days they’ll post something like “ok so just go to address 0328EF and change 01 to 02 and that’ll remove the limitation alright guys class closed”

In FE7, I would definitely repoint the table if you are going to be working with data in indexes over 0x80. IIRC FE7 supports 0x57 entries without repointing it? I know even FE8 has less than 0x80 without repointing the table. Whether your issue is related to that I wouldn’t know.

The rest? I don’t know for sure, since I haven’t found their triggers. At least, if the instructions exist, we can safely assume that they will be called at least once, so it’s recommended to change all of them.
I found them using hex editor and VBA disassembler.

Note. I tested it and the animation played normally.

It works now. The reason is that reseting is necesary for the “2000” to work.(I just edited memory in an emulator instead of editing the rom itself)

BTW thx to @Icecube’s hint, I have solved the problem on FE7(J) too.

I think I may have run into a problem with the animation fix solution. Standing sprites that are 16x16 or 32x32 won’t play their animations, but 16x32 ones will. This isn’t a big deal since you can just move around your 16x32 animations, but I figured I’d just mention it anyway.

Okay a little late but I have a fix that should fix the issue for all standing map sprite frames not loading for 16x16, 16x32, and 32x32 standing map sprites past ID 0x80.

ORG 0x268E4
SHORT 0x2000
ORG 0x26A52
SHORT 0x2000
ORG 0x26B42
SHORT 0x2000

(Oh no whatever shall we do without the top bit = no frames functionality)

7 Likes

54%20PM
A little late, huh? Just a little.

4 Likes

Still faster than the DMV.

2 Likes

I think this is the second time I’ve taken note of some major issue limiting the amount of classes you can fit in the game and then years later it gets fixed (the other being the class limit for player classes)

I’ll test this out too and let you know if I run into any issues. Thanks for this! It’s pretty stunning to see years later!

1 Like

It only works up to 0xCF:
imagen
I tested it on a vanilla ROM.