I basically tested it with all three modes by changing the value at 0x202BC13 in the memory viewer for each respective mode.
I also did not test if other characters might be able to Seize (by some bug).
Also this means BOTH TUTORIAL Lyn and Regular Lyn can Seize, but I DID not Test Regular Lyn if she can Seize.
I'd appreciate it if people can test these situations for me.
Patch: Click here for the Patch
I remember a thread at FEU concerning the Lord Seizing.
Then Team OVERTROLL Skype chat just basically pushed me into it.
Thanks a lot Dan. XD
Video: Click Here
Toggle shoutbox Shoutbox
|
Multi-Lord Seizing
Started by shadowofchaos, May 24 2011 04:35 PM
2 replies to this topic
#1
Posted 24 May 2011 - 04:35 PM
QUOTE (Subieko) |
I was able to change who can seize by changing stuff at these addresses: 00034896 for Lyn's mode; it should start as 03 28. 03 is tutorial Lyn's character number, so you can just change it to your seizing character's number (so, for example, changing it to 01 would let Eliwood seize). 00034890 is for Eliwood's mode and 0003488C is possibly for Hector's mode, but I haven't tried these two so I can't swear to it. I didn't find any of this myself, I found it in an old thread...can't recall which one, though. Hope this helpful to you. |
QUOTE (Ryrumeli) | ||||
Hmmm, that is why. The game must first check which mode you're in (Lyn, Eliwood, Hector) and then it decides who seizes what based on it. If it is Lyn's, it goes to the 0x34896 section. All of that seems to be part of the check for the current character number, to check who he is. If we changed the start of that section to, for example...
All units from 0x00 to 0x03 would be able to seize. Talk about multi-lord setting. Regardless, whoever did that discovery you're reposting here knew what he or she was doing. Nice job finding it and posting it here, Subieko. |
It wasn't that simple actually.
The test was seizing with Lyn in Lyn Mode.
R00=00000003 R04=03004690 R08=08B95AAC R12=00000010
R01=00000040 R05=020251F4 R09=00000004 R13=03007D44
R02=0202BD98 R06=00000000 R10=00070316 R14=08021ECF
R03=00000000 R07=00000000 R11=03007DFC R15=08034888
R0 = Character ID in hex
34888: cmp r0, #0x02 (looking for "Hector")
3488A: beq 80338A2h
3488C: cmp r0, #0x02
3488E: bgt 8034896
34890: cmp r0, #0x01
34892: beq 803489E (If Eliwood, go there)
34894: b 80348A6h
34896: cmp r0, #0x03 (Is it Tutorial Lyn? Or is it anyone else GREATER than her value?)
34898: bne 80348A6 (If it's ANYONE else, go there, probably "non-seize")
3489A: mov r2, #0x01
R02=00000001
3489C: b 80348A8
348A6: mov r2, #0x03 (This makes r2 0x00 if it's anyone OTHER than the three lords)
348A8: ldr r0, =202BBF8
R00=0202BBF8
348AA: r0, [r0,#0x1B] (load the byte at the address of r0 + 0x1B = 0x202BC13)
In the memory, that address contains the current mode of the game.
Lyn Mode = 0x01
Eliwood Mode = 0x02
Hector Mode = 0x03
In this case now:
R00=00000001
348AC: cmp r0, #0x02 (Eliwood Mode)
348AE: beq 80348CA (IF Eliwood Mode, go there)
348B0: cmp r0, #0x02 (Eliwood Mode)
348B2: bgt 80348C0 (IF Hector mode, go there)
348B4: cmp r0, #0x01 (IF Lyn mode)
348B6: beq 80348C6 (go there)
348B8: b 80348D2 (ELSE, go here)
...
348C0: cmp r0, #0x03 (We go here if Eliwood mode) (See if Hector Mode? Seems redundant)
348C2: beq 80348CE
348C4: b 80348D2 (ELSE? Seems freaking redundant)
R01=00000040
... etc. etc.
To make it so that ALL Three Lords can Seize in ANY Mode, change the first "IF "This Lord"" to all of them,
AS WELL as changing, "IF This mode and this lord".
So Basically:
34888: 2803 cmp r0, #0x03
3488A: DD08 beq 803489E (IF 0x03 of less aka any of the 3 lords, go to "Eliwood Decision")
*Goes through "Eliwood is the Lord" route with All three Lords*
348AC: 2803 cmp r0, #0x03
348AE: DD0C ble 80348CA (IF any of the three modes with the three lords, display "Seize command", in a nutshell)
As for Regular Lyn, Recall:
QUOTE |
34896: cmp r0, #0x03 (Is it Tutorial Lyn? Or is it anyone else GREATER than her value?) 34898: bne 80348A6 (If it's ANYONE else, go there, probably "non-seize") |
Change it to Regular Lyn and branch the instruction to go to the "Eliwood" route
so:
34896: 282D cmp r0, #0x2D
34898: D105 bne 80348A6 (Leave this alone)
3489A: E000 b 803489E (Eliwood Route)
#2
Posted 24 May 2011 - 07:39 PM
Coolz, nice job with the new discovery. I'm sure someone somewhere will appreciate this. To start, whoever asked you to do it will hopefully appreciate it. XD
Signature thanks to Shu.
#3
Posted 24 May 2011 - 07:43 PM
Nah. It was because of another hack I did that people requested (which is on private distribution until AFTER the ragefest contest 2 is done) and then I was like "Hmm... I'm too lazy to close the No$GBA debug window. Let's see if I can pull off something else."
And then Team OVERTROLL just got on the bandwagon with Astra and said "go for it".
I just used Ryru's and Subieko's notes.
And then Team OVERTROLL just got on the bandwagon with Astra and said "go for it".
I just used Ryru's and Subieko's notes.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users