diff --git a/asm/JGadget/std-vector.s b/asm/JGadget/std-vector.s index c94e6cfcf1..911e9d9f75 100644 --- a/asm/JGadget/std-vector.s +++ b/asm/JGadget/std-vector.s @@ -2,12 +2,6 @@ .section .text, "ax" # 802dccc8 - -.global JGadget_NS_vector_NS_extend_default -JGadget_NS_vector_NS_extend_default: -/* 802DCCC8 002D9C08 54 83 08 3C */ slwi r3, r4, 1 -/* 802DCCCC 002D9C0C 4E 80 00 20 */ blr - .global JGadget_NS_TVector_pointer_void JGadget_NS_TVector_pointer_void: /* 802DCCD0 002D9C10 88 04 00 00 */ lbz r0, 0(r4) @@ -17,10 +11,8 @@ JGadget_NS_TVector_pointer_void: /* 802DCCE0 002D9C20 80 03 00 04 */ lwz r0, 4(r3) /* 802DCCE4 002D9C24 90 03 00 08 */ stw r0, 8(r3) /* 802DCCE8 002D9C28 90 83 00 0C */ stw r4, 0xc(r3) -.global JGadget_NS_vector_NS_extend_default -/* 802DCCEC 002D9C2C 3C 80 80 2E */ lis r4, JGadget_NS_vector_NS_extend_default@ha -.global JGadget_NS_vector_NS_extend_default -/* 802DCCF0 002D9C30 38 04 CC C8 */ addi r0, r4, JGadget_NS_vector_NS_extend_default@l +/* 802DCCEC 002D9C2C 3C 80 80 2E */ lis r4, extend_default__Q27JGadget6vectorFUlUlUl@ha +/* 802DCCF0 002D9C30 38 04 CC C8 */ addi r0, r4, extend_default__Q27JGadget6vectorFUlUlUl@l /* 802DCCF4 002D9C34 90 03 00 10 */ stw r0, 0x10(r3) /* 802DCCF8 002D9C38 4E 80 00 20 */ blr @@ -86,8 +78,8 @@ JGadget_NS_TVector_pointer_void_NS_insert: /* 802DCDBC 002D9CFC 38 21 00 10 */ addi r1, r1, 0x10 /* 802DCDC0 002D9D00 4E 80 00 20 */ blr -.global JGadget_NS_TVector_pointer_void_NS_erase -JGadget_NS_TVector_pointer_void_NS_erase: +.global erase__Q27JGadget20TVector_pointer_voidFPPvPPv +erase__Q27JGadget20TVector_pointer_voidFPPvPPv: /* 802DCDC4 002D9D04 80 C3 00 08 */ lwz r6, 8(r3) /* 802DCDC8 002D9D08 7C 87 23 78 */ mr r7, r4 /* 802DCDCC 002D9D0C 38 06 00 03 */ addi r0, r6, 3 diff --git a/asm/JStudio/functionvalue.s b/asm/JStudio/functionvalue.s index db93c2782b..94bf030476 100644 --- a/asm/JStudio/functionvalue.s +++ b/asm/JStudio/functionvalue.s @@ -3,2267 +3,6 @@ .section .text, "ax" # 80281648 -.global JStudio_NS_TFunctionValue_NS_toFunction_outside -JStudio_NS_TFunctionValue_NS_toFunction_outside: -/* 80281648 0027E588 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028164C 0027E58C 38 00 00 00 */ li r0, 0 -/* 80281650 0027E590 90 01 00 08 */ stw r0, 8(r1) -/* 80281654 0027E594 28 03 00 04 */ cmplwi r3, 4 -/* 80281658 0027E598 54 64 10 3A */ slwi r4, r3, 2 -/* 8028165C 0027E59C 3C 60 80 3A */ lis r3, lbl_8039A9F0@ha -/* 80281660 0027E5A0 38 03 A9 F0 */ addi r0, r3, lbl_8039A9F0@l -/* 80281664 0027E5A4 7C 60 22 14 */ add r3, r0, r4 -/* 80281668 0027E5A8 41 80 00 08 */ blt lbl_80281670 -/* 8028166C 0027E5AC 38 61 00 08 */ addi r3, r1, 8 -lbl_80281670: -/* 80281670 0027E5B0 80 63 00 00 */ lwz r3, 0(r3) -/* 80281674 0027E5B4 28 03 00 00 */ cmplwi r3, 0 -/* 80281678 0027E5B8 40 82 00 10 */ bne lbl_80281688 -/* 8028167C 0027E5BC 3C 60 80 3A */ lis r3, lbl_8039A9F0@ha -/* 80281680 0027E5C0 38 63 A9 F0 */ addi r3, r3, lbl_8039A9F0@l -/* 80281684 0027E5C4 80 63 00 00 */ lwz r3, 0(r3) -lbl_80281688: -/* 80281688 0027E5C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028168C 0027E5CC 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue -JStudio_NS_TFunctionValue: -/* 80281690 0027E5D0 3C 80 80 3C */ lis r4, lbl_803C49A0@ha -/* 80281694 0027E5D4 38 04 49 A0 */ addi r0, r4, lbl_803C49A0@l -/* 80281698 0027E5D8 90 03 00 00 */ stw r0, 0(r3) -/* 8028169C 0027E5DC 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_NS_dtor -JStudio_NS_TFunctionValue_NS_dtor: -/* 802816A0 0027E5E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802816A4 0027E5E4 7C 08 02 A6 */ mflr r0 -/* 802816A8 0027E5E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802816AC 0027E5EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802816B0 0027E5F0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802816B4 0027E5F4 41 82 00 1C */ beq lbl_802816D0 -/* 802816B8 0027E5F8 3C A0 80 3C */ lis r5, lbl_803C49A0@ha -/* 802816BC 0027E5FC 38 05 49 A0 */ addi r0, r5, lbl_803C49A0@l -/* 802816C0 0027E600 90 1F 00 00 */ stw r0, 0(r31) -/* 802816C4 0027E604 7C 80 07 35 */ extsh. r0, r4 -/* 802816C8 0027E608 40 81 00 08 */ ble lbl_802816D0 -/* 802816CC 0027E60C 48 04 D6 71 */ bl __dl__FPv -lbl_802816D0: -/* 802816D0 0027E610 7F E3 FB 78 */ mr r3, r31 -/* 802816D4 0027E614 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802816D8 0027E618 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802816DC 0027E61C 7C 08 03 A6 */ mtlr r0 -/* 802816E0 0027E620 38 21 00 10 */ addi r1, r1, 0x10 -/* 802816E4 0027E624 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValueAttribute_refer_NS_refer_initialize -JStudio_NS_TFunctionValueAttribute_refer_NS_refer_initialize: -/* 802816E8 0027E628 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802816EC 0027E62C 7C 08 02 A6 */ mflr r0 -/* 802816F0 0027E630 90 01 00 14 */ stw r0, 0x14(r1) -/* 802816F4 0027E634 80 83 00 04 */ lwz r4, 4(r3) -/* 802816F8 0027E638 80 A3 00 08 */ lwz r5, 8(r3) -/* 802816FC 0027E63C 48 05 B6 C9 */ bl JGadget_NS_TVector_pointer_void_NS_erase -/* 80281700 0027E640 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80281704 0027E644 7C 08 03 A6 */ mtlr r0 -/* 80281708 0027E648 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028170C 0027E64C 4E 80 00 20 */ blr - -.global JStudio_NS_functionvalue_NS_interpolateValue_hermite -JStudio_NS_functionvalue_NS_interpolateValue_hermite: -/* 80281710 0027E650 FD 21 10 28 */ fsub f9, f1, f2 -/* 80281714 0027E654 C9 02 BA 08 */ lfd f8, lbl_80455408-_SDA2_BASE_(r2) -/* 80281718 0027E658 FC 05 10 28 */ fsub f0, f5, f2 -/* 8028171C 0027E65C FC 08 00 24 */ fdiv f0, f8, f0 -/* 80281720 0027E660 FC 49 00 32 */ fmul f2, f9, f0 -/* 80281724 0027E664 FD 42 40 28 */ fsub f10, f2, f8 -/* 80281728 0027E668 C8 22 BA 10 */ lfd f1, lbl_80455410-_SDA2_BASE_(r2) -/* 8028172C 0027E66C C8 02 BA 18 */ lfd f0, lbl_80455418-_SDA2_BASE_(r2) -/* 80281730 0027E670 FC 00 00 B2 */ fmul f0, f0, f2 -/* 80281734 0027E674 FC 21 00 2A */ fadd f1, f1, f0 -/* 80281738 0027E678 FC 02 00 B2 */ fmul f0, f2, f2 -/* 8028173C 0027E67C FD 61 00 32 */ fmul f11, f1, f0 -/* 80281740 0027E680 FC 0A 02 72 */ fmul f0, f10, f9 -/* 80281744 0027E684 FC 02 00 32 */ fmul f0, f2, f0 -/* 80281748 0027E688 FC A0 01 F2 */ fmul f5, f0, f7 -/* 8028174C 0027E68C FC 0A 02 B2 */ fmul f0, f10, f10 -/* 80281750 0027E690 FC 09 00 32 */ fmul f0, f9, f0 -/* 80281754 0027E694 FC 40 01 32 */ fmul f2, f0, f4 -/* 80281758 0027E698 FC 08 58 28 */ fsub f0, f8, f11 -/* 8028175C 0027E69C FC 20 00 F2 */ fmul f1, f0, f3 -/* 80281760 0027E6A0 FC 0B 01 B2 */ fmul f0, f11, f6 -/* 80281764 0027E6A4 FC 01 00 2A */ fadd f0, f1, f0 -/* 80281768 0027E6A8 FC 02 00 2A */ fadd f0, f2, f0 -/* 8028176C 0027E6AC FC 25 00 2A */ fadd f1, f5, f0 -/* 80281770 0027E6B0 4E 80 00 20 */ blr - -.global JStudio_NS_functionvalue_NS_interpolateValue_BSpline_uniform -JStudio_NS_functionvalue_NS_interpolateValue_BSpline_uniform: -/* 80281774 0027E6B4 C8 02 BA 08 */ lfd f0, lbl_80455408-_SDA2_BASE_(r2) -/* 80281778 0027E6B8 FC C0 08 28 */ fsub f6, f0, f1 -/* 8028177C 0027E6BC FC 06 01 B2 */ fmul f0, f6, f6 -/* 80281780 0027E6C0 FD 00 01 B2 */ fmul f8, f0, f6 -/* 80281784 0027E6C4 FD 21 00 72 */ fmul f9, f1, f1 -/* 80281788 0027E6C8 FD 49 00 72 */ fmul f10, f9, f1 -/* 8028178C 0027E6CC C8 E2 BA 20 */ lfd f7, lbl_80455420-_SDA2_BASE_(r2) -/* 80281790 0027E6D0 C8 C2 BA 28 */ lfd f6, lbl_80455428-_SDA2_BASE_(r2) -/* 80281794 0027E6D4 FC 01 48 2A */ fadd f0, f1, f9 -/* 80281798 0027E6D8 FC 00 50 28 */ fsub f0, f0, f10 -/* 8028179C 0027E6DC FC 06 00 32 */ fmul f0, f6, f0 -/* 802817A0 0027E6E0 FC 07 00 2A */ fadd f0, f7, f0 -/* 802817A4 0027E6E4 FC 80 01 32 */ fmul f4, f0, f4 -/* 802817A8 0027E6E8 C8 22 BA 30 */ lfd f1, lbl_80455430-_SDA2_BASE_(r2) -/* 802817AC 0027E6EC FC 06 02 B2 */ fmul f0, f6, f10 -/* 802817B0 0027E6F0 FC 00 48 28 */ fsub f0, f0, f9 -/* 802817B4 0027E6F4 FC 01 00 2A */ fadd f0, f1, f0 -/* 802817B8 0027E6F8 FC 60 00 F2 */ fmul f3, f0, f3 -/* 802817BC 0027E6FC FC 28 00 B2 */ fmul f1, f8, f2 -/* 802817C0 0027E700 FC 0A 01 72 */ fmul f0, f10, f5 -/* 802817C4 0027E704 FC 01 00 2A */ fadd f0, f1, f0 -/* 802817C8 0027E708 FC 07 00 32 */ fmul f0, f7, f0 -/* 802817CC 0027E70C FC 03 00 2A */ fadd f0, f3, f0 -/* 802817D0 0027E710 FC 24 00 2A */ fadd f1, f4, f0 -/* 802817D4 0027E714 4E 80 00 20 */ blr - -.global JStudio_NS_functionvalue_NS_interpolateValue_BSpline_nonuniform -JStudio_NS_functionvalue_NS_interpolateValue_BSpline_nonuniform: -/* 802817D8 0027E718 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802817DC 0027E71C DB E1 00 08 */ stfd f31, 8(r1) -/* 802817E0 0027E720 C8 C4 00 00 */ lfd f6, 0(r4) -/* 802817E4 0027E724 C8 A4 00 08 */ lfd f5, 8(r4) -/* 802817E8 0027E728 C8 E4 00 10 */ lfd f7, 0x10(r4) -/* 802817EC 0027E72C C9 04 00 18 */ lfd f8, 0x18(r4) -/* 802817F0 0027E730 C9 24 00 20 */ lfd f9, 0x20(r4) -/* 802817F4 0027E734 C9 44 00 28 */ lfd f10, 0x28(r4) -/* 802817F8 0027E738 FD 61 28 28 */ fsub f11, f1, f5 -/* 802817FC 0027E73C FD 81 38 28 */ fsub f12, f1, f7 -/* 80281800 0027E740 FC 08 08 28 */ fsub f0, f8, f1 -/* 80281804 0027E744 FC 49 08 28 */ fsub f2, f9, f1 -/* 80281808 0027E748 C8 82 BA 08 */ lfd f4, lbl_80455408-_SDA2_BASE_(r2) -/* 8028180C 0027E74C FC 68 38 28 */ fsub f3, f8, f7 -/* 80281810 0027E750 FD A4 18 24 */ fdiv f13, f4, f3 -/* 80281814 0027E754 FC 80 03 72 */ fmul f4, f0, f13 -/* 80281818 0027E758 FC 68 28 28 */ fsub f3, f8, f5 -/* 8028181C 0027E75C FF E4 18 24 */ fdiv f31, f4, f3 -/* 80281820 0027E760 FC 8C 03 72 */ fmul f4, f12, f13 -/* 80281824 0027E764 FC 69 38 28 */ fsub f3, f9, f7 -/* 80281828 0027E768 FD A4 18 24 */ fdiv f13, f4, f3 -/* 8028182C 0027E76C FC 80 07 F2 */ fmul f4, f0, f31 -/* 80281830 0027E770 FC 68 30 28 */ fsub f3, f8, f6 -/* 80281834 0027E774 FD 04 18 24 */ fdiv f8, f4, f3 -/* 80281838 0027E778 FC 8B 07 F2 */ fmul f4, f11, f31 -/* 8028183C 0027E77C FC 62 03 72 */ fmul f3, f2, f13 -/* 80281840 0027E780 FC 84 18 2A */ fadd f4, f4, f3 -/* 80281844 0027E784 FC 69 28 28 */ fsub f3, f9, f5 -/* 80281848 0027E788 FD 24 18 24 */ fdiv f9, f4, f3 -/* 8028184C 0027E78C FC 8C 03 72 */ fmul f4, f12, f13 -/* 80281850 0027E790 FC 6A 38 28 */ fsub f3, f10, f7 -/* 80281854 0027E794 FC E4 18 24 */ fdiv f7, f4, f3 -/* 80281858 0027E798 FC 8C 01 F2 */ fmul f4, f12, f7 -/* 8028185C 0027E79C C8 63 00 18 */ lfd f3, 0x18(r3) -/* 80281860 0027E7A0 FC A4 00 F2 */ fmul f5, f4, f3 -/* 80281864 0027E7A4 FC 8B 02 72 */ fmul f4, f11, f9 -/* 80281868 0027E7A8 FC 6A 08 28 */ fsub f3, f10, f1 -/* 8028186C 0027E7AC FC 63 01 F2 */ fmul f3, f3, f7 -/* 80281870 0027E7B0 FC 84 18 2A */ fadd f4, f4, f3 -/* 80281874 0027E7B4 C8 63 00 10 */ lfd f3, 0x10(r3) -/* 80281878 0027E7B8 FC 84 00 F2 */ fmul f4, f4, f3 -/* 8028187C 0027E7BC FC 60 02 32 */ fmul f3, f0, f8 -/* 80281880 0027E7C0 C8 03 00 00 */ lfd f0, 0(r3) -/* 80281884 0027E7C4 FC 63 00 32 */ fmul f3, f3, f0 -/* 80281888 0027E7C8 FC 01 30 28 */ fsub f0, f1, f6 -/* 8028188C 0027E7CC FC 20 02 32 */ fmul f1, f0, f8 -/* 80281890 0027E7D0 FC 02 02 72 */ fmul f0, f2, f9 -/* 80281894 0027E7D4 FC 21 00 2A */ fadd f1, f1, f0 -/* 80281898 0027E7D8 C8 03 00 08 */ lfd f0, 8(r3) -/* 8028189C 0027E7DC FC 01 00 32 */ fmul f0, f1, f0 -/* 802818A0 0027E7E0 FC 03 00 2A */ fadd f0, f3, f0 -/* 802818A4 0027E7E4 FC 04 00 2A */ fadd f0, f4, f0 -/* 802818A8 0027E7E8 FC 25 00 2A */ fadd f1, f5, f0 -/* 802818AC 0027E7EC CB E1 00 08 */ lfd f31, 8(r1) -/* 802818B0 0027E7F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802818B4 0027E7F4 4E 80 00 20 */ blr -/* 802818B8 0027E7F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802818BC 0027E7FC 7C 08 02 A6 */ mflr r0 -/* 802818C0 0027E800 90 01 00 24 */ stw r0, 0x24(r1) -/* 802818C4 0027E804 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 802818C8 0027E808 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 802818CC 0027E80C FF C0 10 90 */ fmr f30, f2 -/* 802818D0 0027E810 C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) -/* 802818D4 0027E814 FF E0 07 B2 */ fmul f31, f0, f30 -/* 802818D8 0027E818 FC 40 F8 90 */ fmr f2, f31 -/* 802818DC 0027E81C 48 0E AE 85 */ bl func_8036C760 -/* 802818E0 0027E820 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 802818E4 0027E824 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802818E8 0027E828 40 80 00 08 */ bge lbl_802818F0 -/* 802818EC 0027E82C FC 21 F8 2A */ fadd f1, f1, f31 -lbl_802818F0: -/* 802818F0 0027E830 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 802818F4 0027E834 4C 41 13 82 */ cror 2, 1, 2 -/* 802818F8 0027E838 40 82 00 08 */ bne lbl_80281900 -/* 802818FC 0027E83C FC 3F 08 28 */ fsub f1, f31, f1 -lbl_80281900: -/* 80281900 0027E840 CB E1 00 18 */ lfd f31, 0x18(r1) -/* 80281904 0027E844 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 80281908 0027E848 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8028190C 0027E84C 7C 08 03 A6 */ mtlr r0 -/* 80281910 0027E850 38 21 00 20 */ addi r1, r1, 0x20 -/* 80281914 0027E854 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValueAttribute_range_NS_range_initialize -JStudio_NS_TFunctionValueAttribute_range_NS_range_initialize: -/* 80281918 0027E858 3C 80 80 45 */ lis r4, lbl_80450AE0@ha -/* 8028191C 0027E85C C0 04 0A E0 */ lfs f0, lbl_80450AE0@l(r4) -/* 80281920 0027E860 D8 03 00 00 */ stfd f0, 0(r3) -/* 80281924 0027E864 C8 03 00 00 */ lfd f0, 0(r3) -/* 80281928 0027E868 D8 03 00 08 */ stfd f0, 8(r3) -/* 8028192C 0027E86C C8 03 00 00 */ lfd f0, 0(r3) -/* 80281930 0027E870 D8 03 00 10 */ stfd f0, 0x10(r3) -/* 80281934 0027E874 38 00 00 00 */ li r0, 0 -/* 80281938 0027E878 98 03 00 18 */ stb r0, 0x18(r3) -/* 8028193C 0027E87C 98 03 00 19 */ stb r0, 0x19(r3) -/* 80281940 0027E880 90 03 00 30 */ stw r0, 0x30(r3) -/* 80281944 0027E884 90 03 00 34 */ stw r0, 0x34(r3) -/* 80281948 0027E888 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValueAttribute_range_NS_range_prepare -JStudio_NS_TFunctionValueAttribute_range_NS_range_prepare: -/* 8028194C 0027E88C 88 03 00 18 */ lbz r0, 0x18(r3) -/* 80281950 0027E890 7C 00 07 74 */ extsb r0, r0 -/* 80281954 0027E894 2C 00 00 02 */ cmpwi r0, 2 -/* 80281958 0027E898 41 82 00 50 */ beq lbl_802819A8 -/* 8028195C 0027E89C 40 80 00 14 */ bge lbl_80281970 -/* 80281960 0027E8A0 2C 00 00 00 */ cmpwi r0, 0 -/* 80281964 0027E8A4 41 82 00 1C */ beq lbl_80281980 -/* 80281968 0027E8A8 40 80 00 2C */ bge lbl_80281994 -/* 8028196C 0027E8AC 48 00 00 14 */ b lbl_80281980 -lbl_80281970: -/* 80281970 0027E8B0 2C 00 00 04 */ cmpwi r0, 4 -/* 80281974 0027E8B4 41 82 00 5C */ beq lbl_802819D0 -/* 80281978 0027E8B8 40 80 00 08 */ bge lbl_80281980 -/* 8028197C 0027E8BC 48 00 00 40 */ b lbl_802819BC -lbl_80281980: -/* 80281980 0027E8C0 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281984 0027E8C4 D8 03 00 20 */ stfd f0, 0x20(r3) -/* 80281988 0027E8C8 C8 02 BA 08 */ lfd f0, lbl_80455408-_SDA2_BASE_(r2) -/* 8028198C 0027E8CC D8 03 00 28 */ stfd f0, 0x28(r3) -/* 80281990 0027E8D0 4E 80 00 20 */ blr -lbl_80281994: -/* 80281994 0027E8D4 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281998 0027E8D8 D8 03 00 20 */ stfd f0, 0x20(r3) -/* 8028199C 0027E8DC C8 02 BA 40 */ lfd f0, lbl_80455440-_SDA2_BASE_(r2) -/* 802819A0 0027E8E0 D8 03 00 28 */ stfd f0, 0x28(r3) -/* 802819A4 0027E8E4 4E 80 00 20 */ blr -lbl_802819A8: -/* 802819A8 0027E8E8 C8 03 00 00 */ lfd f0, 0(r3) -/* 802819AC 0027E8EC D8 03 00 20 */ stfd f0, 0x20(r3) -/* 802819B0 0027E8F0 C8 02 BA 40 */ lfd f0, lbl_80455440-_SDA2_BASE_(r2) -/* 802819B4 0027E8F4 D8 03 00 28 */ stfd f0, 0x28(r3) -/* 802819B8 0027E8F8 4E 80 00 20 */ blr -lbl_802819BC: -/* 802819BC 0027E8FC C8 03 00 08 */ lfd f0, 8(r3) -/* 802819C0 0027E900 D8 03 00 20 */ stfd f0, 0x20(r3) -/* 802819C4 0027E904 C8 02 BA 40 */ lfd f0, lbl_80455440-_SDA2_BASE_(r2) -/* 802819C8 0027E908 D8 03 00 28 */ stfd f0, 0x28(r3) -/* 802819CC 0027E90C 4E 80 00 20 */ blr -lbl_802819D0: -/* 802819D0 0027E910 C8 42 BA 28 */ lfd f2, lbl_80455428-_SDA2_BASE_(r2) -/* 802819D4 0027E914 C8 23 00 00 */ lfd f1, 0(r3) -/* 802819D8 0027E918 C8 03 00 08 */ lfd f0, 8(r3) -/* 802819DC 0027E91C FC 01 00 2A */ fadd f0, f1, f0 -/* 802819E0 0027E920 FC 02 00 32 */ fmul f0, f2, f0 -/* 802819E4 0027E924 D8 03 00 20 */ stfd f0, 0x20(r3) -/* 802819E8 0027E928 C8 02 BA 40 */ lfd f0, lbl_80455440-_SDA2_BASE_(r2) -/* 802819EC 0027E92C D8 03 00 28 */ stfd f0, 0x28(r3) -/* 802819F0 0027E930 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValueAttribute_range_NS_range_set -JStudio_NS_TFunctionValueAttribute_range_NS_range_set: -/* 802819F4 0027E934 D8 23 00 00 */ stfd f1, 0(r3) -/* 802819F8 0027E938 D8 43 00 08 */ stfd f2, 8(r3) -/* 802819FC 0027E93C FC 02 08 28 */ fsub f0, f2, f1 -/* 80281A00 0027E940 D8 03 00 10 */ stfd f0, 0x10(r3) -/* 80281A04 0027E944 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValueAttribute_range_NS_range_getParameter -JStudio_NS_TFunctionValueAttribute_range_NS_range_getParameter: -/* 80281A08 0027E948 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80281A0C 0027E94C 7C 08 02 A6 */ mflr r0 -/* 80281A10 0027E950 90 01 00 34 */ stw r0, 0x34(r1) -/* 80281A14 0027E954 39 61 00 30 */ addi r11, r1, 0x30 -/* 80281A18 0027E958 48 0E 07 2D */ bl _savefpr_29 -/* 80281A1C 0027E95C 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80281A20 0027E960 7C 7F 1B 78 */ mr r31, r3 -/* 80281A24 0027E964 FF E0 10 90 */ fmr f31, f2 -/* 80281A28 0027E968 FF A0 18 90 */ fmr f29, f3 -/* 80281A2C 0027E96C C8 63 00 20 */ lfd f3, 0x20(r3) -/* 80281A30 0027E970 C8 43 00 28 */ lfd f2, 0x28(r3) -/* 80281A34 0027E974 FC 01 18 28 */ fsub f0, f1, f3 -/* 80281A38 0027E978 FC 02 00 32 */ fmul f0, f2, f0 -/* 80281A3C 0027E97C FC 43 00 2A */ fadd f2, f3, f0 -/* 80281A40 0027E980 88 03 00 19 */ lbz r0, 0x19(r3) -/* 80281A44 0027E984 7C 00 07 74 */ extsb r0, r0 -/* 80281A48 0027E988 2C 00 00 02 */ cmpwi r0, 2 -/* 80281A4C 0027E98C 41 82 01 1C */ beq lbl_80281B68 -/* 80281A50 0027E990 40 80 00 14 */ bge lbl_80281A64 -/* 80281A54 0027E994 2C 00 00 00 */ cmpwi r0, 0 -/* 80281A58 0027E998 41 82 00 1C */ beq lbl_80281A74 -/* 80281A5C 0027E99C 40 80 00 90 */ bge lbl_80281AEC -/* 80281A60 0027E9A0 48 00 00 14 */ b lbl_80281A74 -lbl_80281A64: -/* 80281A64 0027E9A4 2C 00 00 04 */ cmpwi r0, 4 -/* 80281A68 0027E9A8 41 82 02 0C */ beq lbl_80281C74 -/* 80281A6C 0027E9AC 40 80 00 08 */ bge lbl_80281A74 -/* 80281A70 0027E9B0 48 00 01 78 */ b lbl_80281BE8 -lbl_80281A74: -/* 80281A74 0027E9B4 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281A78 0027E9B8 FF E2 00 28 */ fsub f31, f2, f0 -/* 80281A7C 0027E9BC C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281A80 0027E9C0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281A84 0027E9C4 40 80 00 28 */ bge lbl_80281AAC -/* 80281A88 0027E9C8 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80281A8C 0027E9CC 4B FF FB BD */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281A90 0027E9D0 FC 20 F8 90 */ fmr f1, f31 -/* 80281A94 0027E9D4 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281A98 0027E9D8 7C 6C 1B 78 */ mr r12, r3 -/* 80281A9C 0027E9DC 7D 89 03 A6 */ mtctr r12 -/* 80281AA0 0027E9E0 4E 80 04 21 */ bctrl -/* 80281AA4 0027E9E4 FF E0 08 90 */ fmr f31, f1 -/* 80281AA8 0027E9E8 48 00 00 34 */ b lbl_80281ADC -lbl_80281AAC: -/* 80281AAC 0027E9EC C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80281AB0 0027E9F0 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281AB4 0027E9F4 4C 41 13 82 */ cror 2, 1, 2 -/* 80281AB8 0027E9F8 40 82 00 24 */ bne lbl_80281ADC -/* 80281ABC 0027E9FC 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 80281AC0 0027EA00 4B FF FB 89 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281AC4 0027EA04 FC 20 F8 90 */ fmr f1, f31 -/* 80281AC8 0027EA08 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281ACC 0027EA0C 7C 6C 1B 78 */ mr r12, r3 -/* 80281AD0 0027EA10 7D 89 03 A6 */ mtctr r12 -/* 80281AD4 0027EA14 4E 80 04 21 */ bctrl -/* 80281AD8 0027EA18 FF E0 08 90 */ fmr f31, f1 -lbl_80281ADC: -/* 80281ADC 0027EA1C C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281AE0 0027EA20 FF FF 00 2A */ fadd f31, f31, f0 -/* 80281AE4 0027EA24 FC 20 F8 90 */ fmr f1, f31 -/* 80281AE8 0027EA28 48 00 02 14 */ b lbl_80281CFC -lbl_80281AEC: -/* 80281AEC 0027EA2C C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281AF0 0027EA30 FF E2 00 2A */ fadd f31, f2, f0 -/* 80281AF4 0027EA34 FF FF 00 28 */ fsub f31, f31, f0 -/* 80281AF8 0027EA38 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281AFC 0027EA3C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281B00 0027EA40 40 80 00 28 */ bge lbl_80281B28 -/* 80281B04 0027EA44 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80281B08 0027EA48 4B FF FB 41 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281B0C 0027EA4C FC 20 F8 90 */ fmr f1, f31 -/* 80281B10 0027EA50 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281B14 0027EA54 7C 6C 1B 78 */ mr r12, r3 -/* 80281B18 0027EA58 7D 89 03 A6 */ mtctr r12 -/* 80281B1C 0027EA5C 4E 80 04 21 */ bctrl -/* 80281B20 0027EA60 FF E0 08 90 */ fmr f31, f1 -/* 80281B24 0027EA64 48 00 00 34 */ b lbl_80281B58 -lbl_80281B28: -/* 80281B28 0027EA68 C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80281B2C 0027EA6C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281B30 0027EA70 4C 41 13 82 */ cror 2, 1, 2 -/* 80281B34 0027EA74 40 82 00 24 */ bne lbl_80281B58 -/* 80281B38 0027EA78 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 80281B3C 0027EA7C 4B FF FB 0D */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281B40 0027EA80 FC 20 F8 90 */ fmr f1, f31 -/* 80281B44 0027EA84 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281B48 0027EA88 7C 6C 1B 78 */ mr r12, r3 -/* 80281B4C 0027EA8C 7D 89 03 A6 */ mtctr r12 -/* 80281B50 0027EA90 4E 80 04 21 */ bctrl -/* 80281B54 0027EA94 FF E0 08 90 */ fmr f31, f1 -lbl_80281B58: -/* 80281B58 0027EA98 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281B5C 0027EA9C FF FF 00 2A */ fadd f31, f31, f0 -/* 80281B60 0027EAA0 FC 20 F8 90 */ fmr f1, f31 -/* 80281B64 0027EAA4 48 00 01 98 */ b lbl_80281CFC -lbl_80281B68: -/* 80281B68 0027EAA8 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80281B6C 0027EAAC FF E2 00 2A */ fadd f31, f2, f0 -/* 80281B70 0027EAB0 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281B74 0027EAB4 FF FF 00 28 */ fsub f31, f31, f0 -/* 80281B78 0027EAB8 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281B7C 0027EABC FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281B80 0027EAC0 40 80 00 28 */ bge lbl_80281BA8 -/* 80281B84 0027EAC4 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80281B88 0027EAC8 4B FF FA C1 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281B8C 0027EACC FC 20 F8 90 */ fmr f1, f31 -/* 80281B90 0027EAD0 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281B94 0027EAD4 7C 6C 1B 78 */ mr r12, r3 -/* 80281B98 0027EAD8 7D 89 03 A6 */ mtctr r12 -/* 80281B9C 0027EADC 4E 80 04 21 */ bctrl -/* 80281BA0 0027EAE0 FF E0 08 90 */ fmr f31, f1 -/* 80281BA4 0027EAE4 48 00 00 34 */ b lbl_80281BD8 -lbl_80281BA8: -/* 80281BA8 0027EAE8 C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80281BAC 0027EAEC FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281BB0 0027EAF0 4C 41 13 82 */ cror 2, 1, 2 -/* 80281BB4 0027EAF4 40 82 00 24 */ bne lbl_80281BD8 -/* 80281BB8 0027EAF8 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 80281BBC 0027EAFC 4B FF FA 8D */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281BC0 0027EB00 FC 20 F8 90 */ fmr f1, f31 -/* 80281BC4 0027EB04 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281BC8 0027EB08 7C 6C 1B 78 */ mr r12, r3 -/* 80281BCC 0027EB0C 7D 89 03 A6 */ mtctr r12 -/* 80281BD0 0027EB10 4E 80 04 21 */ bctrl -/* 80281BD4 0027EB14 FF E0 08 90 */ fmr f31, f1 -lbl_80281BD8: -/* 80281BD8 0027EB18 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281BDC 0027EB1C FF FF 00 2A */ fadd f31, f31, f0 -/* 80281BE0 0027EB20 FC 20 F8 90 */ fmr f1, f31 -/* 80281BE4 0027EB24 48 00 01 18 */ b lbl_80281CFC -lbl_80281BE8: -/* 80281BE8 0027EB28 C8 22 BA 28 */ lfd f1, lbl_80455428-_SDA2_BASE_(r2) -/* 80281BEC 0027EB2C C8 7F 00 00 */ lfd f3, 0(r31) -/* 80281BF0 0027EB30 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80281BF4 0027EB34 FC 03 00 2A */ fadd f0, f3, f0 -/* 80281BF8 0027EB38 FC 01 00 32 */ fmul f0, f1, f0 -/* 80281BFC 0027EB3C FF E2 00 2A */ fadd f31, f2, f0 -/* 80281C00 0027EB40 FF FF 18 28 */ fsub f31, f31, f3 -/* 80281C04 0027EB44 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281C08 0027EB48 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281C0C 0027EB4C 40 80 00 28 */ bge lbl_80281C34 -/* 80281C10 0027EB50 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80281C14 0027EB54 4B FF FA 35 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281C18 0027EB58 FC 20 F8 90 */ fmr f1, f31 -/* 80281C1C 0027EB5C C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281C20 0027EB60 7C 6C 1B 78 */ mr r12, r3 -/* 80281C24 0027EB64 7D 89 03 A6 */ mtctr r12 -/* 80281C28 0027EB68 4E 80 04 21 */ bctrl -/* 80281C2C 0027EB6C FF E0 08 90 */ fmr f31, f1 -/* 80281C30 0027EB70 48 00 00 34 */ b lbl_80281C64 -lbl_80281C34: -/* 80281C34 0027EB74 C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80281C38 0027EB78 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80281C3C 0027EB7C 4C 41 13 82 */ cror 2, 1, 2 -/* 80281C40 0027EB80 40 82 00 24 */ bne lbl_80281C64 -/* 80281C44 0027EB84 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 80281C48 0027EB88 4B FF FA 01 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281C4C 0027EB8C FC 20 F8 90 */ fmr f1, f31 -/* 80281C50 0027EB90 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281C54 0027EB94 7C 6C 1B 78 */ mr r12, r3 -/* 80281C58 0027EB98 7D 89 03 A6 */ mtctr r12 -/* 80281C5C 0027EB9C 4E 80 04 21 */ bctrl -/* 80281C60 0027EBA0 FF E0 08 90 */ fmr f31, f1 -lbl_80281C64: -/* 80281C64 0027EBA4 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281C68 0027EBA8 FF FF 00 2A */ fadd f31, f31, f0 -/* 80281C6C 0027EBAC FC 20 F8 90 */ fmr f1, f31 -/* 80281C70 0027EBB0 48 00 00 8C */ b lbl_80281CFC -lbl_80281C74: -/* 80281C74 0027EBB4 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281C78 0027EBB8 FF C2 00 28 */ fsub f30, f2, f0 -/* 80281C7C 0027EBBC C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80281C80 0027EBC0 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80281C84 0027EBC4 40 80 00 28 */ bge lbl_80281CAC -/* 80281C88 0027EBC8 80 7F 00 30 */ lwz r3, 0x30(r31) -/* 80281C8C 0027EBCC 4B FF F9 BD */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281C90 0027EBD0 FC 20 F0 90 */ fmr f1, f30 -/* 80281C94 0027EBD4 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281C98 0027EBD8 7C 6C 1B 78 */ mr r12, r3 -/* 80281C9C 0027EBDC 7D 89 03 A6 */ mtctr r12 -/* 80281CA0 0027EBE0 4E 80 04 21 */ bctrl -/* 80281CA4 0027EBE4 FF C0 08 90 */ fmr f30, f1 -/* 80281CA8 0027EBE8 48 00 00 34 */ b lbl_80281CDC -lbl_80281CAC: -/* 80281CAC 0027EBEC C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80281CB0 0027EBF0 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80281CB4 0027EBF4 4C 41 13 82 */ cror 2, 1, 2 -/* 80281CB8 0027EBF8 40 82 00 24 */ bne lbl_80281CDC -/* 80281CBC 0027EBFC 80 7F 00 34 */ lwz r3, 0x34(r31) -/* 80281CC0 0027EC00 4B FF F9 89 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80281CC4 0027EC04 FC 20 F0 90 */ fmr f1, f30 -/* 80281CC8 0027EC08 C8 5F 00 10 */ lfd f2, 0x10(r31) -/* 80281CCC 0027EC0C 7C 6C 1B 78 */ mr r12, r3 -/* 80281CD0 0027EC10 7D 89 03 A6 */ mtctr r12 -/* 80281CD4 0027EC14 4E 80 04 21 */ bctrl -/* 80281CD8 0027EC18 FF C0 08 90 */ fmr f30, f1 -lbl_80281CDC: -/* 80281CDC 0027EC1C C8 1F 00 00 */ lfd f0, 0(r31) -/* 80281CE0 0027EC20 FF DE 00 2A */ fadd f30, f30, f0 -/* 80281CE4 0027EC24 FC 3E 00 28 */ fsub f1, f30, f0 -/* 80281CE8 0027EC28 FC 1D F8 28 */ fsub f0, f29, f31 -/* 80281CEC 0027EC2C FC 21 00 32 */ fmul f1, f1, f0 -/* 80281CF0 0027EC30 C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80281CF4 0027EC34 FC 01 00 24 */ fdiv f0, f1, f0 -/* 80281CF8 0027EC38 FC 3F 00 2A */ fadd f1, f31, f0 -lbl_80281CFC: -/* 80281CFC 0027EC3C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80281D00 0027EC40 48 0E 04 91 */ bl _restfpr_29 -/* 80281D04 0027EC44 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80281D08 0027EC48 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80281D0C 0027EC4C 7C 08 03 A6 */ mtlr r0 -/* 80281D10 0027EC50 38 21 00 30 */ addi r1, r1, 0x30 -/* 80281D14 0027EC54 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValueAttribute_range -JStudio_NS_TFunctionValueAttribute_range: -/* 80281D18 0027EC58 3C 80 80 45 */ lis r4, lbl_80450AE0@ha -/* 80281D1C 0027EC5C C0 04 0A E0 */ lfs f0, lbl_80450AE0@l(r4) -/* 80281D20 0027EC60 D8 03 00 00 */ stfd f0, 0(r3) -/* 80281D24 0027EC64 C8 03 00 00 */ lfd f0, 0(r3) -/* 80281D28 0027EC68 D8 03 00 08 */ stfd f0, 8(r3) -/* 80281D2C 0027EC6C C8 03 00 00 */ lfd f0, 0(r3) -/* 80281D30 0027EC70 D8 03 00 10 */ stfd f0, 0x10(r3) -/* 80281D34 0027EC74 38 00 00 00 */ li r0, 0 -/* 80281D38 0027EC78 98 03 00 18 */ stb r0, 0x18(r3) -/* 80281D3C 0027EC7C 98 03 00 19 */ stb r0, 0x19(r3) -/* 80281D40 0027EC80 C8 03 00 00 */ lfd f0, 0(r3) -/* 80281D44 0027EC84 D8 03 00 20 */ stfd f0, 0x20(r3) -/* 80281D48 0027EC88 C8 03 00 00 */ lfd f0, 0(r3) -/* 80281D4C 0027EC8C D8 03 00 28 */ stfd f0, 0x28(r3) -/* 80281D50 0027EC90 90 03 00 30 */ stw r0, 0x30(r3) -/* 80281D54 0027EC94 90 03 00 34 */ stw r0, 0x34(r3) -/* 80281D58 0027EC98 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_composite -JStudio_NS_TFunctionValue_composite: -/* 80281D5C 0027EC9C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80281D60 0027ECA0 7C 08 02 A6 */ mflr r0 -/* 80281D64 0027ECA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80281D68 0027ECA8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80281D6C 0027ECAC 7C 7F 1B 78 */ mr r31, r3 -/* 80281D70 0027ECB0 4B FF F9 21 */ bl JStudio_NS_TFunctionValue -/* 80281D74 0027ECB4 38 7F 00 04 */ addi r3, r31, 4 -/* 80281D78 0027ECB8 38 81 00 08 */ addi r4, r1, 8 -/* 80281D7C 0027ECBC 88 0D 8C 68 */ lbz r0, lbl_804511E8-_SDA_BASE_(r13) -/* 80281D80 0027ECC0 98 01 00 08 */ stb r0, 8(r1) -/* 80281D84 0027ECC4 48 05 AF 4D */ bl JGadget_NS_TVector_pointer_void -/* 80281D88 0027ECC8 3C 60 80 3C */ lis r3, lbl_803C4980@ha -/* 80281D8C 0027ECCC 38 03 49 80 */ addi r0, r3, lbl_803C4980@l -/* 80281D90 0027ECD0 90 1F 00 00 */ stw r0, 0(r31) -/* 80281D94 0027ECD4 38 00 00 00 */ li r0, 0 -/* 80281D98 0027ECD8 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80281D9C 0027ECDC 90 1F 00 20 */ stw r0, 0x20(r31) -/* 80281DA0 0027ECE0 7F E3 FB 78 */ mr r3, r31 -/* 80281DA4 0027ECE4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80281DA8 0027ECE8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80281DAC 0027ECEC 7C 08 03 A6 */ mtlr r0 -/* 80281DB0 0027ECF0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80281DB4 0027ECF4 4E 80 00 20 */ blr -/* 80281DB8 0027ECF8 38 60 00 01 */ li r3, 1 -/* 80281DBC 0027ECFC 4E 80 00 20 */ blr -/* 80281DC0 0027ED00 28 04 00 00 */ cmplwi r4, 0 -/* 80281DC4 0027ED04 41 82 00 08 */ beq lbl_80281DCC -/* 80281DC8 0027ED08 38 84 00 04 */ addi r4, r4, 4 -lbl_80281DCC: -/* 80281DCC 0027ED0C 90 83 00 00 */ stw r4, 0(r3) -/* 80281DD0 0027ED10 38 00 00 00 */ li r0, 0 -/* 80281DD4 0027ED14 90 03 00 04 */ stw r0, 4(r3) -/* 80281DD8 0027ED18 90 03 00 08 */ stw r0, 8(r3) -/* 80281DDC 0027ED1C 4E 80 00 20 */ blr -/* 80281DE0 0027ED20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80281DE4 0027ED24 7C 08 02 A6 */ mflr r0 -/* 80281DE8 0027ED28 90 01 00 24 */ stw r0, 0x24(r1) -/* 80281DEC 0027ED2C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80281DF0 0027ED30 7C 7F 1B 78 */ mr r31, r3 -/* 80281DF4 0027ED34 38 7F 00 04 */ addi r3, r31, 4 -/* 80281DF8 0027ED38 4B FF F8 F1 */ bl JStudio_NS_TFunctionValueAttribute_refer_NS_refer_initialize -/* 80281DFC 0027ED3C 38 00 00 00 */ li r0, 0 -/* 80281E00 0027ED40 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80281E04 0027ED44 90 01 00 08 */ stw r0, 8(r1) -/* 80281E08 0027ED48 C8 01 00 08 */ lfd f0, 8(r1) -/* 80281E0C 0027ED4C D8 1F 00 20 */ stfd f0, 0x20(r31) -/* 80281E10 0027ED50 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80281E14 0027ED54 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80281E18 0027ED58 7C 08 03 A6 */ mtlr r0 -/* 80281E1C 0027ED5C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80281E20 0027ED60 4E 80 00 20 */ blr -/* 80281E24 0027ED64 4E 80 00 20 */ blr -/* 80281E28 0027ED68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80281E2C 0027ED6C 7C 08 02 A6 */ mflr r0 -/* 80281E30 0027ED70 90 01 00 14 */ stw r0, 0x14(r1) -/* 80281E34 0027ED74 7C 65 1B 78 */ mr r5, r3 -/* 80281E38 0027ED78 38 65 00 04 */ addi r3, r5, 4 -/* 80281E3C 0027ED7C 38 85 00 20 */ addi r4, r5, 0x20 -/* 80281E40 0027ED80 81 85 00 18 */ lwz r12, 0x18(r5) -/* 80281E44 0027ED84 7D 89 03 A6 */ mtctr r12 -/* 80281E48 0027ED88 4E 80 04 21 */ bctrl -/* 80281E4C 0027ED8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80281E50 0027ED90 7C 08 03 A6 */ mtlr r0 -/* 80281E54 0027ED94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80281E58 0027ED98 4E 80 00 20 */ blr -/* 80281E5C 0027ED9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80281E60 0027EDA0 7C 08 02 A6 */ mflr r0 -/* 80281E64 0027EDA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80281E68 0027EDA8 80 84 00 00 */ lwz r4, 0(r4) -/* 80281E6C 0027EDAC 80 A3 00 04 */ lwz r5, 4(r3) -/* 80281E70 0027EDB0 28 05 00 00 */ cmplwi r5, 0 -/* 80281E74 0027EDB4 40 82 00 0C */ bne lbl_80281E80 -/* 80281E78 0027EDB8 38 00 00 00 */ li r0, 0 -/* 80281E7C 0027EDBC 48 00 00 14 */ b lbl_80281E90 -lbl_80281E80: -/* 80281E80 0027EDC0 80 03 00 08 */ lwz r0, 8(r3) -/* 80281E84 0027EDC4 7C 05 00 50 */ subf r0, r5, r0 -/* 80281E88 0027EDC8 7C 00 16 70 */ srawi r0, r0, 2 -/* 80281E8C 0027EDCC 7C 00 01 94 */ addze r0, r0 -lbl_80281E90: -/* 80281E90 0027EDD0 7C 04 00 40 */ cmplw r4, r0 -/* 80281E94 0027EDD4 41 80 00 0C */ blt lbl_80281EA0 -/* 80281E98 0027EDD8 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) -/* 80281E9C 0027EDDC 48 00 00 1C */ b lbl_80281EB8 -lbl_80281EA0: -/* 80281EA0 0027EDE0 54 80 10 3A */ slwi r0, r4, 2 -/* 80281EA4 0027EDE4 7C 65 00 2E */ lwzx r3, r5, r0 -/* 80281EA8 0027EDE8 81 83 00 00 */ lwz r12, 0(r3) -/* 80281EAC 0027EDEC 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 80281EB0 0027EDF0 7D 89 03 A6 */ mtctr r12 -/* 80281EB4 0027EDF4 4E 80 04 21 */ bctrl -lbl_80281EB8: -/* 80281EB8 0027EDF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80281EBC 0027EDFC 7C 08 03 A6 */ mtlr r0 -/* 80281EC0 0027EE00 38 21 00 10 */ addi r1, r1, 0x10 -/* 80281EC4 0027EE04 4E 80 00 20 */ blr -/* 80281EC8 0027EE08 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80281ECC 0027EE0C 7C 08 02 A6 */ mflr r0 -/* 80281ED0 0027EE10 90 01 00 44 */ stw r0, 0x44(r1) -/* 80281ED4 0027EE14 DB E1 00 38 */ stfd f31, 0x38(r1) -/* 80281ED8 0027EE18 39 61 00 38 */ addi r11, r1, 0x38 -/* 80281EDC 0027EE1C 48 0E 03 01 */ bl _savegpr_29 -/* 80281EE0 0027EE20 7C 9D 23 78 */ mr r29, r4 -/* 80281EE4 0027EE24 FF E0 08 90 */ fmr f31, f1 -/* 80281EE8 0027EE28 83 C3 00 04 */ lwz r30, 4(r3) -/* 80281EEC 0027EE2C 28 1E 00 00 */ cmplwi r30, 0 -/* 80281EF0 0027EE30 40 82 00 0C */ bne lbl_80281EFC -/* 80281EF4 0027EE34 3B E0 00 00 */ li r31, 0 -/* 80281EF8 0027EE38 48 00 00 14 */ b lbl_80281F0C -lbl_80281EFC: -/* 80281EFC 0027EE3C 80 03 00 08 */ lwz r0, 8(r3) -/* 80281F00 0027EE40 7C 1E 00 50 */ subf r0, r30, r0 -/* 80281F04 0027EE44 7C 00 16 70 */ srawi r0, r0, 2 -/* 80281F08 0027EE48 7F E0 01 94 */ addze r31, r0 -lbl_80281F0C: -/* 80281F0C 0027EE4C 2C 1F 00 01 */ cmpwi r31, 1 -/* 80281F10 0027EE50 41 81 00 0C */ bgt lbl_80281F1C -/* 80281F14 0027EE54 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) -/* 80281F18 0027EE58 48 00 00 F8 */ b lbl_80282010 -lbl_80281F1C: -/* 80281F1C 0027EE5C 80 7E 00 00 */ lwz r3, 0(r30) -/* 80281F20 0027EE60 FC 20 F8 90 */ fmr f1, f31 -/* 80281F24 0027EE64 81 83 00 00 */ lwz r12, 0(r3) -/* 80281F28 0027EE68 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 80281F2C 0027EE6C 7D 89 03 A6 */ mtctr r12 -/* 80281F30 0027EE70 4E 80 04 21 */ bctrl -/* 80281F34 0027EE74 48 0E A1 C9 */ bl func_8036C0FC -/* 80281F38 0027EE78 FC 00 08 1E */ fctiwz f0, f1 -/* 80281F3C 0027EE7C D8 01 00 18 */ stfd f0, 0x18(r1) -/* 80281F40 0027EE80 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 80281F44 0027EE84 80 1D 00 00 */ lwz r0, 0(r29) -/* 80281F48 0027EE88 2C 00 00 02 */ cmpwi r0, 2 -/* 80281F4C 0027EE8C 41 82 00 5C */ beq lbl_80281FA8 -/* 80281F50 0027EE90 40 80 00 10 */ bge lbl_80281F60 -/* 80281F54 0027EE94 2C 00 00 00 */ cmpwi r0, 0 -/* 80281F58 0027EE98 41 82 00 08 */ beq lbl_80281F60 -/* 80281F5C 0027EE9C 40 80 00 28 */ bge lbl_80281F84 -lbl_80281F60: -/* 80281F60 0027EEA0 2C 03 00 00 */ cmpwi r3, 0 -/* 80281F64 0027EEA4 40 80 00 0C */ bge lbl_80281F70 -/* 80281F68 0027EEA8 38 60 00 00 */ li r3, 0 -/* 80281F6C 0027EEAC 48 00 00 84 */ b lbl_80281FF0 -lbl_80281F70: -/* 80281F70 0027EEB0 38 1F FF FF */ addi r0, r31, -1 -/* 80281F74 0027EEB4 7C 03 00 00 */ cmpw r3, r0 -/* 80281F78 0027EEB8 41 80 00 78 */ blt lbl_80281FF0 -/* 80281F7C 0027EEBC 38 7F FF FE */ addi r3, r31, -2 -/* 80281F80 0027EEC0 48 00 00 70 */ b lbl_80281FF0 -lbl_80281F84: -/* 80281F84 0027EEC4 38 9F FF FF */ addi r4, r31, -1 -/* 80281F88 0027EEC8 48 0E 30 F1 */ bl func_80365078 -/* 80281F8C 0027EECC 90 81 00 14 */ stw r4, 0x14(r1) -/* 80281F90 0027EED0 90 61 00 10 */ stw r3, 0x10(r1) -/* 80281F94 0027EED4 7C 83 23 79 */ or. r3, r4, r4 -/* 80281F98 0027EED8 40 80 00 58 */ bge lbl_80281FF0 -/* 80281F9C 0027EEDC 7C 7F 1A 14 */ add r3, r31, r3 -/* 80281FA0 0027EEE0 38 63 FF FF */ addi r3, r3, -1 -/* 80281FA4 0027EEE4 48 00 00 4C */ b lbl_80281FF0 -lbl_80281FA8: -/* 80281FA8 0027EEE8 38 1F FF FF */ addi r0, r31, -1 -/* 80281FAC 0027EEEC 2C 00 00 01 */ cmpwi r0, 1 -/* 80281FB0 0027EEF0 40 82 00 0C */ bne lbl_80281FBC -/* 80281FB4 0027EEF4 38 60 00 00 */ li r3, 0 -/* 80281FB8 0027EEF8 48 00 00 38 */ b lbl_80281FF0 -lbl_80281FBC: -/* 80281FBC 0027EEFC 38 1F FF FE */ addi r0, r31, -2 -/* 80281FC0 0027EF00 54 1D 08 3C */ slwi r29, r0, 1 -/* 80281FC4 0027EF04 7F A4 EB 78 */ mr r4, r29 -/* 80281FC8 0027EF08 48 0E 30 B1 */ bl func_80365078 -/* 80281FCC 0027EF0C 90 81 00 0C */ stw r4, 0xc(r1) -/* 80281FD0 0027EF10 90 61 00 08 */ stw r3, 8(r1) -/* 80281FD4 0027EF14 7C 83 23 79 */ or. r3, r4, r4 -/* 80281FD8 0027EF18 40 80 00 08 */ bge lbl_80281FE0 -/* 80281FDC 0027EF1C 7C 63 EA 14 */ add r3, r3, r29 -lbl_80281FE0: -/* 80281FE0 0027EF20 38 1F FF FF */ addi r0, r31, -1 -/* 80281FE4 0027EF24 7C 03 00 00 */ cmpw r3, r0 -/* 80281FE8 0027EF28 41 80 00 08 */ blt lbl_80281FF0 -/* 80281FEC 0027EF2C 7C 63 E8 50 */ subf r3, r3, r29 -lbl_80281FF0: -/* 80281FF0 0027EF30 38 03 00 01 */ addi r0, r3, 1 -/* 80281FF4 0027EF34 54 00 10 3A */ slwi r0, r0, 2 -/* 80281FF8 0027EF38 7C 7E 00 2E */ lwzx r3, r30, r0 -/* 80281FFC 0027EF3C FC 20 F8 90 */ fmr f1, f31 -/* 80282000 0027EF40 81 83 00 00 */ lwz r12, 0(r3) -/* 80282004 0027EF44 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 80282008 0027EF48 7D 89 03 A6 */ mtctr r12 -/* 8028200C 0027EF4C 4E 80 04 21 */ bctrl -lbl_80282010: -/* 80282010 0027EF50 CB E1 00 38 */ lfd f31, 0x38(r1) -/* 80282014 0027EF54 39 61 00 38 */ addi r11, r1, 0x38 -/* 80282018 0027EF58 48 0E 02 11 */ bl _restgpr_29 -/* 8028201C 0027EF5C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80282020 0027EF60 7C 08 03 A6 */ mtlr r0 -/* 80282024 0027EF64 38 21 00 40 */ addi r1, r1, 0x40 -/* 80282028 0027EF68 4E 80 00 20 */ blr -/* 8028202C 0027EF6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282030 0027EF70 7C 08 02 A6 */ mflr r0 -/* 80282034 0027EF74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282038 0027EF78 C8 04 00 00 */ lfd f0, 0(r4) -/* 8028203C 0027EF7C FC 21 00 28 */ fsub f1, f1, f0 -/* 80282040 0027EF80 80 03 00 08 */ lwz r0, 8(r3) -/* 80282044 0027EF84 80 63 00 04 */ lwz r3, 4(r3) -/* 80282048 0027EF88 90 61 00 08 */ stw r3, 8(r1) -/* 8028204C 0027EF8C 90 01 00 0C */ stw r0, 0xc(r1) -/* 80282050 0027EF90 48 00 00 24 */ b lbl_80282074 -lbl_80282054: -/* 80282054 0027EF94 80 61 00 08 */ lwz r3, 8(r1) -/* 80282058 0027EF98 38 03 00 04 */ addi r0, r3, 4 -/* 8028205C 0027EF9C 90 01 00 08 */ stw r0, 8(r1) -/* 80282060 0027EFA0 80 63 00 00 */ lwz r3, 0(r3) -/* 80282064 0027EFA4 81 83 00 00 */ lwz r12, 0(r3) -/* 80282068 0027EFA8 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8028206C 0027EFAC 7D 89 03 A6 */ mtctr r12 -/* 80282070 0027EFB0 4E 80 04 21 */ bctrl -lbl_80282074: -/* 80282074 0027EFB4 80 61 00 08 */ lwz r3, 8(r1) -/* 80282078 0027EFB8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8028207C 0027EFBC 7C 03 00 40 */ cmplw r3, r0 -/* 80282080 0027EFC0 40 82 FF D4 */ bne lbl_80282054 -/* 80282084 0027EFC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282088 0027EFC8 7C 08 03 A6 */ mtlr r0 -/* 8028208C 0027EFCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282090 0027EFD0 4E 80 00 20 */ blr -/* 80282094 0027EFD4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80282098 0027EFD8 7C 08 02 A6 */ mflr r0 -/* 8028209C 0027EFDC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802820A0 0027EFE0 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 802820A4 0027EFE4 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 802820A8 0027EFE8 FF C0 08 90 */ fmr f30, f1 -/* 802820AC 0027EFEC CB E4 00 00 */ lfd f31, 0(r4) -/* 802820B0 0027EFF0 80 03 00 08 */ lwz r0, 8(r3) -/* 802820B4 0027EFF4 80 63 00 04 */ lwz r3, 4(r3) -/* 802820B8 0027EFF8 90 61 00 08 */ stw r3, 8(r1) -/* 802820BC 0027EFFC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802820C0 0027F000 48 00 00 2C */ b lbl_802820EC -lbl_802820C4: -/* 802820C4 0027F004 80 61 00 08 */ lwz r3, 8(r1) -/* 802820C8 0027F008 38 03 00 04 */ addi r0, r3, 4 -/* 802820CC 0027F00C 90 01 00 08 */ stw r0, 8(r1) -/* 802820D0 0027F010 80 63 00 00 */ lwz r3, 0(r3) -/* 802820D4 0027F014 FC 20 F0 90 */ fmr f1, f30 -/* 802820D8 0027F018 81 83 00 00 */ lwz r12, 0(r3) -/* 802820DC 0027F01C 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802820E0 0027F020 7D 89 03 A6 */ mtctr r12 -/* 802820E4 0027F024 4E 80 04 21 */ bctrl -/* 802820E8 0027F028 FF FF 08 2A */ fadd f31, f31, f1 -lbl_802820EC: -/* 802820EC 0027F02C 80 61 00 08 */ lwz r3, 8(r1) -/* 802820F0 0027F030 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802820F4 0027F034 7C 03 00 40 */ cmplw r3, r0 -/* 802820F8 0027F038 40 82 FF CC */ bne lbl_802820C4 -/* 802820FC 0027F03C FC 20 F8 90 */ fmr f1, f31 -/* 80282100 0027F040 CB E1 00 18 */ lfd f31, 0x18(r1) -/* 80282104 0027F044 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 80282108 0027F048 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8028210C 0027F04C 7C 08 03 A6 */ mtlr r0 -/* 80282110 0027F050 38 21 00 20 */ addi r1, r1, 0x20 -/* 80282114 0027F054 4E 80 00 20 */ blr -/* 80282118 0027F058 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8028211C 0027F05C 7C 08 02 A6 */ mflr r0 -/* 80282120 0027F060 90 01 00 34 */ stw r0, 0x34(r1) -/* 80282124 0027F064 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 80282128 0027F068 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 8028212C 0027F06C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80282130 0027F070 7C 9F 23 78 */ mr r31, r4 -/* 80282134 0027F074 FF C0 08 90 */ fmr f30, f1 -/* 80282138 0027F078 80 83 00 04 */ lwz r4, 4(r3) -/* 8028213C 0027F07C 28 04 00 00 */ cmplwi r4, 0 -/* 80282140 0027F080 40 82 00 0C */ bne lbl_8028214C -/* 80282144 0027F084 38 00 00 00 */ li r0, 0 -/* 80282148 0027F088 48 00 00 14 */ b lbl_8028215C -lbl_8028214C: -/* 8028214C 0027F08C 80 03 00 08 */ lwz r0, 8(r3) -/* 80282150 0027F090 7C 04 00 50 */ subf r0, r4, r0 -/* 80282154 0027F094 7C 00 16 70 */ srawi r0, r0, 2 -/* 80282158 0027F098 7C 00 01 94 */ addze r0, r0 -lbl_8028215C: -/* 8028215C 0027F09C 28 00 00 00 */ cmplwi r0, 0 -/* 80282160 0027F0A0 40 82 00 0C */ bne lbl_8028216C -/* 80282164 0027F0A4 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) -/* 80282168 0027F0A8 48 00 00 7C */ b lbl_802821E4 -lbl_8028216C: -/* 8028216C 0027F0AC 80 03 00 08 */ lwz r0, 8(r3) -/* 80282170 0027F0B0 90 81 00 08 */ stw r4, 8(r1) -/* 80282174 0027F0B4 90 01 00 0C */ stw r0, 0xc(r1) -/* 80282178 0027F0B8 38 04 00 04 */ addi r0, r4, 4 -/* 8028217C 0027F0BC 90 01 00 08 */ stw r0, 8(r1) -/* 80282180 0027F0C0 80 64 00 00 */ lwz r3, 0(r4) -/* 80282184 0027F0C4 FC 20 F0 90 */ fmr f1, f30 -/* 80282188 0027F0C8 81 83 00 00 */ lwz r12, 0(r3) -/* 8028218C 0027F0CC 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 80282190 0027F0D0 7D 89 03 A6 */ mtctr r12 -/* 80282194 0027F0D4 4E 80 04 21 */ bctrl -/* 80282198 0027F0D8 FF E0 08 90 */ fmr f31, f1 -/* 8028219C 0027F0DC 48 00 00 2C */ b lbl_802821C8 -lbl_802821A0: -/* 802821A0 0027F0E0 80 61 00 08 */ lwz r3, 8(r1) -/* 802821A4 0027F0E4 38 03 00 04 */ addi r0, r3, 4 -/* 802821A8 0027F0E8 90 01 00 08 */ stw r0, 8(r1) -/* 802821AC 0027F0EC 80 63 00 00 */ lwz r3, 0(r3) -/* 802821B0 0027F0F0 FC 20 F0 90 */ fmr f1, f30 -/* 802821B4 0027F0F4 81 83 00 00 */ lwz r12, 0(r3) -/* 802821B8 0027F0F8 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802821BC 0027F0FC 7D 89 03 A6 */ mtctr r12 -/* 802821C0 0027F100 4E 80 04 21 */ bctrl -/* 802821C4 0027F104 FF FF 08 28 */ fsub f31, f31, f1 -lbl_802821C8: -/* 802821C8 0027F108 80 61 00 08 */ lwz r3, 8(r1) -/* 802821CC 0027F10C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802821D0 0027F110 7C 03 00 40 */ cmplw r3, r0 -/* 802821D4 0027F114 40 82 FF CC */ bne lbl_802821A0 -/* 802821D8 0027F118 C8 1F 00 00 */ lfd f0, 0(r31) -/* 802821DC 0027F11C FF FF 00 28 */ fsub f31, f31, f0 -/* 802821E0 0027F120 FC 20 F8 90 */ fmr f1, f31 -lbl_802821E4: -/* 802821E4 0027F124 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 802821E8 0027F128 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 802821EC 0027F12C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802821F0 0027F130 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802821F4 0027F134 7C 08 03 A6 */ mtlr r0 -/* 802821F8 0027F138 38 21 00 30 */ addi r1, r1, 0x30 -/* 802821FC 0027F13C 4E 80 00 20 */ blr -/* 80282200 0027F140 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80282204 0027F144 7C 08 02 A6 */ mflr r0 -/* 80282208 0027F148 90 01 00 24 */ stw r0, 0x24(r1) -/* 8028220C 0027F14C DB E1 00 18 */ stfd f31, 0x18(r1) -/* 80282210 0027F150 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 80282214 0027F154 FF C0 08 90 */ fmr f30, f1 -/* 80282218 0027F158 CB E4 00 00 */ lfd f31, 0(r4) -/* 8028221C 0027F15C 80 03 00 08 */ lwz r0, 8(r3) -/* 80282220 0027F160 80 63 00 04 */ lwz r3, 4(r3) -/* 80282224 0027F164 90 61 00 08 */ stw r3, 8(r1) -/* 80282228 0027F168 90 01 00 0C */ stw r0, 0xc(r1) -/* 8028222C 0027F16C 48 00 00 2C */ b lbl_80282258 -lbl_80282230: -/* 80282230 0027F170 80 61 00 08 */ lwz r3, 8(r1) -/* 80282234 0027F174 38 03 00 04 */ addi r0, r3, 4 -/* 80282238 0027F178 90 01 00 08 */ stw r0, 8(r1) -/* 8028223C 0027F17C 80 63 00 00 */ lwz r3, 0(r3) -/* 80282240 0027F180 FC 20 F0 90 */ fmr f1, f30 -/* 80282244 0027F184 81 83 00 00 */ lwz r12, 0(r3) -/* 80282248 0027F188 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8028224C 0027F18C 7D 89 03 A6 */ mtctr r12 -/* 80282250 0027F190 4E 80 04 21 */ bctrl -/* 80282254 0027F194 FF FF 00 72 */ fmul f31, f31, f1 -lbl_80282258: -/* 80282258 0027F198 80 61 00 08 */ lwz r3, 8(r1) -/* 8028225C 0027F19C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80282260 0027F1A0 7C 03 00 40 */ cmplw r3, r0 -/* 80282264 0027F1A4 40 82 FF CC */ bne lbl_80282230 -/* 80282268 0027F1A8 FC 20 F8 90 */ fmr f1, f31 -/* 8028226C 0027F1AC CB E1 00 18 */ lfd f31, 0x18(r1) -/* 80282270 0027F1B0 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 80282274 0027F1B4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80282278 0027F1B8 7C 08 03 A6 */ mtlr r0 -/* 8028227C 0027F1BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80282280 0027F1C0 4E 80 00 20 */ blr -/* 80282284 0027F1C4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80282288 0027F1C8 7C 08 02 A6 */ mflr r0 -/* 8028228C 0027F1CC 90 01 00 34 */ stw r0, 0x34(r1) -/* 80282290 0027F1D0 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 80282294 0027F1D4 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 80282298 0027F1D8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8028229C 0027F1DC 7C 9F 23 78 */ mr r31, r4 -/* 802822A0 0027F1E0 FF C0 08 90 */ fmr f30, f1 -/* 802822A4 0027F1E4 80 83 00 04 */ lwz r4, 4(r3) -/* 802822A8 0027F1E8 28 04 00 00 */ cmplwi r4, 0 -/* 802822AC 0027F1EC 40 82 00 0C */ bne lbl_802822B8 -/* 802822B0 0027F1F0 38 00 00 00 */ li r0, 0 -/* 802822B4 0027F1F4 48 00 00 14 */ b lbl_802822C8 -lbl_802822B8: -/* 802822B8 0027F1F8 80 03 00 08 */ lwz r0, 8(r3) -/* 802822BC 0027F1FC 7C 04 00 50 */ subf r0, r4, r0 -/* 802822C0 0027F200 7C 00 16 70 */ srawi r0, r0, 2 -/* 802822C4 0027F204 7C 00 01 94 */ addze r0, r0 -lbl_802822C8: -/* 802822C8 0027F208 28 00 00 00 */ cmplwi r0, 0 -/* 802822CC 0027F20C 40 82 00 0C */ bne lbl_802822D8 -/* 802822D0 0027F210 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) -/* 802822D4 0027F214 48 00 00 7C */ b lbl_80282350 -lbl_802822D8: -/* 802822D8 0027F218 80 03 00 08 */ lwz r0, 8(r3) -/* 802822DC 0027F21C 90 81 00 08 */ stw r4, 8(r1) -/* 802822E0 0027F220 90 01 00 0C */ stw r0, 0xc(r1) -/* 802822E4 0027F224 38 04 00 04 */ addi r0, r4, 4 -/* 802822E8 0027F228 90 01 00 08 */ stw r0, 8(r1) -/* 802822EC 0027F22C 80 64 00 00 */ lwz r3, 0(r4) -/* 802822F0 0027F230 FC 20 F0 90 */ fmr f1, f30 -/* 802822F4 0027F234 81 83 00 00 */ lwz r12, 0(r3) -/* 802822F8 0027F238 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802822FC 0027F23C 7D 89 03 A6 */ mtctr r12 -/* 80282300 0027F240 4E 80 04 21 */ bctrl -/* 80282304 0027F244 FF E0 08 90 */ fmr f31, f1 -/* 80282308 0027F248 48 00 00 2C */ b lbl_80282334 -lbl_8028230C: -/* 8028230C 0027F24C 80 61 00 08 */ lwz r3, 8(r1) -/* 80282310 0027F250 38 03 00 04 */ addi r0, r3, 4 -/* 80282314 0027F254 90 01 00 08 */ stw r0, 8(r1) -/* 80282318 0027F258 80 63 00 00 */ lwz r3, 0(r3) -/* 8028231C 0027F25C FC 20 F0 90 */ fmr f1, f30 -/* 80282320 0027F260 81 83 00 00 */ lwz r12, 0(r3) -/* 80282324 0027F264 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 80282328 0027F268 7D 89 03 A6 */ mtctr r12 -/* 8028232C 0027F26C 4E 80 04 21 */ bctrl -/* 80282330 0027F270 FF FF 08 24 */ fdiv f31, f31, f1 -lbl_80282334: -/* 80282334 0027F274 80 61 00 08 */ lwz r3, 8(r1) -/* 80282338 0027F278 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8028233C 0027F27C 7C 03 00 40 */ cmplw r3, r0 -/* 80282340 0027F280 40 82 FF CC */ bne lbl_8028230C -/* 80282344 0027F284 C8 1F 00 00 */ lfd f0, 0(r31) -/* 80282348 0027F288 FF FF 00 24 */ fdiv f31, f31, f0 -/* 8028234C 0027F28C FC 20 F8 90 */ fmr f1, f31 -lbl_80282350: -/* 80282350 0027F290 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 80282354 0027F294 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 80282358 0027F298 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8028235C 0027F29C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80282360 0027F2A0 7C 08 03 A6 */ mtlr r0 -/* 80282364 0027F2A4 38 21 00 30 */ addi r1, r1, 0x30 -/* 80282368 0027F2A8 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_constant -JStudio_NS_TFunctionValue_constant: -/* 8028236C 0027F2AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282370 0027F2B0 7C 08 02 A6 */ mflr r0 -/* 80282374 0027F2B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282378 0027F2B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8028237C 0027F2BC 7C 7F 1B 78 */ mr r31, r3 -/* 80282380 0027F2C0 4B FF F3 11 */ bl JStudio_NS_TFunctionValue -/* 80282384 0027F2C4 3C 60 80 3C */ lis r3, lbl_803C4960@ha -/* 80282388 0027F2C8 38 03 49 60 */ addi r0, r3, lbl_803C4960@l -/* 8028238C 0027F2CC 90 1F 00 00 */ stw r0, 0(r31) -/* 80282390 0027F2D0 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 80282394 0027F2D4 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) -/* 80282398 0027F2D8 D8 1F 00 08 */ stfd f0, 8(r31) -/* 8028239C 0027F2DC 7F E3 FB 78 */ mr r3, r31 -/* 802823A0 0027F2E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802823A4 0027F2E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802823A8 0027F2E8 7C 08 03 A6 */ mtlr r0 -/* 802823AC 0027F2EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802823B0 0027F2F0 4E 80 00 20 */ blr -/* 802823B4 0027F2F4 38 60 00 02 */ li r3, 2 -/* 802823B8 0027F2F8 4E 80 00 20 */ blr -/* 802823BC 0027F2FC 38 00 00 00 */ li r0, 0 -/* 802823C0 0027F300 90 03 00 00 */ stw r0, 0(r3) -/* 802823C4 0027F304 90 03 00 04 */ stw r0, 4(r3) -/* 802823C8 0027F308 90 03 00 08 */ stw r0, 8(r3) -/* 802823CC 0027F30C 4E 80 00 20 */ blr -/* 802823D0 0027F310 3C 80 80 45 */ lis r4, lbl_80450AE0@ha -/* 802823D4 0027F314 C0 04 0A E0 */ lfs f0, lbl_80450AE0@l(r4) -/* 802823D8 0027F318 D8 03 00 08 */ stfd f0, 8(r3) -/* 802823DC 0027F31C 4E 80 00 20 */ blr -/* 802823E0 0027F320 4E 80 00 20 */ blr -/* 802823E4 0027F324 C8 23 00 08 */ lfd f1, 8(r3) -/* 802823E8 0027F328 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_transition -JStudio_NS_TFunctionValue_transition: -/* 802823EC 0027F32C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802823F0 0027F330 7C 08 02 A6 */ mflr r0 -/* 802823F4 0027F334 90 01 00 14 */ stw r0, 0x14(r1) -/* 802823F8 0027F338 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802823FC 0027F33C 7C 7F 1B 78 */ mr r31, r3 -/* 80282400 0027F340 4B FF F2 91 */ bl JStudio_NS_TFunctionValue -/* 80282404 0027F344 38 7F 00 08 */ addi r3, r31, 8 -/* 80282408 0027F348 4B FF F9 11 */ bl JStudio_NS_TFunctionValueAttribute_range -/* 8028240C 0027F34C 38 00 00 00 */ li r0, 0 -/* 80282410 0027F350 90 1F 00 40 */ stw r0, 0x40(r31) -/* 80282414 0027F354 3C 60 80 3C */ lis r3, lbl_803C4940@ha -/* 80282418 0027F358 38 03 49 40 */ addi r0, r3, lbl_803C4940@l -/* 8028241C 0027F35C 90 1F 00 00 */ stw r0, 0(r31) -/* 80282420 0027F360 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 80282424 0027F364 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) -/* 80282428 0027F368 D8 1F 00 48 */ stfd f0, 0x48(r31) -/* 8028242C 0027F36C C8 1F 00 48 */ lfd f0, 0x48(r31) -/* 80282430 0027F370 D8 1F 00 50 */ stfd f0, 0x50(r31) -/* 80282434 0027F374 7F E3 FB 78 */ mr r3, r31 -/* 80282438 0027F378 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8028243C 0027F37C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282440 0027F380 7C 08 03 A6 */ mtlr r0 -/* 80282444 0027F384 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282448 0027F388 4E 80 00 20 */ blr -/* 8028244C 0027F38C 38 60 00 03 */ li r3, 3 -/* 80282450 0027F390 4E 80 00 20 */ blr -/* 80282454 0027F394 7C 85 23 78 */ mr r5, r4 -/* 80282458 0027F398 28 04 00 00 */ cmplwi r4, 0 -/* 8028245C 0027F39C 41 82 00 08 */ beq lbl_80282464 -/* 80282460 0027F3A0 38 A5 00 40 */ addi r5, r5, 0x40 -lbl_80282464: -/* 80282464 0027F3A4 28 04 00 00 */ cmplwi r4, 0 -/* 80282468 0027F3A8 41 82 00 08 */ beq lbl_80282470 -/* 8028246C 0027F3AC 38 84 00 08 */ addi r4, r4, 8 -lbl_80282470: -/* 80282470 0027F3B0 38 00 00 00 */ li r0, 0 -/* 80282474 0027F3B4 90 03 00 00 */ stw r0, 0(r3) -/* 80282478 0027F3B8 90 83 00 04 */ stw r4, 4(r3) -/* 8028247C 0027F3BC 90 A3 00 08 */ stw r5, 8(r3) -/* 80282480 0027F3C0 4E 80 00 20 */ blr -/* 80282484 0027F3C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282488 0027F3C8 7C 08 02 A6 */ mflr r0 -/* 8028248C 0027F3CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282490 0027F3D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80282494 0027F3D4 7C 7F 1B 78 */ mr r31, r3 -/* 80282498 0027F3D8 38 7F 00 08 */ addi r3, r31, 8 -/* 8028249C 0027F3DC 4B FF F4 7D */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_initialize -/* 802824A0 0027F3E0 38 00 00 00 */ li r0, 0 -/* 802824A4 0027F3E4 90 1F 00 40 */ stw r0, 0x40(r31) -/* 802824A8 0027F3E8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 802824AC 0027F3EC C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) -/* 802824B0 0027F3F0 D8 1F 00 48 */ stfd f0, 0x48(r31) -/* 802824B4 0027F3F4 C8 1F 00 48 */ lfd f0, 0x48(r31) -/* 802824B8 0027F3F8 D8 1F 00 50 */ stfd f0, 0x50(r31) -/* 802824BC 0027F3FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802824C0 0027F400 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802824C4 0027F404 7C 08 03 A6 */ mtlr r0 -/* 802824C8 0027F408 38 21 00 10 */ addi r1, r1, 0x10 -/* 802824CC 0027F40C 4E 80 00 20 */ blr -/* 802824D0 0027F410 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802824D4 0027F414 7C 08 02 A6 */ mflr r0 -/* 802824D8 0027F418 90 01 00 14 */ stw r0, 0x14(r1) -/* 802824DC 0027F41C 38 63 00 08 */ addi r3, r3, 8 -/* 802824E0 0027F420 4B FF F4 6D */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_prepare -/* 802824E4 0027F424 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802824E8 0027F428 7C 08 03 A6 */ mtlr r0 -/* 802824EC 0027F42C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802824F0 0027F430 4E 80 00 20 */ blr -/* 802824F4 0027F434 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802824F8 0027F438 7C 08 02 A6 */ mflr r0 -/* 802824FC 0027F43C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80282500 0027F440 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 80282504 0027F444 93 E1 00 14 */ stw r31, 0x14(r1) -/* 80282508 0027F448 7C 7F 1B 78 */ mr r31, r3 -/* 8028250C 0027F44C C8 63 00 28 */ lfd f3, 0x28(r3) -/* 80282510 0027F450 C8 43 00 30 */ lfd f2, 0x30(r3) -/* 80282514 0027F454 FC 01 18 28 */ fsub f0, f1, f3 -/* 80282518 0027F458 FC 02 00 32 */ fmul f0, f2, f0 -/* 8028251C 0027F45C FC 23 00 2A */ fadd f1, f3, f0 -/* 80282520 0027F460 C8 03 00 08 */ lfd f0, 8(r3) -/* 80282524 0027F464 FF E1 00 28 */ fsub f31, f1, f0 -/* 80282528 0027F468 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 8028252C 0027F46C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80282530 0027F470 40 80 00 28 */ bge lbl_80282558 -/* 80282534 0027F474 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80282538 0027F478 4B FF F1 11 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 8028253C 0027F47C FC 20 F8 90 */ fmr f1, f31 -/* 80282540 0027F480 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282544 0027F484 7C 6C 1B 78 */ mr r12, r3 -/* 80282548 0027F488 7D 89 03 A6 */ mtctr r12 -/* 8028254C 0027F48C 4E 80 04 21 */ bctrl -/* 80282550 0027F490 FF E0 08 90 */ fmr f31, f1 -/* 80282554 0027F494 48 00 00 34 */ b lbl_80282588 -lbl_80282558: -/* 80282558 0027F498 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 8028255C 0027F49C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80282560 0027F4A0 4C 41 13 82 */ cror 2, 1, 2 -/* 80282564 0027F4A4 40 82 00 24 */ bne lbl_80282588 -/* 80282568 0027F4A8 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 8028256C 0027F4AC 4B FF F0 DD */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282570 0027F4B0 FC 20 F8 90 */ fmr f1, f31 -/* 80282574 0027F4B4 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282578 0027F4B8 7C 6C 1B 78 */ mr r12, r3 -/* 8028257C 0027F4BC 7D 89 03 A6 */ mtctr r12 -/* 80282580 0027F4C0 4E 80 04 21 */ bctrl -/* 80282584 0027F4C4 FF E0 08 90 */ fmr f31, f1 -lbl_80282588: -/* 80282588 0027F4C8 C8 5F 00 08 */ lfd f2, 8(r31) -/* 8028258C 0027F4CC FF FF 10 2A */ fadd f31, f31, f2 -/* 80282590 0027F4D0 88 1F 00 21 */ lbz r0, 0x21(r31) -/* 80282594 0027F4D4 7C 00 07 74 */ extsb r0, r0 -/* 80282598 0027F4D8 2C 00 00 03 */ cmpwi r0, 3 -/* 8028259C 0027F4DC 41 82 00 54 */ beq lbl_802825F0 -/* 802825A0 0027F4E0 40 80 00 10 */ bge lbl_802825B0 -/* 802825A4 0027F4E4 2C 00 00 02 */ cmpwi r0, 2 -/* 802825A8 0027F4E8 40 80 00 2C */ bge lbl_802825D4 -/* 802825AC 0027F4EC 48 00 00 10 */ b lbl_802825BC -lbl_802825B0: -/* 802825B0 0027F4F0 2C 00 00 05 */ cmpwi r0, 5 -/* 802825B4 0027F4F4 40 80 00 08 */ bge lbl_802825BC -/* 802825B8 0027F4F8 48 00 00 60 */ b lbl_80282618 -lbl_802825BC: -/* 802825BC 0027F4FC FC 1F 10 40 */ fcmpo cr0, f31, f2 -/* 802825C0 0027F500 40 80 00 0C */ bge lbl_802825CC -/* 802825C4 0027F504 C8 3F 00 48 */ lfd f1, 0x48(r31) -/* 802825C8 0027F508 48 00 00 DC */ b lbl_802826A4 -lbl_802825CC: -/* 802825CC 0027F50C C8 3F 00 50 */ lfd f1, 0x50(r31) -/* 802825D0 0027F510 48 00 00 D4 */ b lbl_802826A4 -lbl_802825D4: -/* 802825D4 0027F514 C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 802825D8 0027F518 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 802825DC 0027F51C 40 80 00 0C */ bge lbl_802825E8 -/* 802825E0 0027F520 C8 3F 00 48 */ lfd f1, 0x48(r31) -/* 802825E4 0027F524 48 00 00 C0 */ b lbl_802826A4 -lbl_802825E8: -/* 802825E8 0027F528 C8 3F 00 50 */ lfd f1, 0x50(r31) -/* 802825EC 0027F52C 48 00 00 B8 */ b lbl_802826A4 -lbl_802825F0: -/* 802825F0 0027F530 C8 22 BA 28 */ lfd f1, lbl_80455428-_SDA2_BASE_(r2) -/* 802825F4 0027F534 C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 802825F8 0027F538 FC 02 00 2A */ fadd f0, f2, f0 -/* 802825FC 0027F53C FC 01 00 32 */ fmul f0, f1, f0 -/* 80282600 0027F540 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80282604 0027F544 40 80 00 0C */ bge lbl_80282610 -/* 80282608 0027F548 C8 3F 00 48 */ lfd f1, 0x48(r31) -/* 8028260C 0027F54C 48 00 00 98 */ b lbl_802826A4 -lbl_80282610: -/* 80282610 0027F550 C8 3F 00 50 */ lfd f1, 0x50(r31) -/* 80282614 0027F554 48 00 00 90 */ b lbl_802826A4 -lbl_80282618: -/* 80282618 0027F558 FC 1F 10 40 */ fcmpo cr0, f31, f2 -/* 8028261C 0027F55C 40 80 00 0C */ bge lbl_80282628 -/* 80282620 0027F560 C8 3F 00 48 */ lfd f1, 0x48(r31) -/* 80282624 0027F564 48 00 00 80 */ b lbl_802826A4 -lbl_80282628: -/* 80282628 0027F568 C8 BF 00 10 */ lfd f5, 0x10(r31) -/* 8028262C 0027F56C FC 1F 28 40 */ fcmpo cr0, f31, f5 -/* 80282630 0027F570 4C 41 13 82 */ cror 2, 1, 2 -/* 80282634 0027F574 40 82 00 0C */ bne lbl_80282640 -/* 80282638 0027F578 C8 3F 00 50 */ lfd f1, 0x50(r31) -/* 8028263C 0027F57C 48 00 00 68 */ b lbl_802826A4 -lbl_80282640: -/* 80282640 0027F580 80 1F 00 40 */ lwz r0, 0x40(r31) -/* 80282644 0027F584 2C 00 00 02 */ cmpwi r0, 2 -/* 80282648 0027F588 41 82 00 44 */ beq lbl_8028268C -/* 8028264C 0027F58C 40 80 00 14 */ bge lbl_80282660 -/* 80282650 0027F590 2C 00 00 00 */ cmpwi r0, 0 -/* 80282654 0027F594 41 82 FF 9C */ beq lbl_802825F0 -/* 80282658 0027F598 40 80 00 10 */ bge lbl_80282668 -/* 8028265C 0027F59C 4B FF FF 94 */ b lbl_802825F0 -lbl_80282660: -/* 80282660 0027F5A0 2C 00 00 04 */ cmpwi r0, 4 -/* 80282664 0027F5A4 40 80 FF 8C */ bge lbl_802825F0 -lbl_80282668: -/* 80282668 0027F5A8 C8 7F 00 48 */ lfd f3, 0x48(r31) -/* 8028266C 0027F5AC FC 3F 10 28 */ fsub f1, f31, f2 -/* 80282670 0027F5B0 C8 1F 00 50 */ lfd f0, 0x50(r31) -/* 80282674 0027F5B4 FC 00 18 28 */ fsub f0, f0, f3 -/* 80282678 0027F5B8 FC 21 00 32 */ fmul f1, f1, f0 -/* 8028267C 0027F5BC C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 80282680 0027F5C0 FC 01 00 24 */ fdiv f0, f1, f0 -/* 80282684 0027F5C4 FC 23 00 2A */ fadd f1, f3, f0 -/* 80282688 0027F5C8 48 00 00 1C */ b lbl_802826A4 -lbl_8028268C: -/* 8028268C 0027F5CC FC 20 F8 90 */ fmr f1, f31 -/* 80282690 0027F5D0 C8 7F 00 48 */ lfd f3, 0x48(r31) -/* 80282694 0027F5D4 C8 82 BA 00 */ lfd f4, lbl_80455400-_SDA2_BASE_(r2) -/* 80282698 0027F5D8 C8 DF 00 50 */ lfd f6, 0x50(r31) -/* 8028269C 0027F5DC FC E0 20 90 */ fmr f7, f4 -/* 802826A0 0027F5E0 4B FF F0 71 */ bl JStudio_NS_functionvalue_NS_interpolateValue_hermite -lbl_802826A4: -/* 802826A4 0027F5E4 CB E1 00 18 */ lfd f31, 0x18(r1) -/* 802826A8 0027F5E8 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 802826AC 0027F5EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802826B0 0027F5F0 7C 08 03 A6 */ mtlr r0 -/* 802826B4 0027F5F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802826B8 0027F5F8 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_list -JStudio_NS_TFunctionValue_list: -/* 802826BC 0027F5FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802826C0 0027F600 7C 08 02 A6 */ mflr r0 -/* 802826C4 0027F604 90 01 00 14 */ stw r0, 0x14(r1) -/* 802826C8 0027F608 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802826CC 0027F60C 7C 7F 1B 78 */ mr r31, r3 -/* 802826D0 0027F610 4B FF EF C1 */ bl JStudio_NS_TFunctionValue -/* 802826D4 0027F614 38 7F 00 08 */ addi r3, r31, 8 -/* 802826D8 0027F618 4B FF F6 41 */ bl JStudio_NS_TFunctionValueAttribute_range -/* 802826DC 0027F61C 38 80 00 00 */ li r4, 0 -/* 802826E0 0027F620 90 9F 00 40 */ stw r4, 0x40(r31) -/* 802826E4 0027F624 3C 60 80 3C */ lis r3, lbl_803C4920@ha -/* 802826E8 0027F628 38 03 49 20 */ addi r0, r3, lbl_803C4920@l -/* 802826EC 0027F62C 90 1F 00 00 */ stw r0, 0(r31) -/* 802826F0 0027F630 90 9F 00 44 */ stw r4, 0x44(r31) -/* 802826F4 0027F634 90 9F 00 48 */ stw r4, 0x48(r31) -/* 802826F8 0027F638 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 802826FC 0027F63C C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) -/* 80282700 0027F640 D8 1F 00 50 */ stfd f0, 0x50(r31) -/* 80282704 0027F644 90 9F 00 58 */ stw r4, 0x58(r31) -/* 80282708 0027F648 7F E3 FB 78 */ mr r3, r31 -/* 8028270C 0027F64C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80282710 0027F650 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282714 0027F654 7C 08 03 A6 */ mtlr r0 -/* 80282718 0027F658 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028271C 0027F65C 4E 80 00 20 */ blr -/* 80282720 0027F660 38 60 00 04 */ li r3, 4 -/* 80282724 0027F664 4E 80 00 20 */ blr -/* 80282728 0027F668 7C 85 23 78 */ mr r5, r4 -/* 8028272C 0027F66C 28 04 00 00 */ cmplwi r4, 0 -/* 80282730 0027F670 41 82 00 08 */ beq lbl_80282738 -/* 80282734 0027F674 38 A5 00 40 */ addi r5, r5, 0x40 -lbl_80282738: -/* 80282738 0027F678 28 04 00 00 */ cmplwi r4, 0 -/* 8028273C 0027F67C 41 82 00 08 */ beq lbl_80282744 -/* 80282740 0027F680 38 84 00 08 */ addi r4, r4, 8 -lbl_80282744: -/* 80282744 0027F684 38 00 00 00 */ li r0, 0 -/* 80282748 0027F688 90 03 00 00 */ stw r0, 0(r3) -/* 8028274C 0027F68C 90 83 00 04 */ stw r4, 4(r3) -/* 80282750 0027F690 90 A3 00 08 */ stw r5, 8(r3) -/* 80282754 0027F694 4E 80 00 20 */ blr -/* 80282758 0027F698 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028275C 0027F69C 7C 08 02 A6 */ mflr r0 -/* 80282760 0027F6A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282764 0027F6A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80282768 0027F6A8 7C 7F 1B 78 */ mr r31, r3 -/* 8028276C 0027F6AC 38 7F 00 08 */ addi r3, r31, 8 -/* 80282770 0027F6B0 4B FF F1 A9 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_initialize -/* 80282774 0027F6B4 38 00 00 00 */ li r0, 0 -/* 80282778 0027F6B8 90 1F 00 40 */ stw r0, 0x40(r31) -/* 8028277C 0027F6BC 90 1F 00 44 */ stw r0, 0x44(r31) -/* 80282780 0027F6C0 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80282784 0027F6C4 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 80282788 0027F6C8 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) -/* 8028278C 0027F6CC D8 1F 00 50 */ stfd f0, 0x50(r31) -/* 80282790 0027F6D0 90 1F 00 58 */ stw r0, 0x58(r31) -/* 80282794 0027F6D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80282798 0027F6D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028279C 0027F6DC 7C 08 03 A6 */ mtlr r0 -/* 802827A0 0027F6E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802827A4 0027F6E4 4E 80 00 20 */ blr -/* 802827A8 0027F6E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802827AC 0027F6EC 7C 08 02 A6 */ mflr r0 -/* 802827B0 0027F6F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802827B4 0027F6F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802827B8 0027F6F8 7C 7F 1B 78 */ mr r31, r3 -/* 802827BC 0027F6FC 38 7F 00 08 */ addi r3, r31, 8 -/* 802827C0 0027F700 4B FF F1 8D */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_prepare -/* 802827C4 0027F704 80 1F 00 40 */ lwz r0, 0x40(r31) -/* 802827C8 0027F708 2C 00 00 02 */ cmpwi r0, 2 -/* 802827CC 0027F70C 41 82 00 44 */ beq lbl_80282810 -/* 802827D0 0027F710 40 80 00 14 */ bge lbl_802827E4 -/* 802827D4 0027F714 2C 00 00 00 */ cmpwi r0, 0 -/* 802827D8 0027F718 41 82 00 18 */ beq lbl_802827F0 -/* 802827DC 0027F71C 40 80 00 24 */ bge lbl_80282800 -/* 802827E0 0027F720 48 00 00 10 */ b lbl_802827F0 -lbl_802827E4: -/* 802827E4 0027F724 2C 00 00 04 */ cmpwi r0, 4 -/* 802827E8 0027F728 40 80 00 08 */ bge lbl_802827F0 -/* 802827EC 0027F72C 48 00 00 34 */ b lbl_80282820 -lbl_802827F0: -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_NONE_ -/* 802827F0 0027F730 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_NONE_@ha -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_NONE_ -/* 802827F4 0027F734 38 03 2C 10 */ addi r0, r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_NONE_@l -/* 802827F8 0027F738 90 1F 00 58 */ stw r0, 0x58(r31) -/* 802827FC 0027F73C 48 00 00 48 */ b lbl_80282844 -lbl_80282800: -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_ -/* 80282800 0027F740 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_@ha -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_ -/* 80282804 0027F744 38 03 2C 24 */ addi r0, r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_@l -/* 80282808 0027F748 90 1F 00 58 */ stw r0, 0x58(r31) -/* 8028280C 0027F74C 48 00 00 38 */ b lbl_80282844 -lbl_80282810: -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_PLATEAU_ -/* 80282810 0027F750 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_PLATEAU_@ha -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_PLATEAU_ -/* 80282814 0027F754 38 03 2C 58 */ addi r0, r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_PLATEAU_@l -/* 80282818 0027F758 90 1F 00 58 */ stw r0, 0x58(r31) -/* 8028281C 0027F75C 48 00 00 28 */ b lbl_80282844 -lbl_80282820: -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_BSPLINE_dataMore3_ -/* 80282820 0027F760 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_BSPLINE_dataMore3_@ha -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_BSPLINE_dataMore3_ -/* 80282824 0027F764 38 03 2C A8 */ addi r0, r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_BSPLINE_dataMore3_@l -/* 80282828 0027F768 90 1F 00 58 */ stw r0, 0x58(r31) -/* 8028282C 0027F76C 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80282830 0027F770 28 00 00 02 */ cmplwi r0, 2 -/* 80282834 0027F774 40 82 00 10 */ bne lbl_80282844 -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_ -/* 80282838 0027F778 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_@ha -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_ -/* 8028283C 0027F77C 38 03 2C 24 */ addi r0, r3, JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_@l -/* 80282840 0027F780 90 1F 00 58 */ stw r0, 0x58(r31) -lbl_80282844: -/* 80282844 0027F784 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80282848 0027F788 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028284C 0027F78C 7C 08 03 A6 */ mtlr r0 -/* 80282850 0027F790 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282854 0027F794 4E 80 00 20 */ blr -/* 80282858 0027F798 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8028285C 0027F79C 7C 08 02 A6 */ mflr r0 -/* 80282860 0027F7A0 90 01 00 54 */ stw r0, 0x54(r1) -/* 80282864 0027F7A4 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 80282868 0027F7A8 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 -/* 8028286C 0027F7AC DB C1 00 30 */ stfd f30, 0x30(r1) -/* 80282870 0027F7B0 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 -/* 80282874 0027F7B4 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80282878 0027F7B8 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8028287C 0027F7BC 7C 7F 1B 78 */ mr r31, r3 -/* 80282880 0027F7C0 C8 63 00 28 */ lfd f3, 0x28(r3) -/* 80282884 0027F7C4 C8 43 00 30 */ lfd f2, 0x30(r3) -/* 80282888 0027F7C8 FC 01 18 28 */ fsub f0, f1, f3 -/* 8028288C 0027F7CC FC 02 00 32 */ fmul f0, f2, f0 -/* 80282890 0027F7D0 FC 43 00 2A */ fadd f2, f3, f0 -/* 80282894 0027F7D4 80 63 00 48 */ lwz r3, 0x48(r3) -/* 80282898 0027F7D8 3B C3 FF FF */ addi r30, r3, -1 -/* 8028289C 0027F7DC 88 7F 00 21 */ lbz r3, 0x21(r31) -/* 802828A0 0027F7E0 7C 63 07 74 */ extsb r3, r3 -/* 802828A4 0027F7E4 C8 22 BA 48 */ lfd f1, lbl_80455448-_SDA2_BASE_(r2) -/* 802828A8 0027F7E8 93 C1 00 24 */ stw r30, 0x24(r1) -/* 802828AC 0027F7EC 3C 00 43 30 */ lis r0, 0x4330 -/* 802828B0 0027F7F0 90 01 00 20 */ stw r0, 0x20(r1) -/* 802828B4 0027F7F4 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 802828B8 0027F7F8 FF E0 08 28 */ fsub f31, f0, f1 -/* 802828BC 0027F7FC 2C 03 00 02 */ cmpwi r3, 2 -/* 802828C0 0027F800 41 82 01 2C */ beq lbl_802829EC -/* 802828C4 0027F804 40 80 00 14 */ bge lbl_802828D8 -/* 802828C8 0027F808 2C 03 00 00 */ cmpwi r3, 0 -/* 802828CC 0027F80C 41 82 00 1C */ beq lbl_802828E8 -/* 802828D0 0027F810 40 80 00 98 */ bge lbl_80282968 -/* 802828D4 0027F814 48 00 00 14 */ b lbl_802828E8 -lbl_802828D8: -/* 802828D8 0027F818 2C 03 00 04 */ cmpwi r3, 4 -/* 802828DC 0027F81C 41 82 02 2C */ beq lbl_80282B08 -/* 802828E0 0027F820 40 80 00 08 */ bge lbl_802828E8 -/* 802828E4 0027F824 48 00 01 90 */ b lbl_80282A74 -lbl_802828E8: -/* 802828E8 0027F828 C8 1F 00 08 */ lfd f0, 8(r31) -/* 802828EC 0027F82C FF C2 00 28 */ fsub f30, f2, f0 -/* 802828F0 0027F830 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 802828F4 0027F834 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802828F8 0027F838 40 80 00 28 */ bge lbl_80282920 -/* 802828FC 0027F83C 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80282900 0027F840 4B FF ED 49 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282904 0027F844 FC 20 F0 90 */ fmr f1, f30 -/* 80282908 0027F848 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 8028290C 0027F84C 7C 6C 1B 78 */ mr r12, r3 -/* 80282910 0027F850 7D 89 03 A6 */ mtctr r12 -/* 80282914 0027F854 4E 80 04 21 */ bctrl -/* 80282918 0027F858 FF C0 08 90 */ fmr f30, f1 -/* 8028291C 0027F85C 48 00 00 34 */ b lbl_80282950 -lbl_80282920: -/* 80282920 0027F860 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 80282924 0027F864 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282928 0027F868 4C 41 13 82 */ cror 2, 1, 2 -/* 8028292C 0027F86C 40 82 00 24 */ bne lbl_80282950 -/* 80282930 0027F870 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80282934 0027F874 4B FF ED 15 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282938 0027F878 FC 20 F0 90 */ fmr f1, f30 -/* 8028293C 0027F87C C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282940 0027F880 7C 6C 1B 78 */ mr r12, r3 -/* 80282944 0027F884 7D 89 03 A6 */ mtctr r12 -/* 80282948 0027F888 4E 80 04 21 */ bctrl -/* 8028294C 0027F88C FF C0 08 90 */ fmr f30, f1 -lbl_80282950: -/* 80282950 0027F890 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80282954 0027F894 FF DE 00 2A */ fadd f30, f30, f0 -/* 80282958 0027F898 C8 1F 00 50 */ lfd f0, 0x50(r31) -/* 8028295C 0027F89C FC 1E 00 24 */ fdiv f0, f30, f0 -/* 80282960 0027F8A0 D8 01 00 08 */ stfd f0, 8(r1) -/* 80282964 0027F8A4 48 00 02 28 */ b lbl_80282B8C -lbl_80282968: -/* 80282968 0027F8A8 C8 1F 00 08 */ lfd f0, 8(r31) -/* 8028296C 0027F8AC FF C2 00 2A */ fadd f30, f2, f0 -/* 80282970 0027F8B0 FF DE 00 28 */ fsub f30, f30, f0 -/* 80282974 0027F8B4 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80282978 0027F8B8 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 8028297C 0027F8BC 40 80 00 28 */ bge lbl_802829A4 -/* 80282980 0027F8C0 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80282984 0027F8C4 4B FF EC C5 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282988 0027F8C8 FC 20 F0 90 */ fmr f1, f30 -/* 8028298C 0027F8CC C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282990 0027F8D0 7C 6C 1B 78 */ mr r12, r3 -/* 80282994 0027F8D4 7D 89 03 A6 */ mtctr r12 -/* 80282998 0027F8D8 4E 80 04 21 */ bctrl -/* 8028299C 0027F8DC FF C0 08 90 */ fmr f30, f1 -/* 802829A0 0027F8E0 48 00 00 34 */ b lbl_802829D4 -lbl_802829A4: -/* 802829A4 0027F8E4 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 802829A8 0027F8E8 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 802829AC 0027F8EC 4C 41 13 82 */ cror 2, 1, 2 -/* 802829B0 0027F8F0 40 82 00 24 */ bne lbl_802829D4 -/* 802829B4 0027F8F4 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 802829B8 0027F8F8 4B FF EC 91 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 802829BC 0027F8FC FC 20 F0 90 */ fmr f1, f30 -/* 802829C0 0027F900 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 802829C4 0027F904 7C 6C 1B 78 */ mr r12, r3 -/* 802829C8 0027F908 7D 89 03 A6 */ mtctr r12 -/* 802829CC 0027F90C 4E 80 04 21 */ bctrl -/* 802829D0 0027F910 FF C0 08 90 */ fmr f30, f1 -lbl_802829D4: -/* 802829D4 0027F914 C8 1F 00 08 */ lfd f0, 8(r31) -/* 802829D8 0027F918 FF DE 00 2A */ fadd f30, f30, f0 -/* 802829DC 0027F91C C8 1F 00 50 */ lfd f0, 0x50(r31) -/* 802829E0 0027F920 FC 1E 00 24 */ fdiv f0, f30, f0 -/* 802829E4 0027F924 D8 01 00 08 */ stfd f0, 8(r1) -/* 802829E8 0027F928 48 00 01 A4 */ b lbl_80282B8C -lbl_802829EC: -/* 802829EC 0027F92C C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 802829F0 0027F930 FF C2 00 2A */ fadd f30, f2, f0 -/* 802829F4 0027F934 C8 1F 00 08 */ lfd f0, 8(r31) -/* 802829F8 0027F938 FF DE 00 28 */ fsub f30, f30, f0 -/* 802829FC 0027F93C C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80282A00 0027F940 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282A04 0027F944 40 80 00 28 */ bge lbl_80282A2C -/* 80282A08 0027F948 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80282A0C 0027F94C 4B FF EC 3D */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282A10 0027F950 FC 20 F0 90 */ fmr f1, f30 -/* 80282A14 0027F954 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282A18 0027F958 7C 6C 1B 78 */ mr r12, r3 -/* 80282A1C 0027F95C 7D 89 03 A6 */ mtctr r12 -/* 80282A20 0027F960 4E 80 04 21 */ bctrl -/* 80282A24 0027F964 FF C0 08 90 */ fmr f30, f1 -/* 80282A28 0027F968 48 00 00 34 */ b lbl_80282A5C -lbl_80282A2C: -/* 80282A2C 0027F96C C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 80282A30 0027F970 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282A34 0027F974 4C 41 13 82 */ cror 2, 1, 2 -/* 80282A38 0027F978 40 82 00 24 */ bne lbl_80282A5C -/* 80282A3C 0027F97C 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80282A40 0027F980 4B FF EC 09 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282A44 0027F984 FC 20 F0 90 */ fmr f1, f30 -/* 80282A48 0027F988 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282A4C 0027F98C 7C 6C 1B 78 */ mr r12, r3 -/* 80282A50 0027F990 7D 89 03 A6 */ mtctr r12 -/* 80282A54 0027F994 4E 80 04 21 */ bctrl -/* 80282A58 0027F998 FF C0 08 90 */ fmr f30, f1 -lbl_80282A5C: -/* 80282A5C 0027F99C C8 1F 00 08 */ lfd f0, 8(r31) -/* 80282A60 0027F9A0 FF DE 00 2A */ fadd f30, f30, f0 -/* 80282A64 0027F9A4 C8 1F 00 50 */ lfd f0, 0x50(r31) -/* 80282A68 0027F9A8 FC 1E 00 24 */ fdiv f0, f30, f0 -/* 80282A6C 0027F9AC D8 01 00 08 */ stfd f0, 8(r1) -/* 80282A70 0027F9B0 48 00 01 1C */ b lbl_80282B8C -lbl_80282A74: -/* 80282A74 0027F9B4 C8 22 BA 28 */ lfd f1, lbl_80455428-_SDA2_BASE_(r2) -/* 80282A78 0027F9B8 C8 7F 00 08 */ lfd f3, 8(r31) -/* 80282A7C 0027F9BC C8 1F 00 10 */ lfd f0, 0x10(r31) -/* 80282A80 0027F9C0 FC 03 00 2A */ fadd f0, f3, f0 -/* 80282A84 0027F9C4 FC 01 00 32 */ fmul f0, f1, f0 -/* 80282A88 0027F9C8 FF C2 00 2A */ fadd f30, f2, f0 -/* 80282A8C 0027F9CC FF DE 18 28 */ fsub f30, f30, f3 -/* 80282A90 0027F9D0 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80282A94 0027F9D4 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282A98 0027F9D8 40 80 00 28 */ bge lbl_80282AC0 -/* 80282A9C 0027F9DC 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80282AA0 0027F9E0 4B FF EB A9 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282AA4 0027F9E4 FC 20 F0 90 */ fmr f1, f30 -/* 80282AA8 0027F9E8 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282AAC 0027F9EC 7C 6C 1B 78 */ mr r12, r3 -/* 80282AB0 0027F9F0 7D 89 03 A6 */ mtctr r12 -/* 80282AB4 0027F9F4 4E 80 04 21 */ bctrl -/* 80282AB8 0027F9F8 FF C0 08 90 */ fmr f30, f1 -/* 80282ABC 0027F9FC 48 00 00 34 */ b lbl_80282AF0 -lbl_80282AC0: -/* 80282AC0 0027FA00 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 80282AC4 0027FA04 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282AC8 0027FA08 4C 41 13 82 */ cror 2, 1, 2 -/* 80282ACC 0027FA0C 40 82 00 24 */ bne lbl_80282AF0 -/* 80282AD0 0027FA10 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80282AD4 0027FA14 4B FF EB 75 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282AD8 0027FA18 FC 20 F0 90 */ fmr f1, f30 -/* 80282ADC 0027FA1C C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282AE0 0027FA20 7C 6C 1B 78 */ mr r12, r3 -/* 80282AE4 0027FA24 7D 89 03 A6 */ mtctr r12 -/* 80282AE8 0027FA28 4E 80 04 21 */ bctrl -/* 80282AEC 0027FA2C FF C0 08 90 */ fmr f30, f1 -lbl_80282AF0: -/* 80282AF0 0027FA30 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80282AF4 0027FA34 FF DE 00 2A */ fadd f30, f30, f0 -/* 80282AF8 0027FA38 C8 1F 00 50 */ lfd f0, 0x50(r31) -/* 80282AFC 0027FA3C FC 1E 00 24 */ fdiv f0, f30, f0 -/* 80282B00 0027FA40 D8 01 00 08 */ stfd f0, 8(r1) -/* 80282B04 0027FA44 48 00 00 88 */ b lbl_80282B8C -lbl_80282B08: -/* 80282B08 0027FA48 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80282B0C 0027FA4C FF C2 00 28 */ fsub f30, f2, f0 -/* 80282B10 0027FA50 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80282B14 0027FA54 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282B18 0027FA58 40 80 00 28 */ bge lbl_80282B40 -/* 80282B1C 0027FA5C 80 7F 00 38 */ lwz r3, 0x38(r31) -/* 80282B20 0027FA60 4B FF EB 29 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282B24 0027FA64 FC 20 F0 90 */ fmr f1, f30 -/* 80282B28 0027FA68 C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282B2C 0027FA6C 7C 6C 1B 78 */ mr r12, r3 -/* 80282B30 0027FA70 7D 89 03 A6 */ mtctr r12 -/* 80282B34 0027FA74 4E 80 04 21 */ bctrl -/* 80282B38 0027FA78 FF C0 08 90 */ fmr f30, f1 -/* 80282B3C 0027FA7C 48 00 00 34 */ b lbl_80282B70 -lbl_80282B40: -/* 80282B40 0027FA80 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 80282B44 0027FA84 FC 1E 00 40 */ fcmpo cr0, f30, f0 -/* 80282B48 0027FA88 4C 41 13 82 */ cror 2, 1, 2 -/* 80282B4C 0027FA8C 40 82 00 24 */ bne lbl_80282B70 -/* 80282B50 0027FA90 80 7F 00 3C */ lwz r3, 0x3c(r31) -/* 80282B54 0027FA94 4B FF EA F5 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside -/* 80282B58 0027FA98 FC 20 F0 90 */ fmr f1, f30 -/* 80282B5C 0027FA9C C8 5F 00 18 */ lfd f2, 0x18(r31) -/* 80282B60 0027FAA0 7C 6C 1B 78 */ mr r12, r3 -/* 80282B64 0027FAA4 7D 89 03 A6 */ mtctr r12 -/* 80282B68 0027FAA8 4E 80 04 21 */ bctrl -/* 80282B6C 0027FAAC FF C0 08 90 */ fmr f30, f1 -lbl_80282B70: -/* 80282B70 0027FAB0 C8 1F 00 08 */ lfd f0, 8(r31) -/* 80282B74 0027FAB4 FF DE 00 2A */ fadd f30, f30, f0 -/* 80282B78 0027FAB8 FC 1E 00 28 */ fsub f0, f30, f0 -/* 80282B7C 0027FABC FC 3F 00 32 */ fmul f1, f31, f0 -/* 80282B80 0027FAC0 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 80282B84 0027FAC4 FC 01 00 24 */ fdiv f0, f1, f0 -/* 80282B88 0027FAC8 D8 01 00 08 */ stfd f0, 8(r1) -lbl_80282B8C: -/* 80282B8C 0027FACC C8 21 00 08 */ lfd f1, 8(r1) -/* 80282B90 0027FAD0 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80282B94 0027FAD4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80282B98 0027FAD8 40 80 00 10 */ bge lbl_80282BA8 -/* 80282B9C 0027FADC 80 7F 00 44 */ lwz r3, 0x44(r31) -/* 80282BA0 0027FAE0 C0 23 00 00 */ lfs f1, 0(r3) -/* 80282BA4 0027FAE4 48 00 00 44 */ b lbl_80282BE8 -lbl_80282BA8: -/* 80282BA8 0027FAE8 FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80282BAC 0027FAEC 4C 41 13 82 */ cror 2, 1, 2 -/* 80282BB0 0027FAF0 40 82 00 14 */ bne lbl_80282BC4 -/* 80282BB4 0027FAF4 80 7F 00 44 */ lwz r3, 0x44(r31) -/* 80282BB8 0027FAF8 57 C0 10 3A */ slwi r0, r30, 2 -/* 80282BBC 0027FAFC 7C 23 04 2E */ lfsx f1, r3, r0 -/* 80282BC0 0027FB00 48 00 00 28 */ b lbl_80282BE8 -lbl_80282BC4: -/* 80282BC4 0027FB04 48 0E 95 39 */ bl func_8036C0FC -/* 80282BC8 0027FB08 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 80282BCC 0027FB0C 48 0D F4 E1 */ bl func_803620AC -/* 80282BD0 0027FB10 90 61 00 18 */ stw r3, 0x18(r1) -/* 80282BD4 0027FB14 7F E3 FB 78 */ mr r3, r31 -/* 80282BD8 0027FB18 38 81 00 08 */ addi r4, r1, 8 -/* 80282BDC 0027FB1C 81 9F 00 58 */ lwz r12, 0x58(r31) -/* 80282BE0 0027FB20 7D 89 03 A6 */ mtctr r12 -/* 80282BE4 0027FB24 4E 80 04 21 */ bctrl -lbl_80282BE8: -/* 80282BE8 0027FB28 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 -/* 80282BEC 0027FB2C CB E1 00 40 */ lfd f31, 0x40(r1) -/* 80282BF0 0027FB30 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 -/* 80282BF4 0027FB34 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 80282BF8 0027FB38 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80282BFC 0027FB3C 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80282C00 0027FB40 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80282C04 0027FB44 7C 08 03 A6 */ mtlr r0 -/* 80282C08 0027FB48 38 21 00 50 */ addi r1, r1, 0x50 -/* 80282C0C 0027FB4C 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_NONE_ -JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_NONE_: -/* 80282C10 0027FB50 80 63 00 44 */ lwz r3, 0x44(r3) -/* 80282C14 0027FB54 80 04 00 10 */ lwz r0, 0x10(r4) -/* 80282C18 0027FB58 54 00 10 3A */ slwi r0, r0, 2 -/* 80282C1C 0027FB5C 7C 23 04 2E */ lfsx f1, r3, r0 -/* 80282C20 0027FB60 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_ -JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_LINEAR_: -/* 80282C24 0027FB64 80 63 00 44 */ lwz r3, 0x44(r3) -/* 80282C28 0027FB68 80 04 00 10 */ lwz r0, 0x10(r4) -/* 80282C2C 0027FB6C 54 00 10 3A */ slwi r0, r0, 2 -/* 80282C30 0027FB70 7C 63 04 2E */ lfsx f3, r3, r0 -/* 80282C34 0027FB74 7C 63 02 14 */ add r3, r3, r0 -/* 80282C38 0027FB78 C0 03 00 04 */ lfs f0, 4(r3) -/* 80282C3C 0027FB7C FC 40 18 28 */ fsub f2, f0, f3 -/* 80282C40 0027FB80 C8 24 00 00 */ lfd f1, 0(r4) -/* 80282C44 0027FB84 C8 04 00 08 */ lfd f0, 8(r4) -/* 80282C48 0027FB88 FC 01 00 28 */ fsub f0, f1, f0 -/* 80282C4C 0027FB8C FC 02 00 32 */ fmul f0, f2, f0 -/* 80282C50 0027FB90 FC 23 00 2A */ fadd f1, f3, f0 -/* 80282C54 0027FB94 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_PLATEAU_ -JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_PLATEAU_: -/* 80282C58 0027FB98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282C5C 0027FB9C 7C 08 02 A6 */ mflr r0 -/* 80282C60 0027FBA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282C64 0027FBA4 80 63 00 44 */ lwz r3, 0x44(r3) -/* 80282C68 0027FBA8 80 04 00 10 */ lwz r0, 0x10(r4) -/* 80282C6C 0027FBAC 54 00 10 3A */ slwi r0, r0, 2 -/* 80282C70 0027FBB0 C8 44 00 08 */ lfd f2, 8(r4) -/* 80282C74 0027FBB4 C8 24 00 00 */ lfd f1, 0(r4) -/* 80282C78 0027FBB8 7C 63 04 2E */ lfsx f3, r3, r0 -/* 80282C7C 0027FBBC C8 82 BA 00 */ lfd f4, lbl_80455400-_SDA2_BASE_(r2) -/* 80282C80 0027FBC0 C8 02 BA 08 */ lfd f0, lbl_80455408-_SDA2_BASE_(r2) -/* 80282C84 0027FBC4 FC A0 10 2A */ fadd f5, f0, f2 -/* 80282C88 0027FBC8 7C 63 02 14 */ add r3, r3, r0 -/* 80282C8C 0027FBCC C0 C3 00 04 */ lfs f6, 4(r3) -/* 80282C90 0027FBD0 FC E0 20 90 */ fmr f7, f4 -/* 80282C94 0027FBD4 4B FF EA 7D */ bl JStudio_NS_functionvalue_NS_interpolateValue_hermite -/* 80282C98 0027FBD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282C9C 0027FBDC 7C 08 03 A6 */ mtlr r0 -/* 80282CA0 0027FBE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282CA4 0027FBE4 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_BSPLINE_dataMore3_ -JStudio_NS_TFunctionValue_list_NS_update_INTERPOLATE_BSPLINE_dataMore3_: -/* 80282CA8 0027FBE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282CAC 0027FBEC 7C 08 02 A6 */ mflr r0 -/* 80282CB0 0027FBF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282CB4 0027FBF4 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 80282CB8 0027FBF8 80 C4 00 10 */ lwz r6, 0x10(r4) -/* 80282CBC 0027FBFC 54 C0 10 3A */ slwi r0, r6, 2 -/* 80282CC0 0027FC00 7C 65 04 2E */ lfsx f3, r5, r0 -/* 80282CC4 0027FC04 7C A5 02 14 */ add r5, r5, r0 -/* 80282CC8 0027FC08 C0 85 00 04 */ lfs f4, 4(r5) -/* 80282CCC 0027FC0C 28 06 00 00 */ cmplwi r6, 0 -/* 80282CD0 0027FC10 40 82 00 18 */ bne lbl_80282CE8 -/* 80282CD4 0027FC14 C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) -/* 80282CD8 0027FC18 FC 00 00 F2 */ fmul f0, f0, f3 -/* 80282CDC 0027FC1C FC 40 20 28 */ fsub f2, f0, f4 -/* 80282CE0 0027FC20 C0 A5 00 08 */ lfs f5, 8(r5) -/* 80282CE4 0027FC24 48 00 00 30 */ b lbl_80282D14 -lbl_80282CE8: -/* 80282CE8 0027FC28 80 63 00 48 */ lwz r3, 0x48(r3) -/* 80282CEC 0027FC2C 38 03 FF FE */ addi r0, r3, -2 -/* 80282CF0 0027FC30 7C 06 00 40 */ cmplw r6, r0 -/* 80282CF4 0027FC34 40 82 00 18 */ bne lbl_80282D0C -/* 80282CF8 0027FC38 C0 45 FF FC */ lfs f2, -4(r5) -/* 80282CFC 0027FC3C C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) -/* 80282D00 0027FC40 FC 00 01 32 */ fmul f0, f0, f4 -/* 80282D04 0027FC44 FC A0 18 28 */ fsub f5, f0, f3 -/* 80282D08 0027FC48 48 00 00 0C */ b lbl_80282D14 -lbl_80282D0C: -/* 80282D0C 0027FC4C C0 45 FF FC */ lfs f2, -4(r5) -/* 80282D10 0027FC50 C0 A5 00 08 */ lfs f5, 8(r5) -lbl_80282D14: -/* 80282D14 0027FC54 C8 24 00 00 */ lfd f1, 0(r4) -/* 80282D18 0027FC58 C8 04 00 08 */ lfd f0, 8(r4) -/* 80282D1C 0027FC5C FC 21 00 28 */ fsub f1, f1, f0 -/* 80282D20 0027FC60 4B FF EA 55 */ bl JStudio_NS_functionvalue_NS_interpolateValue_BSpline_uniform -/* 80282D24 0027FC64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282D28 0027FC68 7C 08 03 A6 */ mtlr r0 -/* 80282D2C 0027FC6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282D30 0027FC70 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_list_parameter -JStudio_NS_TFunctionValue_list_parameter: -/* 80282D34 0027FC74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282D38 0027FC78 7C 08 02 A6 */ mflr r0 -/* 80282D3C 0027FC7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282D40 0027FC80 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80282D44 0027FC84 7C 7F 1B 78 */ mr r31, r3 -/* 80282D48 0027FC88 4B FF E9 49 */ bl JStudio_NS_TFunctionValue -/* 80282D4C 0027FC8C 38 7F 00 08 */ addi r3, r31, 8 -/* 80282D50 0027FC90 4B FF EF C9 */ bl JStudio_NS_TFunctionValueAttribute_range -/* 80282D54 0027FC94 38 80 00 00 */ li r4, 0 -/* 80282D58 0027FC98 90 9F 00 40 */ stw r4, 0x40(r31) -/* 80282D5C 0027FC9C 3C 60 80 3C */ lis r3, lbl_803C4900@ha -/* 80282D60 0027FCA0 38 03 49 00 */ addi r0, r3, lbl_803C4900@l -/* 80282D64 0027FCA4 90 1F 00 00 */ stw r0, 0(r31) -/* 80282D68 0027FCA8 90 9F 00 44 */ stw r4, 0x44(r31) -/* 80282D6C 0027FCAC 90 9F 00 48 */ stw r4, 0x48(r31) -/* 80282D70 0027FCB0 90 9F 00 4C */ stw r4, 0x4c(r31) -/* 80282D74 0027FCB4 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80282D78 0027FCB8 90 1F 00 50 */ stw r0, 0x50(r31) -/* 80282D7C 0027FCBC 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80282D80 0027FCC0 90 1F 00 54 */ stw r0, 0x54(r31) -/* 80282D84 0027FCC4 90 9F 00 58 */ stw r4, 0x58(r31) -/* 80282D88 0027FCC8 7F E3 FB 78 */ mr r3, r31 -/* 80282D8C 0027FCCC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80282D90 0027FCD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282D94 0027FCD4 7C 08 03 A6 */ mtlr r0 -/* 80282D98 0027FCD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282D9C 0027FCDC 4E 80 00 20 */ blr -/* 80282DA0 0027FCE0 38 60 00 05 */ li r3, 5 -/* 80282DA4 0027FCE4 4E 80 00 20 */ blr -/* 80282DA8 0027FCE8 7C 85 23 78 */ mr r5, r4 -/* 80282DAC 0027FCEC 28 04 00 00 */ cmplwi r4, 0 -/* 80282DB0 0027FCF0 41 82 00 08 */ beq lbl_80282DB8 -/* 80282DB4 0027FCF4 38 A5 00 40 */ addi r5, r5, 0x40 -lbl_80282DB8: -/* 80282DB8 0027FCF8 28 04 00 00 */ cmplwi r4, 0 -/* 80282DBC 0027FCFC 41 82 00 08 */ beq lbl_80282DC4 -/* 80282DC0 0027FD00 38 84 00 08 */ addi r4, r4, 8 -lbl_80282DC4: -/* 80282DC4 0027FD04 38 00 00 00 */ li r0, 0 -/* 80282DC8 0027FD08 90 03 00 00 */ stw r0, 0(r3) -/* 80282DCC 0027FD0C 90 83 00 04 */ stw r4, 4(r3) -/* 80282DD0 0027FD10 90 A3 00 08 */ stw r5, 8(r3) -/* 80282DD4 0027FD14 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_list_parameter_NS_data_set -JStudio_NS_TFunctionValue_list_parameter_NS_data_set: -/* 80282DD8 0027FD18 90 83 00 44 */ stw r4, 0x44(r3) -/* 80282DDC 0027FD1C 90 A3 00 48 */ stw r5, 0x48(r3) -/* 80282DE0 0027FD20 80 03 00 44 */ lwz r0, 0x44(r3) -/* 80282DE4 0027FD24 90 03 00 4C */ stw r0, 0x4c(r3) -/* 80282DE8 0027FD28 80 83 00 44 */ lwz r4, 0x44(r3) -/* 80282DEC 0027FD2C 80 03 00 48 */ lwz r0, 0x48(r3) -/* 80282DF0 0027FD30 54 00 18 38 */ slwi r0, r0, 3 -/* 80282DF4 0027FD34 7C 04 02 14 */ add r0, r4, r0 -/* 80282DF8 0027FD38 90 03 00 50 */ stw r0, 0x50(r3) -/* 80282DFC 0027FD3C 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 80282E00 0027FD40 90 03 00 54 */ stw r0, 0x54(r3) -/* 80282E04 0027FD44 4E 80 00 20 */ blr -/* 80282E08 0027FD48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282E0C 0027FD4C 7C 08 02 A6 */ mflr r0 -/* 80282E10 0027FD50 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282E14 0027FD54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80282E18 0027FD58 7C 7F 1B 78 */ mr r31, r3 -/* 80282E1C 0027FD5C 38 7F 00 08 */ addi r3, r31, 8 -/* 80282E20 0027FD60 4B FF EA F9 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_initialize -/* 80282E24 0027FD64 38 60 00 00 */ li r3, 0 -/* 80282E28 0027FD68 90 7F 00 40 */ stw r3, 0x40(r31) -/* 80282E2C 0027FD6C 90 7F 00 44 */ stw r3, 0x44(r31) -/* 80282E30 0027FD70 90 7F 00 48 */ stw r3, 0x48(r31) -/* 80282E34 0027FD74 90 7F 00 4C */ stw r3, 0x4c(r31) -/* 80282E38 0027FD78 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80282E3C 0027FD7C 90 1F 00 50 */ stw r0, 0x50(r31) -/* 80282E40 0027FD80 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80282E44 0027FD84 90 1F 00 54 */ stw r0, 0x54(r31) -/* 80282E48 0027FD88 90 7F 00 58 */ stw r3, 0x58(r31) -/* 80282E4C 0027FD8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80282E50 0027FD90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282E54 0027FD94 7C 08 03 A6 */ mtlr r0 -/* 80282E58 0027FD98 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282E5C 0027FD9C 4E 80 00 20 */ blr -/* 80282E60 0027FDA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80282E64 0027FDA4 7C 08 02 A6 */ mflr r0 -/* 80282E68 0027FDA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282E6C 0027FDAC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80282E70 0027FDB0 7C 7F 1B 78 */ mr r31, r3 -/* 80282E74 0027FDB4 38 7F 00 08 */ addi r3, r31, 8 -/* 80282E78 0027FDB8 4B FF EA D5 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_prepare -/* 80282E7C 0027FDBC 80 1F 00 40 */ lwz r0, 0x40(r31) -/* 80282E80 0027FDC0 2C 00 00 02 */ cmpwi r0, 2 -/* 80282E84 0027FDC4 41 82 00 44 */ beq lbl_80282EC8 -/* 80282E88 0027FDC8 40 80 00 14 */ bge lbl_80282E9C -/* 80282E8C 0027FDCC 2C 00 00 00 */ cmpwi r0, 0 -/* 80282E90 0027FDD0 41 82 00 18 */ beq lbl_80282EA8 -/* 80282E94 0027FDD4 40 80 00 24 */ bge lbl_80282EB8 -/* 80282E98 0027FDD8 48 00 00 10 */ b lbl_80282EA8 -lbl_80282E9C: -/* 80282E9C 0027FDDC 2C 00 00 04 */ cmpwi r0, 4 -/* 80282EA0 0027FDE0 40 80 00 08 */ bge lbl_80282EA8 -/* 80282EA4 0027FDE4 48 00 00 34 */ b lbl_80282ED8 -lbl_80282EA8: -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_NONE_ -/* 80282EA8 0027FDE8 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_NONE_@ha -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_NONE_ -/* 80282EAC 0027FDEC 38 03 2F E8 */ addi r0, r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_NONE_@l -/* 80282EB0 0027FDF0 90 1F 00 58 */ stw r0, 0x58(r31) -/* 80282EB4 0027FDF4 48 00 00 48 */ b lbl_80282EFC -lbl_80282EB8: -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_ -/* 80282EB8 0027FDF8 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_@ha -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_ -/* 80282EBC 0027FDFC 38 03 2F F4 */ addi r0, r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_@l -/* 80282EC0 0027FE00 90 1F 00 58 */ stw r0, 0x58(r31) -/* 80282EC4 0027FE04 48 00 00 38 */ b lbl_80282EFC -lbl_80282EC8: -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_PLATEAU_ -/* 80282EC8 0027FE08 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_PLATEAU_@ha -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_PLATEAU_ -/* 80282ECC 0027FE0C 38 03 30 24 */ addi r0, r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_PLATEAU_@l -/* 80282ED0 0027FE10 90 1F 00 58 */ stw r0, 0x58(r31) -/* 80282ED4 0027FE14 48 00 00 28 */ b lbl_80282EFC -lbl_80282ED8: -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_BSPLINE_dataMore3_ -/* 80282ED8 0027FE18 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_BSPLINE_dataMore3_@ha -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_BSPLINE_dataMore3_ -/* 80282EDC 0027FE1C 38 03 30 60 */ addi r0, r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_BSPLINE_dataMore3_@l -/* 80282EE0 0027FE20 90 1F 00 58 */ stw r0, 0x58(r31) -/* 80282EE4 0027FE24 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80282EE8 0027FE28 28 00 00 02 */ cmplwi r0, 2 -/* 80282EEC 0027FE2C 40 82 00 10 */ bne lbl_80282EFC -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_ -/* 80282EF0 0027FE30 3C 60 80 28 */ lis r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_@ha -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_ -/* 80282EF4 0027FE34 38 03 2F F4 */ addi r0, r3, JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_@l -/* 80282EF8 0027FE38 90 1F 00 58 */ stw r0, 0x58(r31) -lbl_80282EFC: -/* 80282EFC 0027FE3C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80282F00 0027FE40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80282F04 0027FE44 7C 08 03 A6 */ mtlr r0 -/* 80282F08 0027FE48 38 21 00 10 */ addi r1, r1, 0x10 -/* 80282F0C 0027FE4C 4E 80 00 20 */ blr -/* 80282F10 0027FE50 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80282F14 0027FE54 7C 08 02 A6 */ mflr r0 -/* 80282F18 0027FE58 90 01 00 34 */ stw r0, 0x34(r1) -/* 80282F1C 0027FE5C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80282F20 0027FE60 7C 7F 1B 78 */ mr r31, r3 -/* 80282F24 0027FE64 D8 21 00 08 */ stfd f1, 8(r1) -/* 80282F28 0027FE68 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 80282F2C 0027FE6C 38 7F 00 08 */ addi r3, r31, 8 -/* 80282F30 0027FE70 C0 45 00 00 */ lfs f2, 0(r5) -/* 80282F34 0027FE74 80 9F 00 48 */ lwz r4, 0x48(r31) -/* 80282F38 0027FE78 38 04 FF FF */ addi r0, r4, -1 -/* 80282F3C 0027FE7C 54 00 18 38 */ slwi r0, r0, 3 -/* 80282F40 0027FE80 7C 65 04 2E */ lfsx f3, r5, r0 -/* 80282F44 0027FE84 4B FF EA C5 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_getParameter -/* 80282F48 0027FE88 D8 21 00 08 */ stfd f1, 8(r1) -/* 80282F4C 0027FE8C 80 1F 00 54 */ lwz r0, 0x54(r31) -/* 80282F50 0027FE90 90 01 00 10 */ stw r0, 0x10(r1) -/* 80282F54 0027FE94 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 80282F58 0027FE98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80282F5C 0027FE9C 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80282F60 0027FEA0 90 01 00 18 */ stw r0, 0x18(r1) -/* 80282F64 0027FEA4 38 61 00 1C */ addi r3, r1, 0x1c -/* 80282F68 0027FEA8 38 81 00 18 */ addi r4, r1, 0x18 -/* 80282F6C 0027FEAC 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80282F70 0027FEB0 38 C1 00 10 */ addi r6, r1, 0x10 -/* 80282F74 0027FEB4 38 E1 00 08 */ addi r7, r1, 8 -/* 80282F78 0027FEB8 48 00 06 65 */ bl JGadget_NS_findUpperBound_binary_current -/* 80282F7C 0027FEBC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80282F80 0027FEC0 90 1F 00 54 */ stw r0, 0x54(r31) -/* 80282F84 0027FEC4 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 80282F88 0027FEC8 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80282F8C 0027FECC 7C 03 00 40 */ cmplw r3, r0 -/* 80282F90 0027FED0 40 82 00 0C */ bne lbl_80282F9C -/* 80282F94 0027FED4 C0 23 00 04 */ lfs f1, 4(r3) -/* 80282F98 0027FED8 48 00 00 3C */ b lbl_80282FD4 -lbl_80282F9C: -/* 80282F9C 0027FEDC 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 80282FA0 0027FEE0 7C 03 00 40 */ cmplw r3, r0 -/* 80282FA4 0027FEE4 40 82 00 1C */ bne lbl_80282FC0 -/* 80282FA8 0027FEE8 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 80282FAC 0027FEEC 38 03 FF F8 */ addi r0, r3, -8 -/* 80282FB0 0027FEF0 90 1F 00 54 */ stw r0, 0x54(r31) -/* 80282FB4 0027FEF4 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 80282FB8 0027FEF8 C0 23 00 04 */ lfs f1, 4(r3) -/* 80282FBC 0027FEFC 48 00 00 18 */ b lbl_80282FD4 -lbl_80282FC0: -/* 80282FC0 0027FF00 7F E3 FB 78 */ mr r3, r31 -/* 80282FC4 0027FF04 C8 21 00 08 */ lfd f1, 8(r1) -/* 80282FC8 0027FF08 81 9F 00 58 */ lwz r12, 0x58(r31) -/* 80282FCC 0027FF0C 7D 89 03 A6 */ mtctr r12 -/* 80282FD0 0027FF10 4E 80 04 21 */ bctrl -lbl_80282FD4: -/* 80282FD4 0027FF14 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80282FD8 0027FF18 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80282FDC 0027FF1C 7C 08 03 A6 */ mtlr r0 -/* 80282FE0 0027FF20 38 21 00 30 */ addi r1, r1, 0x30 -/* 80282FE4 0027FF24 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_NONE_ -JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_NONE_: -/* 80282FE8 0027FF28 80 63 00 54 */ lwz r3, 0x54(r3) -/* 80282FEC 0027FF2C C0 23 FF FC */ lfs f1, -4(r3) -/* 80282FF0 0027FF30 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_ -JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_LINEAR_: -/* 80282FF4 0027FF34 80 63 00 54 */ lwz r3, 0x54(r3) -/* 80282FF8 0027FF38 C0 83 FF FC */ lfs f4, -4(r3) -/* 80282FFC 0027FF3C C0 63 FF F8 */ lfs f3, -8(r3) -/* 80283000 0027FF40 C0 03 00 04 */ lfs f0, 4(r3) -/* 80283004 0027FF44 FC 40 20 28 */ fsub f2, f0, f4 -/* 80283008 0027FF48 FC 01 18 28 */ fsub f0, f1, f3 -/* 8028300C 0027FF4C FC 22 00 32 */ fmul f1, f2, f0 -/* 80283010 0027FF50 C0 03 00 00 */ lfs f0, 0(r3) -/* 80283014 0027FF54 FC 00 18 28 */ fsub f0, f0, f3 -/* 80283018 0027FF58 FC 01 00 24 */ fdiv f0, f1, f0 -/* 8028301C 0027FF5C FC 24 00 2A */ fadd f1, f4, f0 -/* 80283020 0027FF60 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_PLATEAU_ -JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_PLATEAU_: -/* 80283024 0027FF64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80283028 0027FF68 7C 08 02 A6 */ mflr r0 -/* 8028302C 0027FF6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80283030 0027FF70 80 63 00 54 */ lwz r3, 0x54(r3) -/* 80283034 0027FF74 C0 43 FF F8 */ lfs f2, -8(r3) -/* 80283038 0027FF78 C0 63 FF FC */ lfs f3, -4(r3) -/* 8028303C 0027FF7C C8 82 BA 00 */ lfd f4, lbl_80455400-_SDA2_BASE_(r2) -/* 80283040 0027FF80 C0 A3 00 00 */ lfs f5, 0(r3) -/* 80283044 0027FF84 C0 C3 00 04 */ lfs f6, 4(r3) -/* 80283048 0027FF88 FC E0 20 90 */ fmr f7, f4 -/* 8028304C 0027FF8C 4B FF E6 C5 */ bl JStudio_NS_functionvalue_NS_interpolateValue_hermite -/* 80283050 0027FF90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80283054 0027FF94 7C 08 03 A6 */ mtlr r0 -/* 80283058 0027FF98 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028305C 0027FF9C 4E 80 00 20 */ blr -.global JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_BSPLINE_dataMore3_ -JStudio_NS_TFunctionValue_list_parameter_NS_update_INTERPOLATE_BSPLINE_dataMore3_: -/* 80283060 0027FFA0 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80283064 0027FFA4 7C 08 02 A6 */ mflr r0 -/* 80283068 0027FFA8 90 01 00 64 */ stw r0, 0x64(r1) -/* 8028306C 0027FFAC 80 83 00 54 */ lwz r4, 0x54(r3) -/* 80283070 0027FFB0 C0 E4 FF FC */ lfs f7, -4(r4) -/* 80283074 0027FFB4 D8 E1 00 10 */ stfd f7, 0x10(r1) -/* 80283078 0027FFB8 C0 C4 00 04 */ lfs f6, 4(r4) -/* 8028307C 0027FFBC D8 C1 00 18 */ stfd f6, 0x18(r1) -/* 80283080 0027FFC0 C0 A4 FF F8 */ lfs f5, -8(r4) -/* 80283084 0027FFC4 D8 A1 00 38 */ stfd f5, 0x38(r1) -/* 80283088 0027FFC8 C0 84 00 00 */ lfs f4, 0(r4) -/* 8028308C 0027FFCC D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80283090 0027FFD0 80 03 00 50 */ lwz r0, 0x50(r3) -/* 80283094 0027FFD4 7C 04 00 50 */ subf r0, r4, r0 -/* 80283098 0027FFD8 7C 00 16 70 */ srawi r0, r0, 2 -/* 8028309C 0027FFDC 7C A0 01 94 */ addze r5, r0 -/* 802830A0 0027FFE0 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 802830A4 0027FFE4 7C 00 20 50 */ subf r0, r0, r4 -/* 802830A8 0027FFE8 7C 00 16 70 */ srawi r0, r0, 2 -/* 802830AC 0027FFEC 7C 00 01 94 */ addze r0, r0 -/* 802830B0 0027FFF0 2C 00 00 03 */ cmpwi r0, 3 -/* 802830B4 0027FFF4 41 82 01 40 */ beq lbl_802831F4 -/* 802830B8 0027FFF8 40 80 00 10 */ bge lbl_802830C8 -/* 802830BC 0027FFFC 2C 00 00 02 */ cmpwi r0, 2 -/* 802830C0 00280000 40 80 00 14 */ bge lbl_802830D4 -/* 802830C4 00280004 48 00 01 30 */ b lbl_802831F4 -lbl_802830C8: -/* 802830C8 00280008 2C 00 00 05 */ cmpwi r0, 5 -/* 802830CC 0028000C 40 80 01 28 */ bge lbl_802831F4 -/* 802830D0 00280010 48 00 00 80 */ b lbl_80283150 -lbl_802830D4: -/* 802830D4 00280014 C8 42 BA 38 */ lfd f2, lbl_80455438-_SDA2_BASE_(r2) -/* 802830D8 00280018 FC 02 01 F2 */ fmul f0, f2, f7 -/* 802830DC 0028001C FC 00 30 28 */ fsub f0, f0, f6 -/* 802830E0 00280020 D8 01 00 08 */ stfd f0, 8(r1) -/* 802830E4 00280024 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 802830E8 00280028 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 802830EC 0028002C C0 64 00 08 */ lfs f3, 8(r4) -/* 802830F0 00280030 D8 61 00 48 */ stfd f3, 0x48(r1) -/* 802830F4 00280034 FC 42 01 72 */ fmul f2, f2, f5 -/* 802830F8 00280038 FC 02 20 28 */ fsub f0, f2, f4 -/* 802830FC 0028003C D8 01 00 30 */ stfd f0, 0x30(r1) -/* 80283100 00280040 FC 02 18 28 */ fsub f0, f2, f3 -/* 80283104 00280044 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 80283108 00280048 2C 05 00 03 */ cmpwi r5, 3 -/* 8028310C 0028004C 41 82 00 38 */ beq lbl_80283144 -/* 80283110 00280050 40 80 00 10 */ bge lbl_80283120 -/* 80283114 00280054 2C 05 00 02 */ cmpwi r5, 2 -/* 80283118 00280058 40 80 00 10 */ bge lbl_80283128 -/* 8028311C 0028005C 48 00 00 28 */ b lbl_80283144 -lbl_80283120: -/* 80283120 00280060 2C 05 00 05 */ cmpwi r5, 5 -/* 80283124 00280064 40 80 00 20 */ bge lbl_80283144 -lbl_80283128: -/* 80283128 00280068 C8 42 BA 38 */ lfd f2, lbl_80455438-_SDA2_BASE_(r2) -/* 8028312C 0028006C C8 01 00 48 */ lfd f0, 0x48(r1) -/* 80283130 00280070 FC 42 00 32 */ fmul f2, f2, f0 -/* 80283134 00280074 C8 01 00 40 */ lfd f0, 0x40(r1) -/* 80283138 00280078 FC 02 00 28 */ fsub f0, f2, f0 -/* 8028313C 0028007C D8 01 00 50 */ stfd f0, 0x50(r1) -/* 80283140 00280080 48 00 01 68 */ b lbl_802832A8 -lbl_80283144: -/* 80283144 00280084 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 80283148 00280088 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 8028314C 0028008C 48 00 01 5C */ b lbl_802832A8 -lbl_80283150: -/* 80283150 00280090 C0 04 FF F4 */ lfs f0, -0xc(r4) -/* 80283154 00280094 D8 01 00 08 */ stfd f0, 8(r1) -/* 80283158 00280098 C0 64 FF F0 */ lfs f3, -0x10(r4) -/* 8028315C 0028009C D8 61 00 30 */ stfd f3, 0x30(r1) -/* 80283160 002800A0 C8 42 BA 38 */ lfd f2, lbl_80455438-_SDA2_BASE_(r2) -/* 80283164 002800A4 FC 02 00 F2 */ fmul f0, f2, f3 -/* 80283168 002800A8 FC 00 28 28 */ fsub f0, f0, f5 -/* 8028316C 002800AC D8 01 00 28 */ stfd f0, 0x28(r1) -/* 80283170 002800B0 2C 05 00 03 */ cmpwi r5, 3 -/* 80283174 002800B4 41 82 00 64 */ beq lbl_802831D8 -/* 80283178 002800B8 40 80 00 10 */ bge lbl_80283188 -/* 8028317C 002800BC 2C 05 00 02 */ cmpwi r5, 2 -/* 80283180 002800C0 40 80 00 14 */ bge lbl_80283194 -/* 80283184 002800C4 48 00 00 54 */ b lbl_802831D8 -lbl_80283188: -/* 80283188 002800C8 2C 05 00 05 */ cmpwi r5, 5 -/* 8028318C 002800CC 40 80 00 4C */ bge lbl_802831D8 -/* 80283190 002800D0 48 00 00 28 */ b lbl_802831B8 -lbl_80283194: -/* 80283194 002800D4 FC 02 01 B2 */ fmul f0, f2, f6 -/* 80283198 002800D8 FC 00 38 28 */ fsub f0, f0, f7 -/* 8028319C 002800DC D8 01 00 20 */ stfd f0, 0x20(r1) -/* 802831A0 002800E0 FC 42 01 32 */ fmul f2, f2, f4 -/* 802831A4 002800E4 FC 02 28 28 */ fsub f0, f2, f5 -/* 802831A8 002800E8 D8 01 00 48 */ stfd f0, 0x48(r1) -/* 802831AC 002800EC FC 02 18 28 */ fsub f0, f2, f3 -/* 802831B0 002800F0 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 802831B4 002800F4 48 00 00 F4 */ b lbl_802832A8 -lbl_802831B8: -/* 802831B8 002800F8 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 802831BC 002800FC D8 01 00 20 */ stfd f0, 0x20(r1) -/* 802831C0 00280100 C0 04 00 08 */ lfs f0, 8(r4) -/* 802831C4 00280104 D8 01 00 48 */ stfd f0, 0x48(r1) -/* 802831C8 00280108 FC 02 00 32 */ fmul f0, f2, f0 -/* 802831CC 0028010C FC 00 20 28 */ fsub f0, f0, f4 -/* 802831D0 00280110 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 802831D4 00280114 48 00 00 D4 */ b lbl_802832A8 -lbl_802831D8: -/* 802831D8 00280118 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 802831DC 0028011C D8 01 00 20 */ stfd f0, 0x20(r1) -/* 802831E0 00280120 C0 04 00 08 */ lfs f0, 8(r4) -/* 802831E4 00280124 D8 01 00 48 */ stfd f0, 0x48(r1) -/* 802831E8 00280128 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 802831EC 0028012C D8 01 00 50 */ stfd f0, 0x50(r1) -/* 802831F0 00280130 48 00 00 B8 */ b lbl_802832A8 -lbl_802831F4: -/* 802831F4 00280134 C0 04 FF F4 */ lfs f0, -0xc(r4) -/* 802831F8 00280138 D8 01 00 08 */ stfd f0, 8(r1) -/* 802831FC 0028013C C0 84 FF F0 */ lfs f4, -0x10(r4) -/* 80283200 00280140 D8 81 00 30 */ stfd f4, 0x30(r1) -/* 80283204 00280144 C0 04 FF E8 */ lfs f0, -0x18(r4) -/* 80283208 00280148 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8028320C 0028014C 2C 05 00 03 */ cmpwi r5, 3 -/* 80283210 00280150 41 82 00 80 */ beq lbl_80283290 -/* 80283214 00280154 40 80 00 10 */ bge lbl_80283224 -/* 80283218 00280158 2C 05 00 02 */ cmpwi r5, 2 -/* 8028321C 0028015C 40 80 00 14 */ bge lbl_80283230 -/* 80283220 00280160 48 00 00 70 */ b lbl_80283290 -lbl_80283224: -/* 80283224 00280164 2C 05 00 05 */ cmpwi r5, 5 -/* 80283228 00280168 40 80 00 68 */ bge lbl_80283290 -/* 8028322C 0028016C 48 00 00 3C */ b lbl_80283268 -lbl_80283230: -/* 80283230 00280170 C8 62 BA 38 */ lfd f3, lbl_80455438-_SDA2_BASE_(r2) -/* 80283234 00280174 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 80283238 00280178 FC 43 00 32 */ fmul f2, f3, f0 -/* 8028323C 0028017C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80283240 00280180 FC 02 00 28 */ fsub f0, f2, f0 -/* 80283244 00280184 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 80283248 00280188 C8 01 00 40 */ lfd f0, 0x40(r1) -/* 8028324C 0028018C FC 43 00 32 */ fmul f2, f3, f0 -/* 80283250 00280190 C8 01 00 38 */ lfd f0, 0x38(r1) -/* 80283254 00280194 FC 02 00 28 */ fsub f0, f2, f0 -/* 80283258 00280198 D8 01 00 48 */ stfd f0, 0x48(r1) -/* 8028325C 0028019C FC 02 20 28 */ fsub f0, f2, f4 -/* 80283260 002801A0 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 80283264 002801A4 48 00 00 44 */ b lbl_802832A8 -lbl_80283268: -/* 80283268 002801A8 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8028326C 002801AC D8 01 00 20 */ stfd f0, 0x20(r1) -/* 80283270 002801B0 C0 44 00 08 */ lfs f2, 8(r4) -/* 80283274 002801B4 D8 41 00 48 */ stfd f2, 0x48(r1) -/* 80283278 002801B8 C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) -/* 8028327C 002801BC FC 40 00 B2 */ fmul f2, f0, f2 -/* 80283280 002801C0 C8 01 00 40 */ lfd f0, 0x40(r1) -/* 80283284 002801C4 FC 02 00 28 */ fsub f0, f2, f0 -/* 80283288 002801C8 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 8028328C 002801CC 48 00 00 1C */ b lbl_802832A8 -lbl_80283290: -/* 80283290 002801D0 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 80283294 002801D4 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 80283298 002801D8 C0 04 00 08 */ lfs f0, 8(r4) -/* 8028329C 002801DC D8 01 00 48 */ stfd f0, 0x48(r1) -/* 802832A0 002801E0 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 802832A4 002801E4 D8 01 00 50 */ stfd f0, 0x50(r1) -lbl_802832A8: -/* 802832A8 002801E8 38 61 00 08 */ addi r3, r1, 8 -/* 802832AC 002801EC 38 81 00 28 */ addi r4, r1, 0x28 -/* 802832B0 002801F0 4B FF E5 29 */ bl JStudio_NS_functionvalue_NS_interpolateValue_BSpline_nonuniform -/* 802832B4 002801F4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802832B8 002801F8 7C 08 03 A6 */ mtlr r0 -/* 802832BC 002801FC 38 21 00 60 */ addi r1, r1, 0x60 -/* 802832C0 00280200 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_hermite -JStudio_NS_TFunctionValue_hermite: -/* 802832C4 00280204 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802832C8 00280208 7C 08 02 A6 */ mflr r0 -/* 802832CC 0028020C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802832D0 00280210 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802832D4 00280214 7C 7F 1B 78 */ mr r31, r3 -/* 802832D8 00280218 4B FF E3 B9 */ bl JStudio_NS_TFunctionValue -/* 802832DC 0028021C 38 7F 00 08 */ addi r3, r31, 8 -/* 802832E0 00280220 4B FF EA 39 */ bl JStudio_NS_TFunctionValueAttribute_range -/* 802832E4 00280224 3C 60 80 3C */ lis r3, lbl_803C48E0@ha -/* 802832E8 00280228 38 03 48 E0 */ addi r0, r3, lbl_803C48E0@l -/* 802832EC 0028022C 90 1F 00 00 */ stw r0, 0(r31) -/* 802832F0 00280230 38 00 00 00 */ li r0, 0 -/* 802832F4 00280234 90 1F 00 40 */ stw r0, 0x40(r31) -/* 802832F8 00280238 90 1F 00 44 */ stw r0, 0x44(r31) -/* 802832FC 0028023C 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80283300 00280240 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80283304 00280244 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80283308 00280248 90 1F 00 50 */ stw r0, 0x50(r31) -/* 8028330C 0028024C 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80283310 00280250 90 1F 00 54 */ stw r0, 0x54(r31) -/* 80283314 00280254 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 80283318 00280258 90 1F 00 58 */ stw r0, 0x58(r31) -/* 8028331C 0028025C 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80283320 00280260 90 1F 00 5C */ stw r0, 0x5c(r31) -/* 80283324 00280264 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 80283328 00280268 90 1F 00 60 */ stw r0, 0x60(r31) -/* 8028332C 0028026C 7F E3 FB 78 */ mr r3, r31 -/* 80283330 00280270 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80283334 00280274 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80283338 00280278 7C 08 03 A6 */ mtlr r0 -/* 8028333C 0028027C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80283340 00280280 4E 80 00 20 */ blr -/* 80283344 00280284 38 60 00 06 */ li r3, 6 -/* 80283348 00280288 4E 80 00 20 */ blr -/* 8028334C 0028028C 28 04 00 00 */ cmplwi r4, 0 -/* 80283350 00280290 41 82 00 08 */ beq lbl_80283358 -/* 80283354 00280294 38 84 00 08 */ addi r4, r4, 8 -lbl_80283358: -/* 80283358 00280298 38 00 00 00 */ li r0, 0 -/* 8028335C 0028029C 90 03 00 00 */ stw r0, 0(r3) -/* 80283360 002802A0 90 83 00 04 */ stw r4, 4(r3) -/* 80283364 002802A4 90 03 00 08 */ stw r0, 8(r3) -/* 80283368 002802A8 4E 80 00 20 */ blr - -.global JStudio_NS_TFunctionValue_hermite_NS_data_set -JStudio_NS_TFunctionValue_hermite_NS_data_set: -/* 8028336C 002802AC 90 83 00 40 */ stw r4, 0x40(r3) -/* 80283370 002802B0 90 A3 00 44 */ stw r5, 0x44(r3) -/* 80283374 002802B4 90 C3 00 48 */ stw r6, 0x48(r3) -/* 80283378 002802B8 80 83 00 48 */ lwz r4, 0x48(r3) -/* 8028337C 002802BC 80 03 00 40 */ lwz r0, 0x40(r3) -/* 80283380 002802C0 90 03 00 4C */ stw r0, 0x4c(r3) -/* 80283384 002802C4 90 83 00 50 */ stw r4, 0x50(r3) -/* 80283388 002802C8 80 A3 00 48 */ lwz r5, 0x48(r3) -/* 8028338C 002802CC 80 83 00 40 */ lwz r4, 0x40(r3) -/* 80283390 002802D0 80 03 00 44 */ lwz r0, 0x44(r3) -/* 80283394 002802D4 7C 00 29 D6 */ mullw r0, r0, r5 -/* 80283398 002802D8 54 00 10 3A */ slwi r0, r0, 2 -/* 8028339C 002802DC 7C 04 02 14 */ add r0, r4, r0 -/* 802833A0 002802E0 90 03 00 54 */ stw r0, 0x54(r3) -/* 802833A4 002802E4 90 A3 00 58 */ stw r5, 0x58(r3) -/* 802833A8 002802E8 80 03 00 4C */ lwz r0, 0x4c(r3) -/* 802833AC 002802EC 90 03 00 5C */ stw r0, 0x5c(r3) -/* 802833B0 002802F0 80 03 00 50 */ lwz r0, 0x50(r3) -/* 802833B4 002802F4 90 03 00 60 */ stw r0, 0x60(r3) -/* 802833B8 002802F8 4E 80 00 20 */ blr -/* 802833BC 002802FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802833C0 00280300 7C 08 02 A6 */ mflr r0 -/* 802833C4 00280304 90 01 00 14 */ stw r0, 0x14(r1) -/* 802833C8 00280308 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802833CC 0028030C 7C 7F 1B 78 */ mr r31, r3 -/* 802833D0 00280310 38 7F 00 08 */ addi r3, r31, 8 -/* 802833D4 00280314 4B FF E5 45 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_initialize -/* 802833D8 00280318 38 00 00 00 */ li r0, 0 -/* 802833DC 0028031C 90 1F 00 40 */ stw r0, 0x40(r31) -/* 802833E0 00280320 90 1F 00 44 */ stw r0, 0x44(r31) -/* 802833E4 00280324 90 1F 00 48 */ stw r0, 0x48(r31) -/* 802833E8 00280328 80 7F 00 48 */ lwz r3, 0x48(r31) -/* 802833EC 0028032C 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 802833F0 00280330 90 7F 00 50 */ stw r3, 0x50(r31) -/* 802833F4 00280334 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 802833F8 00280338 90 1F 00 54 */ stw r0, 0x54(r31) -/* 802833FC 0028033C 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 80283400 00280340 90 1F 00 58 */ stw r0, 0x58(r31) -/* 80283404 00280344 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 80283408 00280348 90 1F 00 5C */ stw r0, 0x5c(r31) -/* 8028340C 0028034C 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 80283410 00280350 90 1F 00 60 */ stw r0, 0x60(r31) -/* 80283414 00280354 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80283418 00280358 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028341C 0028035C 7C 08 03 A6 */ mtlr r0 -/* 80283420 00280360 38 21 00 10 */ addi r1, r1, 0x10 -/* 80283424 00280364 4E 80 00 20 */ blr -/* 80283428 00280368 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028342C 0028036C 7C 08 02 A6 */ mflr r0 -/* 80283430 00280370 90 01 00 14 */ stw r0, 0x14(r1) -/* 80283434 00280374 38 63 00 08 */ addi r3, r3, 8 -/* 80283438 00280378 4B FF E5 15 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_prepare -/* 8028343C 0028037C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80283440 00280380 7C 08 03 A6 */ mtlr r0 -/* 80283444 00280384 38 21 00 10 */ addi r1, r1, 0x10 -/* 80283448 00280388 4E 80 00 20 */ blr -/* 8028344C 0028038C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80283450 00280390 7C 08 02 A6 */ mflr r0 -/* 80283454 00280394 90 01 00 44 */ stw r0, 0x44(r1) -/* 80283458 00280398 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8028345C 0028039C 7C 7F 1B 78 */ mr r31, r3 -/* 80283460 002803A0 D8 21 00 08 */ stfd f1, 8(r1) -/* 80283464 002803A4 80 A3 00 40 */ lwz r5, 0x40(r3) -/* 80283468 002803A8 38 7F 00 08 */ addi r3, r31, 8 -/* 8028346C 002803AC C0 45 00 00 */ lfs f2, 0(r5) -/* 80283470 002803B0 80 9F 00 44 */ lwz r4, 0x44(r31) -/* 80283474 002803B4 38 84 FF FF */ addi r4, r4, -1 -/* 80283478 002803B8 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 8028347C 002803BC 7C 04 01 D6 */ mullw r0, r4, r0 -/* 80283480 002803C0 54 00 10 3A */ slwi r0, r0, 2 -/* 80283484 002803C4 7C 65 04 2E */ lfsx f3, r5, r0 -/* 80283488 002803C8 4B FF E5 81 */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_getParameter -/* 8028348C 002803CC D8 21 00 08 */ stfd f1, 8(r1) -/* 80283490 002803D0 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 80283494 002803D4 80 1F 00 60 */ lwz r0, 0x60(r31) -/* 80283498 002803D8 90 61 00 10 */ stw r3, 0x10(r1) -/* 8028349C 002803DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802834A0 002803E0 80 7F 00 54 */ lwz r3, 0x54(r31) -/* 802834A4 002803E4 80 1F 00 58 */ lwz r0, 0x58(r31) -/* 802834A8 002803E8 90 61 00 18 */ stw r3, 0x18(r1) -/* 802834AC 002803EC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802834B0 002803F0 80 7F 00 4C */ lwz r3, 0x4c(r31) -/* 802834B4 002803F4 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 802834B8 002803F8 90 61 00 20 */ stw r3, 0x20(r1) -/* 802834BC 002803FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802834C0 00280400 38 61 00 28 */ addi r3, r1, 0x28 -/* 802834C4 00280404 38 81 00 20 */ addi r4, r1, 0x20 -/* 802834C8 00280408 38 A1 00 18 */ addi r5, r1, 0x18 -/* 802834CC 0028040C 38 C1 00 10 */ addi r6, r1, 0x10 -/* 802834D0 00280410 38 E1 00 08 */ addi r7, r1, 8 -/* 802834D4 00280414 48 00 03 85 */ bl JGadget_NS_findUpperBound_binary_current_X2_ -/* 802834D8 00280418 80 01 00 28 */ lwz r0, 0x28(r1) -/* 802834DC 0028041C 90 1F 00 5C */ stw r0, 0x5c(r31) -/* 802834E0 00280420 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 802834E4 00280424 90 1F 00 60 */ stw r0, 0x60(r31) -/* 802834E8 00280428 80 9F 00 5C */ lwz r4, 0x5c(r31) -/* 802834EC 0028042C 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 802834F0 00280430 7C 04 00 40 */ cmplw r4, r0 -/* 802834F4 00280434 40 82 00 0C */ bne lbl_80283500 -/* 802834F8 00280438 C0 24 00 04 */ lfs f1, 4(r4) -/* 802834FC 0028043C 48 00 00 60 */ b lbl_8028355C -lbl_80283500: -/* 80283500 00280440 80 1F 00 54 */ lwz r0, 0x54(r31) -/* 80283504 00280444 7C 04 00 40 */ cmplw r4, r0 -/* 80283508 00280448 40 82 00 24 */ bne lbl_8028352C -/* 8028350C 0028044C 80 1F 00 60 */ lwz r0, 0x60(r31) -/* 80283510 00280450 54 03 10 3A */ slwi r3, r0, 2 -/* 80283514 00280454 80 1F 00 5C */ lwz r0, 0x5c(r31) -/* 80283518 00280458 7C 03 00 50 */ subf r0, r3, r0 -/* 8028351C 0028045C 90 1F 00 5C */ stw r0, 0x5c(r31) -/* 80283520 00280460 80 7F 00 5C */ lwz r3, 0x5c(r31) -/* 80283524 00280464 C0 23 00 04 */ lfs f1, 4(r3) -/* 80283528 00280468 48 00 00 34 */ b lbl_8028355C -lbl_8028352C: -/* 8028352C 0028046C 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 80283530 00280470 54 00 10 3A */ slwi r0, r0, 2 -/* 80283534 00280474 7C 60 20 50 */ subf r3, r0, r4 -/* 80283538 00280478 C8 21 00 08 */ lfd f1, 8(r1) -/* 8028353C 0028047C C0 43 00 00 */ lfs f2, 0(r3) -/* 80283540 00280480 C0 63 00 04 */ lfs f3, 4(r3) -/* 80283544 00280484 7C 63 02 14 */ add r3, r3, r0 -/* 80283548 00280488 C0 83 FF FC */ lfs f4, -4(r3) -/* 8028354C 0028048C C0 A4 00 00 */ lfs f5, 0(r4) -/* 80283550 00280490 C0 C4 00 04 */ lfs f6, 4(r4) -/* 80283554 00280494 C0 E4 00 08 */ lfs f7, 8(r4) -/* 80283558 00280498 4B FF E1 B9 */ bl JStudio_NS_functionvalue_NS_interpolateValue_hermite -lbl_8028355C: -/* 8028355C 0028049C 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 80283560 002804A0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80283564 002804A4 7C 08 03 A6 */ mtlr r0 -/* 80283568 002804A8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8028356C 002804AC 4E 80 00 20 */ blr -/* 80283570 002804B0 4E 80 00 20 */ blr -/* 80283574 002804B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80283578 002804B8 7C 08 02 A6 */ mflr r0 -/* 8028357C 002804BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80283580 002804C0 DB E1 00 08 */ stfd f31, 8(r1) -/* 80283584 002804C4 FF E0 10 90 */ fmr f31, f2 -/* 80283588 002804C8 48 0E 91 D9 */ bl func_8036C760 -/* 8028358C 002804CC C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 80283590 002804D0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80283594 002804D4 40 80 00 08 */ bge lbl_8028359C -/* 80283598 002804D8 FC 21 F8 2A */ fadd f1, f1, f31 -lbl_8028359C: -/* 8028359C 002804DC CB E1 00 08 */ lfd f31, 8(r1) -/* 802835A0 002804E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802835A4 002804E4 7C 08 03 A6 */ mtlr r0 -/* 802835A8 002804E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802835AC 002804EC 4E 80 00 20 */ blr -/* 802835B0 002804F0 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) -/* 802835B4 002804F4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802835B8 002804F8 4C 40 13 82 */ cror 2, 0, 2 -/* 802835BC 002804FC 40 82 00 0C */ bne lbl_802835C8 -/* 802835C0 00280500 FC 20 00 90 */ fmr f1, f0 -/* 802835C4 00280504 4E 80 00 20 */ blr -lbl_802835C8: -/* 802835C8 00280508 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 802835CC 0028050C 4C 40 13 82 */ cror 2, 0, 2 -/* 802835D0 00280510 4C 82 00 20 */ bnelr -/* 802835D4 00280514 FC 20 10 90 */ fmr f1, f2 -/* 802835D8 00280518 4E 80 00 20 */ blr - .global JGadget_NS_findUpperBound_binary_current JGadget_NS_findUpperBound_binary_current: /* 802835DC 0028051C 94 21 FF D0 */ stwu r1, -0x30(r1) @@ -2691,7 +430,7 @@ lbl_80283BA0: /* 80283BE8 00280B28 38 04 48 E0 */ addi r0, r4, lbl_803C48E0@l /* 80283BEC 00280B2C 90 1E 00 00 */ stw r0, 0(r30) /* 80283BF0 00280B30 38 80 00 00 */ li r4, 0 -/* 80283BF4 00280B34 4B FF DA AD */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80283BF4 00280B34 4B FF DA AD */ bl __dt__Q27JStudio14TFunctionValueFv /* 80283BF8 00280B38 7F E0 07 35 */ extsh. r0, r31 /* 80283BFC 00280B3C 40 81 00 0C */ ble lbl_80283C08 /* 80283C00 00280B40 7F C3 F3 78 */ mr r3, r30 @@ -2716,7 +455,7 @@ lbl_80283C08: /* 80283C48 00280B88 38 04 49 00 */ addi r0, r4, lbl_803C4900@l /* 80283C4C 00280B8C 90 1E 00 00 */ stw r0, 0(r30) /* 80283C50 00280B90 38 80 00 00 */ li r4, 0 -/* 80283C54 00280B94 4B FF DA 4D */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80283C54 00280B94 4B FF DA 4D */ bl __dt__Q27JStudio14TFunctionValueFv /* 80283C58 00280B98 7F E0 07 35 */ extsh. r0, r31 /* 80283C5C 00280B9C 40 81 00 0C */ ble lbl_80283C68 /* 80283C60 00280BA0 7F C3 F3 78 */ mr r3, r30 @@ -2741,7 +480,7 @@ lbl_80283C68: /* 80283CA8 00280BE8 38 04 49 20 */ addi r0, r4, lbl_803C4920@l /* 80283CAC 00280BEC 90 1E 00 00 */ stw r0, 0(r30) /* 80283CB0 00280BF0 38 80 00 00 */ li r4, 0 -/* 80283CB4 00280BF4 4B FF D9 ED */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80283CB4 00280BF4 4B FF D9 ED */ bl __dt__Q27JStudio14TFunctionValueFv /* 80283CB8 00280BF8 7F E0 07 35 */ extsh. r0, r31 /* 80283CBC 00280BFC 40 81 00 0C */ ble lbl_80283CC8 /* 80283CC0 00280C00 7F C3 F3 78 */ mr r3, r30 @@ -2766,7 +505,7 @@ lbl_80283CC8: /* 80283D08 00280C48 38 04 49 40 */ addi r0, r4, lbl_803C4940@l /* 80283D0C 00280C4C 90 1E 00 00 */ stw r0, 0(r30) /* 80283D10 00280C50 38 80 00 00 */ li r4, 0 -/* 80283D14 00280C54 4B FF D9 8D */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80283D14 00280C54 4B FF D9 8D */ bl __dt__Q27JStudio14TFunctionValueFv /* 80283D18 00280C58 7F E0 07 35 */ extsh. r0, r31 /* 80283D1C 00280C5C 40 81 00 0C */ ble lbl_80283D28 /* 80283D20 00280C60 7F C3 F3 78 */ mr r3, r30 @@ -2791,7 +530,7 @@ lbl_80283D28: /* 80283D68 00280CA8 38 04 49 60 */ addi r0, r4, lbl_803C4960@l /* 80283D6C 00280CAC 90 1E 00 00 */ stw r0, 0(r30) /* 80283D70 00280CB0 38 80 00 00 */ li r4, 0 -/* 80283D74 00280CB4 4B FF D9 2D */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80283D74 00280CB4 4B FF D9 2D */ bl __dt__Q27JStudio14TFunctionValueFv /* 80283D78 00280CB8 7F E0 07 35 */ extsh. r0, r31 /* 80283D7C 00280CBC 40 81 00 0C */ ble lbl_80283D88 /* 80283D80 00280CC0 7F C3 F3 78 */ mr r3, r30 @@ -2825,7 +564,7 @@ lbl_80283D88: lbl_80283DEC: /* 80283DEC 00280D2C 7F C3 F3 78 */ mr r3, r30 /* 80283DF0 00280D30 38 80 00 00 */ li r4, 0 -/* 80283DF4 00280D34 4B FF D8 AD */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80283DF4 00280D34 4B FF D8 AD */ bl __dt__Q27JStudio14TFunctionValueFv /* 80283DF8 00280D38 7F E0 07 35 */ extsh. r0, r31 /* 80283DFC 00280D3C 40 81 00 0C */ ble lbl_80283E08 /* 80283E00 00280D40 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JStudio/fvb.s b/asm/JStudio/fvb.s index d13ae64696..e750c84a8d 100644 --- a/asm/JStudio/fvb.s +++ b/asm/JStudio/fvb.s @@ -3,540 +3,8 @@ .section .text, "ax" # 80283f80 -.global JStudio_NS_fvb_NS_TObject_NS_dtor -JStudio_NS_fvb_NS_TObject_NS_dtor: -/* 80283F80 00280EC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80283F84 00280EC4 7C 08 02 A6 */ mflr r0 -/* 80283F88 00280EC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80283F8C 00280ECC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80283F90 00280ED0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80283F94 00280ED4 41 82 00 1C */ beq lbl_80283FB0 -/* 80283F98 00280ED8 3C A0 80 3C */ lis r5, lbl_803C4AB0@ha -/* 80283F9C 00280EDC 38 05 4A B0 */ addi r0, r5, lbl_803C4AB0@l -/* 80283FA0 00280EE0 90 1F 00 08 */ stw r0, 8(r31) -/* 80283FA4 00280EE4 7C 80 07 35 */ extsh. r0, r4 -/* 80283FA8 00280EE8 40 81 00 08 */ ble lbl_80283FB0 -/* 80283FAC 00280EEC 48 04 AD 91 */ bl __dl__FPv -lbl_80283FB0: -/* 80283FB0 00280EF0 7F E3 FB 78 */ mr r3, r31 -/* 80283FB4 00280EF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80283FB8 00280EF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80283FBC 00280EFC 7C 08 03 A6 */ mtlr r0 -/* 80283FC0 00280F00 38 21 00 10 */ addi r1, r1, 0x10 -/* 80283FC4 00280F04 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_NS_prepare -JStudio_NS_fvb_NS_TObject_NS_prepare: -/* 80283FC8 00280F08 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80283FCC 00280F0C 7C 08 02 A6 */ mflr r0 -/* 80283FD0 00280F10 90 01 00 64 */ stw r0, 0x64(r1) -/* 80283FD4 00280F14 39 61 00 60 */ addi r11, r1, 0x60 -/* 80283FD8 00280F18 48 0D E1 ED */ bl _savegpr_23 -/* 80283FDC 00280F1C 7C 7A 1B 78 */ mr r26, r3 -/* 80283FE0 00280F20 7C 97 23 78 */ mr r23, r4 -/* 80283FE4 00280F24 7C BB 2B 78 */ mr r27, r5 -/* 80283FE8 00280F28 38 61 00 14 */ addi r3, r1, 0x14 -/* 80283FEC 00280F2C 80 9A 00 14 */ lwz r4, 0x14(r26) -/* 80283FF0 00280F30 81 84 00 00 */ lwz r12, 0(r4) -/* 80283FF4 00280F34 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80283FF8 00280F38 7D 89 03 A6 */ mtctr r12 -/* 80283FFC 00280F3C 4E 80 04 21 */ bctrl -/* 80284000 00280F40 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 80284004 00280F44 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80284008 00280F48 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 8028400C 00280F4C 80 97 00 00 */ lwz r4, 0(r23) -/* 80284010 00280F50 80 04 00 00 */ lwz r0, 0(r4) -/* 80284014 00280F54 7F 84 02 14 */ add r28, r4, r0 -/* 80284018 00280F58 A0 64 00 06 */ lhz r3, 6(r4) -/* 8028401C 00280F5C 38 03 00 03 */ addi r0, r3, 3 -/* 80284020 00280F60 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 80284024 00280F64 7C 64 02 14 */ add r3, r4, r0 -/* 80284028 00280F68 38 63 00 08 */ addi r3, r3, 8 -/* 8028402C 00280F6C 48 00 01 8C */ b lbl_802841B8 -lbl_80284030: -/* 80284030 00280F70 90 61 00 10 */ stw r3, 0x10(r1) -/* 80284034 00280F74 38 61 00 10 */ addi r3, r1, 0x10 -/* 80284038 00280F78 38 81 00 20 */ addi r4, r1, 0x20 -/* 8028403C 00280F7C 48 00 10 71 */ bl JStudio_NS_fvb_NS_data_NS_TParse_TParagraph_NS_getData -/* 80284040 00280F80 80 81 00 28 */ lwz r4, 0x28(r1) -/* 80284044 00280F84 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80284048 00280F88 28 00 00 16 */ cmplwi r0, 0x16 -/* 8028404C 00280F8C 41 81 01 68 */ bgt lbl_802841B4 -/* 80284050 00280F90 3C 60 80 3C */ lis r3, lbl_803C49C0@ha -/* 80284054 00280F94 38 63 49 C0 */ addi r3, r3, lbl_803C49C0@l -/* 80284058 00280F98 54 00 10 3A */ slwi r0, r0, 2 -/* 8028405C 00280F9C 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80284060 00280FA0 7C 09 03 A6 */ mtctr r0 -/* 80284064 00280FA4 4E 80 04 20 */ bctr -/* 80284068 00280FA8 7F 43 D3 78 */ mr r3, r26 -/* 8028406C 00280FAC 38 81 00 20 */ addi r4, r1, 0x20 -/* 80284070 00280FB0 7F 65 DB 78 */ mr r5, r27 -/* 80284074 00280FB4 81 9A 00 08 */ lwz r12, 8(r26) -/* 80284078 00280FB8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8028407C 00280FBC 7D 89 03 A6 */ mtctr r12 -/* 80284080 00280FC0 4E 80 04 21 */ bctrl -/* 80284084 00280FC4 48 00 01 30 */ b lbl_802841B4 -/* 80284088 00280FC8 28 1F 00 00 */ cmplwi r31, 0 -/* 8028408C 00280FCC 41 82 01 28 */ beq lbl_802841B4 -/* 80284090 00280FD0 83 24 00 00 */ lwz r25, 0(r4) -/* 80284094 00280FD4 3B 04 00 04 */ addi r24, r4, 4 -/* 80284098 00280FD8 48 00 00 4C */ b lbl_802840E4 -lbl_8028409C: -/* 8028409C 00280FDC 82 F8 00 00 */ lwz r23, 0(r24) -/* 802840A0 00280FE0 7F 63 DB 78 */ mr r3, r27 -/* 802840A4 00280FE4 38 98 00 04 */ addi r4, r24, 4 -/* 802840A8 00280FE8 7E E5 BB 78 */ mr r5, r23 -/* 802840AC 00280FEC 48 00 07 89 */ bl JStudio_NS_fvb_NS_TControl_NS_getObject -/* 802840B0 00280FF0 28 03 00 00 */ cmplwi r3, 0 -/* 802840B4 00280FF4 41 82 00 1C */ beq lbl_802840D0 -/* 802840B8 00280FF8 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802840BC 00280FFC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802840C0 00281000 7F E3 FB 78 */ mr r3, r31 -/* 802840C4 00281004 80 9F 00 08 */ lwz r4, 8(r31) -/* 802840C8 00281008 38 A1 00 0C */ addi r5, r1, 0xc -/* 802840CC 0028100C 48 05 8C D9 */ bl JGadget_NS_TVector_pointer_void_NS_insert -lbl_802840D0: -/* 802840D0 00281010 38 17 00 03 */ addi r0, r23, 3 -/* 802840D4 00281014 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d -/* 802840D8 00281018 7F 00 C2 14 */ add r24, r0, r24 -/* 802840DC 0028101C 3B 18 00 04 */ addi r24, r24, 4 -/* 802840E0 00281020 3B 39 FF FF */ addi r25, r25, -1 -lbl_802840E4: -/* 802840E4 00281024 28 19 00 00 */ cmplwi r25, 0 -/* 802840E8 00281028 40 82 FF B4 */ bne lbl_8028409C -/* 802840EC 0028102C 48 00 00 C8 */ b lbl_802841B4 -/* 802840F0 00281030 28 1F 00 00 */ cmplwi r31, 0 -/* 802840F4 00281034 41 82 00 C0 */ beq lbl_802841B4 -/* 802840F8 00281038 7C 97 23 78 */ mr r23, r4 -/* 802840FC 0028103C 83 04 00 00 */ lwz r24, 0(r4) -/* 80284100 00281040 48 00 00 34 */ b lbl_80284134 -lbl_80284104: -/* 80284104 00281044 7F 63 DB 78 */ mr r3, r27 -/* 80284108 00281048 80 97 00 00 */ lwz r4, 0(r23) -/* 8028410C 0028104C 48 00 07 C9 */ bl JStudio_NS_fvb_NS_TControl_NS_getObject_index -/* 80284110 00281050 28 03 00 00 */ cmplwi r3, 0 -/* 80284114 00281054 41 82 00 1C */ beq lbl_80284130 -/* 80284118 00281058 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8028411C 0028105C 90 01 00 08 */ stw r0, 8(r1) -/* 80284120 00281060 7F E3 FB 78 */ mr r3, r31 -/* 80284124 00281064 80 9F 00 08 */ lwz r4, 8(r31) -/* 80284128 00281068 38 A1 00 08 */ addi r5, r1, 8 -/* 8028412C 0028106C 48 05 8C 79 */ bl JGadget_NS_TVector_pointer_void_NS_insert -lbl_80284130: -/* 80284130 00281070 3B 18 FF FF */ addi r24, r24, -1 -lbl_80284134: -/* 80284134 00281074 28 18 00 00 */ cmplwi r24, 0 -/* 80284138 00281078 3A F7 00 04 */ addi r23, r23, 4 -/* 8028413C 0028107C 40 82 FF C8 */ bne lbl_80284104 -/* 80284140 00281080 48 00 00 74 */ b lbl_802841B4 -/* 80284144 00281084 28 1E 00 00 */ cmplwi r30, 0 -/* 80284148 00281088 41 82 00 6C */ beq lbl_802841B4 -/* 8028414C 0028108C 7F C3 F3 78 */ mr r3, r30 -/* 80284150 00281090 C0 24 00 00 */ lfs f1, 0(r4) -/* 80284154 00281094 C0 44 00 04 */ lfs f2, 4(r4) -/* 80284158 00281098 4B FF D8 9D */ bl JStudio_NS_TFunctionValueAttribute_range_NS_range_set -/* 8028415C 0028109C 48 00 00 58 */ b lbl_802841B4 -/* 80284160 002810A0 28 1E 00 00 */ cmplwi r30, 0 -/* 80284164 002810A4 41 82 00 50 */ beq lbl_802841B4 -/* 80284168 002810A8 80 04 00 00 */ lwz r0, 0(r4) -/* 8028416C 002810AC 98 1E 00 18 */ stb r0, 0x18(r30) -/* 80284170 002810B0 48 00 00 44 */ b lbl_802841B4 -/* 80284174 002810B4 28 1E 00 00 */ cmplwi r30, 0 -/* 80284178 002810B8 41 82 00 3C */ beq lbl_802841B4 -/* 8028417C 002810BC 80 04 00 00 */ lwz r0, 0(r4) -/* 80284180 002810C0 98 1E 00 19 */ stb r0, 0x19(r30) -/* 80284184 002810C4 48 00 00 30 */ b lbl_802841B4 -/* 80284188 002810C8 28 1E 00 00 */ cmplwi r30, 0 -/* 8028418C 002810CC 41 82 00 28 */ beq lbl_802841B4 -/* 80284190 002810D0 A0 64 00 02 */ lhz r3, 2(r4) -/* 80284194 002810D4 A0 04 00 00 */ lhz r0, 0(r4) -/* 80284198 002810D8 90 1E 00 30 */ stw r0, 0x30(r30) -/* 8028419C 002810DC 90 7E 00 34 */ stw r3, 0x34(r30) -/* 802841A0 002810E0 48 00 00 14 */ b lbl_802841B4 -/* 802841A4 002810E4 28 1D 00 00 */ cmplwi r29, 0 -/* 802841A8 002810E8 41 82 00 0C */ beq lbl_802841B4 -/* 802841AC 002810EC 80 04 00 00 */ lwz r0, 0(r4) -/* 802841B0 002810F0 90 1D 00 00 */ stw r0, 0(r29) -lbl_802841B4: -/* 802841B4 002810F4 80 61 00 2C */ lwz r3, 0x2c(r1) -lbl_802841B8: -/* 802841B8 002810F8 7C 03 E0 40 */ cmplw r3, r28 -/* 802841BC 002810FC 41 80 FE 74 */ blt lbl_80284030 -/* 802841C0 00281100 80 7A 00 14 */ lwz r3, 0x14(r26) -/* 802841C4 00281104 81 83 00 00 */ lwz r12, 0(r3) -/* 802841C8 00281108 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802841CC 0028110C 7D 89 03 A6 */ mtctr r12 -/* 802841D0 00281110 4E 80 04 21 */ bctrl -/* 802841D4 00281114 39 61 00 60 */ addi r11, r1, 0x60 -/* 802841D8 00281118 48 0D E0 39 */ bl _restgpr_23 -/* 802841DC 0028111C 80 01 00 64 */ lwz r0, 0x64(r1) -/* 802841E0 00281120 7C 08 03 A6 */ mtlr r0 -/* 802841E4 00281124 38 21 00 60 */ addi r1, r1, 0x60 -/* 802841E8 00281128 4E 80 00 20 */ blr -/* 802841EC 0028112C 80 04 00 00 */ lwz r0, 0(r4) -/* 802841F0 00281130 90 03 00 00 */ stw r0, 0(r3) -/* 802841F4 00281134 4E 80 00 20 */ blr -/* 802841F8 00281138 80 04 00 00 */ lwz r0, 0(r4) -/* 802841FC 0028113C 90 03 00 00 */ stw r0, 0(r3) -/* 80284200 00281140 4E 80 00 20 */ blr -/* 80284204 00281144 C0 04 00 00 */ lfs f0, 0(r4) -/* 80284208 00281148 D8 03 00 00 */ stfd f0, 0(r3) -/* 8028420C 0028114C 4E 80 00 20 */ blr -/* 80284210 00281150 C0 04 00 00 */ lfs f0, 0(r4) -/* 80284214 00281154 D8 03 00 00 */ stfd f0, 0(r3) -/* 80284218 00281158 4E 80 00 20 */ blr -/* 8028421C 0028115C C0 04 00 00 */ lfs f0, 0(r4) -/* 80284220 00281160 D8 03 00 00 */ stfd f0, 0(r3) -/* 80284224 00281164 4E 80 00 20 */ blr -/* 80284228 00281168 C0 04 00 00 */ lfs f0, 0(r4) -/* 8028422C 0028116C D8 03 00 00 */ stfd f0, 0(r3) -/* 80284230 00281170 4E 80 00 20 */ blr -/* 80284234 00281174 C0 04 00 00 */ lfs f0, 0(r4) -/* 80284238 00281178 D8 03 00 00 */ stfd f0, 0(r3) -/* 8028423C 0028117C 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS__unnamed_fvb_cpp__NS_getCompositeOperation_ -JStudio_NS_fvb_NS__unnamed_fvb_cpp__NS_getCompositeOperation_: -/* 80284240 00281180 54 64 18 38 */ slwi r4, r3, 3 -/* 80284244 00281184 3C 60 80 3A */ lis r3, lbl_8039AA00@ha -/* 80284248 00281188 38 03 AA 00 */ addi r0, r3, lbl_8039AA00@l -/* 8028424C 0028118C 7C 60 22 14 */ add r3, r0, r4 -/* 80284250 00281190 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_composite -JStudio_NS_fvb_NS_TObject_composite: -/* 80284254 00281194 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80284258 00281198 7C 08 02 A6 */ mflr r0 -/* 8028425C 0028119C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80284260 002811A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80284264 002811A4 7C 7F 1B 78 */ mr r31, r3 -/* 80284268 002811A8 7F E5 FB 78 */ mr r5, r31 -/* 8028426C 002811AC 80 84 00 00 */ lwz r4, 0(r4) -/* 80284270 002811B0 A0 04 00 06 */ lhz r0, 6(r4) -/* 80284274 002811B4 38 60 00 00 */ li r3, 0 -/* 80284278 002811B8 28 00 00 00 */ cmplwi r0, 0 -/* 8028427C 002811BC 41 82 00 08 */ beq lbl_80284284 -/* 80284280 002811C0 38 64 00 08 */ addi r3, r4, 8 -lbl_80284284: -/* 80284284 002811C4 90 65 00 00 */ stw r3, 0(r5) -/* 80284288 002811C8 90 05 00 04 */ stw r0, 4(r5) -/* 8028428C 002811CC 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha -/* 80284290 002811D0 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l -/* 80284294 002811D4 90 05 00 08 */ stw r0, 8(r5) -/* 80284298 002811D8 38 00 00 00 */ li r0, 0 -/* 8028429C 002811DC 90 05 00 0C */ stw r0, 0xc(r5) -/* 802842A0 002811E0 90 05 00 10 */ stw r0, 0x10(r5) -/* 802842A4 002811E4 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802842A8 002811E8 90 65 00 14 */ stw r3, 0x14(r5) -/* 802842AC 002811EC 3C 80 80 3C */ lis r4, lbl_803C4AA0@ha -/* 802842B0 002811F0 38 04 4A A0 */ addi r0, r4, lbl_803C4AA0@l -/* 802842B4 002811F4 90 1F 00 08 */ stw r0, 8(r31) -/* 802842B8 002811F8 4B FF DA A5 */ bl JStudio_NS_TFunctionValue_composite -/* 802842BC 002811FC 7F E3 FB 78 */ mr r3, r31 -/* 802842C0 00281200 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802842C4 00281204 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802842C8 00281208 7C 08 03 A6 */ mtlr r0 -/* 802842CC 0028120C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802842D0 00281210 4E 80 00 20 */ blr -/* 802842D4 00281214 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802842D8 00281218 7C 08 02 A6 */ mflr r0 -/* 802842DC 0028121C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802842E0 00281220 39 61 00 20 */ addi r11, r1, 0x20 -/* 802842E4 00281224 48 0D DE F9 */ bl _savegpr_29 -/* 802842E8 00281228 7C 7D 1B 78 */ mr r29, r3 -/* 802842EC 0028122C 83 C4 00 08 */ lwz r30, 8(r4) -/* 802842F0 00281230 80 7E 00 00 */ lwz r3, 0(r30) -/* 802842F4 00281234 4B FF FF 4D */ bl JStudio_NS_fvb_NS__unnamed_fvb_cpp__NS_getCompositeOperation_ -/* 802842F8 00281238 7C 7F 1B 78 */ mr r31, r3 -/* 802842FC 0028123C 38 61 00 08 */ addi r3, r1, 8 -/* 80284300 00281240 38 9E 00 04 */ addi r4, r30, 4 -/* 80284304 00281244 81 9F 00 04 */ lwz r12, 4(r31) -/* 80284308 00281248 7D 89 03 A6 */ mtctr r12 -/* 8028430C 0028124C 4E 80 04 21 */ bctrl -/* 80284310 00281250 80 1F 00 00 */ lwz r0, 0(r31) -/* 80284314 00281254 90 1D 00 30 */ stw r0, 0x30(r29) -/* 80284318 00281258 C8 01 00 08 */ lfd f0, 8(r1) -/* 8028431C 0028125C D8 1D 00 38 */ stfd f0, 0x38(r29) -/* 80284320 00281260 39 61 00 20 */ addi r11, r1, 0x20 -/* 80284324 00281264 48 0D DF 05 */ bl _restgpr_29 -/* 80284328 00281268 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8028432C 0028126C 7C 08 03 A6 */ mtlr r0 -/* 80284330 00281270 38 21 00 20 */ addi r1, r1, 0x20 -/* 80284334 00281274 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_constant -JStudio_NS_fvb_NS_TObject_constant: -/* 80284338 00281278 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028433C 0028127C 7C 08 02 A6 */ mflr r0 -/* 80284340 00281280 90 01 00 14 */ stw r0, 0x14(r1) -/* 80284344 00281284 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80284348 00281288 7C 7F 1B 78 */ mr r31, r3 -/* 8028434C 0028128C 7F E5 FB 78 */ mr r5, r31 -/* 80284350 00281290 80 84 00 00 */ lwz r4, 0(r4) -/* 80284354 00281294 A0 04 00 06 */ lhz r0, 6(r4) -/* 80284358 00281298 38 60 00 00 */ li r3, 0 -/* 8028435C 0028129C 28 00 00 00 */ cmplwi r0, 0 -/* 80284360 002812A0 41 82 00 08 */ beq lbl_80284368 -/* 80284364 002812A4 38 64 00 08 */ addi r3, r4, 8 -lbl_80284368: -/* 80284368 002812A8 90 65 00 00 */ stw r3, 0(r5) -/* 8028436C 002812AC 90 05 00 04 */ stw r0, 4(r5) -/* 80284370 002812B0 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha -/* 80284374 002812B4 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l -/* 80284378 002812B8 90 05 00 08 */ stw r0, 8(r5) -/* 8028437C 002812BC 38 00 00 00 */ li r0, 0 -/* 80284380 002812C0 90 05 00 0C */ stw r0, 0xc(r5) -/* 80284384 002812C4 90 05 00 10 */ stw r0, 0x10(r5) -/* 80284388 002812C8 38 7F 00 18 */ addi r3, r31, 0x18 -/* 8028438C 002812CC 90 65 00 14 */ stw r3, 0x14(r5) -/* 80284390 002812D0 3C 80 80 3C */ lis r4, lbl_803C4A90@ha -/* 80284394 002812D4 38 04 4A 90 */ addi r0, r4, lbl_803C4A90@l -/* 80284398 002812D8 90 1F 00 08 */ stw r0, 8(r31) -/* 8028439C 002812DC 4B FF DF D1 */ bl JStudio_NS_TFunctionValue_constant -/* 802843A0 002812E0 7F E3 FB 78 */ mr r3, r31 -/* 802843A4 002812E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802843A8 002812E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802843AC 002812EC 7C 08 03 A6 */ mtlr r0 -/* 802843B0 002812F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802843B4 002812F4 4E 80 00 20 */ blr -/* 802843B8 002812F8 80 84 00 08 */ lwz r4, 8(r4) -/* 802843BC 002812FC C0 04 00 00 */ lfs f0, 0(r4) -/* 802843C0 00281300 D8 03 00 20 */ stfd f0, 0x20(r3) -/* 802843C4 00281304 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_transition -JStudio_NS_fvb_NS_TObject_transition: -/* 802843C8 00281308 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802843CC 0028130C 7C 08 02 A6 */ mflr r0 -/* 802843D0 00281310 90 01 00 14 */ stw r0, 0x14(r1) -/* 802843D4 00281314 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802843D8 00281318 7C 7F 1B 78 */ mr r31, r3 -/* 802843DC 0028131C 7F E5 FB 78 */ mr r5, r31 -/* 802843E0 00281320 80 84 00 00 */ lwz r4, 0(r4) -/* 802843E4 00281324 A0 04 00 06 */ lhz r0, 6(r4) -/* 802843E8 00281328 38 60 00 00 */ li r3, 0 -/* 802843EC 0028132C 28 00 00 00 */ cmplwi r0, 0 -/* 802843F0 00281330 41 82 00 08 */ beq lbl_802843F8 -/* 802843F4 00281334 38 64 00 08 */ addi r3, r4, 8 -lbl_802843F8: -/* 802843F8 00281338 90 65 00 00 */ stw r3, 0(r5) -/* 802843FC 0028133C 90 05 00 04 */ stw r0, 4(r5) -/* 80284400 00281340 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha -/* 80284404 00281344 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l -/* 80284408 00281348 90 05 00 08 */ stw r0, 8(r5) -/* 8028440C 0028134C 38 00 00 00 */ li r0, 0 -/* 80284410 00281350 90 05 00 0C */ stw r0, 0xc(r5) -/* 80284414 00281354 90 05 00 10 */ stw r0, 0x10(r5) -/* 80284418 00281358 38 7F 00 18 */ addi r3, r31, 0x18 -/* 8028441C 0028135C 90 65 00 14 */ stw r3, 0x14(r5) -/* 80284420 00281360 3C 80 80 3C */ lis r4, lbl_803C4A80@ha -/* 80284424 00281364 38 04 4A 80 */ addi r0, r4, lbl_803C4A80@l -/* 80284428 00281368 90 1F 00 08 */ stw r0, 8(r31) -/* 8028442C 0028136C 4B FF DF C1 */ bl JStudio_NS_TFunctionValue_transition -/* 80284430 00281370 7F E3 FB 78 */ mr r3, r31 -/* 80284434 00281374 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80284438 00281378 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028443C 0028137C 7C 08 03 A6 */ mtlr r0 -/* 80284440 00281380 38 21 00 10 */ addi r1, r1, 0x10 -/* 80284444 00281384 4E 80 00 20 */ blr -/* 80284448 00281388 80 84 00 08 */ lwz r4, 8(r4) -/* 8028444C 0028138C C0 24 00 04 */ lfs f1, 4(r4) -/* 80284450 00281390 C0 04 00 00 */ lfs f0, 0(r4) -/* 80284454 00281394 D8 03 00 60 */ stfd f0, 0x60(r3) -/* 80284458 00281398 D8 23 00 68 */ stfd f1, 0x68(r3) -/* 8028445C 0028139C 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_list -JStudio_NS_fvb_NS_TObject_list: -/* 80284460 002813A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80284464 002813A4 7C 08 02 A6 */ mflr r0 -/* 80284468 002813A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028446C 002813AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80284470 002813B0 7C 7F 1B 78 */ mr r31, r3 -/* 80284474 002813B4 7F E5 FB 78 */ mr r5, r31 -/* 80284478 002813B8 80 84 00 00 */ lwz r4, 0(r4) -/* 8028447C 002813BC A0 04 00 06 */ lhz r0, 6(r4) -/* 80284480 002813C0 38 60 00 00 */ li r3, 0 -/* 80284484 002813C4 28 00 00 00 */ cmplwi r0, 0 -/* 80284488 002813C8 41 82 00 08 */ beq lbl_80284490 -/* 8028448C 002813CC 38 64 00 08 */ addi r3, r4, 8 -lbl_80284490: -/* 80284490 002813D0 90 65 00 00 */ stw r3, 0(r5) -/* 80284494 002813D4 90 05 00 04 */ stw r0, 4(r5) -/* 80284498 002813D8 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha -/* 8028449C 002813DC 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l -/* 802844A0 002813E0 90 05 00 08 */ stw r0, 8(r5) -/* 802844A4 002813E4 38 00 00 00 */ li r0, 0 -/* 802844A8 002813E8 90 05 00 0C */ stw r0, 0xc(r5) -/* 802844AC 002813EC 90 05 00 10 */ stw r0, 0x10(r5) -/* 802844B0 002813F0 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802844B4 002813F4 90 65 00 14 */ stw r3, 0x14(r5) -/* 802844B8 002813F8 3C 80 80 3C */ lis r4, lbl_803C4A70@ha -/* 802844BC 002813FC 38 04 4A 70 */ addi r0, r4, lbl_803C4A70@l -/* 802844C0 00281400 90 1F 00 08 */ stw r0, 8(r31) -/* 802844C4 00281404 4B FF E1 F9 */ bl JStudio_NS_TFunctionValue_list -/* 802844C8 00281408 7F E3 FB 78 */ mr r3, r31 -/* 802844CC 0028140C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802844D0 00281410 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802844D4 00281414 7C 08 03 A6 */ mtlr r0 -/* 802844D8 00281418 38 21 00 10 */ addi r1, r1, 0x10 -/* 802844DC 0028141C 4E 80 00 20 */ blr -/* 802844E0 00281420 80 A4 00 08 */ lwz r5, 8(r4) -/* 802844E4 00281424 C0 05 00 00 */ lfs f0, 0(r5) -/* 802844E8 00281428 D8 03 00 68 */ stfd f0, 0x68(r3) -/* 802844EC 0028142C 80 85 00 04 */ lwz r4, 4(r5) -/* 802844F0 00281430 38 05 00 08 */ addi r0, r5, 8 -/* 802844F4 00281434 90 03 00 5C */ stw r0, 0x5c(r3) -/* 802844F8 00281438 90 83 00 60 */ stw r4, 0x60(r3) -/* 802844FC 0028143C 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_list_parameter -JStudio_NS_fvb_NS_TObject_list_parameter: -/* 80284500 00281440 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80284504 00281444 7C 08 02 A6 */ mflr r0 -/* 80284508 00281448 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028450C 0028144C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80284510 00281450 7C 7F 1B 78 */ mr r31, r3 -/* 80284514 00281454 7F E5 FB 78 */ mr r5, r31 -/* 80284518 00281458 80 84 00 00 */ lwz r4, 0(r4) -/* 8028451C 0028145C A0 04 00 06 */ lhz r0, 6(r4) -/* 80284520 00281460 38 60 00 00 */ li r3, 0 -/* 80284524 00281464 28 00 00 00 */ cmplwi r0, 0 -/* 80284528 00281468 41 82 00 08 */ beq lbl_80284530 -/* 8028452C 0028146C 38 64 00 08 */ addi r3, r4, 8 -lbl_80284530: -/* 80284530 00281470 90 65 00 00 */ stw r3, 0(r5) -/* 80284534 00281474 90 05 00 04 */ stw r0, 4(r5) -/* 80284538 00281478 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha -/* 8028453C 0028147C 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l -/* 80284540 00281480 90 05 00 08 */ stw r0, 8(r5) -/* 80284544 00281484 38 00 00 00 */ li r0, 0 -/* 80284548 00281488 90 05 00 0C */ stw r0, 0xc(r5) -/* 8028454C 0028148C 90 05 00 10 */ stw r0, 0x10(r5) -/* 80284550 00281490 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80284554 00281494 90 65 00 14 */ stw r3, 0x14(r5) -/* 80284558 00281498 3C 80 80 3C */ lis r4, lbl_803C4A60@ha -/* 8028455C 0028149C 38 04 4A 60 */ addi r0, r4, lbl_803C4A60@l -/* 80284560 002814A0 90 1F 00 08 */ stw r0, 8(r31) -/* 80284564 002814A4 4B FF E7 D1 */ bl JStudio_NS_TFunctionValue_list_parameter -/* 80284568 002814A8 7F E3 FB 78 */ mr r3, r31 -/* 8028456C 002814AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80284570 002814B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80284574 002814B4 7C 08 03 A6 */ mtlr r0 -/* 80284578 002814B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028457C 002814BC 4E 80 00 20 */ blr -/* 80284580 002814C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80284584 002814C4 7C 08 02 A6 */ mflr r0 -/* 80284588 002814C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028458C 002814CC 80 A4 00 08 */ lwz r5, 8(r4) -/* 80284590 002814D0 38 85 00 04 */ addi r4, r5, 4 -/* 80284594 002814D4 80 A5 00 00 */ lwz r5, 0(r5) -/* 80284598 002814D8 38 63 00 18 */ addi r3, r3, 0x18 -/* 8028459C 002814DC 4B FF E8 3D */ bl JStudio_NS_TFunctionValue_list_parameter_NS_data_set -/* 802845A0 002814E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802845A4 002814E4 7C 08 03 A6 */ mtlr r0 -/* 802845A8 002814E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802845AC 002814EC 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TObject_hermite -JStudio_NS_fvb_NS_TObject_hermite: -/* 802845B0 002814F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802845B4 002814F4 7C 08 02 A6 */ mflr r0 -/* 802845B8 002814F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802845BC 002814FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802845C0 00281500 7C 7F 1B 78 */ mr r31, r3 -/* 802845C4 00281504 7F E5 FB 78 */ mr r5, r31 -/* 802845C8 00281508 80 84 00 00 */ lwz r4, 0(r4) -/* 802845CC 0028150C A0 04 00 06 */ lhz r0, 6(r4) -/* 802845D0 00281510 38 60 00 00 */ li r3, 0 -/* 802845D4 00281514 28 00 00 00 */ cmplwi r0, 0 -/* 802845D8 00281518 41 82 00 08 */ beq lbl_802845E0 -/* 802845DC 0028151C 38 64 00 08 */ addi r3, r4, 8 -lbl_802845E0: -/* 802845E0 00281520 90 65 00 00 */ stw r3, 0(r5) -/* 802845E4 00281524 90 05 00 04 */ stw r0, 4(r5) -/* 802845E8 00281528 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha -/* 802845EC 0028152C 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l -/* 802845F0 00281530 90 05 00 08 */ stw r0, 8(r5) -/* 802845F4 00281534 38 00 00 00 */ li r0, 0 -/* 802845F8 00281538 90 05 00 0C */ stw r0, 0xc(r5) -/* 802845FC 0028153C 90 05 00 10 */ stw r0, 0x10(r5) -/* 80284600 00281540 38 7F 00 18 */ addi r3, r31, 0x18 -/* 80284604 00281544 90 65 00 14 */ stw r3, 0x14(r5) -/* 80284608 00281548 3C 80 80 3C */ lis r4, lbl_803C4A50@ha -/* 8028460C 0028154C 38 04 4A 50 */ addi r0, r4, lbl_803C4A50@l -/* 80284610 00281550 90 1F 00 08 */ stw r0, 8(r31) -/* 80284614 00281554 4B FF EC B1 */ bl JStudio_NS_TFunctionValue_hermite -/* 80284618 00281558 7F E3 FB 78 */ mr r3, r31 -/* 8028461C 0028155C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80284620 00281560 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80284624 00281564 7C 08 03 A6 */ mtlr r0 -/* 80284628 00281568 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028462C 0028156C 4E 80 00 20 */ blr -/* 80284630 00281570 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80284634 00281574 7C 08 02 A6 */ mflr r0 -/* 80284638 00281578 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028463C 0028157C 80 84 00 08 */ lwz r4, 8(r4) -/* 80284640 00281580 80 04 00 00 */ lwz r0, 0(r4) -/* 80284644 00281584 38 84 00 04 */ addi r4, r4, 4 -/* 80284648 00281588 54 05 01 3E */ clrlwi r5, r0, 4 -/* 8028464C 0028158C 54 06 27 3E */ srwi r6, r0, 0x1c -/* 80284650 00281590 38 63 00 18 */ addi r3, r3, 0x18 -/* 80284654 00281594 4B FF ED 19 */ bl JStudio_NS_TFunctionValue_hermite_NS_data_set -/* 80284658 00281598 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028465C 0028159C 7C 08 03 A6 */ mtlr r0 -/* 80284660 002815A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80284664 002815A4 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TControl -JStudio_NS_fvb_NS_TControl: -/* 80284668 002815A8 3C 80 80 3C */ lis r4, lbl_803C4A44@ha -/* 8028466C 002815AC 38 04 4A 44 */ addi r0, r4, lbl_803C4A44@l -/* 80284670 002815B0 90 03 00 00 */ stw r0, 0(r3) -/* 80284674 002815B4 38 00 00 00 */ li r0, 0 -/* 80284678 002815B8 90 03 00 04 */ stw r0, 4(r3) -/* 8028467C 002815BC 90 03 00 0C */ stw r0, 0xc(r3) -/* 80284680 002815C0 90 03 00 10 */ stw r0, 0x10(r3) -/* 80284684 002815C4 90 03 00 08 */ stw r0, 8(r3) -/* 80284688 002815C8 38 03 00 0C */ addi r0, r3, 0xc -/* 8028468C 002815CC 90 03 00 0C */ stw r0, 0xc(r3) -/* 80284690 002815D0 90 03 00 10 */ stw r0, 0x10(r3) -/* 80284694 002815D4 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TControl_NS_dtor -JStudio_NS_fvb_NS_TControl_NS_dtor: -/* 80284698 002815D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028469C 002815DC 7C 08 02 A6 */ mflr r0 -/* 802846A0 002815E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802846A4 002815E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802846A8 002815E8 93 C1 00 08 */ stw r30, 8(r1) -/* 802846AC 002815EC 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802846B0 002815F0 7C 9F 23 78 */ mr r31, r4 -/* 802846B4 002815F4 41 82 00 34 */ beq lbl_802846E8 -/* 802846B8 002815F8 3C 60 80 3C */ lis r3, lbl_803C4A44@ha -/* 802846BC 002815FC 38 03 4A 44 */ addi r0, r3, lbl_803C4A44@l -/* 802846C0 00281600 90 1E 00 00 */ stw r0, 0(r30) -/* 802846C4 00281604 34 1E 00 08 */ addic. r0, r30, 8 -/* 802846C8 00281608 41 82 00 10 */ beq lbl_802846D8 -/* 802846CC 0028160C 38 7E 00 08 */ addi r3, r30, 8 -/* 802846D0 00281610 38 80 00 00 */ li r4, 0 -/* 802846D4 00281614 48 05 83 49 */ bl __dt__Q27JGadget13TNodeLinkListFv -lbl_802846D8: -/* 802846D8 00281618 7F E0 07 35 */ extsh. r0, r31 -/* 802846DC 0028161C 40 81 00 0C */ ble lbl_802846E8 -/* 802846E0 00281620 7F C3 F3 78 */ mr r3, r30 -/* 802846E4 00281624 48 04 A6 59 */ bl __dl__FPv -lbl_802846E8: -/* 802846E8 00281628 7F C3 F3 78 */ mr r3, r30 -/* 802846EC 0028162C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802846F0 00281630 83 C1 00 08 */ lwz r30, 8(r1) -/* 802846F4 00281634 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802846F8 00281638 7C 08 03 A6 */ mtlr r0 -/* 802846FC 0028163C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80284700 00281640 4E 80 00 20 */ blr - -.global JStudio_NS_fvb_NS_TControl_NS_appendObject -JStudio_NS_fvb_NS_TControl_NS_appendObject: +.global appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject +appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject: /* 80284704 00281644 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80284708 00281648 7C 08 02 A6 */ mflr r0 /* 8028470C 0028164C 90 01 00 24 */ stw r0, 0x24(r1) @@ -557,8 +25,8 @@ JStudio_NS_fvb_NS_TControl_NS_appendObject: /* 80284748 00281688 38 21 00 20 */ addi r1, r1, 0x20 /* 8028474C 0028168C 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TControl_NS_removeObject -JStudio_NS_fvb_NS_TControl_NS_removeObject: +.global removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject +removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject: /* 80284750 00281690 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284754 00281694 7C 08 02 A6 */ mflr r0 /* 80284758 00281698 90 01 00 14 */ stw r0, 0x14(r1) @@ -572,8 +40,8 @@ JStudio_NS_fvb_NS_TControl_NS_removeObject: /* 80284778 002816B8 38 21 00 10 */ addi r1, r1, 0x10 /* 8028477C 002816BC 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TControl_NS_destroyObject -JStudio_NS_fvb_NS_TControl_NS_destroyObject: +.global destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject +destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject: /* 80284780 002816C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284784 002816C4 7C 08 02 A6 */ mflr r0 /* 80284788 002816C8 90 01 00 14 */ stw r0, 0x14(r1) @@ -581,7 +49,7 @@ JStudio_NS_fvb_NS_TControl_NS_destroyObject: /* 80284790 002816D0 93 C1 00 08 */ stw r30, 8(r1) /* 80284794 002816D4 7C 7E 1B 78 */ mr r30, r3 /* 80284798 002816D8 7C 9F 23 78 */ mr r31, r4 -/* 8028479C 002816DC 4B FF FF B5 */ bl JStudio_NS_fvb_NS_TControl_NS_removeObject +/* 8028479C 002816DC 4B FF FF B5 */ bl removeObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject /* 802847A0 002816E0 80 7E 00 04 */ lwz r3, 4(r30) /* 802847A4 002816E4 7F E4 FB 78 */ mr r4, r31 /* 802847A8 002816E8 81 83 00 00 */ lwz r12, 0(r3) @@ -595,8 +63,8 @@ JStudio_NS_fvb_NS_TControl_NS_destroyObject: /* 802847C8 00281708 38 21 00 10 */ addi r1, r1, 0x10 /* 802847CC 0028170C 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TControl_NS_destroyObject_all -JStudio_NS_fvb_NS_TControl_NS_destroyObject_all: +.global destroyObject_all__Q37JStudio3fvb8TControlFv +destroyObject_all__Q37JStudio3fvb8TControlFv: /* 802847D0 00281710 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802847D4 00281714 7C 08 02 A6 */ mflr r0 /* 802847D8 00281718 90 01 00 24 */ stw r0, 0x24(r1) @@ -613,7 +81,7 @@ lbl_802847FC: /* 80284800 00281740 90 61 00 08 */ stw r3, 8(r1) /* 80284804 00281744 38 83 FF F4 */ addi r4, r3, -12 /* 80284808 00281748 7F C3 F3 78 */ mr r3, r30 -/* 8028480C 0028174C 4B FF FF 75 */ bl JStudio_NS_fvb_NS_TControl_NS_destroyObject +/* 8028480C 0028174C 4B FF FF 75 */ bl destroyObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject lbl_80284810: /* 80284810 00281750 80 1E 00 08 */ lwz r0, 8(r30) /* 80284814 00281754 28 00 00 00 */ cmplwi r0, 0 @@ -625,8 +93,8 @@ lbl_80284810: /* 8028482C 0028176C 38 21 00 20 */ addi r1, r1, 0x20 /* 80284830 00281770 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TControl_NS_getObject -JStudio_NS_fvb_NS_TControl_NS_getObject: +.global getObject__Q37JStudio3fvb8TControlFPCvUl +getObject__Q37JStudio3fvb8TControlFPCvUl: /* 80284834 00281774 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80284838 00281778 7C 08 02 A6 */ mflr r0 /* 8028483C 0028177C 90 01 00 54 */ stw r0, 0x54(r1) @@ -670,8 +138,8 @@ lbl_802848C4: /* 802848CC 0028180C 38 21 00 50 */ addi r1, r1, 0x50 /* 802848D0 00281810 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TControl_NS_getObject_index -JStudio_NS_fvb_NS_TControl_NS_getObject_index: +.global getObject_index__Q37JStudio3fvb8TControlFUl +getObject_index__Q37JStudio3fvb8TControlFUl: /* 802848D4 00281814 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802848D8 00281818 80 03 00 08 */ lwz r0, 8(r3) /* 802848DC 0028181C 7C 04 00 40 */ cmplw r4, r0 @@ -694,8 +162,8 @@ lbl_80284910: /* 80284910 00281850 38 21 00 10 */ addi r1, r1, 0x10 /* 80284914 00281854 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TFactory_NS_dtor -JStudio_NS_fvb_NS_TFactory_NS_dtor: +.global __dt__Q37JStudio3fvb8TFactoryFv +__dt__Q37JStudio3fvb8TFactoryFv: /* 80284918 00281858 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8028491C 0028185C 7C 08 02 A6 */ mflr r0 /* 80284920 00281860 90 01 00 14 */ stw r0, 0x14(r1) @@ -715,6 +183,7 @@ lbl_80284948: /* 80284954 00281894 7C 08 03 A6 */ mtlr r0 /* 80284958 00281898 38 21 00 10 */ addi r1, r1, 0x10 /* 8028495C 0028189C 4E 80 00 20 */ blr +create__Q37JStudio3fvb8TFactoryFRCQ47JStudio3fvb4data13TParse_TBlock: /* 80284960 002818A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284964 002818A4 7C 08 02 A6 */ mflr r0 /* 80284968 002818A8 90 01 00 14 */ stw r0, 0x14(r1) @@ -742,7 +211,7 @@ lbl_802849B0: /* 802849B8 002818F8 7C 60 1B 79 */ or. r0, r3, r3 /* 802849BC 002818FC 41 82 00 10 */ beq lbl_802849CC /* 802849C0 00281900 7F E4 FB 78 */ mr r4, r31 -/* 802849C4 00281904 4B FF F8 91 */ bl JStudio_NS_fvb_NS_TObject_composite +/* 802849C4 00281904 4B FF F8 91 */ bl __ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock /* 802849C8 00281908 7C 60 1B 78 */ mr r0, r3 lbl_802849CC: /* 802849CC 0028190C 7C 03 03 78 */ mr r3, r0 @@ -753,7 +222,7 @@ lbl_802849D4: /* 802849DC 0028191C 7C 60 1B 79 */ or. r0, r3, r3 /* 802849E0 00281920 41 82 00 10 */ beq lbl_802849F0 /* 802849E4 00281924 7F E4 FB 78 */ mr r4, r31 -/* 802849E8 00281928 4B FF F9 51 */ bl JStudio_NS_fvb_NS_TObject_constant +/* 802849E8 00281928 4B FF F9 51 */ bl __ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock /* 802849EC 0028192C 7C 60 1B 78 */ mr r0, r3 lbl_802849F0: /* 802849F0 00281930 7C 03 03 78 */ mr r3, r0 @@ -764,7 +233,7 @@ lbl_802849F8: /* 80284A00 00281940 7C 60 1B 79 */ or. r0, r3, r3 /* 80284A04 00281944 41 82 00 10 */ beq lbl_80284A14 /* 80284A08 00281948 7F E4 FB 78 */ mr r4, r31 -/* 80284A0C 0028194C 4B FF F9 BD */ bl JStudio_NS_fvb_NS_TObject_transition +/* 80284A0C 0028194C 4B FF F9 BD */ bl __ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock /* 80284A10 00281950 7C 60 1B 78 */ mr r0, r3 lbl_80284A14: /* 80284A14 00281954 7C 03 03 78 */ mr r3, r0 @@ -775,7 +244,7 @@ lbl_80284A1C: /* 80284A24 00281964 7C 60 1B 79 */ or. r0, r3, r3 /* 80284A28 00281968 41 82 00 10 */ beq lbl_80284A38 /* 80284A2C 0028196C 7F E4 FB 78 */ mr r4, r31 -/* 80284A30 00281970 4B FF FA 31 */ bl JStudio_NS_fvb_NS_TObject_list +/* 80284A30 00281970 4B FF FA 31 */ bl __ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock /* 80284A34 00281974 7C 60 1B 78 */ mr r0, r3 lbl_80284A38: /* 80284A38 00281978 7C 03 03 78 */ mr r3, r0 @@ -786,7 +255,7 @@ lbl_80284A40: /* 80284A48 00281988 7C 60 1B 79 */ or. r0, r3, r3 /* 80284A4C 0028198C 41 82 00 10 */ beq lbl_80284A5C /* 80284A50 00281990 7F E4 FB 78 */ mr r4, r31 -/* 80284A54 00281994 4B FF FA AD */ bl JStudio_NS_fvb_NS_TObject_list_parameter +/* 80284A54 00281994 4B FF FA AD */ bl __ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock /* 80284A58 00281998 7C 60 1B 78 */ mr r0, r3 lbl_80284A5C: /* 80284A5C 0028199C 7C 03 03 78 */ mr r3, r0 @@ -797,7 +266,7 @@ lbl_80284A64: /* 80284A6C 002819AC 7C 60 1B 79 */ or. r0, r3, r3 /* 80284A70 002819B0 41 82 00 10 */ beq lbl_80284A80 /* 80284A74 002819B4 7F E4 FB 78 */ mr r4, r31 -/* 80284A78 002819B8 4B FF FB 39 */ bl JStudio_NS_fvb_NS_TObject_hermite +/* 80284A78 002819B8 4B FF FB 39 */ bl __ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock /* 80284A7C 002819BC 7C 60 1B 78 */ mr r0, r3 lbl_80284A80: /* 80284A80 002819C0 7C 03 03 78 */ mr r3, r0 @@ -810,6 +279,7 @@ lbl_80284A8C: /* 80284A94 002819D4 7C 08 03 A6 */ mtlr r0 /* 80284A98 002819D8 38 21 00 10 */ addi r1, r1, 0x10 /* 80284A9C 002819DC 4E 80 00 20 */ blr +destroy__Q37JStudio3fvb8TFactoryFPQ37JStudio3fvb7TObject: /* 80284AA0 002819E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284AA4 002819E4 7C 08 02 A6 */ mflr r0 /* 80284AA8 002819E8 90 01 00 14 */ stw r0, 0x14(r1) @@ -827,8 +297,8 @@ lbl_80284ACC: /* 80284AD4 00281A14 38 21 00 10 */ addi r1, r1, 0x10 /* 80284AD8 00281A18 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TParse -JStudio_NS_fvb_NS_TParse: +.global __ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl +__ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl: /* 80284ADC 00281A1C 3C A0 80 3C */ lis r5, lbl_803C488C@ha /* 80284AE0 00281A20 38 05 48 8C */ addi r0, r5, lbl_803C488C@l /* 80284AE4 00281A24 90 03 00 00 */ stw r0, 0(r3) @@ -838,8 +308,8 @@ JStudio_NS_fvb_NS_TParse: /* 80284AF4 00281A34 90 83 00 04 */ stw r4, 4(r3) /* 80284AF8 00281A38 4E 80 00 20 */ blr -.global JStudio_NS_fvb_NS_TParse_NS_dtor -JStudio_NS_fvb_NS_TParse_NS_dtor: +.global __dt__Q37JStudio3fvb6TParseFv +__dt__Q37JStudio3fvb6TParseFv: /* 80284AFC 00281A3C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284B00 00281A40 7C 08 02 A6 */ mflr r0 /* 80284B04 00281A44 90 01 00 14 */ stw r0, 0x14(r1) @@ -865,6 +335,7 @@ lbl_80284B40: /* 80284B50 00281A90 7C 08 03 A6 */ mtlr r0 /* 80284B54 00281A94 38 21 00 10 */ addi r1, r1, 0x10 /* 80284B58 00281A98 4E 80 00 20 */ blr +parseHeader_next__Q37JStudio3fvb6TParseFPPCvPUlUl: /* 80284B5C 00281A9C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284B60 00281AA0 7C 08 02 A6 */ mflr r0 /* 80284B64 00281AA4 90 01 00 14 */ stw r0, 0x14(r1) @@ -906,6 +377,7 @@ lbl_80284BDC: /* 80284BE4 00281B24 7C 08 03 A6 */ mtlr r0 /* 80284BE8 00281B28 38 21 00 10 */ addi r1, r1, 0x10 /* 80284BEC 00281B2C 4E 80 00 20 */ blr +parseBlock_next__Q37JStudio3fvb6TParseFPPCvPUlUl: /* 80284BF0 00281B30 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80284BF4 00281B34 7C 08 02 A6 */ mflr r0 /* 80284BF8 00281B38 90 01 00 24 */ stw r0, 0x24(r1) @@ -932,7 +404,7 @@ lbl_80284BDC: lbl_80284C4C: /* 80284C4C 00281B8C 7F E3 FB 78 */ mr r3, r31 /* 80284C50 00281B90 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 80284C54 00281B94 4B FF FB E1 */ bl JStudio_NS_fvb_NS_TControl_NS_getObject +/* 80284C54 00281B94 4B FF FB E1 */ bl getObject__Q37JStudio3fvb8TControlFPCvUl /* 80284C58 00281B98 28 03 00 00 */ cmplwi r3, 0 /* 80284C5C 00281B9C 41 82 00 0C */ beq lbl_80284C68 /* 80284C60 00281BA0 38 60 00 01 */ li r3, 1 @@ -961,10 +433,10 @@ lbl_80284C8C: lbl_80284CB0: /* 80284CB0 00281BF0 38 81 00 08 */ addi r4, r1, 8 /* 80284CB4 00281BF4 7F E5 FB 78 */ mr r5, r31 -/* 80284CB8 00281BF8 4B FF F3 11 */ bl JStudio_NS_fvb_NS_TObject_NS_prepare +/* 80284CB8 00281BF8 4B FF F3 11 */ bl prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl /* 80284CBC 00281BFC 7F E3 FB 78 */ mr r3, r31 /* 80284CC0 00281C00 7F C4 F3 78 */ mr r4, r30 -/* 80284CC4 00281C04 4B FF FA 41 */ bl JStudio_NS_fvb_NS_TControl_NS_appendObject +/* 80284CC4 00281C04 4B FF FA 41 */ bl appendObject__Q37JStudio3fvb8TControlFPQ37JStudio3fvb7TObject /* 80284CC8 00281C08 38 60 00 01 */ li r3, 1 lbl_80284CCC: /* 80284CCC 00281C0C 39 61 00 20 */ addi r11, r1, 0x20 @@ -973,6 +445,7 @@ lbl_80284CCC: /* 80284CD8 00281C18 7C 08 03 A6 */ mtlr r0 /* 80284CDC 00281C1C 38 21 00 20 */ addi r1, r1, 0x20 /* 80284CE0 00281C20 4E 80 00 20 */ blr +__dt__Q37JStudio3fvb15TObject_hermiteFv: /* 80284CE4 00281C24 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284CE8 00281C28 7C 08 02 A6 */ mflr r0 /* 80284CEC 00281C2C 90 01 00 14 */ stw r0, 0x14(r1) @@ -991,11 +464,11 @@ lbl_80284CCC: /* 80284D20 00281C60 90 1E 00 18 */ stw r0, 0x18(r30) /* 80284D24 00281C64 38 7E 00 18 */ addi r3, r30, 0x18 /* 80284D28 00281C68 38 80 00 00 */ li r4, 0 -/* 80284D2C 00281C6C 4B FF C9 75 */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80284D2C 00281C6C 4B FF C9 75 */ bl __dt__Q27JStudio14TFunctionValueFv lbl_80284D30: /* 80284D30 00281C70 7F C3 F3 78 */ mr r3, r30 /* 80284D34 00281C74 38 80 00 00 */ li r4, 0 -/* 80284D38 00281C78 4B FF F2 49 */ bl JStudio_NS_fvb_NS_TObject_NS_dtor +/* 80284D38 00281C78 4B FF F2 49 */ bl __dt__Q37JStudio3fvb7TObjectFv /* 80284D3C 00281C7C 7F E0 07 35 */ extsh. r0, r31 /* 80284D40 00281C80 40 81 00 0C */ ble lbl_80284D4C /* 80284D44 00281C84 7F C3 F3 78 */ mr r3, r30 @@ -1008,6 +481,7 @@ lbl_80284D4C: /* 80284D5C 00281C9C 7C 08 03 A6 */ mtlr r0 /* 80284D60 00281CA0 38 21 00 10 */ addi r1, r1, 0x10 /* 80284D64 00281CA4 4E 80 00 20 */ blr +__dt__Q37JStudio3fvb22TObject_list_parameterFv: /* 80284D68 00281CA8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284D6C 00281CAC 7C 08 02 A6 */ mflr r0 /* 80284D70 00281CB0 90 01 00 14 */ stw r0, 0x14(r1) @@ -1026,11 +500,11 @@ lbl_80284D4C: /* 80284DA4 00281CE4 90 1E 00 18 */ stw r0, 0x18(r30) /* 80284DA8 00281CE8 38 7E 00 18 */ addi r3, r30, 0x18 /* 80284DAC 00281CEC 38 80 00 00 */ li r4, 0 -/* 80284DB0 00281CF0 4B FF C8 F1 */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80284DB0 00281CF0 4B FF C8 F1 */ bl __dt__Q27JStudio14TFunctionValueFv lbl_80284DB4: /* 80284DB4 00281CF4 7F C3 F3 78 */ mr r3, r30 /* 80284DB8 00281CF8 38 80 00 00 */ li r4, 0 -/* 80284DBC 00281CFC 4B FF F1 C5 */ bl JStudio_NS_fvb_NS_TObject_NS_dtor +/* 80284DBC 00281CFC 4B FF F1 C5 */ bl __dt__Q37JStudio3fvb7TObjectFv /* 80284DC0 00281D00 7F E0 07 35 */ extsh. r0, r31 /* 80284DC4 00281D04 40 81 00 0C */ ble lbl_80284DD0 /* 80284DC8 00281D08 7F C3 F3 78 */ mr r3, r30 @@ -1043,6 +517,7 @@ lbl_80284DD0: /* 80284DE0 00281D20 7C 08 03 A6 */ mtlr r0 /* 80284DE4 00281D24 38 21 00 10 */ addi r1, r1, 0x10 /* 80284DE8 00281D28 4E 80 00 20 */ blr +__dt__Q37JStudio3fvb12TObject_listFv: /* 80284DEC 00281D2C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284DF0 00281D30 7C 08 02 A6 */ mflr r0 /* 80284DF4 00281D34 90 01 00 14 */ stw r0, 0x14(r1) @@ -1061,11 +536,11 @@ lbl_80284DD0: /* 80284E28 00281D68 90 1E 00 18 */ stw r0, 0x18(r30) /* 80284E2C 00281D6C 38 7E 00 18 */ addi r3, r30, 0x18 /* 80284E30 00281D70 38 80 00 00 */ li r4, 0 -/* 80284E34 00281D74 4B FF C8 6D */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80284E34 00281D74 4B FF C8 6D */ bl __dt__Q27JStudio14TFunctionValueFv lbl_80284E38: /* 80284E38 00281D78 7F C3 F3 78 */ mr r3, r30 /* 80284E3C 00281D7C 38 80 00 00 */ li r4, 0 -/* 80284E40 00281D80 4B FF F1 41 */ bl JStudio_NS_fvb_NS_TObject_NS_dtor +/* 80284E40 00281D80 4B FF F1 41 */ bl __dt__Q37JStudio3fvb7TObjectFv /* 80284E44 00281D84 7F E0 07 35 */ extsh. r0, r31 /* 80284E48 00281D88 40 81 00 0C */ ble lbl_80284E54 /* 80284E4C 00281D8C 7F C3 F3 78 */ mr r3, r30 @@ -1078,6 +553,7 @@ lbl_80284E54: /* 80284E64 00281DA4 7C 08 03 A6 */ mtlr r0 /* 80284E68 00281DA8 38 21 00 10 */ addi r1, r1, 0x10 /* 80284E6C 00281DAC 4E 80 00 20 */ blr +__dt__Q37JStudio3fvb18TObject_transitionFv: /* 80284E70 00281DB0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284E74 00281DB4 7C 08 02 A6 */ mflr r0 /* 80284E78 00281DB8 90 01 00 14 */ stw r0, 0x14(r1) @@ -1096,11 +572,11 @@ lbl_80284E54: /* 80284EAC 00281DEC 90 1E 00 18 */ stw r0, 0x18(r30) /* 80284EB0 00281DF0 38 7E 00 18 */ addi r3, r30, 0x18 /* 80284EB4 00281DF4 38 80 00 00 */ li r4, 0 -/* 80284EB8 00281DF8 4B FF C7 E9 */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80284EB8 00281DF8 4B FF C7 E9 */ bl __dt__Q27JStudio14TFunctionValueFv lbl_80284EBC: /* 80284EBC 00281DFC 7F C3 F3 78 */ mr r3, r30 /* 80284EC0 00281E00 38 80 00 00 */ li r4, 0 -/* 80284EC4 00281E04 4B FF F0 BD */ bl JStudio_NS_fvb_NS_TObject_NS_dtor +/* 80284EC4 00281E04 4B FF F0 BD */ bl __dt__Q37JStudio3fvb7TObjectFv /* 80284EC8 00281E08 7F E0 07 35 */ extsh. r0, r31 /* 80284ECC 00281E0C 40 81 00 0C */ ble lbl_80284ED8 /* 80284ED0 00281E10 7F C3 F3 78 */ mr r3, r30 @@ -1113,6 +589,7 @@ lbl_80284ED8: /* 80284EE8 00281E28 7C 08 03 A6 */ mtlr r0 /* 80284EEC 00281E2C 38 21 00 10 */ addi r1, r1, 0x10 /* 80284EF0 00281E30 4E 80 00 20 */ blr +__dt__Q37JStudio3fvb16TObject_constantFv: /* 80284EF4 00281E34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284EF8 00281E38 7C 08 02 A6 */ mflr r0 /* 80284EFC 00281E3C 90 01 00 14 */ stw r0, 0x14(r1) @@ -1131,11 +608,11 @@ lbl_80284ED8: /* 80284F30 00281E70 90 1E 00 18 */ stw r0, 0x18(r30) /* 80284F34 00281E74 38 7E 00 18 */ addi r3, r30, 0x18 /* 80284F38 00281E78 38 80 00 00 */ li r4, 0 -/* 80284F3C 00281E7C 4B FF C7 65 */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80284F3C 00281E7C 4B FF C7 65 */ bl __dt__Q27JStudio14TFunctionValueFv lbl_80284F40: /* 80284F40 00281E80 7F C3 F3 78 */ mr r3, r30 /* 80284F44 00281E84 38 80 00 00 */ li r4, 0 -/* 80284F48 00281E88 4B FF F0 39 */ bl JStudio_NS_fvb_NS_TObject_NS_dtor +/* 80284F48 00281E88 4B FF F0 39 */ bl __dt__Q37JStudio3fvb7TObjectFv /* 80284F4C 00281E8C 7F E0 07 35 */ extsh. r0, r31 /* 80284F50 00281E90 40 81 00 0C */ ble lbl_80284F5C /* 80284F54 00281E94 7F C3 F3 78 */ mr r3, r30 @@ -1148,6 +625,7 @@ lbl_80284F5C: /* 80284F6C 00281EAC 7C 08 03 A6 */ mtlr r0 /* 80284F70 00281EB0 38 21 00 10 */ addi r1, r1, 0x10 /* 80284F74 00281EB4 4E 80 00 20 */ blr +__dt__Q37JStudio3fvb17TObject_compositeFv: /* 80284F78 00281EB8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284F7C 00281EBC 7C 08 02 A6 */ mflr r0 /* 80284F80 00281EC0 90 01 00 14 */ stw r0, 0x14(r1) @@ -1174,11 +652,11 @@ lbl_80284F5C: lbl_80284FD4: /* 80284FD4 00281F14 38 7E 00 18 */ addi r3, r30, 0x18 /* 80284FD8 00281F18 38 80 00 00 */ li r4, 0 -/* 80284FDC 00281F1C 4B FF C6 C5 */ bl JStudio_NS_TFunctionValue_NS_dtor +/* 80284FDC 00281F1C 4B FF C6 C5 */ bl __dt__Q27JStudio14TFunctionValueFv lbl_80284FE0: /* 80284FE0 00281F20 7F C3 F3 78 */ mr r3, r30 /* 80284FE4 00281F24 38 80 00 00 */ li r4, 0 -/* 80284FE8 00281F28 4B FF EF 99 */ bl JStudio_NS_fvb_NS_TObject_NS_dtor +/* 80284FE8 00281F28 4B FF EF 99 */ bl __dt__Q37JStudio3fvb7TObjectFv /* 80284FEC 00281F2C 7F E0 07 35 */ extsh. r0, r31 /* 80284FF0 00281F30 40 81 00 0C */ ble lbl_80284FFC /* 80284FF4 00281F34 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JStudio/jstudio-control.s b/asm/JStudio/jstudio-control.s index 7e0c5cd056..7eacd99d87 100644 --- a/asm/JStudio/jstudio-control.s +++ b/asm/JStudio/jstudio-control.s @@ -15,7 +15,7 @@ JStudio_NS_TControl: /* 80285130 00282070 38 03 4A F4 */ addi r0, r3, lbl_803C4AF4@l /* 80285134 00282074 90 1F 00 00 */ stw r0, 0(r31) /* 80285138 00282078 38 7F 00 60 */ addi r3, r31, 0x60 -/* 8028513C 0028207C 4B FF F5 2D */ bl JStudio_NS_fvb_NS_TControl +/* 8028513C 0028207C 4B FF F5 2D */ bl __ct__Q37JStudio3fvb8TControlFv /* 80285140 00282080 38 7F 00 74 */ addi r3, r31, 0x74 /* 80285144 00282084 4B FF BE 81 */ bl JStudio_NS_ctb_NS_TControl /* 80285148 00282088 38 00 00 00 */ li r0, 0 @@ -59,7 +59,7 @@ JStudio_NS_TControl: /* 802851E0 00282120 4B FF BE 15 */ bl JStudio_NS_ctb_NS_TControl_NS_dtor /* 802851E4 00282124 38 7E 00 60 */ addi r3, r30, 0x60 /* 802851E8 00282128 38 80 FF FF */ li r4, -1 -/* 802851EC 0028212C 4B FF F4 AD */ bl JStudio_NS_fvb_NS_TControl_NS_dtor +/* 802851EC 0028212C 4B FF F4 AD */ bl __dt__Q37JStudio3fvb8TControlFv /* 802851F0 00282130 7F C3 F3 78 */ mr r3, r30 /* 802851F4 00282134 38 80 00 00 */ li r4, 0 /* 802851F8 00282138 48 00 3F 9D */ bl __dt__Q37JStudio3stb8TControlFv @@ -287,7 +287,7 @@ lbl_802854B8: /* 80285504 00282444 4B FF BD 71 */ bl JStudio_NS_ctb_NS_TFactory_NS_dtor /* 80285508 00282448 38 7E 00 10 */ addi r3, r30, 0x10 /* 8028550C 0028244C 38 80 FF FF */ li r4, -1 -/* 80285510 00282450 4B FF F4 09 */ bl JStudio_NS_fvb_NS_TFactory_NS_dtor +/* 80285510 00282450 4B FF F4 09 */ bl __dt__Q37JStudio3fvb8TFactoryFv /* 80285514 00282454 34 1E 00 04 */ addic. r0, r30, 4 /* 80285518 00282458 41 82 00 10 */ beq lbl_80285528 /* 8028551C 0028245C 38 7E 00 04 */ addi r3, r30, 4 @@ -542,7 +542,7 @@ lbl_80285880: lbl_8028588C: /* 8028588C 002827CC 38 61 00 0C */ addi r3, r1, 0xc /* 80285890 002827D0 38 86 00 60 */ addi r4, r6, 0x60 -/* 80285894 002827D4 4B FF F2 49 */ bl JStudio_NS_fvb_NS_TParse +/* 80285894 002827D4 4B FF F2 49 */ bl __ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl /* 80285898 002827D8 93 E1 00 08 */ stw r31, 8(r1) /* 8028589C 002827DC 38 61 00 0C */ addi r3, r1, 0xc /* 802858A0 002827E0 38 81 00 08 */ addi r4, r1, 8 @@ -552,13 +552,13 @@ lbl_8028588C: /* 802858B0 002827F0 40 82 00 18 */ bne lbl_802858C8 /* 802858B4 002827F4 38 61 00 0C */ addi r3, r1, 0xc /* 802858B8 002827F8 38 80 FF FF */ li r4, -1 -/* 802858BC 002827FC 4B FF F2 41 */ bl JStudio_NS_fvb_NS_TParse_NS_dtor +/* 802858BC 002827FC 4B FF F2 41 */ bl __dt__Q37JStudio3fvb6TParseFv /* 802858C0 00282800 38 60 00 00 */ li r3, 0 /* 802858C4 00282804 48 00 00 14 */ b lbl_802858D8 lbl_802858C8: /* 802858C8 00282808 38 61 00 0C */ addi r3, r1, 0xc /* 802858CC 0028280C 38 80 FF FF */ li r4, -1 -/* 802858D0 00282810 4B FF F2 2D */ bl JStudio_NS_fvb_NS_TParse_NS_dtor +/* 802858D0 00282810 4B FF F2 2D */ bl __dt__Q37JStudio3fvb6TParseFv /* 802858D4 00282814 38 60 00 01 */ li r3, 1 lbl_802858D8: /* 802858D8 00282818 83 E1 00 1C */ lwz r31, 0x1c(r1) diff --git a/asm/JStudio/jstudio-object.s b/asm/JStudio/jstudio-object.s index 9b93a9d17f..3320033c93 100644 --- a/asm/JStudio/jstudio-object.s +++ b/asm/JStudio/jstudio-object.s @@ -622,7 +622,7 @@ JStudio_NS_TAdaptor_NS_adaptor_setVariableValue_FVR_NAME_: /* 802865F8 00283538 38 64 00 60 */ addi r3, r4, 0x60 /* 802865FC 0028353C 7C C4 33 78 */ mr r4, r6 /* 80286600 00283540 7C E5 3B 78 */ mr r5, r7 -/* 80286604 00283544 4B FF E2 31 */ bl JStudio_NS_fvb_NS_TControl_NS_getObject +/* 80286604 00283544 4B FF E2 31 */ bl getObject__Q37JStudio3fvb8TControlFPCvUl /* 80286608 00283548 28 03 00 00 */ cmplwi r3, 0 /* 8028660C 0028354C 40 82 00 0C */ bne lbl_80286618 /* 80286610 00283550 38 80 00 00 */ li r4, 0 @@ -654,7 +654,7 @@ JStudio_NS_TAdaptor_NS_adaptor_setVariableValue_FVR_INDEX_: /* 80286660 002835A0 7F E3 02 14 */ add r31, r3, r0 /* 80286664 002835A4 38 64 00 60 */ addi r3, r4, 0x60 /* 80286668 002835A8 80 86 00 00 */ lwz r4, 0(r6) -/* 8028666C 002835AC 4B FF E2 69 */ bl JStudio_NS_fvb_NS_TControl_NS_getObject_index +/* 8028666C 002835AC 4B FF E2 69 */ bl getObject_index__Q37JStudio3fvb8TControlFUl /* 80286670 002835B0 28 03 00 00 */ cmplwi r3, 0 /* 80286674 002835B4 40 82 00 0C */ bne lbl_80286680 /* 80286678 002835B8 38 80 00 00 */ li r4, 0 diff --git a/asm/JStudio_JStage/object-actor.s b/asm/JStudio_JStage/object-actor.s index bc0b60eb02..a1af4edc0b 100644 --- a/asm/JStudio_JStage/object-actor.s +++ b/asm/JStudio_JStage/object-actor.s @@ -769,7 +769,7 @@ lbl_8028B0D0: /* 8028B0D4 00288014 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8028B0D8 00288018 40 81 00 24 */ ble lbl_8028B0FC /* 8028B0DC 0028801C 7F A3 EB 78 */ mr r3, r29 -/* 8028B0E0 00288020 4B FF 65 69 */ bl JStudio_NS_TFunctionValue_NS_toFunction_outside +/* 8028B0E0 00288020 4B FF 65 69 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi /* 8028B0E4 00288024 FC 20 F0 90 */ fmr f1, f30 /* 8028B0E8 00288028 FC 40 F8 90 */ fmr f2, f31 /* 8028B0EC 0028802C 7C 6C 1B 78 */ mr r12, r3 diff --git a/asm/d/d_demo.s b/asm/d/d_demo.s index cd781fd47f..38a1d36d60 100644 --- a/asm/d/d_demo.s +++ b/asm/d/d_demo.s @@ -2231,7 +2231,7 @@ dDemo_c_NS_end: /* 80039D0C 00036C4C 7F E3 FB 78 */ mr r3, r31 /* 80039D10 00036C50 48 24 F5 F1 */ bl destroyObject_all__Q37JStudio3stb8TControlFv /* 80039D14 00036C54 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80039D18 00036C58 48 24 AA B9 */ bl JStudio_NS_fvb_NS_TControl_NS_destroyObject_all +/* 80039D18 00036C58 48 24 AA B9 */ bl destroyObject_all__Q37JStudio3fvb8TControlFv /* 80039D1C 00036C5C 38 7F 00 74 */ addi r3, r31, 0x74 /* 80039D20 00036C60 48 24 74 0D */ bl JStudio_NS_ctb_NS_TControl_NS_destroyObject_all /* 80039D24 00036C64 80 6D 88 A0 */ lwz r3, lbl_80450E20-_SDA_BASE_(r13) @@ -2255,7 +2255,7 @@ dDemo_c_NS_branch: /* 80039D60 00036CA0 7F E3 FB 78 */ mr r3, r31 /* 80039D64 00036CA4 48 24 F5 9D */ bl destroyObject_all__Q37JStudio3stb8TControlFv /* 80039D68 00036CA8 38 7F 00 60 */ addi r3, r31, 0x60 -/* 80039D6C 00036CAC 48 24 AA 65 */ bl JStudio_NS_fvb_NS_TControl_NS_destroyObject_all +/* 80039D6C 00036CAC 48 24 AA 65 */ bl destroyObject_all__Q37JStudio3fvb8TControlFv /* 80039D70 00036CB0 38 7F 00 74 */ addi r3, r31, 0x74 /* 80039D74 00036CB4 48 24 73 B9 */ bl JStudio_NS_ctb_NS_TControl_NS_destroyObject_all /* 80039D78 00036CB8 80 6D 88 C4 */ lwz r3, lbl_80450E44-_SDA_BASE_(r13) diff --git a/asmdiff.sh b/asmdiff.sh index 9356592cb3..da48908ebc 100644 --- a/asmdiff.sh +++ b/asmdiff.sh @@ -4,4 +4,4 @@ OBJDUMP="$DEVKITPPC/bin/powerpc-eabi-objdump -D -bbinary -EB -mpowerpc -M gekko" OPTIONS="--start-address=$(($1)) --stop-address=$(($2+0x4))" $OBJDUMP $OPTIONS baserom.dol > baserom.dump $OBJDUMP $OPTIONS build/dolzel2/main.dol > main.dump -diff -u --color=always baserom.dump main.dump +diff -u baserom.dump main.dump diff --git a/include/JSystem/JGadget/asm/__ct__Q27JStudio24TFunctionValue_compositeFv.s b/include/JSystem/JGadget/asm/__ct__Q27JStudio24TFunctionValue_compositeFv.s new file mode 100644 index 0000000000..310bf18d87 --- /dev/null +++ b/include/JSystem/JGadget/asm/__ct__Q27JStudio24TFunctionValue_compositeFv.s @@ -0,0 +1,23 @@ +/* 80281D5C 0027EC9C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80281D60 0027ECA0 7C 08 02 A6 */ mflr r0 +/* 80281D64 0027ECA4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80281D68 0027ECA8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80281D6C 0027ECAC 7C 7F 1B 78 */ mr r31, r3 +/* 80281D70 0027ECB0 4B FF F9 21 */ bl __ct__Q27JStudio14TFunctionValueFv +/* 80281D74 0027ECB4 38 7F 00 04 */ addi r3, r31, 4 +/* 80281D78 0027ECB8 38 81 00 08 */ addi r4, r1, 8 +/* 80281D7C 0027ECBC 88 0D 8C 68 */ lbz r0, 0x804511E8-0x80458580(r13) /*SDA HACK; original: lbl_804511E8-_SDA_BASE_(r13)*/ +/* 80281D80 0027ECC0 98 01 00 08 */ stb r0, 8(r1) +/* 80281D84 0027ECC4 48 05 AF 4D */ bl JGadget_NS_TVector_pointer_void +/* 80281D88 0027ECC8 3C 60 80 3C */ lis r3, lbl_803C4980@ha +/* 80281D8C 0027ECCC 38 03 49 80 */ addi r0, r3, lbl_803C4980@l +/* 80281D90 0027ECD0 90 1F 00 00 */ stw r0, 0(r31) +/* 80281D94 0027ECD4 38 00 00 00 */ li r0, 0 +/* 80281D98 0027ECD8 90 1F 00 18 */ stw r0, 0x18(r31) +/* 80281D9C 0027ECDC 90 1F 00 20 */ stw r0, 0x20(r31) +/* 80281DA0 0027ECE0 7F E3 FB 78 */ mr r3, r31 +/* 80281DA4 0027ECE4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80281DA8 0027ECE8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80281DAC 0027ECEC 7C 08 03 A6 */ mtlr r0 +/* 80281DB0 0027ECF0 38 21 00 20 */ addi r1, r1, 0x20 +/* 80281DB4 0027ECF4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index 63e05e34a9..ec1ab173a5 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -31,16 +31,19 @@ struct TNodeLinkList { oNode_.pPrev_ = &oNode_; } - void Insert(iterator iter, TLinkListNode* node); - + TLinkListNode* size() const { return iter.node; } + bool empty() const { return size() == 0; } iterator end() { return iterator(oNode_.pNext_); } + void Insert(iterator iter, TLinkListNode* node); + iterator iter; TLinkListNode oNode_; }; // Currently non matching, but its a rough idea -template +// Shows up as 3 args in Ghidra, but the 'undefined' is just -1 +template struct TLinkList : TNodeLinkList { TLinkListNode* Element_toNode(T* p) { return &static_cast(p)->mNode; } diff --git a/include/JSystem/JGadget/search.h b/include/JSystem/JGadget/search.h new file mode 100644 index 0000000000..f58aa9a79d --- /dev/null +++ b/include/JSystem/JGadget/search.h @@ -0,0 +1,21 @@ +#ifndef JGADGET_SEARCH_H +#define JGADGET_SEARCH_H +// double FuncDef550(double , double ) + +#include "global.h" + +namespace JGadget { + +//! @todo: mangled name isn't correct, fix this +//! Current: toValueFromIndex__7JGadgetFiPCPFdd_dUlRCPFdd_d +//! Target: toValueFromIndex__7JGadgetFiPCPFdd_dUlRCPFdd_d_RCPFdd_d +template +inline const T& toValueFromIndex(int idx, const T* pValue, u32 count, const T& fallback) { + JUT_ASSERT(pValue != NULL); + + return (idx >= count) ? fallback : pValue[idx]; +} + +} // namespace JGadget + +#endif // JGADGET_SEARCH_H diff --git a/include/JSystem/JGadget/vector.h b/include/JSystem/JGadget/vector.h new file mode 100644 index 0000000000..8bcc633f96 --- /dev/null +++ b/include/JSystem/JGadget/vector.h @@ -0,0 +1,65 @@ +#ifndef JGADGET_VECTOR_H +#define JGADGET_VECTOR_H + +#include "global.h" + +static u8 lbl_804511E8; + +namespace JGadget { + +namespace vector { + +u32 extend_default(u32 arg1, u32 arg2, u32 arg3); + +typedef u32 (*ExtendFunc)(u32, u32, u32); + +} // namespace vector + +template +struct TAllocator { + static TAllocator get() {} + inline TAllocator() { _0 = lbl_804511E8; } + u8 _0; + u8 _1[3]; + u32 _4; + u32 _8; + u32 _c; +}; + +template class Allocator> +struct TVector { + TVector(Allocator alloc) { + _0 = NULL; + pBegin_ = _0; + _c = NULL; + extend = vector::extend_default; + } + + void** begin() { return pBegin_; } + void** end() { return pEnd_; } + // void erase(void** arg1, void** arg2) {} + + void** _0; + void** pBegin_; + void** pEnd_; + u32 _c; + vector::ExtendFunc extend; +}; + +struct TVector_pointer_void : TVector { + // TVector_pointer_void(const TAllocator& allocator); + + void clear() { erase(begin(), end()); } + +private: + void erase(void** pItFirst, void** pItLast); +}; + +template +struct TVector_pointer : TVector_pointer_void { + // TVector_pointer(const TAllocator& allocator) : TVector_pointer_void(allocator) {} +}; + +} // namespace JGadget + +#endif // JGADGET_VECTOR_H diff --git a/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock.s b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock.s new file mode 100644 index 0000000000..8b69a43867 --- /dev/null +++ b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock.s @@ -0,0 +1,33 @@ +/* 80284460 002813A0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80284464 002813A4 7C 08 02 A6 */ mflr r0 +/* 80284468 002813A8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8028446C 002813AC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80284470 002813B0 7C 7F 1B 78 */ mr r31, r3 +/* 80284474 002813B4 7F E5 FB 78 */ mr r5, r31 +/* 80284478 002813B8 80 84 00 00 */ lwz r4, 0(r4) +/* 8028447C 002813BC A0 04 00 06 */ lhz r0, 6(r4) +/* 80284480 002813C0 38 60 00 00 */ li r3, 0 +/* 80284484 002813C4 28 00 00 00 */ cmplwi r0, 0 +/* 80284488 002813C8 41 82 00 08 */ beq lbl_80284490 +/* 8028448C 002813CC 38 64 00 08 */ addi r3, r4, 8 +lbl_80284490: +/* 80284490 002813D0 90 65 00 00 */ stw r3, 0(r5) +/* 80284494 002813D4 90 05 00 04 */ stw r0, 4(r5) +/* 80284498 002813D8 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha +/* 8028449C 002813DC 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l +/* 802844A0 002813E0 90 05 00 08 */ stw r0, 8(r5) +/* 802844A4 002813E4 38 00 00 00 */ li r0, 0 +/* 802844A8 002813E8 90 05 00 0C */ stw r0, 0xc(r5) +/* 802844AC 002813EC 90 05 00 10 */ stw r0, 0x10(r5) +/* 802844B0 002813F0 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802844B4 002813F4 90 65 00 14 */ stw r3, 0x14(r5) +/* 802844B8 002813F8 3C 80 80 3C */ lis r4, lbl_803C4A70@ha +/* 802844BC 002813FC 38 04 4A 70 */ addi r0, r4, lbl_803C4A70@l +/* 802844C0 00281400 90 1F 00 08 */ stw r0, 8(r31) +/* 802844C4 00281404 4B FF E1 F9 */ bl __ct__Q27JStudio19TFunctionValue_listFv +/* 802844C8 00281408 7F E3 FB 78 */ mr r3, r31 +/* 802844CC 0028140C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802844D0 00281410 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802844D4 00281414 7C 08 03 A6 */ mtlr r0 +/* 802844D8 00281418 38 21 00 10 */ addi r1, r1, 0x10 +/* 802844DC 0028141C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock.s b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock.s new file mode 100644 index 0000000000..8248c336c9 --- /dev/null +++ b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock.s @@ -0,0 +1,33 @@ +/* 802845B0 002814F0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802845B4 002814F4 7C 08 02 A6 */ mflr r0 +/* 802845B8 002814F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802845BC 002814FC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802845C0 00281500 7C 7F 1B 78 */ mr r31, r3 +/* 802845C4 00281504 7F E5 FB 78 */ mr r5, r31 +/* 802845C8 00281508 80 84 00 00 */ lwz r4, 0(r4) +/* 802845CC 0028150C A0 04 00 06 */ lhz r0, 6(r4) +/* 802845D0 00281510 38 60 00 00 */ li r3, 0 +/* 802845D4 00281514 28 00 00 00 */ cmplwi r0, 0 +/* 802845D8 00281518 41 82 00 08 */ beq lbl_802845E0 +/* 802845DC 0028151C 38 64 00 08 */ addi r3, r4, 8 +lbl_802845E0: +/* 802845E0 00281520 90 65 00 00 */ stw r3, 0(r5) +/* 802845E4 00281524 90 05 00 04 */ stw r0, 4(r5) +/* 802845E8 00281528 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha +/* 802845EC 0028152C 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l +/* 802845F0 00281530 90 05 00 08 */ stw r0, 8(r5) +/* 802845F4 00281534 38 00 00 00 */ li r0, 0 +/* 802845F8 00281538 90 05 00 0C */ stw r0, 0xc(r5) +/* 802845FC 0028153C 90 05 00 10 */ stw r0, 0x10(r5) +/* 80284600 00281540 38 7F 00 18 */ addi r3, r31, 0x18 +/* 80284604 00281544 90 65 00 14 */ stw r3, 0x14(r5) +/* 80284608 00281548 3C 80 80 3C */ lis r4, lbl_803C4A50@ha +/* 8028460C 0028154C 38 04 4A 50 */ addi r0, r4, lbl_803C4A50@l +/* 80284610 00281550 90 1F 00 08 */ stw r0, 8(r31) +/* 80284614 00281554 4B FF EC B1 */ bl __ct__Q27JStudio22TFunctionValue_hermiteFv +/* 80284618 00281558 7F E3 FB 78 */ mr r3, r31 +/* 8028461C 0028155C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80284620 00281560 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80284624 00281564 7C 08 03 A6 */ mtlr r0 +/* 80284628 00281568 38 21 00 10 */ addi r1, r1, 0x10 +/* 8028462C 0028156C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock.s b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock.s new file mode 100644 index 0000000000..dfea5ea93f --- /dev/null +++ b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock.s @@ -0,0 +1,33 @@ +/* 80284338 00281278 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8028433C 0028127C 7C 08 02 A6 */ mflr r0 +/* 80284340 00281280 90 01 00 14 */ stw r0, 0x14(r1) +/* 80284344 00281284 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80284348 00281288 7C 7F 1B 78 */ mr r31, r3 +/* 8028434C 0028128C 7F E5 FB 78 */ mr r5, r31 +/* 80284350 00281290 80 84 00 00 */ lwz r4, 0(r4) +/* 80284354 00281294 A0 04 00 06 */ lhz r0, 6(r4) +/* 80284358 00281298 38 60 00 00 */ li r3, 0 +/* 8028435C 0028129C 28 00 00 00 */ cmplwi r0, 0 +/* 80284360 002812A0 41 82 00 08 */ beq lbl_80284368 +/* 80284364 002812A4 38 64 00 08 */ addi r3, r4, 8 +lbl_80284368: +/* 80284368 002812A8 90 65 00 00 */ stw r3, 0(r5) +/* 8028436C 002812AC 90 05 00 04 */ stw r0, 4(r5) +/* 80284370 002812B0 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha +/* 80284374 002812B4 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l +/* 80284378 002812B8 90 05 00 08 */ stw r0, 8(r5) +/* 8028437C 002812BC 38 00 00 00 */ li r0, 0 +/* 80284380 002812C0 90 05 00 0C */ stw r0, 0xc(r5) +/* 80284384 002812C4 90 05 00 10 */ stw r0, 0x10(r5) +/* 80284388 002812C8 38 7F 00 18 */ addi r3, r31, 0x18 +/* 8028438C 002812CC 90 65 00 14 */ stw r3, 0x14(r5) +/* 80284390 002812D0 3C 80 80 3C */ lis r4, lbl_803C4A90@ha +/* 80284394 002812D4 38 04 4A 90 */ addi r0, r4, lbl_803C4A90@l +/* 80284398 002812D8 90 1F 00 08 */ stw r0, 8(r31) +/* 8028439C 002812DC 4B FF DF D1 */ bl __ct__Q27JStudio23TFunctionValue_constantFv +/* 802843A0 002812E0 7F E3 FB 78 */ mr r3, r31 +/* 802843A4 002812E4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802843A8 002812E8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802843AC 002812EC 7C 08 03 A6 */ mtlr r0 +/* 802843B0 002812F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802843B4 002812F4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock.s b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock.s new file mode 100644 index 0000000000..6a4d6b10cd --- /dev/null +++ b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock.s @@ -0,0 +1,33 @@ +/* 80284254 00281194 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80284258 00281198 7C 08 02 A6 */ mflr r0 +/* 8028425C 0028119C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80284260 002811A0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80284264 002811A4 7C 7F 1B 78 */ mr r31, r3 +/* 80284268 002811A8 7F E5 FB 78 */ mr r5, r31 +/* 8028426C 002811AC 80 84 00 00 */ lwz r4, 0(r4) +/* 80284270 002811B0 A0 04 00 06 */ lhz r0, 6(r4) +/* 80284274 002811B4 38 60 00 00 */ li r3, 0 +/* 80284278 002811B8 28 00 00 00 */ cmplwi r0, 0 +/* 8028427C 002811BC 41 82 00 08 */ beq lbl_80284284 +/* 80284280 002811C0 38 64 00 08 */ addi r3, r4, 8 +lbl_80284284: +/* 80284284 002811C4 90 65 00 00 */ stw r3, 0(r5) +/* 80284288 002811C8 90 05 00 04 */ stw r0, 4(r5) +/* 8028428C 002811CC 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha +/* 80284290 002811D0 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l +/* 80284294 002811D4 90 05 00 08 */ stw r0, 8(r5) +/* 80284298 002811D8 38 00 00 00 */ li r0, 0 +/* 8028429C 002811DC 90 05 00 0C */ stw r0, 0xc(r5) +/* 802842A0 002811E0 90 05 00 10 */ stw r0, 0x10(r5) +/* 802842A4 002811E4 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802842A8 002811E8 90 65 00 14 */ stw r3, 0x14(r5) +/* 802842AC 002811EC 3C 80 80 3C */ lis r4, lbl_803C4AA0@ha +/* 802842B0 002811F0 38 04 4A A0 */ addi r0, r4, lbl_803C4AA0@l +/* 802842B4 002811F4 90 1F 00 08 */ stw r0, 8(r31) +/* 802842B8 002811F8 4B FF DA A5 */ bl __ct__Q27JStudio24TFunctionValue_compositeFv +/* 802842BC 002811FC 7F E3 FB 78 */ mr r3, r31 +/* 802842C0 00281200 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802842C4 00281204 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802842C8 00281208 7C 08 03 A6 */ mtlr r0 +/* 802842CC 0028120C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802842D0 00281210 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock.s b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock.s new file mode 100644 index 0000000000..60edc99984 --- /dev/null +++ b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock.s @@ -0,0 +1,33 @@ +/* 802843C8 00281308 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802843CC 0028130C 7C 08 02 A6 */ mflr r0 +/* 802843D0 00281310 90 01 00 14 */ stw r0, 0x14(r1) +/* 802843D4 00281314 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802843D8 00281318 7C 7F 1B 78 */ mr r31, r3 +/* 802843DC 0028131C 7F E5 FB 78 */ mr r5, r31 +/* 802843E0 00281320 80 84 00 00 */ lwz r4, 0(r4) +/* 802843E4 00281324 A0 04 00 06 */ lhz r0, 6(r4) +/* 802843E8 00281328 38 60 00 00 */ li r3, 0 +/* 802843EC 0028132C 28 00 00 00 */ cmplwi r0, 0 +/* 802843F0 00281330 41 82 00 08 */ beq lbl_802843F8 +/* 802843F4 00281334 38 64 00 08 */ addi r3, r4, 8 +lbl_802843F8: +/* 802843F8 00281338 90 65 00 00 */ stw r3, 0(r5) +/* 802843FC 0028133C 90 05 00 04 */ stw r0, 4(r5) +/* 80284400 00281340 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha +/* 80284404 00281344 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l +/* 80284408 00281348 90 05 00 08 */ stw r0, 8(r5) +/* 8028440C 0028134C 38 00 00 00 */ li r0, 0 +/* 80284410 00281350 90 05 00 0C */ stw r0, 0xc(r5) +/* 80284414 00281354 90 05 00 10 */ stw r0, 0x10(r5) +/* 80284418 00281358 38 7F 00 18 */ addi r3, r31, 0x18 +/* 8028441C 0028135C 90 65 00 14 */ stw r3, 0x14(r5) +/* 80284420 00281360 3C 80 80 3C */ lis r4, lbl_803C4A80@ha +/* 80284424 00281364 38 04 4A 80 */ addi r0, r4, lbl_803C4A80@l +/* 80284428 00281368 90 1F 00 08 */ stw r0, 8(r31) +/* 8028442C 0028136C 4B FF DF C1 */ bl __ct__Q27JStudio25TFunctionValue_transitionFv +/* 80284430 00281370 7F E3 FB 78 */ mr r3, r31 +/* 80284434 00281374 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80284438 00281378 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8028443C 0028137C 7C 08 03 A6 */ mtlr r0 +/* 80284440 00281380 38 21 00 10 */ addi r1, r1, 0x10 +/* 80284444 00281384 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock.s b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock.s new file mode 100644 index 0000000000..61eeca27a7 --- /dev/null +++ b/include/JSystem/JStudio/asm/__ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock.s @@ -0,0 +1,33 @@ +/* 80284500 00281440 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80284504 00281444 7C 08 02 A6 */ mflr r0 +/* 80284508 00281448 90 01 00 14 */ stw r0, 0x14(r1) +/* 8028450C 0028144C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80284510 00281450 7C 7F 1B 78 */ mr r31, r3 +/* 80284514 00281454 7F E5 FB 78 */ mr r5, r31 +/* 80284518 00281458 80 84 00 00 */ lwz r4, 0(r4) +/* 8028451C 0028145C A0 04 00 06 */ lhz r0, 6(r4) +/* 80284520 00281460 38 60 00 00 */ li r3, 0 +/* 80284524 00281464 28 00 00 00 */ cmplwi r0, 0 +/* 80284528 00281468 41 82 00 08 */ beq lbl_80284530 +/* 8028452C 0028146C 38 64 00 08 */ addi r3, r4, 8 +lbl_80284530: +/* 80284530 00281470 90 65 00 00 */ stw r3, 0(r5) +/* 80284534 00281474 90 05 00 04 */ stw r0, 4(r5) +/* 80284538 00281478 3C 60 80 3C */ lis r3, lbl_803C4AB0@ha +/* 8028453C 0028147C 38 03 4A B0 */ addi r0, r3, lbl_803C4AB0@l +/* 80284540 00281480 90 05 00 08 */ stw r0, 8(r5) +/* 80284544 00281484 38 00 00 00 */ li r0, 0 +/* 80284548 00281488 90 05 00 0C */ stw r0, 0xc(r5) +/* 8028454C 0028148C 90 05 00 10 */ stw r0, 0x10(r5) +/* 80284550 00281490 38 7F 00 18 */ addi r3, r31, 0x18 +/* 80284554 00281494 90 65 00 14 */ stw r3, 0x14(r5) +/* 80284558 00281498 3C 80 80 3C */ lis r4, lbl_803C4A60@ha +/* 8028455C 0028149C 38 04 4A 60 */ addi r0, r4, lbl_803C4A60@l +/* 80284560 002814A0 90 1F 00 08 */ stw r0, 8(r31) +/* 80284564 002814A4 4B FF E7 D1 */ bl __ct__Q27JStudio29TFunctionValue_list_parameterFv +/* 80284568 002814A8 7F E3 FB 78 */ mr r3, r31 +/* 8028456C 002814AC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80284570 002814B0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80284574 002814B4 7C 08 03 A6 */ mtlr r0 +/* 80284578 002814B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8028457C 002814BC 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..45c1bf7cb5 --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,35 @@ +/* 80282094 0027EFD4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80282098 0027EFD8 7C 08 02 A6 */ mflr r0 +/* 8028209C 0027EFDC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802820A0 0027EFE0 DB E1 00 18 */ stfd f31, 0x18(r1) +/* 802820A4 0027EFE4 DB C1 00 10 */ stfd f30, 0x10(r1) +/* 802820A8 0027EFE8 FF C0 08 90 */ fmr f30, f1 +/* 802820AC 0027EFEC CB E4 00 00 */ lfd f31, 0(r4) +/* 802820B0 0027EFF0 80 03 00 08 */ lwz r0, 8(r3) +/* 802820B4 0027EFF4 80 63 00 04 */ lwz r3, 4(r3) +/* 802820B8 0027EFF8 90 61 00 08 */ stw r3, 8(r1) +/* 802820BC 0027EFFC 90 01 00 0C */ stw r0, 0xc(r1) +/* 802820C0 0027F000 48 00 00 2C */ b lbl_802820EC +lbl_802820C4: +/* 802820C4 0027F004 80 61 00 08 */ lwz r3, 8(r1) +/* 802820C8 0027F008 38 03 00 04 */ addi r0, r3, 4 +/* 802820CC 0027F00C 90 01 00 08 */ stw r0, 8(r1) +/* 802820D0 0027F010 80 63 00 00 */ lwz r3, 0(r3) +/* 802820D4 0027F014 FC 20 F0 90 */ fmr f1, f30 +/* 802820D8 0027F018 81 83 00 00 */ lwz r12, 0(r3) +/* 802820DC 0027F01C 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 802820E0 0027F020 7D 89 03 A6 */ mtctr r12 +/* 802820E4 0027F024 4E 80 04 21 */ bctrl +/* 802820E8 0027F028 FF FF 08 2A */ fadd f31, f31, f1 +lbl_802820EC: +/* 802820EC 0027F02C 80 61 00 08 */ lwz r3, 8(r1) +/* 802820F0 0027F030 80 01 00 0C */ lwz r0, 0xc(r1) +/* 802820F4 0027F034 7C 03 00 40 */ cmplw r3, r0 +/* 802820F8 0027F038 40 82 FF CC */ bne lbl_802820C4 +/* 802820FC 0027F03C FC 20 F8 90 */ fmr f1, f31 +/* 80282100 0027F040 CB E1 00 18 */ lfd f31, 0x18(r1) +/* 80282104 0027F044 CB C1 00 10 */ lfd f30, 0x10(r1) +/* 80282108 0027F048 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8028210C 0027F04C 7C 08 03 A6 */ mtlr r0 +/* 80282110 0027F050 38 21 00 20 */ addi r1, r1, 0x20 +/* 80282114 0027F054 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_divide__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_divide__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..8b4312cee2 --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_divide__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,64 @@ +/* 80282284 0027F1C4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80282288 0027F1C8 7C 08 02 A6 */ mflr r0 +/* 8028228C 0027F1CC 90 01 00 34 */ stw r0, 0x34(r1) +/* 80282290 0027F1D0 DB E1 00 28 */ stfd f31, 0x28(r1) +/* 80282294 0027F1D4 DB C1 00 20 */ stfd f30, 0x20(r1) +/* 80282298 0027F1D8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8028229C 0027F1DC 7C 9F 23 78 */ mr r31, r4 +/* 802822A0 0027F1E0 FF C0 08 90 */ fmr f30, f1 +/* 802822A4 0027F1E4 80 83 00 04 */ lwz r4, 4(r3) +/* 802822A8 0027F1E8 28 04 00 00 */ cmplwi r4, 0 +/* 802822AC 0027F1EC 40 82 00 0C */ bne lbl_802822B8 +/* 802822B0 0027F1F0 38 00 00 00 */ li r0, 0 +/* 802822B4 0027F1F4 48 00 00 14 */ b lbl_802822C8 +lbl_802822B8: +/* 802822B8 0027F1F8 80 03 00 08 */ lwz r0, 8(r3) +/* 802822BC 0027F1FC 7C 04 00 50 */ subf r0, r4, r0 +/* 802822C0 0027F200 7C 00 16 70 */ srawi r0, r0, 2 +/* 802822C4 0027F204 7C 00 01 94 */ addze r0, r0 +lbl_802822C8: +/* 802822C8 0027F208 28 00 00 00 */ cmplwi r0, 0 +/* 802822CC 0027F20C 40 82 00 0C */ bne lbl_802822D8 +/* 802822D0 0027F210 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) +/* 802822D4 0027F214 48 00 00 7C */ b lbl_80282350 +lbl_802822D8: +/* 802822D8 0027F218 80 03 00 08 */ lwz r0, 8(r3) +/* 802822DC 0027F21C 90 81 00 08 */ stw r4, 8(r1) +/* 802822E0 0027F220 90 01 00 0C */ stw r0, 0xc(r1) +/* 802822E4 0027F224 38 04 00 04 */ addi r0, r4, 4 +/* 802822E8 0027F228 90 01 00 08 */ stw r0, 8(r1) +/* 802822EC 0027F22C 80 64 00 00 */ lwz r3, 0(r4) +/* 802822F0 0027F230 FC 20 F0 90 */ fmr f1, f30 +/* 802822F4 0027F234 81 83 00 00 */ lwz r12, 0(r3) +/* 802822F8 0027F238 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 802822FC 0027F23C 7D 89 03 A6 */ mtctr r12 +/* 80282300 0027F240 4E 80 04 21 */ bctrl +/* 80282304 0027F244 FF E0 08 90 */ fmr f31, f1 +/* 80282308 0027F248 48 00 00 2C */ b lbl_80282334 +lbl_8028230C: +/* 8028230C 0027F24C 80 61 00 08 */ lwz r3, 8(r1) +/* 80282310 0027F250 38 03 00 04 */ addi r0, r3, 4 +/* 80282314 0027F254 90 01 00 08 */ stw r0, 8(r1) +/* 80282318 0027F258 80 63 00 00 */ lwz r3, 0(r3) +/* 8028231C 0027F25C FC 20 F0 90 */ fmr f1, f30 +/* 80282320 0027F260 81 83 00 00 */ lwz r12, 0(r3) +/* 80282324 0027F264 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80282328 0027F268 7D 89 03 A6 */ mtctr r12 +/* 8028232C 0027F26C 4E 80 04 21 */ bctrl +/* 80282330 0027F270 FF FF 08 24 */ fdiv f31, f31, f1 +lbl_80282334: +/* 80282334 0027F274 80 61 00 08 */ lwz r3, 8(r1) +/* 80282338 0027F278 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8028233C 0027F27C 7C 03 00 40 */ cmplw r3, r0 +/* 80282340 0027F280 40 82 FF CC */ bne lbl_8028230C +/* 80282344 0027F284 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80282348 0027F288 FF FF 00 24 */ fdiv f31, f31, f0 +/* 8028234C 0027F28C FC 20 F8 90 */ fmr f1, f31 +lbl_80282350: +/* 80282350 0027F290 CB E1 00 28 */ lfd f31, 0x28(r1) +/* 80282354 0027F294 CB C1 00 20 */ lfd f30, 0x20(r1) +/* 80282358 0027F298 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8028235C 0027F29C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80282360 0027F2A0 7C 08 03 A6 */ mtlr r0 +/* 80282364 0027F2A4 38 21 00 30 */ addi r1, r1, 0x30 +/* 80282368 0027F2A8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..50057d0af2 --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,100 @@ +/* 80281EC8 0027EE08 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80281ECC 0027EE0C 7C 08 02 A6 */ mflr r0 +/* 80281ED0 0027EE10 90 01 00 44 */ stw r0, 0x44(r1) +/* 80281ED4 0027EE14 DB E1 00 38 */ stfd f31, 0x38(r1) +/* 80281ED8 0027EE18 39 61 00 38 */ addi r11, r1, 0x38 +/* 80281EDC 0027EE1C 48 0E 03 01 */ bl _savegpr_29 +/* 80281EE0 0027EE20 7C 9D 23 78 */ mr r29, r4 +/* 80281EE4 0027EE24 FF E0 08 90 */ fmr f31, f1 +/* 80281EE8 0027EE28 83 C3 00 04 */ lwz r30, 4(r3) +/* 80281EEC 0027EE2C 28 1E 00 00 */ cmplwi r30, 0 +/* 80281EF0 0027EE30 40 82 00 0C */ bne lbl_80281EFC +/* 80281EF4 0027EE34 3B E0 00 00 */ li r31, 0 +/* 80281EF8 0027EE38 48 00 00 14 */ b lbl_80281F0C +lbl_80281EFC: +/* 80281EFC 0027EE3C 80 03 00 08 */ lwz r0, 8(r3) +/* 80281F00 0027EE40 7C 1E 00 50 */ subf r0, r30, r0 +/* 80281F04 0027EE44 7C 00 16 70 */ srawi r0, r0, 2 +/* 80281F08 0027EE48 7F E0 01 94 */ addze r31, r0 +lbl_80281F0C: +/* 80281F0C 0027EE4C 2C 1F 00 01 */ cmpwi r31, 1 +/* 80281F10 0027EE50 41 81 00 0C */ bgt lbl_80281F1C +/* 80281F14 0027EE54 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) +/* 80281F18 0027EE58 48 00 00 F8 */ b lbl_80282010 +lbl_80281F1C: +/* 80281F1C 0027EE5C 80 7E 00 00 */ lwz r3, 0(r30) +/* 80281F20 0027EE60 FC 20 F8 90 */ fmr f1, f31 +/* 80281F24 0027EE64 81 83 00 00 */ lwz r12, 0(r3) +/* 80281F28 0027EE68 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80281F2C 0027EE6C 7D 89 03 A6 */ mtctr r12 +/* 80281F30 0027EE70 4E 80 04 21 */ bctrl +/* 80281F34 0027EE74 48 0E A1 C9 */ bl func_8036C0FC +/* 80281F38 0027EE78 FC 00 08 1E */ fctiwz f0, f1 +/* 80281F3C 0027EE7C D8 01 00 18 */ stfd f0, 0x18(r1) +/* 80281F40 0027EE80 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 80281F44 0027EE84 80 1D 00 00 */ lwz r0, 0(r29) +/* 80281F48 0027EE88 2C 00 00 02 */ cmpwi r0, 2 +/* 80281F4C 0027EE8C 41 82 00 5C */ beq lbl_80281FA8 +/* 80281F50 0027EE90 40 80 00 10 */ bge lbl_80281F60 +/* 80281F54 0027EE94 2C 00 00 00 */ cmpwi r0, 0 +/* 80281F58 0027EE98 41 82 00 08 */ beq lbl_80281F60 +/* 80281F5C 0027EE9C 40 80 00 28 */ bge lbl_80281F84 +lbl_80281F60: +/* 80281F60 0027EEA0 2C 03 00 00 */ cmpwi r3, 0 +/* 80281F64 0027EEA4 40 80 00 0C */ bge lbl_80281F70 +/* 80281F68 0027EEA8 38 60 00 00 */ li r3, 0 +/* 80281F6C 0027EEAC 48 00 00 84 */ b lbl_80281FF0 +lbl_80281F70: +/* 80281F70 0027EEB0 38 1F FF FF */ addi r0, r31, -1 +/* 80281F74 0027EEB4 7C 03 00 00 */ cmpw r3, r0 +/* 80281F78 0027EEB8 41 80 00 78 */ blt lbl_80281FF0 +/* 80281F7C 0027EEBC 38 7F FF FE */ addi r3, r31, -2 +/* 80281F80 0027EEC0 48 00 00 70 */ b lbl_80281FF0 +lbl_80281F84: +/* 80281F84 0027EEC4 38 9F FF FF */ addi r4, r31, -1 +/* 80281F88 0027EEC8 48 0E 30 F1 */ bl func_80365078 +/* 80281F8C 0027EECC 90 81 00 14 */ stw r4, 0x14(r1) +/* 80281F90 0027EED0 90 61 00 10 */ stw r3, 0x10(r1) +/* 80281F94 0027EED4 7C 83 23 79 */ or. r3, r4, r4 +/* 80281F98 0027EED8 40 80 00 58 */ bge lbl_80281FF0 +/* 80281F9C 0027EEDC 7C 7F 1A 14 */ add r3, r31, r3 +/* 80281FA0 0027EEE0 38 63 FF FF */ addi r3, r3, -1 +/* 80281FA4 0027EEE4 48 00 00 4C */ b lbl_80281FF0 +lbl_80281FA8: +/* 80281FA8 0027EEE8 38 1F FF FF */ addi r0, r31, -1 +/* 80281FAC 0027EEEC 2C 00 00 01 */ cmpwi r0, 1 +/* 80281FB0 0027EEF0 40 82 00 0C */ bne lbl_80281FBC +/* 80281FB4 0027EEF4 38 60 00 00 */ li r3, 0 +/* 80281FB8 0027EEF8 48 00 00 38 */ b lbl_80281FF0 +lbl_80281FBC: +/* 80281FBC 0027EEFC 38 1F FF FE */ addi r0, r31, -2 +/* 80281FC0 0027EF00 54 1D 08 3C */ slwi r29, r0, 1 +/* 80281FC4 0027EF04 7F A4 EB 78 */ mr r4, r29 +/* 80281FC8 0027EF08 48 0E 30 B1 */ bl func_80365078 +/* 80281FCC 0027EF0C 90 81 00 0C */ stw r4, 0xc(r1) +/* 80281FD0 0027EF10 90 61 00 08 */ stw r3, 8(r1) +/* 80281FD4 0027EF14 7C 83 23 79 */ or. r3, r4, r4 +/* 80281FD8 0027EF18 40 80 00 08 */ bge lbl_80281FE0 +/* 80281FDC 0027EF1C 7C 63 EA 14 */ add r3, r3, r29 +lbl_80281FE0: +/* 80281FE0 0027EF20 38 1F FF FF */ addi r0, r31, -1 +/* 80281FE4 0027EF24 7C 03 00 00 */ cmpw r3, r0 +/* 80281FE8 0027EF28 41 80 00 08 */ blt lbl_80281FF0 +/* 80281FEC 0027EF2C 7C 63 E8 50 */ subf r3, r3, r29 +lbl_80281FF0: +/* 80281FF0 0027EF30 38 03 00 01 */ addi r0, r3, 1 +/* 80281FF4 0027EF34 54 00 10 3A */ slwi r0, r0, 2 +/* 80281FF8 0027EF38 7C 7E 00 2E */ lwzx r3, r30, r0 +/* 80281FFC 0027EF3C FC 20 F8 90 */ fmr f1, f31 +/* 80282000 0027EF40 81 83 00 00 */ lwz r12, 0(r3) +/* 80282004 0027EF44 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80282008 0027EF48 7D 89 03 A6 */ mtctr r12 +/* 8028200C 0027EF4C 4E 80 04 21 */ bctrl +lbl_80282010: +/* 80282010 0027EF50 CB E1 00 38 */ lfd f31, 0x38(r1) +/* 80282014 0027EF54 39 61 00 38 */ addi r11, r1, 0x38 +/* 80282018 0027EF58 48 0E 02 11 */ bl _restgpr_29 +/* 8028201C 0027EF5C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80282020 0027EF60 7C 08 03 A6 */ mtlr r0 +/* 80282024 0027EF64 38 21 00 40 */ addi r1, r1, 0x40 +/* 80282028 0027EF68 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..315f35e1f1 --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,35 @@ +/* 80282200 0027F140 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80282204 0027F144 7C 08 02 A6 */ mflr r0 +/* 80282208 0027F148 90 01 00 24 */ stw r0, 0x24(r1) +/* 8028220C 0027F14C DB E1 00 18 */ stfd f31, 0x18(r1) +/* 80282210 0027F150 DB C1 00 10 */ stfd f30, 0x10(r1) +/* 80282214 0027F154 FF C0 08 90 */ fmr f30, f1 +/* 80282218 0027F158 CB E4 00 00 */ lfd f31, 0(r4) +/* 8028221C 0027F15C 80 03 00 08 */ lwz r0, 8(r3) +/* 80282220 0027F160 80 63 00 04 */ lwz r3, 4(r3) +/* 80282224 0027F164 90 61 00 08 */ stw r3, 8(r1) +/* 80282228 0027F168 90 01 00 0C */ stw r0, 0xc(r1) +/* 8028222C 0027F16C 48 00 00 2C */ b lbl_80282258 +lbl_80282230: +/* 80282230 0027F170 80 61 00 08 */ lwz r3, 8(r1) +/* 80282234 0027F174 38 03 00 04 */ addi r0, r3, 4 +/* 80282238 0027F178 90 01 00 08 */ stw r0, 8(r1) +/* 8028223C 0027F17C 80 63 00 00 */ lwz r3, 0(r3) +/* 80282240 0027F180 FC 20 F0 90 */ fmr f1, f30 +/* 80282244 0027F184 81 83 00 00 */ lwz r12, 0(r3) +/* 80282248 0027F188 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 8028224C 0027F18C 7D 89 03 A6 */ mtctr r12 +/* 80282250 0027F190 4E 80 04 21 */ bctrl +/* 80282254 0027F194 FF FF 00 72 */ fmul f31, f31, f1 +lbl_80282258: +/* 80282258 0027F198 80 61 00 08 */ lwz r3, 8(r1) +/* 8028225C 0027F19C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 80282260 0027F1A0 7C 03 00 40 */ cmplw r3, r0 +/* 80282264 0027F1A4 40 82 FF CC */ bne lbl_80282230 +/* 80282268 0027F1A8 FC 20 F8 90 */ fmr f1, f31 +/* 8028226C 0027F1AC CB E1 00 18 */ lfd f31, 0x18(r1) +/* 80282270 0027F1B0 CB C1 00 10 */ lfd f30, 0x10(r1) +/* 80282274 0027F1B4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80282278 0027F1B8 7C 08 03 A6 */ mtlr r0 +/* 8028227C 0027F1BC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80282280 0027F1C0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..94df2bf0b4 --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,28 @@ +/* 8028202C 0027EF6C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80282030 0027EF70 7C 08 02 A6 */ mflr r0 +/* 80282034 0027EF74 90 01 00 14 */ stw r0, 0x14(r1) +/* 80282038 0027EF78 C8 04 00 00 */ lfd f0, 0(r4) +/* 8028203C 0027EF7C FC 21 00 28 */ fsub f1, f1, f0 +/* 80282040 0027EF80 80 03 00 08 */ lwz r0, 8(r3) +/* 80282044 0027EF84 80 63 00 04 */ lwz r3, 4(r3) +/* 80282048 0027EF88 90 61 00 08 */ stw r3, 8(r1) +/* 8028204C 0027EF8C 90 01 00 0C */ stw r0, 0xc(r1) +/* 80282050 0027EF90 48 00 00 24 */ b lbl_80282074 +lbl_80282054: +/* 80282054 0027EF94 80 61 00 08 */ lwz r3, 8(r1) +/* 80282058 0027EF98 38 03 00 04 */ addi r0, r3, 4 +/* 8028205C 0027EF9C 90 01 00 08 */ stw r0, 8(r1) +/* 80282060 0027EFA0 80 63 00 00 */ lwz r3, 0(r3) +/* 80282064 0027EFA4 81 83 00 00 */ lwz r12, 0(r3) +/* 80282068 0027EFA8 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 8028206C 0027EFAC 7D 89 03 A6 */ mtctr r12 +/* 80282070 0027EFB0 4E 80 04 21 */ bctrl +lbl_80282074: +/* 80282074 0027EFB4 80 61 00 08 */ lwz r3, 8(r1) +/* 80282078 0027EFB8 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8028207C 0027EFBC 7C 03 00 40 */ cmplw r3, r0 +/* 80282080 0027EFC0 40 82 FF D4 */ bne lbl_80282054 +/* 80282084 0027EFC4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80282088 0027EFC8 7C 08 03 A6 */ mtlr r0 +/* 8028208C 0027EFCC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80282090 0027EFD0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..eb5098e6c4 --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,31 @@ +/* 80281E5C 0027ED9C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80281E60 0027EDA0 7C 08 02 A6 */ mflr r0 +/* 80281E64 0027EDA4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80281E68 0027EDA8 80 84 00 00 */ lwz r4, 0(r4) +/* 80281E6C 0027EDAC 80 A3 00 04 */ lwz r5, 4(r3) +/* 80281E70 0027EDB0 28 05 00 00 */ cmplwi r5, 0 +/* 80281E74 0027EDB4 40 82 00 0C */ bne lbl_80281E80 +/* 80281E78 0027EDB8 38 00 00 00 */ li r0, 0 +/* 80281E7C 0027EDBC 48 00 00 14 */ b lbl_80281E90 +lbl_80281E80: +/* 80281E80 0027EDC0 80 03 00 08 */ lwz r0, 8(r3) +/* 80281E84 0027EDC4 7C 05 00 50 */ subf r0, r5, r0 +/* 80281E88 0027EDC8 7C 00 16 70 */ srawi r0, r0, 2 +/* 80281E8C 0027EDCC 7C 00 01 94 */ addze r0, r0 +lbl_80281E90: +/* 80281E90 0027EDD0 7C 04 00 40 */ cmplw r4, r0 +/* 80281E94 0027EDD4 41 80 00 0C */ blt lbl_80281EA0 +/* 80281E98 0027EDD8 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) +/* 80281E9C 0027EDDC 48 00 00 1C */ b lbl_80281EB8 +lbl_80281EA0: +/* 80281EA0 0027EDE0 54 80 10 3A */ slwi r0, r4, 2 +/* 80281EA4 0027EDE4 7C 65 00 2E */ lwzx r3, r5, r0 +/* 80281EA8 0027EDE8 81 83 00 00 */ lwz r12, 0(r3) +/* 80281EAC 0027EDEC 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80281EB0 0027EDF0 7D 89 03 A6 */ mtctr r12 +/* 80281EB4 0027EDF4 4E 80 04 21 */ bctrl +lbl_80281EB8: +/* 80281EB8 0027EDF8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80281EBC 0027EDFC 7C 08 03 A6 */ mtlr r0 +/* 80281EC0 0027EE00 38 21 00 10 */ addi r1, r1, 0x10 +/* 80281EC4 0027EE04 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s b/include/JSystem/JStudio/asm/composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s new file mode 100644 index 0000000000..64fa8e61be --- /dev/null +++ b/include/JSystem/JStudio/asm/composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s @@ -0,0 +1,64 @@ +/* 80282118 0027F058 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8028211C 0027F05C 7C 08 02 A6 */ mflr r0 +/* 80282120 0027F060 90 01 00 34 */ stw r0, 0x34(r1) +/* 80282124 0027F064 DB E1 00 28 */ stfd f31, 0x28(r1) +/* 80282128 0027F068 DB C1 00 20 */ stfd f30, 0x20(r1) +/* 8028212C 0027F06C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80282130 0027F070 7C 9F 23 78 */ mr r31, r4 +/* 80282134 0027F074 FF C0 08 90 */ fmr f30, f1 +/* 80282138 0027F078 80 83 00 04 */ lwz r4, 4(r3) +/* 8028213C 0027F07C 28 04 00 00 */ cmplwi r4, 0 +/* 80282140 0027F080 40 82 00 0C */ bne lbl_8028214C +/* 80282144 0027F084 38 00 00 00 */ li r0, 0 +/* 80282148 0027F088 48 00 00 14 */ b lbl_8028215C +lbl_8028214C: +/* 8028214C 0027F08C 80 03 00 08 */ lwz r0, 8(r3) +/* 80282150 0027F090 7C 04 00 50 */ subf r0, r4, r0 +/* 80282154 0027F094 7C 00 16 70 */ srawi r0, r0, 2 +/* 80282158 0027F098 7C 00 01 94 */ addze r0, r0 +lbl_8028215C: +/* 8028215C 0027F09C 28 00 00 00 */ cmplwi r0, 0 +/* 80282160 0027F0A0 40 82 00 0C */ bne lbl_8028216C +/* 80282164 0027F0A4 C8 22 BA 00 */ lfd f1, lbl_80455400-_SDA2_BASE_(r2) +/* 80282168 0027F0A8 48 00 00 7C */ b lbl_802821E4 +lbl_8028216C: +/* 8028216C 0027F0AC 80 03 00 08 */ lwz r0, 8(r3) +/* 80282170 0027F0B0 90 81 00 08 */ stw r4, 8(r1) +/* 80282174 0027F0B4 90 01 00 0C */ stw r0, 0xc(r1) +/* 80282178 0027F0B8 38 04 00 04 */ addi r0, r4, 4 +/* 8028217C 0027F0BC 90 01 00 08 */ stw r0, 8(r1) +/* 80282180 0027F0C0 80 64 00 00 */ lwz r3, 0(r4) +/* 80282184 0027F0C4 FC 20 F0 90 */ fmr f1, f30 +/* 80282188 0027F0C8 81 83 00 00 */ lwz r12, 0(r3) +/* 8028218C 0027F0CC 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80282190 0027F0D0 7D 89 03 A6 */ mtctr r12 +/* 80282194 0027F0D4 4E 80 04 21 */ bctrl +/* 80282198 0027F0D8 FF E0 08 90 */ fmr f31, f1 +/* 8028219C 0027F0DC 48 00 00 2C */ b lbl_802821C8 +lbl_802821A0: +/* 802821A0 0027F0E0 80 61 00 08 */ lwz r3, 8(r1) +/* 802821A4 0027F0E4 38 03 00 04 */ addi r0, r3, 4 +/* 802821A8 0027F0E8 90 01 00 08 */ stw r0, 8(r1) +/* 802821AC 0027F0EC 80 63 00 00 */ lwz r3, 0(r3) +/* 802821B0 0027F0F0 FC 20 F0 90 */ fmr f1, f30 +/* 802821B4 0027F0F4 81 83 00 00 */ lwz r12, 0(r3) +/* 802821B8 0027F0F8 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 802821BC 0027F0FC 7D 89 03 A6 */ mtctr r12 +/* 802821C0 0027F100 4E 80 04 21 */ bctrl +/* 802821C4 0027F104 FF FF 08 28 */ fsub f31, f31, f1 +lbl_802821C8: +/* 802821C8 0027F108 80 61 00 08 */ lwz r3, 8(r1) +/* 802821CC 0027F10C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 802821D0 0027F110 7C 03 00 40 */ cmplw r3, r0 +/* 802821D4 0027F114 40 82 FF CC */ bne lbl_802821A0 +/* 802821D8 0027F118 C8 1F 00 00 */ lfd f0, 0(r31) +/* 802821DC 0027F11C FF FF 00 28 */ fsub f31, f31, f0 +/* 802821E0 0027F120 FC 20 F8 90 */ fmr f1, f31 +lbl_802821E4: +/* 802821E4 0027F124 CB E1 00 28 */ lfd f31, 0x28(r1) +/* 802821E8 0027F128 CB C1 00 20 */ lfd f30, 0x20(r1) +/* 802821EC 0027F12C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802821F0 0027F130 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802821F4 0027F134 7C 08 03 A6 */ mtlr r0 +/* 802821F8 0027F138 38 21 00 30 */ addi r1, r1, 0x30 +/* 802821FC 0027F13C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s b/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s new file mode 100644 index 0000000000..70968bbdb6 --- /dev/null +++ b/include/JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s @@ -0,0 +1,258 @@ +/* 80282858 0027F798 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 8028285C 0027F79C 7C 08 02 A6 */ mflr r0 +/* 80282860 0027F7A0 90 01 00 54 */ stw r0, 0x54(r1) +/* 80282864 0027F7A4 DB E1 00 40 */ stfd f31, 0x40(r1) +/* 80282868 0027F7A8 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 +/* 8028286C 0027F7AC DB C1 00 30 */ stfd f30, 0x30(r1) +/* 80282870 0027F7B0 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 +/* 80282874 0027F7B4 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80282878 0027F7B8 93 C1 00 28 */ stw r30, 0x28(r1) +/* 8028287C 0027F7BC 7C 7F 1B 78 */ mr r31, r3 +/* 80282880 0027F7C0 C8 63 00 28 */ lfd f3, 0x28(r3) +/* 80282884 0027F7C4 C8 43 00 30 */ lfd f2, 0x30(r3) +/* 80282888 0027F7C8 FC 01 18 28 */ fsub f0, f1, f3 +/* 8028288C 0027F7CC FC 02 00 32 */ fmul f0, f2, f0 +/* 80282890 0027F7D0 FC 43 00 2A */ fadd f2, f3, f0 +/* 80282894 0027F7D4 80 63 00 48 */ lwz r3, 0x48(r3) +/* 80282898 0027F7D8 3B C3 FF FF */ addi r30, r3, -1 +/* 8028289C 0027F7DC 88 7F 00 21 */ lbz r3, 0x21(r31) +/* 802828A0 0027F7E0 7C 63 07 74 */ extsb r3, r3 +/* 802828A4 0027F7E4 C8 22 BA 48 */ lfd f1, lbl_80455448-_SDA2_BASE_(r2) +/* 802828A8 0027F7E8 93 C1 00 24 */ stw r30, 0x24(r1) +/* 802828AC 0027F7EC 3C 00 43 30 */ lis r0, 0x4330 +/* 802828B0 0027F7F0 90 01 00 20 */ stw r0, 0x20(r1) +/* 802828B4 0027F7F4 C8 01 00 20 */ lfd f0, 0x20(r1) +/* 802828B8 0027F7F8 FF E0 08 28 */ fsub f31, f0, f1 +/* 802828BC 0027F7FC 2C 03 00 02 */ cmpwi r3, 2 +/* 802828C0 0027F800 41 82 01 2C */ beq lbl_802829EC +/* 802828C4 0027F804 40 80 00 14 */ bge lbl_802828D8 +/* 802828C8 0027F808 2C 03 00 00 */ cmpwi r3, 0 +/* 802828CC 0027F80C 41 82 00 1C */ beq lbl_802828E8 +/* 802828D0 0027F810 40 80 00 98 */ bge lbl_80282968 +/* 802828D4 0027F814 48 00 00 14 */ b lbl_802828E8 +lbl_802828D8: +/* 802828D8 0027F818 2C 03 00 04 */ cmpwi r3, 4 +/* 802828DC 0027F81C 41 82 02 2C */ beq lbl_80282B08 +/* 802828E0 0027F820 40 80 00 08 */ bge lbl_802828E8 +/* 802828E4 0027F824 48 00 01 90 */ b lbl_80282A74 +lbl_802828E8: +/* 802828E8 0027F828 C8 1F 00 08 */ lfd f0, 8(r31) +/* 802828EC 0027F82C FF C2 00 28 */ fsub f30, f2, f0 +/* 802828F0 0027F830 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 802828F4 0027F834 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 802828F8 0027F838 40 80 00 28 */ bge lbl_80282920 +/* 802828FC 0027F83C 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 80282900 0027F840 4B FF ED 49 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282904 0027F844 FC 20 F0 90 */ fmr f1, f30 +/* 80282908 0027F848 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 8028290C 0027F84C 7C 6C 1B 78 */ mr r12, r3 +/* 80282910 0027F850 7D 89 03 A6 */ mtctr r12 +/* 80282914 0027F854 4E 80 04 21 */ bctrl +/* 80282918 0027F858 FF C0 08 90 */ fmr f30, f1 +/* 8028291C 0027F85C 48 00 00 34 */ b lbl_80282950 +lbl_80282920: +/* 80282920 0027F860 C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 80282924 0027F864 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282928 0027F868 4C 41 13 82 */ cror 2, 1, 2 +/* 8028292C 0027F86C 40 82 00 24 */ bne lbl_80282950 +/* 80282930 0027F870 80 7F 00 3C */ lwz r3, 0x3c(r31) +/* 80282934 0027F874 4B FF ED 15 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282938 0027F878 FC 20 F0 90 */ fmr f1, f30 +/* 8028293C 0027F87C C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282940 0027F880 7C 6C 1B 78 */ mr r12, r3 +/* 80282944 0027F884 7D 89 03 A6 */ mtctr r12 +/* 80282948 0027F888 4E 80 04 21 */ bctrl +/* 8028294C 0027F88C FF C0 08 90 */ fmr f30, f1 +lbl_80282950: +/* 80282950 0027F890 C8 1F 00 08 */ lfd f0, 8(r31) +/* 80282954 0027F894 FF DE 00 2A */ fadd f30, f30, f0 +/* 80282958 0027F898 C8 1F 00 50 */ lfd f0, 0x50(r31) +/* 8028295C 0027F89C FC 1E 00 24 */ fdiv f0, f30, f0 +/* 80282960 0027F8A0 D8 01 00 08 */ stfd f0, 8(r1) +/* 80282964 0027F8A4 48 00 02 28 */ b lbl_80282B8C +lbl_80282968: +/* 80282968 0027F8A8 C8 1F 00 08 */ lfd f0, 8(r31) +/* 8028296C 0027F8AC FF C2 00 2A */ fadd f30, f2, f0 +/* 80282970 0027F8B0 FF DE 00 28 */ fsub f30, f30, f0 +/* 80282974 0027F8B4 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80282978 0027F8B8 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 8028297C 0027F8BC 40 80 00 28 */ bge lbl_802829A4 +/* 80282980 0027F8C0 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 80282984 0027F8C4 4B FF EC C5 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282988 0027F8C8 FC 20 F0 90 */ fmr f1, f30 +/* 8028298C 0027F8CC C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282990 0027F8D0 7C 6C 1B 78 */ mr r12, r3 +/* 80282994 0027F8D4 7D 89 03 A6 */ mtctr r12 +/* 80282998 0027F8D8 4E 80 04 21 */ bctrl +/* 8028299C 0027F8DC FF C0 08 90 */ fmr f30, f1 +/* 802829A0 0027F8E0 48 00 00 34 */ b lbl_802829D4 +lbl_802829A4: +/* 802829A4 0027F8E4 C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 802829A8 0027F8E8 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 802829AC 0027F8EC 4C 41 13 82 */ cror 2, 1, 2 +/* 802829B0 0027F8F0 40 82 00 24 */ bne lbl_802829D4 +/* 802829B4 0027F8F4 80 7F 00 3C */ lwz r3, 0x3c(r31) +/* 802829B8 0027F8F8 4B FF EC 91 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 802829BC 0027F8FC FC 20 F0 90 */ fmr f1, f30 +/* 802829C0 0027F900 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 802829C4 0027F904 7C 6C 1B 78 */ mr r12, r3 +/* 802829C8 0027F908 7D 89 03 A6 */ mtctr r12 +/* 802829CC 0027F90C 4E 80 04 21 */ bctrl +/* 802829D0 0027F910 FF C0 08 90 */ fmr f30, f1 +lbl_802829D4: +/* 802829D4 0027F914 C8 1F 00 08 */ lfd f0, 8(r31) +/* 802829D8 0027F918 FF DE 00 2A */ fadd f30, f30, f0 +/* 802829DC 0027F91C C8 1F 00 50 */ lfd f0, 0x50(r31) +/* 802829E0 0027F920 FC 1E 00 24 */ fdiv f0, f30, f0 +/* 802829E4 0027F924 D8 01 00 08 */ stfd f0, 8(r1) +/* 802829E8 0027F928 48 00 01 A4 */ b lbl_80282B8C +lbl_802829EC: +/* 802829EC 0027F92C C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 802829F0 0027F930 FF C2 00 2A */ fadd f30, f2, f0 +/* 802829F4 0027F934 C8 1F 00 08 */ lfd f0, 8(r31) +/* 802829F8 0027F938 FF DE 00 28 */ fsub f30, f30, f0 +/* 802829FC 0027F93C C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80282A00 0027F940 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282A04 0027F944 40 80 00 28 */ bge lbl_80282A2C +/* 80282A08 0027F948 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 80282A0C 0027F94C 4B FF EC 3D */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282A10 0027F950 FC 20 F0 90 */ fmr f1, f30 +/* 80282A14 0027F954 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282A18 0027F958 7C 6C 1B 78 */ mr r12, r3 +/* 80282A1C 0027F95C 7D 89 03 A6 */ mtctr r12 +/* 80282A20 0027F960 4E 80 04 21 */ bctrl +/* 80282A24 0027F964 FF C0 08 90 */ fmr f30, f1 +/* 80282A28 0027F968 48 00 00 34 */ b lbl_80282A5C +lbl_80282A2C: +/* 80282A2C 0027F96C C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 80282A30 0027F970 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282A34 0027F974 4C 41 13 82 */ cror 2, 1, 2 +/* 80282A38 0027F978 40 82 00 24 */ bne lbl_80282A5C +/* 80282A3C 0027F97C 80 7F 00 3C */ lwz r3, 0x3c(r31) +/* 80282A40 0027F980 4B FF EC 09 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282A44 0027F984 FC 20 F0 90 */ fmr f1, f30 +/* 80282A48 0027F988 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282A4C 0027F98C 7C 6C 1B 78 */ mr r12, r3 +/* 80282A50 0027F990 7D 89 03 A6 */ mtctr r12 +/* 80282A54 0027F994 4E 80 04 21 */ bctrl +/* 80282A58 0027F998 FF C0 08 90 */ fmr f30, f1 +lbl_80282A5C: +/* 80282A5C 0027F99C C8 1F 00 08 */ lfd f0, 8(r31) +/* 80282A60 0027F9A0 FF DE 00 2A */ fadd f30, f30, f0 +/* 80282A64 0027F9A4 C8 1F 00 50 */ lfd f0, 0x50(r31) +/* 80282A68 0027F9A8 FC 1E 00 24 */ fdiv f0, f30, f0 +/* 80282A6C 0027F9AC D8 01 00 08 */ stfd f0, 8(r1) +/* 80282A70 0027F9B0 48 00 01 1C */ b lbl_80282B8C +lbl_80282A74: +/* 80282A74 0027F9B4 C8 22 BA 28 */ lfd f1, lbl_80455428-_SDA2_BASE_(r2) +/* 80282A78 0027F9B8 C8 7F 00 08 */ lfd f3, 8(r31) +/* 80282A7C 0027F9BC C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80282A80 0027F9C0 FC 03 00 2A */ fadd f0, f3, f0 +/* 80282A84 0027F9C4 FC 01 00 32 */ fmul f0, f1, f0 +/* 80282A88 0027F9C8 FF C2 00 2A */ fadd f30, f2, f0 +/* 80282A8C 0027F9CC FF DE 18 28 */ fsub f30, f30, f3 +/* 80282A90 0027F9D0 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80282A94 0027F9D4 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282A98 0027F9D8 40 80 00 28 */ bge lbl_80282AC0 +/* 80282A9C 0027F9DC 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 80282AA0 0027F9E0 4B FF EB A9 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282AA4 0027F9E4 FC 20 F0 90 */ fmr f1, f30 +/* 80282AA8 0027F9E8 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282AAC 0027F9EC 7C 6C 1B 78 */ mr r12, r3 +/* 80282AB0 0027F9F0 7D 89 03 A6 */ mtctr r12 +/* 80282AB4 0027F9F4 4E 80 04 21 */ bctrl +/* 80282AB8 0027F9F8 FF C0 08 90 */ fmr f30, f1 +/* 80282ABC 0027F9FC 48 00 00 34 */ b lbl_80282AF0 +lbl_80282AC0: +/* 80282AC0 0027FA00 C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 80282AC4 0027FA04 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282AC8 0027FA08 4C 41 13 82 */ cror 2, 1, 2 +/* 80282ACC 0027FA0C 40 82 00 24 */ bne lbl_80282AF0 +/* 80282AD0 0027FA10 80 7F 00 3C */ lwz r3, 0x3c(r31) +/* 80282AD4 0027FA14 4B FF EB 75 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282AD8 0027FA18 FC 20 F0 90 */ fmr f1, f30 +/* 80282ADC 0027FA1C C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282AE0 0027FA20 7C 6C 1B 78 */ mr r12, r3 +/* 80282AE4 0027FA24 7D 89 03 A6 */ mtctr r12 +/* 80282AE8 0027FA28 4E 80 04 21 */ bctrl +/* 80282AEC 0027FA2C FF C0 08 90 */ fmr f30, f1 +lbl_80282AF0: +/* 80282AF0 0027FA30 C8 1F 00 08 */ lfd f0, 8(r31) +/* 80282AF4 0027FA34 FF DE 00 2A */ fadd f30, f30, f0 +/* 80282AF8 0027FA38 C8 1F 00 50 */ lfd f0, 0x50(r31) +/* 80282AFC 0027FA3C FC 1E 00 24 */ fdiv f0, f30, f0 +/* 80282B00 0027FA40 D8 01 00 08 */ stfd f0, 8(r1) +/* 80282B04 0027FA44 48 00 00 88 */ b lbl_80282B8C +lbl_80282B08: +/* 80282B08 0027FA48 C8 1F 00 08 */ lfd f0, 8(r31) +/* 80282B0C 0027FA4C FF C2 00 28 */ fsub f30, f2, f0 +/* 80282B10 0027FA50 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80282B14 0027FA54 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282B18 0027FA58 40 80 00 28 */ bge lbl_80282B40 +/* 80282B1C 0027FA5C 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 80282B20 0027FA60 4B FF EB 29 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282B24 0027FA64 FC 20 F0 90 */ fmr f1, f30 +/* 80282B28 0027FA68 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282B2C 0027FA6C 7C 6C 1B 78 */ mr r12, r3 +/* 80282B30 0027FA70 7D 89 03 A6 */ mtctr r12 +/* 80282B34 0027FA74 4E 80 04 21 */ bctrl +/* 80282B38 0027FA78 FF C0 08 90 */ fmr f30, f1 +/* 80282B3C 0027FA7C 48 00 00 34 */ b lbl_80282B70 +lbl_80282B40: +/* 80282B40 0027FA80 C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 80282B44 0027FA84 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80282B48 0027FA88 4C 41 13 82 */ cror 2, 1, 2 +/* 80282B4C 0027FA8C 40 82 00 24 */ bne lbl_80282B70 +/* 80282B50 0027FA90 80 7F 00 3C */ lwz r3, 0x3c(r31) +/* 80282B54 0027FA94 4B FF EA F5 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282B58 0027FA98 FC 20 F0 90 */ fmr f1, f30 +/* 80282B5C 0027FA9C C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282B60 0027FAA0 7C 6C 1B 78 */ mr r12, r3 +/* 80282B64 0027FAA4 7D 89 03 A6 */ mtctr r12 +/* 80282B68 0027FAA8 4E 80 04 21 */ bctrl +/* 80282B6C 0027FAAC FF C0 08 90 */ fmr f30, f1 +lbl_80282B70: +/* 80282B70 0027FAB0 C8 1F 00 08 */ lfd f0, 8(r31) +/* 80282B74 0027FAB4 FF DE 00 2A */ fadd f30, f30, f0 +/* 80282B78 0027FAB8 FC 1E 00 28 */ fsub f0, f30, f0 +/* 80282B7C 0027FABC FC 3F 00 32 */ fmul f1, f31, f0 +/* 80282B80 0027FAC0 C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 80282B84 0027FAC4 FC 01 00 24 */ fdiv f0, f1, f0 +/* 80282B88 0027FAC8 D8 01 00 08 */ stfd f0, 8(r1) +lbl_80282B8C: +/* 80282B8C 0027FACC C8 21 00 08 */ lfd f1, 8(r1) +/* 80282B90 0027FAD0 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80282B94 0027FAD4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80282B98 0027FAD8 40 80 00 10 */ bge lbl_80282BA8 +/* 80282B9C 0027FADC 80 7F 00 44 */ lwz r3, 0x44(r31) +/* 80282BA0 0027FAE0 C0 23 00 00 */ lfs f1, 0(r3) +/* 80282BA4 0027FAE4 48 00 00 44 */ b lbl_80282BE8 +lbl_80282BA8: +/* 80282BA8 0027FAE8 FC 01 F8 40 */ fcmpo cr0, f1, f31 +/* 80282BAC 0027FAEC 4C 41 13 82 */ cror 2, 1, 2 +/* 80282BB0 0027FAF0 40 82 00 14 */ bne lbl_80282BC4 +/* 80282BB4 0027FAF4 80 7F 00 44 */ lwz r3, 0x44(r31) +/* 80282BB8 0027FAF8 57 C0 10 3A */ slwi r0, r30, 2 +/* 80282BBC 0027FAFC 7C 23 04 2E */ lfsx f1, r3, r0 +/* 80282BC0 0027FB00 48 00 00 28 */ b lbl_80282BE8 +lbl_80282BC4: +/* 80282BC4 0027FB04 48 0E 95 39 */ bl func_8036C0FC +/* 80282BC8 0027FB08 D8 21 00 10 */ stfd f1, 0x10(r1) +/* 80282BCC 0027FB0C 48 0D F4 E1 */ bl func_803620AC +/* 80282BD0 0027FB10 90 61 00 18 */ stw r3, 0x18(r1) +/* 80282BD4 0027FB14 7F E3 FB 78 */ mr r3, r31 +/* 80282BD8 0027FB18 38 81 00 08 */ addi r4, r1, 8 +/* 80282BDC 0027FB1C 81 9F 00 58 */ lwz r12, 0x58(r31) +/* 80282BE0 0027FB20 7D 89 03 A6 */ mtctr r12 +/* 80282BE4 0027FB24 4E 80 04 21 */ bctrl +lbl_80282BE8: +/* 80282BE8 0027FB28 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 +/* 80282BEC 0027FB2C CB E1 00 40 */ lfd f31, 0x40(r1) +/* 80282BF0 0027FB30 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 +/* 80282BF4 0027FB34 CB C1 00 30 */ lfd f30, 0x30(r1) +/* 80282BF8 0027FB38 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80282BFC 0027FB3C 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80282C00 0027FB40 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80282C04 0027FB44 7C 08 03 A6 */ mtlr r0 +/* 80282C08 0027FB48 38 21 00 50 */ addi r1, r1, 0x50 +/* 80282C0C 0027FB4C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/getValue__Q27JStudio22TFunctionValue_hermiteFd.s b/include/JSystem/JStudio/asm/getValue__Q27JStudio22TFunctionValue_hermiteFd.s new file mode 100644 index 0000000000..999e57add4 --- /dev/null +++ b/include/JSystem/JStudio/asm/getValue__Q27JStudio22TFunctionValue_hermiteFd.s @@ -0,0 +1,76 @@ +/* 8028344C 0028038C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80283450 00280390 7C 08 02 A6 */ mflr r0 +/* 80283454 00280394 90 01 00 44 */ stw r0, 0x44(r1) +/* 80283458 00280398 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 8028345C 0028039C 7C 7F 1B 78 */ mr r31, r3 +/* 80283460 002803A0 D8 21 00 08 */ stfd f1, 8(r1) +/* 80283464 002803A4 80 A3 00 40 */ lwz r5, 0x40(r3) +/* 80283468 002803A8 38 7F 00 08 */ addi r3, r31, 8 +/* 8028346C 002803AC C0 45 00 00 */ lfs f2, 0(r5) +/* 80283470 002803B0 80 9F 00 44 */ lwz r4, 0x44(r31) +/* 80283474 002803B4 38 84 FF FF */ addi r4, r4, -1 +/* 80283478 002803B8 80 1F 00 48 */ lwz r0, 0x48(r31) +/* 8028347C 002803BC 7C 04 01 D6 */ mullw r0, r4, r0 +/* 80283480 002803C0 54 00 10 3A */ slwi r0, r0, 2 +/* 80283484 002803C4 7C 65 04 2E */ lfsx f3, r5, r0 +/* 80283488 002803C8 4B FF E5 81 */ bl range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd +/* 8028348C 002803CC D8 21 00 08 */ stfd f1, 8(r1) +/* 80283490 002803D0 80 7F 00 5C */ lwz r3, 0x5c(r31) +/* 80283494 002803D4 80 1F 00 60 */ lwz r0, 0x60(r31) +/* 80283498 002803D8 90 61 00 10 */ stw r3, 0x10(r1) +/* 8028349C 002803DC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802834A0 002803E0 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 802834A4 002803E4 80 1F 00 58 */ lwz r0, 0x58(r31) +/* 802834A8 002803E8 90 61 00 18 */ stw r3, 0x18(r1) +/* 802834AC 002803EC 90 01 00 1C */ stw r0, 0x1c(r1) +/* 802834B0 002803F0 80 7F 00 4C */ lwz r3, 0x4c(r31) +/* 802834B4 002803F4 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 802834B8 002803F8 90 61 00 20 */ stw r3, 0x20(r1) +/* 802834BC 002803FC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802834C0 00280400 38 61 00 28 */ addi r3, r1, 0x28 +/* 802834C4 00280404 38 81 00 20 */ addi r4, r1, 0x20 +/* 802834C8 00280408 38 A1 00 18 */ addi r5, r1, 0x18 +/* 802834CC 0028040C 38 C1 00 10 */ addi r6, r1, 0x10 +/* 802834D0 00280410 38 E1 00 08 */ addi r7, r1, 8 +/* 802834D4 00280414 48 00 03 85 */ bl JGadget_NS_findUpperBound_binary_current_X2_ +/* 802834D8 00280418 80 01 00 28 */ lwz r0, 0x28(r1) +/* 802834DC 0028041C 90 1F 00 5C */ stw r0, 0x5c(r31) +/* 802834E0 00280420 80 01 00 2C */ lwz r0, 0x2c(r1) +/* 802834E4 00280424 90 1F 00 60 */ stw r0, 0x60(r31) +/* 802834E8 00280428 80 9F 00 5C */ lwz r4, 0x5c(r31) +/* 802834EC 0028042C 80 1F 00 4C */ lwz r0, 0x4c(r31) +/* 802834F0 00280430 7C 04 00 40 */ cmplw r4, r0 +/* 802834F4 00280434 40 82 00 0C */ bne lbl_80283500 +/* 802834F8 00280438 C0 24 00 04 */ lfs f1, 4(r4) +/* 802834FC 0028043C 48 00 00 60 */ b lbl_8028355C +lbl_80283500: +/* 80283500 00280440 80 1F 00 54 */ lwz r0, 0x54(r31) +/* 80283504 00280444 7C 04 00 40 */ cmplw r4, r0 +/* 80283508 00280448 40 82 00 24 */ bne lbl_8028352C +/* 8028350C 0028044C 80 1F 00 60 */ lwz r0, 0x60(r31) +/* 80283510 00280450 54 03 10 3A */ slwi r3, r0, 2 +/* 80283514 00280454 80 1F 00 5C */ lwz r0, 0x5c(r31) +/* 80283518 00280458 7C 03 00 50 */ subf r0, r3, r0 +/* 8028351C 0028045C 90 1F 00 5C */ stw r0, 0x5c(r31) +/* 80283520 00280460 80 7F 00 5C */ lwz r3, 0x5c(r31) +/* 80283524 00280464 C0 23 00 04 */ lfs f1, 4(r3) +/* 80283528 00280468 48 00 00 34 */ b lbl_8028355C +lbl_8028352C: +/* 8028352C 0028046C 80 1F 00 48 */ lwz r0, 0x48(r31) +/* 80283530 00280470 54 00 10 3A */ slwi r0, r0, 2 +/* 80283534 00280474 7C 60 20 50 */ subf r3, r0, r4 +/* 80283538 00280478 C8 21 00 08 */ lfd f1, 8(r1) +/* 8028353C 0028047C C0 43 00 00 */ lfs f2, 0(r3) +/* 80283540 00280480 C0 63 00 04 */ lfs f3, 4(r3) +/* 80283544 00280484 7C 63 02 14 */ add r3, r3, r0 +/* 80283548 00280488 C0 83 FF FC */ lfs f4, -4(r3) +/* 8028354C 0028048C C0 A4 00 00 */ lfs f5, 0(r4) +/* 80283550 00280490 C0 C4 00 04 */ lfs f6, 4(r4) +/* 80283554 00280494 C0 E4 00 08 */ lfs f7, 8(r4) +/* 80283558 00280498 4B FF E1 B9 */ bl interpolateValue_hermite__Q27JStudio13functionvalueFddddddd +lbl_8028355C: +/* 8028355C 0028049C 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 80283560 002804A0 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80283564 002804A4 7C 08 03 A6 */ mtlr r0 +/* 80283568 002804A8 38 21 00 40 */ addi r1, r1, 0x40 +/* 8028356C 002804AC 4E 80 00 20 */ blr diff --git a/include/JSystem/JStudio/asm/getValue__Q27JStudio25TFunctionValue_transitionFd.s b/include/JSystem/JStudio/asm/getValue__Q27JStudio25TFunctionValue_transitionFd.s new file mode 100644 index 0000000000..8d7eadffc5 --- /dev/null +++ b/include/JSystem/JStudio/asm/getValue__Q27JStudio25TFunctionValue_transitionFd.s @@ -0,0 +1,130 @@ +/* 802824F4 0027F434 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802824F8 0027F438 7C 08 02 A6 */ mflr r0 +/* 802824FC 0027F43C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80282500 0027F440 DB E1 00 18 */ stfd f31, 0x18(r1) +/* 80282504 0027F444 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80282508 0027F448 7C 7F 1B 78 */ mr r31, r3 +/* 8028250C 0027F44C C8 63 00 28 */ lfd f3, 0x28(r3) +/* 80282510 0027F450 C8 43 00 30 */ lfd f2, 0x30(r3) +/* 80282514 0027F454 FC 01 18 28 */ fsub f0, f1, f3 +/* 80282518 0027F458 FC 02 00 32 */ fmul f0, f2, f0 +/* 8028251C 0027F45C FC 23 00 2A */ fadd f1, f3, f0 +/* 80282520 0027F460 C8 03 00 08 */ lfd f0, 8(r3) +/* 80282524 0027F464 FF E1 00 28 */ fsub f31, f1, f0 +/* 80282528 0027F468 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 8028252C 0027F46C FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80282530 0027F470 40 80 00 28 */ bge lbl_80282558 +/* 80282534 0027F474 80 7F 00 38 */ lwz r3, 0x38(r31) +/* 80282538 0027F478 4B FF F1 11 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 8028253C 0027F47C FC 20 F8 90 */ fmr f1, f31 +/* 80282540 0027F480 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282544 0027F484 7C 6C 1B 78 */ mr r12, r3 +/* 80282548 0027F488 7D 89 03 A6 */ mtctr r12 +/* 8028254C 0027F48C 4E 80 04 21 */ bctrl +/* 80282550 0027F490 FF E0 08 90 */ fmr f31, f1 +/* 80282554 0027F494 48 00 00 34 */ b lbl_80282588 +lbl_80282558: +/* 80282558 0027F498 C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 8028255C 0027F49C FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80282560 0027F4A0 4C 41 13 82 */ cror 2, 1, 2 +/* 80282564 0027F4A4 40 82 00 24 */ bne lbl_80282588 +/* 80282568 0027F4A8 80 7F 00 3C */ lwz r3, 0x3c(r31) +/* 8028256C 0027F4AC 4B FF F0 DD */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80282570 0027F4B0 FC 20 F8 90 */ fmr f1, f31 +/* 80282574 0027F4B4 C8 5F 00 18 */ lfd f2, 0x18(r31) +/* 80282578 0027F4B8 7C 6C 1B 78 */ mr r12, r3 +/* 8028257C 0027F4BC 7D 89 03 A6 */ mtctr r12 +/* 80282580 0027F4C0 4E 80 04 21 */ bctrl +/* 80282584 0027F4C4 FF E0 08 90 */ fmr f31, f1 +lbl_80282588: +/* 80282588 0027F4C8 C8 5F 00 08 */ lfd f2, 8(r31) +/* 8028258C 0027F4CC FF FF 10 2A */ fadd f31, f31, f2 +/* 80282590 0027F4D0 88 1F 00 21 */ lbz r0, 0x21(r31) +/* 80282594 0027F4D4 7C 00 07 74 */ extsb r0, r0 +/* 80282598 0027F4D8 2C 00 00 03 */ cmpwi r0, 3 +/* 8028259C 0027F4DC 41 82 00 54 */ beq lbl_802825F0 +/* 802825A0 0027F4E0 40 80 00 10 */ bge lbl_802825B0 +/* 802825A4 0027F4E4 2C 00 00 02 */ cmpwi r0, 2 +/* 802825A8 0027F4E8 40 80 00 2C */ bge lbl_802825D4 +/* 802825AC 0027F4EC 48 00 00 10 */ b lbl_802825BC +lbl_802825B0: +/* 802825B0 0027F4F0 2C 00 00 05 */ cmpwi r0, 5 +/* 802825B4 0027F4F4 40 80 00 08 */ bge lbl_802825BC +/* 802825B8 0027F4F8 48 00 00 60 */ b lbl_80282618 +lbl_802825BC: +/* 802825BC 0027F4FC FC 1F 10 40 */ fcmpo cr0, f31, f2 +/* 802825C0 0027F500 40 80 00 0C */ bge lbl_802825CC +/* 802825C4 0027F504 C8 3F 00 48 */ lfd f1, 0x48(r31) +/* 802825C8 0027F508 48 00 00 DC */ b lbl_802826A4 +lbl_802825CC: +/* 802825CC 0027F50C C8 3F 00 50 */ lfd f1, 0x50(r31) +/* 802825D0 0027F510 48 00 00 D4 */ b lbl_802826A4 +lbl_802825D4: +/* 802825D4 0027F514 C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 802825D8 0027F518 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 802825DC 0027F51C 40 80 00 0C */ bge lbl_802825E8 +/* 802825E0 0027F520 C8 3F 00 48 */ lfd f1, 0x48(r31) +/* 802825E4 0027F524 48 00 00 C0 */ b lbl_802826A4 +lbl_802825E8: +/* 802825E8 0027F528 C8 3F 00 50 */ lfd f1, 0x50(r31) +/* 802825EC 0027F52C 48 00 00 B8 */ b lbl_802826A4 +lbl_802825F0: +/* 802825F0 0027F530 C8 22 BA 28 */ lfd f1, lbl_80455428-_SDA2_BASE_(r2) +/* 802825F4 0027F534 C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 802825F8 0027F538 FC 02 00 2A */ fadd f0, f2, f0 +/* 802825FC 0027F53C FC 01 00 32 */ fmul f0, f1, f0 +/* 80282600 0027F540 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80282604 0027F544 40 80 00 0C */ bge lbl_80282610 +/* 80282608 0027F548 C8 3F 00 48 */ lfd f1, 0x48(r31) +/* 8028260C 0027F54C 48 00 00 98 */ b lbl_802826A4 +lbl_80282610: +/* 80282610 0027F550 C8 3F 00 50 */ lfd f1, 0x50(r31) +/* 80282614 0027F554 48 00 00 90 */ b lbl_802826A4 +lbl_80282618: +/* 80282618 0027F558 FC 1F 10 40 */ fcmpo cr0, f31, f2 +/* 8028261C 0027F55C 40 80 00 0C */ bge lbl_80282628 +/* 80282620 0027F560 C8 3F 00 48 */ lfd f1, 0x48(r31) +/* 80282624 0027F564 48 00 00 80 */ b lbl_802826A4 +lbl_80282628: +/* 80282628 0027F568 C8 BF 00 10 */ lfd f5, 0x10(r31) +/* 8028262C 0027F56C FC 1F 28 40 */ fcmpo cr0, f31, f5 +/* 80282630 0027F570 4C 41 13 82 */ cror 2, 1, 2 +/* 80282634 0027F574 40 82 00 0C */ bne lbl_80282640 +/* 80282638 0027F578 C8 3F 00 50 */ lfd f1, 0x50(r31) +/* 8028263C 0027F57C 48 00 00 68 */ b lbl_802826A4 +lbl_80282640: +/* 80282640 0027F580 80 1F 00 40 */ lwz r0, 0x40(r31) +/* 80282644 0027F584 2C 00 00 02 */ cmpwi r0, 2 +/* 80282648 0027F588 41 82 00 44 */ beq lbl_8028268C +/* 8028264C 0027F58C 40 80 00 14 */ bge lbl_80282660 +/* 80282650 0027F590 2C 00 00 00 */ cmpwi r0, 0 +/* 80282654 0027F594 41 82 FF 9C */ beq lbl_802825F0 +/* 80282658 0027F598 40 80 00 10 */ bge lbl_80282668 +/* 8028265C 0027F59C 4B FF FF 94 */ b lbl_802825F0 +lbl_80282660: +/* 80282660 0027F5A0 2C 00 00 04 */ cmpwi r0, 4 +/* 80282664 0027F5A4 40 80 FF 8C */ bge lbl_802825F0 +lbl_80282668: +/* 80282668 0027F5A8 C8 7F 00 48 */ lfd f3, 0x48(r31) +/* 8028266C 0027F5AC FC 3F 10 28 */ fsub f1, f31, f2 +/* 80282670 0027F5B0 C8 1F 00 50 */ lfd f0, 0x50(r31) +/* 80282674 0027F5B4 FC 00 18 28 */ fsub f0, f0, f3 +/* 80282678 0027F5B8 FC 21 00 32 */ fmul f1, f1, f0 +/* 8028267C 0027F5BC C8 1F 00 18 */ lfd f0, 0x18(r31) +/* 80282680 0027F5C0 FC 01 00 24 */ fdiv f0, f1, f0 +/* 80282684 0027F5C4 FC 23 00 2A */ fadd f1, f3, f0 +/* 80282688 0027F5C8 48 00 00 1C */ b lbl_802826A4 +lbl_8028268C: +/* 8028268C 0027F5CC FC 20 F8 90 */ fmr f1, f31 +/* 80282690 0027F5D0 C8 7F 00 48 */ lfd f3, 0x48(r31) +/* 80282694 0027F5D4 C8 82 BA 00 */ lfd f4, lbl_80455400-_SDA2_BASE_(r2) +/* 80282698 0027F5D8 C8 DF 00 50 */ lfd f6, 0x50(r31) +/* 8028269C 0027F5DC FC E0 20 90 */ fmr f7, f4 +/* 802826A0 0027F5E0 4B FF F0 71 */ bl interpolateValue_hermite__Q27JStudio13functionvalueFddddddd +lbl_802826A4: +/* 802826A4 0027F5E4 CB E1 00 18 */ lfd f31, 0x18(r1) +/* 802826A8 0027F5E8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 802826AC 0027F5EC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802826B0 0027F5F0 7C 08 03 A6 */ mtlr r0 +/* 802826B4 0027F5F4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802826B8 0027F5F8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/getValue__Q27JStudio29TFunctionValue_list_parameterFd.s b/include/JSystem/JStudio/asm/getValue__Q27JStudio29TFunctionValue_list_parameterFd.s new file mode 100644 index 0000000000..9acbc3d62a --- /dev/null +++ b/include/JSystem/JStudio/asm/getValue__Q27JStudio29TFunctionValue_list_parameterFd.s @@ -0,0 +1,57 @@ +/* 80282F10 0027FE50 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80282F14 0027FE54 7C 08 02 A6 */ mflr r0 +/* 80282F18 0027FE58 90 01 00 34 */ stw r0, 0x34(r1) +/* 80282F1C 0027FE5C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80282F20 0027FE60 7C 7F 1B 78 */ mr r31, r3 +/* 80282F24 0027FE64 D8 21 00 08 */ stfd f1, 8(r1) +/* 80282F28 0027FE68 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 80282F2C 0027FE6C 38 7F 00 08 */ addi r3, r31, 8 +/* 80282F30 0027FE70 C0 45 00 00 */ lfs f2, 0(r5) +/* 80282F34 0027FE74 80 9F 00 48 */ lwz r4, 0x48(r31) +/* 80282F38 0027FE78 38 04 FF FF */ addi r0, r4, -1 +/* 80282F3C 0027FE7C 54 00 18 38 */ slwi r0, r0, 3 +/* 80282F40 0027FE80 7C 65 04 2E */ lfsx f3, r5, r0 +/* 80282F44 0027FE84 4B FF EA C5 */ bl range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd +/* 80282F48 0027FE88 D8 21 00 08 */ stfd f1, 8(r1) +/* 80282F4C 0027FE8C 80 1F 00 54 */ lwz r0, 0x54(r31) +/* 80282F50 0027FE90 90 01 00 10 */ stw r0, 0x10(r1) +/* 80282F54 0027FE94 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 80282F58 0027FE98 90 01 00 14 */ stw r0, 0x14(r1) +/* 80282F5C 0027FE9C 80 1F 00 4C */ lwz r0, 0x4c(r31) +/* 80282F60 0027FEA0 90 01 00 18 */ stw r0, 0x18(r1) +/* 80282F64 0027FEA4 38 61 00 1C */ addi r3, r1, 0x1c +/* 80282F68 0027FEA8 38 81 00 18 */ addi r4, r1, 0x18 +/* 80282F6C 0027FEAC 38 A1 00 14 */ addi r5, r1, 0x14 +/* 80282F70 0027FEB0 38 C1 00 10 */ addi r6, r1, 0x10 +/* 80282F74 0027FEB4 38 E1 00 08 */ addi r7, r1, 8 +/* 80282F78 0027FEB8 48 00 06 65 */ bl JGadget_NS_findUpperBound_binary_current +/* 80282F7C 0027FEBC 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 80282F80 0027FEC0 90 1F 00 54 */ stw r0, 0x54(r31) +/* 80282F84 0027FEC4 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 80282F88 0027FEC8 80 1F 00 4C */ lwz r0, 0x4c(r31) +/* 80282F8C 0027FECC 7C 03 00 40 */ cmplw r3, r0 +/* 80282F90 0027FED0 40 82 00 0C */ bne lbl_80282F9C +/* 80282F94 0027FED4 C0 23 00 04 */ lfs f1, 4(r3) +/* 80282F98 0027FED8 48 00 00 3C */ b lbl_80282FD4 +lbl_80282F9C: +/* 80282F9C 0027FEDC 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 80282FA0 0027FEE0 7C 03 00 40 */ cmplw r3, r0 +/* 80282FA4 0027FEE4 40 82 00 1C */ bne lbl_80282FC0 +/* 80282FA8 0027FEE8 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 80282FAC 0027FEEC 38 03 FF F8 */ addi r0, r3, -8 +/* 80282FB0 0027FEF0 90 1F 00 54 */ stw r0, 0x54(r31) +/* 80282FB4 0027FEF4 80 7F 00 54 */ lwz r3, 0x54(r31) +/* 80282FB8 0027FEF8 C0 23 00 04 */ lfs f1, 4(r3) +/* 80282FBC 0027FEFC 48 00 00 18 */ b lbl_80282FD4 +lbl_80282FC0: +/* 80282FC0 0027FF00 7F E3 FB 78 */ mr r3, r31 +/* 80282FC4 0027FF04 C8 21 00 08 */ lfd f1, 8(r1) +/* 80282FC8 0027FF08 81 9F 00 58 */ lwz r12, 0x58(r31) +/* 80282FCC 0027FF0C 7D 89 03 A6 */ mtctr r12 +/* 80282FD0 0027FF10 4E 80 04 21 */ bctrl +lbl_80282FD4: +/* 80282FD4 0027FF14 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80282FD8 0027FF18 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80282FDC 0027FF1C 7C 08 03 A6 */ mtlr r0 +/* 80282FE0 0027FF20 38 21 00 30 */ addi r1, r1, 0x30 +/* 80282FE4 0027FF24 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s b/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s new file mode 100644 index 0000000000..fccb99289f --- /dev/null +++ b/include/JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s @@ -0,0 +1,82 @@ +/* 802817D8 0027E718 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802817DC 0027E71C DB E1 00 08 */ stfd f31, 8(r1) +/* 802817E0 0027E720 C8 C4 00 00 */ lfd f6, 0(r4) +/* 802817E4 0027E724 C8 A4 00 08 */ lfd f5, 8(r4) +/* 802817E8 0027E728 C8 E4 00 10 */ lfd f7, 0x10(r4) +/* 802817EC 0027E72C C9 04 00 18 */ lfd f8, 0x18(r4) +/* 802817F0 0027E730 C9 24 00 20 */ lfd f9, 0x20(r4) +/* 802817F4 0027E734 C9 44 00 28 */ lfd f10, 0x28(r4) +/* 802817F8 0027E738 FD 61 28 28 */ fsub f11, f1, f5 +/* 802817FC 0027E73C FD 81 38 28 */ fsub f12, f1, f7 +/* 80281800 0027E740 FC 08 08 28 */ fsub f0, f8, f1 +/* 80281804 0027E744 FC 49 08 28 */ fsub f2, f9, f1 +/* 80281808 0027E748 C8 82 BA 08 */ lfd f4, lbl_80455408-_SDA2_BASE_(r2) +/* 8028180C 0027E74C FC 68 38 28 */ fsub f3, f8, f7 +/* 80281810 0027E750 FD A4 18 24 */ fdiv f13, f4, f3 +/* 80281814 0027E754 FC 80 03 72 */ fmul f4, f0, f13 +/* 80281818 0027E758 FC 68 28 28 */ fsub f3, f8, f5 +/* 8028181C 0027E75C FF E4 18 24 */ fdiv f31, f4, f3 +/* 80281820 0027E760 FC 8C 03 72 */ fmul f4, f12, f13 +/* 80281824 0027E764 FC 69 38 28 */ fsub f3, f9, f7 +/* 80281828 0027E768 FD A4 18 24 */ fdiv f13, f4, f3 +/* 8028182C 0027E76C FC 80 07 F2 */ fmul f4, f0, f31 +/* 80281830 0027E770 FC 68 30 28 */ fsub f3, f8, f6 +/* 80281834 0027E774 FD 04 18 24 */ fdiv f8, f4, f3 +/* 80281838 0027E778 FC 8B 07 F2 */ fmul f4, f11, f31 +/* 8028183C 0027E77C FC 62 03 72 */ fmul f3, f2, f13 +/* 80281840 0027E780 FC 84 18 2A */ fadd f4, f4, f3 +/* 80281844 0027E784 FC 69 28 28 */ fsub f3, f9, f5 +/* 80281848 0027E788 FD 24 18 24 */ fdiv f9, f4, f3 +/* 8028184C 0027E78C FC 8C 03 72 */ fmul f4, f12, f13 +/* 80281850 0027E790 FC 6A 38 28 */ fsub f3, f10, f7 +/* 80281854 0027E794 FC E4 18 24 */ fdiv f7, f4, f3 +/* 80281858 0027E798 FC 8C 01 F2 */ fmul f4, f12, f7 +/* 8028185C 0027E79C C8 63 00 18 */ lfd f3, 0x18(r3) +/* 80281860 0027E7A0 FC A4 00 F2 */ fmul f5, f4, f3 +/* 80281864 0027E7A4 FC 8B 02 72 */ fmul f4, f11, f9 +/* 80281868 0027E7A8 FC 6A 08 28 */ fsub f3, f10, f1 +/* 8028186C 0027E7AC FC 63 01 F2 */ fmul f3, f3, f7 +/* 80281870 0027E7B0 FC 84 18 2A */ fadd f4, f4, f3 +/* 80281874 0027E7B4 C8 63 00 10 */ lfd f3, 0x10(r3) +/* 80281878 0027E7B8 FC 84 00 F2 */ fmul f4, f4, f3 +/* 8028187C 0027E7BC FC 60 02 32 */ fmul f3, f0, f8 +/* 80281880 0027E7C0 C8 03 00 00 */ lfd f0, 0(r3) +/* 80281884 0027E7C4 FC 63 00 32 */ fmul f3, f3, f0 +/* 80281888 0027E7C8 FC 01 30 28 */ fsub f0, f1, f6 +/* 8028188C 0027E7CC FC 20 02 32 */ fmul f1, f0, f8 +/* 80281890 0027E7D0 FC 02 02 72 */ fmul f0, f2, f9 +/* 80281894 0027E7D4 FC 21 00 2A */ fadd f1, f1, f0 +/* 80281898 0027E7D8 C8 03 00 08 */ lfd f0, 8(r3) +/* 8028189C 0027E7DC FC 01 00 32 */ fmul f0, f1, f0 +/* 802818A0 0027E7E0 FC 03 00 2A */ fadd f0, f3, f0 +/* 802818A4 0027E7E4 FC 04 00 2A */ fadd f0, f4, f0 +/* 802818A8 0027E7E8 FC 25 00 2A */ fadd f1, f5, f0 +/* 802818AC 0027E7EC CB E1 00 08 */ lfd f31, 8(r1) +/* 802818B0 0027E7F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802818B4 0027E7F4 4E 80 00 20 */ blr +/* 802818B8 0027E7F8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802818BC 0027E7FC 7C 08 02 A6 */ mflr r0 +/* 802818C0 0027E800 90 01 00 24 */ stw r0, 0x24(r1) +/* 802818C4 0027E804 DB E1 00 18 */ stfd f31, 0x18(r1) +/* 802818C8 0027E808 DB C1 00 10 */ stfd f30, 0x10(r1) +/* 802818CC 0027E80C FF C0 10 90 */ fmr f30, f2 +/* 802818D0 0027E810 C8 02 BA 38 */ lfd f0, 0x80455438 - 0x80459A00(r2) /*SDA HACK; original: lbl_80455438-_SDA2_BASE_(r2)*/ +/* 802818D4 0027E814 FF E0 07 B2 */ fmul f31, f0, f30 +/* 802818D8 0027E818 FC 40 F8 90 */ fmr f2, f31 +/* 802818DC 0027E81C 48 0E AE 85 */ bl func_8036C760 +/* 802818E0 0027E820 C8 02 BA 00 */ lfd f0, 0x80455400 - 0x80459A00(r2) /*SDA HACK; original: lbl_80455400-_SDA2_BASE_(r2)*/ +/* 802818E4 0027E824 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 802818E8 0027E828 40 80 00 08 */ bge lbl_802818F0 +/* 802818EC 0027E82C FC 21 F8 2A */ fadd f1, f1, f31 +lbl_802818F0: +/* 802818F0 0027E830 FC 01 F0 40 */ fcmpo cr0, f1, f30 +/* 802818F4 0027E834 4C 41 13 82 */ cror 2, 1, 2 +/* 802818F8 0027E838 40 82 00 08 */ bne lbl_80281900 +/* 802818FC 0027E83C FC 3F 08 28 */ fsub f1, f31, f1 +lbl_80281900: +/* 80281900 0027E840 CB E1 00 18 */ lfd f31, 0x18(r1) +/* 80281904 0027E844 CB C1 00 10 */ lfd f30, 0x10(r1) +/* 80281908 0027E848 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8028190C 0027E84C 7C 08 03 A6 */ mtlr r0 +/* 80281910 0027E850 38 21 00 20 */ addi r1, r1, 0x20 +/* 80281914 0027E854 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd.s b/include/JSystem/JStudio/asm/interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd.s new file mode 100644 index 0000000000..8ee3291966 --- /dev/null +++ b/include/JSystem/JStudio/asm/interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd.s @@ -0,0 +1,25 @@ +/* 80281774 0027E6B4 C8 02 BA 08 */ lfd f0, lbl_80455408-_SDA2_BASE_(r2) +/* 80281778 0027E6B8 FC C0 08 28 */ fsub f6, f0, f1 +/* 8028177C 0027E6BC FC 06 01 B2 */ fmul f0, f6, f6 +/* 80281780 0027E6C0 FD 00 01 B2 */ fmul f8, f0, f6 +/* 80281784 0027E6C4 FD 21 00 72 */ fmul f9, f1, f1 +/* 80281788 0027E6C8 FD 49 00 72 */ fmul f10, f9, f1 +/* 8028178C 0027E6CC C8 E2 BA 20 */ lfd f7, lbl_80455420-_SDA2_BASE_(r2) +/* 80281790 0027E6D0 C8 C2 BA 28 */ lfd f6, lbl_80455428-_SDA2_BASE_(r2) +/* 80281794 0027E6D4 FC 01 48 2A */ fadd f0, f1, f9 +/* 80281798 0027E6D8 FC 00 50 28 */ fsub f0, f0, f10 +/* 8028179C 0027E6DC FC 06 00 32 */ fmul f0, f6, f0 +/* 802817A0 0027E6E0 FC 07 00 2A */ fadd f0, f7, f0 +/* 802817A4 0027E6E4 FC 80 01 32 */ fmul f4, f0, f4 +/* 802817A8 0027E6E8 C8 22 BA 30 */ lfd f1, lbl_80455430-_SDA2_BASE_(r2) +/* 802817AC 0027E6EC FC 06 02 B2 */ fmul f0, f6, f10 +/* 802817B0 0027E6F0 FC 00 48 28 */ fsub f0, f0, f9 +/* 802817B4 0027E6F4 FC 01 00 2A */ fadd f0, f1, f0 +/* 802817B8 0027E6F8 FC 60 00 F2 */ fmul f3, f0, f3 +/* 802817BC 0027E6FC FC 28 00 B2 */ fmul f1, f8, f2 +/* 802817C0 0027E700 FC 0A 01 72 */ fmul f0, f10, f5 +/* 802817C4 0027E704 FC 01 00 2A */ fadd f0, f1, f0 +/* 802817C8 0027E708 FC 07 00 32 */ fmul f0, f7, f0 +/* 802817CC 0027E70C FC 03 00 2A */ fadd f0, f3, f0 +/* 802817D0 0027E710 FC 24 00 2A */ fadd f1, f4, f0 +/* 802817D4 0027E714 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/interpolateValue_hermite__Q27JStudio13functionvalueFddddddd.s b/include/JSystem/JStudio/asm/interpolateValue_hermite__Q27JStudio13functionvalueFddddddd.s new file mode 100644 index 0000000000..b8ceee0b19 --- /dev/null +++ b/include/JSystem/JStudio/asm/interpolateValue_hermite__Q27JStudio13functionvalueFddddddd.s @@ -0,0 +1,25 @@ +/* 80281710 0027E650 FD 21 10 28 */ fsub f9, f1, f2 +/* 80281714 0027E654 C9 02 BA 08 */ lfd f8, lbl_80455408-_SDA2_BASE_(r2) +/* 80281718 0027E658 FC 05 10 28 */ fsub f0, f5, f2 +/* 8028171C 0027E65C FC 08 00 24 */ fdiv f0, f8, f0 +/* 80281720 0027E660 FC 49 00 32 */ fmul f2, f9, f0 +/* 80281724 0027E664 FD 42 40 28 */ fsub f10, f2, f8 +/* 80281728 0027E668 C8 22 BA 10 */ lfd f1, lbl_80455410-_SDA2_BASE_(r2) +/* 8028172C 0027E66C C8 02 BA 18 */ lfd f0, lbl_80455418-_SDA2_BASE_(r2) +/* 80281730 0027E670 FC 00 00 B2 */ fmul f0, f0, f2 +/* 80281734 0027E674 FC 21 00 2A */ fadd f1, f1, f0 +/* 80281738 0027E678 FC 02 00 B2 */ fmul f0, f2, f2 +/* 8028173C 0027E67C FD 61 00 32 */ fmul f11, f1, f0 +/* 80281740 0027E680 FC 0A 02 72 */ fmul f0, f10, f9 +/* 80281744 0027E684 FC 02 00 32 */ fmul f0, f2, f0 +/* 80281748 0027E688 FC A0 01 F2 */ fmul f5, f0, f7 +/* 8028174C 0027E68C FC 0A 02 B2 */ fmul f0, f10, f10 +/* 80281750 0027E690 FC 09 00 32 */ fmul f0, f9, f0 +/* 80281754 0027E694 FC 40 01 32 */ fmul f2, f0, f4 +/* 80281758 0027E698 FC 08 58 28 */ fsub f0, f8, f11 +/* 8028175C 0027E69C FC 20 00 F2 */ fmul f1, f0, f3 +/* 80281760 0027E6A0 FC 0B 01 B2 */ fmul f0, f11, f6 +/* 80281764 0027E6A4 FC 01 00 2A */ fadd f0, f1, f0 +/* 80281768 0027E6A8 FC 02 00 2A */ fadd f0, f2, f0 +/* 8028176C 0027E6AC FC 25 00 2A */ fadd f1, f5, f0 +/* 80281770 0027E6B0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl.s b/include/JSystem/JStudio/asm/prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl.s new file mode 100644 index 0000000000..88c6dcde9a --- /dev/null +++ b/include/JSystem/JStudio/asm/prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl.s @@ -0,0 +1,146 @@ +/* 80283FC8 00280F08 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 80283FCC 00280F0C 7C 08 02 A6 */ mflr r0 +/* 80283FD0 00280F10 90 01 00 64 */ stw r0, 0x64(r1) +/* 80283FD4 00280F14 39 61 00 60 */ addi r11, r1, 0x60 +/* 80283FD8 00280F18 48 0D E1 ED */ bl _savegpr_23 +/* 80283FDC 00280F1C 7C 7A 1B 78 */ mr r26, r3 +/* 80283FE0 00280F20 7C 97 23 78 */ mr r23, r4 +/* 80283FE4 00280F24 7C BB 2B 78 */ mr r27, r5 +/* 80283FE8 00280F28 38 61 00 14 */ addi r3, r1, 0x14 +/* 80283FEC 00280F2C 80 9A 00 14 */ lwz r4, 0x14(r26) +/* 80283FF0 00280F30 81 84 00 00 */ lwz r12, 0(r4) +/* 80283FF4 00280F34 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80283FF8 00280F38 7D 89 03 A6 */ mtctr r12 +/* 80283FFC 00280F3C 4E 80 04 21 */ bctrl +/* 80284000 00280F40 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80284004 00280F44 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80284008 00280F48 83 A1 00 1C */ lwz r29, 0x1c(r1) +/* 8028400C 00280F4C 80 97 00 00 */ lwz r4, 0(r23) +/* 80284010 00280F50 80 04 00 00 */ lwz r0, 0(r4) +/* 80284014 00280F54 7F 84 02 14 */ add r28, r4, r0 +/* 80284018 00280F58 A0 64 00 06 */ lhz r3, 6(r4) +/* 8028401C 00280F5C 38 03 00 03 */ addi r0, r3, 3 +/* 80284020 00280F60 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d +/* 80284024 00280F64 7C 64 02 14 */ add r3, r4, r0 +/* 80284028 00280F68 38 63 00 08 */ addi r3, r3, 8 +/* 8028402C 00280F6C 48 00 01 8C */ b lbl_802841B8 +lbl_80284030: +/* 80284030 00280F70 90 61 00 10 */ stw r3, 0x10(r1) +/* 80284034 00280F74 38 61 00 10 */ addi r3, r1, 0x10 +/* 80284038 00280F78 38 81 00 20 */ addi r4, r1, 0x20 +/* 8028403C 00280F7C 48 00 10 71 */ bl JStudio_NS_fvb_NS_data_NS_TParse_TParagraph_NS_getData +/* 80284040 00280F80 80 81 00 28 */ lwz r4, 0x28(r1) +/* 80284044 00280F84 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80284048 00280F88 28 00 00 16 */ cmplwi r0, 0x16 +/* 8028404C 00280F8C 41 81 01 68 */ bgt lbl_802841B4 +/* 80284050 00280F90 3C 60 80 3C */ lis r3, lbl_803C49C0@ha +/* 80284054 00280F94 38 63 49 C0 */ addi r3, r3, lbl_803C49C0@l +/* 80284058 00280F98 54 00 10 3A */ slwi r0, r0, 2 +/* 8028405C 00280F9C 7C 03 00 2E */ lwzx r0, r3, r0 +/* 80284060 00280FA0 7C 09 03 A6 */ mtctr r0 +/* 80284064 00280FA4 4E 80 04 20 */ bctr +/* 80284068 00280FA8 7F 43 D3 78 */ mr r3, r26 +/* 8028406C 00280FAC 38 81 00 20 */ addi r4, r1, 0x20 +/* 80284070 00280FB0 7F 65 DB 78 */ mr r5, r27 +/* 80284074 00280FB4 81 9A 00 08 */ lwz r12, 8(r26) +/* 80284078 00280FB8 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 8028407C 00280FBC 7D 89 03 A6 */ mtctr r12 +/* 80284080 00280FC0 4E 80 04 21 */ bctrl +/* 80284084 00280FC4 48 00 01 30 */ b lbl_802841B4 +/* 80284088 00280FC8 28 1F 00 00 */ cmplwi r31, 0 +/* 8028408C 00280FCC 41 82 01 28 */ beq lbl_802841B4 +/* 80284090 00280FD0 83 24 00 00 */ lwz r25, 0(r4) +/* 80284094 00280FD4 3B 04 00 04 */ addi r24, r4, 4 +/* 80284098 00280FD8 48 00 00 4C */ b lbl_802840E4 +lbl_8028409C: +/* 8028409C 00280FDC 82 F8 00 00 */ lwz r23, 0(r24) +/* 802840A0 00280FE0 7F 63 DB 78 */ mr r3, r27 +/* 802840A4 00280FE4 38 98 00 04 */ addi r4, r24, 4 +/* 802840A8 00280FE8 7E E5 BB 78 */ mr r5, r23 +/* 802840AC 00280FEC 48 00 07 89 */ bl getObject__Q37JStudio3fvb8TControlFPCvUl +/* 802840B0 00280FF0 28 03 00 00 */ cmplwi r3, 0 +/* 802840B4 00280FF4 41 82 00 1C */ beq lbl_802840D0 +/* 802840B8 00280FF8 80 03 00 14 */ lwz r0, 0x14(r3) +/* 802840BC 00280FFC 90 01 00 0C */ stw r0, 0xc(r1) +/* 802840C0 00281000 7F E3 FB 78 */ mr r3, r31 +/* 802840C4 00281004 80 9F 00 08 */ lwz r4, 8(r31) +/* 802840C8 00281008 38 A1 00 0C */ addi r5, r1, 0xc +/* 802840CC 0028100C 48 05 8C D9 */ bl JGadget_NS_TVector_pointer_void_NS_insert +lbl_802840D0: +/* 802840D0 00281010 38 17 00 03 */ addi r0, r23, 3 +/* 802840D4 00281014 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d +/* 802840D8 00281018 7F 00 C2 14 */ add r24, r0, r24 +/* 802840DC 0028101C 3B 18 00 04 */ addi r24, r24, 4 +/* 802840E0 00281020 3B 39 FF FF */ addi r25, r25, -1 +lbl_802840E4: +/* 802840E4 00281024 28 19 00 00 */ cmplwi r25, 0 +/* 802840E8 00281028 40 82 FF B4 */ bne lbl_8028409C +/* 802840EC 0028102C 48 00 00 C8 */ b lbl_802841B4 +/* 802840F0 00281030 28 1F 00 00 */ cmplwi r31, 0 +/* 802840F4 00281034 41 82 00 C0 */ beq lbl_802841B4 +/* 802840F8 00281038 7C 97 23 78 */ mr r23, r4 +/* 802840FC 0028103C 83 04 00 00 */ lwz r24, 0(r4) +/* 80284100 00281040 48 00 00 34 */ b lbl_80284134 +lbl_80284104: +/* 80284104 00281044 7F 63 DB 78 */ mr r3, r27 +/* 80284108 00281048 80 97 00 00 */ lwz r4, 0(r23) +/* 8028410C 0028104C 48 00 07 C9 */ bl getObject_index__Q37JStudio3fvb8TControlFUl +/* 80284110 00281050 28 03 00 00 */ cmplwi r3, 0 +/* 80284114 00281054 41 82 00 1C */ beq lbl_80284130 +/* 80284118 00281058 80 03 00 14 */ lwz r0, 0x14(r3) +/* 8028411C 0028105C 90 01 00 08 */ stw r0, 8(r1) +/* 80284120 00281060 7F E3 FB 78 */ mr r3, r31 +/* 80284124 00281064 80 9F 00 08 */ lwz r4, 8(r31) +/* 80284128 00281068 38 A1 00 08 */ addi r5, r1, 8 +/* 8028412C 0028106C 48 05 8C 79 */ bl JGadget_NS_TVector_pointer_void_NS_insert +lbl_80284130: +/* 80284130 00281070 3B 18 FF FF */ addi r24, r24, -1 +lbl_80284134: +/* 80284134 00281074 28 18 00 00 */ cmplwi r24, 0 +/* 80284138 00281078 3A F7 00 04 */ addi r23, r23, 4 +/* 8028413C 0028107C 40 82 FF C8 */ bne lbl_80284104 +/* 80284140 00281080 48 00 00 74 */ b lbl_802841B4 +/* 80284144 00281084 28 1E 00 00 */ cmplwi r30, 0 +/* 80284148 00281088 41 82 00 6C */ beq lbl_802841B4 +/* 8028414C 0028108C 7F C3 F3 78 */ mr r3, r30 +/* 80284150 00281090 C0 24 00 00 */ lfs f1, 0(r4) +/* 80284154 00281094 C0 44 00 04 */ lfs f2, 4(r4) +/* 80284158 00281098 4B FF D8 9D */ bl range_set__Q27JStudio29TFunctionValueAttribute_rangeFdd +/* 8028415C 0028109C 48 00 00 58 */ b lbl_802841B4 +/* 80284160 002810A0 28 1E 00 00 */ cmplwi r30, 0 +/* 80284164 002810A4 41 82 00 50 */ beq lbl_802841B4 +/* 80284168 002810A8 80 04 00 00 */ lwz r0, 0(r4) +/* 8028416C 002810AC 98 1E 00 18 */ stb r0, 0x18(r30) +/* 80284170 002810B0 48 00 00 44 */ b lbl_802841B4 +/* 80284174 002810B4 28 1E 00 00 */ cmplwi r30, 0 +/* 80284178 002810B8 41 82 00 3C */ beq lbl_802841B4 +/* 8028417C 002810BC 80 04 00 00 */ lwz r0, 0(r4) +/* 80284180 002810C0 98 1E 00 19 */ stb r0, 0x19(r30) +/* 80284184 002810C4 48 00 00 30 */ b lbl_802841B4 +/* 80284188 002810C8 28 1E 00 00 */ cmplwi r30, 0 +/* 8028418C 002810CC 41 82 00 28 */ beq lbl_802841B4 +/* 80284190 002810D0 A0 64 00 02 */ lhz r3, 2(r4) +/* 80284194 002810D4 A0 04 00 00 */ lhz r0, 0(r4) +/* 80284198 002810D8 90 1E 00 30 */ stw r0, 0x30(r30) +/* 8028419C 002810DC 90 7E 00 34 */ stw r3, 0x34(r30) +/* 802841A0 002810E0 48 00 00 14 */ b lbl_802841B4 +/* 802841A4 002810E4 28 1D 00 00 */ cmplwi r29, 0 +/* 802841A8 002810E8 41 82 00 0C */ beq lbl_802841B4 +/* 802841AC 002810EC 80 04 00 00 */ lwz r0, 0(r4) +/* 802841B0 002810F0 90 1D 00 00 */ stw r0, 0(r29) +lbl_802841B4: +/* 802841B4 002810F4 80 61 00 2C */ lwz r3, 0x2c(r1) +lbl_802841B8: +/* 802841B8 002810F8 7C 03 E0 40 */ cmplw r3, r28 +/* 802841BC 002810FC 41 80 FE 74 */ blt lbl_80284030 +/* 802841C0 00281100 80 7A 00 14 */ lwz r3, 0x14(r26) +/* 802841C4 00281104 81 83 00 00 */ lwz r12, 0(r3) +/* 802841C8 00281108 81 8C 00 18 */ lwz r12, 0x18(r12) +/* 802841CC 0028110C 7D 89 03 A6 */ mtctr r12 +/* 802841D0 00281110 4E 80 04 21 */ bctrl +/* 802841D4 00281114 39 61 00 60 */ addi r11, r1, 0x60 +/* 802841D8 00281118 48 0D E0 39 */ bl _restgpr_23 +/* 802841DC 0028111C 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802841E0 00281120 7C 08 03 A6 */ mtlr r0 +/* 802841E4 00281124 38 21 00 60 */ addi r1, r1, 0x60 +/* 802841E8 00281128 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl.s b/include/JSystem/JStudio/asm/prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl.s new file mode 100644 index 0000000000..29853b20b8 --- /dev/null +++ b/include/JSystem/JStudio/asm/prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl.s @@ -0,0 +1,25 @@ +/* 802842D4 00281214 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802842D8 00281218 7C 08 02 A6 */ mflr r0 +/* 802842DC 0028121C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802842E0 00281220 39 61 00 20 */ addi r11, r1, 0x20 +/* 802842E4 00281224 48 0D DE F9 */ bl _savegpr_29 +/* 802842E8 00281228 7C 7D 1B 78 */ mr r29, r3 +/* 802842EC 0028122C 83 C4 00 08 */ lwz r30, 8(r4) +/* 802842F0 00281230 80 7E 00 00 */ lwz r3, 0(r30) +/* 802842F4 00281234 4B FF FF 4D */ bl getCompositeOperation___Q27JStudio3fvbFQ47JStudio3fvb4data11TEComposite +/* 802842F8 00281238 7C 7F 1B 78 */ mr r31, r3 +/* 802842FC 0028123C 38 61 00 08 */ addi r3, r1, 8 +/* 80284300 00281240 38 9E 00 04 */ addi r4, r30, 4 +/* 80284304 00281244 81 9F 00 04 */ lwz r12, 4(r31) +/* 80284308 00281248 7D 89 03 A6 */ mtctr r12 +/* 8028430C 0028124C 4E 80 04 21 */ bctrl +/* 80284310 00281250 80 1F 00 00 */ lwz r0, 0(r31) +/* 80284314 00281254 90 1D 00 30 */ stw r0, 0x30(r29) +/* 80284318 00281258 C8 01 00 08 */ lfd f0, 8(r1) +/* 8028431C 0028125C D8 1D 00 38 */ stfd f0, 0x38(r29) +/* 80284320 00281260 39 61 00 20 */ addi r11, r1, 0x20 +/* 80284324 00281264 48 0D DF 05 */ bl _restgpr_29 +/* 80284328 00281268 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8028432C 0028126C 7C 08 03 A6 */ mtlr r0 +/* 80284330 00281270 38 21 00 20 */ addi r1, r1, 0x20 +/* 80284334 00281274 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd.s b/include/JSystem/JStudio/asm/range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd.s new file mode 100644 index 0000000000..e950c7329b --- /dev/null +++ b/include/JSystem/JStudio/asm/range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd.s @@ -0,0 +1,213 @@ +/* 80281A08 0027E948 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80281A0C 0027E94C 7C 08 02 A6 */ mflr r0 +/* 80281A10 0027E950 90 01 00 34 */ stw r0, 0x34(r1) +/* 80281A14 0027E954 39 61 00 30 */ addi r11, r1, 0x30 +/* 80281A18 0027E958 48 0E 07 2D */ bl _savefpr_29 +/* 80281A1C 0027E95C 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80281A20 0027E960 7C 7F 1B 78 */ mr r31, r3 +/* 80281A24 0027E964 FF E0 10 90 */ fmr f31, f2 +/* 80281A28 0027E968 FF A0 18 90 */ fmr f29, f3 +/* 80281A2C 0027E96C C8 63 00 20 */ lfd f3, 0x20(r3) +/* 80281A30 0027E970 C8 43 00 28 */ lfd f2, 0x28(r3) +/* 80281A34 0027E974 FC 01 18 28 */ fsub f0, f1, f3 +/* 80281A38 0027E978 FC 02 00 32 */ fmul f0, f2, f0 +/* 80281A3C 0027E97C FC 43 00 2A */ fadd f2, f3, f0 +/* 80281A40 0027E980 88 03 00 19 */ lbz r0, 0x19(r3) +/* 80281A44 0027E984 7C 00 07 74 */ extsb r0, r0 +/* 80281A48 0027E988 2C 00 00 02 */ cmpwi r0, 2 +/* 80281A4C 0027E98C 41 82 01 1C */ beq lbl_80281B68 +/* 80281A50 0027E990 40 80 00 14 */ bge lbl_80281A64 +/* 80281A54 0027E994 2C 00 00 00 */ cmpwi r0, 0 +/* 80281A58 0027E998 41 82 00 1C */ beq lbl_80281A74 +/* 80281A5C 0027E99C 40 80 00 90 */ bge lbl_80281AEC +/* 80281A60 0027E9A0 48 00 00 14 */ b lbl_80281A74 +lbl_80281A64: +/* 80281A64 0027E9A4 2C 00 00 04 */ cmpwi r0, 4 +/* 80281A68 0027E9A8 41 82 02 0C */ beq lbl_80281C74 +/* 80281A6C 0027E9AC 40 80 00 08 */ bge lbl_80281A74 +/* 80281A70 0027E9B0 48 00 01 78 */ b lbl_80281BE8 +lbl_80281A74: +/* 80281A74 0027E9B4 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281A78 0027E9B8 FF E2 00 28 */ fsub f31, f2, f0 +/* 80281A7C 0027E9BC C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80281A80 0027E9C0 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281A84 0027E9C4 40 80 00 28 */ bge lbl_80281AAC +/* 80281A88 0027E9C8 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 80281A8C 0027E9CC 4B FF FB BD */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281A90 0027E9D0 FC 20 F8 90 */ fmr f1, f31 +/* 80281A94 0027E9D4 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281A98 0027E9D8 7C 6C 1B 78 */ mr r12, r3 +/* 80281A9C 0027E9DC 7D 89 03 A6 */ mtctr r12 +/* 80281AA0 0027E9E0 4E 80 04 21 */ bctrl +/* 80281AA4 0027E9E4 FF E0 08 90 */ fmr f31, f1 +/* 80281AA8 0027E9E8 48 00 00 34 */ b lbl_80281ADC +lbl_80281AAC: +/* 80281AAC 0027E9EC C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80281AB0 0027E9F0 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281AB4 0027E9F4 4C 41 13 82 */ cror 2, 1, 2 +/* 80281AB8 0027E9F8 40 82 00 24 */ bne lbl_80281ADC +/* 80281ABC 0027E9FC 80 7F 00 34 */ lwz r3, 0x34(r31) +/* 80281AC0 0027EA00 4B FF FB 89 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281AC4 0027EA04 FC 20 F8 90 */ fmr f1, f31 +/* 80281AC8 0027EA08 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281ACC 0027EA0C 7C 6C 1B 78 */ mr r12, r3 +/* 80281AD0 0027EA10 7D 89 03 A6 */ mtctr r12 +/* 80281AD4 0027EA14 4E 80 04 21 */ bctrl +/* 80281AD8 0027EA18 FF E0 08 90 */ fmr f31, f1 +lbl_80281ADC: +/* 80281ADC 0027EA1C C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281AE0 0027EA20 FF FF 00 2A */ fadd f31, f31, f0 +/* 80281AE4 0027EA24 FC 20 F8 90 */ fmr f1, f31 +/* 80281AE8 0027EA28 48 00 02 14 */ b lbl_80281CFC +lbl_80281AEC: +/* 80281AEC 0027EA2C C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281AF0 0027EA30 FF E2 00 2A */ fadd f31, f2, f0 +/* 80281AF4 0027EA34 FF FF 00 28 */ fsub f31, f31, f0 +/* 80281AF8 0027EA38 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80281AFC 0027EA3C FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281B00 0027EA40 40 80 00 28 */ bge lbl_80281B28 +/* 80281B04 0027EA44 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 80281B08 0027EA48 4B FF FB 41 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281B0C 0027EA4C FC 20 F8 90 */ fmr f1, f31 +/* 80281B10 0027EA50 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281B14 0027EA54 7C 6C 1B 78 */ mr r12, r3 +/* 80281B18 0027EA58 7D 89 03 A6 */ mtctr r12 +/* 80281B1C 0027EA5C 4E 80 04 21 */ bctrl +/* 80281B20 0027EA60 FF E0 08 90 */ fmr f31, f1 +/* 80281B24 0027EA64 48 00 00 34 */ b lbl_80281B58 +lbl_80281B28: +/* 80281B28 0027EA68 C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80281B2C 0027EA6C FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281B30 0027EA70 4C 41 13 82 */ cror 2, 1, 2 +/* 80281B34 0027EA74 40 82 00 24 */ bne lbl_80281B58 +/* 80281B38 0027EA78 80 7F 00 34 */ lwz r3, 0x34(r31) +/* 80281B3C 0027EA7C 4B FF FB 0D */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281B40 0027EA80 FC 20 F8 90 */ fmr f1, f31 +/* 80281B44 0027EA84 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281B48 0027EA88 7C 6C 1B 78 */ mr r12, r3 +/* 80281B4C 0027EA8C 7D 89 03 A6 */ mtctr r12 +/* 80281B50 0027EA90 4E 80 04 21 */ bctrl +/* 80281B54 0027EA94 FF E0 08 90 */ fmr f31, f1 +lbl_80281B58: +/* 80281B58 0027EA98 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281B5C 0027EA9C FF FF 00 2A */ fadd f31, f31, f0 +/* 80281B60 0027EAA0 FC 20 F8 90 */ fmr f1, f31 +/* 80281B64 0027EAA4 48 00 01 98 */ b lbl_80281CFC +lbl_80281B68: +/* 80281B68 0027EAA8 C8 1F 00 08 */ lfd f0, 8(r31) +/* 80281B6C 0027EAAC FF E2 00 2A */ fadd f31, f2, f0 +/* 80281B70 0027EAB0 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281B74 0027EAB4 FF FF 00 28 */ fsub f31, f31, f0 +/* 80281B78 0027EAB8 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80281B7C 0027EABC FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281B80 0027EAC0 40 80 00 28 */ bge lbl_80281BA8 +/* 80281B84 0027EAC4 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 80281B88 0027EAC8 4B FF FA C1 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281B8C 0027EACC FC 20 F8 90 */ fmr f1, f31 +/* 80281B90 0027EAD0 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281B94 0027EAD4 7C 6C 1B 78 */ mr r12, r3 +/* 80281B98 0027EAD8 7D 89 03 A6 */ mtctr r12 +/* 80281B9C 0027EADC 4E 80 04 21 */ bctrl +/* 80281BA0 0027EAE0 FF E0 08 90 */ fmr f31, f1 +/* 80281BA4 0027EAE4 48 00 00 34 */ b lbl_80281BD8 +lbl_80281BA8: +/* 80281BA8 0027EAE8 C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80281BAC 0027EAEC FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281BB0 0027EAF0 4C 41 13 82 */ cror 2, 1, 2 +/* 80281BB4 0027EAF4 40 82 00 24 */ bne lbl_80281BD8 +/* 80281BB8 0027EAF8 80 7F 00 34 */ lwz r3, 0x34(r31) +/* 80281BBC 0027EAFC 4B FF FA 8D */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281BC0 0027EB00 FC 20 F8 90 */ fmr f1, f31 +/* 80281BC4 0027EB04 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281BC8 0027EB08 7C 6C 1B 78 */ mr r12, r3 +/* 80281BCC 0027EB0C 7D 89 03 A6 */ mtctr r12 +/* 80281BD0 0027EB10 4E 80 04 21 */ bctrl +/* 80281BD4 0027EB14 FF E0 08 90 */ fmr f31, f1 +lbl_80281BD8: +/* 80281BD8 0027EB18 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281BDC 0027EB1C FF FF 00 2A */ fadd f31, f31, f0 +/* 80281BE0 0027EB20 FC 20 F8 90 */ fmr f1, f31 +/* 80281BE4 0027EB24 48 00 01 18 */ b lbl_80281CFC +lbl_80281BE8: +/* 80281BE8 0027EB28 C8 22 BA 28 */ lfd f1, lbl_80455428-_SDA2_BASE_(r2) +/* 80281BEC 0027EB2C C8 7F 00 00 */ lfd f3, 0(r31) +/* 80281BF0 0027EB30 C8 1F 00 08 */ lfd f0, 8(r31) +/* 80281BF4 0027EB34 FC 03 00 2A */ fadd f0, f3, f0 +/* 80281BF8 0027EB38 FC 01 00 32 */ fmul f0, f1, f0 +/* 80281BFC 0027EB3C FF E2 00 2A */ fadd f31, f2, f0 +/* 80281C00 0027EB40 FF FF 18 28 */ fsub f31, f31, f3 +/* 80281C04 0027EB44 C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80281C08 0027EB48 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281C0C 0027EB4C 40 80 00 28 */ bge lbl_80281C34 +/* 80281C10 0027EB50 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 80281C14 0027EB54 4B FF FA 35 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281C18 0027EB58 FC 20 F8 90 */ fmr f1, f31 +/* 80281C1C 0027EB5C C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281C20 0027EB60 7C 6C 1B 78 */ mr r12, r3 +/* 80281C24 0027EB64 7D 89 03 A6 */ mtctr r12 +/* 80281C28 0027EB68 4E 80 04 21 */ bctrl +/* 80281C2C 0027EB6C FF E0 08 90 */ fmr f31, f1 +/* 80281C30 0027EB70 48 00 00 34 */ b lbl_80281C64 +lbl_80281C34: +/* 80281C34 0027EB74 C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80281C38 0027EB78 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80281C3C 0027EB7C 4C 41 13 82 */ cror 2, 1, 2 +/* 80281C40 0027EB80 40 82 00 24 */ bne lbl_80281C64 +/* 80281C44 0027EB84 80 7F 00 34 */ lwz r3, 0x34(r31) +/* 80281C48 0027EB88 4B FF FA 01 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281C4C 0027EB8C FC 20 F8 90 */ fmr f1, f31 +/* 80281C50 0027EB90 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281C54 0027EB94 7C 6C 1B 78 */ mr r12, r3 +/* 80281C58 0027EB98 7D 89 03 A6 */ mtctr r12 +/* 80281C5C 0027EB9C 4E 80 04 21 */ bctrl +/* 80281C60 0027EBA0 FF E0 08 90 */ fmr f31, f1 +lbl_80281C64: +/* 80281C64 0027EBA4 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281C68 0027EBA8 FF FF 00 2A */ fadd f31, f31, f0 +/* 80281C6C 0027EBAC FC 20 F8 90 */ fmr f1, f31 +/* 80281C70 0027EBB0 48 00 00 8C */ b lbl_80281CFC +lbl_80281C74: +/* 80281C74 0027EBB4 C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281C78 0027EBB8 FF C2 00 28 */ fsub f30, f2, f0 +/* 80281C7C 0027EBBC C8 02 BA 00 */ lfd f0, lbl_80455400-_SDA2_BASE_(r2) +/* 80281C80 0027EBC0 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80281C84 0027EBC4 40 80 00 28 */ bge lbl_80281CAC +/* 80281C88 0027EBC8 80 7F 00 30 */ lwz r3, 0x30(r31) +/* 80281C8C 0027EBCC 4B FF F9 BD */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281C90 0027EBD0 FC 20 F0 90 */ fmr f1, f30 +/* 80281C94 0027EBD4 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281C98 0027EBD8 7C 6C 1B 78 */ mr r12, r3 +/* 80281C9C 0027EBDC 7D 89 03 A6 */ mtctr r12 +/* 80281CA0 0027EBE0 4E 80 04 21 */ bctrl +/* 80281CA4 0027EBE4 FF C0 08 90 */ fmr f30, f1 +/* 80281CA8 0027EBE8 48 00 00 34 */ b lbl_80281CDC +lbl_80281CAC: +/* 80281CAC 0027EBEC C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80281CB0 0027EBF0 FC 1E 00 40 */ fcmpo cr0, f30, f0 +/* 80281CB4 0027EBF4 4C 41 13 82 */ cror 2, 1, 2 +/* 80281CB8 0027EBF8 40 82 00 24 */ bne lbl_80281CDC +/* 80281CBC 0027EBFC 80 7F 00 34 */ lwz r3, 0x34(r31) +/* 80281CC0 0027EC00 4B FF F9 89 */ bl toFunction_outside__Q27JStudio14TFunctionValueFi +/* 80281CC4 0027EC04 FC 20 F0 90 */ fmr f1, f30 +/* 80281CC8 0027EC08 C8 5F 00 10 */ lfd f2, 0x10(r31) +/* 80281CCC 0027EC0C 7C 6C 1B 78 */ mr r12, r3 +/* 80281CD0 0027EC10 7D 89 03 A6 */ mtctr r12 +/* 80281CD4 0027EC14 4E 80 04 21 */ bctrl +/* 80281CD8 0027EC18 FF C0 08 90 */ fmr f30, f1 +lbl_80281CDC: +/* 80281CDC 0027EC1C C8 1F 00 00 */ lfd f0, 0(r31) +/* 80281CE0 0027EC20 FF DE 00 2A */ fadd f30, f30, f0 +/* 80281CE4 0027EC24 FC 3E 00 28 */ fsub f1, f30, f0 +/* 80281CE8 0027EC28 FC 1D F8 28 */ fsub f0, f29, f31 +/* 80281CEC 0027EC2C FC 21 00 32 */ fmul f1, f1, f0 +/* 80281CF0 0027EC30 C8 1F 00 10 */ lfd f0, 0x10(r31) +/* 80281CF4 0027EC34 FC 01 00 24 */ fdiv f0, f1, f0 +/* 80281CF8 0027EC38 FC 3F 00 2A */ fadd f1, f31, f0 +lbl_80281CFC: +/* 80281CFC 0027EC3C 39 61 00 30 */ addi r11, r1, 0x30 +/* 80281D00 0027EC40 48 0E 04 91 */ bl _restfpr_29 +/* 80281D04 0027EC44 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80281D08 0027EC48 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80281D0C 0027EC4C 7C 08 03 A6 */ mtlr r0 +/* 80281D10 0027EC50 38 21 00 30 */ addi r1, r1, 0x30 +/* 80281D14 0027EC54 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_.s b/include/JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_.s new file mode 100644 index 0000000000..fb724fa0ef --- /dev/null +++ b/include/JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_.s @@ -0,0 +1,38 @@ +/* 80282CA8 0027FBE8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80282CAC 0027FBEC 7C 08 02 A6 */ mflr r0 +/* 80282CB0 0027FBF0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80282CB4 0027FBF4 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 80282CB8 0027FBF8 80 C4 00 10 */ lwz r6, 0x10(r4) +/* 80282CBC 0027FBFC 54 C0 10 3A */ slwi r0, r6, 2 +/* 80282CC0 0027FC00 7C 65 04 2E */ lfsx f3, r5, r0 +/* 80282CC4 0027FC04 7C A5 02 14 */ add r5, r5, r0 +/* 80282CC8 0027FC08 C0 85 00 04 */ lfs f4, 4(r5) +/* 80282CCC 0027FC0C 28 06 00 00 */ cmplwi r6, 0 +/* 80282CD0 0027FC10 40 82 00 18 */ bne lbl_80282CE8 +/* 80282CD4 0027FC14 C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) +/* 80282CD8 0027FC18 FC 00 00 F2 */ fmul f0, f0, f3 +/* 80282CDC 0027FC1C FC 40 20 28 */ fsub f2, f0, f4 +/* 80282CE0 0027FC20 C0 A5 00 08 */ lfs f5, 8(r5) +/* 80282CE4 0027FC24 48 00 00 30 */ b lbl_80282D14 +lbl_80282CE8: +/* 80282CE8 0027FC28 80 63 00 48 */ lwz r3, 0x48(r3) +/* 80282CEC 0027FC2C 38 03 FF FE */ addi r0, r3, -2 +/* 80282CF0 0027FC30 7C 06 00 40 */ cmplw r6, r0 +/* 80282CF4 0027FC34 40 82 00 18 */ bne lbl_80282D0C +/* 80282CF8 0027FC38 C0 45 FF FC */ lfs f2, -4(r5) +/* 80282CFC 0027FC3C C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) +/* 80282D00 0027FC40 FC 00 01 32 */ fmul f0, f0, f4 +/* 80282D04 0027FC44 FC A0 18 28 */ fsub f5, f0, f3 +/* 80282D08 0027FC48 48 00 00 0C */ b lbl_80282D14 +lbl_80282D0C: +/* 80282D0C 0027FC4C C0 45 FF FC */ lfs f2, -4(r5) +/* 80282D10 0027FC50 C0 A5 00 08 */ lfs f5, 8(r5) +lbl_80282D14: +/* 80282D14 0027FC54 C8 24 00 00 */ lfd f1, 0(r4) +/* 80282D18 0027FC58 C8 04 00 08 */ lfd f0, 8(r4) +/* 80282D1C 0027FC5C FC 21 00 28 */ fsub f1, f1, f0 +/* 80282D20 0027FC60 4B FF EA 55 */ bl interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd +/* 80282D24 0027FC64 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80282D28 0027FC68 7C 08 03 A6 */ mtlr r0 +/* 80282D2C 0027FC6C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80282D30 0027FC70 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd.s b/include/JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd.s new file mode 100644 index 0000000000..febbf65884 --- /dev/null +++ b/include/JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd.s @@ -0,0 +1,169 @@ +/* 80283060 0027FFA0 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 80283064 0027FFA4 7C 08 02 A6 */ mflr r0 +/* 80283068 0027FFA8 90 01 00 64 */ stw r0, 0x64(r1) +/* 8028306C 0027FFAC 80 83 00 54 */ lwz r4, 0x54(r3) +/* 80283070 0027FFB0 C0 E4 FF FC */ lfs f7, -4(r4) +/* 80283074 0027FFB4 D8 E1 00 10 */ stfd f7, 0x10(r1) +/* 80283078 0027FFB8 C0 C4 00 04 */ lfs f6, 4(r4) +/* 8028307C 0027FFBC D8 C1 00 18 */ stfd f6, 0x18(r1) +/* 80283080 0027FFC0 C0 A4 FF F8 */ lfs f5, -8(r4) +/* 80283084 0027FFC4 D8 A1 00 38 */ stfd f5, 0x38(r1) +/* 80283088 0027FFC8 C0 84 00 00 */ lfs f4, 0(r4) +/* 8028308C 0027FFCC D8 81 00 40 */ stfd f4, 0x40(r1) +/* 80283090 0027FFD0 80 03 00 50 */ lwz r0, 0x50(r3) +/* 80283094 0027FFD4 7C 04 00 50 */ subf r0, r4, r0 +/* 80283098 0027FFD8 7C 00 16 70 */ srawi r0, r0, 2 +/* 8028309C 0027FFDC 7C A0 01 94 */ addze r5, r0 +/* 802830A0 0027FFE0 80 03 00 4C */ lwz r0, 0x4c(r3) +/* 802830A4 0027FFE4 7C 00 20 50 */ subf r0, r0, r4 +/* 802830A8 0027FFE8 7C 00 16 70 */ srawi r0, r0, 2 +/* 802830AC 0027FFEC 7C 00 01 94 */ addze r0, r0 +/* 802830B0 0027FFF0 2C 00 00 03 */ cmpwi r0, 3 +/* 802830B4 0027FFF4 41 82 01 40 */ beq lbl_802831F4 +/* 802830B8 0027FFF8 40 80 00 10 */ bge lbl_802830C8 +/* 802830BC 0027FFFC 2C 00 00 02 */ cmpwi r0, 2 +/* 802830C0 00280000 40 80 00 14 */ bge lbl_802830D4 +/* 802830C4 00280004 48 00 01 30 */ b lbl_802831F4 +lbl_802830C8: +/* 802830C8 00280008 2C 00 00 05 */ cmpwi r0, 5 +/* 802830CC 0028000C 40 80 01 28 */ bge lbl_802831F4 +/* 802830D0 00280010 48 00 00 80 */ b lbl_80283150 +lbl_802830D4: +/* 802830D4 00280014 C8 42 BA 38 */ lfd f2, lbl_80455438-_SDA2_BASE_(r2) +/* 802830D8 00280018 FC 02 01 F2 */ fmul f0, f2, f7 +/* 802830DC 0028001C FC 00 30 28 */ fsub f0, f0, f6 +/* 802830E0 00280020 D8 01 00 08 */ stfd f0, 8(r1) +/* 802830E4 00280024 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 802830E8 00280028 D8 01 00 20 */ stfd f0, 0x20(r1) +/* 802830EC 0028002C C0 64 00 08 */ lfs f3, 8(r4) +/* 802830F0 00280030 D8 61 00 48 */ stfd f3, 0x48(r1) +/* 802830F4 00280034 FC 42 01 72 */ fmul f2, f2, f5 +/* 802830F8 00280038 FC 02 20 28 */ fsub f0, f2, f4 +/* 802830FC 0028003C D8 01 00 30 */ stfd f0, 0x30(r1) +/* 80283100 00280040 FC 02 18 28 */ fsub f0, f2, f3 +/* 80283104 00280044 D8 01 00 28 */ stfd f0, 0x28(r1) +/* 80283108 00280048 2C 05 00 03 */ cmpwi r5, 3 +/* 8028310C 0028004C 41 82 00 38 */ beq lbl_80283144 +/* 80283110 00280050 40 80 00 10 */ bge lbl_80283120 +/* 80283114 00280054 2C 05 00 02 */ cmpwi r5, 2 +/* 80283118 00280058 40 80 00 10 */ bge lbl_80283128 +/* 8028311C 0028005C 48 00 00 28 */ b lbl_80283144 +lbl_80283120: +/* 80283120 00280060 2C 05 00 05 */ cmpwi r5, 5 +/* 80283124 00280064 40 80 00 20 */ bge lbl_80283144 +lbl_80283128: +/* 80283128 00280068 C8 42 BA 38 */ lfd f2, lbl_80455438-_SDA2_BASE_(r2) +/* 8028312C 0028006C C8 01 00 48 */ lfd f0, 0x48(r1) +/* 80283130 00280070 FC 42 00 32 */ fmul f2, f2, f0 +/* 80283134 00280074 C8 01 00 40 */ lfd f0, 0x40(r1) +/* 80283138 00280078 FC 02 00 28 */ fsub f0, f2, f0 +/* 8028313C 0028007C D8 01 00 50 */ stfd f0, 0x50(r1) +/* 80283140 00280080 48 00 01 68 */ b lbl_802832A8 +lbl_80283144: +/* 80283144 00280084 C0 04 00 10 */ lfs f0, 0x10(r4) +/* 80283148 00280088 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 8028314C 0028008C 48 00 01 5C */ b lbl_802832A8 +lbl_80283150: +/* 80283150 00280090 C0 04 FF F4 */ lfs f0, -0xc(r4) +/* 80283154 00280094 D8 01 00 08 */ stfd f0, 8(r1) +/* 80283158 00280098 C0 64 FF F0 */ lfs f3, -0x10(r4) +/* 8028315C 0028009C D8 61 00 30 */ stfd f3, 0x30(r1) +/* 80283160 002800A0 C8 42 BA 38 */ lfd f2, lbl_80455438-_SDA2_BASE_(r2) +/* 80283164 002800A4 FC 02 00 F2 */ fmul f0, f2, f3 +/* 80283168 002800A8 FC 00 28 28 */ fsub f0, f0, f5 +/* 8028316C 002800AC D8 01 00 28 */ stfd f0, 0x28(r1) +/* 80283170 002800B0 2C 05 00 03 */ cmpwi r5, 3 +/* 80283174 002800B4 41 82 00 64 */ beq lbl_802831D8 +/* 80283178 002800B8 40 80 00 10 */ bge lbl_80283188 +/* 8028317C 002800BC 2C 05 00 02 */ cmpwi r5, 2 +/* 80283180 002800C0 40 80 00 14 */ bge lbl_80283194 +/* 80283184 002800C4 48 00 00 54 */ b lbl_802831D8 +lbl_80283188: +/* 80283188 002800C8 2C 05 00 05 */ cmpwi r5, 5 +/* 8028318C 002800CC 40 80 00 4C */ bge lbl_802831D8 +/* 80283190 002800D0 48 00 00 28 */ b lbl_802831B8 +lbl_80283194: +/* 80283194 002800D4 FC 02 01 B2 */ fmul f0, f2, f6 +/* 80283198 002800D8 FC 00 38 28 */ fsub f0, f0, f7 +/* 8028319C 002800DC D8 01 00 20 */ stfd f0, 0x20(r1) +/* 802831A0 002800E0 FC 42 01 32 */ fmul f2, f2, f4 +/* 802831A4 002800E4 FC 02 28 28 */ fsub f0, f2, f5 +/* 802831A8 002800E8 D8 01 00 48 */ stfd f0, 0x48(r1) +/* 802831AC 002800EC FC 02 18 28 */ fsub f0, f2, f3 +/* 802831B0 002800F0 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 802831B4 002800F4 48 00 00 F4 */ b lbl_802832A8 +lbl_802831B8: +/* 802831B8 002800F8 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 802831BC 002800FC D8 01 00 20 */ stfd f0, 0x20(r1) +/* 802831C0 00280100 C0 04 00 08 */ lfs f0, 8(r4) +/* 802831C4 00280104 D8 01 00 48 */ stfd f0, 0x48(r1) +/* 802831C8 00280108 FC 02 00 32 */ fmul f0, f2, f0 +/* 802831CC 0028010C FC 00 20 28 */ fsub f0, f0, f4 +/* 802831D0 00280110 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 802831D4 00280114 48 00 00 D4 */ b lbl_802832A8 +lbl_802831D8: +/* 802831D8 00280118 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 802831DC 0028011C D8 01 00 20 */ stfd f0, 0x20(r1) +/* 802831E0 00280120 C0 04 00 08 */ lfs f0, 8(r4) +/* 802831E4 00280124 D8 01 00 48 */ stfd f0, 0x48(r1) +/* 802831E8 00280128 C0 04 00 10 */ lfs f0, 0x10(r4) +/* 802831EC 0028012C D8 01 00 50 */ stfd f0, 0x50(r1) +/* 802831F0 00280130 48 00 00 B8 */ b lbl_802832A8 +lbl_802831F4: +/* 802831F4 00280134 C0 04 FF F4 */ lfs f0, -0xc(r4) +/* 802831F8 00280138 D8 01 00 08 */ stfd f0, 8(r1) +/* 802831FC 0028013C C0 84 FF F0 */ lfs f4, -0x10(r4) +/* 80283200 00280140 D8 81 00 30 */ stfd f4, 0x30(r1) +/* 80283204 00280144 C0 04 FF E8 */ lfs f0, -0x18(r4) +/* 80283208 00280148 D8 01 00 28 */ stfd f0, 0x28(r1) +/* 8028320C 0028014C 2C 05 00 03 */ cmpwi r5, 3 +/* 80283210 00280150 41 82 00 80 */ beq lbl_80283290 +/* 80283214 00280154 40 80 00 10 */ bge lbl_80283224 +/* 80283218 00280158 2C 05 00 02 */ cmpwi r5, 2 +/* 8028321C 0028015C 40 80 00 14 */ bge lbl_80283230 +/* 80283220 00280160 48 00 00 70 */ b lbl_80283290 +lbl_80283224: +/* 80283224 00280164 2C 05 00 05 */ cmpwi r5, 5 +/* 80283228 00280168 40 80 00 68 */ bge lbl_80283290 +/* 8028322C 0028016C 48 00 00 3C */ b lbl_80283268 +lbl_80283230: +/* 80283230 00280170 C8 62 BA 38 */ lfd f3, lbl_80455438-_SDA2_BASE_(r2) +/* 80283234 00280174 C8 01 00 18 */ lfd f0, 0x18(r1) +/* 80283238 00280178 FC 43 00 32 */ fmul f2, f3, f0 +/* 8028323C 0028017C C8 01 00 10 */ lfd f0, 0x10(r1) +/* 80283240 00280180 FC 02 00 28 */ fsub f0, f2, f0 +/* 80283244 00280184 D8 01 00 20 */ stfd f0, 0x20(r1) +/* 80283248 00280188 C8 01 00 40 */ lfd f0, 0x40(r1) +/* 8028324C 0028018C FC 43 00 32 */ fmul f2, f3, f0 +/* 80283250 00280190 C8 01 00 38 */ lfd f0, 0x38(r1) +/* 80283254 00280194 FC 02 00 28 */ fsub f0, f2, f0 +/* 80283258 00280198 D8 01 00 48 */ stfd f0, 0x48(r1) +/* 8028325C 0028019C FC 02 20 28 */ fsub f0, f2, f4 +/* 80283260 002801A0 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 80283264 002801A4 48 00 00 44 */ b lbl_802832A8 +lbl_80283268: +/* 80283268 002801A8 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 8028326C 002801AC D8 01 00 20 */ stfd f0, 0x20(r1) +/* 80283270 002801B0 C0 44 00 08 */ lfs f2, 8(r4) +/* 80283274 002801B4 D8 41 00 48 */ stfd f2, 0x48(r1) +/* 80283278 002801B8 C8 02 BA 38 */ lfd f0, lbl_80455438-_SDA2_BASE_(r2) +/* 8028327C 002801BC FC 40 00 B2 */ fmul f2, f0, f2 +/* 80283280 002801C0 C8 01 00 40 */ lfd f0, 0x40(r1) +/* 80283284 002801C4 FC 02 00 28 */ fsub f0, f2, f0 +/* 80283288 002801C8 D8 01 00 50 */ stfd f0, 0x50(r1) +/* 8028328C 002801CC 48 00 00 1C */ b lbl_802832A8 +lbl_80283290: +/* 80283290 002801D0 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 80283294 002801D4 D8 01 00 20 */ stfd f0, 0x20(r1) +/* 80283298 002801D8 C0 04 00 08 */ lfs f0, 8(r4) +/* 8028329C 002801DC D8 01 00 48 */ stfd f0, 0x48(r1) +/* 802832A0 002801E0 C0 04 00 10 */ lfs f0, 0x10(r4) +/* 802832A4 002801E4 D8 01 00 50 */ stfd f0, 0x50(r1) +lbl_802832A8: +/* 802832A8 002801E8 38 61 00 08 */ addi r3, r1, 8 +/* 802832AC 002801EC 38 81 00 28 */ addi r4, r1, 0x28 +/* 802832B0 002801F0 4B FF E5 29 */ bl interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd +/* 802832B4 002801F4 80 01 00 64 */ lwz r0, 0x64(r1) +/* 802832B8 002801F8 7C 08 03 A6 */ mtlr r0 +/* 802832BC 002801FC 38 21 00 60 */ addi r1, r1, 0x60 +/* 802832C0 00280200 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JStudio/functionvalue.h b/include/JSystem/JStudio/functionvalue.h new file mode 100644 index 0000000000..54a8492747 --- /dev/null +++ b/include/JSystem/JStudio/functionvalue.h @@ -0,0 +1,397 @@ +#ifndef JSTUDIO_FUNCTIONVALUE_H +#define JSTUDIO_FUNCTIONVALUE_H + +#include "JSystem/JGadget/search.h" +#include "JSystem/JGadget/vector.h" +#include "global.h" + +typedef f64 (*DoubleFunc)(f64, f64); // gapfnExtrapolateParameter_ + +extern "C" { +extern void toFunction_outside__Q27JStudio14TFunctionValueFi(); +extern void JGadget_NS_TVector_pointer_void(); +extern void __ct__Q27JStudio14TFunctionValueFv(); +extern void func_80365078(); +extern void func_8036C0FC(); +extern void interpolateValue_hermite__Q27JStudio13functionvalueFddddddd(); +extern void interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd(); +extern void JGadget_NS_findUpperBound_binary_current(); +extern void range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd(); +extern void interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd(); +extern void JGadget_NS_findUpperBound_binary_current_X2_(); +extern f64 func_8036C760(f64 a1, f64 a2); +} + +extern DoubleFunc lbl_8039A9F0[]; +extern f64 lbl_80455408; +extern f64 lbl_80455410; +extern f64 lbl_80455418; +extern f64 lbl_80455420; +extern f64 lbl_80455428; +extern f64 lbl_80455430; +extern f64 lbl_80455400; +extern f64 lbl_80455440; +extern f64 lbl_80455428; +extern u8 lbl_803C4980; +extern f64 lbl_80455448; +extern f64 lbl_80455438; + +namespace JStudio { + +struct TFunctionValue; +struct TFunctionValueAttributeSet; + +struct TFunctionValueAttribute_refer; +struct TFunctionValueAttribute_range; +struct TFunctionValueAttribute_interpolate; + +/* Function Value Base */ + +struct TFunctionValue { + typedef enum TEProgress { PROG_INIT = 0 }; + typedef enum TEAdjust { ADJ_INIT = 0 }; + typedef enum TEOutside { OUT_INIT = 0 }; + + TFunctionValue(); + virtual ~TFunctionValue(); + + // virtuals + virtual u32 getType() const = 0; + virtual TFunctionValueAttributeSet getAttributeSet() = 0; + virtual void initialize() = 0; + virtual void prepare() = 0; + virtual f64 getValue(f64 arg1) = 0; + + // inlines + static DoubleFunc toFunction(TFunctionValue::TEOutside outside) { + return toFunction_outside(outside); + } + + // member functions + static DoubleFunc toFunction_outside(int arg1); +}; + +/* Attribute Sets */ + +struct TFunctionValueAttributeSet_const { + TFunctionValueAttributeSet_const(TFunctionValueAttribute_refer* refer, + TFunctionValueAttribute_range* range, + TFunctionValueAttribute_interpolate* interp) + : refer_(refer), range_(range), interp_(interp) {} + + /* 0x00 */ TFunctionValueAttribute_refer* refer_; + /* 0x04 */ TFunctionValueAttribute_range* range_; + /* 0x08 */ TFunctionValueAttribute_interpolate* interp_; +}; + +struct TFunctionValueAttributeSet : TFunctionValueAttributeSet_const { + TFunctionValueAttributeSet(TFunctionValueAttribute_refer* refer, + TFunctionValueAttribute_range* range, + TFunctionValueAttribute_interpolate* interp) + : TFunctionValueAttributeSet_const(refer, range, interp) {} +}; + +/* Attributes */ + +struct TFunctionValueAttribute_range { + TFunctionValueAttribute_range(); + + // inlines + TFunctionValue::TEProgress range_getProgress() const { + return (TFunctionValue::TEProgress)mProgress; + } + void range_setProgress(TFunctionValue::TEProgress progress) { mProgress = progress; } + TFunctionValue::TEAdjust range_getAdjust() const { return (TFunctionValue::TEAdjust)mAdjust; } + void range_setAdjust(TFunctionValue::TEAdjust adjust) { mAdjust = adjust; } + void range_setOutside(TFunctionValue::TEOutside outside) { range_setOutside(outside, outside); } + void range_setOutside(TFunctionValue::TEOutside begin, TFunctionValue::TEOutside end) { + range_setOutside_begin(begin); + range_setOutside_end(end); + } + void range_setOutside_begin(TFunctionValue::TEOutside begin) { mBegin = begin; } + void range_setOutside_end(TFunctionValue::TEOutside end) { mEnd = end; } + f64 range_getParameter_outside(f64 arg1) const { + f64 temp = arg1 - fBegin_; + f64 result = temp; + + if (temp >= lbl_80455400) { + if (temp >= fDifference_) { + result = TFunctionValue::toFunction(mEnd)(temp, fDifference_); + } + } else { + result = TFunctionValue::toFunction(mBegin)(temp, fDifference_); + } + return result + fBegin_; + } + f64 range_getParameter_progress(f64 arg1) const { return _20 + _28 * (arg1 - _20); } + + // member functions + void range_initialize(); + void range_prepare(); + void range_set(f64 arg1, f64 arg2); + f64 range_getParameter(f64 arg1, f64 arg2, f64 arg3) const; + +private: + /* -0x00 */ f64 fBegin_; + /* -0x08 */ f64 fEnd_; + /* -0x10 */ f64 fDifference_; + /* -0x18 */ s8 mProgress; + /* -0x19 */ s8 mAdjust; + /* -0x1a */ s8 _1a[2]; + /* -0x1c */ u32 _1c; + /* -0x20 */ f64 _20; + /* -0x28 */ f64 _28; + /* -0x30 */ TFunctionValue::TEOutside mBegin; + /* -0x34 */ TFunctionValue::TEOutside mEnd; +}; + +struct TFunctionValueAttribute_refer : JGadget::TVector_pointer { + // TFunctionValueAttribute_refer() : + // JGadget::TVector_pointer(JGadget::TAllocator()) {} + + // inlines + const TFunctionValueAttribute_refer* refer_getContainer() const { return this; } + bool refer_isReferring(const TFunctionValue* p) const { return false; } // todo + + // member functions + void refer_initialize(); +}; + +struct TFunctionValueAttribute_interpolate { + TFunctionValueAttribute_interpolate() : _40(0) {} + + void interpolate_initialize() { _40 = 0; } + void interpolate_prepare() {} + u32 interpolate_get() const { return _40; } + + /* 0x40 */ u32 _40; +}; + +/* Function Value Formats */ + +struct TFunctionValue_composite : TFunctionValue, TFunctionValueAttribute_refer { + struct TData; + typedef f64 (*UnkFunc)(f64, const TFunctionValueAttribute_refer*, + const TFunctionValue_composite::TData*); + + struct TData { + TData(void* data) : u32data((u32)data) {} + TData(const void* data) : rawData(data) {} + TData(u32 data) : u32data(data) {} + TData(f32 data) : f32data(data) {} + + inline void operator=(const TData& rhs) { f32data = rhs.f32data; } + + union { + const void* rawData; + u32 u32data; + f64 f32data; + }; + }; + + TFunctionValue_composite(); // : _18(0), data((void*)NULL) {} + + // virtuals + virtual u32 getType() const; + virtual TFunctionValueAttributeSet getAttributeSet(); + virtual void initialize(); + virtual void prepare(); + virtual f64 getValue(f64 arg1); + + // inlines + const TData* data_getData() const { return &data; } + + // member functions + f64 composite_raw(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + f64 composite_index(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + f64 composite_parameter(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + f64 composite_add(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + f64 composite_subtract(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + f64 composite_multiply(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + f64 composite_divide(const JGadget::TVector_pointer& pv, const TData& data, + f64 d); + + UnkFunc pfn_; + TData data; +}; + +struct TFunctionValue_constant : TFunctionValue { + TFunctionValue_constant(); + + // virtuals + virtual u32 getType() const; + virtual TFunctionValueAttributeSet getAttributeSet(); + virtual void initialize(); + virtual void prepare(); + virtual f64 getValue(f64 arg1); + + // inlines + void data_set(f64 value) { _0 = value; } + + /* 0x00 */ f64 _0; +}; + +struct TFunctionValue_transition : TFunctionValue, + TFunctionValueAttribute_range, + TFunctionValueAttribute_interpolate { + TFunctionValue_transition(); + + // virtuals + u32 getType() const; + TFunctionValueAttributeSet getAttributeSet(); + void initialize(); + void prepare(); + f64 getValue(f64 arg1); + + void data_set(f64 a1, f64 a2) { + _48 = a1; + _50 = a2; + } + + /* 0x48 */ f64 _48; + /* 0x50 */ f64 _50; +}; + +struct TFunctionValue_list : TFunctionValue, + TFunctionValueAttribute_range, + TFunctionValueAttribute_interpolate { + struct TIndexData_ { + f64 _0; + f64 _8; + u32 _10; + }; + typedef f64 (*update_INTERPOLATE)(const TFunctionValue_list&, const TIndexData_&); + + TFunctionValue_list(); + + // virtuals + virtual u32 getType() const; + virtual TFunctionValueAttributeSet getAttributeSet(); + virtual void initialize(); + virtual void prepare(); + virtual f64 getValue(f64 arg1); + + void data_set(const f32* pf, u32 u) { + JUT_ASSERT((pf != NULL) || (u == 0)); + _44 = pf; + _48 = u; + } + + void data_setInterval(f64 f) { + JUT_ASSERT(f > TValue(0)); + _50 = f; + } + + static f64 update_INTERPOLATE_NONE_(const TFunctionValue_list& rThis, const TIndexData_& data); + static f64 update_INTERPOLATE_LINEAR_(const TFunctionValue_list& rThis, + const TIndexData_& data); + static f64 update_INTERPOLATE_PLATEAU_(const TFunctionValue_list& rThis, + const TIndexData_& data); + static f64 update_INTERPOLATE_BSPLINE_dataMore3_(const TFunctionValue_list& rThis, + const TIndexData_& data); + + /* 0x44 */ const f32* _44; + /* 0x48 */ u32 _48; + /* 0x50 */ f64 _50; + /* 0x58 */ update_INTERPOLATE _58; +}; + +struct TFunctionValue_list_parameter : TFunctionValue, + TFunctionValueAttribute_range, + TFunctionValueAttribute_interpolate { + struct TIterator_data_ { + TIterator_data_(const f32* value) : value_(value) {} + TIterator_data_(const TIterator_data_& other) : value_(other.value_) {} + + void operator=(const TIterator_data_& rhs) { value_ = rhs.value_; } + + const f32* get() const { return value_; } + void set(const f32* value) { value_ = value; } + + const f32* value_; + }; + typedef f64 (*update_INTERPOLATE)(const TFunctionValue_list_parameter&, f64); + + TFunctionValue_list_parameter(); + + // virtuals + virtual u32 getType() const; + virtual TFunctionValueAttributeSet getAttributeSet(); + virtual void initialize(); + virtual void prepare(); + virtual f64 getValue(f64 arg1); + + // member functions + void data_set(const f32* pf, u32 u); + + static f64 update_INTERPOLATE_NONE_(const TFunctionValue_list_parameter& rThis, f64 d); + static f64 update_INTERPOLATE_LINEAR_(const TFunctionValue_list_parameter& rThis, f64 d); + static f64 update_INTERPOLATE_PLATEAU_(const TFunctionValue_list_parameter& rThis, f64 d); + static f64 update_INTERPOLATE_BSPLINE_dataMore3_(const TFunctionValue_list_parameter& rThis, + f64 d); + + /* 0x44 */ const f32* _44; + /* 0x48 */ u32 _48; + /* 0x4c */ TIterator_data_ dat1; + /* 0x50 */ TIterator_data_ dat2; + /* 0x54 */ TIterator_data_ dat3; + /* 0x58 */ update_INTERPOLATE _58; +}; + +struct TFunctionValue_hermite : TFunctionValue, TFunctionValueAttribute_range { + struct TIterator_data_ { + TIterator_data_(const TFunctionValue_hermite& rParent, const f32* value) { + value_ = value; + size_ = rParent.data_getSize(); + } + TIterator_data_(const TIterator_data_& other) { + value_ = other.value_; + size_ = other.size_; + } + + void set(const f32* value, u32 size) { + value_ = value; + size_ = size; + } + + void operator=(const TIterator_data_& rhs) { + value_ = rhs.value_; + size_ = rhs.size_; + } + + /* 0x00 */ const f32* value_; + /* 0x04 */ u32 size_; + }; + + TFunctionValue_hermite(); + + // virtuals + virtual u32 getType() const; + virtual TFunctionValueAttributeSet getAttributeSet(); + virtual void initialize(); + virtual void prepare(); + virtual f64 getValue(f64 arg1); + + // inlines + u32 data_getSize() const { return uSize_; } + + // member functions + void data_set(const f32* pf, u32 u, u32 uSize); + + /* 0x40 */ const f32* pf_; + /* 0x44 */ u32 u_; + /* 0x48 */ u32 uSize_; + /* 0x4c */ TIterator_data_ dat1; + /* 0x50 */ TIterator_data_ dat2; + /* 0x54 */ TIterator_data_ dat3; +}; + +} // namespace JStudio + +#endif // JSTUDIO_FUNCTIONVALUE_H diff --git a/include/JSystem/JStudio/fvb.h b/include/JSystem/JStudio/fvb.h new file mode 100644 index 0000000000..6a243ecb5b --- /dev/null +++ b/include/JSystem/JStudio/fvb.h @@ -0,0 +1,163 @@ +#ifndef JSTUDIO_FVB_H +#define JSTUDIO_FVB_H + +#include "JSystem/JGadget/binary.h" +#include "JSystem/JGadget/linklist.h" +#include "JSystem/JStudio/functionvalue.h" +#include "JSystem/JStudio/object-id.h" +#include "global.h" + +using namespace JGadget::binary; + +namespace JStudio { +namespace fvb { + +namespace data { + +const int PARAGRAPH_DATA = 1; + +typedef enum TEComposite { + NONE = 0, + RAW = 1, + IDX = 2, + PARAM = 3, + ADD = 4, + SUB = 5, + MUL = 6, + DIV = 7, +}; + +typedef const void* (*CompositeOperation)(TFunctionValue_composite::TData); + +struct TBlock { + /* 0x0 */ u32 _0; + /* 0x4 */ u16 _4; + /* 0x6 */ u16 id_size; +}; + +struct TParse_TBlock : public TParseData_aligned<4> { + TParse_TBlock(const void* content) : TParseData_aligned<4>(content) {} + + const TBlock* get() const { return (TBlock*)getRaw(); } + + u16 get_IDSize() const { return get()->id_size; } + const void* getBlockEnd_() const { return (u8*)getRaw() + sizeof(TBlock); } + const void* get_ID() const { + const void* ret = 0; + if (get_IDSize()) + ret = getBlockEnd_(); + return ret; + } +}; + +struct TParse_TParagraph { + struct TData { + u32 u32Size; + u32 u32Type; + const void* pContent; + }; +}; + +} // namespace data + +struct TControl; + +struct TObject : object::TObject_ID { +public: + TObject(const data::TParse_TBlock& block); + TObject(void const* id, u32 id_size, TFunctionValue* value); + + explicit TObject(const data::TParse_TBlock& block, TFunctionValue* value) + : TObject_ID(block.get_ID(), block.get_IDSize()) { + JUT_ASSERT(pfv_ != NULL); + pfv_ = value; + } + + virtual ~TObject(); + + virtual void prepare_data_(const data::TParse_TParagraph::TData& data, TControl* control) = 0; + + void prepare(const data::TParse_TBlock& block, TControl* control); + +private: + /* 0x0c */ JGadget::TLinkListNode mNode; + ///* 0x10 */ void* _10; + /* 0x14 */ TFunctionValue* pfv_; +}; + +struct TControl { + TControl(); + virtual ~TControl() = 0; + + u32 _4; + JGadget::TLinkList ocObject_; +}; + +struct TObject_composite : TObject, TFunctionValue_composite { + TObject_composite(const data::TParse_TBlock& block); + + virtual void prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control); + + TFunctionValue_composite fnValue; +}; + +struct TObject_constant : TObject { + TObject_constant(const data::TParse_TBlock& block); + + void prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control); + + TFunctionValue_constant fnValue; +}; + +struct TObject_transition : TObject { + TObject_transition(const data::TParse_TBlock& block); + + void prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control); + + TFunctionValue_transition fnValue; +}; + +struct TObject_list : TObject { + struct ListData { + f32 _0; + u32 _4; + f32 _8[0]; + }; + + TObject_list(const data::TParse_TBlock& block); + + void prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control); + + TFunctionValue_list fnValue; +}; + +struct TObject_list_parameter : TObject { + struct ListData { + u32 _0; + f32 _4[0]; + }; + + TObject_list_parameter(const data::TParse_TBlock& block); + + void prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control); + + TFunctionValue_list_parameter fnValue; +}; + +struct TObject_hermite : TObject { + struct ListData { + u32 _0; // u : 28, uSize : 4 + f32 _4[0]; + }; + + TObject_hermite(const data::TParse_TBlock& block); + + void prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control); + + TFunctionValue_hermite fnValue; +}; + +} // namespace fvb +} // namespace JStudio + +#endif // JSTUDIO_FVB_H diff --git a/include/JSystem/JStudio/object-id.h b/include/JSystem/JStudio/object-id.h new file mode 100644 index 0000000000..f74c90e34a --- /dev/null +++ b/include/JSystem/JStudio/object-id.h @@ -0,0 +1,25 @@ +#ifndef JSTUDIO_OBJECT_ID_H +#define JSTUDIO_OBJECT_ID_H + +#include "dolphin/types.h" + +namespace JStudio { +namespace object { + +class TIDData { +public: + TIDData(const void* id, u32 id_size) : mID(id), mID_size(id_size) {} + +private: + const void* mID; + u32 mID_size; +}; + +struct TObject_ID : public TIDData { + TObject_ID(const void* id, u32 id_size) : TIDData(id, id_size) {} +}; + +} // namespace object +} // namespace JStudio + +#endif // JSTUDIO_OBJECT_ID_H diff --git a/include/JSystem/JStudio/stb.h b/include/JSystem/JStudio/stb.h index f3c084a387..3a6df1d44d 100644 --- a/include/JSystem/JStudio/stb.h +++ b/include/JSystem/JStudio/stb.h @@ -3,6 +3,7 @@ #include "JSystem/JGadget/binary.h" #include "JSystem/JGadget/linklist.h" +#include "JSystem/JStudio/object-id.h" #include "global.h" using namespace JGadget::binary; @@ -12,23 +13,23 @@ namespace stb { class TControl; -static const int STATUS_STILL = 0; -static const int STATUS_UNK1 = 1; -static const int STATUS_WAIT = 2; -static const int STATUS_SUSPEND = 4; -static const int STATUS_INACTIVE = 8; +const int STATUS_STILL = 0; +const int STATUS_UNK1 = 1; +const int STATUS_WAIT = 2; +const int STATUS_SUSPEND = 4; +const int STATUS_INACTIVE = 8; namespace data { -static const int BLOCK_SOUND = 'JSND'; -static const int BLOCK_ACTOR = 'JACT'; -static const int BLOCK_AMBIENTLIGHT = 'JABL'; -static const int BLOCK_CAMERA = 'JCMR'; -static const int BLOCK_FOG = 'JFOG'; -static const int BLOCK_LIGHT = 'JLIT'; -static const int BLOCK_MESSAGE = 'JMSG'; -static const int BLOCK_PARTICLE = 'JPTC'; -static const int BLOCK_NONE = -1; +const int BLOCK_SOUND = 'JSND'; +const int BLOCK_ACTOR = 'JACT'; +const int BLOCK_AMBIENTLIGHT = 'JABL'; +const int BLOCK_CAMERA = 'JCMR'; +const int BLOCK_FOG = 'JFOG'; +const int BLOCK_LIGHT = 'JLIT'; +const int BLOCK_MESSAGE = 'JMSG'; +const int BLOCK_PARTICLE = 'JPTC'; +const int BLOCK_NONE = -1; struct THeader { struct Target { @@ -121,20 +122,9 @@ private: TControl* pControl; }; -struct TIDData { - TIDData(const void* arg1, u32 arg2) : _0(arg1), _4(arg2) {} - - const void* _0; - u32 _4; -}; - -struct TObject_ID : public TIDData { - TObject_ID(const void* arg1, u32 arg2) : TIDData(arg1, arg2) {} -}; - -class TObject : public TObject_ID { +class TObject : public object::TObject_ID { public: - TObject(u32 arg1, const void* arg2, u32 arg3); + TObject(u32 arg1, const void* id, u32 id_size); explicit TObject(const data::TParse_TBlock_object& object); virtual ~TObject(); @@ -235,7 +225,7 @@ private: /* 0x04 */ u32 _4; /* 0x08 */ u32 _8; /* 0x0c */ TFactory* pFactory; - /* 0x10 */ JGadget::TLinkList mObjectContainer; + /* 0x10 */ JGadget::TLinkList mObjectContainer; /* 0x1c */ u32 mStatus; /* 0x20 */ TObject_control mObject_control; /* 0x54 */ u32 _54; // "second per frame"? diff --git a/include/global.h b/include/global.h index 638fbe4079..08b366ba21 100644 --- a/include/global.h +++ b/include/global.h @@ -11,10 +11,17 @@ #define IS_NOT_ALIGNED(X, N) (((X) & ((N)-1)) != 0) #define JUT_ASSERT(...) +#define JUT_EXPECT(...) +#define JUTReport(...) #define ASSERT(...) #define LOGF(FMT, ...) #define FLAG_ON(V, F) (((V) & (F)) == 0) +struct JUTWarn { + JUTWarn& operator<<(const char*) { return *this; } + JUTWarn& operator<<(long) { return *this; } +}; + extern float __fabsf(float); inline double fabsf(double d) { diff --git a/include/variables.h b/include/variables.h index f5502ccab2..d18e1c6815 100644 --- a/include/variables.h +++ b/include/variables.h @@ -130,7 +130,7 @@ extern u8 lbl_80455CA0[8]; extern u8 lbl_80455CA8[8]; extern u8 lbl_80455CB0[8]; extern u8 lbl_80455CB8[8]; -extern u32 lbl_80450AE0; +extern f32 lbl_80450AE0[4]; // func_802C3A6C extern u32 lbl_80455CC0; diff --git a/ldscript.lcf b/ldscript.lcf index 369de65b87..6d332ddbdd 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -758,6 +758,66 @@ SECTIONS { "__dt__7JKRFileFv" = 0x802D7B90; } FORCEACTIVE { + prepare_data___Q37JStudio3fvb15TObject_hermiteFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl + prepare_data___Q37JStudio3fvb22TObject_list_parameterFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl + prepare_data___Q37JStudio3fvb12TObject_listFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl + prepare_data___Q37JStudio3fvb18TObject_transitionFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl + prepare_data___Q37JStudio3fvb16TObject_constantFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl + extrapolateParameter_clamp__Q27JStudio13functionvalueFdd + extrapolateParameter_repeat__Q27JStudio13functionvalueFdd + extrapolateParameter_raw__Q27JStudio13functionvalueFdd + getValue__Q27JStudio22TFunctionValue_hermiteFd + prepare__Q27JStudio22TFunctionValue_hermiteFv + initialize__Q27JStudio22TFunctionValue_hermiteFv + getAttributeSet__Q27JStudio22TFunctionValue_hermiteFv + getType__Q27JStudio22TFunctionValue_hermiteCFv + __ct__Q27JStudio22TFunctionValue_hermiteFv + getValue__Q27JStudio29TFunctionValue_list_parameterFd + prepare__Q27JStudio29TFunctionValue_list_parameterFv + initialize__Q27JStudio29TFunctionValue_list_parameterFv + data_set__Q27JStudio29TFunctionValue_list_parameterFPCfUl + getAttributeSet__Q27JStudio29TFunctionValue_list_parameterFv + getType__Q27JStudio29TFunctionValue_list_parameterCFv + getValue__Q27JStudio19TFunctionValue_listFd + prepare__Q27JStudio19TFunctionValue_listFv + initialize__Q27JStudio19TFunctionValue_listFv + getAttributeSet__Q27JStudio19TFunctionValue_listFv + getType__Q27JStudio19TFunctionValue_listCFv + getValue__Q27JStudio25TFunctionValue_transitionFd + prepare__Q27JStudio25TFunctionValue_transitionFv + initialize__Q27JStudio25TFunctionValue_transitionFv + getAttributeSet__Q27JStudio25TFunctionValue_transitionFv + getType__Q27JStudio25TFunctionValue_transitionCFv + getValue__Q27JStudio23TFunctionValue_constantFd + prepare__Q27JStudio23TFunctionValue_constantFv + initialize__Q27JStudio23TFunctionValue_constantFv + getAttributeSet__Q27JStudio23TFunctionValue_constantFv + getType__Q27JStudio24TFunctionValue_compositeCFv + getType__Q27JStudio23TFunctionValue_constantCFv + composite_divide__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad + getValue__Q27JStudio24TFunctionValue_compositeFd + prepare__Q27JStudio24TFunctionValue_compositeFv + initialize__Q27JStudio24TFunctionValue_compositeFv + getAttributeSet__Q27JStudio24TFunctionValue_compositeFv + getType__Q27JStudio23TFunctionValue_constantCFv + __ct__Q27JStudio24TFunctionValue_compositeFv + prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl + __ct__Q27JGadget20TVector_pointer_voidFRCQ27JGadget14TAllocator + interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd + interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd + getCompositeData_divide___Q27JStudio3fvbFPCv + getCompositeData_multiply___Q27JStudio3fvbFPCv + getCompositeData_subtract___Q27JStudio3fvbFPCv + getCompositeData_add___Q27JStudio3fvbFPCv + getCompositeData_parameter___Q27JStudio3fvbFPCv + getCompositeData_index___Q27JStudio3fvbFPCv + getCompositeData_raw___Q27JStudio3fvbFPCv isLeadByte_1Byte__7JUTFontFi isLeadByte_2Byte__7JUTFontFi isLeadByte_ShiftJIS__7JUTFontFi diff --git a/libs/JSystem/JGadget/std-vector.cpp b/libs/JSystem/JGadget/std-vector.cpp index 4bf93c8658..7fda0633b0 100644 --- a/libs/JSystem/JGadget/std-vector.cpp +++ b/libs/JSystem/JGadget/std-vector.cpp @@ -1 +1,18 @@ -// ok +#include "JSystem/JGadget/vector.h" + +extern "C" { +void extend_default__Q27JGadget6vectorFUlUlUl(); +} + +namespace JGadget { +namespace vector { + +u32 extend_default(u32 arg1, u32 arg2, u32 arg3) { + return arg2 * 2; +} + +// TVector_pointer_void::TVector_pointer_void(const TAllocator& allocator) : TVector(allocator) + +} // namespace vector +} // namespace JGadget diff --git a/libs/JSystem/JStudio/functionvalue.cpp b/libs/JSystem/JStudio/functionvalue.cpp index 4bf93c8658..92450c085c 100644 --- a/libs/JSystem/JStudio/functionvalue.cpp +++ b/libs/JSystem/JStudio/functionvalue.cpp @@ -1 +1,554 @@ -// ok +#include "JSystem/JStudio/functionvalue.h" + +namespace JStudio { + +DoubleFunc TFunctionValue::toFunction_outside(int arg1) { + DoubleFunc fallback = NULL; + DoubleFunc result; + + result = JGadget::toValueFromIndex(arg1, lbl_8039A9F0, 4, fallback); + + if (result == NULL) { + JUTWarn w; + w << "unknown outside : " << arg1; + + return lbl_8039A9F0[0]; + } + + return result; +} + +TFunctionValue::TFunctionValue() {} + +TFunctionValue::~TFunctionValue() {} + +void TFunctionValueAttribute_refer::refer_initialize() { + clear(); +} + +namespace functionvalue { + +#ifdef NONMATCHING // impossible regalloc +f64 interpolateValue_hermite(f64 c0, f64 c1, f64 x, f64 c2, f64 x2, f64 c3, f64 x3) { + f64 a; + f64 d; + f64 c; + f64 b; + + a = c0 - c1; + b = a * (lbl_80455408 / (x2 - c1)); // (a - b) * 1.0 / (c - d) + c = b - lbl_80455408; // 1.0 + d = (lbl_80455410 + lbl_80455418 * b) * (b * b); // 3.0 - 2.0 * b + return (a * b * c * x3) + ((lbl_80455408 - d) * x + (d * c3)) + (a * (c * c) * c2); +} +#else +asm f64 interpolateValue_hermite(f64 c0, f64 c1, f64 x, f64 c2, f64 x2, f64 c3, f64 x3) { + nofralloc +#include "JSystem/JStudio/asm/interpolateValue_hermite__Q27JStudio13functionvalueFddddddd.s" +} +#endif + +#ifdef NONMATCHING // really minor regalloc +f64 interpolateValue_BSpline_uniform(f64 f1, f64 f2, f64 f3, f64 f4, f64 f5) { + // pow3(1.0 - f1) + f64 f6 = (lbl_80455408 - f1); + f64 temp = f6; + temp *= f6 * f6; + + f64 f0 = f1 * f1; + f64 f8 = f0 * f1; + + return ((lbl_80455420 * f8 - f0) + lbl_80455430) * f3 + (temp * f2 + f8 * f5) * lbl_80455428 + + f4 * (lbl_80455428 + lbl_80455420 * ((f1 + f0) - f8)); +} +#else +asm f64 interpolateValue_BSpline_uniform(f64 a1, f64 a2, f64 a3, f64 a4, f64 a5) { + nofralloc +#include "JSystem/JStudio/asm/interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd.s" +} +#endif + +asm f64 interpolateValue_BSpline_nonuniform(f64 a1, const f64* a2, const f64* a3) { + nofralloc +#include "JSystem/JStudio/asm/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s" +} + +inline f64 interpolateValue_linear(double a1, double a2, double a3, double a4, double a5) { + return a3 + ((a5 - a3) * (a1 - a2)) / (a4 - a2); +} + +inline f64 interpolateValue_linear_1(f64 a1, f64 a2, f64 a3, f64 a4) { + return a3 + (a4 - a3) * (a1 - a2); +} + +inline f64 interpolateValue_plateau(f64 a1, f64 a2, f64 a3, f64 a4, f64 a5) { + return interpolateValue_hermite(a1, a2, a3, *(f64*)&lbl_80455400, a4, a5, lbl_80455400); +} + +} // namespace functionvalue + +void TFunctionValueAttribute_range::range_initialize() { + fBegin_ = lbl_80450AE0[0]; // NaN + fEnd_ = fBegin_; + fDifference_ = fBegin_; + + range_setProgress(TFunctionValue::PROG_INIT); + range_setAdjust(TFunctionValue::ADJ_INIT); + range_setOutside(TFunctionValue::OUT_INIT); +} + +void TFunctionValueAttribute_range::range_prepare() { + TFunctionValue::TEProgress progress = range_getProgress(); + + switch (progress) { + default: + JUTWarn w; + w << "unknown progress : " << progress; + case 0: + _20 = lbl_80455400; // 0.0 + _28 = lbl_80455408; // 1.0 + break; + case 1: + _20 = lbl_80455400; // 0.0 + _28 = lbl_80455440; // -1.0 + break; + case 2: + _20 = fBegin_; + _28 = lbl_80455440; // -1.0 + break; + case 3: + _20 = fEnd_; + _28 = lbl_80455440; // -1.0 + break; + case 4: + _20 = lbl_80455428 * (fBegin_ + fEnd_); // 0.5 + _28 = lbl_80455440; // -1.0 + break; + } +} + +void TFunctionValueAttribute_range::range_set(f64 begin, f64 end) { + fBegin_ = begin; + fEnd_ = end; + fDifference_ = end - begin; + + JUT_ASSERT(fDifference_ >= + lbl_80455400); // 0.0 -- supposed to be "fDifference_ >= TValue(0)" (???) +} + +#ifdef NONMATCHING // control flow blocks inverted +f64 TFunctionValueAttribute_range::range_getParameter(f64 arg1, f64 arg2, f64 arg3) const { + f64 progress = range_getParameter_progress(arg1); + TFunctionValue::TEAdjust adjust = range_getAdjust(); + + f64 result; + + switch (adjust) { + default: + JUTWarn w; + w << "unknown adjust : " << adjust; + case 0: + result = range_getParameter_outside(progress); + break; + case 1: + result = range_getParameter_outside(progress + fBegin_); + break; + case 2: + result = range_getParameter_outside(progress + fEnd_); + break; + case 3: + result = range_getParameter_outside(progress + lbl_80455428 * (fBegin_ + fEnd_)); + break; + case 4: + f64 temp = range_getParameter_outside(progress); + result = arg2 + ((temp - fBegin_) * (arg3 - arg2)) / fDifference_; + break; + } + return result; +} +#else +asm f64 TFunctionValueAttribute_range::range_getParameter(f64 arg1, f64 arg2, f64 arg3) const { + nofralloc +#include "JSystem/JStudio/asm/range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd.s" +} +#endif + +TFunctionValueAttribute_range::TFunctionValueAttribute_range() + : fBegin_(lbl_80450AE0[0]), fEnd_(fBegin_), fDifference_(fBegin_), + mProgress(TFunctionValue::PROG_INIT), mAdjust(TFunctionValue::ADJ_INIT), _20(fBegin_), + _28(fBegin_), mBegin(TFunctionValue::OUT_INIT), mEnd(TFunctionValue::OUT_INIT) {} + +// TFunctionValue_composite::TFunctionValue_composite() : data((void*)NULL) {} +asm TFunctionValue_composite::TFunctionValue_composite() + : data((void*)NULL){nofralloc +#include "JSystem/JGadget/asm/__ct__Q27JStudio24TFunctionValue_compositeFv.s" + } + + u32 TFunctionValue_composite::getType() const { + return 1; +} + +TFunctionValueAttributeSet TFunctionValue_composite::getAttributeSet() { + return TFunctionValueAttributeSet(this, NULL, NULL); +} + +// TFunctionValueAttributeSet TFunctionValue_constant::getAttributeSet() { +// return TFunctionValueAttributeSet(NULL, NULL, NULL); +// } + +void TFunctionValue_composite::initialize() { + refer_initialize(); + pfn_ = NULL; + data = TData((void*)NULL); +} + +void TFunctionValue_composite::prepare() {} + +f64 TFunctionValue_composite::getValue(f64 arg1) { + const TFunctionValueAttribute_refer* container = refer_getContainer(); + JUT_ASSERT(!refer_isReferring(this)); + JUT_ASSERT(pfn_ != NULL); + + return pfn_(arg1, container, data_getData()); +} + +asm f64 TFunctionValue_composite::composite_raw(const JGadget::TVector_pointer& pv, + const TData& data, f64 d) { + nofralloc +#include "JSystem/JStudio/asm/composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +asm f64 +TFunctionValue_composite::composite_index(const JGadget::TVector_pointer& pv, + const TData& data, f64 d) { + nofralloc +#include "JSystem/JStudio/asm/composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +asm f64 +TFunctionValue_composite::composite_parameter(const JGadget::TVector_pointer& pv, + const TData& data, f64 d) { + nofralloc +#include "JSystem/JStudio/asm/composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +asm f64 TFunctionValue_composite::composite_add(const JGadget::TVector_pointer& pv, + const TData& data, f64 d) { + nofralloc +#include "JSystem/JStudio/asm/composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +asm f64 +TFunctionValue_composite::composite_subtract(const JGadget::TVector_pointer& pv, + const TData& data, f64 d) { + nofralloc +#include "JSystem/JStudio/asm/composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +asm f64 +TFunctionValue_composite::composite_multiply(const JGadget::TVector_pointer& pv, + const TData& data, f64 d) { + nofralloc +#include "JSystem/JStudio/asm/composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +asm f64 +TFunctionValue_composite::composite_divide(const JGadget::TVector_pointer& pv, + const TData& data, f64 d){nofralloc +#include "JSystem/JStudio/asm/composite_divide__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer.s" +} + +TFunctionValue_constant::TFunctionValue_constant() + : _0(lbl_80450AE0[0]) { +} + +u32 TFunctionValue_constant::getType() const { + return 2; +} + +TFunctionValueAttributeSet TFunctionValue_constant::getAttributeSet() { + return TFunctionValueAttributeSet(NULL, NULL, NULL); +} + +void TFunctionValue_constant::initialize() { + _0 = lbl_80450AE0[0]; +} + +void TFunctionValue_constant::prepare() {} + +f64 TFunctionValue_constant::getValue(f64 arg1) { + return _0; +} + +TFunctionValue_transition::TFunctionValue_transition() : _48(lbl_80450AE0[0]), _50(_48) {} + +u32 TFunctionValue_transition::getType() const { + return 3; +} + +TFunctionValueAttributeSet TFunctionValue_transition::getAttributeSet() { + return TFunctionValueAttributeSet(NULL, this, this); +} + +void TFunctionValue_transition::initialize() { + range_initialize(); + interpolate_initialize(); + + _48 = lbl_80450AE0[0]; + _50 = _48; +} + +void TFunctionValue_transition::prepare() { + range_prepare(); + interpolate_prepare(); +} + +asm f64 TFunctionValue_transition::getValue(f64 arg1){nofralloc +#include "JSystem/JStudio/asm/getValue__Q27JStudio25TFunctionValue_transitionFd.s" +} + +TFunctionValue_list::TFunctionValue_list() + : _44(NULL), _48(0), _50(lbl_80450AE0[0]), _58(NULL) { +} + +u32 TFunctionValue_list::getType() const { + return 4; +} + +TFunctionValueAttributeSet TFunctionValue_list::getAttributeSet() { + return TFunctionValueAttributeSet(NULL, this, this); +} + +void TFunctionValue_list::initialize() { + range_initialize(); + interpolate_initialize(); + + _44 = NULL; + _48 = 0; + _50 = lbl_80450AE0[0]; + _58 = NULL; +} + +void TFunctionValue_list::prepare() { + range_prepare(); + interpolate_prepare(); + + u32 interp = interpolate_get(); + + switch (interp) { + default: + JUTWarn w; + w << "unknown interpolation : " << interp; + case 0: + _58 = update_INTERPOLATE_NONE_; + break; + case 1: + _58 = update_INTERPOLATE_LINEAR_; + break; + case 2: + _58 = update_INTERPOLATE_PLATEAU_; + break; + case 3: + _58 = update_INTERPOLATE_BSPLINE_dataMore3_; + if (_48 == 2) + _58 = update_INTERPOLATE_LINEAR_; + break; + } +} + +asm f64 TFunctionValue_list::getValue(f64 arg1){nofralloc +#include "JSystem/JStudio/asm/getValue__Q27JStudio19TFunctionValue_listFd.s" +} + +f64 TFunctionValue_list::update_INTERPOLATE_NONE_(const TFunctionValue_list& rThis, + const TIndexData_& data) { + return rThis._44[data._10]; +} + +f64 TFunctionValue_list::update_INTERPOLATE_LINEAR_(const TFunctionValue_list& rThis, + const TIndexData_& data) { + return functionvalue::interpolateValue_linear_1(data._0, data._8, rThis._44[data._10], + rThis._44[data._10 + 1]); +} + +f64 TFunctionValue_list::update_INTERPOLATE_PLATEAU_(const TFunctionValue_list& rThis, + const TIndexData_& data) { + const f32* arr = rThis._44; + + return functionvalue::interpolateValue_plateau(data._0, data._8, arr[data._10], + lbl_80455408 + data._8, arr[data._10 + 1]); +} + +asm f64 TFunctionValue_list::update_INTERPOLATE_BSPLINE_dataMore3_(const TFunctionValue_list& rThis, + const TIndexData_& data){ + nofralloc +#include "JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_.s" +} + +TFunctionValue_list_parameter::TFunctionValue_list_parameter() + : _44(NULL), _48(0), dat1(NULL), dat2(dat1), dat3(dat1), _58(NULL) { +} + +u32 TFunctionValue_list_parameter::getType() const { + return 5; +} + +TFunctionValueAttributeSet TFunctionValue_list_parameter::getAttributeSet() { + return TFunctionValueAttributeSet(NULL, this, this); +} + +void TFunctionValue_list_parameter::data_set(const f32* pf, u32 u) { + JUT_ASSERT((pf != NULL) || (u == 0)); + + _44 = pf; + _48 = u; + + dat1.set(_44); + dat2.set(&_44[_48 * 2]); + dat3 = dat1; +} + +void TFunctionValue_list_parameter::initialize() { + range_initialize(); + interpolate_initialize(); + + _44 = NULL; + _48 = 0; + + TIterator_data_ iter(NULL); + + dat1 = iter; + dat2 = dat1; + dat3 = dat1; + _58 = NULL; +} + +void TFunctionValue_list_parameter::prepare() { + range_prepare(); + interpolate_prepare(); + + u32 interp = interpolate_get(); + switch (interp) { + default: + JUTWarn w; + w << "unknown interpolation : " << interp; + case 0: + _58 = update_INTERPOLATE_NONE_; + break; + case 1: + _58 = update_INTERPOLATE_LINEAR_; + break; + case 2: + _58 = update_INTERPOLATE_PLATEAU_; + break; + case 3: + _58 = update_INTERPOLATE_BSPLINE_dataMore3_; + if (_48 != 2) + return; + _58 = update_INTERPOLATE_LINEAR_; + break; + } +} + +asm f64 TFunctionValue_list_parameter::getValue(f64 arg1){nofralloc +#include "JSystem/JStudio/asm/getValue__Q27JStudio29TFunctionValue_list_parameterFd.s" +} + +f64 TFunctionValue_list_parameter::update_INTERPOLATE_NONE_( + const TFunctionValue_list_parameter& rThis, f64 d) { + return rThis.dat3.get()[-1]; +} + +f64 TFunctionValue_list_parameter::update_INTERPOLATE_LINEAR_( + const TFunctionValue_list_parameter& rThis, f64 d) { + const f32* a = rThis.dat3.get(); + return functionvalue::interpolateValue_linear(d, a[-2], a[-1], a[0], a[1]); +} + +f64 TFunctionValue_list_parameter::update_INTERPOLATE_PLATEAU_( + const TFunctionValue_list_parameter& rThis, f64 d) { + const f32* a = rThis.dat3.get(); + return functionvalue::interpolateValue_plateau(d, a[-2], a[-1], a[0], a[1]); +} + +asm f64 TFunctionValue_list_parameter::update_INTERPOLATE_BSPLINE_dataMore3_( + const TFunctionValue_list_parameter& rThis, f64 d){nofralloc +#include "JSystem/JStudio/asm/update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd.s" +} + +TFunctionValue_hermite::TFunctionValue_hermite() + : pf_(NULL), u_(0), uSize_(0), dat1(*this, NULL), dat2(dat1), dat3(dat1) { +} + +u32 TFunctionValue_hermite::getType() const { + return 6; +} + +TFunctionValueAttributeSet TFunctionValue_hermite::getAttributeSet() { + return TFunctionValueAttributeSet(NULL, this, NULL); +} + +// data_set__Q27JStudio22TFunctionValue_hermiteFPCfUlUl +void TFunctionValue_hermite::data_set(const f32* pf, u32 u, u32 uSize) { + JUT_ASSERT((pf != NULL) || (u == 0)); + JUT_ASSERT((uSize == 3) || (uSize == 4)); + + pf_ = pf; + u_ = u; + uSize_ = uSize; + + dat1.set(pf_, uSize_); + dat2.set(&pf_[u_ * uSize_], uSize_); + dat3 = dat1; +} + +void TFunctionValue_hermite::initialize() { + range_initialize(); + + pf_ = NULL; + u_ = 0; + uSize_ = 0; + + TIterator_data_ data(*this, NULL); + dat1 = data; + dat2 = dat1; + dat3 = dat1; +} + +void TFunctionValue_hermite::prepare() { + range_prepare(); +} + +asm f64 TFunctionValue_hermite::getValue(f64 a1) { + nofralloc +#include "JSystem/JStudio/asm/getValue__Q27JStudio22TFunctionValue_hermiteFd.s" +} + +namespace functionvalue { + +f64 extrapolateParameter_raw(f64 a1, f64 a2) { + return a1; +} + +f64 extrapolateParameter_repeat(f64 a1, f64 a2) { + f64 t = func_8036C760(a1, a2); + + if (t < lbl_80455400) + t += a2; + + return t; +} + +f64 extrapolateParameter_clamp(f64 value, f64 max) { + if (value <= lbl_80455400) + return lbl_80455400; + + if (max <= value) // obtuse.. + value = max; + + return value; +} + +} // namespace functionvalue + +} // namespace JStudio diff --git a/libs/JSystem/JStudio/fvb.cpp b/libs/JSystem/JStudio/fvb.cpp index 4bf93c8658..1acda69272 100644 --- a/libs/JSystem/JStudio/fvb.cpp +++ b/libs/JSystem/JStudio/fvb.cpp @@ -1 +1,218 @@ -// ok +#include "JSystem/JStudio/fvb.h" + +extern void (*lbl_803C49C0)(); // vtbl + +extern "C" { +extern void getObject_index__Q37JStudio3fvb8TControlFUl(); +extern void JGadget_NS_TVector_pointer_void_NS_insert(); +extern void getObject__Q37JStudio3fvb8TControlFPCvUl(); +extern void JStudio_NS_fvb_NS_data_NS_TParse_TParagraph_NS_getData(); +extern void range_set__Q27JStudio29TFunctionValueAttribute_rangeFdd(); +void __ct__Q27JStudio24TFunctionValue_compositeFv(); +extern void getCompositeOperation___Q27JStudio3fvbFQ47JStudio3fvb4data11TEComposite(); +extern void __ct__Q27JStudio23TFunctionValue_constantFv(); +extern void __ct__Q27JStudio25TFunctionValue_transitionFv(); +extern void __ct__Q27JStudio19TFunctionValue_listFv(); +extern void __ct__Q27JStudio29TFunctionValue_list_parameterFv(); +extern void __ct__Q27JStudio22TFunctionValue_hermiteFv(); +} + +extern u32 lbl_803C4AB0; +extern u32 lbl_803C4AA0; +extern u32 lbl_803C4A90; +extern u32 lbl_803C4A80; +extern u32 lbl_803C4A70; +extern u32 lbl_803C4A60; +extern u32 lbl_803C4A50; + +extern JStudio::fvb::data::CompositeOperation lbl_8039AA00[]; + +namespace JStudio { +namespace fvb { + +TObject::~TObject() {} + +asm void TObject::prepare(const data::TParse_TBlock& block, TControl* control){nofralloc +#include "JSystem/JStudio/asm/prepare__Q37JStudio3fvb7TObjectFRCQ47JStudio3fvb4data13TParse_TBlockPQ37JStudio3fvb8TControl.s" +} + +//! @todo: FORCEACTIVE will not work with anonymous namespaces. +//! recreate symbol when this is properly referenced + +// namespace { + +TFunctionValue_composite::TData getCompositeData_raw_(const void* arg1) { + return TFunctionValue_composite::TData(*(const void**)arg1); +} + +TFunctionValue_composite::TData getCompositeData_index_(const void* arg1) { + return TFunctionValue_composite::TData(*(u32*)arg1); +} + +TFunctionValue_composite::TData getCompositeData_parameter_(const void* arg1) { + return TFunctionValue_composite::TData(*(f32*)arg1); +} + +TFunctionValue_composite::TData getCompositeData_add_(const void* arg1) { + return TFunctionValue_composite::TData(*(f32*)arg1); +} + +TFunctionValue_composite::TData getCompositeData_subtract_(const void* arg1) { + return TFunctionValue_composite::TData(*(f32*)arg1); +} + +TFunctionValue_composite::TData getCompositeData_multiply_(const void* arg1) { + return TFunctionValue_composite::TData(*(f32*)arg1); +} + +TFunctionValue_composite::TData getCompositeData_divide_(const void* arg1) { + return TFunctionValue_composite::TData(*(f32*)arg1); +} + +data::CompositeOperation* getCompositeOperation_(data::TEComposite comp) { + return &lbl_8039AA00[comp * 2]; +} + +//} // namespace + +// need an extra temp +asm TObject_composite::TObject_composite(const data::TParse_TBlock& block) + : TObject(block, &fnValue) { + nofralloc +#include "JSystem/JStudio/asm/__ct__Q37JStudio3fvb17TObject_compositeFRCQ47JStudio3fvb4data13TParse_TBlock.s" +} + +#ifdef NONMATCHING // incomplete +void TObject_composite::prepare_data_(const TParse_TParagraph::TData& rData, TControl* control) { + JUT_ASSERT(rData.u32Type == data::PARAGRAPH_DATA); + + u32 u32Size = rData.u32Size; + JUT_EXPECT(u32Size == 8); + + const TFunctionValue_composite* pContent = + static_cast(rData.pContent); + JUT_ASSERT(pContent != NULL); + + data::CompositeOperation* ops = getCompositeOperation_(*(data::TEComposite*)pContent); + data::CompositeOperation pfn = ops[1]; + + JUT_ASSERT(pfn != NULL); + + pfn(comp->data); +} +#else +asm void TObject_composite::prepare_data_(const data::TParse_TParagraph::TData& rData, + TControl* control) { + nofralloc +#include "JSystem/JStudio/asm/prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl.s" +} +#endif + +// need an extra temp +asm TObject_constant::TObject_constant(const data::TParse_TBlock& block) + : TObject(block, &fnValue) { + nofralloc +#include "JSystem/JStudio/asm/__ct__Q37JStudio3fvb16TObject_constantFRCQ47JStudio3fvb4data13TParse_TBlock.s" +} + +void TObject_constant::prepare_data_(const data::TParse_TParagraph::TData& rData, + TControl* control) { + JUT_ASSERT(rData.u32Type == data::PARAGRAPH_DATA); + + u32 u32Size = rData.u32Size; + JUT_EXPECT(u32Size == 4); + + const f32* pContent = static_cast(rData.pContent); + JUT_ASSERT(pContent != NULL); + + fnValue.data_set(pContent[0]); +} + +// need an extra temp +asm TObject_transition::TObject_transition(const data::TParse_TBlock& block) + : TObject(block, &fnValue) { + nofralloc +#include "JSystem/JStudio/asm/__ct__Q37JStudio3fvb18TObject_transitionFRCQ47JStudio3fvb4data13TParse_TBlock.s" +} + +void TObject_transition::prepare_data_(const data::TParse_TParagraph::TData& rData, + TControl* control) { + JUT_ASSERT(rData.u32Type == data::PARAGRAPH_DATA); + + u32 u32Size = rData.u32Size; + JUT_EXPECT(u32size == 8); + + const f32* pContent = static_cast(rData.pContent); + JUT_ASSERT(pContent != NULL); + + fnValue.data_set(pContent[0], pContent[1]); +} + +asm TObject_list::TObject_list(const data::TParse_TBlock& block) : TObject(block, &fnValue) { + nofralloc +#include "JSystem/JStudio/asm/__ct__Q37JStudio3fvb12TObject_listFRCQ47JStudio3fvb4data13TParse_TBlock.s" +} + +void TObject_list::prepare_data_(const data::TParse_TParagraph::TData& rData, TControl* control) { + JUT_ASSERT(rData.u32Type == data::PARAGRAPH_DATA); + + u32 u32Size = rData.u32Size; + JUT_EXPECT(u32size >= 8); + + const ListData* pContent = static_cast(rData.pContent); + JUT_ASSERT(pContent != NULL); + + fnValue.data_setInterval(pContent->_0); + fnValue.data_set(pContent->_8, pContent->_4); +} + +asm TObject_list_parameter::TObject_list_parameter(const data::TParse_TBlock& block) + : TObject(block, &fnValue) { + nofralloc +#include "JSystem/JStudio/asm/__ct__Q37JStudio3fvb22TObject_list_parameterFRCQ47JStudio3fvb4data13TParse_TBlock.s" +} + +void TObject_list_parameter::prepare_data_(const data::TParse_TParagraph::TData& rData, + TControl* control) { + JUT_ASSERT(rData.u32Type == data::PARAGRAPH_DATA); + + u32 u32Size = rData.u32Size; + JUT_EXPECT(u32size >= 8); + + const ListData* pContent = static_cast(rData.pContent); + JUT_ASSERT(pContent != NULL); + + fnValue.data_set(pContent->_4, pContent->_0); +} + +asm TObject_hermite::TObject_hermite(const data::TParse_TBlock& block) : TObject(block, &fnValue) { + nofralloc +#include "JSystem/JStudio/asm/__ct__Q37JStudio3fvb15TObject_hermiteFRCQ47JStudio3fvb4data13TParse_TBlock.s" +} + +void TObject_hermite::prepare_data_(const data::TParse_TParagraph::TData& rData, + TControl* control) { + JUT_ASSERT(rData.u32Type == data::PARAGRAPH_DATA); + + u32 u32Size = rData.u32Size; + JUT_EXPECT(u32size >= 8); + + const ListData* pContent = static_cast(rData.pContent); + JUT_ASSERT(pContent != NULL); + + fnValue.data_set(pContent->_4, pContent->_0 & 0xFFFFFFF, pContent->_0 >> 0x1C); +} + +TControl::TControl() : _4(0) {} + +TControl::~TControl() { + JUT_EXPECT(ocObject_.empty()); +} + +// TObject::TObject(void const* id, u32 id_size, TFunctionValue* value) +// : object::TObject_ID(id, id_size), pfv_(value) { +// JUT_ASSERT(pfv_ != NULL); +// } + +} // namespace fvb +} // namespace JStudio diff --git a/libs/JSystem/JStudio/stb.cpp b/libs/JSystem/JStudio/stb.cpp index 4c1931a40c..6d9f02f783 100644 --- a/libs/JSystem/JStudio/stb.cpp +++ b/libs/JSystem/JStudio/stb.cpp @@ -22,9 +22,9 @@ extern const char** lbl_804554D8; // "STB"\0 namespace JStudio { namespace stb { -TObject::TObject(u32 arg1, const void* arg2, u32 arg3) - : TObject_ID(arg2, arg3), pControl(NULL), _18(arg1), mFlag(0), bSequence_(0), _20(0), _24(NULL), - _28(NULL), u32Wait_(0), mStatus(0) {} +TObject::TObject(u32 arg1, const void* id, u32 id_size) + : TObject_ID(id, id_size), pControl(NULL), _18(arg1), mFlag(0), bSequence_(0), _20(0), + _24(NULL), _28(NULL), u32Wait_(0), mStatus(0) {} TObject::TObject(const data::TParse_TBlock_object& object) : TObject_ID(object.get_ID(), object.get_IDSize()), pControl(NULL), _18(object.get_type()), diff --git a/obj_files.mk b/obj_files.mk index e39063be97..0b5f500c22 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -303,7 +303,9 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/JStage/JSGObject.o \ $(BUILD_DIR)/asm/JStage/JSGSystem.o \ $(BUILD_DIR)/asm/JStudio/ctb.o \ + $(BUILD_DIR)/libs/JSystem/JStudio/functionvalue.o \ $(BUILD_DIR)/asm/JStudio/functionvalue.o \ + $(BUILD_DIR)/libs/JSystem/JStudio/fvb.o \ $(BUILD_DIR)/asm/JStudio/fvb.o \ $(BUILD_DIR)/asm/JStudio/fvb-data-parse.o \ $(BUILD_DIR)/asm/JStudio/jstudio-control.o \ @@ -460,6 +462,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/JGadget/binary.o \ $(BUILD_DIR)/libs/JSystem/JGadget/linklist.o \ $(BUILD_DIR)/asm/JGadget/linklist.o \ + $(BUILD_DIR)/libs/JSystem/JGadget/std-vector.o \ $(BUILD_DIR)/asm/JGadget/std-vector.o \ $(BUILD_DIR)/asm/JUtility/JUTCacheFont.o \ $(BUILD_DIR)/asm/JUtility/JUTResource.o \