[FE8] Ending the game

I’m trying to get to the game to end before Final Chapter Part 2. The way it’s supposed to work is that you beat the chapter, see the ending scene, then you save and go to the Epilogue which shows a bunch of dialogue, credits, character endings, then FIN and back to title screen. Disassembling the Final Chapters I see that MNC4 0x0 is the command used to go to the Epilogue via save screen. However, when I try to use it in the Prologue, it takes me to a save screen, then back to the prologue again (skipping the opening text and world map scenes) instead of the Epilogue. Beating the Prologue a second time takes me straight to the FIN message with no save screen. Afterwards I can use the ‘Epilogue’ save file to start the Creature Campaign though no roads are unlocked so you can’t do anything.

Can someone explain what is happening?

Here’s what it looks like (with a hasty fix to skip the second Prologue): link removed

Here’s my event script:

//Made by Camtech075 of SerenesForest
//Modified by Nintenlord

#include EAstdlib.event

EventPointerTable(0x7,ThisChapter)

ORG 0x0E80000
ThisChapter:
POIN TurnBasedEvents
POIN CharacterBasedEvents
POIN LocationBasedEvents
POIN MiscBasedEvents
POIN Dunno Dunno Dunno
POIN Tutorial
POIN TrapData TrapData
POIN Units Units
POIN $0 $0 $0 $0 $0 $0
POIN BeginningScene EndingScene

TurnBasedEvents:
TURN 0x0 BeginningScene [1,0] 0x0
TURN 0x0 Turn2 [2,0] 0x0
END_MAIN

CharacterBasedEvents:
CHAR 0x07 JoshEirika Eirika Joshua $00000000
END_MAIN

LocationBasedEvents:
END_MAIN

MiscBasedEvents:
AFEV 0x3 EndingScene 0x2
CauseGameOverIfLordDies
END_MAIN

Dunno:
//DO NOT TOUCH
WORD $00

Tutorial:
//DO NOT TOUCH
WORD $00

TrapData:
ENDTRAP

ALIGN 4

Units:
UNIT Seth Paladin 0x00 Level(1,Ally,False) [4,0] 0b 0x0 0x0 0x0 [SilverLance,0x0,0x0,0x0] NoAI
UNIT Eirika EirikaLord 0x1 Level(1,Ally,False) [5,0] 0b 0x0 0x1 EirikaMove 

[IronSword,BodyRing,0x0,0x0] NoAI
UNIT

Reinforcements:
UNIT Joshua Myrmidon 0x0 Level(1,Enemy,False) [1,1] 0b 0x0 0x0 0x0 [IronAxe,0x0,0x0,0x0] NoAI
UNIT

Marker:
UNIT Ross Cavalier 0x0 Level(1,Ally,False) [255,255] 0b 0x0 0x0 0x0 [0x0,0x0,0x0,0x0] NoAI
UNIT

EirikaMove:
REDA [4,4] 0x0 0x5 0x0 0xFFFF 0x10

JoshEirika:
TurnAlly(Joshua)
ENDA

Turn2:
MUS1 0x2
LOAD1 0x1 Reinforcements
ENUN
Text(0xA91)
REMA
ENDA

BeginningScene:
CHECK_ALIVE Ross //If he is alive then it's the second time around
IFNOTEQUAL 0x0 0xC 0x0 //If it's the second time, go to epilogue
CALL EpilogueScene
ELSE 0x1
ENIF 0x0
LOAD1 0x1 Units
ENUN
ENIF 0x1
ENDA

EndingScene:
//MoveToChapter(0x1)
Text(0xBFD)
LOAD1 0x1 Marker
ENUN
REMA
MNC4 0x0
FADI 4
ENDA


EpilogueScene:
MNC4 0x0
ENDA

MESSAGE Events end at offset currentOffset

Solved: MNC4 takes you to Eirika’s or Ephraim’s epilogue depending on the mode byte. Pre-split it messes up and takes you back to the same chapter.

The following will allow you to customise your epilogue events and play them regardless of mode byte:

PUSH
ORG $9ea8
SHORT 0 0 $e00a
ORG $9ed8
POIN EpilogueEvents
POP

EpilogueEvents:
ASMC 0x30185 //clears map tilesets?
EVBIT_F 0x2
STAL 120
ASMC 0xB8175 //turn counts display
STAL 1
CALL 0xA0036C //Character Endings
STAL 90
MNTS 0x0 //return to title screen
ENDA
2 Likes