More jstudio work (#2048)

This commit is contained in:
hatal175
2024-01-26 00:50:55 +02:00
committed by GitHub
parent 4640b758c9
commit 1ea10fcc63
80 changed files with 834 additions and 2229 deletions
@@ -1,20 +0,0 @@
lbl_80281060:
/* 80281060 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80281064 7C 08 02 A6 */ mflr r0
/* 80281068 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028106C 7C 65 1B 78 */ mr r5, r3
/* 80281070 38 05 00 0C */ addi r0, r5, 0xc
/* 80281074 90 01 00 0C */ stw r0, 0xc(r1)
/* 80281078 90 01 00 08 */ stw r0, 8(r1)
/* 8028107C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80281080 90 01 00 18 */ stw r0, 0x18(r1)
/* 80281084 38 C4 00 0C */ addi r6, r4, 0xc
/* 80281088 90 01 00 14 */ stw r0, 0x14(r1)
/* 8028108C 38 61 00 10 */ addi r3, r1, 0x10
/* 80281090 38 85 00 08 */ addi r4, r5, 8
/* 80281094 38 A1 00 14 */ addi r5, r1, 0x14
/* 80281098 48 05 BB 11 */ bl Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode
/* 8028109C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802810A0 7C 08 03 A6 */ mtlr r0
/* 802810A4 38 21 00 20 */ addi r1, r1, 0x20
/* 802810A8 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_8028112C:
/* 8028112C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80281130 7C 08 02 A6 */ mflr r0
/* 80281134 90 01 00 24 */ stw r0, 0x24(r1)
/* 80281138 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8028113C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80281140 7C 7E 1B 78 */ mr r30, r3
/* 80281144 3B FE 00 0C */ addi r31, r30, 0xc
/* 80281148 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8028114C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80281150 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80281154 48 00 00 18 */ b lbl_8028116C
lbl_80281158:
/* 80281158 80 7F 00 04 */ lwz r3, 4(r31)
/* 8028115C 90 61 00 08 */ stw r3, 8(r1)
/* 80281160 38 83 FF F4 */ addi r4, r3, -12
/* 80281164 7F C3 F3 78 */ mr r3, r30
/* 80281168 4B FF FF 75 */ bl destroyObject__Q37JStudio3ctb8TControlFPQ37JStudio3ctb7TObject
lbl_8028116C:
/* 8028116C 80 1E 00 08 */ lwz r0, 8(r30)
/* 80281170 28 00 00 00 */ cmplwi r0, 0
/* 80281174 40 82 FF E4 */ bne lbl_80281158
/* 80281178 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8028117C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80281180 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80281184 7C 08 03 A6 */ mtlr r0
/* 80281188 38 21 00 20 */ addi r1, r1, 0x20
/* 8028118C 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_80281230:
/* 80281230 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80281234 80 03 00 08 */ lwz r0, 8(r3)
/* 80281238 7C 04 00 40 */ cmplw r4, r0
/* 8028123C 41 80 00 0C */ blt lbl_80281248
/* 80281240 38 60 00 00 */ li r3, 0
/* 80281244 48 00 00 28 */ b lbl_8028126C
lbl_80281248:
/* 80281248 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8028124C 90 61 00 0C */ stw r3, 0xc(r1)
/* 80281250 90 61 00 08 */ stw r3, 8(r1)
/* 80281254 7C 89 03 A6 */ mtctr r4
/* 80281258 28 04 00 00 */ cmplwi r4, 0
/* 8028125C 41 82 00 0C */ beq lbl_80281268
lbl_80281260:
/* 80281260 80 63 00 00 */ lwz r3, 0(r3)
/* 80281264 42 00 FF FC */ bdnz lbl_80281260
lbl_80281268:
/* 80281268 38 63 FF F4 */ addi r3, r3, -12
lbl_8028126C:
/* 8028126C 38 21 00 10 */ addi r1, r1, 0x10
/* 80281270 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_8028566C:
/* 8028566C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80285670 7C 08 02 A6 */ mflr r0
/* 80285674 90 01 00 14 */ stw r0, 0x14(r1)
/* 80285678 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8028567C 7C 7F 1B 78 */ mr r31, r3
/* 80285680 48 00 3F C1 */ bl __ct__Q37JStudio3stb6TParseFPQ37JStudio3stb8TControl
/* 80285684 3C 60 80 3C */ lis r3, __vt__Q27JStudio6TParse@ha /* 0x803C4AC0@ha */
/* 80285688 38 03 4A C0 */ addi r0, r3, __vt__Q27JStudio6TParse@l /* 0x803C4AC0@l */
/* 8028568C 90 1F 00 00 */ stw r0, 0(r31)
/* 80285690 7F E3 FB 78 */ mr r3, r31
/* 80285694 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80285698 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028569C 7C 08 03 A6 */ mtlr r0
/* 802856A0 38 21 00 10 */ addi r1, r1, 0x10
/* 802856A4 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_80285114:
/* 80285114 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80285118 7C 08 02 A6 */ mflr r0
/* 8028511C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80285120 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80285124 7C 7F 1B 78 */ mr r31, r3
/* 80285128 48 00 3F 8D */ bl __ct__Q37JStudio3stb8TControlFv
/* 8028512C 3C 60 80 3C */ lis r3, __vt__Q27JStudio8TControl@ha /* 0x803C4AF4@ha */
/* 80285130 38 03 4A F4 */ addi r0, r3, __vt__Q27JStudio8TControl@l /* 0x803C4AF4@l */
/* 80285134 90 1F 00 00 */ stw r0, 0(r31)
/* 80285138 38 7F 00 60 */ addi r3, r31, 0x60
/* 8028513C 4B FF F5 2D */ bl __ct__Q37JStudio3fvb8TControlFv
/* 80285140 38 7F 00 74 */ addi r3, r31, 0x74
/* 80285144 4B FF BE 81 */ bl __ct__Q37JStudio3ctb8TControlFv
/* 80285148 38 00 00 00 */ li r0, 0
/* 8028514C 98 1F 00 88 */ stb r0, 0x88(r31)
/* 80285150 98 1F 00 89 */ stb r0, 0x89(r31)
/* 80285154 3C 60 80 3A */ lis r3, lit_745@ha /* 0x8039AA40@ha */
/* 80285158 38 83 AA 40 */ addi r4, r3, lit_745@l /* 0x8039AA40@l */
/* 8028515C 80 64 00 00 */ lwz r3, 0(r4)
/* 80285160 80 04 00 04 */ lwz r0, 4(r4)
/* 80285164 90 61 00 08 */ stw r3, 8(r1)
/* 80285168 90 01 00 0C */ stw r0, 0xc(r1)
/* 8028516C 80 04 00 08 */ lwz r0, 8(r4)
/* 80285170 90 01 00 10 */ stw r0, 0x10(r1)
/* 80285174 7F E3 FB 78 */ mr r3, r31
/* 80285178 38 81 00 08 */ addi r4, r1, 8
/* 8028517C C0 22 BA 58 */ lfs f1, lit_748(r2)
/* 80285180 48 00 00 D1 */ bl transformOnSet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf
/* 80285184 7F E3 FB 78 */ mr r3, r31
/* 80285188 38 81 00 08 */ addi r4, r1, 8
/* 8028518C C0 22 BA 58 */ lfs f1, lit_748(r2)
/* 80285190 48 00 01 41 */ bl transformOnGet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf
/* 80285194 7F E3 FB 78 */ mr r3, r31
/* 80285198 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8028519C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802851A0 7C 08 03 A6 */ mtlr r0
/* 802851A4 38 21 00 20 */ addi r1, r1, 0x20
/* 802851A8 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80285488:
/* 80285488 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8028548C 7C 08 02 A6 */ mflr r0
/* 80285490 90 01 00 14 */ stw r0, 0x14(r1)
/* 80285494 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80285498 7C 7F 1B 79 */ or. r31, r3, r3
/* 8028549C 41 82 00 1C */ beq lbl_802854B8
/* 802854A0 3C A0 80 3A */ lis r5, __vt__Q27JStudio13TCreateObject@ha /* 0x803A7934@ha */
/* 802854A4 38 05 79 34 */ addi r0, r5, __vt__Q27JStudio13TCreateObject@l /* 0x803A7934@l */
/* 802854A8 90 1F 00 00 */ stw r0, 0(r31)
/* 802854AC 7C 80 07 35 */ extsh. r0, r4
/* 802854B0 40 81 00 08 */ ble lbl_802854B8
/* 802854B4 48 04 98 89 */ bl __dl__FPv
lbl_802854B8:
/* 802854B8 7F E3 FB 78 */ mr r3, r31
/* 802854BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802854C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802854C4 7C 08 03 A6 */ mtlr r0
/* 802854C8 38 21 00 10 */ addi r1, r1, 0x10
/* 802854CC 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_802856A8:
/* 802856A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802856AC 7C 08 02 A6 */ mflr r0
/* 802856B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802856B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802856B8 93 C1 00 08 */ stw r30, 8(r1)
/* 802856BC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802856C0 7C 9F 23 78 */ mr r31, r4
/* 802856C4 41 82 00 28 */ beq lbl_802856EC
/* 802856C8 3C 80 80 3C */ lis r4, __vt__Q27JStudio6TParse@ha /* 0x803C4AC0@ha */
/* 802856CC 38 04 4A C0 */ addi r0, r4, __vt__Q27JStudio6TParse@l /* 0x803C4AC0@l */
/* 802856D0 90 1E 00 00 */ stw r0, 0(r30)
/* 802856D4 38 80 00 00 */ li r4, 0
/* 802856D8 48 00 3F 89 */ bl __dt__Q37JStudio3stb6TParseFv
/* 802856DC 7F E0 07 35 */ extsh. r0, r31
/* 802856E0 40 81 00 0C */ ble lbl_802856EC
/* 802856E4 7F C3 F3 78 */ mr r3, r30
/* 802856E8 48 04 96 55 */ bl __dl__FPv
lbl_802856EC:
/* 802856EC 7F C3 F3 78 */ mr r3, r30
/* 802856F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802856F4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802856F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802856FC 7C 08 03 A6 */ mtlr r0
/* 80285700 38 21 00 10 */ addi r1, r1, 0x10
/* 80285704 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_802851AC:
/* 802851AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802851B0 7C 08 02 A6 */ mflr r0
/* 802851B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802851B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802851BC 93 C1 00 08 */ stw r30, 8(r1)
/* 802851C0 7C 7E 1B 79 */ or. r30, r3, r3
/* 802851C4 7C 9F 23 78 */ mr r31, r4
/* 802851C8 41 82 00 44 */ beq lbl_8028520C
/* 802851CC 3C 60 80 3C */ lis r3, __vt__Q27JStudio8TControl@ha /* 0x803C4AF4@ha */
/* 802851D0 38 03 4A F4 */ addi r0, r3, __vt__Q27JStudio8TControl@l /* 0x803C4AF4@l */
/* 802851D4 90 1E 00 00 */ stw r0, 0(r30)
/* 802851D8 38 7E 00 74 */ addi r3, r30, 0x74
/* 802851DC 38 80 FF FF */ li r4, -1
/* 802851E0 4B FF BE 15 */ bl __dt__Q37JStudio3ctb8TControlFv
/* 802851E4 38 7E 00 60 */ addi r3, r30, 0x60
/* 802851E8 38 80 FF FF */ li r4, -1
/* 802851EC 4B FF F4 AD */ bl __dt__Q37JStudio3fvb8TControlFv
/* 802851F0 7F C3 F3 78 */ mr r3, r30
/* 802851F4 38 80 00 00 */ li r4, 0
/* 802851F8 48 00 3F 9D */ bl __dt__Q37JStudio3stb8TControlFv
/* 802851FC 7F E0 07 35 */ extsh. r0, r31
/* 80285200 40 81 00 0C */ ble lbl_8028520C
/* 80285204 7F C3 F3 78 */ mr r3, r30
/* 80285208 48 04 9B 35 */ bl __dl__FPv
lbl_8028520C:
/* 8028520C 7F C3 F3 78 */ mr r3, r30
/* 80285210 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80285214 83 C1 00 08 */ lwz r30, 8(r1)
/* 80285218 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028521C 7C 08 03 A6 */ mtlr r0
/* 80285220 38 21 00 10 */ addi r1, r1, 0x10
/* 80285224 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_802854D0:
/* 802854D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802854D4 7C 08 02 A6 */ mflr r0
/* 802854D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802854DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802854E0 93 C1 00 08 */ stw r30, 8(r1)
/* 802854E4 7C 7E 1B 79 */ or. r30, r3, r3
/* 802854E8 7C 9F 23 78 */ mr r31, r4
/* 802854EC 41 82 00 58 */ beq lbl_80285544
/* 802854F0 3C 60 80 3C */ lis r3, __vt__Q27JStudio8TFactory@ha /* 0x803C4AE0@ha */
/* 802854F4 38 03 4A E0 */ addi r0, r3, __vt__Q27JStudio8TFactory@l /* 0x803C4AE0@l */
/* 802854F8 90 1E 00 00 */ stw r0, 0(r30)
/* 802854FC 38 7E 00 14 */ addi r3, r30, 0x14
/* 80285500 38 80 FF FF */ li r4, -1
/* 80285504 4B FF BD 71 */ bl __dt__Q37JStudio3ctb8TFactoryFv
/* 80285508 38 7E 00 10 */ addi r3, r30, 0x10
/* 8028550C 38 80 FF FF */ li r4, -1
/* 80285510 4B FF F4 09 */ bl __dt__Q37JStudio3fvb8TFactoryFv
/* 80285514 34 1E 00 04 */ addic. r0, r30, 4
/* 80285518 41 82 00 10 */ beq lbl_80285528
/* 8028551C 38 7E 00 04 */ addi r3, r30, 4
/* 80285520 38 80 00 00 */ li r4, 0
/* 80285524 48 05 74 F9 */ bl __dt__Q27JGadget13TNodeLinkListFv
lbl_80285528:
/* 80285528 7F C3 F3 78 */ mr r3, r30
/* 8028552C 38 80 00 00 */ li r4, 0
/* 80285530 48 00 40 85 */ bl __dt__Q37JStudio3stb8TFactoryFv
/* 80285534 7F E0 07 35 */ extsh. r0, r31
/* 80285538 40 81 00 0C */ ble lbl_80285544
/* 8028553C 7F C3 F3 78 */ mr r3, r30
/* 80285540 48 04 97 FD */ bl __dl__FPv
lbl_80285544:
/* 80285544 7F C3 F3 78 */ mr r3, r30
/* 80285548 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8028554C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80285550 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80285554 7C 08 03 A6 */ mtlr r0
/* 80285558 38 21 00 10 */ addi r1, r1, 0x10
/* 8028555C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80285560:
/* 80285560 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80285564 7C 08 02 A6 */ mflr r0
/* 80285568 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028556C 7C 65 1B 78 */ mr r5, r3
/* 80285570 38 05 00 08 */ addi r0, r5, 8
/* 80285574 90 01 00 0C */ stw r0, 0xc(r1)
/* 80285578 90 01 00 08 */ stw r0, 8(r1)
/* 8028557C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80285580 90 01 00 18 */ stw r0, 0x18(r1)
/* 80285584 38 C4 00 04 */ addi r6, r4, 4
/* 80285588 90 01 00 14 */ stw r0, 0x14(r1)
/* 8028558C 38 61 00 10 */ addi r3, r1, 0x10
/* 80285590 38 85 00 04 */ addi r4, r5, 4
/* 80285594 38 A1 00 14 */ addi r5, r1, 0x14
/* 80285598 48 05 76 11 */ bl Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode
/* 8028559C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802855A0 7C 08 03 A6 */ mtlr r0
/* 802855A4 38 21 00 20 */ addi r1, r1, 0x20
/* 802855A8 4E 80 00 20 */ blr
@@ -1,52 +0,0 @@
lbl_802855AC:
/* 802855AC 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802855B0 7C 08 02 A6 */ mflr r0
/* 802855B4 90 01 00 54 */ stw r0, 0x54(r1)
/* 802855B8 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 802855BC 7C 9F 23 78 */ mr r31, r4
/* 802855C0 38 03 00 08 */ addi r0, r3, 8
/* 802855C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802855C8 90 01 00 20 */ stw r0, 0x20(r1)
/* 802855CC 90 01 00 34 */ stw r0, 0x34(r1)
/* 802855D0 90 01 00 30 */ stw r0, 0x30(r1)
/* 802855D4 80 63 00 08 */ lwz r3, 8(r3)
/* 802855D8 90 61 00 1C */ stw r3, 0x1c(r1)
/* 802855DC 90 61 00 18 */ stw r3, 0x18(r1)
/* 802855E0 90 61 00 2C */ stw r3, 0x2c(r1)
/* 802855E4 90 61 00 28 */ stw r3, 0x28(r1)
/* 802855E8 90 61 00 3C */ stw r3, 0x3c(r1)
/* 802855EC 90 01 00 40 */ stw r0, 0x40(r1)
/* 802855F0 48 00 00 3C */ b lbl_8028562C
lbl_802855F4:
/* 802855F4 80 81 00 3C */ lwz r4, 0x3c(r1)
/* 802855F8 38 64 FF FC */ addi r3, r4, -4
/* 802855FC 80 04 00 00 */ lwz r0, 0(r4)
/* 80285600 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80285604 38 81 00 38 */ addi r4, r1, 0x38
/* 80285608 7F E5 FB 78 */ mr r5, r31
/* 8028560C 81 83 00 00 */ lwz r12, 0(r3)
/* 80285610 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80285614 7D 89 03 A6 */ mtctr r12
/* 80285618 4E 80 04 21 */ bctrl
/* 8028561C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80285620 41 82 00 0C */ beq lbl_8028562C
/* 80285624 80 61 00 38 */ lwz r3, 0x38(r1)
/* 80285628 48 00 00 30 */ b lbl_80285658
lbl_8028562C:
/* 8028562C 80 61 00 40 */ lwz r3, 0x40(r1)
/* 80285630 90 61 00 14 */ stw r3, 0x14(r1)
/* 80285634 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80285638 90 01 00 10 */ stw r0, 0x10(r1)
/* 8028563C 90 61 00 0C */ stw r3, 0xc(r1)
/* 80285640 90 01 00 08 */ stw r0, 8(r1)
/* 80285644 7C 00 18 50 */ subf r0, r0, r3
/* 80285648 7C 00 00 34 */ cntlzw r0, r0
/* 8028564C 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 80285650 41 82 FF A4 */ beq lbl_802855F4
/* 80285654 38 60 00 00 */ li r3, 0
lbl_80285658:
/* 80285658 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8028565C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80285660 7C 08 03 A6 */ mtlr r0
/* 80285664 38 21 00 50 */ addi r1, r1, 0x50
/* 80285668 4E 80 00 20 */ blr
@@ -1,49 +0,0 @@
lbl_80285844:
/* 80285844 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80285848 7C 08 02 A6 */ mflr r0
/* 8028584C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80285850 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80285854 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80285858 80 C3 00 04 */ lwz r6, 4(r3)
/* 8028585C 80 64 00 00 */ lwz r3, 0(r4)
/* 80285860 3B E3 00 08 */ addi r31, r3, 8
/* 80285864 54 BE 07 3E */ clrlwi r30, r5, 0x1c
/* 80285868 54 A0 06 F7 */ rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 8028586C 41 82 00 08 */ beq lbl_80285874
/* 80285870 63 DE 00 10 */ ori r30, r30, 0x10
lbl_80285874:
/* 80285874 54 A0 06 B5 */ rlwinm. r0, r5, 0, 0x1a, 0x1a
/* 80285878 41 82 00 08 */ beq lbl_80285880
/* 8028587C 63 DE 00 20 */ ori r30, r30, 0x20
lbl_80285880:
/* 80285880 54 A0 06 73 */ rlwinm. r0, r5, 0, 0x19, 0x19
/* 80285884 41 82 00 08 */ beq lbl_8028588C
/* 80285888 63 DE 00 40 */ ori r30, r30, 0x40
lbl_8028588C:
/* 8028588C 38 61 00 0C */ addi r3, r1, 0xc
/* 80285890 38 86 00 60 */ addi r4, r6, 0x60
/* 80285894 4B FF F2 49 */ bl __ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl
/* 80285898 93 E1 00 08 */ stw r31, 8(r1)
/* 8028589C 38 61 00 0C */ addi r3, r1, 0xc
/* 802858A0 38 81 00 08 */ addi r4, r1, 8
/* 802858A4 7F C5 F3 78 */ mr r5, r30
/* 802858A8 48 05 70 69 */ bl parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl
/* 802858AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802858B0 40 82 00 18 */ bne lbl_802858C8
/* 802858B4 38 61 00 0C */ addi r3, r1, 0xc
/* 802858B8 38 80 FF FF */ li r4, -1
/* 802858BC 4B FF F2 41 */ bl __dt__Q37JStudio3fvb6TParseFv
/* 802858C0 38 60 00 00 */ li r3, 0
/* 802858C4 48 00 00 14 */ b lbl_802858D8
lbl_802858C8:
/* 802858C8 38 61 00 0C */ addi r3, r1, 0xc
/* 802858CC 38 80 FF FF */ li r4, -1
/* 802858D0 4B FF F2 2D */ bl __dt__Q37JStudio3fvb6TParseFv
/* 802858D4 38 60 00 01 */ li r3, 1
lbl_802858D8:
/* 802858D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802858DC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802858E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802858E4 7C 08 03 A6 */ mtlr r0
/* 802858E8 38 21 00 20 */ addi r1, r1, 0x20
/* 802858EC 4E 80 00 20 */ blr
@@ -1,67 +0,0 @@
lbl_802858F0:
/* 802858F0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802858F4 7C 08 02 A6 */ mflr r0
/* 802858F8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802858FC 39 61 00 30 */ addi r11, r1, 0x30
/* 80285900 48 0D C8 D9 */ bl _savegpr_28
/* 80285904 7C BC 2B 78 */ mr r28, r5
/* 80285908 83 E3 00 04 */ lwz r31, 4(r3)
/* 8028590C 80 64 00 00 */ lwz r3, 0(r4)
/* 80285910 3B C3 00 08 */ addi r30, r3, 8
/* 80285914 54 BD 07 3E */ clrlwi r29, r5, 0x1c
/* 80285918 54 A0 06 F7 */ rlwinm. r0, r5, 0, 0x1b, 0x1b
/* 8028591C 41 82 00 08 */ beq lbl_80285924
/* 80285920 63 BD 00 10 */ ori r29, r29, 0x10
lbl_80285924:
/* 80285924 57 80 06 B5 */ rlwinm. r0, r28, 0, 0x1a, 0x1a
/* 80285928 41 82 00 08 */ beq lbl_80285930
/* 8028592C 63 BD 00 20 */ ori r29, r29, 0x20
lbl_80285930:
/* 80285930 57 80 06 73 */ rlwinm. r0, r28, 0, 0x19, 0x19
/* 80285934 41 82 00 08 */ beq lbl_8028593C
/* 80285938 63 BD 00 40 */ ori r29, r29, 0x40
lbl_8028593C:
/* 8028593C 38 61 00 0C */ addi r3, r1, 0xc
/* 80285940 38 9F 00 74 */ addi r4, r31, 0x74
/* 80285944 4B FF BA 19 */ bl __ct__Q37JStudio3ctb6TParseFPQ37JStudio3ctb8TControl
/* 80285948 93 C1 00 08 */ stw r30, 8(r1)
/* 8028594C 38 61 00 0C */ addi r3, r1, 0xc
/* 80285950 38 81 00 08 */ addi r4, r1, 8
/* 80285954 7F A5 EB 78 */ mr r5, r29
/* 80285958 48 05 6F B9 */ bl parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl
/* 8028595C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80285960 40 82 00 18 */ bne lbl_80285978
/* 80285964 38 61 00 0C */ addi r3, r1, 0xc
/* 80285968 38 80 FF FF */ li r4, -1
/* 8028596C 4B FF BA 11 */ bl __dt__Q37JStudio3ctb6TParseFv
/* 80285970 38 60 00 00 */ li r3, 0
/* 80285974 48 00 00 50 */ b lbl_802859C4
lbl_80285978:
/* 80285978 57 80 05 AD */ rlwinm. r0, r28, 0, 0x16, 0x16
/* 8028597C 40 82 00 38 */ bne lbl_802859B4
/* 80285980 7F E3 FB 78 */ mr r3, r31
/* 80285984 38 80 00 00 */ li r4, 0
/* 80285988 4B FF FA B5 */ bl transform_setOrigin_ctb_index__Q27JStudio8TControlFUl
/* 8028598C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80285990 40 82 00 18 */ bne lbl_802859A8
/* 80285994 38 61 00 0C */ addi r3, r1, 0xc
/* 80285998 38 80 FF FF */ li r4, -1
/* 8028599C 4B FF B9 E1 */ bl __dt__Q37JStudio3ctb6TParseFv
/* 802859A0 38 60 00 00 */ li r3, 0
/* 802859A4 48 00 00 20 */ b lbl_802859C4
lbl_802859A8:
/* 802859A8 38 00 00 01 */ li r0, 1
/* 802859AC 98 1F 00 88 */ stb r0, 0x88(r31)
/* 802859B0 98 1F 00 89 */ stb r0, 0x89(r31)
lbl_802859B4:
/* 802859B4 38 61 00 0C */ addi r3, r1, 0xc
/* 802859B8 38 80 FF FF */ li r4, -1
/* 802859BC 4B FF B9 C1 */ bl __dt__Q37JStudio3ctb6TParseFv
/* 802859C0 38 60 00 01 */ li r3, 1
lbl_802859C4:
/* 802859C4 39 61 00 30 */ addi r11, r1, 0x30
/* 802859C8 48 0D C8 5D */ bl _restgpr_28
/* 802859CC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802859D0 7C 08 03 A6 */ mtlr r0
/* 802859D4 38 21 00 30 */ addi r1, r1, 0x30
/* 802859D8 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_802857E4:
/* 802857E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802857E8 7C 08 02 A6 */ mflr r0
/* 802857EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802857F0 80 C4 00 00 */ lwz r6, 0(r4)
/* 802857F4 80 E6 00 04 */ lwz r7, 4(r6)
/* 802857F8 3C C0 4A 46 */ lis r6, 0x4A46 /* 0x4A465642@ha */
/* 802857FC 38 06 56 42 */ addi r0, r6, 0x5642 /* 0x4A465642@l */
/* 80285800 7C 07 00 00 */ cmpw r7, r0
/* 80285804 41 82 00 1C */ beq lbl_80285820
/* 80285808 40 80 00 28 */ bge lbl_80285830
/* 8028580C 3C C0 4A 43 */ lis r6, 0x4A43 /* 0x4A435442@ha */
/* 80285810 38 06 54 42 */ addi r0, r6, 0x5442 /* 0x4A435442@l */
/* 80285814 7C 07 00 00 */ cmpw r7, r0
/* 80285818 41 82 00 10 */ beq lbl_80285828
/* 8028581C 48 00 00 14 */ b lbl_80285830
lbl_80285820:
/* 80285820 48 00 00 25 */ bl parseBlock_block_fvb___Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
/* 80285824 48 00 00 10 */ b lbl_80285834
lbl_80285828:
/* 80285828 48 00 00 C9 */ bl parseBlock_block_ctb___Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
/* 8028582C 48 00 00 08 */ b lbl_80285834
lbl_80285830:
/* 80285830 48 00 3F B9 */ bl parseBlock_block__Q37JStudio3stb6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
lbl_80285834:
/* 80285834 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80285838 7C 08 03 A6 */ mtlr r0
/* 8028583C 38 21 00 10 */ addi r1, r1, 0x10
/* 80285840 4E 80 00 20 */ blr
@@ -1,61 +0,0 @@
lbl_80285708:
/* 80285708 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8028570C 7C 08 02 A6 */ mflr r0
/* 80285710 90 01 00 34 */ stw r0, 0x34(r1)
/* 80285714 39 61 00 30 */ addi r11, r1, 0x30
/* 80285718 48 0D CA C5 */ bl _savegpr_29
/* 8028571C 7C 7D 1B 78 */ mr r29, r3
/* 80285720 7C BE 2B 78 */ mr r30, r5
/* 80285724 80 64 00 00 */ lwz r3, 0(r4)
/* 80285728 3B E3 00 10 */ addi r31, r3, 0x10
/* 8028572C 7F E3 FB 78 */ mr r3, r31
/* 80285730 38 82 BA 60 */ la r4, ga8cSignature__Q27JStudio4data(r2) /* 80455460-_SDA2_BASE_ */
/* 80285734 38 A0 00 08 */ li r5, 8
/* 80285738 48 0E 09 55 */ bl memcmp
/* 8028573C 2C 03 00 00 */ cmpwi r3, 0
/* 80285740 41 82 00 0C */ beq lbl_8028574C
/* 80285744 38 60 00 00 */ li r3, 0
/* 80285748 48 00 00 84 */ b lbl_802857CC
lbl_8028574C:
/* 8028574C A0 1F 00 0E */ lhz r0, 0xe(r31)
/* 80285750 28 00 00 02 */ cmplwi r0, 2
/* 80285754 40 80 00 0C */ bge lbl_80285760
/* 80285758 38 60 00 00 */ li r3, 0
/* 8028575C 48 00 00 70 */ b lbl_802857CC
lbl_80285760:
/* 80285760 28 00 00 06 */ cmplwi r0, 6
/* 80285764 40 81 00 0C */ ble lbl_80285770
/* 80285768 38 60 00 00 */ li r3, 0
/* 8028576C 48 00 00 60 */ b lbl_802857CC
lbl_80285770:
/* 80285770 83 FD 00 04 */ lwz r31, 4(r29)
/* 80285774 57 C0 05 EF */ rlwinm. r0, r30, 0, 0x17, 0x17
/* 80285778 40 82 00 50 */ bne lbl_802857C8
/* 8028577C 3C 60 80 3A */ lis r3, lit_1138@ha /* 0x8039AA58@ha */
/* 80285780 38 83 AA 58 */ addi r4, r3, lit_1138@l /* 0x8039AA58@l */
/* 80285784 80 64 00 00 */ lwz r3, 0(r4)
/* 80285788 80 04 00 04 */ lwz r0, 4(r4)
/* 8028578C 90 61 00 08 */ stw r3, 8(r1)
/* 80285790 90 01 00 0C */ stw r0, 0xc(r1)
/* 80285794 80 04 00 08 */ lwz r0, 8(r4)
/* 80285798 90 01 00 10 */ stw r0, 0x10(r1)
/* 8028579C 7F E3 FB 78 */ mr r3, r31
/* 802857A0 38 81 00 08 */ addi r4, r1, 8
/* 802857A4 C0 22 BA 58 */ lfs f1, lit_748(r2)
/* 802857A8 4B FF FA A9 */ bl transformOnSet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf
/* 802857AC 7F E3 FB 78 */ mr r3, r31
/* 802857B0 38 81 00 08 */ addi r4, r1, 8
/* 802857B4 C0 22 BA 58 */ lfs f1, lit_748(r2)
/* 802857B8 4B FF FB 19 */ bl transformOnGet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf
/* 802857BC 38 00 00 00 */ li r0, 0
/* 802857C0 98 1F 00 88 */ stb r0, 0x88(r31)
/* 802857C4 98 1F 00 89 */ stb r0, 0x89(r31)
lbl_802857C8:
/* 802857C8 38 60 00 01 */ li r3, 1
lbl_802857CC:
/* 802857CC 39 61 00 30 */ addi r11, r1, 0x30
/* 802857D0 48 0D CA 59 */ bl _restgpr_29
/* 802857D4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802857D8 7C 08 03 A6 */ mtlr r0
/* 802857DC 38 21 00 30 */ addi r1, r1, 0x30
/* 802857E0 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_80285228:
/* 80285228 38 00 00 00 */ li r0, 0
/* 8028522C 38 A0 00 00 */ li r5, 0
/* 80285230 28 04 00 00 */ cmplwi r4, 0
/* 80285234 41 82 00 0C */ beq lbl_80285240
/* 80285238 38 04 00 10 */ addi r0, r4, 0x10
/* 8028523C 38 A4 00 14 */ addi r5, r4, 0x14
lbl_80285240:
/* 80285240 90 83 00 0C */ stw r4, 0xc(r3)
/* 80285244 90 03 00 64 */ stw r0, 0x64(r3)
/* 80285248 90 A3 00 78 */ stw r5, 0x78(r3)
/* 8028524C 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_802852D0:
/* 802852D0 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802852D4 7C 08 02 A6 */ mflr r0
/* 802852D8 90 01 00 84 */ stw r0, 0x84(r1)
/* 802852DC DB E1 00 70 */ stfd f31, 0x70(r1)
/* 802852E0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */
/* 802852E4 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 802852E8 7C 7F 1B 78 */ mr r31, r3
/* 802852EC FF E0 08 90 */ fmr f31, f1
/* 802852F0 C0 24 00 00 */ lfs f1, 0(r4)
/* 802852F4 D0 23 00 98 */ stfs f1, 0x98(r3)
/* 802852F8 C0 44 00 04 */ lfs f2, 4(r4)
/* 802852FC D0 43 00 9C */ stfs f2, 0x9c(r3)
/* 80285300 C0 04 00 08 */ lfs f0, 8(r4)
/* 80285304 D0 03 00 A0 */ stfs f0, 0xa0(r3)
/* 80285308 D3 E3 00 A8 */ stfs f31, 0xa8(r3)
/* 8028530C 38 61 00 38 */ addi r3, r1, 0x38
/* 80285310 FC 20 08 50 */ fneg f1, f1
/* 80285314 FC 40 10 50 */ fneg f2, f2
/* 80285318 FC 60 00 50 */ fneg f3, f0
/* 8028531C 48 0C 15 CD */ bl PSMTXTrans
/* 80285320 38 61 00 08 */ addi r3, r1, 8
/* 80285324 38 80 00 79 */ li r4, 0x79
/* 80285328 C0 22 BA 5C */ lfs f1, lit_772(r2)
/* 8028532C FC 00 F8 50 */ fneg f0, f31
/* 80285330 EC 21 00 32 */ fmuls f1, f1, f0
/* 80285334 48 0C 13 75 */ bl PSMTXRotRad
/* 80285338 38 61 00 08 */ addi r3, r1, 8
/* 8028533C 38 81 00 38 */ addi r4, r1, 0x38
/* 80285340 38 BF 00 DC */ addi r5, r31, 0xdc
/* 80285344 48 0C 11 A1 */ bl PSMTXConcat
/* 80285348 38 60 00 01 */ li r3, 1
/* 8028534C E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */
/* 80285350 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80285354 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 80285358 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8028535C 7C 08 03 A6 */ mtlr r0
/* 80285360 38 21 00 80 */ addi r1, r1, 0x80
/* 80285364 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_80285250:
/* 80285250 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80285254 7C 08 02 A6 */ mflr r0
/* 80285258 90 01 00 44 */ stw r0, 0x44(r1)
/* 8028525C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80285260 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80285264 7C 7E 1B 78 */ mr r30, r3
/* 80285268 7C 9F 23 78 */ mr r31, r4
/* 8028526C C0 04 00 00 */ lfs f0, 0(r4)
/* 80285270 D0 03 00 8C */ stfs f0, 0x8c(r3)
/* 80285274 C0 04 00 04 */ lfs f0, 4(r4)
/* 80285278 D0 03 00 90 */ stfs f0, 0x90(r3)
/* 8028527C C0 04 00 08 */ lfs f0, 8(r4)
/* 80285280 D0 03 00 94 */ stfs f0, 0x94(r3)
/* 80285284 D0 23 00 A4 */ stfs f1, 0xa4(r3)
/* 80285288 38 61 00 08 */ addi r3, r1, 8
/* 8028528C 38 80 00 79 */ li r4, 0x79
/* 80285290 C0 02 BA 5C */ lfs f0, lit_772(r2)
/* 80285294 EC 20 00 72 */ fmuls f1, f0, f1
/* 80285298 48 0C 14 11 */ bl PSMTXRotRad
/* 8028529C 38 61 00 08 */ addi r3, r1, 8
/* 802852A0 38 9E 00 AC */ addi r4, r30, 0xac
/* 802852A4 C0 3F 00 00 */ lfs f1, 0(r31)
/* 802852A8 C0 5F 00 04 */ lfs f2, 4(r31)
/* 802852AC C0 7F 00 08 */ lfs f3, 8(r31)
/* 802852B0 48 0C 16 6D */ bl PSMTXTransApply
/* 802852B4 38 60 00 01 */ li r3, 1
/* 802852B8 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802852BC 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802852C0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802852C4 7C 08 03 A6 */ mtlr r0
/* 802852C8 38 21 00 40 */ addi r1, r1, 0x40
/* 802852CC 4E 80 00 20 */ blr
@@ -1,58 +0,0 @@
lbl_80285368:
/* 80285368 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8028536C 7C 08 02 A6 */ mflr r0
/* 80285370 90 01 00 34 */ stw r0, 0x34(r1)
/* 80285374 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80285378 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */
/* 8028537C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80285380 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80285384 7C 7E 1B 78 */ mr r30, r3
/* 80285388 7C 9F 23 78 */ mr r31, r4
/* 8028538C 7F E3 FB 78 */ mr r3, r31
/* 80285390 81 9F 00 08 */ lwz r12, 8(r31)
/* 80285394 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80285398 7D 89 03 A6 */ mtctr r12
/* 8028539C 4E 80 04 21 */ bctrl
/* 802853A0 2C 03 00 01 */ cmpwi r3, 1
/* 802853A4 41 82 00 08 */ beq lbl_802853AC
/* 802853A8 48 00 00 68 */ b lbl_80285410
lbl_802853AC:
/* 802853AC 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 802853B0 3C 60 80 3A */ lis r3, lit_838@ha /* 0x8039AA4C@ha */
/* 802853B4 38 83 AA 4C */ addi r4, r3, lit_838@l /* 0x8039AA4C@l */
/* 802853B8 80 64 00 00 */ lwz r3, 0(r4)
/* 802853BC 80 04 00 04 */ lwz r0, 4(r4)
/* 802853C0 90 61 00 08 */ stw r3, 8(r1)
/* 802853C4 90 01 00 0C */ stw r0, 0xc(r1)
/* 802853C8 80 04 00 08 */ lwz r0, 8(r4)
/* 802853CC 90 01 00 10 */ stw r0, 0x10(r1)
/* 802853D0 C0 05 00 00 */ lfs f0, 0(r5)
/* 802853D4 D0 01 00 08 */ stfs f0, 8(r1)
/* 802853D8 C0 05 00 04 */ lfs f0, 4(r5)
/* 802853DC D0 01 00 0C */ stfs f0, 0xc(r1)
/* 802853E0 C0 05 00 08 */ lfs f0, 8(r5)
/* 802853E4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802853E8 C3 E5 00 0C */ lfs f31, 0xc(r5)
/* 802853EC 7F C3 F3 78 */ mr r3, r30
/* 802853F0 38 81 00 08 */ addi r4, r1, 8
/* 802853F4 FC 20 F8 90 */ fmr f1, f31
/* 802853F8 4B FF FE 59 */ bl transformOnSet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf
/* 802853FC 7F C3 F3 78 */ mr r3, r30
/* 80285400 38 81 00 08 */ addi r4, r1, 8
/* 80285404 FC 20 F8 90 */ fmr f1, f31
/* 80285408 4B FF FE C9 */ bl transformOnGet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf
/* 8028540C 48 00 00 0C */ b lbl_80285418
lbl_80285410:
/* 80285410 38 60 00 00 */ li r3, 0
/* 80285414 48 00 00 08 */ b lbl_8028541C
lbl_80285418:
/* 80285418 38 60 00 01 */ li r3, 1
lbl_8028541C:
/* 8028541C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */
/* 80285420 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80285424 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80285428 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8028542C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80285430 7C 08 03 A6 */ mtlr r0
/* 80285434 38 21 00 30 */ addi r1, r1, 0x30
/* 80285438 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_8028543C:
/* 8028543C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80285440 7C 08 02 A6 */ mflr r0
/* 80285444 90 01 00 14 */ stw r0, 0x14(r1)
/* 80285448 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8028544C 7C 7F 1B 78 */ mr r31, r3
/* 80285450 38 7F 00 74 */ addi r3, r31, 0x74
/* 80285454 4B FF BD DD */ bl getObject_index__Q37JStudio3ctb8TControlFUl
/* 80285458 7C 64 1B 79 */ or. r4, r3, r3
/* 8028545C 40 82 00 0C */ bne lbl_80285468
/* 80285460 38 60 00 00 */ li r3, 0
/* 80285464 48 00 00 10 */ b lbl_80285474
lbl_80285468:
/* 80285468 7F E3 FB 78 */ mr r3, r31
/* 8028546C 4B FF FE FD */ bl transform_setOrigin_ctb__Q27JStudio8TControlFRCQ37JStudio3ctb7TObject
/* 80285470 38 60 00 01 */ li r3, 1
lbl_80285474:
/* 80285474 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80285478 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028547C 7C 08 03 A6 */ mtlr r0
/* 80285480 38 21 00 10 */ addi r1, r1, 0x10
/* 80285484 4E 80 00 20 */ blr
@@ -1,35 +0,0 @@
lbl_80285B44:
/* 80285B44 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80285B48 7C 08 02 A6 */ mflr r0
/* 80285B4C 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80285B50 39 61 00 B0 */ addi r11, r1, 0xb0
/* 80285B54 48 0D C6 89 */ bl _savegpr_29
/* 80285B58 7C 7D 1B 78 */ mr r29, r3
/* 80285B5C 7C BE 2B 78 */ mr r30, r5
/* 80285B60 7C DF 33 78 */ mr r31, r6
/* 80285B64 38 61 00 68 */ addi r3, r1, 0x68
/* 80285B68 C0 24 00 00 */ lfs f1, 0(r4)
/* 80285B6C C0 44 00 04 */ lfs f2, 4(r4)
/* 80285B70 C0 64 00 08 */ lfs f3, 8(r4)
/* 80285B74 48 0C 0D F5 */ bl PSMTXScale
/* 80285B78 38 61 00 08 */ addi r3, r1, 8
/* 80285B7C C0 3E 00 00 */ lfs f1, 0(r30)
/* 80285B80 C0 5E 00 04 */ lfs f2, 4(r30)
/* 80285B84 C0 7E 00 08 */ lfs f3, 8(r30)
/* 80285B88 4B FF FE 55 */ bl getRotation_xyz__Q27JStudio4mathFPA4_ffff
/* 80285B8C 38 61 00 08 */ addi r3, r1, 8
/* 80285B90 38 81 00 68 */ addi r4, r1, 0x68
/* 80285B94 38 A1 00 38 */ addi r5, r1, 0x38
/* 80285B98 48 0C 09 4D */ bl PSMTXConcat
/* 80285B9C 38 61 00 38 */ addi r3, r1, 0x38
/* 80285BA0 7F A4 EB 78 */ mr r4, r29
/* 80285BA4 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80285BA8 C0 5F 00 04 */ lfs f2, 4(r31)
/* 80285BAC C0 7F 00 08 */ lfs f3, 8(r31)
/* 80285BB0 48 0C 0D 6D */ bl PSMTXTransApply
/* 80285BB4 39 61 00 B0 */ addi r11, r1, 0xb0
/* 80285BB8 48 0D C6 71 */ bl _restgpr_29
/* 80285BBC 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80285BC0 7C 08 03 A6 */ mtlr r0
/* 80285BC4 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80285BC8 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_802875E0:
/* 802875E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802875E4 7C 08 02 A6 */ mflr r0
/* 802875E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802875EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802875F0 93 C1 00 08 */ stw r30, 8(r1)
/* 802875F4 7C 7E 1B 79 */ or. r30, r3, r3
/* 802875F8 7C 9F 23 78 */ mr r31, r4
/* 802875FC 41 82 00 28 */ beq lbl_80287624
/* 80287600 3C 80 80 3A */ lis r4, __vt__Q27JStudio16TAdaptor_message@ha /* 0x803A7BC0@ha */
/* 80287604 38 04 7B C0 */ addi r0, r4, __vt__Q27JStudio16TAdaptor_message@l /* 0x803A7BC0@l */
/* 80287608 90 1E 00 00 */ stw r0, 0(r30)
/* 8028760C 38 80 00 00 */ li r4, 0
/* 80287610 4B FF E9 C1 */ bl __dt__Q27JStudio8TAdaptorFv
/* 80287614 7F E0 07 35 */ extsh. r0, r31
/* 80287618 40 81 00 0C */ ble lbl_80287624
/* 8028761C 7F C3 F3 78 */ mr r3, r30
/* 80287620 48 04 77 1D */ bl __dl__FPv
lbl_80287624:
/* 80287624 7F C3 F3 78 */ mr r3, r30
/* 80287628 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8028762C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80287630 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80287634 7C 08 03 A6 */ mtlr r0
/* 80287638 38 21 00 10 */ addi r1, r1, 0x10
/* 8028763C 4E 80 00 20 */ blr
@@ -1,36 +0,0 @@
lbl_802866B0:
/* 802866B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802866B4 7C 08 02 A6 */ mflr r0
/* 802866B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802866BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802866C0 93 C1 00 08 */ stw r30, 8(r1)
/* 802866C4 7C 7E 1B 79 */ or. r30, r3, r3
/* 802866C8 7C 9F 23 78 */ mr r31, r4
/* 802866CC 41 82 00 4C */ beq lbl_80286718
/* 802866D0 3C 60 80 3C */ lis r3, __vt__Q27JStudio7TObject@ha /* 0x803C55F0@ha */
/* 802866D4 38 03 55 F0 */ addi r0, r3, __vt__Q27JStudio7TObject@l /* 0x803C55F0@l */
/* 802866D8 90 1E 00 08 */ stw r0, 8(r30)
/* 802866DC 80 7E 00 34 */ lwz r3, 0x34(r30)
/* 802866E0 28 03 00 00 */ cmplwi r3, 0
/* 802866E4 41 82 00 18 */ beq lbl_802866FC
/* 802866E8 38 80 00 01 */ li r4, 1
/* 802866EC 81 83 00 00 */ lwz r12, 0(r3)
/* 802866F0 81 8C 00 08 */ lwz r12, 8(r12)
/* 802866F4 7D 89 03 A6 */ mtctr r12
/* 802866F8 4E 80 04 21 */ bctrl
lbl_802866FC:
/* 802866FC 7F C3 F3 78 */ mr r3, r30
/* 80286700 38 80 00 00 */ li r4, 0
/* 80286704 48 00 24 2D */ bl __dt__Q37JStudio3stb7TObjectFv
/* 80286708 7F E0 07 35 */ extsh. r0, r31
/* 8028670C 40 81 00 0C */ ble lbl_80286718
/* 80286710 7F C3 F3 78 */ mr r3, r30
/* 80286714 48 04 86 29 */ bl __dl__FPv
lbl_80286718:
/* 80286718 7F C3 F3 78 */ mr r3, r30
/* 8028671C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80286720 83 C1 00 08 */ lwz r30, 8(r1)
/* 80286724 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286728 7C 08 03 A6 */ mtlr r0
/* 8028672C 38 21 00 10 */ addi r1, r1, 0x10
/* 80286730 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80285FD0:
/* 80285FD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80285FD4 7C 08 02 A6 */ mflr r0
/* 80285FD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80285FDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80285FE0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80285FE4 41 82 00 1C */ beq lbl_80286000
/* 80285FE8 3C A0 80 3C */ lis r5, __vt__Q27JStudio8TAdaptor@ha /* 0x803C5610@ha */
/* 80285FEC 38 05 56 10 */ addi r0, r5, __vt__Q27JStudio8TAdaptor@l /* 0x803C5610@l */
/* 80285FF0 90 1F 00 00 */ stw r0, 0(r31)
/* 80285FF4 7C 80 07 35 */ extsh. r0, r4
/* 80285FF8 40 81 00 08 */ ble lbl_80286000
/* 80285FFC 48 04 8D 41 */ bl __dl__FPv
lbl_80286000:
/* 80286000 7F E3 FB 78 */ mr r3, r31
/* 80286004 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80286008 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028600C 7C 08 03 A6 */ mtlr r0
/* 80286010 38 21 00 10 */ addi r1, r1, 0x10
/* 80286014 4E 80 00 20 */ blr
@@ -1,96 +0,0 @@
lbl_8028638C:
/* 8028638C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286390 80 C3 00 08 */ lwz r6, 8(r3)
/* 80286394 80 05 00 00 */ lwz r0, 0(r5)
/* 80286398 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8028639C 7C 26 04 2E */ lfsx f1, r6, r0
/* 802863A0 C0 02 BA A8 */ lfs f0, lit_1094(r2)
/* 802863A4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802863A8 4C 40 13 82 */ cror 2, 0, 2
/* 802863AC 40 82 00 0C */ bne lbl_802863B8
/* 802863B0 38 00 00 00 */ li r0, 0
/* 802863B4 48 00 00 28 */ b lbl_802863DC
lbl_802863B8:
/* 802863B8 C0 02 BA AC */ lfs f0, lit_1095(r2)
/* 802863BC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802863C0 4C 41 13 82 */ cror 2, 1, 2
/* 802863C4 40 82 00 0C */ bne lbl_802863D0
/* 802863C8 38 00 00 FF */ li r0, 0xff
/* 802863CC 48 00 00 10 */ b lbl_802863DC
lbl_802863D0:
/* 802863D0 FC 00 08 1E */ fctiwz f0, f1
/* 802863D4 D8 01 00 08 */ stfd f0, 8(r1)
/* 802863D8 80 01 00 0C */ lwz r0, 0xc(r1)
lbl_802863DC:
/* 802863DC 98 04 00 00 */ stb r0, 0(r4)
/* 802863E0 80 C3 00 08 */ lwz r6, 8(r3)
/* 802863E4 80 05 00 04 */ lwz r0, 4(r5)
/* 802863E8 1C 00 00 14 */ mulli r0, r0, 0x14
/* 802863EC 7C 26 04 2E */ lfsx f1, r6, r0
/* 802863F0 C0 02 BA A8 */ lfs f0, lit_1094(r2)
/* 802863F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802863F8 4C 40 13 82 */ cror 2, 0, 2
/* 802863FC 40 82 00 0C */ bne lbl_80286408
/* 80286400 38 00 00 00 */ li r0, 0
/* 80286404 48 00 00 28 */ b lbl_8028642C
lbl_80286408:
/* 80286408 C0 02 BA AC */ lfs f0, lit_1095(r2)
/* 8028640C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80286410 4C 41 13 82 */ cror 2, 1, 2
/* 80286414 40 82 00 0C */ bne lbl_80286420
/* 80286418 38 00 00 FF */ li r0, 0xff
/* 8028641C 48 00 00 10 */ b lbl_8028642C
lbl_80286420:
/* 80286420 FC 00 08 1E */ fctiwz f0, f1
/* 80286424 D8 01 00 08 */ stfd f0, 8(r1)
/* 80286428 80 01 00 0C */ lwz r0, 0xc(r1)
lbl_8028642C:
/* 8028642C 98 04 00 01 */ stb r0, 1(r4)
/* 80286430 80 C3 00 08 */ lwz r6, 8(r3)
/* 80286434 80 05 00 08 */ lwz r0, 8(r5)
/* 80286438 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8028643C 7C 26 04 2E */ lfsx f1, r6, r0
/* 80286440 C0 02 BA A8 */ lfs f0, lit_1094(r2)
/* 80286444 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80286448 4C 40 13 82 */ cror 2, 0, 2
/* 8028644C 40 82 00 0C */ bne lbl_80286458
/* 80286450 38 00 00 00 */ li r0, 0
/* 80286454 48 00 00 28 */ b lbl_8028647C
lbl_80286458:
/* 80286458 C0 02 BA AC */ lfs f0, lit_1095(r2)
/* 8028645C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80286460 4C 41 13 82 */ cror 2, 1, 2
/* 80286464 40 82 00 0C */ bne lbl_80286470
/* 80286468 38 00 00 FF */ li r0, 0xff
/* 8028646C 48 00 00 10 */ b lbl_8028647C
lbl_80286470:
/* 80286470 FC 00 08 1E */ fctiwz f0, f1
/* 80286474 D8 01 00 08 */ stfd f0, 8(r1)
/* 80286478 80 01 00 0C */ lwz r0, 0xc(r1)
lbl_8028647C:
/* 8028647C 98 04 00 02 */ stb r0, 2(r4)
/* 80286480 80 63 00 08 */ lwz r3, 8(r3)
/* 80286484 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80286488 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8028648C 7C 23 04 2E */ lfsx f1, r3, r0
/* 80286490 C0 02 BA A8 */ lfs f0, lit_1094(r2)
/* 80286494 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80286498 4C 40 13 82 */ cror 2, 0, 2
/* 8028649C 40 82 00 0C */ bne lbl_802864A8
/* 802864A0 38 00 00 00 */ li r0, 0
/* 802864A4 48 00 00 28 */ b lbl_802864CC
lbl_802864A8:
/* 802864A8 C0 02 BA AC */ lfs f0, lit_1095(r2)
/* 802864AC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802864B0 4C 41 13 82 */ cror 2, 1, 2
/* 802864B4 40 82 00 0C */ bne lbl_802864C0
/* 802864B8 38 00 00 FF */ li r0, 0xff
/* 802864BC 48 00 00 10 */ b lbl_802864CC
lbl_802864C0:
/* 802864C0 FC 00 08 1E */ fctiwz f0, f1
/* 802864C4 D8 01 00 08 */ stfd f0, 8(r1)
/* 802864C8 80 01 00 0C */ lwz r0, 0xc(r1)
lbl_802864CC:
/* 802864CC 98 04 00 03 */ stb r0, 3(r4)
/* 802864D0 38 21 00 10 */ addi r1, r1, 0x10
/* 802864D4 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80286274:
/* 80286274 80 63 00 08 */ lwz r3, 8(r3)
/* 80286278 80 05 00 00 */ lwz r0, 0(r5)
/* 8028627C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286280 7C 03 04 2E */ lfsx f0, r3, r0
/* 80286284 D0 04 00 00 */ stfs f0, 0(r4)
/* 80286288 80 05 00 04 */ lwz r0, 4(r5)
/* 8028628C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286290 7C 03 04 2E */ lfsx f0, r3, r0
/* 80286294 D0 04 00 04 */ stfs f0, 4(r4)
/* 80286298 80 05 00 08 */ lwz r0, 8(r5)
/* 8028629C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 802862A0 7C 03 04 2E */ lfsx f0, r3, r0
/* 802862A4 D0 04 00 08 */ stfs f0, 8(r4)
/* 802862A8 4E 80 00 20 */ blr
@@ -1,57 +0,0 @@
lbl_802862AC:
/* 802862AC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802862B0 88 05 00 00 */ lbz r0, 0(r5)
/* 802862B4 C8 22 BA A0 */ lfd f1, lit_803(r2)
/* 802862B8 90 01 00 0C */ stw r0, 0xc(r1)
/* 802862BC 3D 20 43 30 */ lis r9, 0x4330
/* 802862C0 91 21 00 08 */ stw r9, 8(r1)
/* 802862C4 C8 01 00 08 */ lfd f0, 8(r1)
/* 802862C8 EC 00 08 28 */ fsubs f0, f0, f1
/* 802862CC 80 C3 00 08 */ lwz r6, 8(r3)
/* 802862D0 80 04 00 00 */ lwz r0, 0(r4)
/* 802862D4 1C 00 00 14 */ mulli r0, r0, 0x14
/* 802862D8 7D 46 02 14 */ add r10, r6, r0
/* 802862DC 3C C0 80 28 */ lis r6, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285EB8@ha */
/* 802862E0 39 06 5E B8 */ addi r8, r6, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285EB8@l */
/* 802862E4 91 0A 00 08 */ stw r8, 8(r10)
/* 802862E8 38 E0 00 00 */ li r7, 0
/* 802862EC 90 EA 00 04 */ stw r7, 4(r10)
/* 802862F0 D0 0A 00 0C */ stfs f0, 0xc(r10)
/* 802862F4 88 05 00 01 */ lbz r0, 1(r5)
/* 802862F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802862FC 91 21 00 10 */ stw r9, 0x10(r1)
/* 80286300 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80286304 EC 00 08 28 */ fsubs f0, f0, f1
/* 80286308 80 C3 00 08 */ lwz r6, 8(r3)
/* 8028630C 80 04 00 04 */ lwz r0, 4(r4)
/* 80286310 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286314 7C C6 02 14 */ add r6, r6, r0
/* 80286318 91 06 00 08 */ stw r8, 8(r6)
/* 8028631C 90 E6 00 04 */ stw r7, 4(r6)
/* 80286320 D0 06 00 0C */ stfs f0, 0xc(r6)
/* 80286324 88 05 00 02 */ lbz r0, 2(r5)
/* 80286328 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8028632C 91 21 00 18 */ stw r9, 0x18(r1)
/* 80286330 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80286334 EC 00 08 28 */ fsubs f0, f0, f1
/* 80286338 80 C3 00 08 */ lwz r6, 8(r3)
/* 8028633C 80 04 00 08 */ lwz r0, 8(r4)
/* 80286340 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286344 7C C6 02 14 */ add r6, r6, r0
/* 80286348 91 06 00 08 */ stw r8, 8(r6)
/* 8028634C 90 E6 00 04 */ stw r7, 4(r6)
/* 80286350 D0 06 00 0C */ stfs f0, 0xc(r6)
/* 80286354 88 05 00 03 */ lbz r0, 3(r5)
/* 80286358 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028635C 91 21 00 20 */ stw r9, 0x20(r1)
/* 80286360 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80286364 EC 00 08 28 */ fsubs f0, f0, f1
/* 80286368 80 63 00 08 */ lwz r3, 8(r3)
/* 8028636C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80286370 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286374 7C 63 02 14 */ add r3, r3, r0
/* 80286378 91 03 00 08 */ stw r8, 8(r3)
/* 8028637C 90 E3 00 04 */ stw r7, 4(r3)
/* 80286380 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80286384 38 21 00 30 */ addi r1, r1, 0x30
/* 80286388 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_80286204:
/* 80286204 C0 05 00 00 */ lfs f0, 0(r5)
/* 80286208 80 C3 00 08 */ lwz r6, 8(r3)
/* 8028620C 80 04 00 00 */ lwz r0, 0(r4)
/* 80286210 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286214 7D 26 02 14 */ add r9, r6, r0
/* 80286218 3C C0 80 28 */ lis r6, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285EB8@ha */
/* 8028621C 39 06 5E B8 */ addi r8, r6, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285EB8@l */
/* 80286220 91 09 00 08 */ stw r8, 8(r9)
/* 80286224 38 E0 00 00 */ li r7, 0
/* 80286228 90 E9 00 04 */ stw r7, 4(r9)
/* 8028622C D0 09 00 0C */ stfs f0, 0xc(r9)
/* 80286230 C0 05 00 04 */ lfs f0, 4(r5)
/* 80286234 80 C3 00 08 */ lwz r6, 8(r3)
/* 80286238 80 04 00 04 */ lwz r0, 4(r4)
/* 8028623C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286240 7C C6 02 14 */ add r6, r6, r0
/* 80286244 91 06 00 08 */ stw r8, 8(r6)
/* 80286248 90 E6 00 04 */ stw r7, 4(r6)
/* 8028624C D0 06 00 0C */ stfs f0, 0xc(r6)
/* 80286250 C0 05 00 08 */ lfs f0, 8(r5)
/* 80286254 80 63 00 08 */ lwz r3, 8(r3)
/* 80286258 80 04 00 08 */ lwz r0, 8(r4)
/* 8028625C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286260 7C 63 02 14 */ add r3, r3, r0
/* 80286264 91 03 00 08 */ stw r8, 8(r3)
/* 80286268 90 E3 00 04 */ stw r7, 4(r3)
/* 8028626C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80286270 4E 80 00 20 */ blr
@@ -1,42 +0,0 @@
lbl_802864D8:
/* 802864D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802864DC 7C 08 02 A6 */ mflr r0
/* 802864E0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802864E4 DB E1 00 28 */ stfd f31, 0x28(r1)
/* 802864E8 39 61 00 28 */ addi r11, r1, 0x28
/* 802864EC 48 0D BC E9 */ bl _savegpr_27
/* 802864F0 7C 7B 1B 78 */ mr r27, r3
/* 802864F4 7C BC 2B 78 */ mr r28, r5
/* 802864F8 CB E4 00 58 */ lfd f31, 0x58(r4)
/* 802864FC 83 A3 00 08 */ lwz r29, 8(r3)
/* 80286500 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80286504 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80286508 7F DD 02 14 */ add r30, r29, r0
/* 8028650C 3B E0 FF FF */ li r31, -1
/* 80286510 48 00 00 38 */ b lbl_80286548
lbl_80286514:
/* 80286514 7F A3 EB 78 */ mr r3, r29
/* 80286518 80 9D 00 04 */ lwz r4, 4(r29)
/* 8028651C 20 04 FF FF */ subfic r0, r4, -1
/* 80286520 7C 00 E0 40 */ cmplw r0, r28
/* 80286524 3B BD 00 14 */ addi r29, r29, 0x14
/* 80286528 41 81 00 0C */ bgt lbl_80286534
/* 8028652C 93 E3 00 04 */ stw r31, 4(r3)
/* 80286530 48 00 00 0C */ b lbl_8028653C
lbl_80286534:
/* 80286534 7C 04 E2 14 */ add r0, r4, r28
/* 80286538 90 03 00 04 */ stw r0, 4(r3)
lbl_8028653C:
/* 8028653C FC 20 F8 90 */ fmr f1, f31
/* 80286540 7F 64 DB 78 */ mr r4, r27
/* 80286544 4B FF F9 11 */ bl update__Q27JStudio14TVariableValueFdPQ27JStudio8TAdaptor
lbl_80286548:
/* 80286548 7C 1D F0 40 */ cmplw r29, r30
/* 8028654C 40 82 FF C8 */ bne lbl_80286514
/* 80286550 CB E1 00 28 */ lfd f31, 0x28(r1)
/* 80286554 39 61 00 28 */ addi r11, r1, 0x28
/* 80286558 48 0D BC C9 */ bl _restgpr_27
/* 8028655C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80286560 7C 08 03 A6 */ mtlr r0
/* 80286564 38 21 00 30 */ addi r1, r1, 0x30
/* 80286568 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_8028682C:
/* 8028682C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286830 7C 08 02 A6 */ mflr r0
/* 80286834 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286838 80 63 00 34 */ lwz r3, 0x34(r3)
/* 8028683C 28 03 00 00 */ cmplwi r3, 0
/* 80286840 41 82 00 14 */ beq lbl_80286854
/* 80286844 81 83 00 00 */ lwz r12, 0(r3)
/* 80286848 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8028684C 7D 89 03 A6 */ mtctr r12
/* 80286850 4E 80 04 21 */ bctrl
lbl_80286854:
/* 80286854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286858 7C 08 03 A6 */ mtlr r0
/* 8028685C 38 21 00 10 */ addi r1, r1, 0x10
/* 80286860 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_802867D4:
/* 802867D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802867D8 7C 08 02 A6 */ mflr r0
/* 802867DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802867E0 80 63 00 34 */ lwz r3, 0x34(r3)
/* 802867E4 28 03 00 00 */ cmplwi r3, 0
/* 802867E8 41 82 00 14 */ beq lbl_802867FC
/* 802867EC 81 83 00 00 */ lwz r12, 0(r3)
/* 802867F0 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802867F4 7D 89 03 A6 */ mtctr r12
/* 802867F8 4E 80 04 21 */ bctrl
lbl_802867FC:
/* 802867FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286800 7C 08 03 A6 */ mtlr r0
/* 80286804 38 21 00 10 */ addi r1, r1, 0x10
/* 80286808 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8028680C:
/* 8028680C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286810 7C 08 02 A6 */ mflr r0
/* 80286814 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286818 4B FF FF 1D */ bl forward_value__Q27JStudio7TObjectFUl
/* 8028681C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286820 7C 08 03 A6 */ mtlr r0
/* 80286824 38 21 00 10 */ addi r1, r1, 0x10
/* 80286828 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_80286734:
/* 80286734 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286738 7C 08 02 A6 */ mflr r0
/* 8028673C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286740 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80286744 93 C1 00 08 */ stw r30, 8(r1)
/* 80286748 7C 65 1B 78 */ mr r5, r3
/* 8028674C 7C 9E 23 78 */ mr r30, r4
/* 80286750 83 E3 00 34 */ lwz r31, 0x34(r3)
/* 80286754 28 1F 00 00 */ cmplwi r31, 0
/* 80286758 41 82 00 2C */ beq lbl_80286784
/* 8028675C 7F E3 FB 78 */ mr r3, r31
/* 80286760 80 85 00 14 */ lwz r4, 0x14(r5)
/* 80286764 7F C5 F3 78 */ mr r5, r30
/* 80286768 4B FF FD 71 */ bl adaptor_updateVariableValue__Q27JStudio8TAdaptorFPQ27JStudio8TControlUl
/* 8028676C 7F E3 FB 78 */ mr r3, r31
/* 80286770 7F C4 F3 78 */ mr r4, r30
/* 80286774 81 9F 00 00 */ lwz r12, 0(r31)
/* 80286778 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8028677C 7D 89 03 A6 */ mtctr r12
/* 80286780 4E 80 04 21 */ bctrl
lbl_80286784:
/* 80286784 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80286788 83 C1 00 08 */ lwz r30, 8(r1)
/* 8028678C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286790 7C 08 03 A6 */ mtlr r0
/* 80286794 38 21 00 10 */ addi r1, r1, 0x10
/* 80286798 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_80285F08:
/* 80285F08 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80285F0C 7C 08 02 A6 */ mflr r0
/* 80285F10 90 01 00 24 */ stw r0, 0x24(r1)
/* 80285F14 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80285F18 7C 7F 1B 78 */ mr r31, r3
/* 80285F1C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80285F20 80 1F 00 04 */ lwz r0, 4(r31)
/* 80285F24 C8 42 BA A0 */ lfd f2, lit_803(r2)
/* 80285F28 90 01 00 0C */ stw r0, 0xc(r1)
/* 80285F2C 3C 00 43 30 */ lis r0, 0x4330
/* 80285F30 90 01 00 08 */ stw r0, 8(r1)
/* 80285F34 C8 01 00 08 */ lfd f0, 8(r1)
/* 80285F38 FC 00 10 28 */ fsub f0, f0, f2
/* 80285F3C FC 20 00 72 */ fmul f1, f0, f1
/* 80285F40 81 83 00 00 */ lwz r12, 0(r3)
/* 80285F44 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80285F48 7D 89 03 A6 */ mtctr r12
/* 80285F4C 4E 80 04 21 */ bctrl
/* 80285F50 FC 00 08 18 */ frsp f0, f1
/* 80285F54 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80285F58 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80285F5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80285F60 7C 08 03 A6 */ mtlr r0
/* 80285F64 38 21 00 20 */ addi r1, r1, 0x20
/* 80285F68 4E 80 00 20 */ blr
@@ -1,71 +0,0 @@
lbl_802860CC:
/* 802860CC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802860D0 7C 08 02 A6 */ mflr r0
/* 802860D4 90 01 00 34 */ stw r0, 0x34(r1)
/* 802860D8 39 61 00 30 */ addi r11, r1, 0x30
/* 802860DC 48 0D C0 F1 */ bl _savegpr_25
/* 802860E0 7C 79 1B 78 */ mr r25, r3
/* 802860E4 7C 9A 23 78 */ mr r26, r4
/* 802860E8 7D 1B 43 78 */ mr r27, r8
/* 802860EC 2C 07 00 03 */ cmpwi r7, 3
/* 802860F0 41 82 00 4C */ beq lbl_8028613C
/* 802860F4 40 80 00 14 */ bge lbl_80286108
/* 802860F8 2C 07 00 01 */ cmpwi r7, 1
/* 802860FC 41 82 00 18 */ beq lbl_80286114
/* 80286100 40 80 00 28 */ bge lbl_80286128
/* 80286104 48 00 00 A4 */ b lbl_802861A8
lbl_80286108:
/* 80286108 2C 07 00 12 */ cmpwi r7, 0x12
/* 8028610C 41 82 00 44 */ beq lbl_80286150
/* 80286110 48 00 00 98 */ b lbl_802861A8
lbl_80286114:
/* 80286114 3B 80 00 00 */ li r28, 0
/* 80286118 3C 60 80 28 */ lis r3, adaptor_setVariableValue_VOID___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@ha /* 0x8028656C@ha */
/* 8028611C 38 03 65 6C */ addi r0, r3, adaptor_setVariableValue_VOID___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@l /* 0x8028656C@l */
/* 80286120 7C 1D 03 78 */ mr r29, r0
/* 80286124 48 00 00 44 */ b lbl_80286168
lbl_80286128:
/* 80286128 3B 80 00 04 */ li r28, 4
/* 8028612C 3C 60 80 28 */ lis r3, adaptor_setVariableValue_IMMEDIATE___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@ha /* 0x80286584@ha */
/* 80286130 38 03 65 84 */ addi r0, r3, adaptor_setVariableValue_IMMEDIATE___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@l /* 0x80286584@l */
/* 80286134 7C 1D 03 78 */ mr r29, r0
/* 80286138 48 00 00 30 */ b lbl_80286168
lbl_8028613C:
/* 8028613C 3B 80 00 04 */ li r28, 4
/* 80286140 3C 60 80 28 */ lis r3, adaptor_setVariableValue_TIME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@ha /* 0x802865B0@ha */
/* 80286144 38 03 65 B0 */ addi r0, r3, adaptor_setVariableValue_TIME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@l /* 0x802865B0@l */
/* 80286148 7C 1D 03 78 */ mr r29, r0
/* 8028614C 48 00 00 1C */ b lbl_80286168
lbl_80286150:
/* 80286150 3B 80 00 04 */ li r28, 4
/* 80286154 3C 60 80 28 */ lis r3, adaptor_setVariableValue_FVR_INDEX___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@ha /* 0x80286648@ha */
/* 80286158 38 03 66 48 */ addi r0, r3, adaptor_setVariableValue_FVR_INDEX___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl@l /* 0x80286648@l */
/* 8028615C 7C 1D 03 78 */ mr r29, r0
/* 80286160 48 00 00 08 */ b lbl_80286168
/* 80286164 48 00 00 44 */ b lbl_802861A8
lbl_80286168:
/* 80286168 7C BF 2B 78 */ mr r31, r5
/* 8028616C 54 C0 10 3A */ slwi r0, r6, 2
/* 80286170 7F C5 02 14 */ add r30, r5, r0
/* 80286174 48 00 00 2C */ b lbl_802861A0
lbl_80286178:
/* 80286178 7F 23 CB 78 */ mr r3, r25
/* 8028617C 7F 44 D3 78 */ mr r4, r26
/* 80286180 80 BF 00 00 */ lwz r5, 0(r31)
/* 80286184 7F 66 DB 78 */ mr r6, r27
/* 80286188 7F 87 E3 78 */ mr r7, r28
/* 8028618C 7F AC EB 78 */ mr r12, r29
/* 80286190 7D 89 03 A6 */ mtctr r12
/* 80286194 3B FF 00 04 */ addi r31, r31, 4
/* 80286198 4E 80 04 21 */ bctrl
/* 8028619C 7F 7B E2 14 */ add r27, r27, r28
lbl_802861A0:
/* 802861A0 7C 1F F0 40 */ cmplw r31, r30
/* 802861A4 40 82 FF D4 */ bne lbl_80286178
lbl_802861A8:
/* 802861A8 39 61 00 30 */ addi r11, r1, 0x30
/* 802861AC 48 0D C0 6D */ bl _restgpr_25
/* 802861B0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802861B4 7C 08 03 A6 */ mtlr r0
/* 802861B8 38 21 00 30 */ addi r1, r1, 0x30
/* 802861BC 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_802861C0:
/* 802861C0 3C A0 80 28 */ lis r5, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285EB8@ha */
/* 802861C4 38 C5 5E B8 */ addi r6, r5, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285EB8@l */
/* 802861C8 38 A0 00 00 */ li r5, 0
/* 802861CC 48 00 00 24 */ b lbl_802861F0
lbl_802861D0:
/* 802861D0 C0 04 00 04 */ lfs f0, 4(r4)
/* 802861D4 80 E3 00 08 */ lwz r7, 8(r3)
/* 802861D8 1C 08 00 14 */ mulli r0, r8, 0x14
/* 802861DC 7C E7 02 14 */ add r7, r7, r0
/* 802861E0 90 C7 00 08 */ stw r6, 8(r7)
/* 802861E4 90 A7 00 04 */ stw r5, 4(r7)
/* 802861E8 D0 07 00 0C */ stfs f0, 0xc(r7)
/* 802861EC 38 84 00 08 */ addi r4, r4, 8
lbl_802861F0:
/* 802861F0 81 04 00 00 */ lwz r8, 0(r4)
/* 802861F4 3C 08 00 01 */ addis r0, r8, 1
/* 802861F8 28 00 FF FF */ cmplwi r0, 0xffff
/* 802861FC 40 82 FF D4 */ bne lbl_802861D0
/* 80286200 4E 80 00 20 */ blr
@@ -1,7 +0,0 @@
lbl_8028656C:
/* 8028656C 38 C0 00 00 */ li r6, 0
/* 80286570 80 83 00 08 */ lwz r4, 8(r3)
/* 80286574 1C 65 00 14 */ mulli r3, r5, 0x14
/* 80286578 38 03 00 08 */ addi r0, r3, 8
/* 8028657C 7C C4 01 2E */ stwx r6, r4, r0
/* 80286580 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_80286584:
/* 80286584 80 63 00 08 */ lwz r3, 8(r3)
/* 80286588 1C 05 00 14 */ mulli r0, r5, 0x14
/* 8028658C 7C 83 02 14 */ add r4, r3, r0
/* 80286590 C0 06 00 00 */ lfs f0, 0(r6)
/* 80286594 3C 60 80 28 */ lis r3, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285EB8@ha */
/* 80286598 38 03 5E B8 */ addi r0, r3, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285EB8@l */
/* 8028659C 90 04 00 08 */ stw r0, 8(r4)
/* 802865A0 38 00 00 00 */ li r0, 0
/* 802865A4 90 04 00 04 */ stw r0, 4(r4)
/* 802865A8 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 802865AC 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_802865B0:
/* 802865B0 80 63 00 08 */ lwz r3, 8(r3)
/* 802865B4 1C 05 00 14 */ mulli r0, r5, 0x14
/* 802865B8 7C 83 02 14 */ add r4, r3, r0
/* 802865BC C0 06 00 00 */ lfs f0, 0(r6)
/* 802865C0 3C 60 80 28 */ lis r3, update_time___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285ECC@ha */
/* 802865C4 38 03 5E CC */ addi r0, r3, update_time___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285ECC@l */
/* 802865C8 90 04 00 08 */ stw r0, 8(r4)
/* 802865CC 38 00 00 00 */ li r0, 0
/* 802865D0 90 04 00 04 */ stw r0, 4(r4)
/* 802865D4 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 802865D8 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_802865DC:
/* 802865DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802865E0 7C 08 02 A6 */ mflr r0
/* 802865E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802865E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802865EC 80 63 00 08 */ lwz r3, 8(r3)
/* 802865F0 1C 05 00 14 */ mulli r0, r5, 0x14
/* 802865F4 7F E3 02 14 */ add r31, r3, r0
/* 802865F8 38 64 00 60 */ addi r3, r4, 0x60
/* 802865FC 7C C4 33 78 */ mr r4, r6
/* 80286600 7C E5 3B 78 */ mr r5, r7
/* 80286604 4B FF E2 31 */ bl getObject__Q37JStudio3fvb8TControlFPCvUl
/* 80286608 28 03 00 00 */ cmplwi r3, 0
/* 8028660C 40 82 00 0C */ bne lbl_80286618
/* 80286610 38 80 00 00 */ li r4, 0
/* 80286614 48 00 00 08 */ b lbl_8028661C
lbl_80286618:
/* 80286618 80 83 00 14 */ lwz r4, 0x14(r3)
lbl_8028661C:
/* 8028661C 3C 60 80 28 */ lis r3, update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285F08@ha */
/* 80286620 38 03 5F 08 */ addi r0, r3, update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285F08@l */
/* 80286624 90 1F 00 08 */ stw r0, 8(r31)
/* 80286628 38 00 00 00 */ li r0, 0
/* 8028662C 90 1F 00 04 */ stw r0, 4(r31)
/* 80286630 90 9F 00 0C */ stw r4, 0xc(r31)
/* 80286634 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80286638 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028663C 7C 08 03 A6 */ mtlr r0
/* 80286640 38 21 00 10 */ addi r1, r1, 0x10
/* 80286644 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_80286648:
/* 80286648 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8028664C 7C 08 02 A6 */ mflr r0
/* 80286650 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286654 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80286658 80 63 00 08 */ lwz r3, 8(r3)
/* 8028665C 1C 05 00 14 */ mulli r0, r5, 0x14
/* 80286660 7F E3 02 14 */ add r31, r3, r0
/* 80286664 38 64 00 60 */ addi r3, r4, 0x60
/* 80286668 80 86 00 00 */ lwz r4, 0(r6)
/* 8028666C 4B FF E2 69 */ bl getObject_index__Q37JStudio3fvb8TControlFUl
/* 80286670 28 03 00 00 */ cmplwi r3, 0
/* 80286674 40 82 00 0C */ bne lbl_80286680
/* 80286678 38 80 00 00 */ li r4, 0
/* 8028667C 48 00 00 08 */ b lbl_80286684
lbl_80286680:
/* 80286680 80 83 00 14 */ lwz r4, 0x14(r3)
lbl_80286684:
/* 80286684 3C 60 80 28 */ lis r3, update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha /* 0x80285F08@ha */
/* 80286688 38 03 5F 08 */ addi r0, r3, update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l /* 0x80285F08@l */
/* 8028668C 90 1F 00 08 */ stw r0, 8(r31)
/* 80286690 38 00 00 00 */ li r0, 0
/* 80286694 90 1F 00 04 */ stw r0, 4(r31)
/* 80286698 90 9F 00 0C */ stw r4, 0xc(r31)
/* 8028669C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802866A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802866A4 7C 08 03 A6 */ mtlr r0
/* 802866A8 38 21 00 10 */ addi r1, r1, 0x10
/* 802866AC 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80286864:
/* 80286864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286868 7C 08 02 A6 */ mflr r0
/* 8028686C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286870 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80286874 93 C1 00 08 */ stw r30, 8(r1)
/* 80286878 7C 7E 1B 78 */ mr r30, r3
/* 8028687C 7C BF 2B 78 */ mr r31, r5
/* 80286880 48 00 22 41 */ bl __ct__Q37JStudio3stb7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_object
/* 80286884 3C 60 80 3C */ lis r3, __vt__Q27JStudio7TObject@ha /* 0x803C55F0@ha */
/* 80286888 38 03 55 F0 */ addi r0, r3, __vt__Q27JStudio7TObject@l /* 0x803C55F0@l */
/* 8028688C 90 1E 00 08 */ stw r0, 8(r30)
/* 80286890 93 FE 00 34 */ stw r31, 0x34(r30)
/* 80286894 7F C3 F3 78 */ mr r3, r30
/* 80286898 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8028689C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802868A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802868A4 7C 08 03 A6 */ mtlr r0
/* 802868A8 38 21 00 10 */ addi r1, r1, 0x10
/* 802868AC 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80286910:
/* 80286910 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286914 7C 08 02 A6 */ mflr r0
/* 80286918 90 01 00 14 */ stw r0, 0x14(r1)
/* 8028691C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80286920 7C 7F 1B 78 */ mr r31, r3
/* 80286924 4B FF FF 41 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80286928 3C 60 80 3C */ lis r3, __vt__Q27JStudio13TObject_actor@ha /* 0x803C5580@ha */
/* 8028692C 38 03 55 80 */ addi r0, r3, __vt__Q27JStudio13TObject_actor@l /* 0x803C5580@l */
/* 80286930 90 1F 00 08 */ stw r0, 8(r31)
/* 80286934 7F E3 FB 78 */ mr r3, r31
/* 80286938 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8028693C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286940 7C 08 03 A6 */ mtlr r0
/* 80286944 38 21 00 10 */ addi r1, r1, 0x10
/* 80286948 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80286CFC:
/* 80286CFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286D00 7C 08 02 A6 */ mflr r0
/* 80286D04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286D08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80286D0C 7C 7F 1B 78 */ mr r31, r3
/* 80286D10 4B FF FB 55 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80286D14 3C 60 80 3C */ lis r3, __vt__Q27JStudio20TObject_ambientLight@ha /* 0x803C5540@ha */
/* 80286D18 38 03 55 40 */ addi r0, r3, __vt__Q27JStudio20TObject_ambientLight@l /* 0x803C5540@l */
/* 80286D1C 90 1F 00 08 */ stw r0, 8(r31)
/* 80286D20 7F E3 FB 78 */ mr r3, r31
/* 80286D24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80286D28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286D2C 7C 08 03 A6 */ mtlr r0
/* 80286D30 38 21 00 10 */ addi r1, r1, 0x10
/* 80286D34 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80286E7C:
/* 80286E7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80286E80 7C 08 02 A6 */ mflr r0
/* 80286E84 90 01 00 14 */ stw r0, 0x14(r1)
/* 80286E88 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80286E8C 7C 7F 1B 78 */ mr r31, r3
/* 80286E90 4B FF F9 D5 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80286E94 3C 60 80 3C */ lis r3, __vt__Q27JStudio14TObject_camera@ha /* 0x803C54E4@ha */
/* 80286E98 38 03 54 E4 */ addi r0, r3, __vt__Q27JStudio14TObject_camera@l /* 0x803C54E4@l */
/* 80286E9C 90 1F 00 08 */ stw r0, 8(r31)
/* 80286EA0 7F E3 FB 78 */ mr r3, r31
/* 80286EA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80286EA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80286EAC 7C 08 03 A6 */ mtlr r0
/* 80286EB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80286EB4 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_802871DC:
/* 802871DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802871E0 7C 08 02 A6 */ mflr r0
/* 802871E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802871E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802871EC 7C 7F 1B 78 */ mr r31, r3
/* 802871F0 4B FF F6 75 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 802871F4 3C 60 80 3C */ lis r3, __vt__Q27JStudio11TObject_fog@ha /* 0x803C54A4@ha */
/* 802871F8 38 03 54 A4 */ addi r0, r3, __vt__Q27JStudio11TObject_fog@l /* 0x803C54A4@l */
/* 802871FC 90 1F 00 08 */ stw r0, 8(r31)
/* 80287200 7F E3 FB 78 */ mr r3, r31
/* 80287204 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80287208 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028720C 7C 08 03 A6 */ mtlr r0
/* 80287210 38 21 00 10 */ addi r1, r1, 0x10
/* 80287214 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80287368:
/* 80287368 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8028736C 7C 08 02 A6 */ mflr r0
/* 80287370 90 01 00 14 */ stw r0, 0x14(r1)
/* 80287374 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80287378 7C 7F 1B 78 */ mr r31, r3
/* 8028737C 4B FF F4 E9 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80287380 3C 60 80 3C */ lis r3, __vt__Q27JStudio13TObject_light@ha /* 0x803C545C@ha */
/* 80287384 38 03 54 5C */ addi r0, r3, __vt__Q27JStudio13TObject_light@l /* 0x803C545C@l */
/* 80287388 90 1F 00 08 */ stw r0, 8(r31)
/* 8028738C 7F E3 FB 78 */ mr r3, r31
/* 80287390 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80287394 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80287398 7C 08 03 A6 */ mtlr r0
/* 8028739C 38 21 00 10 */ addi r1, r1, 0x10
/* 802873A0 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80287640:
/* 80287640 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80287644 7C 08 02 A6 */ mflr r0
/* 80287648 90 01 00 14 */ stw r0, 0x14(r1)
/* 8028764C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80287650 7C 7F 1B 78 */ mr r31, r3
/* 80287654 4B FF F2 11 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80287658 3C 60 80 3C */ lis r3, __vt__Q27JStudio15TObject_message@ha /* 0x803C5418@ha */
/* 8028765C 38 03 54 18 */ addi r0, r3, __vt__Q27JStudio15TObject_message@l /* 0x803C5418@l */
/* 80287660 90 1F 00 08 */ stw r0, 8(r31)
/* 80287664 7F E3 FB 78 */ mr r3, r31
/* 80287668 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8028766C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80287670 7C 08 03 A6 */ mtlr r0
/* 80287674 38 21 00 10 */ addi r1, r1, 0x10
/* 80287678 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_8028776C:
/* 8028776C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80287770 7C 08 02 A6 */ mflr r0
/* 80287774 90 01 00 14 */ stw r0, 0x14(r1)
/* 80287778 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8028777C 7C 7F 1B 78 */ mr r31, r3
/* 80287780 4B FF F0 E5 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80287784 3C 60 80 3C */ lis r3, __vt__Q27JStudio16TObject_particle@ha /* 0x803C53AC@ha */
/* 80287788 38 03 53 AC */ addi r0, r3, __vt__Q27JStudio16TObject_particle@l /* 0x803C53AC@l */
/* 8028778C 90 1F 00 08 */ stw r0, 8(r31)
/* 80287790 7F E3 FB 78 */ mr r3, r31
/* 80287794 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80287798 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028779C 7C 08 03 A6 */ mtlr r0
/* 802877A0 38 21 00 10 */ addi r1, r1, 0x10
/* 802877A4 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80287B9C:
/* 80287B9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80287BA0 7C 08 02 A6 */ mflr r0
/* 80287BA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80287BA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80287BAC 7C 7F 1B 78 */ mr r31, r3
/* 80287BB0 4B FF EC B5 */ bl __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor
/* 80287BB4 3C 60 80 3C */ lis r3, __vt__Q27JStudio13TObject_sound@ha /* 0x803C533C@ha */
/* 80287BB8 38 03 53 3C */ addi r0, r3, __vt__Q27JStudio13TObject_sound@l /* 0x803C533C@l */
/* 80287BBC 90 1F 00 08 */ stw r0, 8(r31)
/* 80287BC0 7F E3 FB 78 */ mr r3, r31
/* 80287BC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80287BC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80287BCC 7C 08 03 A6 */ mtlr r0
/* 80287BD0 38 21 00 10 */ addi r1, r1, 0x10
/* 80287BD4 4E 80 00 20 */ blr
@@ -1,27 +0,0 @@
lbl_80285E54:
/* 80285E54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80285E58 7C 08 02 A6 */ mflr r0
/* 80285E5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80285E60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80285E64 93 C1 00 08 */ stw r30, 8(r1)
/* 80285E68 7C 7E 1B 78 */ mr r30, r3
/* 80285E6C 7C 9F 23 78 */ mr r31, r4
/* 80285E70 81 83 00 08 */ lwz r12, 8(r3)
/* 80285E74 28 0C 00 00 */ cmplwi r12, 0
/* 80285E78 41 82 00 28 */ beq lbl_80285EA0
/* 80285E7C 7D 89 03 A6 */ mtctr r12
/* 80285E80 4E 80 04 21 */ bctrl
/* 80285E84 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80285E88 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80285E8C 7F E4 FB 78 */ mr r4, r31
/* 80285E90 81 83 00 00 */ lwz r12, 0(r3)
/* 80285E94 81 8C 00 08 */ lwz r12, 8(r12)
/* 80285E98 7D 89 03 A6 */ mtctr r12
/* 80285E9C 4E 80 04 21 */ bctrl
lbl_80285EA0:
/* 80285EA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80285EA4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80285EA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80285EAC 7C 08 03 A6 */ mtlr r0
/* 80285EB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80285EB4 4E 80 00 20 */ blr
@@ -1,6 +0,0 @@
lbl_80285EB8:
/* 80285EB8 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80285EBC D0 03 00 00 */ stfs f0, 0(r3)
/* 80285EC0 38 00 00 00 */ li r0, 0
/* 80285EC4 90 03 00 08 */ stw r0, 8(r3)
/* 80285EC8 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80285ECC:
/* 80285ECC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80285ED0 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 80285ED4 80 03 00 04 */ lwz r0, 4(r3)
/* 80285ED8 C8 42 BA A0 */ lfd f2, lit_803(r2)
/* 80285EDC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80285EE0 3C 00 43 30 */ lis r0, 0x4330
/* 80285EE4 90 01 00 08 */ stw r0, 8(r1)
/* 80285EE8 C8 01 00 08 */ lfd f0, 8(r1)
/* 80285EEC FC 00 10 28 */ fsub f0, f0, f2
/* 80285EF0 FC 00 00 72 */ fmul f0, f0, f1
/* 80285EF4 FC 03 00 32 */ fmul f0, f3, f0
/* 80285EF8 FC 00 00 18 */ frsp f0, f0
/* 80285EFC D0 03 00 00 */ stfs f0, 0(r3)
/* 80285F00 38 21 00 10 */ addi r1, r1, 0x10
/* 80285F04 4E 80 00 20 */ blr
@@ -1,21 +0,0 @@
lbl_80289228:
/* 80289228 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8028922C 7C 08 02 A6 */ mflr r0
/* 80289230 90 01 00 24 */ stw r0, 0x24(r1)
/* 80289234 7C 65 1B 78 */ mr r5, r3
/* 80289238 90 A4 00 14 */ stw r5, 0x14(r4)
/* 8028923C 38 05 00 14 */ addi r0, r5, 0x14
/* 80289240 90 01 00 0C */ stw r0, 0xc(r1)
/* 80289244 90 01 00 08 */ stw r0, 8(r1)
/* 80289248 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8028924C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80289250 38 C4 00 0C */ addi r6, r4, 0xc
/* 80289254 90 01 00 14 */ stw r0, 0x14(r1)
/* 80289258 38 61 00 10 */ addi r3, r1, 0x10
/* 8028925C 38 85 00 10 */ addi r4, r5, 0x10
/* 80289260 38 A1 00 14 */ addi r5, r1, 0x14
/* 80289264 48 05 39 45 */ bl Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode
/* 80289268 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8028926C 7C 08 03 A6 */ mtlr r0
/* 80289270 38 21 00 20 */ addi r1, r1, 0x20
/* 80289274 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_80289300:
/* 80289300 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80289304 7C 08 02 A6 */ mflr r0
/* 80289308 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028930C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80289310 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80289314 7C 7E 1B 78 */ mr r30, r3
/* 80289318 3B FE 00 14 */ addi r31, r30, 0x14
/* 8028931C 93 E1 00 10 */ stw r31, 0x10(r1)
/* 80289320 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80289324 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80289328 48 00 00 18 */ b lbl_80289340
lbl_8028932C:
/* 8028932C 80 7F 00 04 */ lwz r3, 4(r31)
/* 80289330 90 61 00 08 */ stw r3, 8(r1)
/* 80289334 38 83 FF F4 */ addi r4, r3, -12
/* 80289338 7F C3 F3 78 */ mr r3, r30
/* 8028933C 4B FF FF 75 */ bl destroyObject__Q37JStudio3stb8TControlFPQ37JStudio3stb7TObject
lbl_80289340:
/* 80289340 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80289344 28 00 00 00 */ cmplwi r0, 0
/* 80289348 40 82 FF E4 */ bne lbl_8028932C
/* 8028934C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80289350 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80289354 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80289358 7C 08 03 A6 */ mtlr r0
/* 8028935C 38 21 00 20 */ addi r1, r1, 0x20
/* 80289360 4E 80 00 20 */ blr
@@ -1,47 +0,0 @@
lbl_80289404:
/* 80289404 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80289408 7C 08 02 A6 */ mflr r0
/* 8028940C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80289410 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80289414 7C 7F 1B 78 */ mr r31, r3
/* 80289418 38 00 00 00 */ li r0, 0
/* 8028941C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80289420 38 7F 00 20 */ addi r3, r31, 0x20
/* 80289424 38 80 00 00 */ li r4, 0
/* 80289428 4B FF F7 A9 */ bl reset__Q37JStudio3stb7TObjectFPCv
/* 8028942C 38 1F 00 14 */ addi r0, r31, 0x14
/* 80289430 90 01 00 24 */ stw r0, 0x24(r1)
/* 80289434 90 01 00 20 */ stw r0, 0x20(r1)
/* 80289438 90 01 00 34 */ stw r0, 0x34(r1)
/* 8028943C 90 01 00 30 */ stw r0, 0x30(r1)
/* 80289440 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80289444 90 61 00 1C */ stw r3, 0x1c(r1)
/* 80289448 90 61 00 18 */ stw r3, 0x18(r1)
/* 8028944C 90 61 00 2C */ stw r3, 0x2c(r1)
/* 80289450 90 61 00 28 */ stw r3, 0x28(r1)
/* 80289454 90 61 00 38 */ stw r3, 0x38(r1)
/* 80289458 90 01 00 3C */ stw r0, 0x3c(r1)
/* 8028945C 48 00 00 1C */ b lbl_80289478
lbl_80289460:
/* 80289460 80 81 00 38 */ lwz r4, 0x38(r1)
/* 80289464 38 64 FF F4 */ addi r3, r4, -12
/* 80289468 80 04 00 00 */ lwz r0, 0(r4)
/* 8028946C 90 01 00 38 */ stw r0, 0x38(r1)
/* 80289470 38 80 00 00 */ li r4, 0
/* 80289474 4B FF F7 5D */ bl reset__Q37JStudio3stb7TObjectFPCv
lbl_80289478:
/* 80289478 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 8028947C 90 61 00 14 */ stw r3, 0x14(r1)
/* 80289480 80 01 00 38 */ lwz r0, 0x38(r1)
/* 80289484 90 01 00 10 */ stw r0, 0x10(r1)
/* 80289488 90 61 00 0C */ stw r3, 0xc(r1)
/* 8028948C 90 01 00 08 */ stw r0, 8(r1)
/* 80289490 7C 00 18 50 */ subf r0, r0, r3
/* 80289494 7C 00 00 34 */ cntlzw r0, r0
/* 80289498 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 8028949C 41 82 FF C4 */ beq lbl_80289460
/* 802894A0 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 802894A4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802894A8 7C 08 03 A6 */ mtlr r0
/* 802894AC 38 21 00 50 */ addi r1, r1, 0x50
/* 802894B0 4E 80 00 20 */ blr
+40 -11
View File
@@ -256,28 +256,57 @@ struct TLinkList_factory : public TLinkList<T, I> {
}
};
template <typename T, int I>
template <typename T>
struct TEnumerator {
inline TEnumerator(typename TLinkList<T, I>::const_iterator _current,
typename TLinkList<T, I>::const_iterator _end)
inline TEnumerator(T _current, T _end)
: current(_current), end(_end) {}
bool isEnd() const { return current.node == end.node; }
bool isEnd() const { return current != end; }
operator bool() const { return isEnd(); }
T& operator*() {
T& rv = (T&)*current;
T operator*() {
T rv = current;
++current;
return rv;
}
TLinkList<T, I>::const_iterator current;
TLinkList<T, I>::const_iterator end;
T current;
T end;
};
// TEnumerator2 should be the same but there are two issues:
// 1. How to derive the iterator return type for operator* (the debug makes it seem like operator* is called
// so the return value should be what the iterator points to)
// 2. Calling the * operator seems to make functions using TEnumerator<T*> not work. See
// JStudio::TAdaptor::adaptor_setVariableValue_n
// Perhaps template specialization?
template <typename Iterator, typename T>
struct TEnumerator2 {
inline TEnumerator2(Iterator _current, Iterator _end)
: current(_current), end(_end) {}
bool isEnd() const { return current != end; }
operator bool() const { return isEnd(); }
T& operator*() {
T& rv = *current;
++current;
return rv;
}
Iterator current;
Iterator end;
};
template <typename T, int I>
struct TContainerEnumerator_const : public TEnumerator<T, I> {
inline TContainerEnumerator_const(const T* param_0)
: TEnumerator<T, I>(param_0->begin(), param_0->end()) {}
struct TContainerEnumerator : public TEnumerator2<TLinkList<T, I>::iterator, T> {
inline TContainerEnumerator(TLinkList<T, I>* param_0)
: TEnumerator2<TLinkList<T, I>::iterator, T>(param_0->begin(), param_0->end()) {}
};
template <typename T, int I>
struct TContainerEnumerator_const : public TEnumerator2<TLinkList<T, I>::const_iterator, const T> {
inline TContainerEnumerator_const(const TLinkList<T, I>* param_0)
: TEnumerator2<TLinkList<T, I>::const_iterator, const T>(param_0->begin(), param_0->end()) {}
};
}; // namespace JGadget
+31
View File
@@ -19,6 +19,28 @@ struct TVec3 {
}
};
template <>
struct TVec3<double> {
double x, y, z;
void set(double x_, double y_, double z_) {
x = x_;
y = y_;
z = z_;
}
inline TVec3<double>& operator*=(double b) {
scale(b);
return *this;
}
void scale(double b) {
x *= b;
y *= b;
z *= b;
}
};
template <>
struct TVec3<s16> {
s16 x, y, z;
@@ -422,6 +444,15 @@ struct TUtil {
}
};
template<>
struct TUtil<double> {
static inline double epsilon() { return 32.0f * FLT_EPSILON; }
static inline double one() { return 1.0; }
static inline double atan2(double x, double y) { return atan2(x, y); }
static inline double asin(double x) { return asin(x); }
static inline double halfPI() { return 1.5707963267948966; }
};
// clang-format on
} // namespace JGeometry
+4 -1
View File
@@ -14,6 +14,8 @@ struct TObject : public object::TObject_ID {
JUT_ASSERT(82, pData_!=0);
}
/* 80280F18 */ virtual ~TObject() = 0;
virtual int getScheme() const = 0;
const void* getData() const { return pData_; }
/* 0x08 vtable */
/* 0x0C */ JGadget::TLinkListNode ocObject_;
@@ -111,7 +113,7 @@ struct TObject_TxyzRy : public TObject {
/* 80280F60 */ TObject_TxyzRy(JStudio::ctb::data::TParse_TBlock const&);
/* 80281554 */ virtual ~TObject_TxyzRy();
/* 80280FBC */ virtual bool getScheme() const;
/* 80280FBC */ virtual int getScheme() const;
};
struct TFactory {
@@ -133,6 +135,7 @@ struct TControl {
/* 80281230 */ JStudio::ctb::TObject* getObject_index(u32);
TFactory* getFactory() { return pFactory_; }
void setFactory(TFactory* factory) { pFactory_ = factory; }
/* 0x4 */ TFactory* pFactory_;
/* 0x8 */ JGadget::TLinkList<TObject, -12> mList;
+1
View File
@@ -68,6 +68,7 @@ public:
/* 802848D4 */ TObject* getObject_index(u32);
TFactory* getFactory() const { return pFactory; }
void setFactory(TFactory* factory) { pFactory = factory; }
private:
/* 0x4 */ TFactory* pFactory;
@@ -8,9 +8,11 @@
#include "dolphin/mtx/vec.h"
namespace JStudio {
struct TObject;
struct TCreateObject {
TCreateObject() {}
/* 80285488 */ virtual ~TCreateObject() = 0;
virtual bool create(TObject**, JStudio::stb::data::TParse_TBlock_object const&) = 0;
/* 0x4 */ JGadget::TLinkListNode mNode;
}; // Size: 0xC
@@ -19,7 +21,7 @@ struct TFactory : public stb::TFactory {
TFactory() {}
/* 802854D0 */ virtual ~TFactory();
/* 802855AC */ virtual void create(JStudio::stb::data::TParse_TBlock_object const&);
/* 802855AC */ virtual TObject* create(JStudio::stb::data::TParse_TBlock_object const&);
/* 80285560 */ void appendCreateObject(JStudio::TCreateObject*);
@@ -36,10 +38,10 @@ public:
/* 80285114 */ TControl();
/* 802851AC */ virtual ~TControl();
/* 80285228 */ void setFactory(JStudio::TFactory*);
/* 80285250 */ void transformOnSet_setOrigin_TxyzRy(Vec const&, f32);
/* 802852D0 */ void transformOnGet_setOrigin_TxyzRy(Vec const&, f32);
/* 80285368 */ void transform_setOrigin_ctb(JStudio::ctb::TObject const&);
/* 8028543C */ void transform_setOrigin_ctb_index(u32);
/* 80285250 */ int transformOnSet_setOrigin_TxyzRy(Vec const&, f32);
/* 802852D0 */ int transformOnGet_setOrigin_TxyzRy(Vec const&, f32);
/* 80285368 */ int transform_setOrigin_ctb(JStudio::ctb::TObject const&);
/* 8028543C */ bool transform_setOrigin_ctb_index(u32);
void stb_destroyObject_all() { stb::TControl::destroyObject_all(); }
void fvb_destroyObject_all() { fvb_Control.destroyObject_all(); }
@@ -68,7 +70,36 @@ public:
transform_setOrigin_TxyzRy(xyz, rotY);
}
void setSecondPerFrame(double param_0) { mSecondPerFrame = param_0; }
void setSecondPerFrame(f64 param_0) { mSecondPerFrame = param_0; }
f64 getSecondPerFrame() const { return mSecondPerFrame; }
ctb::TObject* ctb_getObject_index(u32 index) {
return ctb_Control.getObject_index(index);
}
fvb::TObject* fvb_getObject(const void* param_1, u32 param_2) {
return fvb_Control.getObject(param_1, param_2);
}
fvb::TObject* fvb_getObject_index(u32 index) {
return fvb_Control.getObject_index(index);
}
TFunctionValue* getFunctionValue(const void* param_1, u32 param_2) {
fvb::TObject* obj = fvb_getObject(param_1, param_2);
if (obj == NULL) {
return NULL;
}
return obj->referFunctionValue();
}
TFunctionValue* getFunctionValue_index(u32 index) {
fvb::TObject* obj = fvb_getObject_index(index);
if (obj == NULL) {
return NULL;
}
return obj->referFunctionValue();
}
/* 0x58 */ f64 mSecondPerFrame;
/* 0x60 */ fvb::TControl fvb_Control;
@@ -78,19 +109,21 @@ public:
/* 0x8C */ Vec field_0x8c;
/* 0x98 */ Vec field_0x98;
/* 0xA4 */ f32 mTransformOnSet_RotationY;
/* 0xA8 */ u8 field_0xa8[4];
/* 0xA8 */ f32 field_0xa8;
/* 0xAC */ Mtx mTransformOnSet_Matrix;
/* 0xDC */ Mtx mTransformOnGet_Matrix;
};
struct TParse : public stb::TParse {
/* 8028566C */ TParse(JStudio::TControl*);
/* 80285844 */ void parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const&, u32);
/* 802858F0 */ void parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const&, u32);
/* 80285844 */ bool parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const&, u32);
/* 802858F0 */ bool parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const&, u32);
/* 802856A8 */ virtual ~TParse();
/* 80285708 */ virtual void parseHeader(JStudio::stb::data::TParse_THeader const&, u32);
/* 802857E4 */ virtual void parseBlock_block(JStudio::stb::data::TParse_TBlock const&, u32);
/* 80285708 */ virtual bool parseHeader(JStudio::stb::data::TParse_THeader const&, u32);
/* 802857E4 */ virtual bool parseBlock_block(JStudio::stb::data::TParse_TBlock const&, u32);
TControl* getControl() { return (TControl*)stb::TParse::getControl(); }
};
}; // namespace JStudio
@@ -2,12 +2,59 @@
#define JSTUDIO_MATH_H
#include "dolphin/mtx.h"
#include "math.h"
namespace JStudio {
namespace math {
/* 802859DC */ void getRotation_xyz(MtxP, f32, f32, f32);
/* 80285B44 */ void getTransformation_SRxyzT(MtxP, Vec const&, Vec const&, Vec const&);
/* 80285BCC */ void getFromTransformation_SRxyzT(Vec*, Vec*, Vec*, CMtxP);
inline void getRotation_y(Mtx param_0, f32 param_1) {
MTXRotRad(param_0, 0x79, DEG_TO_RAD(param_1));
}
inline void getTransformation_RyT(Mtx param_0, const Vec& param_1, f32 param_2) {
Mtx amStack_40;
getRotation_y(amStack_40, param_2);
MTXTransApply(amStack_40, param_0, param_1.x, param_1.y, param_1.z);
}
inline void rotate_y(Mtx param_0, Mtx param_1, f32 param_2) {
Mtx afStack_38;
getRotation_y(afStack_38, param_2);
MTXConcat(afStack_38, param_1, param_0);
}
inline void rotate_xyz(Mtx param_0, Mtx param_1, f32 param_2, f32 param_3, f32 param_4) {
Mtx amStack_30;
getRotation_xyz(amStack_30, param_2, param_3, param_4);
MTXConcat(amStack_30, param_0, param_1);
}
inline void rotate_xyz(Mtx param_0, Mtx param_1, const Vec& param_2) {
rotate_xyz(param_0, param_1, param_2.x, param_2.y, param_2.z);
}
inline f32 getFromTransformation_Sn(CMtxP param_1, u32 param_2) {
Vec local_18;
local_18.x = param_1[0][param_2];
local_18.y = param_1[1][param_2];
local_18.z = param_1[2][param_2];
return VECMag(&local_18);
}
inline void getFromTransformation_S(CMtxP param_1, Vec* param_2) {
param_2->x = getFromTransformation_Sn(param_1, 0);
param_2->y = getFromTransformation_Sn(param_1, 1);
param_2->z = getFromTransformation_Sn(param_1, 2);
}
inline void getFromTransformation_T(CMtxP param_1, Vec* param_2) {
param_2->x = param_1[0][3];
param_2->y = param_1[1][3];
param_2->z = param_1[2][3];
}
};
}; // namespace JStudio
@@ -3,12 +3,18 @@
#include "JSystem/JStudio/JStudio/ctb.h"
#include "JSystem/JStudio/JStudio/jstudio-control.h"
#include "limits.h"
typedef struct _GXColor GXColor;
namespace JStudio {
namespace data {
enum TEOperationData {
UNK_0x1 = 0x1,
UNK_0x2 = 0x2,
UNK_0x3 = 0x3,
UNK_0x10 = 0x10,
UNK_0x12 = 0x12,
UNK_0x19 = 0x19,
};
};
@@ -16,6 +22,7 @@ namespace data {
struct TAdaptor;
struct TVariableValue {
struct TOutput {
virtual void operator()(f32, JStudio::TAdaptor*) const = 0;
/* 80285E0C */ ~TOutput();
};
@@ -25,20 +32,69 @@ struct TVariableValue {
};
/* 80285E54 */ void update(f64, JStudio::TAdaptor*);
/* 80285EB8 */ void update_immediate_(JStudio::TVariableValue*, f64);
/* 80285ECC */ void update_time_(JStudio::TVariableValue*, f64);
/* 80285F08 */ void update_functionValue_(JStudio::TVariableValue*, f64);
/* 80285EB8 */ static void update_immediate_(JStudio::TVariableValue*, f64);
/* 80285ECC */ static void update_time_(JStudio::TVariableValue*, f64);
/* 80285F08 */ static void update_functionValue_(JStudio::TVariableValue*, f64);
/* 8028B568 */ TVariableValue();
void setValue_immediate(f32 value) {
field_0x8 = &update_immediate_;
field_0x4 = 0;
field_0xc.val = value;
}
void setValue_none() {
field_0x8 = NULL;
}
void setValue_time(f32 value) {
field_0x8 = &update_time_;
field_0x4 = 0;
field_0xc.val = value;
}
void setValue_functionValue(TFunctionValue* value) {
field_0x8 = &update_functionValue_;
field_0x4 = 0;
field_0xc.fv = value;
}
f32 getValue() const { return mValue; }
template<typename T>
T getValue_clamp() const {
f32 val = mValue;
if (val <= std::numeric_limits<T>::min()) {
return std::numeric_limits<T>::min();
} else if (val >= std::numeric_limits<T>::max()) {
return std::numeric_limits<T>::max();
}
return val;
}
u8 getValue_uint8() const { return getValue_clamp<u8>(); }
void forward(u32 param_0) {
if (std::numeric_limits<u32>::max() - field_0x4 <= param_0) {
field_0x4 = std::numeric_limits<u32>::max();
} else {
field_0x4 += param_0;
}
}
static u8 soOutput_none_[4 + 4 /* padding */];
/* 0x00 */ f32 mValue;
/* 0x04 */ u32 field_0x4;
/* 0x08 */ void (*field_0x8)(TVariableValue*, double);
/* 0x0C */ TFunctionValue* field_0xc;
/* 0x0C */ union {
TFunctionValue* fv;
f32 val;
} field_0xc;
/* 0x10 */ TOutput* pOutput_;
}; // Size: 0x14
typedef void (TObject::*paragraphFunc)(u32, void const*, u32);
class TObject : public stb::TObject {
public:
/* 80286864 */ TObject(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor*);
@@ -51,6 +107,9 @@ public:
/* 8028680C */ virtual void do_wait(u32);
/* 8028682C */ virtual void do_data(void const*, u32, void const*, u32);
TAdaptor* getAdaptor() { return mpAdaptor; }
TControl* getControl() { return (TControl*)stb::TObject::getControl(); }
void prepareAdaptor() {
if (mpAdaptor != NULL) {
// mpAdaptor->adaptor_setObject_(this);
@@ -75,8 +134,11 @@ public:
};
struct TAdaptor {
struct TSetVariableValue_immediate {};
struct TSetVariableValue_immediate {
u32 field_0x0;
f32 field_0x4;
};
typedef void (*setVarFunc)(JStudio::TAdaptor*, JStudio::TControl*, u32, void const*, u32);
/* 80285FD0 */ virtual ~TAdaptor() = 0;
/* 80286018 */ virtual void adaptor_do_prepare();
/* 8028601C */ virtual void adaptor_do_begin();
@@ -96,21 +158,33 @@ struct TAdaptor {
/* 802862AC */ void adaptor_setVariableValue_GXColor(u32 const*, GXColor const&);
/* 8028638C */ void adaptor_getVariableValue_GXColor(GXColor*, u32 const*) const;
/* 802864D8 */ void adaptor_updateVariableValue(JStudio::TControl*, u32);
/* 8028656C */ void adaptor_setVariableValue_VOID_(JStudio::TAdaptor*, JStudio::TControl*, u32,
/* 8028656C */ static void adaptor_setVariableValue_VOID_(JStudio::TAdaptor*, JStudio::TControl*, u32,
void const*, u32);
/* 80286584 */ void adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor*, JStudio::TControl*,
/* 80286584 */ static void adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
/* 802865B0 */ void adaptor_setVariableValue_TIME_(JStudio::TAdaptor*, JStudio::TControl*, u32,
/* 802865B0 */ static void adaptor_setVariableValue_TIME_(JStudio::TAdaptor*, JStudio::TControl*, u32,
void const*, u32);
/* 802865DC */ void adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor*, JStudio::TControl*,
/* 802865DC */ static void adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
/* 80286648 */ void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*,
/* 80286648 */ static void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
void adaptor_setObject_(const TObject* pObject) {
pObject_ = pObject;
}
TVariableValue* adaptor_referVariableValue(u32 param_0) {
return &pValue_[param_0];
}
void adaptor_setVariableValue_immediate(u32 param_0, f32 param_1) {
adaptor_referVariableValue(param_0)->setValue_immediate(param_1);
}
const TVariableValue* adaptor_getVariableValue(u32 param_0) const {
return &pValue_[param_0];
}
/* 0x4 */ const TObject* pObject_;
/* 0x8 */ TVariableValue* pValue_;
/* 0xC */ u32 u;
@@ -21,6 +21,7 @@ public:
u16 get_byteOrder() const { return get()->byte_order; }
u16 get_version() const { return get()->version; }
u32 get_blockNumber() const { return get()->block_number; }
const THeader::Target& get_target() const { return get()->target; }
};
class TParse_TBlock : public TParseData_aligned<4> {
@@ -32,6 +33,7 @@ public:
u32 get_size() const { return get()->size; }
u32 get_type() const { return get()->type; }
const void* getContent() const { return ((char*)getRaw()) + 8;}
};
class TParse_TSequence : public TParseData_aligned<4> {
+4 -2
View File
@@ -7,6 +7,7 @@
#include "global.h"
namespace JStudio {
struct TObject;
namespace stb {
class TControl;
@@ -43,7 +44,7 @@ public:
/* 80288B78 */ void setFlag_operation(u8, int);
/* 80288BD0 */ void reset(void const*);
/* 80288BE8 */ int forward(u32);
/* 80288BE8 */ u8 forward(u32);
/* 80288E18 */ virtual void do_begin();
/* 80288E1C */ virtual void do_end();
/* 80288E20 */ virtual void do_paragraph(u32, void const*, u32);
@@ -110,7 +111,7 @@ public:
TFactory() {}
/* 802895B4 */ virtual ~TFactory();
/* 802895FC */ virtual TObject* create(data::TParse_TBlock_object const&);
/* 802895FC */ virtual JStudio::TObject* create(data::TParse_TBlock_object const&);
/* 80289604 */ virtual void destroy(TObject*);
};
@@ -138,6 +139,7 @@ public:
void resetStatus_() { setStatus_(0); }
bool isSuspended() const { return _54 > 0; }
TFactory* getFactory() const { return pFactory; }
void setFactory(TFactory* factory) { pFactory = factory; }
TObject_control& referObject_control() { return mObject_control; }
int getSuspend() const { return _54; }
void setSuspend(s32 suspend) { mObject_control.setSuspend(suspend); }
@@ -15,7 +15,7 @@ struct TCreateObject : public JStudio::TCreateObject {
}
/* 8028D550 */ virtual ~TCreateObject();
/* 8028D5B0 */ virtual void create(JStudio::TObject**,
/* 8028D5B0 */ virtual bool create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 8028D624 */ void createObject_JAI_SOUND_(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JAudio2::TCreateObject*);
@@ -14,7 +14,7 @@ struct TCreateObject : public JStudio::TCreateObject {
}
/* 8028E3A0 */ virtual ~TCreateObject();
/* 8028E400 */ virtual void create(JStudio::TObject**,
/* 8028E400 */ virtual bool create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 8028E474 */ virtual void emitter_create(u32);
/* 8028E4E4 */ virtual void emitter_destroy(JPABaseEmitter*);
@@ -16,7 +16,7 @@ struct TCreateObject : public JStudio::TCreateObject {
}
/* 80289B00 */ virtual ~TCreateObject();
/* 80289B60 */ virtual void create(JStudio::TObject**,
/* 80289B60 */ virtual bool create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 0x0C */ const JStage::TSystem* pJSGSystem_;
+45 -1
View File
@@ -3,6 +3,7 @@
#include "dolphin/mtx.h"
#include "JSystem/JMath/JMath.h"
#include "JSystem/JGeometry.h"
namespace JGeometry {
@@ -18,12 +19,55 @@ struct SMatrix34C<f32> {
void identity() { MTXIdentity(data); }
typedef f32 ArrType[4];
void set(const ArrType* src) { JMath::gekko_ps_copy12((f32*)data, (f32*)src); }
void set(const ArrType* src) {
}
operator ArrType*() { return data; }
operator const ArrType*() const { return data; }
};
template <typename T>
struct SMatrix33C {
T data[3][3];
inline T& ref(int i, int j) {
return data[i][j];
}
inline T at(int i, int j) {
return data[i][j];
}
inline void set(T param_1, T param_2, T param_3, T param_4, T param_5,
T param_6, T param_7, T param_8, T param_9) {
ref(0,0) = param_1;
ref(0,1) = param_2;
ref(0,2) = param_3;
ref(1,0) = param_4;
ref(1,1) = param_5;
ref(1,2) = param_6;
ref(2,0) = param_7;
ref(2,1) = param_8;
ref(2,2) = param_9;
}
inline void getEulerXYZ(TVec3<T>* param_1) {
if (at(2, 0) - TUtil<T>::one() >= TUtil<T>::epsilon()) {
param_1->set(TUtil<T>::atan2(at(0,1), at(1,1)), -TUtil<T>::halfPI(), 0.0);
} else {
if (at(2, 0) - TUtil<T>::one() >= TUtil<T>::one() + TUtil<T>::epsilon()) {
param_1->set(TUtil<T>::atan2(at(0, 1), at(1, 1)), TUtil<T>::halfPI(),
0.0);
} else {
param_1->x = TUtil<T>::atan2(at(2, 1), at(2, 2));
param_1->z = TUtil<T>::atan2(at(0, 1), at(0, 0));
param_1->y = TUtil<T>::asin(at(2, 0));
}
}
}
};
template <typename T>
struct TMatrix34 : public T {};
+1 -1
View File
@@ -246,7 +246,7 @@ public:
jstudio_tCreateObject_message() {}
virtual ~jstudio_tCreateObject_message();
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&);
virtual bool create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&);
};
class jstudio_tAdaptor_message : public JStudio::TAdaptor_message {
+2 -2
View File
@@ -152,7 +152,7 @@ const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 groupID
/* 802A7CD4-802A7E38 2A2614 0164+00 0/0 1/1 0/0 .text
* toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb */
// TContainerEnumerator_const inline issues + while condition
// TContainerEnumerator_const stack issues
#ifdef NONMATCHING
u32 JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1,
bool* param_2) const {
@@ -166,7 +166,7 @@ u32 JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1,
return -1;
}
JGadget::TContainerEnumerator_const<TResourceContainer::TCResource, 0> enumerator(this_01->getResourceContainer());
JGadget::TContainerEnumerator_const<JMessage::TResource, 0> enumerator(this_01->getResourceContainer());
const TResource* this_02;
while (!enumerator) {
this_02 = (const TResource*)&(*enumerator);
+8 -48
View File
@@ -126,8 +126,8 @@ JStudio::ctb::TObject_TxyzRy::TObject_TxyzRy(JStudio::ctb::data::TParse_TBlock c
/* 80280FBC-80280FC4 27B8FC 0008+00 1/0 0/0 0/0 .text getScheme__Q37JStudio3ctb14TObject_TxyzRyCFv
*/
bool JStudio::ctb::TObject_TxyzRy::getScheme() const {
return true;
int JStudio::ctb::TObject_TxyzRy::getScheme() const {
return 1;
}
/* 80280FC4-80280FF4 27B904 0030+00 0/0 1/1 0/0 .text __ct__Q37JStudio3ctb8TControlFv */
@@ -146,21 +146,9 @@ extern "C" asm void __dt__Q37JStudio3ctb8TControlFv() {
/* 80281060-802810AC 27B9A0 004C+00 1/1 0/0 0/0 .text
* appendObject__Q37JStudio3ctb8TControlFPQ37JStudio3ctb7TObject */
// Push_back stack issues
#ifdef NONMATCHING
void JStudio::ctb::TControl::appendObject(JStudio::ctb::TObject* param_0) {
mList.Push_back(param_0);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::ctb::TControl::appendObject(JStudio::ctb::TObject* param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/ctb/appendObject__Q37JStudio3ctb8TControlFPQ37JStudio3ctb7TObject.s"
}
#pragma pop
#endif
/* 802810AC-802810DC 27B9EC 0030+00 1/1 0/0 0/0 .text
* removeObject__Q37JStudio3ctb8TControlFPQ37JStudio3ctb7TObject */
@@ -177,36 +165,20 @@ void JStudio::ctb::TControl::destroyObject(JStudio::ctb::TObject* param_0) {
/* 8028112C-80281190 27BA6C 0064+00 0/0 2/2 0/0 .text destroyObject_all__Q37JStudio3ctb8TControlFv
*/
// Stack
#ifdef NONMATCHING
void JStudio::ctb::TControl::destroyObject_all() {
TObject* pTVar1;
int iVar2;
while (!mList.empty()) {
destroyObject(&mList.back());
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::ctb::TControl::destroyObject_all() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/ctb/destroyObject_all__Q37JStudio3ctb8TControlFv.s"
}
#pragma pop
#endif
/* 80281190-80281230 27BAD0 00A0+00 1/1 0/0 0/0 .text getObject__Q37JStudio3ctb8TControlFPCvUl */
// end issues
// TPRObject_ID_equal issues
#ifdef NONMATCHING
JStudio::ctb::TObject* JStudio::ctb::TControl::getObject(void const* param_0, u32 param_1) {
JGadget::TLinkList<TObject, 2>::iterator local_3c = mList.begin();
JGadget::TLinkList<TObject, 2>::iterator local_40 = mList.end();
object::TPRObject_ID_equal aTStack_38(param_0, param_1);
JGadget::TLinkList<TObject, 2>::iterator local_50 = std::find_if(local_3c, local_40, object::TPRObject_ID_equal(param_0, param_1));
if ((local_50 != local_40) != false) {
JGadget::TLinkList<TObject, -12>::iterator begin = mList.begin();
JGadget::TLinkList<TObject, -12>::iterator end = mList.end();
JGadget::TLinkList<TObject, -12>::iterator local_50 = std::find_if(begin, end, object::TPRObject_ID_equal(param_0, param_1));
if ((local_50 != end) != false) {
return &*local_50;
}
return NULL;
@@ -224,26 +196,14 @@ asm JStudio::ctb::TObject* JStudio::ctb::TControl::getObject(void const* param_0
/* 80281230-80281274 27BB70 0044+00 0/0 1/1 0/0 .text getObject_index__Q37JStudio3ctb8TControlFUl
*/
// Stack issues
#ifdef NONMATCHING
JStudio::ctb::TObject* JStudio::ctb::TControl::getObject_index(u32 param_0) {
if (param_0 >= mList.size()) {
return 0;
}
JGadget::TLinkList<TObject, 2>::iterator aiStack_14 = mList.begin();
JGadget::TLinkList<TObject, -12>::iterator aiStack_14 = mList.begin();
std::advance(aiStack_14, param_0);
return &*aiStack_14;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::ctb::TObject* JStudio::ctb::TControl::getObject_index(u32 param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/ctb/getObject_index__Q37JStudio3ctb8TControlFUl.s"
}
#pragma pop
#endif
/* 80281274-802812BC 27BBB4 0048+00 1/0 1/1 0/0 .text __dt__Q37JStudio3ctb8TFactoryFv */
#pragma push
+142 -207
View File
@@ -4,8 +4,11 @@
//
#include "JSystem/JStudio/JStudio/jstudio-control.h"
#include "JSystem/JStudio/JStudio/jstudio-math.h"
#include "JSystem/JStudio/JStudio/jstudio-data.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "string.h"
//
// Forward References:
@@ -64,276 +67,208 @@ extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void memcmp();
extern "C" extern void* __vt__Q27JStudio13TCreateObject[4];
extern "C" u8 ga8cSignature__Q27JStudio4data[8];
//
// Declarations:
//
/* ############################################################################################## */
/* 8039AA40-8039AA4C 0270A0 000C+00 1/1 0/0 0/0 .rodata @745 */
SECTION_RODATA static u8 const lit_745[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8039AA40, &lit_745);
/* 803C4AC0-803C4AE0 021BE0 0020+00 2/2 0/0 0/0 .data __vt__Q27JStudio6TParse */
SECTION_DATA extern void* __vt__Q27JStudio6TParse[8] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__Q27JStudio6TParseFv,
(void*)parseHeader_next__Q37JStudio3stb6TParseFPPCvPUlUl,
(void*)parseBlock_next__Q37JStudio3stb6TParseFPPCvPUlUl,
(void*)parseHeader__Q27JStudio6TParseFRCQ47JStudio3stb4data14TParse_THeaderUl,
(void*)parseBlock_block__Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl,
(void*)parseBlock_object__Q37JStudio3stb6TParseFRCQ47JStudio3stb4data20TParse_TBlock_objectUl,
};
/* 803C4AE0-803C4AF4 021C00 0014+00 1/1 1/1 0/0 .data __vt__Q27JStudio8TFactory */
SECTION_DATA extern void* __vt__Q27JStudio8TFactory[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__Q27JStudio8TFactoryFv,
(void*)create__Q27JStudio8TFactoryFRCQ47JStudio3stb4data20TParse_TBlock_object,
(void*)destroy__Q37JStudio3stb8TFactoryFPQ37JStudio3stb7TObject,
};
/* 803C4AF4-803C4B00 021C14 000C+00 2/2 0/0 0/0 .data __vt__Q27JStudio8TControl */
SECTION_DATA extern void* __vt__Q27JStudio8TControl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__Q27JStudio8TControlFv,
};
/* 80455458-8045545C 003A58 0004+00 2/2 0/0 0/0 .sdata2 @748 */
SECTION_SDATA2 static u8 lit_748[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80285114-802851AC 27FA54 0098+00 0/0 1/1 0/0 .text __ct__Q27JStudio8TControlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TControl::TControl() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/__ct__Q27JStudio8TControlFv.s"
JStudio::TControl::TControl() {
mTransformOnSet = false;
mTransformOnGet = false;
Vec aVStack_20 = {0.0f,0.0f,0.0f};
transform_setOrigin_TxyzRy(aVStack_20, 0.0f);
}
#pragma pop
/* 802851AC-80285228 27FAEC 007C+00 1/0 0/0 0/0 .text __dt__Q27JStudio8TControlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TControl::~TControl() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/__dt__Q27JStudio8TControlFv.s"
}
#pragma pop
JStudio::TControl::~TControl() {}
/* 80285228-80285250 27FB68 0028+00 0/0 1/1 0/0 .text
* setFactory__Q27JStudio8TControlFPQ27JStudio8TFactory */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TControl::setFactory(JStudio::TFactory* param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/setFactory__Q27JStudio8TControlFPQ27JStudio8TFactory.s"
void JStudio::TControl::setFactory(JStudio::TFactory* factory) {
fvb::TFactory* fvbFactory = NULL;
ctb::TFactory* ctbFactory = NULL;
if (factory != NULL) {
fvbFactory = &factory->fvb_Factory;
ctbFactory = &factory->ctb_Factory;
}
stb::TControl::setFactory(factory);
fvb_Control.setFactory(fvbFactory);
ctb_Control.setFactory(ctbFactory);
}
#pragma pop
/* ############################################################################################## */
/* 8045545C-80455460 003A5C 0004+00 2/2 0/0 0/0 .sdata2 @772 */
SECTION_SDATA2 static f32 lit_772 = 0.01745329238474369f;
/* 80285250-802852D0 27FB90 0080+00 3/3 1/1 0/0 .text
* transformOnSet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TControl::transformOnSet_setOrigin_TxyzRy(Vec const& param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/transformOnSet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf.s"
int JStudio::TControl::transformOnSet_setOrigin_TxyzRy(Vec const& param_0, f32 param_1) {
field_0x8c = param_0;
mTransformOnSet_RotationY = param_1;
JStudio::math::getTransformation_RyT(mTransformOnSet_Matrix, param_0, param_1);
return 1;
}
#pragma pop
/* 802852D0-80285368 27FC10 0098+00 3/3 1/1 0/0 .text
* transformOnGet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TControl::transformOnGet_setOrigin_TxyzRy(Vec const& param_0, f32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/transformOnGet_setOrigin_TxyzRy__Q27JStudio8TControlFRC3Vecf.s"
int JStudio::TControl::transformOnGet_setOrigin_TxyzRy(Vec const& param_0, f32 param_1) {
field_0x98 = param_0;
field_0xa8 = param_1;
Mtx afStack_48;
MTXTrans(afStack_48, -param_0.x, -param_0.y, -param_0.z);
math::rotate_y(mTransformOnGet_Matrix, afStack_48, -param_1);
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8039AA4C-8039AA58 0270AC 000C+00 1/1 0/0 0/0 .rodata @838 */
SECTION_RODATA static u8 const lit_838[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8039AA4C, &lit_838);
/* 80285368-8028543C 27FCA8 00D4+00 1/1 0/0 0/0 .text
* transform_setOrigin_ctb__Q27JStudio8TControlFRCQ37JStudio3ctb7TObject */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TControl::transform_setOrigin_ctb(JStudio::ctb::TObject const& param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/transform_setOrigin_ctb__Q27JStudio8TControlFRCQ37JStudio3ctb7TObject.s"
int JStudio::TControl::transform_setOrigin_ctb(JStudio::ctb::TObject const& param_0) {
switch (param_0.getScheme()) {
case 1:
const f32* pfVar4 = (const f32*)param_0.getData();
Vec local_144 = {0.0f, 0.0f, 0.0f};
local_144.x = pfVar4[0];
local_144.y = pfVar4[1];
local_144.z = pfVar4[2];
transform_setOrigin_TxyzRy(local_144, pfVar4[3]);
break;
default:
return 0;
}
return 1;
}
#pragma pop
/* 8028543C-80285488 27FD7C 004C+00 1/1 0/0 0/0 .text
* transform_setOrigin_ctb_index__Q27JStudio8TControlFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TControl::transform_setOrigin_ctb_index(u32 param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/transform_setOrigin_ctb_index__Q27JStudio8TControlFUl.s"
bool JStudio::TControl::transform_setOrigin_ctb_index(u32 index) {
ctb::TObject* object = ctb_getObject_index(index);
if (object == NULL) {
return false;
}
transform_setOrigin_ctb(*object);
return true;
}
#pragma pop
/* 80285488-802854D0 27FDC8 0048+00 0/0 4/4 0/0 .text __dt__Q27JStudio13TCreateObjectFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TCreateObject::~TCreateObject() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/__dt__Q27JStudio13TCreateObjectFv.s"
}
#pragma pop
JStudio::TCreateObject::~TCreateObject() {}
/* 802854D0-80285560 27FE10 0090+00 1/0 0/0 0/0 .text __dt__Q27JStudio8TFactoryFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm JStudio::TFactory::~TFactory() {
extern "C" asm void __dt__Q27JStudio8TFactoryFv() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/__dt__Q27JStudio8TFactoryFv.s"
}
#pragma pop
JStudio::TFactory::~TFactory() {}
/* 80285560-802855AC 27FEA0 004C+00 0/0 1/1 0/0 .text
* appendCreateObject__Q27JStudio8TFactoryFPQ27JStudio13TCreateObject */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TFactory::appendCreateObject(JStudio::TCreateObject* param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/appendCreateObject__Q27JStudio8TFactoryFPQ27JStudio13TCreateObject.s"
void JStudio::TFactory::appendCreateObject(JStudio::TCreateObject* param_0) {
mList.Push_back(param_0);
}
#pragma pop
/* 802855AC-8028566C 27FEEC 00C0+00 1/0 0/0 0/0 .text
* create__Q27JStudio8TFactoryFRCQ47JStudio3stb4data20TParse_TBlock_object */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TFactory::create(JStudio::stb::data::TParse_TBlock_object const& param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/create__Q27JStudio8TFactoryFRCQ47JStudio3stb4data20TParse_TBlock_object.s"
JStudio::TObject* JStudio::TFactory::create(JStudio::stb::data::TParse_TBlock_object const& param_0) {
JGadget::TContainerEnumerator<TCreateObject, -4> aTStack_368(&mList);
while(aTStack_368) {
TCreateObject& piVar1 = *aTStack_368;
JStudio::TObject* obj;
if (piVar1.create(&obj, param_0)) {
return obj;
}
}
return NULL;
}
#pragma pop
/* 8028566C-802856A8 27FFAC 003C+00 0/0 1/1 0/0 .text __ct__Q27JStudio6TParseFPQ27JStudio8TControl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TParse::TParse(JStudio::TControl* param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/__ct__Q27JStudio6TParseFPQ27JStudio8TControl.s"
JStudio::TParse::TParse(JStudio::TControl* param_0) : stb::TParse(param_0) {
}
#pragma pop
/* 802856A8-80285708 27FFE8 0060+00 1/0 1/1 0/0 .text __dt__Q27JStudio6TParseFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm JStudio::TParse::~TParse() {
extern "C" asm void __dt__Q27JStudio6TParseFv() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/__dt__Q27JStudio6TParseFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8039AA58-8039AA68 0270B8 000C+04 1/1 0/0 0/0 .rodata @1138 */
SECTION_RODATA static u8 const lit_1138[12 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8039AA58, &lit_1138);
JStudio::TParse::~TParse() {}
/* 80285708-802857E4 280048 00DC+00 1/0 0/0 0/0 .text
* parseHeader__Q27JStudio6TParseFRCQ47JStudio3stb4data14TParse_THeaderUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TParse::parseHeader(JStudio::stb::data::TParse_THeader const& param_0,
bool JStudio::TParse::parseHeader(JStudio::stb::data::TParse_THeader const& param_0,
u32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/parseHeader__Q27JStudio6TParseFRCQ47JStudio3stb4data14TParse_THeaderUl.s"
const JStudio::stb::data::THeader::Target& target = param_0.get_target();
if (memcmp(target.name, JStudio::data::ga8cSignature, sizeof(JStudio::data::ga8cSignature)) != 0) {
return false;
}
if (target.target_version < 2) {
return false;
}
if (target.target_version > 6) {
return false;
}
JStudio::TControl* pControl = getControl();
JUT_ASSERT(322, pControl!=0);
if ((param_1 & 0x100) == 0) {
Vec local_468 = {0.0f, 0.0f, 0.0f};
pControl->transform_setOrigin_TxyzRy(local_468, 0.0f);
pControl->transform_enable(false);
}
return true;
}
#pragma pop
/* 802857E4-80285844 280124 0060+00 1/0 0/0 0/0 .text
* parseBlock_block__Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TParse::parseBlock_block(JStudio::stb::data::TParse_TBlock const& param_0,
bool JStudio::TParse::parseBlock_block(JStudio::stb::data::TParse_TBlock const& param_0,
u32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/parseBlock_block__Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl.s"
switch(param_0.get_type()) {
case 'JFVB':
return parseBlock_block_fvb_(param_0, param_1);
case 'JCTB':
return parseBlock_block_ctb_(param_0, param_1);
default:
return stb::TParse::parseBlock_block(param_0, param_1);
}
}
#pragma pop
/* 80285844-802858F0 280184 00AC+00 1/1 0/0 0/0 .text
* parseBlock_block_fvb___Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TParse::parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const& param_0,
bool JStudio::TParse::parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const& param_0,
u32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/func_80285844.s"
TControl* pControl = getControl();
JUT_ASSERT(361, pControl!=0);
const void* pContent = param_0.getContent();
JUT_ASSERT(363, pContent!=0);
u32 uVar4 = param_1 & 0xf;
if ((param_1 & 0x10) != 0) {
uVar4 |= 0x10;
}
if ((param_1 & 0x20) != 0) {
uVar4 |= 0x20;
}
if ((param_1 & 0x40) != 0) {
uVar4 |= 0x40;
}
fvb::TParse aTStack_30(&pControl->fvb_Control);
if (!aTStack_30.parse(pContent, uVar4)) {
return false;
}
return true;
}
#pragma pop
/* 802858F0-802859DC 280230 00EC+00 1/1 0/0 0/0 .text
* parseBlock_block_ctb___Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TParse::parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const& param_0,
bool JStudio::TParse::parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const& param_0,
u32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-control/func_802858F0.s"
TControl* pControl = getControl();
JUT_ASSERT(386, pControl!=0);
const void* pContent = param_0.getContent();
JUT_ASSERT(388, pContent!=0);
u32 uVar4 = param_1 & 0xf;
if ((param_1 & 0x10) != 0) {
uVar4 |= 0x10;
}
if ((param_1 & 0x20) != 0) {
uVar4 |= 0x20;
}
if ((param_1 & 0x40) != 0) {
uVar4 |= 0x40;
}
ctb::TParse aTStack_30(&pControl->ctb_Control);
if (!aTStack_30.parse(pContent, uVar4)) {
return false;
}
if ((param_1 & 0x200) == 0) {
if (pControl->transform_setOrigin_ctb_index(0) == 0) {
return 0;
}
pControl->transform_enable(true);
}
return true;
}
#pragma pop
+71 -13
View File
@@ -4,7 +4,10 @@
//
#include "JSystem/JStudio/JStudio/jstudio-math.h"
#include "JSystem/TPosition3.hh"
#include "JSystem/JGeometry.h"
#include "dol2asm.h"
#include "math.h"
//
// Forward References:
@@ -22,11 +25,6 @@ extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void cos();
extern "C" void sin();
extern "C" void asin();
extern "C" void atan2();
extern "C" extern u32 __float_epsilon;
//
// Declarations:
@@ -45,6 +43,34 @@ SECTION_SDATA2 static u8 lit_489[4] = {
};
/* 802859DC-80285B44 28031C 0168+00 1/1 0/0 0/0 .text getRotation_xyz__Q27JStudio4mathFPA4_ffff */
// regalloc
#ifdef NONMATCHING
void JStudio::math::getRotation_xyz(MtxP param_1, f32 x, f32 y, f32 z) {
f32 cosx = cos(DEG_TO_RAD(x));
f32 sinx = sin(DEG_TO_RAD(x));
f32 cosy = cos(DEG_TO_RAD(y));
f32 siny = sin(DEG_TO_RAD(y));
f32 cosz = cos(DEG_TO_RAD(z));
f32 sinz = sin(DEG_TO_RAD(z));
f32 cosxcosz = cosx * cosz;
f32 cosxsinz = cosx * sinz;
f32 sinxcosz = sinx * cosz;
f32 sinxsinz = sinx * sinz;
param_1[0][0] = cosy * cosz;
param_1[1][0] = cosy * sinz;
param_1[2][0] = -siny;
param_1[2][1] = sinx * cosy;
param_1[2][2] = cosx * cosy;
param_1[0][1] = ((sinxcosz * siny) - cosxsinz);
param_1[0][2] = (sinxsinz + (cosxcosz * siny));
param_1[1][1] = (cosxcosz + (sinxsinz * siny));
param_1[1][2] = (((cosxsinz) * siny) - sinxcosz);
param_1[0][3] = 0.0f;
param_1[1][3] = 0.0f;
param_1[2][3] = 0.0f;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -53,18 +79,18 @@ asm void JStudio::math::getRotation_xyz(MtxP param_0, f32 param_1, f32 param_2,
#include "asm/JSystem/JStudio/JStudio/jstudio-math/getRotation_xyz__Q27JStudio4mathFPA4_ffff.s"
}
#pragma pop
#endif
/* 80285B44-80285BCC 280484 0088+00 0/0 2/2 0/0 .text
* getTransformation_SRxyzT__Q27JStudio4mathFPA4_fRC3VecRC3VecRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::math::getTransformation_SRxyzT(MtxP param_0, Vec const& param_1,
Vec const& param_2, Vec const& param_3) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-math/getTransformation_SRxyzT__Q27JStudio4mathFPA4_fRC3VecRC3VecRC3Vec.s"
void JStudio::math::getTransformation_SRxyzT(MtxP param_1, Vec const& param_2, Vec const& param_3,
Vec const& param_4) {
Mtx afStack_40;
MTXScale(afStack_40, param_2.x, param_2.y, param_2.z);
Mtx amStack_70;
rotate_xyz(afStack_40, amStack_70, param_3);
MTXTransApply(amStack_70, param_1, param_4.x, param_4.y, param_4.z);
}
#pragma pop
/* ############################################################################################## */
/* 80455470-80455478 003A70 0008+00 1/1 0/0 0/0 .sdata2 @623 */
@@ -93,6 +119,37 @@ SECTION_SDATA2 static f64 lit_628 = 57.29577951308232;
/* 80285BCC-80285E0C 28050C 0240+00 0/0 2/2 0/0 .text
* getFromTransformation_SRxyzT__Q27JStudio4mathFP3VecP3VecP3VecPA4_Cf */
// getEulerXYZ is not inlined
#ifdef NONMATCHING
void JStudio::math::getFromTransformation_SRxyzT(Vec* param_1, Vec* param_2, Vec* param_3,
CMtxP param_4) {
getFromTransformation_S(param_4, param_1);
getFromTransformation_T(param_4, param_3);
JGeometry::TRotation3<JGeometry::SMatrix33C<double> > aTStack_88;
JGeometry::TVec3<double> local_a0;
double dVar9 = 0.0;
double dVar8 = 0.0;
double dVar7 = 0.0;
if (0.0f != param_1->x) {
dVar9 = 1.0 / param_1->x;
}
if (0.0f != param_1->y) {
dVar8 = 1.0 / param_1->y;
}
if (0.0f != param_1->z) {
dVar7 = 1.0 / param_1->z;
}
aTStack_88.set( param_4[0][0] * dVar9,
param_4[0][1] * dVar8, param_4[0][2] * dVar7, param_4[1][0] * dVar9,
param_4[1][2] * dVar8, param_4[1][3] * dVar7, param_4[2][0] * dVar9,
param_4[2][1] * dVar8, param_4[2][2] * dVar7);
aTStack_88.getEulerXYZ(&local_a0);
local_a0 *= 57.29577951308232;
param_2->x = local_a0.x;
param_2->y = local_a0.y;
param_2->z = local_a0.z;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -102,3 +159,4 @@ asm void JStudio::math::getFromTransformation_SRxyzT(Vec* param_0, Vec* param_1,
#include "asm/JSystem/JStudio/JStudio/jstudio-math/getFromTransformation_SRxyzT__Q27JStudio4mathFP3VecP3VecP3VecPA4_Cf.s"
}
#pragma pop
#endif
+243 -272
View File
@@ -1320,25 +1320,20 @@ asm JStudio::TVariableValue::TOutput::~TOutput() {
/* 80285E54-80285EB8 280794 0064+00 1/1 0/0 0/0 .text
* update__Q27JStudio14TVariableValueFdPQ27JStudio8TAdaptor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TVariableValue::update(f64 param_0, JStudio::TAdaptor* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/update__Q27JStudio14TVariableValueFdPQ27JStudio8TAdaptor.s"
void JStudio::TVariableValue::update(f64 param_0, JStudio::TAdaptor* param_1) {
if (field_0x8) {
field_0x8(this, param_0);
JUT_ASSERT(200, pOutput_!=0);
(*pOutput_)(mValue, param_1);
}
}
#pragma pop
/* 80285EB8-80285ECC 2807F8 0014+00 4/4 4/4 0/0 .text
* update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TVariableValue::update_immediate_(JStudio::TVariableValue* param_0, f64 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued.s"
void JStudio::TVariableValue::update_immediate_(JStudio::TVariableValue* param_0, f64 param_1) {
param_0->mValue = param_0->field_0xc.val;
param_0->field_0x8 = NULL;
}
#pragma pop
/* ############################################################################################## */
/* 804554A0-804554A8 003AA0 0008+00 3/3 0/0 0/0 .sdata2 @803 */
@@ -1346,26 +1341,16 @@ SECTION_SDATA2 static f64 lit_803 = 4503599627370496.0 /* cast u32 to float */;
/* 80285ECC-80285F08 28080C 003C+00 1/1 0/0 0/0 .text
* update_time___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TVariableValue::update_time_(JStudio::TVariableValue* param_0, f64 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/update_time___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued.s"
void JStudio::TVariableValue::update_time_(JStudio::TVariableValue* param_0, f64 param_1) {
param_0->mValue = param_0->field_0xc.val * (param_0->field_0x4 * param_1);
}
#pragma pop
/* 80285F08-80285F6C 280848 0064+00 2/2 0/0 0/0 .text
* update_functionValue___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TVariableValue::update_functionValue_(JStudio::TVariableValue* param_0,
void JStudio::TVariableValue::update_functionValue_(JStudio::TVariableValue* param_0,
f64 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80285F08.s"
param_0->mValue = param_0->field_0xc.fv->getValue(param_0->field_0x4 * param_1);
}
#pragma pop
/* 80285F6C-80285FCC 2808AC 0060+00 2/1 0/0 0/0 .text
* __dt__Q37JStudio14TVariableValue13TOutput_none_Fv */
@@ -1386,14 +1371,7 @@ void JStudio::TVariableValue::TOutput_none_::operator()(f32 param_0,
}
/* 80285FD0-80286018 280910 0048+00 8/8 0/0 0/0 .text __dt__Q27JStudio8TAdaptorFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TAdaptor::~TAdaptor() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio8TAdaptorFv.s"
}
#pragma pop
JStudio::TAdaptor::~TAdaptor() {}
/* 80286018-8028601C 280958 0004+00 8/0 2/0 0/0 .text adaptor_do_prepare__Q27JStudio8TAdaptorFv */
// void JStudio::TAdaptor::adaptor_do_prepare() {
@@ -1426,6 +1404,36 @@ void JStudio::TAdaptor::adaptor_do_data(void const* param_0, u32 param_1, void c
/* 8028602C-802860CC 28096C 00A0+00 8/7 0/0 0/0 .text
* adaptor_setVariableValue__Q27JStudio8TAdaptorFPQ27JStudio8TControlUlQ37JStudio4data15TEOperationDataPCvUl
*/
// Matches with literals
#ifdef NONMATCHING
void JStudio::TAdaptor::adaptor_setVariableValue(JStudio::TControl* pControl, u32 param_2,
JStudio::data::TEOperationData param_3,
void const* param_4, u32 param_5) {
setVarFunc func;
JUT_ASSERT(304, pControl!=0);
switch (param_3) {
case JStudio::data::UNK_0x1:
func = &adaptor_setVariableValue_VOID_;
break;
case JStudio::data::UNK_0x2:
func = &adaptor_setVariableValue_IMMEDIATE_;
break;
case JStudio::data::UNK_0x3:
func = &adaptor_setVariableValue_TIME_;
break;
case JStudio::data::UNK_0x10:
func = &adaptor_setVariableValue_FVR_NAME_;
break;
case JStudio::data::UNK_0x12:
func = &adaptor_setVariableValue_FVR_INDEX_;
break;
default:
return;
}
(*func)(this, pControl, param_2, param_4, param_5);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1436,198 +1444,182 @@ asm void JStudio::TAdaptor::adaptor_setVariableValue(JStudio::TControl* param_0,
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_8028602C.s"
}
#pragma pop
#endif
/* 802860CC-802861C0 280A0C 00F4+00 7/7 0/0 0/0 .text
* adaptor_setVariableValue_n__Q27JStudio8TAdaptorFPQ27JStudio8TControlPCUlUlQ37JStudio4data15TEOperationDataPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_n(JStudio::TControl* param_0,
u32 const* param_1, u32 param_2,
JStudio::data::TEOperationData param_3,
void const* param_4, u32 param_5) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_802860CC.s"
void JStudio::TAdaptor::adaptor_setVariableValue_n(JStudio::TControl* pControl,
u32 const* param_2, u32 param_3,
JStudio::data::TEOperationData param_4,
void const* param_5, u32 param_6) {
JUT_ASSERT(343, pControl!=0);
setVarFunc pcVar6;
u32 iVar7;
switch(param_4) {
case JStudio::data::UNK_0x1:
iVar7 = 0;
pcVar6 = adaptor_setVariableValue_VOID_;
break;
case JStudio::data::UNK_0x2:
iVar7 = 4;
pcVar6 = adaptor_setVariableValue_IMMEDIATE_;
break;
case JStudio::data::UNK_0x3:
iVar7 = 4;
pcVar6 = adaptor_setVariableValue_TIME_;
break;
case JStudio::data::UNK_0x12:
iVar7 = 4;
pcVar6 = adaptor_setVariableValue_FVR_INDEX_;
break;
default:
return;
}
JGadget::TEnumerator<const u32*> enumerator(param_2, param_2 + param_3);
while (enumerator) {
(*pcVar6)(this, pControl, **enumerator, param_5, iVar7);
param_5 = (const void*)((int)param_5 + iVar7);
}
}
#pragma pop
/* 802861C0-80286204 280B00 0044+00 0/0 2/2 0/0 .text
* adaptor_setVariableValue_immediate__Q27JStudio8TAdaptorFPCQ37JStudio8TAdaptor27TSetVariableValue_immediate
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_immediate(
void JStudio::TAdaptor::adaptor_setVariableValue_immediate(
JStudio::TAdaptor::TSetVariableValue_immediate const* param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_802861C0.s"
u32 uVar1;
while ((uVar1 = param_0->field_0x0) != 0xffffffff) {
adaptor_setVariableValue_immediate(uVar1, param_0->field_0x4);
param_0++;
}
}
#pragma pop
/* 80286204-80286274 280B44 0070+00 0/0 4/4 0/0 .text
* adaptor_setVariableValue_Vec__Q27JStudio8TAdaptorFPCUlRC3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_Vec(u32 const* param_0, Vec const& param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/adaptor_setVariableValue_Vec__Q27JStudio8TAdaptorFPCUlRC3Vec.s"
void JStudio::TAdaptor::adaptor_setVariableValue_Vec(u32 const* puIndex, Vec const& param_2) {
JUT_ASSERT(400, puIndex!=0);
adaptor_referVariableValue(puIndex[0])->setValue_immediate(param_2.x);
adaptor_referVariableValue(puIndex[1])->setValue_immediate(param_2.y);
adaptor_referVariableValue(puIndex[2])->setValue_immediate(param_2.z);
}
#pragma pop
/* 80286274-802862AC 280BB4 0038+00 0/0 6/6 0/0 .text
* adaptor_getVariableValue_Vec__Q27JStudio8TAdaptorCFP3VecPCUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_getVariableValue_Vec(Vec* param_0, u32 const* param_1) const {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/adaptor_getVariableValue_Vec__Q27JStudio8TAdaptorCFP3VecPCUl.s"
void JStudio::TAdaptor::adaptor_getVariableValue_Vec(Vec* param_1, u32 const* param_2) const {
param_1->x = adaptor_getVariableValue(param_2[0])->getValue();
param_1->y = adaptor_getVariableValue(param_2[1])->getValue();
param_1->z = adaptor_getVariableValue(param_2[2])->getValue();
}
#pragma pop
/* 802862AC-8028638C 280BEC 00E0+00 0/0 3/3 0/0 .text
* adaptor_setVariableValue_GXColor__Q27JStudio8TAdaptorFPCUlRC8_GXColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_GXColor(u32 const* param_0,
GXColor const& param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/adaptor_setVariableValue_GXColor__Q27JStudio8TAdaptorFPCUlRC8_GXColor.s"
void JStudio::TAdaptor::adaptor_setVariableValue_GXColor(u32 const* puIndex,
GXColor const& param_2) {
JUT_ASSERT(431, puIndex!=0);
adaptor_referVariableValue(puIndex[0])->setValue_immediate(param_2.r);
adaptor_referVariableValue(puIndex[1])->setValue_immediate(param_2.g);
adaptor_referVariableValue(puIndex[2])->setValue_immediate(param_2.b);
adaptor_referVariableValue(puIndex[3])->setValue_immediate(param_2.a);
}
#pragma pop
/* ############################################################################################## */
/* 804554A8-804554AC 003AA8 0004+00 1/1 0/0 0/0 .sdata2 @1094 */
SECTION_SDATA2 static u8 lit_1094[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 804554AC-804554B0 003AAC 0004+00 1/1 0/0 0/0 .sdata2 @1095 */
SECTION_SDATA2 static f32 lit_1095 = 255.0f;
/* 8028638C-802864D8 280CCC 014C+00 0/0 4/4 0/0 .text
* adaptor_getVariableValue_GXColor__Q27JStudio8TAdaptorCFP8_GXColorPCUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_getVariableValue_GXColor(GXColor* param_0,
u32 const* param_1) const {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/adaptor_getVariableValue_GXColor__Q27JStudio8TAdaptorCFP8_GXColorPCUl.s"
void JStudio::TAdaptor::adaptor_getVariableValue_GXColor(GXColor* param_1,
u32 const* param_2) const {
param_1->r = adaptor_getVariableValue(param_2[0])->getValue_uint8();
param_1->g = adaptor_getVariableValue(param_2[1])->getValue_uint8();
param_1->b = adaptor_getVariableValue(param_2[2])->getValue_uint8();
param_1->a = adaptor_getVariableValue(param_2[3])->getValue_uint8();
}
#pragma pop
/* 802864D8-8028656C 280E18 0094+00 1/1 0/0 0/0 .text
* adaptor_updateVariableValue__Q27JStudio8TAdaptorFPQ27JStudio8TControlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_updateVariableValue(JStudio::TControl* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/adaptor_updateVariableValue__Q27JStudio8TAdaptorFPQ27JStudio8TControlUl.s"
void JStudio::TAdaptor::adaptor_updateVariableValue(JStudio::TControl* pControl, u32 param_2) {
JUT_ASSERT(479, pControl!=0);
f64 dVar3 = pControl->getSecondPerFrame();
JGadget::TEnumerator<JStudio::TVariableValue*> enumerator(pValue_, pValue_ + u);
while (enumerator) {
JStudio::TVariableValue* value = *enumerator;
value->forward(param_2);
value->update(dVar3, this);
}
}
#pragma pop
/* 8028656C-80286584 280EAC 0018+00 2/2 0/0 0/0 .text
* adaptor_setVariableValue_VOID___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_VOID_(JStudio::TAdaptor* param_0,
JStudio::TControl* param_1, u32 param_2,
void const* param_3, u32 param_4) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_8028656C.s"
void JStudio::TAdaptor::adaptor_setVariableValue_VOID_(JStudio::TAdaptor* param_1,
JStudio::TControl* param_2, u32 param_3,
void const* param_4, u32 uSize) {
JUT_ASSERT(499, uSize==0);
param_1->pValue_[param_3].setValue_none();
}
#pragma pop
/* 80286584-802865B0 280EC4 002C+00 2/2 0/0 0/0 .text
* adaptor_setVariableValue_IMMEDIATE___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor* param_0,
JStudio::TControl* param_1,
u32 param_2, void const* param_3,
u32 param_4) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80286584.s"
void JStudio::TAdaptor::adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor* param_1,
JStudio::TControl* param_2, u32 param_3,
void const* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_immediate(*(f32*)param_4);
}
#pragma pop
/* 802865B0-802865DC 280EF0 002C+00 2/2 0/0 0/0 .text
* adaptor_setVariableValue_TIME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_TIME_(JStudio::TAdaptor* param_0,
JStudio::TControl* param_1, u32 param_2,
void const* param_3, u32 param_4) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_802865B0.s"
void JStudio::TAdaptor::adaptor_setVariableValue_TIME_(JStudio::TAdaptor* param_1,
JStudio::TControl* param_2, u32 param_3,
void const* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_time(*(f32*)param_4);
}
#pragma pop
/* 802865DC-80286648 280F1C 006C+00 1/1 0/0 0/0 .text
* adaptor_setVariableValue_FVR_NAME___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor* param_0,
JStudio::TControl* param_1,
u32 param_2, void const* param_3,
u32 param_4) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_802865DC.s"
void JStudio::TAdaptor::adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor* param_1,
JStudio::TControl* param_2, u32 param_3,
void const* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_functionValue(param_2->getFunctionValue(param_4,param_5));
}
#pragma pop
/* 80286648-802866B0 280F88 0068+00 2/2 0/0 0/0 .text
* adaptor_setVariableValue_FVR_INDEX___Q27JStudio8TAdaptorFPQ27JStudio8TAdaptorPQ27JStudio8TControlUlPCvUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TAdaptor::adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor* param_0,
JStudio::TControl* param_1,
u32 param_2, void const* param_3,
u32 param_4) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80286648.s"
void JStudio::TAdaptor::adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor* param_1,
JStudio::TControl* param_2, u32 param_3,
void const* param_4, u32 param_5) {
TVariableValue* value = &param_1->pValue_[param_3];
value->setValue_functionValue(param_2->getFunctionValue_index(*(u32*)param_4));
}
#pragma pop
/* 802866B0-80286734 280FF0 0084+00 8/8 0/0 0/0 .text __dt__Q27JStudio7TObjectFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject::~TObject() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio7TObjectFv.s"
JStudio::TObject::~TObject() {
delete mpAdaptor;
}
#pragma pop
/* 80286734-8028679C 281074 0068+00 1/1 0/0 0/0 .text forward_value__Q27JStudio7TObjectFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TObject::forward_value(u32 param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/forward_value__Q27JStudio7TObjectFUl.s"
void JStudio::TObject::forward_value(u32 param_0) {
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_updateVariableValue(getControl(), param_0);
adaptor->adaptor_do_update(param_0);
}
}
#pragma pop
/* 8028679C-802867D4 2810DC 0038+00 9/0 0/0 0/0 .text do_begin__Q27JStudio7TObjectFv */
#ifdef NONMATCHING
void JStudio::TObject::do_begin() {
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_do_begin();
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1637,52 +1629,42 @@ extern "C" asm void do_begin__Q27JStudio7TObjectFv() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/do_begin__Q27JStudio7TObjectFv.s"
}
#pragma pop
#endif
/* 802867D4-8028680C 281114 0038+00 9/0 0/0 0/0 .text do_end__Q27JStudio7TObjectFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TObject::do_end() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/do_end__Q27JStudio7TObjectFv.s"
void JStudio::TObject::do_end() {
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_do_end();
}
}
#pragma pop
/* 8028680C-8028682C 28114C 0020+00 9/0 0/0 0/0 .text do_wait__Q27JStudio7TObjectFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TObject::do_wait(u32 param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/do_wait__Q27JStudio7TObjectFUl.s"
void JStudio::TObject::do_wait(u32 param_0) {
forward_value(param_0);
}
#pragma pop
/* 8028682C-80286864 28116C 0038+00 9/0 0/0 0/0 .text do_data__Q27JStudio7TObjectFPCvUlPCvUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JStudio::TObject::do_data(void const* param_0, u32 param_1, void const* param_2,
void JStudio::TObject::do_data(void const* param_0, u32 param_1, void const* param_2,
u32 param_3) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/do_data__Q27JStudio7TObjectFPCvUlPCvUl.s"
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
adaptor->adaptor_do_data(param_0, param_1, param_2, param_3);
}
}
#pragma pop
/* 80286864-802868B0 2811A4 004C+00 8/8 0/0 0/0 .text
* __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject::TObject(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80286864.s"
}
#pragma pop
JStudio::TObject::TObject(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor* param_1)
: stb::TObject(param_0), mpAdaptor(param_1) {}
/* 802868B0-80286910 2811F0 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio14TAdaptor_actorFv
*/
#ifdef NONMATCHING
JStudio::TAdaptor_actor::~TAdaptor_actor() {
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1691,19 +1673,15 @@ asm JStudio::TAdaptor_actor::~TAdaptor_actor() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio14TAdaptor_actorFv.s"
}
#pragma pop
#endif
/* 80286910-8028694C 281250 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio13TObject_actorFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio14TAdaptor_actor
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_actor::TObject_actor(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_actor* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80286910.s"
JStudio::TObject_actor::TObject_actor(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_actor* param_1) : TObject(param_0, param_1) {
}
#pragma pop
/* ############################################################################################## */
/* 8039AA68-8039AA74 0270C8 000C+00 3/3 2/2 0/0 .rodata
@@ -1746,6 +1724,9 @@ asm void JStudio::TObject_actor::do_paragraph(u32 param_0, void const* param_1,
#pragma pop
/* 80286C9C-80286CFC 2815DC 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio21TAdaptor_ambientLightFv */
#ifdef NONMATCHING
JStudio::TAdaptor_ambientLight::~TAdaptor_ambientLight() {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1754,20 +1735,15 @@ asm JStudio::TAdaptor_ambientLight::~TAdaptor_ambientLight() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio21TAdaptor_ambientLightFv.s"
}
#pragma pop
#endif
/* 80286CFC-80286D38 28163C 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio20TObject_ambientLightFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio21TAdaptor_ambientLight
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_ambientLight::TObject_ambientLight(
JStudio::TObject_ambientLight::TObject_ambientLight(
JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_ambientLight* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80286CFC.s"
JStudio::TAdaptor_ambientLight* param_1) : TObject(param_0, param_1) {
}
#pragma pop
/* ############################################################################################## */
/* 8039AA74-8039AA80 0270D4 000C+00 0/0 2/2 0/0 .rodata
@@ -1812,6 +1788,9 @@ asm void JStudio::TObject_ambientLight::do_paragraph(u32 param_0, void const* pa
/* 80286E1C-80286E7C 28175C 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio15TAdaptor_cameraFv
*/
#ifdef NONMATCHING
JStudio::TAdaptor_camera::~TAdaptor_camera() {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1820,19 +1799,14 @@ asm JStudio::TAdaptor_camera::~TAdaptor_camera() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio15TAdaptor_cameraFv.s"
}
#pragma pop
#endif
/* 80286E7C-80286EB8 2817BC 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio14TObject_cameraFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio15TAdaptor_camera
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_camera::TObject_camera(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_camera* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80286E7C.s"
}
#pragma pop
JStudio::TObject_camera::TObject_camera(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_camera* param_1)
: TObject(param_0, param_1) {}
/* ############################################################################################## */
/* 8039AAA8-8039AAB4 027108 000C+00 1/1 2/2 0/0 .rodata
@@ -1887,6 +1861,9 @@ asm void JStudio::TObject_camera::do_paragraph(u32 param_0, void const* param_1,
#pragma pop
/* 8028717C-802871DC 281ABC 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio12TAdaptor_fogFv */
#ifdef NONMATCHING
JStudio::TAdaptor_fog::~TAdaptor_fog() {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1895,19 +1872,13 @@ asm JStudio::TAdaptor_fog::~TAdaptor_fog() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio12TAdaptor_fogFv.s"
}
#pragma pop
#endif
/* 802871DC-80287218 281B1C 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio11TObject_fogFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio12TAdaptor_fog
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_fog::TObject_fog(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_fog* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_802871DC.s"
}
#pragma pop
JStudio::TObject_fog::TObject_fog(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_fog* param_1) : TObject(param_0, param_1) {}
/* ############################################################################################## */
/* 8039AAC0-8039AACC 027120 000C+00 1/1 0/0 0/0 .rodata
@@ -1943,6 +1914,9 @@ asm void JStudio::TObject_fog::do_paragraph(u32 param_0, void const* param_1, u3
/* 80287308-80287368 281C48 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio14TAdaptor_lightFv
*/
#ifdef NONMATCHING
JStudio::TAdaptor_light::~TAdaptor_light() {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1951,19 +1925,13 @@ asm JStudio::TAdaptor_light::~TAdaptor_light() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio14TAdaptor_lightFv.s"
}
#pragma pop
#endif
/* 80287368-802873A4 281CA8 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio13TObject_lightFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio14TAdaptor_light
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_light::TObject_light(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_light* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80287368.s"
}
#pragma pop
JStudio::TObject_light::TObject_light(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_light* param_1) : TObject(param_0, param_1) {}
/* ############################################################################################## */
/* 80431080-8043108C 05DDA0 000C+00 0/1 0/0 0/0 .bss @756 */
@@ -1994,30 +1962,38 @@ asm void JStudio::TObject_light::do_paragraph(u32 param_0, void const* param_1,
#pragma pop
/* 802875E0-80287640 281F20 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio16TAdaptor_messageFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TAdaptor_message::~TAdaptor_message() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio16TAdaptor_messageFv.s"
}
#pragma pop
JStudio::TAdaptor_message::~TAdaptor_message() {}
/* 80287640-8028767C 281F80 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio15TObject_messageFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio16TAdaptor_message
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_message::TObject_message(
JStudio::stb::data::TParse_TBlock_object const& param_0, JStudio::TAdaptor_message* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80287640.s"
}
#pragma pop
JStudio::TObject_message::TObject_message(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_message* param_1)
: TObject(param_0, param_1) {}
/* 8028767C-8028770C 281FBC 0090+00 1/0 0/0 0/0 .text
* do_paragraph__Q27JStudio15TObject_messageFUlPCvUl */
// param_1 &= 0x1f is out of place + unsure about the pmfn
#ifdef NONMATCHING
void JStudio::TObject_message::do_paragraph(u32 param_1, void const* param_2, u32 param_3) {
TAdaptor* adaptor = getAdaptor();
if (adaptor != NULL) {
u32 uVar1 = (param_1 >> 5);
param_1 &= 0x1f;
paragraphFunc pmfn_ = NULL;
switch (uVar1) {
case 0x42:
pmfn_ = &TObject::do_paragraph;
JUT_ASSERT(1161, pmfn_!=0);
break;
default:
return;
}
(((TObject*)adaptor)->*pmfn_)(param_1, param_2, param_3);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2026,8 +2002,12 @@ asm void JStudio::TObject_message::do_paragraph(u32 param_0, void const* param_1
#include "asm/JSystem/JStudio/JStudio/jstudio-object/do_paragraph__Q27JStudio15TObject_messageFUlPCvUl.s"
}
#pragma pop
#endif
/* 8028770C-8028776C 28204C 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio17TAdaptor_particleFv */
#ifdef NONMATCHING
JStudio::TAdaptor_particle::~TAdaptor_particle() {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2036,19 +2016,13 @@ asm JStudio::TAdaptor_particle::~TAdaptor_particle() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio17TAdaptor_particleFv.s"
}
#pragma pop
#endif
/* 8028776C-802877A8 2820AC 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio16TObject_particleFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio17TAdaptor_particle
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_particle::TObject_particle(
JStudio::stb::data::TParse_TBlock_object const& param_0, JStudio::TAdaptor_particle* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_8028776C.s"
}
#pragma pop
JStudio::TObject_particle::TObject_particle(
JStudio::stb::data::TParse_TBlock_object const& param_0, JStudio::TAdaptor_particle* param_1) : TObject(param_0, param_1) {}
/* 802877A8-80287B3C 2820E8 0394+00 2/0 0/0 0/0 .text
* do_paragraph__Q27JStudio16TObject_particleFUlPCvUl */
@@ -2063,6 +2037,9 @@ asm void JStudio::TObject_particle::do_paragraph(u32 param_0, void const* param_
/* 80287B3C-80287B9C 28247C 0060+00 0/0 1/1 0/0 .text __dt__Q27JStudio14TAdaptor_soundFv
*/
#ifdef NONMATCHING
JStudio::TAdaptor_sound::~TAdaptor_sound() {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2071,19 +2048,13 @@ asm JStudio::TAdaptor_sound::~TAdaptor_sound() {
#include "asm/JSystem/JStudio/JStudio/jstudio-object/__dt__Q27JStudio14TAdaptor_soundFv.s"
}
#pragma pop
#endif
/* 80287B9C-80287BD8 2824DC 003C+00 0/0 1/1 0/0 .text
* __ct__Q27JStudio13TObject_soundFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio14TAdaptor_sound
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JStudio::TObject_sound::TObject_sound(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_sound* param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/jstudio-object/func_80287B9C.s"
}
#pragma pop
JStudio::TObject_sound::TObject_sound(JStudio::stb::data::TParse_TBlock_object const& param_0,
JStudio::TAdaptor_sound* param_1) : TObject(param_0, param_1) {}
/* ############################################################################################## */
/* 8039AADC-8039AAE8 02713C 000C+00 0/0 0/0 0/0 .rodata
+57 -32
View File
@@ -1,14 +1,15 @@
#include "JSystem/JStudio/JStudio/stb.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#include "JSystem/JUtility/JUTException.h"
#include "global.h"
#include "algorithm.h"
//
// Types:
//
namespace std {
template <typename A1, typename B1>
void find_if(/* ... */);
/* 80289928 */ /* std::find_if<JGadget::TLinkList<JStudio::stb::TObject, 12>::iterator,
JStudio::object::TPRObject_ID_equal> */
void func_80289928(void* _this, JGadget::TLinkList<JStudio::stb::TObject, 12>::iterator,
@@ -112,7 +113,7 @@ void TObject::reset(const void* arg1) {
u32Wait_ = 0;
}
int TObject::forward(u32 arg1) {
u8 TObject::forward(u32 arg1) {
u8 temp = false;
while (true) {
@@ -330,23 +331,12 @@ TControl::~TControl() {
JUT_EXPECT(ocObject_.empty());
}
#ifdef NONMATCHING
/* 80289228-80289278 283B68 0050+00 1/1 0/0 0/0 .text
* appendObject__Q37JStudio3stb8TControlFPQ37JStudio3stb7TObject */
void TControl::appendObject(TObject* p) {
p->setControl_(this);
mObjectContainer.Push_back(p);
}
#else
/* 80289228-80289278 283B68 0050+00 1/1 0/0 0/0 .text
* appendObject__Q37JStudio3stb8TControlFPQ37JStudio3stb7TObject */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void TControl::appendObject(TObject* param_0) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/stb/appendObject__Q37JStudio3stb8TControlFPQ37JStudio3stb7TObject.s"
}
#pragma pop
#endif
void TControl::removeObject(TObject* p) {
ASSERT(p != 0);
@@ -363,16 +353,25 @@ void TControl::destroyObject(TObject* p) {
/* 80289300-80289364 283C40 0064+00 0/0 2/2 0/0 .text destroyObject_all__Q37JStudio3stb8TControlFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void TControl::destroyObject_all() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/stb/destroyObject_all__Q37JStudio3stb8TControlFv.s"
void TControl::destroyObject_all() {
while (!mObjectContainer.empty()) {
destroyObject(&mObjectContainer.back());
}
}
#pragma pop
/* 80289364-80289404 283CA4 00A0+00 1/1 0/0 0/0 .text getObject__Q37JStudio3stb8TControlFPCvUl */
// TPRObject_ID_equal copy issue
#ifdef NONMATCHING
TObject* TControl::getObject(void const* param_0, u32 param_1) {
JGadget::TLinkList<TObject, -12>::iterator begin = mObjectContainer.begin();
JGadget::TLinkList<TObject, -12>::iterator end = mObjectContainer.end();
JGadget::TLinkList<TObject, -12>::iterator local_50 = std::find_if(begin, end, object::TPRObject_ID_equal(param_0, param_1));
if ((local_50 != end) != false) {
return &*local_50;
}
return NULL;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -381,19 +380,44 @@ asm TObject* TControl::getObject(void const* param_0, u32 param_1) {
#include "asm/JSystem/JStudio/JStudio/stb/getObject__Q37JStudio3stb8TControlFPCvUl.s"
}
#pragma pop
#endif
/* 80289404-802894B4 283D44 00B0+00 0/0 1/1 0/0 .text reset__Q37JStudio3stb8TControlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void TControl::reset() {
nofralloc
#include "asm/JSystem/JStudio/JStudio/stb/reset__Q37JStudio3stb8TControlFv.s"
void TControl::reset() {
resetStatus_();
mObject_control.reset(NULL);
JGadget::TContainerEnumerator<JStudio::stb::TObject, -12> aTStack_18(&mObjectContainer);
while (aTStack_18) {
(*aTStack_18).reset(NULL);
}
}
#pragma pop
/* 802894B4-802895B4 283DF4 0100+00 0/0 2/2 0/0 .text forward__Q37JStudio3stb8TControlFUl
*/
// regalloc
#ifdef NONMATCHING
u8 TControl::forward(u32 param_0) {
_54 = mObject_control.getSuspend();
u8 rv = mObject_control.forward(param_0);
int uVar7 = 0xf;
int uVar6 = 0;
JGadget::TContainerEnumerator<JStudio::stb::TObject, -12> aTStack_38(&mObjectContainer);
while (aTStack_38) {
JStudio::stb::TObject& this_00 = *aTStack_38;
u8 iVar5 = 0;
u8 iVar4 = this_00.forward(param_0);
if (iVar4 != 0 || rv != 0) {
iVar5 = 1;
}
rv = iVar5;
int uVar3 = this_00.getStatus();
uVar7 &= uVar3;
uVar6 |= uVar3;
}
setStatus_(uVar7 | (uVar6 << 0x10));
return rv;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -402,10 +426,11 @@ asm u8 TControl::forward(u32 param_0) {
#include "asm/JSystem/JStudio/JStudio/stb/forward__Q37JStudio3stb8TControlFUl.s"
}
#pragma pop
#endif
TFactory::~TFactory() {}
TObject* TFactory::create(data::TParse_TBlock_object const& param_0) {
JStudio::TObject* TFactory::create(data::TParse_TBlock_object const& param_0) {
return NULL;
}
@@ -501,7 +526,7 @@ bool TParse::parseBlock_object(const data::TParse_TBlock_object& ppObject, u32 f
return false;
}
TObject* p = pFactory->create(ppObject);
JStudio::TObject* p = pFactory->create(ppObject);
if (p == NULL) {
if (flags & 0x40)
return true;
@@ -60,7 +60,7 @@ asm JStudio_JAudio2::TCreateObject::~TCreateObject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void
asm bool
JStudio_JAudio2::TCreateObject::create(JStudio::TObject** param_0,
JStudio::stb::data::TParse_TBlock_object const& param_1) {
nofralloc
@@ -68,7 +68,7 @@ asm JStudio_JParticle::TCreateObject::~TCreateObject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void
asm bool
JStudio_JParticle::TCreateObject::create(JStudio::TObject** param_0,
JStudio::stb::data::TParse_TBlock_object const& param_1) {
nofralloc
@@ -75,7 +75,7 @@ asm JStudio_JStage::TCreateObject::~TCreateObject() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void
asm bool
JStudio_JStage::TCreateObject::create(JStudio::TObject** param_0,
JStudio::stb::data::TParse_TBlock_object const& param_1) {
nofralloc
+1 -1
View File
@@ -530,7 +530,7 @@ jstudio_tCreateObject_message::~jstudio_tCreateObject_message() {}
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void
asm bool
jstudio_tCreateObject_message::create(JStudio::TObject** param_0,
const JStudio::stb::data::TParse_TBlock_object& param_1) {
nofralloc