summaryrefslogtreecommitdiff
path: root/src/code_801DD5C8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/code_801DD5C8.cpp')
-rw-r--r--src/code_801DD5C8.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/code_801DD5C8.cpp b/src/code_801DD5C8.cpp
index f91832a..7fb6cc4 100644
--- a/src/code_801DD5C8.cpp
+++ b/src/code_801DD5C8.cpp
@@ -3,14 +3,15 @@
static ctorStruct gUnk8063F348(1, 4, 0);
+// gUnkClass7 implementation
+
extern "C" {
void func_801DD5C8(gUnkClass7* p1, float p2)
{
if (!p1->unk0 || !(p1->unk6 & 0x1) || (p1->unk6 & 0x8))
return;
- float f3 = p1->unk8;
- p1->unkC += p2 * f3;
+ p1->unkC += p2 * p1->unk8;
if (p1->unkC < 0.0f) {
p1->unk6 |= 0x4;
switch (p1->unk4) {
@@ -29,10 +30,10 @@ void func_801DD5C8(gUnkClass7* p1, float p2)
p1->unkC = f2 * (1.0f - f4);
} else {
p1->unkC = f2 * f4;
- p1->unk8 = -f3;
+ p1->unk8 = -p1->unk8;
}
} else {
- p1->unk8 = -f3;
+ p1->unk8 = -p1->unk8;
}
break;
default:
@@ -54,7 +55,7 @@ void func_801DD5C8(gUnkClass7* p1, float p2)
f4 -= r5;
if (((r5 & 0x1) ^ ((u32)r5 >> 31 & 0x1)) - ((u32)r5 >> 31 & 0x1) != 0) {
float temp = f2 * (1.0f - f4);
- p1->unk8 = -f3;
+ p1->unk8 = -p1->unk8;
p1->unkC = temp;
} else {
p1->unkC = f2 * f4;
@@ -69,7 +70,7 @@ void func_801DD5C8(gUnkClass7* p1, float p2)
p1->unk6 |= 0x2;
}
-void func_801DD7FC(gUnkClass7* p1, u32 p2, u32 p3)
+void func_801DD7FC(gUnkClass7* p1, void* p2, u32 p3)
{
if (!p1->unk0 || !(p1->unk6 & 0x2))
return;