From 70125c1eacee19e03b8fd9b4dcf277c019ab4f3f Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 27 Apr 2025 10:09:53 +0200 Subject: [PATCH] JPAKeyBlock, JPATexture, JPAResourceLoader, JPAMath, JSUList OK --- config/SOUE01/splits.txt | 4 +++- config/SOUE01/symbols.txt | 16 ++++++++-------- configure.py | 15 ++++++++++----- include/egg/gfx/eggTexture.h | 8 ++++++++ src/JSystem/JParticle/JPATexture.cpp | 4 ++-- 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 1480326b..62d2fba9 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -1778,14 +1778,16 @@ JSystem/JParticle/JPADynamicsBlock.cpp: JSystem/JParticle/JPAFieldBlock.cpp: .text start:0x8031F020 end:0x80320410 align:16 - .data start:0x80547180 end:0x80547268 + .data start:0x80547180 end:0x80547258 .sdata2 start:0x8057CF00 end:0x8057CF10 JSystem/JParticle/JPAKeyBlock.cpp: .text start:0x80320410 end:0x803204B4 align:16 + .sdata2 start:0x8057CF10 end:0x8057CF18 JSystem/JParticle/JPATexture.cpp: .text start:0x803204C0 end:0x8032057C align:16 + .data start:0x80547258 end:0x80547268 JSystem/JParticle/JPAResourceLoader.cpp: .text start:0x80320580 end:0x80320980 align:16 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 41adf82c..47d7d17d 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -18423,7 +18423,7 @@ getResUserWork__18JPAResourceManagerCFUs = .text:0x80316BC0; // type:function si __ct__11JPAResourceFv = .text:0x80316C10; // type:function size:0x70 init__11JPAResourceFPQ23EGG4Heap = .text:0x80316C80; // type:function size:0x1690 calc__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter = .text:0x80318310; // type:function size:0x544 -fn_80318860 = .text:0x80318860; // type:function size:0x4 +prepare__12JPAFieldBaseFP18JPAEmitterWorkDataP13JPAFieldBlock = .text:0x80318860; // type:function size:0x4 draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter = .text:0x80318870; // type:function size:0xF0 drawP__11JPAResourceFP18JPAEmitterWorkData = .text:0x80318960; // type:function size:0x324 drawC__11JPAResourceFP18JPAEmitterWorkData = .text:0x80318C90; // type:function size:0x2E8 @@ -18489,11 +18489,11 @@ JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle = .text:0x8031AF40; / JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle = .text:0x8031B030; // type:function size:0x158 JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle = .text:0x8031B190; // type:function size:0xFC JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle = .text:0x8031B290; // type:function size:0x170 -dirTypeVel__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 = .text:0x8031B400; // type:function size:0x1C -dirTypePos__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 = .text:0x8031B420; // type:function size:0x1C -dirTypePosInv__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 = .text:0x8031B440; // type:function size:0x48 -dirTypeEmtrDir__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 = .text:0x8031B490; // type:function size:0x1C -dirTypePrevPtcl__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 = .text:0x8031B4B0; // type:function size:0xA8 +dirTypeVel__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ23EGG8Vector3f = .text:0x8031B400; // type:function size:0x1C +dirTypePos__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ23EGG8Vector3f = .text:0x8031B420; // type:function size:0x1C +dirTypePosInv__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ23EGG8Vector3f = .text:0x8031B440; // type:function size:0x48 +dirTypeEmtrDir__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ23EGG8Vector3f = .text:0x8031B490; // type:function size:0x1C +dirTypePrevPtcl__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ23EGG8Vector3f = .text:0x8031B4B0; // type:function size:0xA8 rotTypeY__FffRA3_A4_f = .text:0x8031B560; // type:function size:0x40 rotTypeX__FffRA3_A4_f = .text:0x8031B5A0; // type:function size:0x40 rotTypeZ__FffRA3_A4_f = .text:0x8031B5E0; // type:function size:0x40 @@ -18511,7 +18511,7 @@ getNext__FP26JPANode<15JPABaseParticle> = .text:0x8031C2A0; // type:function siz getPrev__FP26JPANode<15JPABaseParticle> = .text:0x8031C2B0; // type:function size:0x8 fn_8031C2C0 = .text:0x8031C2C0; // type:function size:0x4C JPADrawStripe__FP18JPAEmitterWorkData = .text:0x8031C310; // type:function size:0x4CC -JParticle__JPADrawStripeX = .text:0x8031C7E0; // type:function size:0x844 +JPADrawStripeX__FP18JPAEmitterWorkData = .text:0x8031C7E0; // type:function size:0x844 JPADrawEmitterCallBackB__FP18JPAEmitterWorkData = .text:0x8031D030; // type:function size:0x24 JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle = .text:0x8031D060; // type:function size:0x2C makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsPQ23EGG4Heap = .text:0x8031D090; // type:function size:0x250 @@ -36229,7 +36229,7 @@ lbl_80547208 = .data:0x80547208; // type:object size:0x14 lbl_8054721C = .data:0x8054721C; // type:object size:0x14 lbl_80547230 = .data:0x80547230; // type:object size:0x14 lbl_80547244 = .data:0x80547244; // type:object size:0x14 -lbl_80547258 = .data:0x80547258; // type:object size:0x10 +lbl_80547258 = .data:0x80547258; // type:object size:0xC lbl_80547268 = .data:0x80547268; // type:object size:0x9 scope:local data:string lbl_80547278 = .data:0x80547278; // type:object size:0x9 scope:local data:string lbl_80547288 = .data:0x80547288; // type:object size:0x100 diff --git a/configure.py b/configure.py index 2cabbf62..5da06004 100644 --- a/configure.py +++ b/configure.py @@ -1216,14 +1216,19 @@ config.libs = [ Object(NonMatching, "JSystem/JParticle/JPAExTexShape.cpp"), Object(NonMatching, "JSystem/JParticle/JPADynamicsBlock.cpp"), Object(NonMatching, "JSystem/JParticle/JPAFieldBlock.cpp"), - Object(NonMatching, "JSystem/JParticle/JPAKeyBlock.cpp"), - Object(NonMatching, "JSystem/JParticle/JPATexture.cpp"), - Object(NonMatching, "JSystem/JParticle/JPAResourceLoader.cpp"), + Object(Matching, "JSystem/JParticle/JPAKeyBlock.cpp"), + Object(Matching, "JSystem/JParticle/JPATexture.cpp"), + Object(Matching, "JSystem/JParticle/JPAResourceLoader.cpp"), Object(NonMatching, "JSystem/JParticle/JPAEmitterManager.cpp"), Object(NonMatching, "JSystem/JParticle/JPAEmitter.cpp"), Object(NonMatching, "JSystem/JParticle/JPAParticle.cpp"), - Object(NonMatching, "JSystem/JParticle/JPAMath.cpp"), - Object(NonMatching, "JSystem/JSupport/JSUList.cpp"), + Object(Matching, "JSystem/JParticle/JPAMath.cpp"), + ], + ), + JSystemLib( + "JSupport", + [ + Object(Matching, "JSystem/JSupport/JSUList.cpp"), ], ), JSystemLib( diff --git a/include/egg/gfx/eggTexture.h b/include/egg/gfx/eggTexture.h index 10420822..adc9f3a2 100644 --- a/include/egg/gfx/eggTexture.h +++ b/include/egg/gfx/eggTexture.h @@ -47,6 +47,14 @@ public: setCaptureFlag(false); } + void store(const ResTIMG *p_timg) { + mTexInfo = nullptr; + mEmbPalette = nullptr; + mFlags = 0; + field_0x3c = nullptr; + storeTIMG(p_timg, (u8)0); + } + Texture(int, int, GXTexFmt, Heap *); ~Texture(); diff --git a/src/JSystem/JParticle/JPATexture.cpp b/src/JSystem/JParticle/JPATexture.cpp index 17aac802..d137b762 100644 --- a/src/JSystem/JParticle/JPATexture.cpp +++ b/src/JSystem/JParticle/JPATexture.cpp @@ -8,8 +8,8 @@ /* 8027D7D4-8027D83C 278114 0068+00 0/0 1/1 0/0 .text __ct__10JPATextureFPCUc */ JPATexture::JPATexture(u8 const* pData) { mpData = (const JPATextureData*)pData; - mTexture.storeTIMG(&mpData->mResTIMG, (u8)0); + mTexture.store(&mpData->mResTIMG); } /* 8027D83C-8027D8A0 27817C 0064+00 1/0 0/0 0/0 .text __dt__10JPATextureFv */ -JPATexture::~JPATexture() {} \ No newline at end of file +JPATexture::~JPATexture() {}