FE_Builder_GBA -- If you have any questions, attach report7z

I think it’s fifth person who sees the same problem.
//I think time for past logs to be indexed by google.

Perhaps the problem is using an old patch.
I think there will be a not problem with the newer patch.

This problem occurs because “Convert Chapter Titles to Text (ChapterName as Text)” does not correspond to place names when entering skirmishes.

If you’ve played FE8 games a lot, you’ll understand,
when you enter a chapter in skirmishes, you’ll see the place name instead of the chapter title.

1
2

The “Convert Chapter Titles to Text (ChapterName as Text)” Patch is not supported for displaying this place name.
So the chapter title will be blank.

The old MNC2 fix patch is a chapter where skirmishes occur and sometimes enters skirmishes mode even though no skirmishes have occurred.
Perhaps you have encountered this bug.

There is another way around this.

I mentioned earlier that a misjudgment occurs on a map where skirmishes occur.
Therefore, there is a method to set the map where skirmishes occurs to a nonexistent map such as 0xFF.

Advanced menu->“world map skirmishes”
You can see that there is a map setting where skirmishes occur.
Therefore, this problem can be overcome by rewriting this setting map to 0xff etc.

3 Likes

For the time being, please search for the Patch item in promotion.

And one more thing.
When branching promotion, if the class that promotes the currently equipped weapon is not available, game will hang up.
In order to fix this problem, there is a patch that removes the weapon from the branch promotion screen.

I changed one of the rules for debuggers in the latest version.
Until now, pressing Ctrl + U to wait for a unit would clear the chapter.
Change this behavior.

From now on, pressing Ctrl + U will clear without doing anything.
If you are displaying the status screen, close the status screen and clear it.
(In that case, the screen is slightly disturbed, but there is no problem with the operation)

There are two benefits to changing this specification.

  1. You don’t have to wait for the unit.
  2. Works even if FE8U SkillSystems is installed.

As a disadvantage, it has the same complicated processing as Warp Chapter, so it may have unknown side effects.
I would like to give a technical explanation of the technology used in Warp Chapter someday.
I use a very interesting method of injecting and executing arbitrary ASM from outside into a running program.

3 Likes

Okay, so the Skill System patch is very cool, and having a Skill System in FE 8 is beyond awesome. However, the current selection of skills in the patch, while fine, lacks some of the new, unique skills that have been added. Ie. the Lull skills, Gridmaster, Double Lion, just to name a few. Is there any way to update the patch in FEBuilder so that:

A. The skill list has the dev skills (Catch 'Em All) and broken skills (Moonbow, Eclipse, Quick Riposte, ext.) replaced with other, more recent skills.

B. The user is allowed to select which skills are patched in.

Just something I’d like to know the answer to.

That discussion is like a never-ending discussion.
Which skills you need and which you don’t need depends on each case.

For example, created a patch that replaces “Catch 'Em All” to “Gridmaster”.
A dedicated routine would be easy to make.
However, there are always people who want to since “Gridmaster” is not needed, change to “Double Lion”.
So, I created a new patch that replaced “Catch 'Em All” to “Double Lion” while spitting blood.
Then people will come to want to use both “Gridmaster” and “Double Lion” at the same time.

Do you think such a troublesome person will not come?
There are troublesome people who want to change skills, but there is no reason not to come.
In short, that’s it.

To meet everyone’s requirements, we need the ability to replace any skill.
However, at present this is not practical.
I have to look up the implementation of all skills and find out where the skill IDs are mapped.
Also, if the implementation of the skill changes, it will be checked again.
I don’t want to do such a tedious job.

11 Likes

Hypothetically, if you could get a skill list editor that changes active skills working (eg from finding where the main list is, and allows us to replace, say 'I don’t want Catch ‘Em All’ in the vanilla patch. I’ll repoint the data for it, and turn it into this skill that works that’s pointed elsewhere through MY ASM insertion), would hackers be able to add skills themselves? Because if you can figure that out, there would be little point in updating the skills much past that. Of course, I’m not coding the engine, so it’s not my place to speak on how easy/hard that would be to do.

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