Is there a straightforward way of making the selection between Eliwood/Hector/Lyn mode available from the start? I have an experimental FE7-thing where I want all modes to be chooseable, which I currently have 2/3 accomplished by having a “Play Lyn Mode?” choice before ch0, then a “Play Eliwood (yes) or Hector Mode (no)?”, but that only jumps to ch11e or ch11h without changing the mode, and if I use the LynModeEnding macro then it dumps the player at ch11e regardless of choice.
I tried making a choice that activates the “End Game” event, hoping that that would unlock the mode select, but no dice (just shows “Fin” and goes back to title screen). After that I tried MNCHing to the Epilogue, but it either has no chapter number or is not included in Nightmare. If I MNCH to ch11h, the game is still in Lyn Mode.
If there’s a “Go to Hector Mode” event, I’ll happily use that, but I can’t help but feel that unlocking the mode select from the start is the more elegant solution and it probably just depends on changing a few numbers in hex somewhere. I searched but only found “start in Eliwood Mode” and “start in hard mode”.
The last resort would be packing a save that has the mode select unlocked with the patch at all times and telling players to use it, but I really don’t want to do that. Surely there must be some “unlock mode select” ASMC used by the vanilla game? I tried all of the ASMCs in the Final Chapter pt2 events, but none of them did the trick. I would look at the Epilogue events but there’s seemingly no reference to where the Epilogue actually /is/.
You can easily change it in the game if you need to do it.
A player can download a save file from Internet if he wants to select modes from start. If you don’t want your players to use a save, I guess the easiest way is to set the initial value of clear times to 2. Only a guess.
Yeah, I’ll just stick with giving people a “use this save.sav” with the patch for now, since I want them all selectable. Thanks though!
I figured out that I could kind of solve the problem by making the “skip Lyn mode” option end Lyn mode, then ch11 being a Yes/No choice that sends you to 11e or 11h, where 11h is still in Eliwood mode but multi-lord seizing is implemented so you can use both Eliwood and Hector to seize. That would get rid of some mechanical stuff like HHM bonus levels that I wouldn’t want to sacrifice, though.
Chances are that there is a routine to check the clear times of one story to decide whether the next story can be selected. In fact, that’s not a problem because we all use a save to skip Lyn’s boring tutorial and select modes while playing a hack.
Necrobumping to answer this since this thread was the only relevant thing I found when searching to see if anyone had answered the question the OP asks:
There is a function at x9E9FC that looks at the save and figures out what modes should be unlocked, returning the result as a bitfield:
bit x1 = Lyn Hard is open
bit x2 = Eliwood Normal is open
bit x4 = Eliwood Hard is open (only selectable if x2 is also set)
bit x8 = Hector Normal is open
bit x10 = Hector Hard is open (only selectable if x8 is also set)
Put 1F 20 70 47 at x9E9FC to make this function always return x1F so every mode is considered available.
The 1F at the beginning seems to be replaceable with different values based on what you want to unlock first. I just tested with 03 and 05 and that seems to be the case.(I figured I would mention it, probably not necessary)
EDIT_1: Wait, so if I beat the game, will it still unlock other modes or will it just be whatever it was set to permanently?
It’d set the flags but they won’t do anything, since the game is just blindly returning x1F (or whatever you rewired it to send) now. If you want it to, say, enable all modes except HHM and have that be unlockable, you’d need to look at the code yourself and edit it as appropriate.
So, as a complete romhacking noob, what exactly does it mean that there’s a function at x9E9FC? How do I find the function? What program do I use? What does function mean? What does it look like? And what does it mean to put in 1F 20 70 47?