diff options
-rw-r--r-- | asm/ctors.s | 2 | ||||
-rw-r--r-- | asm/nw4r/lyt/lyt_layout.s | 2 | ||||
-rw-r--r-- | asm/nw4r/lyt/lyt_picture.s | 379 | ||||
-rw-r--r-- | asm/text_11.s | 364 | ||||
-rw-r--r-- | obj_files.mk | 1 |
5 files changed, 388 insertions, 360 deletions
diff --git a/asm/ctors.s b/asm/ctors.s index f72d999..a4b5f60 100644 --- a/asm/ctors.s +++ b/asm/ctors.s @@ -69,7 +69,7 @@ lbl_803E1E60: .4byte func_80268208, __sinit_$3ut_IOStream_cpp, __sinit_$3ut_FileStream_cpp, __sinit_$3ut_DvdFileStream_cpp .4byte __sinit_$3ut_DvdLockedFileStream_cpp, __sinit_$3ut_TextWriterBase_cpp, __sinit_$3snd_BasicSound_cpp, __sinit_$3snd_SeqSound_cpp .4byte __sinit_$3snd_SoundSystem_cpp, __sinit_$3snd_StrmSound_cpp, __sinit_$3snd_WaveSound_cpp, __sinit_$3lyt_pane_cpp - .4byte func_803872D0, func_80387EA8, func_8038A320, func_8038A3CC + .4byte __sinit_$3lyt_picture_cpp, func_80387EA8, func_8038A320, func_8038A3CC .4byte func_8038F254, func_803D91F4, func_803D9EA0 # placed by the compiler it seems diff --git a/asm/nw4r/lyt/lyt_layout.s b/asm/nw4r/lyt/lyt_layout.s index 9dd8625..3e98665 100644 --- a/asm/nw4r/lyt/lyt_layout.s +++ b/asm/nw4r/lyt/lyt_layout.s @@ -875,7 +875,7 @@ lbl_80386C4C: /* 80386C84 003828E4 41 82 01 1C */ beq lbl_80386DA0
/* 80386C88 003828E8 7F E4 FB 78 */ mr r4, r31
/* 80386C8C 003828EC 38 A1 00 38 */ addi r5, r1, 0x38
-/* 80386C90 003828F0 48 00 01 31 */ bl func_80386DC0
+/* 80386C90 003828F0 48 00 01 31 */ bl __ct__Q34nw4r3lyt7PictureFPCQ44nw4r3lyt3res7PictureRCQ34nw4r3lyt11ResBlockSet
/* 80386C94 003828F4 48 00 01 0C */ b lbl_80386DA0
lbl_80386C98:
/* 80386C98 003828F8 38 60 00 00 */ li r3, 0
diff --git a/asm/nw4r/lyt/lyt_picture.s b/asm/nw4r/lyt/lyt_picture.s new file mode 100644 index 0000000..09bc8a1 --- /dev/null +++ b/asm/nw4r/lyt/lyt_picture.s @@ -0,0 +1,379 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r2ut5ColorFv
+__ct__Q34nw4r2ut5ColorFv:
+/* 80386DB4 00382A14 38 00 FF FF */ li r0, -1
+/* 80386DB8 00382A18 90 03 00 00 */ stw r0, 0(r3)
+/* 80386DBC 00382A1C 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r3lyt7PictureFPCQ44nw4r3lyt3res7PictureRCQ34nw4r3lyt11ResBlockSet
+__ct__Q34nw4r3lyt7PictureFPCQ44nw4r3lyt3res7PictureRCQ34nw4r3lyt11ResBlockSet:
+/* 80386DC0 00382A20 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80386DC4 00382A24 7C 08 02 A6 */ mflr r0
+/* 80386DC8 00382A28 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80386DCC 00382A2C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80386DD0 00382A30 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80386DD4 00382A34 7C BE 2B 78 */ mr r30, r5
+/* 80386DD8 00382A38 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80386DDC 00382A3C 7C 9D 23 78 */ mr r29, r4
+/* 80386DE0 00382A40 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80386DE4 00382A44 7C 7C 1B 78 */ mr r28, r3
+/* 80386DE8 00382A48 4B FF E1 65 */ bl __ct__Q34nw4r3lyt4PaneFPCQ44nw4r3lyt3res4Pane
+/* 80386DEC 00382A4C 3C 60 80 45 */ lis r3, lbl_8044E2E8@ha
+/* 80386DF0 00382A50 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut5ColorFv@ha
+/* 80386DF4 00382A54 38 63 E2 E8 */ addi r3, r3, lbl_8044E2E8@l
+/* 80386DF8 00382A58 3C A0 80 36 */ lis r5, func_80362698@ha
+/* 80386DFC 00382A5C 90 7C 00 00 */ stw r3, 0(r28)
+/* 80386E00 00382A60 38 7C 00 D4 */ addi r3, r28, 0xd4
+/* 80386E04 00382A64 38 84 6D B4 */ addi r4, r4, __ct__Q34nw4r2ut5ColorFv@l
+/* 80386E08 00382A68 38 A5 26 98 */ addi r5, r5, func_80362698@l
+/* 80386E0C 00382A6C 38 C0 00 04 */ li r6, 4
+/* 80386E10 00382A70 38 E0 00 04 */ li r7, 4
+/* 80386E14 00382A74 4B E4 00 55 */ bl __construct_array
+/* 80386E18 00382A78 38 7C 00 E4 */ addi r3, r28, 0xe4
+/* 80386E1C 00382A7C 48 00 79 59 */ bl func_8038E774
+/* 80386E20 00382A80 88 1D 00 5E */ lbz r0, 0x5e(r29)
+/* 80386E24 00382A84 3B E0 00 08 */ li r31, 8
+/* 80386E28 00382A88 28 00 00 08 */ cmplwi r0, 8
+/* 80386E2C 00382A8C 41 81 00 08 */ bgt lbl_80386E34
+/* 80386E30 00382A90 7C 1F 03 78 */ mr r31, r0
+lbl_80386E34:
+/* 80386E34 00382A94 57 E4 06 3F */ clrlwi. r4, r31, 0x18
+/* 80386E38 00382A98 41 82 00 0C */ beq lbl_80386E44
+/* 80386E3C 00382A9C 38 7C 00 E4 */ addi r3, r28, 0xe4
+/* 80386E40 00382AA0 48 00 79 95 */ bl func_8038E7D4
+lbl_80386E44:
+/* 80386E44 00382AA4 80 DD 00 4C */ lwz r6, 0x4c(r29)
+/* 80386E48 00382AA8 57 E5 06 3F */ clrlwi. r5, r31, 0x18
+/* 80386E4C 00382AAC 80 9D 00 50 */ lwz r4, 0x50(r29)
+/* 80386E50 00382AB0 80 7D 00 54 */ lwz r3, 0x54(r29)
+/* 80386E54 00382AB4 80 1D 00 58 */ lwz r0, 0x58(r29)
+/* 80386E58 00382AB8 90 DC 00 D4 */ stw r6, 0xd4(r28)
+/* 80386E5C 00382ABC 90 9C 00 D8 */ stw r4, 0xd8(r28)
+/* 80386E60 00382AC0 90 7C 00 DC */ stw r3, 0xdc(r28)
+/* 80386E64 00382AC4 90 1C 00 E0 */ stw r0, 0xe0(r28)
+/* 80386E68 00382AC8 41 82 00 1C */ beq lbl_80386E84
+/* 80386E6C 00382ACC 88 1C 00 E4 */ lbz r0, 0xe4(r28)
+/* 80386E70 00382AD0 2C 00 00 00 */ cmpwi r0, 0
+/* 80386E74 00382AD4 41 82 00 10 */ beq lbl_80386E84
+/* 80386E78 00382AD8 38 7C 00 E4 */ addi r3, r28, 0xe4
+/* 80386E7C 00382ADC 38 9D 00 60 */ addi r4, r29, 0x60
+/* 80386E80 00382AE0 48 00 7A C1 */ bl func_8038E940
+lbl_80386E84:
+/* 80386E84 00382AE4 80 6D B2 B0 */ lwz r3, lbl_80640570-_SDA_BASE_(r13)
+/* 80386E88 00382AE8 38 80 00 5C */ li r4, 0x5c
+/* 80386E8C 00382AEC 4B F1 08 99 */ bl func_80297724
+/* 80386E90 00382AF0 2C 03 00 00 */ cmpwi r3, 0
+/* 80386E94 00382AF4 41 82 00 2C */ beq lbl_80386EC0
+/* 80386E98 00382AF8 A0 1D 00 5C */ lhz r0, 0x5c(r29)
+/* 80386E9C 00382AFC 80 BE 00 08 */ lwz r5, 8(r30)
+/* 80386EA0 00382B00 54 00 10 3A */ slwi r0, r0, 2
+/* 80386EA4 00382B04 7C 85 02 14 */ add r4, r5, r0
+/* 80386EA8 00382B08 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 80386EAC 00382B0C 7C 85 02 14 */ add r4, r5, r0
+/* 80386EB0 00382B10 41 82 00 0C */ beq lbl_80386EBC
+/* 80386EB4 00382B14 7F C5 F3 78 */ mr r5, r30
+/* 80386EB8 00382B18 48 00 38 25 */ bl func_8038A6DC
+lbl_80386EBC:
+/* 80386EBC 00382B1C 90 7C 00 28 */ stw r3, 0x28(r28)
+lbl_80386EC0:
+/* 80386EC0 00382B20 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80386EC4 00382B24 7F 83 E3 78 */ mr r3, r28
+/* 80386EC8 00382B28 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80386ECC 00382B2C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80386ED0 00382B30 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80386ED4 00382B34 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80386ED8 00382B38 7C 08 03 A6 */ mtlr r0
+/* 80386EDC 00382B3C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80386EE0 00382B40 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r3lyt7PictureFv
+__dt__Q34nw4r3lyt7PictureFv:
+/* 80386EE4 00382B44 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80386EE8 00382B48 7C 08 02 A6 */ mflr r0
+/* 80386EEC 00382B4C 2C 03 00 00 */ cmpwi r3, 0
+/* 80386EF0 00382B50 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80386EF4 00382B54 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80386EF8 00382B58 7C 9F 23 78 */ mr r31, r4
+/* 80386EFC 00382B5C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80386F00 00382B60 7C 7E 1B 78 */ mr r30, r3
+/* 80386F04 00382B64 41 82 00 90 */ beq lbl_80386F94
+/* 80386F08 00382B68 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80386F0C 00382B6C 3C 80 80 45 */ lis r4, lbl_8044E2E8@ha
+/* 80386F10 00382B70 38 84 E2 E8 */ addi r4, r4, lbl_8044E2E8@l
+/* 80386F14 00382B74 2C 05 00 00 */ cmpwi r5, 0
+/* 80386F18 00382B78 90 83 00 00 */ stw r4, 0(r3)
+/* 80386F1C 00382B7C 41 82 00 3C */ beq lbl_80386F58
+/* 80386F20 00382B80 88 05 00 59 */ lbz r0, 0x59(r5)
+/* 80386F24 00382B84 2C 00 00 00 */ cmpwi r0, 0
+/* 80386F28 00382B88 40 82 00 30 */ bne lbl_80386F58
+/* 80386F2C 00382B8C 81 85 00 00 */ lwz r12, 0(r5)
+/* 80386F30 00382B90 7C A3 2B 78 */ mr r3, r5
+/* 80386F34 00382B94 38 80 FF FF */ li r4, -1
+/* 80386F38 00382B98 81 8C 00 08 */ lwz r12, 8(r12)
+/* 80386F3C 00382B9C 7D 89 03 A6 */ mtctr r12
+/* 80386F40 00382BA0 4E 80 04 21 */ bctrl
+/* 80386F44 00382BA4 80 6D B2 B0 */ lwz r3, lbl_80640570-_SDA_BASE_(r13)
+/* 80386F48 00382BA8 80 9E 00 28 */ lwz r4, 0x28(r30)
+/* 80386F4C 00382BAC 4B F1 07 E9 */ bl func_80297734
+/* 80386F50 00382BB0 38 00 00 00 */ li r0, 0
+/* 80386F54 00382BB4 90 1E 00 28 */ stw r0, 0x28(r30)
+lbl_80386F58:
+/* 80386F58 00382BB8 38 7E 00 E4 */ addi r3, r30, 0xe4
+/* 80386F5C 00382BBC 48 00 78 2D */ bl func_8038E788
+/* 80386F60 00382BC0 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 80386F64 00382BC4 38 7E 00 D4 */ addi r3, r30, 0xd4
+/* 80386F68 00382BC8 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 80386F6C 00382BCC 38 A0 00 04 */ li r5, 4
+/* 80386F70 00382BD0 38 C0 00 04 */ li r6, 4
+/* 80386F74 00382BD4 4B E3 FF ED */ bl __destroy_arr
+/* 80386F78 00382BD8 7F C3 F3 78 */ mr r3, r30
+/* 80386F7C 00382BDC 38 80 00 00 */ li r4, 0
+/* 80386F80 00382BE0 4B FF E1 01 */ bl __dt__Q34nw4r3lyt4PaneFv
+/* 80386F84 00382BE4 2C 1F 00 00 */ cmpwi r31, 0
+/* 80386F88 00382BE8 40 81 00 0C */ ble lbl_80386F94
+/* 80386F8C 00382BEC 7F C3 F3 78 */ mr r3, r30
+/* 80386F90 00382BF0 4B E5 3B 29 */ bl func_801DAAB8
+lbl_80386F94:
+/* 80386F94 00382BF4 7F C3 F3 78 */ mr r3, r30
+/* 80386F98 00382BF8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80386F9C 00382BFC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80386FA0 00382C00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80386FA4 00382C04 7C 08 03 A6 */ mtlr r0
+/* 80386FA8 00382C08 38 21 00 10 */ addi r1, r1, 0x10
+/* 80386FAC 00382C0C 4E 80 00 20 */ blr
+
+.global Append__Q34nw4r3lyt7PictureFRCQ34nw4r3lyt6TexMap
+Append__Q34nw4r3lyt7PictureFRCQ34nw4r3lyt6TexMap:
+/* 80386FB0 00382C10 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80386FB4 00382C14 7C 08 02 A6 */ mflr r0
+/* 80386FB8 00382C18 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80386FBC 00382C1C 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80386FC0 00382C20 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80386FC4 00382C24 7C 7E 1B 78 */ mr r30, r3
+/* 80386FC8 00382C28 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 80386FCC 00382C2C 93 81 00 20 */ stw r28, 0x20(r1)
+/* 80386FD0 00382C30 7C 9C 23 78 */ mr r28, r4
+/* 80386FD4 00382C34 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 80386FD8 00382C38 80 05 00 3C */ lwz r0, 0x3c(r5)
+/* 80386FDC 00382C3C 80 65 00 38 */ lwz r3, 0x38(r5)
+/* 80386FE0 00382C40 54 1F 27 3E */ srwi r31, r0, 0x1c
+/* 80386FE4 00382C44 54 60 27 3E */ srwi r0, r3, 0x1c
+/* 80386FE8 00382C48 7C 1F 00 40 */ cmplw r31, r0
+/* 80386FEC 00382C4C 40 80 01 58 */ bge lbl_80387144
+/* 80386FF0 00382C50 54 60 67 3E */ rlwinm r0, r3, 0xc, 0x1c, 0x1f
+/* 80386FF4 00382C54 7C 1F 00 40 */ cmplw r31, r0
+/* 80386FF8 00382C58 41 80 00 08 */ blt lbl_80387000
+/* 80386FFC 00382C5C 48 00 01 48 */ b lbl_80387144
+lbl_80387000:
+/* 80387000 00382C60 38 1F 00 01 */ addi r0, r31, 1
+/* 80387004 00382C64 7C A3 2B 78 */ mr r3, r5
+/* 80387008 00382C68 54 04 06 3E */ clrlwi r4, r0, 0x18
+/* 8038700C 00382C6C 48 00 4F C5 */ bl func_8038BFD0
+/* 80387010 00382C70 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80387014 00382C74 48 00 4F 1D */ bl func_8038BF30
+/* 80387018 00382C78 1C 1F 00 1C */ mulli r0, r31, 0x1c
+/* 8038701C 00382C7C 80 DC 00 00 */ lwz r6, 0(r28)
+/* 80387020 00382C80 80 BC 00 04 */ lwz r5, 4(r28)
+/* 80387024 00382C84 A0 9C 00 08 */ lhz r4, 8(r28)
+/* 80387028 00382C88 7C E3 02 14 */ add r7, r3, r0
+/* 8038702C 00382C8C A0 1C 00 0A */ lhz r0, 0xa(r28)
+/* 80387030 00382C90 90 C7 00 00 */ stw r6, 0(r7)
+/* 80387034 00382C94 C0 3C 00 0C */ lfs f1, 0xc(r28)
+/* 80387038 00382C98 90 A7 00 04 */ stw r5, 4(r7)
+/* 8038703C 00382C9C C0 1C 00 10 */ lfs f0, 0x10(r28)
+/* 80387040 00382CA0 B0 87 00 08 */ sth r4, 8(r7)
+/* 80387044 00382CA4 A0 9C 00 14 */ lhz r4, 0x14(r28)
+/* 80387048 00382CA8 B0 07 00 0A */ sth r0, 0xa(r7)
+/* 8038704C 00382CAC A0 7C 00 16 */ lhz r3, 0x16(r28)
+/* 80387050 00382CB0 D0 27 00 0C */ stfs f1, 0xc(r7)
+/* 80387054 00382CB4 80 1C 00 18 */ lwz r0, 0x18(r28)
+/* 80387058 00382CB8 D0 07 00 10 */ stfs f0, 0x10(r7)
+/* 8038705C 00382CBC B0 87 00 14 */ sth r4, 0x14(r7)
+/* 80387060 00382CC0 B0 67 00 16 */ sth r3, 0x16(r7)
+/* 80387064 00382CC4 90 07 00 18 */ stw r0, 0x18(r7)
+/* 80387068 00382CC8 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 8038706C 00382CCC 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 80387070 00382CD0 54 04 27 3E */ srwi r4, r0, 0x1c
+/* 80387074 00382CD4 48 00 4F ED */ bl func_8038C060
+/* 80387078 00382CD8 3B 80 00 00 */ li r28, 0
+/* 8038707C 00382CDC 3B A0 00 01 */ li r29, 1
+/* 80387080 00382CE0 38 80 00 04 */ li r4, 4
+/* 80387084 00382CE4 38 00 00 3C */ li r0, 0x3c
+/* 80387088 00382CE8 9B 81 00 0B */ stb r28, 0xb(r1)
+/* 8038708C 00382CEC 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80387090 00382CF0 9B A1 00 08 */ stb r29, 8(r1)
+/* 80387094 00382CF4 98 81 00 09 */ stb r4, 9(r1)
+/* 80387098 00382CF8 98 01 00 0A */ stb r0, 0xa(r1)
+/* 8038709C 00382CFC 80 01 00 08 */ lwz r0, 8(r1)
+/* 803870A0 00382D00 90 01 00 0C */ stw r0, 0xc(r1)
+/* 803870A4 00382D04 48 00 4E AD */ bl func_8038BF50
+/* 803870A8 00382D08 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d
+/* 803870AC 00382D0C 88 81 00 0C */ lbz r4, 0xc(r1)
+/* 803870B0 00382D10 7C A3 02 14 */ add r5, r3, r0
+/* 803870B4 00382D14 88 01 00 0D */ lbz r0, 0xd(r1)
+/* 803870B8 00382D18 98 85 00 00 */ stb r4, 0(r5)
+/* 803870BC 00382D1C 38 7E 00 E4 */ addi r3, r30, 0xe4
+/* 803870C0 00382D20 88 81 00 0E */ lbz r4, 0xe(r1)
+/* 803870C4 00382D24 98 05 00 01 */ stb r0, 1(r5)
+/* 803870C8 00382D28 88 01 00 0F */ lbz r0, 0xf(r1)
+/* 803870CC 00382D2C 98 85 00 02 */ stb r4, 2(r5)
+/* 803870D0 00382D30 98 05 00 03 */ stb r0, 3(r5)
+/* 803870D4 00382D34 80 9E 00 28 */ lwz r4, 0x28(r30)
+/* 803870D8 00382D38 80 04 00 3C */ lwz r0, 0x3c(r4)
+/* 803870DC 00382D3C 54 04 27 3E */ srwi r4, r0, 0x1c
+/* 803870E0 00382D40 48 00 77 75 */ bl func_8038E854
+/* 803870E4 00382D44 C0 22 A8 68 */ lfs f1, lbl_80642E68-_SDA2_BASE_(r2)
+/* 803870E8 00382D48 C0 1E 00 4C */ lfs f0, 0x4c(r30)
+/* 803870EC 00382D4C D0 21 00 18 */ stfs f1, 0x18(r1)
+/* 803870F0 00382D50 FC 00 08 00 */ fcmpu cr0, f0, f1
+/* 803870F4 00382D54 D0 21 00 1C */ stfs f1, 0x1c(r1)
+/* 803870F8 00382D58 40 82 00 14 */ bne lbl_8038710C
+/* 803870FC 00382D5C C0 1E 00 50 */ lfs f0, 0x50(r30)
+/* 80387100 00382D60 FC 00 08 00 */ fcmpu cr0, f0, f1
+/* 80387104 00382D64 40 82 00 08 */ bne lbl_8038710C
+/* 80387108 00382D68 7F BC EB 78 */ mr r28, r29
+lbl_8038710C:
+/* 8038710C 00382D6C 2C 1C 00 00 */ cmpwi r28, 0
+/* 80387110 00382D70 41 82 00 34 */ beq lbl_80387144
+/* 80387114 00382D74 80 9E 00 28 */ lwz r4, 0x28(r30)
+/* 80387118 00382D78 80 04 00 3C */ lwz r0, 0x3c(r4)
+/* 8038711C 00382D7C 54 00 27 3E */ srwi r0, r0, 0x1c
+/* 80387120 00382D80 28 00 00 01 */ cmplwi r0, 1
+/* 80387124 00382D84 40 82 00 20 */ bne lbl_80387144
+/* 80387128 00382D88 38 61 00 10 */ addi r3, r1, 0x10
+/* 8038712C 00382D8C 38 A0 00 00 */ li r5, 0
+/* 80387130 00382D90 48 00 61 E9 */ bl func_8038D318
+/* 80387134 00382D94 C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 80387138 00382D98 D0 1E 00 4C */ stfs f0, 0x4c(r30)
+/* 8038713C 00382D9C C0 01 00 14 */ lfs f0, 0x14(r1)
+/* 80387140 00382DA0 D0 1E 00 50 */ stfs f0, 0x50(r30)
+lbl_80387144:
+/* 80387144 00382DA4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80387148 00382DA8 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 8038714C 00382DAC 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80387150 00382DB0 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 80387154 00382DB4 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 80387158 00382DB8 7C 08 03 A6 */ mtlr r0
+/* 8038715C 00382DBC 38 21 00 30 */ addi r1, r1, 0x30
+/* 80387160 00382DC0 4E 80 00 20 */ blr
+
+.global GetVtxColor__Q34nw4r3lyt7PictureCFUl
+GetVtxColor__Q34nw4r3lyt7PictureCFUl:
+/* 80387164 00382DC4 54 A0 10 3A */ slwi r0, r5, 2
+/* 80387168 00382DC8 7C E4 02 14 */ add r7, r4, r0
+/* 8038716C 00382DCC 88 C7 00 D4 */ lbz r6, 0xd4(r7)
+/* 80387170 00382DD0 88 A7 00 D5 */ lbz r5, 0xd5(r7)
+/* 80387174 00382DD4 88 87 00 D6 */ lbz r4, 0xd6(r7)
+/* 80387178 00382DD8 88 07 00 D7 */ lbz r0, 0xd7(r7)
+/* 8038717C 00382DDC 98 C3 00 00 */ stb r6, 0(r3)
+/* 80387180 00382DE0 98 A3 00 01 */ stb r5, 1(r3)
+/* 80387184 00382DE4 98 83 00 02 */ stb r4, 2(r3)
+/* 80387188 00382DE8 98 03 00 03 */ stb r0, 3(r3)
+/* 8038718C 00382DEC 4E 80 00 20 */ blr
+
+.global SetVtxColor__Q34nw4r3lyt7PictureFUlQ34nw4r2ut5Color
+SetVtxColor__Q34nw4r3lyt7PictureFUlQ34nw4r2ut5Color:
+/* 80387190 00382DF0 54 80 10 3A */ slwi r0, r4, 2
+/* 80387194 00382DF4 88 C5 00 00 */ lbz r6, 0(r5)
+/* 80387198 00382DF8 7C 83 02 14 */ add r4, r3, r0
+/* 8038719C 00382DFC 88 05 00 01 */ lbz r0, 1(r5)
+/* 803871A0 00382E00 98 C4 00 D4 */ stb r6, 0xd4(r4)
+/* 803871A4 00382E04 88 65 00 02 */ lbz r3, 2(r5)
+/* 803871A8 00382E08 98 04 00 D5 */ stb r0, 0xd5(r4)
+/* 803871AC 00382E0C 88 05 00 03 */ lbz r0, 3(r5)
+/* 803871B0 00382E10 98 64 00 D6 */ stb r3, 0xd6(r4)
+/* 803871B4 00382E14 98 04 00 D7 */ stb r0, 0xd7(r4)
+/* 803871B8 00382E18 4E 80 00 20 */ blr
+
+.global GetVtxColorElement__Q34nw4r3lyt7PictureCFUl
+GetVtxColorElement__Q34nw4r3lyt7PictureCFUl:
+/* 803871BC 00382E1C 54 85 00 3A */ rlwinm r5, r4, 0, 0, 0x1d
+/* 803871C0 00382E20 54 80 07 BE */ clrlwi r0, r4, 0x1e
+/* 803871C4 00382E24 7C 63 2A 14 */ add r3, r3, r5
+/* 803871C8 00382E28 7C 63 02 14 */ add r3, r3, r0
+/* 803871CC 00382E2C 88 63 00 D4 */ lbz r3, 0xd4(r3)
+/* 803871D0 00382E30 4E 80 00 20 */ blr
+
+.global SetVtxColorElement__Q34nw4r3lyt7PictureFUlUc
+SetVtxColorElement__Q34nw4r3lyt7PictureFUlUc:
+/* 803871D4 00382E34 54 86 00 3A */ rlwinm r6, r4, 0, 0, 0x1d
+/* 803871D8 00382E38 54 80 07 BE */ clrlwi r0, r4, 0x1e
+/* 803871DC 00382E3C 7C 63 32 14 */ add r3, r3, r6
+/* 803871E0 00382E40 7C 63 02 14 */ add r3, r3, r0
+/* 803871E4 00382E44 98 A3 00 D4 */ stb r5, 0xd4(r3)
+/* 803871E8 00382E48 4E 80 00 20 */ blr
+
+.global DrawSelf__Q34nw4r3lyt7PictureFRCQ34nw4r3lyt8DrawInfo
+DrawSelf__Q34nw4r3lyt7PictureFRCQ34nw4r3lyt8DrawInfo:
+/* 803871EC 00382E4C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803871F0 00382E50 7C 08 02 A6 */ mflr r0
+/* 803871F4 00382E54 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803871F8 00382E58 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803871FC 00382E5C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80387200 00382E60 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80387204 00382E64 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80387208 00382E68 7C 7C 1B 78 */ mr r28, r3
+/* 8038720C 00382E6C 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 80387210 00382E70 2C 00 00 00 */ cmpwi r0, 0
+/* 80387214 00382E74 41 82 00 94 */ beq lbl_803872A8
+/* 80387218 00382E78 81 83 00 00 */ lwz r12, 0(r3)
+/* 8038721C 00382E7C 81 8C 00 60 */ lwz r12, 0x60(r12)
+/* 80387220 00382E80 7D 89 03 A6 */ mtctr r12
+/* 80387224 00382E84 4E 80 04 21 */ bctrl
+/* 80387228 00382E88 8B BC 00 B5 */ lbz r29, 0xb5(r28)
+/* 8038722C 00382E8C 38 7C 00 D4 */ addi r3, r28, 0xd4
+/* 80387230 00382E90 7F A4 EB 78 */ mr r4, r29
+/* 80387234 00382E94 48 00 77 A1 */ bl func_8038E9D4
+/* 80387238 00382E98 7C 64 1B 78 */ mr r4, r3
+/* 8038723C 00382E9C 80 7C 00 28 */ lwz r3, 0x28(r28)
+/* 80387240 00382EA0 7F A5 EB 78 */ mr r5, r29
+/* 80387244 00382EA4 81 83 00 00 */ lwz r12, 0(r3)
+/* 80387248 00382EA8 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 8038724C 00382EAC 7D 89 03 A6 */ mtctr r12
+/* 80387250 00382EB0 4E 80 04 21 */ bctrl
+/* 80387254 00382EB4 88 9C 00 E5 */ lbz r4, 0xe5(r28)
+/* 80387258 00382EB8 7C 7D 1B 78 */ mr r29, r3
+/* 8038725C 00382EBC 48 00 78 35 */ bl func_8038EA90
+/* 80387260 00382EC0 2C 1D 00 00 */ cmpwi r29, 0
+/* 80387264 00382EC4 41 82 00 0C */ beq lbl_80387270
+/* 80387268 00382EC8 3B DC 00 D4 */ addi r30, r28, 0xd4
+/* 8038726C 00382ECC 48 00 00 08 */ b lbl_80387274
+lbl_80387270:
+/* 80387270 00382ED0 3B C0 00 00 */ li r30, 0
+lbl_80387274:
+/* 80387274 00382ED4 83 BC 00 E8 */ lwz r29, 0xe8(r28)
+/* 80387278 00382ED8 7F 83 E3 78 */ mr r3, r28
+/* 8038727C 00382EDC 8B FC 00 E5 */ lbz r31, 0xe5(r28)
+/* 80387280 00382EE0 4B FF EA 99 */ bl GetVtxPos__Q34nw4r3lyt4PaneCFv
+/* 80387284 00382EE4 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80387288 00382EE8 7F E5 FB 78 */ mr r5, r31
+/* 8038728C 00382EEC 7F A6 EB 78 */ mr r6, r29
+/* 80387290 00382EF0 7F C7 F3 78 */ mr r7, r30
+/* 80387294 00382EF4 90 61 00 08 */ stw r3, 8(r1)
+/* 80387298 00382EF8 38 61 00 08 */ addi r3, r1, 8
+/* 8038729C 00382EFC 38 9C 00 4C */ addi r4, r28, 0x4c
+/* 803872A0 00382F00 89 1C 00 B5 */ lbz r8, 0xb5(r28)
+/* 803872A4 00382F04 48 00 7E 31 */ bl func_8038F0D4
+lbl_803872A8:
+/* 803872A8 00382F08 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803872AC 00382F0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803872B0 00382F10 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803872B4 00382F14 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803872B8 00382F18 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 803872BC 00382F1C 7C 08 03 A6 */ mtlr r0
+/* 803872C0 00382F20 38 21 00 20 */ addi r1, r1, 0x20
+/* 803872C4 00382F24 4E 80 00 20 */ blr
+
+.global GetRuntimeTypeInfo__Q34nw4r3lyt7PictureCFv
+GetRuntimeTypeInfo__Q34nw4r3lyt7PictureCFv:
+/* 803872C8 00382F28 38 6D B2 B8 */ addi r3, r13, lbl_80640578-_SDA_BASE_
+/* 803872CC 00382F2C 4E 80 00 20 */ blr
+
+.global __sinit_$3lyt_picture_cpp
+__sinit_$3lyt_picture_cpp:
+/* 803872D0 00382F30 38 0D B2 A8 */ addi r0, r13, lbl_80640568-_SDA_BASE_
+/* 803872D4 00382F34 90 0D B2 B8 */ stw r0, lbl_80640578-_SDA_BASE_(r13)
+/* 803872D8 00382F38 4E 80 00 20 */ blr
diff --git a/asm/text_11.s b/asm/text_11.s index b50e99a..527f4ba 100644 --- a/asm/text_11.s +++ b/asm/text_11.s @@ -2,358 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global cAIPad___ct -cAIPad___ct: -/* 80386DB4 00382A14 38 00 FF FF */ li r0, -1 -/* 80386DB8 00382A18 90 03 00 00 */ stw r0, 0(r3) -/* 80386DBC 00382A1C 4E 80 00 20 */ blr - -.global func_80386DC0 -func_80386DC0: -/* 80386DC0 00382A20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80386DC4 00382A24 7C 08 02 A6 */ mflr r0 -/* 80386DC8 00382A28 90 01 00 24 */ stw r0, 0x24(r1) -/* 80386DCC 00382A2C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80386DD0 00382A30 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80386DD4 00382A34 7C BE 2B 78 */ mr r30, r5 -/* 80386DD8 00382A38 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80386DDC 00382A3C 7C 9D 23 78 */ mr r29, r4 -/* 80386DE0 00382A40 93 81 00 10 */ stw r28, 0x10(r1) -/* 80386DE4 00382A44 7C 7C 1B 78 */ mr r28, r3 -/* 80386DE8 00382A48 4B FF E1 65 */ bl __ct__Q34nw4r3lyt4PaneFPCQ44nw4r3lyt3res4Pane -/* 80386DEC 00382A4C 3C 60 80 45 */ lis r3, lbl_8044E2E8@ha -/* 80386DF0 00382A50 3C 80 80 38 */ lis r4, cAIPad___ct@ha -/* 80386DF4 00382A54 38 63 E2 E8 */ addi r3, r3, lbl_8044E2E8@l -/* 80386DF8 00382A58 3C A0 80 36 */ lis r5, func_80362698@ha -/* 80386DFC 00382A5C 90 7C 00 00 */ stw r3, 0(r28) -/* 80386E00 00382A60 38 7C 00 D4 */ addi r3, r28, 0xd4 -/* 80386E04 00382A64 38 84 6D B4 */ addi r4, r4, cAIPad___ct@l -/* 80386E08 00382A68 38 A5 26 98 */ addi r5, r5, func_80362698@l -/* 80386E0C 00382A6C 38 C0 00 04 */ li r6, 4 -/* 80386E10 00382A70 38 E0 00 04 */ li r7, 4 -/* 80386E14 00382A74 4B E4 00 55 */ bl __construct_array -/* 80386E18 00382A78 38 7C 00 E4 */ addi r3, r28, 0xe4 -/* 80386E1C 00382A7C 48 00 79 59 */ bl func_8038E774 -/* 80386E20 00382A80 88 1D 00 5E */ lbz r0, 0x5e(r29) -/* 80386E24 00382A84 3B E0 00 08 */ li r31, 8 -/* 80386E28 00382A88 28 00 00 08 */ cmplwi r0, 8 -/* 80386E2C 00382A8C 41 81 00 08 */ bgt lbl_80386E34 -/* 80386E30 00382A90 7C 1F 03 78 */ mr r31, r0 -lbl_80386E34: -/* 80386E34 00382A94 57 E4 06 3F */ clrlwi. r4, r31, 0x18 -/* 80386E38 00382A98 41 82 00 0C */ beq lbl_80386E44 -/* 80386E3C 00382A9C 38 7C 00 E4 */ addi r3, r28, 0xe4 -/* 80386E40 00382AA0 48 00 79 95 */ bl func_8038E7D4 -lbl_80386E44: -/* 80386E44 00382AA4 80 DD 00 4C */ lwz r6, 0x4c(r29) -/* 80386E48 00382AA8 57 E5 06 3F */ clrlwi. r5, r31, 0x18 -/* 80386E4C 00382AAC 80 9D 00 50 */ lwz r4, 0x50(r29) -/* 80386E50 00382AB0 80 7D 00 54 */ lwz r3, 0x54(r29) -/* 80386E54 00382AB4 80 1D 00 58 */ lwz r0, 0x58(r29) -/* 80386E58 00382AB8 90 DC 00 D4 */ stw r6, 0xd4(r28) -/* 80386E5C 00382ABC 90 9C 00 D8 */ stw r4, 0xd8(r28) -/* 80386E60 00382AC0 90 7C 00 DC */ stw r3, 0xdc(r28) -/* 80386E64 00382AC4 90 1C 00 E0 */ stw r0, 0xe0(r28) -/* 80386E68 00382AC8 41 82 00 1C */ beq lbl_80386E84 -/* 80386E6C 00382ACC 88 1C 00 E4 */ lbz r0, 0xe4(r28) -/* 80386E70 00382AD0 2C 00 00 00 */ cmpwi r0, 0 -/* 80386E74 00382AD4 41 82 00 10 */ beq lbl_80386E84 -/* 80386E78 00382AD8 38 7C 00 E4 */ addi r3, r28, 0xe4 -/* 80386E7C 00382ADC 38 9D 00 60 */ addi r4, r29, 0x60 -/* 80386E80 00382AE0 48 00 7A C1 */ bl func_8038E940 -lbl_80386E84: -/* 80386E84 00382AE4 80 6D B2 B0 */ lwz r3, lbl_80640570-_SDA_BASE_(r13) -/* 80386E88 00382AE8 38 80 00 5C */ li r4, 0x5c -/* 80386E8C 00382AEC 4B F1 08 99 */ bl func_80297724 -/* 80386E90 00382AF0 2C 03 00 00 */ cmpwi r3, 0 -/* 80386E94 00382AF4 41 82 00 2C */ beq lbl_80386EC0 -/* 80386E98 00382AF8 A0 1D 00 5C */ lhz r0, 0x5c(r29) -/* 80386E9C 00382AFC 80 BE 00 08 */ lwz r5, 8(r30) -/* 80386EA0 00382B00 54 00 10 3A */ slwi r0, r0, 2 -/* 80386EA4 00382B04 7C 85 02 14 */ add r4, r5, r0 -/* 80386EA8 00382B08 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80386EAC 00382B0C 7C 85 02 14 */ add r4, r5, r0 -/* 80386EB0 00382B10 41 82 00 0C */ beq lbl_80386EBC -/* 80386EB4 00382B14 7F C5 F3 78 */ mr r5, r30 -/* 80386EB8 00382B18 48 00 38 25 */ bl func_8038A6DC -lbl_80386EBC: -/* 80386EBC 00382B1C 90 7C 00 28 */ stw r3, 0x28(r28) -lbl_80386EC0: -/* 80386EC0 00382B20 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80386EC4 00382B24 7F 83 E3 78 */ mr r3, r28 -/* 80386EC8 00382B28 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80386ECC 00382B2C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80386ED0 00382B30 83 81 00 10 */ lwz r28, 0x10(r1) -/* 80386ED4 00382B34 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80386ED8 00382B38 7C 08 03 A6 */ mtlr r0 -/* 80386EDC 00382B3C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80386EE0 00382B40 4E 80 00 20 */ blr -/* 80386EE4 00382B44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80386EE8 00382B48 7C 08 02 A6 */ mflr r0 -/* 80386EEC 00382B4C 2C 03 00 00 */ cmpwi r3, 0 -/* 80386EF0 00382B50 90 01 00 14 */ stw r0, 0x14(r1) -/* 80386EF4 00382B54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80386EF8 00382B58 7C 9F 23 78 */ mr r31, r4 -/* 80386EFC 00382B5C 93 C1 00 08 */ stw r30, 8(r1) -/* 80386F00 00382B60 7C 7E 1B 78 */ mr r30, r3 -/* 80386F04 00382B64 41 82 00 90 */ beq lbl_80386F94 -/* 80386F08 00382B68 80 A3 00 28 */ lwz r5, 0x28(r3) -/* 80386F0C 00382B6C 3C 80 80 45 */ lis r4, lbl_8044E2E8@ha -/* 80386F10 00382B70 38 84 E2 E8 */ addi r4, r4, lbl_8044E2E8@l -/* 80386F14 00382B74 2C 05 00 00 */ cmpwi r5, 0 -/* 80386F18 00382B78 90 83 00 00 */ stw r4, 0(r3) -/* 80386F1C 00382B7C 41 82 00 3C */ beq lbl_80386F58 -/* 80386F20 00382B80 88 05 00 59 */ lbz r0, 0x59(r5) -/* 80386F24 00382B84 2C 00 00 00 */ cmpwi r0, 0 -/* 80386F28 00382B88 40 82 00 30 */ bne lbl_80386F58 -/* 80386F2C 00382B8C 81 85 00 00 */ lwz r12, 0(r5) -/* 80386F30 00382B90 7C A3 2B 78 */ mr r3, r5 -/* 80386F34 00382B94 38 80 FF FF */ li r4, -1 -/* 80386F38 00382B98 81 8C 00 08 */ lwz r12, 8(r12) -/* 80386F3C 00382B9C 7D 89 03 A6 */ mtctr r12 -/* 80386F40 00382BA0 4E 80 04 21 */ bctrl -/* 80386F44 00382BA4 80 6D B2 B0 */ lwz r3, lbl_80640570-_SDA_BASE_(r13) -/* 80386F48 00382BA8 80 9E 00 28 */ lwz r4, 0x28(r30) -/* 80386F4C 00382BAC 4B F1 07 E9 */ bl func_80297734 -/* 80386F50 00382BB0 38 00 00 00 */ li r0, 0 -/* 80386F54 00382BB4 90 1E 00 28 */ stw r0, 0x28(r30) -lbl_80386F58: -/* 80386F58 00382BB8 38 7E 00 E4 */ addi r3, r30, 0xe4 -/* 80386F5C 00382BBC 48 00 78 2D */ bl func_8038E788 -/* 80386F60 00382BC0 3C 80 80 36 */ lis r4, func_80362698@ha -/* 80386F64 00382BC4 38 7E 00 D4 */ addi r3, r30, 0xd4 -/* 80386F68 00382BC8 38 84 26 98 */ addi r4, r4, func_80362698@l -/* 80386F6C 00382BCC 38 A0 00 04 */ li r5, 4 -/* 80386F70 00382BD0 38 C0 00 04 */ li r6, 4 -/* 80386F74 00382BD4 4B E3 FF ED */ bl __destroy_arr -/* 80386F78 00382BD8 7F C3 F3 78 */ mr r3, r30 -/* 80386F7C 00382BDC 38 80 00 00 */ li r4, 0 -/* 80386F80 00382BE0 4B FF E1 01 */ bl __dt__Q34nw4r3lyt4PaneFv -/* 80386F84 00382BE4 2C 1F 00 00 */ cmpwi r31, 0 -/* 80386F88 00382BE8 40 81 00 0C */ ble lbl_80386F94 -/* 80386F8C 00382BEC 7F C3 F3 78 */ mr r3, r30 -/* 80386F90 00382BF0 4B E5 3B 29 */ bl func_801DAAB8 -lbl_80386F94: -/* 80386F94 00382BF4 7F C3 F3 78 */ mr r3, r30 -/* 80386F98 00382BF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80386F9C 00382BFC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80386FA0 00382C00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80386FA4 00382C04 7C 08 03 A6 */ mtlr r0 -/* 80386FA8 00382C08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80386FAC 00382C0C 4E 80 00 20 */ blr -/* 80386FB0 00382C10 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80386FB4 00382C14 7C 08 02 A6 */ mflr r0 -/* 80386FB8 00382C18 90 01 00 34 */ stw r0, 0x34(r1) -/* 80386FBC 00382C1C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80386FC0 00382C20 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80386FC4 00382C24 7C 7E 1B 78 */ mr r30, r3 -/* 80386FC8 00382C28 93 A1 00 24 */ stw r29, 0x24(r1) -/* 80386FCC 00382C2C 93 81 00 20 */ stw r28, 0x20(r1) -/* 80386FD0 00382C30 7C 9C 23 78 */ mr r28, r4 -/* 80386FD4 00382C34 80 A3 00 28 */ lwz r5, 0x28(r3) -/* 80386FD8 00382C38 80 05 00 3C */ lwz r0, 0x3c(r5) -/* 80386FDC 00382C3C 80 65 00 38 */ lwz r3, 0x38(r5) -/* 80386FE0 00382C40 54 1F 27 3E */ srwi r31, r0, 0x1c -/* 80386FE4 00382C44 54 60 27 3E */ srwi r0, r3, 0x1c -/* 80386FE8 00382C48 7C 1F 00 40 */ cmplw r31, r0 -/* 80386FEC 00382C4C 40 80 01 58 */ bge lbl_80387144 -/* 80386FF0 00382C50 54 60 67 3E */ rlwinm r0, r3, 0xc, 0x1c, 0x1f -/* 80386FF4 00382C54 7C 1F 00 40 */ cmplw r31, r0 -/* 80386FF8 00382C58 41 80 00 08 */ blt lbl_80387000 -/* 80386FFC 00382C5C 48 00 01 48 */ b lbl_80387144 -lbl_80387000: -/* 80387000 00382C60 38 1F 00 01 */ addi r0, r31, 1 -/* 80387004 00382C64 7C A3 2B 78 */ mr r3, r5 -/* 80387008 00382C68 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8038700C 00382C6C 48 00 4F C5 */ bl func_8038BFD0 -/* 80387010 00382C70 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80387014 00382C74 48 00 4F 1D */ bl func_8038BF30 -/* 80387018 00382C78 1C 1F 00 1C */ mulli r0, r31, 0x1c -/* 8038701C 00382C7C 80 DC 00 00 */ lwz r6, 0(r28) -/* 80387020 00382C80 80 BC 00 04 */ lwz r5, 4(r28) -/* 80387024 00382C84 A0 9C 00 08 */ lhz r4, 8(r28) -/* 80387028 00382C88 7C E3 02 14 */ add r7, r3, r0 -/* 8038702C 00382C8C A0 1C 00 0A */ lhz r0, 0xa(r28) -/* 80387030 00382C90 90 C7 00 00 */ stw r6, 0(r7) -/* 80387034 00382C94 C0 3C 00 0C */ lfs f1, 0xc(r28) -/* 80387038 00382C98 90 A7 00 04 */ stw r5, 4(r7) -/* 8038703C 00382C9C C0 1C 00 10 */ lfs f0, 0x10(r28) -/* 80387040 00382CA0 B0 87 00 08 */ sth r4, 8(r7) -/* 80387044 00382CA4 A0 9C 00 14 */ lhz r4, 0x14(r28) -/* 80387048 00382CA8 B0 07 00 0A */ sth r0, 0xa(r7) -/* 8038704C 00382CAC A0 7C 00 16 */ lhz r3, 0x16(r28) -/* 80387050 00382CB0 D0 27 00 0C */ stfs f1, 0xc(r7) -/* 80387054 00382CB4 80 1C 00 18 */ lwz r0, 0x18(r28) -/* 80387058 00382CB8 D0 07 00 10 */ stfs f0, 0x10(r7) -/* 8038705C 00382CBC B0 87 00 14 */ sth r4, 0x14(r7) -/* 80387060 00382CC0 B0 67 00 16 */ sth r3, 0x16(r7) -/* 80387064 00382CC4 90 07 00 18 */ stw r0, 0x18(r7) -/* 80387068 00382CC8 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 8038706C 00382CCC 80 03 00 3C */ lwz r0, 0x3c(r3) -/* 80387070 00382CD0 54 04 27 3E */ srwi r4, r0, 0x1c -/* 80387074 00382CD4 48 00 4F ED */ bl func_8038C060 -/* 80387078 00382CD8 3B 80 00 00 */ li r28, 0 -/* 8038707C 00382CDC 3B A0 00 01 */ li r29, 1 -/* 80387080 00382CE0 38 80 00 04 */ li r4, 4 -/* 80387084 00382CE4 38 00 00 3C */ li r0, 0x3c -/* 80387088 00382CE8 9B 81 00 0B */ stb r28, 0xb(r1) -/* 8038708C 00382CEC 80 7E 00 28 */ lwz r3, 0x28(r30) -/* 80387090 00382CF0 9B A1 00 08 */ stb r29, 8(r1) -/* 80387094 00382CF4 98 81 00 09 */ stb r4, 9(r1) -/* 80387098 00382CF8 98 01 00 0A */ stb r0, 0xa(r1) -/* 8038709C 00382CFC 80 01 00 08 */ lwz r0, 8(r1) -/* 803870A0 00382D00 90 01 00 0C */ stw r0, 0xc(r1) -/* 803870A4 00382D04 48 00 4E AD */ bl func_8038BF50 -/* 803870A8 00382D08 57 E0 15 BA */ rlwinm r0, r31, 2, 0x16, 0x1d -/* 803870AC 00382D0C 88 81 00 0C */ lbz r4, 0xc(r1) -/* 803870B0 00382D10 7C A3 02 14 */ add r5, r3, r0 -/* 803870B4 00382D14 88 01 00 0D */ lbz r0, 0xd(r1) -/* 803870B8 00382D18 98 85 00 00 */ stb r4, 0(r5) -/* 803870BC 00382D1C 38 7E 00 E4 */ addi r3, r30, 0xe4 -/* 803870C0 00382D20 88 81 00 0E */ lbz r4, 0xe(r1) -/* 803870C4 00382D24 98 05 00 01 */ stb r0, 1(r5) -/* 803870C8 00382D28 88 01 00 0F */ lbz r0, 0xf(r1) -/* 803870CC 00382D2C 98 85 00 02 */ stb r4, 2(r5) -/* 803870D0 00382D30 98 05 00 03 */ stb r0, 3(r5) -/* 803870D4 00382D34 80 9E 00 28 */ lwz r4, 0x28(r30) -/* 803870D8 00382D38 80 04 00 3C */ lwz r0, 0x3c(r4) -/* 803870DC 00382D3C 54 04 27 3E */ srwi r4, r0, 0x1c -/* 803870E0 00382D40 48 00 77 75 */ bl func_8038E854 -/* 803870E4 00382D44 C0 22 A8 68 */ lfs f1, lbl_80642E68-_SDA2_BASE_(r2) -/* 803870E8 00382D48 C0 1E 00 4C */ lfs f0, 0x4c(r30) -/* 803870EC 00382D4C D0 21 00 18 */ stfs f1, 0x18(r1) -/* 803870F0 00382D50 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 803870F4 00382D54 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 803870F8 00382D58 40 82 00 14 */ bne lbl_8038710C -/* 803870FC 00382D5C C0 1E 00 50 */ lfs f0, 0x50(r30) -/* 80387100 00382D60 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 80387104 00382D64 40 82 00 08 */ bne lbl_8038710C -/* 80387108 00382D68 7F BC EB 78 */ mr r28, r29 -lbl_8038710C: -/* 8038710C 00382D6C 2C 1C 00 00 */ cmpwi r28, 0 -/* 80387110 00382D70 41 82 00 34 */ beq lbl_80387144 -/* 80387114 00382D74 80 9E 00 28 */ lwz r4, 0x28(r30) -/* 80387118 00382D78 80 04 00 3C */ lwz r0, 0x3c(r4) -/* 8038711C 00382D7C 54 00 27 3E */ srwi r0, r0, 0x1c -/* 80387120 00382D80 28 00 00 01 */ cmplwi r0, 1 -/* 80387124 00382D84 40 82 00 20 */ bne lbl_80387144 -/* 80387128 00382D88 38 61 00 10 */ addi r3, r1, 0x10 -/* 8038712C 00382D8C 38 A0 00 00 */ li r5, 0 -/* 80387130 00382D90 48 00 61 E9 */ bl func_8038D318 -/* 80387134 00382D94 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80387138 00382D98 D0 1E 00 4C */ stfs f0, 0x4c(r30) -/* 8038713C 00382D9C C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80387140 00382DA0 D0 1E 00 50 */ stfs f0, 0x50(r30) -lbl_80387144: -/* 80387144 00382DA4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80387148 00382DA8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8038714C 00382DAC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80387150 00382DB0 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 80387154 00382DB4 83 81 00 20 */ lwz r28, 0x20(r1) -/* 80387158 00382DB8 7C 08 03 A6 */ mtlr r0 -/* 8038715C 00382DBC 38 21 00 30 */ addi r1, r1, 0x30 -/* 80387160 00382DC0 4E 80 00 20 */ blr -/* 80387164 00382DC4 54 A0 10 3A */ slwi r0, r5, 2 -/* 80387168 00382DC8 7C E4 02 14 */ add r7, r4, r0 -/* 8038716C 00382DCC 88 C7 00 D4 */ lbz r6, 0xd4(r7) -/* 80387170 00382DD0 88 A7 00 D5 */ lbz r5, 0xd5(r7) -/* 80387174 00382DD4 88 87 00 D6 */ lbz r4, 0xd6(r7) -/* 80387178 00382DD8 88 07 00 D7 */ lbz r0, 0xd7(r7) -/* 8038717C 00382DDC 98 C3 00 00 */ stb r6, 0(r3) -/* 80387180 00382DE0 98 A3 00 01 */ stb r5, 1(r3) -/* 80387184 00382DE4 98 83 00 02 */ stb r4, 2(r3) -/* 80387188 00382DE8 98 03 00 03 */ stb r0, 3(r3) -/* 8038718C 00382DEC 4E 80 00 20 */ blr -/* 80387190 00382DF0 54 80 10 3A */ slwi r0, r4, 2 -/* 80387194 00382DF4 88 C5 00 00 */ lbz r6, 0(r5) -/* 80387198 00382DF8 7C 83 02 14 */ add r4, r3, r0 -/* 8038719C 00382DFC 88 05 00 01 */ lbz r0, 1(r5) -/* 803871A0 00382E00 98 C4 00 D4 */ stb r6, 0xd4(r4) -/* 803871A4 00382E04 88 65 00 02 */ lbz r3, 2(r5) -/* 803871A8 00382E08 98 04 00 D5 */ stb r0, 0xd5(r4) -/* 803871AC 00382E0C 88 05 00 03 */ lbz r0, 3(r5) -/* 803871B0 00382E10 98 64 00 D6 */ stb r3, 0xd6(r4) -/* 803871B4 00382E14 98 04 00 D7 */ stb r0, 0xd7(r4) -/* 803871B8 00382E18 4E 80 00 20 */ blr -/* 803871BC 00382E1C 54 85 00 3A */ rlwinm r5, r4, 0, 0, 0x1d -/* 803871C0 00382E20 54 80 07 BE */ clrlwi r0, r4, 0x1e -/* 803871C4 00382E24 7C 63 2A 14 */ add r3, r3, r5 -/* 803871C8 00382E28 7C 63 02 14 */ add r3, r3, r0 -/* 803871CC 00382E2C 88 63 00 D4 */ lbz r3, 0xd4(r3) -/* 803871D0 00382E30 4E 80 00 20 */ blr -/* 803871D4 00382E34 54 86 00 3A */ rlwinm r6, r4, 0, 0, 0x1d -/* 803871D8 00382E38 54 80 07 BE */ clrlwi r0, r4, 0x1e -/* 803871DC 00382E3C 7C 63 32 14 */ add r3, r3, r6 -/* 803871E0 00382E40 7C 63 02 14 */ add r3, r3, r0 -/* 803871E4 00382E44 98 A3 00 D4 */ stb r5, 0xd4(r3) -/* 803871E8 00382E48 4E 80 00 20 */ blr -/* 803871EC 00382E4C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803871F0 00382E50 7C 08 02 A6 */ mflr r0 -/* 803871F4 00382E54 90 01 00 24 */ stw r0, 0x24(r1) -/* 803871F8 00382E58 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803871FC 00382E5C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80387200 00382E60 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80387204 00382E64 93 81 00 10 */ stw r28, 0x10(r1) -/* 80387208 00382E68 7C 7C 1B 78 */ mr r28, r3 -/* 8038720C 00382E6C 80 03 00 28 */ lwz r0, 0x28(r3) -/* 80387210 00382E70 2C 00 00 00 */ cmpwi r0, 0 -/* 80387214 00382E74 41 82 00 94 */ beq lbl_803872A8 -/* 80387218 00382E78 81 83 00 00 */ lwz r12, 0(r3) -/* 8038721C 00382E7C 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 80387220 00382E80 7D 89 03 A6 */ mtctr r12 -/* 80387224 00382E84 4E 80 04 21 */ bctrl -/* 80387228 00382E88 8B BC 00 B5 */ lbz r29, 0xb5(r28) -/* 8038722C 00382E8C 38 7C 00 D4 */ addi r3, r28, 0xd4 -/* 80387230 00382E90 7F A4 EB 78 */ mr r4, r29 -/* 80387234 00382E94 48 00 77 A1 */ bl func_8038E9D4 -/* 80387238 00382E98 7C 64 1B 78 */ mr r4, r3 -/* 8038723C 00382E9C 80 7C 00 28 */ lwz r3, 0x28(r28) -/* 80387240 00382EA0 7F A5 EB 78 */ mr r5, r29 -/* 80387244 00382EA4 81 83 00 00 */ lwz r12, 0(r3) -/* 80387248 00382EA8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8038724C 00382EAC 7D 89 03 A6 */ mtctr r12 -/* 80387250 00382EB0 4E 80 04 21 */ bctrl -/* 80387254 00382EB4 88 9C 00 E5 */ lbz r4, 0xe5(r28) -/* 80387258 00382EB8 7C 7D 1B 78 */ mr r29, r3 -/* 8038725C 00382EBC 48 00 78 35 */ bl func_8038EA90 -/* 80387260 00382EC0 2C 1D 00 00 */ cmpwi r29, 0 -/* 80387264 00382EC4 41 82 00 0C */ beq lbl_80387270 -/* 80387268 00382EC8 3B DC 00 D4 */ addi r30, r28, 0xd4 -/* 8038726C 00382ECC 48 00 00 08 */ b lbl_80387274 -lbl_80387270: -/* 80387270 00382ED0 3B C0 00 00 */ li r30, 0 -lbl_80387274: -/* 80387274 00382ED4 83 BC 00 E8 */ lwz r29, 0xe8(r28) -/* 80387278 00382ED8 7F 83 E3 78 */ mr r3, r28 -/* 8038727C 00382EDC 8B FC 00 E5 */ lbz r31, 0xe5(r28) -/* 80387280 00382EE0 4B FF EA 99 */ bl GetVtxPos__Q34nw4r3lyt4PaneCFv -/* 80387284 00382EE4 90 81 00 0C */ stw r4, 0xc(r1) -/* 80387288 00382EE8 7F E5 FB 78 */ mr r5, r31 -/* 8038728C 00382EEC 7F A6 EB 78 */ mr r6, r29 -/* 80387290 00382EF0 7F C7 F3 78 */ mr r7, r30 -/* 80387294 00382EF4 90 61 00 08 */ stw r3, 8(r1) -/* 80387298 00382EF8 38 61 00 08 */ addi r3, r1, 8 -/* 8038729C 00382EFC 38 9C 00 4C */ addi r4, r28, 0x4c -/* 803872A0 00382F00 89 1C 00 B5 */ lbz r8, 0xb5(r28) -/* 803872A4 00382F04 48 00 7E 31 */ bl func_8038F0D4 -lbl_803872A8: -/* 803872A8 00382F08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803872AC 00382F0C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803872B0 00382F10 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803872B4 00382F14 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803872B8 00382F18 83 81 00 10 */ lwz r28, 0x10(r1) -/* 803872BC 00382F1C 7C 08 03 A6 */ mtlr r0 -/* 803872C0 00382F20 38 21 00 20 */ addi r1, r1, 0x20 -/* 803872C4 00382F24 4E 80 00 20 */ blr -/* 803872C8 00382F28 38 6D B2 B8 */ addi r3, r13, lbl_80640578-_SDA_BASE_ -/* 803872CC 00382F2C 4E 80 00 20 */ blr - -.global func_803872D0 -func_803872D0: -/* 803872D0 00382F30 38 0D B2 A8 */ addi r0, r13, lbl_80640568-_SDA_BASE_ -/* 803872D4 00382F34 90 0D B2 B8 */ stw r0, lbl_80640578-_SDA_BASE_(r13) -/* 803872D8 00382F38 4E 80 00 20 */ blr - .global func_803872DC func_803872DC: /* 803872DC 00382F3C A8 A4 00 00 */ lha r5, 0(r4) @@ -422,12 +70,12 @@ func_80387390: /* 803873AC 0038300C 7C BE 2B 78 */ mr r30, r5 /* 803873B0 00383010 4B FF DB 9D */ bl __ct__Q34nw4r3lyt4PaneFPCQ44nw4r3lyt3res4Pane /* 803873B4 00383014 3C 60 80 45 */ lis r3, lbl_8044E350@ha -/* 803873B8 00383018 3C 80 80 38 */ lis r4, cAIPad___ct@ha +/* 803873B8 00383018 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut5ColorFv@ha /* 803873BC 0038301C 38 63 E3 50 */ addi r3, r3, lbl_8044E350@l /* 803873C0 00383020 3C A0 80 36 */ lis r5, func_80362698@ha /* 803873C4 00383024 90 7C 00 00 */ stw r3, 0(r28) /* 803873C8 00383028 38 7C 00 D8 */ addi r3, r28, 0xd8 -/* 803873CC 0038302C 38 84 6D B4 */ addi r4, r4, cAIPad___ct@l +/* 803873CC 0038302C 38 84 6D B4 */ addi r4, r4, __ct__Q34nw4r2ut5ColorFv@l /* 803873D0 00383030 38 A5 26 98 */ addi r5, r5, func_80362698@l /* 803873D4 00383034 38 C0 00 04 */ li r6, 4 /* 803873D8 00383038 38 E0 00 02 */ li r7, 2 @@ -1187,13 +835,13 @@ func_80387EB4: /* 80387ED0 00383B30 7C BA 2B 78 */ mr r26, r5 /* 80387ED4 00383B34 4B FF D0 79 */ bl __ct__Q34nw4r3lyt4PaneFPCQ44nw4r3lyt3res4Pane /* 80387ED8 00383B38 3C 60 80 45 */ lis r3, lbl_8044E404@ha -/* 80387EDC 00383B3C 3C 80 80 38 */ lis r4, cAIPad___ct@ha +/* 80387EDC 00383B3C 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut5ColorFv@ha /* 80387EE0 00383B40 38 63 E4 04 */ addi r3, r3, lbl_8044E404@l /* 80387EE4 00383B44 3C A0 80 36 */ lis r5, func_80362698@ha /* 80387EE8 00383B48 3B 78 00 E4 */ addi r27, r24, 0xe4 /* 80387EEC 00383B4C 90 78 00 00 */ stw r3, 0(r24) /* 80387EF0 00383B50 7F 63 DB 78 */ mr r3, r27 -/* 80387EF4 00383B54 38 84 6D B4 */ addi r4, r4, cAIPad___ct@l +/* 80387EF4 00383B54 38 84 6D B4 */ addi r4, r4, __ct__Q34nw4r2ut5ColorFv@l /* 80387EF8 00383B58 38 A5 26 98 */ addi r5, r5, func_80362698@l /* 80387EFC 00383B5C 38 C0 00 04 */ li r6, 4 /* 80387F00 00383B60 38 E0 00 04 */ li r7, 4 @@ -3833,12 +3481,12 @@ func_8038A6DC: /* 8038A6F8 00386358 91 C3 00 08 */ stw r14, 8(r3) /* 8038A6FC 0038635C 39 23 00 08 */ addi r9, r3, 8 /* 8038A700 00386360 39 08 E5 28 */ addi r8, r8, lbl_8044E528@l -/* 8038A704 00386364 3C E0 80 38 */ lis r7, cAIPad___ct@ha +/* 8038A704 00386364 3C E0 80 38 */ lis r7, __ct__Q34nw4r2ut5ColorFv@ha /* 8038A708 00386368 91 C3 00 0C */ stw r14, 0xc(r3) /* 8038A70C 0038636C 3C C0 80 36 */ lis r6, func_80362698@ha /* 8038A710 00386370 7C 90 23 78 */ mr r16, r4 /* 8038A714 00386374 7C B1 2B 78 */ mr r17, r5 -/* 8038A718 00386378 38 87 6D B4 */ addi r4, r7, cAIPad___ct@l +/* 8038A718 00386378 38 87 6D B4 */ addi r4, r7, __ct__Q34nw4r2ut5ColorFv@l /* 8038A71C 0038637C 38 A6 26 98 */ addi r5, r6, func_80362698@l /* 8038A720 00386380 91 03 00 00 */ stw r8, 0(r3) /* 8038A724 00386384 7C 6F 1B 78 */ mr r15, r3 diff --git a/obj_files.mk b/obj_files.mk index d0e4250..f2d3145 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -169,6 +169,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/nw4r/lyt/lyt_pane.o \ $(BUILD_DIR)/asm/nw4r/lyt/lyt_group.o \ $(BUILD_DIR)/asm/nw4r/lyt/lyt_layout.o \ + $(BUILD_DIR)/asm/nw4r/lyt/lyt_picture.o \ $(BUILD_DIR)/asm/text_11.o CTORS_O_FILES := \ |