Jump to content

Branched Promotion on FE7 Help


marlon0024
 Share

Recommended Posts

Hello, i found some great patch made by icecube, that lets you have branched promotions by items in FE7, after going mad at trying to make it work, i fanally did...But i have some issue, at first i made my knight class 0x15, go to King Zephiel class empty slot class 0x61, and worked fine, tried the to make my knight paladin, and worked fine, but then i tried to mame my paladin class 0x67 great knight (Of course, this has class expansion patch, and works) but game freezes, extrangely after that i used a savestate of when it freezes, changed the class from great knight to paladin again, and the result was curious..it had the great knight standing map sprite, but the moving sprite of paladin...

Looks like the nightmare module and the patch work only to change to oldsize table classes, but new classes are not recognized.

I do not now why this is happening my guess is that the source code needs to be "upgraded" to read more bytes than 0x62 because i just added the extra classes on the nightmare module and updated the size of that list, but does not seem to work...Soo if there is any power hacker that could thell me what byte or bytes i need to change in the source code to make it work i would be thankful.

(Note i still do not now how to asm hack, but i can do it in raw bytes in HxD)

Version 3. Everything is changed into 08D90000 base

Version 3 08D90000

00 B5F0 push r4-r7,lr
01 1C04 r4 = r0 + 0x00
02 4917 r1 = 08D90080
03 1C13 r3 = r2 + 0x00
04 3348 r3 = r3 + 0x4A
05 781B ldrb r3(r3,0x00)
06 7808 ldrb r0(r1,0x00)
07 28FF cmp r0,0xff
08 DA0C bge #22
09 4298 cmp r0,r3
10 D002 beq #14
11 1C13 r3 = r2 + 0x00
12 3104 r1 = r1 + 0x04
13 E7F4 b$ #03
14 1C13 r3 = r2 + 0x00
15 3384 r3 = r3 + 0x84
16 681B ldr r3(r3,0x00)
17 791B ldrb r3(r3,0x04)
18 7848 ldrb r0(r1,0x01)
19 4298 cmp r0,r3
20 D000 beq #22
21 E7F4 b$ #11
22 1C88 r0 = r1 + 0x02
23 7841 ldrb r1(r0,0x01)
24 0609 lsl r1,r1,0x18
25 2900 cmp r1,0x00
26 DB0E blt #42
27 7800 ldrb r0(r0,0x00)
28 2154 r1 = 0x54
29 4348 mul r0,r1
30 4907 r1 = 08BE015C
31 1840 r0 = r0 + r1
32 3004 r0 = r0 + 0x04
33 2328 r3 = 0x28
34 2B30 cmp r3,0x30
35 DA05 bge #42
36 5CC1 ldrb r1(r0,r3)
37 2900 cmp r1,0x00
38 D100 bne #40
39 54E1 strb r1(r4,r3)
40 3301 r3 = r3 + 0x01
41 E7F7 b$ #34
42 7800 ldrb r0(r0,0x00)
43 4902 r1 = 08029821
44 4708 bx r1
45 0000
46 015C
47 08BE
48 9821
49 0802
50 0080
51 08D9

F0 B5 04 1C 17 49 13 1C 48 33 1B 78 08 78 FF 28 0C DA 98 42 02 D0 13 1C 04 31 F4 E7 13 1C 84 33 1B 68 1B 79 48 78 98 42 00 D0 F4 E7 88 1C 41 78 09 06 00 29 0E DB 00 78 54 21 48 43 07 49 40 18 04 30 28 23 30 2B 05 DA C1 5C 00 29 00 D1 E1 54 01 33 F7 E7 00 78 02 49 08 47 00 00 5C 01 BE 08 21 98 02 08 80 00 D9 08

version 3 08027404

00 0608 lsl r0,r1,0x18
01 0E00 lsr r0,r0,0x18
02 686D ldr r5(r5,0x04)
03 792D ldrb r5(r5,0x04)
04 490C r1 = 08D90080
05 780C ldrb r4(r1,0x00)
06 2CFF cmp r4,0xff
07 D011 beq #26
08 4284 cmp r4,r0
09 D001 beq #12
10 3104 r1 = r1 + 0x04
11 E7F8 b$ #05
12 784C ldrb r4(r1,0x01)
13 42AC cmp r4,r5
14 D000 beq #16
15 E7F9 b$ #10
16 78CC ldrb r4(r1,0x03)
17 0664 lsl r4,r4,0x19
18 0E64 lsr r4,r4,0x19
19 9801 ldr r0(sp,0x04)
20 3008 r0 = r0 + 0x08
21 7800 ldrb r0(r0,0x00)
22 42A0 cmp r0,r4
23 DB01 blt #26
24 2001 r0 = 0x01
25 E000 b$ #27
26 2000 r0 = 0x00
27 BC30 pop r4,r5
28 BC02 pop r1
29 4708 bx r1
30 0080
31 08D9

08 06 00 0E 6D 68 2D 79 0C 49 0C 78 FF 2C 11 D0 84 42 01 D0 04 31 F8 E7 4C 78 AC 42 00 D0 F9 E7 CC 78 64 06 64 0E 01 98 08 30 00 78 A0 42 01 DB 01 20 00 E0 00 20 30 BC 02 BC 08 47 80 00 D9 08

Version 3 08D90068

00 7807 ldrb r7(r0,0x00)
01 7809 ldrb r1(r1,0x00)
02 1A79 r1 = r7 - r1
03 2900 cmp r1,0x00
04 DA00 bge #06
05 2100 r1 = 0x00
06 7001 strb r1(r0,0x00)
07 4901 r1 = 080298CD
08 4708 bx r1
09 0000 ----
10 98CD
11 0802

07 78 09 78 79 1A 00 29 00 DA 00 21 01 70 01 49 08 47 00 00 CD 98 02 08

Version 3 080298C4

00 7807 4F00
01 7809 4738
02 1A79 0069
03 7001 08D9

00 4F 38 47 69 00 D9 08

Version 3 08029818

00 BF50 4900
01 1C04 4708
02 6860 0001
03 7940 08D9

00 49 08 47 01 00 D9 08

________________________________________________________________________________

Link to comment
Share on other sites

The original class table is at 0xBE015C

My expanded class table is at 0x12d0190

The thing is, is i deploy my great Knigth F Works perfectly, it has no issues or odd behaviours, it does not kink, not even the map sprite.

And Agro, thanks for always trying to help, you are one in a million :3

Link to comment
Share on other sites

Did you expand the class table? What's the address of the original?

Thanks Agro, you made me realize the thing that was wrong was the pointer and not a byte, i just did not pay enough atention to the source code :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...