FE_Builder_GBA -- If you have any questions, attach report7z

I found a misconfiguration of unit flags in the Unit Placer.

  1. The blue box holds the unit coords and flags packed together. The top 4 bits hold the unit flags. Here a unit in vanilla Lagdou Ruins starts with flags 1 (Monster) and 4 (Randomize Position).

  2. I change unit data and try to use “Random Monster” flags, which I expect to set the top 4 bits to 5. I press “Write to ROM” to update the data and see the flags change.

  3. Actual result is flags 1 (Monster) and 2 (DropItem) are set, resulting in top 4 bits being 3. This may give unwanted results such as monster items in the player’s inventory.

Also, there is no way to set only flag 4 (Randomize Position). I try to set “Designation of something” and it sets flags to 0. (The blue “Address” box is read-only so I cannot set it manually from this screen.)

2 Likes

It has been fixed in the latest version.
This is because the mask data was mistakenly created as 0x3 instead of 3bit when creating 3bit mask data.

data & 0x03 //This is mistake.
data & 0x07 //This is correct because it is a 3bit mask.

By the way, do you know more detailed information about the content of the value of 3bit mask of Unit Palcer?

Binary number
001 Monster
010 ItemDrop
100 Unknown (I want to know about this value)

SkillSystems 20200604
This is a modified version of Bersek glitch.

Source Code
https://github.com/FEBuilderGBA/FEBuilderGBA/releases/download/ver_20200603.02/SkillSystem.20200604.7z

The newest version doesn’t give me the usual option to update from the previous version…

Got it. Thanks.

Binary 100 = Randomize unit loading position.

In dungeon and skirmish maps, when the event code [2B21] is called before a LOAD instruction, the parameter of this code is used to configure the overall probability that units marked with flag 100b will have their starting position modified, based on their initial coords and their ability to cross the surrounding terrain.

Without calling event [2B21], or calling with no parameters, this flag has no effect (it will be cleared when loading the unit data into the EventUnitDataBuffer). This is why it was thought to be unused.

Investigation of ASM

Event2B_ stores the parameter of [2B21] to MapEventEngine+4E.
This value is read at FBF0.
If this value is not set, “Randomize unit loading position” flag is cleared when copying the unit to the 0203efb8 gEventUnitDataBuffer (clearing occurs at FA5C based on parameter in r10).
If the flag still exists in the unit data buffer at this point, a helper function at 0807a014 MoveUnit_ will construct a list of spaces within the unit’s starting movement range, choose one based on RNG result, and place the unit at those new coordinates.

Sources:
Stan Event Doc (event code 2B)
Results of my own research, documented here.

2 Likes

I forgot it.
Fixed the problem.
Please update FEBuilderGBA.

1 Like

I’m not sure, maybe you have checked this already, if you did, sorry to bother, I think this is the solution, thanks for your work and time as always.

I should have adapted the patch.
Can you explain the problem in more detail?

Where does the problem occur?
How can I check that?
What’s wrong and what’s right?

Please explain in detail.

Quick question, perhaps a stupid one. My experience with modding is limited. I just wanted to add a character in fe8. Starting in chapter one. I have manually placed him in all the chapters up to 4 (which is where you first select your units). This unit is setup in the player army (on the unit placement part) but this unit cannot trade and when it comes to chapter 4 the unit cannot be selected as part of the army. Any ideas? Thanks.

Hi again, I’m having a problem with tileset changes on my maps. They don’t seem to change anymore when they’re supposed to activate. I have the tiles set up on the map editor and the events all there, but they just won’t work. They used to.
This is an example of what I mean.


this also goes for closed village tiles, destroyed villages, and chests. I’d appreciate the help

I Suspect the issue unit is not considered part of the player army. but it is controlled during player turns and what not so i cannot imagine why. But this would make sense for why they do not show up in the army selection screen when you pick which units to deploy

Did you give an event for the door to open?

Yea, and it worked fine before.

I have also tried altering two units. One from franz and one from gilliam, the gilliam unit can still trade and be selected in unit deployment but the franz unit cannot.

This sounds a lot like you gave those units the Supply flag. It prevents trading and hides them from preparations.
@slamminsamj

That is indeed the issue. I did not read properly and made an assumption of what that tag did and I was mistaken.

In fe 8 if you set a unit to have more than 30 in a stat. It makes the bar (when inspecting the unit) cut off and continue slightly below it. See in picture. I have seen this cause issues, as in if they are maxed and you save. close the game and then resume. It reduces whtatever stat there was there by 30. Example say a stat is 35 when you save and close. when you resume it will be down to 5 (at least that is my experience in the past). Is there a way to make sure that doesn’t happen? perhaps the issue is caused by the stat bar graphic, or is there a limit that says certain stats can not be above x? Please let me know thanks.

If you are using Febuilder which I assume so, this is an easy fix. There’s a patch called “Stat Bar Max Length” just set that to your desired cap.

1 Like

thank you i will take a look