summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-04-27 07:59:03 +0200
committerrobojumper <robojumper@gmail.com>2025-04-27 07:59:03 +0200
commit73ebfb9faec8572df4ab9bdd2d7053211c367d24 (patch)
tree88b5bf1cd3bdcff039de2ba4b2111f26d30e8d83
parent6468fc663c304663afa949fd73f4f627bad0e6b3 (diff)
JPAResourceManager OK
-rw-r--r--config/SOUE01/symbols.txt2
-rw-r--r--configure.py2
-rw-r--r--include/JSystem/JParticle/JPAResourceManager.h3
-rw-r--r--include/JSystem/JParticle/JPATexture.h8
-rw-r--r--include/JSystem/JUtility/JUTTexture.h113
-rw-r--r--src/JSystem/JParticle/JPAResourceManager.cpp6
6 files changed, 10 insertions, 124 deletions
diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt
index 0205c9b2..86b6418d 100644
--- a/config/SOUE01/symbols.txt
+++ b/config/SOUE01/symbols.txt
@@ -18416,7 +18416,7 @@ fn_80316A10 = .text:0x80316A10; // type:function size:0x8
fn_80316A20 = .text:0x80316A20; // type:function size:0x8
__ct__18JPAResourceManagerFPCvPQ23EGG4Heap = .text:0x80316A30; // type:function size:0x58
getResource__18JPAResourceManagerCFUs = .text:0x80316A90; // type:function size:0x48
-swapTexture__18JPAResourceManagerFPC7ResTIMGPCc = .text:0x80316AE0; // type:function size:0xA0
+swapTexture__18JPAResourceManagerFPCQ23EGG7ResTIMGPCc = .text:0x80316AE0; // type:function size:0xA0
registRes__18JPAResourceManagerFP11JPAResource = .text:0x80316B80; // type:function size:0x20
registTex__18JPAResourceManagerFP10JPATexture = .text:0x80316BA0; // type:function size:0x20
getResUserWork__18JPAResourceManagerCFUs = .text:0x80316BC0; // type:function size:0x44
diff --git a/configure.py b/configure.py
index 179167bf..2cabbf62 100644
--- a/configure.py
+++ b/configure.py
@@ -1208,7 +1208,7 @@ config.libs = [
JSystemLib(
"JParticle",
[
- Object(NonMatching, "JSystem/JParticle/JPAResourceManager.cpp"),
+ Object(Matching, "JSystem/JParticle/JPAResourceManager.cpp"),
Object(NonMatching, "JSystem/JParticle/JPAResource.cpp"),
Object(NonMatching, "JSystem/JParticle/JPABaseShape.cpp"),
Object(NonMatching, "JSystem/JParticle/JPAExtraShape.cpp"),
diff --git a/include/JSystem/JParticle/JPAResourceManager.h b/include/JSystem/JParticle/JPAResourceManager.h
index 51eae363..16ea8ef9 100644
--- a/include/JSystem/JParticle/JPAResourceManager.h
+++ b/include/JSystem/JParticle/JPAResourceManager.h
@@ -7,7 +7,6 @@
#include "JSystem/JParticle/JPATexture.h"
class JPAResource;
-struct ResTIMG;
/**
* @ingroup jsystem-jparticle
@@ -18,7 +17,7 @@ public:
/* 80273E10 */ JPAResourceManager(void const*, EGG::Heap*);
/* 80273E68 */ JPAResource* getResource(u16) const;
/* 80273EA8 */ bool checkUserIndexDuplication(u16) const;
- /* 80273EEC */ const ResTIMG* swapTexture(ResTIMG const*, char const*);
+ /* 80273EEC */ const EGG::ResTIMG* swapTexture(EGG::ResTIMG const*, char const*);
/* 80273F8C */ void registRes(JPAResource*);
/* 80273FAC */ void registTex(JPATexture*);
/* 80273FCC */ u32 getResUserWork(u16) const;
diff --git a/include/JSystem/JParticle/JPATexture.h b/include/JSystem/JParticle/JPATexture.h
index 193bd5b6..0088eb5c 100644
--- a/include/JSystem/JParticle/JPATexture.h
+++ b/include/JSystem/JParticle/JPATexture.h
@@ -3,7 +3,7 @@
#include "common.h"
#include "rvl/GX.h"
-#include "JSystem/JUtility/JUTTexture.h"
+#include "egg/gfx/eggTexture.h"
/**
* @ingroup jsystem-jparticle
@@ -13,7 +13,7 @@ struct JPATextureData {
// Probably magic / size / flags up top here, but they're unused.
/* 0x00 */ char field_0x00[0x0C];
/* 0x0C */ char mName[0x14];
- /* 0x20 */ ResTIMG mResTIMG;
+ /* 0x20 */ EGG::ResTIMG mResTIMG;
};
/**
@@ -27,11 +27,11 @@ public:
void load(GXTexMapID texMapID) { mTexture.load(texMapID); }
- JUTTexture* getJUTTexture() { return &mTexture; }
+ EGG::Texture* getJUTTexture() { return &mTexture; }
const char* getName() const { return mpData->mName; }
public:
- JUTTexture mTexture;
+ EGG::Texture mTexture;
const JPATextureData* mpData;
};
diff --git a/include/JSystem/JUtility/JUTTexture.h b/include/JSystem/JUtility/JUTTexture.h
deleted file mode 100644
index 10577e57..00000000
--- a/include/JSystem/JUtility/JUTTexture.h
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef JUTTEXTURE_H
-#define JUTTEXTURE_H
-
-#include "rvl/GX.h"
-
-class JUTPalette;
-
-/**
-* @ingroup jsystem-jutility
-* @brief Image data header.
-*
-* Acts as the header to image data. Usually texture data immediately follows it,
-* so any pointer arithmetic to go past the end of this structure is so that a
-* variable sized allocated buffer can be accessed.
-*
-*/
-struct ResTIMG {
- /* 0x00 */ u8 format;
- /* 0x01 */ u8 alphaEnabled;
- /* 0x02 */ u16 width;
- /* 0x04 */ u16 height;
- /* 0x06 */ u8 wrapS;
- /* 0x07 */ u8 wrapT;
- /* 0x08 */ u8 indexTexture;
- /* 0x09 */ u8 colorFormat;
- /* 0x0A */ u16 numColors;
- /* 0x0C */ u32 paletteOffset;
- /* 0x10 */ u8 mipmapEnabled;
- /* 0x11 */ u8 doEdgeLOD;
- /* 0x12 */ u8 biasClamp;
- /* 0x13 */ u8 maxAnisotropy;
- /* 0x14 */ u8 minFilter;
- /* 0x15 */ u8 magFilter;
- /* 0x16 */ s8 minLOD;
- /* 0x17 */ s8 maxLOD;
- /* 0x18 */ u8 mipmapCount;
- /* 0x19 */ u8 unknown;
- /* 0x1A */ s16 LODBias;
- /* 0x1C */ u32 imageOffset;
-}; // Size: 0x20
-
-/**
-* @ingroup jsystem-jutility
-*
-*/
-class JUTTexture {
-public:
- JUTTexture() {
- setCaptureFlag(false);
- mEmbPalette = NULL;
- mTexInfo = NULL;
- }
-
- JUTTexture(const ResTIMG* p_timg, u8 param_1) {
- mEmbPalette = NULL;
- storeTIMG(p_timg, param_1);
- setCaptureFlag(false);
- }
-
- ~JUTTexture();
- void storeTIMG(ResTIMG const*, JUTPalette*, _GXTlut);
- void storeTIMG(ResTIMG const*, u8);
- void storeTIMG(ResTIMG const*, JUTPalette*);
- void attachPalette(JUTPalette*);
- void init();
- void initTexObj(_GXTlut);
- void initTexObj();
- void load(_GXTexMapID);
-
- const ResTIMG* getTexInfo() const { return mTexInfo; }
- s32 getFormat() const { return mTexInfo->format; }
- s32 getTransparency() { return mTexInfo->alphaEnabled; }
- s32 getWidth() const { return mTexInfo->width; }
- s32 getHeight() const { return mTexInfo->height; }
- void setCaptureFlag(bool flag) { mFlags &= 2 | flag; }
- u8 getCaptureFlag() const { return mFlags & 1; }
- u8 getEmbPaletteDelFlag() const { return mFlags & 2; }
- void setEmbPaletteDelFlag(bool flag) { mFlags = (mFlags & 1) | (flag << 1);}
- u8 getTlutName() const { return mTlutName; }
- bool operator==(const JUTTexture& other) {
- return mTexInfo == other.mTexInfo
- && field_0x2c == other.field_0x2c
- && mWrapS == other.mWrapS
- && mWrapT == other.mWrapT
- && mMinFilter == other.mMinFilter
- && mMagFilter == other.mMagFilter
- && mMinLOD == other.mMinLOD
- && mMinLOD == other.mMinLOD
- && mLODBias == other.mLODBias;
- }
- bool operator!=(const JUTTexture& other) {
- return !operator==(other);
- }
-
-private:
- /* 0x00 */ GXTexObj mTexObj;
- /* 0x20 */ const ResTIMG* mTexInfo;
- /* 0x24 */ void* mTexData;
- /* 0x28 */ JUTPalette* mEmbPalette;
- /* 0x2C */ JUTPalette* field_0x2c;
- /* 0x30 */ u8 mWrapS;
- /* 0x31 */ u8 mWrapT;
- /* 0x32 */ u8 mMinFilter;
- /* 0x33 */ u8 mMagFilter;
- /* 0x34 */ u16 mMinLOD;
- /* 0x36 */ u16 mMaxLOD;
- /* 0x38 */ s16 mLODBias;
- /* 0x3A */ u8 mTlutName;
- /* 0x3B */ u8 mFlags;
- /* 0x3C */ void* field_0x3c;
-};
-
-#endif /* JUTTEXTURE_H */
diff --git a/src/JSystem/JParticle/JPAResourceManager.cpp b/src/JSystem/JParticle/JPAResourceManager.cpp
index 5b6fe662..aa7ae31b 100644
--- a/src/JSystem/JParticle/JPAResourceManager.cpp
+++ b/src/JSystem/JParticle/JPAResourceManager.cpp
@@ -43,12 +43,12 @@ bool JPAResourceManager::checkUserIndexDuplication(u16 usrIdx) const {
/* 80273EEC-80273F8C 26E82C 00A0+00 0/0 2/2 0/0 .text
* swapTexture__18JPAResourceManagerFPC7ResTIMGPCc */
-const ResTIMG* JPAResourceManager::swapTexture(ResTIMG const* img, char const* swapName) {
- const ResTIMG* ret = NULL;
+const EGG::ResTIMG* JPAResourceManager::swapTexture(EGG::ResTIMG const* img, char const* swapName) {
+ const EGG::ResTIMG* ret = NULL;
for (s32 i = 0; i < mTexNum; i++) {
if (strcmp(swapName, mpTexArr[i]->getName()) == 0) {
- JUTTexture* tex = mpTexArr[i]->getJUTTexture();
+ EGG::Texture* tex = mpTexArr[i]->getJUTTexture();
ret = tex->getTexInfo();
tex->storeTIMG(img, (u8)0);
break;