Beta match LegoLOD and related classes (#1704)

* beta match LegoLOD, part 1

* Fix name collision for Ghidra

* More LegoLOD matches

* LegoMesh and LegoColor matches

* Various matches

* 73 % beta match on LegoLOD::Read

* Fix LEGO1 regressions, improve match

* 70.93 % on LEGO1

* 72.85 %, stack too small now

* Cleanup

* Cleanup

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2026-01-05 23:45:36 +01:00
committed by GitHub
parent e9eb2493bb
commit af2418e61f
14 changed files with 280 additions and 54 deletions

View File

@@ -70,12 +70,14 @@ private:
* a geometric object.
*/
// VTABLE: LEGO1 0x100dbd90
// VTABLE: BETA10 0x101c34c0
// SIZE 0x04
class LODObject {
public:
// LODObject();
// FUNCTION: LEGO1 0x100a6f00
// FUNCTION: BETA10 0x10174c70
virtual ~LODObject() {}
virtual double AveragePolyArea() const = 0; // vtable+0x04
@@ -84,9 +86,13 @@ public:
virtual float VTable0x10() = 0; // vtable+0x10
// SYNTHETIC: LEGO1 0x100a6f10
// SYNTHETIC: BETA10 0x10174c90
// LODObject::`scalar deleting destructor'
};
// SYNTHETIC: BETA10 0x1018e620
// LODObject::LODObject
/*
* A CompoundObject is simply a set of ROI objects which
* all together represent a single object with sub-parts.