2024-11-03 13:06:09 -05:00
|
|
|
#ifndef LEGONAMEDPLANE_H
|
|
|
|
#define LEGONAMEDPLANE_H
|
|
|
|
|
|
|
|
#include "misc/legostorage.h"
|
|
|
|
#include "mxgeometry/mxgeometry3d.h"
|
|
|
|
#include "mxstring.h"
|
|
|
|
|
|
|
|
// SIZE 0x4c
|
|
|
|
class LegoNamedPlane {
|
|
|
|
public:
|
|
|
|
// FUNCTION: LEGO1 0x10033800
|
|
|
|
LegoNamedPlane() {}
|
|
|
|
|
|
|
|
// FUNCTION: LEGO1 0x10033a70
|
|
|
|
// LegoNamedPlane::~LegoNamedPlane
|
|
|
|
|
|
|
|
void SetName(const char* p_name) { m_name = p_name; }
|
|
|
|
const MxString* GetName() const { return &m_name; }
|
|
|
|
|
2024-11-03 13:28:35 -05:00
|
|
|
void SetPosition(const Mx3DPointFloat& p_position) { m_position = p_position; }
|
|
|
|
void SetDirection(const Mx3DPointFloat& p_direction) { m_direction = p_direction; }
|
|
|
|
void SetUp(const Mx3DPointFloat& p_up) { m_up = p_up; }
|
|
|
|
|
2024-11-03 13:06:09 -05:00
|
|
|
// FUNCTION: LEGO1 0x100344d0
|
|
|
|
MxResult Serialize(LegoFile* p_file)
|
|
|
|
{
|
|
|
|
if (p_file->IsWriteMode()) {
|
|
|
|
p_file->WriteString(m_name);
|
|
|
|
p_file->WriteVector3(m_position);
|
|
|
|
p_file->WriteVector3(m_direction);
|
|
|
|
p_file->WriteVector3(m_up);
|
|
|
|
}
|
|
|
|
else if (p_file->IsReadMode()) {
|
|
|
|
p_file->ReadString(m_name);
|
|
|
|
p_file->ReadVector3(m_position);
|
|
|
|
p_file->ReadVector3(m_direction);
|
|
|
|
p_file->ReadVector3(m_up);
|
|
|
|
}
|
|
|
|
|
|
|
|
return SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
MxString m_name; // 0x00
|
|
|
|
Mx3DPointFloat m_position; // 0x10
|
|
|
|
Mx3DPointFloat m_direction; // 0x24
|
|
|
|
Mx3DPointFloat m_up; // 0x38
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // LEGONAMEDPLANE_H
|