FE_Builder_GBA -- If you have any questions, attach report7z

Oh I’ll search for it then

Aha it worked thanks

How do I attach a report7z?

You can share it via google drive/dropbox something like that and link it.

I’ve got it i think.

This patch seems to be broken in your ROM.
You can be fixed by Uninstall and ReInstall that patch.

NAME.en=Change Max HP limit to use set in class editor

That fixed it. Thank you.

I have a minor problem, nothing game breaking just in my hack {The dark hour} i have this weird bug,
where when you make it to chapter 6 the name of the chapter shows in the save file,
but not on the chapter title screen.

Example.

The dark hour.2020-03-12 21.04.07

The dark hour.2020-03-12 21.00.32

here is the strange part,this doesn’t happen on any other chapter before and after.
It only happens on chapter 6.
Any ideas as to why this happens?

1 Like

I want to ask if there’s a way to remove weapon rank when promoting like how Ewan loses his anima magic rank when promoted into Shaman

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”.