You've already forked smb-decomp
mirror of
https://github.com/encounter/smb-decomp.git
synced 2026-03-30 11:38:28 -07:00
16f00758fb
* More item labels * Idk * Blur bridge labels * Label animgroup stage models * StageModel -> AnimGroupModel * bg_bonus labels * Flipbook animation labels * More flipbook labels * Flipbooks again * More flipbook labels * Fix bg_end.c * Effect * Start nl2ngc labels * Continue avdisp labels * Continue nl2ngc labels * Remove poop.c * Uh oh, labels * More nl2ngc? * Merge fixup * Label NL model types * More stupid Naomi name thrashing * Even more Naomi name thrashing * Misc * Finish up nl2ngc labels for now * Fix mouse merge * g_poolInfo * PoolInfo * Remove stobj.s * Use extracted GMA model name enums for flipbook anims * Remove old unmatched func * Remove mouse.s * More naomi->nl * Label nl2ngc material/ambient colors
3101 lines
135 KiB
ArmAsm
3101 lines
135 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text
|
|
|
|
.global submode_mini_commend_init_func
|
|
submode_mini_commend_init_func:
|
|
/* 8009B9FC 0009791C 7C 08 02 A6 */ mflr r0
|
|
/* 8009BA00 00097920 38 60 00 0F */ li r3, 0xf
|
|
/* 8009BA04 00097924 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009BA08 00097928 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 8009BA0C 0009792C 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 8009BA10 00097930 4B F6 F9 19 */ bl event_start
|
|
/* 8009BA14 00097934 38 60 00 10 */ li r3, 0x10
|
|
/* 8009BA18 00097938 4B F6 F9 11 */ bl event_start
|
|
/* 8009BA1C 0009793C 38 60 00 0D */ li r3, 0xd
|
|
/* 8009BA20 00097940 4B F6 F9 09 */ bl event_start
|
|
/* 8009BA24 00097944 38 60 00 12 */ li r3, 0x12
|
|
/* 8009BA28 00097948 4B F6 F9 01 */ bl event_start
|
|
/* 8009BA2C 0009794C 38 60 00 46 */ li r3, 0x46
|
|
/* 8009BA30 00097950 4B F7 CF D5 */ bl camera_set_state
|
|
/* 8009BA34 00097954 3C 60 80 1F */ lis r3, cameraInfo@ha
|
|
/* 8009BA38 00097958 C0 22 B1 C0 */ lfs f1, lbl_802F59C0@sda21(r2)
|
|
/* 8009BA3C 0009795C 39 43 EF 00 */ addi r10, r3, cameraInfo@l
|
|
/* 8009BA40 00097960 D0 2A 00 00 */ stfs f1, 0(r10)
|
|
/* 8009BA44 00097964 3B E0 00 00 */ li r31, 0
|
|
/* 8009BA48 00097968 39 20 00 41 */ li r9, 0x41
|
|
/* 8009BA4C 0009796C C0 02 B1 C4 */ lfs f0, lbl_802F59C4@sda21(r2)
|
|
/* 8009BA50 00097970 39 00 00 01 */ li r8, 1
|
|
/* 8009BA54 00097974 38 E0 00 42 */ li r7, 0x42
|
|
/* 8009BA58 00097978 D0 0A 00 04 */ stfs f0, 4(r10)
|
|
/* 8009BA5C 0009797C 38 C0 00 02 */ li r6, 2
|
|
/* 8009BA60 00097980 38 A0 00 43 */ li r5, 0x43
|
|
/* 8009BA64 00097984 C0 02 B1 C8 */ lfs f0, lbl_802F59C8@sda21(r2)
|
|
/* 8009BA68 00097988 38 00 00 03 */ li r0, 3
|
|
/* 8009BA6C 0009798C 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 8009BA70 00097990 D0 0A 00 08 */ stfs f0, 8(r10)
|
|
/* 8009BA74 00097994 38 81 00 08 */ addi r4, r1, 8
|
|
/* 8009BA78 00097998 D0 2A 00 0C */ stfs f1, 0xc(r10)
|
|
/* 8009BA7C 0009799C C0 02 B1 CC */ lfs f0, lbl_802F59CC@sda21(r2)
|
|
/* 8009BA80 000979A0 D0 0A 00 10 */ stfs f0, 0x10(r10)
|
|
/* 8009BA84 000979A4 C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009BA88 000979A8 D0 0A 00 14 */ stfs f0, 0x14(r10)
|
|
/* 8009BA8C 000979AC 9B E1 00 0C */ stb r31, 0xc(r1)
|
|
/* 8009BA90 000979B0 9B E1 00 08 */ stb r31, 8(r1)
|
|
/* 8009BA94 000979B4 99 21 00 0D */ stb r9, 0xd(r1)
|
|
/* 8009BA98 000979B8 99 01 00 09 */ stb r8, 9(r1)
|
|
/* 8009BA9C 000979BC 98 E1 00 0E */ stb r7, 0xe(r1)
|
|
/* 8009BAA0 000979C0 98 C1 00 0A */ stb r6, 0xa(r1)
|
|
/* 8009BAA4 000979C4 98 A1 00 0F */ stb r5, 0xf(r1)
|
|
/* 8009BAA8 000979C8 98 01 00 0B */ stb r0, 0xb(r1)
|
|
/* 8009BAAC 000979CC 48 00 0B 39 */ bl func_8009C5E4
|
|
/* 8009BAB0 000979D0 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 8009BAB4 000979D4 38 83 EC 20 */ addi r4, r3, modeCtrl@l
|
|
/* 8009BAB8 000979D8 3C 60 80 0A */ lis r3, lbl_8009BED8@ha
|
|
/* 8009BABC 000979DC 93 E4 00 10 */ stw r31, 0x10(r4)
|
|
/* 8009BAC0 000979E0 38 63 BE D8 */ addi r3, r3, lbl_8009BED8@l
|
|
/* 8009BAC4 000979E4 38 00 00 A3 */ li r0, 0xa3
|
|
/* 8009BAC8 000979E8 90 6D 99 9C */ stw r3, lbl_802F1B7C@sda21(r13)
|
|
/* 8009BACC 000979EC B0 0D 99 AC */ sth r0, gameSubmodeRequest@sda21(r13)
|
|
/* 8009BAD0 000979F0 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 8009BAD4 000979F4 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 8009BAD8 000979F8 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 8009BADC 000979FC 7C 08 03 A6 */ mtlr r0
|
|
/* 8009BAE0 00097A00 4E 80 00 20 */ blr
|
|
.global submode_mini_commend_main_func
|
|
submode_mini_commend_main_func:
|
|
/* 8009BAE4 00097A04 7C 08 02 A6 */ mflr r0
|
|
/* 8009BAE8 00097A08 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009BAEC 00097A0C 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 8009BAF0 00097A10 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 8009BAF4 00097A14 93 C1 00 20 */ stw r30, 0x20(r1)
|
|
/* 8009BAF8 00097A18 80 0D 9D 00 */ lwz r0, gamePauseStatus@sda21(r13)
|
|
/* 8009BAFC 00097A1C 70 00 00 0A */ andi. r0, r0, 0xa
|
|
/* 8009BB00 00097A20 40 82 03 C0 */ bne lbl_8009BEC0
|
|
/* 8009BB04 00097A24 3C 60 80 1F */ lis r3, controllerInfo@ha
|
|
/* 8009BB08 00097A28 38 63 3B 70 */ addi r3, r3, controllerInfo@l
|
|
/* 8009BB0C 00097A2C A0 83 00 18 */ lhz r4, 0x18(r3)
|
|
/* 8009BB10 00097A30 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 8009BB14 00097A34 38 63 EC 20 */ addi r3, r3, modeCtrl@l
|
|
/* 8009BB18 00097A38 3B E3 00 10 */ addi r31, r3, 0x10
|
|
/* 8009BB1C 00097A3C 80 63 00 10 */ lwz r3, 0x10(r3)
|
|
/* 8009BB20 00097A40 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
|
|
/* 8009BB24 00097A44 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8009BB28 00097A48 41 82 00 14 */ beq lbl_8009BB3C
|
|
/* 8009BB2C 00097A4C 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 8009BB30 00097A50 2C 1E 00 0B */ cmpwi r30, 0xb
|
|
/* 8009BB34 00097A54 41 80 00 08 */ blt lbl_8009BB3C
|
|
/* 8009BB38 00097A58 3B C0 00 00 */ li r30, 0
|
|
lbl_8009BB3C:
|
|
/* 8009BB3C 00097A5C 54 80 07 FF */ clrlwi. r0, r4, 0x1f
|
|
/* 8009BB40 00097A60 41 82 00 10 */ beq lbl_8009BB50
|
|
/* 8009BB44 00097A64 37 DE FF FF */ addic. r30, r30, -1
|
|
/* 8009BB48 00097A68 40 80 00 08 */ bge lbl_8009BB50
|
|
/* 8009BB4C 00097A6C 3B C0 00 0A */ li r30, 0xa
|
|
lbl_8009BB50:
|
|
/* 8009BB50 00097A70 7C 1E 18 00 */ cmpw r30, r3
|
|
/* 8009BB54 00097A74 41 82 03 3C */ beq lbl_8009BE90
|
|
/* 8009BB58 00097A78 28 1E 00 0A */ cmplwi r30, 0xa
|
|
/* 8009BB5C 00097A7C 41 81 03 28 */ bgt lbl_8009BE84
|
|
/* 8009BB60 00097A80 3C 60 80 1D */ lis r3, lbl_801D3F10@ha
|
|
/* 8009BB64 00097A84 38 63 3F 10 */ addi r3, r3, lbl_801D3F10@l
|
|
/* 8009BB68 00097A88 57 C0 10 3A */ slwi r0, r30, 2
|
|
/* 8009BB6C 00097A8C 7C 03 00 2E */ lwzx r0, r3, r0
|
|
/* 8009BB70 00097A90 7C 09 03 A6 */ mtctr r0
|
|
/* 8009BB74 00097A94 4E 80 04 20 */ bctr
|
|
.global lbl_8009BB78
|
|
lbl_8009BB78:
|
|
/* 8009BB78 00097A98 48 00 10 BD */ bl func_8009CC34
|
|
/* 8009BB7C 00097A9C 38 00 00 00 */ li r0, 0
|
|
/* 8009BB80 00097AA0 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 8009BB84 00097AA4 38 C0 00 01 */ li r6, 1
|
|
/* 8009BB88 00097AA8 38 A0 00 02 */ li r5, 2
|
|
/* 8009BB8C 00097AAC 98 01 00 18 */ stb r0, 0x18(r1)
|
|
/* 8009BB90 00097AB0 38 00 00 03 */ li r0, 3
|
|
/* 8009BB94 00097AB4 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BB98 00097AB8 98 C1 00 1D */ stb r6, 0x1d(r1)
|
|
/* 8009BB9C 00097ABC 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BBA0 00097AC0 98 C1 00 19 */ stb r6, 0x19(r1)
|
|
/* 8009BBA4 00097AC4 98 A1 00 1E */ stb r5, 0x1e(r1)
|
|
/* 8009BBA8 00097AC8 98 A1 00 1A */ stb r5, 0x1a(r1)
|
|
/* 8009BBAC 00097ACC 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 8009BBB0 00097AD0 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 8009BBB4 00097AD4 48 00 0A 31 */ bl func_8009C5E4
|
|
/* 8009BBB8 00097AD8 48 00 02 CC */ b lbl_8009BE84
|
|
.global lbl_8009BBBC
|
|
lbl_8009BBBC:
|
|
/* 8009BBBC 00097ADC 48 00 10 79 */ bl func_8009CC34
|
|
/* 8009BBC0 00097AE0 38 E0 00 00 */ li r7, 0
|
|
/* 8009BBC4 00097AE4 38 C0 00 03 */ li r6, 3
|
|
/* 8009BBC8 00097AE8 98 E1 00 1C */ stb r7, 0x1c(r1)
|
|
/* 8009BBCC 00097AEC 38 A0 00 01 */ li r5, 1
|
|
/* 8009BBD0 00097AF0 98 C1 00 18 */ stb r6, 0x18(r1)
|
|
/* 8009BBD4 00097AF4 38 00 00 02 */ li r0, 2
|
|
/* 8009BBD8 00097AF8 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BBDC 00097AFC 98 A1 00 1D */ stb r5, 0x1d(r1)
|
|
/* 8009BBE0 00097B00 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BBE4 00097B04 98 E1 00 19 */ stb r7, 0x19(r1)
|
|
/* 8009BBE8 00097B08 98 01 00 1E */ stb r0, 0x1e(r1)
|
|
/* 8009BBEC 00097B0C 98 A1 00 1A */ stb r5, 0x1a(r1)
|
|
/* 8009BBF0 00097B10 98 C1 00 1F */ stb r6, 0x1f(r1)
|
|
/* 8009BBF4 00097B14 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 8009BBF8 00097B18 48 00 09 ED */ bl func_8009C5E4
|
|
/* 8009BBFC 00097B1C 48 00 02 88 */ b lbl_8009BE84
|
|
.global lbl_8009BC00
|
|
lbl_8009BC00:
|
|
/* 8009BC00 00097B20 48 00 10 35 */ bl func_8009CC34
|
|
/* 8009BC04 00097B24 38 E0 00 00 */ li r7, 0
|
|
/* 8009BC08 00097B28 38 C0 00 02 */ li r6, 2
|
|
/* 8009BC0C 00097B2C 98 E1 00 1C */ stb r7, 0x1c(r1)
|
|
/* 8009BC10 00097B30 38 A0 00 01 */ li r5, 1
|
|
/* 8009BC14 00097B34 98 A1 00 1D */ stb r5, 0x1d(r1)
|
|
/* 8009BC18 00097B38 38 00 00 03 */ li r0, 3
|
|
/* 8009BC1C 00097B3C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BC20 00097B40 98 C1 00 18 */ stb r6, 0x18(r1)
|
|
/* 8009BC24 00097B44 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BC28 00097B48 98 01 00 19 */ stb r0, 0x19(r1)
|
|
/* 8009BC2C 00097B4C 98 C1 00 1E */ stb r6, 0x1e(r1)
|
|
/* 8009BC30 00097B50 98 E1 00 1A */ stb r7, 0x1a(r1)
|
|
/* 8009BC34 00097B54 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 8009BC38 00097B58 98 A1 00 1B */ stb r5, 0x1b(r1)
|
|
/* 8009BC3C 00097B5C 48 00 09 A9 */ bl func_8009C5E4
|
|
/* 8009BC40 00097B60 48 00 02 44 */ b lbl_8009BE84
|
|
.global lbl_8009BC44
|
|
lbl_8009BC44:
|
|
/* 8009BC44 00097B64 48 00 0F F1 */ bl func_8009CC34
|
|
/* 8009BC48 00097B68 38 C0 00 00 */ li r6, 0
|
|
/* 8009BC4C 00097B6C 38 80 00 01 */ li r4, 1
|
|
/* 8009BC50 00097B70 98 C1 00 1C */ stb r6, 0x1c(r1)
|
|
/* 8009BC54 00097B74 38 A0 00 02 */ li r5, 2
|
|
/* 8009BC58 00097B78 98 81 00 18 */ stb r4, 0x18(r1)
|
|
/* 8009BC5C 00097B7C 38 00 00 03 */ li r0, 3
|
|
/* 8009BC60 00097B80 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BC64 00097B84 98 81 00 1D */ stb r4, 0x1d(r1)
|
|
/* 8009BC68 00097B88 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BC6C 00097B8C 98 A1 00 19 */ stb r5, 0x19(r1)
|
|
/* 8009BC70 00097B90 98 A1 00 1E */ stb r5, 0x1e(r1)
|
|
/* 8009BC74 00097B94 98 01 00 1A */ stb r0, 0x1a(r1)
|
|
/* 8009BC78 00097B98 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 8009BC7C 00097B9C 98 C1 00 1B */ stb r6, 0x1b(r1)
|
|
/* 8009BC80 00097BA0 48 00 09 65 */ bl func_8009C5E4
|
|
/* 8009BC84 00097BA4 48 00 02 00 */ b lbl_8009BE84
|
|
.global lbl_8009BC88
|
|
lbl_8009BC88:
|
|
/* 8009BC88 00097BA8 48 00 0F AD */ bl func_8009CC34
|
|
/* 8009BC8C 00097BAC 38 80 00 00 */ li r4, 0
|
|
/* 8009BC90 00097BB0 38 60 00 03 */ li r3, 3
|
|
/* 8009BC94 00097BB4 98 81 00 1C */ stb r4, 0x1c(r1)
|
|
/* 8009BC98 00097BB8 38 00 00 41 */ li r0, 0x41
|
|
/* 8009BC9C 00097BBC 98 61 00 18 */ stb r3, 0x18(r1)
|
|
/* 8009BCA0 00097BC0 38 E0 00 42 */ li r7, 0x42
|
|
/* 8009BCA4 00097BC4 38 C0 00 01 */ li r6, 1
|
|
/* 8009BCA8 00097BC8 98 01 00 1D */ stb r0, 0x1d(r1)
|
|
/* 8009BCAC 00097BCC 38 A0 00 43 */ li r5, 0x43
|
|
/* 8009BCB0 00097BD0 38 00 00 02 */ li r0, 2
|
|
/* 8009BCB4 00097BD4 98 81 00 19 */ stb r4, 0x19(r1)
|
|
/* 8009BCB8 00097BD8 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BCBC 00097BDC 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BCC0 00097BE0 98 E1 00 1E */ stb r7, 0x1e(r1)
|
|
/* 8009BCC4 00097BE4 98 C1 00 1A */ stb r6, 0x1a(r1)
|
|
/* 8009BCC8 00097BE8 98 A1 00 1F */ stb r5, 0x1f(r1)
|
|
/* 8009BCCC 00097BEC 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 8009BCD0 00097BF0 48 00 09 15 */ bl func_8009C5E4
|
|
/* 8009BCD4 00097BF4 48 00 01 B0 */ b lbl_8009BE84
|
|
.global lbl_8009BCD8
|
|
lbl_8009BCD8:
|
|
/* 8009BCD8 00097BF8 48 00 0F 5D */ bl func_8009CC34
|
|
/* 8009BCDC 00097BFC 38 60 00 40 */ li r3, 0x40
|
|
/* 8009BCE0 00097C00 38 00 00 00 */ li r0, 0
|
|
/* 8009BCE4 00097C04 98 61 00 1C */ stb r3, 0x1c(r1)
|
|
/* 8009BCE8 00097C08 38 C0 00 01 */ li r6, 1
|
|
/* 8009BCEC 00097C0C 98 01 00 18 */ stb r0, 0x18(r1)
|
|
/* 8009BCF0 00097C10 38 A0 00 02 */ li r5, 2
|
|
/* 8009BCF4 00097C14 38 00 00 03 */ li r0, 3
|
|
/* 8009BCF8 00097C18 98 C1 00 1D */ stb r6, 0x1d(r1)
|
|
/* 8009BCFC 00097C1C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BD00 00097C20 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BD04 00097C24 98 C1 00 19 */ stb r6, 0x19(r1)
|
|
/* 8009BD08 00097C28 98 A1 00 1E */ stb r5, 0x1e(r1)
|
|
/* 8009BD0C 00097C2C 98 A1 00 1A */ stb r5, 0x1a(r1)
|
|
/* 8009BD10 00097C30 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 8009BD14 00097C34 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 8009BD18 00097C38 48 00 08 CD */ bl func_8009C5E4
|
|
/* 8009BD1C 00097C3C 48 00 01 68 */ b lbl_8009BE84
|
|
.global lbl_8009BD20
|
|
lbl_8009BD20:
|
|
/* 8009BD20 00097C40 48 00 0F 15 */ bl func_8009CC34
|
|
/* 8009BD24 00097C44 38 80 00 00 */ li r4, 0
|
|
/* 8009BD28 00097C48 98 81 00 1C */ stb r4, 0x1c(r1)
|
|
/* 8009BD2C 00097C4C 38 00 00 41 */ li r0, 0x41
|
|
/* 8009BD30 00097C50 38 60 00 01 */ li r3, 1
|
|
/* 8009BD34 00097C54 98 81 00 18 */ stb r4, 0x18(r1)
|
|
/* 8009BD38 00097C58 38 E0 00 42 */ li r7, 0x42
|
|
/* 8009BD3C 00097C5C 38 C0 00 02 */ li r6, 2
|
|
/* 8009BD40 00097C60 98 01 00 1D */ stb r0, 0x1d(r1)
|
|
/* 8009BD44 00097C64 38 A0 00 43 */ li r5, 0x43
|
|
/* 8009BD48 00097C68 38 00 00 03 */ li r0, 3
|
|
/* 8009BD4C 00097C6C 98 61 00 19 */ stb r3, 0x19(r1)
|
|
/* 8009BD50 00097C70 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BD54 00097C74 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BD58 00097C78 98 E1 00 1E */ stb r7, 0x1e(r1)
|
|
/* 8009BD5C 00097C7C 98 C1 00 1A */ stb r6, 0x1a(r1)
|
|
/* 8009BD60 00097C80 98 A1 00 1F */ stb r5, 0x1f(r1)
|
|
/* 8009BD64 00097C84 98 01 00 1B */ stb r0, 0x1b(r1)
|
|
/* 8009BD68 00097C88 48 00 08 7D */ bl func_8009C5E4
|
|
/* 8009BD6C 00097C8C 48 00 01 18 */ b lbl_8009BE84
|
|
.global lbl_8009BD70
|
|
lbl_8009BD70:
|
|
/* 8009BD70 00097C90 48 00 0E C5 */ bl func_8009CC34
|
|
/* 8009BD74 00097C94 38 C0 00 00 */ li r6, 0
|
|
/* 8009BD78 00097C98 98 C1 00 18 */ stb r6, 0x18(r1)
|
|
/* 8009BD7C 00097C9C 38 80 00 01 */ li r4, 1
|
|
/* 8009BD80 00097CA0 38 A0 00 02 */ li r5, 2
|
|
/* 8009BD84 00097CA4 98 C1 00 1C */ stb r6, 0x1c(r1)
|
|
/* 8009BD88 00097CA8 38 00 00 03 */ li r0, 3
|
|
/* 8009BD8C 00097CAC 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BD90 00097CB0 98 81 00 1D */ stb r4, 0x1d(r1)
|
|
/* 8009BD94 00097CB4 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BD98 00097CB8 98 C1 00 19 */ stb r6, 0x19(r1)
|
|
/* 8009BD9C 00097CBC 98 A1 00 1E */ stb r5, 0x1e(r1)
|
|
/* 8009BDA0 00097CC0 98 C1 00 1A */ stb r6, 0x1a(r1)
|
|
/* 8009BDA4 00097CC4 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 8009BDA8 00097CC8 98 C1 00 1B */ stb r6, 0x1b(r1)
|
|
/* 8009BDAC 00097CCC 48 00 08 39 */ bl func_8009C5E4
|
|
/* 8009BDB0 00097CD0 48 00 00 D4 */ b lbl_8009BE84
|
|
.global lbl_8009BDB4
|
|
lbl_8009BDB4:
|
|
/* 8009BDB4 00097CD4 48 00 0E 81 */ bl func_8009CC34
|
|
/* 8009BDB8 00097CD8 38 00 00 00 */ li r0, 0
|
|
/* 8009BDBC 00097CDC 38 A0 00 03 */ li r5, 3
|
|
/* 8009BDC0 00097CE0 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 8009BDC4 00097CE4 38 80 00 01 */ li r4, 1
|
|
/* 8009BDC8 00097CE8 98 A1 00 18 */ stb r5, 0x18(r1)
|
|
/* 8009BDCC 00097CEC 38 00 00 02 */ li r0, 2
|
|
/* 8009BDD0 00097CF0 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BDD4 00097CF4 98 81 00 1D */ stb r4, 0x1d(r1)
|
|
/* 8009BDD8 00097CF8 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BDDC 00097CFC 98 A1 00 19 */ stb r5, 0x19(r1)
|
|
/* 8009BDE0 00097D00 98 01 00 1E */ stb r0, 0x1e(r1)
|
|
/* 8009BDE4 00097D04 98 A1 00 1A */ stb r5, 0x1a(r1)
|
|
/* 8009BDE8 00097D08 98 A1 00 1F */ stb r5, 0x1f(r1)
|
|
/* 8009BDEC 00097D0C 98 A1 00 1B */ stb r5, 0x1b(r1)
|
|
/* 8009BDF0 00097D10 48 00 07 F5 */ bl func_8009C5E4
|
|
/* 8009BDF4 00097D14 48 00 00 90 */ b lbl_8009BE84
|
|
.global lbl_8009BDF8
|
|
lbl_8009BDF8:
|
|
/* 8009BDF8 00097D18 48 00 0E 3D */ bl func_8009CC34
|
|
/* 8009BDFC 00097D1C 38 00 00 00 */ li r0, 0
|
|
/* 8009BE00 00097D20 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 8009BE04 00097D24 38 00 FF FF */ li r0, -1
|
|
/* 8009BE08 00097D28 38 A0 00 02 */ li r5, 2
|
|
/* 8009BE0C 00097D2C 98 01 00 1D */ stb r0, 0x1d(r1)
|
|
/* 8009BE10 00097D30 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8009BE14 00097D34 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8009BE18 00097D38 98 01 00 1E */ stb r0, 0x1e(r1)
|
|
/* 8009BE1C 00097D3C 98 A1 00 18 */ stb r5, 0x18(r1)
|
|
/* 8009BE20 00097D40 98 01 00 1F */ stb r0, 0x1f(r1)
|
|
/* 8009BE24 00097D44 48 00 07 C1 */ bl func_8009C5E4
|
|
/* 8009BE28 00097D48 48 00 00 5C */ b lbl_8009BE84
|
|
.global lbl_8009BE2C
|
|
lbl_8009BE2C:
|
|
/* 8009BE2C 00097D4C 48 00 0E 09 */ bl func_8009CC34
|
|
/* 8009BE30 00097D50 38 00 00 40 */ li r0, 0x40
|
|
/* 8009BE34 00097D54 39 00 00 03 */ li r8, 3
|
|
/* 8009BE38 00097D58 98 01 00 10 */ stb r0, 0x10(r1)
|
|
/* 8009BE3C 00097D5C 38 00 00 41 */ li r0, 0x41
|
|
/* 8009BE40 00097D60 99 01 00 08 */ stb r8, 8(r1)
|
|
/* 8009BE44 00097D64 38 A0 00 42 */ li r5, 0x42
|
|
/* 8009BE48 00097D68 38 E0 00 43 */ li r7, 0x43
|
|
/* 8009BE4C 00097D6C 98 01 00 11 */ stb r0, 0x11(r1)
|
|
/* 8009BE50 00097D70 38 C0 00 02 */ li r6, 2
|
|
/* 8009BE54 00097D74 38 00 00 00 */ li r0, 0
|
|
/* 8009BE58 00097D78 99 01 00 09 */ stb r8, 9(r1)
|
|
/* 8009BE5C 00097D7C 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 8009BE60 00097D80 38 81 00 08 */ addi r4, r1, 8
|
|
/* 8009BE64 00097D84 98 A1 00 12 */ stb r5, 0x12(r1)
|
|
/* 8009BE68 00097D88 38 A0 00 00 */ li r5, 0
|
|
/* 8009BE6C 00097D8C 99 01 00 0A */ stb r8, 0xa(r1)
|
|
/* 8009BE70 00097D90 98 E1 00 13 */ stb r7, 0x13(r1)
|
|
/* 8009BE74 00097D94 99 01 00 0B */ stb r8, 0xb(r1)
|
|
/* 8009BE78 00097D98 98 C1 00 14 */ stb r6, 0x14(r1)
|
|
/* 8009BE7C 00097D9C 98 01 00 0C */ stb r0, 0xc(r1)
|
|
/* 8009BE80 00097DA0 48 00 0C 61 */ bl func_8009CAE0
|
|
lbl_8009BE84:
|
|
/* 8009BE84 00097DA4 38 60 00 46 */ li r3, 0x46
|
|
/* 8009BE88 00097DA8 4B F7 CB 7D */ bl camera_set_state
|
|
/* 8009BE8C 00097DAC 93 DF 00 00 */ stw r30, 0(r31)
|
|
lbl_8009BE90:
|
|
/* 8009BE90 00097DB0 C0 2D 9C EC */ lfs f1, lbl_802F1ECC@sda21(r13)
|
|
/* 8009BE94 00097DB4 C0 4D 9C E8 */ lfs f2, lbl_802F1EC8@sda21(r13)
|
|
/* 8009BE98 00097DB8 C0 6D 9C E4 */ lfs f3, lbl_802F1EC4@sda21(r13)
|
|
/* 8009BE9C 00097DBC 4B F6 B7 39 */ bl mathutil_mtxA_from_translate_xyz
|
|
/* 8009BEA0 00097DC0 A0 6D 9C F2 */ lhz r3, lbl_802F1ED2@sda21(r13)
|
|
/* 8009BEA4 00097DC4 4B F6 C1 59 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009BEA8 00097DC8 A0 6D 9C F4 */ lhz r3, lbl_802F1ED4@sda21(r13)
|
|
/* 8009BEAC 00097DCC 4B F6 C0 DD */ bl mathutil_mtxA_rotate_x
|
|
/* 8009BEB0 00097DD0 A0 6D 9C F0 */ lhz r3, lbl_802F1ED0@sda21(r13)
|
|
/* 8009BEB4 00097DD4 4B F6 C1 D5 */ bl mathutil_mtxA_rotate_z
|
|
/* 8009BEB8 00097DD8 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009BEBC 00097DDC 48 00 1C 85 */ bl func_8009DB40
|
|
lbl_8009BEC0:
|
|
/* 8009BEC0 00097DE0 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8009BEC4 00097DE4 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 8009BEC8 00097DE8 83 C1 00 20 */ lwz r30, 0x20(r1)
|
|
/* 8009BECC 00097DEC 7C 08 03 A6 */ mtlr r0
|
|
/* 8009BED0 00097DF0 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8009BED4 00097DF4 4E 80 00 20 */ blr
|
|
lbl_8009BED8:
|
|
/* 8009BED8 00097DF8 7C 08 02 A6 */ mflr r0
|
|
/* 8009BEDC 00097DFC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009BEE0 00097E00 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 8009BEE4 00097E04 48 00 0D 51 */ bl func_8009CC34
|
|
/* 8009BEE8 00097E08 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 8009BEEC 00097E0C 38 21 00 08 */ addi r1, r1, 8
|
|
/* 8009BEF0 00097E10 7C 08 03 A6 */ mtlr r0
|
|
/* 8009BEF4 00097E14 4E 80 00 20 */ blr
|
|
|
|
.global func_8009BEF8
|
|
func_8009BEF8:
|
|
/* 8009BEF8 00097E18 7C 08 02 A6 */ mflr r0
|
|
/* 8009BEFC 00097E1C 38 60 00 01 */ li r3, 1
|
|
/* 8009BF00 00097E20 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009BF04 00097E24 38 80 00 01 */ li r4, 1
|
|
/* 8009BF08 00097E28 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 8009BF0C 00097E2C 4B F9 3D 75 */ bl u_debug_set_cursor_pos
|
|
/* 8009BF10 00097E30 3C 60 80 1D */ lis r3, lbl_801D3F3C@ha
|
|
/* 8009BF14 00097E34 38 63 3F 3C */ addi r3, r3, lbl_801D3F3C@l
|
|
/* 8009BF18 00097E38 4B F9 43 2D */ bl u_debug_print
|
|
/* 8009BF1C 00097E3C 38 60 00 03 */ li r3, 3
|
|
/* 8009BF20 00097E40 38 80 00 03 */ li r4, 3
|
|
/* 8009BF24 00097E44 4B F9 3D 5D */ bl u_debug_set_cursor_pos
|
|
/* 8009BF28 00097E48 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 8009BF2C 00097E4C 4C C6 31 82 */ crclr 6
|
|
/* 8009BF30 00097E50 38 63 EC 20 */ addi r3, r3, modeCtrl@l
|
|
/* 8009BF34 00097E54 3C A0 80 1D */ lis r5, lbl_801D3F4C@ha
|
|
/* 8009BF38 00097E58 80 83 00 10 */ lwz r4, 0x10(r3)
|
|
/* 8009BF3C 00097E5C 38 65 3F 4C */ addi r3, r5, lbl_801D3F4C@l
|
|
/* 8009BF40 00097E60 38 A0 00 0B */ li r5, 0xb
|
|
/* 8009BF44 00097E64 4B F9 42 69 */ bl u_debug_printf
|
|
/* 8009BF48 00097E68 48 00 0E 15 */ bl func_8009CD5C
|
|
/* 8009BF4C 00097E6C 3C 60 80 17 */ lis r3, eventInfo@ha
|
|
/* 8009BF50 00097E70 38 63 3C C8 */ addi r3, r3, eventInfo@l
|
|
/* 8009BF54 00097E74 88 03 01 38 */ lbz r0, 0x138(r3)
|
|
/* 8009BF58 00097E78 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009BF5C 00097E7C 40 82 00 08 */ bne lbl_8009BF64
|
|
/* 8009BF60 00097E80 4B FB 0E 01 */ bl effect_draw
|
|
lbl_8009BF64:
|
|
/* 8009BF64 00097E84 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 8009BF68 00097E88 38 21 00 08 */ addi r1, r1, 8
|
|
/* 8009BF6C 00097E8C 7C 08 03 A6 */ mtlr r0
|
|
/* 8009BF70 00097E90 4E 80 00 20 */ blr
|
|
|
|
.global func_8009BF74
|
|
func_8009BF74:
|
|
/* 8009BF74 00097E94 7C 08 02 A6 */ mflr r0
|
|
/* 8009BF78 00097E98 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009BF7C 00097E9C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009BF80 00097EA0 38 84 A2 10 */ addi r4, r4, lbl_802BA210@l
|
|
/* 8009BF84 00097EA4 94 21 FF 68 */ stwu r1, -0x98(r1)
|
|
/* 8009BF88 00097EA8 DB E1 00 90 */ stfd f31, 0x90(r1)
|
|
/* 8009BF8C 00097EAC DB C1 00 88 */ stfd f30, 0x88(r1)
|
|
/* 8009BF90 00097EB0 DB A1 00 80 */ stfd f29, 0x80(r1)
|
|
/* 8009BF94 00097EB4 DB 81 00 78 */ stfd f28, 0x78(r1)
|
|
/* 8009BF98 00097EB8 BF 41 00 60 */ stmw r26, 0x60(r1)
|
|
/* 8009BF9C 00097EBC 3B 43 00 00 */ addi r26, r3, 0
|
|
/* 8009BFA0 00097EC0 88 04 00 24 */ lbz r0, 0x24(r4)
|
|
/* 8009BFA4 00097EC4 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009BFA8 00097EC8 40 81 01 AC */ ble lbl_8009C154
|
|
/* 8009BFAC 00097ECC 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 8009BFB0 00097ED0 48 00 19 DD */ bl func_8009D98C
|
|
/* 8009BFB4 00097ED4 1C 9A 00 18 */ mulli r4, r26, 0x18
|
|
/* 8009BFB8 00097ED8 3C 60 80 1D */ lis r3, lbl_801D404C@ha
|
|
/* 8009BFBC 00097EDC 38 03 40 4C */ addi r0, r3, lbl_801D404C@l
|
|
/* 8009BFC0 00097EE0 7F 60 22 14 */ add r27, r0, r4
|
|
/* 8009BFC4 00097EE4 4B F6 B5 A1 */ bl mathutil_mtxA_from_identity
|
|
/* 8009BFC8 00097EE8 C0 22 B1 E0 */ lfs f1, lbl_802F59E0@sda21(r2)
|
|
/* 8009BFCC 00097EEC 4B F6 BD FD */ bl mathutil_mtxA_scale_s
|
|
/* 8009BFD0 00097EF0 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8009BFD4 00097EF4 4B F6 B8 A5 */ bl mathutil_mtxA_to_mtx
|
|
/* 8009BFD8 00097EF8 2C 1A 00 01 */ cmpwi r26, 1
|
|
/* 8009BFDC 00097EFC 40 82 00 38 */ bne lbl_8009C014
|
|
/* 8009BFE0 00097F00 C0 21 00 10 */ lfs f1, 0x10(r1)
|
|
/* 8009BFE4 00097F04 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 8009BFE8 00097F08 C0 1B 00 04 */ lfs f0, 4(r27)
|
|
/* 8009BFEC 00097F0C EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8009BFF0 00097F10 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8009BFF4 00097F14 4B F6 B6 E9 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009BFF8 00097F18 C0 3B 00 08 */ lfs f1, 8(r27)
|
|
/* 8009BFFC 00097F1C 4B F6 BD CD */ bl mathutil_mtxA_scale_s
|
|
/* 8009C000 00097F20 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8009C004 00097F24 4B F6 BC 51 */ bl mathutil_mtxA_mult_left
|
|
/* 8009C008 00097F28 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8009C00C 00097F2C 4B F6 B8 6D */ bl mathutil_mtxA_to_mtx
|
|
/* 8009C010 00097F30 48 00 00 34 */ b lbl_8009C044
|
|
lbl_8009C014:
|
|
/* 8009C014 00097F34 C0 21 00 10 */ lfs f1, 0x10(r1)
|
|
/* 8009C018 00097F38 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 8009C01C 00097F3C C0 1B 00 04 */ lfs f0, 4(r27)
|
|
/* 8009C020 00097F40 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8009C024 00097F44 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8009C028 00097F48 4B F6 B6 B5 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009C02C 00097F4C C0 3B 00 08 */ lfs f1, 8(r27)
|
|
/* 8009C030 00097F50 4B F6 BD 99 */ bl mathutil_mtxA_scale_s
|
|
/* 8009C034 00097F54 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8009C038 00097F58 4B F6 BC 1D */ bl mathutil_mtxA_mult_left
|
|
/* 8009C03C 00097F5C 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8009C040 00097F60 4B F6 B8 39 */ bl mathutil_mtxA_to_mtx
|
|
lbl_8009C044:
|
|
/* 8009C044 00097F64 83 DB 00 00 */ lwz r30, 0(r27)
|
|
/* 8009C048 00097F68 7F C3 F3 78 */ mr r3, r30
|
|
/* 8009C04C 00097F6C 48 06 AB 15 */ bl strlen
|
|
/* 8009C050 00097F70 7C 7F 07 74 */ extsb r31, r3
|
|
/* 8009C054 00097F74 CB C2 B1 F8 */ lfd f30, lbl_802F59F8@sda21(r2)
|
|
/* 8009C058 00097F78 38 1F FF FF */ addi r0, r31, -1
|
|
/* 8009C05C 00097F7C C8 22 B1 F0 */ lfd f1, lbl_802F59F0@sda21(r2)
|
|
/* 8009C060 00097F80 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8009C064 00097F84 CB A2 B1 E8 */ lfd f29, lbl_802F59E8@sda21(r2)
|
|
/* 8009C068 00097F88 90 01 00 5C */ stw r0, 0x5c(r1)
|
|
/* 8009C06C 00097F8C 3F 60 43 30 */ lis r27, 0x4330
|
|
/* 8009C070 00097F90 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009C074 00097F94 C3 E2 B1 D0 */ lfs f31, lbl_802F59D0@sda21(r2)
|
|
/* 8009C078 00097F98 93 61 00 58 */ stw r27, 0x58(r1)
|
|
/* 8009C07C 00097F9C 3C 60 80 1D */ lis r3, lbl_801D3F5C@ha
|
|
/* 8009C080 00097FA0 C8 01 00 58 */ lfd f0, 0x58(r1)
|
|
/* 8009C084 00097FA4 3B 84 A2 10 */ addi r28, r4, lbl_802BA210@l
|
|
/* 8009C088 00097FA8 3B A3 3F 5C */ addi r29, r3, lbl_801D3F5C@l
|
|
/* 8009C08C 00097FAC FC 00 F0 28 */ fsub f0, f0, f30
|
|
/* 8009C090 00097FB0 3B 40 00 00 */ li r26, 0
|
|
/* 8009C094 00097FB4 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8009C098 00097FB8 FF 9D 00 32 */ fmul f28, f29, f0
|
|
/* 8009C09C 00097FBC 48 00 00 B0 */ b lbl_8009C14C
|
|
lbl_8009C0A0:
|
|
/* 8009C0A0 00097FC0 6F 40 80 00 */ xoris r0, r26, 0x8000
|
|
/* 8009C0A4 00097FC4 90 01 00 5C */ stw r0, 0x5c(r1)
|
|
/* 8009C0A8 00097FC8 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8009C0AC 00097FCC 93 61 00 58 */ stw r27, 0x58(r1)
|
|
/* 8009C0B0 00097FD0 C8 01 00 58 */ lfd f0, 0x58(r1)
|
|
/* 8009C0B4 00097FD4 FC 00 F0 28 */ fsub f0, f0, f30
|
|
/* 8009C0B8 00097FD8 FC 1D 00 32 */ fmul f0, f29, f0
|
|
/* 8009C0BC 00097FDC FC 1C 00 28 */ fsub f0, f28, f0
|
|
/* 8009C0C0 00097FE0 FC 00 00 18 */ frsp f0, f0
|
|
/* 8009C0C4 00097FE4 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8009C0C8 00097FE8 D3 E1 00 1C */ stfs f31, 0x1c(r1)
|
|
/* 8009C0CC 00097FEC D3 E1 00 20 */ stfs f31, 0x20(r1)
|
|
/* 8009C0D0 00097FF0 4B F6 B7 E1 */ bl mathutil_mtxA_from_mtx
|
|
/* 8009C0D4 00097FF4 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 8009C0D8 00097FF8 4B F6 BC 49 */ bl mathutil_mtxA_translate
|
|
/* 8009C0DC 00097FFC 38 60 80 00 */ li r3, -32768
|
|
/* 8009C0E0 00098000 4B F6 BF 1D */ bl mathutil_mtxA_rotate_y
|
|
/* 8009C0E4 00098004 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009C0E8 00098008 38 80 00 00 */ li r4, 0
|
|
/* 8009C0EC 0009800C 48 04 84 95 */ bl GXLoadPosMtxImm
|
|
/* 8009C0F0 00098010 80 0D 99 54 */ lwz r0, unpausedFrameCounter@sda21(r13)
|
|
/* 8009C0F4 00098014 54 03 38 30 */ slwi r3, r0, 7
|
|
/* 8009C0F8 00098018 4B F6 BF 05 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009C0FC 0009801C 80 0D 99 54 */ lwz r0, unpausedFrameCounter@sda21(r13)
|
|
/* 8009C100 00098020 54 03 48 2C */ slwi r3, r0, 9
|
|
/* 8009C104 00098024 4B F6 BF 85 */ bl mathutil_mtxA_rotate_z
|
|
/* 8009C108 00098028 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009C10C 0009802C 38 80 00 00 */ li r4, 0
|
|
/* 8009C110 00098030 48 04 84 AD */ bl GXLoadNrmMtxImm
|
|
/* 8009C114 00098034 88 1E 00 00 */ lbz r0, 0(r30)
|
|
/* 8009C118 00098038 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C11C 0009803C 2C 00 00 20 */ cmpwi r0, 0x20
|
|
/* 8009C120 00098040 41 82 00 24 */ beq lbl_8009C144
|
|
/* 8009C124 00098044 7C 7D 02 14 */ add r3, r29, r0
|
|
/* 8009C128 00098048 80 9C 00 38 */ lwz r4, 0x38(r28)
|
|
/* 8009C12C 0009804C 88 03 FF D0 */ lbz r0, -0x30(r3)
|
|
/* 8009C130 00098050 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8009C134 00098054 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C138 00098058 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8009C13C 0009805C 7C 63 00 2E */ lwzx r3, r3, r0
|
|
/* 8009C140 00098060 4B FF 22 F9 */ bl avdisp_draw_model_culled_sort_translucent
|
|
lbl_8009C144:
|
|
/* 8009C144 00098064 3B 5A 00 01 */ addi r26, r26, 1
|
|
/* 8009C148 00098068 3B DE 00 01 */ addi r30, r30, 1
|
|
lbl_8009C14C:
|
|
/* 8009C14C 0009806C 7C 1A F8 00 */ cmpw r26, r31
|
|
/* 8009C150 00098070 41 80 FF 50 */ blt lbl_8009C0A0
|
|
lbl_8009C154:
|
|
/* 8009C154 00098074 BB 41 00 60 */ lmw r26, 0x60(r1)
|
|
/* 8009C158 00098078 80 01 00 9C */ lwz r0, 0x9c(r1)
|
|
/* 8009C15C 0009807C CB E1 00 90 */ lfd f31, 0x90(r1)
|
|
/* 8009C160 00098080 CB C1 00 88 */ lfd f30, 0x88(r1)
|
|
/* 8009C164 00098084 7C 08 03 A6 */ mtlr r0
|
|
/* 8009C168 00098088 CB A1 00 80 */ lfd f29, 0x80(r1)
|
|
/* 8009C16C 0009808C CB 81 00 78 */ lfd f28, 0x78(r1)
|
|
/* 8009C170 00098090 38 21 00 98 */ addi r1, r1, 0x98
|
|
/* 8009C174 00098094 4E 80 00 20 */ blr
|
|
|
|
.global func_8009C178
|
|
func_8009C178:
|
|
/* 8009C178 00098098 2C 06 00 00 */ cmpwi r6, 0
|
|
/* 8009C17C 0009809C 7C C9 03 A6 */ mtctr r6
|
|
/* 8009C180 000980A0 38 C5 00 00 */ addi r6, r5, 0
|
|
/* 8009C184 000980A4 39 00 00 00 */ li r8, 0
|
|
/* 8009C188 000980A8 39 20 00 00 */ li r9, 0
|
|
/* 8009C18C 000980AC 39 40 00 00 */ li r10, 0
|
|
/* 8009C190 000980B0 39 60 FF FF */ li r11, -1
|
|
/* 8009C194 000980B4 40 81 00 54 */ ble lbl_8009C1E8
|
|
lbl_8009C198:
|
|
/* 8009C198 000980B8 88 E6 00 00 */ lbz r7, 0(r6)
|
|
/* 8009C19C 000980BC 7C E7 07 74 */ extsb r7, r7
|
|
/* 8009C1A0 000980C0 7C 03 38 AE */ lbzx r0, r3, r7
|
|
/* 8009C1A4 000980C4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
|
/* 8009C1A8 000980C8 40 82 00 24 */ bne lbl_8009C1CC
|
|
/* 8009C1AC 000980CC 2C 0B 00 00 */ cmpwi r11, 0
|
|
/* 8009C1B0 000980D0 39 08 00 01 */ addi r8, r8, 1
|
|
/* 8009C1B4 000980D4 40 80 00 08 */ bge lbl_8009C1BC
|
|
/* 8009C1B8 000980D8 7C EB 3B 78 */ mr r11, r7
|
|
lbl_8009C1BC:
|
|
/* 8009C1BC 000980DC 7C 04 38 AE */ lbzx r0, r4, r7
|
|
/* 8009C1C0 000980E0 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C1C4 000980E4 40 82 00 08 */ bne lbl_8009C1CC
|
|
/* 8009C1C8 000980E8 39 29 00 01 */ addi r9, r9, 1
|
|
lbl_8009C1CC:
|
|
/* 8009C1CC 000980EC 7C 04 38 AE */ lbzx r0, r4, r7
|
|
/* 8009C1D0 000980F0 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C1D4 000980F4 7C 0A 00 00 */ cmpw r10, r0
|
|
/* 8009C1D8 000980F8 40 80 00 08 */ bge lbl_8009C1E0
|
|
/* 8009C1DC 000980FC 7C 0A 03 78 */ mr r10, r0
|
|
lbl_8009C1E0:
|
|
/* 8009C1E0 00098100 38 C6 00 01 */ addi r6, r6, 1
|
|
/* 8009C1E4 00098104 42 00 FF B4 */ bdnz lbl_8009C198
|
|
lbl_8009C1E8:
|
|
/* 8009C1E8 00098108 3C C0 80 2C */ lis r6, lbl_802BA210@ha
|
|
/* 8009C1EC 0009810C 38 C6 A2 10 */ addi r6, r6, lbl_802BA210@l
|
|
/* 8009C1F0 00098110 80 C6 00 00 */ lwz r6, 0(r6)
|
|
/* 8009C1F4 00098114 54 C0 06 B5 */ rlwinm. r0, r6, 0, 0x1a, 0x1a
|
|
/* 8009C1F8 00098118 41 82 00 0C */ beq lbl_8009C204
|
|
/* 8009C1FC 0009811C 38 00 00 0A */ li r0, 0xa
|
|
/* 8009C200 00098120 48 00 00 90 */ b lbl_8009C290
|
|
lbl_8009C204:
|
|
/* 8009C204 00098124 2C 09 00 01 */ cmpwi r9, 1
|
|
/* 8009C208 00098128 40 81 00 0C */ ble lbl_8009C214
|
|
/* 8009C20C 0009812C 38 00 00 00 */ li r0, 0
|
|
/* 8009C210 00098130 48 00 00 80 */ b lbl_8009C290
|
|
lbl_8009C214:
|
|
/* 8009C214 00098134 54 C0 07 7B */ rlwinm. r0, r6, 0, 0x1d, 0x1d
|
|
/* 8009C218 00098138 41 82 00 0C */ beq lbl_8009C224
|
|
/* 8009C21C 0009813C 38 00 00 03 */ li r0, 3
|
|
/* 8009C220 00098140 48 00 00 70 */ b lbl_8009C290
|
|
lbl_8009C224:
|
|
/* 8009C224 00098144 2C 08 00 01 */ cmpwi r8, 1
|
|
/* 8009C228 00098148 40 82 00 3C */ bne lbl_8009C264
|
|
/* 8009C22C 0009814C 7C 64 58 AE */ lbzx r3, r4, r11
|
|
/* 8009C230 00098150 7C 60 07 74 */ extsb r0, r3
|
|
/* 8009C234 00098154 7C 0A 00 00 */ cmpw r10, r0
|
|
/* 8009C238 00098158 40 82 00 14 */ bne lbl_8009C24C
|
|
/* 8009C23C 0009815C 2C 0A 00 00 */ cmpwi r10, 0
|
|
/* 8009C240 00098160 41 82 00 0C */ beq lbl_8009C24C
|
|
/* 8009C244 00098164 38 00 00 02 */ li r0, 2
|
|
/* 8009C248 00098168 48 00 00 48 */ b lbl_8009C290
|
|
lbl_8009C24C:
|
|
/* 8009C24C 0009816C 7C 60 07 75 */ extsb. r0, r3
|
|
/* 8009C250 00098170 40 82 00 0C */ bne lbl_8009C25C
|
|
/* 8009C254 00098174 38 00 00 0C */ li r0, 0xc
|
|
/* 8009C258 00098178 48 00 00 38 */ b lbl_8009C290
|
|
lbl_8009C25C:
|
|
/* 8009C25C 0009817C 38 00 00 04 */ li r0, 4
|
|
/* 8009C260 00098180 48 00 00 30 */ b lbl_8009C290
|
|
lbl_8009C264:
|
|
/* 8009C264 00098184 40 81 00 28 */ ble lbl_8009C28C
|
|
/* 8009C268 00098188 88 05 00 00 */ lbz r0, 0(r5)
|
|
/* 8009C26C 0009818C 7C 04 07 74 */ extsb r4, r0
|
|
/* 8009C270 00098190 7C 03 20 AE */ lbzx r0, r3, r4
|
|
/* 8009C274 00098194 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
|
/* 8009C278 00098198 41 82 00 0C */ beq lbl_8009C284
|
|
/* 8009C27C 0009819C 38 00 00 04 */ li r0, 4
|
|
/* 8009C280 000981A0 48 00 00 10 */ b lbl_8009C290
|
|
lbl_8009C284:
|
|
/* 8009C284 000981A4 38 04 00 05 */ addi r0, r4, 5
|
|
/* 8009C288 000981A8 48 00 00 08 */ b lbl_8009C290
|
|
lbl_8009C28C:
|
|
/* 8009C28C 000981AC 38 00 00 00 */ li r0, 0
|
|
lbl_8009C290:
|
|
/* 8009C290 000981B0 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009C294 000981B4 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C298 000981B8 38 63 A2 10 */ addi r3, r3, lbl_802BA210@l
|
|
/* 8009C29C 000981BC 98 03 00 75 */ stb r0, 0x75(r3)
|
|
/* 8009C2A0 000981C0 4E 80 00 20 */ blr
|
|
lbl_8009C2A4:
|
|
/* 8009C2A4 000981C4 7C 08 02 A6 */ mflr r0
|
|
/* 8009C2A8 000981C8 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009C2AC 000981CC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009C2B0 000981D0 94 21 FE C8 */ stwu r1, -0x138(r1)
|
|
/* 8009C2B4 000981D4 DB E1 01 30 */ stfd f31, 0x130(r1)
|
|
/* 8009C2B8 000981D8 DB C1 01 28 */ stfd f30, 0x128(r1)
|
|
/* 8009C2BC 000981DC DB A1 01 20 */ stfd f29, 0x120(r1)
|
|
/* 8009C2C0 000981E0 DB 81 01 18 */ stfd f28, 0x118(r1)
|
|
/* 8009C2C4 000981E4 DB 61 01 10 */ stfd f27, 0x110(r1)
|
|
/* 8009C2C8 000981E8 BF 61 00 FC */ stmw r27, 0xfc(r1)
|
|
/* 8009C2CC 000981EC 3B E3 A2 10 */ addi r31, r3, lbl_802BA210@l
|
|
/* 8009C2D0 000981F0 48 00 14 C5 */ bl func_8009D794
|
|
/* 8009C2D4 000981F4 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8009C2D8 000981F8 41 82 00 80 */ beq lbl_8009C358
|
|
/* 8009C2DC 000981FC 3B BF 00 75 */ addi r29, r31, 0x75
|
|
/* 8009C2E0 00098200 88 1F 00 75 */ lbz r0, 0x75(r31)
|
|
/* 8009C2E4 00098204 3C 60 80 1D */ lis r3, lbl_801D404C@ha
|
|
/* 8009C2E8 00098208 3B C3 40 4C */ addi r30, r3, lbl_801D404C@l
|
|
/* 8009C2EC 0009820C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C2F0 00098210 1C 00 00 18 */ mulli r0, r0, 0x18
|
|
/* 8009C2F4 00098214 7C 7E 02 14 */ add r3, r30, r0
|
|
/* 8009C2F8 00098218 83 63 00 10 */ lwz r27, 0x10(r3)
|
|
/* 8009C2FC 0009821C 3B 80 00 00 */ li r28, 0
|
|
/* 8009C300 00098220 48 00 00 24 */ b lbl_8009C324
|
|
lbl_8009C304:
|
|
/* 8009C304 00098224 80 7B 00 00 */ lwz r3, 0(r27)
|
|
/* 8009C308 00098228 80 1F 00 78 */ lwz r0, 0x78(r31)
|
|
/* 8009C30C 0009822C 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8009C310 00098230 40 82 00 0C */ bne lbl_8009C31C
|
|
/* 8009C314 00098234 80 7B 00 04 */ lwz r3, 4(r27)
|
|
/* 8009C318 00098238 4B F8 F2 8D */ bl u_play_sound
|
|
lbl_8009C31C:
|
|
/* 8009C31C 0009823C 3B 9C 00 01 */ addi r28, r28, 1
|
|
/* 8009C320 00098240 3B 7B 00 08 */ addi r27, r27, 8
|
|
lbl_8009C324:
|
|
/* 8009C324 00098244 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009C328 00098248 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C32C 0009824C 1C 00 00 18 */ mulli r0, r0, 0x18
|
|
/* 8009C330 00098250 7C 7E 02 14 */ add r3, r30, r0
|
|
/* 8009C334 00098254 80 03 00 14 */ lwz r0, 0x14(r3)
|
|
/* 8009C338 00098258 7C 1C 00 00 */ cmpw r28, r0
|
|
/* 8009C33C 0009825C 41 80 FF C8 */ blt lbl_8009C304
|
|
/* 8009C340 00098260 38 9F 00 78 */ addi r4, r31, 0x78
|
|
/* 8009C344 00098264 80 7F 00 78 */ lwz r3, 0x78(r31)
|
|
/* 8009C348 00098268 2C 03 02 58 */ cmpwi r3, 0x258
|
|
/* 8009C34C 0009826C 40 80 00 0C */ bge lbl_8009C358
|
|
/* 8009C350 00098270 38 03 00 01 */ addi r0, r3, 1
|
|
/* 8009C354 00098274 90 04 00 00 */ stw r0, 0(r4)
|
|
lbl_8009C358:
|
|
/* 8009C358 00098278 3C 60 80 17 */ lis r3, eventInfo@ha
|
|
/* 8009C35C 0009827C 38 63 3C C8 */ addi r3, r3, eventInfo@l
|
|
/* 8009C360 00098280 88 03 01 38 */ lbz r0, 0x138(r3)
|
|
/* 8009C364 00098284 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009C368 00098288 40 82 02 50 */ bne lbl_8009C5B8
|
|
/* 8009C36C 0009828C 80 1F 00 00 */ lwz r0, 0(r31)
|
|
/* 8009C370 00098290 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
|
/* 8009C374 00098294 40 82 02 44 */ bne lbl_8009C5B8
|
|
/* 8009C378 00098298 80 7F 00 6C */ lwz r3, 0x6c(r31)
|
|
/* 8009C37C 0009829C 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009C380 000982A0 41 82 00 28 */ beq lbl_8009C3A8
|
|
/* 8009C384 000982A4 C8 42 B2 00 */ lfd f2, lbl_802F5A00@sda21(r2)
|
|
/* 8009C388 000982A8 C0 0D 9C E8 */ lfs f0, lbl_802F1EC8@sda21(r13)
|
|
/* 8009C38C 000982AC C0 23 00 30 */ lfs f1, 0x30(r3)
|
|
/* 8009C390 000982B0 FC 42 00 2A */ fadd f2, f2, f0
|
|
/* 8009C394 000982B4 C0 63 00 38 */ lfs f3, 0x38(r3)
|
|
/* 8009C398 000982B8 FC 40 10 18 */ frsp f2, f2
|
|
/* 8009C39C 000982BC 4B F6 B2 39 */ bl mathutil_mtxA_from_translate_xyz
|
|
/* 8009C3A0 000982C0 C3 62 B2 08 */ lfs f27, lbl_802F5A08@sda21(r2)
|
|
/* 8009C3A4 000982C4 48 00 00 F4 */ b lbl_8009C498
|
|
lbl_8009C3A8:
|
|
/* 8009C3A8 000982C8 3B DF 00 00 */ addi r30, r31, 0
|
|
/* 8009C3AC 000982CC 3B 60 00 00 */ li r27, 0
|
|
/* 8009C3B0 000982D0 3B 80 00 00 */ li r28, 0
|
|
/* 8009C3B4 000982D4 48 00 00 7C */ b lbl_8009C430
|
|
lbl_8009C3B8:
|
|
/* 8009C3B8 000982D8 88 1E 00 25 */ lbz r0, 0x25(r30)
|
|
/* 8009C3BC 000982DC 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C3C0 000982E0 40 82 00 68 */ bne lbl_8009C428
|
|
/* 8009C3C4 000982E4 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8009C3C8 000982E8 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 8009C3CC 000982EC 48 00 14 31 */ bl func_8009D7FC
|
|
/* 8009C3D0 000982F0 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8009C3D4 000982F4 41 81 00 18 */ bgt lbl_8009C3EC
|
|
/* 8009C3D8 000982F8 C3 C1 00 28 */ lfs f30, 0x28(r1)
|
|
/* 8009C3DC 000982FC C3 E1 00 30 */ lfs f31, 0x30(r1)
|
|
/* 8009C3E0 00098300 FF 80 F0 90 */ fmr f28, f30
|
|
/* 8009C3E4 00098304 FF A0 F8 90 */ fmr f29, f31
|
|
/* 8009C3E8 00098308 48 00 00 3C */ b lbl_8009C424
|
|
lbl_8009C3EC:
|
|
/* 8009C3EC 0009830C C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 8009C3F0 00098310 FC 00 F0 40 */ fcmpo cr0, f0, f30
|
|
/* 8009C3F4 00098314 40 81 00 08 */ ble lbl_8009C3FC
|
|
/* 8009C3F8 00098318 FF C0 00 90 */ fmr f30, f0
|
|
lbl_8009C3FC:
|
|
/* 8009C3FC 0009831C C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 8009C400 00098320 FC 01 F8 40 */ fcmpo cr0, f1, f31
|
|
/* 8009C404 00098324 40 81 00 08 */ ble lbl_8009C40C
|
|
/* 8009C408 00098328 FF E0 08 90 */ fmr f31, f1
|
|
lbl_8009C40C:
|
|
/* 8009C40C 0009832C FC 00 E0 40 */ fcmpo cr0, f0, f28
|
|
/* 8009C410 00098330 40 80 00 08 */ bge lbl_8009C418
|
|
/* 8009C414 00098334 FF 80 00 90 */ fmr f28, f0
|
|
lbl_8009C418:
|
|
/* 8009C418 00098338 FC 01 E8 40 */ fcmpo cr0, f1, f29
|
|
/* 8009C41C 0009833C 40 80 00 08 */ bge lbl_8009C424
|
|
/* 8009C420 00098340 FF A0 08 90 */ fmr f29, f1
|
|
lbl_8009C424:
|
|
/* 8009C424 00098344 3B 7B 00 01 */ addi r27, r27, 1
|
|
lbl_8009C428:
|
|
/* 8009C428 00098348 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 8009C42C 0009834C 3B 9C 00 01 */ addi r28, r28, 1
|
|
lbl_8009C430:
|
|
/* 8009C430 00098350 88 1F 00 24 */ lbz r0, 0x24(r31)
|
|
/* 8009C434 00098354 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C438 00098358 7C 1C 00 00 */ cmpw r28, r0
|
|
/* 8009C43C 0009835C 41 80 FF 7C */ blt lbl_8009C3B8
|
|
/* 8009C440 00098360 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8009C444 00098364 40 81 01 74 */ ble lbl_8009C5B8
|
|
/* 8009C448 00098368 EC 7E E0 2A */ fadds f3, f30, f28
|
|
/* 8009C44C 0009836C C8 A2 B1 F0 */ lfd f5, lbl_802F59F0@sda21(r2)
|
|
/* 8009C450 00098370 EC 5F E8 2A */ fadds f2, f31, f29
|
|
/* 8009C454 00098374 C8 22 B2 00 */ lfd f1, lbl_802F5A00@sda21(r2)
|
|
/* 8009C458 00098378 C0 0D 9C E8 */ lfs f0, lbl_802F1EC8@sda21(r13)
|
|
/* 8009C45C 0009837C FC 85 00 F2 */ fmul f4, f5, f3
|
|
/* 8009C460 00098380 FC 65 00 B2 */ fmul f3, f5, f2
|
|
/* 8009C464 00098384 FC 80 20 18 */ frsp f4, f4
|
|
/* 8009C468 00098388 FC 41 00 2A */ fadd f2, f1, f0
|
|
/* 8009C46C 0009838C FC 00 18 18 */ frsp f0, f3
|
|
/* 8009C470 00098390 D0 81 00 28 */ stfs f4, 0x28(r1)
|
|
/* 8009C474 00098394 FC 40 10 18 */ frsp f2, f2
|
|
/* 8009C478 00098398 D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 8009C47C 0009839C C0 21 00 28 */ lfs f1, 0x28(r1)
|
|
/* 8009C480 000983A0 C0 61 00 30 */ lfs f3, 0x30(r1)
|
|
/* 8009C484 000983A4 4B F6 B1 51 */ bl mathutil_mtxA_from_translate_xyz
|
|
/* 8009C488 000983A8 EC 1E E0 28 */ fsubs f0, f30, f28
|
|
/* 8009C48C 000983AC C8 22 B2 10 */ lfd f1, lbl_802F5A10@sda21(r2)
|
|
/* 8009C490 000983B0 FF 61 00 2A */ fadd f27, f1, f0
|
|
/* 8009C494 000983B4 FF 60 D8 18 */ frsp f27, f27
|
|
lbl_8009C498:
|
|
/* 8009C498 000983B8 80 8D 9D 38 */ lwz r4, currentBallStructPtr@sda21(r13)
|
|
/* 8009C49C 000983BC 38 C0 00 01 */ li r6, 1
|
|
/* 8009C4A0 000983C0 38 61 00 40 */ addi r3, r1, 0x40
|
|
/* 8009C4A4 000983C4 88 04 00 2E */ lbz r0, 0x2e(r4)
|
|
/* 8009C4A8 000983C8 38 80 00 00 */ li r4, 0
|
|
/* 8009C4AC 000983CC 38 A0 00 AC */ li r5, 0xac
|
|
/* 8009C4B0 000983D0 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C4B4 000983D4 7C C0 00 30 */ slw r0, r6, r0
|
|
/* 8009C4B8 000983D8 54 1C 04 3E */ clrlwi r28, r0, 0x10
|
|
/* 8009C4BC 000983DC 4B F6 6E 65 */ bl memset
|
|
/* 8009C4C0 000983E0 38 00 00 2D */ li r0, 0x2d
|
|
/* 8009C4C4 000983E4 C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009C4C8 000983E8 B0 01 00 48 */ sth r0, 0x48(r1)
|
|
/* 8009C4CC 000983EC 3B A0 00 02 */ li r29, 2
|
|
/* 8009C4D0 000983F0 D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 8009C4D4 000983F4 D0 01 00 84 */ stfs f0, 0x84(r1)
|
|
/* 8009C4D8 000983F8 D0 01 00 88 */ stfs f0, 0x88(r1)
|
|
/* 8009C4DC 000983FC 80 1F 00 00 */ lwz r0, 0(r31)
|
|
/* 8009C4E0 00098400 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
|
|
/* 8009C4E4 00098404 41 82 00 08 */ beq lbl_8009C4EC
|
|
/* 8009C4E8 00098408 3B A0 00 01 */ li r29, 1
|
|
lbl_8009C4EC:
|
|
/* 8009C4EC 0009840C C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009C4F0 00098410 3B C1 00 74 */ addi r30, r1, 0x74
|
|
/* 8009C4F4 00098414 CB 82 B1 F8 */ lfd f28, lbl_802F59F8@sda21(r2)
|
|
/* 8009C4F8 00098418 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 8009C4FC 0009841C D0 01 00 34 */ stfs f0, 0x34(r1)
|
|
/* 8009C500 00098420 C3 A2 B2 20 */ lfs f29, lbl_802F5A20@sda21(r2)
|
|
/* 8009C504 00098424 D0 01 00 38 */ stfs f0, 0x38(r1)
|
|
/* 8009C508 00098428 CB C2 B2 18 */ lfd f30, lbl_802F5A18@sda21(r2)
|
|
/* 8009C50C 0009842C CB E2 B1 F0 */ lfd f31, lbl_802F59F0@sda21(r2)
|
|
/* 8009C510 00098430 48 00 00 A0 */ b lbl_8009C5B0
|
|
lbl_8009C514:
|
|
/* 8009C514 00098434 48 06 A3 51 */ bl rand
|
|
/* 8009C518 00098438 6C 60 80 00 */ xoris r0, r3, 0x8000
|
|
/* 8009C51C 0009843C 90 01 00 F4 */ stw r0, 0xf4(r1)
|
|
/* 8009C520 00098440 93 E1 00 F0 */ stw r31, 0xf0(r1)
|
|
/* 8009C524 00098444 C8 01 00 F0 */ lfd f0, 0xf0(r1)
|
|
/* 8009C528 00098448 EC 00 E0 28 */ fsubs f0, f0, f28
|
|
/* 8009C52C 0009844C EC 00 E8 24 */ fdivs f0, f0, f29
|
|
/* 8009C530 00098450 FC 1E 00 2A */ fadd f0, f30, f0
|
|
/* 8009C534 00098454 FC 1B 00 32 */ fmul f0, f27, f0
|
|
/* 8009C538 00098458 FC 1F 00 32 */ fmul f0, f31, f0
|
|
/* 8009C53C 0009845C FC 00 00 18 */ frsp f0, f0
|
|
/* 8009C540 00098460 D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 8009C544 00098464 48 06 A3 21 */ bl rand
|
|
/* 8009C548 00098468 54 63 04 7E */ clrlwi r3, r3, 0x11
|
|
/* 8009C54C 0009846C 4B F6 BA B1 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009C550 00098470 48 06 A3 15 */ bl rand
|
|
/* 8009C554 00098474 54 63 04 7E */ clrlwi r3, r3, 0x11
|
|
/* 8009C558 00098478 4B F6 BA 31 */ bl mathutil_mtxA_rotate_x
|
|
/* 8009C55C 0009847C 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8009C560 00098480 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 8009C564 00098484 4B F6 B8 C9 */ bl mathutil_mtxA_tf_point
|
|
/* 8009C568 00098488 48 06 A2 FD */ bl rand
|
|
/* 8009C56C 0009848C 54 60 04 7E */ clrlwi r0, r3, 0x11
|
|
/* 8009C570 00098490 B0 01 00 8C */ sth r0, 0x8c(r1)
|
|
/* 8009C574 00098494 48 06 A2 F1 */ bl rand
|
|
/* 8009C578 00098498 54 60 04 7E */ clrlwi r0, r3, 0x11
|
|
/* 8009C57C 0009849C B0 01 00 8E */ sth r0, 0x8e(r1)
|
|
/* 8009C580 000984A0 48 06 A2 E5 */ bl rand
|
|
/* 8009C584 000984A4 54 63 04 7E */ clrlwi r3, r3, 0x11
|
|
/* 8009C588 000984A8 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
|
|
/* 8009C58C 000984AC B0 61 00 90 */ sth r3, 0x90(r1)
|
|
/* 8009C590 000984B0 41 82 00 0C */ beq lbl_8009C59C
|
|
/* 8009C594 000984B4 B3 81 00 56 */ sth r28, 0x56(r1)
|
|
/* 8009C598 000984B8 48 00 00 0C */ b lbl_8009C5A4
|
|
lbl_8009C59C:
|
|
/* 8009C59C 000984BC 38 00 00 00 */ li r0, 0
|
|
/* 8009C5A0 000984C0 B0 01 00 56 */ sth r0, 0x56(r1)
|
|
lbl_8009C5A4:
|
|
/* 8009C5A4 000984C4 38 61 00 40 */ addi r3, r1, 0x40
|
|
/* 8009C5A8 000984C8 4B FB 09 61 */ bl spawn_effect
|
|
/* 8009C5AC 000984CC 3B BD FF FF */ addi r29, r29, -1
|
|
lbl_8009C5B0:
|
|
/* 8009C5B0 000984D0 2C 1D 00 00 */ cmpwi r29, 0
|
|
/* 8009C5B4 000984D4 41 81 FF 60 */ bgt lbl_8009C514
|
|
lbl_8009C5B8:
|
|
/* 8009C5B8 000984D8 BB 61 00 FC */ lmw r27, 0xfc(r1)
|
|
/* 8009C5BC 000984DC 80 01 01 3C */ lwz r0, 0x13c(r1)
|
|
/* 8009C5C0 000984E0 CB E1 01 30 */ lfd f31, 0x130(r1)
|
|
/* 8009C5C4 000984E4 CB C1 01 28 */ lfd f30, 0x128(r1)
|
|
/* 8009C5C8 000984E8 7C 08 03 A6 */ mtlr r0
|
|
/* 8009C5CC 000984EC CB A1 01 20 */ lfd f29, 0x120(r1)
|
|
/* 8009C5D0 000984F0 CB 81 01 18 */ lfd f28, 0x118(r1)
|
|
/* 8009C5D4 000984F4 CB 61 01 10 */ lfd f27, 0x110(r1)
|
|
/* 8009C5D8 000984F8 38 21 01 38 */ addi r1, r1, 0x138
|
|
/* 8009C5DC 000984FC 4E 80 00 20 */ blr
|
|
lbl_8009C5E0:
|
|
/* 8009C5E0 00098500 4E 80 00 20 */ blr
|
|
|
|
.global func_8009C5E4
|
|
func_8009C5E4:
|
|
/* 8009C5E4 00098504 7C 08 02 A6 */ mflr r0
|
|
/* 8009C5E8 00098508 3C A0 80 2C */ lis r5, lbl_802BA210@ha
|
|
/* 8009C5EC 0009850C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009C5F0 00098510 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 8009C5F4 00098514 BE 81 00 20 */ stmw r20, 0x20(r1)
|
|
/* 8009C5F8 00098518 3B 05 A2 10 */ addi r24, r5, lbl_802BA210@l
|
|
/* 8009C5FC 0009851C 3C A0 80 1D */ lis r5, lbl_801D3F10@ha
|
|
/* 8009C600 00098520 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 8009C604 00098524 3A A4 00 00 */ addi r21, r4, 0
|
|
/* 8009C608 00098528 3B A5 3F 10 */ addi r29, r5, lbl_801D3F10@l
|
|
/* 8009C60C 0009852C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C610 00098530 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8009C614 00098534 41 82 00 18 */ beq lbl_8009C62C
|
|
/* 8009C618 00098538 38 7D 03 24 */ addi r3, r29, 0x324
|
|
/* 8009C61C 0009853C 4C C6 31 82 */ crclr 6
|
|
/* 8009C620 00098540 38 BD 03 34 */ addi r5, r29, 0x334
|
|
/* 8009C624 00098544 38 80 02 D6 */ li r4, 0x2d6
|
|
/* 8009C628 00098548 48 02 76 79 */ bl OSPanic
|
|
lbl_8009C62C:
|
|
/* 8009C62C 0009854C 38 80 00 00 */ li r4, 0
|
|
/* 8009C630 00098550 90 98 00 00 */ stw r4, 0(r24)
|
|
/* 8009C634 00098554 38 00 FF FF */ li r0, -1
|
|
/* 8009C638 00098558 38 6D 91 DC */ addi r3, r13, lbl_802F13BC@sda21
|
|
/* 8009C63C 0009855C 98 98 00 75 */ stb r4, 0x75(r24)
|
|
/* 8009C640 00098560 90 98 00 78 */ stw r4, 0x78(r24)
|
|
/* 8009C644 00098564 90 98 00 6C */ stw r4, 0x6c(r24)
|
|
/* 8009C648 00098568 90 18 00 70 */ stw r0, 0x70(r24)
|
|
/* 8009C64C 0009856C 90 98 00 04 */ stw r4, 4(r24)
|
|
/* 8009C650 00098570 90 18 00 14 */ stw r0, 0x14(r24)
|
|
/* 8009C654 00098574 90 98 00 08 */ stw r4, 8(r24)
|
|
/* 8009C658 00098578 90 18 00 18 */ stw r0, 0x18(r24)
|
|
/* 8009C65C 0009857C 90 98 00 0C */ stw r4, 0xc(r24)
|
|
/* 8009C660 00098580 90 18 00 1C */ stw r0, 0x1c(r24)
|
|
/* 8009C664 00098584 90 98 00 10 */ stw r4, 0x10(r24)
|
|
/* 8009C668 00098588 90 18 00 20 */ stw r0, 0x20(r24)
|
|
/* 8009C66C 0009858C 48 02 F7 61 */ bl DVDChangeDir
|
|
/* 8009C670 00098590 38 7D 03 60 */ addi r3, r29, 0x360
|
|
/* 8009C674 00098594 4B FF 19 39 */ bl load_tpl
|
|
/* 8009C678 00098598 38 98 00 34 */ addi r4, r24, 0x34
|
|
/* 8009C67C 0009859C 90 78 00 34 */ stw r3, 0x34(r24)
|
|
/* 8009C680 000985A0 80 84 00 00 */ lwz r4, 0(r4)
|
|
/* 8009C684 000985A4 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8009C688 000985A8 41 82 00 10 */ beq lbl_8009C698
|
|
/* 8009C68C 000985AC 38 7D 03 6C */ addi r3, r29, 0x36c
|
|
/* 8009C690 000985B0 4B FF 14 55 */ bl load_gma
|
|
/* 8009C694 000985B4 90 78 00 38 */ stw r3, 0x38(r24)
|
|
lbl_8009C698:
|
|
/* 8009C698 000985B8 38 6D 91 E4 */ addi r3, r13, lbl_802F13C4@sda21
|
|
/* 8009C69C 000985BC 48 02 F7 31 */ bl DVDChangeDir
|
|
/* 8009C6A0 000985C0 88 1F 00 00 */ lbz r0, 0(r31)
|
|
/* 8009C6A4 000985C4 3B 21 00 1C */ addi r25, r1, 0x1c
|
|
/* 8009C6A8 000985C8 38 99 00 00 */ addi r4, r25, 0
|
|
/* 8009C6AC 000985CC 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C6B0 000985D0 3A C0 00 00 */ li r22, 0
|
|
/* 8009C6B4 000985D4 41 80 00 14 */ blt lbl_8009C6C8
|
|
/* 8009C6B8 000985D8 38 00 00 00 */ li r0, 0
|
|
/* 8009C6BC 000985DC 98 04 00 00 */ stb r0, 0(r4)
|
|
/* 8009C6C0 000985E0 3A C0 00 01 */ li r22, 1
|
|
/* 8009C6C4 000985E4 38 84 00 01 */ addi r4, r4, 1
|
|
lbl_8009C6C8:
|
|
/* 8009C6C8 000985E8 38 7F 00 01 */ addi r3, r31, 1
|
|
/* 8009C6CC 000985EC 88 1F 00 01 */ lbz r0, 1(r31)
|
|
/* 8009C6D0 000985F0 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C6D4 000985F4 41 80 00 14 */ blt lbl_8009C6E8
|
|
/* 8009C6D8 000985F8 38 00 00 01 */ li r0, 1
|
|
/* 8009C6DC 000985FC 98 04 00 00 */ stb r0, 0(r4)
|
|
/* 8009C6E0 00098600 38 84 00 01 */ addi r4, r4, 1
|
|
/* 8009C6E4 00098604 3A D6 00 01 */ addi r22, r22, 1
|
|
lbl_8009C6E8:
|
|
/* 8009C6E8 00098608 8C 03 00 01 */ lbzu r0, 1(r3)
|
|
/* 8009C6EC 0009860C 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C6F0 00098610 41 80 00 14 */ blt lbl_8009C704
|
|
/* 8009C6F4 00098614 38 00 00 02 */ li r0, 2
|
|
/* 8009C6F8 00098618 98 04 00 00 */ stb r0, 0(r4)
|
|
/* 8009C6FC 0009861C 38 84 00 01 */ addi r4, r4, 1
|
|
/* 8009C700 00098620 3A D6 00 01 */ addi r22, r22, 1
|
|
lbl_8009C704:
|
|
/* 8009C704 00098624 88 03 00 01 */ lbz r0, 1(r3)
|
|
/* 8009C708 00098628 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C70C 0009862C 41 80 00 10 */ blt lbl_8009C71C
|
|
/* 8009C710 00098630 38 00 00 03 */ li r0, 3
|
|
/* 8009C714 00098634 98 04 00 00 */ stb r0, 0(r4)
|
|
/* 8009C718 00098638 3A D6 00 01 */ addi r22, r22, 1
|
|
lbl_8009C71C:
|
|
/* 8009C71C 0009863C 38 D9 00 00 */ addi r6, r25, 0
|
|
/* 8009C720 00098640 38 76 FF FF */ addi r3, r22, -1
|
|
/* 8009C724 00098644 39 20 00 00 */ li r9, 0
|
|
/* 8009C728 00098648 48 00 00 60 */ b lbl_8009C788
|
|
lbl_8009C72C:
|
|
/* 8009C72C 0009864C 38 89 00 01 */ addi r4, r9, 1
|
|
/* 8009C730 00098650 7C 04 B0 50 */ subf r0, r4, r22
|
|
/* 8009C734 00098654 38 A1 00 1D */ addi r5, r1, 0x1d
|
|
/* 8009C738 00098658 7C 09 03 A6 */ mtctr r0
|
|
/* 8009C73C 0009865C 7C 04 B0 00 */ cmpw r4, r22
|
|
/* 8009C740 00098660 7C A5 4A 14 */ add r5, r5, r9
|
|
/* 8009C744 00098664 40 80 00 3C */ bge lbl_8009C780
|
|
lbl_8009C748:
|
|
/* 8009C748 00098668 88 E6 00 00 */ lbz r7, 0(r6)
|
|
/* 8009C74C 0009866C 89 05 00 00 */ lbz r8, 0(r5)
|
|
/* 8009C750 00098670 7C E4 07 74 */ extsb r4, r7
|
|
/* 8009C754 00098674 7D 00 07 74 */ extsb r0, r8
|
|
/* 8009C758 00098678 7C 95 20 AE */ lbzx r4, r21, r4
|
|
/* 8009C75C 0009867C 7C 15 00 AE */ lbzx r0, r21, r0
|
|
/* 8009C760 00098680 7C 84 07 74 */ extsb r4, r4
|
|
/* 8009C764 00098684 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C768 00098688 7C 04 00 00 */ cmpw r4, r0
|
|
/* 8009C76C 0009868C 40 81 00 0C */ ble lbl_8009C778
|
|
/* 8009C770 00098690 99 06 00 00 */ stb r8, 0(r6)
|
|
/* 8009C774 00098694 98 E5 00 00 */ stb r7, 0(r5)
|
|
lbl_8009C778:
|
|
/* 8009C778 00098698 38 A5 00 01 */ addi r5, r5, 1
|
|
/* 8009C77C 0009869C 42 00 FF CC */ bdnz lbl_8009C748
|
|
lbl_8009C780:
|
|
/* 8009C780 000986A0 38 C6 00 01 */ addi r6, r6, 1
|
|
/* 8009C784 000986A4 39 29 00 01 */ addi r9, r9, 1
|
|
lbl_8009C788:
|
|
/* 8009C788 000986A8 7C 09 18 00 */ cmpw r9, r3
|
|
/* 8009C78C 000986AC 41 80 FF A0 */ blt lbl_8009C72C
|
|
/* 8009C790 000986B0 2C 16 00 01 */ cmpwi r22, 1
|
|
/* 8009C794 000986B4 41 81 00 10 */ bgt lbl_8009C7A4
|
|
/* 8009C798 000986B8 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C79C 000986BC 60 00 00 20 */ ori r0, r0, 0x20
|
|
/* 8009C7A0 000986C0 90 18 00 00 */ stw r0, 0(r24)
|
|
lbl_8009C7A4:
|
|
/* 8009C7A4 000986C4 2C 16 00 01 */ cmpwi r22, 1
|
|
/* 8009C7A8 000986C8 40 81 00 50 */ ble lbl_8009C7F8
|
|
/* 8009C7AC 000986CC 2C 16 00 00 */ cmpwi r22, 0
|
|
/* 8009C7B0 000986D0 7E C9 03 A6 */ mtctr r22
|
|
/* 8009C7B4 000986D4 38 79 00 00 */ addi r3, r25, 0
|
|
/* 8009C7B8 000986D8 38 80 00 01 */ li r4, 1
|
|
/* 8009C7BC 000986DC 40 81 00 28 */ ble lbl_8009C7E4
|
|
lbl_8009C7C0:
|
|
/* 8009C7C0 000986E0 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 8009C7C4 000986E4 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C7C8 000986E8 7C 15 00 AE */ lbzx r0, r21, r0
|
|
/* 8009C7CC 000986EC 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009C7D0 000986F0 41 82 00 0C */ beq lbl_8009C7DC
|
|
/* 8009C7D4 000986F4 38 80 00 00 */ li r4, 0
|
|
/* 8009C7D8 000986F8 48 00 00 0C */ b lbl_8009C7E4
|
|
lbl_8009C7DC:
|
|
/* 8009C7DC 000986FC 38 63 00 01 */ addi r3, r3, 1
|
|
/* 8009C7E0 00098700 42 00 FF E0 */ bdnz lbl_8009C7C0
|
|
lbl_8009C7E4:
|
|
/* 8009C7E4 00098704 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 8009C7E8 00098708 41 82 00 10 */ beq lbl_8009C7F8
|
|
/* 8009C7EC 0009870C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C7F0 00098710 60 00 00 02 */ ori r0, r0, 2
|
|
/* 8009C7F4 00098714 90 18 00 00 */ stw r0, 0(r24)
|
|
lbl_8009C7F8:
|
|
/* 8009C7F8 00098718 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C7FC 0009871C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
|
/* 8009C800 00098720 40 82 00 5C */ bne lbl_8009C85C
|
|
/* 8009C804 00098724 2C 16 00 01 */ cmpwi r22, 1
|
|
/* 8009C808 00098728 40 81 00 54 */ ble lbl_8009C85C
|
|
/* 8009C80C 0009872C 2C 16 00 00 */ cmpwi r22, 0
|
|
/* 8009C810 00098730 7E C9 03 A6 */ mtctr r22
|
|
/* 8009C814 00098734 38 79 00 00 */ addi r3, r25, 0
|
|
/* 8009C818 00098738 38 80 00 01 */ li r4, 1
|
|
/* 8009C81C 0009873C 40 81 00 2C */ ble lbl_8009C848
|
|
lbl_8009C820:
|
|
/* 8009C820 00098740 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 8009C824 00098744 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C828 00098748 7C 15 00 AE */ lbzx r0, r21, r0
|
|
/* 8009C82C 0009874C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C830 00098750 2C 00 00 03 */ cmpwi r0, 3
|
|
/* 8009C834 00098754 41 82 00 0C */ beq lbl_8009C840
|
|
/* 8009C838 00098758 38 80 00 00 */ li r4, 0
|
|
/* 8009C83C 0009875C 48 00 00 0C */ b lbl_8009C848
|
|
lbl_8009C840:
|
|
/* 8009C840 00098760 38 63 00 01 */ addi r3, r3, 1
|
|
/* 8009C844 00098764 42 00 FF DC */ bdnz lbl_8009C820
|
|
lbl_8009C848:
|
|
/* 8009C848 00098768 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 8009C84C 0009876C 41 82 00 10 */ beq lbl_8009C85C
|
|
/* 8009C850 00098770 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C854 00098774 60 00 00 04 */ ori r0, r0, 4
|
|
/* 8009C858 00098778 90 18 00 00 */ stw r0, 0(r24)
|
|
lbl_8009C85C:
|
|
/* 8009C85C 0009877C 2C 16 00 02 */ cmpwi r22, 2
|
|
/* 8009C860 00098780 40 82 00 38 */ bne lbl_8009C898
|
|
/* 8009C864 00098784 88 01 00 1D */ lbz r0, 0x1d(r1)
|
|
/* 8009C868 00098788 88 61 00 1C */ lbz r3, 0x1c(r1)
|
|
/* 8009C86C 0009878C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C870 00098790 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009C874 00098794 7C 95 02 14 */ add r4, r21, r0
|
|
/* 8009C878 00098798 7C 75 18 AE */ lbzx r3, r21, r3
|
|
/* 8009C87C 0009879C 88 04 00 00 */ lbz r0, 0(r4)
|
|
/* 8009C880 000987A0 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009C884 000987A4 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C888 000987A8 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8009C88C 000987AC 40 80 00 0C */ bge lbl_8009C898
|
|
/* 8009C890 000987B0 38 00 00 03 */ li r0, 3
|
|
/* 8009C894 000987B4 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_8009C898:
|
|
/* 8009C898 000987B8 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 8009C89C 000987BC 38 95 00 00 */ addi r4, r21, 0
|
|
/* 8009C8A0 000987C0 38 D6 00 00 */ addi r6, r22, 0
|
|
/* 8009C8A4 000987C4 38 A1 00 1C */ addi r5, r1, 0x1c
|
|
/* 8009C8A8 000987C8 4B FF F8 D1 */ bl func_8009C178
|
|
/* 8009C8AC 000987CC 2C 16 00 02 */ cmpwi r22, 2
|
|
/* 8009C8B0 000987D0 40 81 00 20 */ ble lbl_8009C8D0
|
|
/* 8009C8B4 000987D4 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C8B8 000987D8 54 00 07 7D */ rlwinm. r0, r0, 0, 0x1d, 0x1e
|
|
/* 8009C8BC 000987DC 40 82 00 14 */ bne lbl_8009C8D0
|
|
/* 8009C8C0 000987E0 88 61 00 1C */ lbz r3, 0x1c(r1)
|
|
/* 8009C8C4 000987E4 88 01 00 1D */ lbz r0, 0x1d(r1)
|
|
/* 8009C8C8 000987E8 98 01 00 1C */ stb r0, 0x1c(r1)
|
|
/* 8009C8CC 000987EC 98 61 00 1D */ stb r3, 0x1d(r1)
|
|
lbl_8009C8D0:
|
|
/* 8009C8D0 000987F0 7E C0 07 74 */ extsb r0, r22
|
|
/* 8009C8D4 000987F4 7E C9 03 A6 */ mtctr r22
|
|
/* 8009C8D8 000987F8 2C 16 00 00 */ cmpwi r22, 0
|
|
/* 8009C8DC 000987FC 98 18 00 24 */ stb r0, 0x24(r24)
|
|
/* 8009C8E0 00098800 3A F8 00 24 */ addi r23, r24, 0x24
|
|
/* 8009C8E4 00098804 38 79 00 00 */ addi r3, r25, 0
|
|
/* 8009C8E8 00098808 38 98 00 00 */ addi r4, r24, 0
|
|
/* 8009C8EC 0009880C 40 81 00 84 */ ble lbl_8009C970
|
|
lbl_8009C8F0:
|
|
/* 8009C8F0 00098810 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 8009C8F4 00098814 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C8F8 00098818 7C B5 00 AE */ lbzx r5, r21, r0
|
|
/* 8009C8FC 0009881C 7C A0 07 75 */ extsb. r0, r5
|
|
/* 8009C900 00098820 40 80 00 0C */ bge lbl_8009C90C
|
|
/* 8009C904 00098824 38 00 00 00 */ li r0, 0
|
|
/* 8009C908 00098828 48 00 00 14 */ b lbl_8009C91C
|
|
lbl_8009C90C:
|
|
/* 8009C90C 0009882C 7C A0 07 74 */ extsb r0, r5
|
|
/* 8009C910 00098830 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 8009C914 00098834 40 81 00 08 */ ble lbl_8009C91C
|
|
/* 8009C918 00098838 38 00 00 04 */ li r0, 4
|
|
lbl_8009C91C:
|
|
/* 8009C91C 0009883C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C920 00098840 98 04 00 25 */ stb r0, 0x25(r4)
|
|
/* 8009C924 00098844 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 8009C928 00098848 98 04 00 29 */ stb r0, 0x29(r4)
|
|
/* 8009C92C 0009884C 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 8009C930 00098850 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C934 00098854 7C 1F 00 AE */ lbzx r0, r31, r0
|
|
/* 8009C938 00098858 54 00 06 72 */ rlwinm r0, r0, 0, 0x19, 0x19
|
|
/* 8009C93C 0009885C 7C A0 00 D0 */ neg r5, r0
|
|
/* 8009C940 00098860 30 05 FF FF */ addic r0, r5, -1
|
|
/* 8009C944 00098864 7C 00 29 10 */ subfe r0, r0, r5
|
|
/* 8009C948 00098868 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C94C 0009886C 98 04 00 2D */ stb r0, 0x2d(r4)
|
|
/* 8009C950 00098870 38 84 00 01 */ addi r4, r4, 1
|
|
/* 8009C954 00098874 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 8009C958 00098878 38 63 00 01 */ addi r3, r3, 1
|
|
/* 8009C95C 0009887C 7C 05 07 74 */ extsb r5, r0
|
|
/* 8009C960 00098880 7C 1F 28 AE */ lbzx r0, r31, r5
|
|
/* 8009C964 00098884 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
|
|
/* 8009C968 00098888 7C 1F 29 AE */ stbx r0, r31, r5
|
|
/* 8009C96C 0009888C 42 00 FF 84 */ bdnz lbl_8009C8F0
|
|
lbl_8009C970:
|
|
/* 8009C970 00098890 3A C0 00 00 */ li r22, 0
|
|
/* 8009C974 00098894 3C 60 80 0A */ lis r3, lbl_8009D3AC@ha
|
|
/* 8009C978 00098898 3B 98 00 00 */ addi r28, r24, 0
|
|
/* 8009C97C 0009889C 3B 78 00 00 */ addi r27, r24, 0
|
|
/* 8009C980 000988A0 3B 56 00 00 */ addi r26, r22, 0
|
|
/* 8009C984 000988A4 3B C3 D3 AC */ addi r30, r3, lbl_8009D3AC@l
|
|
/* 8009C988 000988A8 48 00 00 D8 */ b lbl_8009CA60
|
|
lbl_8009C98C:
|
|
/* 8009C98C 000988AC 88 19 00 00 */ lbz r0, 0(r25)
|
|
/* 8009C990 000988B0 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C994 000988B4 7C 7F 00 AE */ lbzx r3, r31, r0
|
|
/* 8009C998 000988B8 7C 60 07 75 */ extsb. r0, r3
|
|
/* 8009C99C 000988BC 41 80 00 B0 */ blt lbl_8009CA4C
|
|
/* 8009C9A0 000988C0 8A 9C 00 25 */ lbz r20, 0x25(r28)
|
|
/* 8009C9A4 000988C4 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009C9A8 000988C8 7E 94 07 74 */ extsb r20, r20
|
|
/* 8009C9AC 000988CC 4B FE EE 8D */ bl u_make_ape
|
|
/* 8009C9B0 000988D0 3A A3 00 00 */ addi r21, r3, 0
|
|
/* 8009C9B4 000988D4 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8009C9B8 000988D8 38 95 00 00 */ addi r4, r21, 0
|
|
/* 8009C9BC 000988DC 38 A0 00 05 */ li r5, 5
|
|
/* 8009C9C0 000988E0 4B FF 08 1D */ bl func_8008D1DC
|
|
/* 8009C9C4 000988E4 90 7B 00 14 */ stw r3, 0x14(r27)
|
|
/* 8009C9C8 000988E8 92 95 00 74 */ stw r20, 0x74(r21)
|
|
/* 8009C9CC 000988EC 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009C9D0 000988F0 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
|
|
/* 8009C9D4 000988F4 41 82 00 0C */ beq lbl_8009C9E0
|
|
/* 8009C9D8 000988F8 38 00 00 00 */ li r0, 0
|
|
/* 8009C9DC 000988FC 90 15 00 74 */ stw r0, 0x74(r21)
|
|
lbl_8009C9E0:
|
|
/* 8009C9E0 00098900 88 19 00 00 */ lbz r0, 0(r25)
|
|
/* 8009C9E4 00098904 38 75 00 60 */ addi r3, r21, 0x60
|
|
/* 8009C9E8 00098908 80 95 00 74 */ lwz r4, 0x74(r21)
|
|
/* 8009C9EC 0009890C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009C9F0 00098910 54 00 40 2E */ slwi r0, r0, 8
|
|
/* 8009C9F4 00098914 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8009C9F8 00098918 90 15 00 74 */ stw r0, 0x74(r21)
|
|
/* 8009C9FC 0009891C 80 15 00 74 */ lwz r0, 0x74(r21)
|
|
/* 8009CA00 00098920 7C 00 D3 78 */ or r0, r0, r26
|
|
/* 8009CA04 00098924 90 15 00 74 */ stw r0, 0x74(r21)
|
|
/* 8009CA08 00098928 88 19 00 00 */ lbz r0, 0(r25)
|
|
/* 8009CA0C 0009892C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009CA10 00098930 90 15 00 B4 */ stw r0, 0xb4(r21)
|
|
/* 8009CA14 00098934 4B F6 B8 49 */ bl mathutil_mtxA_from_quat
|
|
/* 8009CA18 00098938 38 60 C0 00 */ li r3, -16384
|
|
/* 8009CA1C 0009893C 4B F6 B5 E1 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009CA20 00098940 38 75 00 60 */ addi r3, r21, 0x60
|
|
/* 8009CA24 00098944 4B F6 BE 4D */ bl mathutil_mtxA_to_quat
|
|
/* 8009CA28 00098948 38 76 00 00 */ addi r3, r22, 0
|
|
/* 8009CA2C 0009894C 38 95 00 30 */ addi r4, r21, 0x30
|
|
/* 8009CA30 00098950 48 00 0D CD */ bl func_8009D7FC
|
|
/* 8009CA34 00098954 80 15 00 74 */ lwz r0, 0x74(r21)
|
|
/* 8009CA38 00098958 38 75 00 00 */ addi r3, r21, 0
|
|
/* 8009CA3C 0009895C 38 80 00 0A */ li r4, 0xa
|
|
/* 8009CA40 00098960 54 05 06 3E */ clrlwi r5, r0, 0x18
|
|
/* 8009CA44 00098964 4B FE EF E9 */ bl func_8008BA2C
|
|
/* 8009CA48 00098968 92 BB 00 04 */ stw r21, 4(r27)
|
|
lbl_8009CA4C:
|
|
/* 8009CA4C 0009896C 3F 5A 00 01 */ addis r26, r26, 1
|
|
/* 8009CA50 00098970 3A D6 00 01 */ addi r22, r22, 1
|
|
/* 8009CA54 00098974 3B 39 00 01 */ addi r25, r25, 1
|
|
/* 8009CA58 00098978 3B 9C 00 01 */ addi r28, r28, 1
|
|
/* 8009CA5C 0009897C 3B 7B 00 04 */ addi r27, r27, 4
|
|
lbl_8009CA60:
|
|
/* 8009CA60 00098980 88 17 00 00 */ lbz r0, 0(r23)
|
|
/* 8009CA64 00098984 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009CA68 00098988 7C 16 00 00 */ cmpw r22, r0
|
|
/* 8009CA6C 0009898C 41 80 FF 20 */ blt lbl_8009C98C
|
|
/* 8009CA70 00098990 4B F6 AA F5 */ bl mathutil_mtxA_from_identity
|
|
/* 8009CA74 00098994 38 78 00 3C */ addi r3, r24, 0x3c
|
|
/* 8009CA78 00098998 4B F6 AE 01 */ bl mathutil_mtxA_to_mtx
|
|
/* 8009CA7C 0009899C 4B FD 3B AD */ bl create_sprite
|
|
/* 8009CA80 000989A0 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009CA84 000989A4 41 82 00 30 */ beq lbl_8009CAB4
|
|
/* 8009CA88 000989A8 38 00 00 62 */ li r0, 0x62
|
|
/* 8009CA8C 000989AC 3C 80 80 0A */ lis r4, lbl_8009C2A4@ha
|
|
/* 8009CA90 000989B0 98 03 00 0F */ stb r0, 0xf(r3)
|
|
/* 8009CA94 000989B4 38 04 C2 A4 */ addi r0, r4, lbl_8009C2A4@l
|
|
/* 8009CA98 000989B8 3C 80 80 0A */ lis r4, lbl_8009C5E0@ha
|
|
/* 8009CA9C 000989BC 90 03 00 34 */ stw r0, 0x34(r3)
|
|
/* 8009CAA0 000989C0 38 04 C5 E0 */ addi r0, r4, lbl_8009C5E0@l
|
|
/* 8009CAA4 000989C4 90 03 00 38 */ stw r0, 0x38(r3)
|
|
/* 8009CAA8 000989C8 38 63 00 8C */ addi r3, r3, 0x8c
|
|
/* 8009CAAC 000989CC 38 9D 03 14 */ addi r4, r29, 0x314
|
|
/* 8009CAB0 000989D0 48 06 9F FD */ bl strcpy
|
|
lbl_8009CAB4:
|
|
/* 8009CAB4 000989D4 38 60 00 40 */ li r3, 0x40
|
|
/* 8009CAB8 000989D8 38 80 00 00 */ li r4, 0
|
|
/* 8009CABC 000989DC 4B F9 04 7D */ bl u_play_music
|
|
/* 8009CAC0 000989E0 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8009CAC4 000989E4 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8009CAC8 000989E8 90 18 00 00 */ stw r0, 0(r24)
|
|
/* 8009CACC 000989EC 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 8009CAD0 000989F0 BA 81 00 20 */ lmw r20, 0x20(r1)
|
|
/* 8009CAD4 000989F4 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 8009CAD8 000989F8 7C 08 03 A6 */ mtlr r0
|
|
/* 8009CADC 000989FC 4E 80 00 20 */ blr
|
|
|
|
.global func_8009CAE0
|
|
func_8009CAE0:
|
|
/* 8009CAE0 00098A00 7C 08 02 A6 */ mflr r0
|
|
/* 8009CAE4 00098A04 3C C0 80 2C */ lis r6, lbl_802BA210@ha
|
|
/* 8009CAE8 00098A08 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009CAEC 00098A0C 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 8009CAF0 00098A10 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 8009CAF4 00098A14 3B E5 00 00 */ addi r31, r5, 0
|
|
/* 8009CAF8 00098A18 93 C1 00 20 */ stw r30, 0x20(r1)
|
|
/* 8009CAFC 00098A1C 3B C6 A2 10 */ addi r30, r6, lbl_802BA210@l
|
|
/* 8009CB00 00098A20 93 A1 00 1C */ stw r29, 0x1c(r1)
|
|
/* 8009CB04 00098A24 93 81 00 18 */ stw r28, 0x18(r1)
|
|
/* 8009CB08 00098A28 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 8009CB0C 00098A2C 4B FF FA D9 */ bl func_8009C5E4
|
|
/* 8009CB10 00098A30 88 7C 00 04 */ lbz r3, 4(r28)
|
|
/* 8009CB14 00098A34 7C 60 07 75 */ extsb. r0, r3
|
|
/* 8009CB18 00098A38 41 80 00 FC */ blt lbl_8009CC14
|
|
/* 8009CB1C 00098A3C 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009CB20 00098A40 4B FE ED 19 */ bl u_make_ape
|
|
/* 8009CB24 00098A44 3C 80 80 0A */ lis r4, lbl_8009D3AC@ha
|
|
/* 8009CB28 00098A48 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 8009CB2C 00098A4C 38 64 D3 AC */ addi r3, r4, lbl_8009D3AC@l
|
|
/* 8009CB30 00098A50 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 8009CB34 00098A54 38 A0 00 05 */ li r5, 5
|
|
/* 8009CB38 00098A58 4B FF 06 A5 */ bl func_8008D1DC
|
|
/* 8009CB3C 00098A5C 90 7E 00 70 */ stw r3, 0x70(r30)
|
|
/* 8009CB40 00098A60 38 00 00 00 */ li r0, 0
|
|
/* 8009CB44 00098A64 7F FD 07 74 */ extsb r29, r31
|
|
/* 8009CB48 00098A68 90 1C 00 74 */ stw r0, 0x74(r28)
|
|
/* 8009CB4C 00098A6C 57 A0 40 2E */ slwi r0, r29, 8
|
|
/* 8009CB50 00098A70 38 7C 00 60 */ addi r3, r28, 0x60
|
|
/* 8009CB54 00098A74 80 9C 00 74 */ lwz r4, 0x74(r28)
|
|
/* 8009CB58 00098A78 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8009CB5C 00098A7C 90 1C 00 74 */ stw r0, 0x74(r28)
|
|
/* 8009CB60 00098A80 93 BC 00 B4 */ stw r29, 0xb4(r28)
|
|
/* 8009CB64 00098A84 4B F6 B6 F9 */ bl mathutil_mtxA_from_quat
|
|
/* 8009CB68 00098A88 38 60 C0 00 */ li r3, -16384
|
|
/* 8009CB6C 00098A8C 4B F6 B4 91 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009CB70 00098A90 38 7C 00 60 */ addi r3, r28, 0x60
|
|
/* 8009CB74 00098A94 4B F6 BC FD */ bl mathutil_mtxA_to_quat
|
|
/* 8009CB78 00098A98 C0 02 B1 C0 */ lfs f0, lbl_802F59C0@sda21(r2)
|
|
/* 8009CB7C 00098A9C 3C 60 80 17 */ lis r3, lbl_80171B60@ha
|
|
/* 8009CB80 00098AA0 38 A3 1B 60 */ addi r5, r3, lbl_80171B60@l
|
|
/* 8009CB84 00098AA4 D0 1C 00 30 */ stfs f0, 0x30(r28)
|
|
/* 8009CB88 00098AA8 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8009CB8C 00098AAC 38 80 00 0A */ li r4, 0xa
|
|
/* 8009CB90 00098AB0 C0 05 00 00 */ lfs f0, 0(r5)
|
|
/* 8009CB94 00098AB4 D0 1C 00 34 */ stfs f0, 0x34(r28)
|
|
/* 8009CB98 00098AB8 C0 02 B2 24 */ lfs f0, lbl_802F5A24@sda21(r2)
|
|
/* 8009CB9C 00098ABC D0 1C 00 38 */ stfs f0, 0x38(r28)
|
|
/* 8009CBA0 00098AC0 80 1C 00 74 */ lwz r0, 0x74(r28)
|
|
/* 8009CBA4 00098AC4 54 05 06 3E */ clrlwi r5, r0, 0x18
|
|
/* 8009CBA8 00098AC8 4B FE EE 85 */ bl func_8008BA2C
|
|
/* 8009CBAC 00098ACC 93 9E 00 6C */ stw r28, 0x6c(r30)
|
|
/* 8009CBB0 00098AD0 38 7D 00 05 */ addi r3, r29, 5
|
|
/* 8009CBB4 00098AD4 38 00 00 01 */ li r0, 1
|
|
/* 8009CBB8 00098AD8 9B FE 00 74 */ stb r31, 0x74(r30)
|
|
/* 8009CBBC 00098ADC 80 9E 00 00 */ lwz r4, 0(r30)
|
|
/* 8009CBC0 00098AE0 60 84 00 08 */ ori r4, r4, 8
|
|
/* 8009CBC4 00098AE4 90 9E 00 00 */ stw r4, 0(r30)
|
|
/* 8009CBC8 00098AE8 98 7E 00 75 */ stb r3, 0x75(r30)
|
|
/* 8009CBCC 00098AEC 80 9E 00 04 */ lwz r4, 4(r30)
|
|
/* 8009CBD0 00098AF0 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8009CBD4 00098AF4 41 82 00 08 */ beq lbl_8009CBDC
|
|
/* 8009CBD8 00098AF8 90 04 00 B4 */ stw r0, 0xb4(r4)
|
|
lbl_8009CBDC:
|
|
/* 8009CBDC 00098AFC 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 8009CBE0 00098B00 80 9E 00 08 */ lwz r4, 8(r30)
|
|
/* 8009CBE4 00098B04 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8009CBE8 00098B08 41 82 00 08 */ beq lbl_8009CBF0
|
|
/* 8009CBEC 00098B0C 90 04 00 B4 */ stw r0, 0xb4(r4)
|
|
lbl_8009CBF0:
|
|
/* 8009CBF0 00098B10 80 83 00 08 */ lwz r4, 8(r3)
|
|
/* 8009CBF4 00098B14 38 63 00 04 */ addi r3, r3, 4
|
|
/* 8009CBF8 00098B18 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8009CBFC 00098B1C 41 82 00 08 */ beq lbl_8009CC04
|
|
/* 8009CC00 00098B20 90 04 00 B4 */ stw r0, 0xb4(r4)
|
|
lbl_8009CC04:
|
|
/* 8009CC04 00098B24 80 83 00 08 */ lwz r4, 8(r3)
|
|
/* 8009CC08 00098B28 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8009CC0C 00098B2C 41 82 00 08 */ beq lbl_8009CC14
|
|
/* 8009CC10 00098B30 90 04 00 B4 */ stw r0, 0xb4(r4)
|
|
lbl_8009CC14:
|
|
/* 8009CC14 00098B34 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8009CC18 00098B38 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 8009CC1C 00098B3C 83 C1 00 20 */ lwz r30, 0x20(r1)
|
|
/* 8009CC20 00098B40 7C 08 03 A6 */ mtlr r0
|
|
/* 8009CC24 00098B44 83 A1 00 1C */ lwz r29, 0x1c(r1)
|
|
/* 8009CC28 00098B48 83 81 00 18 */ lwz r28, 0x18(r1)
|
|
/* 8009CC2C 00098B4C 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8009CC30 00098B50 4E 80 00 20 */ blr
|
|
|
|
.global func_8009CC34
|
|
func_8009CC34:
|
|
/* 8009CC34 00098B54 7C 08 02 A6 */ mflr r0
|
|
/* 8009CC38 00098B58 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009CC3C 00098B5C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009CC40 00098B60 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8009CC44 00098B64 BF 61 00 0C */ stmw r27, 0xc(r1)
|
|
/* 8009CC48 00098B68 3B E3 A2 10 */ addi r31, r3, lbl_802BA210@l
|
|
/* 8009CC4C 00098B6C 80 1F 00 00 */ lwz r0, 0(r31)
|
|
/* 8009CC50 00098B70 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8009CC54 00098B74 41 82 00 F4 */ beq lbl_8009CD48
|
|
/* 8009CC58 00098B78 38 60 00 62 */ li r3, 0x62
|
|
/* 8009CC5C 00098B7C 4B FD 3A F5 */ bl destroy_sprite_with_tag
|
|
/* 8009CC60 00098B80 3B 9F 00 34 */ addi r28, r31, 0x34
|
|
/* 8009CC64 00098B84 80 1F 00 34 */ lwz r0, 0x34(r31)
|
|
/* 8009CC68 00098B88 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8009CC6C 00098B8C 40 82 00 10 */ bne lbl_8009CC7C
|
|
/* 8009CC70 00098B90 80 1F 00 38 */ lwz r0, 0x38(r31)
|
|
/* 8009CC74 00098B94 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8009CC78 00098B98 41 82 00 14 */ beq lbl_8009CC8C
|
|
lbl_8009CC7C:
|
|
/* 8009CC7C 00098B9C 80 6D 9A C4 */ lwz r3, gfxBufferInfo@sda21(r13)
|
|
/* 8009CC80 00098BA0 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 8009CC84 00098BA4 48 03 36 79 */ bl VISetNextFrameBuffer
|
|
/* 8009CC88 00098BA8 48 03 29 F9 */ bl VIWaitForRetrace
|
|
lbl_8009CC8C:
|
|
/* 8009CC8C 00098BAC 80 7C 00 00 */ lwz r3, 0(r28)
|
|
/* 8009CC90 00098BB0 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009CC94 00098BB4 41 82 00 10 */ beq lbl_8009CCA4
|
|
/* 8009CC98 00098BB8 4B FF 17 61 */ bl free_tpl
|
|
/* 8009CC9C 00098BBC 38 00 00 00 */ li r0, 0
|
|
/* 8009CCA0 00098BC0 90 1C 00 00 */ stw r0, 0(r28)
|
|
lbl_8009CCA4:
|
|
/* 8009CCA4 00098BC4 3B 9F 00 38 */ addi r28, r31, 0x38
|
|
/* 8009CCA8 00098BC8 80 7F 00 38 */ lwz r3, 0x38(r31)
|
|
/* 8009CCAC 00098BCC 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009CCB0 00098BD0 41 82 00 10 */ beq lbl_8009CCC0
|
|
/* 8009CCB4 00098BD4 4B FF 12 69 */ bl free_gma
|
|
/* 8009CCB8 00098BD8 38 00 00 00 */ li r0, 0
|
|
/* 8009CCBC 00098BDC 90 1C 00 00 */ stw r0, 0(r28)
|
|
lbl_8009CCC0:
|
|
/* 8009CCC0 00098BE0 3B 9F 00 6C */ addi r28, r31, 0x6c
|
|
/* 8009CCC4 00098BE4 80 7F 00 6C */ lwz r3, 0x6c(r31)
|
|
/* 8009CCC8 00098BE8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009CCCC 00098BEC 41 82 00 10 */ beq lbl_8009CCDC
|
|
/* 8009CCD0 00098BF0 4B FE E6 05 */ bl u_ape_free
|
|
/* 8009CCD4 00098BF4 38 00 00 00 */ li r0, 0
|
|
/* 8009CCD8 00098BF8 90 1C 00 00 */ stw r0, 0(r28)
|
|
lbl_8009CCDC:
|
|
/* 8009CCDC 00098BFC 3B 9F 00 70 */ addi r28, r31, 0x70
|
|
/* 8009CCE0 00098C00 80 7F 00 70 */ lwz r3, 0x70(r31)
|
|
/* 8009CCE4 00098C04 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8009CCE8 00098C08 41 80 00 10 */ blt lbl_8009CCF8
|
|
/* 8009CCEC 00098C0C 4B FF 05 B1 */ bl func_8008D29C
|
|
/* 8009CCF0 00098C10 38 00 FF FF */ li r0, -1
|
|
/* 8009CCF4 00098C14 90 1C 00 00 */ stw r0, 0(r28)
|
|
lbl_8009CCF8:
|
|
/* 8009CCF8 00098C18 3B 9F 00 0C */ addi r28, r31, 0xc
|
|
/* 8009CCFC 00098C1C 3B 60 00 03 */ li r27, 3
|
|
/* 8009CD00 00098C20 3B A0 00 00 */ li r29, 0
|
|
/* 8009CD04 00098C24 3B C0 FF FF */ li r30, -1
|
|
lbl_8009CD08:
|
|
/* 8009CD08 00098C28 80 7C 00 04 */ lwz r3, 4(r28)
|
|
/* 8009CD0C 00098C2C 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009CD10 00098C30 41 82 00 0C */ beq lbl_8009CD1C
|
|
/* 8009CD14 00098C34 4B FE E5 C1 */ bl u_ape_free
|
|
/* 8009CD18 00098C38 93 BC 00 04 */ stw r29, 4(r28)
|
|
lbl_8009CD1C:
|
|
/* 8009CD1C 00098C3C 80 7C 00 14 */ lwz r3, 0x14(r28)
|
|
/* 8009CD20 00098C40 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8009CD24 00098C44 41 80 00 0C */ blt lbl_8009CD30
|
|
/* 8009CD28 00098C48 4B FF 05 75 */ bl func_8008D29C
|
|
/* 8009CD2C 00098C4C 93 DC 00 14 */ stw r30, 0x14(r28)
|
|
lbl_8009CD30:
|
|
/* 8009CD30 00098C50 37 7B FF FF */ addic. r27, r27, -1
|
|
/* 8009CD34 00098C54 3B 9C FF FC */ addi r28, r28, -4
|
|
/* 8009CD38 00098C58 40 80 FF D0 */ bge lbl_8009CD08
|
|
/* 8009CD3C 00098C5C 80 1F 00 00 */ lwz r0, 0(r31)
|
|
/* 8009CD40 00098C60 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 8009CD44 00098C64 90 1F 00 00 */ stw r0, 0(r31)
|
|
lbl_8009CD48:
|
|
/* 8009CD48 00098C68 BB 61 00 0C */ lmw r27, 0xc(r1)
|
|
/* 8009CD4C 00098C6C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8009CD50 00098C70 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8009CD54 00098C74 7C 08 03 A6 */ mtlr r0
|
|
/* 8009CD58 00098C78 4E 80 00 20 */ blr
|
|
|
|
.global func_8009CD5C
|
|
func_8009CD5C:
|
|
/* 8009CD5C 00098C7C 7C 08 02 A6 */ mflr r0
|
|
/* 8009CD60 00098C80 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009CD64 00098C84 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009CD68 00098C88 94 21 FF 18 */ stwu r1, -0xe8(r1)
|
|
/* 8009CD6C 00098C8C DB E1 00 E0 */ stfd f31, 0xe0(r1)
|
|
/* 8009CD70 00098C90 BF 21 00 C4 */ stmw r25, 0xc4(r1)
|
|
/* 8009CD74 00098C94 3B 83 A2 10 */ addi r28, r3, lbl_802BA210@l
|
|
/* 8009CD78 00098C98 80 1C 00 00 */ lwz r0, 0(r28)
|
|
/* 8009CD7C 00098C9C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8009CD80 00098CA0 41 82 06 14 */ beq lbl_8009D394
|
|
/* 8009CD84 00098CA4 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009CD88 00098CA8 38 81 00 8C */ addi r4, r1, 0x8c
|
|
/* 8009CD8C 00098CAC 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 8009CD90 00098CB0 4B F6 AC 8D */ bl mathutil_mtx_copy
|
|
/* 8009CD94 00098CB4 4B F6 AC 19 */ bl mathutil_mtxA_from_mtxB
|
|
/* 8009CD98 00098CB8 38 7C 00 3C */ addi r3, r28, 0x3c
|
|
/* 8009CD9C 00098CBC 4B F6 AE A5 */ bl mathutil_mtxA_mult_right
|
|
/* 8009CDA0 00098CC0 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009CDA4 00098CC4 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 8009CDA8 00098CC8 4B F6 AA D1 */ bl mathutil_mtxA_to_mtx
|
|
/* 8009CDAC 00098CCC 3C 60 80 1C */ lis r3, backgroundInfo@ha
|
|
/* 8009CDB0 00098CD0 38 63 91 78 */ addi r3, r3, backgroundInfo@l
|
|
/* 8009CDB4 00098CD4 80 03 00 8C */ lwz r0, 0x8c(r3)
|
|
/* 8009CDB8 00098CD8 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8009CDBC 00098CDC 7C 1A 03 78 */ mr r26, r0
|
|
/* 8009CDC0 00098CE0 41 82 00 0C */ beq lbl_8009CDCC
|
|
/* 8009CDC4 00098CE4 7F 43 D3 78 */ mr r3, r26
|
|
/* 8009CDC8 00098CE8 4B FF 18 11 */ bl u_avdisp_set_some_func_1
|
|
lbl_8009CDCC:
|
|
/* 8009CDCC 00098CEC 4B F6 AB E1 */ bl mathutil_mtxA_from_mtxB
|
|
/* 8009CDD0 00098CF0 38 60 80 00 */ li r3, -32768
|
|
/* 8009CDD4 00098CF4 4B F6 B2 29 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009CDD8 00098CF8 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009CDDC 00098CFC 38 80 00 00 */ li r4, 0
|
|
/* 8009CDE0 00098D00 4B FF DC 45 */ bl u_gxutil_upload_some_mtx
|
|
/* 8009CDE4 00098D04 3B DC 00 38 */ addi r30, r28, 0x38
|
|
/* 8009CDE8 00098D08 80 7C 00 38 */ lwz r3, 0x38(r28)
|
|
/* 8009CDEC 00098D0C 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009CDF0 00098D10 80 63 00 40 */ lwz r3, 0x40(r3)
|
|
/* 8009CDF4 00098D14 4B FF 19 B9 */ bl avdisp_draw_model_unculled_sort_translucent
|
|
/* 8009CDF8 00098D18 3B FC 00 00 */ addi r31, r28, 0
|
|
/* 8009CDFC 00098D1C 3B BC 00 24 */ addi r29, r28, 0x24
|
|
/* 8009CE00 00098D20 3B 60 00 00 */ li r27, 0
|
|
/* 8009CE04 00098D24 48 00 00 98 */ b lbl_8009CE9C
|
|
lbl_8009CE08:
|
|
/* 8009CE08 00098D28 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 8009CE0C 00098D2C 38 81 00 80 */ addi r4, r1, 0x80
|
|
/* 8009CE10 00098D30 48 00 09 ED */ bl func_8009D7FC
|
|
/* 8009CE14 00098D34 38 61 00 80 */ addi r3, r1, 0x80
|
|
/* 8009CE18 00098D38 4B F6 A8 C5 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009CE1C 00098D3C 38 60 80 00 */ li r3, -32768
|
|
/* 8009CE20 00098D40 4B F6 B1 DD */ bl mathutil_mtxA_rotate_y
|
|
/* 8009CE24 00098D44 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009CE28 00098D48 38 80 00 00 */ li r4, 0
|
|
/* 8009CE2C 00098D4C 4B FF DB F9 */ bl u_gxutil_upload_some_mtx
|
|
/* 8009CE30 00098D50 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 8009CE34 00098D54 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009CE38 00098D58 80 63 00 18 */ lwz r3, 0x18(r3)
|
|
/* 8009CE3C 00098D5C 4B FF 15 FD */ bl avdisp_draw_model_culled_sort_translucent
|
|
/* 8009CE40 00098D60 88 BF 00 25 */ lbz r5, 0x25(r31)
|
|
/* 8009CE44 00098D64 7C A4 07 74 */ extsb r4, r5
|
|
/* 8009CE48 00098D68 28 04 00 05 */ cmplwi r4, 5
|
|
/* 8009CE4C 00098D6C 40 80 00 48 */ bge lbl_8009CE94
|
|
/* 8009CE50 00098D70 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009CE54 00098D74 38 62 B1 D8 */ addi r3, r2, lbl_802F59D8@sda21
|
|
/* 8009CE58 00098D78 7C 83 20 AE */ lbzx r4, r3, r4
|
|
/* 8009CE5C 00098D7C 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009CE60 00098D80 7C 84 07 74 */ extsb r4, r4
|
|
/* 8009CE64 00098D84 40 82 00 1C */ bne lbl_8009CE80
|
|
/* 8009CE68 00098D88 7C A0 07 75 */ extsb. r0, r5
|
|
/* 8009CE6C 00098D8C 40 82 00 14 */ bne lbl_8009CE80
|
|
/* 8009CE70 00098D90 80 1C 00 00 */ lwz r0, 0(r28)
|
|
/* 8009CE74 00098D94 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
|
/* 8009CE78 00098D98 40 82 00 08 */ bne lbl_8009CE80
|
|
/* 8009CE7C 00098D9C 38 80 00 0B */ li r4, 0xb
|
|
lbl_8009CE80:
|
|
/* 8009CE80 00098DA0 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 8009CE84 00098DA4 54 80 18 38 */ slwi r0, r4, 3
|
|
/* 8009CE88 00098DA8 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009CE8C 00098DAC 7C 63 00 2E */ lwzx r3, r3, r0
|
|
/* 8009CE90 00098DB0 4B FF 15 A9 */ bl avdisp_draw_model_culled_sort_translucent
|
|
lbl_8009CE94:
|
|
/* 8009CE94 00098DB4 3B FF 00 01 */ addi r31, r31, 1
|
|
/* 8009CE98 00098DB8 3B 7B 00 01 */ addi r27, r27, 1
|
|
lbl_8009CE9C:
|
|
/* 8009CE9C 00098DBC 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009CEA0 00098DC0 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009CEA4 00098DC4 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 8009CEA8 00098DC8 41 80 FF 60 */ blt lbl_8009CE08
|
|
/* 8009CEAC 00098DCC 3B FC 00 6C */ addi r31, r28, 0x6c
|
|
/* 8009CEB0 00098DD0 80 7C 00 6C */ lwz r3, 0x6c(r28)
|
|
/* 8009CEB4 00098DD4 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009CEB8 00098DD8 41 82 00 40 */ beq lbl_8009CEF8
|
|
/* 8009CEBC 00098DDC 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 8009CEC0 00098DE0 4B F6 A8 1D */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009CEC4 00098DE4 38 60 80 00 */ li r3, -32768
|
|
/* 8009CEC8 00098DE8 4B F6 B1 35 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009CECC 00098DEC 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009CED0 00098DF0 38 80 00 00 */ li r4, 0
|
|
/* 8009CED4 00098DF4 4B FF DB 51 */ bl u_gxutil_upload_some_mtx
|
|
/* 8009CED8 00098DF8 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 8009CEDC 00098DFC 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009CEE0 00098E00 80 63 00 18 */ lwz r3, 0x18(r3)
|
|
/* 8009CEE4 00098E04 4B FF 15 55 */ bl avdisp_draw_model_culled_sort_translucent
|
|
/* 8009CEE8 00098E08 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 8009CEEC 00098E0C 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009CEF0 00098E10 80 63 00 58 */ lwz r3, 0x58(r3)
|
|
/* 8009CEF4 00098E14 4B FF 15 45 */ bl avdisp_draw_model_culled_sort_translucent
|
|
lbl_8009CEF8:
|
|
/* 8009CEF8 00098E18 28 1A 00 00 */ cmplwi r26, 0
|
|
/* 8009CEFC 00098E1C 41 82 00 0C */ beq lbl_8009CF08
|
|
/* 8009CF00 00098E20 38 60 00 00 */ li r3, 0
|
|
/* 8009CF04 00098E24 4B FF 16 D5 */ bl u_avdisp_set_some_func_1
|
|
lbl_8009CF08:
|
|
/* 8009CF08 00098E28 C0 22 B2 28 */ lfs f1, lbl_802F5A28@sda21(r2)
|
|
/* 8009CF0C 00098E2C FC 40 08 90 */ fmr f2, f1
|
|
/* 8009CF10 00098E30 FC 60 08 90 */ fmr f3, f1
|
|
/* 8009CF14 00098E34 FC 80 08 90 */ fmr f4, f1
|
|
/* 8009CF18 00098E38 4B FF 27 FD */ bl avdisp_set_post_mult_color
|
|
/* 8009CF1C 00098E3C 38 60 00 01 */ li r3, 1
|
|
/* 8009CF20 00098E40 38 80 00 03 */ li r4, 3
|
|
/* 8009CF24 00098E44 38 A0 00 00 */ li r5, 0
|
|
/* 8009CF28 00098E48 4B FF 16 A1 */ bl avdisp_set_z_mode
|
|
/* 8009CF2C 00098E4C C3 E2 B1 D0 */ lfs f31, lbl_802F59D0@sda21(r2)
|
|
/* 8009CF30 00098E50 3B 5C 00 00 */ addi r26, r28, 0
|
|
/* 8009CF34 00098E54 3B 20 00 00 */ li r25, 0
|
|
/* 8009CF38 00098E58 48 00 00 F4 */ b lbl_8009D02C
|
|
lbl_8009CF3C:
|
|
/* 8009CF3C 00098E5C 83 7A 00 04 */ lwz r27, 4(r26)
|
|
/* 8009CF40 00098E60 28 1B 00 00 */ cmplwi r27, 0
|
|
/* 8009CF44 00098E64 41 82 00 E0 */ beq lbl_8009D024
|
|
/* 8009CF48 00098E68 80 9B 00 00 */ lwz r4, 0(r27)
|
|
/* 8009CF4C 00098E6C 38 7B 00 60 */ addi r3, r27, 0x60
|
|
/* 8009CF50 00098E70 3C 84 00 01 */ addis r4, r4, 1
|
|
/* 8009CF54 00098E74 C0 04 83 BC */ lfs f0, -0x7c44(r4)
|
|
/* 8009CF58 00098E78 D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 8009CF5C 00098E7C D3 E1 00 48 */ stfs f31, 0x48(r1)
|
|
/* 8009CF60 00098E80 80 9B 00 00 */ lwz r4, 0(r27)
|
|
/* 8009CF64 00098E84 3C 84 00 01 */ addis r4, r4, 1
|
|
/* 8009CF68 00098E88 C0 04 83 DC */ lfs f0, -0x7c24(r4)
|
|
/* 8009CF6C 00098E8C D0 01 00 4C */ stfs f0, 0x4c(r1)
|
|
/* 8009CF70 00098E90 4B F6 B2 ED */ bl mathutil_mtxA_from_quat
|
|
/* 8009CF74 00098E94 38 61 00 50 */ addi r3, r1, 0x50
|
|
/* 8009CF78 00098E98 4B F6 A9 01 */ bl mathutil_mtxA_to_mtx
|
|
/* 8009CF7C 00098E9C 38 7B 00 30 */ addi r3, r27, 0x30
|
|
/* 8009CF80 00098EA0 4B F6 A6 3D */ bl mathutil_mtxA_from_translate
|
|
/* 8009CF84 00098EA4 C0 3B 00 58 */ lfs f1, 0x58(r27)
|
|
/* 8009CF88 00098EA8 FC 40 08 90 */ fmr f2, f1
|
|
/* 8009CF8C 00098EAC FC 60 08 90 */ fmr f3, f1
|
|
/* 8009CF90 00098EB0 4B F6 AE 49 */ bl mathutil_mtxA_scale_xyz
|
|
/* 8009CF94 00098EB4 38 7B 00 3C */ addi r3, r27, 0x3c
|
|
/* 8009CF98 00098EB8 4B F6 AD 89 */ bl mathutil_mtxA_translate
|
|
/* 8009CF9C 00098EBC 38 61 00 50 */ addi r3, r1, 0x50
|
|
/* 8009CFA0 00098EC0 4B F6 AC A1 */ bl mathutil_mtxA_mult_right
|
|
/* 8009CFA4 00098EC4 38 61 00 44 */ addi r3, r1, 0x44
|
|
/* 8009CFA8 00098EC8 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8009CFAC 00098ECC 4B F6 AE 81 */ bl mathutil_mtxA_tf_point
|
|
/* 8009CFB0 00098ED0 4B F6 A5 B5 */ bl mathutil_mtxA_from_identity
|
|
/* 8009CFB4 00098ED4 C0 22 B2 2C */ lfs f1, lbl_802F5A2C@sda21(r2)
|
|
/* 8009CFB8 00098ED8 4B F6 AE 11 */ bl mathutil_mtxA_scale_s
|
|
/* 8009CFBC 00098EDC 38 61 00 50 */ addi r3, r1, 0x50
|
|
/* 8009CFC0 00098EE0 4B F6 A8 B9 */ bl mathutil_mtxA_to_mtx
|
|
/* 8009CFC4 00098EE4 38 61 00 44 */ addi r3, r1, 0x44
|
|
/* 8009CFC8 00098EE8 4B F6 A7 15 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009CFCC 00098EEC 38 61 00 50 */ addi r3, r1, 0x50
|
|
/* 8009CFD0 00098EF0 4B F6 AC 85 */ bl mathutil_mtxA_mult_left
|
|
/* 8009CFD4 00098EF4 38 60 40 00 */ li r3, 0x4000
|
|
/* 8009CFD8 00098EF8 4B F6 AF B1 */ bl mathutil_mtxA_rotate_x
|
|
/* 8009CFDC 00098EFC 80 1B 00 10 */ lwz r0, 0x10(r27)
|
|
/* 8009CFE0 00098F00 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009CFE4 00098F04 41 82 00 08 */ beq lbl_8009CFEC
|
|
/* 8009CFE8 00098F08 48 00 00 10 */ b lbl_8009CFF8
|
|
lbl_8009CFEC:
|
|
/* 8009CFEC 00098F0C C0 22 B2 30 */ lfs f1, lbl_802F5A30@sda21(r2)
|
|
/* 8009CFF0 00098F10 4B F6 AD D9 */ bl mathutil_mtxA_scale_s
|
|
/* 8009CFF4 00098F14 48 00 00 0C */ b lbl_8009D000
|
|
lbl_8009CFF8:
|
|
/* 8009CFF8 00098F18 C0 22 B2 34 */ lfs f1, lbl_802F5A34@sda21(r2)
|
|
/* 8009CFFC 00098F1C 4B F6 AD CD */ bl mathutil_mtxA_scale_s
|
|
lbl_8009D000:
|
|
/* 8009D000 00098F20 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009D004 00098F24 38 80 00 00 */ li r4, 0
|
|
/* 8009D008 00098F28 4B FF DA 1D */ bl u_gxutil_upload_some_mtx
|
|
/* 8009D00C 00098F2C C0 22 B2 34 */ lfs f1, lbl_802F5A34@sda21(r2)
|
|
/* 8009D010 00098F30 4B FF 15 55 */ bl avdisp_set_alpha
|
|
/* 8009D014 00098F34 80 6D 9A E8 */ lwz r3, commonGma@sda21(r13)
|
|
/* 8009D018 00098F38 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009D01C 00098F3C 80 63 02 70 */ lwz r3, 0x270(r3)
|
|
/* 8009D020 00098F40 4B FF 14 19 */ bl avdisp_draw_model_culled_sort_translucent
|
|
lbl_8009D024:
|
|
/* 8009D024 00098F44 3B 5A 00 04 */ addi r26, r26, 4
|
|
/* 8009D028 00098F48 3B 39 00 01 */ addi r25, r25, 1
|
|
lbl_8009D02C:
|
|
/* 8009D02C 00098F4C 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009D030 00098F50 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D034 00098F54 7C 19 00 00 */ cmpw r25, r0
|
|
/* 8009D038 00098F58 41 80 FF 04 */ blt lbl_8009CF3C
|
|
/* 8009D03C 00098F5C C0 22 B2 24 */ lfs f1, lbl_802F5A24@sda21(r2)
|
|
/* 8009D040 00098F60 FC 40 08 90 */ fmr f2, f1
|
|
/* 8009D044 00098F64 FC 60 08 90 */ fmr f3, f1
|
|
/* 8009D048 00098F68 FC 80 08 90 */ fmr f4, f1
|
|
/* 8009D04C 00098F6C 4B FF 26 C9 */ bl avdisp_set_post_mult_color
|
|
/* 8009D050 00098F70 38 60 00 01 */ li r3, 1
|
|
/* 8009D054 00098F74 38 80 00 03 */ li r4, 3
|
|
/* 8009D058 00098F78 38 A0 00 01 */ li r5, 1
|
|
/* 8009D05C 00098F7C 4B FF 15 6D */ bl avdisp_set_z_mode
|
|
/* 8009D060 00098F80 3B 5C 00 00 */ addi r26, r28, 0
|
|
/* 8009D064 00098F84 3B 60 00 00 */ li r27, 0
|
|
/* 8009D068 00098F88 48 00 01 70 */ b lbl_8009D1D8
|
|
lbl_8009D06C:
|
|
/* 8009D06C 00098F8C 7C 1B 18 00 */ cmpw r27, r3
|
|
/* 8009D070 00098F90 40 82 00 0C */ bne lbl_8009D07C
|
|
/* 8009D074 00098F94 83 3F 00 00 */ lwz r25, 0(r31)
|
|
/* 8009D078 00098F98 48 00 00 08 */ b lbl_8009D080
|
|
lbl_8009D07C:
|
|
/* 8009D07C 00098F9C 83 3A 00 04 */ lwz r25, 4(r26)
|
|
lbl_8009D080:
|
|
/* 8009D080 00098FA0 28 19 00 00 */ cmplwi r25, 0
|
|
/* 8009D084 00098FA4 41 82 01 4C */ beq lbl_8009D1D0
|
|
/* 8009D088 00098FA8 80 19 00 74 */ lwz r0, 0x74(r25)
|
|
/* 8009D08C 00098FAC 54 00 06 3F */ clrlwi. r0, r0, 0x18
|
|
/* 8009D090 00098FB0 40 82 01 40 */ bne lbl_8009D1D0
|
|
/* 8009D094 00098FB4 38 79 00 60 */ addi r3, r25, 0x60
|
|
/* 8009D098 00098FB8 4B F6 B1 C5 */ bl mathutil_mtxA_from_quat
|
|
/* 8009D09C 00098FBC 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 8009D0A0 00098FC0 4B F6 A7 D9 */ bl mathutil_mtxA_to_mtx
|
|
/* 8009D0A4 00098FC4 38 79 00 30 */ addi r3, r25, 0x30
|
|
/* 8009D0A8 00098FC8 4B F6 A6 35 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009D0AC 00098FCC C0 39 00 58 */ lfs f1, 0x58(r25)
|
|
/* 8009D0B0 00098FD0 FC 40 08 90 */ fmr f2, f1
|
|
/* 8009D0B4 00098FD4 FC 60 08 90 */ fmr f3, f1
|
|
/* 8009D0B8 00098FD8 4B F6 AD 21 */ bl mathutil_mtxA_scale_xyz
|
|
/* 8009D0BC 00098FDC 38 79 00 3C */ addi r3, r25, 0x3c
|
|
/* 8009D0C0 00098FE0 4B F6 AC 61 */ bl mathutil_mtxA_translate
|
|
/* 8009D0C4 00098FE4 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 8009D0C8 00098FE8 4B F6 AB 79 */ bl mathutil_mtxA_mult_right
|
|
/* 8009D0CC 00098FEC 80 19 00 10 */ lwz r0, 0x10(r25)
|
|
/* 8009D0D0 00098FF0 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009D0D4 00098FF4 41 82 00 8C */ beq lbl_8009D160
|
|
/* 8009D0D8 00098FF8 40 80 00 14 */ bge lbl_8009D0EC
|
|
/* 8009D0DC 00098FFC 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8009D0E0 00099000 41 82 00 18 */ beq lbl_8009D0F8
|
|
/* 8009D0E4 00099004 40 80 00 50 */ bge lbl_8009D134
|
|
/* 8009D0E8 00099008 48 00 00 BC */ b lbl_8009D1A4
|
|
lbl_8009D0EC:
|
|
/* 8009D0EC 0009900C 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 8009D0F0 00099010 40 80 00 B4 */ bge lbl_8009D1A4
|
|
/* 8009D0F4 00099014 48 00 00 78 */ b lbl_8009D16C
|
|
lbl_8009D0F8:
|
|
/* 8009D0F8 00099018 80 79 00 00 */ lwz r3, 0(r25)
|
|
/* 8009D0FC 0009901C 3C 63 00 01 */ addis r3, r3, 1
|
|
/* 8009D100 00099020 38 63 99 E0 */ addi r3, r3, -26144
|
|
/* 8009D104 00099024 4B F6 AB 3D */ bl mathutil_mtxA_mult_right
|
|
/* 8009D108 00099028 C0 22 B2 38 */ lfs f1, lbl_802F5A38@sda21(r2)
|
|
/* 8009D10C 0009902C C0 42 B2 3C */ lfs f2, lbl_802F5A3C@sda21(r2)
|
|
/* 8009D110 00099030 C0 62 B2 40 */ lfs f3, lbl_802F5A40@sda21(r2)
|
|
/* 8009D114 00099034 4B F6 AC 1D */ bl mathutil_mtxA_translate_xyz
|
|
/* 8009D118 00099038 38 60 11 11 */ li r3, 0x1111
|
|
/* 8009D11C 0009903C 4B F6 AF 6D */ bl mathutil_mtxA_rotate_z
|
|
/* 8009D120 00099040 38 60 41 6C */ li r3, 0x416c
|
|
/* 8009D124 00099044 4B F6 AE D9 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009D128 00099048 38 60 12 7D */ li r3, 0x127d
|
|
/* 8009D12C 0009904C 4B F6 AE 5D */ bl mathutil_mtxA_rotate_x
|
|
/* 8009D130 00099050 48 00 00 74 */ b lbl_8009D1A4
|
|
lbl_8009D134:
|
|
/* 8009D134 00099054 80 79 00 00 */ lwz r3, 0(r25)
|
|
/* 8009D138 00099058 3C 63 00 01 */ addis r3, r3, 1
|
|
/* 8009D13C 0009905C 38 63 99 E0 */ addi r3, r3, -26144
|
|
/* 8009D140 00099060 4B F6 AB 01 */ bl mathutil_mtxA_mult_right
|
|
/* 8009D144 00099064 C0 22 B2 40 */ lfs f1, lbl_802F5A40@sda21(r2)
|
|
/* 8009D148 00099068 C0 42 B2 44 */ lfs f2, lbl_802F5A44@sda21(r2)
|
|
/* 8009D14C 0009906C FC 60 08 90 */ fmr f3, f1
|
|
/* 8009D150 00099070 4B F6 AB E1 */ bl mathutil_mtxA_translate_xyz
|
|
/* 8009D154 00099074 38 60 40 00 */ li r3, 0x4000
|
|
/* 8009D158 00099078 4B F6 AE A5 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009D15C 0009907C 48 00 00 48 */ b lbl_8009D1A4
|
|
lbl_8009D160:
|
|
/* 8009D160 00099080 38 79 00 30 */ addi r3, r25, 0x30
|
|
/* 8009D164 00099084 4B F6 A5 79 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009D168 00099088 48 00 00 3C */ b lbl_8009D1A4
|
|
lbl_8009D16C:
|
|
/* 8009D16C 0009908C 80 79 00 00 */ lwz r3, 0(r25)
|
|
/* 8009D170 00099090 3C 63 00 01 */ addis r3, r3, 1
|
|
/* 8009D174 00099094 38 63 A4 F8 */ addi r3, r3, -23304
|
|
/* 8009D178 00099098 4B F6 AA C9 */ bl mathutil_mtxA_mult_right
|
|
/* 8009D17C 0009909C C0 22 B2 48 */ lfs f1, lbl_802F5A48@sda21(r2)
|
|
/* 8009D180 000990A0 C0 42 B2 4C */ lfs f2, lbl_802F5A4C@sda21(r2)
|
|
/* 8009D184 000990A4 C0 62 B2 50 */ lfs f3, lbl_802F5A50@sda21(r2)
|
|
/* 8009D188 000990A8 4B F6 AB A9 */ bl mathutil_mtxA_translate_xyz
|
|
/* 8009D18C 000990AC 38 60 FF 93 */ li r3, -109
|
|
/* 8009D190 000990B0 4B F6 AE F9 */ bl mathutil_mtxA_rotate_z
|
|
/* 8009D194 000990B4 38 60 63 8E */ li r3, 0x638e
|
|
/* 8009D198 000990B8 4B F6 AE 65 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009D19C 000990BC 38 60 07 53 */ li r3, 0x753
|
|
/* 8009D1A0 000990C0 4B F6 AD E9 */ bl mathutil_mtxA_rotate_x
|
|
lbl_8009D1A4:
|
|
/* 8009D1A4 000990C4 C0 22 B2 54 */ lfs f1, lbl_802F5A54@sda21(r2)
|
|
/* 8009D1A8 000990C8 FC 40 08 90 */ fmr f2, f1
|
|
/* 8009D1AC 000990CC FC 60 08 90 */ fmr f3, f1
|
|
/* 8009D1B0 000990D0 4B F6 AC 29 */ bl mathutil_mtxA_scale_xyz
|
|
/* 8009D1B4 000990D4 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009D1B8 000990D8 38 80 00 00 */ li r4, 0
|
|
/* 8009D1BC 000990DC 4B FF D8 69 */ bl u_gxutil_upload_some_mtx
|
|
/* 8009D1C0 000990E0 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 8009D1C4 000990E4 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009D1C8 000990E8 80 63 00 38 */ lwz r3, 0x38(r3)
|
|
/* 8009D1CC 000990EC 4B FF 15 E1 */ bl avdisp_draw_model_unculled_sort_translucent
|
|
lbl_8009D1D0:
|
|
/* 8009D1D0 000990F0 3B 5A 00 04 */ addi r26, r26, 4
|
|
/* 8009D1D4 000990F4 3B 7B 00 01 */ addi r27, r27, 1
|
|
lbl_8009D1D8:
|
|
/* 8009D1D8 000990F8 88 7D 00 00 */ lbz r3, 0(r29)
|
|
/* 8009D1DC 000990FC 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009D1E0 00099100 38 03 00 01 */ addi r0, r3, 1
|
|
/* 8009D1E4 00099104 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 8009D1E8 00099108 41 80 FE 84 */ blt lbl_8009D06C
|
|
/* 8009D1EC 0009910C 3B 60 00 00 */ li r27, 0
|
|
/* 8009D1F0 00099110 57 60 10 3A */ slwi r0, r27, 2
|
|
/* 8009D1F4 00099114 7F 5C 02 14 */ add r26, r28, r0
|
|
/* 8009D1F8 00099118 48 00 00 18 */ b lbl_8009D210
|
|
lbl_8009D1FC:
|
|
/* 8009D1FC 0009911C 80 7A 00 04 */ lwz r3, 4(r26)
|
|
/* 8009D200 00099120 38 80 00 00 */ li r4, 0
|
|
/* 8009D204 00099124 4B FE F7 21 */ bl func_8008C924
|
|
/* 8009D208 00099128 3B 5A 00 04 */ addi r26, r26, 4
|
|
/* 8009D20C 0009912C 3B 7B 00 01 */ addi r27, r27, 1
|
|
lbl_8009D210:
|
|
/* 8009D210 00099130 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009D214 00099134 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D218 00099138 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 8009D21C 0009913C 41 80 FF E0 */ blt lbl_8009D1FC
|
|
/* 8009D220 00099140 80 7F 00 00 */ lwz r3, 0(r31)
|
|
/* 8009D224 00099144 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8009D228 00099148 41 82 00 0C */ beq lbl_8009D234
|
|
/* 8009D22C 0009914C 38 80 00 00 */ li r4, 0
|
|
/* 8009D230 00099150 4B FE F6 F5 */ bl func_8008C924
|
|
lbl_8009D234:
|
|
/* 8009D234 00099154 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009D238 00099158 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D23C 0009915C 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009D240 00099160 41 80 00 FC */ blt lbl_8009D33C
|
|
/* 8009D244 00099164 80 1C 00 00 */ lwz r0, 0(r28)
|
|
/* 8009D248 00099168 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
|
|
/* 8009D24C 0009916C 40 82 00 F0 */ bne lbl_8009D33C
|
|
/* 8009D250 00099170 3C 60 80 1B */ lis r3, lbl_801B7CF8@ha
|
|
/* 8009D254 00099174 3B DC 00 00 */ addi r30, r28, 0
|
|
/* 8009D258 00099178 3B E3 7C F8 */ addi r31, r3, lbl_801B7CF8@l
|
|
/* 8009D25C 0009917C 3B 60 00 00 */ li r27, 0
|
|
/* 8009D260 00099180 48 00 00 CC */ b lbl_8009D32C
|
|
lbl_8009D264:
|
|
/* 8009D264 00099184 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 8009D268 00099188 38 81 00 08 */ addi r4, r1, 8
|
|
/* 8009D26C 0009918C 48 00 05 91 */ bl func_8009D7FC
|
|
/* 8009D270 00099190 38 61 00 08 */ addi r3, r1, 8
|
|
/* 8009D274 00099194 4B F6 A4 69 */ bl mathutil_mtxA_from_mtxB_translate
|
|
/* 8009D278 00099198 C0 22 B2 28 */ lfs f1, lbl_802F5A28@sda21(r2)
|
|
/* 8009D27C 0009919C C0 42 B2 58 */ lfs f2, lbl_802F5A58@sda21(r2)
|
|
/* 8009D280 000991A0 C0 62 B2 5C */ lfs f3, lbl_802F5A5C@sda21(r2)
|
|
/* 8009D284 000991A4 4B F6 AA AD */ bl mathutil_mtxA_translate_xyz
|
|
/* 8009D288 000991A8 38 60 80 00 */ li r3, -32768
|
|
/* 8009D28C 000991AC 4B F6 AD 71 */ bl mathutil_mtxA_rotate_y
|
|
/* 8009D290 000991B0 C0 22 B2 34 */ lfs f1, lbl_802F5A34@sda21(r2)
|
|
/* 8009D294 000991B4 4B F6 AB 35 */ bl mathutil_mtxA_scale_s
|
|
/* 8009D298 000991B8 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 8009D29C 000991BC 38 80 00 00 */ li r4, 0
|
|
/* 8009D2A0 000991C0 4B FF D7 85 */ bl u_gxutil_upload_some_mtx
|
|
/* 8009D2A4 000991C4 88 1E 00 2D */ lbz r0, 0x2d(r30)
|
|
/* 8009D2A8 000991C8 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009D2AC 000991CC 41 82 00 50 */ beq lbl_8009D2FC
|
|
/* 8009D2B0 000991D0 88 1E 00 29 */ lbz r0, 0x29(r30)
|
|
/* 8009D2B4 000991D4 C0 82 B2 24 */ lfs f4, lbl_802F5A24@sda21(r2)
|
|
/* 8009D2B8 000991D8 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D2BC 000991DC 1C 00 00 0C */ mulli r0, r0, 0xc
|
|
/* 8009D2C0 000991E0 7C 7F 02 14 */ add r3, r31, r0
|
|
/* 8009D2C4 000991E4 C0 23 00 00 */ lfs f1, 0(r3)
|
|
/* 8009D2C8 000991E8 C0 43 00 04 */ lfs f2, 4(r3)
|
|
/* 8009D2CC 000991EC C0 63 00 08 */ lfs f3, 8(r3)
|
|
/* 8009D2D0 000991F0 4B FF 24 45 */ bl avdisp_set_post_mult_color
|
|
/* 8009D2D4 000991F4 80 6D 9A E8 */ lwz r3, commonGma@sda21(r13)
|
|
/* 8009D2D8 000991F8 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 8009D2DC 000991FC 80 63 02 C0 */ lwz r3, 0x2c0(r3)
|
|
/* 8009D2E0 00099200 4B FF 11 59 */ bl avdisp_draw_model_culled_sort_translucent
|
|
/* 8009D2E4 00099204 C0 22 B2 24 */ lfs f1, lbl_802F5A24@sda21(r2)
|
|
/* 8009D2E8 00099208 FC 40 08 90 */ fmr f2, f1
|
|
/* 8009D2EC 0009920C FC 60 08 90 */ fmr f3, f1
|
|
/* 8009D2F0 00099210 FC 80 08 90 */ fmr f4, f1
|
|
/* 8009D2F4 00099214 4B FF 24 21 */ bl avdisp_set_post_mult_color
|
|
/* 8009D2F8 00099218 48 00 00 2C */ b lbl_8009D324
|
|
lbl_8009D2FC:
|
|
/* 8009D2FC 0009921C 88 1E 00 29 */ lbz r0, 0x29(r30)
|
|
/* 8009D300 00099220 38 62 B1 D4 */ addi r3, r2, lbl_802F59D4@sda21
|
|
/* 8009D304 00099224 80 8D 9A E8 */ lwz r4, commonGma@sda21(r13)
|
|
/* 8009D308 00099228 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D30C 0009922C 7C 03 00 AE */ lbzx r0, r3, r0
|
|
/* 8009D310 00099230 80 64 00 08 */ lwz r3, 8(r4)
|
|
/* 8009D314 00099234 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D318 00099238 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8009D31C 0009923C 7C 63 00 2E */ lwzx r3, r3, r0
|
|
/* 8009D320 00099240 4B FF 11 19 */ bl avdisp_draw_model_culled_sort_translucent
|
|
lbl_8009D324:
|
|
/* 8009D324 00099244 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 8009D328 00099248 3B 7B 00 01 */ addi r27, r27, 1
|
|
lbl_8009D32C:
|
|
/* 8009D32C 0009924C 88 1D 00 00 */ lbz r0, 0(r29)
|
|
/* 8009D330 00099250 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D334 00099254 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 8009D338 00099258 41 80 FF 2C */ blt lbl_8009D264
|
|
lbl_8009D33C:
|
|
/* 8009D33C 0009925C 48 00 04 59 */ bl func_8009D794
|
|
/* 8009D340 00099260 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8009D344 00099264 41 82 00 40 */ beq lbl_8009D384
|
|
/* 8009D348 00099268 3B 5C 00 75 */ addi r26, r28, 0x75
|
|
/* 8009D34C 0009926C 88 7C 00 75 */ lbz r3, 0x75(r28)
|
|
/* 8009D350 00099270 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009D354 00099274 4B FF EC 21 */ bl func_8009BF74
|
|
/* 8009D358 00099278 88 1A 00 00 */ lbz r0, 0(r26)
|
|
/* 8009D35C 0009927C 3C 60 80 1D */ lis r3, lbl_801D404C@ha
|
|
/* 8009D360 00099280 38 63 40 4C */ addi r3, r3, lbl_801D404C@l
|
|
/* 8009D364 00099284 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D368 00099288 1C 00 00 18 */ mulli r0, r0, 0x18
|
|
/* 8009D36C 0009928C 7C 63 02 14 */ add r3, r3, r0
|
|
/* 8009D370 00099290 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8009D374 00099294 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8009D378 00099298 41 82 00 0C */ beq lbl_8009D384
|
|
/* 8009D37C 0009929C 38 60 00 01 */ li r3, 1
|
|
/* 8009D380 000992A0 4B FF EB F5 */ bl func_8009BF74
|
|
lbl_8009D384:
|
|
/* 8009D384 000992A4 80 8D 99 80 */ lwz r4, mathutilData@sda21(r13)
|
|
/* 8009D388 000992A8 38 61 00 8C */ addi r3, r1, 0x8c
|
|
/* 8009D38C 000992AC 38 84 00 30 */ addi r4, r4, 0x30
|
|
/* 8009D390 000992B0 4B F6 A6 8D */ bl mathutil_mtx_copy
|
|
lbl_8009D394:
|
|
/* 8009D394 000992B4 BB 21 00 C4 */ lmw r25, 0xc4(r1)
|
|
/* 8009D398 000992B8 80 01 00 EC */ lwz r0, 0xec(r1)
|
|
/* 8009D39C 000992BC CB E1 00 E0 */ lfd f31, 0xe0(r1)
|
|
/* 8009D3A0 000992C0 38 21 00 E8 */ addi r1, r1, 0xe8
|
|
/* 8009D3A4 000992C4 7C 08 03 A6 */ mtlr r0
|
|
/* 8009D3A8 000992C8 4E 80 00 20 */ blr
|
|
lbl_8009D3AC:
|
|
/* 8009D3AC 000992CC 7C 08 02 A6 */ mflr r0
|
|
/* 8009D3B0 000992D0 2C 04 00 03 */ cmpwi r4, 3
|
|
/* 8009D3B4 000992D4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009D3B8 000992D8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8009D3BC 000992DC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8009D3C0 000992E0 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 8009D3C4 000992E4 40 82 00 10 */ bne lbl_8009D3D4
|
|
/* 8009D3C8 000992E8 41 82 01 FC */ beq lbl_8009D5C4
|
|
/* 8009D3CC 000992EC 4B FE FE 75 */ bl func_8008D240
|
|
/* 8009D3D0 000992F0 48 00 01 F4 */ b lbl_8009D5C4
|
|
lbl_8009D3D4:
|
|
/* 8009D3D4 000992F4 80 0D 9D 00 */ lwz r0, gamePauseStatus@sda21(r13)
|
|
/* 8009D3D8 000992F8 70 00 00 0A */ andi. r0, r0, 0xa
|
|
/* 8009D3DC 000992FC 40 82 01 E8 */ bne lbl_8009D5C4
|
|
/* 8009D3E0 00099300 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009D3E4 00099304 80 9F 00 74 */ lwz r4, 0x74(r31)
|
|
/* 8009D3E8 00099308 38 63 A2 10 */ addi r3, r3, lbl_802BA210@l
|
|
/* 8009D3EC 0009930C 88 03 00 24 */ lbz r0, 0x24(r3)
|
|
/* 8009D3F0 00099310 54 83 86 3E */ rlwinm r3, r4, 0x10, 0x18, 0x1f
|
|
/* 8009D3F4 00099314 54 85 06 3E */ clrlwi r5, r4, 0x18
|
|
/* 8009D3F8 00099318 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D3FC 0009931C 7C 00 0E 70 */ srawi r0, r0, 1
|
|
/* 8009D400 00099320 7C 00 01 94 */ addze r0, r0
|
|
/* 8009D404 00099324 7C 03 00 40 */ cmplw r3, r0
|
|
/* 8009D408 00099328 40 80 00 30 */ bge lbl_8009D438
|
|
/* 8009D40C 0009932C 2C 05 00 02 */ cmpwi r5, 2
|
|
/* 8009D410 00099330 41 82 00 18 */ beq lbl_8009D428
|
|
/* 8009D414 00099334 80 1F 00 10 */ lwz r0, 0x10(r31)
|
|
/* 8009D418 00099338 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8009D41C 0009933C 40 82 00 1C */ bne lbl_8009D438
|
|
/* 8009D420 00099340 2C 05 00 03 */ cmpwi r5, 3
|
|
/* 8009D424 00099344 40 82 00 14 */ bne lbl_8009D438
|
|
lbl_8009D428:
|
|
/* 8009D428 00099348 80 7F 00 00 */ lwz r3, 0(r31)
|
|
/* 8009D42C 0009934C 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8009D430 00099350 60 00 00 04 */ ori r0, r0, 4
|
|
/* 8009D434 00099354 90 03 00 00 */ stw r0, 0(r3)
|
|
lbl_8009D438:
|
|
/* 8009D438 00099358 C0 22 B1 D0 */ lfs f1, lbl_802F59D0@sda21(r2)
|
|
/* 8009D43C 0009935C 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 8009D440 00099360 38 80 00 0A */ li r4, 0xa
|
|
/* 8009D444 00099364 38 C0 00 00 */ li r6, 0
|
|
/* 8009D448 00099368 4B FE E7 8D */ bl u_set_ape_anim
|
|
/* 8009D44C 0009936C 7F E3 FB 78 */ mr r3, r31
|
|
/* 8009D450 00099370 4B FE F0 59 */ bl u_do_ape_anim
|
|
/* 8009D454 00099374 48 00 01 A1 */ bl func_8009D5F4
|
|
/* 8009D458 00099378 80 1F 00 74 */ lwz r0, 0x74(r31)
|
|
/* 8009D45C 0009937C 38 80 00 01 */ li r4, 1
|
|
/* 8009D460 00099380 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
|
|
/* 8009D464 00099384 7C 80 00 30 */ slw r0, r4, r0
|
|
/* 8009D468 00099388 7C 03 00 40 */ cmplw r3, r0
|
|
/* 8009D46C 0009938C 41 82 00 34 */ beq lbl_8009D4A0
|
|
/* 8009D470 00099390 7C 60 00 39 */ and. r0, r3, r0
|
|
/* 8009D474 00099394 41 82 01 50 */ beq lbl_8009D5C4
|
|
/* 8009D478 00099398 48 06 93 ED */ bl rand
|
|
/* 8009D47C 0009939C 3C 80 55 55 */ lis r4, 0x55555556@ha
|
|
/* 8009D480 000993A0 54 65 04 7E */ clrlwi r5, r3, 0x11
|
|
/* 8009D484 000993A4 38 04 55 56 */ addi r0, r4, 0x55555556@l
|
|
/* 8009D488 000993A8 7C 60 28 96 */ mulhw r3, r0, r5
|
|
/* 8009D48C 000993AC 54 60 0F FE */ srwi r0, r3, 0x1f
|
|
/* 8009D490 000993B0 7C 03 02 14 */ add r0, r3, r0
|
|
/* 8009D494 000993B4 1C 00 00 03 */ mulli r0, r0, 3
|
|
/* 8009D498 000993B8 7C 00 28 51 */ subf. r0, r0, r5
|
|
/* 8009D49C 000993BC 40 82 01 28 */ bne lbl_8009D5C4
|
|
lbl_8009D4A0:
|
|
/* 8009D4A0 000993C0 80 7F 00 00 */ lwz r3, 0(r31)
|
|
/* 8009D4A4 000993C4 A0 03 00 32 */ lhz r0, 0x32(r3)
|
|
/* 8009D4A8 000993C8 2C 00 01 72 */ cmpwi r0, 0x172
|
|
/* 8009D4AC 000993CC 41 82 00 24 */ beq lbl_8009D4D0
|
|
/* 8009D4B0 000993D0 40 80 00 10 */ bge lbl_8009D4C0
|
|
/* 8009D4B4 000993D4 2C 00 01 4F */ cmpwi r0, 0x14f
|
|
/* 8009D4B8 000993D8 41 82 00 40 */ beq lbl_8009D4F8
|
|
/* 8009D4BC 000993DC 48 00 00 64 */ b lbl_8009D520
|
|
lbl_8009D4C0:
|
|
/* 8009D4C0 000993E0 2C 00 01 74 */ cmpwi r0, 0x174
|
|
/* 8009D4C4 000993E4 41 82 00 48 */ beq lbl_8009D50C
|
|
/* 8009D4C8 000993E8 40 80 00 58 */ bge lbl_8009D520
|
|
/* 8009D4CC 000993EC 48 00 00 18 */ b lbl_8009D4E4
|
|
lbl_8009D4D0:
|
|
/* 8009D4D0 000993F0 A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 8009D4D4 000993F4 20 00 00 60 */ subfic r0, r0, 0x60
|
|
/* 8009D4D8 000993F8 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 8009D4DC 000993FC 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 8009D4E0 00099400 48 00 00 50 */ b lbl_8009D530
|
|
lbl_8009D4E4:
|
|
/* 8009D4E4 00099404 A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 8009D4E8 00099408 20 00 00 4D */ subfic r0, r0, 0x4d
|
|
/* 8009D4EC 0009940C 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 8009D4F0 00099410 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 8009D4F4 00099414 48 00 00 3C */ b lbl_8009D530
|
|
lbl_8009D4F8:
|
|
/* 8009D4F8 00099418 A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 8009D4FC 0009941C 20 00 00 1B */ subfic r0, r0, 0x1b
|
|
/* 8009D500 00099420 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 8009D504 00099424 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 8009D508 00099428 48 00 00 28 */ b lbl_8009D530
|
|
lbl_8009D50C:
|
|
/* 8009D50C 0009942C A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 8009D510 00099430 20 00 00 58 */ subfic r0, r0, 0x58
|
|
/* 8009D514 00099434 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 8009D518 00099438 54 00 D9 7E */ srwi r0, r0, 5
|
|
/* 8009D51C 0009943C 48 00 00 14 */ b lbl_8009D530
|
|
lbl_8009D520:
|
|
/* 8009D520 00099440 A0 03 00 38 */ lhz r0, 0x38(r3)
|
|
/* 8009D524 00099444 20 00 00 01 */ subfic r0, r0, 1
|
|
/* 8009D528 00099448 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 8009D52C 0009944C 54 00 D9 7E */ srwi r0, r0, 5
|
|
lbl_8009D530:
|
|
/* 8009D530 00099450 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8009D534 00099454 41 82 00 90 */ beq lbl_8009D5C4
|
|
/* 8009D538 00099458 80 1F 00 10 */ lwz r0, 0x10(r31)
|
|
/* 8009D53C 0009945C 38 80 00 00 */ li r4, 0
|
|
/* 8009D540 00099460 90 0D 9C 1C */ stw r0, lbl_802F1DFC@sda21(r13)
|
|
/* 8009D544 00099464 90 8D 9C 18 */ stw r4, lbl_802F1DF8@sda21(r13)
|
|
/* 8009D548 00099468 80 1F 00 74 */ lwz r0, 0x74(r31)
|
|
/* 8009D54C 0009946C 54 00 06 3E */ clrlwi r0, r0, 0x18
|
|
/* 8009D550 00099470 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009D554 00099474 41 82 00 4C */ beq lbl_8009D5A0
|
|
/* 8009D558 00099478 40 80 00 14 */ bge lbl_8009D56C
|
|
/* 8009D55C 0009947C 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8009D560 00099480 41 82 00 18 */ beq lbl_8009D578
|
|
/* 8009D564 00099484 40 80 00 28 */ bge lbl_8009D58C
|
|
/* 8009D568 00099488 48 00 00 5C */ b lbl_8009D5C4
|
|
lbl_8009D56C:
|
|
/* 8009D56C 0009948C 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 8009D570 00099490 40 80 00 54 */ bge lbl_8009D5C4
|
|
/* 8009D574 00099494 48 00 00 40 */ b lbl_8009D5B4
|
|
lbl_8009D578:
|
|
/* 8009D578 00099498 54 80 91 DA */ rlwinm r0, r4, 0x12, 7, 0xd
|
|
/* 8009D57C 0009949C 60 03 00 1B */ ori r3, r0, 0x1b
|
|
/* 8009D580 000994A0 50 83 C8 0C */ rlwimi r3, r4, 0x19, 0, 6
|
|
/* 8009D584 000994A4 4B F8 E0 21 */ bl u_play_sound
|
|
/* 8009D588 000994A8 48 00 00 3C */ b lbl_8009D5C4
|
|
lbl_8009D58C:
|
|
/* 8009D58C 000994AC 54 80 91 DA */ rlwinm r0, r4, 0x12, 7, 0xd
|
|
/* 8009D590 000994B0 60 03 00 58 */ ori r3, r0, 0x58
|
|
/* 8009D594 000994B4 50 83 C8 0C */ rlwimi r3, r4, 0x19, 0, 6
|
|
/* 8009D598 000994B8 4B F8 E0 0D */ bl u_play_sound
|
|
/* 8009D59C 000994BC 48 00 00 28 */ b lbl_8009D5C4
|
|
lbl_8009D5A0:
|
|
/* 8009D5A0 000994C0 54 80 91 DA */ rlwinm r0, r4, 0x12, 7, 0xd
|
|
/* 8009D5A4 000994C4 60 03 00 59 */ ori r3, r0, 0x59
|
|
/* 8009D5A8 000994C8 50 83 C8 0C */ rlwimi r3, r4, 0x19, 0, 6
|
|
/* 8009D5AC 000994CC 4B F8 DF F9 */ bl u_play_sound
|
|
/* 8009D5B0 000994D0 48 00 00 14 */ b lbl_8009D5C4
|
|
lbl_8009D5B4:
|
|
/* 8009D5B4 000994D4 54 80 91 DA */ rlwinm r0, r4, 0x12, 7, 0xd
|
|
/* 8009D5B8 000994D8 60 03 00 1C */ ori r3, r0, 0x1c
|
|
/* 8009D5BC 000994DC 50 83 C8 0C */ rlwimi r3, r4, 0x19, 0, 6
|
|
/* 8009D5C0 000994E0 4B F8 DF E5 */ bl u_play_sound
|
|
lbl_8009D5C4:
|
|
/* 8009D5C4 000994E4 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8009D5C8 000994E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8009D5CC 000994EC 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8009D5D0 000994F0 7C 08 03 A6 */ mtlr r0
|
|
/* 8009D5D4 000994F4 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D5D8
|
|
func_8009D5D8:
|
|
/* 8009D5D8 000994F8 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009D5DC 000994FC 80 03 A2 10 */ lwz r0, lbl_802BA210@l(r3)
|
|
/* 8009D5E0 00099500 54 00 07 FE */ clrlwi r0, r0, 0x1f
|
|
/* 8009D5E4 00099504 7C 60 00 D0 */ neg r3, r0
|
|
/* 8009D5E8 00099508 30 03 FF FF */ addic r0, r3, -1
|
|
/* 8009D5EC 0009950C 7C 60 19 10 */ subfe r3, r0, r3
|
|
/* 8009D5F0 00099510 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D5F4
|
|
func_8009D5F4:
|
|
/* 8009D5F4 00099514 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 8009D5F8 00099518 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009D5FC 0009951C 38 83 A2 10 */ addi r4, r3, lbl_802BA210@l
|
|
/* 8009D600 00099520 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 8009D604 00099524 3C 60 80 1F */ lis r3, cameraInfo@ha
|
|
/* 8009D608 00099528 38 63 EF 00 */ addi r3, r3, cameraInfo@l
|
|
/* 8009D60C 0009952C 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 8009D610 00099530 38 E0 00 00 */ li r7, 0
|
|
/* 8009D614 00099534 88 A4 00 24 */ lbz r5, 0x24(r4)
|
|
/* 8009D618 00099538 A8 63 00 50 */ lha r3, 0x50(r3)
|
|
/* 8009D61C 0009953C 7C A6 07 75 */ extsb. r6, r5
|
|
/* 8009D620 00099540 7C C9 03 A6 */ mtctr r6
|
|
/* 8009D624 00099544 40 81 00 60 */ ble lbl_8009D684
|
|
lbl_8009D628:
|
|
/* 8009D628 00099548 38 07 00 01 */ addi r0, r7, 1
|
|
/* 8009D62C 0009954C 1C 00 01 10 */ mulli r0, r0, 0x110
|
|
/* 8009D630 00099550 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8009D634 00099554 40 80 00 48 */ bge lbl_8009D67C
|
|
/* 8009D638 00099558 7C A0 07 74 */ extsb r0, r5
|
|
/* 8009D63C 0009955C 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 8009D640 00099560 38 07 00 00 */ addi r0, r7, 0
|
|
/* 8009D644 00099564 40 81 00 20 */ ble lbl_8009D664
|
|
/* 8009D648 00099568 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8009D64C 0009956C 40 82 00 0C */ bne lbl_8009D658
|
|
/* 8009D650 00099570 38 00 00 01 */ li r0, 1
|
|
/* 8009D654 00099574 48 00 00 10 */ b lbl_8009D664
|
|
lbl_8009D658:
|
|
/* 8009D658 00099578 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8009D65C 0009957C 40 82 00 08 */ bne lbl_8009D664
|
|
/* 8009D660 00099580 38 00 00 00 */ li r0, 0
|
|
lbl_8009D664:
|
|
/* 8009D664 00099584 7C 64 02 14 */ add r3, r4, r0
|
|
/* 8009D668 00099588 88 03 00 29 */ lbz r0, 0x29(r3)
|
|
/* 8009D66C 0009958C 38 60 00 01 */ li r3, 1
|
|
/* 8009D670 00099590 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D674 00099594 7C 63 00 30 */ slw r3, r3, r0
|
|
/* 8009D678 00099598 48 00 01 0C */ b lbl_8009D784
|
|
lbl_8009D67C:
|
|
/* 8009D67C 0009959C 38 E7 00 01 */ addi r7, r7, 1
|
|
/* 8009D680 000995A0 42 00 FF A8 */ bdnz lbl_8009D628
|
|
lbl_8009D684:
|
|
/* 8009D684 000995A4 2C 06 00 00 */ cmpwi r6, 0
|
|
/* 8009D688 000995A8 38 60 00 00 */ li r3, 0
|
|
/* 8009D68C 000995AC 38 E0 00 00 */ li r7, 0
|
|
/* 8009D690 000995B0 40 81 00 F4 */ ble lbl_8009D784
|
|
/* 8009D694 000995B4 2C 06 00 08 */ cmpwi r6, 8
|
|
/* 8009D698 000995B8 38 A6 FF F8 */ addi r5, r6, -8
|
|
/* 8009D69C 000995BC 40 81 00 E0 */ ble lbl_8009D77C
|
|
/* 8009D6A0 000995C0 38 05 00 07 */ addi r0, r5, 7
|
|
/* 8009D6A4 000995C4 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 8009D6A8 000995C8 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 8009D6AC 000995CC 7C 09 03 A6 */ mtctr r0
|
|
/* 8009D6B0 000995D0 38 A4 00 00 */ addi r5, r4, 0
|
|
/* 8009D6B4 000995D4 40 81 00 C8 */ ble lbl_8009D77C
|
|
lbl_8009D6B8:
|
|
/* 8009D6B8 000995D8 89 05 00 29 */ lbz r8, 0x29(r5)
|
|
/* 8009D6BC 000995DC 38 00 00 01 */ li r0, 1
|
|
/* 8009D6C0 000995E0 89 25 00 2A */ lbz r9, 0x2a(r5)
|
|
/* 8009D6C4 000995E4 38 E7 00 08 */ addi r7, r7, 8
|
|
/* 8009D6C8 000995E8 7D 0A 07 74 */ extsb r10, r8
|
|
/* 8009D6CC 000995EC 7C 1E 50 30 */ slw r30, r0, r10
|
|
/* 8009D6D0 000995F0 89 05 00 2B */ lbz r8, 0x2b(r5)
|
|
/* 8009D6D4 000995F4 7D 2B 07 74 */ extsb r11, r9
|
|
/* 8009D6D8 000995F8 89 25 00 2C */ lbz r9, 0x2c(r5)
|
|
/* 8009D6DC 000995FC 7D 1F 07 74 */ extsb r31, r8
|
|
/* 8009D6E0 00099600 89 45 00 2E */ lbz r10, 0x2e(r5)
|
|
/* 8009D6E4 00099604 7D 2C 07 74 */ extsb r12, r9
|
|
/* 8009D6E8 00099608 89 25 00 2F */ lbz r9, 0x2f(r5)
|
|
/* 8009D6EC 0009960C 7C 63 F3 78 */ or r3, r3, r30
|
|
/* 8009D6F0 00099610 89 05 00 2D */ lbz r8, 0x2d(r5)
|
|
/* 8009D6F4 00099614 7C 1E 58 30 */ slw r30, r0, r11
|
|
/* 8009D6F8 00099618 7D 0B 07 74 */ extsb r11, r8
|
|
/* 8009D6FC 0009961C 89 05 00 30 */ lbz r8, 0x30(r5)
|
|
/* 8009D700 00099620 7D 4A 07 74 */ extsb r10, r10
|
|
/* 8009D704 00099624 7D 29 07 74 */ extsb r9, r9
|
|
/* 8009D708 00099628 7C 63 F3 78 */ or r3, r3, r30
|
|
/* 8009D70C 0009962C 7C 1F F8 30 */ slw r31, r0, r31
|
|
/* 8009D710 00099630 7C 63 FB 78 */ or r3, r3, r31
|
|
/* 8009D714 00099634 7C 0C 60 30 */ slw r12, r0, r12
|
|
/* 8009D718 00099638 7C 63 63 78 */ or r3, r3, r12
|
|
/* 8009D71C 0009963C 7C 0B 58 30 */ slw r11, r0, r11
|
|
/* 8009D720 00099640 7C 63 5B 78 */ or r3, r3, r11
|
|
/* 8009D724 00099644 7C 0A 50 30 */ slw r10, r0, r10
|
|
/* 8009D728 00099648 7D 08 07 74 */ extsb r8, r8
|
|
/* 8009D72C 0009964C 7C 09 48 30 */ slw r9, r0, r9
|
|
/* 8009D730 00099650 7C 63 53 78 */ or r3, r3, r10
|
|
/* 8009D734 00099654 7C 63 4B 78 */ or r3, r3, r9
|
|
/* 8009D738 00099658 7C 00 40 30 */ slw r0, r0, r8
|
|
/* 8009D73C 0009965C 7C 63 03 78 */ or r3, r3, r0
|
|
/* 8009D740 00099660 38 A5 00 08 */ addi r5, r5, 8
|
|
/* 8009D744 00099664 42 00 FF 74 */ bdnz lbl_8009D6B8
|
|
/* 8009D748 00099668 48 00 00 34 */ b lbl_8009D77C
|
|
lbl_8009D74C:
|
|
/* 8009D74C 0009966C 7C 07 30 50 */ subf r0, r7, r6
|
|
/* 8009D750 00099670 7C 07 30 00 */ cmpw r7, r6
|
|
/* 8009D754 00099674 7C 09 03 A6 */ mtctr r0
|
|
/* 8009D758 00099678 38 80 00 01 */ li r4, 1
|
|
/* 8009D75C 0009967C 40 80 00 28 */ bge lbl_8009D784
|
|
lbl_8009D760:
|
|
/* 8009D760 00099680 88 05 00 29 */ lbz r0, 0x29(r5)
|
|
/* 8009D764 00099684 38 A5 00 01 */ addi r5, r5, 1
|
|
/* 8009D768 00099688 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D76C 0009968C 7C 80 00 30 */ slw r0, r4, r0
|
|
/* 8009D770 00099690 7C 63 03 78 */ or r3, r3, r0
|
|
/* 8009D774 00099694 42 00 FF EC */ bdnz lbl_8009D760
|
|
/* 8009D778 00099698 48 00 00 0C */ b lbl_8009D784
|
|
lbl_8009D77C:
|
|
/* 8009D77C 0009969C 7C A4 3A 14 */ add r5, r4, r7
|
|
/* 8009D780 000996A0 4B FF FF CC */ b lbl_8009D74C
|
|
lbl_8009D784:
|
|
/* 8009D784 000996A4 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 8009D788 000996A8 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 8009D78C 000996AC 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 8009D790 000996B0 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D794
|
|
func_8009D794:
|
|
/* 8009D794 000996B4 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009D798 000996B8 38 63 A2 10 */ addi r3, r3, lbl_802BA210@l
|
|
/* 8009D79C 000996BC 88 03 00 24 */ lbz r0, 0x24(r3)
|
|
/* 8009D7A0 000996C0 3C 60 80 1F */ lis r3, cameraInfo@ha
|
|
/* 8009D7A4 000996C4 38 63 EF 00 */ addi r3, r3, cameraInfo@l
|
|
/* 8009D7A8 000996C8 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D7AC 000996CC A8 63 00 50 */ lha r3, 0x50(r3)
|
|
/* 8009D7B0 000996D0 1C 00 01 10 */ mulli r0, r0, 0x110
|
|
/* 8009D7B4 000996D4 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8009D7B8 000996D8 40 80 00 0C */ bge lbl_8009D7C4
|
|
/* 8009D7BC 000996DC 38 60 00 00 */ li r3, 0
|
|
/* 8009D7C0 000996E0 4E 80 00 20 */ blr
|
|
lbl_8009D7C4:
|
|
/* 8009D7C4 000996E4 38 60 00 01 */ li r3, 1
|
|
/* 8009D7C8 000996E8 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D7CC
|
|
func_8009D7CC:
|
|
/* 8009D7CC 000996EC 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009D7D0 000996F0 80 03 A2 10 */ lwz r0, lbl_802BA210@l(r3)
|
|
/* 8009D7D4 000996F4 70 00 00 26 */ andi. r0, r0, 0x26
|
|
/* 8009D7D8 000996F8 7C 00 00 D0 */ neg r0, r0
|
|
/* 8009D7DC 000996FC 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 8009D7E0 00099700 54 03 D9 7E */ srwi r3, r0, 5
|
|
/* 8009D7E4 00099704 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D7E8
|
|
func_8009D7E8:
|
|
/* 8009D7E8 00099708 3C 60 80 2C */ lis r3, lbl_802BA210@ha
|
|
/* 8009D7EC 0009970C 38 63 A2 10 */ addi r3, r3, lbl_802BA210@l
|
|
/* 8009D7F0 00099710 88 63 00 24 */ lbz r3, 0x24(r3)
|
|
/* 8009D7F4 00099714 7C 63 07 74 */ extsb r3, r3
|
|
/* 8009D7F8 00099718 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D7FC
|
|
func_8009D7FC:
|
|
/* 8009D7FC 0009971C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8009D800 00099720 3C A0 80 2C */ lis r5, lbl_802BA210@ha
|
|
/* 8009D804 00099724 38 E5 A2 10 */ addi r7, r5, lbl_802BA210@l
|
|
/* 8009D808 00099728 88 C7 00 24 */ lbz r6, 0x24(r7)
|
|
/* 8009D80C 0009972C 6C 60 80 00 */ xoris r0, r3, 0x8000
|
|
/* 8009D810 00099730 3C A0 80 17 */ lis r5, lbl_80171B60@ha
|
|
/* 8009D814 00099734 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8009D818 00099738 7C C6 07 74 */ extsb r6, r6
|
|
/* 8009D81C 0009973C 38 06 FF FF */ addi r0, r6, -1
|
|
/* 8009D820 00099740 C8 42 B1 F8 */ lfd f2, lbl_802F59F8@sda21(r2)
|
|
/* 8009D824 00099744 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8009D828 00099748 C8 62 B1 F0 */ lfd f3, lbl_802F59F0@sda21(r2)
|
|
/* 8009D82C 0009974C 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 8009D830 00099750 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 8009D834 00099754 7C 67 1A 14 */ add r3, r7, r3
|
|
/* 8009D838 00099758 90 01 00 18 */ stw r0, 0x18(r1)
|
|
/* 8009D83C 0009975C 38 A5 1B 60 */ addi r5, r5, lbl_80171B60@l
|
|
/* 8009D840 00099760 C8 01 00 18 */ lfd f0, 0x18(r1)
|
|
/* 8009D844 00099764 90 01 00 10 */ stw r0, 0x10(r1)
|
|
/* 8009D848 00099768 FC 20 10 28 */ fsub f1, f0, f2
|
|
/* 8009D84C 0009976C C8 01 00 10 */ lfd f0, 0x10(r1)
|
|
/* 8009D850 00099770 FC 23 00 72 */ fmul f1, f3, f1
|
|
/* 8009D854 00099774 FC 00 10 28 */ fsub f0, f0, f2
|
|
/* 8009D858 00099778 FC 01 00 28 */ fsub f0, f1, f0
|
|
/* 8009D85C 0009977C FC 00 18 28 */ fsub f0, f0, f3
|
|
/* 8009D860 00099780 FC 00 00 18 */ frsp f0, f0
|
|
/* 8009D864 00099784 D0 04 00 00 */ stfs f0, 0(r4)
|
|
/* 8009D868 00099788 88 03 00 25 */ lbz r0, 0x25(r3)
|
|
/* 8009D86C 0009978C 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D870 00099790 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8009D874 00099794 7C 65 02 14 */ add r3, r5, r0
|
|
/* 8009D878 00099798 C0 03 00 00 */ lfs f0, 0(r3)
|
|
/* 8009D87C 0009979C D0 04 00 04 */ stfs f0, 4(r4)
|
|
/* 8009D880 000997A0 80 07 00 00 */ lwz r0, 0(r7)
|
|
/* 8009D884 000997A4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
|
|
/* 8009D888 000997A8 41 82 00 0C */ beq lbl_8009D894
|
|
/* 8009D88C 000997AC C0 05 00 00 */ lfs f0, 0(r5)
|
|
/* 8009D890 000997B0 D0 04 00 04 */ stfs f0, 4(r4)
|
|
lbl_8009D894:
|
|
/* 8009D894 000997B4 C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009D898 000997B8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8009D89C 000997BC D0 04 00 08 */ stfs f0, 8(r4)
|
|
/* 8009D8A0 000997C0 4E 80 00 20 */ blr
|
|
|
|
glabel func_8009D8A4
|
|
/* 8009D8A4 000997C4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8009D8A8 000997C8 3C A0 80 2C */ lis r5, lbl_802BA210@ha
|
|
/* 8009D8AC 000997CC 39 05 A2 10 */ addi r8, r5, lbl_802BA210@l
|
|
/* 8009D8B0 000997D0 C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009D8B4 000997D4 7D 05 43 78 */ mr r5, r8
|
|
/* 8009D8B8 000997D8 39 20 00 00 */ li r9, 0
|
|
/* 8009D8BC 000997DC D0 04 00 00 */ stfs f0, 0(r4)
|
|
/* 8009D8C0 000997E0 D0 04 00 04 */ stfs f0, 4(r4)
|
|
/* 8009D8C4 000997E4 D0 04 00 08 */ stfs f0, 8(r4)
|
|
/* 8009D8C8 000997E8 88 C8 00 24 */ lbz r6, 0x24(r8)
|
|
/* 8009D8CC 000997EC 7C C6 07 75 */ extsb. r6, r6
|
|
/* 8009D8D0 000997F0 7C C9 03 A6 */ mtctr r6
|
|
/* 8009D8D4 000997F4 40 81 00 B0 */ ble lbl_8009D984
|
|
lbl_8009D8D8:
|
|
/* 8009D8D8 000997F8 88 05 00 29 */ lbz r0, 0x29(r5)
|
|
/* 8009D8DC 000997FC 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D8E0 00099800 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8009D8E4 00099804 40 82 00 94 */ bne lbl_8009D978
|
|
/* 8009D8E8 00099808 38 06 FF FF */ addi r0, r6, -1
|
|
/* 8009D8EC 0009980C C8 42 B1 F8 */ lfd f2, lbl_802F59F8@sda21(r2)
|
|
/* 8009D8F0 00099810 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8009D8F4 00099814 C8 62 B1 F0 */ lfd f3, lbl_802F59F0@sda21(r2)
|
|
/* 8009D8F8 00099818 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 8009D8FC 0009981C 3C E0 43 30 */ lis r7, 0x4330
|
|
/* 8009D900 00099820 6D 20 80 00 */ xoris r0, r9, 0x8000
|
|
/* 8009D904 00099824 90 E1 00 18 */ stw r7, 0x18(r1)
|
|
/* 8009D908 00099828 3C 60 80 17 */ lis r3, lbl_80171B60@ha
|
|
/* 8009D90C 0009982C 7C C8 4A 14 */ add r6, r8, r9
|
|
/* 8009D910 00099830 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8009D914 00099834 38 A3 1B 60 */ addi r5, r3, lbl_80171B60@l
|
|
/* 8009D918 00099838 C8 01 00 18 */ lfd f0, 0x18(r1)
|
|
/* 8009D91C 0009983C 90 E1 00 10 */ stw r7, 0x10(r1)
|
|
/* 8009D920 00099840 FC 20 10 28 */ fsub f1, f0, f2
|
|
/* 8009D924 00099844 C8 01 00 10 */ lfd f0, 0x10(r1)
|
|
/* 8009D928 00099848 FC 23 00 72 */ fmul f1, f3, f1
|
|
/* 8009D92C 0009984C FC 00 10 28 */ fsub f0, f0, f2
|
|
/* 8009D930 00099850 FC 01 00 28 */ fsub f0, f1, f0
|
|
/* 8009D934 00099854 FC 00 18 28 */ fsub f0, f0, f3
|
|
/* 8009D938 00099858 FC 00 00 18 */ frsp f0, f0
|
|
/* 8009D93C 0009985C D0 04 00 00 */ stfs f0, 0(r4)
|
|
/* 8009D940 00099860 88 06 00 25 */ lbz r0, 0x25(r6)
|
|
/* 8009D944 00099864 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009D948 00099868 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8009D94C 0009986C 7C 65 02 14 */ add r3, r5, r0
|
|
/* 8009D950 00099870 C0 03 00 00 */ lfs f0, 0(r3)
|
|
/* 8009D954 00099874 D0 04 00 04 */ stfs f0, 4(r4)
|
|
/* 8009D958 00099878 80 08 00 00 */ lwz r0, 0(r8)
|
|
/* 8009D95C 0009987C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
|
|
/* 8009D960 00099880 41 82 00 0C */ beq lbl_8009D96C
|
|
/* 8009D964 00099884 C0 05 00 00 */ lfs f0, 0(r5)
|
|
/* 8009D968 00099888 D0 04 00 04 */ stfs f0, 4(r4)
|
|
lbl_8009D96C:
|
|
/* 8009D96C 0009988C C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009D970 00099890 D0 04 00 08 */ stfs f0, 8(r4)
|
|
/* 8009D974 00099894 48 00 00 10 */ b lbl_8009D984
|
|
lbl_8009D978:
|
|
/* 8009D978 00099898 38 A5 00 01 */ addi r5, r5, 1
|
|
/* 8009D97C 0009989C 39 29 00 01 */ addi r9, r9, 1
|
|
/* 8009D980 000998A0 42 00 FF 58 */ bdnz lbl_8009D8D8
|
|
lbl_8009D984:
|
|
/* 8009D984 000998A4 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8009D988 000998A8 4E 80 00 20 */ blr
|
|
|
|
.global func_8009D98C
|
|
func_8009D98C:
|
|
/* 8009D98C 000998AC 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 8009D990 000998B0 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009D994 000998B4 38 E4 A2 10 */ addi r7, r4, lbl_802BA210@l
|
|
/* 8009D998 000998B8 89 07 00 24 */ lbz r8, 0x24(r7)
|
|
/* 8009D99C 000998BC 3C 80 80 17 */ lis r4, lbl_80171B60@ha
|
|
/* 8009D9A0 000998C0 38 A4 1B 60 */ addi r5, r4, lbl_80171B60@l
|
|
/* 8009D9A4 000998C4 80 07 00 00 */ lwz r0, 0(r7)
|
|
/* 8009D9A8 000998C8 7D 08 07 75 */ extsb. r8, r8
|
|
/* 8009D9AC 000998CC 3C C0 43 30 */ lis r6, 0x4330
|
|
/* 8009D9B0 000998D0 C8 62 B1 F8 */ lfd f3, lbl_802F59F8@sda21(r2)
|
|
/* 8009D9B4 000998D4 C8 82 B1 F0 */ lfd f4, lbl_802F59F0@sda21(r2)
|
|
/* 8009D9B8 000998D8 54 09 06 B4 */ rlwinm r9, r0, 0, 0x1a, 0x1a
|
|
/* 8009D9BC 000998DC 38 88 FF FF */ addi r4, r8, -1
|
|
/* 8009D9C0 000998E0 7D 09 03 A6 */ mtctr r8
|
|
/* 8009D9C4 000998E4 6C 84 80 00 */ xoris r4, r4, 0x8000
|
|
/* 8009D9C8 000998E8 90 81 00 3C */ stw r4, 0x3c(r1)
|
|
/* 8009D9CC 000998EC 7C E8 3B 78 */ mr r8, r7
|
|
/* 8009D9D0 000998F0 C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009D9D4 000998F4 39 40 00 00 */ li r10, 0
|
|
/* 8009D9D8 000998F8 90 C1 00 38 */ stw r6, 0x38(r1)
|
|
/* 8009D9DC 000998FC C1 A5 00 00 */ lfs f13, 0(r5)
|
|
/* 8009D9E0 00099900 C8 41 00 38 */ lfd f2, 0x38(r1)
|
|
/* 8009D9E4 00099904 C8 22 B2 60 */ lfd f1, lbl_802F5A60@sda21(r2)
|
|
/* 8009D9E8 00099908 FC 42 18 28 */ fsub f2, f2, f3
|
|
/* 8009D9EC 0009990C FD 84 00 B2 */ fmul f12, f4, f2
|
|
/* 8009D9F0 00099910 40 81 00 E4 */ ble lbl_8009DAD4
|
|
lbl_8009D9F4:
|
|
/* 8009D9F4 00099914 6D 44 80 00 */ xoris r4, r10, 0x8000
|
|
/* 8009D9F8 00099918 88 08 00 25 */ lbz r0, 0x25(r8)
|
|
/* 8009D9FC 0009991C 90 81 00 3C */ stw r4, 0x3c(r1)
|
|
/* 8009DA00 00099920 28 09 00 00 */ cmplwi r9, 0
|
|
/* 8009DA04 00099924 7C 00 07 74 */ extsb r0, r0
|
|
/* 8009DA08 00099928 90 C1 00 38 */ stw r6, 0x38(r1)
|
|
/* 8009DA0C 0009992C 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8009DA10 00099930 7C 85 02 14 */ add r4, r5, r0
|
|
/* 8009DA14 00099934 C8 41 00 38 */ lfd f2, 0x38(r1)
|
|
/* 8009DA18 00099938 C0 A4 00 00 */ lfs f5, 0(r4)
|
|
/* 8009DA1C 0009993C FC 42 18 28 */ fsub f2, f2, f3
|
|
/* 8009DA20 00099940 FC 4C 10 28 */ fsub f2, f12, f2
|
|
/* 8009DA24 00099944 FC 42 20 28 */ fsub f2, f2, f4
|
|
/* 8009DA28 00099948 FC 40 10 18 */ frsp f2, f2
|
|
/* 8009DA2C 0009994C 41 82 00 08 */ beq lbl_8009DA34
|
|
/* 8009DA30 00099950 FC A0 68 90 */ fmr f5, f13
|
|
lbl_8009DA34:
|
|
/* 8009DA34 00099954 2C 0A 00 00 */ cmpwi r10, 0
|
|
/* 8009DA38 00099958 40 82 00 30 */ bne lbl_8009DA68
|
|
/* 8009DA3C 0009995C FD 00 28 90 */ fmr f8, f5
|
|
/* 8009DA40 00099960 C1 42 B1 D0 */ lfs f10, lbl_802F59D0@sda21(r2)
|
|
/* 8009DA44 00099964 FC C0 10 90 */ fmr f6, f2
|
|
/* 8009DA48 00099968 FD 60 50 90 */ fmr f11, f10
|
|
/* 8009DA4C 0009996C FD 20 40 90 */ fmr f9, f8
|
|
/* 8009DA50 00099970 FC E0 30 90 */ fmr f7, f6
|
|
/* 8009DA54 00099974 FC 09 08 40 */ fcmpo cr0, f9, f1
|
|
/* 8009DA58 00099978 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 8009DA5C 0009997C 40 82 00 6C */ bne lbl_8009DAC8
|
|
/* 8009DA60 00099980 FD 20 50 90 */ fmr f9, f10
|
|
/* 8009DA64 00099984 48 00 00 64 */ b lbl_8009DAC8
|
|
lbl_8009DA68:
|
|
/* 8009DA68 00099988 FC 07 10 40 */ fcmpo cr0, f7, f2
|
|
/* 8009DA6C 0009998C 40 80 00 08 */ bge lbl_8009DA74
|
|
/* 8009DA70 00099990 48 00 00 08 */ b lbl_8009DA78
|
|
lbl_8009DA74:
|
|
/* 8009DA74 00099994 FC E0 10 90 */ fmr f7, f2
|
|
lbl_8009DA78:
|
|
/* 8009DA78 00099998 FC 09 28 40 */ fcmpo cr0, f9, f5
|
|
/* 8009DA7C 0009999C 40 80 00 08 */ bge lbl_8009DA84
|
|
/* 8009DA80 000999A0 48 00 00 08 */ b lbl_8009DA88
|
|
lbl_8009DA84:
|
|
/* 8009DA84 000999A4 FD 20 28 90 */ fmr f9, f5
|
|
lbl_8009DA88:
|
|
/* 8009DA88 000999A8 FC 0B 00 40 */ fcmpo cr0, f11, f0
|
|
/* 8009DA8C 000999AC 40 80 00 08 */ bge lbl_8009DA94
|
|
/* 8009DA90 000999B0 48 00 00 08 */ b lbl_8009DA98
|
|
lbl_8009DA94:
|
|
/* 8009DA94 000999B4 FD 60 00 90 */ fmr f11, f0
|
|
lbl_8009DA98:
|
|
/* 8009DA98 000999B8 FC 06 10 40 */ fcmpo cr0, f6, f2
|
|
/* 8009DA9C 000999BC 40 81 00 08 */ ble lbl_8009DAA4
|
|
/* 8009DAA0 000999C0 48 00 00 08 */ b lbl_8009DAA8
|
|
lbl_8009DAA4:
|
|
/* 8009DAA4 000999C4 FC C0 10 90 */ fmr f6, f2
|
|
lbl_8009DAA8:
|
|
/* 8009DAA8 000999C8 FC 08 28 40 */ fcmpo cr0, f8, f5
|
|
/* 8009DAAC 000999CC 40 81 00 08 */ ble lbl_8009DAB4
|
|
/* 8009DAB0 000999D0 48 00 00 08 */ b lbl_8009DAB8
|
|
lbl_8009DAB4:
|
|
/* 8009DAB4 000999D4 FD 00 28 90 */ fmr f8, f5
|
|
lbl_8009DAB8:
|
|
/* 8009DAB8 000999D8 FC 0A 00 40 */ fcmpo cr0, f10, f0
|
|
/* 8009DABC 000999DC 40 81 00 08 */ ble lbl_8009DAC4
|
|
/* 8009DAC0 000999E0 48 00 00 08 */ b lbl_8009DAC8
|
|
lbl_8009DAC4:
|
|
/* 8009DAC4 000999E4 FD 40 00 90 */ fmr f10, f0
|
|
lbl_8009DAC8:
|
|
/* 8009DAC8 000999E8 39 08 00 01 */ addi r8, r8, 1
|
|
/* 8009DACC 000999EC 39 4A 00 01 */ addi r10, r10, 1
|
|
/* 8009DAD0 000999F0 42 00 FF 24 */ bdnz lbl_8009D9F4
|
|
lbl_8009DAD4:
|
|
/* 8009DAD4 000999F4 80 87 00 6C */ lwz r4, 0x6c(r7)
|
|
/* 8009DAD8 000999F8 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8009DADC 000999FC 41 82 00 28 */ beq lbl_8009DB04
|
|
/* 8009DAE0 00099A00 C0 04 00 34 */ lfs f0, 0x34(r4)
|
|
/* 8009DAE4 00099A04 FC 09 00 40 */ fcmpo cr0, f9, f0
|
|
/* 8009DAE8 00099A08 40 80 00 08 */ bge lbl_8009DAF0
|
|
/* 8009DAEC 00099A0C 48 00 00 08 */ b lbl_8009DAF4
|
|
lbl_8009DAF0:
|
|
/* 8009DAF0 00099A10 FD 20 00 90 */ fmr f9, f0
|
|
lbl_8009DAF4:
|
|
/* 8009DAF4 00099A14 FC 08 00 40 */ fcmpo cr0, f8, f0
|
|
/* 8009DAF8 00099A18 40 81 00 08 */ ble lbl_8009DB00
|
|
/* 8009DAFC 00099A1C 48 00 00 08 */ b lbl_8009DB04
|
|
lbl_8009DB00:
|
|
/* 8009DB00 00099A20 FD 00 00 90 */ fmr f8, f0
|
|
lbl_8009DB04:
|
|
/* 8009DB04 00099A24 EC 47 30 2A */ fadds f2, f7, f6
|
|
/* 8009DB08 00099A28 C8 62 B1 F0 */ lfd f3, lbl_802F59F0@sda21(r2)
|
|
/* 8009DB0C 00099A2C EC 29 40 2A */ fadds f1, f9, f8
|
|
/* 8009DB10 00099A30 EC 0B 50 2A */ fadds f0, f11, f10
|
|
/* 8009DB14 00099A34 FC 43 00 B2 */ fmul f2, f3, f2
|
|
/* 8009DB18 00099A38 FC 23 00 72 */ fmul f1, f3, f1
|
|
/* 8009DB1C 00099A3C FC 40 10 18 */ frsp f2, f2
|
|
/* 8009DB20 00099A40 FC 03 00 32 */ fmul f0, f3, f0
|
|
/* 8009DB24 00099A44 FC 20 08 18 */ frsp f1, f1
|
|
/* 8009DB28 00099A48 D0 43 00 00 */ stfs f2, 0(r3)
|
|
/* 8009DB2C 00099A4C FC 00 00 18 */ frsp f0, f0
|
|
/* 8009DB30 00099A50 D0 23 00 04 */ stfs f1, 4(r3)
|
|
/* 8009DB34 00099A54 D0 03 00 08 */ stfs f0, 8(r3)
|
|
/* 8009DB38 00099A58 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 8009DB3C 00099A5C 4E 80 00 20 */ blr
|
|
|
|
.global func_8009DB40
|
|
func_8009DB40:
|
|
/* 8009DB40 00099A60 7C 08 02 A6 */ mflr r0
|
|
/* 8009DB44 00099A64 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009DB48 00099A68 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009DB4C 00099A6C 38 84 A2 10 */ addi r4, r4, lbl_802BA210@l
|
|
/* 8009DB50 00099A70 38 84 00 3C */ addi r4, r4, 0x3c
|
|
/* 8009DB54 00099A74 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 8009DB58 00099A78 4B F6 9E C5 */ bl mathutil_mtx_copy
|
|
/* 8009DB5C 00099A7C 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 8009DB60 00099A80 38 21 00 08 */ addi r1, r1, 8
|
|
/* 8009DB64 00099A84 7C 08 03 A6 */ mtlr r0
|
|
/* 8009DB68 00099A88 4E 80 00 20 */ blr
|
|
|
|
.global func_8009DB6C
|
|
func_8009DB6C:
|
|
/* 8009DB6C 00099A8C 7C 08 02 A6 */ mflr r0
|
|
/* 8009DB70 00099A90 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009DB74 00099A94 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8009DB78 00099A98 38 A4 A2 10 */ addi r5, r4, lbl_802BA210@l
|
|
/* 8009DB7C 00099A9C 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8009DB80 00099AA0 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 8009DB84 00099AA4 38 65 00 3C */ addi r3, r5, 0x3c
|
|
/* 8009DB88 00099AA8 4B F6 9E 95 */ bl mathutil_mtx_copy
|
|
/* 8009DB8C 00099AAC 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 8009DB90 00099AB0 38 21 00 08 */ addi r1, r1, 8
|
|
/* 8009DB94 00099AB4 7C 08 03 A6 */ mtlr r0
|
|
/* 8009DB98 00099AB8 4E 80 00 20 */ blr
|
|
|
|
glabel func_8009DB9C
|
|
/* 8009DB9C 00099ABC 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009DBA0 00099AC0 7C 60 07 74 */ extsb r0, r3
|
|
/* 8009DBA4 00099AC4 38 64 A2 10 */ addi r3, r4, lbl_802BA210@l
|
|
/* 8009DBA8 00099AC8 98 03 00 75 */ stb r0, 0x75(r3)
|
|
/* 8009DBAC 00099ACC 4E 80 00 20 */ blr
|
|
|
|
.global func_8009DBB0
|
|
func_8009DBB0:
|
|
/* 8009DBB0 00099AD0 94 21 FF C8 */ stwu r1, -0x38(r1)
|
|
/* 8009DBB4 00099AD4 38 00 00 00 */ li r0, 0
|
|
/* 8009DBB8 00099AD8 3C C0 80 2C */ lis r6, lbl_802BA210@ha
|
|
/* 8009DBBC 00099ADC 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DBC0 00099AE0 39 26 A2 10 */ addi r9, r6, lbl_802BA210@l
|
|
/* 8009DBC4 00099AE4 C0 22 B1 D0 */ lfs f1, lbl_802F59D0@sda21(r2)
|
|
/* 8009DBC8 00099AE8 D0 25 00 00 */ stfs f1, 0(r5)
|
|
/* 8009DBCC 00099AEC D0 25 00 04 */ stfs f1, 4(r5)
|
|
/* 8009DBD0 00099AF0 D0 25 00 08 */ stfs f1, 8(r5)
|
|
/* 8009DBD4 00099AF4 C0 03 00 00 */ lfs f0, 0(r3)
|
|
/* 8009DBD8 00099AF8 D0 04 00 04 */ stfs f0, 4(r4)
|
|
/* 8009DBDC 00099AFC C0 03 00 08 */ lfs f0, 8(r3)
|
|
/* 8009DBE0 00099B00 D0 04 00 0C */ stfs f0, 0xc(r4)
|
|
/* 8009DBE4 00099B04 D0 24 00 10 */ stfs f1, 0x10(r4)
|
|
/* 8009DBE8 00099B08 C0 02 B2 24 */ lfs f0, lbl_802F5A24@sda21(r2)
|
|
/* 8009DBEC 00099B0C D0 04 00 14 */ stfs f0, 0x14(r4)
|
|
/* 8009DBF0 00099B10 D0 24 00 18 */ stfs f1, 0x18(r4)
|
|
/* 8009DBF4 00099B14 C8 02 B2 68 */ lfd f0, lbl_802F5A68@sda21(r2)
|
|
/* 8009DBF8 00099B18 C0 23 00 00 */ lfs f1, 0(r3)
|
|
/* 8009DBFC 00099B1C FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8009DC00 00099B20 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8009DC04 00099B24 40 82 00 48 */ bne lbl_8009DC4C
|
|
/* 8009DC08 00099B28 C8 02 B2 70 */ lfd f0, lbl_802F5A70@sda21(r2)
|
|
/* 8009DC0C 00099B2C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8009DC10 00099B30 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8009DC14 00099B34 40 82 00 38 */ bne lbl_8009DC4C
|
|
/* 8009DC18 00099B38 C8 02 B2 78 */ lfd f0, lbl_802F5A78@sda21(r2)
|
|
/* 8009DC1C 00099B3C C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 8009DC20 00099B40 FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8009DC24 00099B44 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8009DC28 00099B48 40 82 00 24 */ bne lbl_8009DC4C
|
|
/* 8009DC2C 00099B4C C8 02 B1 F0 */ lfd f0, lbl_802F59F0@sda21(r2)
|
|
/* 8009DC30 00099B50 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8009DC34 00099B54 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8009DC38 00099B58 40 82 00 14 */ bne lbl_8009DC4C
|
|
/* 8009DC3C 00099B5C 38 00 00 01 */ li r0, 1
|
|
/* 8009DC40 00099B60 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DC44 00099B64 C0 02 B2 80 */ lfs f0, lbl_802F5A80@sda21(r2)
|
|
/* 8009DC48 00099B68 D0 04 00 08 */ stfs f0, 8(r4)
|
|
lbl_8009DC4C:
|
|
/* 8009DC4C 00099B6C 88 09 00 24 */ lbz r0, 0x24(r9)
|
|
/* 8009DC50 00099B70 3C A0 80 17 */ lis r5, lbl_80171B60@ha
|
|
/* 8009DC54 00099B74 C0 02 B1 D0 */ lfs f0, lbl_802F59D0@sda21(r2)
|
|
/* 8009DC58 00099B78 39 69 00 24 */ addi r11, r9, 0x24
|
|
/* 8009DC5C 00099B7C C8 62 B1 F0 */ lfd f3, lbl_802F59F0@sda21(r2)
|
|
/* 8009DC60 00099B80 7C 00 07 75 */ extsb. r0, r0
|
|
/* 8009DC64 00099B84 C8 42 B1 F8 */ lfd f2, lbl_802F59F8@sda21(r2)
|
|
/* 8009DC68 00099B88 FC A0 18 28 */ fsub f5, f0, f3
|
|
/* 8009DC6C 00099B8C 39 49 00 00 */ addi r10, r9, 0
|
|
/* 8009DC70 00099B90 FC C3 00 2A */ fadd f6, f3, f0
|
|
/* 8009DC74 00099B94 38 C5 1B 60 */ addi r6, r5, lbl_80171B60@l
|
|
/* 8009DC78 00099B98 7C 09 03 A6 */ mtctr r0
|
|
/* 8009DC7C 00099B9C 39 80 00 00 */ li r12, 0
|
|
/* 8009DC80 00099BA0 3C E0 43 30 */ lis r7, 0x4330
|
|
/* 8009DC84 00099BA4 40 81 00 B4 */ ble lbl_8009DD38
|
|
lbl_8009DC88:
|
|
/* 8009DC88 00099BA8 88 AB 00 00 */ lbz r5, 0(r11)
|
|
/* 8009DC8C 00099BAC 6D 80 80 00 */ xoris r0, r12, 0x8000
|
|
/* 8009DC90 00099BB0 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 8009DC94 00099BB4 7C A8 07 74 */ extsb r8, r5
|
|
/* 8009DC98 00099BB8 88 AA 00 25 */ lbz r5, 0x25(r10)
|
|
/* 8009DC9C 00099BBC 38 08 FF FF */ addi r0, r8, -1
|
|
/* 8009DCA0 00099BC0 90 E1 00 28 */ stw r7, 0x28(r1)
|
|
/* 8009DCA4 00099BC4 6C 08 80 00 */ xoris r8, r0, 0x8000
|
|
/* 8009DCA8 00099BC8 80 09 00 00 */ lwz r0, 0(r9)
|
|
/* 8009DCAC 00099BCC 91 01 00 34 */ stw r8, 0x34(r1)
|
|
/* 8009DCB0 00099BD0 7C A5 07 74 */ extsb r5, r5
|
|
/* 8009DCB4 00099BD4 C8 01 00 28 */ lfd f0, 0x28(r1)
|
|
/* 8009DCB8 00099BD8 54 A5 10 3A */ slwi r5, r5, 2
|
|
/* 8009DCBC 00099BDC 90 E1 00 30 */ stw r7, 0x30(r1)
|
|
/* 8009DCC0 00099BE0 7C A6 2A 14 */ add r5, r6, r5
|
|
/* 8009DCC4 00099BE4 FC 00 10 28 */ fsub f0, f0, f2
|
|
/* 8009DCC8 00099BE8 C8 21 00 30 */ lfd f1, 0x30(r1)
|
|
/* 8009DCCC 00099BEC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
|
|
/* 8009DCD0 00099BF0 C0 85 00 00 */ lfs f4, 0(r5)
|
|
/* 8009DCD4 00099BF4 FC 21 10 28 */ fsub f1, f1, f2
|
|
/* 8009DCD8 00099BF8 FC 23 00 72 */ fmul f1, f3, f1
|
|
/* 8009DCDC 00099BFC FC 01 00 28 */ fsub f0, f1, f0
|
|
/* 8009DCE0 00099C00 FC 20 18 28 */ fsub f1, f0, f3
|
|
/* 8009DCE4 00099C04 FC 20 08 18 */ frsp f1, f1
|
|
/* 8009DCE8 00099C08 41 82 00 08 */ beq lbl_8009DCF0
|
|
/* 8009DCEC 00099C0C C0 86 00 00 */ lfs f4, 0(r6)
|
|
lbl_8009DCF0:
|
|
/* 8009DCF0 00099C10 FC 01 18 28 */ fsub f0, f1, f3
|
|
/* 8009DCF4 00099C14 C0 E3 00 00 */ lfs f7, 0(r3)
|
|
/* 8009DCF8 00099C18 FC 07 00 40 */ fcmpo cr0, f7, f0
|
|
/* 8009DCFC 00099C1C 41 80 00 30 */ blt lbl_8009DD2C
|
|
/* 8009DD00 00099C20 C1 03 00 08 */ lfs f8, 8(r3)
|
|
/* 8009DD04 00099C24 FC 08 28 40 */ fcmpo cr0, f8, f5
|
|
/* 8009DD08 00099C28 41 80 00 24 */ blt lbl_8009DD2C
|
|
/* 8009DD0C 00099C2C FC 03 08 2A */ fadd f0, f3, f1
|
|
/* 8009DD10 00099C30 FC 07 00 40 */ fcmpo cr0, f7, f0
|
|
/* 8009DD14 00099C34 41 81 00 18 */ bgt lbl_8009DD2C
|
|
/* 8009DD18 00099C38 FC 08 30 40 */ fcmpo cr0, f8, f6
|
|
/* 8009DD1C 00099C3C 41 81 00 10 */ bgt lbl_8009DD2C
|
|
/* 8009DD20 00099C40 38 00 00 01 */ li r0, 1
|
|
/* 8009DD24 00099C44 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DD28 00099C48 D0 84 00 08 */ stfs f4, 8(r4)
|
|
lbl_8009DD2C:
|
|
/* 8009DD2C 00099C4C 39 4A 00 01 */ addi r10, r10, 1
|
|
/* 8009DD30 00099C50 39 8C 00 01 */ addi r12, r12, 1
|
|
/* 8009DD34 00099C54 42 00 FF 54 */ bdnz lbl_8009DC88
|
|
lbl_8009DD38:
|
|
/* 8009DD38 00099C58 80 A9 00 6C */ lwz r5, 0x6c(r9)
|
|
/* 8009DD3C 00099C5C 28 05 00 00 */ cmplwi r5, 0
|
|
/* 8009DD40 00099C60 41 82 00 68 */ beq lbl_8009DDA8
|
|
/* 8009DD44 00099C64 C0 A5 00 30 */ lfs f5, 0x30(r5)
|
|
/* 8009DD48 00099C68 C8 22 B1 F0 */ lfd f1, lbl_802F59F0@sda21(r2)
|
|
/* 8009DD4C 00099C6C C0 43 00 00 */ lfs f2, 0(r3)
|
|
/* 8009DD50 00099C70 FC 05 08 28 */ fsub f0, f5, f1
|
|
/* 8009DD54 00099C74 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8009DD58 00099C78 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 8009DD5C 00099C7C 40 82 00 4C */ bne lbl_8009DDA8
|
|
/* 8009DD60 00099C80 C0 65 00 38 */ lfs f3, 0x38(r5)
|
|
/* 8009DD64 00099C84 C0 83 00 08 */ lfs f4, 8(r3)
|
|
/* 8009DD68 00099C88 FC 03 08 28 */ fsub f0, f3, f1
|
|
/* 8009DD6C 00099C8C FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8009DD70 00099C90 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 8009DD74 00099C94 40 82 00 34 */ bne lbl_8009DDA8
|
|
/* 8009DD78 00099C98 FC 01 28 2A */ fadd f0, f1, f5
|
|
/* 8009DD7C 00099C9C FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8009DD80 00099CA0 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8009DD84 00099CA4 40 82 00 24 */ bne lbl_8009DDA8
|
|
/* 8009DD88 00099CA8 FC 01 18 2A */ fadd f0, f1, f3
|
|
/* 8009DD8C 00099CAC FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8009DD90 00099CB0 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8009DD94 00099CB4 40 82 00 14 */ bne lbl_8009DDA8
|
|
/* 8009DD98 00099CB8 38 00 00 01 */ li r0, 1
|
|
/* 8009DD9C 00099CBC 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DDA0 00099CC0 C0 05 00 34 */ lfs f0, 0x34(r5)
|
|
/* 8009DDA4 00099CC4 D0 04 00 08 */ stfs f0, 8(r4)
|
|
lbl_8009DDA8:
|
|
/* 8009DDA8 00099CC8 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DDAC 00099CCC 54 00 07 FE */ clrlwi r0, r0, 0x1f
|
|
/* 8009DDB0 00099CD0 7C 60 00 D0 */ neg r3, r0
|
|
/* 8009DDB4 00099CD4 30 03 FF FF */ addic r0, r3, -1
|
|
/* 8009DDB8 00099CD8 7C 60 19 10 */ subfe r3, r0, r3
|
|
/* 8009DDBC 00099CDC 38 21 00 38 */ addi r1, r1, 0x38
|
|
/* 8009DDC0 00099CE0 4E 80 00 20 */ blr
|
|
|
|
glabel func_8009DDC4
|
|
/* 8009DDC4 00099CE4 2C 03 00 01 */ cmpwi r3, 1
|
|
/* 8009DDC8 00099CE8 3C 80 80 2C */ lis r4, lbl_802BA210@ha
|
|
/* 8009DDCC 00099CEC 38 84 A2 10 */ addi r4, r4, lbl_802BA210@l
|
|
/* 8009DDD0 00099CF0 41 82 00 3C */ beq lbl_8009DE0C
|
|
/* 8009DDD4 00099CF4 40 80 00 10 */ bge lbl_8009DDE4
|
|
/* 8009DDD8 00099CF8 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8009DDDC 00099CFC 40 80 00 14 */ bge lbl_8009DDF0
|
|
/* 8009DDE0 00099D00 4E 80 00 20 */ blr
|
|
lbl_8009DDE4:
|
|
/* 8009DDE4 00099D04 2C 03 00 03 */ cmpwi r3, 3
|
|
/* 8009DDE8 00099D08 4C 80 00 20 */ bgelr
|
|
/* 8009DDEC 00099D0C 48 00 00 3C */ b lbl_8009DE28
|
|
lbl_8009DDF0:
|
|
/* 8009DDF0 00099D10 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DDF4 00099D14 60 00 00 40 */ ori r0, r0, 0x40
|
|
/* 8009DDF8 00099D18 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DDFC 00099D1C 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DE00 00099D20 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17
|
|
/* 8009DE04 00099D24 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DE08 00099D28 4E 80 00 20 */ blr
|
|
lbl_8009DE0C:
|
|
/* 8009DE0C 00099D2C 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DE10 00099D30 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
|
|
/* 8009DE14 00099D34 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DE18 00099D38 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DE1C 00099D3C 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17
|
|
/* 8009DE20 00099D40 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DE24 00099D44 4E 80 00 20 */ blr
|
|
lbl_8009DE28:
|
|
/* 8009DE28 00099D48 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DE2C 00099D4C 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
|
|
/* 8009DE30 00099D50 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DE34 00099D54 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 8009DE38 00099D58 60 00 00 80 */ ori r0, r0, 0x80
|
|
/* 8009DE3C 00099D5C 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8009DE40 00099D60 4E 80 00 20 */ blr
|
|
|
|
.section .sdata2
|
|
|
|
.global lbl_802F59C0
|
|
lbl_802F59C0:
|
|
# ROM: 0x1EF3E0
|
|
.4byte 0xBF000000
|
|
|
|
.global lbl_802F59C4
|
|
lbl_802F59C4:
|
|
# ROM: 0x1EF3E4
|
|
.4byte 0x3FA66666
|
|
|
|
.global lbl_802F59C8
|
|
lbl_802F59C8:
|
|
# ROM: 0x1EF3E8
|
|
.4byte 0xC0200000
|
|
|
|
.global lbl_802F59CC
|
|
lbl_802F59CC:
|
|
# ROM: 0x1EF3EC
|
|
.4byte 0x3F666666
|
|
|
|
.global lbl_802F59D0
|
|
lbl_802F59D0:
|
|
# ROM: 0x1EF3F0
|
|
.4byte 0
|
|
|
|
.global lbl_802F59D4
|
|
lbl_802F59D4:
|
|
# ROM: 0x1EF3F4
|
|
.4byte 0x54555657
|
|
|
|
.global lbl_802F59D8
|
|
lbl_802F59D8:
|
|
# ROM: 0x1EF3F8
|
|
.4byte 0x00010209
|
|
.4byte 0x0A000000
|
|
|
|
.global lbl_802F59E0
|
|
lbl_802F59E0:
|
|
# ROM: 0x1EF400
|
|
.4byte 0x40000000
|
|
.4byte 0
|
|
|
|
.global lbl_802F59E8
|
|
lbl_802F59E8:
|
|
# ROM: 0x1EF408
|
|
.4byte 0x3FF23D70
|
|
.4byte 0xA3D70A3D
|
|
|
|
.global lbl_802F59F0
|
|
lbl_802F59F0:
|
|
# ROM: 0x1EF410
|
|
.4byte 0x3FE00000
|
|
.4byte 0
|
|
|
|
.global lbl_802F59F8
|
|
lbl_802F59F8:
|
|
# ROM: 0x1EF418
|
|
.4byte 0x43300000
|
|
.4byte 0x80000000
|
|
|
|
.global lbl_802F5A00
|
|
lbl_802F5A00:
|
|
# ROM: 0x1EF420
|
|
.4byte 0x400E6666
|
|
.4byte 0x66666666
|
|
|
|
.global lbl_802F5A08
|
|
lbl_802F5A08:
|
|
# ROM: 0x1EF428
|
|
.4byte 0x3ECCCCCD
|
|
.4byte 0
|
|
|
|
.global lbl_802F5A10
|
|
lbl_802F5A10:
|
|
# ROM: 0x1EF430
|
|
.4byte 0x3FD99999
|
|
.4byte 0x9999999A
|
|
|
|
.global lbl_802F5A18
|
|
lbl_802F5A18:
|
|
# ROM: 0x1EF438
|
|
.4byte 0x3FF00000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5A20
|
|
lbl_802F5A20:
|
|
# ROM: 0x1EF440
|
|
.4byte 0x46FFFE00
|
|
|
|
.global lbl_802F5A24
|
|
lbl_802F5A24:
|
|
# ROM: 0x1EF444
|
|
.4byte 0x3F800000
|
|
|
|
.global lbl_802F5A28
|
|
lbl_802F5A28:
|
|
# ROM: 0x1EF448
|
|
.4byte 0x3E99999A
|
|
|
|
.global lbl_802F5A2C
|
|
lbl_802F5A2C:
|
|
# ROM: 0x1EF44C
|
|
.4byte 0x3F733333
|
|
|
|
.global lbl_802F5A30
|
|
lbl_802F5A30:
|
|
# ROM: 0x1EF450
|
|
.4byte 0x3E4CCCCD
|
|
|
|
.global lbl_802F5A34
|
|
lbl_802F5A34:
|
|
# ROM: 0x1EF454
|
|
.4byte 0x3E800000
|
|
|
|
.global lbl_802F5A38
|
|
lbl_802F5A38:
|
|
# ROM: 0x1EF458
|
|
.4byte 0x3D23D70A
|
|
|
|
.global lbl_802F5A3C
|
|
lbl_802F5A3C:
|
|
# ROM: 0x1EF45C
|
|
.4byte 0xBE2E147B
|
|
|
|
.global lbl_802F5A40
|
|
lbl_802F5A40:
|
|
# ROM: 0x1EF460
|
|
.4byte 0x3CF5C28F
|
|
|
|
.global lbl_802F5A44
|
|
lbl_802F5A44:
|
|
# ROM: 0x1EF464
|
|
.4byte 0xBE19999A
|
|
|
|
.global lbl_802F5A48
|
|
lbl_802F5A48:
|
|
# ROM: 0x1EF468
|
|
.4byte 0x3D8F5C29
|
|
|
|
.global lbl_802F5A4C
|
|
lbl_802F5A4C:
|
|
# ROM: 0x1EF46C
|
|
.4byte 0xBE23D70A
|
|
|
|
.global lbl_802F5A50
|
|
lbl_802F5A50:
|
|
# ROM: 0x1EF470
|
|
.4byte 0xBCF5C28F
|
|
|
|
.global lbl_802F5A54
|
|
lbl_802F5A54:
|
|
# ROM: 0x1EF474
|
|
.4byte 0x3DCCCCCD
|
|
|
|
.global lbl_802F5A58
|
|
lbl_802F5A58:
|
|
# ROM: 0x1EF478
|
|
.4byte 0xBE000000
|
|
|
|
.global lbl_802F5A5C
|
|
lbl_802F5A5C:
|
|
# ROM: 0x1EF47C
|
|
.4byte 0xBECCCCCD
|
|
|
|
.global lbl_802F5A60
|
|
lbl_802F5A60:
|
|
# ROM: 0x1EF480
|
|
.4byte 0
|
|
.4byte 0
|
|
|
|
.global lbl_802F5A68
|
|
lbl_802F5A68:
|
|
# ROM: 0x1EF488
|
|
.4byte 0xC0040000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5A70
|
|
lbl_802F5A70:
|
|
# ROM: 0x1EF490
|
|
.4byte 0x3FF80000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5A78
|
|
lbl_802F5A78:
|
|
# ROM: 0x1EF498
|
|
.4byte 0xBFE00000
|
|
.4byte 0
|
|
|
|
.global lbl_802F5A80
|
|
lbl_802F5A80:
|
|
# ROM: 0x1EF4A0
|
|
.4byte 0xBD4CCCCD
|
|
.4byte 0
|
|
|
|
.section .rodata
|
|
|
|
.global lbl_80171B60
|
|
lbl_80171B60:
|
|
# ROM: 0x16EB60
|
|
.4byte 0x3F800000
|
|
.4byte 0x3F266666
|
|
.4byte 0x3ECCCCCD
|
|
.4byte 0
|
|
|
|
.section .sdata
|
|
|
|
.balign 8
|
|
glabel lbl_802F1368
|
|
.4byte 0xFFFFFFFF
|
|
.4byte 0x000001E9
|
|
glabel lbl_802F1370
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
glabel lbl_802F1378
|
|
.4byte 0
|
|
.4byte 0x000001F0
|
|
glabel lbl_802F1380
|
|
.4byte 0
|
|
.4byte 0x000001DB
|
|
glabel string_1P_WINS
|
|
.asciz "1P WINS"
|
|
glabel string_2P_WINS
|
|
.asciz "2P WINS"
|
|
glabel string_3P_WINS
|
|
.asciz "3P WINS"
|
|
glabel string_4P_WINS
|
|
.asciz "4P WINS"
|
|
glabel string_RANK_IN
|
|
.asciz "RANK IN"
|
|
glabel lbl_802F13B0
|
|
.4byte 0
|
|
glabel string_YOU_WIN
|
|
.asciz "YOU WIN"
|
|
|
|
.global lbl_802F13BC
|
|
lbl_802F13BC:
|
|
# ROM: 0x1EBAFC
|
|
glabel string_init_2
|
|
.asciz "init"
|
|
.balign 4
|
|
|
|
.global lbl_802F13C4
|
|
lbl_802F13C4:
|
|
# ROM: 0x1EBB04
|
|
.asciz ".."
|
|
.balign 4
|
|
|
|
.section .bss
|
|
|
|
.global lbl_802BA210
|
|
lbl_802BA210:
|
|
.skip 0x90
|
|
|
|
.section .sbss
|
|
|
|
.balign 8
|
|
.global gxCache
|
|
gxCache:
|
|
.skip 0x8
|
|
|
|
|
|
.section .data
|
|
|
|
.balign 8
|
|
.global lbl_801D3F10
|
|
lbl_801D3F10:
|
|
# ROM: 0x1D0F10
|
|
.4byte lbl_8009BB78 ;# ptr
|
|
.4byte lbl_8009BBBC ;# ptr
|
|
.4byte lbl_8009BC00 ;# ptr
|
|
.4byte lbl_8009BC44 ;# ptr
|
|
.4byte lbl_8009BC88 ;# ptr
|
|
.4byte lbl_8009BCD8 ;# ptr
|
|
.4byte lbl_8009BD20 ;# ptr
|
|
.4byte lbl_8009BD70 ;# ptr
|
|
.4byte lbl_8009BDB4 ;# ptr
|
|
.4byte lbl_8009BDF8 ;# ptr
|
|
.4byte lbl_8009BE2C ;# ptr
|
|
|
|
.global lbl_801D3F3C
|
|
lbl_801D3F3C:
|
|
# ROM: 0x1D0F3C
|
|
glabel string_MINI_COMMEND
|
|
.asciz "MINI COMMEND"
|
|
.balign 4
|
|
|
|
.global lbl_801D3F4C
|
|
lbl_801D3F4C:
|
|
# ROM: 0x1D0F4C
|
|
.4byte 0x1C205B20
|
|
glabel string__d____d__
|
|
.asciz "%d / %d ]"
|
|
.balign 4
|
|
|
|
.global lbl_801D3F5C
|
|
lbl_801D3F5C:
|
|
# ROM: 0x1D0F5C
|
|
.4byte 0x301E2120
|
|
.4byte 0x1C252C2B
|
|
.4byte 0x23291010
|
|
.4byte 0x10101010
|
|
.4byte 0x100C1B0D
|
|
.4byte 0x0E0F2411
|
|
.4byte 0x26122728
|
|
.4byte 0x131D1415
|
|
.4byte 0x1F2A1617
|
|
.4byte 0x18192D1A
|
|
.4byte 0x2E222F00
|
|
glabel lbl_801D3F88
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
.4byte 0x00000082
|
|
.4byte 0x000001F1
|
|
glabel lbl_801D3F98
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
.4byte 0x00000082
|
|
.4byte 0x000001EA
|
|
.4byte 0x000000BE
|
|
.4byte 0x000001EF
|
|
glabel lbl_801D3FB0
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
.4byte 0x00000082
|
|
.4byte 0x000001EB
|
|
.4byte 0x000000BE
|
|
.4byte 0x000001EF
|
|
glabel lbl_801D3FC8
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
.4byte 0x00000082
|
|
.4byte 0x000001EC
|
|
.4byte 0x000000BE
|
|
.4byte 0x000001EF
|
|
glabel lbl_801D3FE0
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
.4byte 0x00000082
|
|
.4byte 0x000001ED
|
|
.4byte 0x000000BE
|
|
.4byte 0x000001EF
|
|
glabel lbl_801D3FF8
|
|
.4byte 0
|
|
.4byte 0x000001E9
|
|
.4byte 0x00000082
|
|
.4byte 0x000001EE
|
|
glabel string_CONGRATULATIONS_
|
|
.asciz "CONGRATULATIONS:"
|
|
.balign 4
|
|
glabel string_YOU_LOSE
|
|
.asciz "YOU LOSE"
|
|
.balign 4
|
|
glabel string_YOU_RETIRE
|
|
.asciz "YOU RETIRE"
|
|
.balign 4
|
|
glabel string_COM_WINS
|
|
.asciz "COM WINS"
|
|
.balign 4
|
|
glabel string_DRAW_GAME
|
|
.asciz "DRAW GAME"
|
|
.balign 4
|
|
|
|
.global lbl_801D404C
|
|
lbl_801D404C:
|
|
# ROM: 0x1D104C
|
|
.4byte string_CONGRATULATIONS_ ;# ptr
|
|
.4byte 0x3FD33333
|
|
.4byte 0x3E800000
|
|
.4byte 0
|
|
.4byte lbl_802F1370 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_CONGRATULATIONS_ ;# ptr
|
|
.4byte 0x3FF33333
|
|
.4byte 0x3E6147AE
|
|
.4byte 0
|
|
.4byte lbl_802F1368 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_YOU_LOSE ;# ptr
|
|
.4byte 0x3FC66666
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0
|
|
.4byte lbl_802F1378 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_YOU_RETIRE ;# ptr
|
|
.4byte 0x3F866666
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0
|
|
.4byte lbl_802F1380 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_COM_WINS ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_802F1370 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_1P_WINS ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_801D3F98 ;# ptr
|
|
.4byte 0x00000003
|
|
.4byte string_2P_WINS ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_801D3FB0 ;# ptr
|
|
.4byte 0x00000003
|
|
.4byte string_3P_WINS ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_801D3FC8 ;# ptr
|
|
.4byte 0x00000003
|
|
.4byte string_4P_WINS ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_801D3FE0 ;# ptr
|
|
.4byte 0x00000003
|
|
.4byte string_DRAW_GAME ;# ptr
|
|
.4byte 0x3F9D70A4
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_802F1368 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_RANK_IN ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_801D3FF8 ;# ptr
|
|
.4byte 0x00000002
|
|
.4byte lbl_802F13B0 ;# ptr
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte lbl_802F1368 ;# ptr
|
|
.4byte 0x00000001
|
|
.4byte string_YOU_WIN ;# ptr
|
|
.4byte 0x3FB70A3D
|
|
.4byte 0x3EA3D70A
|
|
.4byte 0x00000001
|
|
.4byte lbl_801D3F88 ;# ptr
|
|
.4byte 0x00000002
|
|
.4byte 0x00000D00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0x3F800000
|
|
.4byte 0x3F000000
|
|
.4byte 0x3F800000
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0x3F000000
|
|
.4byte 0x3F800000
|
|
.4byte 0
|
|
.4byte 0x3F800000
|
|
.4byte 0xFFFFFFFF
|
|
.4byte 0x00000005
|
|
.4byte 0xFFFFFFFF
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0x00000D00
|
|
.4byte 0x44200000
|
|
.4byte 0
|
|
.4byte 0x3F800000
|
|
.4byte 0x3F000000
|
|
.4byte 0x3F800000
|
|
.4byte 0x3F000000
|
|
.4byte 0
|
|
.4byte 0x3F800000
|
|
.4byte 0x3F800000
|
|
.4byte 0
|
|
.4byte 0x3F800000
|
|
.4byte 0xFFFFFFFF
|
|
.4byte 0x00000007
|
|
.4byte 0xFFFFFFFF
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
glabel string_commend_disp
|
|
.asciz "commend disp"
|
|
.balign 4
|
|
glabel string_mini_commend_c
|
|
.asciz "mini_commend.c"
|
|
.balign 4
|
|
glabel string_multiple_CommendInit_without_CommendDest_n
|
|
.asciz "multiple CommendInit without CommendDest\n"
|
|
.balign 4
|
|
glabel string_commend_tpl
|
|
.asciz "commend.tpl"
|
|
glabel string_commend_gma
|
|
.asciz "commend.gma"
|