move jasper's jsystem work over

This commit is contained in:
TakaRikka 2022-10-04 21:17:53 -07:00
parent a3578d0c7c
commit 74c248990c
37 changed files with 153 additions and 1292 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 91.849662% | 8700 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 16.478820% | 592668 | 3596544
.text | 16.500285% | 593440 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 25.270005% | 1016024 | 4020672
Total | 25.289205% | 1016796 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 25.270005% | 1016024 | 4020672
main.dol | 25.289205% | 1016796 | 4020672
RELs | 33.217047% | 3820068 | 11500324
Total | 31.158387% | 4836092 | 15520996
Total | 31.163361% | 4836864 | 15520996
## RELs

View File

@ -1,54 +0,0 @@
lbl_803255F0:
/* 803255F0 3C 60 80 3D */ lis r3, lit_992@ha /* 0x803CEBE8@ha */
/* 803255F4 38 A3 EB E8 */ addi r5, r3, lit_992@l /* 0x803CEBE8@l */
/* 803255F8 80 65 00 00 */ lwz r3, 0(r5)
/* 803255FC 80 05 00 04 */ lwz r0, 4(r5)
/* 80325600 90 65 00 48 */ stw r3, 0x48(r5)
/* 80325604 90 05 00 4C */ stw r0, 0x4c(r5)
/* 80325608 80 05 00 08 */ lwz r0, 8(r5)
/* 8032560C 90 05 00 50 */ stw r0, 0x50(r5)
/* 80325610 38 85 00 48 */ addi r4, r5, 0x48
/* 80325614 80 65 00 0C */ lwz r3, 0xc(r5)
/* 80325618 80 05 00 10 */ lwz r0, 0x10(r5)
/* 8032561C 90 64 00 0C */ stw r3, 0xc(r4)
/* 80325620 90 04 00 10 */ stw r0, 0x10(r4)
/* 80325624 80 05 00 14 */ lwz r0, 0x14(r5)
/* 80325628 90 04 00 14 */ stw r0, 0x14(r4)
/* 8032562C 80 65 00 18 */ lwz r3, 0x18(r5)
/* 80325630 80 05 00 1C */ lwz r0, 0x1c(r5)
/* 80325634 90 64 00 18 */ stw r3, 0x18(r4)
/* 80325638 90 04 00 1C */ stw r0, 0x1c(r4)
/* 8032563C 80 05 00 20 */ lwz r0, 0x20(r5)
/* 80325640 90 04 00 20 */ stw r0, 0x20(r4)
/* 80325644 80 65 00 24 */ lwz r3, 0x24(r5)
/* 80325648 80 05 00 28 */ lwz r0, 0x28(r5)
/* 8032564C 90 64 00 24 */ stw r3, 0x24(r4)
/* 80325650 90 04 00 28 */ stw r0, 0x28(r4)
/* 80325654 80 05 00 2C */ lwz r0, 0x2c(r5)
/* 80325658 90 04 00 2C */ stw r0, 0x2c(r4)
/* 8032565C 80 65 00 30 */ lwz r3, 0x30(r5)
/* 80325660 80 05 00 34 */ lwz r0, 0x34(r5)
/* 80325664 90 64 00 30 */ stw r3, 0x30(r4)
/* 80325668 90 04 00 34 */ stw r0, 0x34(r4)
/* 8032566C 80 05 00 38 */ lwz r0, 0x38(r5)
/* 80325670 90 04 00 38 */ stw r0, 0x38(r4)
/* 80325674 80 65 00 3C */ lwz r3, 0x3c(r5)
/* 80325678 80 05 00 40 */ lwz r0, 0x40(r5)
/* 8032567C 90 64 00 3C */ stw r3, 0x3c(r4)
/* 80325680 90 04 00 40 */ stw r0, 0x40(r4)
/* 80325684 80 05 00 44 */ lwz r0, 0x44(r5)
/* 80325688 90 04 00 44 */ stw r0, 0x44(r4)
/* 8032568C 80 65 00 90 */ lwz r3, 0x90(r5)
/* 80325690 80 05 00 94 */ lwz r0, 0x94(r5)
/* 80325694 90 65 00 A8 */ stw r3, 0xa8(r5)
/* 80325698 90 05 00 AC */ stw r0, 0xac(r5)
/* 8032569C 80 05 00 98 */ lwz r0, 0x98(r5)
/* 803256A0 90 05 00 B0 */ stw r0, 0xb0(r5)
/* 803256A4 38 85 00 A8 */ addi r4, r5, 0xa8
/* 803256A8 80 65 00 9C */ lwz r3, 0x9c(r5)
/* 803256AC 80 05 00 A0 */ lwz r0, 0xa0(r5)
/* 803256B0 90 64 00 0C */ stw r3, 0xc(r4)
/* 803256B4 90 04 00 10 */ stw r0, 0x10(r4)
/* 803256B8 80 05 00 A4 */ lwz r0, 0xa4(r5)
/* 803256BC 90 04 00 14 */ stw r0, 0x14(r4)
/* 803256C0 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_80325500:
/* 80325500 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80325504 7C 08 02 A6 */ mflr r0
/* 80325508 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032550C 39 61 00 20 */ addi r11, r1, 0x20
/* 80325510 48 03 CC C5 */ bl _savegpr_27
/* 80325514 83 C3 00 04 */ lwz r30, 4(r3)
/* 80325518 83 A3 00 00 */ lwz r29, 0(r3)
/* 8032551C 3B 80 00 00 */ li r28, 0
/* 80325520 3B E0 00 00 */ li r31, 0
/* 80325524 48 00 00 34 */ b lbl_80325558
lbl_80325528:
/* 80325528 7F 7D F8 2E */ lwzx r27, r29, r31
/* 8032552C 48 00 00 1C */ b lbl_80325548
lbl_80325530:
/* 80325530 7F 63 DB 78 */ mr r3, r27
/* 80325534 81 9B 00 00 */ lwz r12, 0(r27)
/* 80325538 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8032553C 7D 89 03 A6 */ mtctr r12
/* 80325540 4E 80 04 21 */ bctrl
/* 80325544 83 7B 00 04 */ lwz r27, 4(r27)
lbl_80325548:
/* 80325548 28 1B 00 00 */ cmplwi r27, 0
/* 8032554C 40 82 FF E4 */ bne lbl_80325530
/* 80325550 3B 9C 00 01 */ addi r28, r28, 1
/* 80325554 3B FF 00 04 */ addi r31, r31, 4
lbl_80325558:
/* 80325558 7C 1C F0 40 */ cmplw r28, r30
/* 8032555C 41 80 FF CC */ blt lbl_80325528
/* 80325560 39 61 00 20 */ addi r11, r1, 0x20
/* 80325564 48 03 CC BD */ bl _restgpr_27
/* 80325568 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032556C 7C 08 03 A6 */ mtlr r0
/* 80325570 38 21 00 20 */ addi r1, r1, 0x20
/* 80325574 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_80325578:
/* 80325578 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032557C 7C 08 02 A6 */ mflr r0
/* 80325580 90 01 00 24 */ stw r0, 0x24(r1)
/* 80325584 39 61 00 20 */ addi r11, r1, 0x20
/* 80325588 48 03 CC 51 */ bl _savegpr_28
/* 8032558C 80 83 00 04 */ lwz r4, 4(r3)
/* 80325590 3B A4 FF FF */ addi r29, r4, -1
/* 80325594 83 C3 00 00 */ lwz r30, 0(r3)
/* 80325598 57 BF 10 3A */ slwi r31, r29, 2
/* 8032559C 48 00 00 34 */ b lbl_803255D0
lbl_803255A0:
/* 803255A0 7F 9E F8 2E */ lwzx r28, r30, r31
/* 803255A4 48 00 00 1C */ b lbl_803255C0
lbl_803255A8:
/* 803255A8 7F 83 E3 78 */ mr r3, r28
/* 803255AC 81 9C 00 00 */ lwz r12, 0(r28)
/* 803255B0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803255B4 7D 89 03 A6 */ mtctr r12
/* 803255B8 4E 80 04 21 */ bctrl
/* 803255BC 83 9C 00 04 */ lwz r28, 4(r28)
lbl_803255C0:
/* 803255C0 28 1C 00 00 */ cmplwi r28, 0
/* 803255C4 40 82 FF E4 */ bne lbl_803255A8
/* 803255C8 3B BD FF FF */ addi r29, r29, -1
/* 803255CC 3B FF FF FC */ addi r31, r31, -4
lbl_803255D0:
/* 803255D0 2C 1D 00 00 */ cmpwi r29, 0
/* 803255D4 40 80 FF CC */ bge lbl_803255A0
/* 803255D8 39 61 00 20 */ addi r11, r1, 0x20
/* 803255DC 48 03 CC 49 */ bl _restgpr_28
/* 803255E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803255E4 7C 08 03 A6 */ mtlr r0
/* 803255E8 38 21 00 20 */ addi r1, r1, 0x20
/* 803255EC 4E 80 00 20 */ blr

View File

@ -1,22 +0,0 @@
lbl_803254AC:
/* 803254AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803254B0 7C 08 02 A6 */ mflr r0
/* 803254B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803254B8 80 03 00 08 */ lwz r0, 8(r3)
/* 803254BC 1C A0 00 0C */ mulli r5, r0, 0xc
/* 803254C0 3C 80 80 3D */ lis r4, drawFuncTable__13J3DDrawBuffer@ha /* 0x803CEC90@ha */
/* 803254C4 38 04 EC 90 */ addi r0, r4, drawFuncTable__13J3DDrawBuffer@l /* 0x803CEC90@l */
/* 803254C8 7C A0 2A 14 */ add r5, r0, r5
/* 803254CC 80 85 00 00 */ lwz r4, 0(r5)
/* 803254D0 80 05 00 04 */ lwz r0, 4(r5)
/* 803254D4 90 81 00 08 */ stw r4, 8(r1)
/* 803254D8 90 01 00 0C */ stw r0, 0xc(r1)
/* 803254DC 80 05 00 08 */ lwz r0, 8(r5)
/* 803254E0 90 01 00 10 */ stw r0, 0x10(r1)
/* 803254E4 39 81 00 08 */ addi r12, r1, 8
/* 803254E8 48 03 CB 9D */ bl __ptmf_scall
/* 803254EC 60 00 00 00 */ nop
/* 803254F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803254F4 7C 08 03 A6 */ mtlr r0
/* 803254F8 38 21 00 20 */ addi r1, r1, 0x20
/* 803254FC 4E 80 00 20 */ blr

View File

@ -1,24 +0,0 @@
lbl_80325404:
/* 80325404 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325408 7C 08 02 A6 */ mflr r0
/* 8032540C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325410 38 00 00 00 */ li r0, 0
/* 80325414 90 04 00 04 */ stw r0, 4(r4)
/* 80325418 90 04 00 08 */ stw r0, 8(r4)
/* 8032541C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325420 90 05 00 04 */ stw r0, 4(r5)
/* 80325424 90 05 00 08 */ stw r0, 8(r5)
/* 80325428 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8032542C 28 03 00 00 */ cmplwi r3, 0
/* 80325430 41 82 00 14 */ beq lbl_80325444
/* 80325434 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80325438 4B FE D3 21 */ bl addChildPacket__9J3DPacketFP9J3DPacket
/* 8032543C 38 60 00 01 */ li r3, 1
/* 80325440 48 00 00 08 */ b lbl_80325448
lbl_80325444:
/* 80325444 38 60 00 00 */ li r3, 0
lbl_80325448:
/* 80325448 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032544C 7C 08 03 A6 */ mtlr r0
/* 80325450 38 21 00 10 */ addi r1, r1, 0x10
/* 80325454 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_803253B4:
/* 803253B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803253B8 7C 08 02 A6 */ mflr r0
/* 803253BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803253C0 38 00 00 00 */ li r0, 0
/* 803253C4 90 04 00 04 */ stw r0, 4(r4)
/* 803253C8 90 04 00 08 */ stw r0, 8(r4)
/* 803253CC 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 803253D0 90 05 00 04 */ stw r0, 4(r5)
/* 803253D4 90 05 00 08 */ stw r0, 8(r5)
/* 803253D8 80 63 00 20 */ lwz r3, 0x20(r3)
/* 803253DC 28 03 00 00 */ cmplwi r3, 0
/* 803253E0 41 82 00 10 */ beq lbl_803253F0
/* 803253E4 4B FE D3 75 */ bl addChildPacket__9J3DPacketFP9J3DPacket
/* 803253E8 38 60 00 01 */ li r3, 1
/* 803253EC 48 00 00 08 */ b lbl_803253F4
lbl_803253F0:
/* 803253F0 38 60 00 00 */ li r3, 0
lbl_803253F4:
/* 803253F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803253F8 7C 08 03 A6 */ mtlr r0
/* 803253FC 38 21 00 10 */ addi r1, r1, 0x10
/* 80325400 4E 80 00 20 */ blr

View File

@ -1,25 +0,0 @@
lbl_80313048:
/* 80313048 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031304C 7C 08 02 A6 */ mflr r0
/* 80313050 90 01 00 24 */ stw r0, 0x24(r1)
/* 80313054 7C 66 1B 78 */ mr r6, r3
/* 80313058 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8031305C 1C A0 00 0C */ mulli r5, r0, 0xc
/* 80313060 3C 60 80 3D */ lis r3, sortFuncTable__13J3DDrawBuffer@ha /* 0x803CEC30@ha */
/* 80313064 38 03 EC 30 */ addi r0, r3, sortFuncTable__13J3DDrawBuffer@l /* 0x803CEC30@l */
/* 80313068 7C A0 2A 14 */ add r5, r0, r5
/* 8031306C 80 65 00 00 */ lwz r3, 0(r5)
/* 80313070 80 05 00 04 */ lwz r0, 4(r5)
/* 80313074 90 61 00 08 */ stw r3, 8(r1)
/* 80313078 90 01 00 0C */ stw r0, 0xc(r1)
/* 8031307C 80 05 00 08 */ lwz r0, 8(r5)
/* 80313080 90 01 00 10 */ stw r0, 0x10(r1)
/* 80313084 7C 83 23 78 */ mr r3, r4
/* 80313088 7C C4 33 78 */ mr r4, r6
/* 8031308C 39 81 00 08 */ addi r12, r1, 8
/* 80313090 48 04 EF F5 */ bl __ptmf_scall
/* 80313094 60 00 00 00 */ nop
/* 80313098 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031309C 7C 08 03 A6 */ mtlr r0
/* 803130A0 38 21 00 20 */ addi r1, r1, 0x20
/* 803130A4 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80337178:
/* 80337178 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033717C 7C 08 02 A6 */ mflr r0
/* 80337180 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337184 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337188 93 C1 00 08 */ stw r30, 8(r1)
/* 8033718C 7C 7E 1B 78 */ mr r30, r3
/* 80337190 7C 9F 23 78 */ mr r31, r4
/* 80337194 7F E3 FB 78 */ mr r3, r31
/* 80337198 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8033719C 48 00 01 9D */ bl func_80337338
/* 803371A0 90 7E 00 00 */ stw r3, 0(r30)
/* 803371A4 7F E3 FB 78 */ mr r3, r31
/* 803371A8 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 803371AC 4B FF F5 D1 */ bl func_8033677C
/* 803371B0 90 7E 00 04 */ stw r3, 4(r30)
/* 803371B4 7F C3 F3 78 */ mr r3, r30
/* 803371B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803371BC 83 C1 00 08 */ lwz r30, 8(r1)
/* 803371C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803371C4 7C 08 03 A6 */ mtlr r0
/* 803371C8 38 21 00 10 */ addi r1, r1, 0x10
/* 803371CC 4E 80 00 20 */ blr

View File

@ -1,93 +0,0 @@
lbl_803371D0:
/* 803371D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803371D4 7C 08 02 A6 */ mflr r0
/* 803371D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 803371DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803371E0 93 C1 00 08 */ stw r30, 8(r1)
/* 803371E4 7C 7F 1B 78 */ mr r31, r3
/* 803371E8 7C 9E 23 78 */ mr r30, r4
/* 803371EC 38 60 00 5C */ li r3, 0x5c
/* 803371F0 4B F9 7A 5D */ bl __nw__FUl
/* 803371F4 7C 64 1B 79 */ or. r4, r3, r3
/* 803371F8 41 82 00 0C */ beq lbl_80337204
/* 803371FC 4B FF 7F 75 */ bl __ct__8J3DJointFv
/* 80337200 7C 64 1B 78 */ mr r4, r3
lbl_80337204:
/* 80337204 B3 C4 00 14 */ sth r30, 0x14(r4)
/* 80337208 80 BF 00 00 */ lwz r5, 0(r31)
/* 8033720C 80 7F 00 04 */ lwz r3, 4(r31)
/* 80337210 57 C0 08 3C */ slwi r0, r30, 1
/* 80337214 7C 63 02 2E */ lhzx r3, r3, r0
/* 80337218 54 63 30 32 */ slwi r3, r3, 6
/* 8033721C 7C 65 1A 2E */ lhzx r3, r5, r3
/* 80337220 98 64 00 16 */ stb r3, 0x16(r4)
/* 80337224 80 BF 00 00 */ lwz r5, 0(r31)
/* 80337228 80 7F 00 04 */ lwz r3, 4(r31)
/* 8033722C 7C 63 02 2E */ lhzx r3, r3, r0
/* 80337230 54 63 30 32 */ slwi r3, r3, 6
/* 80337234 7C 65 1A 14 */ add r3, r5, r3
/* 80337238 88 63 00 02 */ lbz r3, 2(r3)
/* 8033723C 98 64 00 17 */ stb r3, 0x17(r4)
/* 80337240 80 BF 00 00 */ lwz r5, 0(r31)
/* 80337244 80 7F 00 04 */ lwz r3, 4(r31)
/* 80337248 7C 63 02 2E */ lhzx r3, r3, r0
/* 8033724C 54 63 30 32 */ slwi r3, r3, 6
/* 80337250 38 C3 00 04 */ addi r6, r3, 4
/* 80337254 7C C5 32 14 */ add r6, r5, r6
/* 80337258 E0 06 00 00 */ psq_l f0, 0(r6), 0, 0 /* qr0 */
/* 8033725C F0 04 00 18 */ psq_st f0, 24(r4), 0, 0 /* qr0 */
/* 80337260 C0 06 00 08 */ lfs f0, 8(r6)
/* 80337264 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80337268 80 66 00 0C */ lwz r3, 0xc(r6)
/* 8033726C 90 64 00 24 */ stw r3, 0x24(r4)
/* 80337270 A8 66 00 10 */ lha r3, 0x10(r6)
/* 80337274 B0 64 00 28 */ sth r3, 0x28(r4)
/* 80337278 E0 06 00 14 */ psq_l f0, 20(r6), 0, 0 /* qr0 */
/* 8033727C F0 04 00 2C */ psq_st f0, 44(r4), 0, 0 /* qr0 */
/* 80337280 C0 06 00 1C */ lfs f0, 0x1c(r6)
/* 80337284 D0 04 00 34 */ stfs f0, 0x34(r4)
/* 80337288 80 BF 00 00 */ lwz r5, 0(r31)
/* 8033728C 80 7F 00 04 */ lwz r3, 4(r31)
/* 80337290 7C 63 02 2E */ lhzx r3, r3, r0
/* 80337294 54 63 30 32 */ slwi r3, r3, 6
/* 80337298 7C 65 1A 14 */ add r3, r5, r3
/* 8033729C C0 03 00 24 */ lfs f0, 0x24(r3)
/* 803372A0 D0 04 00 38 */ stfs f0, 0x38(r4)
/* 803372A4 80 BF 00 00 */ lwz r5, 0(r31)
/* 803372A8 80 7F 00 04 */ lwz r3, 4(r31)
/* 803372AC 7C 63 02 2E */ lhzx r3, r3, r0
/* 803372B0 54 63 30 32 */ slwi r3, r3, 6
/* 803372B4 38 63 00 28 */ addi r3, r3, 0x28
/* 803372B8 7C 65 1A 14 */ add r3, r5, r3
/* 803372BC C0 03 00 00 */ lfs f0, 0(r3)
/* 803372C0 D0 04 00 3C */ stfs f0, 0x3c(r4)
/* 803372C4 C0 03 00 04 */ lfs f0, 4(r3)
/* 803372C8 D0 04 00 40 */ stfs f0, 0x40(r4)
/* 803372CC C0 03 00 08 */ lfs f0, 8(r3)
/* 803372D0 D0 04 00 44 */ stfs f0, 0x44(r4)
/* 803372D4 80 BF 00 00 */ lwz r5, 0(r31)
/* 803372D8 80 7F 00 04 */ lwz r3, 4(r31)
/* 803372DC 7C 03 02 2E */ lhzx r0, r3, r0
/* 803372E0 54 03 30 32 */ slwi r3, r0, 6
/* 803372E4 38 63 00 34 */ addi r3, r3, 0x34
/* 803372E8 7C 65 1A 14 */ add r3, r5, r3
/* 803372EC C0 03 00 00 */ lfs f0, 0(r3)
/* 803372F0 D0 04 00 48 */ stfs f0, 0x48(r4)
/* 803372F4 C0 03 00 04 */ lfs f0, 4(r3)
/* 803372F8 D0 04 00 4C */ stfs f0, 0x4c(r4)
/* 803372FC C0 03 00 08 */ lfs f0, 8(r3)
/* 80337300 D0 04 00 50 */ stfs f0, 0x50(r4)
/* 80337304 38 60 00 00 */ li r3, 0
/* 80337308 90 64 00 54 */ stw r3, 0x54(r4)
/* 8033730C 88 04 00 17 */ lbz r0, 0x17(r4)
/* 80337310 28 00 00 FF */ cmplwi r0, 0xff
/* 80337314 40 82 00 08 */ bne lbl_8033731C
/* 80337318 98 64 00 17 */ stb r3, 0x17(r4)
lbl_8033731C:
/* 8033731C 7C 83 23 78 */ mr r3, r4
/* 80337320 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337324 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337328 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033732C 7C 08 03 A6 */ mtlr r0
/* 80337330 38 21 00 10 */ addi r1, r1, 0x10
/* 80337334 4E 80 00 20 */ blr

View File

@ -1,8 +0,0 @@
lbl_80337338:
/* 80337338 28 04 00 00 */ cmplwi r4, 0
/* 8033733C 40 82 00 0C */ bne lbl_80337348
/* 80337340 38 60 00 00 */ li r3, 0
/* 80337344 4E 80 00 20 */ blr
lbl_80337348:
/* 80337348 7C 63 22 14 */ add r3, r3, r4
/* 8033734C 4E 80 00 20 */ blr

View File

@ -1,45 +0,0 @@
lbl_80337350:
/* 80337350 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337354 7C 08 02 A6 */ mflr r0
/* 80337358 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033735C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337360 93 C1 00 08 */ stw r30, 8(r1)
/* 80337364 7C 7E 1B 78 */ mr r30, r3
/* 80337368 7C 9F 23 78 */ mr r31, r4
/* 8033736C 7F E3 FB 78 */ mr r3, r31
/* 80337370 80 84 00 0C */ lwz r4, 0xc(r4)
/* 80337374 4B FF F3 F1 */ bl func_80336764
/* 80337378 90 7E 00 00 */ stw r3, 0(r30)
/* 8033737C 7F E3 FB 78 */ mr r3, r31
/* 80337380 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 80337384 4B FF F3 F9 */ bl func_8033677C
/* 80337388 90 7E 00 04 */ stw r3, 4(r30)
/* 8033738C 7F E3 FB 78 */ mr r3, r31
/* 80337390 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 80337394 48 00 07 95 */ bl func_80337B28
/* 80337398 90 7E 00 08 */ stw r3, 8(r30)
/* 8033739C 7F E3 FB 78 */ mr r3, r31
/* 803373A0 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 803373A4 4B FF F3 D9 */ bl func_8033677C
/* 803373A8 90 7E 00 0C */ stw r3, 0xc(r30)
/* 803373AC 7F E3 FB 78 */ mr r3, r31
/* 803373B0 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 803373B4 48 00 07 5D */ bl func_80337B10
/* 803373B8 90 7E 00 10 */ stw r3, 0x10(r30)
/* 803373BC 7F E3 FB 78 */ mr r3, r31
/* 803373C0 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 803373C4 48 00 07 35 */ bl func_80337AF8
/* 803373C8 90 7E 00 14 */ stw r3, 0x14(r30)
/* 803373CC 7F E3 FB 78 */ mr r3, r31
/* 803373D0 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 803373D4 48 00 07 0D */ bl func_80337AE0
/* 803373D8 90 7E 00 18 */ stw r3, 0x18(r30)
/* 803373DC 38 00 00 00 */ li r0, 0
/* 803373E0 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 803373E4 7F C3 F3 78 */ mr r3, r30
/* 803373E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803373EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 803373F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803373F4 7C 08 03 A6 */ mtlr r0
/* 803373F8 38 21 00 10 */ addi r1, r1, 0x10
/* 803373FC 4E 80 00 20 */ blr

View File

@ -1,30 +0,0 @@
lbl_803378D8:
/* 803378D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803378DC 7C 08 02 A6 */ mflr r0
/* 803378E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803378E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803378E8 93 C1 00 08 */ stw r30, 8(r1)
/* 803378EC 7C 7E 1B 78 */ mr r30, r3
/* 803378F0 1F E4 00 C0 */ mulli r31, r4, 0xc0
/* 803378F4 7F E3 FB 78 */ mr r3, r31
/* 803378F8 38 80 00 20 */ li r4, 0x20
/* 803378FC 4B F9 73 F1 */ bl __nwa__FUli
/* 80337900 90 7E 00 1C */ stw r3, 0x1c(r30)
/* 80337904 38 60 00 00 */ li r3, 0
/* 80337908 57 E4 F0 BE */ srwi r4, r31, 2
/* 8033790C 7C 60 1B 78 */ mr r0, r3
/* 80337910 7C 89 03 A6 */ mtctr r4
/* 80337914 28 04 00 00 */ cmplwi r4, 0
/* 80337918 40 81 00 14 */ ble lbl_8033792C
lbl_8033791C:
/* 8033791C 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 80337920 7C 04 19 2E */ stwx r0, r4, r3
/* 80337924 38 63 00 04 */ addi r3, r3, 4
/* 80337928 42 00 FF F4 */ bdnz lbl_8033791C
lbl_8033792C:
/* 8033792C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337930 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337934 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337938 7C 08 03 A6 */ mtlr r0
/* 8033793C 38 21 00 10 */ addi r1, r1, 0x10
/* 80337940 4E 80 00 20 */ blr

View File

@ -1,75 +0,0 @@
lbl_803379E8:
/* 803379E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803379EC 7C 08 02 A6 */ mflr r0
/* 803379F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803379F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803379F8 80 C3 00 00 */ lwz r6, 0(r3)
/* 803379FC 80 63 00 04 */ lwz r3, 4(r3)
/* 80337A00 54 A0 08 3C */ slwi r0, r5, 1
/* 80337A04 7C 03 02 2E */ lhzx r0, r3, r0
/* 80337A08 1C 00 00 28 */ mulli r0, r0, 0x28
/* 80337A0C 3B E0 00 00 */ li r31, 0
/* 80337A10 54 83 06 F6 */ rlwinm r3, r4, 0, 0x1b, 0x1b
/* 80337A14 2C 03 00 10 */ cmpwi r3, 0x10
/* 80337A18 41 82 00 14 */ beq lbl_80337A2C
/* 80337A1C 40 80 00 70 */ bge lbl_80337A8C
/* 80337A20 2C 03 00 00 */ cmpwi r3, 0
/* 80337A24 41 82 00 68 */ beq lbl_80337A8C
/* 80337A28 48 00 00 64 */ b lbl_80337A8C
lbl_80337A2C:
/* 80337A2C 7C 06 00 AE */ lbzx r0, r6, r0
/* 80337A30 2C 00 00 02 */ cmpwi r0, 2
/* 80337A34 41 82 00 34 */ beq lbl_80337A68
/* 80337A38 40 80 00 14 */ bge lbl_80337A4C
/* 80337A3C 2C 00 00 00 */ cmpwi r0, 0
/* 80337A40 41 82 00 18 */ beq lbl_80337A58
/* 80337A44 40 80 00 1C */ bge lbl_80337A60
/* 80337A48 48 00 00 30 */ b lbl_80337A78
lbl_80337A4C:
/* 80337A4C 2C 00 00 04 */ cmpwi r0, 4
/* 80337A50 40 80 00 28 */ bge lbl_80337A78
/* 80337A54 48 00 00 1C */ b lbl_80337A70
lbl_80337A58:
/* 80337A58 3B E0 00 08 */ li r31, 8
/* 80337A5C 48 00 00 6C */ b lbl_80337AC8
lbl_80337A60:
/* 80337A60 3B E0 00 08 */ li r31, 8
/* 80337A64 48 00 00 64 */ b lbl_80337AC8
lbl_80337A68:
/* 80337A68 3B E0 00 08 */ li r31, 8
/* 80337A6C 48 00 00 5C */ b lbl_80337AC8
lbl_80337A70:
/* 80337A70 3B E0 00 10 */ li r31, 0x10
/* 80337A74 48 00 00 54 */ b lbl_80337AC8
lbl_80337A78:
/* 80337A78 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */
/* 80337A7C 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */
/* 80337A80 4C C6 31 82 */ crclr 6
/* 80337A84 4B CC F0 39 */ bl OSReport
/* 80337A88 48 00 00 40 */ b lbl_80337AC8
lbl_80337A8C:
/* 80337A8C 7C 06 00 AE */ lbzx r0, r6, r0
/* 80337A90 2C 00 00 03 */ cmpwi r0, 3
/* 80337A94 41 82 00 1C */ beq lbl_80337AB0
/* 80337A98 40 80 00 20 */ bge lbl_80337AB8
/* 80337A9C 2C 00 00 00 */ cmpwi r0, 0
/* 80337AA0 40 80 00 08 */ bge lbl_80337AA8
/* 80337AA4 48 00 00 14 */ b lbl_80337AB8
lbl_80337AA8:
/* 80337AA8 3B E0 00 08 */ li r31, 8
/* 80337AAC 48 00 00 1C */ b lbl_80337AC8
lbl_80337AB0:
/* 80337AB0 3B E0 00 10 */ li r31, 0x10
/* 80337AB4 48 00 00 14 */ b lbl_80337AC8
lbl_80337AB8:
/* 80337AB8 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */
/* 80337ABC 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */
/* 80337AC0 4C C6 31 82 */ crclr 6
/* 80337AC4 4B CC EF F9 */ bl OSReport
lbl_80337AC8:
/* 80337AC8 7F E3 FB 78 */ mr r3, r31
/* 80337ACC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337AD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337AD4 7C 08 03 A6 */ mtlr r0
/* 80337AD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80337ADC 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_803379D8:
/* 803379D8 1C 64 00 C0 */ mulli r3, r4, 0xc0
/* 803379DC 38 03 00 1F */ addi r0, r3, 0x1f
/* 803379E0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
/* 803379E4 4E 80 00 20 */ blr

View File

@ -1,115 +0,0 @@
lbl_80337400:
/* 80337400 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80337404 7C 08 02 A6 */ mflr r0
/* 80337408 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033740C 39 61 00 20 */ addi r11, r1, 0x20
/* 80337410 48 02 AD C1 */ bl _savegpr_26
/* 80337414 7C 7B 1B 78 */ mr r27, r3
/* 80337418 7C 9C 23 78 */ mr r28, r4
/* 8033741C 7C BD 2B 78 */ mr r29, r5
/* 80337420 38 60 00 68 */ li r3, 0x68
/* 80337424 4B F9 78 29 */ bl __nw__FUl
/* 80337428 7C 7F 1B 79 */ or. r31, r3, r3
/* 8033742C 41 82 00 2C */ beq lbl_80337458
/* 80337430 3C 80 80 3D */ lis r4, __vt__8J3DShape@ha /* 0x803CDC78@ha */
/* 80337434 38 04 DC 78 */ addi r0, r4, __vt__8J3DShape@l /* 0x803CDC78@l */
/* 80337438 90 1F 00 00 */ stw r0, 0(r31)
/* 8033743C 3C 80 3C F4 */ lis r4, 0x3CF4 /* 0x3CF3CF00@ha */
/* 80337440 38 04 CF 00 */ addi r0, r4, 0xCF00 /* 0x3CF3CF00@l */
/* 80337444 90 1F 00 40 */ stw r0, 0x40(r31)
/* 80337448 3C 80 00 F4 */ lis r4, 0x00F4 /* 0x00F3CF3C@ha */
/* 8033744C 38 04 CF 3C */ addi r0, r4, 0xCF3C /* 0x00F3CF3C@l */
/* 80337450 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80337454 4B FD D6 F5 */ bl initialize__8J3DShapeFv
lbl_80337458:
/* 80337458 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033745C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80337460 57 9E 08 3C */ slwi r30, r28, 1
/* 80337464 7C 03 F2 2E */ lhzx r0, r3, r30
/* 80337468 1C 00 00 28 */ mulli r0, r0, 0x28
/* 8033746C 7C 64 02 14 */ add r3, r4, r0
/* 80337470 A0 03 00 02 */ lhz r0, 2(r3)
/* 80337474 B0 1F 00 0A */ sth r0, 0xa(r31)
/* 80337478 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033747C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80337480 7C 03 F2 2E */ lhzx r0, r3, r30
/* 80337484 1C 00 00 28 */ mulli r0, r0, 0x28
/* 80337488 7C 64 02 14 */ add r3, r4, r0
/* 8033748C C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80337490 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 80337494 80 BB 00 08 */ lwz r5, 8(r27)
/* 80337498 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033749C 80 7B 00 04 */ lwz r3, 4(r27)
/* 803374A0 7C 03 F2 2E */ lhzx r0, r3, r30
/* 803374A4 1C 00 00 28 */ mulli r0, r0, 0x28
/* 803374A8 7C 64 02 14 */ add r3, r4, r0
/* 803374AC A0 03 00 04 */ lhz r0, 4(r3)
/* 803374B0 7C 05 02 14 */ add r0, r5, r0
/* 803374B4 90 1F 00 30 */ stw r0, 0x30(r31)
/* 803374B8 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 803374BC 54 03 10 3A */ slwi r3, r0, 2
/* 803374C0 4B F9 78 05 */ bl __nwa__FUl
/* 803374C4 90 7F 00 38 */ stw r3, 0x38(r31)
/* 803374C8 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 803374CC 54 03 10 3A */ slwi r3, r0, 2
/* 803374D0 4B F9 77 F5 */ bl __nwa__FUl
/* 803374D4 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 803374D8 80 9B 00 00 */ lwz r4, 0(r27)
/* 803374DC 80 7B 00 04 */ lwz r3, 4(r27)
/* 803374E0 7C 03 F2 2E */ lhzx r0, r3, r30
/* 803374E4 1C 60 00 28 */ mulli r3, r0, 0x28
/* 803374E8 38 63 00 10 */ addi r3, r3, 0x10
/* 803374EC 7C 64 1A 14 */ add r3, r4, r3
/* 803374F0 C0 03 00 00 */ lfs f0, 0(r3)
/* 803374F4 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 803374F8 C0 03 00 04 */ lfs f0, 4(r3)
/* 803374FC D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 80337500 C0 03 00 08 */ lfs f0, 8(r3)
/* 80337504 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80337508 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033750C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80337510 7C 03 F2 2E */ lhzx r0, r3, r30
/* 80337514 1C 60 00 28 */ mulli r3, r0, 0x28
/* 80337518 38 63 00 1C */ addi r3, r3, 0x1c
/* 8033751C 7C 64 1A 14 */ add r3, r4, r3
/* 80337520 C0 03 00 00 */ lfs f0, 0(r3)
/* 80337524 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 80337528 C0 03 00 04 */ lfs f0, 4(r3)
/* 8033752C D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 80337530 C0 03 00 08 */ lfs f0, 8(r3)
/* 80337534 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80337538 80 7B 00 1C */ lwz r3, 0x1c(r27)
/* 8033753C 1C 1C 00 C0 */ mulli r0, r28, 0xc0
/* 80337540 7C 03 02 14 */ add r0, r3, r0
/* 80337544 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 80337548 3B 40 00 00 */ li r26, 0
/* 8033754C 3B C0 00 00 */ li r30, 0
/* 80337550 48 00 00 40 */ b lbl_80337590
lbl_80337554:
/* 80337554 7F 63 DB 78 */ mr r3, r27
/* 80337558 7F A4 EB 78 */ mr r4, r29
/* 8033755C 7F 85 E3 78 */ mr r5, r28
/* 80337560 7F 46 D3 78 */ mr r6, r26
/* 80337564 48 00 00 59 */ bl newShapeMtx__15J3DShapeFactoryCFUlii
/* 80337568 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 8033756C 7C 64 F1 2E */ stwx r3, r4, r30
/* 80337570 7F 63 DB 78 */ mr r3, r27
/* 80337574 7F 84 E3 78 */ mr r4, r28
/* 80337578 7F 45 D3 78 */ mr r5, r26
/* 8033757C 48 00 02 D1 */ bl newShapeDraw__15J3DShapeFactoryCFii
/* 80337580 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 80337584 7C 64 F1 2E */ stwx r3, r4, r30
/* 80337588 3B 5A 00 01 */ addi r26, r26, 1
/* 8033758C 3B DE 00 04 */ addi r30, r30, 4
lbl_80337590:
/* 80337590 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80337594 7C 1A 00 00 */ cmpw r26, r0
/* 80337598 41 80 FF BC */ blt lbl_80337554
/* 8033759C B3 9F 00 08 */ sth r28, 8(r31)
/* 803375A0 7F E3 FB 78 */ mr r3, r31
/* 803375A4 39 61 00 20 */ addi r11, r1, 0x20
/* 803375A8 48 02 AC 75 */ bl _restgpr_26
/* 803375AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803375B0 7C 08 03 A6 */ mtlr r0
/* 803375B4 38 21 00 20 */ addi r1, r1, 0x20
/* 803375B8 4E 80 00 20 */ blr

View File

@ -1,8 +0,0 @@
lbl_80337AE0:
/* 80337AE0 28 04 00 00 */ cmplwi r4, 0
/* 80337AE4 40 82 00 0C */ bne lbl_80337AF0
/* 80337AE8 38 60 00 00 */ li r3, 0
/* 80337AEC 4E 80 00 20 */ blr
lbl_80337AF0:
/* 80337AF0 7C 63 22 14 */ add r3, r3, r4
/* 80337AF4 4E 80 00 20 */ blr

View File

@ -1,8 +0,0 @@
lbl_80337AF8:
/* 80337AF8 28 04 00 00 */ cmplwi r4, 0
/* 80337AFC 40 82 00 0C */ bne lbl_80337B08
/* 80337B00 38 60 00 00 */ li r3, 0
/* 80337B04 4E 80 00 20 */ blr
lbl_80337B08:
/* 80337B08 7C 63 22 14 */ add r3, r3, r4
/* 80337B0C 4E 80 00 20 */ blr

View File

@ -1,8 +0,0 @@
lbl_80337B10:
/* 80337B10 28 04 00 00 */ cmplwi r4, 0
/* 80337B14 40 82 00 0C */ bne lbl_80337B20
/* 80337B18 38 60 00 00 */ li r3, 0
/* 80337B1C 4E 80 00 20 */ blr
lbl_80337B20:
/* 80337B20 7C 63 22 14 */ add r3, r3, r4
/* 80337B24 4E 80 00 20 */ blr

View File

@ -1,8 +0,0 @@
lbl_80337B28:
/* 80337B28 28 04 00 00 */ cmplwi r4, 0
/* 80337B2C 40 82 00 0C */ bne lbl_80337B38
/* 80337B30 38 60 00 00 */ li r3, 0
/* 80337B34 4E 80 00 20 */ blr
lbl_80337B38:
/* 80337B38 7C 63 22 14 */ add r3, r3, r4
/* 80337B3C 4E 80 00 20 */ blr

View File

@ -1,37 +0,0 @@
lbl_8033784C:
/* 8033784C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337850 7C 08 02 A6 */ mflr r0
/* 80337854 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337858 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033785C 93 C1 00 08 */ stw r30, 8(r1)
/* 80337860 7C 7E 1B 78 */ mr r30, r3
/* 80337864 80 E3 00 18 */ lwz r7, 0x18(r3)
/* 80337868 80 C3 00 00 */ lwz r6, 0(r3)
/* 8033786C 80 63 00 04 */ lwz r3, 4(r3)
/* 80337870 54 80 08 3C */ slwi r0, r4, 1
/* 80337874 7C 03 02 2E */ lhzx r0, r3, r0
/* 80337878 1C 60 00 28 */ mulli r3, r0, 0x28
/* 8033787C 38 03 00 08 */ addi r0, r3, 8
/* 80337880 7C 06 02 2E */ lhzx r0, r6, r0
/* 80337884 54 03 18 38 */ slwi r3, r0, 3
/* 80337888 54 A0 18 38 */ slwi r0, r5, 3
/* 8033788C 7F E3 02 14 */ add r31, r3, r0
/* 80337890 7F E7 FA 14 */ add r31, r7, r31
/* 80337894 38 60 00 0C */ li r3, 0xc
/* 80337898 4B F9 73 B5 */ bl __nw__FUl
/* 8033789C 7C 60 1B 79 */ or. r0, r3, r3
/* 803378A0 41 82 00 1C */ beq lbl_803378BC
/* 803378A4 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 803378A8 80 1F 00 04 */ lwz r0, 4(r31)
/* 803378AC 7C 84 02 14 */ add r4, r4, r0
/* 803378B0 80 BF 00 00 */ lwz r5, 0(r31)
/* 803378B4 4B FD D2 09 */ bl __ct__12J3DShapeDrawFPCUcUl
/* 803378B8 7C 60 1B 78 */ mr r0, r3
lbl_803378BC:
/* 803378BC 7C 03 03 78 */ mr r3, r0
/* 803378C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803378C4 83 C1 00 08 */ lwz r30, 8(r1)
/* 803378C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803378CC 7C 08 03 A6 */ mtlr r0
/* 803378D0 38 21 00 10 */ addi r1, r1, 0x10
/* 803378D4 4E 80 00 20 */ blr

View File

@ -1,183 +0,0 @@
lbl_803375BC:
/* 803375BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803375C0 7C 08 02 A6 */ mflr r0
/* 803375C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803375C8 39 61 00 20 */ addi r11, r1, 0x20
/* 803375CC 48 02 AC 11 */ bl _savegpr_29
/* 803375D0 7C 7D 1B 78 */ mr r29, r3
/* 803375D4 3B E0 00 00 */ li r31, 0
/* 803375D8 80 E3 00 00 */ lwz r7, 0(r3)
/* 803375DC 80 63 00 04 */ lwz r3, 4(r3)
/* 803375E0 54 A0 08 3C */ slwi r0, r5, 1
/* 803375E4 7C 03 02 2E */ lhzx r0, r3, r0
/* 803375E8 1C 00 00 28 */ mulli r0, r0, 0x28
/* 803375EC 7C E7 02 14 */ add r7, r7, r0
/* 803375F0 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 803375F4 A0 07 00 06 */ lhz r0, 6(r7)
/* 803375F8 54 03 18 38 */ slwi r3, r0, 3
/* 803375FC 54 C0 18 38 */ slwi r0, r6, 3
/* 80337600 7F C3 02 14 */ add r30, r3, r0
/* 80337604 7F C5 F2 14 */ add r30, r5, r30
/* 80337608 54 80 06 F6 */ rlwinm r0, r4, 0, 0x1b, 0x1b
/* 8033760C 2C 00 00 10 */ cmpwi r0, 0x10
/* 80337610 41 82 00 14 */ beq lbl_80337624
/* 80337614 40 80 01 70 */ bge lbl_80337784
/* 80337618 2C 00 00 00 */ cmpwi r0, 0
/* 8033761C 41 82 01 68 */ beq lbl_80337784
/* 80337620 48 00 01 64 */ b lbl_80337784
lbl_80337624:
/* 80337624 88 07 00 00 */ lbz r0, 0(r7)
/* 80337628 2C 00 00 02 */ cmpwi r0, 2
/* 8033762C 41 82 00 A0 */ beq lbl_803376CC
/* 80337630 40 80 00 14 */ bge lbl_80337644
/* 80337634 2C 00 00 00 */ cmpwi r0, 0
/* 80337638 41 82 00 18 */ beq lbl_80337650
/* 8033763C 40 80 00 4C */ bge lbl_80337688
/* 80337640 48 00 01 30 */ b lbl_80337770
lbl_80337644:
/* 80337644 2C 00 00 04 */ cmpwi r0, 4
/* 80337648 40 80 01 28 */ bge lbl_80337770
/* 8033764C 48 00 00 C4 */ b lbl_80337710
lbl_80337650:
/* 80337650 38 60 00 08 */ li r3, 8
/* 80337654 4B F9 75 F9 */ bl __nw__FUl
/* 80337658 28 03 00 00 */ cmplwi r3, 0
/* 8033765C 41 82 00 24 */ beq lbl_80337680
/* 80337660 A0 BE 00 00 */ lhz r5, 0(r30)
/* 80337664 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */
/* 80337668 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */
/* 8033766C 90 03 00 00 */ stw r0, 0(r3)
/* 80337670 B0 A3 00 04 */ sth r5, 4(r3)
/* 80337674 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */
/* 80337678 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */
/* 8033767C 90 03 00 00 */ stw r0, 0(r3)
lbl_80337680:
/* 80337680 7C 7F 1B 78 */ mr r31, r3
/* 80337684 48 00 01 AC */ b lbl_80337830
lbl_80337688:
/* 80337688 38 60 00 08 */ li r3, 8
/* 8033768C 4B F9 75 C1 */ bl __nw__FUl
/* 80337690 28 03 00 00 */ cmplwi r3, 0
/* 80337694 41 82 00 30 */ beq lbl_803376C4
/* 80337698 A0 BE 00 00 */ lhz r5, 0(r30)
/* 8033769C 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */
/* 803376A0 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */
/* 803376A4 90 03 00 00 */ stw r0, 0(r3)
/* 803376A8 B0 A3 00 04 */ sth r5, 4(r3)
/* 803376AC 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */
/* 803376B0 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */
/* 803376B4 90 03 00 00 */ stw r0, 0(r3)
/* 803376B8 3C 80 80 3D */ lis r4, __vt__27J3DShapeMtxBBoardConcatView@ha /* 0x803CDBAC@ha */
/* 803376BC 38 04 DB AC */ addi r0, r4, __vt__27J3DShapeMtxBBoardConcatView@l /* 0x803CDBAC@l */
/* 803376C0 90 03 00 00 */ stw r0, 0(r3)
lbl_803376C4:
/* 803376C4 7C 7F 1B 78 */ mr r31, r3
/* 803376C8 48 00 01 68 */ b lbl_80337830
lbl_803376CC:
/* 803376CC 38 60 00 08 */ li r3, 8
/* 803376D0 4B F9 75 7D */ bl __nw__FUl
/* 803376D4 28 03 00 00 */ cmplwi r3, 0
/* 803376D8 41 82 00 30 */ beq lbl_80337708
/* 803376DC A0 BE 00 00 */ lhz r5, 0(r30)
/* 803376E0 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */
/* 803376E4 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */
/* 803376E8 90 03 00 00 */ stw r0, 0(r3)
/* 803376EC B0 A3 00 04 */ sth r5, 4(r3)
/* 803376F0 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */
/* 803376F4 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */
/* 803376F8 90 03 00 00 */ stw r0, 0(r3)
/* 803376FC 3C 80 80 3D */ lis r4, __vt__28J3DShapeMtxYBBoardConcatView@ha /* 0x803CDB84@ha */
/* 80337700 38 04 DB 84 */ addi r0, r4, __vt__28J3DShapeMtxYBBoardConcatView@l /* 0x803CDB84@l */
/* 80337704 90 03 00 00 */ stw r0, 0(r3)
lbl_80337708:
/* 80337708 7C 7F 1B 78 */ mr r31, r3
/* 8033770C 48 00 01 24 */ b lbl_80337830
lbl_80337710:
/* 80337710 38 60 00 10 */ li r3, 0x10
/* 80337714 4B F9 75 39 */ bl __nw__FUl
/* 80337718 28 03 00 00 */ cmplwi r3, 0
/* 8033771C 41 82 00 4C */ beq lbl_80337768
/* 80337720 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 80337724 80 1E 00 04 */ lwz r0, 4(r30)
/* 80337728 54 00 08 3C */ slwi r0, r0, 1
/* 8033772C 7C E4 02 14 */ add r7, r4, r0
/* 80337730 A0 DE 00 02 */ lhz r6, 2(r30)
/* 80337734 A0 BE 00 00 */ lhz r5, 0(r30)
/* 80337738 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */
/* 8033773C 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */
/* 80337740 90 03 00 00 */ stw r0, 0(r3)
/* 80337744 B0 A3 00 04 */ sth r5, 4(r3)
/* 80337748 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */
/* 8033774C 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */
/* 80337750 90 03 00 00 */ stw r0, 0(r3)
/* 80337754 3C 80 80 3D */ lis r4, __vt__26J3DShapeMtxMultiConcatView@ha /* 0x803CDBD4@ha */
/* 80337758 38 04 DB D4 */ addi r0, r4, __vt__26J3DShapeMtxMultiConcatView@l /* 0x803CDBD4@l */
/* 8033775C 90 03 00 00 */ stw r0, 0(r3)
/* 80337760 B0 C3 00 08 */ sth r6, 8(r3)
/* 80337764 90 E3 00 0C */ stw r7, 0xc(r3)
lbl_80337768:
/* 80337768 7C 7F 1B 78 */ mr r31, r3
/* 8033776C 48 00 00 C4 */ b lbl_80337830
lbl_80337770:
/* 80337770 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */
/* 80337774 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */
/* 80337778 4C C6 31 82 */ crclr 6
/* 8033777C 4B CC F3 41 */ bl OSReport
/* 80337780 48 00 00 B0 */ b lbl_80337830
lbl_80337784:
/* 80337784 88 07 00 00 */ lbz r0, 0(r7)
/* 80337788 2C 00 00 03 */ cmpwi r0, 3
/* 8033778C 41 82 00 40 */ beq lbl_803377CC
/* 80337790 40 80 00 90 */ bge lbl_80337820
/* 80337794 2C 00 00 00 */ cmpwi r0, 0
/* 80337798 40 80 00 08 */ bge lbl_803377A0
/* 8033779C 48 00 00 84 */ b lbl_80337820
lbl_803377A0:
/* 803377A0 38 60 00 08 */ li r3, 8
/* 803377A4 4B F9 74 A9 */ bl __nw__FUl
/* 803377A8 28 03 00 00 */ cmplwi r3, 0
/* 803377AC 41 82 00 18 */ beq lbl_803377C4
/* 803377B0 A0 BE 00 00 */ lhz r5, 0(r30)
/* 803377B4 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */
/* 803377B8 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */
/* 803377BC 90 03 00 00 */ stw r0, 0(r3)
/* 803377C0 B0 A3 00 04 */ sth r5, 4(r3)
lbl_803377C4:
/* 803377C4 7C 7F 1B 78 */ mr r31, r3
/* 803377C8 48 00 00 68 */ b lbl_80337830
lbl_803377CC:
/* 803377CC 38 60 00 10 */ li r3, 0x10
/* 803377D0 4B F9 74 7D */ bl __nw__FUl
/* 803377D4 28 03 00 00 */ cmplwi r3, 0
/* 803377D8 41 82 00 40 */ beq lbl_80337818
/* 803377DC 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 803377E0 80 1E 00 04 */ lwz r0, 4(r30)
/* 803377E4 54 00 08 3C */ slwi r0, r0, 1
/* 803377E8 7C E4 02 14 */ add r7, r4, r0
/* 803377EC A0 DE 00 02 */ lhz r6, 2(r30)
/* 803377F0 A0 BE 00 00 */ lhz r5, 0(r30)
/* 803377F4 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */
/* 803377F8 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */
/* 803377FC 90 03 00 00 */ stw r0, 0(r3)
/* 80337800 B0 A3 00 04 */ sth r5, 4(r3)
/* 80337804 3C 80 80 3D */ lis r4, __vt__16J3DShapeMtxMulti@ha /* 0x803CDBFC@ha */
/* 80337808 38 04 DB FC */ addi r0, r4, __vt__16J3DShapeMtxMulti@l /* 0x803CDBFC@l */
/* 8033780C 90 03 00 00 */ stw r0, 0(r3)
/* 80337810 B0 C3 00 08 */ sth r6, 8(r3)
/* 80337814 90 E3 00 0C */ stw r7, 0xc(r3)
lbl_80337818:
/* 80337818 7C 7F 1B 78 */ mr r31, r3
/* 8033781C 48 00 00 14 */ b lbl_80337830
lbl_80337820:
/* 80337820 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */
/* 80337824 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */
/* 80337828 4C C6 31 82 */ crclr 6
/* 8033782C 4B CC F2 91 */ bl OSReport
lbl_80337830:
/* 80337830 7F E3 FB 78 */ mr r3, r31
/* 80337834 39 61 00 20 */ addi r11, r1, 0x20
/* 80337838 48 02 A9 F1 */ bl _restgpr_29
/* 8033783C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80337840 7C 08 03 A6 */ mtlr r0
/* 80337844 38 21 00 20 */ addi r1, r1, 0x20
/* 80337848 4E 80 00 20 */ blr

View File

@ -1,33 +0,0 @@
lbl_800E0244:
/* 800E0244 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800E0248 7C 08 02 A6 */ mflr r0
/* 800E024C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800E0250 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800E0254 93 C1 00 08 */ stw r30, 8(r1)
/* 800E0258 7C 7E 1B 78 */ mr r30, r3
/* 800E025C 3B E0 00 00 */ li r31, 0
/* 800E0260 A0 03 2F DC */ lhz r0, 0x2fdc(r3)
/* 800E0264 28 00 01 02 */ cmplwi r0, 0x102
/* 800E0268 41 82 00 14 */ beq lbl_800E027C
/* 800E026C 48 00 01 D5 */ bl checkBoomerangAnime__9daAlink_cCFv
/* 800E0270 2C 03 00 00 */ cmpwi r3, 0
/* 800E0274 41 82 00 08 */ beq lbl_800E027C
/* 800E0278 3B E0 00 01 */ li r31, 1
lbl_800E027C:
/* 800E027C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 800E0280 41 82 00 0C */ beq lbl_800E028C
/* 800E0284 38 60 00 01 */ li r3, 1
/* 800E0288 48 00 00 18 */ b lbl_800E02A0
lbl_800E028C:
/* 800E028C 7F C3 F3 78 */ mr r3, r30
/* 800E0290 4B FF FF 81 */ bl getBoomerangActor__9daAlink_cFv
/* 800E0294 30 03 FF FF */ addic r0, r3, -1
/* 800E0298 7C 00 19 10 */ subfe r0, r0, r3
/* 800E029C 54 03 06 3E */ clrlwi r3, r0, 0x18
lbl_800E02A0:
/* 800E02A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800E02A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 800E02A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800E02AC 7C 08 03 A6 */ mtlr r0
/* 800E02B0 38 21 00 10 */ addi r1, r1, 0x10
/* 800E02B4 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_800E04AC:
/* 800E04AC 38 80 00 00 */ li r4, 0
/* 800E04B0 A0 A3 2F DC */ lhz r5, 0x2fdc(r3)
/* 800E04B4 28 05 00 40 */ cmplwi r5, 0x40
/* 800E04B8 41 82 00 18 */ beq lbl_800E04D0
/* 800E04BC 80 03 05 74 */ lwz r0, 0x574(r3)
/* 800E04C0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 800E04C4 40 82 00 0C */ bne lbl_800E04D0
/* 800E04C8 28 05 01 02 */ cmplwi r5, 0x102
/* 800E04CC 40 82 00 14 */ bne lbl_800E04E0
lbl_800E04D0:
/* 800E04D0 A0 03 1F BC */ lhz r0, 0x1fbc(r3)
/* 800E04D4 28 00 00 53 */ cmplwi r0, 0x53
/* 800E04D8 40 82 00 08 */ bne lbl_800E04E0
/* 800E04DC 38 80 00 01 */ li r4, 1
lbl_800E04E0:
/* 800E04E0 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 800E04E4 4E 80 00 20 */ blr

View File

@ -1,150 +0,0 @@
lbl_8015E654:
/* 8015E654 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8015E658 7C 08 02 A6 */ mflr r0
/* 8015E65C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8015E660 39 61 00 30 */ addi r11, r1, 0x30
/* 8015E664 48 20 3B 71 */ bl _savegpr_27
/* 8015E668 7C 7E 1B 78 */ mr r30, r3
/* 8015E66C 7C 9F 23 78 */ mr r31, r4
/* 8015E670 7C BB 2B 78 */ mr r27, r5
/* 8015E674 7C DC 33 78 */ mr r28, r6
/* 8015E678 7C FD 3B 78 */ mr r29, r7
/* 8015E67C 48 00 12 55 */ bl getThrowBoomerangActor__9daPy_py_cFv
/* 8015E680 A8 1E 00 02 */ lha r0, 2(r30)
/* 8015E684 7C 1D 00 50 */ subf r0, r29, r0
/* 8015E688 B0 1E 00 02 */ sth r0, 2(r30)
/* 8015E68C A8 1B 00 00 */ lha r0, 0(r27)
/* 8015E690 7C 1D 00 50 */ subf r0, r29, r0
/* 8015E694 B0 1B 00 00 */ sth r0, 0(r27)
/* 8015E698 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8015E69C C0 02 9C 20 */ lfs f0, lit_4332(r2)
/* 8015E6A0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8015E6A4 40 81 00 08 */ ble lbl_8015E6AC
/* 8015E6A8 D0 1E 00 08 */ stfs f0, 8(r30)
lbl_8015E6AC:
/* 8015E6AC C0 3E 00 04 */ lfs f1, 4(r30)
/* 8015E6B0 C0 02 9C 24 */ lfs f0, lit_4333(r2)
/* 8015E6B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8015E6B8 40 80 00 0C */ bge lbl_8015E6C4
/* 8015E6BC D0 1E 00 04 */ stfs f0, 4(r30)
/* 8015E6C0 48 00 00 14 */ b lbl_8015E6D4
lbl_8015E6C4:
/* 8015E6C4 C0 02 9C 18 */ lfs f0, lit_4249(r2)
/* 8015E6C8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8015E6CC 40 81 00 08 */ ble lbl_8015E6D4
/* 8015E6D0 D0 1E 00 04 */ stfs f0, 4(r30)
lbl_8015E6D4:
/* 8015E6D4 28 03 00 00 */ cmplwi r3, 0
/* 8015E6D8 41 82 00 BC */ beq lbl_8015E794
/* 8015E6DC 88 03 09 56 */ lbz r0, 0x956(r3)
/* 8015E6E0 28 00 00 00 */ cmplwi r0, 0
/* 8015E6E4 41 82 00 0C */ beq lbl_8015E6F0
/* 8015E6E8 38 60 00 00 */ li r3, 0
/* 8015E6EC 48 00 01 78 */ b lbl_8015E864
lbl_8015E6F0:
/* 8015E6F0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8015E6F4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8015E6F8 88 04 4F AD */ lbz r0, 0x4fad(r4)
/* 8015E6FC 28 00 00 00 */ cmplwi r0, 0
/* 8015E700 41 82 00 10 */ beq lbl_8015E710
/* 8015E704 38 00 00 01 */ li r0, 1
/* 8015E708 98 1E 00 00 */ stb r0, 0(r30)
/* 8015E70C 48 00 00 24 */ b lbl_8015E730
lbl_8015E710:
/* 8015E710 A8 0D 8A 9E */ lha r0, m_dropAngleY__20daPy_boomerangMove_c+0x2(r13)
/* 8015E714 2C 00 00 00 */ cmpwi r0, 0
/* 8015E718 41 82 00 18 */ beq lbl_8015E730
/* 8015E71C 88 1E 00 00 */ lbz r0, 0(r30)
/* 8015E720 28 00 00 00 */ cmplwi r0, 0
/* 8015E724 40 82 00 0C */ bne lbl_8015E730
/* 8015E728 38 60 00 00 */ li r3, 0
/* 8015E72C 48 00 01 38 */ b lbl_8015E864
lbl_8015E730:
/* 8015E730 3C 80 80 44 */ lis r4, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 8015E734 38 A4 9A 20 */ addi r5, r4, sincosTable___5JMath@l /* 0x80439A20@l */
/* 8015E738 A8 1E 00 02 */ lha r0, 2(r30)
/* 8015E73C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 8015E740 7C 85 02 14 */ add r4, r5, r0
/* 8015E744 C0 04 00 04 */ lfs f0, 4(r4)
/* 8015E748 C0 23 04 D8 */ lfs f1, 0x4d8(r3)
/* 8015E74C C0 9E 00 08 */ lfs f4, 8(r30)
/* 8015E750 EC 04 00 32 */ fmuls f0, f4, f0
/* 8015E754 EC 61 00 2A */ fadds f3, f1, f0
/* 8015E758 C0 23 04 D4 */ lfs f1, 0x4d4(r3)
/* 8015E75C C0 1E 00 04 */ lfs f0, 4(r30)
/* 8015E760 EC 41 00 2A */ fadds f2, f1, f0
/* 8015E764 7C 05 04 2E */ lfsx f0, r5, r0
/* 8015E768 C0 23 04 D0 */ lfs f1, 0x4d0(r3)
/* 8015E76C EC 04 00 32 */ fmuls f0, f4, f0
/* 8015E770 EC 01 00 2A */ fadds f0, f1, f0
/* 8015E774 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8015E778 D0 5F 00 04 */ stfs f2, 4(r31)
/* 8015E77C D0 7F 00 08 */ stfs f3, 8(r31)
/* 8015E780 80 03 09 64 */ lwz r0, 0x964(r3)
/* 8015E784 60 00 00 80 */ ori r0, r0, 0x80
/* 8015E788 90 03 09 64 */ stw r0, 0x964(r3)
/* 8015E78C 38 60 00 01 */ li r3, 1
/* 8015E790 48 00 00 D4 */ b lbl_8015E864
lbl_8015E794:
/* 8015E794 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8015E798 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8015E79C 83 A3 5D B4 */ lwz r29, 0x5db4(r3)
/* 8015E7A0 28 1C 00 00 */ cmplwi r28, 0
/* 8015E7A4 41 82 00 18 */ beq lbl_8015E7BC
/* 8015E7A8 7F A3 EB 78 */ mr r3, r29
/* 8015E7AC 7F 84 E3 78 */ mr r4, r28
/* 8015E7B0 4B F8 1B 09 */ bl checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c
/* 8015E7B4 2C 03 00 00 */ cmpwi r3, 0
/* 8015E7B8 40 82 00 A8 */ bne lbl_8015E860
lbl_8015E7BC:
/* 8015E7BC A8 0D 8A 9E */ lha r0, m_dropAngleY__20daPy_boomerangMove_c+0x2(r13)
/* 8015E7C0 2C 00 00 00 */ cmpwi r0, 0
/* 8015E7C4 41 82 00 10 */ beq lbl_8015E7D4
/* 8015E7C8 88 1E 00 00 */ lbz r0, 0(r30)
/* 8015E7CC 28 00 00 00 */ cmplwi r0, 0
/* 8015E7D0 41 82 00 90 */ beq lbl_8015E860
lbl_8015E7D4:
/* 8015E7D4 C0 22 9C 28 */ lfs f1, lit_4334(r2)
/* 8015E7D8 48 10 91 7D */ bl cM_rndF__Ff
/* 8015E7DC A8 6D 8A 9C */ lha r3, m_dropAngleY__20daPy_boomerangMove_c+0x0(r13)
/* 8015E7E0 A8 1D 04 E6 */ lha r0, 0x4e6(r29)
/* 8015E7E4 7C 03 02 14 */ add r0, r3, r0
/* 8015E7E8 C8 42 9C 08 */ lfd f2, lit_4237(r2)
/* 8015E7EC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8015E7F0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8015E7F4 3C 00 43 30 */ lis r0, 0x4330
/* 8015E7F8 90 01 00 08 */ stw r0, 8(r1)
/* 8015E7FC C8 01 00 08 */ lfd f0, 8(r1)
/* 8015E800 EC 00 10 28 */ fsubs f0, f0, f2
/* 8015E804 EC 00 08 2A */ fadds f0, f0, f1
/* 8015E808 FC 00 00 1E */ fctiwz f0, f0
/* 8015E80C D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8015E810 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015E814 C0 5D 04 D0 */ lfs f2, 0x4d0(r29)
/* 8015E818 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8015E81C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 8015E820 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 8015E824 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 8015E828 7C 03 04 2E */ lfsx f0, r3, r0
/* 8015E82C EC 01 00 32 */ fmuls f0, f1, f0
/* 8015E830 EC 02 00 2A */ fadds f0, f2, f0
/* 8015E834 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8015E838 C0 5D 04 D8 */ lfs f2, 0x4d8(r29)
/* 8015E83C C0 3E 00 08 */ lfs f1, 8(r30)
/* 8015E840 7C 63 02 14 */ add r3, r3, r0
/* 8015E844 C0 03 00 04 */ lfs f0, 4(r3)
/* 8015E848 EC 01 00 32 */ fmuls f0, f1, f0
/* 8015E84C EC 02 00 2A */ fadds f0, f2, f0
/* 8015E850 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8015E854 A8 6D 8A 9C */ lha r3, m_dropAngleY__20daPy_boomerangMove_c+0x0(r13)
/* 8015E858 38 03 20 00 */ addi r0, r3, 0x2000
/* 8015E85C B0 0D 8A 9C */ sth r0, m_dropAngleY__20daPy_boomerangMove_c+0x0(r13)
lbl_8015E860:
/* 8015E860 38 60 00 00 */ li r3, 0
lbl_8015E864:
/* 8015E864 39 61 00 30 */ addi r11, r1, 0x30
/* 8015E868 48 20 39 B9 */ bl _restgpr_27
/* 8015E86C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8015E870 7C 08 03 A6 */ mtlr r0
/* 8015E874 38 21 00 30 */ addi r1, r1, 0x30
/* 8015E878 4E 80 00 20 */ blr

View File

@ -1,30 +0,0 @@
lbl_8015E544:
/* 8015E544 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8015E548 98 83 00 04 */ stb r4, 4(r3)
/* 8015E54C B0 C3 00 08 */ sth r6, 8(r3)
/* 8015E550 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8015E554 B0 A3 00 06 */ sth r5, 6(r3)
/* 8015E558 7C A0 07 34 */ extsh r0, r5
/* 8015E55C C8 62 9C 08 */ lfd f3, lit_4237(r2)
/* 8015E560 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8015E564 90 01 00 0C */ stw r0, 0xc(r1)
/* 8015E568 3C 00 43 30 */ lis r0, 0x4330
/* 8015E56C 90 01 00 08 */ stw r0, 8(r1)
/* 8015E570 C8 01 00 08 */ lfd f0, 8(r1)
/* 8015E574 EC 00 18 28 */ fsubs f0, f0, f3
/* 8015E578 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8015E57C D0 43 00 10 */ stfs f2, 0x10(r3)
/* 8015E580 C0 02 9C 00 */ lfs f0, lit_4215(r2)
/* 8015E584 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8015E588 4C 41 13 82 */ cror 2, 1, 2
/* 8015E58C 40 82 00 0C */ bne lbl_8015E598
/* 8015E590 B0 A3 00 0A */ sth r5, 0xa(r3)
/* 8015E594 48 00 00 08 */ b lbl_8015E59C
lbl_8015E598:
/* 8015E598 B0 C3 00 0A */ sth r6, 0xa(r3)
lbl_8015E59C:
/* 8015E59C 38 00 00 00 */ li r0, 0
/* 8015E5A0 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8015E5A4 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8015E5A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8015E5AC 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_8015F2FC:
/* 8015F2FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8015F300 7C 08 02 A6 */ mflr r0
/* 8015F304 90 01 00 24 */ stw r0, 0x24(r1)
/* 8015F308 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8015F30C 7C 7F 1B 78 */ mr r31, r3
/* 8015F310 38 7F 00 08 */ addi r3, r31, 8
/* 8015F314 38 81 00 08 */ addi r4, r1, 8
/* 8015F318 4B EB 5F F9 */ bl mDoLib_project__FP3VecP3Vec
/* 8015F31C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8015F320 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8015F324 C0 21 00 08 */ lfs f1, 8(r1)
/* 8015F328 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8015F32C C0 61 00 10 */ lfs f3, 0x10(r1)
/* 8015F330 48 1E 75 B9 */ bl PSMTXTrans
/* 8015F334 C0 22 9C 80 */ lfs f1, lit_4699(r2)
/* 8015F338 FC 40 08 90 */ fmr f2, f1
/* 8015F33C FC 60 08 90 */ fmr f3, f1
/* 8015F340 4B EA DA F9 */ bl scaleM__14mDoMtx_stack_cFfff
/* 8015F344 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8015F348 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8015F34C 38 9F 00 14 */ addi r4, r31, 0x14
/* 8015F350 48 1E 71 61 */ bl PSMTXCopy
/* 8015F354 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8015F358 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8015F35C 38 63 5F 64 */ addi r3, r3, 0x5f64
/* 8015F360 38 83 02 3C */ addi r4, r3, 0x23c
/* 8015F364 38 A3 02 40 */ addi r5, r3, 0x240
/* 8015F368 7F E6 FB 78 */ mr r6, r31
/* 8015F36C 4B EF 74 29 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c
/* 8015F370 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8015F374 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8015F378 7C 08 03 A6 */ mtlr r0
/* 8015F37C 38 21 00 20 */ addi r1, r1, 0x20
/* 8015F380 4E 80 00 20 */ blr

View File

@ -68,13 +68,15 @@ public:
static J3DMtxCalc* mCurrentMtxCalc;
private:
friend struct J3DJointFactory;
/* 0x00 */ void* mCallBackUserData;
/* 0x04 */ J3DJointCallBack mCallBack;
/* 0x08 */ void* field_0x8;
/* 0x0C */ J3DJoint* mChild;
/* 0x10 */ J3DJoint* mYounger;
/* 0x14 */ u16 mJntNo;
/* 0x16 */ u8 mMtxType;
/* 0x16 */ u8 mKind;
/* 0x17 */ u8 mScaleCompensate;
/* 0x18 */ J3DTransformInfo mTransformInfo;
/* 0x38 */ f32 mBoundingSphereRadius;

View File

@ -51,29 +51,29 @@ public:
class J3DPacket {
public:
J3DPacket() {
mpNextSibling = NULL;
mpNextPacket = NULL;
mpFirstChild = NULL;
mpUserData = NULL;
}
void addChildPacket(J3DPacket*);
J3DPacket* getNextPacket() const { return mpNextSibling; }
void setNextPacket(J3DPacket* i_packet) { mpNextSibling = i_packet; }
J3DPacket* getNextPacket() const { return mpNextPacket; }
void setNextPacket(J3DPacket* i_packet) { mpNextPacket = i_packet; }
void drawClear() {
mpNextSibling = NULL;
mpNextPacket = NULL;
mpFirstChild = NULL;
}
void setUserArea(u32 area) { mpUserData = (void*)area; }
virtual bool entry(J3DDrawBuffer*);
virtual int entry(J3DDrawBuffer*);
virtual void draw();
virtual ~J3DPacket() {}
public:
/* 0x04 */ J3DPacket* mpNextSibling;
/* 0x04 */ J3DPacket* mpNextPacket;
/* 0x08 */ J3DPacket* mpFirstChild;
/* 0x0C */ void* mpUserData;
}; // Size: 0x10
@ -145,19 +145,21 @@ public:
void endDiff();
bool isSame(J3DMatPacket*) const;
J3DMaterial* getMaterial() const { return mpMaterial; }
J3DShapePacket* getShapePacket() const { return mpShapePacket; }
void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; }
void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; }
bool isChanged() const { return mDiffFlag < 0; }
virtual ~J3DMatPacket();
virtual bool entry(J3DDrawBuffer*);
virtual int entry(J3DDrawBuffer*);
virtual void draw();
public:
/* 0x28 */ J3DShapePacket* mpInitShapePacket;
/* 0x2C */ J3DShapePacket* mpShapePacket;
/* 0x30 */ J3DMaterial* mpMaterial;
/* 0x34 */ u32 mSortFlags;
/* 0x34 */ u32 mDiffFlag;
/* 0x38 */ J3DTexture* mpTexture;
/* 0x3C */ J3DMaterialAnm* mpMaterialAnm;
}; // Size: 0x40

View File

@ -93,6 +93,9 @@ struct J3DSys {
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
void setTexture(J3DTexture* pTex) { mTexture = pTex; }
J3DTexture* getTexture() { return mTexture; }
void setNBTScale(Vec* scale) { mNBTScale = scale; }
void onFlag(u32 flag) { mFlags |= flag; }

View File

@ -1,13 +1,14 @@
#ifndef J3DTRANSFORM_H
#define J3DTRANSFORM_H
#include "JSystem/JGeometry.h"
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
struct J3DTransformInfo {
/* 0x00 */ Vec mScale;
/* 0x0C */ SVec mRotation;
/* 0x14 */ Vec mTranslate;
/* 0x00 */ JGeometry::TVec3<f32> mScale;
/* 0x0C */ JGeometry::TVec3<s16> mRotation;
/* 0x14 */ JGeometry::TVec3<f32> mTranslate;
}; // Size: 0x20
extern J3DTransformInfo const j3dDefaultTransformInfo;

View File

@ -1,6 +1,49 @@
#ifndef J3DJOINTFACTORY_H
#define J3DJOINTFACTORY_H
#include "JSystem/J3DGraphBase/J3DTransform.h"
#include "JSystem/JGeometry.h"
#include "dolphin/types.h"
#endif /* J3DJOINTFACTORY_H */
struct J3DJoint;
struct ResNTAB;
struct J3DJointInitData {
/* 0x00 */ u16 mKind;
/* 0x02 */ bool mScaleCompensate;
/* 0x04 */ J3DTransformInfo mTransformInfo;
/* 0x24 */ f32 mRadius;
/* 0x28 */ Vec mMin;
/* 0x2C */ Vec mMax;
}; // Size: 0x30
struct J3DJointBlock {
/* 0x00 */ u8 mMagic[4];
/* 0x04 */ u32 mSize;
/* 0x08 */ u16 mJointNum;
/* 0x0A */ u16 _pad;
/* 0x0C */ J3DJointInitData* mJointInitData;
/* 0x10 */ u16* mIndexTable;
/* 0x14 */ ResNTAB* mNameTable;
};
struct J3DJointFactory {
/* 80337178 */ J3DJointFactory(J3DJointBlock const&);
/* 803371D0 */ J3DJoint* create(int);
J3DJointInitData* mJointInitData;
u16* mIndexTable;
u16 getKind(int no) const { return mJointInitData[mIndexTable[no]].mKind; }
u8 getScaleCompensate(int no) const { return mJointInitData[mIndexTable[no]].mScaleCompensate; }
const J3DTransformInfo& getTransformInfo(int no) const {
return mJointInitData[mIndexTable[no]].mTransformInfo;
}
f32 getRadius(int no) const { return mJointInitData[mIndexTable[no]].mRadius; }
Vec& getMin(int no) const { return mJointInitData[mIndexTable[no]].mMin; }
Vec& getMax(int no) const { return mJointInitData[mIndexTable[no]].mMax; }
};
#endif /* J3DJOINTFACTORY_H */

View File

@ -19,6 +19,18 @@ struct TVec3 {
}
};
template <>
struct TVec3<s16> {
s16 x, y, z;
TVec3& operator=(const TVec3& b) {
// Force copies to use lwz/lha
*((s32*)this) = *((s32*)&b);
z = b.z;
return *this;
}
};
template <>
struct TVec3<f32> {
f32 x;
@ -47,6 +59,20 @@ struct TVec3<f32> {
y = a.y * b.y;
z = a.z * b.z;
}
inline TVec3<f32>& operator=(const TVec3<f32>& b) {
register f32* dst = &x;
const register f32* src = &b.x;
register f32 x_y;
register f32 z;
asm {
psq_l x_y, 0(src), 0, 0
psq_st x_y, 0(dst), 0, 0
lfs z, 8(src)
stfs z, 8(dst)
};
return *this;
}
};
template <typename T>

View File

@ -7,7 +7,6 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
//
@ -255,14 +254,10 @@ SECTION_DATA drawFunc J3DDrawBuffer::drawFuncTable[2] = {
};
/* 803254AC-80325500 31FDEC 0054+00 0/0 2/2 0/0 .text draw__13J3DDrawBufferCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DDrawBuffer::draw() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/draw__13J3DDrawBufferCFv.s"
void J3DDrawBuffer::draw() const {
drawFunc func = drawFuncTable[mDrawType];
(this->*func)();
}
#pragma pop
/* 80325500-80325578 31FE40 0078+00 1/0 0/0 0/0 .text drawHead__13J3DDrawBufferCFv */
void J3DDrawBuffer::drawHead() const {
@ -277,28 +272,15 @@ void J3DDrawBuffer::drawHead() const {
}
/* 80325578-803255F0 31FEB8 0078+00 1/0 0/0 0/0 .text drawTail__13J3DDrawBufferCFv */
// flipped regs
#ifdef NONMATCHING
void J3DDrawBuffer::drawTail() const {
int i = mBufSize - 1;
J3DPacket** buf = mpBuf;
int num = mBufSize - 1;
for (; i >= 0; i--) {
for (J3DPacket* packet = buf[i]; packet != NULL; packet = packet->getNextPacket()) {
for (int i = num; i >= 0; i--) {
for (J3DPacket* packet = mpBuf[i]; packet != NULL; packet = packet->getNextPacket()) {
packet->draw();
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DDrawBuffer::drawTail() const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawTail__13J3DDrawBufferCFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 804515E0-804515E8 000AE0 0004+04 0/0 1/1 0/0 .sbss entryNum__13J3DDrawBuffer */

View File

@ -5,6 +5,7 @@
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphBase/J3DShape.h"
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
@ -18,14 +19,6 @@
#include "dolphin/types.h"
#include "global.h"
//
// Types:
//
struct J3DDrawBuffer {
static u8 sortFuncTable[72];
};
//
// Forward References:
//
@ -97,8 +90,10 @@ J3DError J3DDisplayListObj::newDisplayList(u32 capacity) {
mpData[0] = new (0x20) char[mCapacity];
mpData[1] = new (0x20) char[mCapacity];
mSize = 0;
if (mpData[0] == NULL || mpData[1] == NULL)
return kJ3DError_Alloc;
return kJ3DError_Success;
}
@ -107,8 +102,10 @@ J3DError J3DDisplayListObj::newSingleDisplayList(u32 capacity) {
mpData[0] = new (0x20) char[mCapacity];
mpData[1] = mpData[0];
mSize = 0;
if (mpData[0] == NULL)
return kJ3DError_Alloc;
return kJ3DError_Success;
}
@ -116,8 +113,10 @@ J3DError J3DDisplayListObj::newSingleDisplayList(u32 capacity) {
J3DError J3DDisplayListObj::single_To_Double() {
if (mpData[0] == mpData[1]) {
mpData[1] = new (0x20) char[mCapacity];
if (mpData[1] == NULL)
return kJ3DError_Alloc;
memcpy(mpData[1], mpData[0], mCapacity);
DCStoreRange(mpData[1], mCapacity);
}
@ -182,61 +181,28 @@ u32 J3DDisplayListObj::endPatch() {
}
/* 80312750-80312758 30D090 0008+00 3/0 16/0 10/0 .text entry__9J3DPacketFP13J3DDrawBuffer */
bool J3DPacket::entry(J3DDrawBuffer* param_0) {
return true;
int J3DPacket::entry(J3DDrawBuffer*) {
return 1;
}
void J3DPacket::addChildPacket(J3DPacket* pPacket) {
if (mpFirstChild == NULL) {
mpFirstChild = pPacket;
} else {
pPacket->mpNextSibling = mpFirstChild;
pPacket->mpNextPacket = mpFirstChild;
mpFirstChild = pPacket;
}
}
/* ############################################################################################## */
/* 803CD900-803CD920 02AA20 0020+00 1/1 0/0 0/0 .data sDifferedRegister */
SECTION_DATA static u32 sDifferedRegister[8] = {0x00000004, 0x00000001, 0x00000002, 0x01000000,
0x10000000, 0x20000000, 0x02000000, 0x08000000};
SECTION_DATA static u32 sDifferedRegister[8] = {
0x00000004, 0x00000001, 0x00000002, 0x01000000, 0x10000000, 0x20000000, 0x02000000, 0x08000000,
};
/* 803CD920-803CD940 02AA40 0020+00 1/1 0/0 0/0 .data sSizeOfDiffered */
SECTION_DATA static s32 sSizeOfDiffered[8] = {13, 13, 21, 120, 55, 15, 19, 45};
/* 803CD940-803CD954 02AA60 0014+00 2/2 0/0 0/0 .data __vt__14J3DShapePacket */
SECTION_DATA extern void* __vt__14J3DShapePacket[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__14J3DShapePacketFv,
(void*)__dt__14J3DShapePacketFv,
};
/* 803CD954-803CD968 02AA74 0014+00 2/2 0/0 0/0 .data __vt__12J3DMatPacket */
SECTION_DATA extern void* __vt__12J3DMatPacket[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__12J3DMatPacketFP13J3DDrawBuffer,
(void*)draw__12J3DMatPacketFv,
(void*)__dt__12J3DMatPacketFv,
};
/* 803CD968-803CD97C 02AA88 0014+00 2/2 0/0 0/0 .data __vt__13J3DDrawPacket */
SECTION_DATA extern void* __vt__13J3DDrawPacket[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__13J3DDrawPacketFv,
(void*)__dt__13J3DDrawPacketFv,
};
/* 803CD97C-803CD990 02AA9C 0014+00 2/2 34/34 23/23 .data __vt__9J3DPacket */
SECTION_DATA extern void* __vt__9J3DPacket[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__9J3DPacketFv,
(void*)__dt__9J3DPacketFv,
SECTION_DATA static s32 sSizeOfDiffered[8] = {
13, 13, 21, 120, 55, 15, 19, 45,
};
/* 80312778-803127B0 30D0B8 0038+00 2/2 0/0 0/0 .text __ct__13J3DDrawPacketFv */
@ -287,7 +253,7 @@ J3DMatPacket::J3DMatPacket() {
mpInitShapePacket = NULL;
mpShapePacket = NULL;
mpMaterial = NULL;
mSortFlags = -1;
mDiffFlag = -1;
mpTexture = NULL;
mpMaterialAnm = NULL;
}
@ -299,7 +265,7 @@ void J3DMatPacket::addShapePacket(J3DShapePacket* pShape) {
if (mpShapePacket == NULL) {
mpShapePacket = pShape;
} else {
pShape->mpNextSibling = mpShapePacket;
pShape->mpNextPacket = mpShapePacket;
mpShapePacket = pShape;
}
}
@ -316,7 +282,7 @@ void J3DMatPacket::endDiff() {
bool J3DMatPacket::isSame(J3DMatPacket* pOther) const {
bool isSame = false;
if (mSortFlags == pOther->mSortFlags && !(mSortFlags >> 0x1F)) {
if (mDiffFlag == pOther->mDiffFlag && !(mDiffFlag >> 0x1F)) {
isSame = true;
}
return isSame;
@ -430,6 +396,7 @@ asm void J3DShapePacket::prepareDraw() const {
void J3DShapePacket::draw() {
if (!checkFlag(J3DShpFlag_Hidden) && mpShape != NULL) {
prepareDraw();
if (mpTexMtx != NULL) {
J3DMaterial* material = mpShape->getMaterial();
J3DDifferedTexMtx::sTexGenBlock = material->getTexGenBlock();
@ -437,9 +404,11 @@ void J3DShapePacket::draw() {
} else {
J3DDifferedTexMtx::sTexGenBlock = NULL;
}
if (mpDisplayListObj != NULL) {
mpDisplayListObj->callDL();
}
mpShape->draw();
}
}
@ -448,6 +417,7 @@ void J3DShapePacket::draw() {
void J3DShapePacket::drawFast() {
if (!checkFlag(J3DShpFlag_Hidden) && mpShape != NULL) {
prepareDraw();
if (mpTexMtx != NULL) {
J3DMaterial* material = mpShape->getMaterial();
J3DDifferedTexMtx::sTexGenBlock = material->getTexGenBlock();
@ -455,21 +425,16 @@ void J3DShapePacket::drawFast() {
} else {
J3DDifferedTexMtx::sTexGenBlock = NULL;
}
mpShape->drawFast();
}
}
/* 80313044-80313048 30D984 0004+00 1/0 0/0 0/0 .text draw__9J3DPacketFv */
void J3DPacket::draw() {
/* empty function */
}
void J3DPacket::draw() {}
/* 80313048-803130A8 30D988 0060+00 1/0 0/0 0/0 .text entry__12J3DMatPacketFP13J3DDrawBuffer */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DMatPacket::entry(J3DDrawBuffer* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DPacket/entry__12J3DMatPacketFP13J3DDrawBuffer.s"
int J3DMatPacket::entry(J3DDrawBuffer* i_buffer) {
sortFunc func = J3DDrawBuffer::sortFuncTable[i_buffer->mSortType];
return (i_buffer->*func)(this);
}
#pragma pop

View File

@ -26,7 +26,7 @@ u32 J3DShapeDraw::countVertex(u32 stride) {
u32 count = 0;
u32 dlStart = (u32)getDisplayList();
for (u8* dl = (u8*)dlStart; ((u32)dl - dlStart) < getDisplayListSize();) {
if (*dl != 0xA0 && *dl != 0x98)
if (*dl != GX_TRIANGLEFAN && *dl != GX_TRIANGLESTRIP)
break;
u16 vtxNum = *((u16*)(dl + 1));
count += vtxNum;
@ -50,7 +50,7 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) {
u8 h = *oldDL;
*newDL++ = h;
if (h != 0xA0 && h != 0x98)
if (h != GX_TRIANGLEFAN && h != GX_TRIANGLESTRIP)
break;
// Copy count
@ -82,7 +82,6 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) {
DCStoreRange(newDLStart, mDisplayListSize);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -91,7 +90,6 @@ asm void J3DShapeDraw::addTexMtxIndexInDL(u32 param_0, u32 param_1, u32 param_2)
#include "asm/JSystem/J3DGraphBase/J3DShapeDraw/addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl.s"
}
#pragma pop
#endif
/* 80314ABC-80314AD4 30F3FC 0018+00 0/0 1/1 0/0 .text __ct__12J3DShapeDrawFPCUcUl */

View File

@ -4,6 +4,8 @@
//
#include "JSystem/J3DGraphLoader/J3DJointFactory.h"
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/JSupport/JSupport.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@ -11,64 +13,31 @@
// Types:
//
struct J3DJointBlock {};
struct J3DJointFactory {
/* 80337178 */ J3DJointFactory(J3DJointBlock const&);
/* 803371D0 */ void create(int);
};
struct J3DJoint {
/* 8032F170 */ J3DJoint();
};
//
// Forward References:
//
extern "C" void __ct__15J3DJointFactoryFRC13J3DJointBlock();
extern "C" void create__15J3DJointFactoryFi();
extern "C" void func_80337338(void* _this, void const*, u32);
//
// External References:
//
extern "C" void* __nw__FUl();
extern "C" void __ct__8J3DJointFv();
extern "C" void func_8033677C(void* _this, void const*, u32);
//
// Declarations:
//
extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr<u16>
/* 80337178-803371D0 331AB8 0058+00 0/0 1/1 0/0 .text __ct__15J3DJointFactoryFRC13J3DJointBlock */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DJointFactory::J3DJointFactory(J3DJointBlock const& param_0) {
nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DJointFactory/__ct__15J3DJointFactoryFRC13J3DJointBlock.s"
J3DJointFactory::J3DJointFactory(J3DJointBlock const& block) {
mJointInitData = JSUConvertOffsetToPtr<J3DJointInitData>(&block, block.mJointInitData);
// Fix when we have our ODR working.
// mIndexTable = JSUConvertOffsetToPtr<u16>(&block, block.mIndexTable);
mIndexTable = func_8033677C(&block, block.mIndexTable);
}
#pragma pop
/* 803371D0-80337338 331B10 0168+00 0/0 1/1 0/0 .text create__15J3DJointFactoryFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DJointFactory::create(int param_0) {
nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DJointFactory/create__15J3DJointFactoryFi.s"
}
#pragma pop
J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* joint = new J3DJoint();
joint->mJntNo = no;
joint->mKind = getKind(no);
joint->mScaleCompensate = getScaleCompensate(no);
joint->mTransformInfo = getTransformInfo(no);
joint->mBoundingSphereRadius = getRadius(no);
joint->mMin = getMin(no);
joint->mMax = getMax(no);
joint->mMtxCalc = NULL;
/* 80337338-80337350 331C78 0018+00 1/1 0/0 0/0 .text
* JSUConvertOffsetToPtr<16J3DJointInitData>__FPCvUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_80337338(void* _this, void const* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DJointFactory/func_80337338.s"
}
#pragma pop
if (joint->mScaleCompensate == 0xFF)
joint->mScaleCompensate = 0;
return joint;
}