Jump to content


Photo

Jerme/Kenneth-style chapter branches


  • Please log in to reply
18 replies to this topic

#1 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 11:45 AM

I was playing a draft and I was curious as to how FE7 decided which version of PFoD (C27 in Hector mode) to take you to. In the disassembled event files:

// the first code in this sequence is the check
IFAT 0x8 0x7D4C1     // if (asm_cond) {
MNCH 0x23            // Jerme's version
STAL 1
_0x1
ELSE 0x9             // } else {
ENIF 0x8
MNCH 0x24            // Kenneth's version
STAL 1
_0x1
ENIF 0x9             // }

so i went to the offset specified and disassembled the condition code

r0 - no matter, clobbered anyway
r1 - 0x0800D569		probably the interpreter
r2 - 0x00
r3 - 0x08B907C0
r4 - 0x02024F00
r5 - 0x48
r6 - 0x02024F56
r7 - 0x08B90E48
r8 - 0x08B90E4C
r9 - 0x00
r10 - 0x00
r11 - 0x03007DFC
r12 - 0x03

sp - 0x03007DA0
lr - 0x0800D575
pc - 0x0807D4C0

0807D4C0 B510     push    {r4,r14}			@ Self-explanatory
0807D4C2 4806     ldr     r0,=#0x8CB8984	@ offset of list for Jerme - 06 00 08 00 09 00 04 00
	@ corresponds to guy, dorcas, bartre, raven respectively
0807D4C4 F7FFFFC0 bl      #0x807D448		@ r0 = sum of guy/dorcas/bartre/raven
0807D4C8 1C04     mov     r4,r0				@ store r0
0807D4CA 4805     ldr     r0,=#0x8CB898E	@ load another offset for Kenneth - 13 00 10 00 12 00 1B 00 11 00
	@ Erk, Lucius, Renault (!), Priscilla, Serra
	@ Apparently Renault is also checked for this, although his level is set at 0 at this time
	@ maybe this is an indication that he was meant to be recruitable for then? Beats me.
0807D4CC F7FFFFBC bl      #0x807D448		@ add their levels
0807D4D0 0424     lsl     r4,r4,#0x10		@ r4 = (short) r4
0807D4D2 0400     lsl     r0,r0,#0x10		@ r0 = (short) r0
0807D4D4 4284     cmp     r4,r0				@ if r4 <= r0 (if physical units levels <= magical)
0807D4D6 D805     bhi     #0x807D4E4		@ ^
0807D4D8 2000     mov     r0,#0x0			@ return false
0807D4DA E004     b       #0x807D4E6
0807D4DC 8984     ldrh    r4,[r0,#0xC]		@ Pointers
0807D4DE 08CB     lsr     r3,r1,#0x3		@ ^
0807D4E0 898E     ldrh    r6,[r1,#0xC]		@ ^
0807D4E2 08CB     lsr     r3,r1,#0x3		@ ^
0807D4E4 2001     mov     r0,#0x1			@ else (physical > mag): return true (Jerme)
	@ This means that Jerme only shows up if and only if your physical units are higher
	@ which fits in with the idea that "Kenneth's Chapter is the default".
0807D4E6 BC10     pop     {r4}
0807D4E8 BC02     pop     {r1}
0807D4EA 4708     bx      r1

Notice that Renault is included in the "magic users" group.

The log as well as my personal thoughts on the matter can be found here.

Edited by Camtech, 21 April 2012 - 11:45 AM.


#2 Celice

Celice

    Member

  • Member
  • Gender:Male
  • Favorite Fire Emblem Game:N/A

Posted 21 April 2012 - 11:49 AM

Might be an indication that Renault was previously planned to arrive earlier. Nuances like you've found are usually indications of such with other games.

#3 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 11:51 AM

I noted as much, but I don't consider myself qualified to draw conclusions. Yet.

Edited by Camtech, 21 April 2012 - 11:51 AM.


#4 Celice

Celice

    Member

  • Member
  • Gender:Male
  • Favorite Fire Emblem Game:N/A

Posted 21 April 2012 - 11:57 AM

Though I doubt it, it'd be cool if the FE6 routine had a similar check for an unexpected requirement.

Has anyone combed through the in-game script to see if there's any unused convos? Might scrounge up some evidence in there too. I can't think of any other real place, other than maybe an unused event where his specific ID is called for at an earlier time in the game (visiting a village, recruitment, spawning on map, etc.).

It's too bad there still hasn't been any attempt to make a valid editor supporting everything, rather than supporting each thing as they come individually. A wholly-encompassing editor makes finding things like these far more easier and likely when you let the program sniff for you, rather than relying on you to sniff by oneself

Edited by Celice, 21 April 2012 - 12:01 PM.


#5 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 11:58 AM

from what i've seen from combing through the disassembled event files (i have a lot of free time on my hands >_>) there's nothing leftover in those, unfortunately

i can't speak for the game script, however

---

Zahlman was making a "catch-all" nightmare 3 program in python, but it's slow because he has a job and he has to figure out how to re-consolidate every single tool into either the main program structure (i don't think he's doing that) or figure out how to turn everything into a module

Edited by Camtech, 21 April 2012 - 12:03 PM.


#6 Silent Mercenary

Silent Mercenary

    Vencedor de forajidos

  • Member
  • Gender:Male
  • Location:Esperando el amanecer
  • Favorite Fire Emblem Game:Awakening

Posted 21 April 2012 - 12:55 PM

I'm not really good with interpreting hexadecimal codes, but has anyone found out at what point exactly does it calculate and compare the level sums to determine the next chapter? Because I remember there's a house in Unfulfilled Heart (chapter 24/26, the one with Vaida before Jerme/Kenneth) where a villager talked about Jerme and his Light Brand, which would then be the chapter I got next. I recall it was Hector Mode, I think Normal, where I miscalculated Guy's high level (trained to OHKO Kishuna) being a bit over all my mages, and I really wanted the Guiding Ring and restarting to focus on the mages didn't help change the outcome. So, does it calculate this split before the Vaida chapter or as it ends?

#7 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 02:56 PM

It is the very last thing the game checks before the Vaida chapter ends.

I haven't logged the actual adding routine, but I'd assume that it calc's the total levels gained rather than absolute levels.

edit:

The only village in C26 gives you the hammerne staff. I'm not sure what you're talking about.

Edited by Camtech, 21 April 2012 - 02:58 PM.


#8 Burning Gravity

Burning Gravity

    Rubber was never so epic before Luffy

  • Member
  • Gender:Male
  • Location:U.S.A.
  • Favorite Fire Emblem Game:Awakening

Posted 21 April 2012 - 05:26 PM

Sweet, I'm tempted to use this and hack the ASM just so I can say I did an ASM hack for a custom split path thing XD which is silly but meh :P

#9 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 05:36 PM

a) hack the asm how?
b) you can custom split path easily if you know what you're doing with a debugger

#10 Aura Wolf

Aura Wolf

    Member

  • Member
  • Gender:Male
  • Favorite Fire Emblem Game:New Mystery of the Emblem

Posted 21 April 2012 - 05:37 PM

The only village in C26 gives you the hammerne staff. I'm not sure what you're talking about.

there's a house in Unfulfilled Heart (chapter 24/26, the one with Vaida before Jerme/Kenneth) where a villager talked about Jerme and his Light Brand

A bit confusing with the villager bit, but yeah.
Tempted to learn crap so I can use things such as this XD

Edited by Aura Wolf, 21 April 2012 - 05:39 PM.


#11 Jubby

Jubby

    Who, me?

  • Member
  • Gender:Male
  • Favorite Fire Emblem Game:Blazing Sword

Posted 21 April 2012 - 05:40 PM

Just want to throw in that I'm not tempted at all to hack the ASM

But I also might use this :3

#12 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 05:40 PM

okay

running a quick check through the events

the asm condition is never called directly aside from in the chapter end event

but that doesn't mean that it's not indirectly called somewhere else

Edited by Camtech, 21 April 2012 - 05:40 PM.


#13 Silent Mercenary

Silent Mercenary

    Vencedor de forajidos

  • Member
  • Gender:Male
  • Location:Esperando el amanecer
  • Favorite Fire Emblem Game:Awakening

Posted 21 April 2012 - 05:49 PM

Thanks for the answer. Yeah, I thought of that later as the possible explanation. Some exp on Dorcas coming over from Lyn mode might also have to do with that. Either way, I'll focus more on that when I need that extra crest/ring.

The only village in C26 gives you the hammerne staff. I'm not sure what you're talking about.


A bit confusing with the villager bit, but yeah.


No, I mean the houses, you know the little one-tile brown-roof ones that give nothing but tidbits of info. I don't recall if the two are for Kenneth and Jerme, but I think I checked both of them, and one of the villagers talked about Jerme and the Light Brand vaguely, but you could tell it was him (something about a cursed blade, assassin, etc.) I don't recall which house exactly since I haven't played in years.

#14 Aura Wolf

Aura Wolf

    Member

  • Member
  • Gender:Male
  • Favorite Fire Emblem Game:New Mystery of the Emblem

Posted 21 April 2012 - 05:56 PM

^ I meant in the post that you were talking about a house (Hence why it was bolded), not a village. Then again, I worded it awkwardly XD

#15 SeverIan

SeverIan

    Is There No End To This War?

  • Member
  • Gender:Not Telling
  • Location:Kawaiitanamo Cell 1049
  • Favorite Fire Emblem Game:N/A

Posted 21 April 2012 - 05:57 PM

@ This means that Jerme only shows up if and only if your physical units are higher
@ which fits in with the idea that "Kenneth's Chapter is the default".

This is coming from someone totally ignorant on game design, hacking, etc, so I won't be disappointed if my thoughts are dismissed,
but I think arguments about which chapter is "default" based on character stats and coding are a little hard to make. For example, based on starting level, the physical units have a lead of 5 on the magical units. That would suggest that the default is Jerme's chapter - the tiebreaker thing only activates in the somewhat unlikely event that the units' levels tie, while the 5 level gap is going to affect things every time you play. On the flipside, I do think that the magical units are generally better than the physical units, and thus more likely to be used and leveled, and a cogent argument could be made that the 5 level gap will almost always be outstripped by an efficient player (though an efficient player would hardly be taking the default path).

But generally, "default" refers to something that happens if no action is taken. To the fullest extent of this understanding, there is no default chapter - Fire Emblem remains off. If the game is played normally, and chapters are completed, then the path will depend on actions by the player, making the chapter that results strictly not default (not determined in the absence of the player's input, whether the player is aware of the impact of his actions or not).

Ya I know it's BS and no one cares.


#16 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 06:27 PM

This is coming from someone totally ignorant on game design, hacking, etc, so I won't be disappointed if my thoughts are dismissed,
but I think arguments about which chapter is "default" based on character stats and coding are a little hard to make. For example, based on starting level, the physical units have a lead of 5 on the magical units. That would suggest that the default is Jerme's chapter - the tiebreaker thing only activates in the somewhat unlikely event that the units' levels tie, while the 5 level gap is going to affect things every time you play. On the flipside, I do think that the magical units are generally better than the physical units, and thus more likely to be used and leveled, and a cogent argument could be made that the 5 level gap will almost always be outstripped by an efficient player (though an efficient player would hardly be taking the default path).

Ya I know it's BS and no one cares.

obligatory: go be semantic somewhere else

actual response:
if they are all benched 100% of the time

you go to kenneth

there is no tiebreaker at all

the code very specifically says: "if the physical units have gained a total number levels that is greater than that of the magical units, go to Jerme - Else, go to Kenneth"

two scenarios. either the physical units > magical, or not. if they're equal, that falls under the category of "not".

i'm too lazy to check whether the routine checks if routine checks levels gained or absolute levels but i remember from simple experiment in playing the game that benching all of those units nabs you kenneth

Edited by Camtech, 21 April 2012 - 06:28 PM.


#17 Celice

Celice

    Member

  • Member
  • Gender:Male
  • Favorite Fire Emblem Game:N/A

Posted 21 April 2012 - 08:21 PM

When you mean default, are you meaning the option that happens regardless of player function, or are you implying that the creators intended Kenneth's chapter to be first? Because the second one doesn't have enough evidence, from what you've said, to merit that conclusion :/

(it's not altogether clear whether you implied the latter or not)

#18 CT075

CT075

    formerly shota supercomputer

  • Member
  • Gender:Male
  • Location:Somewhere
  • Favorite Fire Emblem Game:Radiant Dawn

Posted 21 April 2012 - 08:34 PM

if you're going to pull semantics up my ass i'll say it straight - there is no "default" because there are exactly two scenarios. either the physical units are higher, or they aren't. literally no other possibility exists in terms of this situation, and both are accounted for; there is no need for a "default" situation to fall back on

#19 Burning Gravity

Burning Gravity

    Rubber was never so epic before Luffy

  • Member
  • Gender:Male
  • Location:U.S.A.
  • Favorite Fire Emblem Game:Awakening

Posted 22 April 2012 - 08:56 AM

semantics is all we have on this forum

I am the prime example




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users