Skip to content

Commit

Permalink
merge from isledecomp/isle
Browse files Browse the repository at this point in the history
  • Loading branch information
foxtacles committed Oct 3, 2024
2 parents 0f3f6b6 + 4878727 commit 9397458
Show file tree
Hide file tree
Showing 43 changed files with 1,010 additions and 279 deletions.
1 change: 1 addition & 0 deletions LEGO1/lego/legoomni/include/legoact2.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class LegoAct2State : public LegoState {
};

// VTABLE: LEGO1 0x100d82e0
// VTABLE: BETA10 0x101ba898
// SIZE 0x1154
class LegoAct2 : public LegoWorld {
public:
Expand Down
1 change: 1 addition & 0 deletions LEGO1/lego/legoomni/include/legoanimpresenter.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ typedef map<const char*, LegoAnimStruct, LegoAnimStructComparator> LegoAnimStruc
typedef map<const char*, const char*, LegoAnimSubstComparator> LegoAnimSubstMap;

// VTABLE: LEGO1 0x100d90c8
// VTABLE: BETA10 0x101baf90
// SIZE 0xbc
class LegoAnimPresenter : public MxVideoPresenter {
public:
Expand Down
75 changes: 47 additions & 28 deletions LEGO1/lego/legoomni/include/legocarbuild.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
#ifndef LEGOCARBUILD_H
#define LEGOCARBUILD_H

#include "legogamestate.h"
#include "legostate.h"
#include "legoworld.h"

class LegoCarBuildAnimPresenter;
class LegoEventNotificationParam;
class MxControlPresenter;
class MxStillPresenter;
class MxSoundPresenter;
class MxActionNotificationParam;

// VTABLE: LEGO1 0x100d66e0
// SIZE 0x50
Expand Down Expand Up @@ -90,9 +93,9 @@ class LegoCarBuild : public LegoWorld {
void Enable(MxBool p_enable) override; // vtable+0x68
virtual void VTable0x6c(); // vtable+0x6c
virtual void VTable0x70(); // vtable+0x70
virtual void VTable0x74(MxFloat p_param1[3], MxFloat p_param2[3]); // vtable+0x74
virtual void VTable0x78(MxFloat p_param1[3], MxFloat p_param2[3]); // vtable+0x78
virtual void VTable0x7c(MxFloat p_param1[3], MxFloat p_param2[3]); // vtable+0x7c
virtual void VTable0x74(MxFloat p_param1[2], MxFloat p_param2[3]); // vtable+0x74
virtual void VTable0x78(MxFloat p_param1[2], MxFloat p_param2[3]); // vtable+0x78
virtual void VTable0x7c(MxFloat p_param1[2], MxFloat p_param2[3]); // vtable+0x7c
virtual void VTable0x80(
MxFloat p_param1[2],
MxFloat p_param2[2],
Expand All @@ -102,45 +105,58 @@ class LegoCarBuild : public LegoWorld {

void InitPresenters();
void FUN_10022f30();
void FUN_10023130(MxLong p_x, MxLong p_y);
undefined4 FUN_10024250(LegoEventNotificationParam* p_param);
void FUN_100243a0();
undefined4 FUN_10024480(MxActionNotificationParam* p_param);
undefined4 FUN_100244e0(MxLong p_x, MxLong p_y);
undefined4 FUN_100246e0(MxLong p_x, MxLong p_y);
MxS32 FUN_10024850(MxLong p_x, MxLong p_y);
undefined4 FUN_10024890(LegoEventNotificationParam* p_param);
void FUN_10024c20(LegoEventNotificationParam* p_param);
void FUN_10024ef0();
void FUN_10024f50();
void FUN_10024f70(MxBool p_enabled);
void SetPresentersEnabled(MxBool p_enabled);
void TogglePresentersEnabled();
void FUN_100250e0(MxBool p_param);
void FUN_10025450();
undefined4 FUN_10025720(undefined4 p_param1);
MxS32 FUN_10025d70();
void FUN_10025db0(const char* p_param1, undefined4 p_param2);
void FUN_10025e40();
MxS32 FUN_10025ee0(undefined4 p_param1);

// SYNTHETIC: LEGO1 0x10022a60
// LegoCarBuild::`scalar deleting destructor'

private:
undefined4 m_unk0xf8; // 0xf8
MxS16 m_unk0xfc; // 0xfc
undefined m_unk0xfe[2]; // 0xfe
undefined4 m_unk0x100; // 0x100
undefined4 m_unk0x104; // 0x104
undefined m_unk0x108; // 0x108
undefined m_unk0x109; // 0x109
MxU16 m_unk0x10a; // 0x10a
DWORD m_unk0x10c; // 0x10c
LegoROI* m_unk0x110; // 0x110
Mx3DPointFloat m_unk0x114; // 0x114
undefined4 m_unk0x128; // 0x128
MxMatrix m_unk0x12c; // 0x12c
undefined m_unk0x174; // 0x174
MxMatrix m_unk0x178; // 0x178
MxMatrix m_unk0x1c0; // 0x1c0
MxMatrix m_unk0x208; // 0x208
undefined m_unk0x250[0x08]; // 0x250
undefined4 m_unk0xf8; // 0xf8
MxS16 m_unk0xfc; // 0xfc
undefined m_unk0xfe[2]; // 0xfe
MxS32 m_unk0x100; // 0x100
undefined4 m_unk0x104; // 0x104
MxS8 m_unk0x108; // 0x108
MxU8 m_unk0x109; // 0x109
MxU16 m_unk0x10a; // 0x10a
DWORD m_unk0x10c; // 0x10c
LegoROI* m_unk0x110; // 0x110
BoundingSphere m_unk0x114; // 0x114
MxMatrix m_unk0x12c; // 0x12c
undefined m_unk0x174; // 0x174
MxMatrix m_unk0x178; // 0x178
MxMatrix m_unk0x1c0; // 0x1c0
MxMatrix m_unk0x208; // 0x208

// This is likely a location in pixel space
MxS32 m_unk0x250[2]; // 0x250

LegoCarBuildAnimPresenter* m_unk0x258; // 0x258
UnknownMx4DPointFloat m_unk0x25c; // 0x25c

// These four are likely locations in pixel space
MxS32 m_unk0x290; // 0x290
MxS32 m_unk0x294; // 0x294
MxS32 m_unk0x298; // 0x298
MxS32 m_unk0x29c; // 0x29c
// These two are likely locations in pixel space
MxS32 m_unk0x290[2]; // 0x290
MxS32 m_unk0x298[2]; // 0x298

MxFloat m_unk0x2a0; // 0x2a0
Mx4DPointFloat m_unk0x2a4; // 0x2a4
Expand Down Expand Up @@ -173,8 +189,11 @@ class LegoCarBuild : public LegoWorld {
// variable name verified by BETA10 0x1006b219
LegoVehicleBuildState* m_buildState; // 0x32c

undefined4 m_unk0x330; // 0x330
undefined4 m_unk0x334; // 0x334
undefined4 m_unk0x330; // 0x330

// variable name verified by BETA10 0x1006cba7
LegoGameState::Area m_destLocation; // 0x334

undefined4 m_unk0x338; // 0x338
MxControlPresenter* m_unk0x33c; // 0x33c
undefined4 m_unk0x340; // 0x340
Expand Down
51 changes: 34 additions & 17 deletions LEGO1/lego/legoomni/include/legocarbuildpresenter.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,17 @@
#include "legoanimpresenter.h"

// VTABLE: LEGO1 0x100d99e0
// VTABLE: BETA10 0x101bb988
// SIZE 0x150
class LegoCarBuildAnimPresenter : public LegoAnimPresenter {
public:
// SIZE 0x0c
struct UnknownListEntry {
LegoChar* m_unk0x00; // 0x00
LegoChar* m_unk0x04; // 0x04
undefined m_unk0x08[4]; // 0x08
};

LegoCarBuildAnimPresenter();
~LegoCarBuildAnimPresenter() override; // vtable+0x00

Expand Down Expand Up @@ -38,28 +46,37 @@ class LegoCarBuildAnimPresenter : public LegoAnimPresenter {
void PutFrame() override; // vtable+0x6c

void FUN_10079920(float p_param1);
MxBool FUN_10079ca0(const char* p_param1);
MxBool FUN_10079c30(const LegoChar* p_name);
MxBool FUN_10079ca0(const LegoChar* p_name);
MxBool FUN_10079cf0(const LegoChar* p_string);

// FUNCTION: BETA10 0x10070180
void SetUnknown0xbc(undefined2 p_unk0xbc) { m_unk0xbc = p_unk0xbc; }

MxBool StringEndsOnYOrN(const LegoChar* p_string);

const BoundingSphere& FUN_10079e20();

// SYNTHETIC: LEGO1 0x10078660
// LegoCarBuildAnimPresenter::`scalar deleting destructor'

private:
undefined2 m_unk0xbc; // 0xbc
undefined2 m_unk0xbe; // 0xbe
undefined2 m_unk0xc0; // 0xc0
undefined4 m_unk0xc4; // 0xc4
LegoAnim m_unk0xc8; // 0xc8
MxMatrix m_unk0xe0; // 0xe0
undefined4 m_unk0x128; // 0x128
undefined4 m_unk0x12c; // 0x12c
undefined4 m_unk0x130; // 0x130
undefined4 m_unk0x134; // 0x134
undefined4 m_unk0x138; // 0x138
undefined4 m_unk0x13c; // 0x13c
undefined4 m_unk0x140; // 0x140
MxS32 m_unk0x144; // 0x144
MxS32 m_unk0x148; // 0x148
undefined4 m_unk0x14c; // 0x14c
undefined2 m_unk0xbc; // 0xbc
MxS16 m_unk0xbe; // 0xbe
MxS16 m_unk0xc0; // 0xc0
undefined4 m_unk0xc4; // 0xc4
LegoAnim m_unk0xc8; // 0xc8
MxMatrix m_unk0xe0; // 0xe0
UnknownListEntry* m_unk0x128; // 0x128
undefined4 m_unk0x12c; // 0x12c
undefined4 m_unk0x130; // 0x130
undefined4 m_unk0x134; // 0x134
undefined4 m_unk0x138; // 0x138
undefined4 m_unk0x13c; // 0x13c
LegoEntity* m_unk0x140; // 0x140
MxS32 m_unk0x144; // 0x144
MxS32 m_unk0x148; // 0x148
undefined* m_unk0x14c; // 0x14c
};

#endif // LEGOCARBUILDPRESENTER_H
2 changes: 2 additions & 0 deletions LEGO1/lego/legoomni/include/legoeventnotificationparam.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,11 @@ class LegoEventNotificationParam : public MxNotificationParam {
MxU8 GetKey() const { return m_key; }

// FUNCTION: LEGO1 0x10012190
// FUNCTION: BETA10 0x10024210
MxS32 GetX() const { return m_x; }

// FUNCTION: LEGO1 0x100121a0
// FUNCTION: BETA10 0x10024240
MxS32 GetY() const { return m_y; }

void SetROI(LegoROI* p_roi) { m_roi = p_roi; }
Expand Down
2 changes: 1 addition & 1 deletion LEGO1/lego/legoomni/include/legoutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ LegoEntity* PickEntity(MxLong, MxLong);
LegoROI* PickROI(MxLong, MxLong);
LegoROI* PickParentROI(MxLong p_a, MxLong p_b);
void FUN_1003dde0(LegoROI* p_param1, MxFloat p_param2);
MxBool FUN_1003ded0(MxFloat p_param1[3], MxFloat p_param2[3], MxFloat p_param3[3]);
MxBool FUN_1003ded0(MxFloat p_param1[2], MxFloat p_param2[3], MxFloat p_param3[3]);
MxBool TransformWorldToScreen(const MxFloat p_world[3], MxFloat p_screen[4]);
MxS16 CountTotalTreeNodes(LegoTreeNode* p_node);
void FUN_1003e050(LegoAnimPresenter* p_presenter);
Expand Down
Loading

0 comments on commit 9397458

Please sign in to comment.