FE_Builder_GBA -- If you have any questions, attach report7z

How does the FEBuilder patch get the skill order? I’ve seen that the Buildfile lets you swap skill slot numbers, but I haven’t found anything of the sort on the patches.

It’s easier to do with a buildfile because those numbers are assigned to labels, which then get used instead of the numbers (to make up an example, instead of Vantage being assigned to skill number 102 or whatever, it gets assigned to VantageID). That way, instead of changing the number everywhere, you just change the number that label is associated with in one spot and it’ll change everywhere for you. However, those definitions of labels aren’t built into the ROM: they’re assigned by the buildfile itself, so with the static patch FEBuilder uses, you’re stuck with the numbers instead of the labels. Perhaps 7743 could find a way around this, but I’m not knowledgeable enough in FEBuilder’s workings to think up of a way.

3 Likes

I discovered an issue with the Show_map_emotion patch.

By default, the proc used to show the map emotions does not clear its AnimationPointer data when it is done. When many map emotions are shown, the AP pool begins to fill. This eventually causes map movement animations to disappear since there is no memory space to create new AP, and may lead to an emulator crash.

(AnimationPointer is also referred to as RomTCS in FEBuilder’s labels)

ALIGN 4
Show_map_emotion_Proc_without_SE:
BYTE $02 $00 $00 $00; POIN Show_map_emotion_Show_without_SE+1;   //Call Routine
BYTE $03 $00 $00 $00; WORD 0x08078B08+1 //Set Loop routine And Yield
BYTE $03 $00 $00 $00; POIN 0x08078BCC+1 //Set Loop routine And Yield; Break loop if Done
BYTE $00 $00 $00 $00 $00 $00 $00 $00 //Deletes self

The routine at 0x08078BCC is the issue. It breaks the 6c loop when there are no more updates, but it does not release the AP space when it does so, causing the memory leak.

I made a fixed ASM which solves the issue. Please include this in the patch.

Fixed ASM
.thumb

.align 4
.macro blh to, reg=r3
  ldr \reg, =\to
  mov lr, \reg
  .short 0xf800
.endm

.thumb
push {r4, r5, lr}
mov 	r4, r0
add 	r0, #0x64
ldrh 	r1, [r0, #0x0]
add 	r2, r1, #0x1
strh 	r2, [r0, #0x0]
lsl 	r1, r1, #0x10
asr		r1, r1, #0x10
mov 	r5, r1
cmp 	r1, #0x27
ble 	Continue
	mov 	r0, r4
	blh 	0x08002E94   	//Break6CLoop
Continue:
ldr 	r0, [r4, #0x50]
ldr 	r1, [r4, #0x2c]
ldr 	r2, [r4, #0x30]
mov		r3, #0x80
lsl 	r3, r3, #0x1
orr 	r2, r3
blh 	0x080092BC   		//TCS_Update

//Added - call TCS_End to free AP space when finished
cmp 	r5, #0x27
ble 	End
	ldr 	r0, [r4, #0x50] //AP pointer
	blh 	0x080092A4 		//TCS_End

End:
pop {r4, r5}
pop {r0}
bx r0

Thanks, but I have a question.
Who calls “Fixed ASM”?

Does Show_map_emotion_Proc_without_SE call “Fixed ASM” instead of 0x08078BCC?

Does Show_map_emotion_Proc_without_SE call “Fixed ASM” instead of 0x08078BCC?

Yes.
I’ve named this function “Show_map_emotion_Destructor”.

The function at 0x08078B08 can be named “Show_map_emotion_UpdateLoop”.

*Build and install SkillSystems from source code.

This is for those who want to use more than 255 skill IDs.
Build and install SkillSystems from source code.
Create and use the skill structure you like.

This feature is dangerous, so be sure to make a backup before running it.
Also, be sure to perform an operation test after making changes.
If the operation test fails, close FEBuilderGBA without maintenance because it is dangerous.

Please refer to the following URL for detailed explanation and download of source code of skill extension.
https://dw.ngmansion.xyz/doku.php?id=en:en:guide:febuildergba:skillsystems_custombuild

4 Likes

Added the ability to build SkillSystems from source code.
If you absolutely want to customize SkillSystems, use this feature to make changes.

5 Likes

This is amazing, so, let me get this right, for all other people who want to do it.
You need to edit the text files of the skill systems and then load it to febuilder? Am I correct?

1 Like

Yeah, that’s right!

@7743, you didn’t have to do this, since I had already resigned myself to using the Buildfile version, but… Thank you so much for doing this! This is amazing, and will help me with creating future rom hacks!

Much appreciated!

1 Like

Add one warning to FELint.
Regardless of the weapons that can be equipped, those that have no “Magic Animations(indirect effect)” set are detected as errors.
This is because the FE8U had a freeze event.
In the absence of Magic Animations (indirect effects), it seems to refer to strange memory, and in some cases the game freezes.
Therefore, I decided to check this item in FELint.

Example
Error Message:
Although it is a weapon, there is no “Magic Animations (indirect effects)” item.
There is a possibility of freezing in the map battle when the animation is off.

If you get this error, click on Magic Animations at the bottom right of the item editor and configure your weapon settings.

4 Likes

How do i change the music during a talk convo. Similar to natasha recruiting joshua.

can you not check how joshua and natasha does it, that might be the best place to start

Dissasemble the chapter, or maybe you can play it on the debug utility in febuilder, when you play it it tells you how everthing is working, when you find the event you are looking for just click it, and you get a menu with the id of the song you are searching, just change it

Yeah well here’s the thing, i tried this on the same chapter that this event takes place on in my hack but i wanted to do this on a different chapter so i did the same setup as this one but when it got to the point when the music is supposed to change tracks, it just ends the event and treats it as completed even though there is still a lot more text to go through, however it just ignored the rest of the event. Any reason to why?

Share a savestate and a patch, to see if you have anything wrong in your rom

See Event Template for an example.

Use templates to create cumbersome events with one click.

Added the ability to warn about hard-coded units, classes and items.

4 Likes

How did i not see that? Note to self “keep track of template”

Hello,
There are a few mods that I would like to see in the future:

  • Gaiden-style promotions (up the stats to the class’ bases, but only if it’s inferior, no stat boost if you have more than the base of the class): this is my most preferred style of promotion and allows for low level promotions without drawbacks other than growths being ignored.

  • Laguz or other shapeshifting modding tools, because it’s a pain for noobs like me to make from scratch and the only thing I can do is give my unit an ennemy monster class otherwise animations don’t play at all.

  • Alongside shapeshifting, things like the demi-band or wildheart skill, and why not the anti-Laguz/anti-Beorc items that halve the damage a human/shapeshifter class deals to the opposite type of class.

  • Real Gaiden magic, not affiliated to spell tomes like it is currently, but instead code the spells that were in Gaiden the way they were (same HP cost, name, power, accuracy, crit rate) and a modding tool to edit them.

  • Weapon arts (I don’t think I’ve seen them yet), this would be really great and a good alternative to the skill system.

  • A skill editing system in-game, so you can swap your skills, be it in a Tellius or in a 3DS way.

  • Skill scrolls to learn them like in every new game since PoR.

  • I don’t know if you have an animation/sprites hacker, but it would be nice if there were built-in female animations for hero, female-looking wyverns (because it’s hard to differentiate the male and female sprites in the orignial game), female sprites and anims for axe classes, and modern FE weapons for each class, anims for axe wyverns, every weapon type for cavaliers/paladins, dark knight animations and sprites, maybe even Malig knight/Kinshi knight, I’m sure some people have already made them accessible in the Fire Emblem hacking community but I don’t know where to find everything I’d like because there are too many XD, halberdier (I’ve seen some screenshots of halberdier animations, they looked really badass), shapeshifters (alongside my previous point) or at least beast/bird/whatever type classes.

  • I don’t really understand how to make a real anima triangle, there are too few anima tomes and animations to do that.

  • There’s a bug on passive boosts (no stack): when you equip a weapon with passive boosts, the boost is doubled. I can’t make a Fates-like royal weapon with that bug, because if it’s in the inventory then the boost has to be full, but if I give the full boost to the item in the inventory, when I equip it it’s completely OP.

  • Is it possible to make more character-only locks? I only see Eirika, Ephraim, Lyn and Athos so I try to dispatch them the best I can but I’d prefer to be able to give each character his own equipment lock. This would be especially great for shapeshifting stones, so they are locked to one class or to one character (but it’s only great for them if there’s a real shapeshifting mod).

Thank you for reading, I hope this helps you finding new goals to improve this wonderful hacking/modding tool as well as satisfies the modding/hacking community and especially the noobs like me who couldn’t code to save their lives.