summaryrefslogtreecommitdiff
path: root/src/JSystem/JUtility/JUTResource.cpp
diff options
context:
space:
mode:
authorNoah McQueen <nzmcqueen1996@gmail.com>2023-09-10 23:17:07 -0600
committerNoah McQueen <nzmcqueen1996@gmail.com>2023-09-10 23:17:07 -0600
commitda415ac542ccdb4379cc4e35a2c636c4e42f84a2 (patch)
tree817957f6fab201846138c48d795256459c667345 /src/JSystem/JUtility/JUTResource.cpp
parentb82520becb16fa83e53c93fe7c1eebf2856c68aa (diff)
Several JSystem file matches
Diffstat (limited to 'src/JSystem/JUtility/JUTResource.cpp')
-rw-r--r--src/JSystem/JUtility/JUTResource.cpp33
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;
}