diff options
author | Max <mparisi@stevens.edu> | 2020-11-07 15:14:14 -0500 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-11-07 15:14:14 -0500 |
commit | 2ac190172940c5646a8848c46a3a1f61c7cbcfa9 (patch) | |
tree | 91707d9073b46576b96b4e102f4a6803b3bf10a4 /src | |
parent | 2ae7b5c414293c202ef46942ad0fa34ad373763f (diff) |
decomp 801DDF78 and add mtx.h
Diffstat (limited to 'src')
-rw-r--r-- | src/code_801DBE90.cpp | 6 | ||||
-rw-r--r-- | src/code_801DD8C0.cpp | 1 | ||||
-rw-r--r-- | src/code_801DDF78.cpp | 141 |
3 files changed, 145 insertions, 3 deletions
diff --git a/src/code_801DBE90.cpp b/src/code_801DBE90.cpp index 7534f0d..dd99e20 100644 --- a/src/code_801DBE90.cpp +++ b/src/code_801DBE90.cpp @@ -20,7 +20,7 @@ static void func_801DBFEC(s32 p1, DVDFileInfo* p2); static void func_801DC068(s32 p1, DVDFileInfo* p2);
static void func_801DC264(void);
static s32 func_801DC7DC(void);
-static void func_801DC888(s32 p1);
+static void func_801DC888(s32 driveStatus);
static void func_801DC8E8(u32 p1);
static void func_801DC900(void);
static void func_801DC918(s32 p1, DVDCommandBlock*);
@@ -311,9 +311,9 @@ BOOL func_801DC7F8(gUnkClass5* p1, s32 offset, void (*p3)(s32, void*)) return DVDSeekAsyncPrio(&p1->unk4, offset, &func_801DC068, 2) != 0;
}
-static void func_801DC888(s32 p1)
+static void func_801DC888(s32 driveStatus)
{
- switch (p1) {
+ switch (driveStatus) {
case -1:
gUnk8063F328 = 9;
break;
diff --git a/src/code_801DD8C0.cpp b/src/code_801DD8C0.cpp index dc82f62..89c315c 100644 --- a/src/code_801DD8C0.cpp +++ b/src/code_801DD8C0.cpp @@ -166,6 +166,7 @@ void GSanimationObject::func_801DDABC(u16 id, u16 p3, float p4, float p5) }
}
+// 801DDB64
GSblendObject::GSblendObject(gUnkClass8* list) : GSanimationObject(list), unk8(NULL), unkC(0.0f)
{
if (unk4)
diff --git a/src/code_801DDF78.cpp b/src/code_801DDF78.cpp new file mode 100644 index 0000000..c826a73 --- /dev/null +++ b/src/code_801DDF78.cpp @@ -0,0 +1,141 @@ +
+
+// GScamera
+
+#include <SDK/mtx.h>
+#include "GSblendObject.h"
+
+class GSnull : public GSblendObject
+{
+ u8 unk10[0xF0]; // padding
+public:
+ u32* vptr100; // TODO: replace
+
+ GSnull(u8 p1);
+ ~GSnull();
+};
+
+class GScamera : public GSnull
+{
+ u32 unk104;
+ u32 unk108;
+
+ u8 unk10C[0x40]; // pad
+
+
+ u32 unk14C;
+ u32 unk150;
+ u32 unk154;
+ u32 unk158;
+ u32 unk15C;
+ u32 unk160;
+ u32 unk164;
+
+ float unk168;
+ float unk16C;
+
+ u8 unk170[0x8]; // pad
+
+ float unk178;
+ float unk17C;
+ float unk180;
+
+ float unk184;
+
+ float unk188;
+ float unk18C;
+ float unk190;
+ float unk194;
+ float unk198;
+ float unk19C;
+ float unk1A0;
+ float unk1A4;
+ float unk1A8;
+ float unk1AC;
+ float unk1B0;
+ float unk1B4;
+ float unk1B8;
+ float unk1BC;
+ float unk1C0;
+ float unk1C4;
+ float unk1C8;
+ float unk1CC;
+ u32 unk1D0;
+ Mtx unk1D4;
+ Mtx unk204;
+ Mtx unk234;
+
+public:
+ GScamera();
+
+};
+
+extern "C" {
+
+__declspec(section ".data") extern u32 lbl_80423358; // GScamera vtable
+
+// 801DDF78
+GScamera::GScamera() : GSnull(4)
+{
+ #if 0
+ 10.0f //f2
+ 0 // r0
+ 0.0f // f1
+ lbl_80423358 //r5
+ 1.0f // f5
+ -1.0f // f0
+ 0x109 // r4
+ 60.0f // f7
+ 1.28f //f6
+ 0.1 //f4
+ 100000.0f //f3
+ #endif
+
+ unk184 = 10.0f;
+ vptr100 = &lbl_80423358;
+ unk104 = 0x109;
+ unk108 = 0;
+
+ unk14C = 0;
+ unk150 = 0;
+ unk154 = 0;
+ unk158 = 0;
+ unk15C = 0;
+ unk160 = 0;
+ unk164 = 0;
+
+ unk168 = 60.0f;
+ unk16C = 1.28f;
+ unk178 = 1.0f;
+ unk17C = 0.1f;
+ unk180 = 100000.0f;
+ unk188 = 0.0f;
+ unk18C = 0.0f;
+ unk190 = -1.0f;
+ unk194 = 0.0f;
+ unk198 = 1.0f;
+ unk19C = 0.0f;
+ unk1A0 = 0.0f;
+ unk1A4 = 0.0f;
+ unk1A8 = 0.0f;
+ unk1AC = 0.0f;
+ unk1B0 = 0.0f;
+ unk1B4 = -1.0f;
+ unk1B8 = 0.0f;
+ unk1BC = 1.0f;
+ unk1C0 = 0.0f;
+ unk1C4 = 0.0f;
+ unk1C8 = 0.0f;
+ unk1CC = 0.0f;
+ unk1D0 = 0;
+
+ unk184 = 10.0f;
+
+ MTXIdentity(unk1D4);
+ MTXIdentity(unk204);
+ MTXIdentity(unk234);
+}
+
+
+
+}
|