cmake+ci: run clang-tidy (#512)

* cmake+ci: run clang-tidy

* Remove DESCRIPTION from LEGO1/LegoOmni.mingw.def

* Add initial .clang-tidy and fixes

* fix file perms

* Comment out DESCRIPTION

* Remove LegoEntity::~LegoEntity and MxPresenter::~MxPresenter from mingw's LEGO1.def

* Looks like clang is allergic to the libs in the directx5 SDK

* Update .clang-tidy

* Fix typo in .clang-tidy

* Attempt to generate an action error

* Revert "Attempt to generate an action error"

This reverts commit 96c4c65fed.

* cmake: test with -Wparentheses + optionally with -Werror

* ci: -k0 is a Ninja argument

* Use -Werror only for msys2 builds

* cmake: only emit warnings for specific warnings

* cmake: and don't do -Werror/-WX anymore

* Fix warnings

* Fix mingw warnings

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Anonymous Maarten 2024-02-01 21:42:10 +01:00 committed by GitHub
parent 97d1ba7c71
commit 9e686e2a87
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
308 changed files with 2863 additions and 1995 deletions

6
.clang-tidy Normal file
View file

@ -0,0 +1,6 @@
Checks: >
-*,
readability-braces-around-statements,
modernize-use-override
WarningsAsErrors: '-*,readability-braces-around-statements,modernize-use-override'
HeaderFilterRegex: ".*"

View file

@ -14,18 +14,20 @@ jobs:
matrix: matrix:
toolchain: toolchain:
- { name: 'MSVC', shell: 'sh', setup-cmake: true, setup-ninja: true, setup-msvc: true } - { name: 'MSVC', shell: 'sh', setup-cmake: true, setup-ninja: true, setup-msvc: true }
- { name: 'msys2 mingw32', shell: 'msys2 {0}', setup-msys2: true } - { name: 'msys2 mingw32', shell: 'msys2 {0}', msystem: mingw32, msys-env: mingw-w64-i686, clang-tidy: true, werror: true }
- { name: 'msys2 clang32', shell: 'msys2 {0}', msystem: clang32, msys-env: mingw-w64-clang-i686, clang-tidy: true, werror: true, no-dx5-libs: true }
steps: steps:
- name: Set up MSYS2 - name: Set up MSYS2
if: matrix.toolchain.setup-msys2 if: ${{ !!matrix.toolchain.msystem }}
uses: msys2/setup-msys2@v2 uses: msys2/setup-msys2@v2
with: with:
msystem: mingw32 msystem: ${{ matrix.toolchain.msystem }}
install: >- install: >-
mingw-w64-i686-cc ${{ matrix.toolchain.msys-env }}-cc
mingw-w64-i686-cmake ${{ matrix.toolchain.msys-env }}-cmake
mingw-w64-i686-ninja ${{ matrix.toolchain.msys-env }}-ninja
${{ matrix.toolchain.msys-env }}-clang-tools-extra
- name: Setup cmake - name: Setup cmake
if: matrix.toolchain.setup-cmake if: matrix.toolchain.setup-cmake
@ -45,8 +47,13 @@ jobs:
- name: Build - name: Build
run: | run: |
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -GNinja -Werror=dev cmake -S . -B build -GNinja \
cmake --build build -DCMAKE_BUILD_TYPE=Debug \
-DISLE_USE_DX5_LIBS=${{ !matrix.toolchain.no-dx5-libs }} \
-DENABLE_CLANG_TIDY=${{ !!matrix.toolchain.clang-tidy }} \
-DISLE_WERROR=${{ !!matrix.toolchain.werror }} \
-Werror=dev
cmake --build build -- -k0
build: build:
name: 'MSVC 4.20' name: 'MSVC 4.20'

View file

@ -2,6 +2,18 @@ cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
project(isle CXX) project(isle CXX)
include(CheckCXXSourceCompiles)
include(CMakeDependentOption)
include(CMakePushCheckState)
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
option(ENABLE_CLANG_TIDY "Enable clang-tidy")
if (ENABLE_CLANG_TIDY)
find_program(CLANG_TIDY_BIN NAMES "clang-tidy")
set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_BIN}")
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_BIN}")
endif()
math(EXPR bits "8 * ${CMAKE_SIZEOF_VOID_P}") math(EXPR bits "8 * ${CMAKE_SIZEOF_VOID_P}")
message(STATUS "Building ${bits}-bit LEGO Island") message(STATUS "Building ${bits}-bit LEGO Island")
if (NOT bits EQUAL 32) if (NOT bits EQUAL 32)
@ -21,15 +33,44 @@ macro(register_lego1_target __target)
list(APPEND lego1_targets ${__target}) list(APPEND lego1_targets ${__target})
endmacro() endmacro()
function(add_cxx_warning WARNING)
if(ISLE_WERROR)
set(compiler_option "-Werror=${WARNING}")
else()
set(compiler_option "-W${WARNING}")
endif()
string(MAKE_C_IDENTIFIER "COMPILER_SUPPORTS${compiler_option}" varname)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_FLAGS "${compiler_option} ")
if(MSVC)
string(APPEND CMAKE_REQUIRED_FLAGS "/WX")
else()
string(APPEND CMAKE_REQUIRED_FLAGS "-Werror")
endif()
check_cxx_source_compiles("int main() { return 0; }" ${varname})
cmake_pop_check_state()
if(${varname})
add_compile_options(${compiler_option})
endif()
endfunction()
message(STATUS "MSVC for decompilation: ${MSVC_FOR_DECOMP}") message(STATUS "MSVC for decompilation: ${MSVC_FOR_DECOMP}")
option(ISLE_WERROR "Treat warnings as errors" OFF)
option(ISLE_BUILD_APP "Build ISLE.EXE application" ON) option(ISLE_BUILD_APP "Build ISLE.EXE application" ON)
option(ISLE_USE_SMARTHEAP "Build with SmartHeap" ${MSVC_FOR_DECOMP}) option(ISLE_USE_SMARTHEAP "Build with SmartHeap" ${MSVC_FOR_DECOMP})
option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" ON) option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" ON)
cmake_dependent_option(ISLE_USE_DX5_LIBS "Build with internal DirectX 5 SDK Libraries" ON ISLE_USE_DX5 OFF)
add_cxx_warning(parentheses)
add_library(DirectX5::DirectX5 INTERFACE IMPORTED) add_library(DirectX5::DirectX5 INTERFACE IMPORTED)
target_include_directories(DirectX5::DirectX5 INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/dx5/inc") target_include_directories(DirectX5::DirectX5 INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/dx5/inc")
target_link_directories(DirectX5::DirectX5 INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/dx5/lib") if(ISLE_USE_DX5_LIBS)
target_link_directories(DirectX5::DirectX5 INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/dx5/lib")
endif()
add_library(Smacker::Smacker STATIC IMPORTED) add_library(Smacker::Smacker STATIC IMPORTED)
set_property(TARGET Smacker::Smacker PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/3rdparty/smacker/smack.lib") set_property(TARGET Smacker::Smacker PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/3rdparty/smacker/smack.lib")

View file

@ -770,12 +770,15 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
return; return;
} }
if (!Lego()) if (!Lego()) {
return; return;
if (!TickleManager()) }
if (!TickleManager()) {
return; return;
if (!Timer()) }
if (!Timer()) {
return; return;
}
MxLong currentTime = Timer()->GetRealTime(); MxLong currentTime = Timer()->GetRealTime();
if (currentTime < g_lastFrameTime) { if (currentTime < g_lastFrameTime) {
@ -828,8 +831,9 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
this->m_gameStarted = 1; this->m_gameStarted = 1;
} }
} }
else if (sleepIfNotNextFrame != 0) else if (sleepIfNotNextFrame != 0) {
Sleep(0); Sleep(0);
}
} }
// FUNCTION: ISLE 0x402e80 // FUNCTION: ISLE 0x402e80

View file

@ -1,6 +1,6 @@
; LegoOmni.def : Declares the module paarameters for the LEGO1.DLL. ; LegoOmni.def : Declares the module paarameters for the LEGO1.DLL.
DESCRIPTION " Lego OMNI Windows Dynamic Link Library" ; DESCRIPTION " Lego OMNI Windows Dynamic Link Library"
EXPORTS EXPORTS
@ -42,9 +42,6 @@ _Z5Timerv
_Z7PickROIii _Z7PickROIii
_Z8Streamerv _Z8Streamerv
_Z9GameStatev _Z9GameStatev
_ZN10LegoEntityD0Ev
_ZN10LegoEntityD1Ev
_ZN10LegoEntityD2Ev
_ZN10MxDSActionC1Ev _ZN10MxDSActionC1Ev
_ZN10MxDSActionC2Ev _ZN10MxDSActionC2Ev
_ZN10MxDSActionD0Ev _ZN10MxDSActionD0Ev
@ -60,9 +57,6 @@ _ZN11MxPresenter4InitEv
_ZN11MxPresenter6EnableEh _ZN11MxPresenter6EnableEh
_ZN11MxPresenter6TickleEv _ZN11MxPresenter6TickleEv
_ZN11MxPresenter9EndActionEv _ZN11MxPresenter9EndActionEv
_ZN11MxPresenterD0Ev
_ZN11MxPresenterD1Ev
_ZN11MxPresenterD2Ev
_ZN11MxScheduler11GetInstanceEv _ZN11MxScheduler11GetInstanceEv
_ZN11MxScheduler17StartMultiTaskingEj _ZN11MxScheduler17StartMultiTaskingEj
_ZN11ViewManager9RemoveAllEP7ViewROI _ZN11ViewManager9RemoveAllEP7ViewROI

View file

@ -10,20 +10,20 @@ class Act1State : public LegoState {
Act1State(); Act1State();
// FUNCTION: LEGO1 0x100338a0 // FUNCTION: LEGO1 0x100338a0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0154 // STRING: LEGO1 0x100f0154
return "Act1State"; return "Act1State";
} }
// FUNCTION: LEGO1 0x100338b0 // FUNCTION: LEGO1 0x100338b0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool SetFlag() override; // vtable+0x18 MxBool SetFlag() override; // vtable+0x18
virtual MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
inline void SetUnknown18(MxU32 p_unk0x18) { m_unk0x18 = p_unk0x18; } inline void SetUnknown18(MxU32 p_unk0x18) { m_unk0x18 = p_unk0x18; }
inline MxU32 GetUnknown18() { return m_unk0x18; } inline MxU32 GetUnknown18() { return m_unk0x18; }

View file

@ -8,25 +8,25 @@
class Act2Brick : public LegoPathActor { class Act2Brick : public LegoPathActor {
public: public:
Act2Brick(); Act2Brick();
virtual ~Act2Brick() override; // vtable+0x00 ~Act2Brick() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1007a360 // FUNCTION: LEGO1 0x1007a360
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0438 // STRING: LEGO1 0x100f0438
return "Act2Brick"; return "Act2Brick";
} }
// FUNCTION: LEGO1 0x1007a370 // FUNCTION: LEGO1 0x1007a370
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Act2Brick::ClassName()) || LegoEntity::IsA(p_name); return !strcmp(p_name, Act2Brick::ClassName()) || LegoEntity::IsA(p_name);
} }
virtual MxS32 VTable0x94() override; // vtable+0x94 MxS32 VTable0x94() override; // vtable+0x94
// SYNTHETIC: LEGO1 0x1007a450 // SYNTHETIC: LEGO1 0x1007a450
// Act2Brick::`scalar deleting destructor' // Act2Brick::`scalar deleting destructor'

View file

@ -7,17 +7,17 @@
// SIZE 0x68 // SIZE 0x68
class Act2PoliceStation : public LegoEntity { class Act2PoliceStation : public LegoEntity {
public: public:
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1000e200 // FUNCTION: LEGO1 0x1000e200
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03fc // STRING: LEGO1 0x100f03fc
return "Act2PoliceStation"; return "Act2PoliceStation";
} }
// FUNCTION: LEGO1 0x1000e210 // FUNCTION: LEGO1 0x1000e210
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Act2PoliceStation::ClassName()) || LegoEntity::IsA(p_name); return !strcmp(p_name, Act2PoliceStation::ClassName()) || LegoEntity::IsA(p_name);
} }

View file

@ -9,31 +9,31 @@ class Act3 : public LegoWorld {
public: public:
Act3(); Act3();
virtual ~Act3() override; // vtable+00 ~Act3() override; // vtable+00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10072510 // FUNCTION: LEGO1 0x10072510
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f013c // STRING: LEGO1 0x100f013c
return "Act3"; return "Act3";
} }
// FUNCTION: LEGO1 0x10072520 // FUNCTION: LEGO1 0x10072520
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Act3::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, Act3::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual void VTable0x60() override; // vtable+0x60 void VTable0x60() override; // vtable+0x60
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
inline void SetUnkown420c(MxEntity* p_entity) { m_unk0x420c = p_entity; } inline void SetUnkown420c(MxEntity* p_entity) { m_unk0x420c = p_entity; }
inline void SetUnkown4270(MxU32 p_unk0x4270) { m_unk0x4270 = p_unk0x4270; } inline void SetUnkown4270(MxU32 p_unk0x4270) { m_unk0x4270 = p_unk0x4270; }

View file

@ -8,7 +8,7 @@
class Act3Actor : public MxCore { class Act3Actor : public MxCore {
public: public:
// FUNCTION: LEGO1 0x100431b0 // FUNCTION: LEGO1 0x100431b0
inline virtual const char* ClassName() const override inline const char* ClassName() const override
{ {
// STRING: LEGO1 0x100f03ac // STRING: LEGO1 0x100f03ac
return "Act3Actor"; return "Act3Actor";

View file

@ -7,22 +7,22 @@
class Act3Shark : public LegoAnimActor { class Act3Shark : public LegoAnimActor {
public: public:
// FUNCTION: LEGO1 0x100430c0 // FUNCTION: LEGO1 0x100430c0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03a0 // STRING: LEGO1 0x100f03a0
return "Act3Shark"; return "Act3Shark";
} }
// FUNCTION: LEGO1 0x1001a130 // FUNCTION: LEGO1 0x1001a130
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Act3Shark::ClassName()) || LegoAnimActor::IsA(p_name); return !strcmp(p_name, Act3Shark::ClassName()) || LegoAnimActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30 void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual void VTable0x74(Matrix4& p_transform) override; // vtable+0x74 void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
// SYNTHETIC: LEGO1 0x10043020 // SYNTHETIC: LEGO1 0x10043020
// Act3Shark::`scalar deleting destructor' // Act3Shark::`scalar deleting destructor'

View file

@ -10,19 +10,19 @@ class Act3State : public LegoState {
inline Act3State() { m_unk0x08 = 0; } inline Act3State() { m_unk0x08 = 0; }
// FUNCTION: LEGO1 0x1000e300 // FUNCTION: LEGO1 0x1000e300
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03f0 // STRING: LEGO1 0x100f03f0
return "Act3State"; return "Act3State";
} }
// FUNCTION: LEGO1 0x1000e310 // FUNCTION: LEGO1 0x1000e310
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Act3State::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, Act3State::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool VTable0x14() override; MxBool VTable0x14() override;
// SYNTHETIC: LEGO1 0x1000e3c0 // SYNTHETIC: LEGO1 0x1000e3c0
// Act3State::`scalar deleting destructor' // Act3State::`scalar deleting destructor'

View file

@ -9,29 +9,29 @@ class Ambulance : public IslePathActor {
public: public:
Ambulance(); Ambulance();
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10035fa0 // FUNCTION: LEGO1 0x10035fa0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03c4 // STRING: LEGO1 0x100f03c4
return "Ambulance"; return "Ambulance";
} }
// FUNCTION: LEGO1 0x10035fb0 // FUNCTION: LEGO1 0x10035fb0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Ambulance::ClassName()) || IslePathActor::IsA(p_name); return !strcmp(p_name, Ambulance::ClassName()) || IslePathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxU32 VTable0xcc() override; // vtable+0xcc MxU32 VTable0xcc() override; // vtable+0xcc
virtual MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4 MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
virtual MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
virtual void VTable0xe4() override; // vtable+0xe4 void VTable0xe4() override; // vtable+0xe4
// SYNTHETIC: LEGO1 0x10036130 // SYNTHETIC: LEGO1 0x10036130
// Ambulance::`scalar deleting destructor' // Ambulance::`scalar deleting destructor'

View file

@ -10,19 +10,19 @@ class AmbulanceMissionState : public LegoState {
AmbulanceMissionState(); AmbulanceMissionState();
// FUNCTION: LEGO1 0x10037600 // FUNCTION: LEGO1 0x10037600
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f00e8 // STRING: LEGO1 0x100f00e8
return "AmbulanceMissionState"; return "AmbulanceMissionState";
} }
// FUNCTION: LEGO1 0x10037610 // FUNCTION: LEGO1 0x10037610
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, AmbulanceMissionState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, AmbulanceMissionState::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
inline MxU16 GetColor(MxU8 p_id) inline MxU16 GetColor(MxU8 p_id)
{ {

View file

@ -8,23 +8,23 @@
class AnimState : public LegoState { class AnimState : public LegoState {
public: public:
AnimState(); AnimState();
virtual ~AnimState() override; // vtable+0x00 ~AnimState() override; // vtable+0x00
// FUNCTION: LEGO1 0x10065070 // FUNCTION: LEGO1 0x10065070
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0460 // STRING: LEGO1 0x100f0460
return "AnimState"; return "AnimState";
} }
// FUNCTION: LEGO1 0x10065080 // FUNCTION: LEGO1 0x10065080
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, AnimState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, AnimState::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool SetFlag() override; // vtable+0x18 MxBool SetFlag() override; // vtable+0x18
virtual MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1C MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1C
// SYNTHETIC: LEGO1 0x10065130 // SYNTHETIC: LEGO1 0x10065130
// AnimState::`scalar deleting destructor' // AnimState::`scalar deleting destructor'

View file

@ -8,14 +8,14 @@
class BeachHouseEntity : public BuildingEntity { class BeachHouseEntity : public BuildingEntity {
public: public:
// FUNCTION: LEGO1 0x1000ee80 // FUNCTION: LEGO1 0x1000ee80
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0314 // STRING: LEGO1 0x100f0314
return "BeachHouseEntity"; return "BeachHouseEntity";
} }
// FUNCTION: LEGO1 0x1000ee90 // FUNCTION: LEGO1 0x1000ee90
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(p_name); return !strcmp(p_name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }

View file

@ -11,22 +11,22 @@ class Bike : public IslePathActor {
Bike(); Bike();
// FUNCTION: LEGO1 0x100766f0 // FUNCTION: LEGO1 0x100766f0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03d0 // STRING: LEGO1 0x100f03d0
return "Bike"; return "Bike";
} }
// FUNCTION: LEGO1 0x10076700 // FUNCTION: LEGO1 0x10076700
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Bike::ClassName()) || IslePathActor::IsA(p_name); return !strcmp(p_name, Bike::ClassName()) || IslePathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual MxU32 VTable0xcc() override; // vtable+0xcc MxU32 VTable0xcc() override; // vtable+0xcc
virtual MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4 MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
virtual void VTable0xe4() override; // vtable+0xe4 void VTable0xe4() override; // vtable+0xe4
// SYNTHETIC: LEGO1 0x10076880 // SYNTHETIC: LEGO1 0x10076880
// Bike::`scalar deleting destructor' // Bike::`scalar deleting destructor'

View file

@ -8,19 +8,19 @@
class BuildingEntity : public LegoEntity { class BuildingEntity : public LegoEntity {
public: public:
BuildingEntity(); BuildingEntity();
virtual ~BuildingEntity() override; // vtable+0x00 ~BuildingEntity() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10014f20 // FUNCTION: LEGO1 0x10014f20
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f07e8 // STRING: LEGO1 0x100f07e8
return "BuildingEntity"; return "BuildingEntity";
} }
// FUNCTION: LEGO1 0x10014f30 // FUNCTION: LEGO1 0x10014f30
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, BuildingEntity::ClassName()) || LegoEntity::IsA(p_name); return !strcmp(p_name, BuildingEntity::ClassName()) || LegoEntity::IsA(p_name);
} }

View file

@ -7,25 +7,25 @@
// VTABLE: LEGO1 0x100d6790 // VTABLE: LEGO1 0x100d6790
class BumpBouy : public LegoAnimActor { class BumpBouy : public LegoAnimActor {
public: public:
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100274e0 // FUNCTION: LEGO1 0x100274e0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0394 // STRING: LEGO1 0x100f0394
return "BumpBouy"; return "BumpBouy";
} }
// FUNCTION: LEGO1 0x10027500 // FUNCTION: LEGO1 0x10027500
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, BumpBouy::ClassName()) || LegoAnimActor::IsA(p_name); return !strcmp(p_name, BumpBouy::ClassName()) || LegoAnimActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30 void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual void VTable0x74(Matrix4& p_transform) override; // vtable+0x74 void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
// SYNTHETIC: LEGO1 0x10027490 // SYNTHETIC: LEGO1 0x10027490
// BumpBouy::`scalar deleting destructor' // BumpBouy::`scalar deleting destructor'

View file

@ -11,25 +11,25 @@ class CarRace : public LegoRace {
CarRace(); CarRace();
// FUNCTION: LEGO1 0x10016b20 // FUNCTION: LEGO1 0x10016b20
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0528 // STRING: LEGO1 0x100f0528
return "CarRace"; return "CarRace";
} }
// FUNCTION: LEGO1 0x10016b30 // FUNCTION: LEGO1 0x10016b30
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, CarRace::ClassName()) || LegoRace::IsA(p_name); return !strcmp(p_name, CarRace::ClassName()) || LegoRace::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual undefined4 VTable0x6c(undefined4) override; // vtable+0x6c undefined4 VTable0x6c(undefined4) override; // vtable+0x6c
virtual undefined4 VTable0x70(undefined4) override; // vtable+0x70 undefined4 VTable0x70(undefined4) override; // vtable+0x70
virtual undefined4 VTable0x74(undefined4) override; // vtable+0x74 undefined4 VTable0x74(undefined4) override; // vtable+0x74
virtual undefined4 VTable0x78(undefined4) override; // vtable+0x78 undefined4 VTable0x78(undefined4) override; // vtable+0x78
// SYNTHETIC: LEGO1 0x10016c70 // SYNTHETIC: LEGO1 0x10016c70
// CarRace::`scalar deleting destructor' // CarRace::`scalar deleting destructor'

View file

@ -8,14 +8,14 @@
class CarRaceState : public RaceState { class CarRaceState : public RaceState {
public: public:
// FUNCTION: LEGO1 0x1000dd30 // FUNCTION: LEGO1 0x1000dd30
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f009c // STRING: LEGO1 0x100f009c
return "CarRaceState"; return "CarRaceState";
} }
// FUNCTION: LEGO1 0x1000dd40 // FUNCTION: LEGO1 0x1000dd40
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, CarRaceState::ClassName()) || RaceState::IsA(p_name); return !strcmp(p_name, CarRaceState::ClassName()) || RaceState::IsA(p_name);
} }

View file

@ -8,21 +8,21 @@
class Doors : public LegoPathActor { class Doors : public LegoPathActor {
public: public:
// FUNCTION: LEGO1 0x1000e430 // FUNCTION: LEGO1 0x1000e430
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03e8 // STRING: LEGO1 0x100f03e8
return "Doors"; return "Doors";
} }
// FUNCTION: LEGO1 0x1000e440 // FUNCTION: LEGO1 0x1000e440
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Doors::ClassName()) || LegoPathActor::IsA(p_name); return !strcmp(p_name, Doors::ClassName()) || LegoPathActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxS32 VTable0x94() override; // vtable+0x94 MxS32 VTable0x94() override; // vtable+0x94
// SYNTHETIC: LEGO1 0x1000e580 // SYNTHETIC: LEGO1 0x1000e580
// Doors::`scalar deleting destructor' // Doors::`scalar deleting destructor'

View file

@ -11,24 +11,24 @@ class DuneBuggy : public IslePathActor {
DuneBuggy(); DuneBuggy();
// FUNCTION: LEGO1 0x10067c30 // FUNCTION: LEGO1 0x10067c30
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0410 // STRING: LEGO1 0x100f0410
return "DuneBuggy"; return "DuneBuggy";
} }
// FUNCTION: LEGO1 0x10067c40 // FUNCTION: LEGO1 0x10067c40
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, DuneBuggy::ClassName()) || IslePathActor::IsA(p_name); return !strcmp(p_name, DuneBuggy::ClassName()) || IslePathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxU32 VTable0xcc() override; // vtable+0xcc MxU32 VTable0xcc() override; // vtable+0xcc
virtual MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4 MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
virtual MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
virtual void VTable0xe4() override; // vtable+0xe4 void VTable0xe4() override; // vtable+0xe4
// SYNTHETIC: LEGO1 0x10067dc0 // SYNTHETIC: LEGO1 0x10067dc0
// DuneBuggy::`scalar deleting destructor' // DuneBuggy::`scalar deleting destructor'

View file

@ -11,31 +11,31 @@ class LegoControlManagerEvent;
class ElevatorBottom : public LegoWorld { class ElevatorBottom : public LegoWorld {
public: public:
ElevatorBottom(); ElevatorBottom();
virtual ~ElevatorBottom() override; // vtable+0x00 ~ElevatorBottom() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10017f20 // FUNCTION: LEGO1 0x10017f20
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f04ac // STRING: LEGO1 0x100f04ac
return "ElevatorBottom"; return "ElevatorBottom";
} }
// FUNCTION: LEGO1 0x10017f30 // FUNCTION: LEGO1 0x10017f30
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, ElevatorBottom::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, ElevatorBottom::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
// FUNCTION: LEGO1 0x10017f10 // FUNCTION: LEGO1 0x10017f10
virtual MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x10018040 // SYNTHETIC: LEGO1 0x10018040
// ElevatorBottom::`scalar deleting destructor' // ElevatorBottom::`scalar deleting destructor'

View file

@ -11,29 +11,29 @@
class GasStation : public LegoWorld { class GasStation : public LegoWorld {
public: public:
GasStation(); GasStation();
virtual ~GasStation() override; // vtable+0x00 ~GasStation() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10004780 // FUNCTION: LEGO1 0x10004780
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0168 // STRING: LEGO1 0x100f0168
return "GasStation"; return "GasStation";
} }
// FUNCTION: LEGO1 0x10004790 // FUNCTION: LEGO1 0x10004790
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, GasStation::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, GasStation::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x100048a0 // SYNTHETIC: LEGO1 0x100048a0
// GasStation::`scalar deleting destructor' // GasStation::`scalar deleting destructor'

View file

@ -8,14 +8,14 @@
class GasStationEntity : public BuildingEntity { class GasStationEntity : public BuildingEntity {
public: public:
// FUNCTION: LEGO1 0x1000eb20 // FUNCTION: LEGO1 0x1000eb20
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0348 // STRING: LEGO1 0x100f0348
return "GasStationEntity"; return "GasStationEntity";
} }
// FUNCTION: LEGO1 0x1000eb30 // FUNCTION: LEGO1 0x1000eb30
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, GasStationEntity::ClassName()) || BuildingEntity::IsA(p_name); return !strcmp(p_name, GasStationEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }

View file

@ -10,19 +10,19 @@ class GasStationState : public LegoState {
GasStationState(); GasStationState();
// FUNCTION: LEGO1 0x100061d0 // FUNCTION: LEGO1 0x100061d0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0174 // STRING: LEGO1 0x100f0174
return "GasStationState"; return "GasStationState";
} }
// FUNCTION: LEGO1 0x100061e0 // FUNCTION: LEGO1 0x100061e0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, GasStationState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, GasStationState::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
// SYNTHETIC: LEGO1 0x10006290 // SYNTHETIC: LEGO1 0x10006290
// GasStationState::`scalar deleting destructor' // GasStationState::`scalar deleting destructor'

View file

@ -77,7 +77,7 @@ class GifManagerBase {
class GifManager : public GifManagerBase { class GifManager : public GifManagerBase {
public: public:
GifManager() { m_ownership = TRUE; } GifManager() { m_ownership = TRUE; }
virtual ~GifManager() override; ~GifManager() override;
// SYNTHETIC: LEGO1 0x1005a580 // SYNTHETIC: LEGO1 0x1005a580
// GifManager::`scalar deleting destructor' // GifManager::`scalar deleting destructor'

View file

@ -22,28 +22,28 @@ class HelicopterSubclass {
class Helicopter : public IslePathActor { class Helicopter : public IslePathActor {
public: public:
Helicopter(); Helicopter();
virtual ~Helicopter() override; // vtable+0x00 ~Helicopter() override; // vtable+0x00
// FUNCTION: LEGO1 0x10003070 // FUNCTION: LEGO1 0x10003070
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0130 // STRING: LEGO1 0x100f0130
return "Helicopter"; return "Helicopter";
} }
// FUNCTION: LEGO1 0x10003080 // FUNCTION: LEGO1 0x10003080
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name); return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual void VTable0x74(Matrix4& p_transform) override; // vtable+0x74 void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
virtual MxU32 VTable0xcc() override; // vtable+0xcc MxU32 VTable0xcc() override; // vtable+0xcc
virtual MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4 MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
virtual MxU32 VTable0xd8(MxType18NotificationParam& p_param) override; // vtable+0xd8 MxU32 VTable0xd8(MxType18NotificationParam& p_param) override; // vtable+0xd8
virtual void VTable0xe4() override; // vtable+0xe4 void VTable0xe4() override; // vtable+0xe4
// SYNTHETIC: LEGO1 0x10003210 // SYNTHETIC: LEGO1 0x10003210
// Helicopter::`scalar deleting destructor' // Helicopter::`scalar deleting destructor'

View file

@ -9,23 +9,23 @@
class HelicopterState : public LegoState { class HelicopterState : public LegoState {
public: public:
// FUNCTION: LEGO1 0x1000e0d0 // FUNCTION: LEGO1 0x1000e0d0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0144 // STRING: LEGO1 0x100f0144
return "HelicopterState"; return "HelicopterState";
} }
// FUNCTION: LEGO1 0x1000e0e0 // FUNCTION: LEGO1 0x1000e0e0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, HelicopterState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, HelicopterState::ClassName()) || LegoState::IsA(p_name);
} }
// FUNCTION: LEGO1 0x1000e0b0 // FUNCTION: LEGO1 0x1000e0b0
virtual MxBool VTable0x14() override { return FALSE; } // vtable+0x14 MxBool VTable0x14() override { return FALSE; } // vtable+0x14
// FUNCTION: LEGO1 0x1000e0c0 // FUNCTION: LEGO1 0x1000e0c0
virtual MxBool SetFlag() override MxBool SetFlag() override
{ {
m_unk0x08 = 0; m_unk0x08 = 0;
return TRUE; return TRUE;

View file

@ -8,26 +8,26 @@
class HistoryBook : public LegoWorld { class HistoryBook : public LegoWorld {
public: public:
HistoryBook(); HistoryBook();
virtual ~HistoryBook() override; // vtable+0x00 ~HistoryBook() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10082390 // FUNCTION: LEGO1 0x10082390
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f04bc // STRING: LEGO1 0x100f04bc
return "HistoryBook"; return "HistoryBook";
} }
// FUNCTION: LEGO1 0x100823a0 // FUNCTION: LEGO1 0x100823a0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, HistoryBook::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, HistoryBook::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
// SYNTHETIC: LEGO1 0x100824b0 // SYNTHETIC: LEGO1 0x100824b0
// HistoryBook::`scalar deleting destructor' // HistoryBook::`scalar deleting destructor'

View file

@ -9,29 +9,29 @@
class Hospital : public LegoWorld { class Hospital : public LegoWorld {
public: public:
Hospital(); Hospital();
virtual ~Hospital() override; // vtable+0x00 ~Hospital() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x100746b0 // FUNCTION: LEGO1 0x100746b0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0490 // STRING: LEGO1 0x100f0490
return "Hospital"; return "Hospital";
} }
// FUNCTION: LEGO1 0x100746c0 // FUNCTION: LEGO1 0x100746c0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Hospital::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, Hospital::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x100747d0 // SYNTHETIC: LEGO1 0x100747d0
// Hospital::`scalar deleting destructor' // Hospital::`scalar deleting destructor'

View file

@ -8,14 +8,14 @@
class HospitalEntity : public BuildingEntity { class HospitalEntity : public BuildingEntity {
public: public:
// FUNCTION: LEGO1 0x1000ec40 // FUNCTION: LEGO1 0x1000ec40
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0338 // STRING: LEGO1 0x100f0338
return "HospitalEntity"; return "HospitalEntity";
} }
// FUNCTION: LEGO1 0x1000ec50 // FUNCTION: LEGO1 0x1000ec50
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, HospitalEntity::ClassName()) || BuildingEntity::IsA(p_name); return !strcmp(p_name, HospitalEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }

View file

@ -9,22 +9,22 @@
class HospitalState : public LegoState { class HospitalState : public LegoState {
public: public:
HospitalState(); HospitalState();
virtual ~HospitalState() override {} ~HospitalState() override {}
// FUNCTION: LEGO1 0x10076400 // FUNCTION: LEGO1 0x10076400
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0480 // STRING: LEGO1 0x100f0480
return "HospitalState"; return "HospitalState";
} }
// FUNCTION: LEGO1 0x10076410 // FUNCTION: LEGO1 0x10076410
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, HospitalState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, HospitalState::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
// SYNTHETIC: LEGO1 0x100764c0 // SYNTHETIC: LEGO1 0x100764c0
// HospitalState::`scalar deleting destructor' // HospitalState::`scalar deleting destructor'

View file

@ -148,29 +148,29 @@ class Infocenter : public LegoWorld {
}; };
Infocenter(); Infocenter();
virtual ~Infocenter() override; ~Infocenter() override;
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1006eb40 // FUNCTION: LEGO1 0x1006eb40
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f04ec // STRING: LEGO1 0x100f04ec
return "Infocenter"; return "Infocenter";
} }
// FUNCTION: LEGO1 0x1006eb50 // FUNCTION: LEGO1 0x1006eb50
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Infocenter::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, Infocenter::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x1006ec60 // SYNTHETIC: LEGO1 0x1006ec60
// Infocenter::`scalar deleting destructor' // Infocenter::`scalar deleting destructor'

View file

@ -10,31 +10,31 @@ class LegoControlManagerEvent;
class InfocenterDoor : public LegoWorld { class InfocenterDoor : public LegoWorld {
public: public:
InfocenterDoor(); InfocenterDoor();
virtual ~InfocenterDoor(); // vtable+0x00 ~InfocenterDoor() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100377b0 // FUNCTION: LEGO1 0x100377b0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f049c // STRING: LEGO1 0x100f049c
return "InfocenterDoor"; return "InfocenterDoor";
} }
// FUNCTION: LEGO1 0x100377c0 // FUNCTION: LEGO1 0x100377c0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, InfocenterDoor::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, InfocenterDoor::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
// FUNCTION: LEGO1 0x100377a0 // FUNCTION: LEGO1 0x100377a0
virtual MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x100378d0 // SYNTHETIC: LEGO1 0x100378d0
// InfocenterDoor::`scalar deleting destructor' // InfocenterDoor::`scalar deleting destructor'

View file

@ -8,14 +8,14 @@
class InfoCenterEntity : public BuildingEntity { class InfoCenterEntity : public BuildingEntity {
public: public:
// FUNCTION: LEGO1 0x1000ea00 // FUNCTION: LEGO1 0x1000ea00
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f035c // STRING: LEGO1 0x100f035c
return "InfoCenterEntity"; return "InfoCenterEntity";
} }
// FUNCTION: LEGO1 0x1000ea10 // FUNCTION: LEGO1 0x1000ea10
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(p_name); return !strcmp(p_name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }

View file

@ -10,23 +10,23 @@
class InfocenterState : public LegoState { class InfocenterState : public LegoState {
public: public:
InfocenterState(); InfocenterState();
virtual ~InfocenterState() override; ~InfocenterState() override;
// FUNCTION: LEGO1 0x10071840 // FUNCTION: LEGO1 0x10071840
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f04dc // STRING: LEGO1 0x100f04dc
return "InfocenterState"; return "InfocenterState";
} }
// FUNCTION: LEGO1 0x10071850 // FUNCTION: LEGO1 0x10071850
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, InfocenterState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, InfocenterState::ClassName()) || LegoState::IsA(p_name);
} }
// FUNCTION: LEGO1 0x10071830 // FUNCTION: LEGO1 0x10071830
virtual MxBool VTable0x14() override { return FALSE; } // vtable+0x14 MxBool VTable0x14() override { return FALSE; } // vtable+0x14
inline MxS16 GetInfocenterBufferSize() { return sizeof(m_buffer) / sizeof(m_buffer[0]); } inline MxS16 GetInfocenterBufferSize() { return sizeof(m_buffer) / sizeof(m_buffer[0]); }
inline MxStillPresenter* GetInfocenterBufferElement(MxS32 p_index) { return m_buffer[p_index]; } inline MxStillPresenter* GetInfocenterBufferElement(MxS32 p_index) { return m_buffer[p_index]; }

View file

@ -23,31 +23,31 @@ class Act1State;
class Isle : public LegoWorld { class Isle : public LegoWorld {
public: public:
Isle(); Isle();
virtual ~Isle() override; ~Isle() override;
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10030910 // FUNCTION: LEGO1 0x10030910
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0458 // STRING: LEGO1 0x100f0458
return "Isle"; return "Isle";
} }
// FUNCTION: LEGO1 0x10030920 // FUNCTION: LEGO1 0x10030920
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Isle::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, Isle::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+50 void ReadyWorld() override; // vtable+50
virtual void Add(MxCore* p_object) override; // vtable+58 void Add(MxCore* p_object) override; // vtable+58
// FUNCTION: LEGO1 0x10030900 // FUNCTION: LEGO1 0x10030900
virtual MxBool VTable0x5c() override { return TRUE; } // vtable+5c MxBool VTable0x5c() override { return TRUE; } // vtable+5c
// FUNCTION: LEGO1 0x10033170 // FUNCTION: LEGO1 0x10033170
virtual void VTable0x60() override {} // vtable+60 void VTable0x60() override {} // vtable+60
virtual MxBool VTable0x64() override; // vtable+64 MxBool VTable0x64() override; // vtable+64
virtual void VTable0x68(MxBool p_add) override; // vtable+68 void VTable0x68(MxBool p_add) override; // vtable+68
virtual void VTable0x6c(IslePathActor* p_actor); // vtable+6c virtual void VTable0x6c(IslePathActor* p_actor); // vtable+6c
inline void SetUnknown13c(MxU32 p_unk0x13c) { m_unk0x13c = p_unk0x13c; } inline void SetUnknown13c(MxU32 p_unk0x13c) { m_unk0x13c = p_unk0x13c; }

View file

@ -6,22 +6,22 @@
// VTABLE: LEGO1 0x100d5178 // VTABLE: LEGO1 0x100d5178
class IsleActor : public LegoActor { class IsleActor : public LegoActor {
public: public:
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1000e660 // FUNCTION: LEGO1 0x1000e660
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f07dc // STRING: LEGO1 0x100f07dc
return "IsleActor"; return "IsleActor";
} }
// FUNCTION: LEGO1 0x1000e670 // FUNCTION: LEGO1 0x1000e670
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, IsleActor::ClassName()) || LegoActor::IsA(p_name); return !strcmp(p_name, IsleActor::ClassName()) || LegoActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
}; };
// SYNTHETIC: LEGO1 0x1000e940 // SYNTHETIC: LEGO1 0x1000e940

View file

@ -15,25 +15,25 @@ class IslePathActor : public LegoPathActor {
IslePathActor(); IslePathActor();
// FUNCTION: LEGO1 0x10002e10 // FUNCTION: LEGO1 0x10002e10
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); } // vtable+0x00 inline ~IslePathActor() override { IslePathActor::Destroy(TRUE); } // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10002ea0 // FUNCTION: LEGO1 0x10002ea0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0104 // STRING: LEGO1 0x100f0104
return "IslePathActor"; return "IslePathActor";
} }
// FUNCTION: LEGO1 0x10002eb0 // FUNCTION: LEGO1 0x10002eb0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, IslePathActor::ClassName()) || LegoPathActor::IsA(p_name); return !strcmp(p_name, IslePathActor::ClassName()) || LegoPathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
// FUNCTION: LEGO1 0x10002e70 // FUNCTION: LEGO1 0x10002e70
virtual MxU32 VTable0xcc() { return 0; } // vtable+0xcc virtual MxU32 VTable0xcc() { return 0; } // vtable+0xcc
// FUNCTION: LEGO1 0x10002df0 // FUNCTION: LEGO1 0x10002df0

View file

@ -12,23 +12,23 @@ class Jetski : public IslePathActor {
Jetski(); Jetski();
// FUNCTION: LEGO1 0x1007e430 // FUNCTION: LEGO1 0x1007e430
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f03d8 // STRING: LEGO1 0x100f03d8
return "Jetski"; return "Jetski";
} }
// FUNCTION: LEGO1 0x1007e440 // FUNCTION: LEGO1 0x1007e440
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Jetski::ClassName()) || IslePathActor::IsA(p_name); return !strcmp(p_name, Jetski::ClassName()) || IslePathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxU32 VTable0xcc() override; // vtable+0xcc MxU32 VTable0xcc() override; // vtable+0xcc
virtual MxU32 VTable0xd4(LegoControlManagerEvent&) override; // vtable+0xd4 MxU32 VTable0xd4(LegoControlManagerEvent&) override; // vtable+0xd4
virtual void VTable0xe4() override; // vtable+0xe4 void VTable0xe4() override; // vtable+0xe4
// SYNTHETIC: LEGO1 0x1007e5c0 // SYNTHETIC: LEGO1 0x1007e5c0
// Jetski::`scalar deleting destructor' // Jetski::`scalar deleting destructor'

View file

@ -8,14 +8,14 @@
class JetskiRace : public LegoRace { class JetskiRace : public LegoRace {
public: public:
// FUNCTION: LEGO1 0x1000daf0 // FUNCTION: LEGO1 0x1000daf0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0530 // STRING: LEGO1 0x100f0530
return "JetskiRace"; return "JetskiRace";
} }
// FUNCTION: LEGO1 0x1000db00 // FUNCTION: LEGO1 0x1000db00
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, JetskiRace::ClassName()) || LegoRace::IsA(p_name); return !strcmp(p_name, JetskiRace::ClassName()) || LegoRace::IsA(p_name);
} }

View file

@ -8,14 +8,14 @@
class JetskiRaceState : public RaceState { class JetskiRaceState : public RaceState {
public: public:
// FUNCTION: LEGO1 0x1000dc40 // FUNCTION: LEGO1 0x1000dc40
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f00ac // STRING: LEGO1 0x100f00ac
return "JetskiRaceState"; return "JetskiRaceState";
} }
// FUNCTION: LEGO1 0x1000dc50 // FUNCTION: LEGO1 0x1000dc50
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, JetskiRaceState::ClassName()) || RaceState::IsA(p_name); return !strcmp(p_name, JetskiRaceState::ClassName()) || RaceState::IsA(p_name);
} }

View file

@ -10,27 +10,27 @@ class JukeBox : public LegoWorld {
public: public:
JukeBox(); JukeBox();
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1005d6f0 // FUNCTION: LEGO1 0x1005d6f0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f02cc // STRING: LEGO1 0x100f02cc
return "JukeBox"; return "JukeBox";
} }
// FUNCTION: LEGO1 0x1005d700 // FUNCTION: LEGO1 0x1005d700
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, JukeBox::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, JukeBox::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x1005d810 // SYNTHETIC: LEGO1 0x1005d810
// JukeBox::`scalar deleting destructor' // JukeBox::`scalar deleting destructor'

View file

@ -8,19 +8,19 @@
class JukeBoxEntity : public LegoEntity { class JukeBoxEntity : public LegoEntity {
public: public:
JukeBoxEntity(); JukeBoxEntity();
virtual ~JukeBoxEntity() override; // vtable+0x00 ~JukeBoxEntity() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10085cc0 // FUNCTION: LEGO1 0x10085cc0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f02f0 // STRING: LEGO1 0x100f02f0
return "JukeBoxEntity"; return "JukeBoxEntity";
} }
// FUNCTION: LEGO1 0x10085cd0 // FUNCTION: LEGO1 0x10085cd0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(p_name); return !strcmp(p_name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(p_name);
} }

View file

@ -8,19 +8,19 @@
class JukeBoxState : public LegoState { class JukeBoxState : public LegoState {
public: public:
// FUNCTION: LEGO1 0x1000f310 // FUNCTION: LEGO1 0x1000f310
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f02bc // STRING: LEGO1 0x100f02bc
return "JukeBoxState"; return "JukeBoxState";
} }
// FUNCTION: LEGO1 0x1000f320 // FUNCTION: LEGO1 0x1000f320
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, JukeBoxState::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, JukeBoxState::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool VTable0x14() override; // vtable+0x14 MxBool VTable0x14() override; // vtable+0x14
// SYNTHETIC: LEGO1 0x1000f3d0 // SYNTHETIC: LEGO1 0x1000f3d0
// JukeBoxState::`scalar deleting destructor' // JukeBoxState::`scalar deleting destructor'

View file

@ -8,22 +8,22 @@
class Lego3DWavePresenter : public MxWavePresenter { class Lego3DWavePresenter : public MxWavePresenter {
public: public:
// FUNCTION: LEGO1 0x1000d890 // FUNCTION: LEGO1 0x1000d890
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f058c // STRING: LEGO1 0x100f058c
return "Lego3DWavePresenter"; return "Lego3DWavePresenter";
} }
// FUNCTION: LEGO1 0x1000d8a0 // FUNCTION: LEGO1 0x1000d8a0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(p_name); return !strcmp(p_name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(p_name);
} }
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
// SYNTHETIC: LEGO1 0x1000f4b0 // SYNTHETIC: LEGO1 0x1000f4b0
// Lego3DWavePresenter::`scalar deleting destructor' // Lego3DWavePresenter::`scalar deleting destructor'

View file

@ -9,14 +9,14 @@
// SIZE 0x1154 // SIZE 0x1154
class LegoAct2 : public LegoWorld { class LegoAct2 : public LegoWorld {
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual void VTable0x60() override; // vtable+0x60 void VTable0x60() override; // vtable+0x60
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x1004fe20 // SYNTHETIC: LEGO1 0x1004fe20
// LegoAct2::`scalar deleting destructor' // LegoAct2::`scalar deleting destructor'

View file

@ -7,22 +7,22 @@
// SIZE 0x10 // SIZE 0x10
class LegoAct2State : public LegoState { class LegoAct2State : public LegoState {
public: public:
virtual ~LegoAct2State() override {} ~LegoAct2State() override {}
// FUNCTION: LEGO1 0x1000df80 // FUNCTION: LEGO1 0x1000df80
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0428 // STRING: LEGO1 0x100f0428
return "LegoAct2State"; return "LegoAct2State";
} }
// FUNCTION: LEGO1 0x1000df90 // FUNCTION: LEGO1 0x1000df90
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoAct2State::ClassName()) || LegoState::IsA(p_name); return !strcmp(p_name, LegoAct2State::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool VTable0x14() override; // vtable+0x14 MxBool VTable0x14() override; // vtable+0x14
// SYNTHETIC: LEGO1 0x1000e040 // SYNTHETIC: LEGO1 0x1000e040
// LegoAct2State::`scalar deleting destructor' // LegoAct2State::`scalar deleting destructor'

View file

@ -10,25 +10,25 @@
class LegoActionControlPresenter : public MxMediaPresenter { class LegoActionControlPresenter : public MxMediaPresenter {
public: public:
inline LegoActionControlPresenter() { m_unk0x50 = Extra::ActionType::e_none; } inline LegoActionControlPresenter() { m_unk0x50 = Extra::ActionType::e_none; }
virtual ~LegoActionControlPresenter() override { Destroy(TRUE); } // vtable+0x00 ~LegoActionControlPresenter() override { Destroy(TRUE); } // vtable+0x00
// FUNCTION: LEGO1 0x1000d0e0 // FUNCTION: LEGO1 0x1000d0e0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f05bc // STRING: LEGO1 0x100f05bc
return "LegoActionControlPresenter"; return "LegoActionControlPresenter";
} }
// FUNCTION: LEGO1 0x1000d0f0 // FUNCTION: LEGO1 0x1000d0f0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(p_name); return !strcmp(p_name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void RepeatingTickle() override; // vtable+0x24 void RepeatingTickle() override; // vtable+0x24
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c
private: private:

View file

@ -9,23 +9,23 @@
class LegoActor : public LegoEntity { class LegoActor : public LegoEntity {
public: public:
LegoActor(); LegoActor();
virtual ~LegoActor() override; ~LegoActor() override;
// FUNCTION: LEGO1 0x1002d210 // FUNCTION: LEGO1 0x1002d210
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0124 // STRING: LEGO1 0x100f0124
return "LegoActor"; return "LegoActor";
} }
// FUNCTION: LEGO1 0x1002d220 // FUNCTION: LEGO1 0x1002d220
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoActor::ClassName()) || LegoEntity::IsA(p_name); return !strcmp(p_name, LegoActor::ClassName()) || LegoEntity::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void SetROI(LegoROI* p_roi, MxBool p_bool1, MxBool p_bool2) override; // vtable+0x24 void SetROI(LegoROI* p_roi, MxBool p_bool1, MxBool p_bool2) override; // vtable+0x24
// FUNCTION: LEGO1 0x10002cc0 // FUNCTION: LEGO1 0x10002cc0
virtual MxFloat VTable0x50() { return m_unk0x68; } // vtable+0x50 virtual MxFloat VTable0x50() { return m_unk0x68; } // vtable+0x50

View file

@ -7,24 +7,24 @@
// SIZE 0x50 // SIZE 0x50
class LegoActorPresenter : public LegoEntityPresenter { class LegoActorPresenter : public LegoEntityPresenter {
public: public:
virtual ~LegoActorPresenter() override{}; ~LegoActorPresenter() override{};
// FUNCTION: LEGO1 0x1000cb10 // FUNCTION: LEGO1 0x1000cb10
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f06a4 // STRING: LEGO1 0x100f06a4
return "LegoActorPresenter"; return "LegoActorPresenter";
} }
// FUNCTION: LEGO1 0x1000cb20 // FUNCTION: LEGO1 0x1000cb20
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(p_name); return !strcmp(p_name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
}; };
// SYNTHETIC: LEGO1 0x1000cc30 // SYNTHETIC: LEGO1 0x1000cc30

View file

@ -9,20 +9,20 @@
class LegoAnimationManager : public MxCore { class LegoAnimationManager : public MxCore {
public: public:
LegoAnimationManager(); LegoAnimationManager();
virtual ~LegoAnimationManager() override; // vtable+0x00 ~LegoAnimationManager() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1005ec80 // FUNCTION: LEGO1 0x1005ec80
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f7508 // STRING: LEGO1 0x100f7508
return "LegoAnimationManager"; return "LegoAnimationManager";
} }
// FUNCTION: LEGO1 0x1005ec90 // FUNCTION: LEGO1 0x1005ec90
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name); return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
} }

View file

@ -9,30 +9,30 @@ class LegoAnimMMPresenter : public MxCompositePresenter {
public: public:
LegoAnimMMPresenter(); LegoAnimMMPresenter();
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1004a950 // FUNCTION: LEGO1 0x1004a950
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f046c // STRING: LEGO1 0x100f046c
return "LegoAnimMMPresenter"; return "LegoAnimMMPresenter";
} }
// FUNCTION: LEGO1 0x1004a960 // FUNCTION: LEGO1 0x1004a960
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(p_name); return !strcmp(p_name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24 void RepeatingTickle() override; // vtable+0x24
virtual void DoneTickle() override; // vtable+0x2c void DoneTickle() override; // vtable+0x2c
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
virtual void EndAction() override; // vtable+0x40 void EndAction() override; // vtable+0x40
virtual void VTable0x60(MxPresenter* p_presenter) override; // vtable+0x60 void VTable0x60(MxPresenter* p_presenter) override; // vtable+0x60
// SYNTHETIC: LEGO1 0x1004aa40 // SYNTHETIC: LEGO1 0x1004aa40
// LegoAnimMMPresenter::`scalar deleting destructor' // LegoAnimMMPresenter::`scalar deleting destructor'

View file

@ -14,32 +14,32 @@ class LegoAnimClass;
class LegoAnimPresenter : public MxVideoPresenter { class LegoAnimPresenter : public MxVideoPresenter {
public: public:
LegoAnimPresenter(); LegoAnimPresenter();
virtual ~LegoAnimPresenter() override; ~LegoAnimPresenter() override;
// FUNCTION: LEGO1 0x10068530 // FUNCTION: LEGO1 0x10068530
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f071c // STRING: LEGO1 0x100f071c
return "LegoAnimPresenter"; return "LegoAnimPresenter";
} }
// FUNCTION: LEGO1 0x10068540 // FUNCTION: LEGO1 0x10068540
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(p_name); return !strcmp(p_name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void DoneTickle() override; // vtable+0x2c void DoneTickle() override; // vtable+0x2c
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
virtual void EndAction() override; // vtable+0x40 void EndAction() override; // vtable+0x40
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
virtual MxResult VTable0x88(MxStreamChunk* p_chunk); // vtable+0x88 virtual MxResult VTable0x88(MxStreamChunk* p_chunk); // vtable+0x88
inline LegoAnimClass* GetUnknown0x64() { return m_unk0x64; } inline LegoAnimClass* GetUnknown0x64() { return m_unk0x64; }
@ -81,11 +81,11 @@ class LegoAnimPresenter : public MxVideoPresenter {
class LegoAnimClass : public LegoTree { class LegoAnimClass : public LegoTree {
public: public:
LegoAnimClass(); LegoAnimClass();
virtual ~LegoAnimClass() override; ~LegoAnimClass() override;
virtual LegoResult Write(LegoStorage* p_storage) override; // vtable+0x08 LegoResult Write(LegoStorage* p_storage) override; // vtable+0x08
virtual LegoTreeNodeData* CreateData() override; // vtable+0x0c LegoTreeNodeData* CreateData() override; // vtable+0x0c
virtual MxResult VTable0x10(LegoMemory* p_stream, MxS32); // vtable+0x10 virtual MxResult VTable0x10(LegoMemory* p_stream, MxS32); // vtable+0x10
inline MxLong GetUnknown0x8() { return m_unk0x08; } inline MxLong GetUnknown0x8() { return m_unk0x08; }

View file

@ -8,7 +8,7 @@
class LegoBackgroundColor : public MxVariable { class LegoBackgroundColor : public MxVariable {
public: public:
LegoBackgroundColor(const char* p_key, const char* p_value); LegoBackgroundColor(const char* p_key, const char* p_value);
virtual void SetValue(const char* p_colorString) override; void SetValue(const char* p_colorString) override;
private: private:
float m_h; float m_h;

View file

@ -8,12 +8,12 @@
class LegoBuildingManager : public MxCore { class LegoBuildingManager : public MxCore {
public: public:
LegoBuildingManager(); LegoBuildingManager();
virtual ~LegoBuildingManager() override; ~LegoBuildingManager() override;
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1002f930 // FUNCTION: LEGO1 0x1002f930
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f37d0 // STRING: LEGO1 0x100f37d0
return "LegoBuildingManager"; return "LegoBuildingManager";

View file

@ -9,17 +9,17 @@
class LegoCacheSound : public MxCore { class LegoCacheSound : public MxCore {
public: public:
LegoCacheSound(); LegoCacheSound();
virtual ~LegoCacheSound() override; // vtable+0x00 ~LegoCacheSound() override; // vtable+0x00
// FUNCTION: LEGO1 0x10006580 // FUNCTION: LEGO1 0x10006580
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f01c4 // STRING: LEGO1 0x100f01c4
return "LegoCacheSound"; return "LegoCacheSound";
} }
// FUNCTION: LEGO1 0x10006590 // FUNCTION: LEGO1 0x10006590
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoCacheSound::ClassName()) || MxCore::IsA(p_name); return !strcmp(p_name, LegoCacheSound::ClassName()) || MxCore::IsA(p_name);
} }

View file

@ -22,7 +22,7 @@ class LegoCacheSoundList : public MxPtrList<LegoCacheSound> {
LegoCacheSoundList(MxBool p_ownership = FALSE) : MxPtrList<LegoCacheSound>(p_ownership) {} LegoCacheSoundList(MxBool p_ownership = FALSE) : MxPtrList<LegoCacheSound>(p_ownership) {}
// FUNCTION: LEGO1 0x1001e650 // FUNCTION: LEGO1 0x1001e650
virtual MxS8 Compare(LegoCacheSound* p_a, LegoCacheSound* p_b) override MxS8 Compare(LegoCacheSound* p_a, LegoCacheSound* p_b) override
{ {
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1; return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
} // vtable+0x14 } // vtable+0x14

View file

@ -12,19 +12,19 @@
class LegoCameraController : public LegoPointOfViewController { class LegoCameraController : public LegoPointOfViewController {
public: public:
LegoCameraController(); LegoCameraController();
virtual ~LegoCameraController() override; // vtable+0x00 ~LegoCameraController() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+04 MxLong Notify(MxParam& p_param) override; // vtable+04
// FUNCTION: LEGO1 0x10011ec0 // FUNCTION: LEGO1 0x10011ec0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0850 // STRING: LEGO1 0x100f0850
return "LegoCameraController"; return "LegoCameraController";
} }
// FUNCTION: LEGO1 0x10011ed0 // FUNCTION: LEGO1 0x10011ed0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name); return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
} }

View file

@ -8,29 +8,29 @@
class LegoCarBuild : public LegoWorld { class LegoCarBuild : public LegoWorld {
public: public:
LegoCarBuild(); LegoCarBuild();
virtual ~LegoCarBuild() override; ~LegoCarBuild() override;
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10022940 // FUNCTION: LEGO1 0x10022940
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0504 // STRING: LEGO1 0x100f0504
return "LegoCarBuild"; return "LegoCarBuild";
} }
// FUNCTION: LEGO1 0x10022950 // FUNCTION: LEGO1 0x10022950
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoCarBuild::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, LegoCarBuild::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void ReadyWorld() override; // vtable+0x50 void ReadyWorld() override; // vtable+0x50
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
// SYNTHETIC: LEGO1 0x10022a60 // SYNTHETIC: LEGO1 0x10022a60
// LegoCarBuild::`scalar deleting destructor' // LegoCarBuild::`scalar deleting destructor'

View file

@ -8,26 +8,26 @@
class LegoCarBuildAnimPresenter : public LegoAnimPresenter { class LegoCarBuildAnimPresenter : public LegoAnimPresenter {
public: public:
LegoCarBuildAnimPresenter(); LegoCarBuildAnimPresenter();
virtual ~LegoCarBuildAnimPresenter() override; // vtable+0x00 ~LegoCarBuildAnimPresenter() override; // vtable+0x00
// FUNCTION: LEGO1 0x10078510 // FUNCTION: LEGO1 0x10078510
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f05ec // STRING: LEGO1 0x100f05ec
return "LegoCarBuildAnimPresenter"; return "LegoCarBuildAnimPresenter";
} }
// FUNCTION: LEGO1 0x10078520 // FUNCTION: LEGO1 0x10078520
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(p_name); return !strcmp(p_name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24 void RepeatingTickle() override; // vtable+0x24
virtual void EndAction() override; // vtable+0x40 void EndAction() override; // vtable+0x40
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
// SYNTHETIC: LEGO1 0x10078660 // SYNTHETIC: LEGO1 0x10078660
// LegoCarBuildAnimPresenter::`scalar deleting destructor' // LegoCarBuildAnimPresenter::`scalar deleting destructor'

View file

@ -7,25 +7,25 @@
class LegoCarRaceActor : public LegoRaceActor { class LegoCarRaceActor : public LegoRaceActor {
public: public:
// FUNCTION: LEGO1 0x10081650 // FUNCTION: LEGO1 0x10081650
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0568 // STRING: LEGO1 0x100f0568
return "LegoCarRaceActor"; return "LegoCarRaceActor";
} }
// FUNCTION: LEGO1 0x10081670 // FUNCTION: LEGO1 0x10081670
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoRaceActor::IsA(p_name); return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoRaceActor::IsA(p_name);
} }
virtual void VTable0x68() override; // vtable+0x68 void VTable0x68() override; // vtable+0x68
virtual void VTable0x6c() override; // vtable+0x6c void VTable0x6c() override; // vtable+0x6c
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxS32 VTable0x90() override; // vtable+0x90 MxS32 VTable0x90() override; // vtable+0x90
virtual MxS32 VTable0x94() override; // vtable+0x94 MxS32 VTable0x94() override; // vtable+0x94
virtual void VTable0x98() override; // vtable+0x98 void VTable0x98() override; // vtable+0x98
virtual void VTable0x9c() override; // vtable+0x9c void VTable0x9c() override; // vtable+0x9c
// SYNTHETIC: LEGO1 0x10081610 // SYNTHETIC: LEGO1 0x10081610
// LegoCarRaceActor::`scalar deleting destructor' // LegoCarRaceActor::`scalar deleting destructor'

View file

@ -40,19 +40,19 @@ class LegoControlManagerEvent : public LegoEventNotificationParam {
class LegoControlManager : public MxCore { class LegoControlManager : public MxCore {
public: public:
LegoControlManager(); LegoControlManager();
virtual ~LegoControlManager() override; // vtable+0x00 ~LegoControlManager() override; // vtable+0x00
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10028cb0 // FUNCTION: LEGO1 0x10028cb0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f31b8 // STRING: LEGO1 0x100f31b8
return "LegoControlManager"; return "LegoControlManager";
} }
// FUNCTION: LEGO1 0x10028cc0 // FUNCTION: LEGO1 0x10028cc0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoControlManager::ClassName()) || MxCore::IsA(p_name); return !strcmp(p_name, LegoControlManager::ClassName()) || MxCore::IsA(p_name);
} }

View file

@ -20,9 +20,9 @@ class LegoEntity : public MxEntity {
inline LegoEntity() { Init(); } inline LegoEntity() { Init(); }
// FUNCTION: LEGO1 0x1000c290 // FUNCTION: LEGO1 0x1000c290
virtual ~LegoEntity() override { Destroy(TRUE); } ~LegoEntity() override { Destroy(TRUE); }
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x1000c2f0 // FUNCTION: LEGO1 0x1000c2f0
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c

View file

@ -22,7 +22,7 @@ class LegoEntityList : public MxPtrList<LegoEntity> {
LegoEntityList(MxBool p_ownership = FALSE) : MxPtrList<LegoEntity>(p_ownership) {} LegoEntityList(MxBool p_ownership = FALSE) : MxPtrList<LegoEntity>(p_ownership) {}
// FUNCTION: LEGO1 0x1001e2d0 // FUNCTION: LEGO1 0x1001e2d0
virtual MxS8 Compare(LegoEntity* p_a, LegoEntity* p_b) override MxS8 Compare(LegoEntity* p_a, LegoEntity* p_b) override
{ {
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1; return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
} // vtable+0x14 } // vtable+0x14

View file

@ -10,7 +10,7 @@ class LegoEntity;
class LegoEntityPresenter : public MxCompositePresenter { class LegoEntityPresenter : public MxCompositePresenter {
public: public:
LegoEntityPresenter(); LegoEntityPresenter();
virtual ~LegoEntityPresenter() override; // vtable+0x00 ~LegoEntityPresenter() override; // vtable+0x00
// FUNCTION: LEGO1 0x100534b0 // FUNCTION: LEGO1 0x100534b0
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -25,13 +25,13 @@ class LegoEntityPresenter : public MxCompositePresenter {
return !strcmp(p_name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(p_name); return !strcmp(p_name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void RepeatingTickle() override; // vtable+0x24 void RepeatingTickle() override; // vtable+0x24
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
virtual void Init(); // vtable+0x68 virtual void Init(); // vtable+0x68
virtual undefined4 SetEntity(LegoEntity* p_entity); // vtable+0x6c virtual undefined4 SetEntity(LegoEntity* p_entity); // vtable+0x6c
void SetEntityLocation(Mx3DPointFloat& p_location, Mx3DPointFloat& p_direction, Mx3DPointFloat& p_up); void SetEntityLocation(Mx3DPointFloat& p_location, Mx3DPointFloat& p_direction, Mx3DPointFloat& p_up);

View file

@ -12,7 +12,7 @@
class LegoEventNotificationParam : public MxNotificationParam { class LegoEventNotificationParam : public MxNotificationParam {
public: public:
// FUNCTION: LEGO1 0x10028690 // FUNCTION: LEGO1 0x10028690
virtual MxNotificationParam* Clone() override MxNotificationParam* Clone() override
{ {
LegoEventNotificationParam* clone = LegoEventNotificationParam* clone =
new LegoEventNotificationParam(m_type, m_sender, m_modifier, m_x, m_y, m_key); new LegoEventNotificationParam(m_type, m_sender, m_modifier, m_x, m_y, m_key);

View file

@ -17,9 +17,9 @@ class LegoFlcTexturePresenter : public MxFlcPresenter {
return "LegoFlcTexturePresenter"; return "LegoFlcTexturePresenter";
} }
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68 void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
// SYNTHETIC: LEGO1 0x1005df00 // SYNTHETIC: LEGO1 0x1005df00
// LegoFlcTexturePresenter::`scalar deleting destructor' // LegoFlcTexturePresenter::`scalar deleting destructor'

View file

@ -8,7 +8,7 @@
class LegoFullScreenMovie : public MxVariable { class LegoFullScreenMovie : public MxVariable {
public: public:
LegoFullScreenMovie(const char* p_key, const char* p_value); LegoFullScreenMovie(const char* p_key, const char* p_value);
virtual void SetValue(const char* p_option) override; void SetValue(const char* p_option) override;
}; };
#endif // LEGOFULLSCREENMOVIE_H #endif // LEGOFULLSCREENMOVIE_H

View file

@ -9,7 +9,7 @@
class LegoHideAnimPresenter : public LegoLoopingAnimPresenter { class LegoHideAnimPresenter : public LegoLoopingAnimPresenter {
public: public:
LegoHideAnimPresenter(); LegoHideAnimPresenter();
virtual ~LegoHideAnimPresenter() override; ~LegoHideAnimPresenter() override;
// FUNCTION: LEGO1 0x1006d880 // FUNCTION: LEGO1 0x1006d880
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -24,12 +24,12 @@ class LegoHideAnimPresenter : public LegoLoopingAnimPresenter {
return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name); return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x18 void StartingTickle() override; // vtable+0x18
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
virtual void EndAction() override; // vtable+0x40 void EndAction() override; // vtable+0x40
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
private: private:
void Init(); void Init();

View file

@ -42,7 +42,7 @@ class LegoEventQueue : public MxQueue<LegoEventNotificationParam> {};
class LegoNotifyList : public MxPtrList<MxCore> { class LegoNotifyList : public MxPtrList<MxCore> {
protected: protected:
// FUNCTION: LEGO1 0x10028830 // FUNCTION: LEGO1 0x10028830
virtual MxS8 Compare(MxCore* p_element1, MxCore* p_element2) override MxS8 Compare(MxCore* p_element1, MxCore* p_element2) override
{ {
return p_element1 == p_element2 ? 0 : p_element1 < p_element2 ? -1 : 1; return p_element1 == p_element2 ? 0 : p_element1 < p_element2 ? -1 : 1;
} // vtable+0x14 } // vtable+0x14
@ -69,19 +69,19 @@ class LegoNotifyListCursor : public MxPtrListCursor<MxCore> {
class LegoInputManager : public MxPresenter { class LegoInputManager : public MxPresenter {
public: public:
LegoInputManager(); LegoInputManager();
virtual ~LegoInputManager() override; ~LegoInputManager() override;
void QueueEvent(NotificationId p_id, MxU8 p_modifier, MxLong p_x, MxLong p_y, MxU8 p_key); void QueueEvent(NotificationId p_id, MxU8 p_modifier, MxLong p_x, MxLong p_y, MxU8 p_key);
void Register(MxCore*); void Register(MxCore*);
void UnRegister(MxCore*); void UnRegister(MxCore*);
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1005b8c0 // FUNCTION: LEGO1 0x1005b8c0
virtual MxResult PutData() override { return SUCCESS; } // vtable+0x4c MxResult PutData() override { return SUCCESS; } // vtable+0x4c
MxResult Create(HWND p_hwnd); MxResult Create(HWND p_hwnd);
void Destroy(); void Destroy() override;
void CreateAndAcquireKeyboard(HWND p_hwnd); void CreateAndAcquireKeyboard(HWND p_hwnd);
void ReleaseDX(); void ReleaseDX();
MxResult GetJoystickId(); MxResult GetJoystickId();

View file

@ -6,7 +6,7 @@
// VTABLE: LEGO1 0x100d5a40 // VTABLE: LEGO1 0x100d5a40
class LegoJetski : public LegoJetskiRaceActor { class LegoJetski : public LegoJetskiRaceActor {
public: public:
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10013e80 // FUNCTION: LEGO1 0x10013e80
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -21,13 +21,13 @@ class LegoJetski : public LegoJetskiRaceActor {
return !strcmp(p_name, LegoJetski::ClassName()) || LegoJetskiRaceActor::IsA(p_name); return !strcmp(p_name, LegoJetski::ClassName()) || LegoJetskiRaceActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30 void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
virtual void VTable0x6c() override; // vtable+0x6c void VTable0x6c() override; // vtable+0x6c
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxS32 VTable0x94() override; // vtable+0x94 MxS32 VTable0x94() override; // vtable+0x94
virtual void VTable0x98() override; // vtable+0x98 void VTable0x98() override; // vtable+0x98
virtual void VTable0x9c() override; // vtable+0x9c void VTable0x9c() override; // vtable+0x9c
// SYNTHETIC: LEGO1 0x10013e20 // SYNTHETIC: LEGO1 0x10013e20
// LegoJetski::`scalar deleting destructor' // LegoJetski::`scalar deleting destructor'

View file

@ -19,10 +19,10 @@ class LegoJetskiRaceActor : public LegoCarRaceActor {
return !strcmp(p_name, LegoJetskiRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name); return !strcmp(p_name, LegoJetskiRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name);
} }
virtual void VTable0x6c() override; // vtable+0x6c void VTable0x6c() override; // vtable+0x6c
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual void VTable0x98() override; // vtable+0x98 void VTable0x98() override; // vtable+0x98
virtual void VTable0x9c() override; // vtable+0x9c void VTable0x9c() override; // vtable+0x9c
// SYNTHETIC: LEGO1 0x10081d40 // SYNTHETIC: LEGO1 0x10081d40
// LegoJetskiRaceActor::`scalar deleting destructor' // LegoJetskiRaceActor::`scalar deleting destructor'

View file

@ -11,7 +11,7 @@ class LegoCacheSound;
class LegoLoadCacheSoundPresenter : public MxWavePresenter { class LegoLoadCacheSoundPresenter : public MxWavePresenter {
public: public:
LegoLoadCacheSoundPresenter(); LegoLoadCacheSoundPresenter();
virtual ~LegoLoadCacheSoundPresenter() override; ~LegoLoadCacheSoundPresenter() override;
// FUNCTION: LEGO1 0x10018450 // FUNCTION: LEGO1 0x10018450
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -20,10 +20,10 @@ class LegoLoadCacheSoundPresenter : public MxWavePresenter {
return "LegoLoadCacheSoundPresenter"; return "LegoLoadCacheSoundPresenter";
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void DoneTickle() override; // vtable+0x2c void DoneTickle() override; // vtable+0x2c
virtual MxResult PutData() override; // vtable+0x4c MxResult PutData() override; // vtable+0x4c
private: private:
void Init(); void Init();

View file

@ -8,7 +8,7 @@
class LegoLocomotionAnimPresenter : public LegoLoopingAnimPresenter { class LegoLocomotionAnimPresenter : public LegoLoopingAnimPresenter {
public: public:
LegoLocomotionAnimPresenter(); LegoLocomotionAnimPresenter();
virtual ~LegoLocomotionAnimPresenter() override; ~LegoLocomotionAnimPresenter() override;
// FUNCTION: LEGO1 0x1006ce50 // FUNCTION: LEGO1 0x1006ce50
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -23,22 +23,23 @@ class LegoLocomotionAnimPresenter : public LegoLoopingAnimPresenter {
return !strcmp(p_name, ClassName()) || LegoLoopingAnimPresenter::IsA(p_name); return !strcmp(p_name, ClassName()) || LegoLoopingAnimPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
virtual void EndAction() override; // vtable+0x40 void EndAction() override; // vtable+0x40
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
virtual MxResult VTable0x88(MxStreamChunk* p_chunk) override; // vtable+0x88 MxResult VTable0x88(MxStreamChunk* p_chunk) override; // vtable+0x88
// SYNTHETIC: LEGO1 0x1006cfe0 // SYNTHETIC: LEGO1 0x1006cfe0
// LegoLocomotionAnimPresenter::`scalar deleting destructor' // LegoLocomotionAnimPresenter::`scalar deleting destructor'
inline void DecrementUnknown0xd4() inline void DecrementUnknown0xd4()
{ {
if (m_unk0xd4) if (m_unk0xd4) {
--m_unk0xd4; --m_unk0xd4;
}
} }
inline undefined2 GetUnknown0xd4() { return m_unk0xd4; } inline undefined2 GetUnknown0xd4() { return m_unk0xd4; }

View file

@ -20,8 +20,8 @@ class LegoLoopingAnimPresenter : public LegoAnimPresenter {
return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name); return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name);
} }
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
}; };
// SYNTHETIC: LEGO1 0x1006d000 // SYNTHETIC: LEGO1 0x1006d000

View file

@ -8,13 +8,13 @@
class LegoMeterPresenter : public MxStillPresenter { class LegoMeterPresenter : public MxStillPresenter {
public: public:
LegoMeterPresenter(); LegoMeterPresenter();
virtual ~LegoMeterPresenter() override; ~LegoMeterPresenter() override;
// MxStillPresenter's `::ClassName` and `::IsA` are used. // MxStillPresenter's `::ClassName` and `::IsA` are used.
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24 void RepeatingTickle() override; // vtable+0x24
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
private: private:
void FUN_10043a50(); void FUN_10043a50();

View file

@ -24,9 +24,9 @@ class LegoModelPresenter : public MxVideoPresenter {
return !strcmp(p_name, ClassName()) || MxVideoPresenter::IsA(p_name); return !strcmp(p_name, ClassName()) || MxVideoPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
// SYNTHETIC: LEGO1 0x1000cdd0 // SYNTHETIC: LEGO1 0x1000cdd0
// LegoModelPresenter::`scalar deleting destructor' // LegoModelPresenter::`scalar deleting destructor'

View file

@ -37,8 +37,8 @@ class LegoNavController : public MxCore {
); );
LegoNavController(); LegoNavController();
virtual ~LegoNavController() override; // vtable+0x00 ~LegoNavController() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10054b80 // FUNCTION: LEGO1 0x10054b80
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c

View file

@ -105,8 +105,8 @@
class LegoObjectFactory : public MxObjectFactory { class LegoObjectFactory : public MxObjectFactory {
public: public:
LegoObjectFactory(); LegoObjectFactory();
virtual MxCore* Create(const char* p_name) override; // vtable 0x14 MxCore* Create(const char* p_name) override; // vtable 0x14
virtual void Destroy(MxCore* p_object) override; // vtable 0x18 void Destroy(MxCore* p_object) override; // vtable 0x18
// SYNTHETIC: LEGO1 0x10009000 // SYNTHETIC: LEGO1 0x10009000
// LegoObjectFactory::`scalar deleting destructor' // LegoObjectFactory::`scalar deleting destructor'

View file

@ -75,33 +75,33 @@ class LegoOmni : public MxOmni {
static LegoOmni* GetInstance(); static LegoOmni* GetInstance();
LegoOmni(); LegoOmni();
virtual ~LegoOmni(); // vtable+00 ~LegoOmni() override; // vtable+00
virtual MxLong Notify(MxParam& p_param) override; // vtable+04 MxLong Notify(MxParam& p_param) override; // vtable+04
// FUNCTION: LEGO1 0x10058aa0 // FUNCTION: LEGO1 0x10058aa0
inline virtual const char* ClassName() const override // vtable+0c inline const char* ClassName() const override // vtable+0c
{ {
// STRING: LEGO1 0x100f671c // STRING: LEGO1 0x100f671c
return "LegoOmni"; return "LegoOmni";
} }
// FUNCTION: LEGO1 0x10058ab0 // FUNCTION: LEGO1 0x10058ab0
inline virtual MxBool IsA(const char* p_name) const override // vtable+10 inline MxBool IsA(const char* p_name) const override // vtable+10
{ {
return !strcmp(p_name, LegoOmni::ClassName()) || MxOmni::IsA(p_name); return !strcmp(p_name, LegoOmni::ClassName()) || MxOmni::IsA(p_name);
} }
virtual void Init() override; // vtable+14 void Init() override; // vtable+14
virtual MxResult Create(MxOmniCreateParam& p_param) override; // vtable+18 MxResult Create(MxOmniCreateParam& p_param) override; // vtable+18
virtual void Destroy() override; // vtable+1c void Destroy() override; // vtable+1c
virtual MxResult Start(MxDSAction* p_dsAction) override; // vtable+20 MxResult Start(MxDSAction* p_dsAction) override; // vtable+20
virtual void DeleteObject(MxDSAction& p_dsAction) override; // vtable+24 void DeleteObject(MxDSAction& p_dsAction) override; // vtable+24
virtual MxBool DoesEntityExist(MxDSAction& p_dsAction) override; // vtable+28 MxBool DoesEntityExist(MxDSAction& p_dsAction) override; // vtable+28
virtual MxEntity* AddToWorld(const char* p_id, MxS32 p_entityId, MxPresenter* p_presenter) override; // vtable+30 MxEntity* AddToWorld(const char* p_id, MxS32 p_entityId, MxPresenter* p_presenter) override; // vtable+30
virtual void NotifyCurrentEntity(MxNotificationParam* p_param) override; // vtable+34 void NotifyCurrentEntity(MxNotificationParam* p_param) override; // vtable+34
virtual void StartTimer() override; // vtable+38 void StartTimer() override; // vtable+38
virtual void StopTimer() override; // vtable+3c void StopTimer() override; // vtable+3c
LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid); LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid);
void AddWorld(LegoWorld* p_world); void AddWorld(LegoWorld* p_world);

View file

@ -10,7 +10,7 @@
class LegoPalettePresenter : public MxVideoPresenter { class LegoPalettePresenter : public MxVideoPresenter {
public: public:
LegoPalettePresenter(); LegoPalettePresenter();
virtual ~LegoPalettePresenter() override; // vtable+0x00 ~LegoPalettePresenter() override; // vtable+0x00
// FUNCTION: LEGO1 0x10079f30 // FUNCTION: LEGO1 0x10079f30
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -25,8 +25,8 @@ class LegoPalettePresenter : public MxVideoPresenter {
return !strcmp(p_name, ClassName()) || MxVideoPresenter::IsA(p_name); return !strcmp(p_name, ClassName()) || MxVideoPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
MxResult ParsePalette(MxStreamChunk* p_chunk); MxResult ParsePalette(MxStreamChunk* p_chunk);

View file

@ -20,9 +20,9 @@ class LegoPartPresenter : public MxMediaPresenter {
return !strcmp(p_name, LegoPartPresenter::ClassName()) || MxMediaPresenter::IsA(p_name); return !strcmp(p_name, LegoPartPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
static void configureLegoPartPresenter(MxS32, MxS32); static void configureLegoPartPresenter(MxS32, MxS32);

View file

@ -10,7 +10,7 @@
class LegoPathActor : public LegoActor { class LegoPathActor : public LegoActor {
public: public:
LegoPathActor(); LegoPathActor();
virtual ~LegoPathActor() override; ~LegoPathActor() override;
// FUNCTION: LEGO1 0x1000c430 // FUNCTION: LEGO1 0x1000c430
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -25,7 +25,7 @@ class LegoPathActor : public LegoActor {
return !strcmp(p_name, LegoPathActor::ClassName()) || LegoActor::IsA(p_name); return !strcmp(p_name, LegoPathActor::ClassName()) || LegoActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void VTable0x68(); // vtable+0x68 virtual void VTable0x68(); // vtable+0x68
virtual void VTable0x6c(); // vtable+0x6c virtual void VTable0x6c(); // vtable+0x6c
virtual void VTable0x70(float p_float); // vtable+0x70 virtual void VTable0x70(float p_float); // vtable+0x70

View file

@ -8,9 +8,9 @@
class LegoPathController : public MxCore { class LegoPathController : public MxCore {
public: public:
LegoPathController(); LegoPathController();
virtual ~LegoPathController() override { Destroy(); } ~LegoPathController() override { Destroy(); }
virtual MxResult Tickle() override; // vtable+08 MxResult Tickle() override; // vtable+08
// FUNCTION: LEGO1 0x10045110 // FUNCTION: LEGO1 0x10045110
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c

View file

@ -15,7 +15,7 @@ class LegoPathControllerList : public MxPtrList<LegoPathController> {
LegoPathControllerList(MxBool p_ownership = FALSE) : MxPtrList<LegoPathController>(p_ownership) {} LegoPathControllerList(MxBool p_ownership = FALSE) : MxPtrList<LegoPathController>(p_ownership) {}
// FUNCTION: LEGO1 0x1001d210 // FUNCTION: LEGO1 0x1001d210
virtual MxS8 Compare(LegoPathController* p_a, LegoPathController* p_b) override MxS8 Compare(LegoPathController* p_a, LegoPathController* p_b) override
{ {
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1; return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
} // vtable+0x14 } // vtable+0x14

View file

@ -8,7 +8,7 @@
class LegoPathPresenter : public MxMediaPresenter { class LegoPathPresenter : public MxMediaPresenter {
public: public:
LegoPathPresenter(); LegoPathPresenter();
virtual ~LegoPathPresenter() override; ~LegoPathPresenter() override;
// FUNCTION: LEGO1 0x100449a0 // FUNCTION: LEGO1 0x100449a0
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -23,12 +23,12 @@ class LegoPathPresenter : public MxMediaPresenter {
return !strcmp(p_name, LegoPathPresenter::ClassName()) || MxMediaPresenter::IsA(p_name); return !strcmp(p_name, LegoPathPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 void ReadyTickle() override; // vtable+0x18
virtual void StreamingTickle() override; // vtable+0x20 void StreamingTickle() override; // vtable+0x20
virtual void RepeatingTickle() override; // vtable+0x24 void RepeatingTickle() override; // vtable+0x24
virtual void ParseExtra() override; // vtable+0x30 void ParseExtra() override; // vtable+0x30
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual void Destroy() override; // vtable+0x38 void Destroy() override; // vtable+0x38
// SYNTHETIC: LEGO1 0x10044a90 // SYNTHETIC: LEGO1 0x10044a90
// LegoPathPresenter::`scalar deleting destructor' // LegoPathPresenter::`scalar deleting destructor'

View file

@ -11,7 +11,7 @@
class LegoPhonemePresenter : public MxFlcPresenter { class LegoPhonemePresenter : public MxFlcPresenter {
public: public:
LegoPhonemePresenter(); LegoPhonemePresenter();
virtual ~LegoPhonemePresenter() override; // vtable+0x00 ~LegoPhonemePresenter() override; // vtable+0x00
// FUNCTION: LEGO1 0x1004e310 // FUNCTION: LEGO1 0x1004e310
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -20,10 +20,10 @@ class LegoPhonemePresenter : public MxFlcPresenter {
return "LegoPhonemePresenter"; return "LegoPhonemePresenter";
} }
virtual void StartingTickle() override; // vtable+0x1c void StartingTickle() override; // vtable+0x1c
virtual void EndAction() override; // vtable+0x40 void EndAction() override; // vtable+0x40
virtual void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68 void LoadFrame(MxStreamChunk* p_chunk) override; // vtable+0x68
virtual void PutFrame() override; // vtable+0x6c void PutFrame() override; // vtable+0x6c
// SYNTHETIC: LEGO1 0x1004e320 // SYNTHETIC: LEGO1 0x1004e320
// LegoPhonemePresenter::`scalar deleting destructor' // LegoPhonemePresenter::`scalar deleting destructor'

View file

@ -9,9 +9,9 @@
class LegoPlantManager : public MxCore { class LegoPlantManager : public MxCore {
public: public:
LegoPlantManager(); LegoPlantManager();
virtual ~LegoPlantManager() override; // vtable+0x00 ~LegoPlantManager() override; // vtable+0x00
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x10026290 // FUNCTION: LEGO1 0x10026290
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c

View file

@ -20,7 +20,7 @@ class LegoNavController;
class LegoMouseController : public MxCore { class LegoMouseController : public MxCore {
public: public:
LegoMouseController(); LegoMouseController();
virtual ~LegoMouseController() override; ~LegoMouseController() override;
virtual void LeftDown(int, int); // vtable+0x14 virtual void LeftDown(int, int); // vtable+0x14
virtual void LeftDrag(int, int); // vtable+0x18 virtual void LeftDrag(int, int); // vtable+0x18
@ -44,14 +44,14 @@ class LegoMouseController : public MxCore {
class LegoPointOfViewController : public LegoMouseController { class LegoPointOfViewController : public LegoMouseController {
public: public:
LegoPointOfViewController(); LegoPointOfViewController();
virtual ~LegoPointOfViewController() override; ~LegoPointOfViewController() override;
virtual MxResult Tickle() override; // vtable+0x08 MxResult Tickle() override; // vtable+0x08
virtual void LeftDown(int p_x, int p_y) override; // vtable+0x0c void LeftDown(int p_x, int p_y) override; // vtable+0x0c
virtual void LeftDrag(int p_x, int p_y) override; // vtable+0x10 void LeftDrag(int p_x, int p_y) override; // vtable+0x10
// FUNCTION: LEGO1 0x10011e40 // FUNCTION: LEGO1 0x10011e40
virtual void LeftUp(int p_x, int p_y) override void LeftUp(int p_x, int p_y) override
{ {
LegoMouseController::LeftUp(p_x, p_y); LegoMouseController::LeftUp(p_x, p_y);
AffectPointOfView(); AffectPointOfView();
@ -59,7 +59,7 @@ class LegoPointOfViewController : public LegoMouseController {
// vtable+0x14 // vtable+0x14
// FUNCTION: LEGO1 0x10011e60 // FUNCTION: LEGO1 0x10011e60
virtual void RightDown(int p_x, int p_y) override void RightDown(int p_x, int p_y) override
{ {
LegoMouseController::RightDown(p_x, p_y); LegoMouseController::RightDown(p_x, p_y);
AffectPointOfView(); AffectPointOfView();
@ -67,7 +67,7 @@ class LegoPointOfViewController : public LegoMouseController {
// vtable+0x20 // vtable+0x20
// FUNCTION: LEGO1 0x10011e80 // FUNCTION: LEGO1 0x10011e80
virtual void RightDrag(int p_x, int p_y) override void RightDrag(int p_x, int p_y) override
{ {
LegoMouseController::RightDrag(p_x, p_y); LegoMouseController::RightDrag(p_x, p_y);
AffectPointOfView(); AffectPointOfView();
@ -75,7 +75,7 @@ class LegoPointOfViewController : public LegoMouseController {
// vtable+0x24 // vtable+0x24
// FUNCTION: LEGO1 0x10011ea0 // FUNCTION: LEGO1 0x10011ea0
virtual void RightUp(int p_x, int p_y) override void RightUp(int p_x, int p_y) override
{ {
LegoMouseController::RightUp(p_x, p_y); LegoMouseController::RightUp(p_x, p_y);
AffectPointOfView(); AffectPointOfView();

View file

@ -11,9 +11,9 @@
class LegoRace : public LegoWorld { class LegoRace : public LegoWorld {
public: public:
LegoRace(); LegoRace();
virtual ~LegoRace() override; // vtable+0x00 ~LegoRace() override; // vtable+0x00
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10015ba0 // FUNCTION: LEGO1 0x10015ba0
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -28,15 +28,15 @@ class LegoRace : public LegoWorld {
return !strcmp(p_name, LegoRace::ClassName()) || LegoWorld::IsA(p_name); return !strcmp(p_name, LegoRace::ClassName()) || LegoWorld::IsA(p_name);
} }
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual MxBool VTable0x5c() override; // vtable+0x5c MxBool VTable0x5c() override; // vtable+0x5c
virtual MxBool VTable0x64() override; // vtable+0x64 MxBool VTable0x64() override; // vtable+0x64
virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 void VTable0x68(MxBool p_add) override; // vtable+0x68
virtual undefined4 VTable0x6c(undefined4) = 0; // vtable+0x6c virtual undefined4 VTable0x6c(undefined4) = 0; // vtable+0x6c
virtual undefined4 VTable0x70(undefined4); // vtable+0x70 virtual undefined4 VTable0x70(undefined4); // vtable+0x70
virtual undefined4 VTable0x74(undefined4); // vtable+0x74 virtual undefined4 VTable0x74(undefined4); // vtable+0x74
virtual undefined4 VTable0x78(undefined4); // vtable+0x78 virtual undefined4 VTable0x78(undefined4); // vtable+0x78
virtual void VTable0x7c(undefined4, undefined4); // vtable+0x7c virtual void VTable0x7c(undefined4, undefined4); // vtable+0x7c
// SYNTHETIC: LEGO1 0x10015cc0 // SYNTHETIC: LEGO1 0x10015cc0
// LegoRace::`scalar deleting destructor' // LegoRace::`scalar deleting destructor'

View file

@ -20,13 +20,13 @@ class LegoRaceActor : public LegoAnimActor {
return !strcmp(p_name, LegoRaceActor::ClassName()) || LegoAnimActor::IsA(p_name); return !strcmp(p_name, LegoRaceActor::ClassName()) || LegoAnimActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30 void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
virtual void VTable0x68() override; // vtable+0x68 void VTable0x68() override; // vtable+0x68
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual void VTable0x74(Matrix4& p_transform) override; // vtable+0x74 void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
virtual MxS32 VTable0x90() override; // vtable+0x90 MxS32 VTable0x90() override; // vtable+0x90
virtual MxS32 VTable0x94() override; // vtable+0x94 MxS32 VTable0x94() override; // vtable+0x94
// SYNTHETIC: LEGO1 0x10014ab0 // SYNTHETIC: LEGO1 0x10014ab0
// LegoRaceActor::`scalar deleting destructor' // LegoRaceActor::`scalar deleting destructor'

View file

@ -8,7 +8,7 @@
// SIZE 0x200 // SIZE 0x200
class LegoRaceCar : public LegoCarRaceActor { class LegoRaceCar : public LegoCarRaceActor {
public: public:
virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10014290 // FUNCTION: LEGO1 0x10014290
inline const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
@ -23,13 +23,13 @@ class LegoRaceCar : public LegoCarRaceActor {
return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name); return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name);
} }
virtual void ParseAction(char*) override; // vtable+0x20 void ParseAction(char*) override; // vtable+0x20
virtual void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30 void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
virtual void VTable0x6c() override; // vtable+0x6c void VTable0x6c() override; // vtable+0x6c
virtual void VTable0x70(float p_float) override; // vtable+0x70 void VTable0x70(float p_float) override; // vtable+0x70
virtual MxS32 VTable0x94() override; // vtable+0x94 MxS32 VTable0x94() override; // vtable+0x94
virtual void VTable0x98() override; // vtable+0x98 void VTable0x98() override; // vtable+0x98
virtual void VTable0x9c() override; // vtable+0x9c void VTable0x9c() override; // vtable+0x9c
// SYNTHETIC: LEGO1 0x10014230 // SYNTHETIC: LEGO1 0x10014230
// LegoRaceCar::`scalar deleting destructor' // LegoRaceCar::`scalar deleting destructor'

View file

@ -9,11 +9,11 @@
class LegoSoundManager : public MxSoundManager { class LegoSoundManager : public MxSoundManager {
public: public:
LegoSoundManager(); LegoSoundManager();
virtual ~LegoSoundManager() override; ~LegoSoundManager() override;
virtual MxResult Tickle() override; // vtable+08 MxResult Tickle() override; // vtable+08
virtual void Destroy() override; // vtable+18 void Destroy() override; // vtable+18
virtual MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30 MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
// SYNTHETIC: LEGO1 0x10029920 // SYNTHETIC: LEGO1 0x10029920
// LegoSoundManager::`scalar deleting destructor' // LegoSoundManager::`scalar deleting destructor'

View file

@ -11,17 +11,17 @@
class LegoState : public MxCore { class LegoState : public MxCore {
public: public:
// FUNCTION: LEGO1 0x10005f40 // FUNCTION: LEGO1 0x10005f40
virtual ~LegoState() override {} ~LegoState() override {}
// FUNCTION: LEGO1 0x100060d0 // FUNCTION: LEGO1 0x100060d0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f01b8 // STRING: LEGO1 0x100f01b8
return "LegoState"; return "LegoState";
} }
// FUNCTION: LEGO1 0x100060e0 // FUNCTION: LEGO1 0x100060e0
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoState::ClassName()) || MxCore::IsA(p_name); return !strcmp(p_name, LegoState::ClassName()) || MxCore::IsA(p_name);
} }

View file

@ -7,24 +7,24 @@
// SIZE 0x54 (from inlined construction at 0x10009bb5) // SIZE 0x54 (from inlined construction at 0x10009bb5)
class LegoTexturePresenter : public MxMediaPresenter { class LegoTexturePresenter : public MxMediaPresenter {
public: public:
virtual ~LegoTexturePresenter() override; ~LegoTexturePresenter() override;
// FUNCTION: LEGO1 0x1000ce50 // FUNCTION: LEGO1 0x1000ce50
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
// STRING: LEGO1 0x100f0664 // STRING: LEGO1 0x100f0664
return "LegoTexturePresenter"; return "LegoTexturePresenter";
} }
// FUNCTION: LEGO1 0x1000ce60 // FUNCTION: LEGO1 0x1000ce60
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, LegoTexturePresenter::ClassName()) || MxMediaPresenter::IsA(p_name); return !strcmp(p_name, LegoTexturePresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
} }
virtual void DoneTickle() override; // vtable+0x2c void DoneTickle() override; // vtable+0x2c
virtual MxResult AddToManager() override; // vtable+0x34 MxResult AddToManager() override; // vtable+0x34
virtual MxResult PutData() override; // vtable+0x4c MxResult PutData() override; // vtable+0x4c
// SYNTHETIC: LEGO1 0x1000cf40 // SYNTHETIC: LEGO1 0x1000cf40
// LegoTexturePresenter::`scalar deleting destructor' // LegoTexturePresenter::`scalar deleting destructor'

View file

@ -18,7 +18,7 @@ class LegoUnknown100d9d00 : public MxList<LegoUnknown100d7c88*> {
LegoUnknown100d9d00() { SetDestroy(Destroy); } LegoUnknown100d9d00() { SetDestroy(Destroy); }
// STUB: LEGO1 0x1007b210 // STUB: LEGO1 0x1007b210
virtual MxS8 Compare(LegoUnknown100d7c88* p_a, LegoUnknown100d7c88* p_b) override { return -1; } // vtable+0x14 MxS8 Compare(LegoUnknown100d7c88* p_a, LegoUnknown100d7c88* p_b) override { return -1; } // vtable+0x14
// FUNCTION: LEGO1 0x1007b2e0 // FUNCTION: LEGO1 0x1007b2e0
static void Destroy(LegoUnknown100d7c88* p_element) { delete p_element; } static void Destroy(LegoUnknown100d7c88* p_element) { delete p_element; }

View file

@ -12,18 +12,18 @@ class LegoVehicleBuildState : public LegoState {
LegoVehicleBuildState(char* p_classType); LegoVehicleBuildState(char* p_classType);
// FUNCTION: LEGO1 0x10025ff0 // FUNCTION: LEGO1 0x10025ff0
inline virtual const char* ClassName() const override // vtable+0x0c inline const char* ClassName() const override // vtable+0x0c
{ {
return this->m_className.GetData(); return this->m_className.GetData();
} }
// FUNCTION: LEGO1 0x10026000 // FUNCTION: LEGO1 0x10026000
inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(p_name, this->m_className.GetData()) || LegoState::IsA(p_name); return !strcmp(p_name, this->m_className.GetData()) || LegoState::IsA(p_name);
} }
virtual MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c MxResult VTable0x1c(LegoFile* p_legoFile) override; // vtable+0x1c
// SYNTHETIC: LEGO1 0x100260a0 // SYNTHETIC: LEGO1 0x100260a0
// LegoVehicleBuildState::`scalar deleting destructor' // LegoVehicleBuildState::`scalar deleting destructor'

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