Beta functions for MxVariable (#1645)

* Beta match MxVariable classes

* CustomizeAnimFileVariable
This commit is contained in:
MS
2025-07-20 23:08:26 -04:00
committed by GitHub
parent 4edd8d1214
commit b1dcc26d79
7 changed files with 56 additions and 5 deletions

View File

@@ -46,6 +46,7 @@ struct LegoActorInfo;
typedef map<char*, LegoCharacter*, LegoCharacterComparator> LegoCharacterMap; typedef map<char*, LegoCharacter*, LegoCharacterComparator> LegoCharacterMap;
// VTABLE: LEGO1 0x100da878 // VTABLE: LEGO1 0x100da878
// VTABLE: BETA10 0x101bc028
// SIZE 0x24 // SIZE 0x24
class CustomizeAnimFileVariable : public MxVariable { class CustomizeAnimFileVariable : public MxVariable {
public: public:

View File

@@ -23,6 +23,7 @@ struct ColorStringStruct {
}; };
// VTABLE: LEGO1 0x100d74a8 // VTABLE: LEGO1 0x100d74a8
// VTABLE: BETA10 0x101bc4f0
// SIZE 0x30 // SIZE 0x30
class LegoBackgroundColor : public MxVariable { class LegoBackgroundColor : public MxVariable {
public: public:
@@ -43,9 +44,11 @@ private:
}; };
// VTABLE: LEGO1 0x100d74b8 // VTABLE: LEGO1 0x100d74b8
// VTABLE: BETA10 0x101bc500
// SIZE 0x24 // SIZE 0x24
class LegoFullScreenMovie : public MxVariable { class LegoFullScreenMovie : public MxVariable {
public: public:
LegoFullScreenMovie();
LegoFullScreenMovie(const char* p_key, const char* p_value); LegoFullScreenMovie(const char* p_key, const char* p_value);
void SetValue(const char* p_option) override; // vtable+0x04 void SetValue(const char* p_option) override; // vtable+0x04

View File

@@ -17,41 +17,60 @@ extern const char* g_varVISIBILITY;
extern const char* g_varCAMERALOCATION; extern const char* g_varCAMERALOCATION;
extern const char* g_varCURSOR; extern const char* g_varCURSOR;
extern const char* g_varWHOAMI; extern const char* g_varWHOAMI;
extern const char* g_varDEBUG;
// VTABLE: LEGO1 0x100d86c8 // VTABLE: LEGO1 0x100d86c8
// VTABLE: BETA10 0x101bc980
// SIZE 0x24 // SIZE 0x24
class VisibilityVariable : public MxVariable { class VisibilityVariable : public MxVariable {
public: public:
// FUNCTION: BETA10 0x10093470
VisibilityVariable() { m_key = g_varVISIBILITY; } VisibilityVariable() { m_key = g_varVISIBILITY; }
void SetValue(const char* p_value) override; // vtable+0x04 void SetValue(const char* p_value) override; // vtable+0x04
}; };
// VTABLE: LEGO1 0x100d86b8 // VTABLE: LEGO1 0x100d86b8
// VTABLE: BETA10 0x101bc990
// SIZE 0x24 // SIZE 0x24
class CameraLocationVariable : public MxVariable { class CameraLocationVariable : public MxVariable {
public: public:
// FUNCTION: BETA10 0x10093510
CameraLocationVariable() { m_key = g_varCAMERALOCATION; } CameraLocationVariable() { m_key = g_varCAMERALOCATION; }
void SetValue(const char* p_value) override; // vtable+0x04 void SetValue(const char* p_value) override; // vtable+0x04
}; };
// VTABLE: LEGO1 0x100d86a8 // VTABLE: LEGO1 0x100d86a8
// VTABLE: BETA10 0x101bc9a0
// SIZE 0x24 // SIZE 0x24
class CursorVariable : public MxVariable { class CursorVariable : public MxVariable {
public: public:
// FUNCTION: BETA10 0x100935b0
CursorVariable() { m_key = g_varCURSOR; } CursorVariable() { m_key = g_varCURSOR; }
void SetValue(const char* p_value) override; // vtable+0x04 void SetValue(const char* p_value) override; // vtable+0x04
}; };
// VTABLE: LEGO1 0x100d8698 // VTABLE: LEGO1 0x100d8698
// VTABLE: BETA10 0x101bc9b0
// SIZE 0x24 // SIZE 0x24
class WhoAmIVariable : public MxVariable { class WhoAmIVariable : public MxVariable {
public: public:
// FUNCTION: BETA10 0x10093650
WhoAmIVariable() { m_key = g_varWHOAMI; } WhoAmIVariable() { m_key = g_varWHOAMI; }
void SetValue(const char* p_value) override; // vtable+0x04 void SetValue(const char* p_value) override; // vtable+0x04
}; };
// VTABLE: BETA10 0x101bc9c0
// SIZE 0x24
class DebugVariable : public MxVariable {
public:
// FUNCTION: BETA10 0x100936f0
DebugVariable() { m_key = g_varDEBUG; }
void SetValue(const char* p_value) override; // vtable+0x04
};
#endif // LEGOVARIABLES_H #endif // LEGOVARIABLES_H

View File

@@ -1090,6 +1090,7 @@ LegoROI* LegoCharacterManager::FUN_10085a80(const char* p_name, const char* p_lo
} }
// FUNCTION: LEGO1 0x10085aa0 // FUNCTION: LEGO1 0x10085aa0
// FUNCTION: BETA10 0x1007703d
CustomizeAnimFileVariable::CustomizeAnimFileVariable(const char* p_key) CustomizeAnimFileVariable::CustomizeAnimFileVariable(const char* p_key)
{ {
m_key = p_key; m_key = p_key;
@@ -1097,6 +1098,7 @@ CustomizeAnimFileVariable::CustomizeAnimFileVariable(const char* p_key)
} }
// FUNCTION: LEGO1 0x10085b50 // FUNCTION: LEGO1 0x10085b50
// FUNCTION: BETA10 0x100770c8
void CustomizeAnimFileVariable::SetValue(const char* p_value) void CustomizeAnimFileVariable::SetValue(const char* p_value)
{ {
// STRING: LEGO1 0x100fc4f4 // STRING: LEGO1 0x100fc4f4

View File

@@ -1334,6 +1334,11 @@ void LegoBackgroundColor::SetLightColor()
SetLightColor(convertedR, convertedG, convertedB); SetLightColor(convertedR, convertedG, convertedB);
} }
// FUNCTION: BETA10 0x10086a87
LegoFullScreenMovie::LegoFullScreenMovie()
{
}
// FUNCTION: LEGO1 0x1003c500 // FUNCTION: LEGO1 0x1003c500
// FUNCTION: BETA10 0x10086af6 // FUNCTION: BETA10 0x10086af6
LegoFullScreenMovie::LegoFullScreenMovie(const char* p_key, const char* p_value) LegoFullScreenMovie::LegoFullScreenMovie(const char* p_key, const char* p_value)

View File

@@ -6,6 +6,7 @@
#include "legonavcontroller.h" #include "legonavcontroller.h"
#include "legovideomanager.h" #include "legovideomanager.h"
#include "misc.h" #include "misc.h"
#include "mxdebug.h"
#include "roi/legoroi.h" #include "roi/legoroi.h"
DECOMP_SIZE_ASSERT(VisibilityVariable, 0x24) DECOMP_SIZE_ASSERT(VisibilityVariable, 0x24)
@@ -101,6 +102,10 @@ const char* g_nick = "Nick";
// STRING: LEGO1 0x100f39e0 // STRING: LEGO1 0x100f39e0
const char* g_laura = "Laura"; const char* g_laura = "Laura";
// GLOBAL: BETA10 0x101f6ce4
// STRING: BETA10 0x101f6d54
const char* g_varDEBUG = "DEBUG";
// FUNCTION: LEGO1 0x10037d00 // FUNCTION: LEGO1 0x10037d00
// FUNCTION: BETA10 0x100d5620 // FUNCTION: BETA10 0x100d5620
void VisibilityVariable::SetValue(const char* p_value) void VisibilityVariable::SetValue(const char* p_value)
@@ -130,6 +135,7 @@ void VisibilityVariable::SetValue(const char* p_value)
} }
// FUNCTION: LEGO1 0x10037d80 // FUNCTION: LEGO1 0x10037d80
// FUNCTION: BETA10 0x100d56ee
void CameraLocationVariable::SetValue(const char* p_value) void CameraLocationVariable::SetValue(const char* p_value)
{ {
char buffer[256]; char buffer[256];
@@ -137,22 +143,25 @@ void CameraLocationVariable::SetValue(const char* p_value)
strcpy(buffer, p_value); strcpy(buffer, p_value);
char* location = strtok(buffer, ","); char* token = strtok(buffer, ",");
NavController()->UpdateLocation(location); assert(token);
NavController()->UpdateLocation(token);
location = strtok(NULL, ","); token = strtok(NULL, ",");
if (location) { if (token) {
MxFloat pov = (MxFloat) atof(location); MxFloat pov = (MxFloat) atof(token);
VideoManager()->Get3DManager()->SetFrustrum(pov, 0.1f, 250.0f); VideoManager()->Get3DManager()->SetFrustrum(pov, 0.1f, 250.0f);
} }
} }
// FUNCTION: LEGO1 0x10037e30 // FUNCTION: LEGO1 0x10037e30
// FUNCTION: BETA10 0x100d57e2
void CursorVariable::SetValue(const char* p_value) void CursorVariable::SetValue(const char* p_value)
{ {
} }
// FUNCTION: LEGO1 0x10037e40 // FUNCTION: LEGO1 0x10037e40
// FUNCTION: BETA10 0x100d57fa
void WhoAmIVariable::SetValue(const char* p_value) void WhoAmIVariable::SetValue(const char* p_value)
{ {
MxVariable::SetValue(p_value); MxVariable::SetValue(p_value);
@@ -173,3 +182,10 @@ void WhoAmIVariable::SetValue(const char* p_value)
GameState()->SetActorId(LegoActor::c_laura); GameState()->SetActorId(LegoActor::c_laura);
} }
} }
// FUNCTION: BETA10 0x100d58fa
void DebugVariable::SetValue(const char* p_value)
{
MxVariable::SetValue(p_value);
MxTrace("%s\n", p_value);
}

View File

@@ -9,6 +9,7 @@
// SIZE 0x24 // SIZE 0x24
class MxVariable { class MxVariable {
public: public:
// FUNCTION: BETA10 0x1007b750
MxVariable() {} MxVariable() {}
// FUNCTION: BETA10 0x1012a840 // FUNCTION: BETA10 0x1012a840
@@ -41,12 +42,16 @@ public:
// FUNCTION: BETA10 0x1012a7f0 // FUNCTION: BETA10 0x1012a7f0
const MxString* GetKey() const { return &m_key; } const MxString* GetKey() const { return &m_key; }
// SYNTHETIC: BETA10 0x1007b8c0
// MxVariable::`scalar deleting destructor'
protected: protected:
MxString m_key; // 0x04 MxString m_key; // 0x04
MxString m_value; // 0x14 MxString m_value; // 0x14
}; };
// SYNTHETIC: LEGO1 0x1003bf40 // SYNTHETIC: LEGO1 0x1003bf40
// SYNTHETIC: BETA10 0x1007b910
// MxVariable::~MxVariable // MxVariable::~MxVariable
#endif // MXVARIABLE_H #endif // MXVARIABLE_H