diff options
author | Max <mparisi@stevens.edu> | 2020-10-29 14:27:37 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-10-29 14:27:37 -0400 |
commit | 47a1bdea8872c79dd2cd7d75ca7f254b9ed13170 (patch) | |
tree | f254bbac3fde59afbc4abe7f07ea763bed53b20c /src/code_801DCE6C.cpp | |
parent | f13fcff4a5f496e8bc1fa4ff759698d9ac37c478 (diff) |
match up to func_801DCFE4, add string.h and stdlib.h, add types.h to Makefile include path, and move GameSpy under DWC
Diffstat (limited to 'src/code_801DCE6C.cpp')
-rw-r--r-- | src/code_801DCE6C.cpp | 52 |
1 files changed, 47 insertions, 5 deletions
diff --git a/src/code_801DCE6C.cpp b/src/code_801DCE6C.cpp index 8bf56a7..866f9a9 100644 --- a/src/code_801DCE6C.cpp +++ b/src/code_801DCE6C.cpp @@ -1,16 +1,22 @@ -#include "types.h"
#include "ctorStruct.h"
#include "code_801DCE6C.h"
-#include "Runtime/__mem.h"
+#include <string.h>
+
+// NAND wrapper class
+
extern "C" {
+
+// TODO: convert to class member functions
-char* func_801DCE6C(gUnkClass4* p1)
+//static
+char* func_801DCE6C(gUnkClass6* p1)
{
return p1->unk7;
}
-char* func_801DCE74(gUnkClass4* p1)
+//static
+char* func_801DCE74(gUnkClass6* p1)
{
return p1->unk2;
}
@@ -20,6 +26,42 @@ gUnkClass4::gUnkClass4(void) memset(this, 0, sizeof(gUnkClass4));
}
-// ...
+// search the array
+//static
+gUnkClass6* func_801DCEB4(gUnkClass4* p1, const char* p2)
+{
+ char sp8[13]; // 0xD ~ 0x10 byte struct
+ memcpy(&sp8, p2, 12);
+ sp8[12] = '\0';
+
+ gUnkClass6* p = p1->arr;
+ for (s32 i = 0; i < 8; p++, i++)
+ if (p->unk0 && !p->unk1 && !strcmp(func_801DCE6C(p), sp8))
+ return p;
+
+ return NULL;
+}
+
+// just indicate if search succeeded
+BOOL func_801DCF48(gUnkClass4* p1, const char* p2)
+{
+ return func_801DCEB4(p1, p2) != NULL;
+}
+
+BOOL func_801DCF74(gUnkClass4* p1, const char* fileName, gUnkClass5* fp)
+{
+ gUnkClass6* r31 = func_801DCEB4(p1, fileName);
+ if (r31 && NANDOpen(func_801DCE74(r31), &r31->unk48, 1) == 0) {
+ fp->unk4.unk3C = r31;
+ fp->unk1 = 1;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+
+
+
} //extern "C"
|