.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_800321E4 func_800321E4: /* 800321E4 0002DE44 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800321E8 0002DE48 7C 08 02 A6 */ mflr r0 /* 800321EC 0002DE4C C8 42 81 A8 */ lfd f2, lbl_806407A8-_SDA2_BASE_(r2) /* 800321F0 0002DE50 90 01 00 14 */ stw r0, 0x14(r1) /* 800321F4 0002DE54 3C 00 43 30 */ lis r0, 0x4330 /* 800321F8 0002DE58 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 800321FC 0002DE5C 90 01 00 08 */ stw r0, 8(r1) /* 80032200 0002DE60 88 03 00 59 */ lbz r0, 0x59(r3) /* 80032204 0002DE64 90 01 00 0C */ stw r0, 0xc(r1) /* 80032208 0002DE68 C8 01 00 08 */ lfd f0, 8(r1) /* 8003220C 0002DE6C EC 00 10 28 */ fsubs f0, f0, f2 /* 80032210 0002DE70 EC 21 00 32 */ fmuls f1, f1, f0 /* 80032214 0002DE74 48 19 4D ED */ bl __cvt_fp2unsigned /* 80032218 0002DE78 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003221C 0002DE7C 7C 08 03 A6 */ mtlr r0 /* 80032220 0002DE80 38 21 00 10 */ addi r1, r1, 0x10 /* 80032224 0002DE84 4E 80 00 20 */ blr .global lbl_80032228 lbl_80032228: /* 80032228 0002DE88 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8003222C 0002DE8C 7C 08 02 A6 */ mflr r0 /* 80032230 0002DE90 90 01 00 44 */ stw r0, 0x44(r1) /* 80032234 0002DE94 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80032238 0002DE98 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 8003223C 0002DE9C DB C1 00 20 */ stfd f30, 0x20(r1) /* 80032240 0002DEA0 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80032244 0002DEA4 2C 04 00 12 */ cmpwi r4, 0x12 /* 80032248 0002DEA8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003224C 0002DEAC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80032250 0002DEB0 7C DE 33 78 */ mr r30, r6 /* 80032254 0002DEB4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80032258 0002DEB8 7C BD 2B 78 */ mr r29, r5 /* 8003225C 0002DEBC 41 82 01 1C */ beq lbl_80032378 /* 80032260 0002DEC0 40 80 00 10 */ bge lbl_80032270 /* 80032264 0002DEC4 2C 04 00 11 */ cmpwi r4, 0x11 /* 80032268 0002DEC8 40 80 00 14 */ bge lbl_8003227C /* 8003226C 0002DECC 48 00 01 EC */ b lbl_80032458 lbl_80032270: /* 80032270 0002DED0 2C 04 00 14 */ cmpwi r4, 0x14 /* 80032274 0002DED4 40 80 01 E4 */ bge lbl_80032458 /* 80032278 0002DED8 48 00 01 98 */ b lbl_80032410 lbl_8003227C: /* 8003227C 0002DEDC A8 05 00 08 */ lha r0, 8(r5) /* 80032280 0002DEE0 2C 00 00 01 */ cmpwi r0, 1 /* 80032284 0002DEE4 40 82 00 0C */ bne lbl_80032290 /* 80032288 0002DEE8 83 E5 00 0C */ lwz r31, 0xc(r5) /* 8003228C 0002DEEC 48 00 00 2C */ b lbl_800322B8 lbl_80032290: /* 80032290 0002DEF0 2C 00 00 02 */ cmpwi r0, 2 /* 80032294 0002DEF4 40 82 00 18 */ bne lbl_800322AC /* 80032298 0002DEF8 C0 05 00 0C */ lfs f0, 0xc(r5) /* 8003229C 0002DEFC FC 00 00 1E */ fctiwz f0, f0 /* 800322A0 0002DF00 D8 01 00 08 */ stfd f0, 8(r1) /* 800322A4 0002DF04 80 61 00 0C */ lwz r3, 0xc(r1) /* 800322A8 0002DF08 48 00 00 0C */ b lbl_800322B4 lbl_800322AC: /* 800322AC 0002DF0C 38 65 00 08 */ addi r3, r5, 8 /* 800322B0 0002DF10 48 1F BA 85 */ bl func_8022DD34 lbl_800322B4: /* 800322B4 0002DF14 7C 7F 1B 78 */ mr r31, r3 lbl_800322B8: /* 800322B8 0002DF18 A8 1D 00 10 */ lha r0, 0x10(r29) /* 800322BC 0002DF1C 2C 00 00 01 */ cmpwi r0, 1 /* 800322C0 0002DF20 40 82 00 28 */ bne lbl_800322E8 /* 800322C4 0002DF24 80 7D 00 14 */ lwz r3, 0x14(r29) /* 800322C8 0002DF28 3C 00 43 30 */ lis r0, 0x4330 /* 800322CC 0002DF2C 90 01 00 08 */ stw r0, 8(r1) /* 800322D0 0002DF30 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 800322D4 0002DF34 C8 22 81 B0 */ lfd f1, lbl_806407B0-_SDA2_BASE_(r2) /* 800322D8 0002DF38 90 01 00 0C */ stw r0, 0xc(r1) /* 800322DC 0002DF3C C8 01 00 08 */ lfd f0, 8(r1) /* 800322E0 0002DF40 EF E0 08 28 */ fsubs f31, f0, f1 /* 800322E4 0002DF44 48 00 00 20 */ b lbl_80032304 lbl_800322E8: /* 800322E8 0002DF48 2C 00 00 02 */ cmpwi r0, 2 /* 800322EC 0002DF4C 40 82 00 0C */ bne lbl_800322F8 /* 800322F0 0002DF50 C0 3D 00 14 */ lfs f1, 0x14(r29) /* 800322F4 0002DF54 48 00 00 0C */ b lbl_80032300 lbl_800322F8: /* 800322F8 0002DF58 38 7D 00 10 */ addi r3, r29, 0x10 /* 800322FC 0002DF5C 48 1F BA 7D */ bl func_8022DD78 lbl_80032300: /* 80032300 0002DF60 FF E0 08 90 */ fmr f31, f1 lbl_80032304: /* 80032304 0002DF64 A8 1D 00 18 */ lha r0, 0x18(r29) /* 80032308 0002DF68 2C 00 00 01 */ cmpwi r0, 1 /* 8003230C 0002DF6C 40 82 00 28 */ bne lbl_80032334 /* 80032310 0002DF70 80 7D 00 1C */ lwz r3, 0x1c(r29) /* 80032314 0002DF74 3C 00 43 30 */ lis r0, 0x4330 /* 80032318 0002DF78 90 01 00 08 */ stw r0, 8(r1) /* 8003231C 0002DF7C 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 80032320 0002DF80 C8 22 81 B0 */ lfd f1, lbl_806407B0-_SDA2_BASE_(r2) /* 80032324 0002DF84 90 01 00 0C */ stw r0, 0xc(r1) /* 80032328 0002DF88 C8 01 00 08 */ lfd f0, 8(r1) /* 8003232C 0002DF8C EF C0 08 28 */ fsubs f30, f0, f1 /* 80032330 0002DF90 48 00 00 20 */ b lbl_80032350 lbl_80032334: /* 80032334 0002DF94 2C 00 00 02 */ cmpwi r0, 2 /* 80032338 0002DF98 40 82 00 0C */ bne lbl_80032344 /* 8003233C 0002DF9C C0 3D 00 1C */ lfs f1, 0x1c(r29) /* 80032340 0002DFA0 48 00 00 0C */ b lbl_8003234C lbl_80032344: /* 80032344 0002DFA4 38 7D 00 18 */ addi r3, r29, 0x18 /* 80032348 0002DFA8 48 1F BA 31 */ bl func_8022DD78 lbl_8003234C: /* 8003234C 0002DFAC FF C0 08 90 */ fmr f30, f1 lbl_80032350: /* 80032350 0002DFB0 FC 20 F8 90 */ fmr f1, f31 /* 80032354 0002DFB4 4B FF FE 91 */ bl func_800321E4 /* 80032358 0002DFB8 FC 20 F0 90 */ fmr f1, f30 /* 8003235C 0002DFBC 7C 64 1B 78 */ mr r4, r3 /* 80032360 0002DFC0 7F E3 FB 78 */ mr r3, r31 /* 80032364 0002DFC4 4B FD 8E 0D */ bl func_8000B170 /* 80032368 0002DFC8 38 00 00 01 */ li r0, 1 /* 8003236C 0002DFCC 90 7E 00 04 */ stw r3, 4(r30) /* 80032370 0002DFD0 B0 1E 00 00 */ sth r0, 0(r30) /* 80032374 0002DFD4 48 00 00 E4 */ b lbl_80032458 lbl_80032378: /* 80032378 0002DFD8 A8 05 00 08 */ lha r0, 8(r5) /* 8003237C 0002DFDC 2C 00 00 01 */ cmpwi r0, 1 /* 80032380 0002DFE0 40 82 00 0C */ bne lbl_8003238C /* 80032384 0002DFE4 83 E5 00 0C */ lwz r31, 0xc(r5) /* 80032388 0002DFE8 48 00 00 2C */ b lbl_800323B4 lbl_8003238C: /* 8003238C 0002DFEC 2C 00 00 02 */ cmpwi r0, 2 /* 80032390 0002DFF0 40 82 00 18 */ bne lbl_800323A8 /* 80032394 0002DFF4 C0 05 00 0C */ lfs f0, 0xc(r5) /* 80032398 0002DFF8 FC 00 00 1E */ fctiwz f0, f0 /* 8003239C 0002DFFC D8 01 00 08 */ stfd f0, 8(r1) /* 800323A0 0002E000 80 61 00 0C */ lwz r3, 0xc(r1) /* 800323A4 0002E004 48 00 00 0C */ b lbl_800323B0 lbl_800323A8: /* 800323A8 0002E008 38 65 00 08 */ addi r3, r5, 8 /* 800323AC 0002E00C 48 1F B9 89 */ bl func_8022DD34 lbl_800323B0: /* 800323B0 0002E010 7C 7F 1B 78 */ mr r31, r3 lbl_800323B4: /* 800323B4 0002E014 A8 1D 00 10 */ lha r0, 0x10(r29) /* 800323B8 0002E018 2C 00 00 01 */ cmpwi r0, 1 /* 800323BC 0002E01C 40 82 00 28 */ bne lbl_800323E4 /* 800323C0 0002E020 80 7D 00 14 */ lwz r3, 0x14(r29) /* 800323C4 0002E024 3C 00 43 30 */ lis r0, 0x4330 /* 800323C8 0002E028 90 01 00 08 */ stw r0, 8(r1) /* 800323CC 0002E02C 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 800323D0 0002E030 C8 22 81 B0 */ lfd f1, lbl_806407B0-_SDA2_BASE_(r2) /* 800323D4 0002E034 90 01 00 0C */ stw r0, 0xc(r1) /* 800323D8 0002E038 C8 01 00 08 */ lfd f0, 8(r1) /* 800323DC 0002E03C EC 20 08 28 */ fsubs f1, f0, f1 /* 800323E0 0002E040 48 00 00 1C */ b lbl_800323FC lbl_800323E4: /* 800323E4 0002E044 2C 00 00 02 */ cmpwi r0, 2 /* 800323E8 0002E048 40 82 00 0C */ bne lbl_800323F4 /* 800323EC 0002E04C C0 3D 00 14 */ lfs f1, 0x14(r29) /* 800323F0 0002E050 48 00 00 0C */ b lbl_800323FC lbl_800323F4: /* 800323F4 0002E054 38 7D 00 10 */ addi r3, r29, 0x10 /* 800323F8 0002E058 48 1F B9 81 */ bl func_8022DD78 lbl_800323FC: /* 800323FC 0002E05C 4B FF FD E9 */ bl func_800321E4 /* 80032400 0002E060 7C 64 1B 78 */ mr r4, r3 /* 80032404 0002E064 7F E3 FB 78 */ mr r3, r31 /* 80032408 0002E068 4B FD 90 65 */ bl func_8000B46C /* 8003240C 0002E06C 48 00 00 4C */ b lbl_80032458 lbl_80032410: /* 80032410 0002E070 A8 05 00 08 */ lha r0, 8(r5) /* 80032414 0002E074 2C 00 00 01 */ cmpwi r0, 1 /* 80032418 0002E078 40 82 00 0C */ bne lbl_80032424 /* 8003241C 0002E07C 80 65 00 0C */ lwz r3, 0xc(r5) /* 80032420 0002E080 48 00 00 28 */ b lbl_80032448 lbl_80032424: /* 80032424 0002E084 2C 00 00 02 */ cmpwi r0, 2 /* 80032428 0002E088 40 82 00 18 */ bne lbl_80032440 /* 8003242C 0002E08C C0 05 00 0C */ lfs f0, 0xc(r5) /* 80032430 0002E090 FC 00 00 1E */ fctiwz f0, f0 /* 80032434 0002E094 D8 01 00 08 */ stfd f0, 8(r1) /* 80032438 0002E098 80 61 00 0C */ lwz r3, 0xc(r1) /* 8003243C 0002E09C 48 00 00 0C */ b lbl_80032448 lbl_80032440: /* 80032440 0002E0A0 38 65 00 08 */ addi r3, r5, 8 /* 80032444 0002E0A4 48 1F B8 F1 */ bl func_8022DD34 lbl_80032448: /* 80032448 0002E0A8 4B FD 90 79 */ bl func_8000B4C0 /* 8003244C 0002E0AC 38 00 00 01 */ li r0, 1 /* 80032450 0002E0B0 90 7E 00 04 */ stw r3, 4(r30) /* 80032454 0002E0B4 B0 1E 00 00 */ sth r0, 0(r30) lbl_80032458: /* 80032458 0002E0B8 38 60 00 01 */ li r3, 1 /* 8003245C 0002E0BC E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80032460 0002E0C0 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80032464 0002E0C4 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 80032468 0002E0C8 CB C1 00 20 */ lfd f30, 0x20(r1) /* 8003246C 0002E0CC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80032470 0002E0D0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80032474 0002E0D4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80032478 0002E0D8 80 01 00 44 */ lwz r0, 0x44(r1) /* 8003247C 0002E0DC 7C 08 03 A6 */ mtlr r0 /* 80032480 0002E0E0 38 21 00 40 */ addi r1, r1, 0x40 /* 80032484 0002E0E4 4E 80 00 20 */ blr .global func_80032488 func_80032488: /* 80032488 0002E0E8 38 A0 00 01 */ li r5, 1 /* 8003248C 0002E0EC 38 6D 97 70 */ addi r3, r13, lbl_8063EA30-_SDA_BASE_ /* 80032490 0002E0F0 38 80 00 04 */ li r4, 4 /* 80032494 0002E0F4 38 00 00 00 */ li r0, 0 /* 80032498 0002E0F8 98 AD 97 70 */ stb r5, lbl_8063EA30-_SDA_BASE_(r13) /* 8003249C 0002E0FC B0 83 00 02 */ sth r4, 2(r3) /* 800324A0 0002E100 98 03 00 04 */ stb r0, 4(r3) /* 800324A4 0002E104 4E 80 00 20 */ blr