fvb, functionvalue, vector (#77)

Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
notyourav
2021-01-18 11:27:25 -08:00
committed by GitHub
parent e35c282900
commit c48c35f4db
49 changed files with 3454 additions and 2902 deletions
+4 -12
View File
@@ -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
File diff suppressed because it is too large Load Diff
+51 -573
View File
@@ -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
+6 -6
View File
@@ -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)
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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
@@ -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
+6 -3
View File
@@ -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 <class T, int U, int V>
// Shows up as 3 args in Ghidra, but the 'undefined' is just -1
template <class T, int U>
struct TLinkList : TNodeLinkList {
TLinkListNode* Element_toNode(T* p) { return &static_cast<JStudio::stb::TObject*>(p)->mNode; }
+21
View File
@@ -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<PFdd_d>__7JGadgetFiPCPFdd_dUlRCPFdd_d
//! Target: toValueFromIndex<PFdd_d>__7JGadgetFiPCPFdd_dUlRCPFdd_d_RCPFdd_d
template <typename T>
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
+65
View File
@@ -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 <typename T>
struct TAllocator {
static TAllocator get() {}
inline TAllocator() { _0 = lbl_804511E8; }
u8 _0;
u8 _1[3];
u32 _4;
u32 _8;
u32 _c;
};
template <typename T, template <class> class Allocator>
struct TVector {
TVector(Allocator<T> 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<void*, TAllocator> {
// TVector_pointer_void(const TAllocator<void*>& allocator);
void clear() { erase(begin(), end()); }
private:
void erase(void** pItFirst, void** pItLast);
};
template <typename T>
struct TVector_pointer : TVector_pointer_void {
// TVector_pointer(const TAllocator<void*>& allocator) : TVector_pointer_void(allocator) {}
};
} // namespace JGadget
#endif // JGADGET_VECTOR_H
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+397
View File
@@ -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<TFunctionValue*> {
// TFunctionValueAttribute_refer() :
// JGadget::TVector_pointer<TFunctionValue*>(JGadget::TAllocator<void*>()) {}
// 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<TFunctionValue*>& pv, const TData& data,
f64 d);
f64 composite_index(const JGadget::TVector_pointer<TFunctionValue*>& pv, const TData& data,
f64 d);
f64 composite_parameter(const JGadget::TVector_pointer<TFunctionValue*>& pv, const TData& data,
f64 d);
f64 composite_add(const JGadget::TVector_pointer<TFunctionValue*>& pv, const TData& data,
f64 d);
f64 composite_subtract(const JGadget::TVector_pointer<TFunctionValue*>& pv, const TData& data,
f64 d);
f64 composite_multiply(const JGadget::TVector_pointer<TFunctionValue*>& pv, const TData& data,
f64 d);
f64 composite_divide(const JGadget::TVector_pointer<TFunctionValue*>& 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
+163
View File
@@ -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<TObject, -12> 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
+25
View File
@@ -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
+18 -28
View File
@@ -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<TObject, 0, 2> mObjectContainer;
/* 0x10 */ JGadget::TLinkList<TObject, -12> mObjectContainer;
/* 0x1c */ u32 mStatus;
/* 0x20 */ TObject_control mObject_control;
/* 0x54 */ u32 _54; // "second per frame"?
+7
View File
@@ -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) {
+1 -1
View File
@@ -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;
+60
View File
@@ -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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_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<Pv>
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
+18 -1
View File
@@ -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<void*>& allocator) : TVector<void*,
// TAllocator>(allocator)
} // namespace vector
} // namespace JGadget
+554 -1
View File
@@ -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<DoubleFunc>(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<TFunctionValue*>& 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<TFunctionValue*>& 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<TFunctionValue*>& 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<TFunctionValue*>& 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<TFunctionValue*>& 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<TFunctionValue*>& 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<TFunctionValue*>& 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
+218 -1
View File
@@ -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<const TFunctionValue_composite*>(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<const f32*>(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<const f32*>(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<const ListData*>(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<const ListData*>(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<const ListData*>(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
+3 -3
View File
@@ -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()),
+3
View File
@@ -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 \