summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-11-10 11:53:09 +0200
committerGitHub <noreply@github.com>2024-11-10 04:53:09 -0500
commitd9201174e34d7a26199482546705b9ca16765dfd (patch)
tree2d8d57ce6ed6f0f3988ef8181b93b9af3c709986 /src
parentbec20e3dd462bd9cba86979e471856356c223261 (diff)
j2d/j3d work (#2241)
Diffstat (limited to 'src')
-rw-r--r--src/JSystem/J2DGraph/J2DAnimation.cpp6
-rw-r--r--src/JSystem/J2DGraph/J2DAnmLoader.cpp845
-rw-r--r--src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp550
-rw-r--r--src/JSystem/J2DGraph/J2DMatBlock.cpp391
-rw-r--r--src/JSystem/J2DGraph/J2DMaterial.cpp423
-rw-r--r--src/JSystem/J2DGraph/J2DMaterialFactory.cpp100
-rw-r--r--src/JSystem/J2DGraph/J2DPictureEx.cpp292
-rw-r--r--src/JSystem/J2DGraph/J2DScreen.cpp134
-rw-r--r--src/JSystem/J2DGraph/J2DTevs.cpp132
-rw-r--r--src/JSystem/J2DGraph/J2DWindowEx.cpp199
-rw-r--r--src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp2
-rw-r--r--src/JSystem/J3DGraphAnimator/J3DModelData.cpp3
-rw-r--r--src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp19
-rw-r--r--src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp136
-rw-r--r--src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp3
-rw-r--r--src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp29
16 files changed, 661 insertions, 2603 deletions
diff --git a/src/JSystem/J2DGraph/J2DAnimation.cpp b/src/JSystem/J2DGraph/J2DAnimation.cpp
index ed02df123c..2f35846296 100644
--- a/src/JSystem/J2DGraph/J2DAnimation.cpp
+++ b/src/JSystem/J2DGraph/J2DAnimation.cpp
@@ -905,4 +905,8 @@ J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::J2DAnmTexPatternTIMGPointer() {
J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::~J2DAnmTexPatternTIMGPointer() {
delete mPalette;
-} \ No newline at end of file
+}
+
+static void dummyDelete(J2DAnmTexPattern* pattern) {
+ delete pattern;
+}
diff --git a/src/JSystem/J2DGraph/J2DAnmLoader.cpp b/src/JSystem/J2DGraph/J2DAnmLoader.cpp
index fe1afe806a..49bcd879b9 100644
--- a/src/JSystem/J2DGraph/J2DAnmLoader.cpp
+++ b/src/JSystem/J2DGraph/J2DAnmLoader.cpp
@@ -1,526 +1,537 @@
//
-// Generated By: dol2asm
-// Translation Unit: J2DAnmLoader
+// J2DAnmLoader
//
-// See J2DAnmLoader_nonmatching.cpp
-
-// #include "JSystem/J2DGraph/J2DAnmLoader.h"
-#include "dol2asm.h"
-#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct _GXColor {};
-
-struct ResNTAB {};
-
-struct JUTNameTab {
- /* 802DE9A0 */ JUTNameTab();
- /* 802DEA1C */ void setResource(ResNTAB const*);
-};
-
-struct J3DAnmVtxColorKeyData {};
-
-struct J3DAnmVtxColorFullData {};
-
-struct J3DAnmVisibilityFullData {};
-
-struct J3DAnmTransformKeyData {};
-
-struct J3DAnmTransformFullData {};
-
-struct J3DAnmTextureSRTKeyData {};
-
-struct J3DAnmTexPatternFullData {};
-
-struct J3DAnmTevRegKeyData {};
-
-struct J3DAnmColorKeyData {};
-
-struct J3DAnmColorFullData {};
-
-struct J2DScreen {};
-
-struct J2DAnmVtxColorKey {};
-
-struct J2DAnmVtxColorFull {};
-
-struct J2DAnmVtxColor {
- /* 8030363C */ void getColor(u8, u16, _GXColor*) const;
- /* 8030A358 */ ~J2DAnmVtxColor();
-};
-
-struct J2DAnmVisibilityFull {
- /* 8030A3B4 */ ~J2DAnmVisibilityFull();
-};
-
-struct J2DAnmTransformKey {};
-
-struct J2DAnmTransformFull {};
-
-struct J2DAnmTextureSRTKey {};
-
-struct J2DAnmTexPattern {};
-
-struct J2DAnmTevRegKey {};
-
-struct J2DAnmLoaderDataBase {
- /* 80308A6C */ void load(void const*);
-};
-
-struct J2DAnmLoader {
- /* 8030A410 */ ~J2DAnmLoader();
-};
-
-struct J2DAnmBase {
- /* 800569B0 */ void searchUpdateMaterialID(J2DScreen*);
-};
-
-struct J2DAnmColorKey {};
-
-struct J2DAnmKeyLoader_v15 {
- /* 80309290 */ J2DAnmKeyLoader_v15();
- /* 803092AC */ ~J2DAnmKeyLoader_v15();
- /* 80309308 */ void load(void const*);
- /* 80309414 */ void setResource(J2DAnmBase*, void const*);
- /* 80309570 */ void readAnmTransform(J3DAnmTransformKeyData const*);
- /* 80309598 */ void setAnmTransform(J2DAnmTransformKey*, J3DAnmTransformKeyData const*);
- /* 80309634 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
- /* 8030965C */ void setAnmTextureSRT(J2DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
- /* 80309848 */ void readAnmColor(J3DAnmColorKeyData const*);
- /* 80309870 */ void setAnmColor(J2DAnmColorKey*, J3DAnmColorKeyData const*);
- /* 8030995C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
- /* 80309984 */ void setAnmVtxColor(J2DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
- /* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
- /* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
-};
-
-struct J2DAnmColorFull {};
-
-struct J2DAnmFullLoader_v15 {
- /* 80309A80 */ void load(void const*);
- /* 80309B8C */ void setResource(J2DAnmBase*, void const*);
- /* 80309CE8 */ J2DAnmFullLoader_v15();
- /* 80309D04 */ ~J2DAnmFullLoader_v15();
- /* 80309D60 */ void readAnmTransform(J3DAnmTransformFullData const*);
- /* 80309D88 */ void setAnmTransform(J2DAnmTransformFull*, J3DAnmTransformFullData const*);
- /* 80309E1C */ void readAnmColor(J3DAnmColorFullData const*);
- /* 80309E44 */ void setAnmColor(J2DAnmColorFull*, J3DAnmColorFullData const*);
- /* 80309F10 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*);
- /* 80309F38 */ void setAnmTexPattern(J2DAnmTexPattern*, J3DAnmTexPatternFullData const*);
- /* 8030A190 */ void readAnmVisibility(J3DAnmVisibilityFullData const*);
- /* 8030A1B8 */ void setAnmVisibility(J2DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
- /* 8030A234 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
- /* 8030A25C */ void setAnmVtxColor(J2DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
-};
-
-//
-// Forward References:
-//
-
-extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
-extern "C" void __ct__19J2DAnmKeyLoader_v15Fv();
-extern "C" void __dt__19J2DAnmKeyLoader_v15Fv();
-extern "C" void load__19J2DAnmKeyLoader_v15FPCv();
-extern "C" void setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv();
-extern "C" void readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData();
-extern "C" void
-setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData();
-extern "C" void readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData();
-extern "C" void
-setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData();
-extern "C" void readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData();
-extern "C" void setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData();
-extern "C" void readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData();
-extern "C" void
-setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData();
-extern "C" void load__20J2DAnmFullLoader_v15FPCv();
-extern "C" void setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv();
-extern "C" void __ct__20J2DAnmFullLoader_v15Fv();
-extern "C" void __dt__20J2DAnmFullLoader_v15Fv();
-extern "C" void readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData();
-extern "C" void
-setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData();
-extern "C" void readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData();
-extern "C" void setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData();
-extern "C" void readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData();
-extern "C" void
-setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData();
-extern "C" void readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData();
-extern "C" void setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData();
-extern "C" void readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData();
-extern "C" void
-setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData();
-extern "C" void readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData();
-extern "C" void
-setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData();
-extern "C" void __dt__14J2DAnmVtxColorFv();
-extern "C" void __dt__20J2DAnmVisibilityFullFv();
-extern "C" void __dt__12J2DAnmLoaderFv();
-extern "C" void func_8030A458(void const*, void const*);
-extern "C" void func_8030A470(void const*, void const*);
-extern "C" void func_8030A488(void const*, void const*);
-extern "C" void func_8030A4A0(void const*, void const*);
-extern "C" void func_8030A4B8(void const*, void const*);
-extern "C" void func_8030A4D0(void const*, void const*);
-extern "C" void func_8030A4E8(void const*, void const*);
-extern "C" void func_8030A500(void const*, void const*);
-extern "C" void func_8030A518(void const*, void const*);
-extern "C" void func_8030A530(void const*, void const*);
-extern "C" void func_8030A548(void const*, void const*);
-extern "C" void func_8030A560(void const*, void const*);
-extern "C" void func_8030A578(void const*, void const*);
-
-//
-// External References:
-//
-
-extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void __ct__10JUTNameTabFv();
-extern "C" void setResource__10JUTNameTabFPC7ResNTAB();
-extern "C" void func_802F4260(void const*, void const*);
-extern "C" void func_802F42C0(void const*, void const*);
-extern "C" void getColor__14J2DAnmVtxColorCFUcUsP8_GXColor();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" extern void* __vt__10J2DAnmBase[4];
-extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */];
-extern "C" extern void* __vt__15J2DAnmTevRegKey[4];
-extern "C" extern void* __vt__16J2DAnmTexPattern[4];
-extern "C" extern void* __vt__19J2DAnmTextureSRTKey[4];
-extern "C" extern void* __vt__17J2DAnmVtxColorKey[5];
-extern "C" extern void* __vt__18J2DAnmVtxColorFull[5];
-extern "C" extern void* __vt__14J2DAnmColorKey[5];
-extern "C" extern void* __vt__15J2DAnmColorFull[5];
-extern "C" extern void* __vt__11J2DAnmColor[5];
-extern "C" extern void* __vt__18J2DAnmTransformKey[6];
-extern "C" extern void* __vt__19J2DAnmTransformFull[5];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 803CD6C8-803CD6DC 02A7E8 0014+00 2/2 0/0 0/0 .data __vt__20J2DAnmFullLoader_v15 */
-SECTION_DATA extern void* __vt__20J2DAnmFullLoader_v15[5] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)load__20J2DAnmFullLoader_v15FPCv,
- (void*)setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv,
- (void*)__dt__20J2DAnmFullLoader_v15Fv,
-};
-
-/* 803CD6DC-803CD6F0 02A7FC 0014+00 2/2 0/0 0/0 .data __vt__19J2DAnmKeyLoader_v15 */
-SECTION_DATA extern void* __vt__19J2DAnmKeyLoader_v15[5] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)load__19J2DAnmKeyLoader_v15FPCv,
- (void*)setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv,
- (void*)__dt__19J2DAnmKeyLoader_v15Fv,
-};
-
-/* 803CD6F0-803CD704 02A810 0014+00 5/5 0/0 0/0 .data __vt__12J2DAnmLoader */
-SECTION_DATA extern void* __vt__12J2DAnmLoader[5] = {
- (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)__dt__12J2DAnmLoaderFv,
-};
-
-/* 803CD704-803CD714 02A824 0010+00 2/2 0/0 0/0 .data __vt__20J2DAnmVisibilityFull */
-SECTION_DATA extern void* __vt__20J2DAnmVisibilityFull[4] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__20J2DAnmVisibilityFullFv,
- (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen,
-};
-
-/* 803CD714-803CD728 02A834 0014+00 2/2 2/2 0/0 .data __vt__14J2DAnmVtxColor */
-SECTION_DATA extern void* __vt__14J2DAnmVtxColor[5] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__14J2DAnmVtxColorFv,
- (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen,
- (void*)getColor__14J2DAnmVtxColorCFUcUsP8_GXColor,
-};
-
-/* 804562F8-80456300 0048F8 0004+04 11/11 0/0 0/0 .sdata2 @1581 */
-SECTION_SDATA2 static f32 lit_1581[1 + 1 /* padding */] = {
- 0.0f,
- /* padding */
- 0.0f,
-};
+#include "JSystem/J2DGraph/J2DAnmLoader.h"
+#include "JSystem/JSupport/JSupport.h"
/* 80308A6C-80309290 3033AC 0824+00 0/0 26/26 2/2 .text load__20J2DAnmLoaderDataBaseFPCv
*/
-void J2DAnmLoaderDataBase::load(void const* param_0) {
- // NONMATCHING
+J2DAnmBase* J2DAnmLoaderDataBase::load(void const* p_data) {
+ const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
+
+ if (hdr == NULL) {
+ return NULL;
+ } else if (hdr->mMagic == 'J3D1') {
+ switch (hdr->mType) {
+ case 'bck1': {
+ J2DAnmKeyLoader_v15 loader;
+ loader.mpResource = new J2DAnmTransformKey();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'bpk1': {
+ J2DAnmKeyLoader_v15 loader;
+ loader.mpResource = new J2DAnmColorKey();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'blk1':
+ return NULL;
+ case 'btk1': {
+ J2DAnmKeyLoader_v15 loader;
+ loader.mpResource = new J2DAnmTextureSRTKey();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'brk1': {
+ J2DAnmKeyLoader_v15 loader;
+ loader.mpResource = new J2DAnmTevRegKey();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'bxk1': {
+ J2DAnmKeyLoader_v15 loader;
+ loader.mpResource = new J2DAnmVtxColorKey();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'bca1': {
+ J2DAnmFullLoader_v15 loader;
+ loader.mpResource = new J2DAnmTransformFull();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'bpa1': {
+ J2DAnmFullLoader_v15 loader;
+ loader.mpResource = new J2DAnmColorFull();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'btp1': {
+ J2DAnmFullLoader_v15 loader;
+ loader.mpResource = new J2DAnmTexPattern();
+ return (J2DAnmBase*)loader.load(p_data);
+ }
+ case 'bva1': {
+ J2DAnmFullLoader_v15 loader;
+ loader.mpResource = new J2DAnmVisibilityFull();
+ return (J2DAnmBase*)loader.load(p_data);
+ break;
+ }
+ case 'bla1':
+ return NULL;
+ case 'bxa1': {
+ J2DAnmFullLoader_v15 loader;
+ loader.mpResource = new J2DAnmVtxColorFull();
+ return (J2DAnmBase*)loader.load(p_data);
+ }
+ }
+ return NULL;
+ } else {
+ return NULL;
+ }
}
/* 80309290-803092AC 303BD0 001C+00 1/1 0/0 0/0 .text __ct__19J2DAnmKeyLoader_v15Fv */
-J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {
- // NONMATCHING
-}
+J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {}
/* 803092AC-80309308 303BEC 005C+00 2/1 0/0 0/0 .text __dt__19J2DAnmKeyLoader_v15Fv */
-J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {
- // NONMATCHING
-}
+J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {}
/* 80309308-80309414 303C48 010C+00 2/1 0/0 0/0 .text load__19J2DAnmKeyLoader_v15FPCv */
-void J2DAnmKeyLoader_v15::load(void const* param_0) {
- // NONMATCHING
+void* J2DAnmKeyLoader_v15::load(void const* p_data) {
+ const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
+ const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
+
+ for (s32 i = 0; i < hdr->mCount; i++) {
+ switch (dataPtr->mType) {
+ case 'ANK1':
+ readAnmTransform((J3DAnmTransformKeyData*)dataPtr);
+ break;
+ case 'PAK1':
+ readAnmColor((J3DAnmColorKeyData*)dataPtr);
+ break;
+ case 'TTK1':
+ readAnmTextureSRT((J3DAnmTextureSRTKeyData*)dataPtr);
+ break;
+ case 'VCK1':
+ readAnmVtxColor((J3DAnmVtxColorKeyData*)dataPtr);
+ break;
+ case 'TRK1':
+ readAnmTevReg((J3DAnmTevRegKeyData*)dataPtr);
+ break;
+ }
+ dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
+ }
+
+ return mpResource;
}
/* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text
* setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */
-void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* param_0, void const* param_1) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) {
+ const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
+ const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
+
+ for (s32 i = 0; i < hdr->mCount; i++) {
+ switch (dataPtr->mType) {
+ case 'ANK1':
+ if (p_anm->getKind() == KIND_TRANSFORM) {
+ setAnmTransform((J2DAnmTransformKey*)p_anm, (J3DAnmTransformKeyData*)dataPtr);
+ }
+ break;
+ case 'PAK1':
+ if (p_anm->getKind() == KIND_COLOR) {
+ setAnmColor((J2DAnmColorKey*)p_anm, (J3DAnmColorKeyData*)dataPtr);
+ }
+ break;
+ case 'TTK1':
+ if (p_anm->getKind() == KIND_TEXTURE_SRT) {
+ setAnmTextureSRT((J2DAnmTextureSRTKey*)p_anm,
+ (J3DAnmTextureSRTKeyData*)dataPtr);
+ }
+ break;
+ case 'TRK1':
+ if (p_anm->getKind() == KIND_TEV_REG) {
+ setAnmTevReg((J2DAnmTevRegKey*)p_anm, (J3DAnmTevRegKeyData*)dataPtr);
+ }
+ break;
+ case 'VCK1':
+ if (p_anm->getKind() == KIND_VTX_COLOR) {
+ setAnmVtxColor((J2DAnmVtxColorKey*)p_anm, (J3DAnmVtxColorKeyData*)dataPtr);
+ }
+ break;
+ }
+ dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
+ }
}
/* 80309570-80309598 303EB0 0028+00 1/1 0/0 0/0 .text
* readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */
-void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* param_0) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* p_data) {
+ setAnmTransform((J2DAnmTransformKey*)mpResource, p_data);
}
/* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text
* setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData */
-void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* param_0,
- J3DAnmTransformKeyData const* param_1) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* p_anm,
+ J3DAnmTransformKeyData const* p_data) {
+ p_anm->field_0x22 = p_data->field_0xc;
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->field_0x24 = p_data->field_0x9;
+ p_anm->mFrame = 0;
+ p_anm->mInfoTable =
+ JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mScaleValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x18);
+ p_anm->mRotationValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->field_0x1c);
+ p_anm->mTranslateValues =
+ JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x20);
}
/* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text
* readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */
-void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* p_data) {
+ setAnmTextureSRT((J2DAnmTextureSRTKey*)mpResource, p_data);
}
/* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text
* setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */
-void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* param_0,
- J3DAnmTextureSRTKeyData const* param_1) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* p_anm,
+ J3DAnmTextureSRTKeyData const* p_data) {
+ p_anm->mUpdateMaterialNum = p_data->field_0xc;
+ p_anm->mFrameMax = p_data->field_0xa;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->field_0x10 = p_data->field_0x9;
+ p_anm->mFrame = 0;
+ p_anm->mUpdateMaterialNum = p_data->field_0xc;
+ p_anm->field_0x1a = p_data->field_0xe;
+ p_anm->field_0x1c = p_data->field_0x10;
+ p_anm->field_0x1e = p_data->field_0x12;
+ p_anm->mInfoTable =
+ JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMatIDOffset);
+ p_anm->field_0x34.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTab1Offset));
+ p_anm->mUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(p_data, p_data->mUpdateTexMtxIDOffset);
+ p_anm->field_0x44 = JSUConvertOffsetToPtr<Vec>(p_data, (void*)p_data->unkOffset);
+ p_anm->mScaleValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mScaleValOffset);
+ p_anm->mRotationValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRotValOffset);
+ p_anm->mTranslationValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mTransValOffset);
+ if (p_data->mNameTab2Offset != 0) {
+ p_anm->field_0x68.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTab2Offset));
+ }
+ p_anm->field_0x4e = p_data->field_0x34;
+ p_anm->field_0x48 = p_data->field_0x36;
+ p_anm->field_0x4a = p_data->field_0x38;
+ p_anm->field_0x4c = p_data->field_0x3a;
+ p_anm->field_0x5c =
+ JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(p_data, (void*)p_data->mInfoTable2Offset);
+ p_anm->field_0x64 = JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->field_0x40);
+ p_anm->field_0x60 = JSUConvertOffsetToPtr<u8>(p_data, p_data->field_0x48);
+ p_anm->field_0x78 = JSUConvertOffsetToPtr<Vec>(p_data, (void*)p_data->field_0x4c);
+ p_anm->field_0x50 = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x50);
+ p_anm->field_0x54 = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->field_0x54);
+ p_anm->field_0x58 = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x58);
+ switch (p_data->field_0x5c) {
+ case 0:
+ p_anm->field_0x7c = 0;
+ break;
+ case 1:
+ p_anm->field_0x7c = 1;
+ break;
+ default:
+ p_anm->field_0x7c = 0;
+ break;
+ }
}
/* 80309848-80309870 304188 0028+00 1/1 0/0 0/0 .text
* readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */
-void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* param_0) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* p_data) {
+ setAnmColor((J2DAnmColorKey*)mpResource, p_data);
}
/* 80309870-8030995C 3041B0 00EC+00 2/2 0/0 0/0 .text
* setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData */
-void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* param_0,
- J3DAnmColorKeyData const* param_1) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* p_anm, J3DAnmColorKeyData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum;
+ p_anm->field_0x10 = p_data->field_0x10;
+ p_anm->field_0x12 = p_data->field_0x12;
+ p_anm->field_0x14 = p_data->field_0x14;
+ p_anm->field_0x16 = p_data->field_0x16;
+ p_anm->mInfoTable =
+ JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRValOffset);
+ p_anm->mGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mGValOffset);
+ p_anm->mBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mBValOffset);
+ p_anm->mAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mAValOffset);
+ p_anm->mUpdateMaterialID =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMaterialIDOffset);
+ p_anm->field_0x20.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTabOffset));
}
/* 8030995C-80309984 30429C 0028+00 1/1 0/0 0/0 .text
* readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */
-void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* param_0) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* p_data) {
+ setAnmVtxColor((J2DAnmVtxColorKey*)mpResource, p_data);
}
/* 80309984-80309A80 3042C4 00FC+00 2/2 0/0 0/0 .text
* setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */
-void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* param_0,
- J3DAnmVtxColorKeyData const* param_1) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* p_anm,
+ J3DAnmVtxColorKeyData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0];
+ p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1];
+ p_anm->mInfoTable[0] =
+ JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(p_data, (void*)p_data->mTableOffsets[0]);
+ p_anm->mInfoTable[1] =
+ JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(p_data, (void*)p_data->mTableOffsets[1]);
+ p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
+ p_data, (void*)p_data->mVtxColoIndexDataOffset[0]);
+ p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
+ p_data, (void*)p_data->mVtxColoIndexDataOffset[1]);
+ p_anm->mVtxColorIndexPointer[0] =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColoIndexPointerOffset[0]);
+ p_anm->mVtxColorIndexPointer[1] =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColoIndexPointerOffset[1]);
+ p_anm->mRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRValOffset);
+ p_anm->mGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mGValOffset);
+ p_anm->mBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mBValOffset);
+ p_anm->mAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mAValOffset);
}
/* 80309A80-80309B8C 3043C0 010C+00 2/1 0/0 0/0 .text load__20J2DAnmFullLoader_v15FPCv */
-void J2DAnmFullLoader_v15::load(void const* param_0) {
- // NONMATCHING
+void* J2DAnmFullLoader_v15::load(void const* p_data) {
+ const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
+ const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
+
+ for (s32 i = 0; i < hdr->mCount; i++) {
+ switch (dataPtr->mType) {
+ case 'ANF1':
+ readAnmTransform((J3DAnmTransformFullData*)dataPtr);
+ break;
+ case 'PAF1':
+ readAnmColor((J3DAnmColorFullData*)dataPtr);
+ break;
+ case 'TPT1':
+ readAnmTexPattern((J3DAnmTexPatternFullData*)dataPtr);
+ break;
+ case 'VAF1':
+ readAnmVisibility((J3DAnmVisibilityFullData*)dataPtr);
+ break;
+ case 'VCF1':
+ readAnmVtxColor((J3DAnmVtxColorFullData*)dataPtr);
+ break;
+ }
+ dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
+ }
+ return mpResource;
}
/* 80309B8C-80309CE8 3044CC 015C+00 1/0 0/0 0/0 .text
* setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv */
-void J2DAnmFullLoader_v15::setResource(J2DAnmBase* param_0, void const* param_1) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) {
+ const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
+ const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
+
+ for (s32 i = 0; i < hdr->mCount; i++) {
+ switch (dataPtr->mType) {
+ case 'ANF1':
+ if (p_anm->getKind() == KIND_TRANSFORM)
+ setAnmTransform((J2DAnmTransformFull*)p_anm,
+ (J3DAnmTransformFullData*)dataPtr);
+ break;
+ case 'PAF1':
+ if (p_anm->getKind() == KIND_COLOR)
+ setAnmColor((J2DAnmColorFull*)p_anm, (J3DAnmColorFullData*)dataPtr);
+ break;
+ case 'TPT1':
+ if (p_anm->getKind() == KIND_TEX_PATTERN)
+ setAnmTexPattern((J2DAnmTexPattern*)p_anm, (J3DAnmTexPatternFullData*)dataPtr);
+ break;
+ case 'VAF1':
+ if (p_anm->getKind() == KIND_VISIBILITY)
+ setAnmVisibility((J2DAnmVisibilityFull*)p_anm,
+ (J3DAnmVisibilityFullData*)dataPtr);
+ break;
+ case 'VCF1':
+ if (p_anm->getKind() == KIND_VTX_COLOR)
+ setAnmVtxColor((J2DAnmVtxColorFull*)p_anm, (J3DAnmVtxColorFullData*)dataPtr);
+ break;
+ }
+ dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
+ }
}
/* 80309CE8-80309D04 304628 001C+00 1/1 0/0 0/0 .text __ct__20J2DAnmFullLoader_v15Fv */
-J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() {
- // NONMATCHING
-}
+J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() {}
/* 80309D04-80309D60 304644 005C+00 2/1 0/0 0/0 .text __dt__20J2DAnmFullLoader_v15Fv */
-J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() {
- // NONMATCHING
-}
+J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() {}
/* 80309D60-80309D88 3046A0 0028+00 1/1 0/0 0/0 .text
* readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData */
-void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* param_0) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* p_data) {
+ setAnmTransform((J2DAnmTransformFull*)mpResource, p_data);
}
/* 80309D88-80309E1C 3046C8 0094+00 2/2 0/0 0/0 .text
* setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData */
-void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* param_0,
- J3DAnmTransformFullData const* param_1) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* p_anm,
+ J3DAnmTransformFullData const* p_data) {
+ p_anm->field_0x22 = p_data->field_0xc;
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mTableInfo =
+ JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mScaleValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mScaleValOffset);
+ p_anm->mRotationValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRotValOffset);
+ p_anm->mTranslateValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mTransValOffset);
}
/* 80309E1C-80309E44 30475C 0028+00 1/1 0/0 0/0 .text
* readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData */
-void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* param_0) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* p_data) {
+ setAnmColor((J2DAnmColorFull*)mpResource, p_data);
}
/* 80309E44-80309F10 304784 00CC+00 2/2 0/0 0/0 .text
* setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData */
-void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* param_0,
- J3DAnmColorFullData const* param_1) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* p_anm, J3DAnmColorFullData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum;
+ p_anm->mInfoTable =
+ JSUConvertOffsetToPtr<J3DAnmColorFullTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mRValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mRValuesOffset);
+ p_anm->mGValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mGValuesOffset);
+ p_anm->mBValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mBValuesOffset);
+ p_anm->mAValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mAValuesOffset);
+ p_anm->mUpdateMaterialID =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMaterialIDOffset);
+ p_anm->field_0x20.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTabOffset));
}
/* 80309F10-80309F38 304850 0028+00 1/1 0/0 0/0 .text
* readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */
-void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* param_0) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* p_data) {
+ setAnmTexPattern((J2DAnmTexPattern*)mpResource, p_data);
}
/* 80309F38-80309FDC 304878 00A4+00 2/2 0/0 0/0 .text
* setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData */
-void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* param_0,
- J3DAnmTexPatternFullData const* param_1) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* p_anm,
+ J3DAnmTexPatternFullData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mUpdateMaterialNum = p_data->field_0xc;
+ p_anm->field_0x18 = p_data->field_0xe;
+ p_anm->mAnmTable =
+ JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mValues = JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mValuesOffset);
+ p_anm->mUpdateMaterialID =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMaterialIDOffset);
+ p_anm->field_0x20.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTabOffset));
}
/* 80309FDC-8030A004 30491C 0028+00 1/1 0/0 0/0 .text
* readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */
-void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* param_0) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* p_data) {
+ setAnmTevReg((J2DAnmTevRegKey*)mpResource, p_data);
}
/* 8030A004-8030A190 304944 018C+00 2/2 0/0 0/0 .text
* setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData */
-void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* param_0,
- J3DAnmTevRegKeyData const* param_1) {
- // NONMATCHING
+void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* p_anm, J3DAnmTevRegKeyData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mCRegUpdateMaterialNum = p_data->mCRegUpdateMaterialNum;
+ p_anm->mAnmCRegKeyTable =
+ JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(p_data, (void*)p_data->mCRegTableOffset);
+ p_anm->mCRegUpdateMaterialID =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mCRegUpdateMaterialIDOffset);
+ p_anm->mCRegNameTab.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mCRegNameTabOffset));
+ p_anm->mKRegUpdateMaterialNum = p_data->mKRegUpdateMaterialNum;
+ p_anm->mAnmKRegKeyTable =
+ JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(p_data, (void*)p_data->mKRegTableOffset);
+ p_anm->mKRegUpdateMaterialID =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mKRegUpdateMaterialIDOffset);
+ p_anm->mKRegNameTab.setResource(
+ JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mKRegNameTabOffset));
+ p_anm->field_0x14 = p_data->field_0x10;
+ p_anm->field_0x16 = p_data->field_0x12;
+ p_anm->field_0x18 = p_data->field_0x14;
+ p_anm->field_0x1a = p_data->field_0x16;
+ p_anm->mCRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCRValuesOffset);
+ p_anm->mCGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCGValuesOffset);
+ p_anm->mCBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCBValuesOffset);
+ p_anm->mCAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCAValuesOffset);
+ p_anm->field_0x1c = p_data->field_0x18;
+ p_anm->field_0x1e = p_data->field_0x1a;
+ p_anm->field_0x20 = p_data->field_0x1c;
+ p_anm->field_0x22 = p_data->field_0x1e;
+ p_anm->mKRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKRValuesOffset);
+ p_anm->mKGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKGValuesOffset);
+ p_anm->mKBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKBValuesOffset);
+ p_anm->mKAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKAValuesOffset);
}
/* 8030A190-8030A1B8 304AD0 0028+00 1/1 0/0 0/0 .text
* readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */
-void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* param_0) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* p_data) {
+ setAnmVisibility((J2DAnmVisibilityFull*)mpResource, p_data);
}
/* 8030A1B8-8030A234 304AF8 007C+00 2/2 0/0 0/0 .text
* setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData */
-void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* param_0,
- J3DAnmVisibilityFullData const* param_1) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* p_anm,
+ J3DAnmVisibilityFullData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->field_0x10 = p_data->field_0xc;
+ p_anm->field_0x12 = p_data->field_0xe;
+ p_anm->mTable =
+ JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(p_data, (void*)p_data->mTableOffset);
+ p_anm->mValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mValuesOffset);
}
/* 8030A234-8030A25C 304B74 0028+00 1/1 0/0 0/0 .text
* readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */
-void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* param_0) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* p_data) {
+ setAnmVtxColor((J2DAnmVtxColorFull*)mpResource, p_data);
}
/* 8030A25C-8030A358 304B9C 00FC+00 2/2 0/0 0/0 .text
* setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData */
-void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* param_0,
- J3DAnmVtxColorFullData const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A358-8030A3B4 304C98 005C+00 1/0 0/0 0/0 .text __dt__14J2DAnmVtxColorFv */
-J2DAnmVtxColor::~J2DAnmVtxColor() {
- // NONMATCHING
-}
-
-/* 8030A3B4-8030A410 304CF4 005C+00 1/0 0/0 0/0 .text __dt__20J2DAnmVisibilityFullFv */
-J2DAnmVisibilityFull::~J2DAnmVisibilityFull() {
- // NONMATCHING
-}
-
-/* 8030A410-8030A458 304D50 0048+00 1/0 0/0 0/0 .text __dt__12J2DAnmLoaderFv */
-J2DAnmLoader::~J2DAnmLoader() {
- // NONMATCHING
-}
-
-/* 8030A458-8030A470 304D98 0018+00 1/1 1/1 0/0 .text
- * JSUConvertOffsetToPtr<25J3DAnmVisibilityFullTable>__FPCvPCv */
-extern "C" void func_8030A458(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A470-8030A488 304DB0 0018+00 1/1 1/1 0/0 .text
- * JSUConvertOffsetToPtr<18J3DAnmKRegKeyTable>__FPCvPCv */
-extern "C" void func_8030A470(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A488-8030A4A0 304DC8 0018+00 1/1 1/1 0/0 .text
- * JSUConvertOffsetToPtr<18J3DAnmCRegKeyTable>__FPCvPCv */
-extern "C" void func_8030A488(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A4A0-8030A4B8 304DE0 0018+00 1/1 1/1 0/0 .text
- * JSUConvertOffsetToPtr<25J3DAnmTexPatternFullTable>__FPCvPCv */
-extern "C" void func_8030A4A0(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A4B8-8030A4D0 304DF8 0018+00 2/2 2/2 0/0 .text
- * JSUConvertOffsetToPtr<20J3DAnmColorFullTable>__FPCvPCv */
-extern "C" void func_8030A4B8(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A4D0-8030A4E8 304E10 0018+00 1/1 1/1 0/0 .text
- * JSUConvertOffsetToPtr<24J3DAnmTransformFullTable>__FPCvPCv */
-extern "C" void func_8030A4D0(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A4E8-8030A500 304E28 0018+00 2/2 2/2 0/0 .text
- * JSUConvertOffsetToPtr<23J3DAnmVtxColorIndexData>__FPCvPCv */
-extern "C" void func_8030A4E8(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A500-8030A518 304E40 0018+00 2/2 2/2 0/0 .text
- * JSUConvertOffsetToPtr<19J3DAnmColorKeyTable>__FPCvPCv */
-extern "C" void func_8030A500(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A518-8030A530 304E58 0018+00 1/1 1/1 0/0 .text JSUConvertOffsetToPtr<3Vec>__FPCvPCv */
-extern "C" void func_8030A518(void const* param_0, void const* param_1) {
- // NONMATCHING
+void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* p_anm,
+ J3DAnmVtxColorFullData const* p_data) {
+ p_anm->mFrameMax = p_data->mFrameMax;
+ p_anm->field_0x4 = p_data->field_0x8;
+ p_anm->mFrame = 0;
+ p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0];
+ p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1];
+ p_anm->mInfoTable[0] =
+ JSUConvertOffsetToPtr<J3DAnmColorFullTable>(p_data, (void*)p_data->mTableOffsets[0]);
+ p_anm->mInfoTable[1] =
+ JSUConvertOffsetToPtr<J3DAnmColorFullTable>(p_data, (void*)p_data->mTableOffsets[1]);
+ p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
+ p_data, (void*)p_data->mVtxColorIndexDataOffsets[0]);
+ p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
+ p_data, (void*)p_data->mVtxColorIndexDataOffsets[1]);
+ p_anm->mVtxColorIndexPointer[0] =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[0]);
+ p_anm->mVtxColorIndexPointer[1] =
+ JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[1]);
+ p_anm->mRValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mRValuesOffset);
+ p_anm->mGValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mGValuesOffset);
+ p_anm->mBValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mBValuesOffset);
+ p_anm->mAValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mAValuesOffset);
}
-
-/* 8030A530-8030A548 304E70 0018+00 5/5 16/16 0/0 .text JSUConvertOffsetToPtr<7ResNTAB>__FPCvPCv
- */
-extern "C" void func_8030A530(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A548-8030A560 304E88 0018+00 6/6 6/6 0/0 .text JSUConvertOffsetToPtr<s>__FPCvPCv
- */
-extern "C" void func_8030A548(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A560-8030A578 304EA0 0018+00 3/3 7/7 0/0 .text JSUConvertOffsetToPtr<f>__FPCvPCv
- */
-extern "C" void func_8030A560(void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8030A578-8030A590 304EB8 0018+00 2/2 2/2 0/0 .text
- * JSUConvertOffsetToPtr<23J3DAnmTransformKeyTable>__FPCvPCv */
-extern "C" void func_8030A578(void const* param_0, void const* param_1) {
- // NONMATCHING
-} \ No newline at end of file
diff --git a/src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp b/src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp
deleted file mode 100644
index 70c6e1294f..0000000000
--- a/src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp
+++ /dev/null
@@ -1,550 +0,0 @@
-//
-// Generated By: dol2asm
-// Translation Unit: J2DAnmLoader
-//
-
-// this should match with -sym on and once J2DMaterialFactory is done
-// JSUConvertOffsetToPtr<u16> needs to be emitted in J2DMaterialFactory before its used here
-
-#include "JSystem/J2DGraph/J2DAnmLoader.h"
-#include "JSystem/JSupport/JSupport.h"
-
-//
-// Types:
-//
-
-/* 80308A6C-80309290 3033AC 0824+00 0/0 26/26 2/2 .text load__20J2DAnmLoaderDataBaseFPCv
- */
-J2DAnmBase* J2DAnmLoaderDataBase::load(void const* p_data) {
- const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
-
- if (hdr == NULL) {
- return NULL;
- } else if (hdr->mMagic == 'J3D1') {
- switch (hdr->mType) {
- case 'bck1': {
- J2DAnmKeyLoader_v15 loader;
- loader.mpResource = new J2DAnmTransformKey();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'bpk1': {
- J2DAnmKeyLoader_v15 loader;
- loader.mpResource = new J2DAnmColorKey();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'blk1':
- return NULL;
- case 'btk1': {
- J2DAnmKeyLoader_v15 loader;
- loader.mpResource = new J2DAnmTextureSRTKey();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'brk1': {
- J2DAnmKeyLoader_v15 loader;
- loader.mpResource = new J2DAnmTevRegKey();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'bxk1': {
- J2DAnmKeyLoader_v15 loader;
- loader.mpResource = new J2DAnmVtxColorKey();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'bca1': {
- J2DAnmFullLoader_v15 loader;
- loader.mpResource = new J2DAnmTransformFull();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'bpa1': {
- J2DAnmFullLoader_v15 loader;
- loader.mpResource = new J2DAnmColorFull();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'btp1': {
- J2DAnmFullLoader_v15 loader;
- loader.mpResource = new J2DAnmTexPattern();
- return (J2DAnmBase*)loader.load(p_data);
- }
- case 'bva1': {
- J2DAnmFullLoader_v15 loader;
- loader.mpResource = new J2DAnmVisibilityFull();
- return (J2DAnmBase*)loader.load(p_data);
- break;
- }
- case 'bla1':
- return NULL;
- case 'bxa1': {
- J2DAnmFullLoader_v15 loader;
- loader.mpResource = new J2DAnmVtxColorFull();
- return (J2DAnmBase*)loader.load(p_data);
- }
- }
- return NULL;
- } else {
- return NULL;
- }
-}
-
-/* 80309290-803092AC 303BD0 001C+00 1/1 0/0 0/0 .text __ct__19J2DAnmKeyLoader_v15Fv */
-J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {}
-
-/* 803092AC-80309308 303BEC 005C+00 2/1 0/0 0/0 .text __dt__19J2DAnmKeyLoader_v15Fv */
-J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {}
-
-/* 80309308-80309414 303C48 010C+00 2/1 0/0 0/0 .text load__19J2DAnmKeyLoader_v15FPCv */
-void* J2DAnmKeyLoader_v15::load(void const* p_data) {
- const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
- const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
-
- for (s32 i = 0; i < hdr->mCount; i++) {
- switch (dataPtr->mType) {
- case 'ANK1':
- readAnmTransform((J3DAnmTransformKeyData*)dataPtr);
- break;
- case 'PAK1':
- readAnmColor((J3DAnmColorKeyData*)dataPtr);
- break;
- case 'TTK1':
- readAnmTextureSRT((J3DAnmTextureSRTKeyData*)dataPtr);
- break;
- case 'VCK1':
- readAnmVtxColor((J3DAnmVtxColorKeyData*)dataPtr);
- break;
- case 'TRK1':
- readAnmTevReg((J3DAnmTevRegKeyData*)dataPtr);
- break;
- }
- dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
- }
-
- return mpResource;
-}
-
-/* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text
- * setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */
-void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) {
- const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
- const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
-
- for (s32 i = 0; i < hdr->mCount; i++) {
- switch (dataPtr->mType) {
- case 'ANK1':
- if (p_anm->getKind() == KIND_TRANSFORM) {
- setAnmTransform((J2DAnmTransformKey*)p_anm, (J3DAnmTransformKeyData*)dataPtr);
- }
- break;
- case 'PAK1':
- if (p_anm->getKind() == KIND_COLOR) {
- setAnmColor((J2DAnmColorKey*)p_anm, (J3DAnmColorKeyData*)dataPtr);
- }
- break;
- case 'TTK1':
- if (p_anm->getKind() == KIND_TEXTURE_SRT) {
- setAnmTextureSRT((J2DAnmTextureSRTKey*)p_anm,
- (J3DAnmTextureSRTKeyData*)dataPtr);
- }
- break;
- case 'TRK1':
- if (p_anm->getKind() == KIND_TEV_REG) {
- setAnmTevReg((J2DAnmTevRegKey*)p_anm, (J3DAnmTevRegKeyData*)dataPtr);
- }
- break;
- case 'VCK1':
- if (p_anm->getKind() == KIND_VTX_COLOR) {
- setAnmVtxColor((J2DAnmVtxColorKey*)p_anm, (J3DAnmVtxColorKeyData*)dataPtr);
- }
- break;
- }
- dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
- }
-}
-
-/* 80309570-80309598 303EB0 0028+00 1/1 0/0 0/0 .text
- * readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */
-void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* p_data) {
- setAnmTransform((J2DAnmTransformKey*)mpResource, p_data);
-}
-
-/* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text
- * setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData */
-void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* p_anm,
- J3DAnmTransformKeyData const* p_data) {
- p_anm->field_0x22 = p_data->field_0xc;
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->field_0x24 = p_data->field_0x9;
- p_anm->mFrame = 0;
- p_anm->mInfoTable =
- JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mScaleValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x18);
- p_anm->mRotationValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->field_0x1c);
- p_anm->mTranslateValues =
- JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x20);
-}
-
-/* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text
- * readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */
-void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* p_data) {
- setAnmTextureSRT((J2DAnmTextureSRTKey*)mpResource, p_data);
-}
-
-/* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text
- * setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */
-void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* p_anm,
- J3DAnmTextureSRTKeyData const* p_data) {
- p_anm->mUpdateMaterialNum = p_data->field_0xc;
- p_anm->mFrameMax = p_data->field_0xa;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->field_0x10 = p_data->field_0x9;
- p_anm->mFrame = 0;
- p_anm->mUpdateMaterialNum = p_data->field_0xc;
- p_anm->field_0x1a = p_data->field_0xe;
- p_anm->field_0x1c = p_data->field_0x10;
- p_anm->field_0x1e = p_data->field_0x12;
- p_anm->mInfoTable =
- JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMatIDOffset);
- p_anm->field_0x34.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTab1Offset));
- p_anm->mUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(p_data, p_data->mUpdateTexMtxIDOffset);
- p_anm->field_0x44 = JSUConvertOffsetToPtr<Vec>(p_data, (void*)p_data->unkOffset);
- p_anm->mScaleValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mScaleValOffset);
- p_anm->mRotationValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRotValOffset);
- p_anm->mTranslationValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mTransValOffset);
- if (p_data->mNameTab2Offset != 0) {
- p_anm->field_0x68.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTab2Offset));
- }
- p_anm->field_0x4e = p_data->field_0x34;
- p_anm->field_0x48 = p_data->field_0x36;
- p_anm->field_0x4a = p_data->field_0x38;
- p_anm->field_0x4c = p_data->field_0x3a;
- p_anm->field_0x5c =
- JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(p_data, (void*)p_data->mInfoTable2Offset);
- p_anm->field_0x64 = JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->field_0x40);
- p_anm->field_0x60 = JSUConvertOffsetToPtr<u8>(p_data, p_data->field_0x48);
- p_anm->field_0x78 = JSUConvertOffsetToPtr<Vec>(p_data, (void*)p_data->field_0x4c);
- p_anm->field_0x50 = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x50);
- p_anm->field_0x54 = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->field_0x54);
- p_anm->field_0x58 = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->field_0x58);
- switch (p_data->field_0x5c) {
- case 0:
- p_anm->field_0x7c = 0;
- break;
- case 1:
- p_anm->field_0x7c = 1;
- break;
- default:
- p_anm->field_0x7c = 0;
- break;
- }
-}
-
-/* 80309848-80309870 304188 0028+00 1/1 0/0 0/0 .text
- * readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */
-void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* p_data) {
- setAnmColor((J2DAnmColorKey*)mpResource, p_data);
-}
-
-/* 80309870-8030995C 3041B0 00EC+00 2/2 0/0 0/0 .text
- * setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData */
-void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* p_anm, J3DAnmColorKeyData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum;
- p_anm->field_0x10 = p_data->field_0x10;
- p_anm->field_0x12 = p_data->field_0x12;
- p_anm->field_0x14 = p_data->field_0x14;
- p_anm->field_0x16 = p_data->field_0x16;
- p_anm->mInfoTable =
- JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRValOffset);
- p_anm->mGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mGValOffset);
- p_anm->mBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mBValOffset);
- p_anm->mAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mAValOffset);
- p_anm->mUpdateMaterialID =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMaterialIDOffset);
- p_anm->field_0x20.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTabOffset));
-}
-
-/* 8030995C-80309984 30429C 0028+00 1/1 0/0 0/0 .text
- * readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */
-void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* p_data) {
- setAnmVtxColor((J2DAnmVtxColorKey*)mpResource, p_data);
-}
-
-/* 80309984-80309A80 3042C4 00FC+00 2/2 0/0 0/0 .text
- * setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */
-void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* p_anm,
- J3DAnmVtxColorKeyData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0];
- p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1];
- p_anm->mInfoTable[0] =
- JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(p_data, (void*)p_data->mTableOffsets[0]);
- p_anm->mInfoTable[1] =
- JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(p_data, (void*)p_data->mTableOffsets[1]);
- p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
- p_data, (void*)p_data->mVtxColoIndexDataOffset[0]);
- p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
- p_data, (void*)p_data->mVtxColoIndexDataOffset[1]);
- p_anm->mVtxColorIndexPointer[0] =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColoIndexPointerOffset[0]);
- p_anm->mVtxColorIndexPointer[1] =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColoIndexPointerOffset[1]);
- p_anm->mRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRValOffset);
- p_anm->mGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mGValOffset);
- p_anm->mBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mBValOffset);
- p_anm->mAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mAValOffset);
-}
-
-/* 80309A80-80309B8C 3043C0 010C+00 2/1 0/0 0/0 .text load__20J2DAnmFullLoader_v15FPCv */
-void* J2DAnmFullLoader_v15::load(void const* p_data) {
- const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
- const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
-
- for (s32 i = 0; i < hdr->mCount; i++) {
- switch (dataPtr->mType) {
- case 'ANF1':
- readAnmTransform((J3DAnmTransformFullData*)dataPtr);
- break;
- case 'PAF1':
- readAnmColor((J3DAnmColorFullData*)dataPtr);
- break;
- case 'TPT1':
- readAnmTexPattern((J3DAnmTexPatternFullData*)dataPtr);
- break;
- case 'VAF1':
- readAnmVisibility((J3DAnmVisibilityFullData*)dataPtr);
- break;
- case 'VCF1':
- readAnmVtxColor((J3DAnmVtxColorFullData*)dataPtr);
- break;
- }
- dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
- }
- return mpResource;
-}
-
-/* 80309B8C-80309CE8 3044CC 015C+00 1/0 0/0 0/0 .text
- * setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv */
-void J2DAnmFullLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) {
- const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data;
- const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
-
- for (s32 i = 0; i < hdr->mCount; i++) {
- switch (dataPtr->mType) {
- case 'ANF1':
- if (p_anm->getKind() == KIND_TRANSFORM)
- setAnmTransform((J2DAnmTransformFull*)p_anm,
- (J3DAnmTransformFullData*)dataPtr);
- break;
- case 'PAF1':
- if (p_anm->getKind() == KIND_COLOR)
- setAnmColor((J2DAnmColorFull*)p_anm, (J3DAnmColorFullData*)dataPtr);
- break;
- case 'TPT1':
- if (p_anm->getKind() == KIND_TEX_PATTERN)
- setAnmTexPattern((J2DAnmTexPattern*)p_anm, (J3DAnmTexPatternFullData*)dataPtr);
- break;
- case 'VAF1':
- if (p_anm->getKind() == KIND_VISIBILITY)
- setAnmVisibility((J2DAnmVisibilityFull*)p_anm,
- (J3DAnmVisibilityFullData*)dataPtr);
- break;
- case 'VCF1':
- if (p_anm->getKind() == KIND_VTX_COLOR)
- setAnmVtxColor((J2DAnmVtxColorFull*)p_anm, (J3DAnmVtxColorFullData*)dataPtr);
- break;
- }
- dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
- }
-}
-
-/* 80309CE8-80309D04 304628 001C+00 1/1 0/0 0/0 .text __ct__20J2DAnmFullLoader_v15Fv */
-J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() {}
-
-/* 80309D04-80309D60 304644 005C+00 2/1 0/0 0/0 .text __dt__20J2DAnmFullLoader_v15Fv */
-J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() {}
-
-/* 80309D60-80309D88 3046A0 0028+00 1/1 0/0 0/0 .text
- * readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData */
-void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* p_data) {
- setAnmTransform((J2DAnmTransformFull*)mpResource, p_data);
-}
-
-/* 80309D88-80309E1C 3046C8 0094+00 2/2 0/0 0/0 .text
- * setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData */
-void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* p_anm,
- J3DAnmTransformFullData const* p_data) {
- p_anm->field_0x22 = p_data->field_0xc;
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mTableInfo =
- JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mScaleValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mScaleValOffset);
- p_anm->mRotationValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mRotValOffset);
- p_anm->mTranslateValues = JSUConvertOffsetToPtr<f32>(p_data, (void*)p_data->mTransValOffset);
-}
-
-/* 80309E1C-80309E44 30475C 0028+00 1/1 0/0 0/0 .text
- * readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData */
-void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* p_data) {
- setAnmColor((J2DAnmColorFull*)mpResource, p_data);
-}
-
-/* 80309E44-80309F10 304784 00CC+00 2/2 0/0 0/0 .text
- * setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData */
-void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* p_anm, J3DAnmColorFullData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum;
- p_anm->mInfoTable =
- JSUConvertOffsetToPtr<J3DAnmColorFullTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mRValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mRValuesOffset);
- p_anm->mGValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mGValuesOffset);
- p_anm->mBValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mBValuesOffset);
- p_anm->mAValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mAValuesOffset);
- p_anm->mUpdateMaterialID =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMaterialIDOffset);
- p_anm->field_0x20.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTabOffset));
-}
-
-/* 80309F10-80309F38 304850 0028+00 1/1 0/0 0/0 .text
- * readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */
-void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* p_data) {
- setAnmTexPattern((J2DAnmTexPattern*)mpResource, p_data);
-}
-
-/* 80309F38-80309FDC 304878 00A4+00 2/2 0/0 0/0 .text
- * setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData */
-void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* p_anm,
- J3DAnmTexPatternFullData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mUpdateMaterialNum = p_data->field_0xc;
- p_anm->field_0x18 = p_data->field_0xe;
- p_anm->mAnmTable =
- JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mValues = JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mValuesOffset);
- p_anm->mUpdateMaterialID =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mUpdateMaterialIDOffset);
- p_anm->field_0x20.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mNameTabOffset));
-}
-
-/* 80309FDC-8030A004 30491C 0028+00 1/1 0/0 0/0 .text
- * readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */
-void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* p_data) {
- setAnmTevReg((J2DAnmTevRegKey*)mpResource, p_data);
-}
-
-/* 8030A004-8030A190 304944 018C+00 2/2 0/0 0/0 .text
- * setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData */
-void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* p_anm, J3DAnmTevRegKeyData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mCRegUpdateMaterialNum = p_data->mCRegUpdateMaterialNum;
- p_anm->mAnmCRegKeyTable =
- JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(p_data, (void*)p_data->mCRegTableOffset);
- p_anm->mCRegUpdateMaterialID =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mCRegUpdateMaterialIDOffset);
- p_anm->mCRegNameTab.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mCRegNameTabOffset));
- p_anm->mKRegUpdateMaterialNum = p_data->mKRegUpdateMaterialNum;
- p_anm->mAnmKRegKeyTable =
- JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(p_data, (void*)p_data->mKRegTableOffset);
- p_anm->mKRegUpdateMaterialID =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mKRegUpdateMaterialIDOffset);
- p_anm->mKRegNameTab.setResource(
- JSUConvertOffsetToPtr<ResNTAB>(p_data, (void*)p_data->mKRegNameTabOffset));
- p_anm->field_0x14 = p_data->field_0x10;
- p_anm->field_0x16 = p_data->field_0x12;
- p_anm->field_0x18 = p_data->field_0x14;
- p_anm->field_0x1a = p_data->field_0x16;
- p_anm->mCRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCRValuesOffset);
- p_anm->mCGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCGValuesOffset);
- p_anm->mCBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCBValuesOffset);
- p_anm->mCAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mCAValuesOffset);
- p_anm->field_0x1c = p_data->field_0x18;
- p_anm->field_0x1e = p_data->field_0x1a;
- p_anm->field_0x20 = p_data->field_0x1c;
- p_anm->field_0x22 = p_data->field_0x1e;
- p_anm->mKRValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKRValuesOffset);
- p_anm->mKGValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKGValuesOffset);
- p_anm->mKBValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKBValuesOffset);
- p_anm->mKAValues = JSUConvertOffsetToPtr<s16>(p_data, (void*)p_data->mKAValuesOffset);
-}
-
-/* 8030A190-8030A1B8 304AD0 0028+00 1/1 0/0 0/0 .text
- * readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */
-void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* p_data) {
- setAnmVisibility((J2DAnmVisibilityFull*)mpResource, p_data);
-}
-
-/* 8030A1B8-8030A234 304AF8 007C+00 2/2 0/0 0/0 .text
- * setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData */
-void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* p_anm,
- J3DAnmVisibilityFullData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->field_0x10 = p_data->field_0xc;
- p_anm->field_0x12 = p_data->field_0xe;
- p_anm->mTable =
- JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(p_data, (void*)p_data->mTableOffset);
- p_anm->mValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mValuesOffset);
-}
-
-/* 8030A234-8030A25C 304B74 0028+00 1/1 0/0 0/0 .text
- * readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */
-void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* p_data) {
- setAnmVtxColor((J2DAnmVtxColorFull*)mpResource, p_data);
-}
-
-/* 8030A25C-8030A358 304B9C 00FC+00 2/2 0/0 0/0 .text
- * setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData */
-void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* p_anm,
- J3DAnmVtxColorFullData const* p_data) {
- p_anm->mFrameMax = p_data->mFrameMax;
- p_anm->field_0x4 = p_data->field_0x8;
- p_anm->mFrame = 0;
- p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0];
- p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1];
- p_anm->mInfoTable[0] =
- JSUConvertOffsetToPtr<J3DAnmColorFullTable>(p_data, (void*)p_data->mTableOffsets[0]);
- p_anm->mInfoTable[1] =
- JSUConvertOffsetToPtr<J3DAnmColorFullTable>(p_data, (void*)p_data->mTableOffsets[1]);
- p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
- p_data, (void*)p_data->mVtxColorIndexDataOffsets[0]);
- p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
- p_data, (void*)p_data->mVtxColorIndexDataOffsets[1]);
- p_anm->mVtxColorIndexPointer[0] =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[0]);
- p_anm->mVtxColorIndexPointer[1] =
- JSUConvertOffsetToPtr<u16>(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[1]);
- p_anm->mRValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mRValuesOffset);
- p_anm->mGValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mGValuesOffset);
- p_anm->mBValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mBValuesOffset);
- p_anm->mAValues = JSUConvertOffsetToPtr<u8>(p_data, p_data->mAValuesOffset);
-}
-
-/* 8030A358-8030A3B4 304C98 005C+00 1/0 0/0 0/0 .text __dt__14J2DAnmVtxColorFv */
-// J2DAnmVtxColor::~J2DAnmVtxColor() {}
-/* 8030A3B4-8030A410 304CF4 005C+00 1/0 0/0 0/0 .text __dt__20J2DAnmVisibilityFullFv */
-// J2DAnmVisibilityFull::~J2DAnmVisibilityFull() {} \ No newline at end of file
diff --git a/src/JSystem/J2DGraph/J2DMatBlock.cpp b/src/JSystem/J2DGraph/J2DMatBlock.cpp
index f006aa9e5e..64e205a281 100644
--- a/src/JSystem/J2DGraph/J2DMatBlock.cpp
+++ b/src/JSystem/J2DGraph/J2DMatBlock.cpp
@@ -359,8 +359,7 @@ extern "C" extern void* __vt__11J2DIndBlock[14];
//
/* 802EB394-802EB424 2E5CD4 0090+00 0/0 1/1 0/0 .text initialize__13J2DColorBlockFv */
-// instruction order
-#ifdef NONMATCHING
+// NONMATCHING - instruction order
void J2DColorBlock::initialize() {
for (int i = 0; i < 2; i++) {
mMatColor[i] = JUtility::TColor(j2dDefaultColInfo);
@@ -371,11 +370,6 @@ void J2DColorBlock::initialize() {
}
mCullMode = GX_CULL_NONE;
}
-#else
-void J2DColorBlock::initialize() {
- // NONMATCHING
-}
-#endif
/* 802EB424-802EB510 2E5D64 00EC+00 0/0 1/1 0/0 .text setGX__13J2DColorBlockFv */
void J2DColorBlock::setGX() {
@@ -414,280 +408,6 @@ void J2DTexGenBlock::setGX() {
}
}
-/* ############################################################################################## */
-/* 803CCA90-803CCAC8 029BB0 0038+00 1/1 1/1 0/0 .data __vt__15J2DIndBlockFull */
-SECTION_DATA extern void* __vt__15J2DIndBlockFull[14] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__15J2DIndBlockFullFv,
- (void*)setGX__15J2DIndBlockFullFv,
- (void*)getType__15J2DIndBlockFullFv,
- (void*)setIndTexStageNum__15J2DIndBlockFullFUc,
- (void*)getIndTexStageNum__15J2DIndBlockFullCFv,
- (void*)setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder,
- (void*)getIndTexOrder__15J2DIndBlockFullFUl,
- (void*)setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx,
- (void*)getIndTexMtx__15J2DIndBlockFullFUl,
- (void*)setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale,
- (void*)getIndTexCoordScale__15J2DIndBlockFullFUl,
- (void*)__dt__15J2DIndBlockFullFv,
-};
-
-/* 803CCAC8-803CCB84 029BE8 00BC+00 2/2 0/0 0/0 .data __vt__13J2DTevBlock16 */
-SECTION_DATA extern void* __vt__13J2DTevBlock16[47] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__13J2DTevBlock16Fv,
- (void*)setGX__13J2DTevBlock16Fv,
- (void*)loadTexture__13J2DTevBlock16F11_GXTexMapIDUl,
- (void*)getType__13J2DTevBlock16Fv,
- (void*)getMaxStage__13J2DTevBlock16Fv,
- (void*)setTexNo__13J2DTevBlock16FUlUs,
- (void*)getTexNo__13J2DTevBlock16CFUl,
- (void*)setFontNo__13J2DTevBlock16FUs,
- (void*)getFontNo__13J2DTevBlock16CFv,
- (void*)setTevOrder__13J2DTevBlock16FUl11J2DTevOrder,
- (void*)getTevOrder__13J2DTevBlock16FUl,
- (void*)setTevColor__13J2DTevBlock16FUl13J2DGXColorS10,
- (void*)getTevColor__13J2DTevBlock16FUl,
- (void*)setTevKColor__13J2DTevBlock16FUlQ28JUtility6TColor,
- (void*)getTevKColor__13J2DTevBlock16FUl,
- (void*)setTevKColorSel__13J2DTevBlock16FUlUc,
- (void*)getTevKColorSel__13J2DTevBlock16FUl,
- (void*)setTevKAlphaSel__13J2DTevBlock16FUlUc,
- (void*)getTevKAlphaSel__13J2DTevBlock16FUl,
- (void*)setTevStageNum__13J2DTevBlock16FUc,
- (void*)getTevStageNum__13J2DTevBlock16CFv,
- (void*)setTevStage__13J2DTevBlock16FUl11J2DTevStage,
- (void*)getTevStage__13J2DTevBlock16FUl,
- (void*)setTevSwapModeInfo__13J2DTevBlock16FUl18J2DTevSwapModeInfo,
- (void*)setTevSwapModeTable__13J2DTevBlock16FUl19J2DTevSwapModeTable,
- (void*)getTevSwapModeTable__13J2DTevBlock16FUl,
- (void*)setIndTevStage__13J2DTevBlock16FUl14J2DIndTevStage,
- (void*)getIndTevStage__13J2DTevBlock16FUl,
- (void*)insertTexture__13J2DTevBlock16FUlPC7ResTIMG,
- (void*)insertTexture__13J2DTevBlock16FUlPC7ResTIMGP10JUTPalette,
- (void*)insertTexture__13J2DTevBlock16FUlP10JUTTexture,
- (void*)setTexture__13J2DTevBlock16FUlPC7ResTIMG,
- (void*)setTexture__13J2DTevBlock16FUlP10JUTTexture,
- (void*)removeTexture__13J2DTevBlock16FUl,
- (void*)setFont__13J2DTevBlock16FP7ResFONT,
- (void*)setFont__13J2DTevBlock16FP7JUTFont,
- (void*)setPalette__13J2DTevBlock16FUlPC7ResTLUT,
- (void*)prepareTexture__13J2DTevBlock16FUc,
- (void*)getTexture__13J2DTevBlock16FUl,
- (void*)getPalette__13J2DTevBlock16FUl,
- (void*)getFont__13J2DTevBlock16Fv,
- (void*)shiftDeleteFlag__13J2DTevBlock16FUcb,
- (void*)setUndeleteFlag__13J2DTevBlock16FUc,
- (void*)setFontUndeleteFlag__13J2DTevBlock16Fv,
- (void*)__dt__13J2DTevBlock16Fv,
-};
-
-/* 803CCB84-803CCC40 029CA4 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock8 */
-SECTION_DATA extern void* __vt__12J2DTevBlock8[47] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__12J2DTevBlock8Fv,
- (void*)setGX__12J2DTevBlock8Fv,
- (void*)loadTexture__12J2DTevBlock8F11_GXTexMapIDUl,
- (void*)getType__12J2DTevBlock8Fv,
- (void*)getMaxStage__12J2DTevBlock8Fv,
- (void*)setTexNo__12J2DTevBlock8FUlUs,
- (void*)getTexNo__12J2DTevBlock8CFUl,
- (void*)setFontNo__12J2DTevBlock8FUs,
- (void*)getFontNo__12J2DTevBlock8CFv,
- (void*)setTevOrder__12J2DTevBlock8FUl11J2DTevOrder,
- (void*)getTevOrder__12J2DTevBlock8FUl,
- (void*)setTevColor__12J2DTevBlock8FUl13J2DGXColorS10,
- (void*)getTevColor__12J2DTevBlock8FUl,
- (void*)setTevKColor__12J2DTevBlock8FUlQ28JUtility6TColor,
- (void*)getTevKColor__12J2DTevBlock8FUl,
- (void*)setTevKColorSel__12J2DTevBlock8FUlUc,
- (void*)getTevKColorSel__12J2DTevBlock8FUl,
- (void*)setTevKAlphaSel__12J2DTevBlock8FUlUc,
- (void*)getTevKAlphaSel__12J2DTevBlock8FUl,
- (void*)setTevStageNum__12J2DTevBlock8FUc,
- (void*)getTevStageNum__12J2DTevBlock8CFv,
- (void*)setTevStage__12J2DTevBlock8FUl11J2DTevStage,
- (void*)getTevStage__12J2DTevBlock8FUl,
- (void*)setTevSwapModeInfo__12J2DTevBlock8FUl18J2DTevSwapModeInfo,
- (void*)setTevSwapModeTable__12J2DTevBlock8FUl19J2DTevSwapModeTable,
- (void*)getTevSwapModeTable__12J2DTevBlock8FUl,
- (void*)setIndTevStage__12J2DTevBlock8FUl14J2DIndTevStage,
- (void*)getIndTevStage__12J2DTevBlock8FUl,
- (void*)insertTexture__12J2DTevBlock8FUlPC7ResTIMG,
- (void*)insertTexture__12J2DTevBlock8FUlPC7ResTIMGP10JUTPalette,
- (void*)insertTexture__12J2DTevBlock8FUlP10JUTTexture,
- (void*)setTexture__12J2DTevBlock8FUlPC7ResTIMG,
- (void*)setTexture__12J2DTevBlock8FUlP10JUTTexture,
- (void*)removeTexture__12J2DTevBlock8FUl,
- (void*)setFont__12J2DTevBlock8FP7ResFONT,
- (void*)setFont__12J2DTevBlock8FP7JUTFont,
- (void*)setPalette__12J2DTevBlock8FUlPC7ResTLUT,
- (void*)prepareTexture__12J2DTevBlock8FUc,
- (void*)getTexture__12J2DTevBlock8FUl,
- (void*)getPalette__12J2DTevBlock8FUl,
- (void*)getFont__12J2DTevBlock8Fv,
- (void*)shiftDeleteFlag__12J2DTevBlock8FUcb,
- (void*)setUndeleteFlag__12J2DTevBlock8FUc,
- (void*)setFontUndeleteFlag__12J2DTevBlock8Fv,
- (void*)__dt__12J2DTevBlock8Fv,
-};
-
-/* 803CCC40-803CCCFC 029D60 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock4 */
-SECTION_DATA extern void* __vt__12J2DTevBlock4[47] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__12J2DTevBlock4Fv,
- (void*)setGX__12J2DTevBlock4Fv,
- (void*)loadTexture__12J2DTevBlock4F11_GXTexMapIDUl,
- (void*)getType__12J2DTevBlock4Fv,
- (void*)getMaxStage__12J2DTevBlock4Fv,
- (void*)setTexNo__12J2DTevBlock4FUlUs,
- (void*)getTexNo__12J2DTevBlock4CFUl,
- (void*)setFontNo__12J2DTevBlock4FUs,
- (void*)getFontNo__12J2DTevBlock4CFv,
- (void*)setTevOrder__12J2DTevBlock4FUl11J2DTevOrder,
- (void*)getTevOrder__12J2DTevBlock4FUl,
- (void*)setTevColor__12J2DTevBlock4FUl13J2DGXColorS10,
- (void*)getTevColor__12J2DTevBlock4FUl,
- (void*)setTevKColor__12J2DTevBlock4FUlQ28JUtility6TColor,
- (void*)getTevKColor__12J2DTevBlock4FUl,
- (void*)setTevKColorSel__12J2DTevBlock4FUlUc,
- (void*)getTevKColorSel__12J2DTevBlock4FUl,
- (void*)setTevKAlphaSel__12J2DTevBlock4FUlUc,
- (void*)getTevKAlphaSel__12J2DTevBlock4FUl,
- (void*)setTevStageNum__12J2DTevBlock4FUc,
- (void*)getTevStageNum__12J2DTevBlock4CFv,
- (void*)setTevStage__12J2DTevBlock4FUl11J2DTevStage,
- (void*)getTevStage__12J2DTevBlock4FUl,
- (void*)setTevSwapModeInfo__12J2DTevBlock4FUl18J2DTevSwapModeInfo,
- (void*)setTevSwapModeTable__12J2DTevBlock4FUl19J2DTevSwapModeTable,
- (void*)getTevSwapModeTable__12J2DTevBlock4FUl,
- (void*)setIndTevStage__12J2DTevBlock4FUl14J2DIndTevStage,
- (void*)getIndTevStage__12J2DTevBlock4FUl,
- (void*)insertTexture__12J2DTevBlock4FUlPC7ResTIMG,
- (void*)insertTexture__12J2DTevBlock4FUlPC7ResTIMGP10JUTPalette,
- (void*)insertTexture__12J2DTevBlock4FUlP10JUTTexture,
- (void*)setTexture__12J2DTevBlock4FUlPC7ResTIMG,
- (void*)setTexture__12J2DTevBlock4FUlP10JUTTexture,
- (void*)removeTexture__12J2DTevBlock4FUl,
- (void*)setFont__12J2DTevBlock4FP7ResFONT,
- (void*)setFont__12J2DTevBlock4FP7JUTFont,
- (void*)setPalette__12J2DTevBlock4FUlPC7ResTLUT,
- (void*)prepareTexture__12J2DTevBlock4FUc,
- (void*)getTexture__12J2DTevBlock4FUl,
- (void*)getPalette__12J2DTevBlock4FUl,
- (void*)getFont__12J2DTevBlock4Fv,
- (void*)shiftDeleteFlag__12J2DTevBlock4FUcb,
- (void*)setUndeleteFlag__12J2DTevBlock4FUc,
- (void*)setFontUndeleteFlag__12J2DTevBlock4Fv,
- (void*)__dt__12J2DTevBlock4Fv,
-};
-
-/* 803CCCFC-803CCDB8 029E1C 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock2 */
-SECTION_DATA extern void* __vt__12J2DTevBlock2[47] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__12J2DTevBlock2Fv,
- (void*)setGX__12J2DTevBlock2Fv,
- (void*)loadTexture__12J2DTevBlock2F11_GXTexMapIDUl,
- (void*)getType__12J2DTevBlock2Fv,
- (void*)getMaxStage__12J2DTevBlock2Fv,
- (void*)setTexNo__12J2DTevBlock2FUlUs,
- (void*)getTexNo__12J2DTevBlock2CFUl,
- (void*)setFontNo__12J2DTevBlock2FUs,
- (void*)getFontNo__12J2DTevBlock2CFv,
- (void*)setTevOrder__12J2DTevBlock2FUl11J2DTevOrder,
- (void*)getTevOrder__12J2DTevBlock2FUl,
- (void*)setTevColor__12J2DTevBlock2FUl13J2DGXColorS10,
- (void*)getTevColor__12J2DTevBlock2FUl,
- (void*)setTevKColor__12J2DTevBlock2FUlQ28JUtility6TColor,
- (void*)getTevKColor__12J2DTevBlock2FUl,
- (void*)setTevKColorSel__12J2DTevBlock2FUlUc,
- (void*)getTevKColorSel__12J2DTevBlock2FUl,
- (void*)setTevKAlphaSel__12J2DTevBlock2FUlUc,
- (void*)getTevKAlphaSel__12J2DTevBlock2FUl,
- (void*)setTevStageNum__12J2DTevBlock2FUc,
- (void*)getTevStageNum__12J2DTevBlock2CFv,
- (void*)setTevStage__12J2DTevBlock2FUl11J2DTevStage,
- (void*)getTevStage__12J2DTevBlock2FUl,
- (void*)setTevSwapModeInfo__12J2DTevBlock2FUl18J2DTevSwapModeInfo,
- (void*)setTevSwapModeTable__12J2DTevBlock2FUl19J2DTevSwapModeTable,
- (void*)getTevSwapModeTable__12J2DTevBlock2FUl,
- (void*)setIndTevStage__12J2DTevBlock2FUl14J2DIndTevStage,
- (void*)getIndTevStage__12J2DTevBlock2FUl,
- (void*)insertTexture__12J2DTevBlock2FUlPC7ResTIMG,
- (void*)insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette,
- (void*)insertTexture__12J2DTevBlock2FUlP10JUTTexture,
- (void*)setTexture__12J2DTevBlock2FUlPC7ResTIMG,
- (void*)setTexture__12J2DTevBlock2FUlP10JUTTexture,
- (void*)removeTexture__12J2DTevBlock2FUl,
- (void*)setFont__12J2DTevBlock2FP7ResFONT,
- (void*)setFont__12J2DTevBlock2FP7JUTFont,
- (void*)setPalette__12J2DTevBlock2FUlPC7ResTLUT,
- (void*)prepareTexture__12J2DTevBlock2FUc,
- (void*)getTexture__12J2DTevBlock2FUl,
- (void*)getPalette__12J2DTevBlock2FUl,
- (void*)getFont__12J2DTevBlock2Fv,
- (void*)shiftDeleteFlag__12J2DTevBlock2FUcb,
- (void*)setUndeleteFlag__12J2DTevBlock2FUc,
- (void*)setFontUndeleteFlag__12J2DTevBlock2Fv,
- (void*)__dt__12J2DTevBlock2Fv,
-};
-
-/* 803CCDB8-803CCE74 029ED8 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock1 */
-SECTION_DATA extern void* __vt__12J2DTevBlock1[47] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__12J2DTevBlock1Fv,
- (void*)setGX__12J2DTevBlock1Fv,
- (void*)loadTexture__12J2DTevBlock1F11_GXTexMapIDUl,
- (void*)getType__12J2DTevBlock1Fv,
- (void*)getMaxStage__12J2DTevBlock1Fv,
- (void*)setTexNo__12J2DTevBlock1FUlUs,
- (void*)getTexNo__12J2DTevBlock1CFUl,
- (void*)setFontNo__12J2DTevBlock1FUs,
- (void*)getFontNo__12J2DTevBlock1CFv,
- (void*)setTevOrder__12J2DTevBlock1FUl11J2DTevOrder,
- (void*)getTevOrder__12J2DTevBlock1FUl,
- (void*)setTevColor__12J2DTevBlock1FUl13J2DGXColorS10,
- (void*)getTevColor__12J2DTevBlock1FUl,
- (void*)setTevKColor__12J2DTevBlock1FUlQ28JUtility6TColor,
- (void*)getTevKColor__12J2DTevBlock1FUl,
- (void*)setTevKColorSel__12J2DTevBlock1FUlUc,
- (void*)getTevKColorSel__12J2DTevBlock1FUl,
- (void*)setTevKAlphaSel__12J2DTevBlock1FUlUc,
- (void*)getTevKAlphaSel__12J2DTevBlock1FUl,
- (void*)setTevStageNum__12J2DTevBlock1FUc,
- (void*)getTevStageNum__12J2DTevBlock1CFv,
- (void*)setTevStage__12J2DTevBlock1FUl11J2DTevStage,
- (void*)getTevStage__12J2DTevBlock1FUl,
- (void*)setTevSwapModeInfo__12J2DTevBlock1FUl18J2DTevSwapModeInfo,
- (void*)setTevSwapModeTable__12J2DTevBlock1FUl19J2DTevSwapModeTable,
- (void*)getTevSwapModeTable__12J2DTevBlock1FUl,
- (void*)setIndTevStage__12J2DTevBlock1FUl14J2DIndTevStage,
- (void*)getIndTevStage__12J2DTevBlock1FUl,
- (void*)insertTexture__12J2DTevBlock1FUlPC7ResTIMG,
- (void*)insertTexture__12J2DTevBlock1FUlPC7ResTIMGP10JUTPalette,
- (void*)insertTexture__12J2DTevBlock1FUlP10JUTTexture,
- (void*)setTexture__12J2DTevBlock1FUlPC7ResTIMG,
- (void*)setTexture__12J2DTevBlock1FUlP10JUTTexture,
- (void*)removeTexture__12J2DTevBlock1FUl,
- (void*)setFont__12J2DTevBlock1FP7ResFONT,
- (void*)setFont__12J2DTevBlock1FP7JUTFont,
- (void*)setPalette__12J2DTevBlock1FUlPC7ResTLUT,
- (void*)prepareTexture__12J2DTevBlock1FUc,
- (void*)getTexture__12J2DTevBlock1FUl,
- (void*)getPalette__12J2DTevBlock1FUl,
- (void*)getFont__12J2DTevBlock1Fv,
- (void*)shiftDeleteFlag__12J2DTevBlock1FUcb,
- (void*)setUndeleteFlag__12J2DTevBlock1FUc,
- (void*)setFontUndeleteFlag__12J2DTevBlock1Fv,
- (void*)__dt__12J2DTevBlock1Fv,
-};
-
/* 802EB620-802EB6A4 2E5F60 0084+00 1/0 1/1 0/0 .text __dt__14J2DTexGenBlockFv */
J2DTexGenBlock::~J2DTexGenBlock() {
for (int i = 0; i < 8; i++) {
@@ -748,8 +468,6 @@ J2DTevBlock1::~J2DTevBlock1() {
}
/* 802EBA50-802EBC0C 2E6390 01BC+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock1Fv */
-// inlines
-#ifdef NONMATCHING
void J2DTevBlock1::initialize() {
mTexNo[0] = -1;
mFontNo = -1;
@@ -770,12 +488,6 @@ void J2DTevBlock1::initialize() {
mPalette[0] = NULL;
mFont = NULL;
}
-#else
-extern "C" void initialize__12J2DTevBlock1Fv() {
- // asm void J2DTevBlock1::initialize() {
- // NONMATCHING
-}
-#endif
/* 802EBC0C-802EBCC0 2E654C 00B4+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock1FUc
*/
@@ -1078,9 +790,33 @@ J2DTevBlock2::~J2DTevBlock2() {
}
/* 802EC7A0-802ECA18 2E70E0 0278+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock2Fv */
-extern "C" void initialize__12J2DTevBlock2Fv() {
- // asm void J2DTevBlock2::initialize() {
- // NONMATCHING
+void J2DTevBlock2::initialize() {
+ mTexNo[0] = 0xffff;
+ mTexNo[1] = 0xffff;
+ mFontNo = 0xffff;
+ mTevOrder[0].setTevOrderInfo(j2dDefaultTevOrderInfoNull);
+ mTevOrder[1].setTevOrderInfo(j2dDefaultTevOrderInfoNull);
+ for (int i = 0; i < 4; i++) {
+ mTevColor[i] = j2dDefaultTevColor;
+ }
+ mTevStageNum = 1;
+ mTevStage[0].setStageNo(0);
+ mTevStage[1].setStageNo(1);
+ for (int i = 0; i < 4; i++) {
+ mTevKColor[i] = j2dDefaultTevKColor;
+ }
+ mTevKColorSel[0] = 0xff;
+ mTevKColorSel[1] = 0xff;
+ mTevKAlphaSel[0] = 0xff;
+ mTevKAlphaSel[1] = 0xff;
+ for (int i = 0; i < 4; i++) {
+ mTevSwapModeTable[i].setTevSwapModeTableInfo(j2dDefaultTevSwapModeTable);
+ }
+ mIndTevStage[0].setIndTevStageInfo(j2dDefaultIndTevStageInfo);
+ mIndTevStage[1].setIndTevStageInfo(j2dDefaultIndTevStageInfo);
+ mPalette[0] = NULL;
+ mPalette[1] = NULL;
+ mFont = NULL;
}
/* 802ECA18-802ECAE8 2E7358 00D0+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock2FUc
@@ -1238,8 +974,7 @@ bool J2DTevBlock2::insertTexture(u32 param_0, JUTTexture* p_tex) {
}
/* 802ECF48-802ED16C 2E7888 0224+00 1/0 0/0 0/0 .text setTexture__12J2DTevBlock2FUlPC7ResTIMG */
-// instruction order
-#ifdef NONMATCHING
+// NONMATCHING - instruction order
bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) {
if (param_0 >= 2) {
return false;
@@ -1303,11 +1038,6 @@ bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) {
mTexNo[param_0] = -1;
return true;
}
-#else
-bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* param_1) {
- // NONMATCHING
-}
-#endif
/* 802ED16C-802ED21C 2E7AAC 00B0+00 1/0 0/0 0/0 .text setTexture__12J2DTevBlock2FUlP10JUTTexture
*/
@@ -1512,8 +1242,7 @@ J2DTevBlock4::~J2DTevBlock4() {
}
/* 802EDAC4-802EDD34 2E8404 0270+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock4Fv */
-// inlines
-#ifdef NONMATCHING
+// NONMATCHING - inlines
void J2DTevBlock4::initialize() {
for (int i = 0; i < 4; i++) {
mTexNo[i] = -1;
@@ -1547,12 +1276,6 @@ void J2DTevBlock4::initialize() {
}
mFont = NULL;
}
-#else
-extern "C" void initialize__12J2DTevBlock4Fv() {
- // asm void J2DTevBlock4::initialize() {
- // NONMATCHING
-}
-#endif
/* 802EDD34-802EDE04 2E8674 00D0+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock4FUc
*/
@@ -1577,8 +1300,7 @@ bool J2DTevBlock4::prepareTexture(u8 param_0) {
/* 802EDE04-802EE1D4 2E8744 03D0+00 1/0 0/0 0/0 .text
* insertTexture__12J2DTevBlock4FUlPC7ResTIMGP10JUTPalette */
-// local_3c
-#ifdef NONMATCHING
+// NONMATCHING - local_3c
bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* p_tlut) {
if (param_0 >= 4 || !p_timg) {
return false;
@@ -1669,11 +1391,6 @@ bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette*
mTexNo[param_0] = -1;
return true;
}
-#else
-bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* param_1, JUTPalette* param_2) {
- // NONMATCHING
-}
-#endif
/* 802EE1D4-802EE364 2E8B14 0190+00 1/0 0/0 0/0 .text
* insertTexture__12J2DTevBlock4FUlP10JUTTexture */
@@ -2494,30 +2211,6 @@ void J2DPEBlock::setGX() {
GXSetDither(mDither);
}
-/* 802F18A0-802F1934 2EC1E0 0094+00 5/5 0/0 0/0 .text __ct__14J2DIndTevStageFv */
-// should be inline
-#ifdef NONMATCHING
-J2DIndTevStage::J2DIndTevStage() {
- mFlags = J2DCalcIndTevStage(j2dDefaultIndTevStageInfo);
-}
-#else
-void __ct__14J2DIndTevStageFv() {
- // NONMATCHING
-}
-#endif
-
-/* 802F1934-802F1940 2EC274 000C+00 5/5 0/0 0/0 .text __ct__19J2DTevSwapModeTableFv */
-// Should be inline
-#ifdef NONMATCHING
-J2DTevSwapModeTable::J2DTevSwapModeTable() {
- field_0x0 = data_804561AC;
-}
-#else
-void __ct__19J2DTevSwapModeTableFv() {
- // NONMATCHING
-}
-#endif
-
/* 802F1940-802F19A8 2EC280 0068+00 5/5 1/1 0/0 .text __ct__11J2DTevStageFv */
J2DTevStage::J2DTevStage() {
setTevStageInfo(j2dDefaultTevStageInfo);
@@ -2533,26 +2226,6 @@ void J2DTevStage::setTevStageInfo(J2DTevStageInfo const& info) {
setTevAlphaOp(info.mAOp, info.mABias, info.mAScale, info.mAClamp, info.mAReg);
}
-/* 802F1B70-802F1B90 2EC4B0 0020+00 5/5 0/0 0/0 .text __ct__11J2DTevOrderFv */
-// Matching but should be inline
-#ifdef NONMATCHING
-J2DTevOrder::J2DTevOrder() {
- mTevOrderInfo = j2dDefaultTevOrderInfoNull;
-}
-#else
-// J2DTevOrder::J2DTevOrder() {
-void __ct__11J2DTevOrderFv() {
- // NONMATCHING
-}
-#endif
-
-/* 802F1B90-802F1B94 2EC4D0 0004+00 5/5 0/0 0/0 .text __ct__13J2DGXColorS10Fv */
-// Most likely inlined
-//J2DGXColorS10::J2DGXColorS10() {
-void __ct__13J2DGXColorS10Fv() {
- /* empty function */
-}
-
/* 802F1B94-802F1BA0 2EC4D4 000C+00 1/0 0/0 0/0 .text getType__15J2DIndBlockFullFv */
u32 J2DIndBlockFull::getType() {
return 'IBLF';
@@ -3650,4 +3323,4 @@ void J2DTevBlock::setUndeleteFlag(u8) {
/* 802F2ACC-802F2AD0 2ED40C 0004+00 1/0 0/0 0/0 .text setFontUndeleteFlag__11J2DTevBlockFv */
void J2DTevBlock::setFontUndeleteFlag() {
/* empty function */
-} \ No newline at end of file
+}
diff --git a/src/JSystem/J2DGraph/J2DMaterial.cpp b/src/JSystem/J2DGraph/J2DMaterial.cpp
index ac0fad4061..ea9712dff8 100644
--- a/src/JSystem/J2DGraph/J2DMaterial.cpp
+++ b/src/JSystem/J2DGraph/J2DMaterial.cpp
@@ -4,145 +4,12 @@
//
#include "JSystem/J2DGraph/J2DMaterial.h"
+#include "JSystem/J3DGraphBase/J3DStruct.h"
#include "JSystem/JKernel/JKRHeap.h"
+#include "JSystem/JUtility/JUTPalette.h"
+#include "JSystem/JUtility/JUTTexture.h"
#include "dol2asm.h"
-//
-// Forward References:
-//
-
-extern "C" void __ct__11J2DMaterialFv();
-extern "C" void __dt__11J2DMaterialFv();
-extern "C" void setGX__11J2DMaterialFv();
-extern "C" void createTevBlock__11J2DMaterialFib();
-extern "C" void createIndBlock__11J2DMaterialFib();
-extern "C" void __ct__Q211J2DMaterial21J2DMaterialAnmPointerFv();
-extern "C" void makeAnmPointer__11J2DMaterialFv();
-extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor();
-extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern();
-extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey();
-extern "C" void animation__11J2DMaterialFv();
-extern "C" void __dt__13J2DColorBlockFv();
-extern "C" void __dt__11J2DIndBlockFv();
-extern "C" void __dt__11J2DTevBlockFv();
-extern "C" void setGX__11J2DIndBlockFv();
-extern "C" void setGX__11J2DTevBlockFv();
-extern "C" void setTevKColor__11J2DTevBlockFUlQ28JUtility6TColor();
-extern "C" void setTevColor__11J2DTevBlockFUl13J2DGXColorS10();
-extern "C" void setTexNo__11J2DTevBlockFUlUs();
-extern "C" void setGX__15J2DIndBlockNullFv();
-extern "C" void getType__15J2DIndBlockNullFv();
-extern "C" void __dt__15J2DIndBlockNullFv();
-extern "C" void initialize__11J2DIndBlockFv();
-extern "C" void setIndTexStageNum__11J2DIndBlockFUc();
-extern "C" void setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder();
-extern "C" void setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx();
-extern "C" void setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale();
-extern "C" void __ct__11J2DTexCoordFv();
-extern "C" void __ct__12J2DColorChanFv();
-extern "C" void __dt__19J2DIndTexCoordScaleFv();
-extern "C" void __ct__19J2DIndTexCoordScaleFv();
-extern "C" void __dt__12J2DIndTexMtxFv();
-extern "C" void __ct__12J2DIndTexMtxFv();
-extern "C" void __ct__14J2DIndTexOrderFv();
-extern "C" void getColor__11J2DAnmColorCFUsP8_GXColor();
-
-//
-// External References:
-//
-
-extern "C" void __ct__Q28JUtility6TColorFv();
-extern "C" void* __nw__FUl();
-extern "C" void* __nw__FUli();
-extern "C" void __dl__FPv();
-extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette7_GXTlut();
-extern "C" bool getIndTexCoordScale__11J2DIndBlockFUl();
-extern "C" bool getIndTexMtx__11J2DIndBlockFUl();
-extern "C" bool getIndTexOrder__11J2DIndBlockFUl();
-extern "C" bool getIndTexStageNum__11J2DIndBlockCFv();
-extern "C" void initialize__13J2DColorBlockFv();
-extern "C" void setGX__13J2DColorBlockFv();
-extern "C" void initialize__14J2DTexGenBlockFv();
-extern "C" void setGX__14J2DTexGenBlockFv();
-extern "C" void __dt__14J2DTexGenBlockFv();
-extern "C" void setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx();
-extern "C" void getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx();
-extern "C" void __ct__12J2DTevBlock1Fv();
-extern "C" void __ct__12J2DTevBlock2Fv();
-extern "C" void __ct__12J2DTevBlock4Fv();
-extern "C" void __ct__12J2DTevBlock8Fv();
-extern "C" void __ct__13J2DTevBlock16Fv();
-extern "C" void initialize__10J2DPEBlockFv();
-extern "C" void setGX__10J2DPEBlockFv();
-extern "C" void calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo();
-extern "C" void getTexNo__16J2DAnmTexPatternCFUsPUs();
-extern "C" void getResTIMG__16J2DAnmTexPatternCFUs();
-extern "C" void getPalette__16J2DAnmTexPatternCFUs();
-extern "C" void getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10();
-extern "C" void getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor();
-extern "C" void __construct_array();
-extern "C" void _savegpr_26();
-extern "C" void _restgpr_26();
-extern "C" extern void* __vt__15J2DIndBlockFull[14];
-extern "C" extern void* __vt__11J2DTevBlock[47];
-extern "C" extern void* __vt__14J2DTexGenBlock[3 + 1 /* padding */];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 803CCA08-803CCA40 029B28 0038+00 2/2 0/0 0/0 .data __vt__15J2DIndBlockNull */
-SECTION_DATA extern void* __vt__15J2DIndBlockNull[14] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__11J2DIndBlockFv,
- (void*)setGX__15J2DIndBlockNullFv,
- (void*)getType__15J2DIndBlockNullFv,
- (void*)setIndTexStageNum__11J2DIndBlockFUc,
- (void*)getIndTexStageNum__11J2DIndBlockCFv,
- (void*)setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder,
- (void*)getIndTexOrder__11J2DIndBlockFUl,
- (void*)setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx,
- (void*)getIndTexMtx__11J2DIndBlockFUl,
- (void*)setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale,
- (void*)getIndTexCoordScale__11J2DIndBlockFUl,
- (void*)__dt__15J2DIndBlockNullFv,
-};
-
-/* 803CCA40-803CCA78 029B60 0038+00 3/3 1/1 0/0 .data __vt__11J2DIndBlock */
-SECTION_DATA extern void* __vt__11J2DIndBlock[14] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)initialize__11J2DIndBlockFv,
- (void*)setGX__11J2DIndBlockFv,
- (void*)NULL,
- (void*)setIndTexStageNum__11J2DIndBlockFUc,
- (void*)getIndTexStageNum__11J2DIndBlockCFv,
- (void*)setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder,
- (void*)getIndTexOrder__11J2DIndBlockFUl,
- (void*)setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx,
- (void*)getIndTexMtx__11J2DIndBlockFUl,
- (void*)setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale,
- (void*)getIndTexCoordScale__11J2DIndBlockFUl,
- (void*)__dt__11J2DIndBlockFv,
-};
-
-/* 803CCA78-803CCA84 029B98 000C+00 2/2 0/0 0/0 .data __vt__11J2DMaterial */
-SECTION_DATA extern void* __vt__11J2DMaterial[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__11J2DMaterialFv,
-};
-
-/* 803CCA84-803CCA90 029BA4 000C+00 3/3 0/0 0/0 .data __vt__13J2DColorBlock */
-SECTION_DATA extern void* __vt__13J2DColorBlock[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__13J2DColorBlockFv,
-};
-
/* 802EA1AC-802EA2CC 2E4AEC 0120+00 0/0 1/1 0/0 .text __ct__11J2DMaterialFv */
J2DMaterial::J2DMaterial() {
field_0x4 = 0;
@@ -154,10 +21,10 @@ J2DMaterial::J2DMaterial() {
mVisible = true;
}
-/* 802EA2CC-802EA38C 2E4C0C 00C0+00 1/0 2/2 0/0 .text __dt__11J2DMaterialFv */
-extern "C" void __dt__11J2DMaterialFv() {
- // asm J2DMaterial::~J2DMaterial() {
- // NONMATCHING
+J2DMaterial::~J2DMaterial() {
+ delete mTevBlock;
+ delete mIndBlock;
+ delete mAnmPointer;
}
/* 802EA38C-802EA410 2E4CCC 0084+00 0/0 8/8 0/0 .text setGX__11J2DMaterialFv */
@@ -235,26 +102,26 @@ J2DIndBlock* J2DMaterial::createIndBlock(int block_type, bool noAlign) {
/* 802EA79C-802EA84C 2E50DC 00B0+00 1/1 0/0 0/0 .text
* __ct__Q211J2DMaterial21J2DMaterialAnmPointerFv */
J2DMaterial::J2DMaterialAnmPointer::J2DMaterialAnmPointer() {
- field_0x0 = NULL;
- field_0x10 = -1;
- field_0x4 = 0;
+ mColorAnm = NULL;
+ mColorIds = -1;
+ mSRTAnm = NULL;
for (int i = 0; i < 8; i++) {
- field_0x12[i] = -1;
+ mSRTIds[i] = -1;
}
- field_0x8 = 0;
+ mPatternAnm = NULL;
for (int i = 0; i < 8; i++) {
- field_0x22[i] = -1;
+ mPatternIds[i] = -1;
}
- field_0xc = 0;
+ mTevAnm = NULL;
for (int i = 0; i < 4; i++) {
- field_0x32[i] = -1;
+ mTevCRegIds[i] = -1;
}
for (int i = 0; i < 4; i++) {
- field_0x3a[i] = -1;
+ mTevKRegIds[i] = -1;
}
}
@@ -270,8 +137,8 @@ void J2DMaterial::makeAnmPointer() {
void J2DMaterial::setAnimation(J2DAnmColor* anm) {
if (anm != NULL || mAnmPointer != NULL) {
makeAnmPointer();
- mAnmPointer->field_0x0 = anm;
- mAnmPointer->field_0x10 = -1;
+ mAnmPointer->mColorAnm = anm;
+ mAnmPointer->mColorIds = -1;
if (anm != NULL) {
u16 matNum = anm->getUpdateMaterialNum();
@@ -281,7 +148,7 @@ void J2DMaterial::setAnimation(J2DAnmColor* anm) {
u16 matID = anm->getUpdateMaterialID(i);
if (index == matID) {
- mAnmPointer->field_0x10 = i;
+ mAnmPointer->mColorIds = i;
return;
}
}
@@ -294,10 +161,10 @@ void J2DMaterial::setAnimation(J2DAnmColor* anm) {
void J2DMaterial::setAnimation(J2DAnmTextureSRTKey* anm) {
if (anm != NULL || mAnmPointer != NULL) {
makeAnmPointer();
- mAnmPointer->field_0x4 = anm;
+ mAnmPointer->mSRTAnm = anm;
for (int i = 0; i < 8; i++) {
- mAnmPointer->field_0x12[i] = -1;
+ mAnmPointer->mSRTIds[i] = -1;
}
if (anm != NULL) {
@@ -309,7 +176,7 @@ void J2DMaterial::setAnimation(J2DAnmTextureSRTKey* anm) {
if (index == matID) {
u8 mtxID = anm->getUpdateTexMtxID(i);
- mAnmPointer->field_0x12[mtxID] = i;
+ mAnmPointer->mSRTIds[mtxID] = i;
}
}
}
@@ -321,10 +188,10 @@ void J2DMaterial::setAnimation(J2DAnmTextureSRTKey* anm) {
void J2DMaterial::setAnimation(J2DAnmTexPattern* anm) {
if (anm != NULL || mAnmPointer != NULL) {
makeAnmPointer();
- mAnmPointer->field_0x8 = anm;
+ mAnmPointer->mPatternAnm = anm;
for (int i = 0; i < 8; i++) {
- mAnmPointer->field_0x22[i] = -1;
+ mAnmPointer->mPatternIds[i] = -1;
}
if (anm != NULL) {
@@ -336,7 +203,7 @@ void J2DMaterial::setAnimation(J2DAnmTexPattern* anm) {
u16 matID = anm->getUpdateMaterialID(i);
if (index == matID) {
- mAnmPointer->field_0x22[anmTbl[i].mTexNo] = i;
+ mAnmPointer->mPatternIds[anmTbl[i].mTexNo] = i;
}
}
}
@@ -348,10 +215,10 @@ void J2DMaterial::setAnimation(J2DAnmTexPattern* anm) {
void J2DMaterial::setAnimation(J2DAnmTevRegKey* anm) {
if (anm != NULL || mAnmPointer != NULL) {
makeAnmPointer();
- mAnmPointer->field_0xc = anm;
+ mAnmPointer->mTevAnm = anm;
for (int i = 0; i < 4; i++) {
- mAnmPointer->field_0x32[i] = -1;
+ mAnmPointer->mTevCRegIds[i] = -1;
}
if (anm != NULL) {
@@ -363,13 +230,13 @@ void J2DMaterial::setAnimation(J2DAnmTevRegKey* anm) {
if (index == matID) {
J3DAnmCRegKeyTable* anmTbl = anm->getAnmCRegKeyTable();
- mAnmPointer->field_0x32[anmTbl[i].mColorId] = i;
+ mAnmPointer->mTevCRegIds[anmTbl[i].mColorId] = i;
}
}
}
for (int i = 0; i < 4; i++) {
- mAnmPointer->field_0x3a[i] = -1;
+ mAnmPointer->mTevKRegIds[i] = -1;
}
if (anm != NULL) {
@@ -381,161 +248,95 @@ void J2DMaterial::setAnimation(J2DAnmTevRegKey* anm) {
if (index == matID) {
J3DAnmKRegKeyTable* anmTbl = anm->getAnmKRegKeyTable();
- mAnmPointer->field_0x3a[anmTbl[i].mColorId] = i;
+ mAnmPointer->mTevKRegIds[anmTbl[i].mColorId] = i;
}
}
}
}
}
-/* ############################################################################################## */
-/* 804561B0-804561B4 0047B0 0004+00 1/1 0/0 0/0 .sdata2 @1943 */
-SECTION_SDATA2 static f32 lit_1943 = 360.0f;
-
-/* 804561B4-804561B8 0047B4 0004+00 1/1 0/0 0/0 .sdata2 @1944 */
-SECTION_SDATA2 static f32 lit_1944 = 65535.0f;
-
-/* 804561B8-804561C0 0047B8 0008+00 1/1 0/0 0/0 .sdata2 @1946 */
-SECTION_SDATA2 static f64 lit_1946 = 4503599627370496.0 /* cast u32 to float */;
-
/* 802EAC78-802EB0F4 2E55B8 047C+00 0/0 1/1 0/0 .text animation__11J2DMaterialFv */
void J2DMaterial::animation() {
- // NONMATCHING
-}
-
-/* 802EB0F4-802EB13C 2E5A34 0048+00 1/0 0/0 0/0 .text __dt__13J2DColorBlockFv */
-J2DColorBlock::~J2DColorBlock() {
- // NONMATCHING
-}
-
-/* 802EB13C-802EB184 2E5A7C 0048+00 1/0 0/0 0/0 .text __dt__11J2DIndBlockFv */
-// J2DIndBlock::~J2DIndBlock() {
-extern "C" void __dt__11J2DIndBlockFv() {
- // NONMATCHING
-}
-
-/* 802EB184-802EB1CC 2E5AC4 0048+00 0/0 1/0 0/0 .text __dt__11J2DTevBlockFv */
-// J2DTevBlock::~J2DTevBlock() {
-extern "C" void __dt__11J2DTevBlockFv() {
- // NONMATCHING
-}
-
-/* 802EB1CC-802EB1D0 2E5B0C 0004+00 1/0 0/0 0/0 .text setGX__11J2DIndBlockFv */
-void J2DIndBlock::setGX() {
- /* empty function */
-}
-
-/* 802EB1D0-802EB1D4 2E5B10 0004+00 0/0 1/0 0/0 .text setGX__11J2DTevBlockFv */
-void J2DTevBlock::setGX() {
- /* empty function */
-}
-
-/* 802EB1D4-802EB1D8 2E5B14 0004+00 0/0 1/0 0/0 .text
- * setTevKColor__11J2DTevBlockFUlQ28JUtility6TColor */
-void J2DTevBlock::setTevKColor(u32 param_0, JUtility::TColor param_1) {
- /* empty function */
-}
-
-/* 802EB1D8-802EB1DC 2E5B18 0004+00 0/0 1/0 0/0 .text setTevColor__11J2DTevBlockFUl13J2DGXColorS10
- */
-void J2DTevBlock::setTevColor(u32 param_0, J2DGXColorS10 param_1) {
- /* empty function */
-}
-
-/* 802EB1DC-802EB1E0 2E5B1C 0004+00 0/0 1/0 0/0 .text setTexNo__11J2DTevBlockFUlUs */
-void J2DTevBlock::setTexNo(u32 param_0, u16 param_1) {
- /* empty function */
-}
-
-/* 802EB1E0-802EB1E4 2E5B20 0004+00 1/0 0/0 0/0 .text setGX__15J2DIndBlockNullFv */
-extern "C" void setGX__15J2DIndBlockNullFv() {
- /* empty function */
-}
-
-/* 802EB1E4-802EB1F0 2E5B24 000C+00 1/0 0/0 0/0 .text getType__15J2DIndBlockNullFv */
-u32 J2DIndBlockNull::getType() {
- // NONMATCHING
-}
-
-/* 802EB1F0-802EB24C 2E5B30 005C+00 1/0 0/0 0/0 .text __dt__15J2DIndBlockNullFv */
-J2DIndBlockNull::~J2DIndBlockNull() {
- // NONMATCHING
-}
-
-/* 802EB24C-802EB250 2E5B8C 0004+00 2/0 0/0 0/0 .text initialize__11J2DIndBlockFv */
-extern "C" void initialize__11J2DIndBlockFv() {
- /* empty function */
-}
-
-/* 802EB250-802EB254 2E5B90 0004+00 2/0 0/0 0/0 .text setIndTexStageNum__11J2DIndBlockFUc
- */
-void J2DIndBlock::setIndTexStageNum(u8 param_0) {
- /* empty function */
-}
-
-/* 802EB254-802EB258 2E5B94 0004+00 2/0 0/0 0/0 .text
- * setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder */
-void J2DIndBlock::setIndTexOrder(u32 param_0, J2DIndTexOrder param_1) {
- /* empty function */
-}
-
-/* 802EB258-802EB25C 2E5B98 0004+00 2/0 0/0 0/0 .text setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx
- */
-void J2DIndBlock::setIndTexMtx(u32 param_0, J2DIndTexMtx param_1) {
- /* empty function */
-}
-
-/* 802EB25C-802EB260 2E5B9C 0004+00 2/0 0/0 0/0 .text
- * setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale */
-void J2DIndBlock::setIndTexCoordScale(u32 param_0, J2DIndTexCoordScale param_1) {
- /* empty function */
-}
-
-/* 802EB260-802EB280 2E5BA0 0020+00 1/1 0/0 0/0 .text __ct__11J2DTexCoordFv */
-//J2DTexCoord::J2DTexCoord() {
-void __ct__11J2DTexCoordFv() {
- // NONMATCHING
-}
-
-/* 802EB280-802EB290 2E5BC0 0010+00 1/1 0/0 0/0 .text __ct__12J2DColorChanFv */
-void __ct__12J2DColorChanFv() {
-//asm J2DColorChan::J2DColorChan() {
- // NONMATCHING
-}
-
-/* 802EB290-802EB2CC 2E5BD0 003C+00 1/1 1/1 0/0 .text __dt__19J2DIndTexCoordScaleFv */
-// Most likely inline
-// J2DIndTexCoordScale::~J2DIndTexCoordScale() {
-void __dt__19J2DIndTexCoordScaleFv() {
- // NONMATCHING
-}
-
-/* 802EB2CC-802EB2E4 2E5C0C 0018+00 1/1 0/0 0/0 .text __ct__19J2DIndTexCoordScaleFv */
-//J2DIndTexCoordScale::J2DIndTexCoordScale() {
-void __ct__19J2DIndTexCoordScaleFv() {
- // NONMATCHING
-}
-
-/* 802EB2E4-802EB320 2E5C24 003C+00 1/1 1/1 0/0 .text __dt__12J2DIndTexMtxFv */
-void __dt__12J2DIndTexMtxFv() {
-//asm J2DIndTexMtx::~J2DIndTexMtx() {
- // NONMATCHING
-}
-
-/* 802EB320-802EB378 2E5C60 0058+00 1/1 0/0 0/0 .text __ct__12J2DIndTexMtxFv */
-//J2DIndTexMtx::J2DIndTexMtx() {
-void __ct__12J2DIndTexMtxFv() {
- // NONMATCHING
-}
-
-/* 802EB378-802EB390 2E5CB8 0018+00 1/1 0/0 0/0 .text __ct__14J2DIndTexOrderFv */
-// Most likely inline
-//J2DIndTexOrder::J2DIndTexOrder() {
-void __ct__14J2DIndTexOrderFv() {
- // NONMATCHING
+ if (!mAnmPointer) {
+ return;
+ }
+
+ if (mAnmPointer->mColorAnm && mAnmPointer->mColorIds != 0xFFFF) {
+ GXColor color;
+ mAnmPointer->mColorAnm->getColor(mAnmPointer->mColorIds, &color);
+ getColorBlock()->setMatColor(0, color);
+ }
+
+ if (mAnmPointer->mSRTAnm) {
+ for (u8 i = 0; i < 8; i++) {
+ if (mAnmPointer->mSRTIds[i] != 0xFFFF) {
+ J3DTextureSRTInfo info3D;
+ mAnmPointer->mSRTAnm->getTransform(mAnmPointer->mSRTIds[i], &info3D);
+ J2DTextureSRTInfo info2D;
+ info2D.mScaleX = info3D.mScaleX;
+ info2D.mScaleY = info3D.mScaleY;
+ info2D.mRotationDeg = (360.0f * f32((u16)info3D.mRotation)) / 65535.0f;
+ info2D.mTranslationX = info3D.mTranslationX;
+ info2D.mTranslationY = info3D.mTranslationY;
+
+ J2DTexMtx texMtx;
+ getTexGenBlock()->getTexMtx(i, texMtx);
+
+ texMtx.getTexMtxInfo().mTexSRTInfo = info2D;
+ getTexGenBlock()->setTexMtx(i, texMtx);
+ getTexGenBlock()->getTexCoord(i).setTexGenMtx(i * 3 + 30);
+ }
+ }
+ }
+
+ if (getTevBlock() && mAnmPointer->mPatternAnm) {
+ for (u8 i = 0; i < 8; i++) {
+ if (mAnmPointer->mPatternIds[i] != 0xFFFF) {
+ JUTTexture* texture = getTevBlock()->getTexture(i);
+ if (!texture) {
+ continue;
+ }
+
+ u16 idx = mAnmPointer->mPatternIds[i];
+ u16 texNo;
+ mAnmPointer->mPatternAnm->getTexNo(idx, &texNo);
+ getTevBlock()->setTexNo(i, texNo);
+
+ ResTIMG* img = mAnmPointer->mPatternAnm->getResTIMG(idx);
+ if (texture->getTexInfo() != img) {
+ JUTPalette* palette = NULL;
+ u32 tlut = GX_TLUT0;
+ if (img->indexTexture != 0) {
+ palette = mAnmPointer->mPatternAnm->getPalette(idx);
+ if (palette->getNumColors() > 256) {
+ tlut = i % 4 + 16;
+ } else {
+ tlut = i;
+ }
+ }
+
+ texture->storeTIMG(img, palette, (GXTlut)tlut);
+ }
+ }
+ }
+ }
+
+ if (getTevBlock() && mAnmPointer->mTevAnm) {
+ for (u8 i = 0; i < 4; i++) {
+ if (mAnmPointer->mTevCRegIds[i] != 0xFFFF) {
+ J2DGXColorS10 color;
+ mAnmPointer->mTevAnm->getTevColorReg(mAnmPointer->mTevCRegIds[i], &color);
+ getTevBlock()->setTevColor(i, color);
+ }
+ }
+
+ for (u8 i = 0; i < 4; i++) {
+ u16 idx = mAnmPointer->mTevKRegIds[i];
+ if (idx != 0xFFFF) {
+ JUtility::TColor konstColor;
+ mAnmPointer->mTevAnm->getTevKonstReg(idx, &konstColor);
+ getTevBlock()->setTevKColor(i, konstColor);
+ }
+ }
+ }
}
-
-/* 802EB390-802EB394 2E5CD0 0004+00 0/0 1/0 0/0 .text getColor__11J2DAnmColorCFUsP8_GXColor */
-void J2DAnmColor::getColor(u16 param_0, _GXColor* param_1) const {
- /* empty function */
-} \ No newline at end of file
diff --git a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp
index 0f66624c1c..ba95fb632c 100644
--- a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp
+++ b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp
@@ -5,80 +5,13 @@
#include "JSystem/J2DGraph/J2DMaterialFactory.h"
#include "JSystem/J2DGraph/J2DMaterial.h"
+#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JSupport/JSupport.h"
+#include "JSystem/JUtility/JUTResource.h"
#include "string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-//
-// Forward References:
-//
-
-extern "C" void __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock();
-extern "C" void countStages__18J2DMaterialFactoryCFi();
-extern "C" void
-create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive();
-extern "C" void newMatColor__18J2DMaterialFactoryCFii();
-extern "C" void newColorChanNum__18J2DMaterialFactoryCFi();
-extern "C" void newColorChan__18J2DMaterialFactoryCFii();
-extern "C" void newTexGenNum__18J2DMaterialFactoryCFi();
-extern "C" void newTexCoord__18J2DMaterialFactoryCFii();
-extern "C" void newTexMtx__18J2DMaterialFactoryCFii();
-extern "C" void newCullMode__18J2DMaterialFactoryCFi();
-extern "C" void newTexNo__18J2DMaterialFactoryCFii();
-extern "C" void newFontNo__18J2DMaterialFactoryCFi();
-extern "C" void newTevOrder__18J2DMaterialFactoryCFii();
-extern "C" void newTevColor__18J2DMaterialFactoryCFii();
-extern "C" void newTevKColor__18J2DMaterialFactoryCFii();
-extern "C" void newTevStageNum__18J2DMaterialFactoryCFi();
-extern "C" void newTevStage__18J2DMaterialFactoryCFii();
-extern "C" void newTevSwapModeTable__18J2DMaterialFactoryCFii();
-extern "C" void newIndTexStageNum__18J2DMaterialFactoryCFi();
-extern "C" void newIndTexOrder__18J2DMaterialFactoryCFii();
-extern "C" void newIndTexMtx__18J2DMaterialFactoryCFii();
-extern "C" void newIndTevStage__18J2DMaterialFactoryCFii();
-extern "C" void newIndTexCoordScale__18J2DMaterialFactoryCFii();
-extern "C" void newAlphaComp__18J2DMaterialFactoryCFi();
-extern "C" void newBlend__18J2DMaterialFactoryCFi();
-extern "C" void newDither__18J2DMaterialFactoryCFi();
-extern "C" void __ct__11J2DTevStageFRC15J2DTevStageInfo();
-extern "C" void func_802F4170(void* _this, void const*, void const*);
-extern "C" void func_802F4188(void* _this, void const*, void const*);
-extern "C" void func_802F41A0(void* _this, void const*, void const*);
-extern "C" void func_802F41B8(void* _this, void const*, void const*);
-extern "C" void func_802F41D0(void* _this, void const*, void const*);
-extern "C" void func_802F41E8(void* _this, void const*, void const*);
-extern "C" void func_802F4200(void* _this, void const*, void const*);
-extern "C" void func_802F4218(void* _this, void const*, void const*);
-extern "C" void func_802F4230(void* _this, void const*, void const*);
-extern "C" void func_802F4248(void* _this, void const*, void const*);
-extern "C" u8* func_802F4260(void const*, void const*);
-extern "C" void func_802F4278(void* _this, void const*, void const*);
-extern "C" void func_802F4290(void* _this, void const*, void const*);
-extern "C" void func_802F42A8(void* _this, void const*, void const*);
-extern "C" void func_802F42C0(void* _this, void const*, void const*);
-extern "C" void func_802F42D8(void* _this, void const*, void const*);
-
-//
-// External References:
-//
-
-extern "C" void* __nw__FUl();
-extern "C" void getResource__15JUTResReferenceFPCvUlP10JKRArchive();
-extern "C" void calc__9J2DTexMtxFv();
-extern "C" void createTevBlock__11J2DMaterialFib();
-extern "C" void createIndBlock__11J2DMaterialFib();
-extern "C" void __ct__11J2DTevStageFv();
-extern "C" void setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo();
-extern "C" void get__13J2DDataManageFPCc();
-extern "C" void getResReference__15J2DResReferenceCFUs();
-extern "C" void getName__15J2DResReferenceCFUs();
-extern "C" void _savegpr_19();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_19();
-extern "C" void _restgpr_29();
-extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */];
-
/* 802F2AD0-802F2C94 2ED410 01C4+00 0/0 1/1 0/0 .text
* __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock */
J2DMaterialFactory::J2DMaterialFactory(J2DMaterialBlock const& param_0) {
@@ -137,8 +70,7 @@ u32 J2DMaterialFactory::countStages(int param_0) const {
/* 802F2D1C-802F362C 2ED65C 0910+00 0/0 1/1 0/0 .text
* create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive
*/
-// Stack issues
-#ifdef NONMATCHING
+// NONMATCHING - Stack issues
J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 param_2,
J2DResReference* param_3, J2DResReference* param_4,
JKRArchive* param_5) const {
@@ -261,15 +193,6 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par
}
return param_0;
}
-#else
-J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int param_1, u32 param_2,
- J2DResReference* param_3, J2DResReference* param_4,
- JKRArchive* param_5) const {
- // NONMATCHING
-}
-#endif
-
-/* ############################################################################################## */
/* 802F362C-802F36CC 2EDF6C 00A0+00 1/1 0/0 0/0 .text newMatColor__18J2DMaterialFactoryCFii */
JUtility::TColor J2DMaterialFactory::newMatColor(int param_0, int param_1) const {
@@ -368,26 +291,17 @@ J2DTevOrder J2DMaterialFactory::newTevOrder(int param_0, int param_1) const {
return J2DTevOrder();
}
-/* ############################################################################################## */
-/* 80456BB0-80456BB4 000050 0004+00 1/1 0/0 0/0 .sbss2 @2018 */
-SECTION_SBSS2 static GXColorS10 lit_2018;
-
/* 802F3A1C-802F3AB4 2EE35C 0098+00 1/1 0/0 0/0 .text newTevColor__18J2DMaterialFactoryCFii */
-// J2DGXColorS10 init issues
-#ifdef NONMATCHING
+// NONMATCHING - J2DGXColorS10 init issues
J2DGXColorS10 J2DMaterialFactory::newTevColor(int param_0, int param_1) const {
- J2DGXColorS10 rv = J2DGXColorS10(GXColorS10());
+ GXColorS10 color = {};
+ J2DGXColorS10 rv = J2DGXColorS10(color);
J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]];
if (iVar2->field_0x92[param_1] != 0xffff) {
return field_0x38[iVar2->field_0x92[param_1]];
}
return rv;
}
-#else
-J2DGXColorS10 J2DMaterialFactory::newTevColor(int param_0, int param_1) const {
- // NONMATCHING
-}
-#endif
/* ############################################################################################## */
@@ -519,4 +433,4 @@ u8 J2DMaterialFactory::newDither(int param_0) const {
J2DTevStage::J2DTevStage(J2DTevStageInfo const& param_0) {
setTevStageInfo(param_0);
setTevSwapModeInfo(j2dDefaultTevSwapMode);
-} \ No newline at end of file
+}
diff --git a/src/JSystem/J2DGraph/J2DPictureEx.cpp b/src/JSystem/J2DGraph/J2DPictureEx.cpp
index 3a3266fd75..c60dd7ba84 100644
--- a/src/JSystem/J2DGraph/J2DPictureEx.cpp
+++ b/src/JSystem/J2DGraph/J2DPictureEx.cpp
@@ -6,158 +6,11 @@
#include "JSystem/J2DGraph/J2DPictureEx.h"
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DScreen.h"
+#include "JSystem/JSupport/JSURandomInputStream.h"
+#include "JSystem/JUtility/JUTTexture.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-//
-// Forward References:
-//
-
-extern "C" void initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT();
-extern "C" void __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
-extern "C" void __dt__12J2DPictureExFv();
-extern "C" void prepareTexture__12J2DPictureExFUc();
-extern "C" void drawSelf__12J2DPictureExFffPA3_A4_f();
-extern "C" void drawFullSet__12J2DPictureExFffffPA3_A4_f();
-extern "C" void drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f();
-extern "C" void append__12J2DPictureExFPC7ResTIMGP10JUTPalettef();
-extern "C" void append__12J2DPictureExFPCcP10JUTPalettef();
-extern "C" void append__12J2DPictureExFP10JUTTexturef();
-extern "C" void insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf();
-extern "C" void insert__12J2DPictureExFPCcP10JUTPaletteUcf();
-extern "C" void insert__12J2DPictureExFP10JUTTextureUcf();
-extern "C" void insertCommon__12J2DPictureExFUcf();
-extern "C" void isInsert__12J2DPictureExCFUc();
-extern "C" void remove__12J2DPictureExFUc();
-extern "C" void remove__12J2DPictureExFv();
-extern "C" void remove__12J2DPictureExFP10JUTTexture();
-extern "C" void isRemove__12J2DPictureExCFUc();
-extern "C" void draw__12J2DPictureExFffUcbbb();
-extern "C" void draw__12J2DPictureExFffffbbb();
-extern "C" void drawOut__12J2DPictureExFffffff();
-extern "C" void func_80304EF0();
-extern "C" void load__12J2DPictureExF11_GXTexMapIDUc();
-extern "C" void setTevOrder__12J2DPictureExFUcUcb();
-extern "C" void setTevStage__12J2DPictureExFUcUcb();
-extern "C" void setStage__12J2DPictureExFP11J2DTevStageQ212J2DPictureEx10stage_enum();
-extern "C" void setTevKColor__12J2DPictureExFUc();
-extern "C" void setTevKColorSel__12J2DPictureExFUc();
-extern "C" void setTevKAlphaSel__12J2DPictureExFUc();
-extern "C" void shiftSetBlendRatio__12J2DPictureExFUcfbb();
-extern "C" void setBlendColorRatio__12J2DPictureExFff();
-extern "C" void setBlendAlphaRatio__12J2DPictureExFff();
-extern "C" void changeTexture__12J2DPictureExFPC7ResTIMGUc();
-extern "C" void changeTexture__12J2DPictureExFPCcUc();
-extern "C" void changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette();
-extern "C" void changeTexture__12J2DPictureExFPCcUcP10JUTPalette();
-extern "C" void getTexture__12J2DPictureExCFUc();
-extern "C" void getTextureCount__12J2DPictureExCFv();
-extern "C" void setBlack__12J2DPictureExFQ28JUtility6TColor();
-extern "C" void setWhite__12J2DPictureExFQ28JUtility6TColor();
-extern "C" void setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor();
-extern "C" void getBlackWhite__12J2DPictureExCFPQ28JUtility6TColorPQ28JUtility6TColor();
-extern "C" void isSetBlackWhite__12J2DPictureExCFQ28JUtility6TColorQ28JUtility6TColor();
-extern "C" void getBlack__12J2DPictureExCFv();
-extern "C" void getWhite__12J2DPictureExCFv();
-extern "C" void setAlpha__12J2DPictureExFUc();
-extern "C" void setCullBack__12J2DPictureExF11_GXCullMode();
-extern "C" void rewriteAlpha__12J2DPictureExFv();
-extern "C" void isUsed__12J2DPictureExFPC7ResTIMG();
-extern "C" void setAnimation__12J2DPictureExFP11J2DAnmColor();
-extern "C" void setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__12J2DPictureExFP16J2DAnmTexPattern();
-extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTevRegKey();
-extern "C" void setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull();
-extern "C" void setAnimation__12J2DPictureExFP14J2DAnmVtxColor();
-extern "C" void animationPane__12J2DPictureExFPC15J2DAnmTransform();
-extern "C" void getUsableTlut__12J2DPictureExFUc();
-extern "C" void append__12J2DPictureExFPC7ResTIMGf();
-extern "C" void append__12J2DPictureExFPCcf();
-extern "C" void prepend__12J2DPictureExFP10JUTTexturef();
-extern "C" void prepend__12J2DPictureExFPCcP10JUTPalettef();
-extern "C" void prepend__12J2DPictureExFPCcf();
-extern "C" void prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef();
-extern "C" void prepend__12J2DPictureExFPC7ResTIMGf();
-extern "C" void insert__12J2DPictureExFPCcUcf();
-extern "C" void insert__12J2DPictureExFPC7ResTIMGUcf();
-extern "C" void draw__12J2DPictureExFffbbb();
-extern "C" void drawOut__12J2DPictureExFffffffff();
-extern "C" void load__12J2DPictureExFUc();
-extern "C" void setCullBack__12J2DPictureExFb();
-extern "C" void isUsed__12J2DPictureExFPC7ResFONT();
-extern "C" void setAnimation__12J2DPictureExFP10J2DAnmBase();
-
-//
-// External References:
-//
-
-extern "C" void setBlendRatio__10J2DPictureFff();
-extern "C" void calcMtx__7J2DPaneFv();
-extern "C" void makeMatrix__7J2DPaneFff();
-extern "C" void getMaterial__12J2DPictureExCFv();
-extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTransform();
-extern "C" void __dl__FPv();
-extern "C" void read__14JSUInputStreamFPvl();
-extern "C" void peek__20JSURandomInputStreamFPvl();
-extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom();
-extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGUc();
-extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette7_GXTlut();
-extern "C" void setGX__11J2DMaterialFv();
-extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor();
-extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern();
-extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey();
-extern "C" void setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx();
-extern "C" void move__7J2DPaneFff();
-extern "C" void add__7J2DPaneFff();
-extern "C" void resize__7J2DPaneFff();
-extern "C" void search__7J2DPaneFUx();
-extern "C" void searchUserInfo__7J2DPaneFUx();
-extern "C" void isUsed__7J2DPaneFPC7ResTIMG();
-extern "C" void isUsed__7J2DPaneFPC7ResFONT();
-extern "C" void makeMatrix__7J2DPaneFffff();
-extern "C" void setCullBack__7J2DPaneF11_GXCullMode();
-extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream();
-extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase();
-extern "C" void clearAnmTransform__7J2DPaneFv();
-extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform();
-extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull();
-extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor();
-extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform();
-extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull();
-extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor();
-extern "C" void setConnectParent__7J2DPaneFb();
-extern "C" void update__7J2DPaneFv();
-extern "C" void getNameResource__9J2DScreenFPCc();
-extern "C" void __ct__10J2DPictureFv();
-extern "C" void __dt__10J2DPictureFv();
-extern "C" void drawSelf__10J2DPictureFff();
-extern "C" void getTlutID__10J2DPictureFPC7ResTIMGUc();
-extern "C" void func_802FF204(void* _this);
-extern "C" s32 getTypeID__10J2DPictureCFv();
-extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc();
-extern "C" void __construct_array();
-extern "C" void _savegpr_23();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_23();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 804562C0-804562C4 0048C0 0004+00 7/7 0/0 0/0 .sdata2 @1517 */
-SECTION_SDATA2 static f32 lit_1517 = 1.0f;
-
/* 80303640-803036EC 2FDF80 00AC+00 1/0 0/0 0/0 .text
* initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT */
void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) {
@@ -169,101 +22,8 @@ void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) {
}
}
-
-/* ############################################################################################## */
-/* 803CD4B8-803CD608 02A5D8 014C+04 2/2 0/0 0/0 .data __vt__12J2DPictureEx */
-SECTION_DATA extern void* __vt__12J2DPictureEx[83 + 1 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12J2DPictureExFv,
- (void*)getTypeID__10J2DPictureCFv,
- (void*)move__7J2DPaneFff,
- (void*)add__7J2DPaneFff,
- (void*)resize__7J2DPaneFff,
- (void*)setCullBack__12J2DPictureExFb,
- (void*)setCullBack__12J2DPictureExF11_GXCullMode,
- (void*)setAlpha__12J2DPictureExFUc,
- (void*)setConnectParent__7J2DPaneFb,
- (void*)calcMtx__7J2DPaneFv,
- (void*)update__7J2DPaneFv,
- (void*)drawSelf__10J2DPictureFff,
- (void*)drawSelf__12J2DPictureExFffPA3_A4_f,
- (void*)search__7J2DPaneFUx,
- (void*)searchUserInfo__7J2DPaneFUx,
- (void*)makeMatrix__7J2DPaneFff,
- (void*)makeMatrix__7J2DPaneFffff,
- (void*)isUsed__12J2DPictureExFPC7ResTIMG,
- (void*)isUsed__12J2DPictureExFPC7ResFONT,
- (void*)clearAnmTransform__7J2DPaneFv,
- (void*)rewriteAlpha__12J2DPictureExFv,
- (void*)setAnimation__12J2DPictureExFP10J2DAnmBase,
- (void*)setAnimation__12J2DPictureExFP15J2DAnmTransform,
- (void*)setAnimation__12J2DPictureExFP11J2DAnmColor,
- (void*)setAnimation__12J2DPictureExFP16J2DAnmTexPattern,
- (void*)setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey,
- (void*)setAnimation__12J2DPictureExFP15J2DAnmTevRegKey,
- (void*)setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull,
- (void*)setAnimation__12J2DPictureExFP14J2DAnmVtxColor,
- (void*)animationTransform__7J2DPaneFPC15J2DAnmTransform,
- (void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull,
- (void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull,
- (void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor,
- (void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor,
- (void*)animationPane__12J2DPictureExFPC15J2DAnmTransform,
- (void*)initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT,
- (void*)prepareTexture__12J2DPictureExFUc,
- (void*)append__12J2DPictureExFPC7ResTIMGf,
- (void*)append__12J2DPictureExFPC7ResTIMGP10JUTPalettef,
- (void*)append__12J2DPictureExFPCcf,
- (void*)append__12J2DPictureExFPCcP10JUTPalettef,
- (void*)append__12J2DPictureExFP10JUTTexturef,
- (void*)prepend__12J2DPictureExFPC7ResTIMGf,
- (void*)prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef,
- (void*)prepend__12J2DPictureExFPCcf,
- (void*)prepend__12J2DPictureExFPCcP10JUTPalettef,
- (void*)prepend__12J2DPictureExFP10JUTTexturef,
- (void*)insert__12J2DPictureExFPC7ResTIMGUcf,
- (void*)insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf,
- (void*)insert__12J2DPictureExFPCcUcf,
- (void*)insert__12J2DPictureExFPCcP10JUTPaletteUcf,
- (void*)insert__12J2DPictureExFP10JUTTextureUcf,
- (void*)remove__12J2DPictureExFUc,
- (void*)remove__12J2DPictureExFv,
- (void*)remove__12J2DPictureExFP10JUTTexture,
- (void*)draw__12J2DPictureExFffbbb,
- (void*)draw__12J2DPictureExFffUcbbb,
- (void*)draw__12J2DPictureExFffffbbb,
- (void*)drawOut__12J2DPictureExFffffff,
- (void*)drawOut__12J2DPictureExFffffffff,
- (void*)func_80304EF0,
- (void*)load__12J2DPictureExF11_GXTexMapIDUc,
- (void*)load__12J2DPictureExFUc,
- (void*)setBlendRatio__10J2DPictureFff,
- (void*)setBlendColorRatio__12J2DPictureExFff,
- (void*)setBlendAlphaRatio__12J2DPictureExFff,
- (void*)changeTexture__12J2DPictureExFPC7ResTIMGUc,
- (void*)changeTexture__12J2DPictureExFPCcUc,
- (void*)changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette,
- (void*)changeTexture__12J2DPictureExFPCcUcP10JUTPalette,
- (void*)getTexture__12J2DPictureExCFUc,
- (void*)getTextureCount__12J2DPictureExCFv,
- (void*)setBlack__12J2DPictureExFQ28JUtility6TColor,
- (void*)setWhite__12J2DPictureExFQ28JUtility6TColor,
- (void*)setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor,
- (void*)getBlack__12J2DPictureExCFv,
- (void*)getWhite__12J2DPictureExCFv,
- (void*)getMaterial__12J2DPictureExCFv,
- (void*)drawFullSet__12J2DPictureExFffffPA3_A4_f,
- (void*)drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f,
- (void*)getUsableTlut__12J2DPictureExFUc,
- /* padding */
- NULL,
-};
-
/* 803036EC-8030393C 2FE02C 0250+00 0/0 1/1 0/0 .text
* __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial */
-// Issue with TColor
-#ifdef NONMATCHING
J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2,
J2DMaterial* param_3) {
field_0x194 = 0;
@@ -282,7 +42,6 @@ J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32
field_0x154 = aJStack_60.mMaterialNum;
field_0x156 = aJStack_60.field_0x4;
- // Issues with this loop
for (int i = 0; i < 4; i++) {
field_0x158[i] = aJStack_60.field_0x8[i];
field_0x10a[i] = aJStack_60.field_0x10[i];
@@ -307,27 +66,13 @@ J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32
field_0x178[iVar1] = 1.0f;
}
}
-#else
-J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2,
- J2DMaterial* param_3) {
- // NONMATCHING
-}
-#endif
/* 8030393C-803039CC 2FE27C 0090+00 1/0 0/0 0/0 .text __dt__12J2DPictureExFv */
-// Needs ctor matched
-#ifdef NONMATCHING
J2DPictureEx::~J2DPictureEx() {
if (field_0x190) {
delete mMaterial;
}
}
-#else
-extern "C" void __dt__12J2DPictureExFv() {
- // asm J2DPictureEx::~J2DPictureEx() {
- // NONMATCHING
-}
-#endif
/* 803039CC-80303AB4 2FE30C 00E8+00 1/0 0/0 0/0 .text prepareTexture__12J2DPictureExFUc
*/
@@ -364,15 +109,6 @@ void J2DPictureEx::drawFullSet(f32 param_0, f32 param_1, f32 param_2, f32 param_
field_0x10a[3].x, field_0x10a[3].y, param_4);
}
-/* ############################################################################################## */
-/* 804562C4-804562C8 0048C4 0004+00 5/5 0/0 0/0 .sdata2 @1784 */
-SECTION_SDATA2 static u8 lit_1784[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
/* 80303BDC-80303E5C 2FE51C 0280+00 1/0 0/0 0/0 .text
* drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f */
void J2DPictureEx::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3, s16 param_4,
@@ -574,10 +310,6 @@ bool J2DPictureEx::isRemove(u8 param_0) const {
return true;
}
-/* ############################################################################################## */
-/* 804562C8-804562D0 0048C8 0008+00 2/2 0/0 0/0 .sdata2 @2130 */
-SECTION_SDATA2 static f64 lit_2130 = 4503601774854144.0 /* cast s32 to float */;
-
/* 8030477C-80304890 2FF0BC 0114+00 1/0 0/0 0/0 .text draw__12J2DPictureExFffUcbbb */
void J2DPictureEx::draw(f32 param_0, f32 param_1, u8 param_2, bool param_3, bool param_4,
bool param_5) {
@@ -642,14 +374,6 @@ void J2DPictureEx::setStage(J2DTevStage* param_0, J2DPictureEx::stage_enum param
// NONMATCHING
}
-/* ############################################################################################## */
-/* 804562D0-804562D8 0048D0 0004+04 1/1 0/0 0/0 .sdata2 @2690 */
-SECTION_SDATA2 static f32 lit_2690[1 + 1 /* padding */] = {
- 255.0f,
- /* padding */
- 0.0f,
-};
-
/* 80305928-80305C70 300268 0348+00 5/5 0/0 0/0 .text setTevKColor__12J2DPictureExFUc */
void J2DPictureEx::setTevKColor(u8 param_0) {
// NONMATCHING
@@ -762,7 +486,6 @@ const ResTIMG* J2DPictureEx::changeTexture(char const* param_0, u8 param_1) {
/* 80306134-80306298 300A74 0164+00 1/0 0/0 0/0 .text
* changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette */
// Issues with param_1 >= bVar5. Maybe some inline min function.
-#ifdef NONMATCHING
inline u8 mina(u8 a, u8 b) {
return a > b ? b : a;
}
@@ -793,11 +516,6 @@ const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1, J
append(param_0, param_2, 1.0f);
return NULL;
}
-#else
-const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1, JUTPalette* param_2) {
- // NONMATCHING
-}
-#endif
/* 80306298-803062F8 300BD8 0060+00 1/0 0/0 0/0 .text
* changeTexture__12J2DPictureExFPCcUcP10JUTPalette */
@@ -1075,7 +793,7 @@ void J2DPictureEx::setAnimation(J2DAnmBase* param_0) {
/* 803A1D70-803A1D90 02E3D0 0020+00 0/0 0/0 0/0 .rodata @2556 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const lit_2556[32] = {
+static u8 const lit_2556[32] = {
0x07, 0x04, 0x05, 0x07, 0x05, 0x07, 0x07, 0x07, 0x07, 0x04, 0x06, 0x07, 0x07, 0x04, 0x06, 0x00,
0x07, 0x05, 0x00, 0x07, 0x01, 0x02, 0x04, 0x07, 0x07, 0x07, 0x07, 0x02, 0x01, 0x02, 0x00, 0x07,
};
@@ -1085,10 +803,10 @@ COMPILER_STRIP_GATE(0x803A1D70, &lit_2556);
/* 803A1D90-803A1DB8 02E3F0 0028+00 0/0 0/0 0/0 .rodata @2557 */
#pragma push
#pragma force_active on
-SECTION_RODATA static u8 const lit_2557[40] = {
+static u8 const lit_2557[40] = {
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x803A1D90, &lit_2557);
-#pragma pop \ No newline at end of file
+#pragma pop
diff --git a/src/JSystem/J2DGraph/J2DScreen.cpp b/src/JSystem/J2DGraph/J2DScreen.cpp
index 4a104667dc..e516c23966 100644
--- a/src/JSystem/J2DGraph/J2DScreen.cpp
+++ b/src/JSystem/J2DGraph/J2DScreen.cpp
@@ -4,6 +4,7 @@
//
#include "JSystem/J2DGraph/J2DScreen.h"
+#include "JSystem/J2DGraph/J2DMaterialFactory.h"
#include "JSystem/J2DGraph/J2DPictureEx.h"
#include "JSystem/J2DGraph/J2DTextBoxEx.h"
#include "JSystem/J2DGraph/J2DWindowEx.h"
@@ -11,131 +12,9 @@
#include "JSystem/JKernel/JKRArchive.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JSupport/JSUMemoryStream.h"
-#include "dol2asm.h"
#include "dolphin/types.h"
#include "global.h"
-//
-// Forward References:
-//
-
-extern "C" void __ct__9J2DScreenFv();
-extern "C" void __dt__9J2DScreenFv();
-extern "C" void clean__9J2DScreenFv();
-extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
-extern "C" void setPriority__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive();
-extern "C" void private_set__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive();
-extern "C" void checkSignature__9J2DScreenFP20JSURandomInputStream();
-extern "C" void getScreenInformation__9J2DScreenFP20JSURandomInputStream();
-extern "C" void makeHierarchyPanes__9J2DScreenFP7J2DPaneP20JSURandomInputStreamUlP10JKRArchive();
-extern "C" void
-createPane__9J2DScreenFRC18J2DScrnBlockHeaderP20JSURandomInputStreamP7J2DPaneUlP10JKRArchive();
-extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
-extern "C" void search__9J2DScreenFUx();
-extern "C" void searchUserInfo__9J2DScreenFUx();
-extern "C" void drawSelf__9J2DScreenFffPA3_A4_f();
-extern "C" void createMaterial__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive();
-extern "C" void isUsed__9J2DScreenFPC7ResTIMG();
-extern "C" void isUsed__9J2DScreenFPC7ResFONT();
-extern "C" void getNameResource__9J2DScreenFPCc();
-extern "C" void animation__9J2DScreenFv();
-extern "C" void setAnimation__9J2DScreenFP11J2DAnmColor();
-extern "C" void setAnimation__9J2DScreenFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__9J2DScreenFP16J2DAnmTexPattern();
-extern "C" void setAnimation__9J2DScreenFP15J2DAnmTevRegKey();
-extern "C" void setAnimation__9J2DScreenFP14J2DAnmVtxColor();
-extern "C" void setAnimation__9J2DScreenFP20J2DAnmVisibilityFull();
-extern "C" void createPane__9J2DScreenFRC18J2DScrnBlockHeaderP20JSURandomInputStreamP7J2DPaneUl();
-extern "C" s32 getTypeID__9J2DScreenCFv();
-extern "C" void calcMtx__9J2DScreenFv();
-extern "C" void setAnimation__9J2DScreenFP10J2DAnmBase();
-extern "C" void setAnimationVF__9J2DScreenFP20J2DAnmVisibilityFull();
-extern "C" void setAnimationVC__9J2DScreenFP14J2DAnmVtxColor();
-extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */];
-
-//
-// External References:
-//
-
-extern "C" void setAlpha__7J2DPaneFUc();
-extern "C" void clearAnmTransform__9J2DScreenFv();
-extern "C" void makeMatrix__7J2DPaneFff();
-extern "C" void setAnimation__9J2DScreenFP15J2DAnmTransform();
-extern "C" void* __nw__FUl();
-extern "C" void* __nwa__FUl();
-extern "C" void* __nwa__FUli();
-extern "C" void __dl__FPv();
-extern "C" void __dla__FPv();
-extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
-extern "C" void __dt__14JSUInputStreamFv();
-extern "C" void read__14JSUInputStreamFPvl();
-extern "C" void peek__20JSURandomInputStreamFPvl();
-extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom();
-extern "C" void setBuffer__20JSUMemoryInputStreamFPCvl();
-extern "C" void __ct__10JUTNameTabFPC7ResNTAB();
-extern "C" void __ct__13J2DOrthoGraphFffffff();
-extern "C" void setPort__13J2DOrthoGraphFv();
-extern "C" void __ct__11J2DMaterialFv();
-extern "C" void __dt__11J2DMaterialFv();
-extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor();
-extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern();
-extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey();
-extern "C" void animation__11J2DMaterialFv();
-extern "C" void __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock();
-extern "C" void
-create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive();
-extern "C" void func_802F5D40();
-extern "C" void __ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc();
-extern "C" void __dt__7J2DPaneFv();
-extern "C" void draw__7J2DPaneFffPC14J2DGrafContextbb();
-extern "C" void func_802F6D18();
-extern "C" void move__7J2DPaneFff();
-extern "C" void add__7J2DPaneFff();
-extern "C" void resize__7J2DPaneFff();
-extern "C" void search__7J2DPaneFUx();
-extern "C" void searchUserInfo__7J2DPaneFUx();
-extern "C" void isUsed__7J2DPaneFPC7ResTIMG();
-extern "C" void isUsed__7J2DPaneFPC7ResFONT();
-extern "C" void makeMatrix__7J2DPaneFffff();
-extern "C" void setCullBack__7J2DPaneF11_GXCullMode();
-extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase();
-extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform();
-extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull();
-extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor();
-extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform();
-extern "C" void rewriteAlpha__7J2DPaneFv();
-extern "C" void setCullBack__7J2DPaneFb();
-extern "C" void setConnectParent__7J2DPaneFb();
-extern "C" void update__7J2DPaneFv();
-extern "C" void drawSelf__7J2DPaneFff();
-extern "C" void __ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive();
-extern "C" void __ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP11J2DMaterial();
-extern "C" void __ct__10J2DPictureFP7J2DPaneP20JSURandomInputStreamP10JKRArchive();
-extern "C" void __ct__10J2DPictureFP7J2DPaneP20JSURandomInputStreamP11J2DMaterial();
-extern "C" void __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive();
-extern "C" void __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
-extern "C" void __ct__11J2DWindowExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
-extern "C" void __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
-extern "C" void __ct__12J2DTextBoxExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
-extern "C" void get__13J2DDataManageFPCc();
-extern "C" void __destroy_new_array();
-extern "C" void __construct_new_array();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" extern void* __vt__10JSUIosBase[3];
-extern "C" extern void* __vt__20JSURandomInputStream[9];
-extern "C" extern void* __vt__14JSUInputStream[6 + 1 /* padding */];
-extern "C" extern void* __vt__20JSUMemoryInputStream[9 + 1 /* padding */];
-extern "C" extern void* __vt__14J2DGrafContext[10];
-extern "C" extern void* __vt__13J2DOrthoGraph[10];
-
/* 802F8498-802F8540 2F2DD8 00A8+00 0/0 59/59 4/4 .text __ct__9J2DScreenFv */
J2DScreen::J2DScreen()
: J2DPane(NULL, true, 'root', JGeometry::TBox2<f32>(JGeometry::TVec2<f32>(0.0f, 0.0f), JGeometry::TVec2<f32>(640.0f, 480.0f))), mColor() {
@@ -491,8 +370,7 @@ J2DResReference* J2DScreen::getResReference(JSURandomInputStream* p_stream, u32
/* 802F937C-802F9600 2F3CBC 0284+00 1/1 0/0 0/0 .text
* createMaterial__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive */
-// nametab section has issues
-#ifdef NONMATCHING
+// NONMATCHING - nametab section has issues
bool J2DScreen::createMaterial(JSURandomInputStream* p_stream, u32 param_1, JKRArchive* p_archive) {
s32 position = p_stream->getPosition();
@@ -554,12 +432,6 @@ bool J2DScreen::createMaterial(JSURandomInputStream* p_stream, u32 param_1, JKRA
clean();
return false;
}
-#else
-bool J2DScreen::createMaterial(JSURandomInputStream* param_0, u32 param_1,
- JKRArchive* param_2) {
- // NONMATCHING
-}
-#endif
/* 802F9600-802F9620 2F3F40 0020+00 1/0 0/0 0/0 .text isUsed__9J2DScreenFPC7ResTIMG */
bool J2DScreen::isUsed(ResTIMG const* p_timg) {
@@ -702,4 +574,4 @@ void J2DScreen::setAnimationVF(J2DAnmVisibilityFull*) {
*/
void J2DScreen::setAnimationVC(J2DAnmVtxColor*) {
/* empty function */
-} \ No newline at end of file
+}
diff --git a/src/JSystem/J2DGraph/J2DTevs.cpp b/src/JSystem/J2DGraph/J2DTevs.cpp
index b4f92d97b4..40d5bfd24d 100644
--- a/src/JSystem/J2DGraph/J2DTevs.cpp
+++ b/src/JSystem/J2DGraph/J2DTevs.cpp
@@ -24,17 +24,17 @@ void J2DTexMtx::calc() {
/* 802E9D2C-802E9EBC 2E466C 0190+00 1/1 0/0 0/0 .text
* getTextureMtx__9J2DTexMtxFRC17J2DTextureSRTInfo3VecPA4_f */
void J2DTexMtx::getTextureMtx(J2DTextureSRTInfo const& param_0, Vec param_1, Mtx param_2) {
- float f31 = (param_0.field_0x8 * M_PI) / 180.0f;
- param_2[0][0] = param_0.field_0x0 * i_cosf(f31);
- param_2[0][1] = -param_0.field_0x0 * i_sinf(f31);
+ float f31 = (param_0.mRotationDeg * M_PI) / 180.0f;
+ param_2[0][0] = param_0.mScaleX * i_cosf(f31);
+ param_2[0][1] = -param_0.mScaleX * i_sinf(f31);
param_2[0][2] = 0.0f;
- param_2[0][3] = -param_0.field_0x0 * i_cosf(f31) * param_1.x + param_1.y * (param_0.field_0x0 * i_sinf(f31)) +
- param_1.x + param_0.field_0xc;
- param_2[1][0] = param_0.field_0x4 * i_sinf(f31);
- param_2[1][1] = param_0.field_0x4 * i_cosf(f31);
+ param_2[0][3] = -param_0.mScaleX * i_cosf(f31) * param_1.x + param_1.y * (param_0.mScaleX * i_sinf(f31)) +
+ param_1.x + param_0.mTranslationX;
+ param_2[1][0] = param_0.mScaleY * i_sinf(f31);
+ param_2[1][1] = param_0.mScaleY * i_cosf(f31);
param_2[1][2] = 0.0f;
- param_2[1][3] = -param_0.field_0x4 * i_sinf(f31) * param_1.x - param_1.y * (param_0.field_0x4 * i_cosf(f31)) +
- param_1.y + param_0.field_0x10;
+ param_2[1][3] = -param_0.mScaleY * i_sinf(f31) * param_1.x - param_1.y * (param_0.mScaleY * i_cosf(f31)) +
+ param_1.y + param_0.mTranslationY;
param_2[2][0] = 0.0f;
param_2[2][1] = 0.0f;
param_2[2][2] = 1.0f;
@@ -44,17 +44,17 @@ void J2DTexMtx::getTextureMtx(J2DTextureSRTInfo const& param_0, Vec param_1, Mtx
/* 802E9EBC-802EA044 2E47FC 0188+00 1/1 0/0 0/0 .text
* getTextureMtxMaya__9J2DTexMtxFRC17J2DTextureSRTInfoPA4_f */
void J2DTexMtx::getTextureMtxMaya(J2DTextureSRTInfo const& param_0, Mtx param_1) {
- float f31 = (param_0.field_0x8 * M_PI) / 180.0f;
- param_1[0][0] = param_0.field_0x0 * i_cosf(f31);
- param_1[0][1] = param_0.field_0x4 * i_sinf(f31);
+ float f31 = (param_0.mRotationDeg * M_PI) / 180.0f;
+ param_1[0][0] = param_0.mScaleX * i_cosf(f31);
+ param_1[0][1] = param_0.mScaleY * i_sinf(f31);
param_1[0][2] = 0.0f;
- param_1[0][3] = (param_0.field_0xc - 0.5f) * i_cosf(f31) -
- (param_0.field_0x10 - 0.5f + param_0.field_0x4) * i_sinf(f31) + 0.5f;
- param_1[1][0] = -param_0.field_0x0 * i_sinf(f31);
- param_1[1][1] = param_0.field_0x4 * i_cosf(f31);
+ param_1[0][3] = (param_0.mTranslationX - 0.5f) * i_cosf(f31) -
+ (param_0.mTranslationY - 0.5f + param_0.mScaleY) * i_sinf(f31) + 0.5f;
+ param_1[1][0] = -param_0.mScaleX * i_sinf(f31);
+ param_1[1][1] = param_0.mScaleY * i_cosf(f31);
param_1[1][2] = 0.0f;
- param_1[1][3] = -(param_0.field_0xc - 0.5f) * i_sinf(f31) -
- (param_0.field_0x10 - 0.5f + param_0.field_0x4) * i_cosf(f31) + 0.5f;
+ param_1[1][3] = -(param_0.mTranslationX - 0.5f) * i_sinf(f31) -
+ (param_0.mTranslationY - 0.5f + param_0.mScaleY) * i_cosf(f31) + 0.5f;
param_1[2][0] = 0.0f;
param_1[2][1] = 0.0f;
param_1[2][2] = 1.0f;
@@ -83,82 +83,24 @@ void J2DIndTexOrder::load(u8 indTexStage) {
GXSetIndTexOrder((GXIndTexStageID)indTexStage, mInfo.getTexCoordID(), mInfo.getTexMapID());
}
-/* 802EA12C-802EA134 2E4A6C 0008+00 0/0 1/0 0/0 .text getTevSwapModeTable__11J2DTevBlockFUl */
-J2DTevSwapModeTable* J2DTevBlock::getTevSwapModeTable(u32 param_0) {
- return NULL;
-}
-
-/* 802EA134-802EA13C 2E4A74 0008+00 0/0 1/0 0/0 .text getTevStage__11J2DTevBlockFUl */
-J2DTevStage* J2DTevBlock::getTevStage(u32 param_0) {
- return NULL;
-}
-
-/* 802EA13C-802EA144 2E4A7C 0008+00 0/0 1/0 0/0 .text getTevColor__11J2DTevBlockFUl */
-J2DGXColorS10* J2DTevBlock::getTevColor(u32 param_0) {
- return NULL;
-}
-
-/* 802EA144-802EA14C 2E4A84 0008+00 0/0 1/0 0/0 .text getTevOrder__11J2DTevBlockFUl */
-J2DTevOrder* J2DTevBlock::getTevOrder(u32 param_0) {
- return NULL;
-}
-
-/* 802EA14C-802EA154 2E4A8C 0008+00 0/0 1/0 0/0 .text getTevKAlphaSel__11J2DTevBlockFUl
- */
-u8 J2DTevBlock::getTevKAlphaSel(u32 param_0) {
- return 0;
-}
-
-/* 802EA154-802EA15C 2E4A94 0008+00 0/0 1/0 0/0 .text getTevKColorSel__11J2DTevBlockFUl
- */
-u8 J2DTevBlock::getTevKColorSel(u32 param_0) {
- return 0;
-}
-
-/* 802EA15C-802EA164 2E4A9C 0008+00 0/0 1/0 0/0 .text getTevKColor__11J2DTevBlockFUl */
-JUtility::TColor* J2DTevBlock::getTevKColor(u32 param_0) {
- return NULL;
-}
-
-/* 802EA164-802EA170 2E4AA4 000C+00 0/0 1/0 0/0 .text getFontNo__11J2DTevBlockCFv */
-u16 J2DTevBlock::getFontNo() const {
- return 0xFFFF;
-}
-
-/* 802EA170-802EA17C 2E4AB0 000C+00 0/0 1/0 0/0 .text getTexNo__11J2DTevBlockCFUl */
-u32 J2DTevBlock::getTexNo(u32 param_0) const {
- return 0xFFFF;
-}
-
-/* 802EA17C-802EA184 2E4ABC 0008+00 0/0 1/0 0/0 .text getTevStageNum__11J2DTevBlockCFv */
-u8 J2DTevBlock::getTevStageNum() const {
- return 1;
-}
-
-/* 802EA184-802EA18C 2E4AC4 0008+00 0/0 1/0 0/0 .text getIndTevStage__11J2DTevBlockFUl */
-J2DIndTevStage* J2DTevBlock::getIndTevStage(u32 param_0) {
- return NULL;
-}
-
-/* 802EA18C-802EA194 2E4ACC 0008+00 0/0 2/0 0/0 .text getIndTexCoordScale__11J2DIndBlockFUl */
-J2DIndTexCoordScale* J2DIndBlock::getIndTexCoordScale(u32 param_0) {
- return NULL;
-}
-
-/* 802EA194-802EA19C 2E4AD4 0008+00 0/0 2/0 0/0 .text getIndTexMtx__11J2DIndBlockFUl */
-J2DIndTexMtx* J2DIndBlock::getIndTexMtx(u32 param_0) {
- return NULL;
-}
-
-/* 802EA19C-802EA1A4 2E4ADC 0008+00 0/0 2/0 0/0 .text getIndTexOrder__11J2DIndBlockFUl */
-J2DIndTexOrder* J2DIndBlock::getIndTexOrder(u32 param_0) {
- return NULL;
-}
-
-/* 802EA1A4-802EA1AC 2E4AE4 0008+00 0/0 2/0 0/0 .text getIndTexStageNum__11J2DIndBlockCFv
- */
-u8 J2DIndBlock::getIndTexStageNum() const {
- return 0;
+static void dummyVirtual(J2DTevBlock* block, J2DIndBlock* indBlock) {
+ indBlock->getIndTexStageNum();
+ indBlock->getIndTexOrder(0);
+ indBlock->getIndTexStageNum();
+ indBlock->getIndTexOrder(0);
+ indBlock->getIndTexMtx(0);
+ indBlock->getIndTexCoordScale(0);
+ block->getIndTevStage(0);
+ block->getTevStageNum();
+ block->getTexNo(0);
+ block->getFontNo();
+ block->getTevKColor(0);
+ block->getTevKColorSel(0);
+ block->getTevKAlphaSel(0);
+ block->getTevOrder(0);
+ block->getTevColor(0);
+ block->getTevStage(0);
+ block->getTevSwapModeTable(0);
}
/* ############################################################################################## */
@@ -236,4 +178,4 @@ extern const J2DColorChanInfo j2dDefaultColorChanInfo = {0, 3, 0, 0};
extern const u8 data_804561AC = 0x1B;
/* 804561AE-804561B0 0047AE 0002+00 0/0 3/3 0/0 .sdata2 j2dDefaultAlphaCmp */
-extern const u16 j2dDefaultAlphaCmp = 0x00E7; \ No newline at end of file
+extern const u16 j2dDefaultAlphaCmp = 0x00E7;
diff --git a/src/JSystem/J2DGraph/J2DWindowEx.cpp b/src/JSystem/J2DGraph/J2DWindowEx.cpp
index e3e0baa2bc..16e9f72dd3 100644
--- a/src/JSystem/J2DGraph/J2DWindowEx.cpp
+++ b/src/JSystem/J2DGraph/J2DWindowEx.cpp
@@ -8,112 +8,6 @@
#include "JSystem/JSupport/JSURandomInputStream.h"
#include "dol2asm.h"
-//
-// Forward References:
-//
-
-extern "C" void __ct__11J2DWindowExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial();
-extern "C" void setMinSize__11J2DWindowExFv();
-extern "C" void __dt__11J2DWindowExFv();
-extern "C" void drawSelf__11J2DWindowExFffPA3_A4_f();
-extern "C" void func_803012CC();
-extern "C" void func_80301994();
-extern "C" void drawFrameTexture__11J2DWindowExFffffUsUsUsUsP11J2DMaterialb();
-extern "C" void func_80301FC8();
-extern "C" void func_80302164();
-extern "C" void setTevOrder__11J2DWindowExFb();
-extern "C" void setTevStage__11J2DWindowExFb();
-extern "C" void setStage__11J2DWindowExFP11J2DTevStageQ211J2DWindowEx10stage_enum();
-extern "C" void setBlack__11J2DWindowExFQ28JUtility6TColor();
-extern "C" void setWhite__11J2DWindowExFQ28JUtility6TColor();
-extern "C" void setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor();
-extern "C" void getBlackWhite__11J2DWindowExCFPQ28JUtility6TColorPQ28JUtility6TColor();
-extern "C" void isSetBlackWhite__11J2DWindowExCFQ28JUtility6TColorQ28JUtility6TColor();
-extern "C" void getBlack__11J2DWindowExCFv();
-extern "C" void getWhite__11J2DWindowExCFv();
-extern "C" void setAlpha__11J2DWindowExFUc();
-extern "C" void setCullBack__11J2DWindowExF11_GXCullMode();
-extern "C" void rewriteAlpha__11J2DWindowExFv();
-extern "C" void getFrameTexture__11J2DWindowExCFUcUc();
-extern "C" void getContentsTexture__11J2DWindowExCFUc();
-extern "C" void isUsed__11J2DWindowExFPC7ResTIMG();
-extern "C" void setAnimation__11J2DWindowExFP11J2DAnmColor();
-extern "C" void setAnimation__11J2DWindowExFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__11J2DWindowExFP16J2DAnmTexPattern();
-extern "C" void setAnimation__11J2DWindowExFP15J2DAnmTevRegKey();
-extern "C" void isNeedSetAnm__11J2DWindowExFUc();
-extern "C" void setAnimation__11J2DWindowExFP20J2DAnmVisibilityFull();
-extern "C" void setAnimation__11J2DWindowExFP14J2DAnmVtxColor();
-extern "C" void animationPane__11J2DWindowExFPC15J2DAnmTransform();
-extern "C" void getFrameMaterial__11J2DWindowExCFUc();
-extern "C" void getContentsMaterial__11J2DWindowExCFv();
-extern "C" void getMaterial__11J2DWindowExCFRQ29J2DWindow9TMaterial();
-extern "C" void draw__11J2DWindowExFffff();
-extern "C" void setCullBack__11J2DWindowExFb();
-extern "C" void isUsed__11J2DWindowExFPC7ResFONT();
-extern "C" void setAnimation__11J2DWindowExFP10J2DAnmBase();
-extern "C" void getColor__14J2DAnmVtxColorCFUcUsP8_GXColor();
-
-//
-// External References:
-//
-
-extern "C" void calcMtx__7J2DPaneFv();
-extern "C" void makeMatrix__7J2DPaneFff();
-extern "C" void setAnimation__11J2DWindowExFP15J2DAnmTransform();
-extern "C" void __dl__FPv();
-extern "C" void read__14JSUInputStreamFPvl();
-extern "C" void peek__20JSURandomInputStreamFPvl();
-extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom();
-extern "C" void setGX__11J2DMaterialFv();
-extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor();
-extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey();
-extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern();
-extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey();
-extern "C" void move__7J2DPaneFff();
-extern "C" void add__7J2DPaneFff();
-extern "C" void func_802F7264();
-extern "C" void search__7J2DPaneFUx();
-extern "C" void searchUserInfo__7J2DPaneFUx();
-extern "C" void isUsed__7J2DPaneFPC7ResTIMG();
-extern "C" void isUsed__7J2DPaneFPC7ResFONT();
-extern "C" void makeMatrix__7J2DPaneFffff();
-extern "C" void setCullBack__7J2DPaneF11_GXCullMode();
-extern "C" void getParentPane__7J2DPaneFv();
-extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream();
-extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase();
-extern "C" void clearAnmTransform__7J2DPaneFv();
-extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform();
-extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull();
-extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor();
-extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform();
-extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull();
-extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor();
-extern "C" void setConnectParent__7J2DPaneFb();
-extern "C" void update__7J2DPaneFv();
-extern "C" void __ct__9J2DWindowFv();
-extern "C" void __dt__9J2DWindowFv();
-extern "C" void resize__9J2DWindowFff();
-extern "C" void drawSelf__9J2DWindowFff();
-extern "C" s32 getTypeID__9J2DWindowCFv();
-extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc();
-extern "C" void _savegpr_20();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_20();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-
-//
-// Declarations:
-//
-
/* ############################################################################################## */
/* 803A1C60-803A1C70 02E2C0 0010+00 2/2 0/0 0/0 .rodata @1508 */
SECTION_RODATA static u8 const lit_1508[16] = {
@@ -121,69 +15,6 @@ SECTION_RODATA static u8 const lit_1508[16] = {
};
COMPILER_STRIP_GATE(0x803A1C60, &lit_1508);
-/* 803CD3E8-803CD4B8 02A508 00CC+04 2/2 0/0 0/0 .data __vt__11J2DWindowEx */
-SECTION_DATA extern void* __vt__11J2DWindowEx[51 + 1 /* padding */] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__11J2DWindowExFv,
- (void*)getTypeID__9J2DWindowCFv,
- (void*)move__7J2DPaneFff,
- (void*)add__7J2DPaneFff,
- (void*)resize__9J2DWindowFff,
- (void*)setCullBack__11J2DWindowExFb,
- (void*)setCullBack__11J2DWindowExF11_GXCullMode,
- (void*)setAlpha__11J2DWindowExFUc,
- (void*)setConnectParent__7J2DPaneFb,
- (void*)calcMtx__7J2DPaneFv,
- (void*)update__7J2DPaneFv,
- (void*)drawSelf__9J2DWindowFff,
- (void*)drawSelf__11J2DWindowExFffPA3_A4_f,
- (void*)search__7J2DPaneFUx,
- (void*)searchUserInfo__7J2DPaneFUx,
- (void*)makeMatrix__7J2DPaneFff,
- (void*)makeMatrix__7J2DPaneFffff,
- (void*)isUsed__11J2DWindowExFPC7ResTIMG,
- (void*)isUsed__11J2DWindowExFPC7ResFONT,
- (void*)clearAnmTransform__7J2DPaneFv,
- (void*)rewriteAlpha__11J2DWindowExFv,
- (void*)setAnimation__11J2DWindowExFP10J2DAnmBase,
- (void*)setAnimation__11J2DWindowExFP15J2DAnmTransform,
- (void*)setAnimation__11J2DWindowExFP11J2DAnmColor,
- (void*)setAnimation__11J2DWindowExFP16J2DAnmTexPattern,
- (void*)setAnimation__11J2DWindowExFP19J2DAnmTextureSRTKey,
- (void*)setAnimation__11J2DWindowExFP15J2DAnmTevRegKey,
- (void*)setAnimation__11J2DWindowExFP20J2DAnmVisibilityFull,
- (void*)setAnimation__11J2DWindowExFP14J2DAnmVtxColor,
- (void*)animationTransform__7J2DPaneFPC15J2DAnmTransform,
- (void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull,
- (void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull,
- (void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor,
- (void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor,
- (void*)animationPane__11J2DWindowExFPC15J2DAnmTransform,
- (void*)func_80301FC8,
- (void*)func_80302164,
- (void*)draw__11J2DWindowExFffff,
- (void*)setBlack__11J2DWindowExFQ28JUtility6TColor,
- (void*)setWhite__11J2DWindowExFQ28JUtility6TColor,
- (void*)setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor,
- (void*)getBlack__11J2DWindowExCFv,
- (void*)getWhite__11J2DWindowExCFv,
- (void*)getFrameTexture__11J2DWindowExCFUcUc,
- (void*)getContentsTexture__11J2DWindowExCFUc,
- (void*)getMaterial__11J2DWindowExCFRQ29J2DWindow9TMaterial,
- (void*)getFrameMaterial__11J2DWindowExCFUc,
- (void*)getContentsMaterial__11J2DWindowExCFv,
- (void*)func_80301994,
- /* padding */
- NULL,
-};
-
-/* 804562A0-804562A8 0048A0 0008+00 4/4 0/0 0/0 .sdata2 @1549 */
-SECTION_SDATA2 static f64 lit_1549 = 4503601774854144.0 /* cast s32 to float */;
-
-/* 804562A8-804562B0 0048A8 0008+00 1/1 0/0 0/0 .sdata2 @1552 */
-SECTION_SDATA2 static f64 lit_1552 = 4503599627370496.0 /* cast u32 to float */;
-
struct J2DWindowExDef {
u32 field_0x0[4];
u16 field_0x10[4];
@@ -488,26 +319,6 @@ void J2DWindowEx::draw_private(JGeometry::TBox2<f32> const& param_0,
}
}
-
-/* ############################################################################################## */
-/* 804562B0-804562B4 0048B0 0004+00 4/4 0/0 0/0 .sdata2 @1827 */
-SECTION_SDATA2 static u8 lit_1827[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
-/* 804562B4-804562B8 0048B4 0004+00 1/1 0/0 0/0 .sdata2 @2256 */
-SECTION_SDATA2 static f32 lit_2256 = 1.0f;
-
-/* 804562B8-804562C0 0048B8 0004+04 1/1 0/0 0/0 .sdata2 @2257 */
-SECTION_SDATA2 static f32 lit_2257[1 + 1 /* padding */] = {
- 0.5f,
- /* padding */
- 0.0f,
-};
-
/* 80301994-80301D74 2FC2D4 03E0+00 1/0 0/0 0/0 .text
* drawContents__11J2DWindowExFRCQ29JGeometry8TBox2<f> */
void J2DWindowEx::drawContents(JGeometry::TBox2<f32> const& param_1) {
@@ -793,8 +604,7 @@ bool J2DWindowEx::setWhite(JUtility::TColor white) {
/* 80302874-80302A4C 2FD1B4 01D8+00 1/0 0/0 0/0 .text
* setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor */
-// J2DGXColorS10 issue
-#ifdef NONMATCHING
+// NONMATCHING - J2DGXColorS10 issue
bool J2DWindowEx::setBlackWhite(JUtility::TColor black, JUtility::TColor white) {
for (int i = 0; i < 4; i++) {
if (mFrameMaterial[i] == NULL) {
@@ -839,11 +649,6 @@ bool J2DWindowEx::setBlackWhite(JUtility::TColor black, JUtility::TColor white)
}
return true;
}
-#else
-bool J2DWindowEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
- // NONMATCHING
-}
-#endif
/* 80302A4C-80302BE8 2FD38C 019C+00 4/4 0/0 0/0 .text
* getBlackWhite__11J2DWindowExCFPQ28JUtility6TColorPQ28JUtility6TColor */
@@ -1320,4 +1125,4 @@ bool J2DWindowEx::isUsed(ResFONT const* param_0) {
/* 8030361C-8030363C 2FDF5C 0020+00 1/0 0/0 0/0 .text setAnimation__11J2DWindowExFP10J2DAnmBase */
void J2DWindowEx::setAnimation(J2DAnmBase* param_0) {
J2DPane::setAnimation(param_0);
-} \ No newline at end of file
+}
diff --git a/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp
index e187a2d6c0..f87f18f435 100644
--- a/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp
+++ b/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp
@@ -286,4 +286,4 @@ int J3DMaterialTable::entryTevRegAnimator(J3DAnmTevRegKey* param_1) {
}
}
return rv;
-} \ No newline at end of file
+}
diff --git a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp
index 8883f8c163..5f3572ade2 100644
--- a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp
+++ b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp
@@ -1,6 +1,5 @@
//
-// Generated By: dol2asm
-// Translation Unit: J3DModelData
+// J3DModelData
//
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
diff --git a/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp b/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp
index d3faa6b894..4fab18c4f6 100644
--- a/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp
+++ b/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp
@@ -248,7 +248,24 @@ static u8 J3DUnit01[8] = {
/* 803268D4-80326ACC 321214 01F8+00 0/0 1/1 0/0 .text calcWeightEnvelopeMtx__12J3DMtxBufferFv */
void J3DMtxBuffer::calcWeightEnvelopeMtx() {
- // NONMATCHING
+ int max = mJointTree->getWEvlpMtxNum();
+ u16* indices = mJointTree->getWEvlpMixIndex();
+ f32* weights = mJointTree->getWEvlpMixWeight();
+ for (int i = -1; i < max; i++) {
+ u8* scaleFlags = mpEvlpScaleFlagArr;
+ scaleFlags[i] = 1;
+ Mtx* weightAnmMtx = &mpWeightEvlpMtx[i];
+ int mixNum = mJointTree->getWEvlpMixMtxNum(i);
+ for (int j = 0; j < mixNum; j++) {
+ u16 idx = indices[j];
+ f32 weight = weights[j];
+ Mtx& invMtx = mJointTree->getInvJointMtx(idx);
+ Mtx& worldMtx = mpUserAnmMtx[idx];
+ // I think it's this but as ASM? maybe?
+ MTXConcat(invMtx, worldMtx, *weightAnmMtx);
+ scaleFlags[i] &= mpScaleFlagArr[j];
+ }
+ }
}
/* 80326ACC-80326D3C 32140C 0270+00 0/0 1/1 0/0 .text
diff --git a/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp b/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp
index 83d61a73f3..c64f15670e 100644
--- a/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp
+++ b/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp
@@ -5,78 +5,11 @@
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
+#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "string.h"
-//
-// Types:
-//
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__12J3DSkinNListFv();
-extern "C" static void J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec();
-extern "C" static void J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec();
-extern "C" void calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv();
-extern "C" void calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv();
-extern "C" void __ct__13J3DSkinDeformFv();
-extern "C" void initSkinInfo__13J3DSkinDeformFP12J3DModelData();
-extern "C" void initMtxIndexArray__13J3DSkinDeformFP12J3DModelData();
-extern "C" void changeFastSkinDL__13J3DSkinDeformFP12J3DModelData();
-extern "C" void calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer();
-extern "C" void transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData();
-extern "C" void calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer();
-extern "C" void deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer();
-extern "C" void deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer();
-extern "C" void deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer();
-extern "C" void deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer();
-extern "C" void deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer();
-extern "C" void deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer();
-extern "C" void deform__13J3DSkinDeformFP8J3DModel();
-extern "C" void deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer();
-extern "C" void calc__15J3DVtxColorCalcFP8J3DModel();
-extern "C" void __dt__13J3DSkinDeformFv();
-extern "C" extern char const* const J3DSkinDeform__stringBase0;
-extern "C" u8 sWorkArea_WEvlpMixMtx__13J3DSkinDeform[4096];
-extern "C" u8 sWorkArea_WEvlpMixWeight__13J3DSkinDeform[4096];
-extern "C" u16 sWorkArea_MtxReg__13J3DSkinDeform[1024 + 4 /* padding */];
-
-//
-// External References:
-//
-
-extern "C" void* __nwa__FUl();
-extern "C" void* __nwa__FUli();
-extern "C" void __dl__FPv();
-extern "C" void J3DGQRSetup7__FUlUlUlUl();
-extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f();
-extern "C" void makeVcdVatCmd__8J3DShapeFv();
-extern "C" void __construct_new_array();
-extern "C" void _savegpr_14();
-extern "C" void _savegpr_17();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_14();
-extern "C" void _restgpr_17();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern f32 PSMulUnit01[2];
-
-//
-// Declarations:
-//
-
/* 8032C6E4-8032C704 327024 0020+00 1/1 0/0 0/0 .text __ct__12J3DSkinNListFv */
J3DSkinNList::J3DSkinNList() {
field_0x0 = NULL;
@@ -269,31 +202,13 @@ void J3DSkinDeform::initSkinInfo(J3DModelData* param_0) {
}
}
-/* ############################################################################################## */
-/* 803A2008-803A2018 02E668 0010+00 1/1 0/0 0/0 .rodata @1142 */
-SECTION_RODATA static u32 const lit_1142[4] = {
- 0, 1, 1, 2,
-};
-COMPILER_STRIP_GATE(0x803A2008, &lit_1142);
-
-/* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_803A2028 =
- " Invlid Data : CPU Pipeline process GX_INDEX16 D"
- "ata Only\n";
-/* @stringBase0 padding */
-SECTION_DEAD static char const* const pad_803A2062 = "\0\0\0\0\0";
-#pragma pop
-
/* 80439218-80439A20 065F38 0800+08 1/1 0/0 0/0 .bss sWorkArea_MtxReg__13J3DSkinDeform
*/
u16 J3DSkinDeform::sWorkArea_MtxReg[1024 + 4 /* padding */];
/* 8032CF44-8032D378 327884 0434+00 0/0 1/1 0/0 .text
* initMtxIndexArray__13J3DSkinDeformFP12J3DModelData */
-// Several register order and regalloc issues
-#ifdef NONMATCHING
+// NONMATCHING - Several register order and regalloc issues
int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) {
if (mPosData != NULL && mNrmData != NULL) {
return 0;
@@ -409,11 +324,6 @@ int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) {
return 0;
}
-#else
-int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) {
- // NONMATCHING
-}
-#endif
/* ############################################################################################## */
/* 803A2018-803A2028 02E678 0010+00 1/1 0/0 0/0 .rodata @1270 */
@@ -424,8 +334,7 @@ COMPILER_STRIP_GATE(0x803A2018, &lit_1270);
/* 8032D378-8032D5C4 327CB8 024C+00 0/0 1/1 0/0 .text
* changeFastSkinDL__13J3DSkinDeformFP12J3DModelData */
-// regalloc, display list access issues
-#ifdef NONMATCHING
+// NONMATCHING - regalloc, display list access issues
void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) {
for (u16 i = 0; i < param_0->getShapeNum(); i++) {
u32 local_28[4] = {0,1,1,2};
@@ -484,11 +393,6 @@ void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) {
pShape->makeVcdVatCmd();
}
}
-#else
-void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) {
- // NONMATCHING
-}
-#endif
/* 8032D5C4-8032D738 327F04 0174+00 1/1 0/0 0/0 .text calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer
*/
@@ -614,8 +518,7 @@ void J3DSkinDeform::deformFastVtxNrm_F32(J3DVertexBuffer* param_0, J3DMtxBuffer*
/* 8032DB50-8032DC74 328490 0124+00 1/1 0/0 0/0 .text
* deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */
-// J3DPSMulMtxVec regalloc
-#ifdef NONMATCHING
+// NONMATCHING - J3DPSMulMtxVec regalloc
void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const {
Mtx* anmMtxs[2];
anmMtxs[0] = (Mtx*)param_1->getAnmMtx(0);
@@ -632,16 +535,10 @@ void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* par
DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(Vec));
param_0->setCurrentVtxPos(transformedVtxPos);
}
-#else
-void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const {
- // NONMATCHING
-}
-#endif
/* 8032DC74-8032DDB8 3285B4 0144+00 1/1 0/0 0/0 .text
* deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */
-// J3DPSMulMtxVec regalloc
-#ifdef NONMATCHING
+// NONMATCHING - J3DPSMulMtxVec regalloc
void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const {
Mtx* anmMtxs[2];
anmMtxs[0] = (Mtx*)param_1->getAnmMtx(0);
@@ -660,16 +557,10 @@ void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* par
DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(SVec));
param_0->setCurrentVtxPos(transformedVtxPos);
}
-#else
-void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const {
- // NONMATCHING
-}
-#endif
/* 8032DDB8-8032DEBC 3286F8 0104+00 1/1 0/0 0/0 .text
* deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer */
-// J3DPSMulMtxVec regalloc
-#ifdef NONMATCHING
+// NONMATCHING - J3DPSMulMtxVec regalloc
void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const {
param_0->swapTransformedVtxNrm();
int nrmNum = param_0->getVertexData()->getNrmNum();
@@ -681,16 +572,10 @@ void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const {
DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(Vec));
param_0->setCurrentVtxNrm(transformedVtxNrm);
}
-#else
-void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const {
- // NONMATCHING
-}
-#endif
/* 8032DEBC-8032DFDC 3287FC 0120+00 1/1 0/0 0/0 .text
* deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer */
-// J3DPSMulMtxVec regalloc
-#ifdef NONMATCHING
+// NONMATCHING - J3DPSMulMtxVec regalloc
void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const {
u8 vtxNrmFrac = param_0->getVertexData()->getVtxNrmFrac();
J3DGQRSetup7(vtxNrmFrac, 7, vtxNrmFrac, 7);
@@ -704,11 +589,6 @@ void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const {
DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(SVec));
param_0->setCurrentVtxNrm(transformedVtxNrm);
}
-#else
-void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const {
- // NONMATCHING
-}
-#endif
/* 8032DFDC-8032E064 32891C 0088+00 0/0 1/1 0/0 .text deform__13J3DSkinDeformFP8J3DModel
*/
@@ -767,4 +647,4 @@ void J3DVtxColorCalc::calc(J3DModel* param_0) {
/* 8032E1B0-8032E1F8 328AF0 0048+00 1/0 0/0 0/0 .text __dt__13J3DSkinDeformFv */
J3DSkinDeform::~J3DSkinDeform() {}
-/* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file
+/* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp
index 1b1791a5ed..41be62d2b4 100644
--- a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp
+++ b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp
@@ -1,6 +1,5 @@
//
-// Generated By: dol2asm
-// Translation Unit: J3DAnmLoader
+// J3DAnmLoader
//
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
diff --git a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp
index ee63dfae24..cf56637ee5 100644
--- a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp
+++ b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp
@@ -1,6 +1,5 @@
//
-// Generated By: dol2asm
-// Translation Unit: J3DClusterLoader
+// J3DClusterLoader
//
#include "JSystem/J3DGraphLoader/J3DClusterLoader.h"
@@ -116,30 +115,4 @@ void J3DClusterLoader_v15::readCluster(const J3DClusterBlock* block) {
DCStoreRange(arr, vtxPosSize);
}
-
-/* 803345FC-80334644 32EF3C 0048+00 1/0 0/0 0/0 .text __dt__16J3DClusterLoaderFv */
-// Remove when JSUConvertOffsetToPtr is ok
-void __dt__16J3DClusterLoaderFv() {
-//asm J3DClusterLoader::~J3DClusterLoader() {
- // NONMATCHING
-}
-
-/* 80334644-8033465C 32EF84 0018+00 1/1 0/0 0/0 .text
- * JSUConvertOffsetToPtr<16J3DClusterVertex>__FPCvPCv */
-extern "C" void func_80334644(void* _this, void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 8033465C-80334674 32EF9C 0018+00 1/1 0/0 0/0 .text
- * JSUConvertOffsetToPtr<13J3DClusterKey>__FPCvPCv */
-extern "C" void func_8033465C(void* _this, void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
-/* 80334674-8033468C 32EFB4 0018+00 1/1 0/0 0/0 .text JSUConvertOffsetToPtr<10J3DCluster>__FPCvPCv
- */
-extern "C" void func_80334674(void* _this, void const* param_0, void const* param_1) {
- // NONMATCHING
-}
-
/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */