isle-portable/LEGO1/lego/sources/geom/legoweedge.h
jonschz e09acfcddb
Implement/match LegoCarRaceActor::VTable0x1c (#1078)
* Implement/match `LegoCarRaceActor::VTable0x1c`

* Fix formatting

* Fix LegoEdge::CWVertex()

* Fix more CI issues

* Trz to fix lvalue compile issue

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-04 21:13:12 +02:00

42 lines
1,007 B
C++

#ifndef __LEGOWEEDGE_H
#define __LEGOWEEDGE_H
#include "decomp.h"
#include "misc/legotypes.h"
struct LegoUnknown100db7f4;
// might be a struct with public members
// VTABLE: LEGO1 0x100db7c0
// SIZE 0x0c
class LegoWEEdge {
public:
LegoWEEdge();
virtual ~LegoWEEdge(); // vtable+0x00
virtual LegoResult VTable0x04(); // vtable+0x04
LegoU8 GetNumEdges() { return m_numEdges; }
// FUNCTION: BETA10 0x1001cc30
LegoUnknown100db7f4** GetEdges() { return m_edges; }
// TODO: The assertion at BETA10 0x10037352 suggests that this function might take a pointer instead of a reference
// FUNCTION: BETA10 0x100373f0
LegoU32 IsEqual(LegoWEEdge& p_other) { return this == &p_other; }
void SetEdges(LegoUnknown100db7f4** p_edges, LegoU8 p_numEdges)
{
m_edges = p_edges;
m_numEdges = p_numEdges;
}
// SYNTHETIC: LEGO1 0x1009a570
// LegoWEEdge::`scalar deleting destructor'
protected:
LegoU8 m_numEdges; // 0x04
LegoUnknown100db7f4** m_edges; // 0x08
};
#endif // __LEGOWEEDGE_H