(Proposal) Adjustments to "decomp" language (#308)

* Adjustments to "decomp" language

* Fix a comment

* Fix accidental clang-formatting

* Fix order

* Fix order

* Remove junk

* Fix OFFSET

* Adjustments based on new suggestions

* Annotate globals

* Globals in ISLE

* More globals

* Merge from parser2 branch

* Allow prepending space for exact marker match

* To eliminate noise, require the 0x prefix on offset for marker match

* fix test from previous

* Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise

* FUNCTION to SYNTHETIC where needed

* Missed marker conversion on SetAtomId

* pylint cleanup, remove unused code

* Fix unexpected function end, add more unit tests

* Be more strict about synthetic name syntax

* Revert "Missed marker conversion on SetAtomId"

This reverts commit d87d665127.

* Revert "FUNCTION to SYNTHETIC where needed"

This reverts commit 8c815418d2.

* Implicit lookup by name for functions

* Fix VTABLE SYNTHETIC and other decomp markers

* Get vtable class name

* Vtable marker should identify struct

* No colon for SIZE comment

* Update README.md

* Update README.md

* Update CONTRIBUTING.md

* Update README.md

* Update README.md

* Update CONTRIBUTING.md

* Update README.md

* Update CONTRIBUTING.md

* Fix destructor/annotation

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

---------

Co-authored-by: disinvite <disinvite@users.noreply.github.com>
This commit is contained in:
Christian Semmler 2023-12-06 07:10:45 -05:00 committed by GitHub
parent 4f5b70013f
commit 494a556f8e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
407 changed files with 3505 additions and 2493 deletions

View file

@ -23,9 +23,14 @@ This repository currently has only one goal: accuracy to the original executable
## Overview
* `3rdparty`: Contains code obtained from third parties, not including Mindscape. Generally, these are libraries that have been placed in the public domain or are freely available on the web. As these are unaltered files, our style guide (see below) does not apply.
* `ISLE`: Decompilation of `ISLE.EXE`. It depends on some code in `LEGO1`.
* `LEGO1`: Decompilation of `LEGO1.DLL`. This folder contains code from Mindscape's custom in-house engine called **Omni** (file pattern: `mx*`), the LEGO Island-specific extensions for Omni and the game's code (file pattern: `lego*`) as well as several utility libraries (`realtime`, `tgl`, `viewmanager`) developed by Mindscape.
* [`3rdparty`](/3rdparty): Contains code obtained from third parties, not including Mindscape. Generally, these are libraries that have been placed in the public domain or are freely available on the web. As these are unaltered files, our style guide (see below) does not apply.
* [`ISLE`](/ISLE): Decompilation of `ISLE.EXE`. It depends on some code in `LEGO1`.
* [`LEGO1`](/LEGO1): Decompilation of `LEGO1.DLL`. This folder contains code from Mindscape's custom in-house engine called **Omni** (file pattern: `mx*`), the LEGO Island-specific extensions for Omni and the game's code (file pattern: `lego*`) as well as several utility libraries developed by Mindscape.
* [`tools`](/tools): A set of tools aiding in the decompilation effort.
## Tooling
Please make yourself familiar with the [available tooling and annotations](/tools/README.md).
## Code Style

View file

@ -1,40 +1,40 @@
#include "define.h"
// 0x410030
// GLOBAL: ISLE 0x410030
IsleApp* g_isle = 0;
// 0x410034
// GLOBAL: ISLE 0x410034
unsigned char g_mousedown = 0;
// 0x410038
// GLOBAL: ISLE 0x410038
unsigned char g_mousemoved = 0;
// 0x41003c
// GLOBAL: ISLE 0x41003c
int g_closed = 0;
// 0x410040
// GLOBAL: ISLE 0x410040
RECT g_windowRect = {0, 0, 640, 480};
// 0x410050
// GLOBAL: ISLE 0x410050
int g_rmDisabled = 0;
// 0x410054
// GLOBAL: ISLE 0x410054
int g_waitingForTargetDepth = 1;
// 0x410058
// GLOBAL: ISLE 0x410058
int g_targetWidth = 640;
// 0x41005c
// GLOBAL: ISLE 0x41005c
int g_targetHeight = 480;
// 0x410060
// GLOBAL: ISLE 0x410060
int g_targetDepth = 16;
// 0x410064
// GLOBAL: ISLE 0x410064
int g_reqEnableRMDevice = 0;
// 0x4101bc
// GLOBAL: ISLE 0x4101bc
int g_startupDelay = 200;
// 0x4101c0
// GLOBAL: ISLE 0x4101c0
MxLong g_lastFrameTime = 0;

View file

@ -8,9 +8,9 @@ class IsleApp;
extern IsleApp* g_isle;
extern int g_closed;
// 0x4101c4
// GLOBAL: ISLE 0x4101c4
#define WNDCLASS_NAME "Lego Island MainNoM App"
// 0x4101dc
// GLOBAL: ISLE 0x4101dc
#define WINDOW_TITLE "LEGO\xAE"
extern unsigned char g_mousedown;
extern unsigned char g_mousemoved;

View file

@ -24,7 +24,7 @@
#include <dsound.h>
// OFFSET: ISLE 0x401000
// FUNCTION: ISLE 0x401000
IsleApp::IsleApp()
{
m_hdPath = NULL;
@ -61,7 +61,7 @@ IsleApp::IsleApp()
LegoOmni::CreateInstance();
}
// OFFSET: ISLE 0x4011a0
// FUNCTION: ISLE 0x4011a0
IsleApp::~IsleApp()
{
if (LegoOmni::GetInstance()) {
@ -86,7 +86,7 @@ IsleApp::~IsleApp()
}
}
// OFFSET: ISLE 0x401260
// FUNCTION: ISLE 0x401260
void IsleApp::Close()
{
MxDSAction ds;
@ -121,7 +121,7 @@ void IsleApp::Close()
}
}
// OFFSET: ISLE 0x4013b0
// FUNCTION: ISLE 0x4013b0
BOOL IsleApp::SetupLegoOmni()
{
BOOL result = FALSE;
@ -140,7 +140,7 @@ BOOL IsleApp::SetupLegoOmni()
return result;
}
// OFFSET: ISLE 0x401560
// FUNCTION: ISLE 0x401560
void IsleApp::SetupVideoFlags(
BOOL fullScreen,
BOOL flipSurfaces,
@ -172,7 +172,7 @@ void IsleApp::SetupVideoFlags(
BOOL FindExistingInstance(void);
BOOL StartDirectSound(void);
// OFFSET: ISLE 0x401610
// FUNCTION: ISLE 0x401610
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
// Look for another instance, if we find one, bring it to the foreground instead
@ -281,10 +281,10 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
return msg.wParam;
}
// OFFSET: ISLE 0x401c40 TEMPLATE
// FUNCTION: ISLE 0x401c40
// MxDSObject::SetAtomId
// OFFSET: ISLE 0x401ca0
// FUNCTION: ISLE 0x401ca0
BOOL FindExistingInstance(void)
{
HWND hWnd = FindWindowA(WNDCLASS_NAME, WINDOW_TITLE);
@ -297,7 +297,7 @@ BOOL FindExistingInstance(void)
return 1;
}
// OFFSET: ISLE 0x401ce0
// FUNCTION: ISLE 0x401ce0
BOOL StartDirectSound(void)
{
LPDIRECTSOUND lpDS = NULL;
@ -310,7 +310,7 @@ BOOL StartDirectSound(void)
return FALSE;
}
// OFFSET: ISLE 0x401d20
// FUNCTION: ISLE 0x401d20
LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
NotificationId type;
@ -481,7 +481,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
return 0;
}
// OFFSET: ISLE 0x4023e0
// FUNCTION: ISLE 0x4023e0
MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
{
WNDCLASSA wndclass;
@ -627,7 +627,7 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
return SUCCESS;
}
// OFFSET: ISLE 0x402740
// FUNCTION: ISLE 0x402740
BOOL IsleApp::ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize)
{
HKEY hKey;
@ -646,7 +646,7 @@ BOOL IsleApp::ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize)
return out;
}
// OFFSET: ISLE 0x4027b0
// FUNCTION: ISLE 0x4027b0
int IsleApp::ReadRegBool(LPCSTR name, BOOL* out)
{
char buffer[256];
@ -668,7 +668,7 @@ int IsleApp::ReadRegBool(LPCSTR name, BOOL* out)
return read;
}
// OFFSET: ISLE 0x402880
// FUNCTION: ISLE 0x402880
int IsleApp::ReadRegInt(LPCSTR name, int* out)
{
char buffer[256];
@ -681,7 +681,7 @@ int IsleApp::ReadRegInt(LPCSTR name, int* out)
return read;
}
// OFFSET: ISLE 0x4028d0
// FUNCTION: ISLE 0x4028d0
void IsleApp::LoadConfig()
{
char buffer[1024];
@ -747,7 +747,7 @@ void IsleApp::LoadConfig()
}
}
// OFFSET: ISLE 0x402c20
// FUNCTION: ISLE 0x402c20
inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
{
if (!this->m_windowActive) {
@ -819,7 +819,7 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
Sleep(0);
}
// OFFSET: ISLE 0x402e80
// FUNCTION: ISLE 0x402e80
void IsleApp::SetupCursor(WPARAM wParam)
{
switch (wParam) {

View file

@ -1,6 +1,6 @@
#include "act1state.h"
// OFFSET: LEGO1 0x100334b0 STUB
// STUB: LEGO1 0x100334b0
Act1State::Act1State()
{
// TODO

View file

@ -3,20 +3,20 @@
#include "legostate.h"
// VTABLE 0x100d7028
// VTABLE: LEGO1 0x100d7028
// SIZE 0x26c
class Act1State : public LegoState {
public:
Act1State();
// OFFSET: LEGO1 0x100338a0
// FUNCTION: LEGO1 0x100338a0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0154
// GLOBAL: LEGO1 0x100f0154
return "Act1State";
};
// OFFSET: LEGO1 0x100338b0
// FUNCTION: LEGO1 0x100338b0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Act1State::ClassName()) || LegoState::IsA(name);

View file

@ -1,29 +1,29 @@
#include "act2brick.h"
// OFFSET: LEGO1 0x1007a2b0 STUB
// STUB: LEGO1 0x1007a2b0
Act2Brick::Act2Brick()
{
// TODO
}
// OFFSET: LEGO1 0x1007a470 STUB
// STUB: LEGO1 0x1007a470
Act2Brick::~Act2Brick()
{
// TODO
}
// STUB OFFSET: LEGO1 0x1007a8c0 STUB
MxLong Act2Brick::Notify(MxParam& p)
{
// TODO
return 0;
}
// OFFSET: LEGO1 0x1007a7f0 STUB
// STUB: LEGO1 0x1007a7f0
MxResult Act2Brick::Tickle()
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x1007a8c0
MxLong Act2Brick::Notify(MxParam& p)
{
// TODO
return 0;
}

View file

@ -3,7 +3,7 @@
#include "legopathactor.h"
// VTABLE 0x100d9b60
// VTABLE: LEGO1 0x100d9b60
// SIZE 0x194
class Act2Brick : public LegoPathActor {
public:
@ -13,14 +13,14 @@ class Act2Brick : public LegoPathActor {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x08
// OFFSET: LEGO1 0x1007a360
// FUNCTION: LEGO1 0x1007a360
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0438
// GLOBAL: LEGO1 0x100f0438
return "Act2Brick";
}
// OFFSET: LEGO1 0x1007a370
// FUNCTION: LEGO1 0x1007a370
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(Act2Brick::ClassName(), name) || LegoEntity::IsA(name);

View file

@ -1,6 +1,6 @@
#include "act2policestation.h"
// OFFSET: LEGO1 0x1004e0e0 STUB
// STUB: LEGO1 0x1004e0e0
MxLong Act2PoliceStation::Notify(MxParam& p)
{
// TODO

View file

@ -3,20 +3,20 @@
#include "legoentity.h"
// VTABLE 0x100d53a8
// VTABLE: LEGO1 0x100d53a8
// SIZE 0x68
class Act2PoliceStation : public LegoEntity {
public:
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
// OFFSET: LEGO1 0x1000e200
// FUNCTION: LEGO1 0x1000e200
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f03fc
// GLOBAL: LEGO1 0x100f03fc
return "Act2PoliceStation";
}
// OFFSET: LEGO1 0x1000e210
// FUNCTION: LEGO1 0x1000e210
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Act2PoliceStation::ClassName()) || LegoEntity::IsA(name);

View file

@ -2,13 +2,13 @@
DECOMP_SIZE_ASSERT(Act3, 0x4274)
// OFFSET: LEGO1 0x10072270 STUB
// STUB: LEGO1 0x10072270
Act3::Act3()
{
// TODO
}
// OFFSET: LEGO1 0x100726a0 STUB
// STUB: LEGO1 0x100726a0
Act3::~Act3()
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100d9628
// VTABLE: LEGO1 0x100d9628
// SIZE 0x4274
class Act3 : public LegoWorld {
public:
@ -11,14 +11,14 @@ class Act3 : public LegoWorld {
virtual ~Act3() override; // vtable+00
// OFFSET: LEGO1 0x10072510
// FUNCTION: LEGO1 0x10072510
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f013c
// GLOBAL: LEGO1 0x100f013c
return "Act3";
}
// OFFSET: LEGO1 0x10072520
// FUNCTION: LEGO1 0x10072520
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Act3::ClassName()) || LegoWorld::IsA(name);

View file

@ -5,10 +5,10 @@
// class' ClassName() function, but none of them call it directly.
class Act3Actor {
public:
// OFFSET: LEGO1 0x100431b0
// FUNCTION: LEGO1 0x100431b0
inline virtual const char* ClassName() override
{
// 0x100f03ac
// GLOBAL: LEGO1 0x100f03ac
return "Act3Actor";
}
};

View file

@ -3,13 +3,13 @@
#include "legoanimactor.h"
// VTABLE 0x100d7920
// VTABLE: LEGO1 0x100d7920
class Act3Shark : public LegoAnimActor {
public:
// OFFSET: LEGO1 0x100430c0
// FUNCTION: LEGO1 0x100430c0
inline virtual const char* ClassName() const override
{
// 0x100f03a0
// GLOBAL: LEGO1 0x100f03a0
return "Act3Shark";
}
};

View file

@ -1,6 +1,6 @@
#include "act3state.h"
// OFFSET: LEGO1 0x1000e2f0
// FUNCTION: LEGO1 0x1000e2f0
MxBool Act3State::VTable0x14()
{
return FALSE;

View file

@ -3,20 +3,20 @@
#include "legostate.h"
// VTABLE 0x100d4fc8
// VTABLE: LEGO1 0x100d4fc8
// SIZE 0xc
class Act3State : public LegoState {
public:
inline Act3State() { m_unk08 = 0; }
// OFFSET: LEGO1 0x1000e300
// FUNCTION: LEGO1 0x1000e300
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f03f0
// GLOBAL: LEGO1 0x100f03f0
return "Act3State";
}
// OFFSET: LEGO1 0x1000e310
// FUNCTION: LEGO1 0x1000e310
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Act3State::ClassName()) || LegoState::IsA(name);

View file

@ -4,7 +4,7 @@
DECOMP_SIZE_ASSERT(Ambulance, 0x184);
// OFFSET: LEGO1 0x10035ee0
// FUNCTION: LEGO1 0x10035ee0
Ambulance::Ambulance()
{
this->m_unk168 = 0;

View file

@ -3,20 +3,20 @@
#include "islepathactor.h"
// VTABLE 0x100d71a8
// VTABLE: LEGO1 0x100d71a8
// SIZE 0x184
class Ambulance : public IslePathActor {
public:
Ambulance();
// OFFSET: LEGO1 0x10035fa0
// FUNCTION: LEGO1 0x10035fa0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f03c4
// GLOBAL: LEGO1 0x100f03c4
return "Ambulance";
}
// OFFSET: LEGO1 0x10035fb0
// FUNCTION: LEGO1 0x10035fb0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Ambulance::ClassName()) || IslePathActor::IsA(name);

View file

@ -2,7 +2,7 @@
DECOMP_SIZE_ASSERT(AmbulanceMissionState, 0x24);
// OFFSET: LEGO1 0x100373a0 STUB
// STUB: LEGO1 0x100373a0
AmbulanceMissionState::AmbulanceMissionState()
{
// TODO

View file

@ -3,20 +3,20 @@
#include "legostate.h"
// VTABLE 0x100d72a0
// VTABLE: LEGO1 0x100d72a0
// SIZE 0x24
class AmbulanceMissionState : public LegoState {
public:
AmbulanceMissionState();
// OFFSET: LEGO1 0x10037600
// FUNCTION: LEGO1 0x10037600
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f00e8
// GLOBAL: LEGO1 0x100f00e8
return "AmbulanceMissionState";
}
// OFFSET: LEGO1 0x10037610
// FUNCTION: LEGO1 0x10037610
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, AmbulanceMissionState::ClassName()) || LegoState::IsA(name);

View file

@ -1,12 +1,12 @@
#include "animstate.h"
// OFFSET: LEGO1 0x10064ff0 STUB
// STUB: LEGO1 0x10064ff0
AnimState::AnimState()
{
// TODO
}
// OFFSET: LEGO1 0x10065150 STUB
// STUB: LEGO1 0x10065150
AnimState::~AnimState()
{
// TODO

View file

@ -3,21 +3,21 @@
#include "legostate.h"
// VTABLE 0x100d8d80
// VTABLE: LEGO1 0x100d8d80
// SIZE 0x1c
class AnimState : public LegoState {
public:
AnimState();
virtual ~AnimState() override; // vtable+0x0
// OFFSET: LEGO1 0x10065070
// FUNCTION: LEGO1 0x10065070
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0460
// GLOBAL: LEGO1 0x100f0460
return "AnimState";
}
// OFFSET: LEGO1 0x10065080
// FUNCTION: LEGO1 0x10065080
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, AnimState::ClassName()) || LegoState::IsA(name);

View file

@ -1,6 +1,6 @@
#include "beachhouseentity.h"
// OFFSET: LEGO1 0x100150a0 STUB
// STUB: LEGO1 0x100150a0
MxLong BeachHouseEntity::Notify(MxParam& p)
{
// TODO

View file

@ -3,20 +3,20 @@
#include "buildingentity.h"
// VTABLE 0x100d4a18
// VTABLE: LEGO1 0x100d4a18
// SIZE 0x68
class BeachHouseEntity : public BuildingEntity {
public:
virtual MxLong Notify(MxParam& p) override; // vtable+04
// OFFSET: LEGO1 0x1000ee80
// FUNCTION: LEGO1 0x1000ee80
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0314
// GLOBAL: LEGO1 0x100f0314
return "BeachHouseEntity";
}
// OFFSET: LEGO1 0x1000ee90
// FUNCTION: LEGO1 0x1000ee90
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(name);

View file

@ -2,7 +2,7 @@
DECOMP_SIZE_ASSERT(Bike, 0x164);
// OFFSET: LEGO1 0x10076670
// FUNCTION: LEGO1 0x10076670
Bike::Bike()
{
this->m_unk13c = 20.0;

View file

@ -4,20 +4,20 @@
#include "decomp.h"
#include "islepathactor.h"
// VTABLE 0x100d9808
// VTABLE: LEGO1 0x100d9808
// SIZE 0x164
class Bike : public IslePathActor {
public:
Bike();
// OFFSET: LEGO1 0x100766f0
// FUNCTION: LEGO1 0x100766f0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f03d0
// GLOBAL: LEGO1 0x100f03d0
return "Bike";
}
// OFFSET: LEGO1 0x10076700
// FUNCTION: LEGO1 0x10076700
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Bike::ClassName()) || IslePathActor::IsA(name);

View file

@ -1,12 +1,12 @@
#include "buildingentity.h"
// OFFSET: LEGO1 0x10014e20 STUB
// STUB: LEGO1 0x10014e20
BuildingEntity::BuildingEntity()
{
// TODO
}
// OFFSET: LEGO1 0x10015030 STUB
// STUB: LEGO1 0x10015030
BuildingEntity::~BuildingEntity()
{
// TODO

View file

@ -3,21 +3,21 @@
#include "legoentity.h"
// VTABLE 0x100d5c88
// VTABLE: LEGO1 0x100d5c88
// SIZE <= 0x68, hard to tell because it's always constructed as a derivative
class BuildingEntity : public LegoEntity {
public:
BuildingEntity();
virtual ~BuildingEntity() override; // vtable+0x0
// OFFSET: LEGO1 0x10014f20
// FUNCTION: LEGO1 0x10014f20
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f07e8
// GLOBAL: LEGO1 0x100f07e8
return "BuildingEntity";
}
// OFFSET: LEGO1 0x10014f30
// FUNCTION: LEGO1 0x10014f30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, BuildingEntity::ClassName()) || LegoEntity::IsA(name);

View file

@ -4,17 +4,17 @@
#include "legoanimactor.h"
#include "mxtypes.h"
// VTABLE 0x100d6790
// VTABLE: LEGO1 0x100d6790
class BumpBouy : public LegoAnimActor {
public:
// OFFSET: LEGO1 0x100274e0
// FUNCTION: LEGO1 0x100274e0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0394
// GLOBAL: LEGO1 0x100f0394
return "BumpBouy";
}
// OFFSET: LEGO1 0x10027500
// FUNCTION: LEGO1 0x10027500
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, BumpBouy::ClassName()) || LegoAnimActor::IsA(name);

View file

@ -1,6 +1,6 @@
#include "carrace.h"
// OFFSET: LEGO1 0x10016a90 STUB
// STUB: LEGO1 0x10016a90
CarRace::CarRace()
{
// TODO

View file

@ -3,20 +3,20 @@
#include "legorace.h"
// VTABLE 0x100d5e50
// VTABLE: LEGO1 0x100d5e50
// SIZE 0x154
class CarRace : public LegoRace {
public:
CarRace();
// OFFSET: LEGO1 0x10016b20
// FUNCTION: LEGO1 0x10016b20
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0528
// GLOBAL: LEGO1 0x100f0528
return "CarRace";
}
// OFFSET: LEGO1 0x10016b30
// FUNCTION: LEGO1 0x10016b30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, CarRace::ClassName()) || LegoRace::IsA(name);

View file

@ -3,18 +3,18 @@
#include "racestate.h"
// VTABLE 0x100d4b70
// VTABLE: LEGO1 0x100d4b70
// SIZE 0x2c
class CarRaceState : public RaceState {
public:
// OFFSET: LEGO1 0x1000dd30
// FUNCTION: LEGO1 0x1000dd30
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f009c
// GLOBAL: LEGO1 0x100f009c
return "CarRaceState";
}
// OFFSET: LEGO1 0x1000dd40
// FUNCTION: LEGO1 0x1000dd40
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, CarRaceState::ClassName()) || RaceState::IsA(name);

View file

@ -1,6 +1,6 @@
#include "define.h"
// 0x1010141c
// GLOBAL: LEGO1 0x1010141c
MxU32 g_mxcoreCount[101] = {0, -6643, -5643, -5058, -4643, -4321, -4058, -3836, -3643, -3473, -3321, -3184, -3058,
-2943, -2836, -2736, -2643, -2556, -2473, -2395, -2321, -2251, -2184, -2120, -2058, -2000,
-1943, -1888, -1836, -1785, -1736, -1689, -1643, -1599, -1556, -1514, -1473, -1434, -1395,
@ -10,17 +10,17 @@ MxU32 g_mxcoreCount[101] = {0, -6643, -5643, -5058, -4643, -4321, -4058, -38
-358, -340, -321, -304, -286, -268, -251, -234, -217, -200, -184, -168, -152,
-136, -120, -104, -89, -74, -58, -43, -29, -14, 0};
// 0x10101eac
// GLOBAL: LEGO1 0x10101eac
const char* g_parseExtraTokens = ":;";
// 0x10101edc
// GLOBAL: LEGO1 0x10101edc
const char* g_strWORLD = "WORLD";
// 0x10101f20
// GLOBAL: LEGO1 0x10101f20
const char* g_strSOUND = "SOUND";
// 0x10102040
// GLOBAL: LEGO1 0x10102040
const char* g_strACTION = "ACTION";
// 0x101020cc
// GLOBAL: LEGO1 0x101020cc
const char* g_strVISIBILITY = "VISIBILITY";

View file

@ -1,6 +1,6 @@
#include <windows.h>
// OFFSET: LEGO1 0x10091ee0
// FUNCTION: LEGO1 0x10091ee0
__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
return TRUE;

View file

@ -3,18 +3,18 @@
#include "legopathactor.h"
// VTABLE 0x100d4788
// VTABLE: LEGO1 0x100d4788
// SIZE 0x1f8
class Doors : public LegoPathActor {
public:
// OFFSET: LEGO1 0x1000e430
// FUNCTION: LEGO1 0x1000e430
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f03e8
// GLOBAL: LEGO1 0x100f03e8
return "Doors";
}
// OFFSET: LEGO1 0x1000e440
// FUNCTION: LEGO1 0x1000e440
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Doors::ClassName()) || LegoPathActor::IsA(name);

View file

@ -4,7 +4,7 @@
DECOMP_SIZE_ASSERT(DuneBuggy, 0x16c);
// OFFSET: LEGO1 0x10067bb0
// FUNCTION: LEGO1 0x10067bb0
DuneBuggy::DuneBuggy()
{
this->m_unk13c = 25.0;

View file

@ -4,20 +4,20 @@
#include "decomp.h"
#include "islepathactor.h"
// VTABLE 0x100d8f98
// VTABLE: LEGO1 0x100d8f98
// SIZE 0x16c
class DuneBuggy : public IslePathActor {
public:
DuneBuggy();
// OFFSET: LEGO1 0x10067c30
// FUNCTION: LEGO1 0x10067c30
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0410
// GLOBAL: LEGO1 0x100f0410
return "DuneBuggy";
}
// OFFSET: LEGO1 0x10067c40
// FUNCTION: LEGO1 0x10067c40
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, DuneBuggy::ClassName()) || IslePathActor::IsA(name);

View file

@ -1,18 +1,18 @@
#include "elevatorbottom.h"
// OFFSET: LEGO1 0x10017e90 STUB
// STUB: LEGO1 0x10017e90
ElevatorBottom::ElevatorBottom()
{
// TODO
}
// OFFSET: LEGO1 0x10018060 STUB
// STUB: LEGO1 0x10018060
ElevatorBottom::~ElevatorBottom()
{
// TODO
}
// OFFSET: LEGO1 0x10018150 STUB
// STUB: LEGO1 0x10018150
MxLong ElevatorBottom::Notify(MxParam& p)
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100d5f20
// VTABLE: LEGO1 0x100d5f20
class ElevatorBottom : public LegoWorld {
public:
ElevatorBottom();
@ -11,14 +11,14 @@ class ElevatorBottom : public LegoWorld {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
// OFFSET: LEGO1 0x10017f20
// FUNCTION: LEGO1 0x10017f20
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f04ac
// GLOBAL: LEGO1 0x100f04ac
return "ElevatorBottom";
}
// OFFSET: LEGO1 0x10017f30
// FUNCTION: LEGO1 0x10017f30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, ElevatorBottom::ClassName()) || LegoWorld::IsA(name);

View file

@ -1,18 +1,18 @@
#include "gasstation.h"
// OFFSET: LEGO1 0x100046a0 STUB
// STUB: LEGO1 0x100046a0
GasStation::GasStation()
{
// TODO
}
// OFFSET: LEGO1 0x100048c0 STUB
// STUB: LEGO1 0x100048c0
GasStation::~GasStation()
{
// TODO
}
// OFFSET: LEGO1 0x10004a60 STUB
// STUB: LEGO1 0x10004a60
MxLong GasStation::Notify(MxParam& p)
{
// TODO
@ -20,7 +20,7 @@ MxLong GasStation::Notify(MxParam& p)
return 0;
}
// OFFSET: LEGO1 0x10005c90 STUB
// STUB: LEGO1 0x10005c90
MxResult GasStation::Tickle()
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100d4650
// VTABLE: LEGO1 0x100d4650
// SIZE 0x128
// Radio variable at 0x46, in constructor
class GasStation : public LegoWorld {
@ -14,14 +14,14 @@ class GasStation : public LegoWorld {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x10004780
// FUNCTION: LEGO1 0x10004780
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0168
// GLOBAL: LEGO1 0x100f0168
return "GasStation";
}
// OFFSET: LEGO1 0x10004790
// FUNCTION: LEGO1 0x10004790
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, GasStation::ClassName()) || LegoWorld::IsA(name);

View file

@ -3,18 +3,18 @@
#include "buildingentity.h"
// VTABLE 0x100d5258
// VTABLE: LEGO1 0x100d5258
// SIZE 0x68
class GasStationEntity : public BuildingEntity {
public:
// OFFSET: LEGO1 0x1000eb20
// FUNCTION: LEGO1 0x1000eb20
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0348
// GLOBAL: LEGO1 0x100f0348
return "GasStationEntity";
}
// OFFSET: LEGO1 0x1000eb30
// FUNCTION: LEGO1 0x1000eb30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, GasStationEntity::ClassName()) || BuildingEntity::IsA(name);

View file

@ -2,7 +2,7 @@
DECOMP_SIZE_ASSERT(GasStationState, 0x24);
// OFFSET: LEGO1 0x10005eb0
// FUNCTION: LEGO1 0x10005eb0
GasStationState::GasStationState()
{
m_unk0x18 = 0;

View file

@ -3,20 +3,20 @@
#include "legostate.h"
// VTABLE 0x100d46e0
// VTABLE: LEGO1 0x100d46e0
// SIZE 0x24
class GasStationState : public LegoState {
public:
GasStationState();
// OFFSET: LEGO1 0x100061d0
// FUNCTION: LEGO1 0x100061d0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0174
// GLOBAL: LEGO1 0x100f0174
return "GasStationState";
}
// OFFSET: LEGO1 0x100061e0
// FUNCTION: LEGO1 0x100061e0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, GasStationState::ClassName()) || LegoState::IsA(name);

View file

@ -8,7 +8,7 @@ DECOMP_SIZE_ASSERT(GifManager, 0x30);
GifMapEntry* DAT_100f0100;
// OFFSET: LEGO1 0x10001cc0
// FUNCTION: LEGO1 0x10001cc0
GifMapEntry* GifMap::FindNode(const char*& string)
{
GifMapEntry* ret = m_unk4;

View file

@ -42,10 +42,10 @@ class GifMap {
GifMapEntry* m_unk4;
};
// VTABLE 0x100d86d4
// VTABLE: LEGO1 0x100d86d4
class GifManagerBase {
public:
// OFFSET: LEGO1 0x1005a310 STUB
// STUB: LEGO1 0x1005a310
virtual ~GifManagerBase() {} // vtable+00
inline GifData* Get(const char* name) { return m_unk8.Get(name); }
@ -56,10 +56,10 @@ class GifManagerBase {
GifMap m_unk8;
};
// VTABLE 0x100d86fc
// VTABLE: LEGO1 0x100d86fc
class GifManager : public GifManagerBase {
public:
// OFFSET: LEGO1 0x1005a580 STUB
// STUB: LEGO1 0x1005a580
virtual ~GifManager() {} // vtable+00
protected:

View file

@ -10,20 +10,20 @@
DECOMP_SIZE_ASSERT(Helicopter, 0x230)
// OFFSET: LEGO1 0x10001e60
// FUNCTION: LEGO1 0x10001e60
Helicopter::Helicopter()
{
m_unk13c = 60;
}
// OFFSET: LEGO1 0x10003230
// FUNCTION: LEGO1 0x10003230
Helicopter::~Helicopter()
{
ControlManager()->Unregister(this);
IslePathActor::Destroy(TRUE);
}
// OFFSET: LEGO1 0x100032c0
// FUNCTION: LEGO1 0x100032c0
MxResult Helicopter::Create(MxDSObject& p_dsObject)
{
MxResult result = IslePathActor::Create(p_dsObject);
@ -39,7 +39,7 @@ MxResult Helicopter::Create(MxDSObject& p_dsObject)
return result;
}
// OFFSET: LEGO1 0x10003320
// FUNCTION: LEGO1 0x10003320
void Helicopter::GetState()
{
m_state = (HelicopterState*) GameState()->GetState("HelicopterState");
@ -47,7 +47,7 @@ void Helicopter::GetState()
m_state = (HelicopterState*) GameState()->CreateState("HelicopterState");
}
// OFFSET: LEGO1 0x10003360
// FUNCTION: LEGO1 0x10003360
void Helicopter::VTable0xe4()
{
if (!GameState()->GetUnknown10()) {

View file

@ -5,20 +5,20 @@
#include "islepathactor.h"
#include "realtime/matrix.h"
// VTABLE 0x100d40f8
// VTABLE: LEGO1 0x100d40f8
// SIZE 0x230
class Helicopter : public IslePathActor {
public:
Helicopter();
// OFFSET: LEGO1 0x10003070
// FUNCTION: LEGO1 0x10003070
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0130
// GLOBAL: LEGO1 0x100f0130
return "Helicopter";
}
// OFFSET: LEGO1 0x10003080
// FUNCTION: LEGO1 0x10003080
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Helicopter::ClassName()) || IslePathActor::IsA(name);
@ -27,7 +27,7 @@ class Helicopter : public IslePathActor {
virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18
virtual void VTable0xe4() override;
// OFFSET: LEGO1 0x10003210 TEMPLATE
// SYNTHETIC: LEGO1 0x10003210
// Helicopter::`scalar deleting destructor'
virtual ~Helicopter() override; // vtable+0x0

View file

@ -4,18 +4,18 @@
#include "decomp.h"
#include "legostate.h"
// VTABLE 0x100d5418
// VTABLE: LEGO1 0x100d5418
// SIZE 0xc
class HelicopterState : public LegoState {
public:
// OFFSET: LEGO1 0x1000e0d0
// FUNCTION: LEGO1 0x1000e0d0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0144
// GLOBAL: LEGO1 0x100f0144
return "HelicopterState";
}
// OFFSET: LEGO1 0x1000e0e0
// FUNCTION: LEGO1 0x1000e0e0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, HelicopterState::ClassName()) || LegoState::IsA(name);

View file

@ -1,18 +1,18 @@
#include "historybook.h"
// OFFSET: LEGO1 0x100822f0 STUB
// STUB: LEGO1 0x100822f0
HistoryBook::HistoryBook()
{
// TODO
}
// OFFSET: LEGO1 0x100824d0 STUB
// STUB: LEGO1 0x100824d0
HistoryBook::~HistoryBook()
{
// TODO
}
// OFFSET: LEGO1 0x10082680 STUB
// STUB: LEGO1 0x10082680
MxLong HistoryBook::Notify(MxParam& p)
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100da328
// VTABLE: LEGO1 0x100da328
// SIZE 0x3e4
class HistoryBook : public LegoWorld {
public:
@ -12,14 +12,14 @@ class HistoryBook : public LegoWorld {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
// OFFSET: LEGO1 0x10082390
// FUNCTION: LEGO1 0x10082390
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f04bc
// GLOBAL: LEGO1 0x100f04bc
return "HistoryBook";
}
// OFFSET: LEGO1 0x100823a0
// FUNCTION: LEGO1 0x100823a0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, HistoryBook::ClassName()) || LegoWorld::IsA(name);

View file

@ -1,18 +1,18 @@
#include "hospital.h"
// OFFSET: LEGO1 0x100745e0 STUB
// STUB: LEGO1 0x100745e0
Hospital::Hospital()
{
// TODO
}
// OFFSET: LEGO1 0x100747f0 STUB
// STUB: LEGO1 0x100747f0
Hospital::~Hospital()
{
// TODO
}
// OFFSET: LEGO1 0x10074990 STUB
// STUB: LEGO1 0x10074990
MxLong Hospital::Notify(MxParam& p)
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100d9730
// VTABLE: LEGO1 0x100d9730
// SIZE 0x12c
class Hospital : public LegoWorld {
public:
@ -12,14 +12,14 @@ class Hospital : public LegoWorld {
virtual MxLong Notify(MxParam& p) override; // vtable+0x04
// OFFSET: LEGO1 0x100746b0
// FUNCTION: LEGO1 0x100746b0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0490
// GLOBAL: LEGO1 0x100f0490
return "Hospital";
}
// OFFSET: LEGO1 0x100746c0
// FUNCTION: LEGO1 0x100746c0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Hospital::ClassName()) || LegoWorld::IsA(name);

View file

@ -3,18 +3,18 @@
#include "buildingentity.h"
// VTABLE 0x100d5068
// VTABLE: LEGO1 0x100d5068
// SIZE 0x68
class HospitalEntity : public BuildingEntity {
public:
// OFFSET: LEGO1 0x1000ec40
// FUNCTION: LEGO1 0x1000ec40
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0338
// GLOBAL: LEGO1 0x100f0338
return "HospitalEntity";
}
// OFFSET: LEGO1 0x1000ec50
// FUNCTION: LEGO1 0x1000ec50
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, HospitalEntity::ClassName()) || BuildingEntity::IsA(name);

View file

@ -1,6 +1,6 @@
#include "hospitalstate.h"
// OFFSET: LEGO1 0x10076370 STUB
// STUB: LEGO1 0x10076370
HospitalState::HospitalState()
{
// TODO

View file

@ -3,20 +3,20 @@
#include "legostate.h"
// VTABLE 0x100d97a0
// VTABLE: LEGO1 0x100d97a0
// SIZE 0x18
class HospitalState : public LegoState {
public:
HospitalState();
// OFFSET: LEGO1 0x10076400
// FUNCTION: LEGO1 0x10076400
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0480
// GLOBAL: LEGO1 0x100f0480
return "HospitalState";
}
// OFFSET: LEGO1 0x10076410
// FUNCTION: LEGO1 0x10076410
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, HospitalState::ClassName()) || LegoState::IsA(name);

View file

@ -1,18 +1,18 @@
#include "infocenter.h"
// OFFSET: LEGO1 0x1006ea20 STUB
// STUB: LEGO1 0x1006ea20
Infocenter::Infocenter()
{
// TODO
}
// OFFSET: LEGO1 0x1006ec90 STUB
// STUB: LEGO1 0x1006ec90
Infocenter::~Infocenter()
{
// TODO
}
// OFFSET: LEGO1 0x1006ef10 STUB
// STUB: LEGO1 0x1006ef10
MxLong Infocenter::Notify(MxParam& p)
{
// TODO
@ -20,7 +20,7 @@ MxLong Infocenter::Notify(MxParam& p)
return 0;
}
// OFFSET: LEGO1 0x10070af0 STUB
// STUB: LEGO1 0x10070af0
MxResult Infocenter::Tickle()
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100d9338
// VTABLE: LEGO1 0x100d9338
// SIZE 0x1d8
class Infocenter : public LegoWorld {
public:
@ -13,14 +13,14 @@ class Infocenter : public LegoWorld {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x1006eb40
// FUNCTION: LEGO1 0x1006eb40
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f04ec
// GLOBAL: LEGO1 0x100f04ec
return "Infocenter";
}
// OFFSET: LEGO1 0x1006eb50
// FUNCTION: LEGO1 0x1006eb50
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Infocenter::ClassName()) || LegoWorld::IsA(name);

View file

@ -1,18 +1,18 @@
#include "infocenterdoor.h"
// OFFSET: LEGO1 0x10037730 STUB
// STUB: LEGO1 0x10037730
InfocenterDoor::InfocenterDoor()
{
// TODO
}
// OFFSET: LEGO1 0x100378f0 STUB
// STUB: LEGO1 0x100378f0
InfocenterDoor::~InfocenterDoor()
{
// TODO
}
// OFFSET: LEGO1 0x100379e0 STUB
// STUB: LEGO1 0x100379e0
MxLong InfocenterDoor::Notify(MxParam& p)
{
// TODO

View file

@ -3,7 +3,7 @@
#include "legoworld.h"
// VTABLE 0x100d72d8
// VTABLE: LEGO1 0x100d72d8
// SIZE 0xfc
class InfocenterDoor : public LegoWorld {
public:
@ -12,14 +12,14 @@ class InfocenterDoor : public LegoWorld {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
// OFFSET: LEGO1 0x100377b0
// FUNCTION: LEGO1 0x100377b0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f049c
// GLOBAL: LEGO1 0x100f049c
return "InfocenterDoor";
}
// OFFSET: LEGO1 0x100377c0
// FUNCTION: LEGO1 0x100377c0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, InfocenterDoor::ClassName()) || LegoWorld::IsA(name);

View file

@ -3,18 +3,18 @@
#include "buildingentity.h"
// VTABLE 0x100d4b90
// VTABLE: LEGO1 0x100d4b90
// SIZE 0x68
class InfoCenterEntity : public BuildingEntity {
public:
// OFFSET: LEGO1 0x1000ea00
// FUNCTION: LEGO1 0x1000ea00
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f035c
// GLOBAL: LEGO1 0x100f035c
return "InfoCenterEntity";
}
// OFFSET: LEGO1 0x1000ea10
// FUNCTION: LEGO1 0x1000ea10
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(name);

View file

@ -2,13 +2,13 @@
DECOMP_SIZE_ASSERT(InfocenterState, 0x94);
// OFFSET: LEGO1 0x10071600 STUB
// STUB: LEGO1 0x10071600
InfocenterState::InfocenterState()
{
// TODO
}
// OFFSET: LEGO1 0x10071920 STUB
// STUB: LEGO1 0x10071920
InfocenterState::~InfocenterState()
{
// TODO

View file

@ -4,21 +4,21 @@
#include "decomp.h"
#include "legostate.h"
// VTABLE 0x100d93a8
// VTABLE: LEGO1 0x100d93a8
// SIZE 0x94
class InfocenterState : public LegoState {
public:
InfocenterState();
virtual ~InfocenterState();
// OFFSET: LEGO1 0x10071840
// FUNCTION: LEGO1 0x10071840
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f04dc
// GLOBAL: LEGO1 0x100f04dc
return "InfocenterState";
}
// OFFSET: LEGO1 0x10071850
// FUNCTION: LEGO1 0x10071850
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, InfocenterState::ClassName()) || LegoState::IsA(name);

View file

@ -1,6 +1,6 @@
#include "isle.h"
// OFFSET: LEGO1 0x10030820 STUB
// STUB: LEGO1 0x10030820
Isle::Isle()
{
// TODO

View file

@ -3,21 +3,21 @@
#include "legoworld.h"
// VTABLE 0x100d6fb8
// VTABLE: LEGO1 0x100d6fb8
// SIZE 0x140
// Radio at 0x12c
class Isle : public LegoWorld {
public:
Isle();
// OFFSET: LEGO1 0x10030910
// FUNCTION: LEGO1 0x10030910
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0458
// GLOBAL: LEGO1 0x100f0458
return "Isle";
}
// OFFSET: LEGO1 0x10030920
// FUNCTION: LEGO1 0x10030920
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Isle::ClassName()) || LegoWorld::IsA(name);

View file

@ -3,17 +3,17 @@
#include "legoactor.h"
// VTABLE 0x100d5178
// VTABLE: LEGO1 0x100d5178
class IsleActor : public LegoActor {
public:
// OFFSET: LEGO1 0x1000e660
// FUNCTION: LEGO1 0x1000e660
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f07dc
// GLOBAL: LEGO1 0x100f07dc
return "IsleActor";
}
// OFFSET: LEGO1 0x1000e670
// FUNCTION: LEGO1 0x1000e670
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, IsleActor::ClassName()) || LegoActor::IsA(name);

View file

@ -3,38 +3,38 @@
DECOMP_SIZE_ASSERT(IslePathActor, 0x160)
// Probably in header
// OFFSET: LEGO1 0x10002df0 STUB
// STUB: LEGO1 0x10002df0
void IslePathActor::VTable0xd0()
{
// TODO
}
// OFFSET: LEGO1 0x10002e00 STUB
// STUB: LEGO1 0x10002e00
void IslePathActor::VTable0xdc()
{
// TODO
}
// OFFSET: LEGO1 0x10002e70 STUB
// STUB: LEGO1 0x10002e70
void IslePathActor::VTable0xcc()
{
// TODO
}
// OFFSET: LEGO1 0x10002e80 STUB
// STUB: LEGO1 0x10002e80
void IslePathActor::VTable0xd4()
{
// TODO
}
// OFFSET: LEGO1 0x10002e90 STUB
// STUB: LEGO1 0x10002e90
void IslePathActor::VTable0xd8()
{
// TODO
}
// End header
// OFFSET: LEGO1 0x1001a200
// FUNCTION: LEGO1 0x1001a200
IslePathActor::IslePathActor()
{
this->m_pLegoWorld = NULL;
@ -43,31 +43,31 @@ IslePathActor::IslePathActor()
this->m_unk158 = 0;
}
// OFFSET: LEGO1 0x1001a280
// FUNCTION: LEGO1 0x1001a280
MxResult IslePathActor::Create(MxDSObject& p_dsObject)
{
return MxEntity::Create(p_dsObject);
}
// OFFSET: LEGO1 0x1001a350 STUB
// STUB: LEGO1 0x1001a350
void IslePathActor::VTable0xe0()
{
// TODO
}
// OFFSET: LEGO1 0x1001a3f0 STUB
// STUB: LEGO1 0x1001a3f0
void IslePathActor::VTable0xe4()
{
// TODO
}
// OFFSET: LEGO1 0x1001b2a0 STUB
// STUB: LEGO1 0x1001b2a0
void IslePathActor::VTable0xe8(MxU32 p_1, MxBool p_2, MxU8 p_3)
{
// TODO
}
// OFFSET: LEGO1 0x1001b5b0 STUB
// STUB: LEGO1 0x1001b5b0
void IslePathActor::VTable0xec()
{
// TODO

View file

@ -5,26 +5,26 @@
#include "legoworld.h"
#include "mxtypes.h"
// VTABLE 0x100d4398
// VTABLE: LEGO1 0x100d4398
// SIZE 0x160
class IslePathActor : public LegoPathActor {
public:
IslePathActor();
// OFFSET: LEGO1 0x10002ea0
// FUNCTION: LEGO1 0x10002ea0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0104
// GLOBAL: LEGO1 0x100f0104
return "IslePathActor";
}
// OFFSET: LEGO1 0x10002eb0
// FUNCTION: LEGO1 0x10002eb0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, IslePathActor::ClassName()) || LegoPathActor::IsA(name);
}
// OFFSET: LEGO1 0x10002ff0 TEMPLATE
// SYNTHETIC: LEGO1 0x10002ff0
// IslePathActor::`scalar deleting destructor'
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); }

View file

@ -2,7 +2,7 @@
DECOMP_SIZE_ASSERT(Jetski, 0x164);
// OFFSET: LEGO1 0x1007e3b0
// FUNCTION: LEGO1 0x1007e3b0
Jetski::Jetski()
{
this->m_unk13c = 25.0;

View file

@ -4,20 +4,20 @@
#include "decomp.h"
#include "islepathactor.h"
// VTABLE 0x100d9ec8
// VTABLE: LEGO1 0x100d9ec8
// SIZE 0x164
class Jetski : public IslePathActor {
public:
Jetski();
// OFFSET: LEGO1 0x1007e430
// FUNCTION: LEGO1 0x1007e430
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f03d8
// GLOBAL: LEGO1 0x100f03d8
return "Jetski";
}
// OFFSET: LEGO1 0x1007e440
// FUNCTION: LEGO1 0x1007e440
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Jetski::ClassName()) || IslePathActor::IsA(name);

View file

@ -3,18 +3,18 @@
#include "legorace.h"
// VTABLE 0x100d4fe8
// VTABLE: LEGO1 0x100d4fe8
// SIZE 0x144
class JetskiRace : public LegoRace {
public:
// OFFSET: LEGO1 0x1000daf0
// FUNCTION: LEGO1 0x1000daf0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0530
// GLOBAL: LEGO1 0x100f0530
return "JetskiRace";
}
// OFFSET: LEGO1 0x1000db00
// FUNCTION: LEGO1 0x1000db00
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, JetskiRace::ClassName()) || LegoRace::IsA(name);

View file

@ -3,18 +3,18 @@
#include "racestate.h"
// VTABLE 0x100d4fa8
// VTABLE: LEGO1 0x100d4fa8
// SIZE 0x2c
class JetskiRaceState : public RaceState {
public:
// OFFSET: LEGO1 0x1000dc40
// FUNCTION: LEGO1 0x1000dc40
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f00ac
// GLOBAL: LEGO1 0x100f00ac
return "JetskiRaceState";
}
// OFFSET: LEGO1 0x1000dc50
// FUNCTION: LEGO1 0x1000dc50
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, JetskiRaceState::ClassName()) || RaceState::IsA(name);

View file

@ -1,6 +1,6 @@
#include "jukebox.h"
// OFFSET: LEGO1 0x1005d660 STUB
// STUB: LEGO1 0x1005d660
JukeBox::JukeBox()
{
// TODO

View file

@ -3,20 +3,20 @@
#include "legoworld.h"
// VTABLE 0x100d8958
// VTABLE: LEGO1 0x100d8958
// SIZE 0x104
class JukeBox : public LegoWorld {
public:
JukeBox();
// OFFSET: LEGO1 0x1005d6f0
// FUNCTION: LEGO1 0x1005d6f0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f02cc
// GLOBAL: LEGO1 0x100f02cc
return "JukeBox";
}
// OFFSET: LEGO1 0x1005d700
// FUNCTION: LEGO1 0x1005d700
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, JukeBox::ClassName()) || LegoWorld::IsA(name);

View file

@ -1,12 +1,12 @@
#include "jukeboxentity.h"
// OFFSET: LEGO1 0x10085bc0 STUB
// STUB: LEGO1 0x10085bc0
JukeBoxEntity::JukeBoxEntity()
{
// TODO
}
// OFFSET: LEGO1 0x10085dd0 STUB
// STUB: LEGO1 0x10085dd0
JukeBoxEntity::~JukeBoxEntity()
{
// TODO

View file

@ -3,21 +3,21 @@
#include "legoentity.h"
// VTABLE 0x100da8a0
// VTABLE: LEGO1 0x100da8a0
// SIZE 0x6c
class JukeBoxEntity : public LegoEntity {
public:
JukeBoxEntity();
virtual ~JukeBoxEntity() override; // vtable+0x0
// OFFSET: LEGO1 0x10085cc0
// FUNCTION: LEGO1 0x10085cc0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f02f0
// GLOBAL: LEGO1 0x100f02f0
return "JukeBoxEntity";
}
// OFFSET: LEGO1 0x10085cd0
// FUNCTION: LEGO1 0x10085cd0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(name);

View file

@ -1,6 +1,6 @@
#include "jukeboxstate.h"
// OFFSET: LEGO1 0x1000f300
// FUNCTION: LEGO1 0x1000f300
MxBool JukeBoxState::VTable0x14()
{
return FALSE;

View file

@ -3,18 +3,18 @@
#include "legostate.h"
// VTABLE 0x100d4a90
// VTABLE: LEGO1 0x100d4a90
// SIZE 0x10
class JukeBoxState : public LegoState {
public:
// OFFSET: LEGO1 0x1000f310
// FUNCTION: LEGO1 0x1000f310
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f02bc
// GLOBAL: LEGO1 0x100f02bc
return "JukeBoxState";
}
// OFFSET: LEGO1 0x1000f320
// FUNCTION: LEGO1 0x1000f320
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, JukeBoxState::ClassName()) || LegoState::IsA(name);

View file

@ -3,18 +3,18 @@
#include "legowavepresenter.h"
// VTABLE 0x100d52b0
// VTABLE: LEGO1 0x100d52b0
// SIZE 0xa0
class Lego3DWavePresenter : public LegoWavePresenter {
public:
// OFFSET: LEGO1 0x1000d890
// FUNCTION: LEGO1 0x1000d890
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f058c
// GLOBAL: LEGO1 0x100f058c
return "Lego3DWavePresenter";
}
// OFFSET: LEGO1 0x1000d8a0
// FUNCTION: LEGO1 0x1000d8a0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(name);

View file

@ -3,18 +3,18 @@
#include "legostate.h"
// VTABLE 0x100d4a70
// VTABLE: LEGO1 0x100d4a70
// SIZE 0x10
class LegoAct2State : public LegoState {
public:
// OFFSET: LEGO1 0x1000df80
// FUNCTION: LEGO1 0x1000df80
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0428
// GLOBAL: LEGO1 0x100f0428
return "LegoAct2State";
}
// OFFSET: LEGO1 0x1000df90
// FUNCTION: LEGO1 0x1000df90
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoAct2State::ClassName()) || LegoState::IsA(name);

View file

@ -10,19 +10,19 @@
DECOMP_SIZE_ASSERT(LegoActionControlPresenter, 0x68)
// OFFSET: LEGO1 0x10043ce0 STUB
// STUB: LEGO1 0x10043ce0
void LegoActionControlPresenter::ReadyTickle()
{
// TODO
}
// OFFSET: LEGO1 0x10043d40 STUB
// STUB: LEGO1 0x10043d40
void LegoActionControlPresenter::RepeatingTickle()
{
// TODO
}
// OFFSET: LEGO1 0x10043df0
// FUNCTION: LEGO1 0x10043df0
MxResult LegoActionControlPresenter::AddToManager()
{
MxResult result = FAILURE;
@ -35,7 +35,7 @@ MxResult LegoActionControlPresenter::AddToManager()
return result;
}
// OFFSET: LEGO1 0x10043e20
// FUNCTION: LEGO1 0x10043e20
void LegoActionControlPresenter::Destroy(MxBool p_fromDestructor)
{
if (TickleManager()) {
@ -47,7 +47,7 @@ void LegoActionControlPresenter::Destroy(MxBool p_fromDestructor)
}
}
// OFFSET: LEGO1 0x10043e50
// FUNCTION: LEGO1 0x10043e50
void LegoActionControlPresenter::ParseExtra()
{
MxU32 len = m_action->GetExtraLength();

View file

@ -5,28 +5,28 @@
#include "legoutil.h"
#include "mxmediapresenter.h"
// VTABLE 0x100d5118
// VTABLE: LEGO1 0x100d5118
// SIZE 0x68
class LegoActionControlPresenter : public MxMediaPresenter {
public:
inline LegoActionControlPresenter() { m_unk0x50 = ExtraActionType_none; }
virtual ~LegoActionControlPresenter() override { Destroy(TRUE); }; // vtable+0x00
// OFFSET: LEGO1 0x1000d0e0
// FUNCTION: LEGO1 0x1000d0e0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f05bc
// GLOBAL: LEGO1 0x100f05bc
return "LegoActionControlPresenter";
}
// OFFSET: LEGO1 0x1000d0f0
// FUNCTION: LEGO1 0x1000d0f0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(name);
}
// TODO: Find proper compilation unit to put this
// OFFSET: LEGO1 0x1000d1d0 TEMPLATE
// SYNTHETIC: LEGO1 0x1000d1d0
// LegoActionControlPresenter::`scalar deleting destructor'
virtual void ReadyTickle() override; // vtable+0x18

View file

@ -3,44 +3,44 @@
DECOMP_SIZE_ASSERT(LegoActor, 0x78)
// Probably in header
// OFFSET: LEGO1 0x10002cc0
// FUNCTION: LEGO1 0x10002cc0
MxFloat LegoActor::VTable0x50()
{
return m_unk68;
}
// OFFSET: LEGO1 0x10002cd0
// FUNCTION: LEGO1 0x10002cd0
void LegoActor::VTable0x54(MxFloat p_unk)
{
m_unk68 = p_unk;
}
// OFFSET: LEGO1 0x10002ce0
// FUNCTION: LEGO1 0x10002ce0
void LegoActor::VTable0x58(MxFloat p_unk)
{
m_unk70 = p_unk;
}
// OFFSET: LEGO1 0x10002cf0
// FUNCTION: LEGO1 0x10002cf0
MxFloat LegoActor::VTable0x5c()
{
return m_unk70;
}
// OFFSET: LEGO1 0x10002d00
// FUNCTION: LEGO1 0x10002d00
undefined LegoActor::VTable0x60()
{
return m_unk74;
}
// OFFSET: LEGO1 0x10002d10
// FUNCTION: LEGO1 0x10002d10
void LegoActor::VTable0x64(undefined p_unk)
{
m_unk74 = p_unk;
}
// End header
// OFFSET: LEGO1 0x1002d110
// FUNCTION: LEGO1 0x1002d110
LegoActor::LegoActor()
{
m_unk68 = 0.0f;

View file

@ -4,20 +4,20 @@
#include "decomp.h"
#include "legoentity.h"
// VTABLE 0x100d6d68
// VTABLE: LEGO1 0x100d6d68
// SIZE 0x78
class LegoActor : public LegoEntity {
public:
LegoActor();
// OFFSET: LEGO1 0x1002d210
// FUNCTION: LEGO1 0x1002d210
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0124
// GLOBAL: LEGO1 0x100f0124
return "LegoActor";
}
// OFFSET: LEGO1 0x1002d220
// FUNCTION: LEGO1 0x1002d220
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);

View file

@ -3,18 +3,18 @@
#include "legoentitypresenter.h"
// VTABLE 0x100d5320
// VTABLE: LEGO1 0x100d5320
// SIZE 0x50
class LegoActorPresenter : public LegoEntityPresenter {
public:
// OFFSET: LEGO1 0x1000cb10
// FUNCTION: LEGO1 0x1000cb10
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f06a4
// GLOBAL: LEGO1 0x100f06a4
return "LegoActorPresenter";
}
// OFFSET: LEGO1 0x1000cb20
// FUNCTION: LEGO1 0x1000cb20
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(name);

View file

@ -1,39 +1,39 @@
#include "legoanimationmanager.h"
// 0x100f74f8
// GLOBAL: LEGO1 0x100f74f8
int g_legoAnimationManagerConfig = 1;
// OFFSET: LEGO1 0x1005eb50
// FUNCTION: LEGO1 0x1005eb50
void LegoAnimationManager::configureLegoAnimationManager(int param_1)
{
g_legoAnimationManagerConfig = param_1;
}
// OFFSET: LEGO1 0x1005eb60 STUB
// STUB: LEGO1 0x1005eb60
LegoAnimationManager::LegoAnimationManager()
{
// TODO
}
// OFFSET: LEGO1 0x1005ed30 STUB
// STUB: LEGO1 0x1005ed30
LegoAnimationManager::~LegoAnimationManager()
{
// TODO
}
// OFFSET: LEGO1 0x1005f130 STUB
// STUB: LEGO1 0x1005f130
void LegoAnimationManager::Init()
{
// TODO
}
// OFFSET: LEGO1 0x1005f6d0 STUB
// STUB: LEGO1 0x1005f6d0
void LegoAnimationManager::FUN_1005f6d0(MxBool p)
{
// TODO
}
// OFFSET: LEGO1 0x100619f0 STUB
// STUB: LEGO1 0x100619f0
MxLong LegoAnimationManager::Notify(MxParam& p)
{
// TODO
@ -41,7 +41,7 @@ MxLong LegoAnimationManager::Notify(MxParam& p)
return 0;
}
// OFFSET: LEGO1 0x10061cc0 STUB
// STUB: LEGO1 0x10061cc0
MxResult LegoAnimationManager::Tickle()
{
// TODO

View file

@ -3,7 +3,7 @@
#include "mxcore.h"
// VTABLE 0x100d8c18
// VTABLE: LEGO1 0x100d8c18
// SIZE 0x500
class LegoAnimationManager : public MxCore {
public:
@ -13,14 +13,14 @@ class LegoAnimationManager : public MxCore {
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8
// OFFSET: LEGO1 0x1005ec80
// FUNCTION: LEGO1 0x1005ec80
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f7508
// GLOBAL: LEGO1 0x100f7508
return "LegoAnimationManager";
}
// OFFSET: LEGO1 0x1005ec90
// FUNCTION: LEGO1 0x1005ec90
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, ClassName()) || MxCore::IsA(name);

View file

@ -1,6 +1,6 @@
#include "legoanimmmpresenter.h"
// OFFSET: LEGO1 0x1004a8d0 STUB
// STUB: LEGO1 0x1004a8d0
LegoAnimMMPresenter::LegoAnimMMPresenter()
{
// TODO

View file

@ -3,20 +3,20 @@
#include "mxcompositepresenter.h"
// VTABLE 0x100d7de8
// VTABLE: LEGO1 0x100d7de8
// SIZE 0x74
class LegoAnimMMPresenter : public MxCompositePresenter {
public:
LegoAnimMMPresenter();
// OFFSET: LEGO1 0x1004a950
// FUNCTION: LEGO1 0x1004a950
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f046c
// GLOBAL: LEGO1 0x100f046c
return "LegoAnimMMPresenter";
}
// OFFSET: LEGO1 0x1004a960
// FUNCTION: LEGO1 0x1004a960
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(name);

View file

@ -1,12 +1,12 @@
#include "legoanimpresenter.h"
// OFFSET: LEGO1 0x10068420 STUB
// STUB: LEGO1 0x10068420
LegoAnimPresenter::LegoAnimPresenter()
{
// TODO
}
// OFFSET: LEGO1 0x100686f0 STUB
// STUB: LEGO1 0x100686f0
void LegoAnimPresenter::Init()
{
// TODO

View file

@ -3,19 +3,19 @@
#include "mxvideopresenter.h"
// VTABLE 0x100d90c8
// VTABLE: LEGO1 0x100d90c8
class LegoAnimPresenter : public MxVideoPresenter {
public:
LegoAnimPresenter();
// OFFSET: LEGO1 0x10068530
// FUNCTION: LEGO1 0x10068530
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f071c
// GLOBAL: LEGO1 0x100f071c
return "LegoAnimPresenter";
}
// OFFSET: LEGO1 0x10068540
// FUNCTION: LEGO1 0x10068540
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(name);

View file

@ -11,7 +11,7 @@ const char* g_delimiter = "\t";
const char* g_set = "set";
const char* g_reset = "reset";
// OFFSET: LEGO1 0x1003bfb0
// FUNCTION: LEGO1 0x1003bfb0
LegoBackgroundColor::LegoBackgroundColor(const char* p_key, const char* p_value)
{
m_key = p_key;
@ -19,7 +19,7 @@ LegoBackgroundColor::LegoBackgroundColor(const char* p_key, const char* p_value)
SetValue(p_value);
}
// OFFSET: LEGO1 0x1003c070
// FUNCTION: LEGO1 0x1003c070
void LegoBackgroundColor::SetValue(const char* p_colorString)
{
m_value = p_colorString;

View file

@ -3,7 +3,7 @@
#include "mxvariable.h"
// VTABLE 0x100d74a8
// VTABLE: LEGO1 0x100d74a8
// SIZE 0x30
class LegoBackgroundColor : public MxVariable {
public:

View file

@ -1,27 +1,27 @@
#include "legobuildingmanager.h"
// 0x100f37cc
// GLOBAL: LEGO1 0x100f37cc
int g_buildingManagerConfig = 1;
// OFFSET: LEGO1 0x1002f8b0
// FUNCTION: LEGO1 0x1002f8b0
void LegoBuildingManager::configureLegoBuildingManager(int param_1)
{
g_buildingManagerConfig = param_1;
}
// OFFSET: LEGO1 0x1002f8c0
// FUNCTION: LEGO1 0x1002f8c0
LegoBuildingManager::LegoBuildingManager()
{
Init();
}
// OFFSET: LEGO1 0x1002f960 STUB
// STUB: LEGO1 0x1002f960
LegoBuildingManager::~LegoBuildingManager()
{
// TODO
}
// OFFSET: LEGO1 0x1002f9d0 STUB
// STUB: LEGO1 0x1002f9d0
void LegoBuildingManager::Init()
{
// TODO

View file

@ -3,17 +3,17 @@
#include "mxcore.h"
// VTABLE 0x100d6f50
// VTABLE: LEGO1 0x100d6f50
// SIZE 0x30
class LegoBuildingManager : public MxCore {
public:
LegoBuildingManager();
virtual ~LegoBuildingManager() override;
// OFFSET: LEGO1 0x1002f930
// FUNCTION: LEGO1 0x1002f930
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f37d0
// GLOBAL: LEGO1 0x100f37d0
return "LegoBuildingManager";
}

View file

@ -1,18 +1,18 @@
#include "legocachesound.h"
// OFFSET: LEGO1 0x100064d0
// FUNCTION: LEGO1 0x100064d0
LegoCacheSound::LegoCacheSound()
{
Init();
}
// OFFSET: LEGO1 0x10006630 STUB
// STUB: LEGO1 0x10006630
LegoCacheSound::~LegoCacheSound()
{
// TODO
}
// OFFSET: LEGO1 0x100066d0 STUB
// STUB: LEGO1 0x100066d0
void LegoCacheSound::Init()
{
// TODO

View file

@ -3,21 +3,21 @@
#include "mxcore.h"
// VTABLE 0x100d4718
// VTABLE: LEGO1 0x100d4718
// SIZE 0x88
class LegoCacheSound : public MxCore {
public:
LegoCacheSound();
virtual ~LegoCacheSound() override; // vtable+0x0
// OFFSET: LEGO1 0x10006580
// FUNCTION: LEGO1 0x10006580
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f01c4
// GLOBAL: LEGO1 0x100f01c4
return "LegoCacheSound";
}
// OFFSET: LEGO1 0x10006590
// FUNCTION: LEGO1 0x10006590
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoCacheSound::ClassName()) || MxCore::IsA(name);

View file

@ -1,12 +1,12 @@
#include "legocameracontroller.h"
// OFFSET: LEGO1 0x10011d50 STUB
// STUB: LEGO1 0x10011d50
LegoCameraController::LegoCameraController()
{
// TODO
}
// OFFSET: LEGO1 0x10011f70 STUB
// STUB: LEGO1 0x10011f70
LegoCameraController::~LegoCameraController()
{
// TODO

View file

@ -3,21 +3,21 @@
#include "mxcore.h"
// VTABLE 0x100d57b0
// VTABLE: LEGO1 0x100d57b0
// SIZE 0xc8
class LegoCameraController : public MxCore {
public:
LegoCameraController();
virtual ~LegoCameraController() override; // vtable+0x0
// OFFSET: LEGO1 0x10011ec0
// FUNCTION: LEGO1 0x10011ec0
inline virtual const char* ClassName() const override // vtable+0x0c
{
// 0x100f0850
// GLOBAL: LEGO1 0x100f0850
return "LegoCameraController";
}
// OFFSET: LEGO1 0x10011ed0
// FUNCTION: LEGO1 0x10011ed0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, ClassName()) || MxCore::IsA(name);

View file

@ -1,18 +1,18 @@
#include "legocarbuild.h"
// OFFSET: LEGO1 0x100226d0 STUB
// STUB: LEGO1 0x100226d0
LegoCarBuild::LegoCarBuild()
{
// TODO
}
// OFFSET: LEGO1 0x10022a80 STUB
// STUB: LEGO1 0x10022a80
LegoCarBuild::~LegoCarBuild()
{
// TODO
}
// OFFSET: LEGO1 0x100238b0 STUB
// STUB: LEGO1 0x100238b0
MxResult LegoCarBuild::Tickle()
{
// TODO
@ -20,7 +20,7 @@ MxResult LegoCarBuild::Tickle()
return 0;
}
// OFFSET: LEGO1 0x10024050 STUB
// STUB: LEGO1 0x10024050
MxLong LegoCarBuild::Notify(MxParam& p)
{
// TODO

Some files were not shown because too many files have changed in this diff Show more