mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-25 17:34:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #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
 | |
| 
 | |
| 	const char* GetName() const { return m_name.GetData(); }
 | |
| 	const Mx3DPointFloat& GetPosition() { return m_position; }
 | |
| 	const Mx3DPointFloat& GetDirection() { return m_direction; }
 | |
| 	const Mx3DPointFloat& GetUp() { return m_up; }
 | |
| 
 | |
| 	void SetName(const char* p_name) { m_name = p_name; }
 | |
| 	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; }
 | |
| 
 | |
| 	MxBool IsPresent() { return strcmp(m_name.GetData(), "") != 0; }
 | |
| 	void Reset() { m_name = ""; }
 | |
| 
 | |
| 	// 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
 | 
