FEBuilder Battle Animation Editor Class Expansion problem

In FEBuilder’s Battle Animation Editor, I am unable to extend the class list past the vanilla limit 0x62.
I have already extended the table itself, so i need to access pointers passed 0x62 to link animations to it. It seems like this is an oversight? I can extend the list with many other editors in FEBuilder. If it matters, this is with FE7.

Well that’s weird. Normally it should just show the Classes after 0x62. I just used a vanilla FE7 Rom and it worked fine by me. I don’t know if that is the case or it is irrelevant for FEBuilder but did you extend the list in FEBuilder or with an hex editor?

Here is what it looks like by me.

Hey Ghast! :smiley:

I think I may have found a solution. It has probably has to do with FEBuilders settings.Try the following:

Go to settings

The following window should appear. Click on function 2:

If you clicked function 2, these options will appear. Change the highlighted option:

If correct, the extend list button should now appear in the animation/class area:

I hope this solves the issue! :smiley:

Well, that’s interesting.
I extended the class list manually, years ago

Might be because febuilder doesnt know you expanded before and is only reading whatever default addresses are in the vanilla rom. I ran into similar problems before when I initially started using febuilder on a rom that was edited heavily outside febuilder.

I don’t know if that’s the case. Because I can access all of my custom classes well past 0x6D in the Class Editor in FEbuilder, and use the count there just fine.
Unless I forgot that I expanded the class list in FEbuilder specifically a while ago.
It has to be reading the new table, though. Otherwise my changes wouldn’t be able to effect the new classes past 0x6D, which it clearly does.
All I remember is that I could view the classes past the default by increasing the count. How come there isn’t a count in the battle animation editor? Seems like that’s all I need here…
Or am I still missing a step?

I think I’ve seen the cause of this issue before, if I’m understanding everything correctly.

When FEBuilder reads the class list for your game, it keeps going through the list until it hits a chunk of “class data” that has an ID value of 0, and once it does that, it stops reading further. What’s probably happening in your case is, you have an expanded class list, but you have a slot in it that has an ID value of 0, like so (using TLP as an example):

Example image

By changing any of these class slots with an ID of 0 to have a non-zero ID, FEBuilder should automatically start reading to the proper end of your class list, instead of stopping short, when you next open an editor window that reads the class list.

I hope this helps solve the problem you’re having - let me know if I was unclear with anything I said.

2 Likes

i’ll give it a shot!

That’s interessting. I was always wondering why FEBuilder didn’t show all the classes of TLP. I changed the pointer in the hex editor so that the ID has a non-zero value an I could see a little bit more. Because I changed it in the hex editor of FEBuilder itself I didn’t had to reopen the rom. But this is something good to know.

You sir, are amazing! I’m super noob when it comes to hacking but I have been upset by the lack of ability to expand the classes. Did not know it was a simple as a setting change

1 Like
, (int i, uint addr) =>
{//読込最大値検索
    if (i == 0)
    {
        return true;
    }
    if (i > 0xff)
    {
        return false;
    }
    uint no = Program.ROM.u8(addr + 4);
    return (no != 0);
}

If this code return true, it is valid data.
And if it return false, it is judged to be the end.

This code looks at addr + 4, so that location is the ClassID data.

I think the biggest reason is that there is no other data that can be used to determine the terminal data.

2 Likes

No problem! Glad to hear my answer helped!

1 Like

thank you. the solution was un-0ing the class IDs til it bridged with the other class IDs in the extended list

1 Like

Keep being awesome, Ghast!