[FE8U] Aura Wolf's ASM or something

Not sure how much I’ll end up putting here, but I’ll keep this post as a table of contents I guess ¯\(ツ)

If you aren’t using the Buildfiles method, you’ll have to either assemble through Event Assembler (recommended) or use a hex editor to apply any changes.

Toggle Deployment Swapping

Updated L Button Cycling

7 Likes

Toggle Deployment Swapping

#include “ToggleDeploymentSwapping/ToggleDeploymentSwappingInstaller.event”

Being able to reposition your lord by a few tiles can be convenient. However, the previous method of allowing this came at a gameplay and narrative cost. If the developer wanted a certain unit to be separated from the main group, the player could completely ignore that by either switching that unit with one of their choosing, or not deploy the maximum number of units so that the spots could be left empty (i.e. no one would be separated).

This modification provides control over scenarios like this without sacrificing the previously mentioned bonus. Whether the forced unit is locked into their position or not isn’t on just a chapter-by-chapter basis, but per unit as well. The first applicable entry in the forced deployment list will be used, so for any unit that’s forced deployed for the entire game, exceptions for particular chapters should come earlier in the list before their rule of thumb.

However, there is some new middle ground between being locked into place and being able to freely change. Certain units in a chapter can now be limited in who they can swap with. A separate group of units could reposition amongst themselves, but not with anyone else.

An example of setting up for a specific chapter has been provided in the download in case the macros that are included don’t example the method very well.

15 Likes

This is super cool - looking forward to trying it out. Thanks for figuring this out.

2 Likes

Updated L Button Cycling

In vanilla FE8, pressing “L” during normal gameplay will move the cursor to the next ally unit that can act, regardless of where the cursor currently is. In FE11, if the cursor is on an enemy unit, the cursor will instead go to the next enemy unit. This modification brings that change to FE8.

Example

UpdatedLButtonCycling

10 Likes

I porting your UpdatedLButtonCycling to FE8J FE7U FE7J FE6.
https://cdn.discordapp.com/attachments/725478895226191892/922452569526239232/UpdatedLButtonCycling.7z

2 Likes

Thank you!

I now have an updated version of the mod. The functionality should still be the same, but instead of branching into free space, it now fits entirely inside the space the original routine (missed these optimizations due to rushing the release last night :no_mouth:).

1 Like

Heya!

I’ve been making use of this neat mod for a personal FE6 project. Though after playing through chapter 9, the first fog of war chapter, I noticed a bit of a bug. The cursor will go from a visible enemy to a space in the fog when I press L, where the next enemy on the list would be, and then pressing L from there takes the cursor to Roy. Because I’m not supposed to be able to act as though I know the enemy is there.

I would have no idea how to tell you to fix it, but I’m wondering if maybe you could see what’s done individual enemy menu cycling in FoW? And how it knows then to skip over enemies the player can’t see. But otherwise I can’t help!

Regardless, this is a fun extra tool for me to use as the player.

1 Like

Thank you for the report! I don’t normally deal with FE6, but thanks to @7743 's port, I was able to more easily make an update for the FE6 version. The following hex dumps should fix the issue.

FE6 hex dumps

0x1C070

00 4B 18 47 [PointerToFreeSpace|1 in little endian (e.g. free space is 0x1000000, do 01 00 00 09)]

0x1C0DC

F0 B5 14 4A 12 68 89 00 51 58 08 5C 05 1C 80 26 30 42 05 D1 40 26 30 42 04 D1 00 26 3E 27 02 E0 B2 27 00 E0 54 27 01 35 2C 1C BD 42 0B DC 20 1C FF F7 B0 FF 00 06 00 28 09 D1 01 34 BC 42 F6 DD BD 42 04 D0 2F 1C 01 24 A4 19 AC 42 EF DD F0 BC 01 BC 00 47 04 D2 02 02

FreeSpace

F0 B5 05 1C 1E 49 8E 46 00 F8 04 1C 00 2C 32 D0 20 68 00 28 2F D0 87 20 A1 89 08 42 2B D1 0E 26 A6 57 0F 27 E7 57 17 48 00 68 B9 00 41 58 88 5D 00 28 21 D0 AD 09 00 2D 05 D1 20 1C 2E 30 00 78 0F 21 01 40 04 29 16 D0 02 29 14 D0 0E 48 0F 4D AE 46 00 F8 00 28 02 D1 0D 48 AE 46 00 F8 31 1C 3A 1C 0C 4B 9E 46 00 F8 30 1C 39 1C 0A 4A 96 46 00 F8 01 20 00 E0 00 20 F0 BC 02 BC 08 47 C0 46 0C 86 01 08 14 D2 02 02 A8 56 5C 08 7C 3E 00 08 44 7E 5C 08 C0 61 01 08 0C 60 01 08

FE8U Updated Download

  • Free space is required again due to making a jumpToHack at 0x1DADC, which was previously left alone
  • The cursor should no longer cycle to units hidden by fog or roof tiles
  • Enemies or NPCs with Berserk/Sleep will be cycled to

If 0x59DBBC is repointed (e.g. you’re using the 3 House style Skill System) and the repointed proc isn’t defined as “gProc_PrepScreen”, you’ll want to change the definition on Line 3 of UpdatedLButtonCycling.Event:

FE8 hex dumps

0x1DADC

00 4B 18 47 [PointerToFreeSpace|1 in little endian]

0x1DB4C

F0 B5 14 4A 12 68 89 00 51 58 08 5C 05 1C 80 26 30 42 05 D1 40 26 30 42 04 D1 00 26 3E 27 02 E0 B2 27 00 E0 54 27 01 35 2C 1C BD 42 0B DC 20 1C FF F7 AE FF 00 06 00 28 09 D1 01 34 BC 42 F6 DD BD 42 04 D0 2F 1C 01 24 A4 19 AC 42 EF DD F0 BC 01 BC 00 47 D8 E4 02 02

FreeSpace

F0 B5 05 1C 1E 49 8E 46 00 F8 04 1C 00 2C 32 D0 20 68 00 28 2F D0 E0 68 1A 49 08 42 2B D1 10 26 A6 57 11 27 E7 57 18 48 00 68 B9 00 41 58 88 5D 00 28 21 D0 AD 09 00 2D 08 D1 20 1C 30 30 00 78 0F 21 01 40 04 29 16 D0 02 29 14 D0 0F 48 10 4D AE 46 00 F8 00 28 02 D1 0E 48 AE 46 00 F8 31 1C 3A 1C 0D 4B 9E 46 00 F8 30 1C 39 1C 0B 4A 96 46 00 F8 01 20 00 E0 00 20 F0 BC 02 BC 08 47 C0 46 30 94 01 08 87 00 01 00 E8 E4 02 02 D8 AA 59 08 9C 2E 00 08 BC DB 59 08 0C 5E 01 08 BC 5B 01 08

If gProc_PrepScreen (0x59DBBC) is repointed, change BC DB 59 08 (towards the end of FreeSpace chunk) to [PointerToNewLocation in little endian]