diff options
| author | Noah McQueen <nzmcqueen1996@gmail.com> | 2023-09-10 23:17:07 -0600 |
|---|---|---|
| committer | Noah McQueen <nzmcqueen1996@gmail.com> | 2023-09-10 23:17:07 -0600 |
| commit | da415ac542ccdb4379cc4e35a2c636c4e42f84a2 (patch) | |
| tree | 817957f6fab201846138c48d795256459c667345 /src/JSystem/JUtility/JUTResource.cpp | |
| parent | b82520becb16fa83e53c93fe7c1eebf2856c68aa (diff) | |
Several JSystem file matches
Diffstat (limited to 'src/JSystem/JUtility/JUTResource.cpp')
| -rw-r--r-- | src/JSystem/JUtility/JUTResource.cpp | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/JSystem/JUtility/JUTResource.cpp b/src/JSystem/JUtility/JUTResource.cpp index e1dec9d5..a47d1ee5 100644 --- a/src/JSystem/JUtility/JUTResource.cpp +++ b/src/JSystem/JUtility/JUTResource.cpp @@ -4,14 +4,39 @@ // #include "JSystem/JUtility/JUTResource.h" +#include "JSystem/JKernel/JKRArchive.h" +#include "JSystem/JSupport/JSUInputStream.h" #include "dolphin/types.h" /* 802C12DC-802C1384 .text getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive */ -void JUTResReference::getResource(JSUInputStream*, unsigned long, JKRArchive*) { - /* Nonmatching */ +void* JUTResReference::getResource(JSUInputStream* stream, u32 resType, JKRArchive* archive) { + stream->read(&mType, 1); + stream->read(&mNameLength, 1); + stream->read(&mName, mNameLength); + + if (mType == RESTYPE_Unk2 || mType == RESTYPE_Unk3 || mType == RESTYPE_Unk4) { + mName[mNameLength] = 0; + } + + return getResource(resType, archive); } /* 802C1384-802C13FC .text getResource__15JUTResReferenceFUlP10JKRArchive */ -void JUTResReference::getResource(unsigned long, JKRArchive*) { - /* Nonmatching */ +void* JUTResReference::getResource(u32 resType, JKRArchive* archive) { + void* res = NULL; + switch (mType) { + case RESTYPE_Unk1: + break; + case RESTYPE_Unk2: + res = JKRArchive::getGlbResource(resType, mName, archive); + break; + case RESTYPE_Unk3: + res = JKRFileLoader::getGlbResource(mName, archive); + break; + case RESTYPE_Unk4: + res = JKRFileLoader::getGlbResource(mName); + break; + } + + return res; } |
