JStudio and a few other things. (#104)

* JStudio and a few other things.
Links object-ambientlight, object-fog, and object-message.

* Formatting and progress update

Co-authored-by: HeartPiece <deancsouthwood@gmail.com>
This commit is contained in:
SodiumChlorideLogic 2022-11-09 01:02:15 -05:00 committed by GitHub
parent 38f790bef1
commit 32a70580dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
112 changed files with 3408 additions and 7103 deletions

View File

@ -1,203 +0,0 @@
.include "macros.inc"
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.balign 8
.global __vt__Q214JStudio_JStage21TAdaptor_ambientLight
__vt__Q214JStudio_JStage21TAdaptor_ambientLight:
.4byte 0
.4byte 0
.4byte __dt__Q214JStudio_JStage21TAdaptor_ambientLightFv
.4byte adaptor_do_prepare__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject
.4byte adaptor_do_begin__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject
.4byte adaptor_do_end__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject
.4byte adaptor_do_update__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObjectUl
.4byte adaptor_do_data__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObjectPCvUlPCvUl
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global __ct__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ26JStage7TSystemPQ26JStage13TAmbientLight
__ct__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ26JStage7TSystemPQ26JStage13TAmbientLight:
/* 8001318C 000100CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80013190 000100D0 7C 08 02 A6 */ mflr r0
/* 80013194 000100D4 3C C0 80 4A */ lis r6, __vt__Q27JStudio8TAdaptor@ha
/* 80013198 000100D8 3C E0 80 4A */ lis r7, __vt__Q27JStudio21TAdaptor_ambientLight@ha
/* 8001319C 000100DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 800131A0 000100E0 38 06 F4 68 */ addi r0, r6, __vt__Q27JStudio8TAdaptor@l
/* 800131A4 000100E4 3C C0 80 00 */ lis r6, __ct__Q27JStudio14TVariableValueFv@ha
/* 800131A8 000100E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800131AC 000100EC 7C BF 2B 78 */ mr r31, r5
/* 800131B0 000100F0 38 A7 F3 B8 */ addi r5, r7, __vt__Q27JStudio21TAdaptor_ambientLight@l
/* 800131B4 000100F4 38 E0 00 04 */ li r7, 4
/* 800131B8 000100F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800131BC 000100FC 7C 9E 23 78 */ mr r30, r4
/* 800131C0 00010100 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800131C4 00010104 7C 7D 1B 78 */ mr r29, r3
/* 800131C8 00010108 7F A8 EB 78 */ mr r8, r29
/* 800131CC 0001010C 90 03 00 00 */ stw r0, 0(r3)
/* 800131D0 00010110 38 68 00 0C */ addi r3, r8, 0xc
/* 800131D4 00010114 38 00 00 04 */ li r0, 4
/* 800131D8 00010118 90 7D 00 04 */ stw r3, 4(r29)
/* 800131DC 0001011C 90 1D 00 08 */ stw r0, 8(r29)
/* 800131E0 00010120 38 06 58 08 */ addi r0, r6, __ct__Q27JStudio14TVariableValueFv@l
/* 800131E4 00010124 7C 04 03 78 */ mr r4, r0
/* 800131E8 00010128 38 C0 00 14 */ li r6, 0x14
/* 800131EC 0001012C 90 BD 00 00 */ stw r5, 0(r29)
/* 800131F0 00010130 38 A0 00 00 */ li r5, 0
/* 800131F4 00010134 48 0A E6 49 */ bl __construct_array
/* 800131F8 00010138 3C 80 80 4A */ lis r4, __vt__Q214JStudio_JStage21TAdaptor_ambientLight@ha
/* 800131FC 0001013C 7F A3 EB 78 */ mr r3, r29
/* 80013200 00010140 38 04 F7 08 */ addi r0, r4, __vt__Q214JStudio_JStage21TAdaptor_ambientLight@l
/* 80013204 00010144 90 1D 00 00 */ stw r0, 0(r29)
/* 80013208 00010148 93 DD 00 5C */ stw r30, 0x5c(r29)
/* 8001320C 0001014C 93 FD 00 60 */ stw r31, 0x60(r29)
/* 80013210 00010150 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80013214 00010154 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80013218 00010158 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8001321C 0001015C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80013220 00010160 7C 08 03 A6 */ mtlr r0
/* 80013224 00010164 38 21 00 20 */ addi r1, r1, 0x20
/* 80013228 00010168 4E 80 00 20 */ blr
.global __dt__Q214JStudio_JStage21TAdaptor_ambientLightFv
__dt__Q214JStudio_JStage21TAdaptor_ambientLightFv:
/* 8001322C 0001016C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80013230 00010170 7C 08 02 A6 */ mflr r0
/* 80013234 00010174 90 01 00 14 */ stw r0, 0x14(r1)
/* 80013238 00010178 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001323C 0001017C 7C 9F 23 78 */ mr r31, r4
/* 80013240 00010180 93 C1 00 08 */ stw r30, 8(r1)
/* 80013244 00010184 7C 7E 1B 79 */ or. r30, r3, r3
/* 80013248 00010188 41 82 00 40 */ beq .L_80013288
/* 8001324C 0001018C 3C A0 80 4A */ lis r5, __vt__Q214JStudio_JStage21TAdaptor_ambientLight@ha
/* 80013250 00010190 38 80 00 00 */ li r4, 0
/* 80013254 00010194 38 05 F7 08 */ addi r0, r5, __vt__Q214JStudio_JStage21TAdaptor_ambientLight@l
/* 80013258 00010198 90 1E 00 00 */ stw r0, 0(r30)
/* 8001325C 0001019C 81 83 00 00 */ lwz r12, 0(r3)
/* 80013260 000101A0 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80013264 000101A4 7D 89 03 A6 */ mtctr r12
/* 80013268 000101A8 4E 80 04 21 */ bctrl
/* 8001326C 000101AC 7F C3 F3 78 */ mr r3, r30
/* 80013270 000101B0 38 80 00 00 */ li r4, 0
/* 80013274 000101B4 4B FF AB 61 */ bl __dt__Q27JStudio21TAdaptor_ambientLightFv
/* 80013278 000101B8 7F E0 07 35 */ extsh. r0, r31
/* 8001327C 000101BC 40 81 00 0C */ ble .L_80013288
/* 80013280 000101C0 7F C3 F3 78 */ mr r3, r30
/* 80013284 000101C4 48 01 0E 31 */ bl __dl__FPv
.L_80013288:
/* 80013288 000101C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001328C 000101CC 7F C3 F3 78 */ mr r3, r30
/* 80013290 000101D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80013294 000101D4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80013298 000101D8 7C 08 03 A6 */ mtlr r0
/* 8001329C 000101DC 38 21 00 10 */ addi r1, r1, 0x10
/* 800132A0 000101E0 4E 80 00 20 */ blr
.global adaptor_do_prepare__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject
adaptor_do_prepare__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject:
/* 800132A4 000101E4 4E 80 00 20 */ blr
.global adaptor_do_begin__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject
adaptor_do_begin__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject:
/* 800132A8 000101E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800132AC 000101EC 7C 08 02 A6 */ mflr r0
/* 800132B0 000101F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 800132B4 000101F4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800132B8 000101F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800132BC 000101FC 7C 7E 1B 78 */ mr r30, r3
/* 800132C0 00010200 83 E3 00 60 */ lwz r31, 0x60(r3)
/* 800132C4 00010204 81 9F 00 00 */ lwz r12, 0(r31)
/* 800132C8 00010208 7F E3 FB 78 */ mr r3, r31
/* 800132CC 0001020C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800132D0 00010210 7D 89 03 A6 */ mtctr r12
/* 800132D4 00010214 4E 80 04 21 */ bctrl
/* 800132D8 00010218 81 9F 00 00 */ lwz r12, 0(r31)
/* 800132DC 0001021C 60 64 00 01 */ ori r4, r3, 1
/* 800132E0 00010220 7F E3 FB 78 */ mr r3, r31
/* 800132E4 00010224 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800132E8 00010228 7D 89 03 A6 */ mtctr r12
/* 800132EC 0001022C 4E 80 04 21 */ bctrl
/* 800132F0 00010230 80 7E 00 60 */ lwz r3, 0x60(r30)
/* 800132F4 00010234 81 83 00 00 */ lwz r12, 0(r3)
/* 800132F8 00010238 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 800132FC 0001023C 7D 89 03 A6 */ mtctr r12
/* 80013300 00010240 4E 80 04 21 */ bctrl
/* 80013304 00010244 3C 80 80 47 */ lis r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio21TAdaptor_ambientLight@ha
/* 80013308 00010248 90 61 00 08 */ stw r3, 8(r1)
/* 8001330C 0001024C 38 84 33 80 */ addi r4, r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio21TAdaptor_ambientLight@l
/* 80013310 00010250 7F C3 F3 78 */ mr r3, r30
/* 80013314 00010254 38 A1 00 08 */ addi r5, r1, 8
/* 80013318 00010258 4B FF A0 4D */ bl adaptor_setVariableValue_GXColor__Q27JStudio8TAdaptorFPCUlRC8_GXColor
/* 8001331C 0001025C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80013320 00010260 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80013324 00010264 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80013328 00010268 7C 08 03 A6 */ mtlr r0
/* 8001332C 0001026C 38 21 00 20 */ addi r1, r1, 0x20
/* 80013330 00010270 4E 80 00 20 */ blr
.global adaptor_do_end__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject
adaptor_do_end__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObject:
/* 80013334 00010274 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80013338 00010278 7C 08 02 A6 */ mflr r0
/* 8001333C 0001027C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80013340 00010280 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80013344 00010284 83 E3 00 60 */ lwz r31, 0x60(r3)
/* 80013348 00010288 81 9F 00 00 */ lwz r12, 0(r31)
/* 8001334C 0001028C 7F E3 FB 78 */ mr r3, r31
/* 80013350 00010290 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80013354 00010294 7D 89 03 A6 */ mtctr r12
/* 80013358 00010298 4E 80 04 21 */ bctrl
/* 8001335C 0001029C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80013360 000102A0 54 64 00 3C */ rlwinm r4, r3, 0, 0, 0x1e
/* 80013364 000102A4 7F E3 FB 78 */ mr r3, r31
/* 80013368 000102A8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8001336C 000102AC 7D 89 03 A6 */ mtctr r12
/* 80013370 000102B0 4E 80 04 21 */ bctrl
/* 80013374 000102B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80013378 000102B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001337C 000102BC 7C 08 03 A6 */ mtlr r0
/* 80013380 000102C0 38 21 00 10 */ addi r1, r1, 0x10
/* 80013384 000102C4 4E 80 00 20 */ blr
.global adaptor_do_update__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObjectUl
adaptor_do_update__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObjectUl:
/* 80013388 000102C8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8001338C 000102CC 7C 08 02 A6 */ mflr r0
/* 80013390 000102D0 3C 80 80 47 */ lis r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio21TAdaptor_ambientLight@ha
/* 80013394 000102D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80013398 000102D8 38 A4 33 80 */ addi r5, r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio21TAdaptor_ambientLight@l
/* 8001339C 000102DC 38 81 00 0C */ addi r4, r1, 0xc
/* 800133A0 000102E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800133A4 000102E4 7C 7F 1B 78 */ mr r31, r3
/* 800133A8 000102E8 4B FF A0 9D */ bl adaptor_getVariableValue_GXColor__Q27JStudio8TAdaptorCFP8_GXColorPCUl
/* 800133AC 000102EC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 800133B0 000102F0 38 81 00 08 */ addi r4, r1, 8
/* 800133B4 000102F4 90 01 00 08 */ stw r0, 8(r1)
/* 800133B8 000102F8 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 800133BC 000102FC 81 83 00 00 */ lwz r12, 0(r3)
/* 800133C0 00010300 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 800133C4 00010304 7D 89 03 A6 */ mtctr r12
/* 800133C8 00010308 4E 80 04 21 */ bctrl
/* 800133CC 0001030C 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 800133D0 00010310 81 83 00 00 */ lwz r12, 0(r3)
/* 800133D4 00010314 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 800133D8 00010318 7D 89 03 A6 */ mtctr r12
/* 800133DC 0001031C 4E 80 04 21 */ bctrl
/* 800133E0 00010320 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800133E4 00010324 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800133E8 00010328 7C 08 03 A6 */ mtlr r0
/* 800133EC 0001032C 38 21 00 20 */ addi r1, r1, 0x20
/* 800133F0 00010330 4E 80 00 20 */ blr
.global adaptor_do_data__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObjectPCvUlPCvUl
adaptor_do_data__Q214JStudio_JStage21TAdaptor_ambientLightFPCQ27JStudio7TObjectPCvUlPCvUl:
/* 800133F4 00010334 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800133F8 00010338 7C 08 02 A6 */ mflr r0
/* 800133FC 0001033C 7C A4 2B 78 */ mr r4, r5
/* 80013400 00010340 7C C5 33 78 */ mr r5, r6
/* 80013404 00010344 90 01 00 14 */ stw r0, 0x14(r1)
/* 80013408 00010348 7C E6 3B 78 */ mr r6, r7
/* 8001340C 0001034C 7D 07 43 78 */ mr r7, r8
/* 80013410 00010350 80 63 00 60 */ lwz r3, 0x60(r3)
/* 80013414 00010354 4B FF EC 31 */ bl adaptor_data___Q214JStudio_JStage16TAdaptor_object_FPQ26JStage7TObjectPCvUlPCvUl
/* 80013418 00010358 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001341C 0001035C 7C 08 03 A6 */ mtlr r0
/* 80013420 00010360 38 21 00 10 */ addi r1, r1, 0x10
/* 80013424 00010364 4E 80 00 20 */ blr

View File

@ -1,483 +0,0 @@
.include "macros.inc"
.section .ctors, "wa" # 0x80472F00 - 0x804732C0
lbl_constructor:
.4byte "__sinit_object-fog_cpp"
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.balign 8
lbl_8049F820:
.4byte 0x00000000
.4byte 0x00000048
.4byte 0x00000000
lbl_8049F82C:
.4byte 0x00000000
.4byte 0x00000044
.4byte 0x00000000
lbl_8049F838:
.4byte 0x00000000
.4byte 0x00000050
.4byte 0x00000000
lbl_8049F844:
.4byte 0x00000000
.4byte 0x0000004C
.4byte 0x00000000
.global __vt__Q214JStudio_JStage12TAdaptor_fog
__vt__Q214JStudio_JStage12TAdaptor_fog:
.4byte 0
.4byte 0
.4byte __dt__Q214JStudio_JStage12TAdaptor_fogFv
.4byte adaptor_do_prepare__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject
.4byte adaptor_do_begin__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject
.4byte adaptor_do_end__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject
.4byte adaptor_do_update__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObjectUl
.4byte adaptor_do_data__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObjectPCvUlPCvUl
# these following null bytes are not part of the vtable.
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.global "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>":
.4byte 0
.4byte 0
.4byte "__cl__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>CFfPQ27JStudio8TAdaptor"
.4byte "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"
# these following null bytes are not part of the vtable.
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section .bss # 0x804EFC20 - 0x8051467C
.balign 8
.lcomm lbl_804EFE68, 0xC, 4
.lcomm lbl_804EFE74, 0xC, 4
.lcomm lbl_804EFE80, 0xC, 4
# object-fog.cpp
.comm saoVVOutput___Q214JStudio_JStage12TAdaptor_fog, 0x60, 4
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global __ct__Q214JStudio_JStage12TAdaptor_fogFPCQ26JStage7TSystemPQ26JStage4TFog
__ct__Q214JStudio_JStage12TAdaptor_fogFPCQ26JStage7TSystemPQ26JStage4TFog:
/* 80014134 00011074 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80014138 00011078 7C 08 02 A6 */ mflr r0
/* 8001413C 0001107C 3C C0 80 4A */ lis r6, __vt__Q27JStudio8TAdaptor@ha
/* 80014140 00011080 3C E0 80 4A */ lis r7, __vt__Q27JStudio12TAdaptor_fog@ha
/* 80014144 00011084 90 01 00 24 */ stw r0, 0x24(r1)
/* 80014148 00011088 38 06 F4 68 */ addi r0, r6, __vt__Q27JStudio8TAdaptor@l
/* 8001414C 0001108C 3C C0 80 00 */ lis r6, __ct__Q27JStudio14TVariableValueFv@ha
/* 80014150 00011090 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80014154 00011094 7C BF 2B 78 */ mr r31, r5
/* 80014158 00011098 38 A7 F3 1C */ addi r5, r7, __vt__Q27JStudio12TAdaptor_fog@l
/* 8001415C 0001109C 38 E0 00 06 */ li r7, 6
/* 80014160 000110A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80014164 000110A4 7C 9E 23 78 */ mr r30, r4
/* 80014168 000110A8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8001416C 000110AC 7C 7D 1B 78 */ mr r29, r3
/* 80014170 000110B0 7F A8 EB 78 */ mr r8, r29
/* 80014174 000110B4 90 03 00 00 */ stw r0, 0(r3)
/* 80014178 000110B8 38 68 00 0C */ addi r3, r8, 0xc
/* 8001417C 000110BC 38 00 00 06 */ li r0, 6
/* 80014180 000110C0 90 7D 00 04 */ stw r3, 4(r29)
/* 80014184 000110C4 90 1D 00 08 */ stw r0, 8(r29)
/* 80014188 000110C8 38 06 58 08 */ addi r0, r6, __ct__Q27JStudio14TVariableValueFv@l
/* 8001418C 000110CC 7C 04 03 78 */ mr r4, r0
/* 80014190 000110D0 38 C0 00 14 */ li r6, 0x14
/* 80014194 000110D4 90 BD 00 00 */ stw r5, 0(r29)
/* 80014198 000110D8 38 A0 00 00 */ li r5, 0
/* 8001419C 000110DC 48 0A D6 A1 */ bl __construct_array
/* 800141A0 000110E0 3C 80 80 4A */ lis r4, __vt__Q214JStudio_JStage12TAdaptor_fog@ha
/* 800141A4 000110E4 7F A3 EB 78 */ mr r3, r29
/* 800141A8 000110E8 38 04 F8 50 */ addi r0, r4, __vt__Q214JStudio_JStage12TAdaptor_fog@l
/* 800141AC 000110EC 90 1D 00 00 */ stw r0, 0(r29)
/* 800141B0 000110F0 93 DD 00 84 */ stw r30, 0x84(r29)
/* 800141B4 000110F4 93 FD 00 88 */ stw r31, 0x88(r29)
/* 800141B8 000110F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800141BC 000110FC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800141C0 00011100 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800141C4 00011104 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800141C8 00011108 7C 08 03 A6 */ mtlr r0
/* 800141CC 0001110C 38 21 00 20 */ addi r1, r1, 0x20
/* 800141D0 00011110 4E 80 00 20 */ blr
.global __dt__Q214JStudio_JStage12TAdaptor_fogFv
__dt__Q214JStudio_JStage12TAdaptor_fogFv:
/* 800141D4 00011114 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800141D8 00011118 7C 08 02 A6 */ mflr r0
/* 800141DC 0001111C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800141E0 00011120 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800141E4 00011124 7C 9F 23 78 */ mr r31, r4
/* 800141E8 00011128 93 C1 00 08 */ stw r30, 8(r1)
/* 800141EC 0001112C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800141F0 00011130 41 82 00 40 */ beq .L_80014230
/* 800141F4 00011134 3C A0 80 4A */ lis r5, __vt__Q214JStudio_JStage12TAdaptor_fog@ha
/* 800141F8 00011138 38 80 00 00 */ li r4, 0
/* 800141FC 0001113C 38 05 F8 50 */ addi r0, r5, __vt__Q214JStudio_JStage12TAdaptor_fog@l
/* 80014200 00011140 90 1E 00 00 */ stw r0, 0(r30)
/* 80014204 00011144 81 83 00 00 */ lwz r12, 0(r3)
/* 80014208 00011148 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8001420C 0001114C 7D 89 03 A6 */ mtctr r12
/* 80014210 00011150 4E 80 04 21 */ bctrl
/* 80014214 00011154 7F C3 F3 78 */ mr r3, r30
/* 80014218 00011158 38 80 00 00 */ li r4, 0
/* 8001421C 0001115C 4B FF A2 F5 */ bl __dt__Q27JStudio12TAdaptor_fogFv
/* 80014220 00011160 7F E0 07 35 */ extsh. r0, r31
/* 80014224 00011164 40 81 00 0C */ ble .L_80014230
/* 80014228 00011168 7F C3 F3 78 */ mr r3, r30
/* 8001422C 0001116C 48 00 FE 89 */ bl __dl__FPv
.L_80014230:
/* 80014230 00011170 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014234 00011174 7F C3 F3 78 */ mr r3, r30
/* 80014238 00011178 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001423C 0001117C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80014240 00011180 7C 08 03 A6 */ mtlr r0
/* 80014244 00011184 38 21 00 10 */ addi r1, r1, 0x10
/* 80014248 00011188 4E 80 00 20 */ blr
.global adaptor_do_prepare__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject
adaptor_do_prepare__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject:
/* 8001424C 0001118C 3C 80 80 50 */ lis r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
/* 80014250 00011190 38 04 6C D4 */ addi r0, r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
/* 80014254 00011194 7C 05 03 78 */ mr r5, r0
/* 80014258 00011198 48 00 00 2C */ b .L_80014284
.L_8001425C:
/* 8001425C 0001119C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80014260 000111A0 80 83 00 04 */ lwz r4, 4(r3)
/* 80014264 000111A4 28 05 00 00 */ cmplwi r5, 0
/* 80014268 000111A8 7C 84 02 14 */ add r4, r4, r0
/* 8001426C 000111AC 41 82 00 0C */ beq .L_80014278
/* 80014270 000111B0 7C A0 2B 78 */ mr r0, r5
/* 80014274 000111B4 48 00 00 08 */ b .L_8001427C
.L_80014278:
/* 80014278 000111B8 38 0D 87 10 */ addi r0, r13, soOutput_none___Q27JStudio14TVariableValue@sda21
.L_8001427C:
/* 8001427C 000111BC 90 04 00 10 */ stw r0, 0x10(r4)
/* 80014280 000111C0 38 A5 00 20 */ addi r5, r5, 0x20
.L_80014284:
/* 80014284 000111C4 80 05 00 04 */ lwz r0, 4(r5)
/* 80014288 000111C8 2C 00 FF FF */ cmpwi r0, -1
/* 8001428C 000111CC 40 82 FF D0 */ bne .L_8001425C
/* 80014290 000111D0 4E 80 00 20 */ blr
.global adaptor_do_begin__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject
adaptor_do_begin__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject:
/* 80014294 000111D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80014298 000111D8 7C 08 02 A6 */ mflr r0
/* 8001429C 000111DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 800142A0 000111E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800142A4 000111E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800142A8 000111E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800142AC 000111EC 93 81 00 10 */ stw r28, 0x10(r1)
/* 800142B0 000111F0 7C 7C 1B 78 */ mr r28, r3
/* 800142B4 000111F4 83 C3 00 88 */ lwz r30, 0x88(r3)
/* 800142B8 000111F8 81 9E 00 00 */ lwz r12, 0(r30)
/* 800142BC 000111FC 7F C3 F3 78 */ mr r3, r30
/* 800142C0 00011200 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800142C4 00011204 7D 89 03 A6 */ mtctr r12
/* 800142C8 00011208 4E 80 04 21 */ bctrl
/* 800142CC 0001120C 81 9E 00 00 */ lwz r12, 0(r30)
/* 800142D0 00011210 60 64 00 01 */ ori r4, r3, 1
/* 800142D4 00011214 7F C3 F3 78 */ mr r3, r30
/* 800142D8 00011218 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800142DC 0001121C 7D 89 03 A6 */ mtctr r12
/* 800142E0 00011220 4E 80 04 21 */ bctrl
/* 800142E4 00011224 80 7C 00 88 */ lwz r3, 0x88(r28)
/* 800142E8 00011228 81 83 00 00 */ lwz r12, 0(r3)
/* 800142EC 0001122C 81 8C 00 54 */ lwz r12, 0x54(r12)
/* 800142F0 00011230 7D 89 03 A6 */ mtctr r12
/* 800142F4 00011234 4E 80 04 21 */ bctrl
/* 800142F8 00011238 3C 80 80 47 */ lis r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio12TAdaptor_fog@ha
/* 800142FC 0001123C 90 61 00 08 */ stw r3, 8(r1)
/* 80014300 00011240 38 84 33 B4 */ addi r4, r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio12TAdaptor_fog@l
/* 80014304 00011244 7F 83 E3 78 */ mr r3, r28
/* 80014308 00011248 38 A1 00 08 */ addi r5, r1, 8
/* 8001430C 0001124C 4B FF 90 59 */ bl adaptor_setVariableValue_GXColor__Q27JStudio8TAdaptorFPCUlRC8_GXColor
/* 80014310 00011250 3C 80 80 50 */ lis r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
/* 80014314 00011254 3C 60 80 01 */ lis r3, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha
/* 80014318 00011258 38 04 6C D4 */ addi r0, r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
/* 8001431C 0001125C 3B E0 00 00 */ li r31, 0
/* 80014320 00011260 7C 1D 03 78 */ mr r29, r0
/* 80014324 00011264 3B C3 D0 B0 */ addi r30, r3, update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l
/* 80014328 00011268 48 00 00 34 */ b .L_8001435C
.L_8001432C:
/* 8001432C 0001126C 80 7C 00 88 */ lwz r3, 0x88(r28)
/* 80014330 00011270 39 9D 00 14 */ addi r12, r29, 0x14
/* 80014334 00011274 48 0A D7 F1 */ bl __ptmf_scall
/* 80014338 00011278 60 00 00 00 */ nop
/* 8001433C 0001127C 80 1D 00 04 */ lwz r0, 4(r29)
/* 80014340 00011280 3B BD 00 20 */ addi r29, r29, 0x20
/* 80014344 00011284 80 7C 00 04 */ lwz r3, 4(r28)
/* 80014348 00011288 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8001434C 0001128C 7C 63 02 14 */ add r3, r3, r0
/* 80014350 00011290 93 C3 00 08 */ stw r30, 8(r3)
/* 80014354 00011294 93 E3 00 04 */ stw r31, 4(r3)
/* 80014358 00011298 D0 23 00 0C */ stfs f1, 0xc(r3)
.L_8001435C:
/* 8001435C 0001129C 80 1D 00 04 */ lwz r0, 4(r29)
/* 80014360 000112A0 2C 00 FF FF */ cmpwi r0, -1
/* 80014364 000112A4 40 82 FF C8 */ bne .L_8001432C
/* 80014368 000112A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8001436C 000112AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80014370 000112B0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80014374 000112B4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80014378 000112B8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8001437C 000112BC 7C 08 03 A6 */ mtlr r0
/* 80014380 000112C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80014384 000112C4 4E 80 00 20 */ blr
.global adaptor_do_end__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject
adaptor_do_end__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObject:
/* 80014388 000112C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001438C 000112CC 7C 08 02 A6 */ mflr r0
/* 80014390 000112D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014394 000112D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80014398 000112D8 83 E3 00 88 */ lwz r31, 0x88(r3)
/* 8001439C 000112DC 81 9F 00 00 */ lwz r12, 0(r31)
/* 800143A0 000112E0 7F E3 FB 78 */ mr r3, r31
/* 800143A4 000112E4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800143A8 000112E8 7D 89 03 A6 */ mtctr r12
/* 800143AC 000112EC 4E 80 04 21 */ bctrl
/* 800143B0 000112F0 81 9F 00 00 */ lwz r12, 0(r31)
/* 800143B4 000112F4 54 64 00 3C */ rlwinm r4, r3, 0, 0, 0x1e
/* 800143B8 000112F8 7F E3 FB 78 */ mr r3, r31
/* 800143BC 000112FC 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800143C0 00011300 7D 89 03 A6 */ mtctr r12
/* 800143C4 00011304 4E 80 04 21 */ bctrl
/* 800143C8 00011308 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800143CC 0001130C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800143D0 00011310 7C 08 03 A6 */ mtlr r0
/* 800143D4 00011314 38 21 00 10 */ addi r1, r1, 0x10
/* 800143D8 00011318 4E 80 00 20 */ blr
.global adaptor_do_update__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObjectUl
adaptor_do_update__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObjectUl:
/* 800143DC 0001131C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800143E0 00011320 7C 08 02 A6 */ mflr r0
/* 800143E4 00011324 3C 80 80 47 */ lis r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio12TAdaptor_fog@ha
/* 800143E8 00011328 90 01 00 24 */ stw r0, 0x24(r1)
/* 800143EC 0001132C 38 A4 33 B4 */ addi r5, r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio12TAdaptor_fog@l
/* 800143F0 00011330 38 81 00 0C */ addi r4, r1, 0xc
/* 800143F4 00011334 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800143F8 00011338 7C 7F 1B 78 */ mr r31, r3
/* 800143FC 0001133C 4B FF 90 49 */ bl adaptor_getVariableValue_GXColor__Q27JStudio8TAdaptorCFP8_GXColorPCUl
/* 80014400 00011340 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80014404 00011344 38 81 00 08 */ addi r4, r1, 8
/* 80014408 00011348 90 01 00 08 */ stw r0, 8(r1)
/* 8001440C 0001134C 80 7F 00 88 */ lwz r3, 0x88(r31)
/* 80014410 00011350 81 83 00 00 */ lwz r12, 0(r3)
/* 80014414 00011354 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 80014418 00011358 7D 89 03 A6 */ mtctr r12
/* 8001441C 0001135C 4E 80 04 21 */ bctrl
/* 80014420 00011360 80 7F 00 88 */ lwz r3, 0x88(r31)
/* 80014424 00011364 81 83 00 00 */ lwz r12, 0(r3)
/* 80014428 00011368 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8001442C 0001136C 7D 89 03 A6 */ mtctr r12
/* 80014430 00011370 4E 80 04 21 */ bctrl
/* 80014434 00011374 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80014438 00011378 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8001443C 0001137C 7C 08 03 A6 */ mtlr r0
/* 80014440 00011380 38 21 00 20 */ addi r1, r1, 0x20
/* 80014444 00011384 4E 80 00 20 */ blr
.global adaptor_do_data__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObjectPCvUlPCvUl
adaptor_do_data__Q214JStudio_JStage12TAdaptor_fogFPCQ27JStudio7TObjectPCvUlPCvUl:
/* 80014448 00011388 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001444C 0001138C 7C 08 02 A6 */ mflr r0
/* 80014450 00011390 7C A4 2B 78 */ mr r4, r5
/* 80014454 00011394 7C C5 33 78 */ mr r5, r6
/* 80014458 00011398 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001445C 0001139C 7C E6 3B 78 */ mr r6, r7
/* 80014460 000113A0 7D 07 43 78 */ mr r7, r8
/* 80014464 000113A4 80 63 00 88 */ lwz r3, 0x88(r3)
/* 80014468 000113A8 4B FF DB DD */ bl adaptor_data___Q214JStudio_JStage16TAdaptor_object_FPQ26JStage7TObjectPCvUlPCvUl
/* 8001446C 000113AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014470 000113B0 7C 08 03 A6 */ mtlr r0
/* 80014474 000113B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80014478 000113B8 4E 80 00 20 */ blr
"__sinit_object-fog_cpp": # static initializer
/* 8001447C 000113BC 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80014480 000113C0 7C 08 02 A6 */ mflr r0
/* 80014484 000113C4 3C 60 80 4A */ lis r3, lbl_8049F820@ha
/* 80014488 000113C8 3C 80 80 4A */ lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
/* 8001448C 000113CC 90 01 00 84 */ stw r0, 0x84(r1)
/* 80014490 000113D0 3C A0 80 4A */ lis r5, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 80014494 000113D4 3D 80 80 4F */ lis r12, lbl_804EFE68@ha
/* 80014498 000113D8 39 60 00 04 */ li r11, 4
/* 8001449C 000113DC 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 800144A0 000113E0 3B E3 F8 20 */ addi r31, r3, lbl_8049F820@l
/* 800144A4 000113E4 3C 60 80 50 */ lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
/* 800144A8 000113E8 93 C1 00 78 */ stw r30, 0x78(r1)
/* 800144AC 000113EC 3B CC FE 68 */ addi r30, r12, lbl_804EFE68@l
/* 800144B0 000113F0 39 85 F8 90 */ addi r12, r5, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 800144B4 000113F4 93 A1 00 74 */ stw r29, 0x74(r1)
/* 800144B8 000113F8 3B A4 F4 98 */ addi r29, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
/* 800144BC 000113FC 3C 80 80 01 */ lis r4, "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
/* 800144C0 00011400 38 BE 00 00 */ addi r5, r30, 0
/* 800144C4 00011404 97 A3 6C D4 */ stwu r29, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l(r3)
/* 800144C8 00011408 38 84 46 A4 */ addi r4, r4, "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
/* 800144CC 0001140C 81 5F 00 00 */ lwz r10, 0(r31)
/* 800144D0 00011410 81 3F 00 04 */ lwz r9, 4(r31)
/* 800144D4 00011414 81 1F 00 08 */ lwz r8, 8(r31)
/* 800144D8 00011418 80 FF 00 0C */ lwz r7, 0xc(r31)
/* 800144DC 0001141C 80 DF 00 10 */ lwz r6, 0x10(r31)
/* 800144E0 00011420 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 800144E4 00011424 93 A1 00 48 */ stw r29, 0x48(r1)
/* 800144E8 00011428 91 81 00 48 */ stw r12, 0x48(r1)
/* 800144EC 0001142C 91 61 00 4C */ stw r11, 0x4c(r1)
/* 800144F0 00011430 91 41 00 50 */ stw r10, 0x50(r1)
/* 800144F4 00011434 91 21 00 54 */ stw r9, 0x54(r1)
/* 800144F8 00011438 91 01 00 58 */ stw r8, 0x58(r1)
/* 800144FC 0001143C 90 E1 00 5C */ stw r7, 0x5c(r1)
/* 80014500 00011440 90 C1 00 60 */ stw r6, 0x60(r1)
/* 80014504 00011444 90 01 00 64 */ stw r0, 0x64(r1)
/* 80014508 00011448 91 83 00 00 */ stw r12, 0(r3)
/* 8001450C 0001144C 91 63 00 04 */ stw r11, 4(r3)
/* 80014510 00011450 91 43 00 08 */ stw r10, 8(r3)
/* 80014514 00011454 91 23 00 0C */ stw r9, 0xc(r3)
/* 80014518 00011458 91 03 00 10 */ stw r8, 0x10(r3)
/* 8001451C 0001145C 90 E3 00 14 */ stw r7, 0x14(r3)
/* 80014520 00011460 90 C3 00 18 */ stw r6, 0x18(r3)
/* 80014524 00011464 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80014528 00011468 48 0A D1 D9 */ bl __register_global_object
/* 8001452C 0001146C 3C 80 80 4A */ lis r4, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 80014530 00011470 38 61 00 48 */ addi r3, r1, 0x48
/* 80014534 00011474 38 04 F8 90 */ addi r0, r4, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 80014538 00011478 38 80 00 00 */ li r4, 0
/* 8001453C 0001147C 90 01 00 48 */ stw r0, 0x48(r1)
/* 80014540 00011480 4B FF 8B 29 */ bl __dt__Q37JStudio14TVariableValue7TOutputFv
/* 80014544 00011484 3C 80 80 4A */ lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
/* 80014548 00011488 3C 60 80 50 */ lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
/* 8001454C 0001148C 3B A4 F4 98 */ addi r29, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
/* 80014550 00011490 81 5F 00 18 */ lwz r10, 0x18(r31)
/* 80014554 00011494 38 63 6C D4 */ addi r3, r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
/* 80014558 00011498 81 3F 00 1C */ lwz r9, 0x1c(r31)
/* 8001455C 0001149C 97 A3 00 20 */ stwu r29, 0x20(r3)
/* 80014560 000114A0 39 60 00 05 */ li r11, 5
/* 80014564 000114A4 81 1F 00 20 */ lwz r8, 0x20(r31)
/* 80014568 000114A8 3C A0 80 4A */ lis r5, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 8001456C 000114AC 80 FF 00 24 */ lwz r7, 0x24(r31)
/* 80014570 000114B0 39 85 F8 90 */ addi r12, r5, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 80014574 000114B4 80 DF 00 28 */ lwz r6, 0x28(r31)
/* 80014578 000114B8 3C 80 80 01 */ lis r4, "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
/* 8001457C 000114BC 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80014580 000114C0 38 84 46 A4 */ addi r4, r4, "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
/* 80014584 000114C4 93 A1 00 28 */ stw r29, 0x28(r1)
/* 80014588 000114C8 38 BE 00 0C */ addi r5, r30, 0xc
/* 8001458C 000114CC 91 81 00 28 */ stw r12, 0x28(r1)
/* 80014590 000114D0 91 61 00 2C */ stw r11, 0x2c(r1)
/* 80014594 000114D4 91 41 00 30 */ stw r10, 0x30(r1)
/* 80014598 000114D8 91 21 00 34 */ stw r9, 0x34(r1)
/* 8001459C 000114DC 91 01 00 38 */ stw r8, 0x38(r1)
/* 800145A0 000114E0 90 E1 00 3C */ stw r7, 0x3c(r1)
/* 800145A4 000114E4 90 C1 00 40 */ stw r6, 0x40(r1)
/* 800145A8 000114E8 90 01 00 44 */ stw r0, 0x44(r1)
/* 800145AC 000114EC 91 83 00 00 */ stw r12, 0(r3)
/* 800145B0 000114F0 91 63 00 04 */ stw r11, 4(r3)
/* 800145B4 000114F4 91 43 00 08 */ stw r10, 8(r3)
/* 800145B8 000114F8 91 23 00 0C */ stw r9, 0xc(r3)
/* 800145BC 000114FC 91 03 00 10 */ stw r8, 0x10(r3)
/* 800145C0 00011500 90 E3 00 14 */ stw r7, 0x14(r3)
/* 800145C4 00011504 90 C3 00 18 */ stw r6, 0x18(r3)
/* 800145C8 00011508 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800145CC 0001150C 48 0A D1 35 */ bl __register_global_object
/* 800145D0 00011510 3C 80 80 4A */ lis r4, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 800145D4 00011514 38 61 00 28 */ addi r3, r1, 0x28
/* 800145D8 00011518 38 04 F8 90 */ addi r0, r4, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 800145DC 0001151C 38 80 00 00 */ li r4, 0
/* 800145E0 00011520 90 01 00 28 */ stw r0, 0x28(r1)
/* 800145E4 00011524 4B FF 8A 85 */ bl __dt__Q37JStudio14TVariableValue7TOutputFv
/* 800145E8 00011528 3C 80 80 4A */ lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
/* 800145EC 0001152C 3C 60 80 4A */ lis r3, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 800145F0 00011530 39 64 F4 98 */ addi r11, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
/* 800145F4 00011534 39 20 FF FF */ li r9, -1
/* 800145F8 00011538 91 61 00 08 */ stw r11, 8(r1)
/* 800145FC 0001153C 39 43 F8 90 */ addi r10, r3, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 80014600 00011540 3C 80 80 48 */ lis r4, __ptmf_null@ha
/* 80014604 00011544 3C 60 80 50 */ lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
/* 80014608 00011548 91 41 00 08 */ stw r10, 8(r1)
/* 8001460C 0001154C 39 04 9F 10 */ addi r8, r4, __ptmf_null@l
/* 80014610 00011550 3C 80 80 01 */ lis r4, "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
/* 80014614 00011554 80 E8 00 00 */ lwz r7, 0(r8)
/* 80014618 00011558 91 21 00 0C */ stw r9, 0xc(r1)
/* 8001461C 0001155C 38 63 6C D4 */ addi r3, r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
/* 80014620 00011560 38 84 46 A4 */ addi r4, r4, "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
/* 80014624 00011564 38 BE 00 18 */ addi r5, r30, 0x18
/* 80014628 00011568 80 C8 00 04 */ lwz r6, 4(r8)
/* 8001462C 0001156C 90 E1 00 10 */ stw r7, 0x10(r1)
/* 80014630 00011570 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80014634 00011574 80 08 00 08 */ lwz r0, 8(r8)
/* 80014638 00011578 95 63 00 40 */ stwu r11, 0x40(r3)
/* 8001463C 0001157C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80014640 00011580 90 E1 00 1C */ stw r7, 0x1c(r1)
/* 80014644 00011584 90 C1 00 20 */ stw r6, 0x20(r1)
/* 80014648 00011588 90 01 00 24 */ stw r0, 0x24(r1)
/* 8001464C 0001158C 91 43 00 00 */ stw r10, 0(r3)
/* 80014650 00011590 91 23 00 04 */ stw r9, 4(r3)
/* 80014654 00011594 90 E3 00 08 */ stw r7, 8(r3)
/* 80014658 00011598 90 C3 00 0C */ stw r6, 0xc(r3)
/* 8001465C 0001159C 90 03 00 10 */ stw r0, 0x10(r3)
/* 80014660 000115A0 90 E3 00 14 */ stw r7, 0x14(r3)
/* 80014664 000115A4 90 C3 00 18 */ stw r6, 0x18(r3)
/* 80014668 000115A8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8001466C 000115AC 48 0A D0 95 */ bl __register_global_object
/* 80014670 000115B0 3C 80 80 4A */ lis r4, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 80014674 000115B4 38 61 00 08 */ addi r3, r1, 8
/* 80014678 000115B8 38 04 F8 90 */ addi r0, r4, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 8001467C 000115BC 38 80 00 00 */ li r4, 0
/* 80014680 000115C0 90 01 00 08 */ stw r0, 8(r1)
/* 80014684 000115C4 4B FF 89 E5 */ bl __dt__Q37JStudio14TVariableValue7TOutputFv
/* 80014688 000115C8 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8001468C 000115CC 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 80014690 000115D0 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 80014694 000115D4 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 80014698 000115D8 7C 08 03 A6 */ mtlr r0
/* 8001469C 000115DC 38 21 00 80 */ addi r1, r1, 0x80
/* 800146A0 000115E0 4E 80 00 20 */ blr
.global "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv":
/* 800146A4 000115E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800146A8 000115E8 7C 08 02 A6 */ mflr r0
/* 800146AC 000115EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800146B0 000115F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800146B4 000115F4 7C 9F 23 78 */ mr r31, r4
/* 800146B8 000115F8 93 C1 00 08 */ stw r30, 8(r1)
/* 800146BC 000115FC 7C 7E 1B 79 */ or. r30, r3, r3
/* 800146C0 00011600 41 82 00 28 */ beq .L_800146E8
/* 800146C4 00011604 3C A0 80 4A */ lis r5, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
/* 800146C8 00011608 38 80 00 00 */ li r4, 0
/* 800146CC 0001160C 38 05 F8 90 */ addi r0, r5, "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
/* 800146D0 00011610 90 1E 00 00 */ stw r0, 0(r30)
/* 800146D4 00011614 4B FF 89 95 */ bl __dt__Q37JStudio14TVariableValue7TOutputFv
/* 800146D8 00011618 7F E0 07 35 */ extsh. r0, r31
/* 800146DC 0001161C 40 81 00 0C */ ble .L_800146E8
/* 800146E0 00011620 7F C3 F3 78 */ mr r3, r30
/* 800146E4 00011624 48 00 F9 D1 */ bl __dl__FPv
.L_800146E8:
/* 800146E8 00011628 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800146EC 0001162C 7F C3 F3 78 */ mr r3, r30
/* 800146F0 00011630 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800146F4 00011634 83 C1 00 08 */ lwz r30, 8(r1)
/* 800146F8 00011638 7C 08 03 A6 */ mtlr r0
/* 800146FC 0001163C 38 21 00 10 */ addi r1, r1, 0x10
/* 80014700 00011640 4E 80 00 20 */ blr
.global "__cl__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>CFfPQ27JStudio8TAdaptor"
"__cl__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>CFfPQ27JStudio8TAdaptor":
/* 80014704 00011644 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014708 00011648 7C 08 02 A6 */ mflr r0
/* 8001470C 0001164C 7C 65 1B 78 */ mr r5, r3
/* 80014710 00011650 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014714 00011654 39 85 00 08 */ addi r12, r5, 8
/* 80014718 00011658 80 64 00 88 */ lwz r3, 0x88(r4)
/* 8001471C 0001165C 48 0A D4 09 */ bl __ptmf_scall
/* 80014720 00011660 60 00 00 00 */ nop
/* 80014724 00011664 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014728 00011668 7C 08 03 A6 */ mtlr r0
/* 8001472C 0001166C 38 21 00 10 */ addi r1, r1, 0x10
/* 80014730 00011670 4E 80 00 20 */ blr

View File

@ -1,80 +0,0 @@
.include "macros.inc"
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.balign 8
.global __vt__Q216JStudio_JMessage16TAdaptor_message
__vt__Q216JStudio_JMessage16TAdaptor_message:
.4byte 0
.4byte 0
.4byte __dt__Q216JStudio_JMessage16TAdaptor_messageFv
.4byte adaptor_do_prepare__Q27JStudio8TAdaptorFPCQ27JStudio7TObject
.4byte adaptor_do_begin__Q27JStudio8TAdaptorFPCQ27JStudio7TObject
.4byte adaptor_do_end__Q27JStudio8TAdaptorFPCQ27JStudio7TObject
.4byte adaptor_do_update__Q27JStudio8TAdaptorFPCQ27JStudio7TObjectUl
.4byte adaptor_do_data__Q27JStudio8TAdaptorFPCQ27JStudio7TObjectPCvUlPCvUl
.4byte adaptor_do_MESSAGE__Q216JStudio_JMessage16TAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global __ct__Q216JStudio_JMessage16TAdaptor_messageFPQ28JMessage8TControl
__ct__Q216JStudio_JMessage16TAdaptor_messageFPQ28JMessage8TControl:
/* 80014D24 00011C64 3C E0 80 4A */ lis r7, __vt__Q27JStudio8TAdaptor@ha
/* 80014D28 00011C68 3C C0 80 4A */ lis r6, __vt__Q27JStudio16TAdaptor_message@ha
/* 80014D2C 00011C6C 38 07 F4 68 */ addi r0, r7, __vt__Q27JStudio8TAdaptor@l
/* 80014D30 00011C70 3C A0 80 4A */ lis r5, __vt__Q216JStudio_JMessage16TAdaptor_message@ha
/* 80014D34 00011C74 90 03 00 00 */ stw r0, 0(r3)
/* 80014D38 00011C78 38 E0 00 00 */ li r7, 0
/* 80014D3C 00011C7C 38 C6 F2 90 */ addi r6, r6, __vt__Q27JStudio16TAdaptor_message@l
/* 80014D40 00011C80 38 05 F8 C0 */ addi r0, r5, __vt__Q216JStudio_JMessage16TAdaptor_message@l
/* 80014D44 00011C84 90 E3 00 04 */ stw r7, 4(r3)
/* 80014D48 00011C88 90 E3 00 08 */ stw r7, 8(r3)
/* 80014D4C 00011C8C 90 C3 00 00 */ stw r6, 0(r3)
/* 80014D50 00011C90 90 03 00 00 */ stw r0, 0(r3)
/* 80014D54 00011C94 90 83 00 0C */ stw r4, 0xc(r3)
/* 80014D58 00011C98 4E 80 00 20 */ blr
.global __dt__Q216JStudio_JMessage16TAdaptor_messageFv
__dt__Q216JStudio_JMessage16TAdaptor_messageFv:
/* 80014D5C 00011C9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014D60 00011CA0 7C 08 02 A6 */ mflr r0
/* 80014D64 00011CA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014D68 00011CA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80014D6C 00011CAC 7C 9F 23 78 */ mr r31, r4
/* 80014D70 00011CB0 93 C1 00 08 */ stw r30, 8(r1)
/* 80014D74 00011CB4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80014D78 00011CB8 41 82 00 28 */ beq .L_80014DA0
/* 80014D7C 00011CBC 3C A0 80 4A */ lis r5, __vt__Q216JStudio_JMessage16TAdaptor_message@ha
/* 80014D80 00011CC0 38 80 00 00 */ li r4, 0
/* 80014D84 00011CC4 38 05 F8 C0 */ addi r0, r5, __vt__Q216JStudio_JMessage16TAdaptor_message@l
/* 80014D88 00011CC8 90 1E 00 00 */ stw r0, 0(r30)
/* 80014D8C 00011CCC 4B FF 9E 45 */ bl __dt__Q27JStudio16TAdaptor_messageFv
/* 80014D90 00011CD0 7F E0 07 35 */ extsh. r0, r31
/* 80014D94 00011CD4 40 81 00 0C */ ble .L_80014DA0
/* 80014D98 00011CD8 7F C3 F3 78 */ mr r3, r30
/* 80014D9C 00011CDC 48 00 F3 19 */ bl __dl__FPv
.L_80014DA0:
/* 80014DA0 00011CE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014DA4 00011CE4 7F C3 F3 78 */ mr r3, r30
/* 80014DA8 00011CE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80014DAC 00011CEC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80014DB0 00011CF0 7C 08 03 A6 */ mtlr r0
/* 80014DB4 00011CF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80014DB8 00011CF8 4E 80 00 20 */ blr
.global adaptor_do_MESSAGE__Q216JStudio_JMessage16TAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl
adaptor_do_MESSAGE__Q216JStudio_JMessage16TAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl:
/* 80014DBC 00011CFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80014DC0 00011D00 7C 08 02 A6 */ mflr r0
/* 80014DC4 00011D04 2C 04 00 19 */ cmpwi r4, 0x19
/* 80014DC8 00011D08 90 01 00 14 */ stw r0, 0x14(r1)
/* 80014DCC 00011D0C 41 82 00 08 */ beq .L_80014DD4
/* 80014DD0 00011D10 48 00 00 18 */ b .L_80014DE8
.L_80014DD4:
/* 80014DD4 00011D14 80 05 00 00 */ lwz r0, 0(r5)
/* 80014DD8 00011D18 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80014DDC 00011D1C 54 04 84 3E */ srwi r4, r0, 0x10
/* 80014DE0 00011D20 54 05 04 3E */ clrlwi r5, r0, 0x10
/* 80014DE4 00011D24 4B FF 38 99 */ bl setMessageCode__Q28JMessage8TControlFUsUs
.L_80014DE8:
/* 80014DE8 00011D28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80014DEC 00011D2C 7C 08 03 A6 */ mtlr r0
/* 80014DF0 00011D30 38 21 00 10 */ addi r1, r1, 0x10
/* 80014DF4 00011D34 4E 80 00 20 */ blr

View File

@ -46,49 +46,48 @@
| File | Size (bytes) | File | Size (bytes) |
| ---- | ---- | ---- | ---- |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/dsp/osdsp.c">dsp/osdsp.c</a> | 1590 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTPalette.cpp">JUT/JUTPalette.cpp</a> | 1637 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object-id.cpp">object/object-id.cpp</a> | 1767 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASRegisterParam.cpp">JAS/JASRegisterParam.cpp</a> | 1861 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASBasicBank.cpp">JAS/JASBasicBank.cpp</a> | 1877 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASTrackInterrupt.cpp">JAS/JASTrackInterrupt.cpp</a> | 2023 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASInstRand.cpp">JAS/JASInstRand.cpp</a> | 2290 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASReport.cpp">JAS/JASReport.cpp</a> | 2421 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAExTexShape.cpp">JPA/JPAExTexShape.cpp</a> | 2627 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object-message.cpp">object/object-message.cpp</a> | 2829 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTResource.cpp">JUT/JUTResource.cpp</a> | 3339 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAChildShape.cpp">JPA/JPAChildShape.cpp</a> | 3403 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/binary.cpp">binary.cpp</a> | 3595 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASInstSense.cpp">JAS/JASInstSense.cpp</a> | 3625 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/control.cpp">JAI/control.cpp</a> | 3656 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DSkinDeform.cpp">J3D/J3DSkinDeform.cpp</a> | 3683 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/control.cpp">JPA/control.cpp</a> | 3697 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASCmdStack.cpp">JAS/JASCmdStack.cpp</a> | 3719 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASSeqCtrl.cpp">JAS/JASSeqCtrl.cpp</a> | 3834 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DUMtxCache.cpp">J3D/J3DUMtxCache.cpp</a> | 4120 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASResArcLoader.cpp">JAS/JASResArcLoader.cpp</a> | 4209 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASSimpleWaveBank.cpp">JAS/JASSimpleWaveBank.cpp</a> | 4235 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASRegisterParam.cpp">JAS/JASRegisterParam.cpp</a> | 1861 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASBasicBank.cpp">JAS/JASBasicBank.cpp</a> | 1877 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASTrackInterrupt.cpp">JAS/JASTrackInterrupt.cpp</a> | 2023 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASInstRand.cpp">JAS/JASInstRand.cpp</a> | 2290 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASReport.cpp">JAS/JASReport.cpp</a> | 2421 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAExTexShape.cpp">JPA/JPAExTexShape.cpp</a> | 2627 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object-id.cpp">object/object-id.cpp</a> | 2689 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTResource.cpp">JUT/JUTResource.cpp</a> | 3339 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAChildShape.cpp">JPA/JPAChildShape.cpp</a> | 3403 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/binary.cpp">binary.cpp</a> | 3595 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASInstSense.cpp">JAS/JASInstSense.cpp</a> | 3625 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/control.cpp">JAI/control.cpp</a> | 3656 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DSkinDeform.cpp">J3D/J3DSkinDeform.cpp</a> | 3683 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/control.cpp">JPA/control.cpp</a> | 3697 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASCmdStack.cpp">JAS/JASCmdStack.cpp</a> | 3719 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASSeqCtrl.cpp">JAS/JASSeqCtrl.cpp</a> | 3834 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DUMtxCache.cpp">J3D/J3DUMtxCache.cpp</a> | 4120 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASResArcLoader.cpp">JAS/JASResArcLoader.cpp</a> | 4209 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASSimpleWaveBank.cpp">JAS/JASSimpleWaveBank.cpp</a> | 4235 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object.cpp">object/object.cpp</a> | 4404 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRFileFinder.cpp">JKR/JKRFileFinder.cpp</a> | 4435 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASCallback.cpp">JAS/JASCallback.cpp</a> | 4460 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRAramBlock.cpp">JKR/JKRAramBlock.cpp</a> | 4613 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTGraphFifo.cpp">JUT/JUTGraphFifo.cpp</a> | 4752 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAResourceManager.cpp">JPA/JPAResourceManager.cpp</a> | 4830 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/control.cpp">object/control.cpp</a> | 4890 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DVertex.cpp">J3D/J3DVertex.cpp</a> | 4934 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/dsp/dspproc.c">dsp/dspproc.c</a> | 5074 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/linklist.cpp">linklist.cpp</a> | 5339 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAISoundTable.cpp">JAI/JAISoundTable.cpp</a> | 5425 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/linklist.cpp">linklist.cpp</a> | 5266 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAISoundTable.cpp">JAI/JAISoundTable.cpp</a> | 5425 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRAramPiece.cpp">JKR/JKRAramPiece.cpp</a> | 5482 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/dsp/dsptask.c">dsp/dsptask.c</a> | 5616 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/std/std-list.cpp">std/std-list.cpp</a> | 5733 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMath/JMath.cpp">JMath/JMath.cpp</a> | 5848 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object-ambientlight.cpp">object/object-ambientlight.cpp</a> | 6069 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIDummyObject.cpp">JAI/JAIDummyObject.cpp</a> | 6605 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIFx.cpp">JAI/JAIFx.cpp</a> | 6628 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTDirectFile.cpp">JUT/JUTDirectFile.cpp</a> | 6711 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DBloSaver.cpp">J2D/J2DBloSaver.cpp</a> | 7152 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/dsp/osdsp_task.c">dsp/osdsp_task.c</a> | 7195 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTVideo.cpp">JUT/JUTVideo.cpp</a> | 7321 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAResourceLoader.cpp">JPA/JPAResourceLoader.cpp</a> | 7322 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRAramHeap.cpp">JKR/JKRAramHeap.cpp</a> | 7333 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTDbPrint.cpp">JUT/JUTDbPrint.cpp</a> | 7478 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelData.cpp">J3D/J3DModelData.cpp</a> | 7504 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRFileLoader.cpp">JKR/JKRFileLoader.cpp</a> | 7749 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object.cpp">object/object.cpp</a> | 7961 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-math.cpp">JStudio/jstudio-math.cpp</a> | 8139 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMath/JMath.cpp">JMath/JMath.cpp</a> | 5848 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/std/std-list.cpp">std/std-list.cpp</a> | 6002 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIDummyObject.cpp">JAI/JAIDummyObject.cpp</a> | 6605 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIFx.cpp">JAI/JAIFx.cpp</a> | 6628 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTDirectFile.cpp">JUT/JUTDirectFile.cpp</a> | 6711 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DBloSaver.cpp">J2D/J2DBloSaver.cpp</a> | 7152 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/dsp/osdsp_task.c">dsp/osdsp_task.c</a> | 7195 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTVideo.cpp">JUT/JUTVideo.cpp</a> | 7321 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAResourceLoader.cpp">JPA/JPAResourceLoader.cpp</a> | 7322 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRAramHeap.cpp">JKR/JKRAramHeap.cpp</a> | 7333 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTDbPrint.cpp">JUT/JUTDbPrint.cpp</a> | 7478 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelData.cpp">J3D/J3DModelData.cpp</a> | 7504 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRFileLoader.cpp">JKR/JKRFileLoader.cpp</a> | 7749 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-math.cpp">JStudio/jstudio-math.cpp</a> | 8166 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASAudioThread.cpp">JAS/JASAudioThread.cpp</a> | 8465 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/control.cpp">control.cpp</a> | 8564 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAU/JAUData.cpp">JAU/JAUData.cpp</a> | 9076 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASDrumSet.cpp">JAS/JASDrumSet.cpp</a> | 9145 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialAnm.cpp">J3D/J3DMaterialAnm.cpp</a> | 9362 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTXfb.cpp">JUT/JUTXfb.cpp</a> | 9537 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASDriverIF.cpp">JAS/JASDriverIF.cpp</a> | 9633 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DJointTree.cpp">J3D/J3DJointTree.cpp</a> | 9648 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialAnm.cpp">J3D/J3DMaterialAnm.cpp</a> | 9362 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASDriverIF.cpp">JAS/JASDriverIF.cpp</a> | 9483 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTXfb.cpp">JUT/JUTXfb.cpp</a> | 9537 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DJointTree.cpp">J3D/J3DJointTree.cpp</a> | 9648 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAExtraShape.cpp">JPA/JPAExtraShape.cpp</a> | 9733 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIBankWave.cpp">JAI/JAIBankWave.cpp</a> | 10030 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASWSParser.cpp">JAS/JASWSParser.cpp</a> | 10204 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAMath.cpp">JPA/JPAMath.cpp</a> | 10353 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRDvdFile.cpp">JKR/JKRDvdFile.cpp</a> | 10560 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTevs.cpp">J2D/J2DTevs.cpp</a> | 10655 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASCalc.cpp">JAS/JASCalc.cpp</a> | 10941 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTAssert.cpp">JUT/JUTAssert.cpp</a> | 11104 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASWaveArcLoader.cpp">JAS/JASWaveArcLoader.cpp</a> | 11790 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JSG/control.cpp">JSG/control.cpp</a> | 11866 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIInitData.cpp">JAI/JAIInitData.cpp</a> | 11979 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASDSPChannel.cpp">JAS/JASDSPChannel.cpp</a> | 12103 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASTaskThread.cpp">JAS/JASTaskThread.cpp</a> | 12404 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASOscillator.cpp">JAS/JASOscillator.cpp</a> | 12469 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-control.cpp">JStudio/jstudio-control.cpp</a> | 13052 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JFW/JFWSystem.cpp">JFW/JFWSystem.cpp</a> | 13169 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASWSParser.cpp">JAS/JASWSParser.cpp</a> | 10204 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-control.cpp">JStudio/jstudio-control.cpp</a> | 10255 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAMath.cpp">JPA/JPAMath.cpp</a> | 10353 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRDvdFile.cpp">JKR/JKRDvdFile.cpp</a> | 10560 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTevs.cpp">J2D/J2DTevs.cpp</a> | 10655 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASCalc.cpp">JAS/JASCalc.cpp</a> | 10941 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTAssert.cpp">JUT/JUTAssert.cpp</a> | 11104 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASWaveArcLoader.cpp">JAS/JASWaveArcLoader.cpp</a> | 11790 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JSG/control.cpp">JSG/control.cpp</a> | 11866 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAIInitData.cpp">JAI/JAIInitData.cpp</a> | 11979 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASDSPChannel.cpp">JAS/JASDSPChannel.cpp</a> | 12103 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASTaskThread.cpp">JAS/JASTaskThread.cpp</a> | 12404 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASOscillator.cpp">JAS/JASOscillator.cpp</a> | 13048 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JFW/JFWSystem.cpp">JFW/JFWSystem.cpp</a> | 13169 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMath/JMATrigonometric.cpp">JMath/JMATrigonometric.cpp</a> | 13465 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRDecomp.cpp">JKR/JKRDecomp.cpp</a> | 13705 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAI/JAISequenceHeap.cpp">JAI/JAISequenceHeap.cpp</a> | 14037 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASPlayer_impl.cpp">JAS/JASPlayer_impl.cpp</a> | 14172 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRThread.cpp">JKR/JKRThread.cpp</a> | 15077 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAEmitter.cpp">JPA/JPAEmitter.cpp</a> | 15234 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASBasicWaveBank.cpp">JAS/JASBasicWaveBank.cpp</a> | 15592 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/object/object-fog.cpp">object/object-fog.cpp</a> | 15809 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShapeFactory.cpp">J3D/J3DShapeFactory.cpp</a> | 16014 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASBankMgr.cpp">JAS/JASBankMgr.cpp</a> | 16245 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/std/std-vector.cpp">std/std-vector.cpp</a> | 16255 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRMemArchive.cpp">JKR/JKRMemArchive.cpp</a> | 16489 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTTexture.cpp">JUT/JUTTexture.cpp</a> | 16924 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRSolidHeap.cpp">JKR/JKRSolidHeap.cpp</a> | 16943 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRThread.cpp">JKR/JKRThread.cpp</a> | 15080 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JPA/JPAEmitter.cpp">JPA/JPAEmitter.cpp</a> | 15234 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASBasicWaveBank.cpp">JAS/JASBasicWaveBank.cpp</a> | 15592 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShapeFactory.cpp">J3D/J3DShapeFactory.cpp</a> | 16014 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/std/std-vector.cpp">std/std-vector.cpp</a> | 16116 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JAS/JASBankMgr.cpp">JAS/JASBankMgr.cpp</a> | 16245 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRMemArchive.cpp">JKR/JKRMemArchive.cpp</a> | 16489 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUT/JUTTexture.cpp">JUT/JUTTexture.cpp</a> | 16924 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKR/JKRSolidHeap.cpp">JKR/JKRSolidHeap.cpp</a> | 16943 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DDrawBuffer.cpp">J3D/J3DDrawBuffer.cpp</a> | 18271 |
### <section id="plugProjectEbisawaU">plugProjectEbisawaU</section>
| File | Size (bytes) | File | Size (bytes) |
@ -240,7 +239,7 @@
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/messageObj.cpp">messageObj.cpp</a> | 16076 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/gameflow.cpp">gameflow.cpp</a> | 16519 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/light.cpp">light.cpp</a> | 17269 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/wipe.cpp">wipe.cpp</a> | 17645 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/screenObj.cpp">screenObj.cpp</a> | 17853 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/pikmin2AramMgr.cpp">pikmin2AramMgr.cpp</a> | 18340 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/JSTObjectCamera.cpp">JSTObjectCamera.cpp</a> | 18683 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/movieConfig.cpp">movieConfig.cpp</a> | 19260 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/JSTObjectCamera.cpp">JSTObjectCamera.cpp</a> | 18682 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/sysGCU/movieConfig.cpp">movieConfig.cpp</a> | 19260 |
### <section id="utilityU">utilityU</section>
| File | Size (bytes) | File | Size (bytes) |

View File

@ -494,10 +494,10 @@ typedef enum _GXProjectionType {
GX_ORTHOGRAPHIC // 0x1
} GXProjectionType;
typedef struct _SDK_GXColor {
typedef struct _GXColor {
u8 r, g, b, a;
} GXColor;
typedef GXColor _GXColor; // this might be a wrapper in Pikmin 2? IDK.
typedef GXColor _SDK_GXColor; // this might be a wrapper in Pikmin 2? IDK.
typedef struct _SDK_GXColorS10 {
s16 r, g, b, a;

View File

@ -421,7 +421,7 @@ typedef struct OSThreadQueue OSThreadQueue;
typedef struct OSThreadLink OSThreadLink;
typedef s32 OSPriority; // 0 highest, 31 lowest
typedef struct OSMutex OSMutex;
typedef struct OSMutexObject OSMutex;
typedef struct OSMutexQueue OSMutexQueue;
typedef struct OSMutexLink OSMutexLink;
typedef struct OSCond OSCond;

View File

@ -69,6 +69,7 @@ int vsnprintf(char*, size_t, const char*, va_list);
int vsprintf(char* s, const char* format, va_list arg);
void* memcpy(void* dest, const void* src, size_t n);
int memcmp(const void* a, const void* b, size_t n);
#ifdef __cplusplus
};

View File

@ -22,7 +22,7 @@ struct ObjectActor : public JStage::TActor, public ObjectBase {
virtual ~ObjectActor(); // _08
virtual char* JSGGetName() const; // _10
virtual int JSGGetFlag() const; // _18
virtual u32 JSGGetFlag() const; // _18
virtual void JSGSetFlag(u32); // _1C
virtual void JSGSetData(u32, const void*, u32); // _24
virtual int JSGFindNodeID(const char*) const; // _34

View File

@ -21,7 +21,7 @@ struct ObjectCamera : public JStage::TCamera, public ObjectBase {
////////////////// VTABLE
virtual ~ObjectCamera(); // _08
virtual char* JSGGetName() const; // _10
virtual int JSGGetFlag() const; // _18
virtual u32 JSGGetFlag() const; // _18
virtual void JSGSetFlag(u32); // _1C
virtual void JSGSetData(u32, const void*, u32); // _24
virtual float JSGGetProjectionNear() const; // _44

View File

@ -15,7 +15,7 @@ struct ObjectSystem : public JStage::TSystem, public ObjectBase {
virtual ~ObjectSystem(); // _08
virtual char* JSGGetName() const; // _10
virtual int JSGGetFlag() const; // _18
virtual u32 JSGGetFlag() const; // _18
virtual void JSGSetFlag(u32); // _1C
virtual void JSGSetData(u32, const void*, u32); // _24
virtual int JSGFindObject(JStage::TObject**, const char*, JStage::TEObject) const; // _3C

View File

@ -5,6 +5,7 @@
namespace JStage {
struct TActor : public TObject {
virtual ~TActor() = 0; // _08
virtual int JSGFGetType() const; // _0C
virtual void JSGGetTranslation(Vec*) const; // _3C

View File

@ -5,8 +5,8 @@
#include "Dolphin/vec.h"
namespace JStage {
typedef struct TECameraProjection;
typedef struct TECameraView;
enum TECameraProjection {};
enum TECameraView {};
struct TCamera : public TObject {
virtual ~TCamera() = 0; // _08
virtual int JSGFGetType() const; // _0C

View File

@ -1,5 +1,6 @@
#ifndef _JSTAGE_TOBJECT_H
#define _JSTAGE_TOBJECT_H
#include "Dolphin/gx.h"
#include "types.h"
/*
__vt__Q26JStage7TObject:
@ -26,7 +27,7 @@ struct TObject {
virtual int JSGFGetType() const = 0; // _0C
virtual char* JSGGetName() const; // _10
virtual void JSGUpdate(); // _14
virtual int JSGGetFlag() const; // _18
virtual u32 JSGGetFlag() const; // _18
virtual void JSGSetFlag(u32); // _1C
virtual void* JSGGetData(u32, void*, u32) const; // _20
virtual void JSGSetData(u32, const void*, u32); // _24
@ -36,8 +37,41 @@ struct TObject {
virtual int JSGFindNodeID(const char*) const; // _34
virtual bool JSGGetNodeTransformation(u32, float (*)[4]) const; // _38
/** @fabricated */
inline void setFlagOff(u32 flag) { JSGSetFlag(JSGGetFlag() & ~flag); }
/** @fabricated */
inline void setFlagOn(u32 flag) { JSGSetFlag(JSGGetFlag() | flag); }
// _00 VTBL
};
// this cannot generate a vtable. There isn't even an unused vtable in the link map. And yet it definitely has one. Hmm.
// There also aren't any unused funcs for this type at all.
// It's not a typedef. Typedefs don't show on the link map.
// Unless... maybe it's just a POD type that just has a pointer to a JStage::TObject?
// But then there still needs to be a subclass of that somewhere. And that doesn't look right at all.
struct TAmbientLight : public TObject {
inline virtual GXColor JSGGetColor() const { return GXColor(); } // _3C
inline virtual void JSGSetColor(GXColor) const { } // _40
};
// None of these should generate bodies. The vtbl should never be generated. Ever.
struct TFog : public TObject {
inline virtual void virtual_3C() { } // _3C
inline virtual void virtual_40() { } // _40
inline virtual f32 virtual_44() const { return _04; } // _44
inline virtual void virtual_48(f32 p1) { _04 = p1; } // _48
inline virtual f32 virtual_4C() const { return _04; } // _4C
inline virtual void virtual_50(f32 p1) { _04 = p1; } // _50
inline virtual _GXColor JSGGetColor() const { return m_color; } // _54
inline virtual void JSGSetColor(_GXColor color) { m_color = color; } // _58
f32 _04;
_GXColor m_color;
};
struct TLight : public TObject {
};
} // namespace JStage
#endif

View File

@ -4,7 +4,7 @@
#include "JStage/TObject.h"
namespace JStage {
typedef struct TEObject;
enum TEObject { TEO_Unknown_0 = 0 };
struct TSystem : public TObject {
virtual ~TSystem() = 0; // _08
virtual int JSGFGetType() const; // _0C

View File

@ -4,6 +4,7 @@
#include "Dolphin/gx.h"
#include "Dolphin/vec.h"
#include "JStudio/data.h"
#include "JStudio/TVariableValue.h"
namespace JStudio {
struct TObject;
@ -11,15 +12,27 @@ struct TVariableValue;
struct TAdaptor {
struct TSetVariableValue_immediate {
int _00; // _00
inline TSetVariableValue_immediate(u32 p1, f32 p2)
: _00(p1)
, _04(p2)
{
}
u32 _00; // _00
f32 _04; // _04
};
typedef void (*StaticCapsSetVariableValueFunction)(TAdaptor*, TObject*, u32, const void*, u32);
~TAdaptor();
inline TAdaptor(TVariableValue* values, int count)
: _04(values)
, _08(count)
{
}
virtual void _08() = 0; // _08
// ~TAdaptor();
virtual ~TAdaptor() = 0; // _08
virtual void adaptor_do_prepare(const TObject*); // _0C
virtual void adaptor_do_begin(const TObject*); // _10
virtual void adaptor_do_end(const TObject*); // _14
@ -30,8 +43,8 @@ struct TAdaptor {
void adaptor_setVariableValue_immediate(const JStudio::TAdaptor::TSetVariableValue_immediate*);
void adaptor_setVariableValue_Vec(const u32*, const Vec&);
void adaptor_getVariableValue_Vec(Vec*, const u32*) const;
void adaptor_setVariableValue_GXColor(const u32*, const _GXColor&);
void adaptor_getVariableValue_GXColor(_GXColor*, const u32*) const;
void adaptor_setVariableValue_GXColor(u32 const*, _GXColor const&);
void adaptor_getVariableValue_GXColor(_GXColor*, u32 const*) const;
static void adaptor_setVariableValue_VOID_(TAdaptor*, TObject*, u32, const void*, u32);
static void adaptor_setVariableValue_IMMEDIATE_(TAdaptor*, TObject*, u32, const void*, u32);
static void adaptor_setVariableValue_TIME_(TAdaptor*, TObject*, u32, const void*, u32);
@ -47,93 +60,167 @@ struct TAdaptor {
// VTBL _00
TVariableValue* _04; // _04
int _08; // _08 - length of array pointed to by _04
};
struct TAdaptor_actor : public TAdaptor {
~TAdaptor_actor();
inline TAdaptor_actor()
: TAdaptor(_0C, 0xE)
, _0C()
{
}
virtual void _08() = 0; // _08
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
virtual void _3C() = 0; // _3C
virtual void _40() = 0; // _40
virtual void _44() = 0; // _44
virtual void _48() = 0; // _48
virtual void _4C() = 0; // _4C
// ~TAdaptor_actor();
virtual ~TAdaptor_actor() = 0; // _08
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _20
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _24
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _28
virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _2C
virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _30
virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _34
virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _38
virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _3C
virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _40
virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _44
virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _48
virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _4C
JStudio::TVariableValue _0C[14]; // _0C
static const u32 sauVariableValue_3_TRANSLATION_XYZ[3];
static const u32 sauVariableValue_3_ROTATION_XYZ[3];
static const u32 sauVariableValue_3_SCALING_XYZ[3];
};
struct TAdaptor_ambientLight : public TAdaptor {
~TAdaptor_ambientLight();
inline TAdaptor_ambientLight()
: TAdaptor(_0C, 4)
, _0C()
{
}
virtual void _08() = 0; // _08
// ~TAdaptor_ambientLight();
virtual ~TAdaptor_ambientLight() = 0; // _08
JStudio::TVariableValue _0C[4]; // _0C
static const u32 sauVariableValue_3_COLOR_RGB[3];
static const u32 sauVariableValue_4_COLOR_RGBA[4];
};
struct TAdaptor_camera : public TAdaptor {
~TAdaptor_camera();
inline TAdaptor_camera()
: TAdaptor(_0C, 0xC)
, _0C()
{
}
virtual void _08() = 0; // _08
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
// ~TAdaptor_camera();
virtual ~TAdaptor_camera() = 0; // _08
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _20
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _24
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _28
virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _2C
virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _30
virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _34
virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _38
JStudio::TVariableValue _0C[0xC]; // _0C
static const u32 sauVariableValue_3_POSITION_XYZ[3];
static const u32 sauVariableValue_3_TARGET_POSITION_XYZ[3];
};
struct TAdaptor_fog : public TAdaptor {
~TAdaptor_fog();
inline TAdaptor_fog()
: TAdaptor(_0C, 6)
, _0C()
{
}
virtual void _08() = 0; // _08
// ~TAdaptor_fog();
virtual ~TAdaptor_fog() = 0; // _08
JStudio::TVariableValue _0C[6];
static const u32 sauVariableValue_3_COLOR_RGB[3];
static const u32 sauVariableValue_4_COLOR_RGBA[4];
};
struct TAdaptor_light : public TAdaptor {
~TAdaptor_light();
// ~TAdaptor_light();
virtual void _08() = 0; // _08
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual ~TAdaptor_light() = 0; // _08
virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _20
virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _24
static const u32 sauVariableValue_3_COLOR_RGB[3];
static const u32 sauVariableValue_4_COLOR_RGBA[4];
static const u32 sauVariableValue_3_POSITION_XYZ[3];
static const u32 sauVariableValue_3_TARGET_POSITION_XYZ[3];
};
struct TAdaptor_message : public TAdaptor {
~TAdaptor_message();
inline TAdaptor_message()
: TAdaptor(nullptr, 0)
{
}
virtual void _08() = 0; // _08
virtual void _20() = 0; // _20
// ~TAdaptor_message();
virtual ~TAdaptor_message() = 0; // _08
virtual void adaptor_do_MESSAGE(data::TEOperationData, const void*, u32) = 0; // _20
};
struct TAdaptor_particle : public TAdaptor {
~TAdaptor_particle();
TAdaptor_particle()
: TAdaptor(_0C, 18)
, _0C()
{
}
virtual void _08() = 0; // _08
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
virtual void _3C() = 0; // _3C
// ~TAdaptor_particle();
virtual ~TAdaptor_particle() = 0; // _08
virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _20
virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _24
virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _28
virtual void adaptor_do_END(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _2C
virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _30
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _34
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _38
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long) = 0; // _3C
JStudio::TVariableValue _0C[18];
static const u32 sauVariableValue_3_TRANSLATION_XYZ[3];
static const u32 sauVariableValue_3_ROTATION_XYZ[3];
static const u32 sauVariableValue_3_SCALING_XYZ[3];
static const u32 sauVariableValue_3_COLOR_RGB[3];
static const u32 sauVariableValue_4_COLOR_RGBA[4];
static const u32 sauVariableValue_3_COLOR1_RGB[3];
static const u32 sauVariableValue_4_COLOR1_RGBA[4];
};
struct TAdaptor_sound : public TAdaptor {
~TAdaptor_sound();
// ~TAdaptor_sound();
virtual void _08() = 0; // _08
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
virtual void _3C() = 0; // _3C
virtual void _40() = 0; // _40
virtual ~TAdaptor_sound() = 0; // _08
virtual void _20() = 0; // _20
virtual void _24() = 0; // _24
virtual void _28() = 0; // _28
virtual void _2C() = 0; // _2C
virtual void _30() = 0; // _30
virtual void _34() = 0; // _34
virtual void _38() = 0; // _38
virtual void _3C() = 0; // _3C
virtual void _40() = 0; // _40
static const u32 sauVariableValue_3_POSITION_XYZ[3];
};
} // namespace JStudio

View File

@ -0,0 +1,62 @@
#ifndef _JSTUDIO_TCONTROL_H
#define _JSTUDIO_TCONTROL_H
#include "Dolphin/mtx.h"
#include "Dolphin/vec.h"
#include "JStudio/stb.h"
#include "JSystem/fvb/fvb.h"
#include "types.h"
namespace JStudio {
struct TControl : stb::TControl {
struct TTransform_translation_rotation_scaling {
/** @fabricated */
Vec& getTranslation() { return m_vecs[0]; }
/** @fabricated */
Vec& getRotation() { return m_vecs[1]; }
/** @fabricated */
Vec& getScaling() { return m_vecs[2]; }
/** @fabricated */
const Vec& getTranslation() const { return m_vecs[0]; }
/** @fabricated */
const Vec& getRotation() const { return m_vecs[1]; }
/** @fabricated */
const Vec& getScaling() const { return m_vecs[2]; }
/** @fabricated */
Vec* getAll() { return m_vecs; }
// Vec m_translation;
// Vec m_rotation;
// Vec m_scaling;
private:
Vec m_vecs[3];
};
struct TTransform_position {
Vec m_position;
};
TControl();
virtual ~TControl(); // _08
void transformOnSet_setOrigin(const Vec&, float);
void transformOnGet_setOrigin(const Vec&, float);
// unused/inlined:
void forward_value(u32);
f64 _58; // _58
fvb::TControl _60; // _60 - JStudio::fvb::TControl?
u8 _74; // _74
u8 _75; // _75
Vec _78; // _78
Vec _84; // _84
f32 _90; // _90
f32 _94; // _94
Mtx _98; // _98
Mtx _C8; // _C8
};
} // namespace JStudio
#endif

View File

@ -1,20 +1,12 @@
#ifndef _JSTUDIO_TCREATEOBJECT_H
#define _JSTUDIO_TCREATEOBJECT_H
/*
__vt__Q27JStudio13TCreateObject:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
*/
namespace JStudio {
struct TCreateObject {
~TCreateObject();
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
~TCreateObject();
};
} // namespace JStudio

View File

@ -0,0 +1,25 @@
#ifndef _JSTUDIO_TFACTORY_H
#define _JSTUDIO_TFACTORY_H
#include "JStudio/TCreateObject.h"
#include "JStudio/stb.h"
#include "JSystem/JGadget/linklist.h"
#include "JSystem/fvb/fvb.h"
namespace JStudio {
struct TFactory : public stb::TFactory {
virtual ~TFactory(); // _08
virtual int create(const stb::data::TParse_TBlock_object&); // _0C
void appendCreateObject(JStudio::TCreateObject*);
// unused/inlined:
void removeCreateObject(JStudio::TCreateObject*);
void removeCreateObject_all();
JGadget::TNodeLinkList m_nodeLinkList; // _04
fvb::TFactory m_fvbFactory; // _10
};
} // namespace JStudio
#endif

View File

@ -2,19 +2,27 @@
#define _JSTUDIO_TOBJECT_H
#include "JStudio/TAdaptor.h"
#include "JStudio/TControl.h"
#include "JStudio/data.h"
#include "JStudio/object.h"
#include "JStudio/stb.h"
#include "JSystem/JGadget/linklist.h"
#include "types.h"
namespace JStudio {
namespace stb {
namespace data {
struct TParse_TBlock_object;
}
} // namespace data
} // namespace stb
struct TObject {
TObject(data::TE32Block, void const*, unsigned long, TAdaptor*); // unused/inlined
TObject(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor*); // unused/inlined
struct TObject : stb::TObject {
TObject(data::TE32Block, void const*, unsigned long, TAdaptor*); // unused/inlined
TObject(const JStudio::stb::data::TParse_TBlock_object& data, JStudio::TAdaptor* adaptor) // unused/inlined
: stb::TObject(data)
, m_adaptor(adaptor)
{
}
// TODO: Isn't there an unused ~TObject in jstudio-object.cpp???
virtual ~TObject() = 0; // _08
@ -26,6 +34,11 @@ struct TObject {
// unused/inlined:
void forward_value(u32);
// VTBL _04
// JGadget::TLinkListNode _0C; // _0C
// TControl* m_control; // _14
TAdaptor* m_adaptor; // _34
};
struct TObject_actor : public TObject {

21
include/JStudio/TParse.h Normal file
View File

@ -0,0 +1,21 @@
#ifndef _JSTUDIO_TPARSE_H
#define _JSTUDIO_TPARSE_H
#include "JStudio/stb.h"
#include "JStudio/TControl.h"
#include "JSystem/fvb/fvb.h"
namespace JStudio {
struct TParse : public stb::TParse {
TParse(JStudio::TControl*);
virtual ~TParse(); // _08
virtual bool parseHeader(const stb::data::TParse_THeader&, unsigned long); // _14
virtual void parseBlock_block(const stb::data::TParse_TBlock&, unsigned long); // _18
void parseBlock_block_fvb_(const JStudio::stb::data::TParse_TBlock&, unsigned long);
fvb::TParse m_fvbParse; // _08
};
} // namespace JStudio
#endif

View File

@ -8,6 +8,7 @@ struct TAdaptor;
struct TVariableValue {
typedef void (*UpdateFunction)(TVariableValue*, f64);
struct TOutput {
// TODO: This still has a non-inline dtor, apparently?
virtual void operator()(float, TAdaptor*) const = 0; // _08
virtual ~TOutput() = 0; // _0C
};
@ -16,6 +17,13 @@ struct TVariableValue {
virtual ~TOutput_none_(); // _0C
};
TVariableValue()
: _04(0)
, _08(nullptr)
, _10(&soOutput_none_)
{
}
static void update_immediate_(TVariableValue*, f64);
static void update_time_(TVariableValue*, f64);
static void update_functionValue_(TVariableValue*, f64);
@ -23,11 +31,30 @@ struct TVariableValue {
// unused/inlined:
void update(double, TAdaptor*);
/**
* @fabricated
* In several places that this is used, it wouldn't have made sense to do a nullptr check.
*/
inline void setOutput(const TOutput* output)
{
_10 = (output != nullptr ? (JStudio::TVariableValue::TOutput*)output
: (JStudio::TVariableValue::TOutput*)&JStudio::TVariableValue::soOutput_none_);
}
/** @fabricated */
inline void set(UpdateFunction p1, u32 p2, f32 p3)
{
_08 = p1;
_04 = p2;
_0C = p3;
}
f32 _00; // _00
u32 _04; // _04
UpdateFunction _08; // _08
f32 _0C; // _0C
void* _10; // _10
TOutput* _10; // _10
static TOutput_none_ soOutput_none_;
};
} // namespace JStudio

View File

@ -0,0 +1,195 @@
#ifndef JSTUDIO_FUNCTIONVALUE_H
#define JSTUDIO_FUNCTIONVALUE_H
#include "Dolphin/vec.h"
#include "JSystem/JGadget/vector.h"
#include "types.h"
namespace JStudio {
struct TFunctionValue;
namespace functionvalue {
void extrapolateParameter_raw(f64, f64);
void extrapolateParameter_repeat(f64, f64);
void extrapolateParameter_clamp(f64, f64);
void extrapolateParameter_turn(f64, f64);
// unused/inlined:
void interpolateValue_hermite(f64, f64, f64, f64, f64, f64, f64);
void interpolateValue_BSpline_uniform(f64, f64, f64, f64, f64);
void interpolateValue_BSpline_uniform_first1(f64, f64, f64, f64, f64);
void interpolateValue_BSpline_uniform_first2(f64, f64, f64, f64, f64);
void interpolateValue_BSpline_uniform_last2(f64, f64, f64, f64, f64);
void interpolateValue_BSpline_uniform_last1(f64, f64, f64, f64, f64);
void interpolateValue_BSpline_nonuniform(f64, const f64*, const f64*);
} // namespace functionvalue
struct TFunctionValueAttribute_range {
TFunctionValueAttribute_range(); // unused/inlined
void range_set(f64, f64);
// unused/inlined:
void range_initialize();
void range_prepare();
void range_getParameter(f64, f64, f64) const;
};
struct TFunctionValueAttribute_refer {
~TFunctionValueAttribute_refer(); // unused/inlined
// unused/inlined
void refer_initialize();
bool refer_isReferring(const TFunctionValue*) const;
};
struct TFunctionValueAttributeSet_const {
TFunctionValueAttributeSet_const(const TFunctionValueAttributeSet_const&); // unused/inlined
// unused/inlined:
TFunctionValueAttribute_refer* refer_get() const;
};
struct TFunctionValue {
TFunctionValue(); // unused/inlined
// ~TFunctionValue();
// virtual ~TFunctionValue() = 0; // _08
virtual ~TFunctionValue(); // _08
virtual int getType() const = 0; // _0C
virtual void getAttributeSet() = 0; // _10
virtual void initialize() = 0; // _14
virtual void prepare() = 0; // _18
virtual void getValue(f64) = 0; // _1C
void toFunction_outside(int);
// unused/inlined:
void toString_type(int);
void toValue_type(const char*);
void toString_progress(int);
void toValue_progress(const char*);
void toString_adjust(int);
void toValue_adjust(const char*);
void toString_outside(int);
void toValue_outside(const char*);
void toString_interpolate(int);
void toValue_interpolate(const char*);
TFunctionValueAttributeSet_const* getAttributeSet() const;
};
struct TFunctionValue_composite : public TFunctionValue {
struct TData {
};
TFunctionValue_composite();
virtual ~TFunctionValue_composite(); // _08 (weak)
virtual int getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(f64); // _1C
void composite_raw(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&, f64);
void composite_index(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&, f64);
void composite_parameter(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
f64);
void composite_add(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&, f64);
void composite_subtract(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
f64);
void composite_multiply(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
f64);
void composite_divide(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&, f64);
};
struct TFunctionValue_constant : public TFunctionValue {
TFunctionValue_constant();
virtual ~TFunctionValue_constant(); // _08 (weak)
virtual int getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(f64); // _1C
};
struct TFunctionValue_hermite : public TFunctionValue {
struct TIterator_data_ {
};
TFunctionValue_hermite();
virtual ~TFunctionValue_hermite(); // _08 (weak)
virtual int getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(f64); // _1C
void data_set(const f32*, u32, u32);
};
struct TFunctionValue_list_parameter : public TFunctionValue {
struct TIterator_data_ {
};
TFunctionValue_list_parameter();
virtual ~TFunctionValue_list_parameter(); // _08 (weak)
virtual int getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(f64); // _1C
void data_set(const f32*, u32);
void update_INTERPOLATE_NONE_(const JStudio::TFunctionValue_list_parameter&, f64);
void update_INTERPOLATE_LINEAR_(const JStudio::TFunctionValue_list_parameter&, f64);
void update_INTERPOLATE_PLATEAU_(const JStudio::TFunctionValue_list_parameter&, f64);
void update_INTERPOLATE_BSPLINE_dataMore3_(const JStudio::TFunctionValue_list_parameter&, f64);
// unused/inlined:
void update_INTERPOLATE_CONTINUE_(const JStudio::TFunctionValue_list_parameter&, f64);
void update_INTERPOLATE_AVERAGE_(const JStudio::TFunctionValue_list_parameter&, f64);
void update_INTERPOLATE_SMOOTH_(const JStudio::TFunctionValue_list_parameter&, f64);
};
struct TFunctionValue_list : public TFunctionValue {
struct TIndexData_ {
};
TFunctionValue_list();
virtual ~TFunctionValue_list(); // _08 (weak)
virtual int getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(f64); // _1C
void update_INTERPOLATE_NONE_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_LINEAR_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_PLATEAU_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_BSPLINE_dataMore3_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
// unused/inlined:
void update_INTERPOLATE_CONTINUE_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_AVERAGE_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_SMOOTH_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
};
struct TFunctionValue_transition : public TFunctionValue {
TFunctionValue_transition();
virtual ~TFunctionValue_transition(); // _08 (weak)
virtual int getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(f64); // _1C
};
} // namespace JStudio
#endif

18
include/JStudio/math.h Normal file
View File

@ -0,0 +1,18 @@
#ifndef JSTUDIO_MATH_H
#define JSTUDIO_MATH_H
#include "Dolphin/vec.h"
#include "types.h"
namespace JStudio {
namespace math {
void getTransformation_SRxyzT(f32 (*)[4], const Vec&, const Vec&, const Vec&);
void getFromTransformation_SRxyzT(Vec*, Vec*, Vec*, const f32 (*)[4]);
// unused/inlined:
void getRotation_xyz(f32 (*)[4], float, float, float);
void transform_SRxyzT(f32 (*)[4], const f32 (*)[4], const Vec&, const Vec&, const Vec&);
} // namespace math
} // namespace JStudio
#endif

View File

@ -17,7 +17,7 @@ struct TIDData {
{
}
inline ~TIDData() {}; // unused/inlined
~TIDData() {}; // unused/inlined
const void* idString_0x0;
u32 lengthInBytes_0x4;
@ -26,8 +26,13 @@ struct TIDData {
};
struct TObject_ID : TIDData {
inline TObject_ID(const void* id, u32 length)
: TIDData(id, length)
{
}
// inline virtual ~TObject_ID() {}; // _08
inline ~TObject_ID() {};
~TObject_ID() {}; // unused/inlined
// JGadget::TLinkListNode _0C;
};

View File

@ -23,7 +23,7 @@ const u32 gu32Mask_TSequence_value_signExpansion = 0xFF000000;
extern const u32 ga4cSignature; // 'STB/0'
extern const u32 gauDataSize_TEParagraph_data[8];
inline void toString_block(char* a5c, u32 arg1);
inline void toString_block(char* a5c, u32 arg1); // unused/inlined
struct TParse_TParagraph_data {
@ -75,8 +75,14 @@ struct TParse_TBlock_object {
int* filedata;
};
/** @size{0x20} */
struct TParse_THeader {
int unk;
u32 m_signature; // _00
u16 _04; // _04
u16 _06; // _06
u8 _08[4]; // _08 - unknown
u32 blockCount; // _0C
u8 _10[0x10]; // _10 - unknown
};
} // namespace data

View File

@ -2,6 +2,7 @@
#define _JSTUDIO_STB_H
#include "JStudio/object.h"
#include "JSystem/JGadget/binary.h"
#include "types.h"
#include "JStudio/stb-data.h"
#include "JSystem/JGadget/linklist.h"
@ -11,25 +12,24 @@ namespace stb {
struct TControl;
struct TObject;
struct TParse {
TParse(JStudio::stb::TControl*);
TParse();
struct TParse : JGadget::binary::TParse_header_block {
TParse(TControl*);
TParse(); // unused/inlined?
// vt
virtual ~TParse();
virtual void parseHeader_next(void const**, u32*, u32);
virtual void parseBlock_next(void const**, u32*, u32);
virtual int parseHeader(data::TParse_THeader const&, u32);
virtual void parseBlock_block(data::TParse_TBlock const&, unsigned long);
virtual void parseBlock_object(data::TParse_TBlock_object const&, u32);
virtual ~TParse(); // _08
virtual bool parseHeader_next(const void**, u32*, u32); // _0C
virtual bool parseBlock_next(const void**, u32*, u32); // _10
virtual bool parseHeader(const data::TParse_THeader&, u32); // _14
virtual void parseBlock_block(const data::TParse_TBlock&, u32); // _18
virtual void parseBlock_object(const data::TParse_TBlock_object&, u32); // _1C
// TControl* control;
TControl* m_control;
};
struct TFactory {
virtual ~TFactory();
virtual int create(data::TParse_TBlock_object const&);
virtual void destroy(TObject*);
virtual ~TFactory(); // _08
virtual int create(const data::TParse_TBlock_object&); // _0C
virtual void destroy(TObject*); // _10
};
struct TObject : JStudio::object::TObject_ID {
@ -44,24 +44,24 @@ struct TObject : JStudio::object::TObject_ID {
};
TObject();
TObject(u32, void const*, u32);
TObject(data::TParse_TBlock_object const&);
TObject(u32, const void*, u32);
TObject(const data::TParse_TBlock_object&);
virtual ~TObject(); //_08
virtual void do_begin(); //_0C
virtual void do_end(); //_10
virtual void do_paragraph(u32, void const*, u32); //_14
virtual void do_wait(unsigned long); //_18
virtual void do_data(void const*, u32, void const*, u32); //_1C
virtual void do_paragraph(u32, const void*, u32); //_14
virtual void do_wait(u32); //_18
virtual void do_data(const void*, u32, const void*, u32); //_1C
bool forward(unsigned long);
bool forward(u32);
void process_paragraph_reserved(int, int*, int);
void process_sequence();
void toString_status(int);
void setFlag_operation(unsigned char, int);
void reset(void const*);
void setFlag_operation(u8, int);
void reset(const void*);
void process_sequence_();
void process_paragraph_reserved_(unsigned long, void const*, unsigned long);
void process_paragraph_reserved_(u32, const void*, u32);
// int* _00; // _00 through _10 are for something called object::TObject_ID
// in TP that doesnt exist here
@ -81,25 +81,28 @@ struct TObject : JStudio::object::TObject_ID {
};
struct TObject_control : TObject {
TObject_control(void const*, u32);
TObject_control(data::TParse_TBlock_object const&);
TObject_control(const void*, u32);
TObject_control(const data::TParse_TBlock_object&);
inline virtual ~TObject_control() {}; // _08 (weak)
};
struct TControl {
TControl();
virtual ~TControl(); // _08
const TObject* getObject(void const*, unsigned long);
void forward(unsigned long);
const TObject* getObject(const void*, u32);
void forward(u32);
// unused/inlined:
void appendObject(TObject*);
void removeObject(TObject*);
void removeObject_all();
void destroyObject(TObject*);
void destroyObject_all();
void getObject_index(unsigned long);
void getObject_index(u32);
void reset();
// void forward(unsigned long);
// VTBL _00
int _4; // _04

View File

@ -15,8 +15,8 @@ void setLevel(float, float, float);
void setMixerLevel(float, float);
void setAutoLevel(float);
void setDSPLevel(float);
s16 getChannelLevel();
s16 getAutoLevel();
u16 getChannelLevel();
u16 getAutoLevel();
float getAutoLevel_f32();
float getDSPLevel_f32();
void setOutputMode(unsigned long);

View File

@ -18,6 +18,7 @@ struct TChannel {
u16 _04;
u16 _06;
};
void init();
void playStart();
void playStop();

View File

@ -6,8 +6,14 @@
struct JASMutexLock {
// unused/inlined:
JASMutexLock(OSMutex*);
~JASMutexLock();
JASMutexLock(OSMutex* mutex)
: m_mutex(mutex)
{
OSLockMutex(mutex);
}
~JASMutexLock() { OSUnlockMutex(m_mutex); }
OSMutex* m_mutex;
};
/**

View File

@ -19,7 +19,7 @@ struct JASOscillator {
void initStart(const Data*);
void incCounter();
f32 getValue() const;
void release();
bool release();
f32 calc(const short*);
// unused/inlined
@ -32,7 +32,7 @@ struct JASOscillator {
float _10; // _10
float _14; // _14
short _18; // _18
short _1A; // _1A
u16 _1A; // _1A
u8 _1C; // _1C
u8 _1D; // _1D

View File

@ -10,6 +10,8 @@ struct TEBit {
};
struct TParse_header_block {
inline TParse_header_block() { }
virtual ~TParse_header_block() = 0; // _08
virtual bool parseHeader_next(const void**, u32*, u32) = 0; // _0C
virtual bool parseBlock_next(const void**, u32*, u32) = 0; // _10

View File

@ -0,0 +1,21 @@
#ifndef _JSYSTEM_JGADGET_TENUMERATOR_H
#define _JSYSTEM_JGADGET_TENUMERATOR_H
#include "types.h"
namespace JGadget {
template <typename Element>
struct TEnumerator {
TEnumerator(Element, Element);
Element operator*();
// TODO: __opb__ const
bool isEnd() const;
};
template <typename Container>
struct TContainerEnumerator_const {
TContainerEnumerator_const(const Container&);
};
} // namespace JGadget
#endif

View File

@ -19,22 +19,29 @@ struct TList {
};
struct TList_pointer_void : public TList<void*, TAllocator<void*>> {
TList_pointer_void();
TList_pointer_void(); // unused/inlined?
TList_pointer_void(const TAllocator<void*>& allocator);
TList_pointer_void(u32, const void*&, const TAllocator<void*>&); // unused/inlined
~TList_pointer_void();
void insert(iterator, const void*&);
void insert(iterator, void* const&);
void erase(iterator);
// unused/inlined:
void insert(iterator, u32, const void*&);
void insert(iterator, u32, void* const&);
void erase(iterator, iterator);
void remove(const void*&);
void assign(u32, const void*&);
void resize(u32, const void*&);
void remove(void* const&);
void assign(u32, void* const&);
void resize(u32, void* const&);
void unique();
TList_pointer_void& operator=(const TList_pointer_void& other);
};
template <typename Iterator, typename Value>
void findUpperBound_binary_current(Iterator, Iterator, Iterator, const Value&);
template <typename Iterator, typename Value, typename Predicate>
void findUpperBound_binary_current(Iterator, Iterator, Iterator, const Value&, Predicate);
} // namespace JGadget
#endif

View File

@ -1,4 +1,57 @@
#ifndef VECTOR_H
#define VECTOR_H
#ifndef _JSYSTEM_JGADGET_VECTOR_H
#define _JSYSTEM_JGADGET_VECTOR_H
#include "JSystem/JGadget/allocator.h"
#include "types.h"
namespace JGadget {
namespace vector {
void extend_default(u32, u32, u32);
} // namespace vector
template <typename Element, typename Allocator>
struct TVector {
struct Destructed_deallocate_ {
~Destructed_deallocate_(); // unused/inlined
};
TVector(u32, const Element&, const Allocator&);
~TVector();
void insert(Element*, u32, const Element&);
void Insert_raw(Element*, u32);
void insert(Element*, const Element&);
void assign(u32, const Element&);
void resize(u32, const Element&);
void Resize_raw(u32);
void operator=(const TVector<Element, Allocator>& rhs);
};
template <typename Element>
struct TVector_pointer {
void begin();
void end();
};
struct TVector_pointer_void : TVector<void*, TAllocator<void*>> {
TVector_pointer_void(const JGadget::TAllocator<void*>& allocator);
TVector_pointer_void(u32, void* const&, const JGadget::TAllocator<void*>& allocator); // unused/inlined
~TVector_pointer_void();
void insert(void**, void* const&);
void erase(void**, void**);
// unused/inlined:
void insert(void**, u32, void* const&);
void erase(void**);
void assign(u32, void* const&);
void resize(u32, void* const&);
void reserve(u32);
void operator=(const TVector_pointer_void& rhs);
void Insert_raw(void**, u32);
void Resize_raw(u32);
};
} // namespace JGadget
#endif

View File

@ -1,6 +1,7 @@
#ifndef _JSYSTEM_JGEOMETRY_H
#define _JSYSTEM_JGEOMETRY_H
#include "Dolphin/vec.h"
#include "types.h"
namespace JGeometry {
@ -98,6 +99,16 @@ struct TVec3 {
z = other.z;
}
// inline operator Vec() const { return *this; }
inline operator Vec() const
{
Vec other;
other.x = x;
other.y = y;
other.z = z;
return other;
}
T x;
T y;
T z;

View File

@ -6,8 +6,36 @@
#include "JSystem/JSupport/JSUList.h"
#include "types.h"
struct JKRThread;
struct JUTConsole;
struct JUTFont;
struct JKRThreadName_ {
};
struct JKRThreadSwitch {
typedef void (*Callback)(OSThread*, OSThread*);
JKRThreadSwitch(JKRHeap*); // unused/inlined
~JKRThreadSwitch(); // unused/inlined
// vtable is optimized out. Was 14 bytes large.
virtual void v_08(); // _08
virtual void v_0C(); // _0C
virtual void v_10(); // _10
void loopProc();
// unused/inlined:
void createManager(JKRHeap*);
void enter(OSThread*, JKRHeap*, int);
void enter(JKRThread*, int);
Callback setPreCallback(Callback);
Callback setPostCallback(Callback);
void callback(OSThread*, OSThread*);
void resetAll();
void draw(JKRThreadName_*);
void draw(JKRThreadName_*, JUTConsole*);
void createConsole(JUTFont*, int, JKRHeap*);
};
struct JKRThread : public JKRDisposer {
@ -15,13 +43,18 @@ struct JKRThread : public JKRDisposer {
JKRThread(JKRHeap*, unsigned long stackSize, int msgCount, int threadPriority);
JKRThread(OSThread*, int);
virtual ~JKRThread(); // _08
virtual void* run(); // _0C (weak)
virtual ~JKRThread(); // _08
virtual void* run() { return nullptr; } // _0C (weak)
void setCommon_mesgQueue(JKRHeap*, int);
BOOL setCommon_heapSpecified(JKRHeap*, unsigned long, int);
static void* start(void*);
// unused/inlined:
void searchThread(OSThread*);
void searchThreadLoad(OSThread*);
void dump();
JSULink<JKRThread> m_link; // _18
JKRHeap* m_heap; // _28
OSThread* m_thread; // _2C
@ -46,19 +79,48 @@ struct JKRThread : public JKRDisposer {
*/
struct JKRTask : public JKRThread {
typedef void RequestCallback(void*);
JKRTask(int, int, u32); // unused/inlined
virtual ~JKRTask(); // _08
virtual void* run(); // _0C
void request(RequestCallback*, void*, void*);
static JKRTask* create(int, int, unsigned long, JKRHeap*);
void request(RequestCallback*, void*, void*);
// unused/inlined:
void searchBlank();
void requestJam(RequestCallback, void*, void*);
void cancelAll();
void createTaskEndMessageQueue(int, JKRHeap*);
void destroyTaskEndMessageQueue();
void waitQueueMessageBlock(OSMessageQueue*, int*);
void waitQueueMessage(OSMessageQueue*, int*);
static void destroy(JKRTask*);
// u32 _78; // _78
JSULink<JKRTask> _7C; // _7C
u8 _8C[8]; // _8C
void* _8C; // _8C - ptr to array with elements of size 0xc
u32 _90; // _90 - element count of _8C
OSMessageQueue* _94; // _94
static JSUList<JKRTask> sTaskList;
};
/** @unused */
struct JKRIdleThread : JKRThread {
// vtable is optimized out. Was 14 bytes large.
virtual ~JKRIdleThread(); // _08
virtual void* run(); // _0C
virtual void v_10(); // _10
void destroy() { }
static void create(JKRHeap*, int, u32);
static JKRIdleThread* sThread;
};
#endif

View File

@ -0,0 +1,31 @@
#ifndef _JSYSTEM_JSTUDIO_JMESSAGE_H
#define _JSYSTEM_JSTUDIO_JMESSAGE_H
#include "JStudio/TAdaptor.h"
#include "JStudio/stb-data.h"
#include "JSystem/JMessage/TControl.h"
namespace JStudio_JMessage {
struct TCreateObject_base {
virtual ~TCreateObject_base() = 0; // _08
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&); // _0C
virtual void find(const JStudio::stb::data::TParse_TBlock_object&) = 0; // _10
};
} // namespace JStudio_JMessage
namespace JStudio_JMessage {
struct TCreateObject : public TCreateObject_base {
virtual ~TCreateObject(); // _08
virtual void find(const JStudio::stb::data::TParse_TBlock_object&); // _10
};
struct TAdaptor_message : public JStudio::TAdaptor_message {
virtual ~TAdaptor_message(); // _08
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, unsigned long); // _20
TAdaptor_message(JMessage::TControl*);
JMessage::TControl* m_control; // _10
};
} // namespace JStudio_JMessage
#endif

View File

@ -0,0 +1,66 @@
#ifndef _JSYSTEM_JSTUDIO_JPARTICLE_H
#define _JSYSTEM_JSTUDIO_JPARTICLE_H
#include "JStage/TObject.h"
#include "JStage/TSystem.h"
#include "JStudio/TAdaptor.h"
#include "JStudio/TObject.h"
#include "JSystem/JPA/JPAEmitter.h"
#include "types.h"
namespace JStudio_JParticle {
/** @size{0x1A8} */
struct TAdaptor_particle : JStudio::TAdaptor_particle {
struct TJPACallback_ : JPAEmitterCallBack {
inline TJPACallback_(TAdaptor_particle* adaptor)
: JPAEmitterCallBack()
, m_adaptor(adaptor)
, m_object(nullptr)
{
}
virtual ~TJPACallback_(); // _08 (weak)
virtual void execute(JPABaseEmitter*); // _0C
TAdaptor_particle* m_adaptor; // _04
const JStudio::TObject* m_object; // _08
};
TAdaptor_particle(JPAEmitterManager*, const JStage::TSystem*);
virtual ~TAdaptor_particle(); // _08
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
virtual void adaptor_do_end(const JStudio::TObject*); // _14
virtual void adaptor_do_update(const JStudio::TObject*, unsigned long); // _18
virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, const void*, unsigned long); // _20
virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, unsigned long); // _24
virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, unsigned long); // _28
virtual void adaptor_do_END(JStudio::data::TEOperationData, const void*, unsigned long); // _2C
virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, unsigned long); // _30
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long); // _34
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long); // _38
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long); // _3C
void beginParticle_fadeIn_(u32);
void endParticle_fadeOut_(u32);
JPAEmitterManager* m_emitterManager; // _174
JPABaseEmitter* m_emitter; // _178
TJPACallback_ m_callback; // _17C
int _188; // _188
u32 _18C; // _18C
u32 _190; // _190
u32 _194; // _194
const JStage::TSystem* m_system; // _198
JStage::TObject* _19C; // _19C
u32 _1A0; // _1A0
bool _1A4; // _1A4
};
struct TCreateObject {
virtual ~TCreateObject(); // _08
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&); // _0C
};
} // namespace JStudio_JParticle
#endif

View File

@ -1,20 +0,0 @@
#ifndef _JSYSTEM_JSTUDIO_JPARTICLE_TADAPTOR_PARTICLE_H
#define _JSYSTEM_JSTUDIO_JPARTICLE_TADAPTOR_PARTICLE_H
#include "types.h"
// NOTE, incomplete definitions
namespace JStudio_JParticle {
struct TAdaptor_particle {
struct TJPACallback {
~TJPACallback();
void execute(struct JPABaseEmitter*);
};
~TAdaptor_particle();
void beginParticle_fadeIn_(u32);
void endParticle_fadeOut_(u32);
};
} // namespace JStudio_JParticle
#endif

View File

@ -0,0 +1,260 @@
#ifndef _JSYSTEM_JSTUDIO_JSTAGE_H
#define _JSYSTEM_JSTUDIO_JSTAGE_H
#include "JStage/TActor.h"
#include "JStage/TCamera.h"
#include "JStage/TObject.h"
#include "JStage/TSystem.h"
#include "JStudio/TAdaptor.h"
#include "JStudio/TControl.h"
#include "JStudio/TObject.h"
#include "JStudio/TVariableValue.h"
namespace JStudio_JStage {
struct TCreateObject {
virtual ~TCreateObject(); // _08
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&); // _0C
};
template <typename Adaptor, typename Object>
struct TVariableValueOutput_object_ : public JStudio::TVariableValue::TOutput {
typedef void (Object::*Setter)(f32);
typedef f32 (Object::*Getter)() const;
TVariableValueOutput_object_(int valueIndex, Setter setter, Getter getter)
: TOutput()
, m_valueIndex(valueIndex)
, m_setter(setter)
, m_getter(getter)
{
}
virtual void operator()(float value, JStudio::TAdaptor* adaptor) const // _08 (weak)
{
(static_cast<Object*>(static_cast<Adaptor*>(adaptor)->m_object)->*m_setter)(value);
}
virtual ~TVariableValueOutput_object_() { } // _0C (weak)
int m_valueIndex; // _04
Setter m_setter; // _08
Getter m_getter; // _14
};
struct TAdaptor_object_ {
static void adaptor_data_(JStage::TObject*, const void*, u32, const void*, u32);
static JStage::TObject* adaptor_findJSGObject_(const JStage::TSystem*, const char*);
static u32 adaptor_findJSGObjectNode_(const JStage::TObject*, const char*);
static void adaptor_ENABLE_(JStage::TObject*, JStudio::data::TEOperationData, const void*, unsigned long);
};
struct TAdaptor_actor : public JStudio::TAdaptor_actor {
typedef void (JStage::TActor::*IDFunction)(u32);
typedef TVariableValueOutput_object_<TAdaptor_actor, JStage::TActor> TVVOutputObject;
struct TVVOutput_ANIMATION_FRAME_ : public JStudio::TVariableValue::TOutput {
typedef void (JStage::TActor::*Setter)(f32);
typedef f32 (JStage::TActor::*Getter)() const;
typedef f32 (JStage::TActor::*MaxGetter)() const;
TVVOutput_ANIMATION_FRAME_(int valueIndex, Setter setter, Getter getter, MaxGetter maxGetter)
: TOutput()
, m_valueIndex(valueIndex)
, m_setter(setter)
, m_getter(getter)
, m_maxGetter(maxGetter)
{
}
virtual void operator()(float, JStudio::TAdaptor*) const; // _08
virtual ~TVVOutput_ANIMATION_FRAME_() { } // _0C (weak)
int m_valueIndex; // _04
u32 _08; // _08
Setter m_setter; // _0C
Getter m_getter; // _18
MaxGetter m_maxGetter; // _24
};
TAdaptor_actor(const JStage::TSystem*, JStage::TActor*);
// vtable size is 0x50, despite all the padding.
virtual ~TAdaptor_actor(); // _08
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
virtual void adaptor_do_begin(const JStudio::TObject*); // _10
virtual void adaptor_do_end(const JStudio::TObject*); // _14
virtual void adaptor_do_update(const JStudio::TObject*, unsigned long); // _18
virtual void adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long); // _1C
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long); // _20
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long); // _24
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long); // _28
virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, unsigned long); // _2C
virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, const void*, unsigned long); // _30
virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, const void*, unsigned long); // _34
virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long); // _38
virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, const void*, unsigned long); // _3C
virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, const void*, unsigned long); // _40
virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, unsigned long); // _44
virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData, const void*, unsigned long); // _48
virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData, const void*, unsigned long); // _4C
// virtual void _50() = 0; // _50
// virtual void _54() = 0; // _54
// virtual void _58() = 0; // _58
// virtual void _5C() = 0; // _5C
// virtual void _60() = 0; // _60
// virtual void _64() = 0; // _64
// virtual void _68() = 0; // _68
// virtual void _6C() = 0; // _6C
// virtual void _70() = 0; // _70
// virtual void _74() = 0; // _74
// virtual void _78() = 0; // _78
// virtual void _7C() = 0; // _7C
// virtual void _80() = 0; // _80
// virtual void _84() = 0; // _84
// virtual void _88() = 0; // _88
// virtual void _8C() = 0; // _8C
// virtual void _90() = 0; // _90
// virtual void _94() = 0; // _94
// virtual void _98() = 0; // _98
// virtual void _9C() = 0; // _9C
void setJSG_ID_(IDFunction, JStudio::data::TEOperationData, const void*, unsigned long);
// void setJSG_ID_(JStage::TActor, void(const void*, void*, unsigned long), JStudio::data::TEOperationData, const void*, unsigned long);
void setJSG_SRT_(const JStudio::TControl*);
void getJSG_SRT_(const JStudio::TControl*);
const JStage::TSystem* m_system; // _124
JStage::TActor* m_object; // _128
u32 _12C; // _12C
u32 _130; // _130
u32 _134; // _134
JStage::TObject* _138; // _138
u32 _13C; // _13C
u8 _140; // _140
JStage::TObject* _144; // _144
u32 _148; // _148
static const TVVOutputObject saoVVOutput_[2];
static const TVVOutput_ANIMATION_FRAME_ saoVVOutput_ANIMATION_FRAME_[3];
};
struct TAdaptor_ambientLight : public JStudio::TAdaptor_ambientLight {
TAdaptor_ambientLight(const JStage::TSystem* system, JStage::TAmbientLight* object);
virtual ~TAdaptor_ambientLight(); // _08
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
virtual void adaptor_do_begin(const JStudio::TObject*); // _10
virtual void adaptor_do_end(const JStudio::TObject*); // _14
virtual void adaptor_do_update(const JStudio::TObject*, unsigned long); // _18
virtual void adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long); // _1C
const JStage::TSystem* m_system; // _5C
JStage::TAmbientLight* m_light; // _60
};
struct TAdaptor_camera : public JStudio::TAdaptor_camera {
typedef TVariableValueOutput_object_<TAdaptor_camera, JStage::TCamera> TVVOutput;
TAdaptor_camera(const JStage::TSystem*, JStage::TCamera*);
// vtable size is 0x3C, despite all the padding.
virtual ~TAdaptor_camera(); // _08
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
virtual void adaptor_do_begin(const JStudio::TObject*); // _10
virtual void adaptor_do_end(const JStudio::TObject*); // _14
virtual void adaptor_do_update(const JStudio::TObject*, unsigned long); // _18
virtual void adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long); // _1C
virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long); // _20
virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long); // _24
virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long); // _28
virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, const void*, unsigned long); // _2C
virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, const void*, unsigned long); // _30
virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long); // _34
virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long); // _38
// virtual void _3C() = 0; // _3C
// virtual void _40() = 0; // _40
// virtual void _44() = 0; // _44
// virtual void _48() = 0; // _48
// virtual void _4C() = 0; // _4C
// virtual void _50() = 0; // _50
// virtual void _54() = 0; // _54
// virtual void _58() = 0; // _58
// virtual void _5C() = 0; // _5C
// virtual void _60() = 0; // _60
// virtual void _64() = 0; // _64
// virtual void _68() = 0; // _68
// virtual void _6C() = 0; // _6C
// virtual void _70() = 0; // _70
// virtual void _74() = 0; // _74
void setJSG_position_(const JStudio::TControl*);
void getJSG_position_(const JStudio::TControl*);
void setJSG_targetPosition_(const JStudio::TControl*);
void getJSG_targetPosition_(const JStudio::TControl*);
const JStage::TSystem* m_system; // _FC
JStage::TCamera* m_camera; // _100
u32 _104; // _104
JStage::TObject* _108; // _108
u32 _10C; // _10C
u8 _110; // _110
JStage::TObject* _114; // _114
u32 _118; // _118
u8 _11C; // _11C
static const TVVOutput saoVVOutput_[5];
};
struct TAdaptor_fog : public JStudio::TAdaptor_fog {
typedef TVariableValueOutput_object_<TAdaptor_fog, JStage::TFog> TVVOutput;
TAdaptor_fog(const JStage::TSystem*, JStage::TFog*);
// vtable size is 0x20, despite all the padding.
virtual ~TAdaptor_fog(); // _08
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
virtual void adaptor_do_begin(const JStudio::TObject*); // _10
virtual void adaptor_do_end(const JStudio::TObject*); // _14
virtual void adaptor_do_update(const JStudio::TObject*, unsigned long); // _18
virtual void adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long); // _1C
// virtual void _20() = 0; // _20
// virtual void _24() = 0; // _24
// virtual void _28() = 0; // _28
// virtual void _2C() = 0; // _2C
// virtual void _30() = 0; // _30
// virtual void _34() = 0; // _34
// virtual void _38() = 0; // _38
// virtual void _3C() = 0; // _3C
const JStage::TSystem* m_system; // _84
JStage::TFog* m_object; // _88
static const TVVOutput saoVVOutput_[3];
};
struct TAdaptor_light {
struct TVVOutput_direction_ {
virtual void operator()(float, JStudio::TAdaptor*) const; // _08
virtual ~TVVOutput_direction_(); // _0C (weak)
};
TAdaptor_light(const JStage::TSystem*, JStage::TLight*);
virtual ~TAdaptor_light(); // _08
virtual void adaptor_do_prepare(const JStudio::TObject*); // _0C
virtual void adaptor_do_begin(const JStudio::TObject*); // _10
virtual void adaptor_do_end(const JStudio::TObject*); // _14
virtual void adaptor_do_update(const JStudio::TObject*, unsigned long); // _18
virtual void adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long); // _1C
virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long); // _20
virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, const void*, unsigned long); // _24
};
bool transform_toGlobalFromLocal(f32 (*)[4], const JStudio::TControl::TTransform_translation_rotation_scaling&, const JStage::TObject*,
u32);
bool transform_toGlobalFromLocal(f32 (*)[4], const JStudio::TControl::TTransform_position&, const JStage::TObject*, u32);
bool transform_toLocalFromGlobal(f32 (*)[4], const JStudio::TControl::TTransform_translation_rotation_scaling&, const JStage::TObject*,
u32);
bool transform_toLocalFromGlobal(f32 (*)[4], const JStudio::TControl::TTransform_position&, const JStage::TObject*, u32);
} // namespace JStudio_JStage
#endif

View File

@ -1,10 +0,0 @@
#ifndef FVB_DATA_PARSE_H
#define FVB_DATA_PARSE_H
#include "JSystem/fvb/fvb-data.h"
namespace JStudio::fvb::data {
} // namespace JStudio::fvb::data
#endif /* FVB_DATA_PARSE_H */

View File

@ -1,6 +1,7 @@
#ifndef _JSTUDIO_FVB_H
#define _JSTUDIO_FVB_H
#include "JStudio/object.h"
#include "types.h"
#include "JSystem/JGadget/linklist.h"
#include "JSystem/fvb/fvb-data.h"
@ -20,90 +21,104 @@ void getCompositeData_multiply_(const void*);
struct TParse {
TParse(TControl*);
virtual ~TParse();
virtual bool parseHeader_next(void const**, u32*, u32);
virtual bool parseBlock_next(void const**, u32*, u32);
virtual ~TParse(); // _08
virtual bool parseHeader_next(const void**, u32*, u32); // _0C
virtual bool parseBlock_next(const void**, u32*, u32); // _10
TControl* getControl() const { return pControl_; }
TControl* pControl_;
};
struct TObject {
struct TObject : object::TObject_ID {
TObject(const data::TParse_TBlock& block);
TObject(void const* id, u32 id_size, TFunctionValue* value);
TObject(const void* id, u32 id_size, TFunctionValue* value);
virtual ~TObject() = 0;
virtual void prepare_data_(const data::TParse_TParagraph::TData& data, TControl* control) = 0;
virtual ~TObject() = 0; // _08
virtual void prepare_data_(const data::TParse_TParagraph::TData& data, TControl* control) = 0; // _0C
void prepare(const data::TParse_TBlock& block, TControl* control);
int _00;
int _04;
JGadget::TLinkListNode mNode; //_0c
TFunctionValue* pfv; //_10
// VTBL _08
JGadget::TLinkListNode mNode; //_0C
TFunctionValue* pfv; //_14
};
struct TFactory {
virtual ~TFactory();
virtual TObject* create(data::TParse_TBlock const&);
virtual void destroy(TObject*);
virtual ~TFactory(); // _08
virtual TObject* create(const data::TParse_TBlock&); // _0C
virtual void destroy(TObject*); // _10
};
struct TObject_composite {
TObject_composite();
TObject_composite(const void*, u32); // unused/inlined
TObject_composite(const data::TParse_TBlock&); // unused/inlined
virtual ~TObject_composite();
void prepare_data_(const data::TParse_TParagraph::TData&, JStudio::fvb::TControl*);
virtual ~TObject_composite(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
struct TObject_constant {
TObject_constant();
TObject_constant(const void*, u32); // unused/inlined
TObject_constant(const data::TParse_TBlock&); // unused/inlined
virtual ~TObject_constant();
void prepare_data_(const data::TParse_TParagraph::TData&, TControl*);
virtual ~TObject_constant(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
struct TObject_transition {
TObject_transition();
TObject_transition(const void*, u32); // unused/inlined
TObject_transition(const data::TParse_TBlock&); // unused/inlined
virtual ~TObject_transition();
void prepare_data_(const data::TParse_TParagraph::TData&, TControl*);
virtual ~TObject_transition(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
struct TObject_list {
TObject_list();
TObject_list(const void*, u32); // unused/inlined
TObject_list(const data::TParse_TBlock&); // unused/inlined
virtual ~TObject_list();
void prepare_data_(const data::TParse_TParagraph::TData&, TControl*);
virtual ~TObject_list(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
struct TObject_list_parameter {
TObject_list_parameter();
TObject_list_parameter(const void*, u32); // unused/inlined
TObject_list_parameter(const data::TParse_TBlock&); // unused/inlined
virtual ~TObject_list_parameter();
void prepare_data_(const data::TParse_TParagraph::TData&, TControl*);
virtual ~TObject_list_parameter(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
struct TObject_hermite {
TObject_hermite();
TObject_hermite(const void*, u32); // unused/inlined
TObject_hermite(const data::TParse_TBlock&); // unused/inlined
virtual ~TObject_hermite();
void prepare_data_(const data::TParse_TParagraph::TData&, TControl*);
virtual ~TObject_hermite(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
struct TControl {
TControl();
virtual ~TControl();
virtual ~TControl(); // _08
TObject* getObject(const void*, u32);
TObject* getObject_index(u32);
// unused/inlined:
void appendObject(TObject*);
void removeObject(TObject*);
void destroyObject(TObject*);
void destroyObject_all();
TObject* getObject(void const*, u32);
TObject* getObject_index(u32);
/** @fabricated */
TFactory* getFactory() const { return pFactory; }
TFactory* pFactory;

View File

@ -10,6 +10,9 @@ InputIterator find_if(InputIterator first, InputIterator last, Predicate p)
for (; first != last && !p(*first); ++first) { }
return first;
}
template <typename ForwardIterator, typename Element, typename Predicate>
ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, const Element& value, Predicate predicate);
} // namespace std
#endif

20
include/std/functional.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef _STD_FUNCTIONAL_H
#define _STD_FUNCTIONAL_H
#include "types.h"
namespace std {
template <typename LHS, typename RHS, typename Result>
struct binary_function {
typedef LHS first_argument_type;
typedef RHS second_argument_type;
typedef Result result_type;
};
template <typename T>
struct less : public binary_function<T, T, bool> {
bool operator()(const T& lhs, const T& rhs) const { return lhs < rhs; }
};
} // namespace std
#endif

View File

@ -26,11 +26,11 @@ JSYSTEM:=\
$(BUILD_DIR)/asm/JSystem/object/object-light.o\
$(BUILD_DIR)/asm/JSystem/object/object.o\
$(BUILD_DIR)/asm/JSystem/object/object-actor.o\
$(BUILD_DIR)/asm/JSystem/object/object-ambientlight.o\
$(BUILD_DIR)/src/JSystem/object/object-ambientlight.o\
$(BUILD_DIR)/asm/JSystem/object/object-camera.o\
$(BUILD_DIR)/asm/JSystem/object/object-fog.o\
$(BUILD_DIR)/src/JSystem/object/object-fog.o\
$(BUILD_DIR)/asm/JSystem/JSG/control.o\
$(BUILD_DIR)/asm/JSystem/object/object-message.o\
$(BUILD_DIR)/src/JSystem/object/object-message.o\
$(BUILD_DIR)/asm/JSystem/object/control.o\
$(BUILD_DIR)/asm/JSystem/object/object-sound.o\
$(BUILD_DIR)/asm/JSystem/JAI/control.o\

View File

@ -1,5 +1,6 @@
#include "Dolphin/os.h"
#include "JSystem/DSP.h"
#include "JSystem/JAS/JASCalc.h"
#include "JSystem/JAS/JASDsp.h"
#include "JSystem/JAS/JASHeap.h"
#include "types.h"
@ -544,16 +545,16 @@ void JASDsp::invalChannelAll() { DCInvalidateRange(CH_BUF, sizeof(u8) * 0x6000);
*/
void JASDsp::initBuffer()
{
// CH_BUF = new(JASDram, 0x20) u8[0x6000];
// FX_BUF = new(JASDram, 0x20) u16[0x40];
// JASCalc::bzero(CH_BUF, sizeof(u8)*0x6000);
// JASCalc::bzero(FX_BUF, sizeof(u16)*0x40);
// CH_BUF = new (JASDram, 0x20) u8[0x6000];
// FX_BUF = new (JASDram, 0x20) u16[0x40];
// JASCalc::bzero(CH_BUF, sizeof(u8) * 0x6000);
// JASCalc::bzero(FX_BUF, sizeof(u16) * 0x40);
// for (int i = 0; i < 4; i++) {
// setFXLine(i, nullptr, nullptr);
// }
// DsetupTable(0x40, CH_BUF, DSPRES_FILTER, DSPADPCM_FILTER, FX_BUF);
// DCFlushRange(CH_BUF, sizeof(u8)*0x6000);
// DCFlushRange(FX_BUF, sizeof(u16)*0x40);
// DCFlushRange(CH_BUF, sizeof(u8) * 0x6000);
// DCFlushRange(FX_BUF, sizeof(u16) * 0x40);
/*
stwu r1, -0x10(r1)
mflr r0
@ -638,6 +639,7 @@ void JASDsp::getFXHandleNc(unsigned char)
*/
void JASDsp::setFXLine(unsigned char, short*, JASDsp::FxlineConfig_*)
{
/*
stwu r1, -0x20(r1)
mflr r0
@ -753,6 +755,7 @@ void JASDsp::changeFXLineParam(unsigned char, unsigned char, unsigned long)
* --INFO--
* Address: 800A5638
* Size: 00003C
* init__Q26JASDsp8TChannelFv
*/
void JASDsp::TChannel::init()
{
@ -763,23 +766,6 @@ void JASDsp::TChannel::init()
_58 = 0;
_68 = 0;
initFilter();
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
li r0, 0
sth r0, 0xc(r3)
sth r0, 2(r3)
sth r0, 0x10a(r3)
sth r0, 0(r3)
sth r0, 0x58(r3)
stw r0, 0x68(r3)
bl initFilter__Q26JASDsp8TChannelFv
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
@ -1055,21 +1041,6 @@ void JASDsp::TChannel::initAutoMixer()
_54 = 0;
_58 = 1;
}
/*
lhz r0, 0x58(r3)
cmplwi r0, 0
beq lbl_800A58D0
lhz r0, 0x56(r3)
sth r0, 0x54(r3)
blr
lbl_800A58D0:
li r4, 0
li r0, 1
sth r4, 0x54(r3)
sth r0, 0x58(r3)
blr
*/
}
/*
@ -1196,21 +1167,10 @@ void JASDsp::TChannel::setPauseFlag(u8 pauseFlag) { m_pauseFlag = pauseFlag; }
* --INFO--
* Address: 800A59C4
* Size: 000024
* TODO: Sizeof?
* flush__Q26JASDsp8TChannelFv
*/
void JASDsp::TChannel::flush(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
li r4, 0x180
stw r0, 0x14(r1)
bl DCFlushRange
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
void JASDsp::TChannel::flush() { DCFlushRange(this, 0x180); }
/*
* --INFO--
@ -1235,28 +1195,17 @@ void JASDsp::TChannel::initFilter()
* Address: 800A5A30
* Size: 000038
*/
void JASDsp::TChannel::setFilterMode(unsigned short)
void JASDsp::TChannel::setFilterMode(unsigned short p1)
{
/*
rlwinm. r5, r4, 0, 0x1a, 0x1a
clrlwi r0, r4, 0x1b
beq lbl_800A5A4C
cmplwi r0, 0x14
ble lbl_800A5A58
li r0, 0x14
b lbl_800A5A58
lbl_800A5A4C:
cmplwi r0, 0x18
ble lbl_800A5A58
li r0, 0x18
lbl_800A5A58:
clrlwi r0, r0, 0x18
add r0, r5, r0
sth r0, 0x108(r3)
blr
*/
u8 v1 = p1 & 0x1F;
if ((p1 & 0x20) != 0) {
if (0x14 < v1) {
v1 = 0x14;
}
} else if (0x18 < v1) {
v1 = 0x18;
}
m_filterMode = (p1 & 0x20) + v1;
}
/*

View File

@ -239,28 +239,14 @@ void JASDriver::setDSPLevel(float dspMixerLevel) { JASDsp::setDSPMixerLevel(dspM
* Address: 800A48D8
* Size: 000008
*/
s16 JASDriver::getChannelLevel()
{
return MAX_MIXERLEVEL;
/*
lhz r3, MAX_MIXERLEVEL__9JASDriver@sda21(r13)
blr
*/
}
u16 JASDriver::getChannelLevel() { return MAX_MIXERLEVEL; }
/*
* --INFO--
* Address: 800A48E0
* Size: 000008
*/
s16 JASDriver::getAutoLevel()
{
return MAX_AUTOMIXERLEVEL;
/*
lhz r3, MAX_AUTOMIXERLEVEL__9JASDriver@sda21(r13)
blr
*/
}
u16 JASDriver::getAutoLevel() { return MAX_AUTOMIXERLEVEL; }
/*
* --INFO--

View File

@ -1,4 +1,5 @@
#include "JSystem/JAS/JASOscillator.h"
#include "JSystem/JAS/JASDriver.h"
#include "types.h"
/*
@ -209,8 +210,38 @@ void JASOscillator::forceStop()
* Address: 800A2D28
* Size: 000168
*/
void JASOscillator::release()
bool JASOscillator::release()
{
if (_1C == 4) {
return false;
}
if (m_data->_08 != m_data->_0C) {
_18 = 0;
_04 = 0.0f;
_0C = _08;
}
if (m_data->_0C == nullptr && _1A == 0) {
_1A = 0x10;
}
if (_1A != 0) {
_1C = 5;
_1D = _1A >> 0xE;
u16 v1 = (_1A & 0x3FFF ^ 0x80000000);
_04 = ((JASDriver::getDacRate() / 80.0f) / 600.0f) * v1;
if (_04 < 1.0f) {
_04 = 1.0f;
}
_14 = _04;
_0C = 0.0f;
if (_1D == 0) {
_10 = (_0C - _08) / _04;
} else {
_10 = _0C - _08;
}
} else {
_1C = 3;
}
return true;
/*
stwu r1, -0x30(r1)
mflr r0

View File

@ -175,7 +175,7 @@ void* JKRThread::start(void* thread) { return static_cast<JKRThread*>(thread)->r
* Address: 80025A3C
* Size: 000008
*/
void* JKRThread::run() { return nullptr; }
// void* JKRThread::run() { return nullptr; }
/*
* --INFO--

View File

@ -6,11 +6,6 @@
namespace JStage {
typedef struct TECameraProjection {
};
typedef struct TECameraView {
};
/*
* --INFO--
* Address: 800987F4

View File

@ -29,7 +29,7 @@ void TObject::JSGUpdate(void) { }
* Address: 80098928
* Size: 000008
*/
int TObject::JSGGetFlag() const { return 0; }
u32 TObject::JSGGetFlag() const { return 0; }
/*
* --INFO--

View File

@ -4,9 +4,6 @@
namespace JStage {
typedef struct TEObject {
};
/*
* --INFO--
* Address: 8009876C

View File

@ -1,5 +1,5 @@
#include "JSystem/fvb/fvb.h"
#include "JSystem/TFunctionValue.h"
#include "JStudio/functionvalue.h"
#include "JStudio/object.h"
#include "types.h"

View File

@ -1,3 +1,11 @@
#include "Dolphin/mtx.h"
#include "JStudio/TControl.h"
#include "JStudio/TCreateObject.h"
#include "JStudio/TFactory.h"
#include "JStudio/TParse.h"
#include "JStudio/stb.h"
#include "JSystem/JGadget/linklist.h"
#include "JSystem/JGeometry.h"
#include "types.h"
/*
@ -60,8 +68,15 @@ namespace JStudio {
* Address: 8000CAA4
* Size: 000090
*/
TControl::TControl(void)
TControl::TControl()
: stb::TControl()
, _60()
, _74(0)
, _75(0)
{
Vec vec = JGeometry::TVec3f(0.0f, 0.0f, 0.0f);
transformOnSet_setOrigin(vec, 0.0f);
transformOnGet_setOrigin(vec, 0.0f);
/*
stwu r1, -0x20(r1)
mflr r0
@ -106,84 +121,22 @@ TControl::TControl(void)
* --INFO--
* Address: 8000CB34
* Size: 000070
* __dt
*/
TControl::~TControl(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_8000CB88
lis r4, __vt__Q27JStudio8TControl@ha
addi r3, r30, 0x60
addi r0, r4, __vt__Q27JStudio8TControl@l
li r4, -1
stw r0, 0(r30)
bl __dt__Q37JStudio3fvb8TControlFv
mr r3, r30
li r4, 0
bl __dt__Q37JStudio3stb8TControlFv
extsh. r0, r31
ble lbl_8000CB88
mr r3, r30
bl __dl__FPv
lbl_8000CB88:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
TControl::~TControl(void) { }
/*
* --INFO--
* Address: 8000CBA4
* Size: 000080
*/
void TControl::transformOnSet_setOrigin(Vec const&, float)
void TControl::transformOnSet_setOrigin(Vec const& p1, float p2)
{
/*
stwu r1, -0x40(r1)
mflr r0
lfs f2, 0(r4)
fmr f4, f1
stw r0, 0x44(r1)
lfs f0, lbl_805163FC@sda21(r2)
stw r31, 0x3c(r1)
mr r31, r4
lfs f3, 4(r31)
fmuls f1, f0, f4
stw r30, 0x38(r1)
mr r30, r3
addi r3, r1, 8
li r4, 0x79
stfs f2, 0x78(r30)
lfs f2, 8(r31)
stfs f3, 0x7c(r30)
stfs f2, 0x80(r30)
stfs f4, 0x90(r30)
bl PSMTXRotRad
lfs f1, 0(r31)
addi r3, r1, 8
lfs f2, 4(r31)
addi r4, r30, 0x98
lfs f3, 8(r31)
bl PSMTXTransApply
lwz r0, 0x44(r1)
lwz r31, 0x3c(r1)
lwz r30, 0x38(r1)
mtlr r0
addi r1, r1, 0x40
blr
*/
_78 = p1;
_90 = p2;
Mtx mtx;
PSMTXRotRad(mtx, 0x79, p2 * 0.01745329f);
PSMTXTransApply(mtx, _98, p1.x, p1.y, p1.z);
}
/*
@ -191,47 +144,15 @@ void TControl::transformOnSet_setOrigin(Vec const&, float)
* Address: 8000CC24
* Size: 000094
*/
void TControl::transformOnGet_setOrigin(Vec const&, float)
void TControl::transformOnGet_setOrigin(Vec const& p1, float p2)
{
/*
stwu r1, -0x80(r1)
mflr r0
stw r0, 0x84(r1)
stfd f31, 0x70(r1)
psq_st f31, 120(r1), 0, qr0
stw r31, 0x6c(r1)
lfs f0, 0(r4)
mr r31, r3
lfs f3, 4(r4)
fmr f31, f1
stfs f0, 0x84(r3)
fneg f1, f0
lfs f0, 8(r4)
fneg f2, f3
stfs f3, 0x88(r3)
fneg f3, f0
addi r3, r1, 0x38
stfs f0, 0x8c(r31)
stfs f31, 0x94(r31)
bl PSMTXTrans
fneg f0, f31
lfs f1, lbl_805163FC@sda21(r2)
addi r3, r1, 8
li r4, 0x79
fmuls f1, f1, f0
bl PSMTXRotRad
addi r3, r1, 8
addi r4, r1, 0x38
addi r5, r31, 0xc8
bl PSMTXConcat
psq_l f31, 120(r1), 0, qr0
lwz r0, 0x84(r1)
lfd f31, 0x70(r1)
lwz r31, 0x6c(r1)
mtlr r0
addi r1, r1, 0x80
blr
*/
_84 = p1;
_94 = p2;
Mtx v1;
PSMTXTrans(v1, -p1.x, -p1.y, -p1.z);
Mtx v2;
PSMTXRotRad(v2, 0x79, -p2 * 0.01745329f);
PSMTXConcat(v2, v1, _C8);
}
/*
@ -248,37 +169,15 @@ void TControl::forward_value(unsigned long)
* --INFO--
* Address: 8000CCB8
* Size: 000048
* __dt__Q27JStudio13TCreateObjectFv
*/
TCreateObject::~TCreateObject(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
or. r31, r3, r3
beq lbl_8000CCE8
lis r5, __vt__Q27JStudio13TCreateObject@ha
extsh. r0, r4
addi r0, r5, __vt__Q27JStudio13TCreateObject@l
stw r0, 0(r31)
ble lbl_8000CCE8
bl __dl__FPv
lbl_8000CCE8:
lwz r0, 0x14(r1)
mr r3, r31
lwz r31, 0xc(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
TCreateObject::~TCreateObject(void) { }
/*
* --INFO--
* Address: 8000CD00
* Size: 000084
* __dt__Q27JStudio8TFactoryFv
*/
TFactory::~TFactory(void)
{
@ -380,7 +279,7 @@ void TFactory::removeCreateObject_all(void)
* Address: 8000CDD4
* Size: 0000B4
*/
void TFactory::create(JStudio::stb::data::TParse_TBlock_object const&)
int TFactory::create(JStudio::stb::data::TParse_TBlock_object const&)
{
/*
stwu r1, -0x50(r1)
@ -441,81 +340,29 @@ lbl_8000CE74:
* --INFO--
* Address: 8000CE88
* Size: 000054
* __ct__Q27JStudio6TParseFPQ27JStudio8TControl
*/
TParse::TParse(JStudio::TControl*)
TParse::TParse(JStudio::TControl* control)
: stb::TParse(control)
, m_fvbParse(&control->_60)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
bl __ct__Q37JStudio3stb6TParseFPQ37JStudio3stb8TControl
lis r4, __vt__Q27JStudio6TParse@ha
addi r3, r30, 8
addi r0, r4, __vt__Q27JStudio6TParse@l
addi r4, r31, 0x60
stw r0, 0(r30)
bl __ct__Q37JStudio3fvb6TParseFPQ37JStudio3fvb8TControl
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: 8000CEDC
* Size: 000070
* __dt__Q27JStudio6TParseFv
*/
TParse::~TParse(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_8000CF30
lis r4, __vt__Q27JStudio6TParse@ha
addi r3, r30, 8
addi r0, r4, __vt__Q27JStudio6TParse@l
li r4, -1
stw r0, 0(r30)
bl __dt__Q37JStudio3fvb6TParseFv
mr r3, r30
li r4, 0
bl __dt__Q37JStudio3stb6TParseFv
extsh. r0, r31
ble lbl_8000CF30
mr r3, r30
bl __dl__FPv
lbl_8000CF30:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
TParse::~TParse() { }
/*
* --INFO--
* Address: 8000CF4C
* Size: 000078
* parseHeader__Q27JStudio6TParseFRCQ47JStudio3stb4data14TParse_THeaderUl
*/
void TParse::parseHeader(JStudio::stb::data::TParse_THeader const&, unsigned long)
bool TParse::parseHeader(JStudio::stb::data::TParse_THeader const&, unsigned long)
{
/*
.loc_0x0:
@ -562,6 +409,7 @@ void TParse::parseHeader(JStudio::stb::data::TParse_THeader const&, unsigned lon
* --INFO--
* Address: 8000CFC4
* Size: 000044
* parseBlock_block__Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
*/
void TParse::parseBlock_block(JStudio::stb::data::TParse_TBlock const&, unsigned long)
{
@ -599,6 +447,7 @@ void TParse::parseBlock_block(JStudio::stb::data::TParse_TBlock const&, unsigned
* --INFO--
* Address: 8000D008
* Size: 000060
* parseBlock_block_fvb___Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
*/
void TParse::parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const&, unsigned long)
{

View File

@ -1,3 +1,4 @@
#include "JStudio/math.h"
#include "types.h"
/*

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,8 @@
#include "JStudio/stb.h"
#include "Dolphin/stl.h"
#include "JStudio/object.h"
#include "JStudio/stb-data.h"
#include "JSystem/JGadget/binary.h"
#include "JSystem/JGadget/linklist.h"
#include "std/algorithm.h"
@ -81,15 +83,16 @@ void TObject::toString_status(int a)
* Address: ........
* Size: 000048
*/
TObject::TObject(unsigned long p1, void const* p2, unsigned long p3)
: pControl(nullptr)
TObject::TObject(unsigned long p1, void const* id, unsigned long idLength)
: JStudio::object::TObject_ID(id, idLength)
, pControl(nullptr)
, signature(p1)
, mFlag(0)
, bSequence_(0)
, _20(0)
, pSequence(p2)
, pSequence(nullptr)
, pSequence_next(nullptr)
, u32Wait_(p3)
, u32Wait_(0)
, mStatus(STATUS_STILL)
{
// UNUSED FUNCTION
@ -101,19 +104,20 @@ TObject::TObject(unsigned long p1, void const* p2, unsigned long p3)
* Size: 000070
*/
TObject::TObject(data::TParse_TBlock_object const& block)
: JStudio::object::TObject_ID((u32*)block.filedata + 3, block.filedata[2])
{
idString_0x0 = (u32*)block.filedata + 3;
lengthInBytes_0x4 = block.filedata[2]; // should be short 0xa
_0C.m_prev = 0;
_0C.m_next = 0;
pControl = nullptr;
signature = block.filedata[1];
mFlag = block.filedata[2]; // should be short 0x8
bSequence_ = false;
_20 = 0;
pSequence = nullptr;
pSequence_next = nullptr; //(int)iVar2 + (*(u16 *)((int)iVar2 + 10) + 3 &
// 0xfffffffc) + 0xc; this crap
// idString_0x0 = (u32*)block.filedata + 3;
// lengthInBytes_0x4 = block.filedata[2]; // should be short 0xa
_0C.m_prev = 0;
_0C.m_next = 0;
pControl = nullptr;
signature = block.filedata[1];
mFlag = block.filedata[2]; // should be short 0x8
bSequence_ = false;
_20 = 0;
pSequence = nullptr;
pSequence_next = nullptr; //(int)iVar2 + (*(u16 *)((int)iVar2 + 10) + 3 &
// 0xfffffffc) + 0xc; this crap
u32Wait_ = 0;
mStatus = STATUS_STILL;
/*
@ -834,45 +838,6 @@ TControl::TControl()
{
mStatus = 0;
mObject_control.pControl = this;
/*
lis r4, __vt__Q37JStudio3stb8TControl@ha
lis r5, __vt__Q37JStudio3stb7TObject@ha
addi r0, r4, __vt__Q37JStudio3stb8TControl@l
li r8, 0
stw r0, 0(r3)
addi r6, r5, __vt__Q37JStudio3stb7TObject@l
lis r4, __vt__Q37JStudio3stb15TObject_control@ha
addi r7, r3, 0x14
stw r8, 4(r3)
li r5, -1
addi r0, r4, __vt__Q37JStudio3stb15TObject_control@l
stw r8, 8(r3)
stw r8, 0xc(r3)
stw r8, 0x14(r3)
stw r8, 0x18(r3)
stw r8, 0x10(r3)
stw r7, 0x14(r3)
stw r7, 0x18(r3)
stw r8, 0x20(r3)
stw r8, 0x24(r3)
stw r6, 0x28(r3)
stw r8, 0x2c(r3)
stw r8, 0x30(r3)
stw r8, 0x34(r3)
stw r5, 0x38(r3)
sth r8, 0x3c(r3)
stb r8, 0x3e(r3)
stw r8, 0x40(r3)
stw r8, 0x44(r3)
stw r8, 0x48(r3)
stw r8, 0x4c(r3)
stw r8, 0x50(r3)
stw r0, 0x28(r3)
stw r8, 0x54(r3)
stw r8, 0x1c(r3)
stw r3, 0x34(r3)
blr
*/
}
/*
@ -902,57 +867,9 @@ TControl::TControl()
* --INFO--
* Address: 8001094C
* Size: 00009C
* __dt__Q37JStudio3stb8TControlFv
*/
stb::TControl::~TControl(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_800109CC
lis r3, __vt__Q37JStudio3stb8TControl@ha
addic. r0, r30, 0x20
addi r3, r3, __vt__Q37JStudio3stb8TControl@l
li r0, 0
stw r3, 0(r30)
stw r0, 0x34(r30)
beq lbl_800109A8
lis r3, __vt__Q37JStudio3stb15TObject_control@ha
addic. r0, r30, 0x20
addi r0, r3, __vt__Q37JStudio3stb15TObject_control@l
stw r0, 0x28(r30)
beq lbl_800109A8
lis r3, __vt__Q37JStudio3stb7TObject@ha
addi r0, r3, __vt__Q37JStudio3stb7TObject@l
stw r0, 0x28(r30)
lbl_800109A8:
addic. r0, r30, 0x10
beq lbl_800109BC
addi r3, r30, 0x10
li r4, 0
bl __dt__Q27JGadget13TNodeLinkListFv
lbl_800109BC:
extsh. r0, r31
ble lbl_800109CC
mr r3, r30
bl __dl__FPv
lbl_800109CC:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
stb::TControl::~TControl(void) { mObject_control.pControl = nullptr; }
/*
* --INFO--
@ -1217,32 +1134,9 @@ lbl_80010BC4:
* --INFO--
* Address: 80010C08
* Size: 000048
* __dt__Q37JStudio3stb8TFactoryFv
*/
stb::TFactory::~TFactory(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
or. r31, r3, r3
beq lbl_80010C38
lis r5, __vt__Q37JStudio3stb8TFactory@ha
extsh. r0, r4
addi r0, r5, __vt__Q37JStudio3stb8TFactory@l
stw r0, 0(r31)
ble lbl_80010C38
bl __dl__FPv
lbl_80010C38:
lwz r0, 0x14(r1)
mr r3, r31
lwz r31, 0xc(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
stb::TFactory::~TFactory(void) { }
/*
* --INFO--
@ -1255,93 +1149,59 @@ int stb::TFactory::create(JStudio::stb::data::TParse_TBlock_object const&) { ret
* --INFO--
* Address: 80010C58
* Size: 00003C
* destroy__Q37JStudio3stb8TFactoryFPQ37JStudio3stb7TObject
*/
void stb::TFactory::destroy(JStudio::stb::TObject*)
{
/*
stwu r1, -0x10(r1)
mflr r0
cmplwi r4, 0
stw r0, 0x14(r1)
beq lbl_80010C84
mr r3, r4
li r4, 1
lwz r12, 8(r3)
lwz r12, 8(r12)
mtctr r12
bctrl
lbl_80010C84:
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
void stb::TFactory::destroy(JStudio::stb::TObject* object) { delete object; }
/*
* --INFO--
* Address: 80010C94
* Size: 000020
* __ct__Q37JStudio3stb6TParseFPQ37JStudio3stb8TControl
*/
stb::TParse::TParse(JStudio::stb::TControl*)
stb::TParse::TParse(JStudio::stb::TControl* control)
: JGadget::binary::TParse_header_block()
, m_control(control)
{
/*
lis r6, __vt__Q37JGadget6binary19TParse_header_block@ha
lis r5, __vt__Q37JStudio3stb6TParse@ha
addi r6, r6, __vt__Q37JGadget6binary19TParse_header_block@l
stw r6, 0(r3)
addi r0, r5, __vt__Q37JStudio3stb6TParse@l
stw r0, 0(r3)
stw r4, 4(r3)
blr
*/
}
/*
* --INFO--
* Address: 80010CB4
* Size: 000060
* __dt__Q37JStudio3stb6TParseFv
*/
stb::TParse::~TParse()
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_80010CF8
lis r5, __vt__Q37JStudio3stb6TParse@ha
li r4, 0
addi r0, r5, __vt__Q37JStudio3stb6TParse@l
stw r0, 0(r30)
bl __dt__Q37JGadget6binary19TParse_header_blockFv
extsh. r0, r31
ble lbl_80010CF8
mr r3, r30
bl __dl__FPv
lbl_80010CF8:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
stb::TParse::~TParse() { }
/*
* --INFO--
* Address: 80010D14
* Size: 0000C8
*/
void stb::TParse::parseHeader_next(void const**, unsigned long*, unsigned long)
bool stb::TParse::parseHeader_next(void const** data, unsigned long* blockCount, unsigned long p3)
{
// const data::TParse_THeader* header = static_cast<const data::TParse_THeader*>(*data);
// *data = static_cast<const void*>(header + 1);
// *blockCount = header->blockCount;
const void* header = *data;
*data = static_cast<const data::TParse_THeader*>(header) + 1;
*blockCount = static_cast<const data::TParse_THeader*>(header)->blockCount;
if (memcmp(&static_cast<const data::TParse_THeader*>(header)->m_signature, &data::ga4cSignature, sizeof(u32)) != 0) {
return false;
}
// if (header->_04 != 0xFEFF) {
if (static_cast<const data::TParse_THeader*>(header)->_04 != 0xFEFF) {
return false;
}
// if (header->_06 < 1) {
if (static_cast<const data::TParse_THeader*>(header)->_06 < 1) {
return false;
}
// if (header->_06 > 3) {
if (static_cast<const data::TParse_THeader*>(header)->_06 > 3) {
return false;
}
return parseHeader(*static_cast<const data::TParse_THeader*>(header), p3);
/*
stwu r1, -0x20(r1)
mflr r0
@ -1411,7 +1271,7 @@ lbl_80010DC4:
* Address: 80010DDC
* Size: 000054
*/
void stb::TParse::parseBlock_next(void const**, unsigned long*, unsigned long)
bool stb::TParse::parseBlock_next(void const**, unsigned long*, unsigned long)
{
/*
stwu r1, -0x10(r1)
@ -1443,7 +1303,7 @@ void stb::TParse::parseBlock_next(void const**, unsigned long*, unsigned long)
* Address: 80010E30
* Size: 000008
*/
int stb::TParse::parseHeader(JStudio::stb::data::TParse_THeader const&, unsigned long) { return 1; }
bool stb::TParse::parseHeader(JStudio::stb::data::TParse_THeader const&, unsigned long) { return true; }
/*
* --INFO--

View File

@ -1,3 +1,8 @@
#include "JStudio/functionvalue.h"
#include "JSystem/JGadget/linklist.h"
#include "JSystem/JGadget/list.h"
#include "std/functional.h"
#include "std/algorithm.h"
#include "types.h"
/*
@ -347,7 +352,7 @@ TFunctionValue_composite::TFunctionValue_composite()
* Address: 80008C54
* Size: 000008
*/
u32 TFunctionValue_composite::getType() const { return 0x1; }
int TFunctionValue_composite::getType() const { return 0x1; }
/*
* --INFO--
@ -940,7 +945,7 @@ TFunctionValue_constant::TFunctionValue_constant()
* Address: 80009240
* Size: 000008
*/
u32 TFunctionValue_constant::getType() const { return 0x2; }
int TFunctionValue_constant::getType() const { return 0x2; }
/*
* --INFO--
@ -1038,7 +1043,7 @@ TFunctionValue_transition::TFunctionValue_transition()
* Address: 800092EC
* Size: 000008
*/
u32 TFunctionValue_transition::getType() const { return 0x3; }
int TFunctionValue_transition::getType() const { return 0x3; }
/*
* --INFO--
@ -1402,7 +1407,7 @@ TFunctionValue_list::TFunctionValue_list()
* Address: 800096DC
* Size: 000008
*/
u32 TFunctionValue_list::getType() const { return 0x4; }
int TFunctionValue_list::getType() const { return 0x4; }
/*
* --INFO--
@ -2180,7 +2185,7 @@ TFunctionValue_list_parameter::TFunctionValue_list_parameter()
* Address: 80009FB0
* Size: 000008
*/
u32 TFunctionValue_list_parameter::getType() const { return 0x5; }
int TFunctionValue_list_parameter::getType() const { return 0x5; }
/*
* --INFO--
@ -2789,13 +2794,15 @@ lbl_8000A6AC:
blr
*/
}
} // namespace JStudio
/*
* --INFO--
* Address: 8000A6D0
* Size: 00005C
*/
void JGadget::findUpperBound_binary_current<TFunctionValue_list_parameter::TIterator_data_, double>(
template <>
void JGadget::findUpperBound_binary_current<JStudio::TFunctionValue_list_parameter::TIterator_data_, double>(
JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_,
JStudio::TFunctionValue_list_parameter::TIterator_data_, const double&)
{
@ -2834,6 +2841,7 @@ void JGadget::findUpperBound_binary_current<TFunctionValue_list_parameter::TIter
* Address: 8000A72C
* Size: 00022C
*/
template <>
void JGadget::findUpperBound_binary_current<JStudio::TFunctionValue_list_parameter::TIterator_data_, double, std::less<double>>(
JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_,
JStudio::TFunctionValue_list_parameter::TIterator_data_, const double&, std::less<double>)
@ -3013,7 +3021,7 @@ void JGadget::findUpperBound_binary_current<JStudio::TFunctionValue_list_paramet
* Address: 8000A958
* Size: 00000C
*/
void TFunctionValue_list_parameter::update_INTERPOLATE_NONE_(const JStudio::TFunctionValue_list_parameter&, double)
void JStudio::TFunctionValue_list_parameter::update_INTERPOLATE_NONE_(const JStudio::TFunctionValue_list_parameter&, double)
{
/*
.loc_0x0:
@ -3028,7 +3036,7 @@ void TFunctionValue_list_parameter::update_INTERPOLATE_NONE_(const JStudio::TFun
* Address: 8000A964
* Size: 000030
*/
void TFunctionValue_list_parameter::update_INTERPOLATE_LINEAR_(const JStudio::TFunctionValue_list_parameter&, double)
void JStudio::TFunctionValue_list_parameter::update_INTERPOLATE_LINEAR_(const JStudio::TFunctionValue_list_parameter&, double)
{
/*
.loc_0x0:
@ -3052,7 +3060,7 @@ void TFunctionValue_list_parameter::update_INTERPOLATE_LINEAR_(const JStudio::TF
* Address: 8000A994
* Size: 00006C
*/
void TFunctionValue_list_parameter::update_INTERPOLATE_PLATEAU_(const JStudio::TFunctionValue_list_parameter&, double)
void JStudio::TFunctionValue_list_parameter::update_INTERPOLATE_PLATEAU_(const JStudio::TFunctionValue_list_parameter&, double)
{
/*
.loc_0x0:
@ -3287,7 +3295,7 @@ void JStudio::TFunctionValue_list_parameter::update_INTERPOLATE_BSPLINE_dataMore
* Address: 8000AC60
* Size: 000098
*/
TFunctionValue_hermite::TFunctionValue_hermite()
JStudio::TFunctionValue_hermite::TFunctionValue_hermite()
{
/*
lis r6, __vt__Q27JStudio14TFunctionValue@ha
@ -3336,14 +3344,14 @@ TFunctionValue_hermite::TFunctionValue_hermite()
* Address: 8000ACF8
* Size: 000008
*/
u32 TFunctionValue_hermite::getType() const { return 0x6; }
int JStudio::TFunctionValue_hermite::getType() const { return 0x6; }
/*
* --INFO--
* Address: 8000AD00
* Size: 000020
*/
void TFunctionValue_hermite::getAttributeSet()
void JStudio::TFunctionValue_hermite::getAttributeSet()
{
/*
cmplwi r4, 0
@ -3364,7 +3372,7 @@ lbl_8000AD0C:
* Address: 8000AD20
* Size: 000050
*/
void TFunctionValue_hermite::data_set(const float*, unsigned long, unsigned long)
void JStudio::TFunctionValue_hermite::data_set(const float*, unsigned long, unsigned long)
{
/*
.loc_0x0:
@ -3396,7 +3404,7 @@ void TFunctionValue_hermite::data_set(const float*, unsigned long, unsigned long
* Address: 8000AD70
* Size: 00006C
*/
void TFunctionValue_hermite::initialize()
void JStudio::TFunctionValue_hermite::initialize()
{
/*
lis r4, __float_nan@ha
@ -3434,7 +3442,7 @@ void TFunctionValue_hermite::initialize()
* Address: 8000ADDC
* Size: 0000A8
*/
void TFunctionValue_hermite::prepare()
void JStudio::TFunctionValue_hermite::prepare()
{
/*
lbz r0, 0x20(r3)
@ -3499,7 +3507,7 @@ lbl_8000AE60:
* Address: 8000AE84
* Size: 0005D0
*/
void TFunctionValue_hermite::getValue(double)
void JStudio::TFunctionValue_hermite::getValue(double)
{
/*
stwu r1, -0x80(r1)
@ -3943,7 +3951,8 @@ lbl_8000B430:
* Address: 8000B454
* Size: 000084
*/
void JGadget::findUpperBound_binary_current<TFunctionValue_hermite::TIterator_data_, double>(
template <>
void JGadget::findUpperBound_binary_current<JStudio::TFunctionValue_hermite::TIterator_data_, double>(
JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_,
JStudio::TFunctionValue_hermite::TIterator_data_, const double&)
{
@ -3992,6 +4001,7 @@ void JGadget::findUpperBound_binary_current<TFunctionValue_hermite::TIterator_da
* Address: 8000B4D8
* Size: 0002E4
*/
template <>
void JGadget::findUpperBound_binary_current<JStudio::TFunctionValue_hermite::TIterator_data_, double, std::less<double>>(
JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_,
JStudio::TFunctionValue_hermite::TIterator_data_, const double&, std::less<double>)
@ -4217,7 +4227,7 @@ void JGadget::findUpperBound_binary_current<JStudio::TFunctionValue_hermite::TIt
* Address: 8000B7BC
* Size: 00005C
*/
TFunctionValue_hermite::~TFunctionValue_hermite()
JStudio::TFunctionValue_hermite::~TFunctionValue_hermite()
{
/*
stwu r1, -0x10(r1)
@ -4255,7 +4265,7 @@ lbl_8000B800:
* Address: 8000B818
* Size: 00005C
*/
TFunctionValue_list_parameter::~TFunctionValue_list_parameter()
JStudio::TFunctionValue_list_parameter::~TFunctionValue_list_parameter()
{
/*
stwu r1, -0x10(r1)
@ -4293,7 +4303,7 @@ lbl_8000B85C:
* Address: 8000B874
* Size: 00005C
*/
TFunctionValue_list::~TFunctionValue_list()
JStudio::TFunctionValue_list::~TFunctionValue_list()
{
/*
stwu r1, -0x10(r1)
@ -4331,7 +4341,7 @@ lbl_8000B8B8:
* Address: 8000B8D0
* Size: 00005C
*/
TFunctionValue_transition::~TFunctionValue_transition()
JStudio::TFunctionValue_transition::~TFunctionValue_transition()
{
/*
stwu r1, -0x10(r1)
@ -4369,7 +4379,7 @@ lbl_8000B914:
* Address: 8000B92C
* Size: 00005C
*/
TFunctionValue_constant::~TFunctionValue_constant()
JStudio::TFunctionValue_constant::~TFunctionValue_constant()
{
/*
stwu r1, -0x10(r1)
@ -4407,7 +4417,7 @@ lbl_8000B970:
* Address: 8000B988
* Size: 000088
*/
TFunctionValue_composite::~TFunctionValue_composite()
JStudio::TFunctionValue_composite::~TFunctionValue_composite()
{
/*
stwu r1, -0x10(r1)
@ -4458,7 +4468,9 @@ lbl_8000B9F4:
* Address: 8000BA10
* Size: 000080
*/
void std::upper_bound<JStudio::TFunctionValue_list_parameter::TIterator_data_, double, std::less<double>>(
template <>
JStudio::TFunctionValue_list_parameter::TIterator_data_
std::upper_bound<JStudio::TFunctionValue_list_parameter::TIterator_data_, double, std::less<double>>(
JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, const double&,
std::less<double>)
{
@ -4510,7 +4522,9 @@ void std::upper_bound<JStudio::TFunctionValue_list_parameter::TIterator_data_, d
* Address: 8000BA90
* Size: 0000B8
*/
void std::upper_bound<JStudio::TFunctionValue_hermite::TIterator_data_, double, std::less<double>>(
template <>
JStudio::TFunctionValue_hermite::TIterator_data_
std::upper_bound<JStudio::TFunctionValue_hermite::TIterator_data_, double, std::less<double>>(
JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, const double&, std::less<double>)
{
/*
@ -4569,4 +4583,3 @@ void std::upper_bound<JStudio::TFunctionValue_hermite::TIterator_data_, double,
blr
*/
}
} // namespace JStudio

View File

@ -10,28 +10,7 @@
* Address: 800272E4
* Size: 00003C
*/
JGadget::TNodeLinkList::~TNodeLinkList(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
or. r31, r3, r3
beq lbl_80027308
extsh. r0, r4
ble lbl_80027308
bl __dl__FPv
lbl_80027308:
lwz r0, 0x14(r1)
mr r3, r31
lwz r31, 0xc(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
JGadget::TNodeLinkList::~TNodeLinkList(void) { }
/*
* --INFO--
@ -119,7 +98,7 @@ void JGadget::TNodeLinkList::reverse(void)
* Address: ........
* Size: 000060
*/
void JGadget::TNodeLinkList::Find(JGadget::TLinkListNode const*)
JGadget::TLinkListNode* JGadget::TNodeLinkList::Find(JGadget::TLinkListNode const*)
{
// UNUSED FUNCTION
}
@ -129,7 +108,7 @@ void JGadget::TNodeLinkList::Find(JGadget::TLinkListNode const*)
* Address: 80027320
* Size: 00002C
*/
void JGadget::TNodeLinkList::Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*)
void JGadget::TNodeLinkList::Insert(JGadget::TNodeLinkList::iterator position, JGadget::TLinkListNode* newNode)
{
/*
.loc_0x0:
@ -194,76 +173,77 @@ void JGadget::TNodeLinkList::Remove(JGadget::TLinkListNode*)
* --INFO--
* Address: 8002739C
* Size: 0000E8
* TODO: This mess.
*/
void remove_if<JGadget::@unnamed @linklist_cpp @ ::TPRIsEqual_pointer_<JGadget::TLinkListNode>> __Q27JGadget13TNodeLinkListFQ37JGadget22
@unnamed @linklist_cpp @46TPRIsEqual_pointer_
< JGadget::TLinkListNode > (void)
{
/*
.loc_0x0:
stwu r1, -0x50(r1)
li r5, 0
lwz r6, 0x0(r4)
addi r0, r3, 0x4
stw r5, 0x44(r1)
addi r8, r1, 0x44
stw r5, 0x48(r1)
stw r5, 0x40(r1)
stw r8, 0x44(r1)
stw r8, 0x48(r1)
lwz r4, 0x4(r3)
stw r6, 0x3C(r1)
stw r4, 0x20(r1)
b .loc_0xC8
// void remove_if<JGadget::@unnamed @linklist_cpp @ ::TPRIsEqual_pointer_<JGadget::TLinkListNode>> __Q27JGadget13TNodeLinkListFQ37JGadget22
// @unnamed @linklist_cpp @46TPRIsEqual_pointer_
// < JGadget::TLinkListNode > (void)
// {
// /*
// .loc_0x0:
// stwu r1, -0x50(r1)
// li r5, 0
// lwz r6, 0x0(r4)
// addi r0, r3, 0x4
// stw r5, 0x44(r1)
// addi r8, r1, 0x44
// stw r5, 0x48(r1)
// stw r5, 0x40(r1)
// stw r8, 0x44(r1)
// stw r8, 0x48(r1)
// lwz r4, 0x4(r3)
// stw r6, 0x3C(r1)
// stw r4, 0x20(r1)
// b .loc_0xC8
.loc_0x38:
lwz r5, 0x20(r1)
cmplw r5, r6
bne- .loc_0xC0
lwz r4, 0x0(r5)
cmplw r8, r5
stw r5, 0x24(r1)
stw r4, 0x20(r1)
stw r5, 0x2C(r1)
stw r8, 0x28(r1)
stw r4, 0x8(r1)
stw r5, 0x10(r1)
stw r8, 0xC(r1)
beq- .loc_0xC8
cmplw r8, r4
stw r4, 0x18(r1)
stw r8, 0x14(r1)
beq- .loc_0xC8
lwz r7, 0x0(r5)
lwz r4, 0x4(r5)
stw r8, 0x1C(r1)
stw r4, 0x4(r7)
stw r7, 0x0(r4)
lwz r4, 0x0(r3)
subi r4, r4, 0x1
stw r4, 0x0(r3)
lwz r4, 0x48(r1)
stw r8, 0x0(r5)
stw r4, 0x4(r5)
stw r5, 0x48(r1)
stw r5, 0x0(r4)
lwz r4, 0x40(r1)
addi r4, r4, 0x1
stw r4, 0x40(r1)
b .loc_0xC8
// .loc_0x38:
// lwz r5, 0x20(r1)
// cmplw r5, r6
// bne- .loc_0xC0
// lwz r4, 0x0(r5)
// cmplw r8, r5
// stw r5, 0x24(r1)
// stw r4, 0x20(r1)
// stw r5, 0x2C(r1)
// stw r8, 0x28(r1)
// stw r4, 0x8(r1)
// stw r5, 0x10(r1)
// stw r8, 0xC(r1)
// beq- .loc_0xC8
// cmplw r8, r4
// stw r4, 0x18(r1)
// stw r8, 0x14(r1)
// beq- .loc_0xC8
// lwz r7, 0x0(r5)
// lwz r4, 0x4(r5)
// stw r8, 0x1C(r1)
// stw r4, 0x4(r7)
// stw r7, 0x0(r4)
// lwz r4, 0x0(r3)
// subi r4, r4, 0x1
// stw r4, 0x0(r3)
// lwz r4, 0x48(r1)
// stw r8, 0x0(r5)
// stw r4, 0x4(r5)
// stw r5, 0x48(r1)
// stw r5, 0x0(r4)
// lwz r4, 0x40(r1)
// addi r4, r4, 0x1
// stw r4, 0x40(r1)
// b .loc_0xC8
.loc_0xC0:
lwz r4, 0x0(r5)
stw r4, 0x20(r1)
// .loc_0xC0:
// lwz r4, 0x0(r5)
// stw r4, 0x20(r1)
.loc_0xC8:
lwz r4, 0x20(r1)
cmplw r4, r0
stw r4, 0x38(r1)
stw r4, 0x34(r1)
stw r4, 0x30(r1)
bne+ .loc_0x38
addi r1, r1, 0x50
blr
*/
}
// .loc_0xC8:
// lwz r4, 0x20(r1)
// cmplw r4, r0
// stw r4, 0x38(r1)
// stw r4, 0x34(r1)
// stw r4, 0x30(r1)
// bne+ .loc_0x38
// addi r1, r1, 0x50
// blr
// */
// }

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,5 @@
#include "Dolphin/gx.h"
#include "JSystem/JStudio_JStage.h"
#include "types.h"
/*
@ -26,95 +28,19 @@
* Address: 8001318C
* Size: 0000A0
*/
JStudio_JStage::TAdaptor_ambientLight::TAdaptor_ambientLight(const JStage::TSystem*, JStage::TAmbientLight*)
JStudio_JStage::TAdaptor_ambientLight::TAdaptor_ambientLight(const JStage::TSystem* system, JStage::TAmbientLight* object)
: m_system(system)
, m_light(object)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
lis r6, 0x804A
lis r7, 0x804A
stw r0, 0x24(r1)
subi r0, r6, 0xB98
lis r6, 0x8000
stw r31, 0x1C(r1)
mr r31, r5
subi r5, r7, 0xC48
li r7, 0x4
stw r30, 0x18(r1)
mr r30, r4
stw r29, 0x14(r1)
mr r29, r3
mr r8, r29
stw r0, 0x0(r3)
addi r3, r8, 0xC
li r0, 0x4
stw r3, 0x4(r29)
stw r0, 0x8(r29)
addi r0, r6, 0x5808
mr r4, r0
li r6, 0x14
stw r5, 0x0(r29)
li r5, 0
bl 0xAE648
lis r4, 0x804A
mr r3, r29
subi r0, r4, 0x8F8
stw r0, 0x0(r29)
stw r30, 0x5C(r29)
stw r31, 0x60(r29)
lwz r31, 0x1C(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r0, 0x24(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/*
* --INFO--
* Address: 8001322C
* Size: 000078
* _dt
*/
JStudio_JStage::TAdaptor_ambientLight::~TAdaptor_ambientLight()
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_80013288
lis r5, __vt__Q214JStudio_JStage21TAdaptor_ambientLight@ha
li r4, 0
addi r0, r5, __vt__Q214JStudio_JStage21TAdaptor_ambientLight@l
stw r0, 0(r30)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
mr r3, r30
li r4, 0
bl __dt__Q27JStudio21TAdaptor_ambientLightFv
extsh. r0, r31
ble lbl_80013288
mr r3, r30
bl __dl__FPv
lbl_80013288:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
JStudio_JStage::TAdaptor_ambientLight::~TAdaptor_ambientLight() { adaptor_do_end(nullptr); }
/*
* --INFO--
@ -130,44 +56,8 @@ void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_prepare(const JStudio::TO
*/
void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_begin(const JStudio::TObject*)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
stw r0, 0x24(r1)
stw r31, 0x1C(r1)
stw r30, 0x18(r1)
mr r30, r3
lwz r31, 0x60(r3)
lwz r12, 0x0(r31)
mr r3, r31
lwz r12, 0x18(r12)
mtctr r12
bctrl
lwz r12, 0x0(r31)
ori r4, r3, 0x1
mr r3, r31
lwz r12, 0x1C(r12)
mtctr r12
bctrl
lwz r3, 0x60(r30)
lwz r12, 0x0(r3)
lwz r12, 0x3C(r12)
mtctr r12
bctrl
lis r4, 0x8047
stw r3, 0x8(r1)
addi r4, r4, 0x3380
mr r3, r30
addi r5, r1, 0x8
bl -0x5FB4
lwz r0, 0x24(r1)
lwz r31, 0x1C(r1)
lwz r30, 0x18(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
m_light->setFlagOn(1);
adaptor_setVariableValue_GXColor(sauVariableValue_4_COLOR_RGBA, m_light->JSGGetColor());
}
/*
@ -175,33 +65,7 @@ void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_begin(const JStudio::TObj
* Address: 80013334
* Size: 000054
*/
void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_end(const JStudio::TObject*)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xC(r1)
lwz r31, 0x60(r3)
lwz r12, 0x0(r31)
mr r3, r31
lwz r12, 0x18(r12)
mtctr r12
bctrl
lwz r12, 0x0(r31)
rlwinm r4,r3,0,0,30
mr r3, r31
lwz r12, 0x1C(r12)
mtctr r12
bctrl
lwz r0, 0x14(r1)
lwz r31, 0xC(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_end(const JStudio::TObject*) { m_light->setFlagOff(1); }
/*
* --INFO--
@ -210,36 +74,10 @@ void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_end(const JStudio::TObjec
*/
void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_update(const JStudio::TObject*, unsigned long)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
lis r4, 0x8047
stw r0, 0x24(r1)
addi r5, r4, 0x3380
addi r4, r1, 0xC
stw r31, 0x1C(r1)
mr r31, r3
bl -0x5F64
lwz r0, 0xC(r1)
addi r4, r1, 0x8
stw r0, 0x8(r1)
lwz r3, 0x60(r31)
lwz r12, 0x0(r3)
lwz r12, 0x40(r12)
mtctr r12
bctrl
lwz r3, 0x60(r31)
lwz r12, 0x0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
lwz r0, 0x24(r1)
lwz r31, 0x1C(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
_GXColor color;
adaptor_getVariableValue_GXColor(&color, sauVariableValue_4_COLOR_RGBA);
m_light->JSGSetColor(color);
m_light->JSGUpdate();
}
/*
@ -247,22 +85,8 @@ void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_update(const JStudio::TOb
* Address: 800133F4
* Size: 000034
*/
void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long)
void JStudio_JStage::TAdaptor_ambientLight::adaptor_do_data(const JStudio::TObject* p1, const void* p2, unsigned long p3, const void* p4,
unsigned long p5)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
mr r4, r5
mr r5, r6
stw r0, 0x14(r1)
mr r6, r7
mr r7, r8
lwz r3, 0x60(r3)
bl -0x13D0
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
TAdaptor_object_::adaptor_data_(m_light, p2, p3, p4, p5);
}

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,7 @@
#include "JStage/TObject.h"
#include "JStudio/TAdaptor.h"
#include "JStudio/TVariableValue.h"
#include "JSystem/JStudio_JStage.h"
#include "types.h"
/*
@ -63,136 +67,42 @@
.skip 0x60
*/
namespace JStudio_JStage {
const TAdaptor_fog::TVVOutput TAdaptor_fog::saoVVOutput_[3]
= { TVVOutput(4, &JStage::TFog::virtual_48, &JStage::TFog::virtual_44),
TVVOutput(5, &JStage::TFog::virtual_50, &JStage::TFog::virtual_4C), TVVOutput(-1, nullptr, nullptr) };
/*
* --INFO--
* Address: 80014134
* Size: 0000A0
*/
JStudio_JStage::TAdaptor_fog::TAdaptor_fog(const JStage::TSystem*, JStage::TFog*)
TAdaptor_fog::TAdaptor_fog(const JStage::TSystem* system, JStage::TFog* fog)
: JStudio::TAdaptor_fog()
, m_system(system)
, m_object(fog)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
lis r6, 0x804A
lis r7, 0x804A
stw r0, 0x24(r1)
subi r0, r6, 0xB98
lis r6, 0x8000
stw r31, 0x1C(r1)
mr r31, r5
subi r5, r7, 0xCE4
li r7, 0x6
stw r30, 0x18(r1)
mr r30, r4
stw r29, 0x14(r1)
mr r29, r3
mr r8, r29
stw r0, 0x0(r3)
addi r3, r8, 0xC
li r0, 0x6
stw r3, 0x4(r29)
stw r0, 0x8(r29)
addi r0, r6, 0x5808
mr r4, r0
li r6, 0x14
stw r5, 0x0(r29)
li r5, 0
bl 0xAD6A0
lis r4, 0x804A
mr r3, r29
subi r0, r4, 0x7B0
stw r0, 0x0(r29)
stw r30, 0x84(r29)
stw r31, 0x88(r29)
lwz r31, 0x1C(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r0, 0x24(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/*
* --INFO--
* Address: 800141D4
* Size: 000078
* __dt
*/
JStudio_JStage::TAdaptor_fog::~TAdaptor_fog()
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_80014230
lis r5, __vt__Q214JStudio_JStage12TAdaptor_fog@ha
li r4, 0
addi r0, r5, __vt__Q214JStudio_JStage12TAdaptor_fog@l
stw r0, 0(r30)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
mr r3, r30
li r4, 0
bl __dt__Q27JStudio12TAdaptor_fogFv
extsh. r0, r31
ble lbl_80014230
mr r3, r30
bl __dl__FPv
lbl_80014230:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
TAdaptor_fog::~TAdaptor_fog() { adaptor_do_end(nullptr); }
/*
* --INFO--
* Address: 8001424C
* Size: 000048
*/
void JStudio_JStage::TAdaptor_fog::adaptor_do_prepare(const JStudio::TObject*)
void TAdaptor_fog::adaptor_do_prepare(const JStudio::TObject*)
{
/*
lis r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
addi r0, r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
mr r5, r0
b lbl_80014284
lbl_8001425C:
mulli r0, r0, 0x14
lwz r4, 4(r3)
cmplwi r5, 0
add r4, r4, r0
beq lbl_80014278
mr r0, r5
b lbl_8001427C
lbl_80014278:
addi r0, r13, soOutput_none___Q27JStudio14TVariableValue@sda21
lbl_8001427C:
stw r0, 0x10(r4)
addi r5, r5, 0x20
lbl_80014284:
lwz r0, 4(r5)
cmpwi r0, -1
bne lbl_8001425C
blr
*/
for (const TVVOutput* output = saoVVOutput_; output->m_valueIndex != -1; output++) {
_04[output->m_valueIndex].setOutput(output);
}
}
/*
@ -200,76 +110,13 @@ lbl_80014284:
* Address: 80014294
* Size: 0000F4
*/
void JStudio_JStage::TAdaptor_fog::adaptor_do_begin(const JStudio::TObject*)
void TAdaptor_fog::adaptor_do_begin(const JStudio::TObject*)
{
/*
stwu r1, -0x20(r1)
mflr r0
stw r0, 0x24(r1)
stw r31, 0x1c(r1)
stw r30, 0x18(r1)
stw r29, 0x14(r1)
stw r28, 0x10(r1)
mr r28, r3
lwz r30, 0x88(r3)
lwz r12, 0(r30)
mr r3, r30
lwz r12, 0x18(r12)
mtctr r12
bctrl
lwz r12, 0(r30)
ori r4, r3, 1
mr r3, r30
lwz r12, 0x1c(r12)
mtctr r12
bctrl
lwz r3, 0x88(r28)
lwz r12, 0(r3)
lwz r12, 0x54(r12)
mtctr r12
bctrl
lis r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio12TAdaptor_fog@ha
stw r3, 8(r1)
addi r4, r4, sauVariableValue_4_COLOR_RGBA__Q27JStudio12TAdaptor_fog@l
mr r3, r28
addi r5, r1, 8
bl adaptor_setVariableValue_GXColor__Q27JStudio8TAdaptorFPCUlRC8_GXColor lis
r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha lis r3,
update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@ha
addi r0, r4, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
li r31, 0
mr r29, r0
addi r30, r3,
update_immediate___Q27JStudio14TVariableValueFPQ27JStudio14TVariableValued@l b
lbl_8001435C
lbl_8001432C:
lwz r3, 0x88(r28)
addi r12, r29, 0x14
bl __ptmf_scall
nop
lwz r0, 4(r29)
addi r29, r29, 0x20
lwz r3, 4(r28)
mulli r0, r0, 0x14
add r3, r3, r0
stw r30, 8(r3)
stw r31, 4(r3)
stfs f1, 0xc(r3)
lbl_8001435C:
lwz r0, 4(r29)
cmpwi r0, -1
bne lbl_8001432C
lwz r0, 0x24(r1)
lwz r31, 0x1c(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r28, 0x10(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
m_object->setFlagOn(1);
adaptor_setVariableValue_GXColor(sauVariableValue_4_COLOR_RGBA, m_object->JSGGetColor());
for (const TVVOutput* output = saoVVOutput_; output->m_valueIndex != -1; output++) {
_04[output->m_valueIndex].set(JStudio::TVariableValue::update_immediate_, 0, (m_object->*(output->m_getter))());
}
}
/*
@ -277,70 +124,19 @@ lbl_8001435C:
* Address: 80014388
* Size: 000054
*/
void JStudio_JStage::TAdaptor_fog::adaptor_do_end(const JStudio::TObject*)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
lwz r31, 0x88(r3)
lwz r12, 0(r31)
mr r3, r31
lwz r12, 0x18(r12)
mtctr r12
bctrl
lwz r12, 0(r31)
rlwinm r4, r3, 0, 0, 0x1e
mr r3, r31
lwz r12, 0x1c(r12)
mtctr r12
bctrl
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
void TAdaptor_fog::adaptor_do_end(const JStudio::TObject*) { m_object->setFlagOff(1); }
/*
* --INFO--
* Address: 800143DC
* Size: 00006C
*/
void JStudio_JStage::TAdaptor_fog::adaptor_do_update(const JStudio::TObject*, unsigned long)
void TAdaptor_fog::adaptor_do_update(const JStudio::TObject*, unsigned long)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
lis r4, 0x8047
stw r0, 0x24(r1)
addi r5, r4, 0x33B4
addi r4, r1, 0xC
stw r31, 0x1C(r1)
mr r31, r3
bl -0x6FB8
lwz r0, 0xC(r1)
addi r4, r1, 0x8
stw r0, 0x8(r1)
lwz r3, 0x88(r31)
lwz r12, 0x0(r3)
lwz r12, 0x58(r12)
mtctr r12
bctrl
lwz r3, 0x88(r31)
lwz r12, 0x0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
lwz r0, 0x24(r1)
lwz r31, 0x1C(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
_GXColor color;
adaptor_getVariableValue_GXColor(&color, sauVariableValue_4_COLOR_RGBA);
m_object->JSGSetColor(color);
m_object->JSGUpdate();
}
/*
@ -348,251 +144,193 @@ void JStudio_JStage::TAdaptor_fog::adaptor_do_update(const JStudio::TObject*, un
* Address: 80014448
* Size: 000034
*/
void JStudio_JStage::TAdaptor_fog::adaptor_do_data(const JStudio::TObject*, const void*, unsigned long, const void*, unsigned long)
void TAdaptor_fog::adaptor_do_data(const JStudio::TObject* object, const void* p2, unsigned long p3, const void* p4, unsigned long p5)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
mr r4, r5
mr r5, r6
stw r0, 0x14(r1)
mr r6, r7
mr r7, r8
lwz r3, 0x88(r3)
bl -0x2424
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
TAdaptor_object_::adaptor_data_(m_object, p2, p3, p4, p5);
}
/*
* --INFO--
* Address: 8001447C
* Size: 000228
* sinit
*/
void __sinit_object - fog_cpp(void)
{
/*
stwu r1, -0x80(r1)
mflr r0
lis r3, lbl_8049F820@ha
lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
stw r0, 0x84(r1)
lis r5,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
lis r12, lbl_804EFE68@ha
li r11, 4
stw r31, 0x7c(r1)
addi r31, r3, lbl_8049F820@l
lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
stw r30, 0x78(r1)
addi r30, r12, lbl_804EFE68@l
addi r12, r5,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
stw r29, 0x74(r1)
addi r29, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
addi r5, r30, 0
stwu r29, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l(r3)
addi r4, r4,
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
lwz r10, 0(r31)
lwz r9, 4(r31)
lwz r8, 8(r31)
lwz r7, 0xc(r31)
lwz r6, 0x10(r31)
lwz r0, 0x14(r31)
stw r29, 0x48(r1)
stw r12, 0x48(r1)
stw r11, 0x4c(r1)
stw r10, 0x50(r1)
stw r9, 0x54(r1)
stw r8, 0x58(r1)
stw r7, 0x5c(r1)
stw r6, 0x60(r1)
stw r0, 0x64(r1)
stw r12, 0(r3)
stw r11, 4(r3)
stw r10, 8(r3)
stw r9, 0xc(r3)
stw r8, 0x10(r3)
stw r7, 0x14(r3)
stw r6, 0x18(r3)
stw r0, 0x1c(r3)
bl __register_global_object
lis r4,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
addi r3, r1, 0x48
addi r0, r4,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
li r4, 0
stw r0, 0x48(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
addi r29, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
lwz r10, 0x18(r31)
addi r3, r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
lwz r9, 0x1c(r31)
stwu r29, 0x20(r3)
li r11, 5
lwz r8, 0x20(r31)
lis r5,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
lwz r7, 0x24(r31)
addi r12, r5,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
lwz r6, 0x28(r31)
lis r4,
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
lwz r0, 0x2c(r31)
addi r4, r4,
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
stw r29, 0x28(r1)
addi r5, r30, 0xc
stw r12, 0x28(r1)
stw r11, 0x2c(r1)
stw r10, 0x30(r1)
stw r9, 0x34(r1)
stw r8, 0x38(r1)
stw r7, 0x3c(r1)
stw r6, 0x40(r1)
stw r0, 0x44(r1)
stw r12, 0(r3)
stw r11, 4(r3)
stw r10, 8(r3)
stw r9, 0xc(r3)
stw r8, 0x10(r3)
stw r7, 0x14(r3)
stw r6, 0x18(r3)
stw r0, 0x1c(r3)
bl __register_global_object
lis r4,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
addi r3, r1, 0x28
addi r0, r4,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
li r4, 0
stw r0, 0x28(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
addi r11, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
li r9, -1
stw r11, 8(r1)
addi r10, r3,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
lis r4, __ptmf_null@ha
lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
stw r10, 8(r1)
addi r8, r4, __ptmf_null@l
lis r4,
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
lwz r7, 0(r8)
stw r9, 0xc(r1)
addi r3, r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
addi r4, r4,
"__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
addi r5, r30, 0x18
lwz r6, 4(r8)
stw r7, 0x10(r1)
stw r6, 0x14(r1)
lwz r0, 8(r8)
stwu r11, 0x40(r3)
stw r0, 0x18(r1)
stw r7, 0x1c(r1)
stw r6, 0x20(r1)
stw r0, 0x24(r1)
stw r10, 0(r3)
stw r9, 4(r3)
stw r7, 8(r3)
stw r6, 0xc(r3)
stw r0, 0x10(r3)
stw r7, 0x14(r3)
stw r6, 0x18(r3)
stw r0, 0x1c(r3)
bl __register_global_object
lis r4,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
addi r3, r1, 8
addi r0, r4,
"__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
li r4, 0
stw r0, 8(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lwz r0, 0x84(r1)
lwz r31, 0x7c(r1)
lwz r30, 0x78(r1)
lwz r29, 0x74(r1)
mtlr r0
addi r1, r1, 0x80
blr
*/
}
// void __sinit_object - fog_cpp(void)
// {
// /*
// stwu r1, -0x80(r1)
// mflr r0
// lis r3, lbl_8049F820@ha
// lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
// stw r0, 0x84(r1)
// lis r5,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
// lis r12, lbl_804EFE68@ha
// li r11, 4
// stw r31, 0x7c(r1)
// addi r31, r3, lbl_8049F820@l
// lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
// stw r30, 0x78(r1)
// addi r30, r12, lbl_804EFE68@l
// addi r12, r5,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
// stw r29, 0x74(r1)
// addi r29, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
// addi r5, r30, 0
// stwu r29, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l(r3)
// addi r4, r4,
// "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
// lwz r10, 0(r31)
// lwz r9, 4(r31)
// lwz r8, 8(r31)
// lwz r7, 0xc(r31)
// lwz r6, 0x10(r31)
// lwz r0, 0x14(r31)
// stw r29, 0x48(r1)
// stw r12, 0x48(r1)
// stw r11, 0x4c(r1)
// stw r10, 0x50(r1)
// stw r9, 0x54(r1)
// stw r8, 0x58(r1)
// stw r7, 0x5c(r1)
// stw r6, 0x60(r1)
// stw r0, 0x64(r1)
// stw r12, 0(r3)
// stw r11, 4(r3)
// stw r10, 8(r3)
// stw r9, 0xc(r3)
// stw r8, 0x10(r3)
// stw r7, 0x14(r3)
// stw r6, 0x18(r3)
// stw r0, 0x1c(r3)
// bl __register_global_object
// lis r4,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
// addi r3, r1, 0x48
// addi r0, r4,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
// li r4, 0
// stw r0, 0x48(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
// addi r29, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
// lwz r10, 0x18(r31)
// addi r3, r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
// lwz r9, 0x1c(r31)
// stwu r29, 0x20(r3)
// li r11, 5
// lwz r8, 0x20(r31)
// lis r5,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
// lwz r7, 0x24(r31)
// addi r12, r5,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
// lwz r6, 0x28(r31)
// lis r4,
// "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
// lwz r0, 0x2c(r31)
// addi r4, r4,
// "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
// stw r29, 0x28(r1)
// addi r5, r30, 0xc
// stw r12, 0x28(r1)
// stw r11, 0x2c(r1)
// stw r10, 0x30(r1)
// stw r9, 0x34(r1)
// stw r8, 0x38(r1)
// stw r7, 0x3c(r1)
// stw r6, 0x40(r1)
// stw r0, 0x44(r1)
// stw r12, 0(r3)
// stw r11, 4(r3)
// stw r10, 8(r3)
// stw r9, 0xc(r3)
// stw r8, 0x10(r3)
// stw r7, 0x14(r3)
// stw r6, 0x18(r3)
// stw r0, 0x1c(r3)
// bl __register_global_object
// lis r4,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
// addi r3, r1, 0x28
// addi r0, r4,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
// li r4, 0
// stw r0, 0x28(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
// addi r11, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
// li r9, -1
// stw r11, 8(r1)
// addi r10, r3,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
// lis r4, __ptmf_null@ha
// lis r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@ha
// stw r10, 8(r1)
// addi r8, r4, __ptmf_null@l
// lis r4,
// "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@ha
// lwz r7, 0(r8)
// stw r9, 0xc(r1)
// addi r3, r3, saoVVOutput___Q214JStudio_JStage12TAdaptor_fog@l
// addi r4, r4,
// "__dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv"@l
// addi r5, r30, 0x18
// lwz r6, 4(r8)
// stw r7, 0x10(r1)
// stw r6, 0x14(r1)
// lwz r0, 8(r8)
// stwu r11, 0x40(r3)
// stw r0, 0x18(r1)
// stw r7, 0x1c(r1)
// stw r6, 0x20(r1)
// stw r0, 0x24(r1)
// stw r10, 0(r3)
// stw r9, 4(r3)
// stw r7, 8(r3)
// stw r6, 0xc(r3)
// stw r0, 0x10(r3)
// stw r7, 0x14(r3)
// stw r6, 0x18(r3)
// stw r0, 0x1c(r3)
// bl __register_global_object
// lis r4,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@ha
// addi r3, r1, 8
// addi r0, r4,
// "__vt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>"@l
// li r4, 0
// stw r0, 8(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lwz r0, 0x84(r1)
// lwz r31, 0x7c(r1)
// lwz r30, 0x78(r1)
// lwz r29, 0x74(r1)
// mtlr r0
// addi r1, r1, 0x80
// blr
// */
// }
/*
* --INFO--
* Address: 800146A4
* Size: 000060
* __dt__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>Fv
*/
void JStudio_JStage::TVariableValueOutput_object_<JStudio_JStage::TAdaptor_fog, JStage::TFog>::~TVariableValueOutput_object_()
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xC(r1)
mr r31, r4
stw r30, 0x8(r1)
mr. r30, r3
beq- .loc_0x44
lis r5, 0x804A
li r4, 0
subi r0, r5, 0x770
stw r0, 0x0(r30)
bl -0x766C
extsh. r0, r31
ble- .loc_0x44
mr r3, r30
bl 0xF9D0
.loc_0x44:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xC(r1)
lwz r30, 0x8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
// void TVariableValueOutput_object_<TAdaptor_fog, JStage::TFog>::~TVariableValueOutput_object_() { }
/*
* --INFO--
* Address: 80014704
* Size: 000030
* __cl__Q214JStudio_JStage77TVariableValueOutput_object_<Q214JStudio_JStage12TAdaptor_fog,Q26JStage4TFog>CFfPQ27JStudio8TAdaptor
*/
void JStudio_JStage::TVariableValueOutput_object_<JStudio_JStage::TAdaptor_fog, JStage::TFog>::operator()(float, JStudio::TAdaptor*) const
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
mr r5, r3
stw r0, 0x14(r1)
addi r12, r5, 0x8
lwz r3, 0x88(r4)
bl 0xAD408
nop
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
// void TVariableValueOutput_object_<TAdaptor_fog, JStage::TFog>::operator()(float, JStudio::TAdaptor*) const { }
} // namespace JStudio_JStage

View File

@ -1,3 +1,4 @@
#include "JStudio/object.h"
#include "types.h"
/*
@ -11,8 +12,45 @@ namespace JStudio {
* Address: 80010188
* Size: 0000F0
*/
void object::TIDData::isEqual(JStudio::object::TIDData const&, JStudio::object::TIDData const&)
bool object::TIDData::isEqual(JStudio::object::TIDData const& a, JStudio::object::TIDData const& b)
{
// u32 bytesRemaining = a.lengthInBytes_0x4;
if (a.lengthInBytes_0x4 != b.lengthInBytes_0x4) {
return false;
}
u32 bytesRemaining = a.lengthInBytes_0x4;
u32* aStr = (u32*)a.idString_0x0;
u32* bStr = (u32*)b.idString_0x0;
// if (a.idString_0x0 == b.idString_0x0) {
if (aStr == bStr) {
// they point to the same id
return true;
}
for (; bytesRemaining >= 4; bytesRemaining -= 4, aStr++, bStr++) {
if (*aStr != *bStr) {
return false;
}
}
switch (bytesRemaining) {
case 3:
if (*(u8*)aStr != *(u8*)bStr) {
return false;
}
aStr = (u32*)((u8*)aStr + 1);
bStr = (u32*)((u8*)bStr + 1);
case 2:
if (*(u8*)aStr != *(u8*)bStr) {
return false;
}
aStr = (u32*)((u8*)aStr + 1);
bStr = (u32*)((u8*)bStr + 1);
case 1:
if (*(u8*)aStr != *(u8*)bStr) {
return false;
}
default:
return true;
}
/*
.loc_0x0:
lwz r5, 0x4(r3)

View File

@ -1,3 +1,4 @@
#include "JSystem/JStudio_JStage.h"
#include "types.h"
/*
@ -685,7 +686,7 @@ void JStudio_JStage::TAdaptor_light::TVVOutput_direction_::operator()(float, JSt
* Address: 80011AD4
* Size: 000060
*/
void JStudio_JStage::TAdaptor_light::TVVOutput_direction_::~TVVOutput_direction_()
JStudio_JStage::TAdaptor_light::TVVOutput_direction_::~TVVOutput_direction_()
{
/*
.loc_0x0:
@ -723,148 +724,148 @@ void JStudio_JStage::TAdaptor_light::TVVOutput_direction_::~TVVOutput_direction_
* Address: 80011B34
* Size: 000298
*/
void __sinit_object - light_cpp(void)
{
/*
stwu r1, -0x60(r1)
mflr r0
lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
stw r0, 0x64(r1)
addi r5, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha li r6, 0xa
stw r31, 0x5c(r1)
li r0, 1
addi r7, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l lis r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha stwu r5,
saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l(r3) addi r4,
r4, __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw
r5, 0x44(r1) lis r5, lbl_804EFDA0@ha addi r31, r5, lbl_804EFDA0@l
stw r7, 0x44(r1)
addi r5, r31, 0
stw r6, 0x48(r1)
stw r0, 0x4c(r1)
stw r7, 0(r3)
stw r6, 4(r3)
stw r0, 8(r3)
bl __register_global_object
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r1, 0x44 addi r0, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
stw r0, 0x44(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
0x38(r1) addi r7, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 0xb
stwu r5, 0xc(r3)
li r0, 1
lis r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
r31, 0xc stw r7, 0x38(r1) addi r4, r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
0x3c(r1) stw r0, 0x40(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
8(r3) bl __register_global_object lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r1, 0x38 addi r0, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
stw r0, 0x38(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
0x2c(r1) addi r7, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 7
stwu r5, 0x18(r3)
li r0, 2
lis r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
r31, 0x18 stw r7, 0x2c(r1) addi r4, r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
0x30(r1) stw r0, 0x34(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
8(r3) bl __register_global_object lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r1, 0x2c addi r0, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
stw r0, 0x2c(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
0x20(r1) addi r7, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 8
stwu r5, 0x24(r3)
li r0, 2
lis r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
r31, 0x24 stw r7, 0x20(r1) addi r4, r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
0x24(r1) stw r0, 0x28(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
8(r3) bl __register_global_object lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r1, 0x20 addi r0, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
stw r0, 0x20(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
0x14(r1) addi r7, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 9
stwu r5, 0x30(r3)
li r0, 2
lis r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
r31, 0x30 stw r7, 0x14(r1) addi r4, r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
0x18(r1) stw r0, 0x1c(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
8(r3) bl __register_global_object lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r1, 0x14 addi r0, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
stw r0, 0x14(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
8(r1) addi r7, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, -1
stwu r5, 0x3c(r3)
li r0, 0
lis r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
r31, 0x3c stw r7, 8(r1) addi r4, r4,
__dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
0xc(r1) stw r0, 0x10(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
8(r3) bl __register_global_object lis r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
r1, 8 addi r0, r4,
__vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
stw r0, 8(r1)
bl __dt__Q37JStudio14TVariableValue7TOutputFv
lwz r0, 0x64(r1)
lwz r31, 0x5c(r1)
mtlr r0
addi r1, r1, 0x60
blr
*/
}
// void __sinit_object - light_cpp(void)
// {
// /*
// stwu r1, -0x60(r1)
// mflr r0
// lis r4, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
// stw r0, 0x64(r1)
// addi r5, r4, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha li r6, 0xa
// stw r31, 0x5c(r1)
// li r0, 1
// addi r7, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l lis r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha stwu r5,
// saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l(r3) addi r4,
// r4, __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw
// r5, 0x44(r1) lis r5, lbl_804EFDA0@ha addi r31, r5, lbl_804EFDA0@l
// stw r7, 0x44(r1)
// addi r5, r31, 0
// stw r6, 0x48(r1)
// stw r0, 0x4c(r1)
// stw r7, 0(r3)
// stw r6, 4(r3)
// stw r0, 8(r3)
// bl __register_global_object
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r1, 0x44 addi r0, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
// stw r0, 0x44(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
// addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
// 0x38(r1) addi r7, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 0xb
// stwu r5, 0xc(r3)
// li r0, 1
// lis r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
// r31, 0xc stw r7, 0x38(r1) addi r4, r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
// 0x3c(r1) stw r0, 0x40(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
// 8(r3) bl __register_global_object lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r1, 0x38 addi r0, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
// stw r0, 0x38(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
// addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
// 0x2c(r1) addi r7, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 7
// stwu r5, 0x18(r3)
// li r0, 2
// lis r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
// r31, 0x18 stw r7, 0x2c(r1) addi r4, r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
// 0x30(r1) stw r0, 0x34(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
// 8(r3) bl __register_global_object lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r1, 0x2c addi r0, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
// stw r0, 0x2c(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
// addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
// 0x20(r1) addi r7, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 8
// stwu r5, 0x24(r3)
// li r0, 2
// lis r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
// r31, 0x24 stw r7, 0x20(r1) addi r4, r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
// 0x24(r1) stw r0, 0x28(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
// 8(r3) bl __register_global_object lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r1, 0x20 addi r0, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
// stw r0, 0x20(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
// addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
// 0x14(r1) addi r7, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, 9
// stwu r5, 0x30(r3)
// li r0, 2
// lis r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
// r31, 0x30 stw r7, 0x14(r1) addi r4, r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
// 0x18(r1) stw r0, 0x1c(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
// 8(r3) bl __register_global_object lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r1, 0x14 addi r0, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
// stw r0, 0x14(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lis r5, __vt__Q37JStudio14TVariableValue7TOutput@ha
// lis r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@ha
// addi r5, r5, __vt__Q37JStudio14TVariableValue7TOutput@l
// lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r3, saoVVOutput_direction___Q214JStudio_JStage14TAdaptor_light@l stw r5,
// 8(r1) addi r7, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r6, -1
// stwu r5, 0x3c(r3)
// li r0, 0
// lis r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@ha addi r5,
// r31, 0x3c stw r7, 8(r1) addi r4, r4,
// __dt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_Fv@l stw r6,
// 0xc(r1) stw r0, 0x10(r1) stw r7, 0(r3) stw r6, 4(r3) stw r0,
// 8(r3) bl __register_global_object lis r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@ha addi r3,
// r1, 8 addi r0, r4,
// __vt__Q314JStudio_JStage14TAdaptor_light20TVVOutput_direction_@l li r4, 0
// stw r0, 8(r1)
// bl __dt__Q37JStudio14TVariableValue7TOutputFv
// lwz r0, 0x64(r1)
// lwz r31, 0x5c(r1)
// mtlr r0
// addi r1, r1, 0x60
// blr
// */
// }

View File

@ -1,3 +1,5 @@
#include "JStudio/TAdaptor.h"
#include "JSystem/JStudio_JMessage.h"
#include "types.h"
/*
@ -24,90 +26,30 @@
* Address: 80014D24
* Size: 000038
*/
JStudio_JMessage::TAdaptor_message::TAdaptor_message(JMessage::TControl*)
JStudio_JMessage::TAdaptor_message::TAdaptor_message(JMessage::TControl* control)
: JStudio::TAdaptor_message()
, m_control(control)
{
/*
lis r7, __vt__Q27JStudio8TAdaptor@ha
lis r6, __vt__Q27JStudio16TAdaptor_message@ha
addi r0, r7, __vt__Q27JStudio8TAdaptor@l
lis r5, __vt__Q216JStudio_JMessage16TAdaptor_message@ha
stw r0, 0(r3)
li r7, 0
addi r6, r6, __vt__Q27JStudio16TAdaptor_message@l
addi r0, r5, __vt__Q216JStudio_JMessage16TAdaptor_message@l
stw r7, 4(r3)
stw r7, 8(r3)
stw r6, 0(r3)
stw r0, 0(r3)
stw r4, 0xc(r3)
blr
*/
}
/*
* --INFO--
* Address: 80014D5C
* Size: 000060
* __dt__
*/
JStudio_JMessage::TAdaptor_message::~TAdaptor_message()
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_80014DA0
lis r5, __vt__Q216JStudio_JMessage16TAdaptor_message@ha
li r4, 0
addi r0, r5, __vt__Q216JStudio_JMessage16TAdaptor_message@l
stw r0, 0(r30)
bl __dt__Q27JStudio16TAdaptor_messageFv
extsh. r0, r31
ble lbl_80014DA0
mr r3, r30
bl __dl__FPv
lbl_80014DA0:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
JStudio_JMessage::TAdaptor_message::~TAdaptor_message() { }
/*
* --INFO--
* Address: 80014DBC
* Size: 00003C
*/
void JStudio_JMessage::TAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JMessage::TAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData operation, const void* p2, unsigned long p3)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmpwi r4, 0x19
stw r0, 0x14(r1)
beq- .loc_0x18
b .loc_0x2C
.loc_0x18:
lwz r0, 0x0(r5)
lwz r3, 0xC(r3)
rlwinm r4,r0,16,16,31
rlwinm r5,r0,0,16,31
bl -0xC768
.loc_0x2C:
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_19:
m_control->setMessageCode((*(u32*)p2) >> 0x10, (*(u32*)p2));
break;
}
}

View File

@ -1,3 +1,9 @@
#include "JStage/TObject.h"
#include "JStage/TSystem.h"
#include "JStudio/data.h"
#include "JSystem/JPA/JPAEmitter.h"
#include "JSystem/JStudio_JParticle.h"
#include "Dolphin/float.h"
#include "types.h"
/*
@ -122,105 +128,28 @@
* Address: 800056C0
* Size: 0000E8
*/
JStudio_JParticle::TAdaptor_particle::TAdaptor_particle(JPAEmitterManager*, const JStage::TSystem*)
JStudio_JParticle::TAdaptor_particle::TAdaptor_particle(JPAEmitterManager* emitterManager, const JStage::TSystem* system)
: m_emitterManager(emitterManager)
, m_emitter(nullptr)
, m_callback(this)
, _188(-1)
, _18C(0)
, _190(0)
, _194(0)
, m_system(system)
, _19C(nullptr)
, _1A0(0xFFFFFFFF)
, _1A4(0)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
lis r6, 0x804A
lis r7, 0x804A
stw r0, 0x24(r1)
subi r0, r6, 0xB98
lis r6, 0x8000
stw r31, 0x1C(r1)
mr r31, r3
mr r8, r31
stw r30, 0x18(r1)
mr r30, r5
subi r5, r7, 0x1D68
li r7, 0x12
stw r29, 0x14(r1)
mr r29, r4
stw r0, 0x0(r3)
addi r3, r8, 0xC
li r0, 0x12
stw r3, 0x4(r31)
stw r0, 0x8(r31)
addi r0, r6, 0x5808
mr r4, r0
li r6, 0x14
stw r5, 0x0(r31)
li r5, 0
bl 0xBC114
lis r3, 0x804A
lis r4, 0x804A
subi r0, r3, 0x1DC4
lis r3, 0x804A
stw r0, 0x0(r31)
li r6, 0
subi r5, r4, 0x1D84
subi r4, r3, 0x1DE0
stw r29, 0x174(r31)
li r0, -0x1
mr r3, r31
stw r6, 0x178(r31)
stw r5, 0x17C(r31)
stw r4, 0x17C(r31)
stw r31, 0x180(r31)
stw r6, 0x184(r31)
stw r0, 0x188(r31)
stw r6, 0x18C(r31)
stw r6, 0x190(r31)
stw r6, 0x194(r31)
stw r30, 0x198(r31)
stw r6, 0x19C(r31)
stw r0, 0x1A0(r31)
stb r6, 0x1A4(r31)
lwz r31, 0x1C(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r0, 0x24(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/*
* --INFO--
* Address: 800057A8
* Size: 000060
* __dt__Q317JStudio_JParticle17TAdaptor_particle13TJPACallback_Fv
*/
JStudio_JParticle::TAdaptor_particle::TJPACallback_::~TJPACallback_()
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_800057EC
lis r5,
__vt__Q317JStudio_JParticle17TAdaptor_particle13TJPACallback_@ha li r4, 0
addi r0, r5,
__vt__Q317JStudio_JParticle17TAdaptor_particle13TJPACallback_@l stw r0,
0(r30) bl __dt__18JPAEmitterCallBackFv extsh. r0, r31 ble lbl_800057EC
mr r3, r30
bl __dl__FPv
lbl_800057EC:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
JStudio_JParticle::TAdaptor_particle::TJPACallback_::~TJPACallback_() { }
namespace JStudio {
@ -228,18 +157,19 @@ namespace JStudio {
* --INFO--
* Address: 80005808
* Size: 000018
* __ct__Q27JStudio14TVariableValueFv
*/
TVariableValue::TVariableValue()
{
/*
li r4, 0
addi r0, r13, soOutput_none___Q27JStudio14TVariableValue@sda21
stw r4, 4(r3)
stw r4, 8(r3)
stw r0, 0x10(r3)
blr
*/
}
// TVariableValue::TVariableValue()
// {
// /*
// li r4, 0
// addi r0, r13, soOutput_none___Q27JStudio14TVariableValue@sda21
// stw r4, 4(r3)
// stw r4, 8(r3)
// stw r0, 0x10(r3)
// blr
// */
// }
} // namespace JStudio
@ -247,55 +177,13 @@ TVariableValue::TVariableValue()
* --INFO--
* Address: 80005820
* Size: 000098
* __dt__Q217JStudio_JParticle17TAdaptor_particleFv
*/
JStudio_JParticle::TAdaptor_particle::~TAdaptor_particle()
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
or. r30, r3, r3
beq lbl_8000589C
lis r3, __vt__Q217JStudio_JParticle17TAdaptor_particle@ha
addi r0, r3, __vt__Q217JStudio_JParticle17TAdaptor_particle@l
stw r0, 0(r30)
lwz r4, 0x178(r30)
cmplwi r4, 0
beq lbl_80005860
lwz r3, 0x174(r30)
bl forceDeleteEmitter__17JPAEmitterManagerFP14JPABaseEmitter
lbl_80005860:
addic. r0, r30, 0x17c
beq lbl_80005880
lis r4,
__vt__Q317JStudio_JParticle17TAdaptor_particle13TJPACallback_@ha addi r3,
r30, 0x17c addi r0, r4,
__vt__Q317JStudio_JParticle17TAdaptor_particle13TJPACallback_@l li r4, 0
stw r0, 0x17c(r30)
bl __dt__18JPAEmitterCallBackFv
lbl_80005880:
mr r3, r30
li r4, 0
bl __dt__Q27JStudio17TAdaptor_particleFv
extsh. r0, r31
ble lbl_8000589C
mr r3, r30
bl __dl__FPv
lbl_8000589C:
lwz r0, 0x14(r1)
mr r3, r30
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
if (m_emitter != nullptr) {
m_emitterManager->forceDeleteEmitter(m_emitter);
}
}
/*
@ -303,8 +191,20 @@ lbl_8000589C:
* Address: 800058B8
* Size: 000144
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_prepare(const JStudio::TObject*)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_prepare(const JStudio::TObject* p1)
{
static TSetVariableValue_immediate aoData[18]
= { TSetVariableValue_immediate(0, 0.0f), TSetVariableValue_immediate(1, 0.0f),
TSetVariableValue_immediate(2, 0.0f), TSetVariableValue_immediate(3, 0.0f),
TSetVariableValue_immediate(4, 0.0f), TSetVariableValue_immediate(5, 0.0f),
TSetVariableValue_immediate(6, 1.0f), TSetVariableValue_immediate(7, 1.0f),
TSetVariableValue_immediate(8, 1.0f), TSetVariableValue_immediate(9, 255.0f),
TSetVariableValue_immediate(10, 255.0f), TSetVariableValue_immediate(11, 255.0f),
TSetVariableValue_immediate(12, 255.0f), TSetVariableValue_immediate(13, 255.0f),
TSetVariableValue_immediate(14, 255.0f), TSetVariableValue_immediate(15, 255.0f),
TSetVariableValue_immediate(16, 255.0f), TSetVariableValue_immediate(0xFFFFFFFF, __float_nan) };
adaptor_setVariableValue_immediate(aoData);
m_callback.m_object = p1;
/*
.loc_0x0:
stwu r1, -0x30(r1)
@ -405,65 +305,29 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_end(const JStudio::TObject
* Address: 80005A00
* Size: 0000B0
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_update(const JStudio::TObject*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_update(const JStudio::TObject* p1, unsigned long p2)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xC(r1)
mr r31, r3
lwz r3, 0x190(r3)
cmplwi r3, 0
beq- .loc_0x9C
lwz r0, 0x194(r31)
cmplw r0, r3
bge- .loc_0x9C
add r0, r0, r5
stw r0, 0x194(r31)
lwz r3, 0x194(r31)
lwz r0, 0x190(r31)
cmplw r3, r0
blt- .loc_0x9C
lwz r0, 0x18C(r31)
cmpwi r0, 0x2
beq- .loc_0x90
bge- .loc_0x60
cmpwi r0, 0x1
bge- .loc_0x6C
b .loc_0x90
.loc_0x60:
cmpwi r0, 0x4
bge- .loc_0x90
b .loc_0x78
.loc_0x6C:
li r0, 0x2
stw r0, 0x18C(r31)
b .loc_0x90
.loc_0x78:
lwz r3, 0x174(r31)
lwz r4, 0x178(r31)
bl 0x8B280
li r0, 0
stw r0, 0x178(r31)
stw r0, 0x18C(r31)
.loc_0x90:
li r0, 0
stw r0, 0x190(r31)
stw r0, 0x194(r31)
.loc_0x9C:
lwz r0, 0x14(r1)
lwz r31, 0xC(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
if (_190 == 0) {
return;
}
if (_194 >= _190) {
return;
}
_194 += p2;
if (_194 < _190) {
return;
}
switch (_18C) {
case 1:
_18C = 2;
break;
case 3:
m_emitterManager->forceDeleteEmitter(m_emitter);
m_emitter = nullptr;
_18C = 0;
}
_190 = 0;
_194 = 0;
}
/*
@ -471,27 +335,13 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_update(const JStudio::TObj
* Address: 80005AB0
* Size: 000030
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_BEGIN(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_BEGIN(JStudio::data::TEOperationData operation, const void* p2, unsigned long p3)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmpwi r4, 0x1
stw r0, 0x14(r1)
beq- .loc_0x18
b .loc_0x20
.loc_0x18:
li r4, 0
bl 0x548
.loc_0x20:
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_01:
beginParticle_fadeIn_(0);
break;
}
}
/*
@ -499,33 +349,14 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_BEGIN(JStudio::data::TEOpe
* Address: 80005AE0
* Size: 000048
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData operation, const void* p2,
unsigned long p3)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmpwi r4, 0x2
stw r0, 0x14(r1)
stw r31, 0xC(r1)
mr r31, r3
beq- .loc_0x20
b .loc_0x34
.loc_0x20:
lfs f1, 0x0(r5)
bl 0xBC048
mr r4, r3
mr r3, r31
bl 0x504
.loc_0x34:
lwz r0, 0x14(r1)
lwz r31, 0xC(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_02:
beginParticle_fadeIn_(*(f32*)p2);
break;
}
}
/*
@ -533,22 +364,17 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_BEGIN_FADE_IN(JStudio::dat
* Address: 80005B28
* Size: 00002C
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_END(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_END(JStudio::data::TEOperationData operation, const void* p2, unsigned long p3)
{
/*
.loc_0x0:
cmpwi r4, 0x1
bnelr-
lwz r4, 0x178(r3)
cmplwi r4, 0
beqlr-
lwz r3, 0xF4(r4)
li r0, 0x1
ori r3, r3, 0x1
stw r3, 0xF4(r4)
stw r0, 0x24(r4)
blr
*/
if (operation != JStudio::data::TEOD_Unknown_01) {
return;
}
JPABaseEmitter* emitter = m_emitter;
if (emitter == nullptr) {
return;
}
emitter->_F4 |= 1;
emitter->_24 = 1;
}
/*
@ -556,33 +382,14 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_END(JStudio::data::TEOpera
* Address: 80005B54
* Size: 000048
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData operation, const void* p2,
unsigned long p3)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmpwi r4, 0x2
stw r0, 0x14(r1)
stw r31, 0xC(r1)
mr r31, r3
beq- .loc_0x20
b .loc_0x34
.loc_0x20:
lfs f1, 0x0(r5)
bl 0xBBFD4
mr r4, r3
mr r3, r31
bl 0x574
.loc_0x34:
lwz r0, 0x14(r1)
lwz r31, 0xC(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_02:
endParticle_fadeOut_(*(f32*)p2);
break;
}
}
/*
@ -590,16 +397,13 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_END_FADE_OUT(JStudio::data
* Address: 80005B9C
* Size: 000014
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARTICLE(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARTICLE(JStudio::data::TEOperationData operation, const void* p2, unsigned long p3)
{
/*
.loc_0x0:
cmpwi r4, 0x19
bnelr-
lwz r0, 0x0(r5)
stw r0, 0x188(r3)
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_19:
_188 = *(int*)p2;
break;
}
}
/*
@ -607,41 +411,17 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARTICLE(JStudio::data::TE
* Address: 80005BB0
* Size: 000068
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT(JStudio::data::TEOperationData operation, const void* p2, unsigned long p3)
{
/*
.loc_0x0:
stwu r1, -0x20(r1)
mflr r0
cmpwi r4, 0x18
stw r0, 0x24(r1)
stw r31, 0x1C(r1)
mr r31, r3
beq- .loc_0x20
b .loc_0x54
.loc_0x20:
li r0, 0
addi r4, r1, 0x8
stw r0, 0x19C(r31)
li r6, 0
lwz r3, 0x198(r31)
lwz r12, 0x0(r3)
lwz r12, 0x3C(r12)
mtctr r12
bctrl
cmpwi r3, 0
bne- .loc_0x54
lwz r0, 0x8(r1)
stw r0, 0x19C(r31)
.loc_0x54:
lwz r0, 0x24(r1)
lwz r31, 0x1C(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_18:
_19C = nullptr;
JStage::TObject* object;
if (m_system->JSGFindObject(&object, (const char*)p2, JStage::TEO_Unknown_0) == 0) {
_19C = object;
}
break;
}
}
/*
@ -649,49 +429,22 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT(JStudio::data::TEOp
* Address: 80005C18
* Size: 000080
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT_NODE(JStudio::data::TEOperationData operation, const void* p2,
unsigned long p3)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmpwi r4, 0x19
stw r0, 0x14(r1)
stw r31, 0xC(r1)
mr r31, r3
beq- .loc_0x64
bge- .loc_0x6C
cmpwi r4, 0x18
bge- .loc_0x2C
b .loc_0x6C
.loc_0x2C:
lwz r3, 0x19C(r31)
cmplwi r3, 0
beq- .loc_0x6C
lwz r12, 0x0(r3)
mr r4, r5
lwz r12, 0x34(r12)
mtctr r12
bctrl
stw r3, 0x1A0(r31)
lwz r3, 0x1A0(r31)
addis r0, r3, 0x1
cmplwi r0, 0xFFFF
bne- .loc_0x6C
b .loc_0x6C
.loc_0x64:
lwz r0, 0x0(r5)
stw r0, 0x1A0(r31)
.loc_0x6C:
lwz r0, 0x14(r1)
lwz r31, 0xC(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_18:
if (_19C != nullptr) {
_1A0 = _19C->JSGFindNodeID((const char*)p2);
if (_1A0 == 0xFFFFFFFF) {
return;
}
}
break;
case JStudio::data::TEOD_Unknown_19:
_1A0 = *(u32*)p2;
break;
}
}
/*
@ -699,19 +452,14 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT_NODE(JStudio::data:
* Address: 80005C98
* Size: 000020
*/
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData operation, const void* p2,
unsigned long p3)
{
/*
.loc_0x0:
cmpwi r4, 0x2
bnelr-
lwz r4, 0x0(r5)
neg r0, r4
or r0, r0, r4
rlwinm r0,r0,1,31,31
stb r0, 0x1A4(r3)
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_02:
_1A4 = *(u32*)p2;
break;
}
}
/*
@ -719,7 +467,7 @@ void JStudio_JParticle::TAdaptor_particle::adaptor_do_PARENT_ENABLE(JStudio::dat
* Address: 80005CB8
* Size: 00035C
*/
void JStudio_JParticle::TAdaptor_particle::TJPACallback_::execute(JPABaseEmitter*)
void JStudio_JParticle::TAdaptor_particle::TJPACallback_::execute(JPABaseEmitter* emitter)
{
/*
.loc_0x0:
@ -972,7 +720,7 @@ void JStudio_JParticle::TAdaptor_particle::TJPACallback_::execute(JPABaseEmitter
* Address: 80006014
* Size: 0000E4
*/
void JStudio_JParticle::TAdaptor_particle::beginParticle_fadeIn_(unsigned long)
void JStudio_JParticle::TAdaptor_particle::beginParticle_fadeIn_(unsigned long p1)
{
/*
stwu r1, -0x30(r1)
@ -1047,94 +795,36 @@ lbl_800060E0:
* Address: 800060F8
* Size: 000118
*/
void JStudio_JParticle::TAdaptor_particle::endParticle_fadeOut_(unsigned long)
void JStudio_JParticle::TAdaptor_particle::endParticle_fadeOut_(unsigned long p1)
{
/*
stwu r1, -0x30(r1)
mflr r0
stw r0, 0x34(r1)
stw r31, 0x2c(r1)
mr r31, r4
stw r30, 0x28(r1)
mr r30, r3
lwz r4, 0x178(r3)
cmplwi r4, 0
beq lbl_800061F8
cmplwi r31, 0
bne lbl_80006148
lwz r3, 0x174(r30)
bl forceDeleteEmitter__17JPAEmitterManagerFP14JPABaseEmitter
li r0, 0
stw r0, 0x178(r30)
stw r0, 0x18c(r30)
stw r0, 0x190(r30)
stw r0, 0x194(r30)
b lbl_800061F8
lbl_80006148:
lwz r4, 0x18c(r30)
li r0, 3
stw r0, 0x18c(r30)
lwz r3, 0x194(r30)
cmplwi r3, 0
bne lbl_80006168
stw r31, 0x190(r30)
b lbl_800061F8
lbl_80006168:
cmpwi r4, 2
li r5, 0
beq lbl_800061A0
bge lbl_80006184
cmpwi r4, 1
bge lbl_80006190
b lbl_800061A0
lbl_80006184:
cmpwi r4, 4
bge lbl_800061A0
b lbl_80006198
lbl_80006190:
mr r5, r3
b lbl_800061A0
lbl_80006198:
lwz r0, 0x190(r30)
subf r5, r3, r0
lbl_800061A0:
lwz r0, 0x190(r30)
lis r3, 0x4330
stw r31, 0xc(r1)
lfd f3, lbl_80516390@sda21(r2)
stw r3, 8(r1)
lfd f0, 8(r1)
stw r0, 0x14(r1)
fsub f2, f0, f3
stw r3, 0x10(r1)
lfd f0, 0x10(r1)
stw r5, 0x1c(r1)
fsub f1, f0, f3
stw r3, 0x18(r1)
lfd f0, 0x18(r1)
fmul f1, f2, f1
fsub f0, f0, f3
fdiv f1, f1, f0
bl __cvt_fp2unsigned
stw r3, 0x190(r30)
lwz r0, 0x190(r30)
subf r0, r31, r0
stw r0, 0x194(r30)
lbl_800061F8:
lwz r0, 0x34(r1)
lwz r31, 0x2c(r1)
lwz r30, 0x28(r1)
mtlr r0
addi r1, r1, 0x30
blr
*/
if (m_emitter == nullptr) {
return;
}
if (p1 == 0) {
m_emitterManager->forceDeleteEmitter(m_emitter);
m_emitter = nullptr;
_18C = 0;
_190 = 0;
_194 = 0;
return;
}
u32 v1 = _18C;
_18C = 3;
if (_194 == 0) {
_190 = p1;
return;
}
u32 v2 = 0;
switch (v1) {
case 1:
v2 = _194;
break;
case 3:
v2 = _190 - _194;
break;
}
_190 = (f64)p1 * (f64)_190 / (f64)v2;
_194 = _190 - p1;
}
/*

View File

@ -1,3 +1,10 @@
#include "Dolphin/mtx.h"
#include "JStage/TObject.h"
#include "JStage/TSystem.h"
#include "JStudio/TControl.h"
#include "JStudio/data.h"
#include "JStudio/math.h"
#include "JSystem/JStudio_JStage.h"
#include "types.h"
/*
@ -9,113 +16,43 @@
* Address: 80011DCC
* Size: 000098
*/
void JStudio_JStage::transform_toGlobalFromLocal(float (*)[4], const JStudio::TControl::TTransform_translation_rotation_scaling&,
const JStage::TObject*, unsigned long)
bool JStudio_JStage::transform_toGlobalFromLocal(float (*p1)[4],
const JStudio::TControl::TTransform_translation_rotation_scaling& transform,
const JStage::TObject* object, unsigned long p4)
{
/*
.loc_0x0:
stwu r1, -0x70(r1)
mflr r0
cmplwi r5, 0
stw r0, 0x74(r1)
stw r31, 0x6C(r1)
mr r31, r4
stw r30, 0x68(r1)
mr r30, r3
bne- .loc_0x2C
li r3, 0
b .loc_0x80
.loc_0x2C:
mr r3, r5
mr r4, r6
lwz r12, 0x0(r5)
addi r5, r1, 0x38
lwz r12, 0x38(r12)
mtctr r12
bctrl
rlwinm. r0,r3,0,24,31
bne- .loc_0x58
li r3, 0
b .loc_0x80
.loc_0x58:
mr r6, r31
addi r3, r1, 0x8
addi r4, r31, 0x18
addi r5, r31, 0xC
bl -0xE70
mr r5, r30
addi r3, r1, 0x38
addi r4, r1, 0x8
bl 0xD84BC
li r3, 0x1
.loc_0x80:
lwz r0, 0x74(r1)
lwz r31, 0x6C(r1)
lwz r30, 0x68(r1)
mtlr r0
addi r1, r1, 0x70
blr
*/
if (object == nullptr) {
return false;
}
Mtx v1;
if (object->JSGGetNodeTransformation(p4, v1) == 0) {
return false;
}
Mtx v2;
JStudio::math::getTransformation_SRxyzT(v2, transform.getScaling(), transform.getRotation(), transform.getTranslation());
PSMTXConcat(v1, v2, p1);
return true;
}
/*
* --INFO--
* Address: 80011E64
* Size: 000098
* transform_toGlobalFromLocal__14JStudio_JStageFPA4_fRCQ37JStudio8TControl19TTransform_positionPCQ26JStage7TObjectUl
*/
void JStudio_JStage::transform_toGlobalFromLocal(float (*)[4], const JStudio::TControl::TTransform_position&, const JStage::TObject*,
unsigned long)
bool JStudio_JStage::transform_toGlobalFromLocal(float (*p1)[4], const JStudio::TControl::TTransform_position& transform,
const JStage::TObject* object, unsigned long p4)
{
/*
.loc_0x0:
stwu r1, -0x70(r1)
mflr r0
cmplwi r5, 0
stw r0, 0x74(r1)
stw r31, 0x6C(r1)
mr r31, r4
stw r30, 0x68(r1)
mr r30, r3
bne- .loc_0x2C
li r3, 0
b .loc_0x80
.loc_0x2C:
mr r3, r5
mr r4, r6
lwz r12, 0x0(r5)
addi r5, r1, 0x38
lwz r12, 0x38(r12)
mtctr r12
bctrl
rlwinm. r0,r3,0,24,31
bne- .loc_0x58
li r3, 0
b .loc_0x80
.loc_0x58:
lfs f1, 0x0(r31)
addi r3, r1, 0x8
lfs f2, 0x4(r31)
lfs f3, 0x8(r31)
bl 0xD8888
mr r5, r30
addi r3, r1, 0x38
addi r4, r1, 0x8
bl 0xD8424
li r3, 0x1
.loc_0x80:
lwz r0, 0x74(r1)
lwz r31, 0x6C(r1)
lwz r30, 0x68(r1)
mtlr r0
addi r1, r1, 0x70
blr
*/
if (object == nullptr) {
return false;
}
Mtx v1;
if (object->JSGGetNodeTransformation(p4, v1) == 0) {
return false;
}
Mtx v2;
PSMTXTrans(v2, transform.m_position.x, transform.m_position.y, transform.m_position.z);
PSMTXConcat(v1, v2, p1);
return true;
}
/*
@ -123,119 +60,47 @@ void JStudio_JStage::transform_toGlobalFromLocal(float (*)[4], const JStudio::TC
* Address: 80011EFC
* Size: 0000A4
*/
void JStudio_JStage::transform_toLocalFromGlobal(float (*)[4], const JStudio::TControl::TTransform_translation_rotation_scaling&,
const JStage::TObject*, unsigned long)
bool JStudio_JStage::transform_toLocalFromGlobal(float (*p1)[4],
const JStudio::TControl::TTransform_translation_rotation_scaling& transform,
const JStage::TObject* object, unsigned long p4)
{
/*
.loc_0x0:
stwu r1, -0xA0(r1)
mflr r0
cmplwi r5, 0
stw r0, 0xA4(r1)
stw r31, 0x9C(r1)
mr r31, r4
stw r30, 0x98(r1)
mr r30, r3
bne- .loc_0x2C
li r3, 0
b .loc_0x8C
.loc_0x2C:
mr r3, r5
mr r4, r6
lwz r12, 0x0(r5)
addi r5, r1, 0x68
lwz r12, 0x38(r12)
mtctr r12
bctrl
rlwinm. r0,r3,0,24,31
bne- .loc_0x58
li r3, 0
b .loc_0x8C
.loc_0x58:
mr r6, r31
addi r3, r1, 0x38
addi r4, r31, 0x18
addi r5, r31, 0xC
bl -0xFA0
addi r3, r1, 0x68
addi r4, r1, 0x8
bl 0xD84AC
mr r5, r30
addi r3, r1, 0x8
addi r4, r1, 0x38
bl 0xD8380
li r3, 0x1
.loc_0x8C:
lwz r0, 0xA4(r1)
lwz r31, 0x9C(r1)
lwz r30, 0x98(r1)
mtlr r0
addi r1, r1, 0xA0
blr
*/
if (object == nullptr) {
return false;
}
Mtx v1;
if (object->JSGGetNodeTransformation(p4, v1) == 0) {
return false;
}
Mtx v2;
JStudio::math::getTransformation_SRxyzT(v2, transform.getScaling(), transform.getRotation(), transform.getTranslation());
Mtx v3;
PSMTXInverse(v1, v3);
PSMTXConcat(v3, v2, p1);
return true;
}
/*
* --INFO--
* Address: 80011FA0
* Size: 0000A4
* transform_toLocalFromGlobal__14JStudio_JStageFPA4_fRCQ37JStudio8TControl19TTransform_positionPCQ26JStage7TObjectUl
*/
void JStudio_JStage::transform_toLocalFromGlobal(float (*)[4], const JStudio::TControl::TTransform_position&, const JStage::TObject*,
unsigned long)
bool JStudio_JStage::transform_toLocalFromGlobal(float (*p1)[4], const JStudio::TControl::TTransform_position& transform,
const JStage::TObject* object, unsigned long p4)
{
/*
.loc_0x0:
stwu r1, -0xA0(r1)
mflr r0
cmplwi r5, 0
stw r0, 0xA4(r1)
stw r31, 0x9C(r1)
mr r31, r4
stw r30, 0x98(r1)
mr r30, r3
bne- .loc_0x2C
li r3, 0
b .loc_0x8C
.loc_0x2C:
mr r3, r5
mr r4, r6
lwz r12, 0x0(r5)
addi r5, r1, 0x68
lwz r12, 0x38(r12)
mtctr r12
bctrl
rlwinm. r0,r3,0,24,31
bne- .loc_0x58
li r3, 0
b .loc_0x8C
.loc_0x58:
lfs f1, 0x0(r31)
addi r3, r1, 0x38
lfs f2, 0x4(r31)
lfs f3, 0x8(r31)
bl 0xD874C
addi r3, r1, 0x68
addi r4, r1, 0x8
bl 0xD8408
mr r5, r30
addi r3, r1, 0x8
addi r4, r1, 0x38
bl 0xD82DC
li r3, 0x1
.loc_0x8C:
lwz r0, 0xA4(r1)
lwz r31, 0x9C(r1)
lwz r30, 0x98(r1)
mtlr r0
addi r1, r1, 0xA0
blr
*/
if (object == nullptr) {
return false;
}
Mtx v1;
if (object->JSGGetNodeTransformation(p4, v1) == 0) {
return false;
}
Mtx v2;
PSMTXTrans(v2, transform.m_position.x, transform.m_position.y, transform.m_position.z);
Mtx v3;
PSMTXInverse(v1, v3);
PSMTXConcat(v3, v2, p1);
return true;
}
/*
@ -243,33 +108,10 @@ void JStudio_JStage::transform_toLocalFromGlobal(float (*)[4], const JStudio::TC
* Address: 80012044
* Size: 000048
*/
void JStudio_JStage::TAdaptor_object_::adaptor_data_(JStage::TObject*, const void*, unsigned long, const void*, unsigned long)
void JStudio_JStage::TAdaptor_object_::adaptor_data_(JStage::TObject* object, const void* p2, unsigned long p3, const void* p4,
unsigned long p5)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmplwi r5, 0
stw r0, 0x14(r1)
bne- .loc_0x1C
li r4, -0x1
b .loc_0x20
.loc_0x1C:
lwz r4, 0x0(r4)
.loc_0x20:
lwz r12, 0x0(r3)
mr r5, r6
mr r6, r7
lwz r12, 0x24(r12)
mtctr r12
bctrl
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
object->JSGSetData((p3 == 0 ? 0xFFFFFFFF : *(u32*)p2), p4, p5);
}
/*
@ -277,34 +119,13 @@ void JStudio_JStage::TAdaptor_object_::adaptor_data_(JStage::TObject*, const voi
* Address: 8001208C
* Size: 00004C
*/
void JStudio_JStage::TAdaptor_object_::adaptor_findJSGObject_(const JStage::TSystem*, const char*)
JStage::TObject* JStudio_JStage::TAdaptor_object_::adaptor_findJSGObject_(const JStage::TSystem* system, const char* name)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
mr r5, r4
li r6, 0
stw r0, 0x14(r1)
addi r4, r1, 0x8
lwz r12, 0x0(r3)
lwz r12, 0x3C(r12)
mtctr r12
bctrl
cmpwi r3, 0
beq- .loc_0x38
li r3, 0
b .loc_0x3C
.loc_0x38:
lwz r3, 0x8(r1)
.loc_0x3C:
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
JStage::TObject* results;
if (system->JSGFindObject(&results, name, JStage::TEO_Unknown_0) != 0) {
return nullptr;
}
return results;
}
/*
@ -312,22 +133,9 @@ void JStudio_JStage::TAdaptor_object_::adaptor_findJSGObject_(const JStage::TSys
* Address: 800120D8
* Size: 00002C
*/
void JStudio_JStage::TAdaptor_object_::adaptor_findJSGObjectNode_(const JStage::TObject*, const char*)
u32 JStudio_JStage::TAdaptor_object_::adaptor_findJSGObjectNode_(const JStage::TObject* object, const char* name)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
lwz r12, 0x0(r3)
lwz r12, 0x34(r12)
mtctr r12
bctrl
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
return object->JSGFindNodeID(name);
}
/*
@ -335,52 +143,17 @@ void JStudio_JStage::TAdaptor_object_::adaptor_findJSGObjectNode_(const JStage::
* Address: 80012104
* Size: 000094
*/
void JStudio_JStage::TAdaptor_object_::adaptor_ENABLE_(JStage::TObject*, JStudio::data::TEOperationData, const void*, unsigned long)
void JStudio_JStage::TAdaptor_object_::adaptor_ENABLE_(JStage::TObject* object, JStudio::data::TEOperationData operation, const void* p3,
unsigned long p4)
{
/*
.loc_0x0:
stwu r1, -0x10(r1)
mflr r0
cmpwi r4, 0x2
stw r0, 0x14(r1)
stw r31, 0xC(r1)
mr r31, r3
beq- .loc_0x20
b .loc_0x80
.loc_0x20:
lwz r0, 0x0(r5)
cmplwi r0, 0
beq- .loc_0x58
lwz r12, 0x0(r3)
lwz r12, 0x18(r12)
mtctr r12
bctrl
lwz r12, 0x0(r31)
ori r4, r3, 0x2
mr r3, r31
lwz r12, 0x1C(r12)
mtctr r12
bctrl
b .loc_0x80
.loc_0x58:
lwz r12, 0x0(r3)
lwz r12, 0x18(r12)
mtctr r12
bctrl
lwz r12, 0x0(r31)
rlwinm r4,r3,0,31,29
mr r3, r31
lwz r12, 0x1C(r12)
mtctr r12
bctrl
.loc_0x80:
lwz r0, 0x14(r1)
lwz r31, 0xC(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
switch (operation) {
case JStudio::data::TEOD_Unknown_02: {
if ((*(u32*)p3) != 0) {
object->setFlagOn(2);
} else {
object->setFlagOff(2);
}
break;
}
}
}

View File

@ -1,3 +1,5 @@
#include "JSystem/JGadget/allocator.h"
#include "JSystem/JGadget/list.h"
#include "types.h"
/*
@ -9,7 +11,8 @@
* Address: 80027484
* Size: 000020
*/
void __ct__Q27JGadget18TList_pointer_voidFRCQ27JGadget14TAllocator<void*>(void)
// void __ct__Q27JGadget18TList_pointer_voidFRCQ27JGadget14TAllocator<void*>(void)
JGadget::TList_pointer_void::TList_pointer_void(const JGadget::TAllocator<void*>& allocator)
{
/*
lbz r0, 0(r4)
@ -28,20 +31,20 @@ void __ct__Q27JGadget18TList_pointer_voidFRCQ27JGadget14TAllocator<void*>(void)
* Address: ........
* Size: 0000BC
*/
void __dt__Q27JGadget36TList<void*, JGadget::TAllocator<void*>> Fv(void)
{
// UNUSED FUNCTION
}
// JGadget::TList<void*, JGadget::TAllocator<void*>>::~TList()
// {
// // UNUSED FUNCTION
// }
/*
* --INFO--
* Address: ........
* Size: 0000BC
*/
void __ct__Q27JGadget18TList_pointer_voidFUlRCPvRCQ27JGadget14TAllocator<void*>(void)
{
// UNUSED FUNCTION
}
// JGadget::TList_pointer_void::TList_pointer_void(u32, const void*&, const TAllocator<void*>&)
// {
// // UNUSED FUNCTION
// }
/*
* --INFO--
@ -115,7 +118,7 @@ lbl_80027540:
* Address: 80027564
* Size: 000098
*/
void insert__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TAllocator<void*>> 8iteratorRCPv(void)
void JGadget::TList_pointer_void::insert(JGadget::TList_pointer_void::iterator, void* const&)
{
/*
.loc_0x0:
@ -173,7 +176,7 @@ void insert__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TA
* Address: ........
* Size: 00009C
*/
void insert__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TAllocator<void*>> 8iteratorUlRCPv(void)
void JGadget::TList_pointer_void::insert(JGadget::TList_pointer_void::iterator, u32, void* const&)
{
// UNUSED FUNCTION
}
@ -183,7 +186,7 @@ void insert__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TA
* Address: 800275FC
* Size: 000070
*/
void erase__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TAllocator<void*>> 8iterator(void)
void JGadget::TList_pointer_void::erase(JGadget::TList_pointer_void::iterator)
{
/*
.loc_0x0:
@ -223,8 +226,7 @@ void erase__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TAl
* Address: ........
* Size: 0000A0
*/
void erase__Q27JGadget18TList_pointer_voidFQ37JGadget36TList<void*, JGadget::TAllocator<void*>> 8iteratorQ37JGadget36TList < void *,
JGadget::TAllocator<void*> > 8iterator(void)
void JGadget::TList_pointer_void::erase(JGadget::TList_pointer_void::iterator, JGadget::TList_pointer_void::iterator)
{
// UNUSED FUNCTION
}
@ -254,7 +256,8 @@ void JGadget::TList_pointer_void::assign(unsigned long, void* const&)
* Address: ........
* Size: 000100
*/
void assign__Q27JGadget36TList<void*, JGadget::TAllocator<void*>> FUlRCPv(void)
template <>
void JGadget::TList<void*, JGadget::TAllocator<void*>>::assign(u32, void* const&)
{
// UNUSED FUNCTION
}
@ -274,7 +277,7 @@ void JGadget::TList_pointer_void::resize(unsigned long, void* const&)
* Address: ........
* Size: 0000DC
*/
void JGadget::TList_pointer_void::unique(void)
void JGadget::TList_pointer_void::unique()
{
// UNUSED FUNCTION
}
@ -284,7 +287,7 @@ void JGadget::TList_pointer_void::unique(void)
* Address: ........
* Size: 000030
*/
void JGadget::TList_pointer_void::operator=(JGadget::TList_pointer_void const&)
JGadget::TList_pointer_void& JGadget::TList_pointer_void::operator=(JGadget::TList_pointer_void const&)
{
// UNUSED FUNCTION
}
@ -294,7 +297,10 @@ void JGadget::TList_pointer_void::operator=(JGadget::TList_pointer_void const&)
* Address: ........
* Size: 000194
*/
void __as__Q27JGadget36TList<void*, JGadget::TAllocator<void*>> FRCQ27JGadget36TList<void*, JGadget::TAllocator<void*>>(void)
template <>
JGadget::TList<void*, JGadget::TAllocator<void*>>&
JGadget::TList<void*, JGadget::TAllocator<void*>>::operator=(const TList<void*, JGadget::TAllocator<void*>>& other)
// void __as__Q27JGadget36TList<void*, JGadget::TAllocator<void*>> FRCQ27JGadget36TList<void*, JGadget::TAllocator<void*>>(void)
{
// UNUSED FUNCTION
}

View File

@ -1,15 +1,20 @@
#include "JSystem/JGadget/allocator.h"
#include "JSystem/JGadget/vector.h"
#include "types.h"
/*
Generated from dpostproc
*/
typedef JGadget::TVector<void*, JGadget::TAllocator<void*>> TVPVBase;
namespace JGadget {
/*
* --INFO--
* Address: 8002766C
* Size: 000008
*/
void JGadget::vector::extend_default(unsigned long, unsigned long, unsigned long)
void vector::extend_default(unsigned long, unsigned long, unsigned long)
{
/*
.loc_0x0:
@ -22,8 +27,9 @@ void JGadget::vector::extend_default(unsigned long, unsigned long, unsigned long
* --INFO--
* Address: 80027674
* Size: 00002C
* __ct__Q27JGadget20TVector_pointer_voidFRCQ27JGadget14TAllocator<Pv>
*/
void __ct__Q27JGadget20TVector_pointer_voidFRCQ27JGadget14TAllocator<void*>(void)
TVector_pointer_void::TVector_pointer_void(const TAllocator<void*>& allocator)
{
/*
.loc_0x0:
@ -46,7 +52,8 @@ void __ct__Q27JGadget20TVector_pointer_voidFRCQ27JGadget14TAllocator<void*>(void
* Address: ........
* Size: 000104
*/
void __dt__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> Fv(void)
template <>
TVPVBase::~TVector()
{
// UNUSED FUNCTION
}
@ -56,7 +63,7 @@ void __dt__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> Fv(void)
* Address: ........
* Size: 000030
*/
void __ct__Q27JGadget20TVector_pointer_voidFUlRCPvRCQ27JGadget14TAllocator<void*>(void)
TVector_pointer_void::TVector_pointer_void(u32, void* const&, const JGadget::TAllocator<void*>& allocator)
{
// UNUSED FUNCTION
}
@ -66,7 +73,8 @@ void __ct__Q27JGadget20TVector_pointer_voidFUlRCPvRCQ27JGadget14TAllocator<void*
* Address: ........
* Size: 000064
*/
void __ct__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUlRCPvRCQ27JGadget14TAllocator<void*>(void)
template <>
TVPVBase::TVector(u32, void* const&, const TAllocator<void*>&)
{
// UNUSED FUNCTION
}
@ -76,7 +84,8 @@ void __ct__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUlRCPvRCQ27JG
* Address: 800276A0
* Size: 000078
*/
void insert__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FPPvUlRCPv(void)
template <>
void TVPVBase::insert(void**, u32, void* const&)
{
/*
.loc_0x0:
@ -126,7 +135,8 @@ void insert__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FPPvUlRCPv(v
* Address: 80027718
* Size: 000470
*/
void Insert_raw__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FPPvUl(void)
template <>
void TVPVBase::Insert_raw(void**, u32)
{
/*
.loc_0x0:
@ -494,17 +504,18 @@ void Insert_raw__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FPPvUl(v
* Address: ........
* Size: 000054
*/
void __dt__Q37JGadget38TVector<void*, JGadget::TAllocator<void*>> 23TDestructed_deallocate_Fv(void)
{
// UNUSED FUNCTION
}
// template <>
// TVPVBase::Destructed_deallocate_::~Destructed_deallocate_()
// {
// // UNUSED FUNCTION
// }
/*
* --INFO--
* Address: 80027B88
* Size: 000108
*/
JGadget::TVector_pointer_void::~TVector_pointer_void(void)
TVector_pointer_void::~TVector_pointer_void()
{
/*
stwu r1, -0x10(r1)
@ -597,7 +608,7 @@ lbl_80027C74:
* Address: 80027C90
* Size: 000020
*/
void JGadget::TVector_pointer_void::insert(void**, void* const&)
void TVector_pointer_void::insert(void**, void* const&)
{
/*
stwu r1, -0x10(r1)
@ -613,7 +624,8 @@ void JGadget::TVector_pointer_void::insert(void**, void* const&)
* Address: 80027CB0
* Size: 000058
*/
void insert__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FPPvRCPv(void)
template <>
void TVPVBase::insert(void**, void* const&)
{
/*
.loc_0x0:
@ -647,7 +659,7 @@ void insert__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FPPvRCPv(voi
* Address: ........
* Size: 000020
*/
void JGadget::TVector_pointer_void::insert(void**, unsigned long, void* const&)
void TVector_pointer_void::insert(void**, unsigned long, void* const&)
{
// UNUSED FUNCTION
}
@ -657,7 +669,7 @@ void JGadget::TVector_pointer_void::insert(void**, unsigned long, void* const&)
* Address: ........
* Size: 0000BC
*/
void JGadget::TVector_pointer_void::erase(void**)
void TVector_pointer_void::erase(void**)
{
// UNUSED FUNCTION
}
@ -667,7 +679,7 @@ void JGadget::TVector_pointer_void::erase(void**)
* Address: 80027D08
* Size: 0000B8
*/
void JGadget::TVector_pointer_void::erase(void**, void**)
void TVector_pointer_void::erase(void**, void**)
{
/*
lwz r7, 8(r3)
@ -736,7 +748,7 @@ lbl_80027DAC:
* Address: ........
* Size: 000020
*/
void JGadget::TVector_pointer_void::assign(unsigned long, void* const&)
void TVector_pointer_void::assign(unsigned long, void* const&)
{
// UNUSED FUNCTION
}
@ -746,7 +758,8 @@ void JGadget::TVector_pointer_void::assign(unsigned long, void* const&)
* Address: ........
* Size: 0000DC
*/
void assign__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUlRCPv(void)
template <>
void TVPVBase::assign(u32, void* const&)
{
// UNUSED FUNCTION
}
@ -756,7 +769,7 @@ void assign__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUlRCPv(void
* Address: ........
* Size: 000020
*/
void JGadget::TVector_pointer_void::resize(unsigned long, void* const&)
void TVector_pointer_void::resize(unsigned long, void* const&)
{
// UNUSED FUNCTION
}
@ -766,7 +779,8 @@ void JGadget::TVector_pointer_void::resize(unsigned long, void* const&)
* Address: ........
* Size: 00005C
*/
void resize__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUlRCPv(void)
template <>
void TVPVBase::resize(u32, void* const&)
{
// UNUSED FUNCTION
}
@ -776,7 +790,8 @@ void resize__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUlRCPv(void
* Address: ........
* Size: 00013C
*/
void Resize_raw__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FUl(void)
template <>
void TVPVBase::Resize_raw(u32)
{
// UNUSED FUNCTION
}
@ -796,7 +811,7 @@ void JGadget::TVector_pointer_void::reserve(unsigned long)
* Address: ........
* Size: 000030
*/
void JGadget::TVector_pointer_void::operator=((JGadget::TVector_pointer_void const&))
void JGadget::TVector_pointer_void::operator=(TVector_pointer_void const&)
{
// UNUSED FUNCTION
}
@ -806,7 +821,8 @@ void JGadget::TVector_pointer_void::operator=((JGadget::TVector_pointer_void con
* Address: ........
* Size: 000368
*/
void __as__Q27JGadget38TVector<void*, JGadget::TAllocator<void*>> FRCQ27JGadget38TVector<void*, JGadget::TAllocator<void*>>(void)
template <>
void TVPVBase::operator=(const TVPVBase& rhs)
{
// UNUSED FUNCTION
}
@ -830,3 +846,4 @@ void JGadget::TVector_pointer_void::Resize_raw(unsigned long)
{
// UNUSED FUNCTION
}
} // namespace JGadget

View File

@ -1165,7 +1165,7 @@ void P2JST::ObjectActor::JSGSetFlag(unsigned long a1)
* Address: 8042F56C
* Size: 000008
*/
void P2JST::ObjectActor::JSGGetFlag() const
u32 P2JST::ObjectActor::JSGGetFlag() const
{
/*
lwz r3, 0x10(r3)

View File

@ -403,7 +403,7 @@ void P2JST::ObjectCamera::JSGSetFlag(unsigned long a1)
* Address: 8042FA04
* Size: 000008
*/
void P2JST::ObjectCamera::JSGGetFlag() const
u32 P2JST::ObjectCamera::JSGGetFlag() const
{
/*
lwz r3, 0x10(r3)

View File

@ -1014,7 +1014,7 @@ void P2JST::ObjectSystem::JSGSetFlag(unsigned long a1)
* Address: 80431358
* Size: 000008
*/
void P2JST::ObjectSystem::JSGGetFlag() const
u32 P2JST::ObjectSystem::JSGGetFlag() const
{
/*
lwz r3, 0x10(r3)

View File

@ -233,3 +233,5 @@ You have 963 out of 10000 Pokos and 45 out of 201 treasures.",2022-11-07 13:22:3
You have 970 out of 10000 Pokos and 45 out of 201 treasures.",2022-11-07 19:34:57.383917
979,455916,0.09799688415665883,46,163494,0.2293506682976646,"
You have 979 out of 10000 Pokos and 46 out of 201 treasures.",2022-11-08 07:35:49.780287
983,457636,0.09836658963036331,46,163678,0.2296087849439438,"
You have 983 out of 10000 Pokos and 46 out of 201 treasures.",2022-11-09 16:54:38.454778

1 code_count_in_pokos code_completion_in_bytes code_completion_in_percentage data_count_in_treasures data_completion_in_bytes data_completion_in_percentage sentence created_at
233
234
235
236
237

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_TCONTROL_H
#define _JSTUDIO_TCONTROL_H
/*
__vt__Q27JStudio8TControl:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio8TControlFv
*/
namespace JStudio {
struct TControl {
virtual ~TControl(); // _08
TControl();
void transformOnSet_setOrigin(const Vec&, float);
void transformOnGet_setOrigin(const Vec&, float);
};
} // namespace JStudio
#endif

View File

@ -1,32 +0,0 @@
#ifndef _JSTUDIO_TFACTORY_H
#define _JSTUDIO_TFACTORY_H
/*
__vt__Q27JStudio8TFactory:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio8TFactoryFv
.4byte create__Q27JStudio8TFactoryFRCQ47JStudio3stb4data20TParse_TBlock_object
.4byte destroy__Q37JStudio3stb8TFactoryFPQ37JStudio3stb7TObject
*/
namespace JStudio {
namespace stb {
struct TFactory {
virtual ~TFactory(); // _08
virtual void create(const stb::data::TParse_TBlock_object&); // _0C
virtual void destroy(TObject*); // _10
};
} // namespace stb
} // namespace JStudio
namespace JStudio {
struct TFactory : public TFactory {
virtual ~TFactory(); // _08
virtual void create(const stb::data::TParse_TBlock_object&); // _0C
void appendCreateObject(JStudio::TCreateObject*);
};
} // namespace JStudio
#endif

View File

@ -1,30 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_H
#define _JSTUDIO_TFUNCTIONVALUE_H
/*
__vt__Q27JStudio14TFunctionValue:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
*/
namespace JStudio {
struct TFunctionValue {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
virtual void _10() = 0; // _10
virtual void _14() = 0; // _14
virtual void _18() = 0; // _18
virtual void _1C() = 0; // _1C
void toFunction_outside(int);
~TFunctionValue();
};
} // namespace JStudio
#endif

View File

@ -1,41 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_COMPOSITE_H
#define _JSTUDIO_TFUNCTIONVALUE_COMPOSITE_H
/*
__vt__Q27JStudio24TFunctionValue_composite:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio24TFunctionValue_compositeFv
.4byte getType__Q27JStudio24TFunctionValue_compositeCFv
.4byte getAttributeSet__Q27JStudio24TFunctionValue_compositeFv
.4byte initialize__Q27JStudio24TFunctionValue_compositeFv
.4byte prepare__Q27JStudio24TFunctionValue_compositeFv
.4byte getValue__Q27JStudio24TFunctionValue_compositeFd
*/
namespace JStudio {
struct TFunctionValue_composite {
virtual ~TFunctionValue_composite(); // _08 (weak)
virtual void getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(double); // _1C
TFunctionValue_composite();
void composite_raw(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&, double);
void composite_index(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
double);
void composite_parameter(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
double);
void composite_add(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&, double);
void composite_subtract(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
double);
void composite_multiply(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
double);
void composite_divide(const JGadget::TVector_pointer<JStudio::TFunctionValue*>&, const JStudio::TFunctionValue_composite::TData&,
double);
};
} // namespace JStudio
#endif

View File

@ -1,29 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_CONSTANT_H
#define _JSTUDIO_TFUNCTIONVALUE_CONSTANT_H
/*
__vt__Q27JStudio23TFunctionValue_constant:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio23TFunctionValue_constantFv
.4byte getType__Q27JStudio23TFunctionValue_constantCFv
.4byte getAttributeSet__Q27JStudio23TFunctionValue_constantFv
.4byte initialize__Q27JStudio23TFunctionValue_constantFv
.4byte prepare__Q27JStudio23TFunctionValue_constantFv
.4byte getValue__Q27JStudio23TFunctionValue_constantFd
*/
namespace JStudio {
struct TFunctionValue_constant {
virtual ~TFunctionValue_constant(); // _08 (weak)
virtual void getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(double); // _1C
TFunctionValue_constant();
};
} // namespace JStudio
#endif

View File

@ -1,30 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_HERMITE_H
#define _JSTUDIO_TFUNCTIONVALUE_HERMITE_H
/*
__vt__Q27JStudio22TFunctionValue_hermite:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio22TFunctionValue_hermiteFv
.4byte getType__Q27JStudio22TFunctionValue_hermiteCFv
.4byte getAttributeSet__Q27JStudio22TFunctionValue_hermiteFv
.4byte initialize__Q27JStudio22TFunctionValue_hermiteFv
.4byte prepare__Q27JStudio22TFunctionValue_hermiteFv
.4byte getValue__Q27JStudio22TFunctionValue_hermiteFd
*/
namespace JStudio {
struct TFunctionValue_hermite {
virtual ~TFunctionValue_hermite(); // _08 (weak)
virtual void getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(double); // _1C
TFunctionValue_hermite();
void data_set(const float*, unsigned long, unsigned long);
};
} // namespace JStudio
#endif

View File

@ -1,33 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_LIST_H
#define _JSTUDIO_TFUNCTIONVALUE_LIST_H
/*
__vt__Q27JStudio19TFunctionValue_list:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio19TFunctionValue_listFv
.4byte getType__Q27JStudio19TFunctionValue_listCFv
.4byte getAttributeSet__Q27JStudio19TFunctionValue_listFv
.4byte initialize__Q27JStudio19TFunctionValue_listFv
.4byte prepare__Q27JStudio19TFunctionValue_listFv
.4byte getValue__Q27JStudio19TFunctionValue_listFd
*/
namespace JStudio {
struct TFunctionValue_list {
virtual ~TFunctionValue_list(); // _08 (weak)
virtual void getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(double); // _1C
TFunctionValue_list();
void update_INTERPOLATE_NONE_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_LINEAR_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_PLATEAU_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
void update_INTERPOLATE_BSPLINE_dataMore3_(const JStudio::TFunctionValue_list&, const JStudio::TFunctionValue_list::TIndexData_&);
};
} // namespace JStudio
#endif

View File

@ -1,34 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_LIST_PARAMETER_H
#define _JSTUDIO_TFUNCTIONVALUE_LIST_PARAMETER_H
/*
__vt__Q27JStudio29TFunctionValue_list_parameter:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio29TFunctionValue_list_parameterFv
.4byte getType__Q27JStudio29TFunctionValue_list_parameterCFv
.4byte getAttributeSet__Q27JStudio29TFunctionValue_list_parameterFv
.4byte initialize__Q27JStudio29TFunctionValue_list_parameterFv
.4byte prepare__Q27JStudio29TFunctionValue_list_parameterFv
.4byte getValue__Q27JStudio29TFunctionValue_list_parameterFd
*/
namespace JStudio {
struct TFunctionValue_list_parameter {
virtual ~TFunctionValue_list_parameter(); // _08 (weak)
virtual void getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(double); // _1C
TFunctionValue_list_parameter();
void data_set(const float*, unsigned long);
void update_INTERPOLATE_NONE_(const JStudio::TFunctionValue_list_parameter&, double);
void update_INTERPOLATE_LINEAR_(const JStudio::TFunctionValue_list_parameter&, double);
void update_INTERPOLATE_PLATEAU_(const JStudio::TFunctionValue_list_parameter&, double);
void update_INTERPOLATE_BSPLINE_dataMore3_(const JStudio::TFunctionValue_list_parameter&, double);
};
} // namespace JStudio
#endif

View File

@ -1,29 +0,0 @@
#ifndef _JSTUDIO_TFUNCTIONVALUE_TRANSITION_H
#define _JSTUDIO_TFUNCTIONVALUE_TRANSITION_H
/*
__vt__Q27JStudio25TFunctionValue_transition:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio25TFunctionValue_transitionFv
.4byte getType__Q27JStudio25TFunctionValue_transitionCFv
.4byte getAttributeSet__Q27JStudio25TFunctionValue_transitionFv
.4byte initialize__Q27JStudio25TFunctionValue_transitionFv
.4byte prepare__Q27JStudio25TFunctionValue_transitionFv
.4byte getValue__Q27JStudio25TFunctionValue_transitionFd
*/
namespace JStudio {
struct TFunctionValue_transition {
virtual ~TFunctionValue_transition(); // _08 (weak)
virtual void getType() const; // _0C
virtual void getAttributeSet(); // _10
virtual void initialize(); // _14
virtual void prepare(); // _18
virtual void getValue(double); // _1C
TFunctionValue_transition();
};
} // namespace JStudio
#endif

View File

@ -1,40 +0,0 @@
#ifndef _JSTUDIO_TPARSE_H
#define _JSTUDIO_TPARSE_H
/*
__vt__Q27JStudio6TParse:
.4byte 0
.4byte 0
.4byte __dt__Q27JStudio6TParseFv
.4byte parseHeader_next__Q37JStudio3stb6TParseFPPCvPUlUl
.4byte parseBlock_next__Q37JStudio3stb6TParseFPPCvPUlUl
.4byte parseHeader__Q27JStudio6TParseFRCQ47JStudio3stb4data14TParse_THeaderUl
.4byte parseBlock_block__Q27JStudio6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
.4byte parseBlock_object__Q37JStudio3stb6TParseFRCQ47JStudio3stb4data20TParse_TBlock_objectUl
*/
namespace JStudio {
namespace stb {
struct TParse {
virtual ~TParse(); // _08
virtual void parseHeader_next(const void**, unsigned long*, unsigned long); // _0C
virtual void parseBlock_next(const void**, unsigned long*, unsigned long); // _10
virtual void parseHeader(const stb::data::TParse_THeader&, unsigned long); // _14
virtual void parseBlock_block(const stb::data::TParse_TBlock&, unsigned long); // _18
virtual void parseBlock_object(const data::TParse_TBlock_object&, unsigned long); // _1C
};
} // namespace stb
} // namespace JStudio
namespace JStudio {
struct TParse : public TParse {
virtual ~TParse(); // _08
virtual void parseHeader(const stb::data::TParse_THeader&, unsigned long); // _14
virtual void parseBlock_block(const stb::data::TParse_TBlock&, unsigned long); // _18
TParse(JStudio::TControl*);
void parseBlock_block_fvb_(const JStudio::stb::data::TParse_TBlock&, unsigned long);
};
} // namespace JStudio
#endif

View File

@ -1,23 +0,0 @@
#ifndef _JSTUDIO_TVARIABLEVALUE_TOUTPUT_H
#define _JSTUDIO_TVARIABLEVALUE_TOUTPUT_H
/*
__vt__Q37JStudio14TVariableValue7TOutput:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
*/
namespace JStudio {
namespace TVariableValue {
struct TOutput {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
~TOutput();
};
} // namespace TVariableValue
} // namespace JStudio
#endif

View File

@ -1,23 +0,0 @@
#ifndef _JSTUDIO_FVB_TCONTROL_H
#define _JSTUDIO_FVB_TCONTROL_H
/*
__vt__Q37JStudio3fvb8TControl:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb8TControlFv
*/
namespace JStudio {
namespace fvb {
struct TControl {
virtual ~TControl(); // _08
TControl();
void getObject(const void*, unsigned long);
void getObject_index(unsigned long);
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,23 +0,0 @@
#ifndef _JSTUDIO_FVB_TFACTORY_H
#define _JSTUDIO_FVB_TFACTORY_H
/*
__vt__Q37JStudio3fvb8TFactory:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb8TFactoryFv
.4byte create__Q37JStudio3fvb8TFactoryFRCQ47JStudio3fvb4data13TParse_TBlock
.4byte destroy__Q37JStudio3fvb8TFactoryFPQ37JStudio3fvb7TObject
*/
namespace JStudio {
namespace fvb {
struct TFactory {
virtual ~TFactory(); // _08
virtual void create(const data::TParse_TBlock&); // _0C
virtual void destroy(TObject*); // _10
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,23 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_H
#define _JSTUDIO_FVB_TOBJECT_H
/*
__vt__Q37JStudio3fvb7TObject:
.4byte 0
.4byte 0
.4byte 0
.4byte 0
*/
namespace JStudio {
namespace fvb {
struct TObject {
virtual void _08() = 0; // _08
virtual void _0C() = 0; // _0C
void prepare(const JStudio::fvb::data::TParse_TBlock&, JStudio::fvb::TControl*);
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_COMPOSITE_H
#define _JSTUDIO_FVB_TOBJECT_COMPOSITE_H
/*
__vt__Q37JStudio3fvb17TObject_composite:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb17TObject_compositeFv
.4byte prepare_data___Q37JStudio3fvb17TObject_compositeFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl
*/
namespace JStudio {
namespace fvb {
struct TObject_composite {
virtual ~TObject_composite(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_CONSTANT_H
#define _JSTUDIO_FVB_TOBJECT_CONSTANT_H
/*
__vt__Q37JStudio3fvb16TObject_constant:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb16TObject_constantFv
.4byte prepare_data___Q37JStudio3fvb16TObject_constantFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl
*/
namespace JStudio {
namespace fvb {
struct TObject_constant {
virtual ~TObject_constant(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_HERMITE_H
#define _JSTUDIO_FVB_TOBJECT_HERMITE_H
/*
__vt__Q37JStudio3fvb15TObject_hermite:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb15TObject_hermiteFv
.4byte prepare_data___Q37JStudio3fvb15TObject_hermiteFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl
*/
namespace JStudio {
namespace fvb {
struct TObject_hermite {
virtual ~TObject_hermite(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_LIST_H
#define _JSTUDIO_FVB_TOBJECT_LIST_H
/*
__vt__Q37JStudio3fvb12TObject_list:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb12TObject_listFv
.4byte prepare_data___Q37JStudio3fvb12TObject_listFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl
*/
namespace JStudio {
namespace fvb {
struct TObject_list {
virtual ~TObject_list(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_LIST_PARAMETER_H
#define _JSTUDIO_FVB_TOBJECT_LIST_PARAMETER_H
/*
__vt__Q37JStudio3fvb22TObject_list_parameter:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb22TObject_list_parameterFv
.4byte prepare_data___Q37JStudio3fvb22TObject_list_parameterFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl
*/
namespace JStudio {
namespace fvb {
struct TObject_list_parameter {
virtual ~TObject_list_parameter(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,21 +0,0 @@
#ifndef _JSTUDIO_FVB_TOBJECT_TRANSITION_H
#define _JSTUDIO_FVB_TOBJECT_TRANSITION_H
/*
__vt__Q37JStudio3fvb18TObject_transition:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb18TObject_transitionFv
.4byte prepare_data___Q37JStudio3fvb18TObject_transitionFRCQ57JStudio3fvb4data17TParse_TParagraph5TDataPQ37JStudio3fvb8TControl
*/
namespace JStudio {
namespace fvb {
struct TObject_transition {
virtual ~TObject_transition(); // _08 (weak)
virtual void prepare_data_(const data::TParse_TParagraph::TData&, TControl*); // _0C
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,25 +0,0 @@
#ifndef _JSTUDIO_FVB_TPARSE_H
#define _JSTUDIO_FVB_TPARSE_H
/*
__vt__Q37JStudio3fvb6TParse:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3fvb6TParseFv
.4byte parseHeader_next__Q37JStudio3fvb6TParseFPPCvPUlUl
.4byte parseBlock_next__Q37JStudio3fvb6TParseFPPCvPUlUl
*/
namespace JStudio {
namespace fvb {
struct TParse {
virtual ~TParse(); // _08
virtual void parseHeader_next(const void**, unsigned long*, unsigned long); // _0C
virtual void parseBlock_next(const void**, unsigned long*, unsigned long); // _10
TParse(JStudio::fvb::TControl*);
};
} // namespace fvb
} // namespace JStudio
#endif

View File

@ -1,23 +0,0 @@
#ifndef _JSTUDIO_STB_TCONTROL_H
#define _JSTUDIO_STB_TCONTROL_H
/*
__vt__Q37JStudio3stb8TControl:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3stb8TControlFv
*/
namespace JStudio {
namespace stb {
struct TControl {
virtual ~TControl(); // _08
TControl();
void getObject(const void*, unsigned long);
void forward(unsigned long);
};
} // namespace stb
} // namespace JStudio
#endif

View File

@ -1,23 +0,0 @@
#ifndef _JSTUDIO_STB_TFACTORY_H
#define _JSTUDIO_STB_TFACTORY_H
/*
__vt__Q37JStudio3stb8TFactory:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3stb8TFactoryFv
.4byte create__Q37JStudio3stb8TFactoryFRCQ47JStudio3stb4data20TParse_TBlock_object
.4byte destroy__Q37JStudio3stb8TFactoryFPQ37JStudio3stb7TObject
*/
namespace JStudio {
namespace stb {
struct TFactory {
virtual ~TFactory(); // _08
virtual void create(const data::TParse_TBlock_object&); // _0C
virtual void destroy(TObject*); // _10
};
} // namespace stb
} // namespace JStudio
#endif

View File

@ -1,31 +0,0 @@
#ifndef _JSTUDIO_STB_TPARSE_H
#define _JSTUDIO_STB_TPARSE_H
/*
__vt__Q37JStudio3stb6TParse:
.4byte 0
.4byte 0
.4byte __dt__Q37JStudio3stb6TParseFv
.4byte parseHeader_next__Q37JStudio3stb6TParseFPPCvPUlUl
.4byte parseBlock_next__Q37JStudio3stb6TParseFPPCvPUlUl
.4byte parseHeader__Q37JStudio3stb6TParseFRCQ47JStudio3stb4data14TParse_THeaderUl
.4byte parseBlock_block__Q37JStudio3stb6TParseFRCQ47JStudio3stb4data13TParse_TBlockUl
.4byte parseBlock_object__Q37JStudio3stb6TParseFRCQ47JStudio3stb4data20TParse_TBlock_objectUl
*/
namespace JStudio {
namespace stb {
struct TParse {
virtual ~TParse(); // _08
virtual void parseHeader_next(const void**, unsigned long*, unsigned long); // _0C
virtual void parseBlock_next(const void**, unsigned long*, unsigned long); // _10
virtual void parseHeader(const data::TParse_THeader&, unsigned long); // _14
virtual void parseBlock_block(const data::TParse_TBlock&, unsigned long); // _18
virtual void parseBlock_object(const data::TParse_TBlock_object&, unsigned long); // _1C
TParse(JStudio::stb::TControl*);
};
} // namespace stb
} // namespace JStudio
#endif

View File

@ -1,37 +0,0 @@
#ifndef _JSTUDIO_JMESSAGE_TADAPTOR_MESSAGE_H
#define _JSTUDIO_JMESSAGE_TADAPTOR_MESSAGE_H
/*
__vt__Q216JStudio_JMessage16TAdaptor_message:
.4byte 0
.4byte 0
.4byte __dt__Q216JStudio_JMessage16TAdaptor_messageFv
.4byte adaptor_do_prepare__Q27JStudio8TAdaptorFPCQ27JStudio7TObject
.4byte adaptor_do_begin__Q27JStudio8TAdaptorFPCQ27JStudio7TObject
.4byte adaptor_do_end__Q27JStudio8TAdaptorFPCQ27JStudio7TObject
.4byte adaptor_do_update__Q27JStudio8TAdaptorFPCQ27JStudio7TObjectUl
.4byte adaptor_do_data__Q27JStudio8TAdaptorFPCQ27JStudio7TObjectPCvUlPCvUl
.4byte adaptor_do_MESSAGE__Q216JStudio_JMessage16TAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl
*/
namespace JStudio {
struct TAdaptor {
virtual ~TAdaptor(); // _08
virtual void adaptor_do_prepare(const TObject*); // _0C
virtual void adaptor_do_begin(const TObject*); // _10
virtual void adaptor_do_end(const TObject*); // _14
virtual void adaptor_do_update(const TObject*, unsigned long); // _18
virtual void adaptor_do_data(const TObject*, const void*, unsigned long, const void*, unsigned long); // _1C
};
} // namespace JStudio
namespace JStudio_JMessage {
struct TAdaptor_message : public TAdaptor {
virtual ~TAdaptor_message(); // _08
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, unsigned long); // _20
TAdaptor_message(JMessage::TControl*);
};
} // namespace JStudio_JMessage
#endif

View File

@ -1,27 +0,0 @@
#ifndef _JSTUDIO_JMESSAGE_TCREATEOBJECT_H
#define _JSTUDIO_JMESSAGE_TCREATEOBJECT_H
/*
__vt__Q216JStudio_JMessage13TCreateObject:
.4byte 0
.4byte 0
.4byte __dt__Q216JStudio_JMessage13TCreateObjectFv
.4byte create__Q216JStudio_JMessage18TCreateObject_baseFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object
.4byte find__Q216JStudio_JMessage13TCreateObjectFRCQ47JStudio3stb4data20TParse_TBlock_object
*/
namespace JStudio_JMessage {
struct TCreateObject_base {
virtual ~TCreateObject_base(); // _08
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&); // _0C
};
} // namespace JStudio_JMessage
namespace JStudio_JMessage {
struct TCreateObject : public TCreateObject_base {
virtual ~TCreateObject(); // _08
virtual void find(const JStudio::stb::data::TParse_TBlock_object&); // _10
};
} // namespace JStudio_JMessage
#endif

Some files were not shown because too many files have changed in this diff Show More