Run clang-format

This commit is contained in:
Anonymous Maarten 2024-02-03 00:12:59 +01:00
parent b602c11c4a
commit 2778938be2
3 changed files with 340 additions and 331 deletions

View File

@ -2,7 +2,6 @@
#define ACT1STATE_H #define ACT1STATE_H
#include "legostate.h" #include "legostate.h"
#include "misc/legotexture.h" #include "misc/legotexture.h"
#include "roi/legoroi.h" #include "roi/legoroi.h"
@ -43,74 +42,72 @@ class Act1State : public LegoState {
// SYNTHETIC: LEGO1 0x10033960 // SYNTHETIC: LEGO1 0x10033960
// Act1State::`scalar deleting destructor' // Act1State::`scalar deleting destructor'
// SIZE 0x4c // SIZE 0x4c
class NamedPlane { class NamedPlane {
public: public:
// FUNCTION: LEGO1 0x10033800 // FUNCTION: LEGO1 0x10033800
NamedPlane() { } NamedPlane() {}
inline void SetName(const char *name) { m_name = name; } inline void SetName(const char* name) { m_name = name; }
inline const MxString *GetName() const { return &m_name; } inline const MxString* GetName() const { return &m_name; }
int Serialize(LegoFile *p_file); int Serialize(LegoFile* p_file);
private: private:
MxString m_name; // 0x00 MxString m_name; // 0x00
Mx3DPointFloat m_point1; // 0x10 Mx3DPointFloat m_point1; // 0x10
Mx3DPointFloat m_point2; // 0x24 Mx3DPointFloat m_point2; // 0x24
Mx3DPointFloat m_point3; // 0x38 Mx3DPointFloat m_point3; // 0x38
}; };
// SIZE 0x14
class NamedTexture {
public:
~NamedTexture() { delete m_texture; }
// FUNCTION: LEGO1 0x1003f920
const MxString* GetName() const { return &m_name; }
LegoTexture* GetTexture() { return m_texture; }
private:
MxString m_name; // 0x00
LegoTexture* m_texture; // 0x4
};
// SIZE 0x14
class NamedTexture {
public:
~NamedTexture() {
delete m_texture;
}
// FUNCTION: LEGO1 0x1003f920
const MxString *GetName() const {
return &m_name;
}
LegoTexture *GetTexture() { return m_texture; }
private:
MxString m_name; // 0x00
LegoTexture *m_texture; // 0x4
};
protected: protected:
int *m_unk0x008; // 0x008 int* m_unk0x008; // 0x008
// FIXME: count for m_unk0x008 // FIXME: count for m_unk0x008
MxS16 m_unk0x00c; // 0x00c MxS16 m_unk0x00c; // 0x00c
undefined2 m_unk0x00e; // 0x00e undefined2 m_unk0x00e; // 0x00e
undefined2 m_unk0x010; // 0x010 undefined2 m_unk0x010; // 0x010
undefined m_unk0x012; // 0x012 undefined m_unk0x012; // 0x012
MxS32 m_unk0x014; // 0x014 MxS32 m_unk0x014; // 0x014
MxU32 m_unk0x018; // 0x018 MxU32 m_unk0x018; // 0x018
MxU16 m_unk0x01c; // 0x01c MxU16 m_unk0x01c; // 0x01c
undefined m_unk0x01e; // 0x01e undefined m_unk0x01e; // 0x01e
undefined m_unk0x01f; // 0x01f undefined m_unk0x01f; // 0x01f
undefined m_unk0x020; // 0x020 undefined m_unk0x020; // 0x020
undefined m_unk0x021; // 0x021 undefined m_unk0x021; // 0x021
undefined m_unk0x022; // 0x022 undefined m_unk0x022; // 0x022
undefined m_unk0x023; // 0x023 undefined m_unk0x023; // 0x023
NamedPlane m_unk0x024; // 0x024 NamedPlane m_unk0x024; // 0x024
NamedPlane m_unk0x070; // 0x070 NamedPlane m_unk0x070; // 0x070
NamedPlane m_unk0x0bc; // 0x0bc NamedPlane m_unk0x0bc; // 0x0bc
NamedPlane m_unk0x108; // 0x108 NamedPlane m_unk0x108; // 0x108
NamedTexture *m_unk0x154; // 0x154 NamedTexture* m_unk0x154; // 0x154
NamedTexture *m_unk0x158; // 0x158 NamedTexture* m_unk0x158; // 0x158
NamedTexture *m_unk0x15c; // 0x15c NamedTexture* m_unk0x15c; // 0x15c
MxCore *m_unk0x160; // 0x160 MxCore* m_unk0x160; // 0x160
NamedPlane m_unk0x164; // 0x164 NamedPlane m_unk0x164; // 0x164
NamedTexture *m_unk0x1b0; // 0x1b0 NamedTexture* m_unk0x1b0; // 0x1b0
NamedTexture *m_unk0x1b4; // 0x1b4 NamedTexture* m_unk0x1b4; // 0x1b4
MxCore *m_unk0x1b8; // 0x1b8 MxCore* m_unk0x1b8; // 0x1b8
NamedPlane m_unk0x1bc; // 0x1bc NamedPlane m_unk0x1bc; // 0x1bc
NamedTexture *m_unk0x208; // 0x208 NamedTexture* m_unk0x208; // 0x208
MxCore *m_unk0x20c; // 0x20c MxCore* m_unk0x20c; // 0x20c
NamedPlane m_unk0x210; // 0x210 NamedPlane m_unk0x210; // 0x210
NamedTexture *m_unk0x25c; // 0x25c NamedTexture* m_unk0x25c; // 0x25c
NamedTexture *m_unk0x260; // 0x260 NamedTexture* m_unk0x260; // 0x260
NamedTexture *m_unk0x264; // 0x264 NamedTexture* m_unk0x264; // 0x264
MxCore *m_unk0x268; // 0x268 MxCore* m_unk0x268; // 0x268
}; };
#endif // ACT1STATE_H #endif // ACT1STATE_H

View File

@ -7,242 +7,266 @@ DECOMP_SIZE_ASSERT(Act1State::NamedTexture, 0x14)
#define isle_asize(ARR) (sizeof(ARR) / sizeof((ARR)[0])) #define isle_asize(ARR) (sizeof(ARR) / sizeof((ARR)[0]))
// Forward declarations // Forward declarations
Act1State::NamedTexture *ReadNamedTexture(LegoFile *p_file); Act1State::NamedTexture* ReadNamedTexture(LegoFile* p_file);
void WriteNamedTexture(LegoFile *p_file, Act1State::NamedTexture *p_texture); void WriteNamedTexture(LegoFile* p_file, Act1State::NamedTexture* p_texture);
void FUN_1003f540(LegoFile *p_file, const char *p_filename); void FUN_1003f540(LegoFile* p_file, const char* p_filename);
enum { enum {
eUnk_953 = 953, eUnk_953 = 953,
eUnk_954 = 954, eUnk_954 = 954,
eUnk_955 = 955, eUnk_955 = 955,
}; };
// GLOBAL: ISLE 0x100f37f0 // GLOBAL: ISLE 0x100f37f0
int g_act1_ints[] = { int g_act1_ints[] = {
eUnk_953, eUnk_953,
eUnk_954, eUnk_954,
eUnk_955, eUnk_955,
}; };
// STUB: LEGO1 0x100334b0 // STUB: LEGO1 0x100334b0
Act1State::Act1State() Act1State::Act1State() : m_unk0x00c(0), m_unk0x00e(0), m_unk0x008(NULL), m_unk0x010(0)
: m_unk0x00c(0)
, m_unk0x00e(0)
, m_unk0x008(NULL)
, m_unk0x010(0)
{ {
m_unk0x01e = 0; m_unk0x01e = 0;
m_unk0x018 = 1; m_unk0x018 = 1;
m_unk0x010 = 0; m_unk0x010 = 0;
m_unk0x020 = 0; m_unk0x020 = 0;
m_unk0x00e = 0; m_unk0x00e = 0;
m_unk0x01f = 0; m_unk0x01f = 0;
m_unk0x008 = g_act1_ints; m_unk0x008 = g_act1_ints;
m_unk0x014 = -1; m_unk0x014 = -1;
m_unk0x022 = 0; m_unk0x022 = 0;
m_unk0x154 = NULL; m_unk0x154 = NULL;
m_unk0x158 = NULL; m_unk0x158 = NULL;
m_unk0x15c = NULL; m_unk0x15c = NULL;
m_unk0x160 = NULL; m_unk0x160 = NULL;
m_unk0x1b0 = NULL; m_unk0x1b0 = NULL;
m_unk0x021 = 1; m_unk0x021 = 1;
m_unk0x01c = 1; m_unk0x01c = 1;
m_unk0x00c = isle_asize(g_act1_ints); m_unk0x00c = isle_asize(g_act1_ints);
m_unk0x1b4 = NULL; m_unk0x1b4 = NULL;
m_unk0x1b8 = NULL; m_unk0x1b8 = NULL;
m_unk0x208 = NULL; m_unk0x208 = NULL;
m_unk0x20c = NULL; m_unk0x20c = NULL;
m_unk0x25c = NULL; m_unk0x25c = NULL;
m_unk0x260 = NULL; m_unk0x260 = NULL;
m_unk0x264 = NULL; m_unk0x264 = NULL;
m_unk0x268 = NULL; m_unk0x268 = NULL;
SetFlag(); SetFlag();
} }
// FUNCTION: LEGO1 0x10033ac0 // FUNCTION: LEGO1 0x10033ac0
MxResult Act1State::VTable0x1c(LegoFile* p_legoFile) MxResult Act1State::VTable0x1c(LegoFile* p_legoFile)
{ {
if (p_legoFile->IsWriteMode()) { if (p_legoFile->IsWriteMode()) {
p_legoFile->FUN_10006030(ClassName()); p_legoFile->FUN_10006030(ClassName());
} }
m_unk0x024.Serialize(p_legoFile); m_unk0x024.Serialize(p_legoFile);
m_unk0x070.Serialize(p_legoFile); m_unk0x070.Serialize(p_legoFile);
m_unk0x0bc.Serialize(p_legoFile); m_unk0x0bc.Serialize(p_legoFile);
m_unk0x108.Serialize(p_legoFile); m_unk0x108.Serialize(p_legoFile);
m_unk0x164.Serialize(p_legoFile); m_unk0x164.Serialize(p_legoFile);
m_unk0x1bc.Serialize(p_legoFile); m_unk0x1bc.Serialize(p_legoFile);
m_unk0x210.Serialize(p_legoFile); m_unk0x210.Serialize(p_legoFile);
if (p_legoFile->IsWriteMode()) { if (p_legoFile->IsWriteMode()) {
if (m_unk0x108.GetName()->Compare("") != 0) { if (m_unk0x108.GetName()->Compare("") != 0) {
if (m_unk0x154) { if (m_unk0x154) {
WriteNamedTexture(p_legoFile, m_unk0x154); WriteNamedTexture(p_legoFile, m_unk0x154);
} else { }
FUN_1003f540(p_legoFile, "chwind.gif"); else {
} FUN_1003f540(p_legoFile, "chwind.gif");
if (m_unk0x158) { }
WriteNamedTexture(p_legoFile, m_unk0x158); if (m_unk0x158) {
} else { WriteNamedTexture(p_legoFile, m_unk0x158);
FUN_1003f540(p_legoFile, "chjetl.gif"); }
} else {
if (m_unk0x15c) { FUN_1003f540(p_legoFile, "chjetl.gif");
WriteNamedTexture(p_legoFile, m_unk0x15c); }
} else { if (m_unk0x15c) {
FUN_1003f540(p_legoFile, "chjetr.gif"); WriteNamedTexture(p_legoFile, m_unk0x15c);
} }
} else {
if (m_unk0x164.GetName()->Compare("") != 0) { FUN_1003f540(p_legoFile, "chjetr.gif");
if (m_unk0x1b0) { }
WriteNamedTexture(p_legoFile, m_unk0x1b0); }
} else { if (m_unk0x164.GetName()->Compare("") != 0) {
FUN_1003f540(p_legoFile, "jsfrnt.gif"); if (m_unk0x1b0) {
} WriteNamedTexture(p_legoFile, m_unk0x1b0);
if (m_unk0x1b4) { }
WriteNamedTexture(p_legoFile, m_unk0x1b4); else {
} else { FUN_1003f540(p_legoFile, "jsfrnt.gif");
FUN_1003f540(p_legoFile, "jswnsh.gif"); }
} if (m_unk0x1b4) {
} WriteNamedTexture(p_legoFile, m_unk0x1b4);
if (m_unk0x1bc.GetName()->Compare("") != 0) { }
if (m_unk0x208) { else {
WriteNamedTexture(p_legoFile, m_unk0x208); FUN_1003f540(p_legoFile, "jswnsh.gif");
} else { }
FUN_1003f540(p_legoFile, "dbfrfn.gif"); }
} if (m_unk0x1bc.GetName()->Compare("") != 0) {
} if (m_unk0x208) {
if (m_unk0x210.GetName()->Compare("") != 0) { WriteNamedTexture(p_legoFile, m_unk0x208);
if (m_unk0x25c) { }
WriteNamedTexture(p_legoFile, m_unk0x25c); else {
} else { FUN_1003f540(p_legoFile, "dbfrfn.gif");
FUN_1003f540(p_legoFile, "rcfrnt.gif"); }
} }
if (m_unk0x260) { if (m_unk0x210.GetName()->Compare("") != 0) {
WriteNamedTexture(p_legoFile, m_unk0x260); if (m_unk0x25c) {
} else { WriteNamedTexture(p_legoFile, m_unk0x25c);
FUN_1003f540(p_legoFile, "rcback.gif"); }
} else {
if (m_unk0x264) { FUN_1003f540(p_legoFile, "rcfrnt.gif");
WriteNamedTexture(p_legoFile, m_unk0x264); }
} else { if (m_unk0x260) {
FUN_1003f540(p_legoFile, "rctail.gif"); WriteNamedTexture(p_legoFile, m_unk0x260);
} }
} else {
p_legoFile->Write(&m_unk0x010, sizeof(undefined2)); FUN_1003f540(p_legoFile, "rcback.gif");
p_legoFile->Write(&m_unk0x022, sizeof(undefined)); }
} else if (p_legoFile->IsReadMode()) { if (m_unk0x264) {
if (m_unk0x108.GetName()->Compare("") != 0) { WriteNamedTexture(p_legoFile, m_unk0x264);
m_unk0x154 = ReadNamedTexture(p_legoFile); }
if (m_unk0x154 == NULL) { else {
return FAILURE; FUN_1003f540(p_legoFile, "rctail.gif");
} }
m_unk0x158 = ReadNamedTexture(p_legoFile); }
if (m_unk0x158 == NULL) { p_legoFile->Write(&m_unk0x010, sizeof(undefined2));
return FAILURE; p_legoFile->Write(&m_unk0x022, sizeof(undefined));
} }
m_unk0x15c = ReadNamedTexture(p_legoFile); else if (p_legoFile->IsReadMode()) {
if (m_unk0x15c == NULL) { if (m_unk0x108.GetName()->Compare("") != 0) {
return FAILURE; m_unk0x154 = ReadNamedTexture(p_legoFile);
} if (m_unk0x154 == NULL) {
} return FAILURE;
if (m_unk0x164.GetName()->Compare("") != 0) { }
m_unk0x1b0 = ReadNamedTexture(p_legoFile); m_unk0x158 = ReadNamedTexture(p_legoFile);
if (m_unk0x1b0 == NULL) { if (m_unk0x158 == NULL) {
return FAILURE; return FAILURE;
} }
m_unk0x1b4 = ReadNamedTexture(p_legoFile); m_unk0x15c = ReadNamedTexture(p_legoFile);
if (m_unk0x1b4 == NULL) { if (m_unk0x15c == NULL) {
return FAILURE; return FAILURE;
} }
} }
if (m_unk0x1bc.GetName()->Compare("") != 0) { if (m_unk0x164.GetName()->Compare("") != 0) {
m_unk0x208 = ReadNamedTexture(p_legoFile); m_unk0x1b0 = ReadNamedTexture(p_legoFile);
if (m_unk0x208 == NULL) { if (m_unk0x1b0 == NULL) {
return FAILURE; return FAILURE;
} }
} m_unk0x1b4 = ReadNamedTexture(p_legoFile);
if (m_unk0x210.GetName()->Compare("") != 0) { if (m_unk0x1b4 == NULL) {
m_unk0x25c = ReadNamedTexture(p_legoFile); return FAILURE;
if (m_unk0x25c == NULL) { }
return FAILURE; }
} if (m_unk0x1bc.GetName()->Compare("") != 0) {
m_unk0x260 = ReadNamedTexture(p_legoFile); m_unk0x208 = ReadNamedTexture(p_legoFile);
if (m_unk0x260 == NULL) { if (m_unk0x208 == NULL) {
return FAILURE; return FAILURE;
} }
m_unk0x264 = ReadNamedTexture(p_legoFile); }
if (m_unk0x264 == NULL) { if (m_unk0x210.GetName()->Compare("") != 0) {
return FAILURE; m_unk0x25c = ReadNamedTexture(p_legoFile);
} if (m_unk0x25c == NULL) {
} return FAILURE;
p_legoFile->Read(&m_unk0x010, sizeof(undefined2)); }
p_legoFile->Read(&m_unk0x022, sizeof(undefined)); m_unk0x260 = ReadNamedTexture(p_legoFile);
} if (m_unk0x260 == NULL) {
return FAILURE;
}
m_unk0x264 = ReadNamedTexture(p_legoFile);
if (m_unk0x264 == NULL) {
return FAILURE;
}
}
p_legoFile->Read(&m_unk0x010, sizeof(undefined2));
p_legoFile->Read(&m_unk0x022, sizeof(undefined));
}
// TODO // TODO
return SUCCESS; return SUCCESS;
} }
// FUNCTION: LEGO1 0x100344d0
int Act1State::NamedPlane::Serialize(LegoFile* p_file)
{
if (p_file->IsWriteMode()) {
p_file->FUN_10006030(m_name);
p_file->WriteVector3(m_point1);
p_file->WriteVector3(m_point2);
p_file->WriteVector3(m_point3);
}
else if (p_file->IsReadMode()) {
p_file->ReadString(&m_name);
p_file->ReadVector3(&m_point1);
p_file->ReadVector3(&m_point2);
p_file->ReadVector3(&m_point3);
}
return 0;
}
// FUNCTION: LEGO1 0x100346d0 // FUNCTION: LEGO1 0x100346d0
MxBool Act1State::SetFlag() MxBool Act1State::SetFlag()
{ {
m_unk0x024.SetName(""); m_unk0x024.SetName("");
m_unk0x070.SetName(""); m_unk0x070.SetName("");
m_unk0x0bc.SetName(""); m_unk0x0bc.SetName("");
m_unk0x022 = 0; m_unk0x022 = 0;
m_unk0x108.SetName(""); m_unk0x108.SetName("");
if (m_unk0x154) { if (m_unk0x154) {
delete m_unk0x154; delete m_unk0x154;
m_unk0x154 = NULL; m_unk0x154 = NULL;
} }
if (m_unk0x158) { if (m_unk0x158) {
delete m_unk0x158; delete m_unk0x158;
m_unk0x158 = NULL; m_unk0x158 = NULL;
} }
if (m_unk0x15c) { if (m_unk0x15c) {
delete m_unk0x15c; delete m_unk0x15c;
m_unk0x15c = NULL; m_unk0x15c = NULL;
} }
if (m_unk0x160) { if (m_unk0x160) {
delete m_unk0x160; delete m_unk0x160;
m_unk0x160 = NULL; m_unk0x160 = NULL;
} }
m_unk0x164.SetName(""); m_unk0x164.SetName("");
if (m_unk0x1b0) { if (m_unk0x1b0) {
delete m_unk0x1b0; delete m_unk0x1b0;
m_unk0x1b0 = NULL; m_unk0x1b0 = NULL;
} }
if (m_unk0x1b4) { if (m_unk0x1b4) {
delete m_unk0x1b4; delete m_unk0x1b4;
m_unk0x1b4 = NULL; m_unk0x1b4 = NULL;
} }
if (m_unk0x1b8) { if (m_unk0x1b8) {
delete m_unk0x1b8; delete m_unk0x1b8;
m_unk0x1b8 = NULL; m_unk0x1b8 = NULL;
} }
m_unk0x1bc.SetName(""); m_unk0x1bc.SetName("");
if (m_unk0x208) { if (m_unk0x208) {
delete m_unk0x208; delete m_unk0x208;
m_unk0x208 = NULL; m_unk0x208 = NULL;
} }
if (m_unk0x20c) { if (m_unk0x20c) {
delete m_unk0x20c; delete m_unk0x20c;
m_unk0x20c = NULL; m_unk0x20c = NULL;
} }
m_unk0x210.SetName(""); m_unk0x210.SetName("");
if (m_unk0x25c) { if (m_unk0x25c) {
delete m_unk0x25c; delete m_unk0x25c;
m_unk0x25c = NULL; m_unk0x25c = NULL;
} }
if (m_unk0x260) { if (m_unk0x260) {
delete m_unk0x260; delete m_unk0x260;
m_unk0x260 = NULL; m_unk0x260 = NULL;
} }
if (m_unk0x264) { if (m_unk0x264) {
delete m_unk0x264; delete m_unk0x264;
m_unk0x264 = NULL; m_unk0x264 = NULL;
} }
if (m_unk0x268) { if (m_unk0x268) {
delete m_unk0x268; delete m_unk0x268;
m_unk0x268 = NULL; m_unk0x268 = NULL;
} }
return TRUE; return TRUE;
} }
@ -252,34 +276,20 @@ void Act1State::FUN_10034d00()
// TODO // TODO
} }
// FUNCTION: LEGO1 0x1003f8a0
void WriteNamedTexture(LegoFile *p_file, Act1State::NamedTexture *p_texture) {
p_file->FUN_10006030(*p_texture->GetName());
p_texture->GetTexture()->Write(p_file);
}
// STUB: LEGO1 0x1003f3b0 // STUB: LEGO1 0x1003f3b0
Act1State::NamedTexture *ReadNamedTexture(LegoFile *p_file) { Act1State::NamedTexture* ReadNamedTexture(LegoFile* p_file)
return NULL; {
} return NULL;
// FUNCTION: LEGO1 0x100344d0
int Act1State::NamedPlane::Serialize(LegoFile *p_file) {
if (p_file->IsWriteMode()) {
p_file->FUN_10006030(m_name);
p_file->WriteVector3(m_point1);
p_file->WriteVector3(m_point2);
p_file->WriteVector3(m_point3);
} else if (p_file->IsReadMode()) {
p_file->ReadString(&m_name);
p_file->ReadVector3(&m_point1);
p_file->ReadVector3(&m_point2);
p_file->ReadVector3(&m_point3);
}
return 0;
} }
// STUB: LEGO1 0x1003f540 // STUB: LEGO1 0x1003f540
void FUN_1003f540(LegoFile *p_file, const char *p_filename) { void FUN_1003f540(LegoFile* p_file, const char* p_filename)
{
}
// FUNCTION: LEGO1 0x1003f8a0
void WriteNamedTexture(LegoFile* p_file, Act1State::NamedTexture* p_texture)
{
p_file->FUN_10006030(*p_texture->GetName());
p_texture->GetTexture()->Write(p_file);
} }

View File

@ -3,7 +3,6 @@
#include "legotypes.h" #include "legotypes.h"
#include "mxstring.h" #include "mxstring.h"
#include "vector.h" #include "vector.h"
#include <stdio.h> #include <stdio.h>
@ -74,33 +73,36 @@ class LegoFile : public LegoStorage {
LegoResult SetPosition(LegoU32 p_position) override; LegoResult SetPosition(LegoU32 p_position) override;
LegoResult Open(const char* p_name, LegoU32 p_mode); LegoResult Open(const char* p_name, LegoU32 p_mode);
// FUNCTION: LEGO1 0x10034430 // FUNCTION: LEGO1 0x10034430
LegoStorage *ReadVector3(Vector3 *p_vec3) { LegoStorage* ReadVector3(Vector3* p_vec3)
Read(&(*p_vec3)[0], sizeof(float)); {
Read(&(*p_vec3)[1], sizeof(float)); Read(&(*p_vec3)[0], sizeof(float));
Read(&(*p_vec3)[2], sizeof(float)); Read(&(*p_vec3)[1], sizeof(float));
return this; Read(&(*p_vec3)[2], sizeof(float));
} return this;
}
// FUNCTION: LEGO1 0x100343d0 // FUNCTION: LEGO1 0x100343d0
LegoStorage *WriteVector3(Vector3 p_vec3) { LegoStorage* WriteVector3(Vector3 p_vec3)
Write(&p_vec3[0], sizeof(float)); {
Write(&p_vec3[1], sizeof(float)); Write(&p_vec3[0], sizeof(float));
Write(&p_vec3[2], sizeof(float)); Write(&p_vec3[1], sizeof(float));
return this; Write(&p_vec3[2], sizeof(float));
} return this;
}
// FUNCTION: LEGO1 0x10034470 // FUNCTION: LEGO1 0x10034470
LegoStorage *ReadString(MxString *p_str) { LegoStorage* ReadString(MxString* p_str)
MxU16 len; {
Read(&len, sizeof(MxU16)); MxU16 len;
char *text = new char[len + 1]; Read(&len, sizeof(MxU16));
Read(text, len); char* text = new char[len + 1];
text[len] = '\0'; Read(text, len);
*p_str = text; text[len] = '\0';
delete[] text; *p_str = text;
return this; delete[] text;
} return this;
}
// FUNCTION: LEGO1 0x10006030 // FUNCTION: LEGO1 0x10006030
LegoStorage* FUN_10006030(MxString p_str) LegoStorage* FUN_10006030(MxString p_str)