mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-17 04:31:37 -04:00
0cf65151b3
* split c_math * split c_angle * split c_API_controller_pad * split c_API_graphic * split c_bg_s_chk * c_bg_s_gnd_chk split * more c_bg split * split c_cc_d * delete asm * split c_cc_s * split c_lib * split c_m2d and c_m3d_g_aab * split c_m3d_g_cir * split c_m3d_g_cps * split rest of c_m3d_g * split c_m3d * split c_malloc * split c_request * split c_sxyz * split and partly decompile c_xyz * format * c_angle.h * begin c_angle decomp * c_angle * progress adding stub classes for SComponent * more c_m3d * remove some asm and format * more m3d headers * more c_angle decomp * c_lib headers * add public to classes * fix csXyz member names * c_sxyz partly OK * move Zero csXyz to c_sxyz header * c_API_graphic * delete some unused asm * move math extern data, decompile some functions * delete unused asm * fix duplicated c_angle.h * fix an inlined function name, add more inlined functions for c_angle.h (currently unused) * format Co-authored-by: Pheenoh <pheenoh@gmail.com>
154 lines
7.3 KiB
ArmAsm
154 lines
7.3 KiB
ArmAsm
/* 8026C3B4 002692F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8026C3B8 002692F8 C0 23 00 00 */ lfs f1, 0(r3)
|
|
/* 8026C3BC 002692FC C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8026C3C0 00269300 EC 41 00 28 */ fsubs f2, f1, f0
|
|
/* 8026C3C4 00269304 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 8026C3C8 00269308 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8026C3CC 0026930C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8026C3D0 00269310 EC 22 00 B2 */ fmuls f1, f2, f2
|
|
/* 8026C3D4 00269314 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8026C3D8 00269318 EC 81 00 2A */ fadds f4, f1, f0
|
|
/* 8026C3DC 0026931C C0 23 00 0C */ lfs f1, 0xc(r3)
|
|
/* 8026C3E0 00269320 C0 04 00 0C */ lfs f0, 0xc(r4)
|
|
/* 8026C3E4 00269324 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8026C3E8 00269328 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8026C3EC 0026932C FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8026C3F0 00269330 40 81 00 0C */ ble lbl_8026C3FC
|
|
/* 8026C3F4 00269334 38 60 00 00 */ li r3, 0
|
|
/* 8026C3F8 00269338 48 00 01 D0 */ b lbl_8026C5C8
|
|
lbl_8026C3FC:
|
|
/* 8026C3FC 0026933C C0 43 00 04 */ lfs f2, 4(r3)
|
|
/* 8026C400 00269340 C0 03 00 10 */ lfs f0, 0x10(r3)
|
|
/* 8026C404 00269344 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8026C408 00269348 C0 24 00 04 */ lfs f1, 4(r4)
|
|
/* 8026C40C 0026934C FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8026C410 00269350 41 80 00 14 */ blt lbl_8026C424
|
|
/* 8026C414 00269354 C0 04 00 10 */ lfs f0, 0x10(r4)
|
|
/* 8026C418 00269358 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8026C41C 0026935C FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8026C420 00269360 40 81 00 0C */ ble lbl_8026C42C
|
|
lbl_8026C424:
|
|
/* 8026C424 00269364 38 60 00 00 */ li r3, 0
|
|
/* 8026C428 00269368 48 00 01 A0 */ b lbl_8026C5C8
|
|
lbl_8026C42C:
|
|
/* 8026C42C 0026936C C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
|
|
/* 8026C430 00269370 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8026C434 00269374 40 81 00 58 */ ble lbl_8026C48C
|
|
/* 8026C438 00269378 FC 00 20 34 */ frsqrte f0, f4
|
|
/* 8026C43C 0026937C C8 62 B7 20 */ lfd f3, lbl_80455120-_SDA2_BASE_(r2)
|
|
/* 8026C440 00269380 FC 23 00 32 */ fmul f1, f3, f0
|
|
/* 8026C444 00269384 C8 42 B7 28 */ lfd f2, lbl_80455128-_SDA2_BASE_(r2)
|
|
/* 8026C448 00269388 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026C44C 0026938C FC 04 00 32 */ fmul f0, f4, f0
|
|
/* 8026C450 00269390 FC 02 00 28 */ fsub f0, f2, f0
|
|
/* 8026C454 00269394 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026C458 00269398 FC 23 00 32 */ fmul f1, f3, f0
|
|
/* 8026C45C 0026939C FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026C460 002693A0 FC 04 00 32 */ fmul f0, f4, f0
|
|
/* 8026C464 002693A4 FC 02 00 28 */ fsub f0, f2, f0
|
|
/* 8026C468 002693A8 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026C46C 002693AC FC 23 00 32 */ fmul f1, f3, f0
|
|
/* 8026C470 002693B0 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026C474 002693B4 FC 04 00 32 */ fmul f0, f4, f0
|
|
/* 8026C478 002693B8 FC 02 00 28 */ fsub f0, f2, f0
|
|
/* 8026C47C 002693BC FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026C480 002693C0 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026C484 002693C4 FC 40 10 18 */ frsp f2, f2
|
|
/* 8026C488 002693C8 48 00 00 90 */ b lbl_8026C518
|
|
lbl_8026C48C:
|
|
/* 8026C48C 002693CC C8 02 B7 30 */ lfd f0, lbl_80455130-_SDA2_BASE_(r2)
|
|
/* 8026C490 002693D0 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8026C494 002693D4 40 80 00 10 */ bge lbl_8026C4A4
|
|
/* 8026C498 002693D8 3C C0 80 45 */ lis r6, lbl_80450AE0@ha
|
|
/* 8026C49C 002693DC C0 46 0A E0 */ lfs f2, lbl_80450AE0@l(r6)
|
|
/* 8026C4A0 002693E0 48 00 00 78 */ b lbl_8026C518
|
|
lbl_8026C4A4:
|
|
/* 8026C4A4 002693E4 D0 81 00 08 */ stfs f4, 8(r1)
|
|
/* 8026C4A8 002693E8 80 E1 00 08 */ lwz r7, 8(r1)
|
|
/* 8026C4AC 002693EC 54 E6 00 50 */ rlwinm r6, r7, 0, 1, 8
|
|
/* 8026C4B0 002693F0 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 8026C4B4 002693F4 7C 06 00 00 */ cmpw r6, r0
|
|
/* 8026C4B8 002693F8 41 82 00 14 */ beq lbl_8026C4CC
|
|
/* 8026C4BC 002693FC 40 80 00 40 */ bge lbl_8026C4FC
|
|
/* 8026C4C0 00269400 2C 06 00 00 */ cmpwi r6, 0
|
|
/* 8026C4C4 00269404 41 82 00 20 */ beq lbl_8026C4E4
|
|
/* 8026C4C8 00269408 48 00 00 34 */ b lbl_8026C4FC
|
|
lbl_8026C4CC:
|
|
/* 8026C4CC 0026940C 54 E0 02 7F */ clrlwi. r0, r7, 9
|
|
/* 8026C4D0 00269410 41 82 00 0C */ beq lbl_8026C4DC
|
|
/* 8026C4D4 00269414 38 00 00 01 */ li r0, 1
|
|
/* 8026C4D8 00269418 48 00 00 28 */ b lbl_8026C500
|
|
lbl_8026C4DC:
|
|
/* 8026C4DC 0026941C 38 00 00 02 */ li r0, 2
|
|
/* 8026C4E0 00269420 48 00 00 20 */ b lbl_8026C500
|
|
lbl_8026C4E4:
|
|
/* 8026C4E4 00269424 54 E0 02 7F */ clrlwi. r0, r7, 9
|
|
/* 8026C4E8 00269428 41 82 00 0C */ beq lbl_8026C4F4
|
|
/* 8026C4EC 0026942C 38 00 00 05 */ li r0, 5
|
|
/* 8026C4F0 00269430 48 00 00 10 */ b lbl_8026C500
|
|
lbl_8026C4F4:
|
|
/* 8026C4F4 00269434 38 00 00 03 */ li r0, 3
|
|
/* 8026C4F8 00269438 48 00 00 08 */ b lbl_8026C500
|
|
lbl_8026C4FC:
|
|
/* 8026C4FC 0026943C 38 00 00 04 */ li r0, 4
|
|
lbl_8026C500:
|
|
/* 8026C500 00269440 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8026C504 00269444 40 82 00 10 */ bne lbl_8026C514
|
|
/* 8026C508 00269448 3C C0 80 45 */ lis r6, lbl_80450AE0@ha
|
|
/* 8026C50C 0026944C C0 46 0A E0 */ lfs f2, lbl_80450AE0@l(r6)
|
|
/* 8026C510 00269450 48 00 00 08 */ b lbl_8026C518
|
|
lbl_8026C514:
|
|
/* 8026C514 00269454 FC 40 20 90 */ fmr f2, f4
|
|
lbl_8026C518:
|
|
/* 8026C518 00269458 FC 00 12 10 */ fabs f0, f2
|
|
/* 8026C51C 0026945C FC 20 00 18 */ frsp f1, f0
|
|
/* 8026C520 00269460 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13)
|
|
/* 8026C524 00269464 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026C528 00269468 41 80 00 84 */ blt lbl_8026C5AC
|
|
/* 8026C52C 0026946C C0 04 00 0C */ lfs f0, 0xc(r4)
|
|
/* 8026C530 00269470 EC 60 10 24 */ fdivs f3, f0, f2
|
|
/* 8026C534 00269474 C0 44 00 04 */ lfs f2, 4(r4)
|
|
/* 8026C538 00269478 C0 22 B7 C4 */ lfs f1, lbl_804551C4-_SDA2_BASE_(r2)
|
|
/* 8026C53C 0026947C C0 04 00 10 */ lfs f0, 0x10(r4)
|
|
/* 8026C540 00269480 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8026C544 00269484 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8026C548 00269488 D0 05 00 04 */ stfs f0, 4(r5)
|
|
/* 8026C54C 0026948C C0 43 00 04 */ lfs f2, 4(r3)
|
|
/* 8026C550 00269490 C0 25 00 04 */ lfs f1, 4(r5)
|
|
/* 8026C554 00269494 FC 01 10 40 */ fcmpo cr0, f1, f2
|
|
/* 8026C558 00269498 40 80 00 0C */ bge lbl_8026C564
|
|
/* 8026C55C 0026949C D0 45 00 04 */ stfs f2, 4(r5)
|
|
/* 8026C560 002694A0 48 00 00 18 */ b lbl_8026C578
|
|
lbl_8026C564:
|
|
/* 8026C564 002694A4 C0 03 00 10 */ lfs f0, 0x10(r3)
|
|
/* 8026C568 002694A8 EC 42 00 2A */ fadds f2, f2, f0
|
|
/* 8026C56C 002694AC FC 01 10 40 */ fcmpo cr0, f1, f2
|
|
/* 8026C570 002694B0 40 81 00 08 */ ble lbl_8026C578
|
|
/* 8026C574 002694B4 D0 45 00 04 */ stfs f2, 4(r5)
|
|
lbl_8026C578:
|
|
/* 8026C578 002694B8 C0 24 00 00 */ lfs f1, 0(r4)
|
|
/* 8026C57C 002694BC C0 03 00 00 */ lfs f0, 0(r3)
|
|
/* 8026C580 002694C0 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 8026C584 002694C4 EC 03 00 32 */ fmuls f0, f3, f0
|
|
/* 8026C588 002694C8 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8026C58C 002694CC D0 05 00 00 */ stfs f0, 0(r5)
|
|
/* 8026C590 002694D0 C0 24 00 08 */ lfs f1, 8(r4)
|
|
/* 8026C594 002694D4 C0 03 00 08 */ lfs f0, 8(r3)
|
|
/* 8026C598 002694D8 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 8026C59C 002694DC EC 03 00 32 */ fmuls f0, f3, f0
|
|
/* 8026C5A0 002694E0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8026C5A4 002694E4 D0 05 00 08 */ stfs f0, 8(r5)
|
|
/* 8026C5A8 002694E8 48 00 00 1C */ b lbl_8026C5C4
|
|
lbl_8026C5AC:
|
|
/* 8026C5AC 002694EC C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8026C5B0 002694F0 D0 05 00 00 */ stfs f0, 0(r5)
|
|
/* 8026C5B4 002694F4 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 8026C5B8 002694F8 D0 05 00 04 */ stfs f0, 4(r5)
|
|
/* 8026C5BC 002694FC C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8026C5C0 00269500 D0 05 00 08 */ stfs f0, 8(r5)
|
|
lbl_8026C5C4:
|
|
/* 8026C5C4 00269504 38 60 00 01 */ li r3, 1
|
|
lbl_8026C5C8:
|
|
/* 8026C5C8 00269508 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8026C5CC 0026950C 4E 80 00 20 */ blr
|