Improve UnknownMx4DPointFloat::Unknown7 match, add BETA10

This commit is contained in:
jonschz 2024-12-19 21:39:25 +01:00
parent cc041a7976
commit 80f0433346
3 changed files with 25 additions and 15 deletions

View File

@ -48,6 +48,7 @@ class HelicopterState : public LegoState {
}; };
// VTABLE: LEGO1 0x100d40f8 // VTABLE: LEGO1 0x100d40f8
// VTABLE: BETA10 0x101b9880
// SIZE 0x230 // SIZE 0x230
class Helicopter : public IslePathActor { class Helicopter : public IslePathActor {
public: public:
@ -55,6 +56,7 @@ class Helicopter : public IslePathActor {
~Helicopter() override; // vtable+0x00 ~Helicopter() override; // vtable+0x00
// FUNCTION: LEGO1 0x10003070 // FUNCTION: LEGO1 0x10003070
// FUNCTION: BETA10 0x1002b300
const char* ClassName() const override // vtable+0x0c const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0130 // STRING: LEGO1 0x100f0130
@ -62,6 +64,7 @@ class Helicopter : public IslePathActor {
} }
// FUNCTION: LEGO1 0x10003080 // FUNCTION: LEGO1 0x10003080
// FUNCTION: BETA10 0x1002b330
MxBool IsA(const char* p_name) const override // vtable+0x10 MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name); return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name);

View File

@ -115,6 +115,7 @@ class UnknownMx4DPointFloat {
m_unk0x30 |= c_bit1; m_unk0x30 |= c_bit1;
} }
// FUNCTION: LEGO1 0x10004620
// FUNCTION: BETA10 0x1004aa30 // FUNCTION: BETA10 0x1004aa30
void Unknown3(Matrix4& p_m) void Unknown3(Matrix4& p_m)
{ {
@ -141,7 +142,7 @@ class UnknownMx4DPointFloat {
undefined4 GetUnknown0x30() const { return m_unk0x30; } undefined4 GetUnknown0x30() const { return m_unk0x30; }
inline int Unknown6(Matrix4& p_matrix, float p_f); inline int Unknown6(Matrix4& p_matrix, float p_f);
inline void Unknown7(); inline long Unknown7();
private: private:
inline int FUN_100040a0(Vector4& p_v, float p_f); inline int FUN_100040a0(Vector4& p_v, float p_f);
@ -165,9 +166,13 @@ int UnknownMx4DPointFloat::Unknown6(Matrix4& p_matrix, float p_f)
} }
} }
inline void UnknownMx4DPointFloat::Unknown7() // FUNCTION: LEGO1 0x10004520
inline long UnknownMx4DPointFloat::Unknown7()
{ {
if (m_unk0x30) { if (!m_unk0x30) {
return -1;
}
Mx4DPointFloat v1; Mx4DPointFloat v1;
Mx4DPointFloat v2; Mx4DPointFloat v2;
@ -180,7 +185,8 @@ inline void UnknownMx4DPointFloat::Unknown7()
if (v1.Dot(&v1, &v1) < v2.Dot(&v2, &v2)) { if (v1.Dot(&v1, &v1) < v2.Dot(&v2, &v2)) {
m_unk0x18 *= -1.0f; m_unk0x18 *= -1.0f;
} }
}
return 0;
} }
// FUNCTION: LEGO1 0x100040a0 // FUNCTION: LEGO1 0x100040a0

View File

@ -31,5 +31,6 @@ targets:
- LegoWorld - LegoWorld
ignore-functions: ignore-functions:
# strcpy, strlen, ... (arguments are imported incorrectly) # strcpy, strlen, ... (arguments are imported incorrectly)
- 0x100f8ad0
- 0x100fa200 - 0x100fa200
- 0x100f9780 - 0x100f9780