.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_802233C8 func_802233C8: /* 802233C8 0021F028 94 21 FD A0 */ stwu r1, -0x260(r1) /* 802233CC 0021F02C 7C 08 02 A6 */ mflr r0 /* 802233D0 0021F030 2C 05 00 03 */ cmpwi r5, 3 /* 802233D4 0021F034 90 01 02 64 */ stw r0, 0x264(r1) /* 802233D8 0021F038 93 E1 02 5C */ stw r31, 0x25c(r1) /* 802233DC 0021F03C 7C 9F 23 78 */ mr r31, r4 /* 802233E0 0021F040 93 C1 02 58 */ stw r30, 0x258(r1) /* 802233E4 0021F044 7C 7E 1B 78 */ mr r30, r3 /* 802233E8 0021F048 41 82 01 20 */ beq lbl_80223508 /* 802233EC 0021F04C 40 80 00 1C */ bge lbl_80223408 /* 802233F0 0021F050 2C 05 00 01 */ cmpwi r5, 1 /* 802233F4 0021F054 41 82 00 74 */ beq lbl_80223468 /* 802233F8 0021F058 40 80 00 C0 */ bge lbl_802234B8 /* 802233FC 0021F05C 2C 05 00 00 */ cmpwi r5, 0 /* 80223400 0021F060 40 80 00 18 */ bge lbl_80223418 /* 80223404 0021F064 48 00 01 F4 */ b lbl_802235F8 lbl_80223408: /* 80223408 0021F068 2C 05 00 05 */ cmpwi r5, 5 /* 8022340C 0021F06C 41 82 01 9C */ beq lbl_802235A8 /* 80223410 0021F070 40 80 01 E8 */ bge lbl_802235F8 /* 80223414 0021F074 48 00 01 44 */ b lbl_80223558 lbl_80223418: /* 80223418 0021F078 C0 24 00 00 */ lfs f1, 0(r4) /* 8022341C 0021F07C 38 80 00 58 */ li r4, 0x58 /* 80223420 0021F080 48 05 8E 49 */ bl PSMTXRotRad /* 80223424 0021F084 C0 3F 00 04 */ lfs f1, 4(r31) /* 80223428 0021F088 38 61 02 28 */ addi r3, r1, 0x228 /* 8022342C 0021F08C 38 80 00 59 */ li r4, 0x59 /* 80223430 0021F090 48 05 8E 39 */ bl PSMTXRotRad /* 80223434 0021F094 7F C4 F3 78 */ mr r4, r30 /* 80223438 0021F098 7F C5 F3 78 */ mr r5, r30 /* 8022343C 0021F09C 38 61 02 28 */ addi r3, r1, 0x228 /* 80223440 0021F0A0 48 05 8B 4D */ bl PSMTXConcat /* 80223444 0021F0A4 C0 3F 00 08 */ lfs f1, 8(r31) /* 80223448 0021F0A8 38 61 01 F8 */ addi r3, r1, 0x1f8 /* 8022344C 0021F0AC 38 80 00 5A */ li r4, 0x5a /* 80223450 0021F0B0 48 05 8E 19 */ bl PSMTXRotRad /* 80223454 0021F0B4 7F C4 F3 78 */ mr r4, r30 /* 80223458 0021F0B8 7F C5 F3 78 */ mr r5, r30 /* 8022345C 0021F0BC 38 61 01 F8 */ addi r3, r1, 0x1f8 /* 80223460 0021F0C0 48 05 8B 2D */ bl PSMTXConcat /* 80223464 0021F0C4 48 00 01 AC */ b lbl_80223610 lbl_80223468: /* 80223468 0021F0C8 C0 24 00 04 */ lfs f1, 4(r4) /* 8022346C 0021F0CC 38 80 00 58 */ li r4, 0x58 /* 80223470 0021F0D0 48 05 8D F9 */ bl PSMTXRotRad /* 80223474 0021F0D4 C0 3F 00 08 */ lfs f1, 8(r31) /* 80223478 0021F0D8 38 61 01 C8 */ addi r3, r1, 0x1c8 /* 8022347C 0021F0DC 38 80 00 5A */ li r4, 0x5a /* 80223480 0021F0E0 48 05 8D E9 */ bl PSMTXRotRad /* 80223484 0021F0E4 7F C4 F3 78 */ mr r4, r30 /* 80223488 0021F0E8 7F C5 F3 78 */ mr r5, r30 /* 8022348C 0021F0EC 38 61 01 C8 */ addi r3, r1, 0x1c8 /* 80223490 0021F0F0 48 05 8A FD */ bl PSMTXConcat /* 80223494 0021F0F4 C0 3F 00 00 */ lfs f1, 0(r31) /* 80223498 0021F0F8 38 61 01 98 */ addi r3, r1, 0x198 /* 8022349C 0021F0FC 38 80 00 58 */ li r4, 0x58 /* 802234A0 0021F100 48 05 8D C9 */ bl PSMTXRotRad /* 802234A4 0021F104 7F C4 F3 78 */ mr r4, r30 /* 802234A8 0021F108 7F C5 F3 78 */ mr r5, r30 /* 802234AC 0021F10C 38 61 01 98 */ addi r3, r1, 0x198 /* 802234B0 0021F110 48 05 8A DD */ bl PSMTXConcat /* 802234B4 0021F114 48 00 01 5C */ b lbl_80223610 lbl_802234B8: /* 802234B8 0021F118 C0 24 00 08 */ lfs f1, 8(r4) /* 802234BC 0021F11C 38 80 00 5A */ li r4, 0x5a /* 802234C0 0021F120 48 05 8D A9 */ bl PSMTXRotRad /* 802234C4 0021F124 C0 3F 00 00 */ lfs f1, 0(r31) /* 802234C8 0021F128 38 61 01 68 */ addi r3, r1, 0x168 /* 802234CC 0021F12C 38 80 00 58 */ li r4, 0x58 /* 802234D0 0021F130 48 05 8D 99 */ bl PSMTXRotRad /* 802234D4 0021F134 7F C4 F3 78 */ mr r4, r30 /* 802234D8 0021F138 7F C5 F3 78 */ mr r5, r30 /* 802234DC 0021F13C 38 61 01 68 */ addi r3, r1, 0x168 /* 802234E0 0021F140 48 05 8A AD */ bl PSMTXConcat /* 802234E4 0021F144 C0 3F 00 04 */ lfs f1, 4(r31) /* 802234E8 0021F148 38 61 01 38 */ addi r3, r1, 0x138 /* 802234EC 0021F14C 38 80 00 59 */ li r4, 0x59 /* 802234F0 0021F150 48 05 8D 79 */ bl PSMTXRotRad /* 802234F4 0021F154 7F C4 F3 78 */ mr r4, r30 /* 802234F8 0021F158 7F C5 F3 78 */ mr r5, r30 /* 802234FC 0021F15C 38 61 01 38 */ addi r3, r1, 0x138 /* 80223500 0021F160 48 05 8A 8D */ bl PSMTXConcat /* 80223504 0021F164 48 00 01 0C */ b lbl_80223610 lbl_80223508: /* 80223508 0021F168 C0 24 00 00 */ lfs f1, 0(r4) /* 8022350C 0021F16C 38 80 00 58 */ li r4, 0x58 /* 80223510 0021F170 48 05 8D 59 */ bl PSMTXRotRad /* 80223514 0021F174 C0 3F 00 08 */ lfs f1, 8(r31) /* 80223518 0021F178 38 61 01 08 */ addi r3, r1, 0x108 /* 8022351C 0021F17C 38 80 00 5A */ li r4, 0x5a /* 80223520 0021F180 48 05 8D 49 */ bl PSMTXRotRad /* 80223524 0021F184 7F C4 F3 78 */ mr r4, r30 /* 80223528 0021F188 7F C5 F3 78 */ mr r5, r30 /* 8022352C 0021F18C 38 61 01 08 */ addi r3, r1, 0x108 /* 80223530 0021F190 48 05 8A 5D */ bl PSMTXConcat /* 80223534 0021F194 C0 3F 00 04 */ lfs f1, 4(r31) /* 80223538 0021F198 38 61 00 D8 */ addi r3, r1, 0xd8 /* 8022353C 0021F19C 38 80 00 59 */ li r4, 0x59 /* 80223540 0021F1A0 48 05 8D 29 */ bl PSMTXRotRad /* 80223544 0021F1A4 7F C4 F3 78 */ mr r4, r30 /* 80223548 0021F1A8 7F C5 F3 78 */ mr r5, r30 /* 8022354C 0021F1AC 38 61 00 D8 */ addi r3, r1, 0xd8 /* 80223550 0021F1B0 48 05 8A 3D */ bl PSMTXConcat /* 80223554 0021F1B4 48 00 00 BC */ b lbl_80223610 lbl_80223558: /* 80223558 0021F1B8 C0 24 00 04 */ lfs f1, 4(r4) /* 8022355C 0021F1BC 38 80 00 59 */ li r4, 0x59 /* 80223560 0021F1C0 48 05 8D 09 */ bl PSMTXRotRad /* 80223564 0021F1C4 C0 3F 00 00 */ lfs f1, 0(r31) /* 80223568 0021F1C8 38 61 00 A8 */ addi r3, r1, 0xa8 /* 8022356C 0021F1CC 38 80 00 58 */ li r4, 0x58 /* 80223570 0021F1D0 48 05 8C F9 */ bl PSMTXRotRad /* 80223574 0021F1D4 7F C4 F3 78 */ mr r4, r30 /* 80223578 0021F1D8 7F C5 F3 78 */ mr r5, r30 /* 8022357C 0021F1DC 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80223580 0021F1E0 48 05 8A 0D */ bl PSMTXConcat /* 80223584 0021F1E4 C0 3F 00 08 */ lfs f1, 8(r31) /* 80223588 0021F1E8 38 61 00 78 */ addi r3, r1, 0x78 /* 8022358C 0021F1EC 38 80 00 5A */ li r4, 0x5a /* 80223590 0021F1F0 48 05 8C D9 */ bl PSMTXRotRad /* 80223594 0021F1F4 7F C4 F3 78 */ mr r4, r30 /* 80223598 0021F1F8 7F C5 F3 78 */ mr r5, r30 /* 8022359C 0021F1FC 38 61 00 78 */ addi r3, r1, 0x78 /* 802235A0 0021F200 48 05 89 ED */ bl PSMTXConcat /* 802235A4 0021F204 48 00 00 6C */ b lbl_80223610 lbl_802235A8: /* 802235A8 0021F208 C0 24 00 08 */ lfs f1, 8(r4) /* 802235AC 0021F20C 38 80 00 5A */ li r4, 0x5a /* 802235B0 0021F210 48 05 8C B9 */ bl PSMTXRotRad /* 802235B4 0021F214 C0 3F 00 04 */ lfs f1, 4(r31) /* 802235B8 0021F218 38 61 00 48 */ addi r3, r1, 0x48 /* 802235BC 0021F21C 38 80 00 59 */ li r4, 0x59 /* 802235C0 0021F220 48 05 8C A9 */ bl PSMTXRotRad /* 802235C4 0021F224 7F C4 F3 78 */ mr r4, r30 /* 802235C8 0021F228 7F C5 F3 78 */ mr r5, r30 /* 802235CC 0021F22C 38 61 00 48 */ addi r3, r1, 0x48 /* 802235D0 0021F230 48 05 89 BD */ bl PSMTXConcat /* 802235D4 0021F234 C0 3F 00 00 */ lfs f1, 0(r31) /* 802235D8 0021F238 38 61 00 18 */ addi r3, r1, 0x18 /* 802235DC 0021F23C 38 80 00 58 */ li r4, 0x58 /* 802235E0 0021F240 48 05 8C 89 */ bl PSMTXRotRad /* 802235E4 0021F244 7F C4 F3 78 */ mr r4, r30 /* 802235E8 0021F248 7F C5 F3 78 */ mr r5, r30 /* 802235EC 0021F24C 38 61 00 18 */ addi r3, r1, 0x18 /* 802235F0 0021F250 48 05 89 9D */ bl PSMTXConcat /* 802235F4 0021F254 48 00 00 1C */ b lbl_80223610 lbl_802235F8: /* 802235F8 0021F258 7F E4 FB 78 */ mr r4, r31 /* 802235FC 0021F25C 38 61 00 08 */ addi r3, r1, 8 /* 80223600 0021F260 48 00 00 C1 */ bl func_802236C0 /* 80223604 0021F264 7F C3 F3 78 */ mr r3, r30 /* 80223608 0021F268 38 81 00 08 */ addi r4, r1, 8 /* 8022360C 0021F26C 48 05 8F B5 */ bl PSMTXQuat lbl_80223610: /* 80223610 0021F270 7F C3 F3 78 */ mr r3, r30 /* 80223614 0021F274 83 E1 02 5C */ lwz r31, 0x25c(r1) /* 80223618 0021F278 83 C1 02 58 */ lwz r30, 0x258(r1) /* 8022361C 0021F27C 80 01 02 64 */ lwz r0, 0x264(r1) /* 80223620 0021F280 7C 08 03 A6 */ mtlr r0 /* 80223624 0021F284 38 21 02 60 */ addi r1, r1, 0x260 /* 80223628 0021F288 4E 80 00 20 */ blr .global func_8022362C func_8022362C: /* 8022362C 0021F28C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80223630 0021F290 7C 08 02 A6 */ mflr r0 /* 80223634 0021F294 3C 60 80 49 */ lis r3, lbl_804932B0@ha /* 80223638 0021F298 38 C0 00 01 */ li r6, 1 /* 8022363C 0021F29C 90 01 00 24 */ stw r0, 0x24(r1) /* 80223640 0021F2A0 38 8D A2 C0 */ addi r4, r13, lbl_8063F580-_SDA_BASE_ /* 80223644 0021F2A4 38 A0 00 04 */ li r5, 4 /* 80223648 0021F2A8 38 00 00 00 */ li r0, 0 /* 8022364C 0021F2AC 98 CD A2 C0 */ stb r6, lbl_8063F580-_SDA_BASE_(r13) /* 80223650 0021F2B0 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l /* 80223654 0021F2B4 B0 A4 00 02 */ sth r5, 2(r4) /* 80223658 0021F2B8 98 04 00 04 */ stb r0, 4(r4) /* 8022365C 0021F2BC 48 05 88 D1 */ bl PSMTXIdentity /* 80223660 0021F2C0 C0 22 9C 20 */ lfs f1, lbl_80642220-_SDA2_BASE_(r2) /* 80223664 0021F2C4 3C 60 80 49 */ lis r3, lbl_804932E0@ha /* 80223668 0021F2C8 38 63 32 E0 */ addi r3, r3, lbl_804932E0@l /* 8022366C 0021F2CC FC 40 08 90 */ fmr f2, f1 /* 80223670 0021F2D0 D0 21 00 08 */ stfs f1, 8(r1) /* 80223674 0021F2D4 FC 60 08 90 */ fmr f3, f1 /* 80223678 0021F2D8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8022367C 0021F2DC D0 21 00 10 */ stfs f1, 0x10(r1) /* 80223680 0021F2E0 48 05 8E C1 */ bl PSMTXScale /* 80223684 0021F2E4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80223688 0021F2E8 7C 08 03 A6 */ mtlr r0 /* 8022368C 0021F2EC 38 21 00 20 */ addi r1, r1, 0x20 /* 80223690 0021F2F0 4E 80 00 20 */ blr