Insert Palette in a Buildfile+Other small question

Hi everyone! it’s still me, with more new buildfile questions :sweat_smile:

The first thing I ask is a “simple” thing that I can’t solve


To expand the class table, I had to redefine it like this #define ClassTable NewClassTable luckily the process is correct, and the new classes work, my only problem is this annoying warning, how do I get rid of it?

another problem I encountered was with inserting animations, now I’m not going to write the whole mess, because basically I think I’ve solved the problem, in practice my “freeSpace” was the original one of the Skill System, where everything was inserted plus the thirty animations I was trying to insert, when I went to build the ROM, I did not get any errors, but when I went to check in FEbuilderGBA I had the whole animation table completely broken … I did a lot of checking what I was wrong in my file that inserted the animations, but I could not find nothing strange … so I tried to set the freespace to 1000000, if I’m not mistaken, it’s now all working fine… I think it was simply out of space, and now having put everything at the end of the ROM shouldn’t I have more problems of this type? quite right? if so then I breathe a sigh of relief, and as soon as I get to grips with it I organize to better organize FreeSPace…
only I found something strange … the board of the SpellAssociationItem, FEbuilderGBA tells me it is broken … even if in truth, it does not create problems…
I don’t understand how it got broken, because I didn’t put my hand to anything in that area … the only thing that makes me think that when I did the FreeSpace switch, it broke … yet I don’t understand why , I have not changed anything…

Finally my last question is: how do the palettes fit? and also expand their relative table?

have not found much information apart from that of the Ultimate Tutorial … however I am proceeding in this way following the documentation that I have found around

The first step I take is:

PUSH

ORG $59BFC
POIN PaletteTable 
ORG $59CD0
POIN PaletteTable 
ORG $59D24
POIN PaletteTable 
ORG $5A7AC
POIN PaletteTable 
ORG $ 5A928
POIN PaletteTable

POP

And move the palette tables to expand, then I write the definitions I found in this link

which would be this:

// Palette Definitions.txt
// Character & Gereric Class Palette Definitions File
#ifndef PalMacros
    #define PalMacros
    #ifndef PaletteTable
        #ifdef _FE6_
            #define PaletteTable 0x7FC004
        #endif
        #ifdef _FE7_
            #define PaletteTable 0xFD8004
        #endif
        #ifdef _FE8_
            #define PaletteTable 0xEF8004
        #endif
    #endif
    #ifndef BattleSpriteTable
        #ifdef _FE6_
            #define BattleSpriteTable 0x6A0008
        #endif
        #ifdef _FE7_
            #define BattleSpriteTable 0xE00008
        #endif
        #ifdef _FE8_
            #define BattleSpriteTable 0xC00008
        #endif
    #endif
    #define setPalette(index, palette) "PUSH; ORG (PaletteTable + index * 0x10); POIN palette; POP"
    //set the generic palette to a class animation
    #define setGenericPalette(index, genpal) "PUSH; ORG ((BattleSpriteTable - 0x4) + (index * 0x20)); POIN genpal; POP"
    
    //For FE8 palette Association
    #ifdef _FE8_
        #define CharClassTable $95E0A4
        #define CharPaletteTable $95EEA4
        //Set the palettes for the classes that with the same label in setCharPalette
        #define setCharPalette(char_id, trainee, base1, base2, promo1, promo2, promo3, promo4) "PUSH; ORG (CharPaletteTable + (char_id -1) * 7); BYTE trainee base1 base2; BYTE promo1 promo2 promo3 promo4; POP"
        //Set the classes for a character that will have character palettes, if in a class outside of this list, the generic palette will be used
        #define setCharClass(char_id, trainee, base1, base2, promo1, promo2, promo3, promo4) "PUSH; ORG (CharClassTable + (char_id - 1) * 7); BYTE trainee base1 base2; BYTE promo1 promo2 promo3 promo4; POP"
    #endif
#endif

I think when I define the FE8 boards I have to do something to tell it to use more space?
then use pal2ea? I honestly don’t understand…
The fact that I am only interested in inserting the palettes and not assigning them to the various characters in the traditional way, because to assign palettes I would like to use HyperGammaSpeces’s Battle palette rework to remove the annoying limit of the 7 palettes.

I thank everyone who read my post, and forgive me for my bad English

Why are you repointing the palette table? It already has enough space for 255 palettes, which is the limit unless you edit the code to handle a larger size

while fe8’s system of juggling 3 tables to do palettes is annoying, you will not need more than 7 per character unless you’re trying to do something fancy like reclassing or character creation. in vanilla fe8 the only characters to need the full 7 are the trainee units.

Basically 255 palettes and up to 7 per character should be more than enough to suit the average hack’s needs unless you’re doing something more advanced. You should not need to repoint the palette table

1 Like

I didn’t know the palette table was already “expanded” on its own
because seeing the original table from FEbuilderGBA, there are only 108 images, and to insert more you have to expand the table by re-pointing the original addresses


I’ve done this for many others, I didn’t think the Palette table shouldn’t be touched

Yes I know that 7 palettes are already quite large, but to do a nice thing in my project, I had made sure that each faction had its own “palette” the kingdom of X had the color blue the kingdom Y had the color red and so on, for this the HyperGammaSpaces’s code was quite useful to me, I don’t know if I was able to explain well

EDIT: Now I’ve done some testing with the palettes, in truth it didn’t last long, because it didn’t work very well :sweat_smile:

As a test I chose to use the “pal2EA” method, I simply set up my folder like this:

ppppppppp

I created a simple txt file, which should be the one I use as a command input for the tool

pppp

where I simply entered this, but it doesn’t seem to want to work

now the steps do not seem to me many, nor complicated … and yet it doesn’t work? maybe i need to do something more?
it doesn’t matter which id to use, it always seems to not want to go

I notice that strange string when I go to build the rom… from what little I understand, it seems that a file is missing in the csv tables directory…yet I have not touched anything in that area let alone delete files

I’m very interested in learning how to do something like this too. You said your using buildfile to define the palettes that go beyond the 7 limit? My thought is I want to expand the pupil class to allow promotion to mage, shaman and monk. Since no classes overlap I would need to create 2 new palettes for them to properly use it. Still trying to figure this part out

(I completely forgot about this topic)

Hi @Kliss88, yes, I finally managed to solve the problems listed above with the help of great people from the discord channel in fact if you use the Buildfile and you have any doubts or problems I suggest you ask them.

Returning to your question, to “extend” the palette limit you need Gamma’s ASM code

but be careful, it does not really expand the function of the base game that assigns the palettes, but creates a new one, in fact it assigns the palettes according to a combination by classes, and no longer by characters, so if you are using only FEbuilderGBA you will not be able to use it , you will still have to go through the Buildfile, or through MakeCustomSkillSystem (I don’t remember what that new FEbuilder function is called, I haven’t used it for three months)

anyway, the installation is quite easy and intuitive from Buildfile, the only thing you will have to go and fix is the .csv table because I believe it was taken from Sacred Echoes?

however, if you have problems, I suggest you to ask on Discord or to open a new topic, and not to brush up on old topics because otherwise you risk that people will not see your questions

Awesome thank you for the info! Yeah I’ve just been cruising the site looking to see if my questions have been asked by others but I can see how that would lead to it not being answered lol. Thanks again!