[FE5] Thracia 776 QOL additions

Just over two years ago (at the time of posting this) I had completed a set of quality of life features for FE5 to be showcased in FEFE. I don’t remember what happened with that, but these additions never saw a release. The original set was incredibly buggy, hastily written, and poorly done. I’ve been asked about releasing them a few times but I’ve wanted to work out the bugs before doing so. I feel like they’re now in a state where I’m comfortable releasing them.

At the time of writing this, all features planned to be in FEFE are functional except for hold start to skip animations.

You can download the GitHub repository here.

Additionally, you are free to modify, configure, and/or redistribute these additions individually or together as part of any projects or hacks provided that you link back to this forum post or the GitHub repository.

The README.md file in the repository lists some additional things that are required to use the repository. You can configure which features you want by editing QOLConfiguration.txt.

There are still known bugs (and there are bound to be some unknown bugs, too):

  • Displaying a large number of HP bars may cause sprites to disappear
  • Having many units and HP bars in a horizontal line may cause sprites to disappear

If you run into any other bugs or issues, please let me know.

Now, a little showcase of the implemented features:


Hold A to speedup movement

This is actually a vanilla feature that is locked behind completing the game at least once. Thanks, IntSys.


Equipped item preview

This displays a unit’s currently equipped weapon on the burst window. If the unit does not have an equipped weapon, it tries to display the first usable staff in the unit’s inventory.


Guard AI display

Units that don’t move due to their AI settings will have their movement range displayed as 0.


Hold L to swap animation modes

While holding L, switch which animation mode will be used in battles.


HP bars

When a unit has less than their max HP, display a bar with an approximation of their current HP. There are 13 different bars, ranging from nearly empty to nearly full.


Talk display

If a unit has a talk conversation available with another unit, this displays a bubble above the target.


52 Likes

This is incredible! I can only imagine how much work it took to implement all of these QOL features.

3 Likes

What a legend. Thank you for sharing these!

1 Like

Zane the OG the OP the man the myth the legend the god.

Dude.

10 Likes

I really like the guard AI, talk icon, and holding L features. Definitely great quality of life tweaks.

2 Likes

@Miacis discovered a bug that caused the talk display to freeze the game when installed without the equipped item preview. This bug is now fixed, but anyone who downloaded the repository previously should redownload. Thanks!

3 Likes

Really nice tweaks, well done!
By the way, I don’t know if it’s possible, but are you planning on making a reposition feature during preparations?
Something as small as not being able to reposition kind of hurts thracia to me, especially in chapters
that are so dependent on multiple groups or whether or not you can get away from the enemy, like chapters 18 and particularly 19.

I’m glad you like these!

Deployment repositioning might be something I make in the future, but it’s not something I’m currently working on or plan to work on any time soon. Maybe one of these days I’ll give it a shot, but please don’t hold your breath.

3 Likes

There does already exist a patch that accomplishes this, made by a certain Japanese hacker named Min (at least I believe that’s their name). It’s included as an optional patch in my Lil’ Manster download, but you can also find it here. The source code is included, in case Zane or anyone wants to try their hand at it:

2 Likes

Fixed a bug in the guard AI display that caused player units with very specific amounts of gained EXP to lose their movement.

Explanation

The default guard AI setting is $01 $03 for the first two AI bytes in a character’s RAM data. Player units actually use this part of the character data struct to keep track of their total gained EXP. When a player unit has gained 769 EXP ($0301 or 01 03 as a little endian word) it’d be equivalent to the guard AI for the the guard AI check.

7 Likes

Fixed a bug that caused the swap animation modes ASM to both not respect individual animation settings and also display the wrong animation mode. Hopefully there are no more mistakes with that.

5 Likes

I’ve updated a few things to hopefully fix some bugs.

I’ve also redone some HP bar stuff, now there are 13 bar stages, up considerably from 5. I’ve also added the colorblind/high contrast HP bars by @Miacis.

Big thanks to Miacis and @Ultimage for feedback, fixes, and help.

Please let me know if I’ve inadvertently broken anything.

8 Likes

Talk display updates! Hopefully things are actually working, the last recent update had some glaring issues. Anyone who snagged the last update will probably redownload. General disclaimer, though: expect volatility in case the recent changes don’t work out.

Now, whenever a unit is selected, the hack checks against a list of known talk combinations for the current chapter. Each chapter has a pointer in a table to its list of talk combinations. If the chapter has no talk conversations, a null pointer is given.

This list consists of a series of entries made up of a talk initiator and one or more talk targets. After all of the entries, the list is terminated with a special value.

If the talk display finds that the selected unit is one of the talk initiators in the table, it then tries to find the talk targets for that initiator. If the potential target is found and on the map, it checks to see if the conditions for their talk event are met and that the talk hasn’t already been triggered.

If everything works out, the talk display creates a talk bubble proc for each valid target.

The advantage of doing it like this instead of looking at the events is that I don’t have to write anything to read events to guess about potential targets, and any weird or unexpected events won’t break the talk display. It’s up to the hacker, if using custom events, to add any of their chapter’s potential talk combinations to the table.

I’ve included vanilla FE5’s talk conversations as part of the QOL hack, with a toggle to turn off using them.

9 Likes

Hello. I am creating a romhack called FE5 Blume Patch in Japan. I used some of your ASMs.
I already listed you in the credits, but I would like to thank you again.

4 Likes