[FE7] Softlock when loading units (under specific circumstances)

Hey all. Here goes my attempt to explain this in a clear way!
So I have 2 maps involved, which I’ll just refer to as 1 and 2. I’m having a problem where, under very specific circumstances, the game softlocks when the ‘LOU1 Good’ (yeah I use the default name, sue me) code is reached in the intro of 2 (I know LOU1 Good is the culprit cause I removed it and the softlock didn’t happen). After a lot of testing, and here’s what I’ve found:

-If the ending cutscene of 1 is skipped, no softlock
-In said ending cutscene, the characters all get moved at some point (I have a feeling this could be involved somehow)
-The characters from 1 don’t even have to be included in 2’s “Good” for the softlock to happen. I removed them and replaced them with others, and the game still softlocked when it reached the ‘LOU1 Good’ code.
-1 is a defeat boss map, and the softlock only happens if you beat the boss on player phase
-If the game is reset during the ending of 1 and you resume the chapter, no softlock
-Similarly, if you save at the save screen and restart 2, no softlock

So to sum it up, it seems to only happen if you beat the boss of 1 on player phase, and then watch the ending cutscene. I feel like there’s probably a code I’m missing somewhere, like an ASMC one or something. Anyone who’s better at hacking than me have any ideas?

Not sure what exactly could be the issue based on the description. Could you include the code in question, as well as the unit blocks? Seems like something in your Ending_event or unit block is causing the error based on your description.

Edit: @SageMatthis (Sorry forgot to reply directly)
Thanks for the reply, sorry if my description left some stuff out. So first of all here’s some more context.

Map 1 has 3 blue units in cutscenes, but only 1 is playable during the map. That unit gets removed from the party with UNCM 0x4 at the end of the ending event. In Map 2, the other 2 blue units return as part of Good, along with some others. Also worth mentioning I didn’t use the Defeat_Boss macro in Map 1, the ending is triggered using an AFEV instead.

So here’s Map 1’s ending. It’s not the full thing, but the softlock trigger is somewhere after this text convo:

TEX1 0x817
MUS1 0x00
MOVE Calvin [7,9]
MOVE Stuart [10,5]
MOVE TutorialJoel [11,7]
CURF [11,7]
TEX1 0x81A
MOVE Calvin [9,7] 10
TEX1 0x81B
MOVE TutorialJoel [15,7]
DISA TutorialJoel
MOVE Calvin [15,7]
DISA Calvin
MOVE Stuart [15,5]
DISA Stuart
UNCM TutorialJoel 0x04

aaaand here’s the Good block for Map 2 (doesn’t matter if the 2 returning units are set to true or false, softlock happens regardless):

UNIT Stuart Mage 0x00 Level(2,Ally,True) [4,15] [4,15] [Fire,Wind,Vulnerary] NoAI
UNIT Calvin CalvinSoldier 0x00 Level(1,Ally,True) [4,14] [4,14] [IronLance,TreeBranch,Vulnerary] NoAI
UNIT Joel Archer 0x00 Level(2,Ally,False) [4,13] [4,13] [MiniBow,IronBow,Vulnerary,Vulnerary] NoAI
UNIT Soraya Paladin_F 0x00 Level(5,NPC,False) [7,5] [7,5] [SteelSword,Armorslayer,Vulnerary,Vulnerary] NoAI
UNIT Ivan Sage 0x00 Level(1,NPC,False) [8,5] [8,5] [Thunder,Vulnerary] NoAI
UNIT Empty

Hm, alright. I tried running your events in my own test ROM, replacing your macros with some other unit, and the events seem to run properly. I have two hypotheses at the moment:
Your units are scripted to move beyond the confines of the map, which causes error on some emulators. Not sure what your map size is, but if they do move beyond the normal confines of the map, that might be the cause of the issue. Similar with loading units past the confines of the map.
Something in the first section of the Ending_event is causing some sort of issue. Not sure what, but potentially.
Probably not an issue, but perhaps try using ENUN before DISA on the units at the end, if neither of the above appear to be an issue?
Let me know how this goes and whether or not the issue is solved or persists.

Man you’re a lifesaver! So the characters do actually move offscreen at the end, but that wasn’t the problem. You hit on the head with the lack of ENUNs. Apparently using move and then disappear codes without ENUNs in between causes them not to disappear at all. TIL. Not sure why it was only happening when the map ends on player phase but oh well, it’s fixed now. Thanks so much man!