mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
215 lines
8.7 KiB
ArmAsm
215 lines
8.7 KiB
ArmAsm
lbl_801241E0:
|
|
/* 801241E0 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 801241E4 7C 08 02 A6 */ mflr r0
|
|
/* 801241E8 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 801241EC 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 801241F0 48 23 DF D9 */ bl _savegpr_24
|
|
/* 801241F4 7C 7B 1B 78 */ mr r27, r3
|
|
/* 801241F8 80 83 05 8C */ lwz r4, 0x58c(r3)
|
|
/* 801241FC 3C 60 00 02 */ lis r3, 0x0002 /* 0x00021800@ha */
|
|
/* 80124200 38 03 18 00 */ addi r0, r3, 0x1800 /* 0x00021800@l */
|
|
/* 80124204 7C 80 00 39 */ and. r0, r4, r0
|
|
/* 80124208 41 82 00 28 */ beq lbl_80124230
|
|
/* 8012420C 38 60 00 00 */ li r3, 0
|
|
/* 80124210 38 80 FF FF */ li r4, -1
|
|
/* 80124214 38 00 00 02 */ li r0, 2
|
|
/* 80124218 7C 09 03 A6 */ mtctr r0
|
|
lbl_8012421C:
|
|
/* 8012421C 38 03 32 C0 */ addi r0, r3, 0x32c0
|
|
/* 80124220 7C 9B 03 2E */ sthx r4, r27, r0
|
|
/* 80124224 38 63 00 02 */ addi r3, r3, 2
|
|
/* 80124228 42 00 FF F4 */ bdnz lbl_8012421C
|
|
/* 8012422C 48 00 00 E8 */ b lbl_80124314
|
|
lbl_80124230:
|
|
/* 80124230 80 1B 05 70 */ lwz r0, 0x570(r27)
|
|
/* 80124234 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
|
|
/* 80124238 41 82 00 10 */ beq lbl_80124248
|
|
/* 8012423C 88 1B 2F BC */ lbz r0, 0x2fbc(r27)
|
|
/* 80124240 28 00 00 06 */ cmplwi r0, 6
|
|
/* 80124244 40 82 00 48 */ bne lbl_8012428C
|
|
lbl_80124248:
|
|
/* 80124248 38 60 00 00 */ li r3, 0
|
|
/* 8012424C 38 80 00 96 */ li r4, 0x96
|
|
/* 80124250 38 00 00 02 */ li r0, 2
|
|
/* 80124254 7C 09 03 A6 */ mtctr r0
|
|
lbl_80124258:
|
|
/* 80124258 38 A3 32 C0 */ addi r5, r3, 0x32c0
|
|
/* 8012425C 7C DB 2A AE */ lhax r6, r27, r5
|
|
/* 80124260 7C C0 07 35 */ extsh. r0, r6
|
|
/* 80124264 40 81 00 10 */ ble lbl_80124274
|
|
/* 80124268 38 06 FF FF */ addi r0, r6, -1
|
|
/* 8012426C 7C 1B 2B 2E */ sthx r0, r27, r5
|
|
/* 80124270 48 00 00 10 */ b lbl_80124280
|
|
lbl_80124274:
|
|
/* 80124274 2C 06 FF FF */ cmpwi r6, -1
|
|
/* 80124278 40 82 00 08 */ bne lbl_80124280
|
|
/* 8012427C 7C 9B 2B 2E */ sthx r4, r27, r5
|
|
lbl_80124280:
|
|
/* 80124280 38 63 00 02 */ addi r3, r3, 2
|
|
/* 80124284 42 00 FF D4 */ bdnz lbl_80124258
|
|
/* 80124288 48 00 00 8C */ b lbl_80124314
|
|
lbl_8012428C:
|
|
/* 8012428C 38 60 00 00 */ li r3, 0
|
|
/* 80124290 C0 22 93 3C */ lfs f1, lit_7808(r2)
|
|
/* 80124294 38 00 00 02 */ li r0, 2
|
|
/* 80124298 7C 09 03 A6 */ mtctr r0
|
|
lbl_8012429C:
|
|
/* 8012429C 80 9B 06 50 */ lwz r4, 0x650(r27)
|
|
/* 801242A0 80 84 00 84 */ lwz r4, 0x84(r4)
|
|
/* 801242A4 80 84 00 0C */ lwz r4, 0xc(r4)
|
|
/* 801242A8 7C BB 1A 14 */ add r5, r27, r3
|
|
/* 801242AC A0 05 32 C4 */ lhz r0, 0x32c4(r5)
|
|
/* 801242B0 1C 00 00 30 */ mulli r0, r0, 0x30
|
|
/* 801242B4 7C 84 02 14 */ add r4, r4, r0
|
|
/* 801242B8 C0 44 00 1C */ lfs f2, 0x1c(r4)
|
|
/* 801242BC C0 7B 33 B4 */ lfs f3, 0x33b4(r27)
|
|
/* 801242C0 EC 03 08 28 */ fsubs f0, f3, f1
|
|
/* 801242C4 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 801242C8 40 80 00 10 */ bge lbl_801242D8
|
|
/* 801242CC 38 00 FF FF */ li r0, -1
|
|
/* 801242D0 B0 05 32 C0 */ sth r0, 0x32c0(r5)
|
|
/* 801242D4 48 00 00 38 */ b lbl_8012430C
|
|
lbl_801242D8:
|
|
/* 801242D8 FC 02 18 40 */ fcmpo cr0, f2, f3
|
|
/* 801242DC 40 81 00 1C */ ble lbl_801242F8
|
|
/* 801242E0 A8 05 32 C0 */ lha r0, 0x32c0(r5)
|
|
/* 801242E4 2C 00 FF FF */ cmpwi r0, -1
|
|
/* 801242E8 40 82 00 10 */ bne lbl_801242F8
|
|
/* 801242EC 38 00 00 96 */ li r0, 0x96
|
|
/* 801242F0 B0 05 32 C0 */ sth r0, 0x32c0(r5)
|
|
/* 801242F4 48 00 00 18 */ b lbl_8012430C
|
|
lbl_801242F8:
|
|
/* 801242F8 A8 85 32 C0 */ lha r4, 0x32c0(r5)
|
|
/* 801242FC 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 80124300 40 81 00 0C */ ble lbl_8012430C
|
|
/* 80124304 38 04 FF FF */ addi r0, r4, -1
|
|
/* 80124308 B0 05 32 C0 */ sth r0, 0x32c0(r5)
|
|
lbl_8012430C:
|
|
/* 8012430C 38 63 00 02 */ addi r3, r3, 2
|
|
/* 80124310 42 00 FF 8C */ bdnz lbl_8012429C
|
|
lbl_80124314:
|
|
/* 80124314 80 1B 05 74 */ lwz r0, 0x574(r27)
|
|
/* 80124318 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
|
|
/* 8012431C 38 62 96 F8 */ la r3, effDataTable(r2) /* 804530F8-_SDA2_BASE_ */
|
|
/* 80124320 41 82 00 08 */ beq lbl_80124328
|
|
/* 80124324 38 63 00 04 */ addi r3, r3, 4
|
|
lbl_80124328:
|
|
/* 80124328 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8012432C 3B A0 00 00 */ li r29, 0
|
|
/* 80124330 3B 40 00 00 */ li r26, 0
|
|
/* 80124334 3B 20 00 00 */ li r25, 0
|
|
/* 80124338 3B 00 00 00 */ li r24, 0
|
|
lbl_8012433C:
|
|
/* 8012433C 7F DB C2 14 */ add r30, r27, r24
|
|
/* 80124340 A8 1E 32 C0 */ lha r0, 0x32c0(r30)
|
|
/* 80124344 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80124348 40 81 00 84 */ ble lbl_801243CC
|
|
/* 8012434C 7F 63 DB 78 */ mr r3, r27
|
|
/* 80124350 38 99 32 98 */ addi r4, r25, 0x3298
|
|
/* 80124354 7C 9B 22 14 */ add r4, r27, r4
|
|
/* 80124358 A0 BC 00 00 */ lhz r5, 0(r28)
|
|
/* 8012435C 38 DB 04 D0 */ addi r6, r27, 0x4d0
|
|
/* 80124360 38 E0 00 00 */ li r7, 0
|
|
/* 80124364 4B FF C3 61 */ bl setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz
|
|
/* 80124368 7C 7F 1B 79 */ or. r31, r3, r3
|
|
/* 8012436C 41 82 00 60 */ beq lbl_801243CC
|
|
/* 80124370 80 7B 06 50 */ lwz r3, 0x650(r27)
|
|
/* 80124374 80 63 00 84 */ lwz r3, 0x84(r3)
|
|
/* 80124378 80 63 00 0C */ lwz r3, 0xc(r3)
|
|
/* 8012437C A0 1E 32 C4 */ lhz r0, 0x32c4(r30)
|
|
/* 80124380 1C 00 00 30 */ mulli r0, r0, 0x30
|
|
/* 80124384 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80124388 38 9F 00 68 */ addi r4, r31, 0x68
|
|
/* 8012438C 38 BF 00 A4 */ addi r5, r31, 0xa4
|
|
/* 80124390 48 15 C4 51 */ bl func_802807E0
|
|
/* 80124394 7F 63 DB 78 */ mr r3, r27
|
|
/* 80124398 81 9B 06 28 */ lwz r12, 0x628(r27)
|
|
/* 8012439C 81 8C 01 0C */ lwz r12, 0x10c(r12)
|
|
/* 801243A0 7D 89 03 A6 */ mtctr r12
|
|
/* 801243A4 4E 80 04 21 */ bctrl
|
|
/* 801243A8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 801243AC 41 82 00 14 */ beq lbl_801243C0
|
|
/* 801243B0 80 1F 00 F4 */ lwz r0, 0xf4(r31)
|
|
/* 801243B4 60 00 00 04 */ ori r0, r0, 4
|
|
/* 801243B8 90 1F 00 F4 */ stw r0, 0xf4(r31)
|
|
/* 801243BC 48 00 00 10 */ b lbl_801243CC
|
|
lbl_801243C0:
|
|
/* 801243C0 80 1F 00 F4 */ lwz r0, 0xf4(r31)
|
|
/* 801243C4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
|
|
/* 801243C8 90 1F 00 F4 */ stw r0, 0xf4(r31)
|
|
lbl_801243CC:
|
|
/* 801243CC A8 1E 32 C0 */ lha r0, 0x32c0(r30)
|
|
/* 801243D0 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 801243D4 41 82 00 34 */ beq lbl_80124408
|
|
/* 801243D8 38 9A 32 A6 */ addi r4, r26, 0x32a6
|
|
/* 801243DC 7C 7B 22 AE */ lhax r3, r27, r4
|
|
/* 801243E0 2C 03 FF EC */ cmpwi r3, -20
|
|
/* 801243E4 40 81 00 3C */ ble lbl_80124420
|
|
/* 801243E8 38 03 FF FE */ addi r0, r3, -2
|
|
/* 801243EC 7C 1B 23 2E */ sthx r0, r27, r4
|
|
/* 801243F0 7C 1B 22 AE */ lhax r0, r27, r4
|
|
/* 801243F4 2C 00 FF EC */ cmpwi r0, -20
|
|
/* 801243F8 40 80 00 28 */ bge lbl_80124420
|
|
/* 801243FC 38 00 FF EC */ li r0, -20
|
|
/* 80124400 7C 1B 23 2E */ sthx r0, r27, r4
|
|
/* 80124404 48 00 00 1C */ b lbl_80124420
|
|
lbl_80124408:
|
|
/* 80124408 38 9A 32 A6 */ addi r4, r26, 0x32a6
|
|
/* 8012440C 7C 7B 22 AE */ lhax r3, r27, r4
|
|
/* 80124410 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80124414 40 80 00 0C */ bge lbl_80124420
|
|
/* 80124418 38 03 00 01 */ addi r0, r3, 1
|
|
/* 8012441C 7C 1B 23 2E */ sthx r0, r27, r4
|
|
lbl_80124420:
|
|
/* 80124420 80 1B 05 78 */ lwz r0, 0x578(r27)
|
|
/* 80124424 54 00 02 D9 */ rlwinm. r0, r0, 0, 0xb, 0xc
|
|
/* 80124428 41 82 00 40 */ beq lbl_80124468
|
|
/* 8012442C C0 42 97 00 */ lfs f2, lit_41718(r2)
|
|
/* 80124430 38 1A 32 A6 */ addi r0, r26, 0x32a6
|
|
/* 80124434 7C 1B 02 AE */ lhax r0, r27, r0
|
|
/* 80124438 C8 22 92 B0 */ lfd f1, lit_6025(r2)
|
|
/* 8012443C 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 80124440 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 80124444 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 80124448 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 8012444C C8 01 00 08 */ lfd f0, 8(r1)
|
|
/* 80124450 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 80124454 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 80124458 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8012445C D8 01 00 10 */ stfd f0, 0x10(r1)
|
|
/* 80124460 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80124464 48 00 00 3C */ b lbl_801244A0
|
|
lbl_80124468:
|
|
/* 80124468 C0 42 93 FC */ lfs f2, lit_13701(r2)
|
|
/* 8012446C 38 1A 32 A6 */ addi r0, r26, 0x32a6
|
|
/* 80124470 7C 1B 02 AE */ lhax r0, r27, r0
|
|
/* 80124474 C8 22 92 B0 */ lfd f1, lit_6025(r2)
|
|
/* 80124478 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8012447C 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 80124480 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 80124484 90 01 00 18 */ stw r0, 0x18(r1)
|
|
/* 80124488 C8 01 00 18 */ lfd f0, 0x18(r1)
|
|
/* 8012448C EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 80124490 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 80124494 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80124498 D8 01 00 20 */ stfd f0, 0x20(r1)
|
|
/* 8012449C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
lbl_801244A0:
|
|
/* 801244A0 7C 7B D2 14 */ add r3, r27, r26
|
|
/* 801244A4 B0 03 32 A0 */ sth r0, 0x32a0(r3)
|
|
/* 801244A8 B0 03 32 A2 */ sth r0, 0x32a2(r3)
|
|
/* 801244AC B0 03 32 A4 */ sth r0, 0x32a4(r3)
|
|
/* 801244B0 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 801244B4 2C 1D 00 02 */ cmpwi r29, 2
|
|
/* 801244B8 3B 5A 00 08 */ addi r26, r26, 8
|
|
/* 801244BC 3B 39 00 04 */ addi r25, r25, 4
|
|
/* 801244C0 3B 18 00 02 */ addi r24, r24, 2
|
|
/* 801244C4 3B 9C 00 02 */ addi r28, r28, 2
|
|
/* 801244C8 41 80 FE 74 */ blt lbl_8012433C
|
|
/* 801244CC 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 801244D0 48 23 DD 45 */ bl _restgpr_24
|
|
/* 801244D4 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 801244D8 7C 08 03 A6 */ mtlr r0
|
|
/* 801244DC 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 801244E0 4E 80 00 20 */ blr
|