(Proposal) Introduction of naming convention checker (ncc) (#322)

* Add ncc tool

* Add symlink

* Fixes

* Try this

* Try this

* Try this

* Try this

* Add include path

* Update style

* Update style

* Add more rules

* Fix style

* Update styles

* Fix name parameter

* Fix MxParam p

* Fix m_unk0x pattern

* Allow 4 digits for relative hex

* Add missing offset

* Fix some parameters

* Fix some vtables

* Fix more vtables

* Update rules, fixes

* More fixes

* More fixes

* More fixes

* More fixes

* More fixes

* More fixes

* More fixes

* Fix last issue

* Update readme

* Update readme

* Update CONTRIBUTING.md

* Fix annotations

* Rename

* Update CONTRIBUTING.md

* Update README.md
This commit is contained in:
Christian Semmler
2023-12-13 05:48:14 -05:00
committed by GitHub
parent 3b155bfe38
commit bc5ca621a4
303 changed files with 2592 additions and 1844 deletions

View File

@@ -37,5 +37,5 @@ jobs:
- name: Run pylint and black - name: Run pylint and black
shell: bash shell: bash
run: | run: |
pylint tools --ignore=build pylint tools --ignore=build,ncc
black --check tools black --check tools --exclude=ncc

29
.github/workflows/naming.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Naming
on: [push, pull_request]
jobs:
ncc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: "16"
- name: Install python libraries
run: |
pip install -r tools/requirements.txt
- name: Run ncc
run: |
python3 tools/ncc/ncc.py \
--clang-lib ${{ env.LLVM_PATH }}/lib/libclang.so \
--style tools/ncc/ncc.style \
--skip tools/ncc/skip.yml \
--definition WINAPI FAR HWND__=HWND \
--include util \
--path LEGO1

View File

@@ -43,13 +43,7 @@ We are currently using [clang-format](https://clang.llvm.org/docs/ClangFormat.ht
### Naming conventions ### Naming conventions
The following conventions should generally be applied everywhere except for the utility libraries (`LEGO1/realtime`, `LEGO1/tgl`, `LEGO1/viewmanager`) and any 3rd party libraries (`3rdparty`). We are currently using a customized version of [ncc](https://github.com/nithinn/ncc) with a configuration file that aims to replicate the naming conventions employed by the original developers. `ncc` requires Clang `16.x`; please refer to the [tool](/tools/ncc) and the [GitHub action](/.github/workflows/naming.yml) for guidance.
- `PascalCase` for classes, function names, and enumerations.
- `m_camelCase` for member variables.
- `g_camelCase` for global variables.
- `p_camelCase` for function parameters.
- Within the Omni engine (file pattern: `mx*`), instead of C++ primitives (e.g. `int`, `long`, etc.), use types in [`mxtypes.h`](LEGO1/mxtypes.h) instead. This will help us ensure that variables will be the correct size regardless of the underlying compiler/platform/architecture.
## Questions? ## Questions?

View File

@@ -40,7 +40,7 @@ IsleApp::IsleApp()
m_backBuffersInVram = 1; m_backBuffersInVram = 1;
m_using8bit = 0; m_using8bit = 0;
m_using16bit = 1; m_using16bit = 1;
m_unk24 = 0; m_unk0x24 = 0;
m_drawCursor = 0; m_drawCursor = 0;
m_use3dSound = 1; m_use3dSound = 1;
m_useMusic = 1; m_useMusic = 1;
@@ -54,7 +54,7 @@ IsleApp::IsleApp()
m_windowActive = 1; m_windowActive = 1;
m_videoParam = MxVideoParam(MxRect32(0, 0, 639, 479), NULL, 1, MxVideoParamFlags()); m_videoParam = MxVideoParam(MxRect32(0, 0, 639, 479), NULL, 1, MxVideoParamFlags());
m_videoParam.flags().Set16Bit(MxDirectDraw::GetPrimaryBitDepth() == 16); m_videoParam.Flags().Set16Bit(MxDirectDraw::GetPrimaryBitDepth() == 16);
m_windowHandle = NULL; m_windowHandle = NULL;
m_cursorArrow = NULL; m_cursorArrow = NULL;
@@ -157,19 +157,19 @@ void IsleApp::SetupVideoFlags(
char* deviceId char* deviceId
) )
{ {
m_videoParam.flags().SetFullScreen(fullScreen); m_videoParam.Flags().SetFullScreen(fullScreen);
m_videoParam.flags().SetFlipSurfaces(flipSurfaces); m_videoParam.Flags().SetFlipSurfaces(flipSurfaces);
m_videoParam.flags().SetBackBuffers(!backBuffers); m_videoParam.Flags().SetBackBuffers(!backBuffers);
m_videoParam.flags().Set_f2bit0(!param_6); m_videoParam.Flags().SetF2bit0(!param_6);
m_videoParam.flags().Set_f1bit7(param_7); m_videoParam.Flags().SetF1bit7(param_7);
m_videoParam.flags().SetWideViewAngle(wideViewAngle); m_videoParam.Flags().SetWideViewAngle(wideViewAngle);
m_videoParam.flags().Set_f2bit1(1); m_videoParam.Flags().SetF2bit1(1);
m_videoParam.SetDeviceName(deviceId); m_videoParam.SetDeviceName(deviceId);
if (using8bit) { if (using8bit) {
m_videoParam.flags().Set16Bit(0); m_videoParam.Flags().Set16Bit(0);
} }
if (using16bit) { if (using16bit) {
m_videoParam.flags().Set16Bit(1); m_videoParam.Flags().Set16Bit(1);
} }
} }
@@ -494,7 +494,7 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
m_backBuffersInVram, m_backBuffersInVram,
m_using8bit, m_using8bit,
m_using16bit, m_using16bit,
m_unk24, m_unk0x24,
FALSE, FALSE,
m_wideViewAngle, m_wideViewAngle,
m_deviceId m_deviceId

View File

@@ -50,7 +50,7 @@ public:
// 20 // 20
BOOL m_using16bit; BOOL m_using16bit;
int m_unk24; int m_unk0x24;
BOOL m_use3dSound; BOOL m_use3dSound;
BOOL m_useMusic; BOOL m_useMusic;

View File

@@ -17,9 +17,9 @@ public:
}; };
// FUNCTION: LEGO1 0x100338b0 // FUNCTION: LEGO1 0x100338b0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Act1State::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, Act1State::ClassName()) || LegoState::IsA(p_name);
}; };
}; };

View File

@@ -21,7 +21,7 @@ MxResult Act2Brick::Tickle()
} }
// STUB: LEGO1 0x1007a8c0 // STUB: LEGO1 0x1007a8c0
MxLong Act2Brick::Notify(MxParam& p) MxLong Act2Brick::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,8 +10,8 @@ public:
Act2Brick(); Act2Brick();
virtual ~Act2Brick() override; // vtable+0x0 virtual ~Act2Brick() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x08 virtual MxResult Tickle() override; // vtable+0x08
// FUNCTION: LEGO1 0x1007a360 // FUNCTION: LEGO1 0x1007a360
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -21,9 +21,9 @@ public:
} }
// FUNCTION: LEGO1 0x1007a370 // FUNCTION: LEGO1 0x1007a370
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(Act2Brick::ClassName(), name) || LegoEntity::IsA(name); return !strcmp(Act2Brick::ClassName(), p_name) || LegoEntity::IsA(p_name);
} }
}; };

View File

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

View File

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

View File

@@ -19,17 +19,17 @@ public:
} }
// FUNCTION: LEGO1 0x10072520 // FUNCTION: LEGO1 0x10072520
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Act3::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, Act3::ClassName()) || LegoWorld::IsA(p_name);
} }
inline void SetUnkown420c(MxEntity* p_entity) { m_unk420c = p_entity; } inline void SetUnkown420c(MxEntity* p_entity) { m_unk0x420c = p_entity; }
protected: protected:
undefined m_unkf8[0x4114]; undefined m_unk0xf8[0x4114];
MxEntity* m_unk420c; MxEntity* m_unk0x420c;
undefined m_unk4210[0x64]; undefined m_unk0x4210[0x64];
}; };
#endif // ACT3_H #endif // ACT3_H

View File

@@ -7,7 +7,7 @@
// SIZE 0xc // SIZE 0xc
class Act3State : public LegoState { class Act3State : public LegoState {
public: public:
inline Act3State() { m_unk08 = 0; } inline Act3State() { m_unk0x08 = 0; }
// FUNCTION: LEGO1 0x1000e300 // FUNCTION: LEGO1 0x1000e300
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -17,16 +17,16 @@ public:
} }
// FUNCTION: LEGO1 0x1000e310 // FUNCTION: LEGO1 0x1000e310
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Act3State::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, Act3State::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool VTable0x14() override; virtual MxBool VTable0x14() override;
private: private:
// FIXME: May be part of LegoState? Uncertain... // FIXME: May be part of LegoState? Uncertain...
MxU32 m_unk08; MxU32 m_unk0x08;
}; };
#endif // ACT3STATE_H #endif // ACT3STATE_H

View File

@@ -7,15 +7,15 @@ DECOMP_SIZE_ASSERT(Ambulance, 0x184);
// FUNCTION: LEGO1 0x10035ee0 // FUNCTION: LEGO1 0x10035ee0
Ambulance::Ambulance() Ambulance::Ambulance()
{ {
this->m_unk168 = 0; this->m_unk0x168 = 0;
this->m_unk16a = -1; this->m_unk0x16a = -1;
this->m_unk164 = 0; this->m_unk0x164 = 0;
this->m_unk16c = 0; this->m_unk0x16c = 0;
this->m_unk174 = -1; this->m_unk0x174 = -1;
this->m_unk16e = 0; this->m_unk0x16e = 0;
this->m_unk178 = -1; this->m_unk0x178 = -1;
this->m_unk170 = 0; this->m_unk0x170 = 0;
this->m_unk172 = 0; this->m_unk0x172 = 0;
this->m_unk13c = 40.0; this->m_unk0x13c = 40.0;
this->m_unk17c = 1.0; this->m_unk0x17c = 1.0;
} }

View File

@@ -17,25 +17,25 @@ public:
} }
// FUNCTION: LEGO1 0x10035fb0 // FUNCTION: LEGO1 0x10035fb0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Ambulance::ClassName()) || IslePathActor::IsA(name); return !strcmp(p_name, Ambulance::ClassName()) || IslePathActor::IsA(p_name);
} }
private: private:
// TODO: Ambulance fields // TODO: Ambulance fields
undefined m_unk160[4]; undefined m_unk0x160[4];
MxS32 m_unk164; MxS32 m_unk0x164;
MxS16 m_unk168; MxS16 m_unk0x168;
MxS16 m_unk16a; MxS16 m_unk0x16a;
MxS16 m_unk16c; MxS16 m_unk0x16c;
MxS16 m_unk16e; MxS16 m_unk0x16e;
MxS16 m_unk170; MxS16 m_unk0x170;
MxS16 m_unk172; MxS16 m_unk0x172;
MxS32 m_unk174; MxS32 m_unk0x174;
MxS32 m_unk178; MxS32 m_unk0x178;
MxFloat m_unk17c; MxFloat m_unk0x17c;
undefined m_unk180[4]; undefined m_unk0x180[4];
}; };
#endif // AMBULANCE_H #endif // AMBULANCE_H

View File

@@ -17,14 +17,14 @@ public:
} }
// FUNCTION: LEGO1 0x10037610 // FUNCTION: LEGO1 0x10037610
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, AmbulanceMissionState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, AmbulanceMissionState::ClassName()) || LegoState::IsA(p_name);
} }
inline MxU16 GetColor(MxU8 id) inline MxU16 GetColor(MxU8 p_id)
{ {
switch (id) { switch (p_id) {
case 1: case 1:
return m_color1; return m_color1;
case 2: case 2:
@@ -41,7 +41,7 @@ public:
} }
protected: protected:
undefined m_unk8[0x12]; undefined m_unk0x8[0x12];
MxU16 m_color1; MxU16 m_color1;
MxU16 m_color2; MxU16 m_color2;
MxU16 m_color3; MxU16 m_color3;

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10065080 // FUNCTION: LEGO1 0x10065080
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, AnimState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, AnimState::ClassName()) || LegoState::IsA(p_name);
} }
}; };

View File

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

View File

@@ -7,7 +7,7 @@
// SIZE 0x68 // SIZE 0x68
class BeachHouseEntity : public BuildingEntity { class BeachHouseEntity : public BuildingEntity {
public: public:
virtual MxLong Notify(MxParam& p) override; // vtable+04 virtual MxLong Notify(MxParam& p_param) override; // vtable+04
// FUNCTION: LEGO1 0x1000ee80 // FUNCTION: LEGO1 0x1000ee80
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000ee90 // FUNCTION: LEGO1 0x1000ee90
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(name); return !strcmp(p_name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }
}; };

View File

@@ -5,7 +5,7 @@ DECOMP_SIZE_ASSERT(Bike, 0x164);
// FUNCTION: LEGO1 0x10076670 // FUNCTION: LEGO1 0x10076670
Bike::Bike() Bike::Bike()
{ {
this->m_unk13c = 20.0; this->m_unk0x13c = 20.0;
this->m_unk150 = 3.0; this->m_unk0x150 = 3.0;
this->m_unk148 = 1; this->m_unk0x148 = 1;
} }

View File

@@ -18,14 +18,14 @@ public:
} }
// FUNCTION: LEGO1 0x10076700 // FUNCTION: LEGO1 0x10076700
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Bike::ClassName()) || IslePathActor::IsA(name); return !strcmp(p_name, Bike::ClassName()) || IslePathActor::IsA(p_name);
} }
private: private:
// TODO: Bike fields // TODO: Bike fields
undefined m_unk160[4]; undefined m_unk0x160[4];
}; };
#endif // BIKE_H #endif // BIKE_H

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10014f30 // FUNCTION: LEGO1 0x10014f30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, BuildingEntity::ClassName()) || LegoEntity::IsA(name); return !strcmp(p_name, BuildingEntity::ClassName()) || LegoEntity::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x10027500 // FUNCTION: LEGO1 0x10027500
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, BumpBouy::ClassName()) || LegoAnimActor::IsA(name); return !strcmp(p_name, BumpBouy::ClassName()) || LegoAnimActor::IsA(p_name);
} }
}; };

View File

@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x10016b30 // FUNCTION: LEGO1 0x10016b30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, CarRace::ClassName()) || LegoRace::IsA(name); return !strcmp(p_name, CarRace::ClassName()) || LegoRace::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000dd40 // FUNCTION: LEGO1 0x1000dd40
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, CarRaceState::ClassName()) || RaceState::IsA(name); return !strcmp(p_name, CarRaceState::ClassName()) || RaceState::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000e440 // FUNCTION: LEGO1 0x1000e440
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Doors::ClassName()) || LegoPathActor::IsA(name); return !strcmp(p_name, Doors::ClassName()) || LegoPathActor::IsA(p_name);
} }
}; };

View File

@@ -7,6 +7,6 @@ DECOMP_SIZE_ASSERT(DuneBuggy, 0x16c);
// FUNCTION: LEGO1 0x10067bb0 // FUNCTION: LEGO1 0x10067bb0
DuneBuggy::DuneBuggy() DuneBuggy::DuneBuggy()
{ {
this->m_unk13c = 25.0; this->m_unk0x13c = 25.0;
this->m_unk164 = 1.0; this->m_unk0x164 = 1.0;
} }

View File

@@ -18,16 +18,16 @@ public:
} }
// FUNCTION: LEGO1 0x10067c40 // FUNCTION: LEGO1 0x10067c40
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, DuneBuggy::ClassName()) || IslePathActor::IsA(name); return !strcmp(p_name, DuneBuggy::ClassName()) || IslePathActor::IsA(p_name);
} }
private: private:
// TODO: Double check DuneBuggy field types // TODO: Double check DuneBuggy field types
undefined4 m_unk160; undefined4 m_unk0x160;
MxFloat m_unk164; MxFloat m_unk0x164;
undefined4 m_unk168; undefined4 m_unk0x168;
}; };
#endif // DUNEBUGGY_H #endif // DUNEBUGGY_H

View File

@@ -13,7 +13,7 @@ ElevatorBottom::~ElevatorBottom()
} }
// STUB: LEGO1 0x10018150 // STUB: LEGO1 0x10018150
MxLong ElevatorBottom::Notify(MxParam& p) MxLong ElevatorBottom::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -9,7 +9,7 @@ public:
ElevatorBottom(); ElevatorBottom();
virtual ~ElevatorBottom() override; // vtable+0x0 virtual ~ElevatorBottom() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
// FUNCTION: LEGO1 0x10017f20 // FUNCTION: LEGO1 0x10017f20
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -19,9 +19,9 @@ public:
} }
// FUNCTION: LEGO1 0x10017f30 // FUNCTION: LEGO1 0x10017f30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, ElevatorBottom::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, ElevatorBottom::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -13,7 +13,7 @@ GasStation::~GasStation()
} }
// STUB: LEGO1 0x10004a60 // STUB: LEGO1 0x10004a60
MxLong GasStation::Notify(MxParam& p) MxLong GasStation::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -11,8 +11,8 @@ public:
GasStation(); GasStation();
virtual ~GasStation() override; // vtable+0x0 virtual ~GasStation() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8 virtual MxResult Tickle() override; // vtable+0x8
// FUNCTION: LEGO1 0x10004780 // FUNCTION: LEGO1 0x10004780
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -22,9 +22,9 @@ public:
} }
// FUNCTION: LEGO1 0x10004790 // FUNCTION: LEGO1 0x10004790
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, GasStation::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, GasStation::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000eb30 // FUNCTION: LEGO1 0x1000eb30
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, GasStationEntity::ClassName()) || BuildingEntity::IsA(name); return !strcmp(p_name, GasStationEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }
}; };

View File

@@ -11,8 +11,8 @@ GasStationState::GasStationState()
m_unk0x1e = 0; m_unk0x1e = 0;
m_unk0x20 = 0; m_unk0x20 = 0;
undefined4* unk = m_unk0x08; undefined4* unk0x08 = m_unk0x08;
unk[0] = -1; unk0x08[0] = -1;
unk[1] = -1; unk0x08[1] = -1;
unk[2] = -1; unk0x08[2] = -1;
} }

View File

@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x100061e0 // FUNCTION: LEGO1 0x100061e0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, GasStationState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, GasStationState::ClassName()) || LegoState::IsA(p_name);
} }
private: private:

View File

@@ -6,15 +6,15 @@ DECOMP_SIZE_ASSERT(GifMap, 0x08);
DECOMP_SIZE_ASSERT(GifManagerBase, 0x14); DECOMP_SIZE_ASSERT(GifManagerBase, 0x14);
DECOMP_SIZE_ASSERT(GifManager, 0x30); DECOMP_SIZE_ASSERT(GifManager, 0x30);
GifMapEntry* DAT_100f0100; GifMapEntry* g_unk0x100f0100;
// FUNCTION: LEGO1 0x10001cc0 // FUNCTION: LEGO1 0x10001cc0
GifMapEntry* GifMap::FindNode(const char*& string) GifMapEntry* GifMap::FindNode(const char*& p_string)
{ {
GifMapEntry* ret = m_unk4; GifMapEntry* ret = m_unk0x4;
GifMapEntry* current = ret->m_parent; GifMapEntry* current = ret->m_parent;
while (current != DAT_100f0100) { while (current != g_unk0x100f0100) {
if (strcmp(current->m_key, string) <= 0) { if (strcmp(current->m_key, p_string) <= 0) {
ret = current; ret = current;
current = current->m_right; current = current->m_right;
} }

View File

@@ -27,19 +27,19 @@ public:
class GifMap { class GifMap {
public: public:
GifMapEntry* FindNode(const char*& string); GifMapEntry* FindNode(const char*& p_string);
inline GifData* Get(const char* string) inline GifData* Get(const char* p_string)
{ {
GifData* ret = NULL; GifData* ret = NULL;
GifMapEntry* entry = FindNode(string); GifMapEntry* entry = FindNode(p_string);
if (((m_unk4 == entry || strcmp(string, entry->m_key) > 0) ? m_unk4 : entry) != entry) if (((m_unk0x4 == entry || strcmp(p_string, entry->m_key) > 0) ? m_unk0x4 : entry) != entry)
ret = entry->m_value; ret = entry->m_value;
return ret; return ret;
} }
undefined4 m_unk0; undefined4 m_unk0x0;
GifMapEntry* m_unk4; GifMapEntry* m_unk0x4;
}; };
// VTABLE: LEGO1 0x100d86d4 // VTABLE: LEGO1 0x100d86d4
@@ -48,12 +48,12 @@ public:
// STUB: LEGO1 0x1005a310 // STUB: LEGO1 0x1005a310
virtual ~GifManagerBase() {} // vtable+00 virtual ~GifManagerBase() {} // vtable+00
inline GifData* Get(const char* name) { return m_unk8.Get(name); } inline GifData* Get(const char* p_name) { return m_unk0x8.Get(p_name); }
protected: protected:
undefined4 m_unk0; undefined4 m_unk0x0;
undefined4 m_unk4; undefined4 m_unk0x4;
GifMap m_unk8; GifMap m_unk0x8;
}; };
// VTABLE: LEGO1 0x100d86fc // VTABLE: LEGO1 0x100d86fc
@@ -63,7 +63,7 @@ public:
virtual ~GifManager() {} // vtable+00 virtual ~GifManager() {} // vtable+00
protected: protected:
undefined m_unk[0x1c]; undefined m_unk0x14[0x1c];
}; };
#endif // GIFMANAGER_H #endif // GIFMANAGER_H

View File

@@ -13,7 +13,7 @@ DECOMP_SIZE_ASSERT(Helicopter, 0x230)
// FUNCTION: LEGO1 0x10001e60 // FUNCTION: LEGO1 0x10001e60
Helicopter::Helicopter() Helicopter::Helicopter()
{ {
m_unk13c = 60; m_unk0x13c = 60;
} }
// FUNCTION: LEGO1 0x10003230 // FUNCTION: LEGO1 0x10003230
@@ -63,16 +63,16 @@ void Helicopter::VTable0xe4()
} }
} }
m_state->SetUnknown8(0); m_state->SetUnknown8(0);
FUN_1003ee00(m_unk22c, 0x16); FUN_1003ee00(m_unk0x22c, 0x16);
FUN_1003ee00(m_unk22c, 0x17); FUN_1003ee00(m_unk0x22c, 0x17);
FUN_1003ee00(m_unk22c, 0x18); FUN_1003ee00(m_unk0x22c, 0x18);
FUN_1003ee00(m_unk22c, 0x19); FUN_1003ee00(m_unk0x22c, 0x19);
FUN_1003ee00(m_unk22c, 0x1a); FUN_1003ee00(m_unk0x22c, 0x1a);
FUN_1003ee00(m_unk22c, 0x1b); FUN_1003ee00(m_unk0x22c, 0x1b);
FUN_1003ee00(m_unk22c, 0x1c); FUN_1003ee00(m_unk0x22c, 0x1c);
FUN_1003ee00(m_unk22c, 0x1d); FUN_1003ee00(m_unk0x22c, 0x1d);
FUN_1003ee00(m_unk22c, 0x1e); FUN_1003ee00(m_unk0x22c, 0x1e);
FUN_1003ee00(m_unk22c, 0x1f); FUN_1003ee00(m_unk0x22c, 0x1f);
AnimationManager()->FUN_1005f6d0(TRUE); AnimationManager()->FUN_1005f6d0(TRUE);
ControlManager()->Unregister(this); ControlManager()->Unregister(this);
} }

View File

@@ -19,9 +19,9 @@ public:
} }
// FUNCTION: LEGO1 0x10003080 // FUNCTION: LEGO1 0x10003080
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Helicopter::ClassName()) || IslePathActor::IsA(name); return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name);
} }
virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18 virtual MxResult Create(MxDSObject& p_dsObject) override; // vtable+0x18
@@ -32,14 +32,14 @@ public:
virtual ~Helicopter() override; // vtable+0x0 virtual ~Helicopter() override; // vtable+0x0
protected: protected:
Matrix4Data m_unk160; Matrix4Data m_unk0x160;
Matrix4Data m_unk1a8; Matrix4Data m_unk0x1a8;
undefined4 m_unk1f0; undefined4 m_unk0x1f0;
Vector4Data m_unk1f4; Vector4Data m_unk0x1f4;
Vector4Data m_unk20c; Vector4Data m_unk0x20c;
undefined4 m_unk224; undefined4 m_unk0x224;
HelicopterState* m_state; HelicopterState* m_state;
MxAtomId m_unk22c; MxAtomId m_unk0x22c;
private: private:
void GetState(); void GetState();

View File

@@ -16,15 +16,15 @@ public:
} }
// FUNCTION: LEGO1 0x1000e0e0 // FUNCTION: LEGO1 0x1000e0e0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, HelicopterState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, HelicopterState::ClassName()) || LegoState::IsA(p_name);
} }
inline void SetUnknown8(undefined4 p_unk8) { m_unk8 = p_unk8; } inline void SetUnknown8(undefined4 p_unk0x8) { m_unk0x8 = p_unk0x8; }
protected: protected:
undefined4 m_unk8; undefined4 m_unk0x8;
}; };
#endif // HELICOPTERSTATE_H #endif // HELICOPTERSTATE_H

View File

@@ -13,7 +13,7 @@ HistoryBook::~HistoryBook()
} }
// STUB: LEGO1 0x10082680 // STUB: LEGO1 0x10082680
MxLong HistoryBook::Notify(MxParam& p) MxLong HistoryBook::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,7 +10,7 @@ public:
HistoryBook(); HistoryBook();
virtual ~HistoryBook() override; // vtable+0x0 virtual ~HistoryBook() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
// FUNCTION: LEGO1 0x10082390 // FUNCTION: LEGO1 0x10082390
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -20,9 +20,9 @@ public:
} }
// FUNCTION: LEGO1 0x100823a0 // FUNCTION: LEGO1 0x100823a0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, HistoryBook::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, HistoryBook::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -13,7 +13,7 @@ Hospital::~Hospital()
} }
// STUB: LEGO1 0x10074990 // STUB: LEGO1 0x10074990
MxLong Hospital::Notify(MxParam& p) MxLong Hospital::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,7 +10,7 @@ public:
Hospital(); Hospital();
virtual ~Hospital() override; // vtable+0x0 virtual ~Hospital() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x04 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x100746b0 // FUNCTION: LEGO1 0x100746b0
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -20,9 +20,9 @@ public:
} }
// FUNCTION: LEGO1 0x100746c0 // FUNCTION: LEGO1 0x100746c0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Hospital::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, Hospital::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000ec50 // FUNCTION: LEGO1 0x1000ec50
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, HospitalEntity::ClassName()) || BuildingEntity::IsA(name); return !strcmp(p_name, HospitalEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }
}; };

View File

@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x10076410 // FUNCTION: LEGO1 0x10076410
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, HospitalState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, HospitalState::ClassName()) || LegoState::IsA(p_name);
} }
}; };

View File

@@ -13,7 +13,7 @@ Infocenter::~Infocenter()
} }
// STUB: LEGO1 0x1006ef10 // STUB: LEGO1 0x1006ef10
MxLong Infocenter::Notify(MxParam& p) MxLong Infocenter::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,8 +10,8 @@ public:
Infocenter(); Infocenter();
virtual ~Infocenter() override; virtual ~Infocenter() override;
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8 virtual MxResult Tickle() override; // vtable+0x8
// FUNCTION: LEGO1 0x1006eb40 // FUNCTION: LEGO1 0x1006eb40
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -21,9 +21,9 @@ public:
} }
// FUNCTION: LEGO1 0x1006eb50 // FUNCTION: LEGO1 0x1006eb50
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Infocenter::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, Infocenter::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -13,7 +13,7 @@ InfocenterDoor::~InfocenterDoor()
} }
// STUB: LEGO1 0x100379e0 // STUB: LEGO1 0x100379e0
MxLong InfocenterDoor::Notify(MxParam& p) MxLong InfocenterDoor::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,7 +10,7 @@ public:
InfocenterDoor(); InfocenterDoor();
virtual ~InfocenterDoor(); // vtable+0x0 virtual ~InfocenterDoor(); // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
// FUNCTION: LEGO1 0x100377b0 // FUNCTION: LEGO1 0x100377b0
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -20,9 +20,9 @@ public:
} }
// FUNCTION: LEGO1 0x100377c0 // FUNCTION: LEGO1 0x100377c0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, InfocenterDoor::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, InfocenterDoor::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000ea10 // FUNCTION: LEGO1 0x1000ea10
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(name); return !strcmp(p_name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(p_name);
} }
}; };

View File

@@ -19,9 +19,9 @@ public:
} }
// FUNCTION: LEGO1 0x10071850 // FUNCTION: LEGO1 0x10071850
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, InfocenterState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, InfocenterState::ClassName()) || LegoState::IsA(p_name);
} }
inline MxU32 GetInfocenterBufferElement(MxS32 p_index) { return m_buffer[p_index]; } inline MxU32 GetInfocenterBufferElement(MxS32 p_index) { return m_buffer[p_index]; }
@@ -55,7 +55,7 @@ private:
undefined4 unk13; undefined4 unk13;
*/ */
undefined pad[0x70]; undefined m_pad[0x70];
MxU32 m_buffer[7]; // 0x78 MxU32 m_buffer[7]; // 0x78
}; };

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10030920 // FUNCTION: LEGO1 0x10030920
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Isle::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, Isle::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -14,9 +14,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000e670 // FUNCTION: LEGO1 0x1000e670
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, IsleActor::ClassName()) || LegoActor::IsA(name); return !strcmp(p_name, IsleActor::ClassName()) || LegoActor::IsA(p_name);
} }
}; };

View File

@@ -37,10 +37,10 @@ void IslePathActor::VTable0xd8()
// FUNCTION: LEGO1 0x1001a200 // FUNCTION: LEGO1 0x1001a200
IslePathActor::IslePathActor() IslePathActor::IslePathActor()
{ {
this->m_pLegoWorld = NULL; this->m_world = NULL;
this->m_unk13c = 6.0; this->m_unk0x13c = 6.0;
this->m_unk15c = 1.0; this->m_unk0x15c = 1.0;
this->m_unk158 = 0; this->m_unk0x158 = 0;
} }
// FUNCTION: LEGO1 0x1001a280 // FUNCTION: LEGO1 0x1001a280
@@ -62,7 +62,7 @@ void IslePathActor::VTable0xe4()
} }
// STUB: LEGO1 0x1001b2a0 // STUB: LEGO1 0x1001b2a0
void IslePathActor::VTable0xe8(MxU32 p_1, MxBool p_2, MxU8 p_3) void IslePathActor::VTable0xe8(MxU32, MxBool, MxU8)
{ {
// TODO // TODO
} }

View File

@@ -19,9 +19,9 @@ public:
} }
// FUNCTION: LEGO1 0x10002eb0 // FUNCTION: LEGO1 0x10002eb0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, IslePathActor::ClassName()) || LegoPathActor::IsA(name); return !strcmp(p_name, IslePathActor::ClassName()) || LegoPathActor::IsA(p_name);
} }
// SYNTHETIC: LEGO1 0x10002ff0 // SYNTHETIC: LEGO1 0x10002ff0
@@ -36,16 +36,16 @@ public:
virtual void VTable0xdc(); // vtable+0xdc virtual void VTable0xdc(); // vtable+0xdc
virtual void VTable0xe0(); // vtable+0xe0 virtual void VTable0xe0(); // vtable+0xe0
virtual void VTable0xe4(); // vtable+0xe4 virtual void VTable0xe4(); // vtable+0xe4
virtual void VTable0xe8(MxU32 p_1, MxBool p_2, MxU8 p_3); // vtable+0xe8 virtual void VTable0xe8(MxU32, MxBool, MxU8); // vtable+0xe8
virtual void VTable0xec(); // vtable+0xec virtual void VTable0xec(); // vtable+0xec
inline void SetWorld(LegoWorld* p_world) { m_pLegoWorld = p_world; } inline void SetWorld(LegoWorld* p_world) { m_world = p_world; }
inline LegoWorld* GetWorld() { return m_pLegoWorld; } inline LegoWorld* GetWorld() { return m_world; }
private: private:
LegoWorld* m_pLegoWorld; // 0x154 LegoWorld* m_world; // 0x154
MxFloat m_unk158; MxFloat m_unk0x158;
MxFloat m_unk15c; MxFloat m_unk0x15c;
}; };
#endif // ISLEPATHACTOR_H #endif // ISLEPATHACTOR_H

View File

@@ -5,7 +5,7 @@ DECOMP_SIZE_ASSERT(Jetski, 0x164);
// FUNCTION: LEGO1 0x1007e3b0 // FUNCTION: LEGO1 0x1007e3b0
Jetski::Jetski() Jetski::Jetski()
{ {
this->m_unk13c = 25.0; this->m_unk0x13c = 25.0;
this->m_unk150 = 2.0; this->m_unk0x150 = 2.0;
this->m_unk148 = 1; this->m_unk0x148 = 1;
} }

View File

@@ -18,14 +18,14 @@ public:
} }
// FUNCTION: LEGO1 0x1007e440 // FUNCTION: LEGO1 0x1007e440
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Jetski::ClassName()) || IslePathActor::IsA(name); return !strcmp(p_name, Jetski::ClassName()) || IslePathActor::IsA(p_name);
} }
private: private:
// TODO: Jetski fields // TODO: Jetski fields
undefined m_unk160[4]; undefined m_unk0x160[4];
}; };
#endif // JETSKI_H #endif // JETSKI_H

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000db00 // FUNCTION: LEGO1 0x1000db00
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, JetskiRace::ClassName()) || LegoRace::IsA(name); return !strcmp(p_name, JetskiRace::ClassName()) || LegoRace::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000dc50 // FUNCTION: LEGO1 0x1000dc50
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, JetskiRaceState::ClassName()) || RaceState::IsA(name); return !strcmp(p_name, JetskiRaceState::ClassName()) || RaceState::IsA(p_name);
} }
}; };

View File

@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x1005d700 // FUNCTION: LEGO1 0x1005d700
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, JukeBox::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, JukeBox::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10085cd0 // FUNCTION: LEGO1 0x10085cd0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(name); return !strcmp(p_name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000f320 // FUNCTION: LEGO1 0x1000f320
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, JukeBoxState::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, JukeBoxState::ClassName()) || LegoState::IsA(p_name);
} }
virtual MxBool VTable0x14() override; // vtable+0x14 virtual MxBool VTable0x14() override; // vtable+0x14

View File

@@ -8,8 +8,8 @@ public:
inline Lego3DView* GetLego3DView() { return this->m_3dView; } inline Lego3DView* GetLego3DView() { return this->m_3dView; }
private: private:
int m_unk00; int m_unk0x00;
int m_unk04; int m_unk0x04;
Lego3DView* m_3dView; Lego3DView* m_3dView;
}; };

View File

@@ -8,7 +8,7 @@ public:
inline ViewManager* GetViewManager() { return this->m_viewManager; } inline ViewManager* GetViewManager() { return this->m_viewManager; }
private: private:
char unknown[0x88]; char m_pad[0x88];
ViewManager* m_viewManager; ViewManager* m_viewManager;
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000d8a0 // FUNCTION: LEGO1 0x1000d8a0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(name); return !strcmp(p_name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(p_name);
} }
}; };

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000df90 // FUNCTION: LEGO1 0x1000df90
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoAct2State::ClassName()) || LegoState::IsA(name); return !strcmp(p_name, LegoAct2State::ClassName()) || LegoState::IsA(p_name);
} }
}; };

View File

@@ -20,9 +20,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000d0f0 // FUNCTION: LEGO1 0x1000d0f0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(name); return !strcmp(p_name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
} }
virtual void ReadyTickle() override; // vtable+0x18 virtual void ReadyTickle() override; // vtable+0x18

View File

@@ -6,46 +6,46 @@ DECOMP_SIZE_ASSERT(LegoActor, 0x78)
// FUNCTION: LEGO1 0x10002cc0 // FUNCTION: LEGO1 0x10002cc0
MxFloat LegoActor::VTable0x50() MxFloat LegoActor::VTable0x50()
{ {
return m_unk68; return m_unk0x68;
} }
// FUNCTION: LEGO1 0x10002cd0 // FUNCTION: LEGO1 0x10002cd0
void LegoActor::VTable0x54(MxFloat p_unk) void LegoActor::VTable0x54(MxFloat p_unk0x68)
{ {
m_unk68 = p_unk; m_unk0x68 = p_unk0x68;
} }
// FUNCTION: LEGO1 0x10002ce0 // FUNCTION: LEGO1 0x10002ce0
void LegoActor::VTable0x58(MxFloat p_unk) void LegoActor::VTable0x58(MxFloat p_unk0x70)
{ {
m_unk70 = p_unk; m_unk0x70 = p_unk0x70;
} }
// FUNCTION: LEGO1 0x10002cf0 // FUNCTION: LEGO1 0x10002cf0
MxFloat LegoActor::VTable0x5c() MxFloat LegoActor::VTable0x5c()
{ {
return m_unk70; return m_unk0x70;
} }
// FUNCTION: LEGO1 0x10002d00 // FUNCTION: LEGO1 0x10002d00
undefined LegoActor::VTable0x60() undefined LegoActor::VTable0x60()
{ {
return m_unk74; return m_unk0x74;
} }
// FUNCTION: LEGO1 0x10002d10 // FUNCTION: LEGO1 0x10002d10
void LegoActor::VTable0x64(undefined p_unk) void LegoActor::VTable0x64(undefined p_unk0x74)
{ {
m_unk74 = p_unk; m_unk0x74 = p_unk0x74;
} }
// End header // End header
// FUNCTION: LEGO1 0x1002d110 // FUNCTION: LEGO1 0x1002d110
LegoActor::LegoActor() LegoActor::LegoActor()
{ {
m_unk68 = 0.0f; m_unk0x68 = 0.0f;
m_unk6c = 0; m_unk0x6c = 0;
m_unk70 = 0.0f; m_unk0x70 = 0.0f;
m_unk10 = 0; m_unk0x10 = 0;
m_unk74 = 0; m_unk0x74 = 0;
} }

View File

@@ -18,23 +18,23 @@ public:
} }
// FUNCTION: LEGO1 0x1002d220 // FUNCTION: LEGO1 0x1002d220
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name); return !strcmp(p_name, LegoActor::ClassName()) || LegoEntity::IsA(p_name);
} }
virtual MxFloat VTable0x50(); // vtable+0x50 virtual MxFloat VTable0x50(); // vtable+0x50
virtual void VTable0x54(MxFloat p_unk); // vtable+0x54 virtual void VTable0x54(MxFloat p_unk0x68); // vtable+0x54
virtual void VTable0x58(MxFloat p_unk); // vtable+0x58 virtual void VTable0x58(MxFloat p_unk0x70); // vtable+0x58
virtual MxFloat VTable0x5c(); // vtable+0x5c virtual MxFloat VTable0x5c(); // vtable+0x5c
virtual undefined VTable0x60(); // vtable+0x60 virtual undefined VTable0x60(); // vtable+0x60
virtual void VTable0x64(undefined p_unk); // vtable+0x64 virtual void VTable0x64(undefined p_unk0x74); // vtable+0x64
private: private:
MxFloat m_unk68; MxFloat m_unk0x68;
undefined4 m_unk6c; undefined4 m_unk0x6c;
MxFloat m_unk70; MxFloat m_unk0x70;
undefined m_unk74; undefined m_unk0x74;
}; };
#endif // LEGOACTOR_H #endif // LEGOACTOR_H

View File

@@ -15,9 +15,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000cb20 // FUNCTION: LEGO1 0x1000cb20
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(name); return !strcmp(p_name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(p_name);
} }
}; };

View File

@@ -4,9 +4,9 @@
int g_legoAnimationManagerConfig = 1; int g_legoAnimationManagerConfig = 1;
// FUNCTION: LEGO1 0x1005eb50 // FUNCTION: LEGO1 0x1005eb50
void LegoAnimationManager::configureLegoAnimationManager(int param_1) void LegoAnimationManager::configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig)
{ {
g_legoAnimationManagerConfig = param_1; g_legoAnimationManagerConfig = p_legoAnimationManagerConfig;
} }
// STUB: LEGO1 0x1005eb60 // STUB: LEGO1 0x1005eb60
@@ -28,13 +28,13 @@ void LegoAnimationManager::Init()
} }
// STUB: LEGO1 0x1005f6d0 // STUB: LEGO1 0x1005f6d0
void LegoAnimationManager::FUN_1005f6d0(MxBool p) void LegoAnimationManager::FUN_1005f6d0(MxBool)
{ {
// TODO // TODO
} }
// STUB: LEGO1 0x100619f0 // STUB: LEGO1 0x100619f0
MxLong LegoAnimationManager::Notify(MxParam& p) MxLong LegoAnimationManager::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,8 +10,8 @@ public:
LegoAnimationManager(); LegoAnimationManager();
virtual ~LegoAnimationManager() override; // vtable+0x0 virtual ~LegoAnimationManager() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8 virtual MxResult Tickle() override; // vtable+0x8
// FUNCTION: LEGO1 0x1005ec80 // FUNCTION: LEGO1 0x1005ec80
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -21,14 +21,14 @@ public:
} }
// FUNCTION: LEGO1 0x1005ec90 // FUNCTION: LEGO1 0x1005ec90
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, ClassName()) || MxCore::IsA(name); return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
} }
void FUN_1005f6d0(MxBool p); void FUN_1005f6d0(MxBool);
__declspec(dllexport) static void configureLegoAnimationManager(int param_1); __declspec(dllexport) static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig);
private: private:
void Init(); void Init();

View File

@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x1004a960 // FUNCTION: LEGO1 0x1004a960
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(name); return !strcmp(p_name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(p_name);
} }
}; };

View File

@@ -16,9 +16,9 @@ public:
} }
// FUNCTION: LEGO1 0x10068540 // FUNCTION: LEGO1 0x10068540
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(name); return !strcmp(p_name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(p_name);
} }
private: private:

View File

@@ -29,27 +29,27 @@ void LegoBackgroundColor::SetValue(const char* p_colorString)
if (!videomanager || !p_colorString) if (!videomanager || !p_colorString)
return; return;
float converted_r, converted_g, converted_b; float convertedR, convertedG, convertedB;
char* colorStringCopy = strcpy(new char[strlen(p_colorString) + 1], p_colorString); char* colorStringCopy = strcpy(new char[strlen(p_colorString) + 1], p_colorString);
char* colorStringSplit = strtok(colorStringCopy, g_delimiter); char* colorStringSplit = strtok(colorStringCopy, g_delimiter);
if (!strcmp(colorStringSplit, g_set)) { if (!strcmp(colorStringSplit, g_set)) {
colorStringSplit = strtok(0, g_delimiter); colorStringSplit = strtok(0, g_delimiter);
if (colorStringSplit) if (colorStringSplit)
h = (float) (atoi(colorStringSplit) * 0.01); m_h = (float) (atoi(colorStringSplit) * 0.01);
colorStringSplit = strtok(0, g_delimiter); colorStringSplit = strtok(0, g_delimiter);
if (colorStringSplit) if (colorStringSplit)
s = (float) (atoi(colorStringSplit) * 0.01); m_s = (float) (atoi(colorStringSplit) * 0.01);
colorStringSplit = strtok(0, g_delimiter); colorStringSplit = strtok(0, g_delimiter);
if (colorStringSplit) if (colorStringSplit)
v = (float) (atoi(colorStringSplit) * 0.01); m_v = (float) (atoi(colorStringSplit) * 0.01);
ConvertHSVToRGB(this->h, this->s, this->v, &converted_r, &converted_g, &converted_b); ConvertHSVToRGB(m_h, m_s, m_v, &convertedR, &convertedG, &convertedB);
videomanager->SetSkyColor(converted_r, converted_g, converted_b); videomanager->SetSkyColor(convertedR, convertedG, convertedB);
} }
else if (!strcmp(colorStringSplit, g_reset)) { else if (!strcmp(colorStringSplit, g_reset)) {
ConvertHSVToRGB(this->h, this->s, this->v, &converted_r, &converted_g, &converted_b); ConvertHSVToRGB(m_h, m_s, m_v, &convertedR, &convertedG, &convertedB);
videomanager->SetSkyColor(converted_r, converted_g, converted_b); videomanager->SetSkyColor(convertedR, convertedG, convertedB);
} }
delete[] colorStringCopy; delete[] colorStringCopy;

View File

@@ -11,9 +11,9 @@ public:
virtual void SetValue(const char* p_colorString) override; virtual void SetValue(const char* p_colorString) override;
private: private:
float h; float m_h;
float s; float m_s;
float v; float m_v;
}; };
#endif // LEGOBACKGROUNDCOLOR_H #endif // LEGOBACKGROUNDCOLOR_H

View File

@@ -4,9 +4,9 @@
int g_buildingManagerConfig = 1; int g_buildingManagerConfig = 1;
// FUNCTION: LEGO1 0x1002f8b0 // FUNCTION: LEGO1 0x1002f8b0
void LegoBuildingManager::configureLegoBuildingManager(int param_1) void LegoBuildingManager::configureLegoBuildingManager(MxS32 p_buildingManagerConfig)
{ {
g_buildingManagerConfig = param_1; g_buildingManagerConfig = p_buildingManagerConfig;
} }
// FUNCTION: LEGO1 0x1002f8c0 // FUNCTION: LEGO1 0x1002f8c0

View File

@@ -17,7 +17,7 @@ public:
return "LegoBuildingManager"; return "LegoBuildingManager";
} }
__declspec(dllexport) static void configureLegoBuildingManager(int param_1); __declspec(dllexport) static void configureLegoBuildingManager(MxS32);
private: private:
void Init(); void Init();

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10006590 // FUNCTION: LEGO1 0x10006590
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoCacheSound::ClassName()) || MxCore::IsA(name); return !strcmp(p_name, LegoCacheSound::ClassName()) || MxCore::IsA(p_name);
} }
private: private:

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10011ed0 // FUNCTION: LEGO1 0x10011ed0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, ClassName()) || MxCore::IsA(name); return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
} }
}; };

View File

@@ -21,7 +21,7 @@ MxResult LegoCarBuild::Tickle()
} }
// STUB: LEGO1 0x10024050 // STUB: LEGO1 0x10024050
MxLong LegoCarBuild::Notify(MxParam& p) MxLong LegoCarBuild::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -10,8 +10,8 @@ public:
LegoCarBuild(); LegoCarBuild();
virtual ~LegoCarBuild() override; virtual ~LegoCarBuild() override;
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
virtual MxResult Tickle() override; // vtable+0x8 virtual MxResult Tickle() override; // vtable+0x8
// FUNCTION: LEGO1 0x10022940 // FUNCTION: LEGO1 0x10022940
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c
@@ -21,9 +21,9 @@ public:
} }
// FUNCTION: LEGO1 0x10022950 // FUNCTION: LEGO1 0x10022950
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoCarBuild::ClassName()) || LegoWorld::IsA(name); return !strcmp(p_name, LegoCarBuild::ClassName()) || LegoWorld::IsA(p_name);
} }
}; };

View File

@@ -18,9 +18,9 @@ public:
} }
// FUNCTION: LEGO1 0x10078520 // FUNCTION: LEGO1 0x10078520
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(name); return !strcmp(p_name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(p_name);
} }
}; };

View File

@@ -14,9 +14,9 @@ public:
} }
// FUNCTION: LEGO1 0x10081670 // FUNCTION: LEGO1 0x10081670
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoCarRaceActor::ClassName()) || LegoRaceActor::IsA(name); return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoRaceActor::IsA(p_name);
} }
}; };

View File

@@ -19,9 +19,9 @@ public:
} }
// FUNCTION: LEGO1 0x10028cc0 // FUNCTION: LEGO1 0x10028cc0
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoControlManager::ClassName()) || MxCore::IsA(name); return !strcmp(p_name, LegoControlManager::ClassName()) || MxCore::IsA(p_name);
} }
void Register(MxCore* p_listener); void Register(MxCore* p_listener);

View File

@@ -22,11 +22,11 @@ void LegoEntity::Init()
m_roi = NULL; m_roi = NULL;
m_cameraFlag = 0; m_cameraFlag = 0;
m_actionArgString = NULL; m_actionArgString = NULL;
m_unk10 = 0; m_unk0x10 = 0;
m_unk11 = 0; m_unk0x11 = 0;
m_actionType = ExtraActionType_unknown; m_actionType = ExtraActionType_unknown;
m_actionArgNumber = -1; m_actionArgNumber = -1;
m_unk59 = 4; m_unk0x59 = 4;
} }
// STUB: LEGO1 0x10010650 // STUB: LEGO1 0x10010650
@@ -142,7 +142,7 @@ void LegoEntity::VTable0x4c()
} }
// STUB: LEGO1 0x100114f0 // STUB: LEGO1 0x100114f0
MxLong LegoEntity::Notify(MxParam& p) MxLong LegoEntity::Notify(MxParam& p_param)
{ {
// TODO // TODO

View File

@@ -17,7 +17,7 @@ public:
__declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0 __declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0
virtual MxLong Notify(MxParam& p) override; // vtable+0x4 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4
// FUNCTION: LEGO1 0x1000c2f0 // FUNCTION: LEGO1 0x1000c2f0
inline const char* ClassName() const override // vtable+0xc inline const char* ClassName() const override // vtable+0xc
@@ -27,9 +27,9 @@ public:
} }
// FUNCTION: LEGO1 0x1000c300 // FUNCTION: LEGO1 0x1000c300
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoEntity::ClassName()) || MxEntity::IsA(name); return !strcmp(p_name, LegoEntity::ClassName()) || MxEntity::IsA(p_name);
} }
virtual MxResult Create(MxDSObject& p_dsObject); // vtable+0x18 virtual MxResult Create(MxDSObject& p_dsObject); // vtable+0x18
@@ -52,15 +52,15 @@ protected:
void Init(); void Init();
void SetWorld(); void SetWorld();
undefined m_unk10; undefined m_unk0x10;
undefined m_unk11; undefined m_unk0x11;
Vector3Data m_worldLocation; // 0x14 Vector3Data m_worldLocation; // 0x14
Vector3Data m_worldDirection; // 0x28 Vector3Data m_worldDirection; // 0x28
Vector3Data m_worldUp; // 0x3c Vector3Data m_worldUp; // 0x3c
MxFloat m_worldSpeed; // 0x50 MxFloat m_worldSpeed; // 0x50
LegoROI* m_roi; // 0x54 LegoROI* m_roi; // 0x54
MxBool m_cameraFlag; // 0x58 MxBool m_cameraFlag; // 0x58
undefined m_unk59; undefined m_unk0x59;
// For tokens from the extra string that look like this: // For tokens from the extra string that look like this:
// "Action:openram;\lego\scripts\Race\CarRaceR;0" // "Action:openram;\lego\scripts\Race\CarRaceR;0"
ExtraActionType m_actionType; // 0x5c ExtraActionType m_actionType; // 0x5c

View File

@@ -14,7 +14,7 @@ LegoEntityPresenter::LegoEntityPresenter()
// FUNCTION: LEGO1 0x100535c0 // FUNCTION: LEGO1 0x100535c0
void LegoEntityPresenter::Init() void LegoEntityPresenter::Init()
{ {
m_unk4c = 0; m_unk0x4c = 0;
} }
// FUNCTION: LEGO1 0x100535d0 // FUNCTION: LEGO1 0x100535d0
@@ -24,9 +24,9 @@ LegoEntityPresenter::~LegoEntityPresenter()
} }
// FUNCTION: LEGO1 0x10053630 // FUNCTION: LEGO1 0x10053630
undefined4 LegoEntityPresenter::vtable6c(undefined4 p_unknown) undefined4 LegoEntityPresenter::VTable0x6c(undefined4 p_unk0x4c)
{ {
m_unk4c = p_unknown; m_unk0x4c = p_unk0x4c;
return 0; return 0;
} }

View File

@@ -18,19 +18,19 @@ public:
} }
// FUNCTION: LEGO1 0x100534c0 // FUNCTION: LEGO1 0x100534c0
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(name); return !strcmp(p_name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(p_name);
} }
virtual void Destroy() override; // vtable+0x38 virtual void Destroy() override; // vtable+0x38
virtual void Init(); // vtable+0x68 virtual void Init(); // vtable+0x68
virtual undefined4 vtable6c(undefined4 p_unknown); // vtable+0x6c virtual undefined4 VTable0x6c(undefined4 p_unk0x4c); // vtable+0x6c
private: private:
void Destroy(MxBool p_fromDestructor); void Destroy(MxBool p_fromDestructor);
undefined4 m_unk4c; undefined4 m_unk0x4c;
}; };
#endif // LEGOENTITYPRESENTER_H #endif // LEGOENTITYPRESENTER_H

View File

@@ -16,7 +16,7 @@ public:
MxS32 p_y, MxS32 p_y,
MxU8 p_key MxU8 p_key
) )
: MxNotificationParam(p_type, p_sender), m_modifier(p_modifier), m_x(p_x), m_y(p_y), m_key(p_key), m_unk1c(0) : MxNotificationParam(p_type, p_sender), m_modifier(p_modifier), m_x(p_x), m_y(p_y), m_key(p_key), m_unk0x1c(0)
{ {
} }
@@ -28,7 +28,7 @@ protected:
MxS32 m_x; // 0x10 MxS32 m_x; // 0x10
MxS32 m_y; // 0x14 MxS32 m_y; // 0x14
MxU8 m_key; // 0x18 MxU8 m_key; // 0x18
MxU32 m_unk1c; // 0x1c MxU32 m_unk0x1c; // 0x1c
}; };
#endif // LEGOEVENTNOTIFICATIONPARAM_H #endif // LEGOEVENTNOTIFICATIONPARAM_H

View File

@@ -14,9 +14,9 @@ public:
} }
// FUNCTION: LEGO1 0x1002b7c0 // FUNCTION: LEGO1 0x1002b7c0
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoExtraActor::ClassName()) || LegoAnimActor::IsA(name); return !strcmp(p_name, LegoExtraActor::ClassName()) || LegoAnimActor::IsA(p_name);
} }
}; };

View File

@@ -8,10 +8,10 @@
DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24) DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24)
// GLOBAL: LEGO1 0x100f3be8 // GLOBAL: LEGO1 0x100f3be8
const char* g_str_enable = "enable"; const char* g_strEnable = "enable";
// GLOBAL: LEGO1 0x100f3bf4 // GLOBAL: LEGO1 0x100f3bf4
const char* g_str_disable = "disable"; const char* g_strDisable = "disable";
// FUNCTION: LEGO1 0x1003c500 // FUNCTION: LEGO1 0x1003c500
LegoFullScreenMovie::LegoFullScreenMovie(const char* p_key, const char* p_value) LegoFullScreenMovie::LegoFullScreenMovie(const char* p_key, const char* p_value)
@@ -30,12 +30,12 @@ void LegoFullScreenMovie::SetValue(const char* p_option)
LegoVideoManager* videomanager = VideoManager(); LegoVideoManager* videomanager = VideoManager();
if (videomanager) { if (videomanager) {
if (!strcmp(m_value.GetData(), g_str_enable)) { if (!strcmp(m_value.GetData(), g_strEnable)) {
videomanager->EnableFullScreenMovie(TRUE); videomanager->EnableFullScreenMovie(TRUE);
return; return;
} }
if (!strcmp(m_value.GetData(), g_str_disable)) { if (!strcmp(m_value.GetData(), g_strDisable)) {
videomanager->EnableFullScreenMovie(FALSE); videomanager->EnableFullScreenMovie(FALSE);
return; return;
} }

View File

@@ -38,7 +38,7 @@ ColorStringStruct g_colorSaveData[43] = {
// NOTE: This offset = the end of the variables table, the last entry // NOTE: This offset = the end of the variables table, the last entry
// in that table is a special entry, the string "END_OF_VARIABLES" // in that table is a special entry, the string "END_OF_VARIABLES"
// GLOBAL: LEGO1 0x100f3e50 // GLOBAL: LEGO1 0x100f3e50
extern const char* s_endOfVariables; extern const char* g_endOfVariables;
// FUNCTION: LEGO1 0x10039550 // FUNCTION: LEGO1 0x10039550
LegoGameState::LegoGameState() LegoGameState::LegoGameState()
@@ -94,9 +94,9 @@ MxResult LegoGameState::Save(MxULong p_slot)
if (fileStream.Open(savePath.GetData(), LegoStream::WriteBit) != FAILURE) { if (fileStream.Open(savePath.GetData(), LegoStream::WriteBit) != FAILURE) {
MxU32 maybeVersion = 0x1000C; MxU32 maybeVersion = 0x1000C;
fileStream.Write(&maybeVersion, 4); fileStream.Write(&maybeVersion, 4);
fileStream.Write(&m_unk24, 2); fileStream.Write(&m_unk0x24, 2);
fileStream.Write(&m_unk10, 2); fileStream.Write(&m_unk0x10, 2);
fileStream.Write(&m_unkC, 1); fileStream.Write(&m_unk0xc, 1);
for (MxS32 i = 0; i < sizeof(g_colorSaveData) / sizeof(g_colorSaveData[0]); ++i) { for (MxS32 i = 0; i < sizeof(g_colorSaveData) / sizeof(g_colorSaveData[0]); ++i) {
if (LegoStream::WriteVariable(&fileStream, variableTable, g_colorSaveData[i].m_targetName) == FAILURE) if (LegoStream::WriteVariable(&fileStream, variableTable, g_colorSaveData[i].m_targetName) == FAILURE)
@@ -140,9 +140,9 @@ void LegoGameState::SetSavePath(char* p_savePath)
// FUNCTION: LEGO1 0x1003a020 // FUNCTION: LEGO1 0x1003a020
MxResult LegoGameState::WriteEndOfVariables(LegoStream* p_stream) MxResult LegoGameState::WriteEndOfVariables(LegoStream* p_stream)
{ {
MxU8 len = strlen(s_endOfVariables); MxU8 len = strlen(g_endOfVariables);
if (p_stream->Write(&len, 1) == SUCCESS) if (p_stream->Write(&len, 1) == SUCCESS)
return p_stream->Write(s_endOfVariables, len); return p_stream->Write(g_endOfVariables, len);
return FAILURE; return FAILURE;
} }
@@ -167,19 +167,19 @@ void LegoGameState::GetFileSavePath(MxString* p_outPath, MxULong p_slotn)
} }
// STUB: LEGO1 0x1003a2e0 // STUB: LEGO1 0x1003a2e0
void LegoGameState::SerializePlayersInfo(MxS16 p) void LegoGameState::SerializePlayersInfo(MxS16)
{ {
// TODO // TODO
} }
// STUB: LEGO1 0x1003a720 // STUB: LEGO1 0x1003a720
void LegoGameState::FUN_1003a720(MxU32 p_unk) void LegoGameState::FUN_1003a720(MxU32)
{ {
// TODO // TODO
} }
// STUB: LEGO1 0x1003b060 // STUB: LEGO1 0x1003b060
void LegoGameState::HandleAction(MxU32 p_unk) void LegoGameState::HandleAction(MxU32)
{ {
// TODO // TODO
} }
@@ -256,7 +256,7 @@ void LegoGameState::RegisterState(LegoState* p_state)
} }
// STUB: LEGO1 0x1003cdd0 // STUB: LEGO1 0x1003cdd0
void LegoGameState::SerializeScoreHistory(MxS16 p) void LegoGameState::SerializeScoreHistory(MxS16)
{ {
// TODO // TODO
} }
@@ -264,5 +264,5 @@ void LegoGameState::SerializeScoreHistory(MxS16 p)
// FUNCTION: LEGO1 0x1003cea0 // FUNCTION: LEGO1 0x1003cea0
void LegoGameState::SetSomeEnumState(undefined4 p_state) void LegoGameState::SetSomeEnumState(undefined4 p_state)
{ {
m_unk10 = p_state; m_unk0x10 = p_state;
} }

View File

@@ -22,20 +22,20 @@ public:
__declspec(dllexport) LegoGameState(); __declspec(dllexport) LegoGameState();
__declspec(dllexport) ~LegoGameState(); __declspec(dllexport) ~LegoGameState();
__declspec(dllexport) MxResult Load(MxULong); __declspec(dllexport) MxResult Load(MxULong);
__declspec(dllexport) MxResult Save(MxULong p); __declspec(dllexport) MxResult Save(MxULong);
__declspec(dllexport) void SerializePlayersInfo(MxS16 p); __declspec(dllexport) void SerializePlayersInfo(MxS16);
__declspec(dllexport) void SerializeScoreHistory(MxS16 p); __declspec(dllexport) void SerializeScoreHistory(MxS16);
__declspec(dllexport) void SetSavePath(char* p); __declspec(dllexport) void SetSavePath(char*);
LegoState* GetState(COMPAT_CONST char* p_stateName); LegoState* GetState(COMPAT_CONST char* p_stateName);
LegoState* CreateState(COMPAT_CONST char* p_stateName); LegoState* CreateState(COMPAT_CONST char* p_stateName);
void GetFileSavePath(MxString* p_outPath, MxULong p_slotn); void GetFileSavePath(MxString* p_outPath, MxULong p_slotn);
void FUN_1003a720(MxU32 p_unk); void FUN_1003a720(MxU32);
void HandleAction(MxU32 p_unk); void HandleAction(MxU32);
inline MxU32 GetUnknown10() { return m_unk10; } inline MxU32 GetUnknown10() { return m_unk0x10; }
inline void SetUnknown424(undefined4 p_unk424) { m_unk424 = p_unk424; } inline void SetUnknown424(undefined4 p_unk0x424) { m_unk0x424 = p_unk0x424; }
void SetSomeEnumState(undefined4 p_state); void SetSomeEnumState(undefined4 p_state);
@@ -48,19 +48,19 @@ private:
char* m_savePath; // 0x0 char* m_savePath; // 0x0
MxS16 m_stateCount; MxS16 m_stateCount;
LegoState** m_stateArray; LegoState** m_stateArray;
MxU8 m_unkC; MxU8 m_unk0xc;
MxU32 m_unk10; MxU32 m_unk0x10;
undefined4 m_unk0x14; undefined4 m_unk0x14;
LegoBackgroundColor* m_backgroundColor; // 0x18 LegoBackgroundColor* m_backgroundColor; // 0x18
LegoBackgroundColor* m_tempBackgroundColor; // 0x1c LegoBackgroundColor* m_tempBackgroundColor; // 0x1c
LegoFullScreenMovie* m_fullScreenMovie; // 0x20 LegoFullScreenMovie* m_fullScreenMovie; // 0x20
MxU16 m_unk24; // 0x24 MxU16 m_unk0x24; // 0x24
undefined m_unk28[1020]; undefined m_unk0x28[1020];
undefined4 m_unk424; undefined4 m_unk0x424;
undefined4 m_unk428; undefined4 m_unk0x428;
undefined4 m_unk42c; undefined4 m_unk0x42c;
}; };
MxBool ROIHandlerFunction(char* p_0, char* p_output, MxU32 p_copyLen); MxBool ROIHandlerFunction(char* p_input, char* p_output, MxU32 p_copyLen);
#endif // LEGOGAMESTATE_H #endif // LEGOGAMESTATE_H

View File

@@ -17,9 +17,9 @@ public:
} }
// FUNCTION: LEGO1 0x1006d890 // FUNCTION: LEGO1 0x1006d890
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, ClassName()) || LegoAnimPresenter::IsA(name); return !strcmp(p_name, ClassName()) || LegoAnimPresenter::IsA(p_name);
} }
private: private:

View File

@@ -74,15 +74,15 @@ void LegoInputManager::Destroy()
} }
// FUNCTION: LEGO1 0x1005c030 // FUNCTION: LEGO1 0x1005c030
void LegoInputManager::CreateAndAcquireKeyboard(HWND hwnd) void LegoInputManager::CreateAndAcquireKeyboard(HWND p_hwnd)
{ {
HINSTANCE hinstance = (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE); HINSTANCE hinstance = (HINSTANCE) GetWindowLong(p_hwnd, GWL_HINSTANCE);
HRESULT hresult = DirectInputCreate(hinstance, 0x500, &m_directInput, NULL); // 0x500 for DX5 HRESULT hresult = DirectInputCreate(hinstance, 0x500, &m_directInput, NULL); // 0x500 for DX5
if (hresult == DI_OK) { if (hresult == DI_OK) {
HRESULT createdeviceresult = m_directInput->CreateDevice(GUID_SysKeyboard, &m_directInputDevice, NULL); HRESULT createdeviceresult = m_directInput->CreateDevice(GUID_SysKeyboard, &m_directInputDevice, NULL);
if (createdeviceresult == DI_OK) { if (createdeviceresult == DI_OK) {
m_directInputDevice->SetCooperativeLevel(hwnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND); m_directInputDevice->SetCooperativeLevel(p_hwnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND);
m_directInputDevice->SetDataFormat(&c_dfDIKeyboard); m_directInputDevice->SetDataFormat(&c_dfDIKeyboard);
m_directInputDevice->Acquire(); m_directInputDevice->Acquire();
} }
@@ -138,10 +138,10 @@ MxResult LegoInputManager::GetJoystickId()
// FUNCTION: LEGO1 0x1005c320 // FUNCTION: LEGO1 0x1005c320
MxResult LegoInputManager::GetJoystickState( MxResult LegoInputManager::GetJoystickState(
MxU32* joystick_x, MxU32* p_joystickX,
MxU32* joystick_y, MxU32* p_joystickY,
DWORD* buttons_state, DWORD* p_buttonsState,
MxU32* pov_position MxU32* p_povPosition
) )
{ {
if (m_useJoystick != FALSE) { if (m_useJoystick != FALSE) {
@@ -165,23 +165,23 @@ MxResult LegoInputManager::GetJoystickState(
MMRESULT mmresult = joyGetPosEx(m_joyid, &joyinfoex); MMRESULT mmresult = joyGetPosEx(m_joyid, &joyinfoex);
if (mmresult == MMSYSERR_NOERROR) { if (mmresult == MMSYSERR_NOERROR) {
*buttons_state = joyinfoex.dwButtons; *p_buttonsState = joyinfoex.dwButtons;
MxU32 xmin = m_joyCaps.wXmin; MxU32 xmin = m_joyCaps.wXmin;
MxU32 ymax = m_joyCaps.wYmax; MxU32 ymax = m_joyCaps.wYmax;
MxU32 ymin = m_joyCaps.wYmin; MxU32 ymin = m_joyCaps.wYmin;
MxS32 ydiff = ymax - ymin; MxS32 ydiff = ymax - ymin;
*joystick_x = ((joyinfoex.dwXpos - xmin) * 100) / (m_joyCaps.wXmax - xmin); *p_joystickX = ((joyinfoex.dwXpos - xmin) * 100) / (m_joyCaps.wXmax - xmin);
*joystick_y = ((joyinfoex.dwYpos - m_joyCaps.wYmin) * 100) / ydiff; *p_joystickY = ((joyinfoex.dwYpos - m_joyCaps.wYmin) * 100) / ydiff;
if ((m_joyCaps.wCaps & (JOYCAPS_POV4DIR | JOYCAPS_POVCTS)) != 0) { if ((m_joyCaps.wCaps & (JOYCAPS_POV4DIR | JOYCAPS_POVCTS)) != 0) {
if (joyinfoex.dwPOV == JOY_POVCENTERED) { if (joyinfoex.dwPOV == JOY_POVCENTERED) {
*pov_position = (MxU32) -1; *p_povPosition = (MxU32) -1;
return SUCCESS; return SUCCESS;
} }
*pov_position = joyinfoex.dwPOV / 100; *p_povPosition = joyinfoex.dwPOV / 100;
return SUCCESS; return SUCCESS;
} }
else { else {
*pov_position = (MxU32) -1; *p_povPosition = (MxU32) -1;
return SUCCESS; return SUCCESS;
} }
} }

View File

@@ -40,10 +40,10 @@ public:
MxResult Create(HWND p_hwnd); MxResult Create(HWND p_hwnd);
void Destroy(); void Destroy();
void CreateAndAcquireKeyboard(HWND hwnd); void CreateAndAcquireKeyboard(HWND p_hwnd);
void ReleaseDX(); void ReleaseDX();
MxResult GetJoystickId(); MxResult GetJoystickId();
MxResult GetJoystickState(MxU32* joystick_x, MxU32* joystick_y, DWORD* buttons_state, MxU32* pov_position); MxResult GetJoystickState(MxU32* p_joystickX, MxU32* p_joystickY, DWORD* p_buttonsState, MxU32* p_povPosition);
void SetTimer(); void SetTimer();
void KillTimer(); void KillTimer();
void SetCamera(LegoCameraController* p_camera); void SetCamera(LegoCameraController* p_camera);

View File

@@ -14,9 +14,9 @@ public:
} }
// FUNCTION: LEGO1 0x10013ea0 // FUNCTION: LEGO1 0x10013ea0
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoJetski::ClassName()) || LegoJetskiRaceActor::IsA(name); return !strcmp(p_name, LegoJetski::ClassName()) || LegoJetskiRaceActor::IsA(p_name);
} }
}; };

View File

@@ -14,9 +14,9 @@ public:
} }
// FUNCTION: LEGO1 0x10081da0 // FUNCTION: LEGO1 0x10081da0
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, LegoJetskiRaceActor::ClassName()) || LegoCarRaceActor::IsA(name); return !strcmp(p_name, LegoJetskiRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name);
} }
}; };

View File

@@ -16,9 +16,9 @@ public:
} }
// FUNCTION: LEGO1 0x1006ce60 // FUNCTION: LEGO1 0x1006ce60
inline MxBool IsA(const char* name) const override // vtable+0x10 inline MxBool IsA(const char* p_name) const override // vtable+0x10
{ {
return !strcmp(name, ClassName()) || LegoLoopingAnimPresenter::IsA(name); return !strcmp(p_name, ClassName()) || LegoLoopingAnimPresenter::IsA(p_name);
} }
private: private:

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