From 63cd9416f2770b829a7c81c4a44b6d52d293e299 Mon Sep 17 00:00:00 2001 From: lepelog Date: Sun, 2 May 2021 19:46:36 +0200 Subject: [PATCH] move Z2Calc, c_math and f_op_draw_iter (#125) * Z2Calc * port over c_math * fop_draw_iter Co-authored-by: Pheenoh --- .../SComponent/c_math/U_GetAtanTable__Fff.s | 14 - .../SComponent/c_math/cM_atan2f__Fff.s | 19 - .../SComponent/c_math/cM_atan2s__Fff.s | 117 - .../SComponent/c_math/cM_initRnd2__Fiii.s | 5 - .../SComponent/c_math/cM_initRnd__Fiii.s | 5 - asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s | 26 - asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s | 59 - asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s | 15 - asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s | 19 - asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s | 19 - asm/SSystem/SComponent/c_math/cM_rndF__Ff.s | 15 - asm/SSystem/SComponent/c_math/cM_rnd__Fv.s | 59 - .../calcNoise1f__Q26Z2Calc8FNoise1fFv.s | 41 - ...ByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s | 78 - .../Z2Calc/getRandom_0_1__6Z2CalcFv.s | 30 - .../Z2Calc/getRandom__6Z2CalcFfff.s | 51 - .../Z2Calc/linearTransform__6Z2CalcFfffffb.s | 30 - .../Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s | 6 - .../Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s | 22 - asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s | 18 - asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s | 20 - .../fopDwIt_Next__FP16create_tag_class.s | 13 - include/JSystem/JMath/random.h | 29 + include/f_op/f_op_draw_tag.h | 2 + libs/JSystem/JMath/random.cpp | 22 +- libs/SSystem/SComponent/c_bg_w.cpp | 3 +- libs/SSystem/SComponent/c_m3d_g_cir.cpp | 6 - libs/SSystem/SComponent/c_math.cpp | 2400 ++--------------- libs/Z2AudioLib/Z2Calc.cpp | 210 +- src/f_op/f_op_actor_iter.cpp | 2 - src/f_op/f_op_draw_iter.cpp | 60 +- src/f_op/f_op_overlap_mng.cpp | 32 - src/f_op/f_op_overlap_req.cpp | 38 - 33 files changed, 335 insertions(+), 3150 deletions(-) delete mode 100644 asm/SSystem/SComponent/c_math/U_GetAtanTable__Fff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_atan2f__Fff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_atan2s__Fff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_initRnd2__Fiii.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_initRnd__Fiii.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rndF__Ff.s delete mode 100644 asm/SSystem/SComponent/c_math/cM_rnd__Fv.s delete mode 100644 asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s delete mode 100644 asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s delete mode 100644 asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s delete mode 100644 asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s delete mode 100644 asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s delete mode 100644 asm/Z2AudioLib/Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s delete mode 100644 asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s delete mode 100644 asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s delete mode 100644 asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s delete mode 100644 asm/f_op/f_op_draw_iter/fopDwIt_Next__FP16create_tag_class.s diff --git a/asm/SSystem/SComponent/c_math/U_GetAtanTable__Fff.s b/asm/SSystem/SComponent/c_math/U_GetAtanTable__Fff.s deleted file mode 100644 index 9ab1d451d0b..00000000000 --- a/asm/SSystem/SComponent/c_math/U_GetAtanTable__Fff.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80267640: -/* 80267640 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80267644 C0 62 B6 B4 */ lfs f3, lit_2232(r2) -/* 80267648 EC 01 10 24 */ fdivs f0, f1, f2 -/* 8026764C EC 03 00 32 */ fmuls f0, f3, f0 -/* 80267650 FC 00 00 1E */ fctiwz f0, f0 -/* 80267654 D8 01 00 08 */ stfd f0, 8(r1) -/* 80267658 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8026765C 54 00 08 3C */ slwi r0, r0, 1 -/* 80267660 3C 60 80 3C */ lis r3, atntable@ha /* 0x803C3778@ha */ -/* 80267664 38 63 37 78 */ addi r3, r3, atntable@l /* 0x803C3778@l */ -/* 80267668 7C 63 02 2E */ lhzx r3, r3, r0 -/* 8026766C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80267670 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_atan2f__Fff.s b/asm/SSystem/SComponent/c_math/cM_atan2f__Fff.s deleted file mode 100644 index f2cd64f4fb8..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_atan2f__Fff.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80267814: -/* 80267814 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80267818 7C 08 02 A6 */ mflr r0 -/* 8026781C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267820 4B FF FE 55 */ bl cM_atan2s__Fff -/* 80267824 7C 60 07 34 */ extsh r0, r3 -/* 80267828 C8 22 B6 C0 */ lfd f1, lit_2284(r2) -/* 8026782C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267830 90 01 00 0C */ stw r0, 0xc(r1) -/* 80267834 3C 00 43 30 */ lis r0, 0x4330 -/* 80267838 90 01 00 08 */ stw r0, 8(r1) -/* 8026783C C8 01 00 08 */ lfd f0, 8(r1) -/* 80267840 EC 20 08 28 */ fsubs f1, f0, f1 -/* 80267844 C0 02 B6 BC */ lfs f0, lit_2282(r2) -/* 80267848 EC 20 00 72 */ fmuls f1, f0, f1 -/* 8026784C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267850 7C 08 03 A6 */ mtlr r0 -/* 80267854 38 21 00 10 */ addi r1, r1, 0x10 -/* 80267858 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_atan2s__Fff.s b/asm/SSystem/SComponent/c_math/cM_atan2s__Fff.s deleted file mode 100644 index f61f2bb44a8..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_atan2s__Fff.s +++ /dev/null @@ -1,117 +0,0 @@ -lbl_80267674: -/* 80267674 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80267678 7C 08 02 A6 */ mflr r0 -/* 8026767C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267680 FC 80 08 90 */ fmr f4, f1 -/* 80267684 FC 00 22 10 */ fabs f0, f4 -/* 80267688 FC 00 00 18 */ frsp f0, f0 -/* 8026768C C0 6D 8C 00 */ lfs f3, G_CM3D_F_ABS_MIN(r13) -/* 80267690 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 80267694 40 80 00 28 */ bge lbl_802676BC -/* 80267698 C0 02 B6 B8 */ lfs f0, lit_2277(r2) -/* 8026769C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802676A0 4C 41 13 82 */ cror 2, 1, 2 -/* 802676A4 40 82 00 0C */ bne lbl_802676B0 -/* 802676A8 38 60 00 00 */ li r3, 0 -/* 802676AC 48 00 01 54 */ b lbl_80267800 -lbl_802676B0: -/* 802676B0 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */ -/* 802676B4 38 63 80 00 */ addi r3, r3, 0x8000 /* 0x00008000@l */ -/* 802676B8 48 00 01 48 */ b lbl_80267800 -lbl_802676BC: -/* 802676BC FC 00 12 10 */ fabs f0, f2 -/* 802676C0 FC 00 00 18 */ frsp f0, f0 -/* 802676C4 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 802676C8 40 80 00 28 */ bge lbl_802676F0 -/* 802676CC C0 02 B6 B8 */ lfs f0, lit_2277(r2) -/* 802676D0 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802676D4 4C 41 13 82 */ cror 2, 1, 2 -/* 802676D8 40 82 00 0C */ bne lbl_802676E4 -/* 802676DC 38 60 40 00 */ li r3, 0x4000 -/* 802676E0 48 00 01 20 */ b lbl_80267800 -lbl_802676E4: -/* 802676E4 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000C000@ha */ -/* 802676E8 38 63 C0 00 */ addi r3, r3, 0xC000 /* 0x0000C000@l */ -/* 802676EC 48 00 01 14 */ b lbl_80267800 -lbl_802676F0: -/* 802676F0 C0 02 B6 B8 */ lfs f0, lit_2277(r2) -/* 802676F4 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 802676F8 4C 41 13 82 */ cror 2, 1, 2 -/* 802676FC 40 82 00 7C */ bne lbl_80267778 -/* 80267700 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80267704 4C 41 13 82 */ cror 2, 1, 2 -/* 80267708 40 82 00 34 */ bne lbl_8026773C -/* 8026770C FC 02 20 40 */ fcmpo cr0, f2, f4 -/* 80267710 4C 41 13 82 */ cror 2, 1, 2 -/* 80267714 40 82 00 10 */ bne lbl_80267724 -/* 80267718 4B FF FF 29 */ bl U_GetAtanTable__Fff -/* 8026771C 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 80267720 48 00 00 E0 */ b lbl_80267800 -lbl_80267724: -/* 80267724 FC 20 10 90 */ fmr f1, f2 -/* 80267728 FC 40 20 90 */ fmr f2, f4 -/* 8026772C 4B FF FF 15 */ bl U_GetAtanTable__Fff -/* 80267730 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 80267734 20 60 40 00 */ subfic r3, r0, 0x4000 -/* 80267738 48 00 00 C8 */ b lbl_80267800 -lbl_8026773C: -/* 8026773C FC 40 10 50 */ fneg f2, f2 -/* 80267740 FC 02 20 40 */ fcmpo cr0, f2, f4 -/* 80267744 40 80 00 1C */ bge lbl_80267760 -/* 80267748 FC 20 10 90 */ fmr f1, f2 -/* 8026774C FC 40 20 90 */ fmr f2, f4 -/* 80267750 4B FF FE F1 */ bl U_GetAtanTable__Fff -/* 80267754 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 80267758 38 63 40 00 */ addi r3, r3, 0x4000 -/* 8026775C 48 00 00 A4 */ b lbl_80267800 -lbl_80267760: -/* 80267760 4B FF FE E1 */ bl U_GetAtanTable__Fff -/* 80267764 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 80267768 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */ -/* 8026776C 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x00008000@l */ -/* 80267770 7C 64 00 50 */ subf r3, r4, r0 -/* 80267774 48 00 00 8C */ b lbl_80267800 -lbl_80267778: -/* 80267778 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8026777C 40 80 00 4C */ bge lbl_802677C8 -/* 80267780 FC 02 20 40 */ fcmpo cr0, f2, f4 -/* 80267784 4C 40 13 82 */ cror 2, 0, 2 -/* 80267788 40 82 00 20 */ bne lbl_802677A8 -/* 8026778C FC 20 20 50 */ fneg f1, f4 -/* 80267790 FC 40 10 50 */ fneg f2, f2 -/* 80267794 4B FF FE AD */ bl U_GetAtanTable__Fff -/* 80267798 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 8026779C 3C 63 00 01 */ addis r3, r3, 1 -/* 802677A0 38 63 80 00 */ addi r3, r3, -32768 -/* 802677A4 48 00 00 5C */ b lbl_80267800 -lbl_802677A8: -/* 802677A8 FC 20 10 50 */ fneg f1, f2 -/* 802677AC FC 40 20 50 */ fneg f2, f4 -/* 802677B0 4B FF FE 91 */ bl U_GetAtanTable__Fff -/* 802677B4 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 802677B8 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000C000@ha */ -/* 802677BC 38 03 C0 00 */ addi r0, r3, 0xC000 /* 0x0000C000@l */ -/* 802677C0 7C 64 00 50 */ subf r3, r4, r0 -/* 802677C4 48 00 00 3C */ b lbl_80267800 -lbl_802677C8: -/* 802677C8 FC 00 20 50 */ fneg f0, f4 -/* 802677CC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802677D0 40 80 00 20 */ bge lbl_802677F0 -/* 802677D4 FC 20 10 90 */ fmr f1, f2 -/* 802677D8 FC 40 00 90 */ fmr f2, f0 -/* 802677DC 4B FF FE 65 */ bl U_GetAtanTable__Fff -/* 802677E0 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 802677E4 3C 63 00 01 */ addis r3, r3, 1 -/* 802677E8 38 63 C0 00 */ addi r3, r3, -16384 -/* 802677EC 48 00 00 14 */ b lbl_80267800 -lbl_802677F0: -/* 802677F0 FC 20 00 90 */ fmr f1, f0 -/* 802677F4 4B FF FE 4D */ bl U_GetAtanTable__Fff -/* 802677F8 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 802677FC 7C 60 00 D0 */ neg r3, r0 -lbl_80267800: -/* 80267800 7C 63 07 34 */ extsh r3, r3 -/* 80267804 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267808 7C 08 03 A6 */ mtlr r0 -/* 8026780C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80267810 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_initRnd2__Fiii.s b/asm/SSystem/SComponent/c_math/cM_initRnd2__Fiii.s deleted file mode 100644 index e15b078aad2..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_initRnd2__Fiii.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802679D4: -/* 802679D4 90 6D 8B F4 */ stw r3, data_80451174(r13) -/* 802679D8 90 8D 8B F8 */ stw r4, data_80451178(r13) -/* 802679DC 90 AD 8B FC */ stw r5, data_8045117C(r13) -/* 802679E0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_initRnd__Fiii.s b/asm/SSystem/SComponent/c_math/cM_initRnd__Fiii.s deleted file mode 100644 index 550a16a3fbd..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_initRnd__Fiii.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8026785C: -/* 8026785C 90 6D 8B E8 */ stw r3, data_80451168(r13) -/* 80267860 90 8D 8B EC */ stw r4, data_8045116C(r13) -/* 80267864 90 AD 8B F0 */ stw r5, data_80451170(r13) -/* 80267868 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s b/asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s deleted file mode 100644 index 091ac572ff7..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802675E4: -/* 802675E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802675E8 7C 08 02 A6 */ mflr r0 -/* 802675EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802675F0 C8 42 B6 A8 */ lfd f2, lit_2201(r2) -/* 802675F4 48 10 51 6D */ bl fmod -/* 802675F8 FC 20 08 18 */ frsp f1, f1 -/* 802675FC C0 02 B6 B0 */ lfs f0, lit_2215(r2) -/* 80267600 EC 00 00 72 */ fmuls f0, f0, f1 -/* 80267604 FC 00 00 1E */ fctiwz f0, f0 -/* 80267608 D8 01 00 08 */ stfd f0, 8(r1) -/* 8026760C 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80267610 2C 03 80 00 */ cmpwi r3, -32768 -/* 80267614 40 80 00 0C */ bge lbl_80267620 -/* 80267618 3C 63 00 01 */ addis r3, r3, 1 -/* 8026761C 48 00 00 10 */ b lbl_8026762C -lbl_80267620: -/* 80267620 2C 03 7F FF */ cmpwi r3, 0x7fff -/* 80267624 40 81 00 08 */ ble lbl_8026762C -/* 80267628 3C 63 FF FF */ addis r3, r3, 0xffff -lbl_8026762C: -/* 8026762C 7C 63 07 34 */ extsh r3, r3 -/* 80267630 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267634 7C 08 03 A6 */ mtlr r0 -/* 80267638 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026763C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s b/asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s deleted file mode 100644 index c552465201b..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_802679E4: -/* 802679E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802679E8 7C 08 02 A6 */ mflr r0 -/* 802679EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802679F0 80 0D 8B F4 */ lwz r0, data_80451174(r13) -/* 802679F4 1C 80 00 AB */ mulli r4, r0, 0xab -/* 802679F8 38 60 76 3D */ li r3, 0x763d -/* 802679FC 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267A00 7C 00 19 D6 */ mullw r0, r0, r3 -/* 80267A04 7C C0 20 50 */ subf r6, r0, r4 -/* 80267A08 90 CD 8B F4 */ stw r6, data_80451174(r13) -/* 80267A0C 80 0D 8B F8 */ lwz r0, data_80451178(r13) -/* 80267A10 1C 80 00 AC */ mulli r4, r0, 0xac -/* 80267A14 38 60 76 63 */ li r3, 0x7663 -/* 80267A18 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267A1C 7C 00 19 D6 */ mullw r0, r0, r3 -/* 80267A20 7C A0 20 50 */ subf r5, r0, r4 -/* 80267A24 90 AD 8B F8 */ stw r5, data_80451178(r13) -/* 80267A28 80 0D 8B FC */ lwz r0, data_8045117C(r13) -/* 80267A2C 1C 80 00 AA */ mulli r4, r0, 0xaa -/* 80267A30 38 60 76 73 */ li r3, 0x7673 -/* 80267A34 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267A38 7C 00 19 D6 */ mullw r0, r0, r3 -/* 80267A3C 7C 00 20 50 */ subf r0, r0, r4 -/* 80267A40 90 0D 8B FC */ stw r0, data_8045117C(r13) -/* 80267A44 C8 82 B6 C0 */ lfd f4, lit_2284(r2) -/* 80267A48 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80267A4C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80267A50 3C 60 43 30 */ lis r3, 0x4330 -/* 80267A54 90 61 00 08 */ stw r3, 8(r1) -/* 80267A58 C8 01 00 08 */ lfd f0, 8(r1) -/* 80267A5C EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267A60 C0 02 B6 C8 */ lfs f0, lit_2296(r2) -/* 80267A64 EC 61 00 24 */ fdivs f3, f1, f0 -/* 80267A68 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 80267A6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267A70 90 61 00 10 */ stw r3, 0x10(r1) -/* 80267A74 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80267A78 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267A7C C0 02 B6 CC */ lfs f0, lit_2297(r2) -/* 80267A80 EC 41 00 24 */ fdivs f2, f1, f0 -/* 80267A84 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 80267A88 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80267A8C 90 61 00 18 */ stw r3, 0x18(r1) -/* 80267A90 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 80267A94 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267A98 C0 02 B6 D0 */ lfs f0, lit_2298(r2) -/* 80267A9C EC 01 00 24 */ fdivs f0, f1, f0 -/* 80267AA0 EC 02 00 2A */ fadds f0, f2, f0 -/* 80267AA4 EC 23 00 2A */ fadds f1, f3, f0 -/* 80267AA8 C8 42 B6 D8 */ lfd f2, lit_2299(r2) -/* 80267AAC 48 10 4C B5 */ bl fmod -/* 80267AB0 FC 00 08 18 */ frsp f0, f1 -/* 80267AB4 FC 00 02 10 */ fabs f0, f0 -/* 80267AB8 FC 20 00 18 */ frsp f1, f0 -/* 80267ABC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267AC0 7C 08 03 A6 */ mtlr r0 -/* 80267AC4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267AC8 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s b/asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s deleted file mode 100644 index c543aa4cfa9..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80267ACC: -/* 80267ACC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80267AD0 7C 08 02 A6 */ mflr r0 -/* 80267AD4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80267AD8 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80267ADC F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80267AE0 FF E0 08 90 */ fmr f31, f1 -/* 80267AE4 4B FF FF 01 */ bl cM_rnd2__Fv -/* 80267AE8 EC 3F 00 72 */ fmuls f1, f31, f1 -/* 80267AEC E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80267AF0 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80267AF4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267AF8 7C 08 03 A6 */ mtlr r0 -/* 80267AFC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267B00 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s b/asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s deleted file mode 100644 index ef1eb01ea7d..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80267B04: -/* 80267B04 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80267B08 7C 08 02 A6 */ mflr r0 -/* 80267B0C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80267B10 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80267B14 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80267B18 FF E0 08 90 */ fmr f31, f1 -/* 80267B1C 4B FF FE C9 */ bl cM_rnd2__Fv -/* 80267B20 C0 02 B6 E4 */ lfs f0, lit_2312(r2) -/* 80267B24 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80267B28 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 80267B2C C0 02 B6 E0 */ lfs f0, lit_2311(r2) -/* 80267B30 EC 20 00 72 */ fmuls f1, f0, f1 -/* 80267B34 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80267B38 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80267B3C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267B40 7C 08 03 A6 */ mtlr r0 -/* 80267B44 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267B48 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s b/asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s deleted file mode 100644 index fdaab22a177..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8026798C: -/* 8026798C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80267990 7C 08 02 A6 */ mflr r0 -/* 80267994 90 01 00 24 */ stw r0, 0x24(r1) -/* 80267998 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 8026799C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 802679A0 FF E0 08 90 */ fmr f31, f1 -/* 802679A4 4B FF FE C9 */ bl cM_rnd__Fv -/* 802679A8 C0 02 B6 E4 */ lfs f0, lit_2312(r2) -/* 802679AC EC 01 00 28 */ fsubs f0, f1, f0 -/* 802679B0 EC 3F 00 32 */ fmuls f1, f31, f0 -/* 802679B4 C0 02 B6 E0 */ lfs f0, lit_2311(r2) -/* 802679B8 EC 20 00 72 */ fmuls f1, f0, f1 -/* 802679BC E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 802679C0 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 802679C4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802679C8 7C 08 03 A6 */ mtlr r0 -/* 802679CC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802679D0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rndF__Ff.s b/asm/SSystem/SComponent/c_math/cM_rndF__Ff.s deleted file mode 100644 index 62f28dce84b..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rndF__Ff.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80267954: -/* 80267954 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80267958 7C 08 02 A6 */ mflr r0 -/* 8026795C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80267960 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80267964 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80267968 FF E0 08 90 */ fmr f31, f1 -/* 8026796C 4B FF FF 01 */ bl cM_rnd__Fv -/* 80267970 EC 3F 00 72 */ fmuls f1, f31, f1 -/* 80267974 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80267978 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 8026797C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267980 7C 08 03 A6 */ mtlr r0 -/* 80267984 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267988 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_math/cM_rnd__Fv.s b/asm/SSystem/SComponent/c_math/cM_rnd__Fv.s deleted file mode 100644 index b73e2e9b8e7..00000000000 --- a/asm/SSystem/SComponent/c_math/cM_rnd__Fv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_8026786C: -/* 8026786C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80267870 7C 08 02 A6 */ mflr r0 -/* 80267874 90 01 00 24 */ stw r0, 0x24(r1) -/* 80267878 80 0D 8B E8 */ lwz r0, data_80451168(r13) -/* 8026787C 1C 80 00 AB */ mulli r4, r0, 0xab -/* 80267880 38 60 76 3D */ li r3, 0x763d -/* 80267884 7C 04 1B D6 */ divw r0, r4, r3 -/* 80267888 7C 00 19 D6 */ mullw r0, r0, r3 -/* 8026788C 7C C0 20 50 */ subf r6, r0, r4 -/* 80267890 90 CD 8B E8 */ stw r6, data_80451168(r13) -/* 80267894 80 0D 8B EC */ lwz r0, data_8045116C(r13) -/* 80267898 1C 80 00 AC */ mulli r4, r0, 0xac -/* 8026789C 38 60 76 63 */ li r3, 0x7663 -/* 802678A0 7C 04 1B D6 */ divw r0, r4, r3 -/* 802678A4 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802678A8 7C A0 20 50 */ subf r5, r0, r4 -/* 802678AC 90 AD 8B EC */ stw r5, data_8045116C(r13) -/* 802678B0 80 0D 8B F0 */ lwz r0, data_80451170(r13) -/* 802678B4 1C 80 00 AA */ mulli r4, r0, 0xaa -/* 802678B8 38 60 76 73 */ li r3, 0x7673 -/* 802678BC 7C 04 1B D6 */ divw r0, r4, r3 -/* 802678C0 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802678C4 7C 00 20 50 */ subf r0, r0, r4 -/* 802678C8 90 0D 8B F0 */ stw r0, data_80451170(r13) -/* 802678CC C8 82 B6 C0 */ lfd f4, lit_2284(r2) -/* 802678D0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802678D4 90 01 00 0C */ stw r0, 0xc(r1) -/* 802678D8 3C 60 43 30 */ lis r3, 0x4330 -/* 802678DC 90 61 00 08 */ stw r3, 8(r1) -/* 802678E0 C8 01 00 08 */ lfd f0, 8(r1) -/* 802678E4 EC 20 20 28 */ fsubs f1, f0, f4 -/* 802678E8 C0 02 B6 C8 */ lfs f0, lit_2296(r2) -/* 802678EC EC 61 00 24 */ fdivs f3, f1, f0 -/* 802678F0 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 802678F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802678F8 90 61 00 10 */ stw r3, 0x10(r1) -/* 802678FC C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80267900 EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267904 C0 02 B6 CC */ lfs f0, lit_2297(r2) -/* 80267908 EC 41 00 24 */ fdivs f2, f1, f0 -/* 8026790C 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 80267910 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80267914 90 61 00 18 */ stw r3, 0x18(r1) -/* 80267918 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8026791C EC 20 20 28 */ fsubs f1, f0, f4 -/* 80267920 C0 02 B6 D0 */ lfs f0, lit_2298(r2) -/* 80267924 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80267928 EC 02 00 2A */ fadds f0, f2, f0 -/* 8026792C EC 23 00 2A */ fadds f1, f3, f0 -/* 80267930 C8 42 B6 D8 */ lfd f2, lit_2299(r2) -/* 80267934 48 10 4E 2D */ bl fmod -/* 80267938 FC 00 08 18 */ frsp f0, f1 -/* 8026793C FC 00 02 10 */ fabs f0, f0 -/* 80267940 FC 20 00 18 */ frsp f1, f0 -/* 80267944 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80267948 7C 08 03 A6 */ mtlr r0 -/* 8026794C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80267950 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s b/asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s deleted file mode 100644 index 9ae93825863..00000000000 --- a/asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_802A99A0: -/* 802A99A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A99A4 7C 08 02 A6 */ mflr r0 -/* 802A99A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A99AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A99B0 7C 7F 1B 78 */ mr r31, r3 -/* 802A99B4 C0 23 00 00 */ lfs f1, 0(r3) -/* 802A99B8 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A99BC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802A99C0 40 80 00 24 */ bge lbl_802A99E4 -/* 802A99C4 C0 1F 00 08 */ lfs f0, 8(r31) -/* 802A99C8 EC 01 00 2A */ fadds f0, f1, f0 -/* 802A99CC D0 1F 00 00 */ stfs f0, 0(r31) -/* 802A99D0 C0 3F 00 00 */ lfs f1, 0(r31) -/* 802A99D4 C0 1F 00 04 */ lfs f0, 4(r31) -/* 802A99D8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802A99DC 40 80 00 28 */ bge lbl_802A9A04 -/* 802A99E0 48 00 00 40 */ b lbl_802A9A20 -lbl_802A99E4: -/* 802A99E4 C0 1F 00 08 */ lfs f0, 8(r31) -/* 802A99E8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 802A99EC D0 1F 00 00 */ stfs f0, 0(r31) -/* 802A99F0 C0 3F 00 00 */ lfs f1, 0(r31) -/* 802A99F4 C0 1F 00 04 */ lfs f0, 4(r31) -/* 802A99F8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802A99FC 40 81 00 08 */ ble lbl_802A9A04 -/* 802A9A00 48 00 00 20 */ b lbl_802A9A20 -lbl_802A9A04: -/* 802A9A04 C0 1F 00 04 */ lfs f0, 4(r31) -/* 802A9A08 D0 1F 00 00 */ stfs f0, 0(r31) -/* 802A9A0C 7F E3 FB 78 */ mr r3, r31 -/* 802A9A10 C0 3F 00 00 */ lfs f1, 0(r31) -/* 802A9A14 4B FF FF 45 */ bl tau__Q26Z2Calc8FNoise1fFf -/* 802A9A18 D0 3F 00 04 */ stfs f1, 4(r31) -/* 802A9A1C C0 3F 00 00 */ lfs f1, 0(r31) -lbl_802A9A20: -/* 802A9A20 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A9A24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A9A28 7C 08 03 A6 */ mtlr r0 -/* 802A9A2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A9A30 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s b/asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s deleted file mode 100644 index cb9ed3094ea..00000000000 --- a/asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_802A96F4: -/* 802A96F4 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802A96F8 7C 08 02 A6 */ mflr r0 -/* 802A96FC 90 01 00 54 */ stw r0, 0x54(r1) -/* 802A9700 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802A9704 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 802A9708 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 802A970C F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 802A9710 DB A1 00 20 */ stfd f29, 0x20(r1) -/* 802A9714 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 802A9718 DB 81 00 10 */ stfd f28, 0x10(r1) -/* 802A971C F3 81 00 18 */ psq_st f28, 24(r1), 0, 0 /* qr0 */ -/* 802A9720 FF 80 20 90 */ fmr f28, f4 -/* 802A9724 FF A0 28 90 */ fmr f29, f5 -/* 802A9728 FF C0 30 90 */ fmr f30, f6 -/* 802A972C 2C 03 00 01 */ cmpwi r3, 1 -/* 802A9730 40 82 00 44 */ bne lbl_802A9774 -/* 802A9734 C0 82 BE 28 */ lfs f4, lit_380(r2) -/* 802A9738 FC A0 E0 90 */ fmr f5, f28 -/* 802A973C 38 60 00 01 */ li r3, 1 -/* 802A9740 4B FF FF 4D */ bl linearTransform__6Z2CalcFfffffb -/* 802A9744 48 0C 2F FD */ bl exp -/* 802A9748 FF E0 08 18 */ frsp f31, f1 -/* 802A974C FC 20 E0 90 */ fmr f1, f28 -/* 802A9750 48 0C 2F F1 */ bl exp -/* 802A9754 FC 60 08 18 */ frsp f3, f1 -/* 802A9758 FC 20 F8 90 */ fmr f1, f31 -/* 802A975C C0 42 BE 2C */ lfs f2, lit_381(r2) -/* 802A9760 FC 80 E8 90 */ fmr f4, f29 -/* 802A9764 FC A0 F0 90 */ fmr f5, f30 -/* 802A9768 38 60 00 01 */ li r3, 1 -/* 802A976C 4B FF FF 21 */ bl linearTransform__6Z2CalcFfffffb -/* 802A9770 48 00 00 58 */ b lbl_802A97C8 -lbl_802A9774: -/* 802A9774 2C 03 00 00 */ cmpwi r3, 0 -/* 802A9778 40 82 00 40 */ bne lbl_802A97B8 -/* 802A977C C0 A2 BE 28 */ lfs f5, lit_380(r2) -/* 802A9780 38 60 00 01 */ li r3, 1 -/* 802A9784 4B FF FF 09 */ bl linearTransform__6Z2CalcFfffffb -/* 802A9788 48 0C 2F B9 */ bl exp -/* 802A978C FF E0 08 18 */ frsp f31, f1 -/* 802A9790 FC 20 E0 90 */ fmr f1, f28 -/* 802A9794 48 0C 2F AD */ bl exp -/* 802A9798 FC 40 08 18 */ frsp f2, f1 -/* 802A979C FC 20 F8 90 */ fmr f1, f31 -/* 802A97A0 C0 62 BE 2C */ lfs f3, lit_381(r2) -/* 802A97A4 FC 80 E8 90 */ fmr f4, f29 -/* 802A97A8 FC A0 F0 90 */ fmr f5, f30 -/* 802A97AC 38 60 00 01 */ li r3, 1 -/* 802A97B0 4B FF FE DD */ bl linearTransform__6Z2CalcFfffffb -/* 802A97B4 48 00 00 14 */ b lbl_802A97C8 -lbl_802A97B8: -/* 802A97B8 FC 80 E8 90 */ fmr f4, f29 -/* 802A97BC FC A0 F0 90 */ fmr f5, f30 -/* 802A97C0 38 60 00 00 */ li r3, 0 -/* 802A97C4 4B FF FE C9 */ bl linearTransform__6Z2CalcFfffffb -lbl_802A97C8: -/* 802A97C8 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 802A97CC 40 81 00 0C */ ble lbl_802A97D8 -/* 802A97D0 FC 20 F0 90 */ fmr f1, f30 -/* 802A97D4 48 00 00 10 */ b lbl_802A97E4 -lbl_802A97D8: -/* 802A97D8 FC 01 E8 40 */ fcmpo cr0, f1, f29 -/* 802A97DC 40 80 00 08 */ bge lbl_802A97E4 -/* 802A97E0 FC 20 E8 90 */ fmr f1, f29 -lbl_802A97E4: -/* 802A97E4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 802A97E8 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802A97EC E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 802A97F0 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 802A97F4 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 802A97F8 CB A1 00 20 */ lfd f29, 0x20(r1) -/* 802A97FC E3 81 00 18 */ psq_l f28, 24(r1), 0, 0 /* qr0 */ -/* 802A9800 CB 81 00 10 */ lfd f28, 0x10(r1) -/* 802A9804 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802A9808 7C 08 03 A6 */ mtlr r0 -/* 802A980C 38 21 00 50 */ addi r1, r1, 0x50 -/* 802A9810 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s b/asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s deleted file mode 100644 index 709cb2d83c7..00000000000 --- a/asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_802A98D4: -/* 802A98D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A98D8 7C 08 02 A6 */ mflr r0 -/* 802A98DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A98E0 88 0D 8D B0 */ lbz r0, data_80451330(r13) -/* 802A98E4 7C 00 07 75 */ extsb. r0, r0 -/* 802A98E8 40 82 00 18 */ bne lbl_802A9900 -/* 802A98EC 38 6D 8D B4 */ la r3, oRandom(r13) /* 80451334-_SDA_BASE_ */ -/* 802A98F0 38 80 00 00 */ li r4, 0 -/* 802A98F4 48 09 01 F1 */ bl __ct__Q25JMath13TRandom_fast_FUl -/* 802A98F8 38 00 00 01 */ li r0, 1 -/* 802A98FC 98 0D 8D B0 */ stb r0, data_80451330(r13) -lbl_802A9900: -/* 802A9900 80 8D 8D B4 */ lwz r4, oRandom(r13) -/* 802A9904 3C 60 00 19 */ lis r3, 0x0019 /* 0x0019660D@ha */ -/* 802A9908 38 03 66 0D */ addi r0, r3, 0x660D /* 0x0019660D@l */ -/* 802A990C 7C 64 01 D6 */ mullw r3, r4, r0 -/* 802A9910 3C 63 3C 6F */ addis r3, r3, 0x3c6f -/* 802A9914 38 03 F3 5F */ addi r0, r3, -3233 -/* 802A9918 90 0D 8D B4 */ stw r0, oRandom(r13) -/* 802A991C 54 00 BA 7E */ srwi r0, r0, 9 -/* 802A9920 64 00 3F 80 */ oris r0, r0, 0x3f80 -/* 802A9924 90 01 00 08 */ stw r0, 8(r1) -/* 802A9928 C0 21 00 08 */ lfs f1, 8(r1) -/* 802A992C C0 02 BE 2C */ lfs f0, lit_381(r2) -/* 802A9930 EC 21 00 28 */ fsubs f1, f1, f0 -/* 802A9934 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A9938 7C 08 03 A6 */ mtlr r0 -/* 802A993C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A9940 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s b/asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s deleted file mode 100644 index cb062845989..00000000000 --- a/asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_802A9814: -/* 802A9814 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 802A9818 7C 08 02 A6 */ mflr r0 -/* 802A981C 90 01 00 64 */ stw r0, 0x64(r1) -/* 802A9820 DB E1 00 50 */ stfd f31, 0x50(r1) -/* 802A9824 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 802A9828 DB C1 00 40 */ stfd f30, 0x40(r1) -/* 802A982C F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */ -/* 802A9830 DB A1 00 30 */ stfd f29, 0x30(r1) -/* 802A9834 F3 A1 00 38 */ psq_st f29, 56(r1), 0, 0 /* qr0 */ -/* 802A9838 DB 81 00 20 */ stfd f28, 0x20(r1) -/* 802A983C F3 81 00 28 */ psq_st f28, 40(r1), 0, 0 /* qr0 */ -/* 802A9840 DB 61 00 10 */ stfd f27, 0x10(r1) -/* 802A9844 F3 61 00 18 */ psq_st f27, 24(r1), 0, 0 /* qr0 */ -/* 802A9848 FF 60 08 90 */ fmr f27, f1 -/* 802A984C FF 80 10 90 */ fmr f28, f2 -/* 802A9850 FF A0 18 90 */ fmr f29, f3 -/* 802A9854 C0 02 BE 30 */ lfs f0, lit_396(r2) -/* 802A9858 EF E0 07 72 */ fmuls f31, f0, f29 -/* 802A985C C0 22 BE 34 */ lfs f1, lit_397(r2) -/* 802A9860 C0 02 BE 2C */ lfs f0, lit_381(r2) -/* 802A9864 EC 00 E8 28 */ fsubs f0, f0, f29 -/* 802A9868 EF C1 00 32 */ fmuls f30, f1, f0 -/* 802A986C 48 00 00 69 */ bl getRandom_0_1__6Z2CalcFv -/* 802A9870 FC 01 E8 40 */ fcmpo cr0, f1, f29 -/* 802A9874 40 80 00 0C */ bge lbl_802A9880 -/* 802A9878 FC 00 F8 90 */ fmr f0, f31 -/* 802A987C 48 00 00 08 */ b lbl_802A9884 -lbl_802A9880: -/* 802A9880 FC 00 F0 90 */ fmr f0, f30 -lbl_802A9884: -/* 802A9884 EF 7B 00 32 */ fmuls f27, f27, f0 -/* 802A9888 48 00 00 4D */ bl getRandom_0_1__6Z2CalcFv -/* 802A988C FC 40 E0 90 */ fmr f2, f28 -/* 802A9890 48 0C 2E F1 */ bl pow -/* 802A9894 FC 00 08 18 */ frsp f0, f1 -/* 802A9898 EC 20 06 F2 */ fmuls f1, f0, f27 -/* 802A989C E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 802A98A0 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 802A98A4 E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */ -/* 802A98A8 CB C1 00 40 */ lfd f30, 0x40(r1) -/* 802A98AC E3 A1 00 38 */ psq_l f29, 56(r1), 0, 0 /* qr0 */ -/* 802A98B0 CB A1 00 30 */ lfd f29, 0x30(r1) -/* 802A98B4 E3 81 00 28 */ psq_l f28, 40(r1), 0, 0 /* qr0 */ -/* 802A98B8 CB 81 00 20 */ lfd f28, 0x20(r1) -/* 802A98BC E3 61 00 18 */ psq_l f27, 24(r1), 0, 0 /* qr0 */ -/* 802A98C0 CB 61 00 10 */ lfd f27, 0x10(r1) -/* 802A98C4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802A98C8 7C 08 03 A6 */ mtlr r0 -/* 802A98CC 38 21 00 60 */ addi r1, r1, 0x60 -/* 802A98D0 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s b/asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s deleted file mode 100644 index 9bef3a82beb..00000000000 --- a/asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_802A968C: -/* 802A968C EC C1 10 28 */ fsubs f6, f1, f2 -/* 802A9690 EC 25 20 28 */ fsubs f1, f5, f4 -/* 802A9694 EC 03 10 28 */ fsubs f0, f3, f2 -/* 802A9698 EC 01 00 24 */ fdivs f0, f1, f0 -/* 802A969C EC 06 00 32 */ fmuls f0, f6, f0 -/* 802A96A0 EC 24 00 2A */ fadds f1, f4, f0 -/* 802A96A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A96A8 4C 82 00 20 */ bnelr -/* 802A96AC FC 04 28 40 */ fcmpo cr0, f4, f5 -/* 802A96B0 40 80 00 24 */ bge lbl_802A96D4 -/* 802A96B4 FC 01 28 40 */ fcmpo cr0, f1, f5 -/* 802A96B8 40 81 00 0C */ ble lbl_802A96C4 -/* 802A96BC FC 20 28 90 */ fmr f1, f5 -/* 802A96C0 4E 80 00 20 */ blr -lbl_802A96C4: -/* 802A96C4 FC 01 20 40 */ fcmpo cr0, f1, f4 -/* 802A96C8 4C 80 00 20 */ bgelr -/* 802A96CC FC 20 20 90 */ fmr f1, f4 -/* 802A96D0 4E 80 00 20 */ blr -lbl_802A96D4: -/* 802A96D4 FC 01 20 40 */ fcmpo cr0, f1, f4 -/* 802A96D8 40 81 00 0C */ ble lbl_802A96E4 -/* 802A96DC FC 20 20 90 */ fmr f1, f4 -/* 802A96E0 4E 80 00 20 */ blr -lbl_802A96E4: -/* 802A96E4 FC 01 28 40 */ fcmpo cr0, f1, f5 -/* 802A96E8 4C 80 00 20 */ bgelr -/* 802A96EC FC 20 28 90 */ fmr f1, f5 -/* 802A96F0 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s b/asm/Z2AudioLib/Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s deleted file mode 100644 index be28e947497..00000000000 --- a/asm/Z2AudioLib/Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802A9944: -/* 802A9944 D0 23 00 00 */ stfs f1, 0(r3) -/* 802A9948 D0 23 00 04 */ stfs f1, 4(r3) -/* 802A994C D0 43 00 0C */ stfs f2, 0xc(r3) -/* 802A9950 D0 63 00 08 */ stfs f3, 8(r3) -/* 802A9954 4E 80 00 20 */ blr diff --git a/asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s b/asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s deleted file mode 100644 index fc737c177ff..00000000000 --- a/asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802A9958: -/* 802A9958 EC 01 00 72 */ fmuls f0, f1, f1 -/* 802A995C EC 41 00 2A */ fadds f2, f1, f0 -/* 802A9960 C0 02 BE 2C */ lfs f0, lit_381(r2) -/* 802A9964 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 802A9968 40 81 00 20 */ ble lbl_802A9988 -/* 802A996C EC 42 00 28 */ fsubs f2, f2, f0 -/* 802A9970 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 802A9974 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802A9978 40 80 00 08 */ bge lbl_802A9980 -/* 802A997C EC 42 00 2A */ fadds f2, f2, f0 -lbl_802A9980: -/* 802A9980 FC 20 10 90 */ fmr f1, f2 -/* 802A9984 4E 80 00 20 */ blr -lbl_802A9988: -/* 802A9988 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 802A998C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802A9990 40 80 00 08 */ bge lbl_802A9998 -/* 802A9994 EC 42 00 2A */ fadds f2, f2, f0 -lbl_802A9998: -/* 802A9998 FC 20 10 90 */ fmr f1, f2 -/* 802A999C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s b/asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s deleted file mode 100644 index cf211a24b33..00000000000 --- a/asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80020444: -/* 80020444 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80020448 7C 08 02 A6 */ mflr r0 -/* 8002044C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80020450 80 6D 80 50 */ lwz r3, g_fopDwTg_Queue(r13) -/* 80020454 80 63 00 00 */ lwz r3, 0(r3) -/* 80020458 38 00 00 00 */ li r0, 0 -/* 8002045C 90 0D 87 78 */ stw r0, l_fopDwTg_id(r13) -/* 80020460 28 03 00 00 */ cmplwi r3, 0 -/* 80020464 41 82 00 08 */ beq lbl_8002046C -/* 80020468 48 00 00 08 */ b lbl_80020470 -lbl_8002046C: -/* 8002046C 4B FF FF 95 */ bl fopDwIt_GetTag__Fv -lbl_80020470: -/* 80020470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80020474 7C 08 03 A6 */ mtlr r0 -/* 80020478 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002047C 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s b/asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s deleted file mode 100644 index 151fa813bdd..00000000000 --- a/asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80020400: -/* 80020400 80 8D 80 50 */ lwz r4, g_fopDwTg_Queue(r13) -/* 80020404 38 6D 80 50 */ la r3, g_fopDwTg_Queue(r13) /* 804505D0-_SDA_BASE_ */ -/* 80020408 80 A3 00 04 */ lwz r5, 4(r3) -/* 8002040C 48 00 00 20 */ b lbl_8002042C -lbl_80020410: -/* 80020410 80 6D 87 78 */ lwz r3, l_fopDwTg_id(r13) -/* 80020414 38 03 00 01 */ addi r0, r3, 1 -/* 80020418 90 0D 87 78 */ stw r0, l_fopDwTg_id(r13) -/* 8002041C 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80020420 7C 64 00 2E */ lwzx r3, r4, r0 -/* 80020424 28 03 00 00 */ cmplwi r3, 0 -/* 80020428 4C 82 00 20 */ bnelr -lbl_8002042C: -/* 8002042C 80 6D 87 78 */ lwz r3, l_fopDwTg_id(r13) -/* 80020430 38 03 00 01 */ addi r0, r3, 1 -/* 80020434 7C 00 28 00 */ cmpw r0, r5 -/* 80020438 41 80 FF D8 */ blt lbl_80020410 -/* 8002043C 38 60 00 00 */ li r3, 0 -/* 80020440 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_draw_iter/fopDwIt_Next__FP16create_tag_class.s b/asm/f_op/f_op_draw_iter/fopDwIt_Next__FP16create_tag_class.s deleted file mode 100644 index 6c37d1d468d..00000000000 --- a/asm/f_op/f_op_draw_iter/fopDwIt_Next__FP16create_tag_class.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80020480: -/* 80020480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80020484 7C 08 02 A6 */ mflr r0 -/* 80020488 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002048C 80 63 00 08 */ lwz r3, 8(r3) -/* 80020490 28 03 00 00 */ cmplwi r3, 0 -/* 80020494 40 82 00 08 */ bne lbl_8002049C -/* 80020498 4B FF FF 69 */ bl fopDwIt_GetTag__Fv -lbl_8002049C: -/* 8002049C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800204A0 7C 08 03 A6 */ mtlr r0 -/* 800204A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800204A8 4E 80 00 20 */ blr diff --git a/include/JSystem/JMath/random.h b/include/JSystem/JMath/random.h index 5d7e6b72b76..c8448ed5130 100644 --- a/include/JSystem/JMath/random.h +++ b/include/JSystem/JMath/random.h @@ -3,4 +3,33 @@ #include "dolphin/types.h" +namespace JMath { +struct TRandom_fast_ { + u32 value; + + TRandom_fast_(u32 value); + u32 get(void) { + value = (value * 0x19660d) + 0x3c6ef35f; + return value; + } + + u32 get_bit32(void) { return this->get(); } + + // due to the float constant, having this function inlined adds that float to data, + // making it not match + float get_ufloat_1(void) { + // !@bug UB: in C++ it's not legal to read from an union member other + // than the last one that was written to. + union { + f32 f; + u32 s; + } out; + out.s = (this->get() >> 9) | 0x3f800000; + return out.f - 1; + } + + void setSeed(u32 seed) { value = seed; } +}; +} // namespace JMath + #endif /* RANDOM_H */ diff --git a/include/f_op/f_op_draw_tag.h b/include/f_op/f_op_draw_tag.h index 2787c928012..2510cd881b2 100644 --- a/include/f_op/f_op_draw_tag.h +++ b/include/f_op/f_op_draw_tag.h @@ -3,6 +3,8 @@ #include "SSystem/SComponent/c_tag.h" +extern node_lists_tree_class g_fopDwTg_Queue; + void fopDwTg_DrawQTo(create_tag_class* pTag); #endif \ No newline at end of file diff --git a/libs/JSystem/JMath/random.cpp b/libs/JSystem/JMath/random.cpp index 60200c617c4..a93fa31ef16 100644 --- a/libs/JSystem/JMath/random.cpp +++ b/libs/JSystem/JMath/random.cpp @@ -7,31 +7,11 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JMath { - struct TRandom_fast_ { - /* 80339AE4 */ TRandom_fast_(u32); - }; -}; - -// -// Forward References: -// - -extern "C" void __ct__Q25JMath13TRandom_fast_FUl(); - -// -// External References: -// - // // Declarations: // /* 80339AE4-80339AEC -00001 0008+00 0/0 0/0 0/0 .text __ct__Q25JMath13TRandom_fast_FUl */ JMath::TRandom_fast_::TRandom_fast_(u32 param_0) { - *(u32*)this = (u32)(param_0); + value = param_0; } diff --git a/libs/SSystem/SComponent/c_bg_w.cpp b/libs/SSystem/SComponent/c_bg_w.cpp index c461d991f53..dede9151025 100644 --- a/libs/SSystem/SComponent/c_bg_w.cpp +++ b/libs/SSystem/SComponent/c_bg_w.cpp @@ -23,8 +23,7 @@ void cBgW_BgId::Release() { /* 802681D4-802681E4 262B14 0010+00 0/0 7/7 121/121 .text ChkUsed__9cBgW_BgIdCFv */ unsigned int cBgW_BgId::ChkUsed() const { - unsigned int temp = mId - 0x100; - return temp >> 0x1f; + return mId < 0x100; } /* 802681E4-802681FC 262B24 0018+00 1/1 22/22 8/8 .text cBgW_CheckBGround__Ff */ diff --git a/libs/SSystem/SComponent/c_m3d_g_cir.cpp b/libs/SSystem/SComponent/c_m3d_g_cir.cpp index 7472fca065f..c5562c8a584 100644 --- a/libs/SSystem/SComponent/c_m3d_g_cir.cpp +++ b/libs/SSystem/SComponent/c_m3d_g_cir.cpp @@ -7,12 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// External References: -// - -void operator delete(void*); - // // Declarations: // diff --git a/libs/SSystem/SComponent/c_math.cpp b/libs/SSystem/SComponent/c_math.cpp index c98038d6550..2b797c69ea5 100644 --- a/libs/SSystem/SComponent/c_math.cpp +++ b/libs/SSystem/SComponent/c_math.cpp @@ -3,2286 +3,240 @@ // Translation Unit: c_math // -// #include "SSystem/SComponent/c_math.h" +#include "SSystem/SComponent/c_math.h" +#include "SSystem/SComponent/c_m3d.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void cM_rad2s__Ff(); -extern "C" static void U_GetAtanTable__Fff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_atan2f__Fff(); -extern "C" void cM_initRnd__Fiii(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cM_initRnd2__Fiii(); -extern "C" static void cM_rnd2__Fv(); -extern "C" void cM_rndF2__Ff(); -extern "C" void cM_rndFX2__Ff(); - -// -// External References: -// - -extern "C" void fmod(); -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; +#include "msl_c/math.h" // // Declarations: // -/* ############################################################################################## */ -/* 804550A8-804550B0 0036A8 0008+00 1/1 0/0 0/0 .sdata2 @2201 */ -SECTION_SDATA2 static f64 lit_2201 = 6.2831854820251465; - -/* 804550B0-804550B4 0036B0 0004+00 1/1 0/0 0/0 .sdata2 @2215 */ -SECTION_SDATA2 static f32 lit_2215 = 10430.3779296875f; - /* 802675E4-80267640 261F24 005C+00 0/0 23/23 11/11 .text cM_rad2s__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rad2s(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rad2s__Ff.s" +s16 cM_rad2s(float f0) { + f32 tmpF = fmod(f0, 6.2831854820251465 /* approx. 2 * PI */); + s32 tmp = (tmpF * 10430.378f /* approx. 32768 / PI */); + if (tmp < -0x8000) { + tmp += 0x10000; + } else if (tmp > 0x7FFF) { + tmp -= 0x10000; + } + return tmp; } -#pragma pop /* ############################################################################################## */ /* 803C3778-803C3F80 020898 0802+06 1/1 0/0 0/0 .data atntable */ -SECTION_DATA static u8 atntable[2050 + 6 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x0A, - 0x00, - 0x14, - 0x00, - 0x1F, - 0x00, - 0x29, - 0x00, - 0x33, - 0x00, - 0x3D, - 0x00, - 0x47, - 0x00, - 0x51, - 0x00, - 0x5C, - 0x00, - 0x66, - 0x00, - 0x70, - 0x00, - 0x7A, - 0x00, - 0x84, - 0x00, - 0x8F, - 0x00, - 0x99, - 0x00, - 0xA3, - 0x00, - 0xAD, - 0x00, - 0xB7, - 0x00, - 0xC2, - 0x00, - 0xCC, - 0x00, - 0xD6, - 0x00, - 0xE0, - 0x00, - 0xEA, - 0x00, - 0xF4, - 0x00, - 0xFF, - 0x01, - 0x09, - 0x01, - 0x13, - 0x01, - 0x1D, - 0x01, - 0x27, - 0x01, - 0x31, - 0x01, - 0x3C, - 0x01, - 0x46, - 0x01, - 0x50, - 0x01, - 0x5A, - 0x01, - 0x64, - 0x01, - 0x6F, - 0x01, - 0x79, - 0x01, - 0x83, - 0x01, - 0x8D, - 0x01, - 0x97, - 0x01, - 0xA1, - 0x01, - 0xAC, - 0x01, - 0xB6, - 0x01, - 0xC0, - 0x01, - 0xCA, - 0x01, - 0xD4, - 0x01, - 0xDE, - 0x01, - 0xE9, - 0x01, - 0xF3, - 0x01, - 0xFD, - 0x02, - 0x07, - 0x02, - 0x11, - 0x02, - 0x1B, - 0x02, - 0x26, - 0x02, - 0x30, - 0x02, - 0x3A, - 0x02, - 0x44, - 0x02, - 0x4E, - 0x02, - 0x58, - 0x02, - 0x62, - 0x02, - 0x6D, - 0x02, - 0x77, - 0x02, - 0x81, - 0x02, - 0x8B, - 0x02, - 0x95, - 0x02, - 0x9F, - 0x02, - 0xA9, - 0x02, - 0xB4, - 0x02, - 0xBE, - 0x02, - 0xC8, - 0x02, - 0xD2, - 0x02, - 0xDC, - 0x02, - 0xE6, - 0x02, - 0xF0, - 0x02, - 0xFB, - 0x03, - 0x05, - 0x03, - 0x0F, - 0x03, - 0x19, - 0x03, - 0x23, - 0x03, - 0x2D, - 0x03, - 0x37, - 0x03, - 0x41, - 0x03, - 0x4C, - 0x03, - 0x56, - 0x03, - 0x60, - 0x03, - 0x6A, - 0x03, - 0x74, - 0x03, - 0x7E, - 0x03, - 0x88, - 0x03, - 0x92, - 0x03, - 0x9C, - 0x03, - 0xA7, - 0x03, - 0xB1, - 0x03, - 0xBB, - 0x03, - 0xC5, - 0x03, - 0xCF, - 0x03, - 0xD9, - 0x03, - 0xE3, - 0x03, - 0xED, - 0x03, - 0xF7, - 0x04, - 0x01, - 0x04, - 0x0C, - 0x04, - 0x16, - 0x04, - 0x20, - 0x04, - 0x2A, - 0x04, - 0x34, - 0x04, - 0x3E, - 0x04, - 0x48, - 0x04, - 0x52, - 0x04, - 0x5C, - 0x04, - 0x66, - 0x04, - 0x70, - 0x04, - 0x7A, - 0x04, - 0x84, - 0x04, - 0x8E, - 0x04, - 0x99, - 0x04, - 0xA3, - 0x04, - 0xAD, - 0x04, - 0xB7, - 0x04, - 0xC1, - 0x04, - 0xCB, - 0x04, - 0xD5, - 0x04, - 0xDF, - 0x04, - 0xE9, - 0x04, - 0xF3, - 0x04, - 0xFD, - 0x05, - 0x07, - 0x05, - 0x11, - 0x05, - 0x1B, - 0x05, - 0x25, - 0x05, - 0x2F, - 0x05, - 0x39, - 0x05, - 0x43, - 0x05, - 0x4D, - 0x05, - 0x57, - 0x05, - 0x61, - 0x05, - 0x6B, - 0x05, - 0x75, - 0x05, - 0x7F, - 0x05, - 0x89, - 0x05, - 0x93, - 0x05, - 0x9D, - 0x05, - 0xA7, - 0x05, - 0xB1, - 0x05, - 0xBB, - 0x05, - 0xC5, - 0x05, - 0xCF, - 0x05, - 0xD9, - 0x05, - 0xE3, - 0x05, - 0xED, - 0x05, - 0xF7, - 0x06, - 0x01, - 0x06, - 0x0B, - 0x06, - 0x15, - 0x06, - 0x1F, - 0x06, - 0x29, - 0x06, - 0x33, - 0x06, - 0x3D, - 0x06, - 0x47, - 0x06, - 0x51, - 0x06, - 0x5B, - 0x06, - 0x65, - 0x06, - 0x6E, - 0x06, - 0x78, - 0x06, - 0x82, - 0x06, - 0x8C, - 0x06, - 0x96, - 0x06, - 0xA0, - 0x06, - 0xAA, - 0x06, - 0xB4, - 0x06, - 0xBE, - 0x06, - 0xC8, - 0x06, - 0xD2, - 0x06, - 0xDC, - 0x06, - 0xE5, - 0x06, - 0xEF, - 0x06, - 0xF9, - 0x07, - 0x03, - 0x07, - 0x0D, - 0x07, - 0x17, - 0x07, - 0x21, - 0x07, - 0x2B, - 0x07, - 0x35, - 0x07, - 0x3E, - 0x07, - 0x48, - 0x07, - 0x52, - 0x07, - 0x5C, - 0x07, - 0x66, - 0x07, - 0x70, - 0x07, - 0x7A, - 0x07, - 0x83, - 0x07, - 0x8D, - 0x07, - 0x97, - 0x07, - 0xA1, - 0x07, - 0xAB, - 0x07, - 0xB5, - 0x07, - 0xBE, - 0x07, - 0xC8, - 0x07, - 0xD2, - 0x07, - 0xDC, - 0x07, - 0xE6, - 0x07, - 0xEF, - 0x07, - 0xF9, - 0x08, - 0x03, - 0x08, - 0x0D, - 0x08, - 0x17, - 0x08, - 0x20, - 0x08, - 0x2A, - 0x08, - 0x34, - 0x08, - 0x3E, - 0x08, - 0x48, - 0x08, - 0x51, - 0x08, - 0x5B, - 0x08, - 0x65, - 0x08, - 0x6F, - 0x08, - 0x78, - 0x08, - 0x82, - 0x08, - 0x8C, - 0x08, - 0x96, - 0x08, - 0x9F, - 0x08, - 0xA9, - 0x08, - 0xB3, - 0x08, - 0xBD, - 0x08, - 0xC6, - 0x08, - 0xD0, - 0x08, - 0xDA, - 0x08, - 0xE3, - 0x08, - 0xED, - 0x08, - 0xF7, - 0x09, - 0x01, - 0x09, - 0x0A, - 0x09, - 0x14, - 0x09, - 0x1E, - 0x09, - 0x27, - 0x09, - 0x31, - 0x09, - 0x3B, - 0x09, - 0x44, - 0x09, - 0x4E, - 0x09, - 0x58, - 0x09, - 0x61, - 0x09, - 0x6B, - 0x09, - 0x75, - 0x09, - 0x7E, - 0x09, - 0x88, - 0x09, - 0x92, - 0x09, - 0x9B, - 0x09, - 0xA5, - 0x09, - 0xAE, - 0x09, - 0xB8, - 0x09, - 0xC2, - 0x09, - 0xCB, - 0x09, - 0xD5, - 0x09, - 0xDE, - 0x09, - 0xE8, - 0x09, - 0xF2, - 0x09, - 0xFB, - 0x0A, - 0x05, - 0x0A, - 0x0E, - 0x0A, - 0x18, - 0x0A, - 0x22, - 0x0A, - 0x2B, - 0x0A, - 0x35, - 0x0A, - 0x3E, - 0x0A, - 0x48, - 0x0A, - 0x51, - 0x0A, - 0x5B, - 0x0A, - 0x64, - 0x0A, - 0x6E, - 0x0A, - 0x77, - 0x0A, - 0x81, - 0x0A, - 0x8B, - 0x0A, - 0x94, - 0x0A, - 0x9E, - 0x0A, - 0xA7, - 0x0A, - 0xB1, - 0x0A, - 0xBA, - 0x0A, - 0xC4, - 0x0A, - 0xCD, - 0x0A, - 0xD7, - 0x0A, - 0xE0, - 0x0A, - 0xE9, - 0x0A, - 0xF3, - 0x0A, - 0xFC, - 0x0B, - 0x06, - 0x0B, - 0x0F, - 0x0B, - 0x19, - 0x0B, - 0x22, - 0x0B, - 0x2C, - 0x0B, - 0x35, - 0x0B, - 0x3F, - 0x0B, - 0x48, - 0x0B, - 0x51, - 0x0B, - 0x5B, - 0x0B, - 0x64, - 0x0B, - 0x6E, - 0x0B, - 0x77, - 0x0B, - 0x80, - 0x0B, - 0x8A, - 0x0B, - 0x93, - 0x0B, - 0x9D, - 0x0B, - 0xA6, - 0x0B, - 0xAF, - 0x0B, - 0xB9, - 0x0B, - 0xC2, - 0x0B, - 0xCB, - 0x0B, - 0xD5, - 0x0B, - 0xDE, - 0x0B, - 0xE7, - 0x0B, - 0xF1, - 0x0B, - 0xFA, - 0x0C, - 0x03, - 0x0C, - 0x0D, - 0x0C, - 0x16, - 0x0C, - 0x1F, - 0x0C, - 0x29, - 0x0C, - 0x32, - 0x0C, - 0x3B, - 0x0C, - 0x45, - 0x0C, - 0x4E, - 0x0C, - 0x57, - 0x0C, - 0x60, - 0x0C, - 0x6A, - 0x0C, - 0x73, - 0x0C, - 0x7C, - 0x0C, - 0x86, - 0x0C, - 0x8F, - 0x0C, - 0x98, - 0x0C, - 0xA1, - 0x0C, - 0xAB, - 0x0C, - 0xB4, - 0x0C, - 0xBD, - 0x0C, - 0xC6, - 0x0C, - 0xCF, - 0x0C, - 0xD9, - 0x0C, - 0xE2, - 0x0C, - 0xEB, - 0x0C, - 0xF4, - 0x0C, - 0xFD, - 0x0D, - 0x07, - 0x0D, - 0x10, - 0x0D, - 0x19, - 0x0D, - 0x22, - 0x0D, - 0x2B, - 0x0D, - 0x34, - 0x0D, - 0x3E, - 0x0D, - 0x47, - 0x0D, - 0x50, - 0x0D, - 0x59, - 0x0D, - 0x62, - 0x0D, - 0x6B, - 0x0D, - 0x74, - 0x0D, - 0x7D, - 0x0D, - 0x87, - 0x0D, - 0x90, - 0x0D, - 0x99, - 0x0D, - 0xA2, - 0x0D, - 0xAB, - 0x0D, - 0xB4, - 0x0D, - 0xBD, - 0x0D, - 0xC6, - 0x0D, - 0xCF, - 0x0D, - 0xD8, - 0x0D, - 0xE1, - 0x0D, - 0xEA, - 0x0D, - 0xF3, - 0x0D, - 0xFC, - 0x0E, - 0x05, - 0x0E, - 0x0F, - 0x0E, - 0x18, - 0x0E, - 0x21, - 0x0E, - 0x2A, - 0x0E, - 0x33, - 0x0E, - 0x3C, - 0x0E, - 0x45, - 0x0E, - 0x4E, - 0x0E, - 0x56, - 0x0E, - 0x5F, - 0x0E, - 0x68, - 0x0E, - 0x71, - 0x0E, - 0x7A, - 0x0E, - 0x83, - 0x0E, - 0x8C, - 0x0E, - 0x95, - 0x0E, - 0x9E, - 0x0E, - 0xA7, - 0x0E, - 0xB0, - 0x0E, - 0xB9, - 0x0E, - 0xC2, - 0x0E, - 0xCB, - 0x0E, - 0xD4, - 0x0E, - 0xDC, - 0x0E, - 0xE5, - 0x0E, - 0xEE, - 0x0E, - 0xF7, - 0x0F, - 0x00, - 0x0F, - 0x09, - 0x0F, - 0x12, - 0x0F, - 0x1B, - 0x0F, - 0x23, - 0x0F, - 0x2C, - 0x0F, - 0x35, - 0x0F, - 0x3E, - 0x0F, - 0x47, - 0x0F, - 0x50, - 0x0F, - 0x58, - 0x0F, - 0x61, - 0x0F, - 0x6A, - 0x0F, - 0x73, - 0x0F, - 0x7C, - 0x0F, - 0x84, - 0x0F, - 0x8D, - 0x0F, - 0x96, - 0x0F, - 0x9F, - 0x0F, - 0xA7, - 0x0F, - 0xB0, - 0x0F, - 0xB9, - 0x0F, - 0xC2, - 0x0F, - 0xCA, - 0x0F, - 0xD3, - 0x0F, - 0xDC, - 0x0F, - 0xE5, - 0x0F, - 0xED, - 0x0F, - 0xF6, - 0x0F, - 0xFF, - 0x10, - 0x07, - 0x10, - 0x10, - 0x10, - 0x19, - 0x10, - 0x21, - 0x10, - 0x2A, - 0x10, - 0x33, - 0x10, - 0x3B, - 0x10, - 0x44, - 0x10, - 0x4D, - 0x10, - 0x55, - 0x10, - 0x5E, - 0x10, - 0x67, - 0x10, - 0x6F, - 0x10, - 0x78, - 0x10, - 0x80, - 0x10, - 0x89, - 0x10, - 0x92, - 0x10, - 0x9A, - 0x10, - 0xA3, - 0x10, - 0xAB, - 0x10, - 0xB4, - 0x10, - 0xBC, - 0x10, - 0xC5, - 0x10, - 0xCE, - 0x10, - 0xD6, - 0x10, - 0xDF, - 0x10, - 0xE7, - 0x10, - 0xF0, - 0x10, - 0xF8, - 0x11, - 0x01, - 0x11, - 0x09, - 0x11, - 0x12, - 0x11, - 0x1A, - 0x11, - 0x23, - 0x11, - 0x2B, - 0x11, - 0x34, - 0x11, - 0x3C, - 0x11, - 0x45, - 0x11, - 0x4D, - 0x11, - 0x56, - 0x11, - 0x5E, - 0x11, - 0x66, - 0x11, - 0x6F, - 0x11, - 0x77, - 0x11, - 0x80, - 0x11, - 0x88, - 0x11, - 0x91, - 0x11, - 0x99, - 0x11, - 0xA1, - 0x11, - 0xAA, - 0x11, - 0xB2, - 0x11, - 0xBB, - 0x11, - 0xC3, - 0x11, - 0xCB, - 0x11, - 0xD4, - 0x11, - 0xDC, - 0x11, - 0xE4, - 0x11, - 0xED, - 0x11, - 0xF5, - 0x11, - 0xFD, - 0x12, - 0x06, - 0x12, - 0x0E, - 0x12, - 0x16, - 0x12, - 0x1F, - 0x12, - 0x27, - 0x12, - 0x2F, - 0x12, - 0x37, - 0x12, - 0x40, - 0x12, - 0x48, - 0x12, - 0x50, - 0x12, - 0x59, - 0x12, - 0x61, - 0x12, - 0x69, - 0x12, - 0x71, - 0x12, - 0x7A, - 0x12, - 0x82, - 0x12, - 0x8A, - 0x12, - 0x92, - 0x12, - 0x9A, - 0x12, - 0xA3, - 0x12, - 0xAB, - 0x12, - 0xB3, - 0x12, - 0xBB, - 0x12, - 0xC3, - 0x12, - 0xCC, - 0x12, - 0xD4, - 0x12, - 0xDC, - 0x12, - 0xE4, - 0x12, - 0xEC, - 0x12, - 0xF4, - 0x12, - 0xFC, - 0x13, - 0x05, - 0x13, - 0x0D, - 0x13, - 0x15, - 0x13, - 0x1D, - 0x13, - 0x25, - 0x13, - 0x2D, - 0x13, - 0x35, - 0x13, - 0x3D, - 0x13, - 0x45, - 0x13, - 0x4D, - 0x13, - 0x55, - 0x13, - 0x5E, - 0x13, - 0x66, - 0x13, - 0x6E, - 0x13, - 0x76, - 0x13, - 0x7E, - 0x13, - 0x86, - 0x13, - 0x8E, - 0x13, - 0x96, - 0x13, - 0x9E, - 0x13, - 0xA6, - 0x13, - 0xAE, - 0x13, - 0xB6, - 0x13, - 0xBE, - 0x13, - 0xC6, - 0x13, - 0xCE, - 0x13, - 0xD6, - 0x13, - 0xDE, - 0x13, - 0xE6, - 0x13, - 0xED, - 0x13, - 0xF5, - 0x13, - 0xFD, - 0x14, - 0x05, - 0x14, - 0x0D, - 0x14, - 0x15, - 0x14, - 0x1D, - 0x14, - 0x25, - 0x14, - 0x2D, - 0x14, - 0x35, - 0x14, - 0x3D, - 0x14, - 0x44, - 0x14, - 0x4C, - 0x14, - 0x54, - 0x14, - 0x5C, - 0x14, - 0x64, - 0x14, - 0x6C, - 0x14, - 0x73, - 0x14, - 0x7B, - 0x14, - 0x83, - 0x14, - 0x8B, - 0x14, - 0x93, - 0x14, - 0x9B, - 0x14, - 0xA2, - 0x14, - 0xAA, - 0x14, - 0xB2, - 0x14, - 0xBA, - 0x14, - 0xC1, - 0x14, - 0xC9, - 0x14, - 0xD1, - 0x14, - 0xD9, - 0x14, - 0xE0, - 0x14, - 0xE8, - 0x14, - 0xF0, - 0x14, - 0xF8, - 0x14, - 0xFF, - 0x15, - 0x07, - 0x15, - 0x0F, - 0x15, - 0x16, - 0x15, - 0x1E, - 0x15, - 0x26, - 0x15, - 0x2D, - 0x15, - 0x35, - 0x15, - 0x3D, - 0x15, - 0x44, - 0x15, - 0x4C, - 0x15, - 0x54, - 0x15, - 0x5B, - 0x15, - 0x63, - 0x15, - 0x6B, - 0x15, - 0x72, - 0x15, - 0x7A, - 0x15, - 0x81, - 0x15, - 0x89, - 0x15, - 0x91, - 0x15, - 0x98, - 0x15, - 0xA0, - 0x15, - 0xA7, - 0x15, - 0xAF, - 0x15, - 0xB7, - 0x15, - 0xBE, - 0x15, - 0xC6, - 0x15, - 0xCD, - 0x15, - 0xD5, - 0x15, - 0xDC, - 0x15, - 0xE4, - 0x15, - 0xEB, - 0x15, - 0xF3, - 0x15, - 0xFA, - 0x16, - 0x02, - 0x16, - 0x09, - 0x16, - 0x11, - 0x16, - 0x18, - 0x16, - 0x20, - 0x16, - 0x27, - 0x16, - 0x2F, - 0x16, - 0x36, - 0x16, - 0x3E, - 0x16, - 0x45, - 0x16, - 0x4C, - 0x16, - 0x54, - 0x16, - 0x5B, - 0x16, - 0x63, - 0x16, - 0x6A, - 0x16, - 0x71, - 0x16, - 0x79, - 0x16, - 0x80, - 0x16, - 0x88, - 0x16, - 0x8F, - 0x16, - 0x96, - 0x16, - 0x9E, - 0x16, - 0xA5, - 0x16, - 0xAC, - 0x16, - 0xB4, - 0x16, - 0xBB, - 0x16, - 0xC2, - 0x16, - 0xCA, - 0x16, - 0xD1, - 0x16, - 0xD8, - 0x16, - 0xE0, - 0x16, - 0xE7, - 0x16, - 0xEE, - 0x16, - 0xF6, - 0x16, - 0xFD, - 0x17, - 0x04, - 0x17, - 0x0B, - 0x17, - 0x13, - 0x17, - 0x1A, - 0x17, - 0x21, - 0x17, - 0x28, - 0x17, - 0x30, - 0x17, - 0x37, - 0x17, - 0x3E, - 0x17, - 0x45, - 0x17, - 0x4C, - 0x17, - 0x54, - 0x17, - 0x5B, - 0x17, - 0x62, - 0x17, - 0x69, - 0x17, - 0x70, - 0x17, - 0x78, - 0x17, - 0x7F, - 0x17, - 0x86, - 0x17, - 0x8D, - 0x17, - 0x94, - 0x17, - 0x9B, - 0x17, - 0xA2, - 0x17, - 0xAA, - 0x17, - 0xB1, - 0x17, - 0xB8, - 0x17, - 0xBF, - 0x17, - 0xC6, - 0x17, - 0xCD, - 0x17, - 0xD4, - 0x17, - 0xDB, - 0x17, - 0xE2, - 0x17, - 0xE9, - 0x17, - 0xF0, - 0x17, - 0xF7, - 0x17, - 0xFE, - 0x18, - 0x06, - 0x18, - 0x0D, - 0x18, - 0x14, - 0x18, - 0x1B, - 0x18, - 0x22, - 0x18, - 0x29, - 0x18, - 0x30, - 0x18, - 0x37, - 0x18, - 0x3E, - 0x18, - 0x45, - 0x18, - 0x4C, - 0x18, - 0x53, - 0x18, - 0x5A, - 0x18, - 0x60, - 0x18, - 0x67, - 0x18, - 0x6E, - 0x18, - 0x75, - 0x18, - 0x7C, - 0x18, - 0x83, - 0x18, - 0x8A, - 0x18, - 0x91, - 0x18, - 0x98, - 0x18, - 0x9F, - 0x18, - 0xA6, - 0x18, - 0xAD, - 0x18, - 0xB3, - 0x18, - 0xBA, - 0x18, - 0xC1, - 0x18, - 0xC8, - 0x18, - 0xCF, - 0x18, - 0xD6, - 0x18, - 0xDD, - 0x18, - 0xE3, - 0x18, - 0xEA, - 0x18, - 0xF1, - 0x18, - 0xF8, - 0x18, - 0xFF, - 0x19, - 0x06, - 0x19, - 0x0C, - 0x19, - 0x13, - 0x19, - 0x1A, - 0x19, - 0x21, - 0x19, - 0x28, - 0x19, - 0x2E, - 0x19, - 0x35, - 0x19, - 0x3C, - 0x19, - 0x43, - 0x19, - 0x49, - 0x19, - 0x50, - 0x19, - 0x57, - 0x19, - 0x5D, - 0x19, - 0x64, - 0x19, - 0x6B, - 0x19, - 0x72, - 0x19, - 0x78, - 0x19, - 0x7F, - 0x19, - 0x86, - 0x19, - 0x8C, - 0x19, - 0x93, - 0x19, - 0x9A, - 0x19, - 0xA0, - 0x19, - 0xA7, - 0x19, - 0xAE, - 0x19, - 0xB4, - 0x19, - 0xBB, - 0x19, - 0xC2, - 0x19, - 0xC8, - 0x19, - 0xCF, - 0x19, - 0xD5, - 0x19, - 0xDC, - 0x19, - 0xE3, - 0x19, - 0xE9, - 0x19, - 0xF0, - 0x19, - 0xF6, - 0x19, - 0xFD, - 0x1A, - 0x04, - 0x1A, - 0x0A, - 0x1A, - 0x11, - 0x1A, - 0x17, - 0x1A, - 0x1E, - 0x1A, - 0x24, - 0x1A, - 0x2B, - 0x1A, - 0x31, - 0x1A, - 0x38, - 0x1A, - 0x3E, - 0x1A, - 0x45, - 0x1A, - 0x4B, - 0x1A, - 0x52, - 0x1A, - 0x58, - 0x1A, - 0x5F, - 0x1A, - 0x65, - 0x1A, - 0x6C, - 0x1A, - 0x72, - 0x1A, - 0x79, - 0x1A, - 0x7F, - 0x1A, - 0x86, - 0x1A, - 0x8C, - 0x1A, - 0x93, - 0x1A, - 0x99, - 0x1A, - 0x9F, - 0x1A, - 0xA6, - 0x1A, - 0xAC, - 0x1A, - 0xB3, - 0x1A, - 0xB9, - 0x1A, - 0xC0, - 0x1A, - 0xC6, - 0x1A, - 0xCC, - 0x1A, - 0xD3, - 0x1A, - 0xD9, - 0x1A, - 0xDF, - 0x1A, - 0xE6, - 0x1A, - 0xEC, - 0x1A, - 0xF2, - 0x1A, - 0xF9, - 0x1A, - 0xFF, - 0x1B, - 0x05, - 0x1B, - 0x0C, - 0x1B, - 0x12, - 0x1B, - 0x18, - 0x1B, - 0x1F, - 0x1B, - 0x25, - 0x1B, - 0x2B, - 0x1B, - 0x32, - 0x1B, - 0x38, - 0x1B, - 0x3E, - 0x1B, - 0x44, - 0x1B, - 0x4B, - 0x1B, - 0x51, - 0x1B, - 0x57, - 0x1B, - 0x5D, - 0x1B, - 0x64, - 0x1B, - 0x6A, - 0x1B, - 0x70, - 0x1B, - 0x76, - 0x1B, - 0x7D, - 0x1B, - 0x83, - 0x1B, - 0x89, - 0x1B, - 0x8F, - 0x1B, - 0x95, - 0x1B, - 0x9C, - 0x1B, - 0xA2, - 0x1B, - 0xA8, - 0x1B, - 0xAE, - 0x1B, - 0xB4, - 0x1B, - 0xBA, - 0x1B, - 0xC1, - 0x1B, - 0xC7, - 0x1B, - 0xCD, - 0x1B, - 0xD3, - 0x1B, - 0xD9, - 0x1B, - 0xDF, - 0x1B, - 0xE5, - 0x1B, - 0xEB, - 0x1B, - 0xF2, - 0x1B, - 0xF8, - 0x1B, - 0xFE, - 0x1C, - 0x04, - 0x1C, - 0x0A, - 0x1C, - 0x10, - 0x1C, - 0x16, - 0x1C, - 0x1C, - 0x1C, - 0x22, - 0x1C, - 0x28, - 0x1C, - 0x2E, - 0x1C, - 0x34, - 0x1C, - 0x3A, - 0x1C, - 0x40, - 0x1C, - 0x46, - 0x1C, - 0x4C, - 0x1C, - 0x52, - 0x1C, - 0x58, - 0x1C, - 0x5E, - 0x1C, - 0x64, - 0x1C, - 0x6A, - 0x1C, - 0x70, - 0x1C, - 0x76, - 0x1C, - 0x7C, - 0x1C, - 0x82, - 0x1C, - 0x88, - 0x1C, - 0x8E, - 0x1C, - 0x94, - 0x1C, - 0x9A, - 0x1C, - 0xA0, - 0x1C, - 0xA6, - 0x1C, - 0xAC, - 0x1C, - 0xB2, - 0x1C, - 0xB8, - 0x1C, - 0xBE, - 0x1C, - 0xC3, - 0x1C, - 0xC9, - 0x1C, - 0xCF, - 0x1C, - 0xD5, - 0x1C, - 0xDB, - 0x1C, - 0xE1, - 0x1C, - 0xE7, - 0x1C, - 0xED, - 0x1C, - 0xF3, - 0x1C, - 0xF8, - 0x1C, - 0xFE, - 0x1D, - 0x04, - 0x1D, - 0x0A, - 0x1D, - 0x10, - 0x1D, - 0x16, - 0x1D, - 0x1B, - 0x1D, - 0x21, - 0x1D, - 0x27, - 0x1D, - 0x2D, - 0x1D, - 0x33, - 0x1D, - 0x38, - 0x1D, - 0x3E, - 0x1D, - 0x44, - 0x1D, - 0x4A, - 0x1D, - 0x4F, - 0x1D, - 0x55, - 0x1D, - 0x5B, - 0x1D, - 0x61, - 0x1D, - 0x66, - 0x1D, - 0x6C, - 0x1D, - 0x72, - 0x1D, - 0x78, - 0x1D, - 0x7D, - 0x1D, - 0x83, - 0x1D, - 0x89, - 0x1D, - 0x8E, - 0x1D, - 0x94, - 0x1D, - 0x9A, - 0x1D, - 0xA0, - 0x1D, - 0xA5, - 0x1D, - 0xAB, - 0x1D, - 0xB1, - 0x1D, - 0xB6, - 0x1D, - 0xBC, - 0x1D, - 0xC2, - 0x1D, - 0xC7, - 0x1D, - 0xCD, - 0x1D, - 0xD3, - 0x1D, - 0xD8, - 0x1D, - 0xDE, - 0x1D, - 0xE3, - 0x1D, - 0xE9, - 0x1D, - 0xEF, - 0x1D, - 0xF4, - 0x1D, - 0xFA, - 0x1D, - 0xFF, - 0x1E, - 0x05, - 0x1E, - 0x0B, - 0x1E, - 0x10, - 0x1E, - 0x16, - 0x1E, - 0x1B, - 0x1E, - 0x21, - 0x1E, - 0x26, - 0x1E, - 0x2C, - 0x1E, - 0x32, - 0x1E, - 0x37, - 0x1E, - 0x3D, - 0x1E, - 0x42, - 0x1E, - 0x48, - 0x1E, - 0x4D, - 0x1E, - 0x53, - 0x1E, - 0x58, - 0x1E, - 0x5E, - 0x1E, - 0x63, - 0x1E, - 0x69, - 0x1E, - 0x6E, - 0x1E, - 0x74, - 0x1E, - 0x79, - 0x1E, - 0x7F, - 0x1E, - 0x84, - 0x1E, - 0x8A, - 0x1E, - 0x8F, - 0x1E, - 0x94, - 0x1E, - 0x9A, - 0x1E, - 0x9F, - 0x1E, - 0xA5, - 0x1E, - 0xAA, - 0x1E, - 0xB0, - 0x1E, - 0xB5, - 0x1E, - 0xBA, - 0x1E, - 0xC0, - 0x1E, - 0xC5, - 0x1E, - 0xCB, - 0x1E, - 0xD0, - 0x1E, - 0xD5, - 0x1E, - 0xDB, - 0x1E, - 0xE0, - 0x1E, - 0xE6, - 0x1E, - 0xEB, - 0x1E, - 0xF0, - 0x1E, - 0xF6, - 0x1E, - 0xFB, - 0x1F, - 0x00, - 0x1F, - 0x06, - 0x1F, - 0x0B, - 0x1F, - 0x10, - 0x1F, - 0x16, - 0x1F, - 0x1B, - 0x1F, - 0x20, - 0x1F, - 0x26, - 0x1F, - 0x2B, - 0x1F, - 0x30, - 0x1F, - 0x36, - 0x1F, - 0x3B, - 0x1F, - 0x40, - 0x1F, - 0x45, - 0x1F, - 0x4B, - 0x1F, - 0x50, - 0x1F, - 0x55, - 0x1F, - 0x5A, - 0x1F, - 0x60, - 0x1F, - 0x65, - 0x1F, - 0x6A, - 0x1F, - 0x6F, - 0x1F, - 0x75, - 0x1F, - 0x7A, - 0x1F, - 0x7F, - 0x1F, - 0x84, - 0x1F, - 0x8A, - 0x1F, - 0x8F, - 0x1F, - 0x94, - 0x1F, - 0x99, - 0x1F, - 0x9E, - 0x1F, - 0xA4, - 0x1F, - 0xA9, - 0x1F, - 0xAE, - 0x1F, - 0xB3, - 0x1F, - 0xB8, - 0x1F, - 0xBD, - 0x1F, - 0xC3, - 0x1F, - 0xC8, - 0x1F, - 0xCD, - 0x1F, - 0xD2, - 0x1F, - 0xD7, - 0x1F, - 0xDC, - 0x1F, - 0xE1, - 0x1F, - 0xE6, - 0x1F, - 0xEC, - 0x1F, - 0xF1, - 0x1F, - 0xF6, - 0x1F, - 0xFB, - 0x20, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +static u16 atntable[1025] = { + 0x0000, 0x000A, 0x0014, 0x001F, 0x0029, 0x0033, 0x003D, 0x0047, 0x0051, 0x005C, 0x0066, 0x0070, + 0x007A, 0x0084, 0x008F, 0x0099, 0x00A3, 0x00AD, 0x00B7, 0x00C2, 0x00CC, 0x00D6, 0x00E0, 0x00EA, + 0x00F4, 0x00FF, 0x0109, 0x0113, 0x011D, 0x0127, 0x0131, 0x013C, 0x0146, 0x0150, 0x015A, 0x0164, + 0x016F, 0x0179, 0x0183, 0x018D, 0x0197, 0x01A1, 0x01AC, 0x01B6, 0x01C0, 0x01CA, 0x01D4, 0x01DE, + 0x01E9, 0x01F3, 0x01FD, 0x0207, 0x0211, 0x021B, 0x0226, 0x0230, 0x023A, 0x0244, 0x024E, 0x0258, + 0x0262, 0x026D, 0x0277, 0x0281, 0x028B, 0x0295, 0x029F, 0x02A9, 0x02B4, 0x02BE, 0x02C8, 0x02D2, + 0x02DC, 0x02E6, 0x02F0, 0x02FB, 0x0305, 0x030F, 0x0319, 0x0323, 0x032D, 0x0337, 0x0341, 0x034C, + 0x0356, 0x0360, 0x036A, 0x0374, 0x037E, 0x0388, 0x0392, 0x039C, 0x03A7, 0x03B1, 0x03BB, 0x03C5, + 0x03CF, 0x03D9, 0x03E3, 0x03ED, 0x03F7, 0x0401, 0x040C, 0x0416, 0x0420, 0x042A, 0x0434, 0x043E, + 0x0448, 0x0452, 0x045C, 0x0466, 0x0470, 0x047A, 0x0484, 0x048E, 0x0499, 0x04A3, 0x04AD, 0x04B7, + 0x04C1, 0x04CB, 0x04D5, 0x04DF, 0x04E9, 0x04F3, 0x04FD, 0x0507, 0x0511, 0x051B, 0x0525, 0x052F, + 0x0539, 0x0543, 0x054D, 0x0557, 0x0561, 0x056B, 0x0575, 0x057F, 0x0589, 0x0593, 0x059D, 0x05A7, + 0x05B1, 0x05BB, 0x05C5, 0x05CF, 0x05D9, 0x05E3, 0x05ED, 0x05F7, 0x0601, 0x060B, 0x0615, 0x061F, + 0x0629, 0x0633, 0x063D, 0x0647, 0x0651, 0x065B, 0x0665, 0x066E, 0x0678, 0x0682, 0x068C, 0x0696, + 0x06A0, 0x06AA, 0x06B4, 0x06BE, 0x06C8, 0x06D2, 0x06DC, 0x06E5, 0x06EF, 0x06F9, 0x0703, 0x070D, + 0x0717, 0x0721, 0x072B, 0x0735, 0x073E, 0x0748, 0x0752, 0x075C, 0x0766, 0x0770, 0x077A, 0x0783, + 0x078D, 0x0797, 0x07A1, 0x07AB, 0x07B5, 0x07BE, 0x07C8, 0x07D2, 0x07DC, 0x07E6, 0x07EF, 0x07F9, + 0x0803, 0x080D, 0x0817, 0x0820, 0x082A, 0x0834, 0x083E, 0x0848, 0x0851, 0x085B, 0x0865, 0x086F, + 0x0878, 0x0882, 0x088C, 0x0896, 0x089F, 0x08A9, 0x08B3, 0x08BD, 0x08C6, 0x08D0, 0x08DA, 0x08E3, + 0x08ED, 0x08F7, 0x0901, 0x090A, 0x0914, 0x091E, 0x0927, 0x0931, 0x093B, 0x0944, 0x094E, 0x0958, + 0x0961, 0x096B, 0x0975, 0x097E, 0x0988, 0x0992, 0x099B, 0x09A5, 0x09AE, 0x09B8, 0x09C2, 0x09CB, + 0x09D5, 0x09DE, 0x09E8, 0x09F2, 0x09FB, 0x0A05, 0x0A0E, 0x0A18, 0x0A22, 0x0A2B, 0x0A35, 0x0A3E, + 0x0A48, 0x0A51, 0x0A5B, 0x0A64, 0x0A6E, 0x0A77, 0x0A81, 0x0A8B, 0x0A94, 0x0A9E, 0x0AA7, 0x0AB1, + 0x0ABA, 0x0AC4, 0x0ACD, 0x0AD7, 0x0AE0, 0x0AE9, 0x0AF3, 0x0AFC, 0x0B06, 0x0B0F, 0x0B19, 0x0B22, + 0x0B2C, 0x0B35, 0x0B3F, 0x0B48, 0x0B51, 0x0B5B, 0x0B64, 0x0B6E, 0x0B77, 0x0B80, 0x0B8A, 0x0B93, + 0x0B9D, 0x0BA6, 0x0BAF, 0x0BB9, 0x0BC2, 0x0BCB, 0x0BD5, 0x0BDE, 0x0BE7, 0x0BF1, 0x0BFA, 0x0C03, + 0x0C0D, 0x0C16, 0x0C1F, 0x0C29, 0x0C32, 0x0C3B, 0x0C45, 0x0C4E, 0x0C57, 0x0C60, 0x0C6A, 0x0C73, + 0x0C7C, 0x0C86, 0x0C8F, 0x0C98, 0x0CA1, 0x0CAB, 0x0CB4, 0x0CBD, 0x0CC6, 0x0CCF, 0x0CD9, 0x0CE2, + 0x0CEB, 0x0CF4, 0x0CFD, 0x0D07, 0x0D10, 0x0D19, 0x0D22, 0x0D2B, 0x0D34, 0x0D3E, 0x0D47, 0x0D50, + 0x0D59, 0x0D62, 0x0D6B, 0x0D74, 0x0D7D, 0x0D87, 0x0D90, 0x0D99, 0x0DA2, 0x0DAB, 0x0DB4, 0x0DBD, + 0x0DC6, 0x0DCF, 0x0DD8, 0x0DE1, 0x0DEA, 0x0DF3, 0x0DFC, 0x0E05, 0x0E0F, 0x0E18, 0x0E21, 0x0E2A, + 0x0E33, 0x0E3C, 0x0E45, 0x0E4E, 0x0E56, 0x0E5F, 0x0E68, 0x0E71, 0x0E7A, 0x0E83, 0x0E8C, 0x0E95, + 0x0E9E, 0x0EA7, 0x0EB0, 0x0EB9, 0x0EC2, 0x0ECB, 0x0ED4, 0x0EDC, 0x0EE5, 0x0EEE, 0x0EF7, 0x0F00, + 0x0F09, 0x0F12, 0x0F1B, 0x0F23, 0x0F2C, 0x0F35, 0x0F3E, 0x0F47, 0x0F50, 0x0F58, 0x0F61, 0x0F6A, + 0x0F73, 0x0F7C, 0x0F84, 0x0F8D, 0x0F96, 0x0F9F, 0x0FA7, 0x0FB0, 0x0FB9, 0x0FC2, 0x0FCA, 0x0FD3, + 0x0FDC, 0x0FE5, 0x0FED, 0x0FF6, 0x0FFF, 0x1007, 0x1010, 0x1019, 0x1021, 0x102A, 0x1033, 0x103B, + 0x1044, 0x104D, 0x1055, 0x105E, 0x1067, 0x106F, 0x1078, 0x1080, 0x1089, 0x1092, 0x109A, 0x10A3, + 0x10AB, 0x10B4, 0x10BC, 0x10C5, 0x10CE, 0x10D6, 0x10DF, 0x10E7, 0x10F0, 0x10F8, 0x1101, 0x1109, + 0x1112, 0x111A, 0x1123, 0x112B, 0x1134, 0x113C, 0x1145, 0x114D, 0x1156, 0x115E, 0x1166, 0x116F, + 0x1177, 0x1180, 0x1188, 0x1191, 0x1199, 0x11A1, 0x11AA, 0x11B2, 0x11BB, 0x11C3, 0x11CB, 0x11D4, + 0x11DC, 0x11E4, 0x11ED, 0x11F5, 0x11FD, 0x1206, 0x120E, 0x1216, 0x121F, 0x1227, 0x122F, 0x1237, + 0x1240, 0x1248, 0x1250, 0x1259, 0x1261, 0x1269, 0x1271, 0x127A, 0x1282, 0x128A, 0x1292, 0x129A, + 0x12A3, 0x12AB, 0x12B3, 0x12BB, 0x12C3, 0x12CC, 0x12D4, 0x12DC, 0x12E4, 0x12EC, 0x12F4, 0x12FC, + 0x1305, 0x130D, 0x1315, 0x131D, 0x1325, 0x132D, 0x1335, 0x133D, 0x1345, 0x134D, 0x1355, 0x135E, + 0x1366, 0x136E, 0x1376, 0x137E, 0x1386, 0x138E, 0x1396, 0x139E, 0x13A6, 0x13AE, 0x13B6, 0x13BE, + 0x13C6, 0x13CE, 0x13D6, 0x13DE, 0x13E6, 0x13ED, 0x13F5, 0x13FD, 0x1405, 0x140D, 0x1415, 0x141D, + 0x1425, 0x142D, 0x1435, 0x143D, 0x1444, 0x144C, 0x1454, 0x145C, 0x1464, 0x146C, 0x1473, 0x147B, + 0x1483, 0x148B, 0x1493, 0x149B, 0x14A2, 0x14AA, 0x14B2, 0x14BA, 0x14C1, 0x14C9, 0x14D1, 0x14D9, + 0x14E0, 0x14E8, 0x14F0, 0x14F8, 0x14FF, 0x1507, 0x150F, 0x1516, 0x151E, 0x1526, 0x152D, 0x1535, + 0x153D, 0x1544, 0x154C, 0x1554, 0x155B, 0x1563, 0x156B, 0x1572, 0x157A, 0x1581, 0x1589, 0x1591, + 0x1598, 0x15A0, 0x15A7, 0x15AF, 0x15B7, 0x15BE, 0x15C6, 0x15CD, 0x15D5, 0x15DC, 0x15E4, 0x15EB, + 0x15F3, 0x15FA, 0x1602, 0x1609, 0x1611, 0x1618, 0x1620, 0x1627, 0x162F, 0x1636, 0x163E, 0x1645, + 0x164C, 0x1654, 0x165B, 0x1663, 0x166A, 0x1671, 0x1679, 0x1680, 0x1688, 0x168F, 0x1696, 0x169E, + 0x16A5, 0x16AC, 0x16B4, 0x16BB, 0x16C2, 0x16CA, 0x16D1, 0x16D8, 0x16E0, 0x16E7, 0x16EE, 0x16F6, + 0x16FD, 0x1704, 0x170B, 0x1713, 0x171A, 0x1721, 0x1728, 0x1730, 0x1737, 0x173E, 0x1745, 0x174C, + 0x1754, 0x175B, 0x1762, 0x1769, 0x1770, 0x1778, 0x177F, 0x1786, 0x178D, 0x1794, 0x179B, 0x17A2, + 0x17AA, 0x17B1, 0x17B8, 0x17BF, 0x17C6, 0x17CD, 0x17D4, 0x17DB, 0x17E2, 0x17E9, 0x17F0, 0x17F7, + 0x17FE, 0x1806, 0x180D, 0x1814, 0x181B, 0x1822, 0x1829, 0x1830, 0x1837, 0x183E, 0x1845, 0x184C, + 0x1853, 0x185A, 0x1860, 0x1867, 0x186E, 0x1875, 0x187C, 0x1883, 0x188A, 0x1891, 0x1898, 0x189F, + 0x18A6, 0x18AD, 0x18B3, 0x18BA, 0x18C1, 0x18C8, 0x18CF, 0x18D6, 0x18DD, 0x18E3, 0x18EA, 0x18F1, + 0x18F8, 0x18FF, 0x1906, 0x190C, 0x1913, 0x191A, 0x1921, 0x1928, 0x192E, 0x1935, 0x193C, 0x1943, + 0x1949, 0x1950, 0x1957, 0x195D, 0x1964, 0x196B, 0x1972, 0x1978, 0x197F, 0x1986, 0x198C, 0x1993, + 0x199A, 0x19A0, 0x19A7, 0x19AE, 0x19B4, 0x19BB, 0x19C2, 0x19C8, 0x19CF, 0x19D5, 0x19DC, 0x19E3, + 0x19E9, 0x19F0, 0x19F6, 0x19FD, 0x1A04, 0x1A0A, 0x1A11, 0x1A17, 0x1A1E, 0x1A24, 0x1A2B, 0x1A31, + 0x1A38, 0x1A3E, 0x1A45, 0x1A4B, 0x1A52, 0x1A58, 0x1A5F, 0x1A65, 0x1A6C, 0x1A72, 0x1A79, 0x1A7F, + 0x1A86, 0x1A8C, 0x1A93, 0x1A99, 0x1A9F, 0x1AA6, 0x1AAC, 0x1AB3, 0x1AB9, 0x1AC0, 0x1AC6, 0x1ACC, + 0x1AD3, 0x1AD9, 0x1ADF, 0x1AE6, 0x1AEC, 0x1AF2, 0x1AF9, 0x1AFF, 0x1B05, 0x1B0C, 0x1B12, 0x1B18, + 0x1B1F, 0x1B25, 0x1B2B, 0x1B32, 0x1B38, 0x1B3E, 0x1B44, 0x1B4B, 0x1B51, 0x1B57, 0x1B5D, 0x1B64, + 0x1B6A, 0x1B70, 0x1B76, 0x1B7D, 0x1B83, 0x1B89, 0x1B8F, 0x1B95, 0x1B9C, 0x1BA2, 0x1BA8, 0x1BAE, + 0x1BB4, 0x1BBA, 0x1BC1, 0x1BC7, 0x1BCD, 0x1BD3, 0x1BD9, 0x1BDF, 0x1BE5, 0x1BEB, 0x1BF2, 0x1BF8, + 0x1BFE, 0x1C04, 0x1C0A, 0x1C10, 0x1C16, 0x1C1C, 0x1C22, 0x1C28, 0x1C2E, 0x1C34, 0x1C3A, 0x1C40, + 0x1C46, 0x1C4C, 0x1C52, 0x1C58, 0x1C5E, 0x1C64, 0x1C6A, 0x1C70, 0x1C76, 0x1C7C, 0x1C82, 0x1C88, + 0x1C8E, 0x1C94, 0x1C9A, 0x1CA0, 0x1CA6, 0x1CAC, 0x1CB2, 0x1CB8, 0x1CBE, 0x1CC3, 0x1CC9, 0x1CCF, + 0x1CD5, 0x1CDB, 0x1CE1, 0x1CE7, 0x1CED, 0x1CF3, 0x1CF8, 0x1CFE, 0x1D04, 0x1D0A, 0x1D10, 0x1D16, + 0x1D1B, 0x1D21, 0x1D27, 0x1D2D, 0x1D33, 0x1D38, 0x1D3E, 0x1D44, 0x1D4A, 0x1D4F, 0x1D55, 0x1D5B, + 0x1D61, 0x1D66, 0x1D6C, 0x1D72, 0x1D78, 0x1D7D, 0x1D83, 0x1D89, 0x1D8E, 0x1D94, 0x1D9A, 0x1DA0, + 0x1DA5, 0x1DAB, 0x1DB1, 0x1DB6, 0x1DBC, 0x1DC2, 0x1DC7, 0x1DCD, 0x1DD3, 0x1DD8, 0x1DDE, 0x1DE3, + 0x1DE9, 0x1DEF, 0x1DF4, 0x1DFA, 0x1DFF, 0x1E05, 0x1E0B, 0x1E10, 0x1E16, 0x1E1B, 0x1E21, 0x1E26, + 0x1E2C, 0x1E32, 0x1E37, 0x1E3D, 0x1E42, 0x1E48, 0x1E4D, 0x1E53, 0x1E58, 0x1E5E, 0x1E63, 0x1E69, + 0x1E6E, 0x1E74, 0x1E79, 0x1E7F, 0x1E84, 0x1E8A, 0x1E8F, 0x1E94, 0x1E9A, 0x1E9F, 0x1EA5, 0x1EAA, + 0x1EB0, 0x1EB5, 0x1EBA, 0x1EC0, 0x1EC5, 0x1ECB, 0x1ED0, 0x1ED5, 0x1EDB, 0x1EE0, 0x1EE6, 0x1EEB, + 0x1EF0, 0x1EF6, 0x1EFB, 0x1F00, 0x1F06, 0x1F0B, 0x1F10, 0x1F16, 0x1F1B, 0x1F20, 0x1F26, 0x1F2B, + 0x1F30, 0x1F36, 0x1F3B, 0x1F40, 0x1F45, 0x1F4B, 0x1F50, 0x1F55, 0x1F5A, 0x1F60, 0x1F65, 0x1F6A, + 0x1F6F, 0x1F75, 0x1F7A, 0x1F7F, 0x1F84, 0x1F8A, 0x1F8F, 0x1F94, 0x1F99, 0x1F9E, 0x1FA4, 0x1FA9, + 0x1FAE, 0x1FB3, 0x1FB8, 0x1FBD, 0x1FC3, 0x1FC8, 0x1FCD, 0x1FD2, 0x1FD7, 0x1FDC, 0x1FE1, 0x1FE6, + 0x1FEC, 0x1FF1, 0x1FF6, 0x1FFB, 0x2000, }; -/* 804550B4-804550B8 0036B4 0004+00 1/1 0/0 0/0 .sdata2 @2232 */ -SECTION_SDATA2 static f32 lit_2232 = 1024.0f; - /* 80267640-80267674 261F80 0034+00 1/1 0/0 0/0 .text U_GetAtanTable__Fff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void U_GetAtanTable(f32 param_0, f32 param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_math/U_GetAtanTable__Fff.s" +u16 U_GetAtanTable(float f0, float f1) { + return atntable[(int)(f0 / f1 * 1024)]; } -#pragma pop - -/* ############################################################################################## */ -/* 804550B8-804550BC 0036B8 0004+00 1/1 0/0 0/0 .sdata2 @2277 */ -SECTION_SDATA2 static u8 lit_2277[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; /* 80267674-80267814 261FB4 01A0+00 1/1 82/82 822/822 .text cM_atan2s__Fff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_atan2s(f32 param_0, f32 param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_atan2s__Fff.s" +s16 cM_atan2s(float f0, float f1) { + u32 retVar; + if (fabsf(f0) < G_CM3D_F_ABS_MIN) { + if (f1 >= 0.0f) { + retVar = 0; + } else { + retVar = 0x8000; + } + } else if (fabsf(f1) < G_CM3D_F_ABS_MIN) { + if (f0 >= 0.0f) { + retVar = 0x4000; + } else { + retVar = 0xC000; + } + } else if (f0 >= 0.0f) { + if (f1 >= 0.0f) { + if (f1 >= f0) { + retVar = U_GetAtanTable(f0, f1); + } else { + retVar = 0x4000 - U_GetAtanTable(f1, f0); + } + } else { + if (-f1 < f0) { + retVar = U_GetAtanTable(-f1, f0) + 0x4000; + } else { + retVar = 0x8000 - U_GetAtanTable(f0, -f1); + } + } + } else if (f1 < 0.0f) { + if (f1 <= f0) { + retVar = U_GetAtanTable(-f0, -f1) + 0x8000; + } else { + retVar = 0xC000 - U_GetAtanTable(-f1, -f0); + } + } else { + if (f1 < -f0) { + retVar = U_GetAtanTable(f1, -f0) + 0xC000; + } else { + retVar = -U_GetAtanTable(-f0, f1); + } + } + return retVar; } -#pragma pop - -/* ############################################################################################## */ -/* 804550BC-804550C0 0036BC 0004+00 1/1 0/0 0/0 .sdata2 @2282 */ -SECTION_SDATA2 static f32 lit_2282 = 9.58738019107841e-05f; - -/* 804550C0-804550C8 0036C0 0008+00 3/3 0/0 0/0 .sdata2 @2284 */ -SECTION_SDATA2 static f64 lit_2284 = 4503601774854144.0 /* cast s32 to float */; /* 80267814-8026785C 262154 0048+00 0/0 4/4 5/5 .text cM_atan2f__Fff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_atan2f(f32 param_0, f32 param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_atan2f__Fff.s" +float cM_atan2f(float f1, float f2) { + return 9.58738E-5f * cM_atan2s(f1, f2); } -#pragma pop /* ############################################################################################## */ /* 80451168-8045116C 000668 0004+00 2/2 0/0 0/0 .sbss r0 */ -static u8 data_80451168[4]; +static s32 r0; /* 8045116C-80451170 00066C 0004+00 2/2 0/0 0/0 .sbss r1 */ -static u8 data_8045116C[4]; +static s32 r1; /* 80451170-80451174 000670 0004+00 2/2 0/0 0/0 .sbss r2 */ -static u8 data_80451170[4]; +static s32 r2; /* 8026785C-8026786C 26219C 0010+00 0/0 1/1 0/0 .text cM_initRnd__Fiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_initRnd(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_initRnd__Fiii.s" +void cM_initRnd(int p0, int p1, int p2) { + r0 = p0; + r1 = p1; + r2 = p2; } -#pragma pop - -/* ############################################################################################## */ -/* 804550C8-804550CC 0036C8 0004+00 2/2 0/0 0/0 .sdata2 @2296 */ -SECTION_SDATA2 static f32 lit_2296 = 30323.0f; - -/* 804550CC-804550D0 0036CC 0004+00 2/2 0/0 0/0 .sdata2 @2297 */ -SECTION_SDATA2 static f32 lit_2297 = 30269.0f; - -/* 804550D0-804550D8 0036D0 0004+04 2/2 0/0 0/0 .sdata2 @2298 */ -SECTION_SDATA2 static f32 lit_2298[1 + 1 /* padding */] = { - 30307.0f, - /* padding */ - 0.0f, -}; - -/* 804550D8-804550E0 0036D8 0008+00 2/2 0/0 0/0 .sdata2 @2299 */ -SECTION_SDATA2 static f64 lit_2299 = 1.0; /* 8026786C-80267954 2621AC 00E8+00 2/2 15/15 113/113 .text cM_rnd__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rnd() { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rnd__Fv.s" +float cM_rnd(void) { + r0 = (r0 * 0xAB) % 0x763D; + r1 = (r1 * 0xAC) % 0x7663; + r2 = (r2 * 0xAA) % 0x7673; + return fabsf(fmod(r0 / 30269.0f + r1 / 30307.0f + r2 / 30323.0f, 1.0)); } -#pragma pop /* 80267954-8026798C 262294 0038+00 0/0 34/34 951/951 .text cM_rndF__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rndF(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rndF__Ff.s" +float cM_rndF(float f) { + return cM_rnd() * f; } -#pragma pop - -/* ############################################################################################## */ -/* 804550E0-804550E4 0036E0 0004+00 2/2 0/0 0/0 .sdata2 @2311 */ -SECTION_SDATA2 static f32 lit_2311 = 2.0f; - -/* 804550E4-804550E8 0036E4 0004+00 2/2 0/0 0/0 .sdata2 @2312 */ -SECTION_SDATA2 static f32 lit_2312 = 0.5f; /* 8026798C-802679D4 2622CC 0048+00 0/0 24/24 450/450 .text cM_rndFX__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rndFX(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rndFX__Ff.s" +float cM_rndFX(float f) { + return f * (cM_rnd() - 0.5f) * 2.0f; } -#pragma pop /* ############################################################################################## */ /* 80451174-80451178 000674 0004+00 2/2 0/0 0/0 .sbss r02 */ -static u8 data_80451174[4]; +static s32 r02; /* 80451178-8045117C 000678 0004+00 2/2 0/0 0/0 .sbss r12 */ -static u8 data_80451178[4]; +static s32 r12; /* 8045117C-80451180 00067C 0004+00 2/2 0/0 0/0 .sbss r22 */ -static u8 data_8045117C[4]; +static s32 r22; /* 802679D4-802679E4 262314 0010+00 0/0 0/0 8/8 .text cM_initRnd2__Fiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_initRnd2(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_initRnd2__Fiii.s" +void cM_initRnd2(int p0, int p1, int p2) { + r02 = p0; + r12 = p1; + r22 = p2; } -#pragma pop /* 802679E4-80267ACC 262324 00E8+00 2/2 0/0 0/0 .text cM_rnd2__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM_rnd2() { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rnd2__Fv.s" +float cM_rnd2(void) { + r02 = (r02 * 0xAB) % 0x763D; + r12 = (r12 * 0xAC) % 0x7663; + r22 = (r22 * 0xAA) % 0x7673; + return fabsf(fmod(r02 / 30269.0f + r12 / 30307.0f + r22 / 30323.0f, 1.0)); } -#pragma pop /* 80267ACC-80267B04 26240C 0038+00 0/0 0/0 14/14 .text cM_rndF2__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rndF2(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rndF2__Ff.s" +float cM_rndF2(float f) { + return cM_rnd2() * f; } -#pragma pop /* 80267B04-80267B4C 262444 0048+00 0/0 0/0 7/7 .text cM_rndFX2__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM_rndFX2(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_math/cM_rndFX2__Ff.s" +float cM_rndFX2(float f) { + return f * (cM_rnd2() - 0.5f) * 2.0f; } -#pragma pop diff --git a/libs/Z2AudioLib/Z2Calc.cpp b/libs/Z2AudioLib/Z2Calc.cpp index 1f4a81ee500..214f3d8f79f 100644 --- a/libs/Z2AudioLib/Z2Calc.cpp +++ b/libs/Z2AudioLib/Z2Calc.cpp @@ -4,40 +4,10 @@ // #include "Z2AudioLib/Z2Calc.h" +#include "JSystem/JMath/random.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct JMath { - struct TRandom_fast_ { - /* 80339AE4 */ TRandom_fast_(u32); - }; -}; - -// -// Forward References: -// - -extern "C" void linearTransform__6Z2CalcFfffffb(); -extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); -extern "C" void getRandom__6Z2CalcFfff(); -extern "C" void getRandom_0_1__6Z2CalcFv(); -extern "C" void setParam__Q26Z2Calc8FNoise1fFfff(); -extern "C" void tau__Q26Z2Calc8FNoise1fFf(); -extern "C" void calcNoise1f__Q26Z2Calc8FNoise1fFv(); -extern "C" f32 cEqualCSlope__6Z2Calc; -extern "C" f32 cEqualPSlope__6Z2Calc; - -// -// External References: -// - -extern "C" void __ct__Q25JMath13TRandom_fast_FUl(); -extern "C" void exp(); -extern "C" void pow(); +#include "global.h" +#include "msl_c/math.h" // // Declarations: @@ -45,15 +15,30 @@ extern "C" void pow(); /* 802A968C-802A96F4 2A3FCC 0068+00 1/1 16/16 0/0 .text linearTransform__6Z2CalcFfffffb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 Z2Calc::linearTransform(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - bool param_5) { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s" +f32 Z2Calc::linearTransform(f32 param1, f32 param2, f32 param3, f32 param4, f32 param5, + bool param6) { + f32 temp; + + temp = param4 + (param1 - param2) * ((param5 - param4) / (param3 - param2)); + + if (param6) { + return temp; + } else if (param4 < param5) { + if (temp > param5) { + return param5; + } else if (temp < param4) { + return param4; + } else { + return temp; + } + } else if (temp > param4) { + return param4; + } else if (temp < param5) { + return param5; + } else { + return temp; + } } -#pragma pop /* ############################################################################################## */ /* 80455820-80455824 003E20 0004+00 0/0 1/1 0/0 .sdata2 cEqualCSlope__6Z2Calc */ @@ -62,90 +47,97 @@ SECTION_SDATA2 f32 Z2Calc::cEqualCSlope = 1.0f; /* 80455824-80455828 003E24 0004+00 0/0 1/1 0/0 .sdata2 cEqualPSlope__6Z2Calc */ SECTION_SDATA2 f32 Z2Calc::cEqualPSlope = 0.5f; -/* 80455828-8045582C 003E28 0004+00 1/1 0/0 0/0 .sdata2 @380 */ -SECTION_SDATA2 static u8 lit_380[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8045582C-80455830 003E2C 0004+00 4/4 0/0 0/0 .sdata2 @381 */ -SECTION_SDATA2 static f32 lit_381 = 1.0f; - /* 802A96F4-802A9814 2A4034 0120+00 0/0 29/29 0/0 .text * getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 Z2Calc::getParamByExp(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - f32 param_5, Z2Calc::CurveSign param_6) { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s" +f32 Z2Calc::getParamByExp(f32 f1, f32 f2, f32 f3, f32 f4, f32 f5, f32 f6, Z2Calc::CurveSign sign) { + f32 out; + if (sign == Z2Calc::CURVE_SIGN_1) { + f32 tmp = exp(Z2Calc::linearTransform(f1, f2, f3, 0.0f, f4, true)); + out = Z2Calc::linearTransform(tmp, 1.0f, exp(f4), f5, f6, true); + } else if (sign == Z2Calc::CURVE_SIGN_0) { + f32 tmp = exp(Z2Calc::linearTransform(f1, f2, f3, f4, 0.0f, true)); + out = Z2Calc::linearTransform(tmp, exp(f4), 1.0f, f5, f6, true); + } else { + out = Z2Calc::linearTransform(f1, f2, f3, f5, f6, false); + } + if (out > f6) { + return f6; + } + if (out < f5) { + return f5; + } + return out; } -#pragma pop - -/* ############################################################################################## */ -/* 80455830-80455834 003E30 0004+00 1/1 0/0 0/0 .sdata2 @396 */ -SECTION_SDATA2 static f32 lit_396 = 2.0f; - -/* 80455834-80455838 003E34 0004+00 1/1 0/0 0/0 .sdata2 @397 */ -SECTION_SDATA2 static f32 lit_397 = -2.0f; /* 802A9814-802A98D4 2A4154 00C0+00 0/0 2/2 0/0 .text getRandom__6Z2CalcFfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 Z2Calc::getRandom(f32 param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s" +f32 Z2Calc::getRandom(f32 f1, f32 f2, f32 f3) { + f32 tmp = 2.0f * f3; + f32 tmp2 = (1.0f - f3) * -2.0f; + f1 *= Z2Calc::getRandom_0_1() < f3 ? tmp : tmp2; + f32 tmp3 = pow(Z2Calc::getRandom_0_1(), f2); + return tmp3 * f1; } -#pragma pop - -/* ############################################################################################## */ -/* 80451330-80451334 000830 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80451330[4]; - -/* 80451334-80451338 000834 0004+00 1/1 0/0 0/0 .sbss oRandom$401 */ -static u8 oRandom[4]; /* 802A98D4-802A9944 2A4214 0070+00 1/1 1/1 0/0 .text getRandom_0_1__6Z2CalcFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 Z2Calc::getRandom_0_1() { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s" +f32 Z2Calc::getRandom_0_1(void) { + static JMath::TRandom_fast_ oRandom(0); + return oRandom.get_ufloat_1(); } -#pragma pop /* 802A9944-802A9958 2A4284 0014+00 0/0 1/1 0/0 .text setParam__Q26Z2Calc8FNoise1fFfff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void Z2Calc::FNoise1f::setParam(f32 param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s" +void Z2Calc::FNoise1f::setParam(f32 param1, f32 param2, f32 param3) { + this->unk0 = param1; + this->unk4 = param1; + this->unk12 = param2; + this->unk8 = param3; } -#pragma pop /* 802A9958-802A99A0 2A4298 0048+00 1/1 0/0 0/0 .text tau__Q26Z2Calc8FNoise1fFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 Z2Calc::FNoise1f::tau(f32 param_0) { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s" +f32 Z2Calc::FNoise1f::tau(f32 param1) { + f32 temp1; + f32 temp2; + + temp1 = param1; + temp2 = temp1 + (temp1 * temp1); + + if (temp2 > 1.0f) { + temp2 = temp2 - 1.0f; + + if (temp1 < this->unk12) { + temp2 = temp2 + this->unk12; + } + + return temp2; + } else if (temp1 < this->unk12) { + temp2 = temp2 + this->unk12; + } + return temp2; } -#pragma pop /* 802A99A0-802A9A34 2A42E0 0094+00 0/0 5/5 0/0 .text calcNoise1f__Q26Z2Calc8FNoise1fFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 Z2Calc::FNoise1f::calcNoise1f() { - nofralloc -#include "asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s" +f32 Z2Calc::FNoise1f::calcNoise1f(void) { + f32 temp1; + f32 temp2; + + temp1 = this->unk0; + + if (this->unk0 < this->unk4) { + this->unk0 = temp1 + this->unk8; + + if (this->unk0 < this->unk4) { + return this->unk0; + } + } else { + this->unk0 = temp1 - this->unk8; + + if (this->unk0 > this->unk4) { + return this->unk0; + } + } + this->unk0 = this->unk4; + temp2 = tau(this->unk0); + this->unk4 = temp2; + + return this->unk0; } -#pragma pop diff --git a/src/f_op/f_op_actor_iter.cpp b/src/f_op/f_op_actor_iter.cpp index 0fa11e9bc0d..132da5c7ad1 100644 --- a/src/f_op/f_op_actor_iter.cpp +++ b/src/f_op/f_op_actor_iter.cpp @@ -10,8 +10,6 @@ #include "dolphin/types.h" #include "f_op/f_op_actor_tag.h" -extern node_list_class g_fopAcTg_Queue; - // // Declarations: // diff --git a/src/f_op/f_op_draw_iter.cpp b/src/f_op/f_op_draw_iter.cpp index 659e70f5872..f086825950f 100644 --- a/src/f_op/f_op_draw_iter.cpp +++ b/src/f_op/f_op_draw_iter.cpp @@ -6,20 +6,7 @@ #include "f_op/f_op_draw_iter.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" static void fopDwIt_GetTag__Fv(); -extern "C" void fopDwIt_Begin__Fv(); -extern "C" void fopDwIt_Next__FP16create_tag_class(); - -// -// External References: -// - -extern "C" extern u8 g_fopDwTg_Queue[8]; +#include "f_op/f_op_draw_tag.h" // // Declarations: @@ -27,35 +14,36 @@ extern "C" extern u8 g_fopDwTg_Queue[8]; /* ############################################################################################## */ /* 80450CF8-80450D00 0001F8 0004+04 2/2 0/0 0/0 .sbss l_fopDwTg_id */ -static u8 l_fopDwTg_id[4 + 4 /* padding */]; +static s32 l_fopDwTg_id; /* 80020400-80020444 01AD40 0044+00 2/2 0/0 0/0 .text fopDwIt_GetTag__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm create_tag_class* fopDwIt_GetTag() { - nofralloc -#include "asm/f_op/f_op_draw_iter/fopDwIt_GetTag__Fv.s" +create_tag_class* fopDwIt_GetTag(void) { + while (l_fopDwTg_id + 1 < g_fopDwTg_Queue.mNumLists) { + l_fopDwTg_id++; + node_class* tmp = g_fopDwTg_Queue.mpLists[l_fopDwTg_id].mpHead; + if (tmp != NULL) { + return (create_tag_class*)tmp; + } + } + return NULL; } -#pragma pop /* 80020444-80020480 01AD84 003C+00 0/0 1/1 0/0 .text fopDwIt_Begin__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm create_tag_class* fopDwIt_Begin() { - nofralloc -#include "asm/f_op/f_op_draw_iter/fopDwIt_Begin__Fv.s" +create_tag_class* fopDwIt_Begin(void) { + create_tag_class* createTagClass = (create_tag_class*)g_fopDwTg_Queue.mpLists->mpHead; + l_fopDwTg_id = 0; + if (createTagClass) { + return createTagClass; + } + return createTagClass = fopDwIt_GetTag(); } -#pragma pop /* 80020480-800204AC 01ADC0 002C+00 0/0 1/1 0/0 .text fopDwIt_Next__FP16create_tag_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm create_tag_class* fopDwIt_Next(create_tag_class* param_0) { - nofralloc -#include "asm/f_op/f_op_draw_iter/fopDwIt_Next__FP16create_tag_class.s" +create_tag_class* fopDwIt_Next(create_tag_class* pCreateTag) { + create_tag_class* createTagClass = (create_tag_class*)pCreateTag->mpNode.mpNextNode; + if (!createTagClass) { + createTagClass = fopDwIt_GetTag(); + } + return createTagClass; } -#pragma pop diff --git a/src/f_op/f_op_overlap_mng.cpp b/src/f_op/f_op_overlap_mng.cpp index 7b284f5f3b3..dd3a1506485 100644 --- a/src/f_op/f_op_overlap_mng.cpp +++ b/src/f_op/f_op_overlap_mng.cpp @@ -11,38 +11,6 @@ #include "f_op/f_op_scene_pause.h" #include "f_pc/f_pc_executor.h" -// -// Forward References: -// - -extern "C" void fopOvlpM_SceneIsStop__Fv(); -extern "C" void fopOvlpM_SceneIsStart__Fv(); -extern "C" void fopOvlpM_IsOutReq__FP18overlap_task_class(); -extern "C" void fopOvlpM_Done__FP18overlap_task_class(); -extern "C" void fopOvlpM_ToldAboutID__FUi(); -extern "C" void fopOvlpM_IsPeek__Fv(); -extern "C" void fopOvlpM_IsDone__Fv(); -extern "C" void fopOvlpM_IsDoingReq__Fv(); -extern "C" void fopOvlpM_ClearOfReq__Fv(); -extern "C" void fopOvlpM_Request__FsUs(); -extern "C" void fopOvlpM_Management__Fv(); -extern "C" void fopOvlpM_Cancel__Fv(); -extern "C" void fopOvlpM_Init__Fv(); - -// -// External References: -// - -extern "C" void fopOvlpReq_Request__FP21overlap_request_classsUs(); -extern "C" void fopOvlpReq_Handler__FP21overlap_request_class(); -extern "C" void fopOvlpReq_Cancel__FP21overlap_request_class(); -extern "C" void fopOvlpReq_OverlapClr__FP21overlap_request_class(); -extern "C" void fopScnPause_Enable__FP11scene_class(); -extern "C" void fopScnPause_Disable__FP11scene_class(); -extern "C" void fpcEx_SearchByID__FUi(); -extern "C" void cReq_Is_Done__FP18request_base_class(); -extern "C" void cReq_Done__FP18request_base_class(); - // // Declarations: // diff --git a/src/f_op/f_op_overlap_req.cpp b/src/f_op/f_op_overlap_req.cpp index 4f103544ea6..411e9c1f193 100644 --- a/src/f_op/f_op_overlap_req.cpp +++ b/src/f_op/f_op_overlap_req.cpp @@ -10,44 +10,6 @@ #include "f_pc/f_pc_manager.h" #include "f_pc/f_pc_stdcreate_req.h" -// -// Forward References: -// - -extern "C" static void fopOvlpReq_phase_Done__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_phase_IsDone__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_phase_IsComplete__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_phase_IsCreated__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_phase_Create__FP21overlap_request_class(); -extern "C" void fopOvlpReq_Request__FP21overlap_request_classsUs(); -extern "C" void fopOvlpReq_Handler__FP21overlap_request_class(); -extern "C" void fopOvlpReq_Cancel__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class(); -extern "C" static void fopOvlpReq_SetPeektime__FP21overlap_request_classUs(); -extern "C" void fopOvlpReq_OverlapClr__FP21overlap_request_class(); - -// -// External References: -// - -extern "C" void fpcEx_SearchByID__FUi(); -extern "C" void fpcLy_RootLayer__Fv(); -extern "C" void fpcLy_SetCurrentLayer__FP11layer_class(); -extern "C" void fpcLy_CurrentLayer__Fv(); -extern "C" void fpcM_Delete__FPv(); -extern "C" void fpcM_IsCreating__FUi(); -extern "C" void fpcSCtRq_Request__FP11layer_classsPFPvPv_iPvPv(); -extern "C" void cPhs_Set__FP30request_of_phase_process_classPPFPv_i(); -extern "C" void cPhs_Do__FP30request_of_phase_process_classPv(); -extern "C" void cReq_Is_Done__FP18request_base_class(); -extern "C" void cReq_Done__FP18request_base_class(); -extern "C" void cReq_Command__FP18request_base_classUc(); -extern "C" void cReq_Create__FP18request_base_classUc(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); - void fopOvlpReq_SetPeektime(overlap_request_class*, u16); //