mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
Introduce clang-format (#240)
This commit is contained in:

committed by
GitHub

parent
e928fc9425
commit
b449da1fa3
25
.clang-format
Normal file
25
.clang-format
Normal file
@@ -0,0 +1,25 @@
|
||||
BasedOnStyle: Microsoft
|
||||
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: BlockIndent
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortFunctionsOnASingleLine: InlineOnly
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BracedInitializerIndentWidth: 4
|
||||
BraceWrapping:
|
||||
AfterClass: false
|
||||
AfterControlStatement: Never
|
||||
AfterEnum: false
|
||||
AfterStruct: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
IncludeBlocks: Regroup
|
||||
IndentAccessModifiers: false
|
||||
IndentWidth: 4
|
||||
PointerAlignment: Left
|
||||
SpaceAfterCStyleCast: true
|
||||
TabWidth: 4
|
||||
UseTab: ForContinuationAndIndentation
|
@@ -1,7 +1,13 @@
|
||||
root = true
|
||||
[*.{cpp,h,py,txt,editorconfig}]
|
||||
|
||||
[*.{py,txt,editorconfig}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{cpp,h}]
|
||||
indent_style = tab
|
||||
tab_width = 4
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
20
.github/workflows/format.yml
vendored
Normal file
20
.github/workflows/format.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
name: Format
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
clang-format:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Run clang-format
|
||||
run: |
|
||||
pipx run "clang-format>=17,<18" \
|
||||
--Werror \
|
||||
--dry-run \
|
||||
--style=file \
|
||||
ISLE/*.cpp ISLE/*.h \
|
||||
LEGO1/*.cpp LEGO1/*.h \
|
||||
LEGO1/realtime/*.cpp LEGO1/realtime/*.h
|
@@ -1,7 +1,7 @@
|
||||
#include "define.h"
|
||||
|
||||
// 0x410030
|
||||
IsleApp *g_isle = 0;
|
||||
IsleApp* g_isle = 0;
|
||||
|
||||
// 0x410034
|
||||
unsigned char g_mousedown = 0;
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
class IsleApp;
|
||||
|
||||
extern IsleApp *g_isle;
|
||||
extern IsleApp* g_isle;
|
||||
extern int g_closed;
|
||||
// 0x4101c4
|
||||
#define WNDCLASS_NAME "Lego Island MainNoM App"
|
||||
|
164
ISLE/isleapp.cpp
164
ISLE/isleapp.cpp
@@ -1,8 +1,6 @@
|
||||
#include "isleapp.h"
|
||||
|
||||
#include "define.h"
|
||||
|
||||
#include <dsound.h>
|
||||
|
||||
#include "legoanimationmanager.h"
|
||||
#include "legobuildingmanager.h"
|
||||
#include "legogamestate.h"
|
||||
@@ -22,9 +20,10 @@
|
||||
#include "mxticklemanager.h"
|
||||
#include "mxtimer.h"
|
||||
#include "mxtransitionmanager.h"
|
||||
|
||||
#include "res/resource.h"
|
||||
|
||||
#include <dsound.h>
|
||||
|
||||
// OFFSET: ISLE 0x401000
|
||||
IsleApp::IsleApp()
|
||||
{
|
||||
@@ -71,19 +70,19 @@ IsleApp::~IsleApp()
|
||||
}
|
||||
|
||||
if (m_hdPath) {
|
||||
delete [] m_hdPath;
|
||||
delete[] m_hdPath;
|
||||
}
|
||||
|
||||
if (m_cdPath) {
|
||||
delete [] m_cdPath;
|
||||
delete[] m_cdPath;
|
||||
}
|
||||
|
||||
if (m_deviceId) {
|
||||
delete [] m_deviceId;
|
||||
delete[] m_deviceId;
|
||||
}
|
||||
|
||||
if (m_savePath) {
|
||||
delete [] m_savePath;
|
||||
delete[] m_savePath;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +128,9 @@ BOOL IsleApp::SetupLegoOmni()
|
||||
char mediaPath[256];
|
||||
GetProfileStringA("LEGO Island", "MediaPath", "", mediaPath, sizeof(mediaPath));
|
||||
|
||||
BOOL failure = Lego()->Create(MxOmniCreateParam(mediaPath, (struct HWND__ *) m_windowHandle, m_videoParam, MxOmniCreateFlags())) == FAILURE;
|
||||
BOOL failure =
|
||||
Lego()->Create(MxOmniCreateParam(mediaPath, (struct HWND__*) m_windowHandle, m_videoParam, MxOmniCreateFlags())
|
||||
) == FAILURE;
|
||||
if (!failure) {
|
||||
VariableTable()->SetVariable("ACTOR_01", "");
|
||||
TickleManager()->SetClientTickleInterval(VideoManager(), 10);
|
||||
@@ -140,9 +141,17 @@ BOOL IsleApp::SetupLegoOmni()
|
||||
}
|
||||
|
||||
// OFFSET: ISLE 0x401560
|
||||
void IsleApp::SetupVideoFlags(BOOL fullScreen, BOOL flipSurfaces, BOOL backBuffers,
|
||||
BOOL using8bit, BOOL using16bit, BOOL param_6, BOOL param_7,
|
||||
BOOL wideViewAngle, char *deviceId)
|
||||
void IsleApp::SetupVideoFlags(
|
||||
BOOL fullScreen,
|
||||
BOOL flipSurfaces,
|
||||
BOOL backBuffers,
|
||||
BOOL using8bit,
|
||||
BOOL using16bit,
|
||||
BOOL param_6,
|
||||
BOOL param_7,
|
||||
BOOL wideViewAngle,
|
||||
char* deviceId
|
||||
)
|
||||
{
|
||||
m_videoParam.flags().SetFullScreen(fullScreen);
|
||||
m_videoParam.flags().SetFlipSurfaces(flipSurfaces);
|
||||
@@ -183,8 +192,13 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
|
||||
// Throw error if sound unavailable
|
||||
if (!soundReady) {
|
||||
MessageBoxA(NULL, "\"LEGO\xAE Island\" is not detecting a DirectSound compatible sound card. Please quit all other applications and try again.",
|
||||
"Lego Island Error", MB_OK);
|
||||
MessageBoxA(
|
||||
NULL,
|
||||
"\"LEGO\xAE Island\" is not detecting a DirectSound compatible sound card. Please quit all other "
|
||||
"applications and try again.",
|
||||
"Lego Island Error",
|
||||
MB_OK
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -193,7 +207,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
|
||||
// Create window
|
||||
if (g_isle->SetupWindow(hInstance, lpCmdLine) != SUCCESS) {
|
||||
MessageBoxA(NULL, "\"LEGO\xAE Island\" failed to start. Please quit all other applications and try again.", "LEGO\xAE Island Error", MB_OK);
|
||||
MessageBoxA(
|
||||
NULL,
|
||||
"\"LEGO\xAE Island\" failed to start. Please quit all other applications and try again.",
|
||||
"LEGO\xAE Island Error",
|
||||
MB_OK
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -203,12 +222,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
window = g_isle->m_windowHandle;
|
||||
}
|
||||
|
||||
// Load accelerators (this call actually achieves nothing - there is no "AppAccel" resource in the original - but we'll keep this for authenticity)
|
||||
// This line may actually be here because it's in DFVIEW, an example project that ships with
|
||||
// MSVC420, and was such a clean example of a Win32 app, that it was later adapted
|
||||
// into an "ExeSkeleton" sample for MSVC600. It's quite possible Mindscape derived
|
||||
// this app from that example since they no longer had the luxury of the
|
||||
// MFC AppWizard which we know they used for the frontend used during development (ISLEMFC.EXE, MAIN.EXE, et al.)
|
||||
// Load accelerators (this call actually achieves nothing - there is no "AppAccel" resource in the original - but
|
||||
// we'll keep this for authenticity) This line may actually be here because it's in DFVIEW, an example project that
|
||||
// ships with MSVC420, and was such a clean example of a Win32 app, that it was later adapted into an "ExeSkeleton"
|
||||
// sample for MSVC600. It's quite possible Mindscape derived this app from that example since they no longer had the
|
||||
// luxury of the MFC AppWizard which we know they used for the frontend used during development (ISLEMFC.EXE,
|
||||
// MAIN.EXE, et al.)
|
||||
LoadAcceleratorsA(hInstance, "AppAccel");
|
||||
|
||||
MSG msg;
|
||||
@@ -230,11 +249,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
}
|
||||
|
||||
MSG nextMsg;
|
||||
if (!g_isle
|
||||
|| !g_isle->m_windowHandle
|
||||
|| msg.message != WM_MOUSEMOVE
|
||||
|| !PeekMessageA(&nextMsg, NULL, 0, 0, PM_NOREMOVE)
|
||||
|| nextMsg.message != WM_MOUSEMOVE) {
|
||||
if (!g_isle || !g_isle->m_windowHandle || msg.message != WM_MOUSEMOVE ||
|
||||
!PeekMessageA(&nextMsg, NULL, 0, 0, PM_NOREMOVE) || nextMsg.message != WM_MOUSEMOVE) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessageA(&msg);
|
||||
}
|
||||
@@ -309,13 +325,18 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
case WM_ACTIVATEAPP:
|
||||
if (g_isle) {
|
||||
if ((wParam != 0) && (g_isle->m_fullScreen)) {
|
||||
MoveWindow(hWnd, g_windowRect.left, g_windowRect.top,
|
||||
MoveWindow(
|
||||
hWnd,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
(g_windowRect.right - g_windowRect.left) + 1,
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1, TRUE);
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
g_isle->m_windowActive = wParam;
|
||||
}
|
||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_CLOSE:
|
||||
if (!g_closed && g_isle) {
|
||||
if (g_isle) {
|
||||
@@ -325,7 +346,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
g_closed = TRUE;
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_GETMINMAXINFO:
|
||||
((MINMAXINFO*) lParam)->ptMaxTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
||||
((MINMAXINFO*) lParam)->ptMaxTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
||||
@@ -333,7 +354,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
((MINMAXINFO*) lParam)->ptMinTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
||||
return 0;
|
||||
case WM_ENTERMENULOOP:
|
||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_SYSCOMMAND:
|
||||
if (wParam == SC_SCREENSAVE) {
|
||||
return 0;
|
||||
@@ -346,10 +367,11 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
PostMessageA(g_isle->m_windowHandle, WM_CLOSE, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
} else if (g_isle && g_isle->m_fullScreen && (wParam == SC_MOVE || wParam == SC_KEYMENU)) {
|
||||
}
|
||||
else if (g_isle && g_isle->m_fullScreen && (wParam == SC_MOVE || wParam == SC_KEYMENU)) {
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_EXITMENULOOP:
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_MOVING:
|
||||
@@ -364,7 +386,8 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
case WM_DISPLAYCHANGE:
|
||||
if (g_isle && VideoManager() && g_isle->m_fullScreen && VideoManager()->GetDirect3D() && VideoManager()->GetDirect3D()->GetDeviceModeFinder()) {
|
||||
if (g_isle && VideoManager() && g_isle->m_fullScreen && VideoManager()->GetDirect3D() &&
|
||||
VideoManager()->GetDirect3D()->GetDeviceModeFinder()) {
|
||||
int targetWidth = LOWORD(lParam);
|
||||
int targetHeight = HIWORD(lParam);
|
||||
int targetDepth = wParam;
|
||||
@@ -432,7 +455,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
if (g_isle) {
|
||||
@@ -448,7 +471,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
if (y >= 480) {
|
||||
y = 479;
|
||||
}
|
||||
VideoManager()->MoveCursor(x,y);
|
||||
VideoManager()->MoveCursor(x, y);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -463,8 +486,17 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
|
||||
LoadConfig();
|
||||
|
||||
SetupVideoFlags(m_fullScreen, m_flipSurfaces, m_backBuffersInVram, m_using8bit,
|
||||
m_using16bit, m_unk24, FALSE, m_wideViewAngle, m_deviceId);
|
||||
SetupVideoFlags(
|
||||
m_fullScreen,
|
||||
m_flipSurfaces,
|
||||
m_backBuffersInVram,
|
||||
m_using8bit,
|
||||
m_using16bit,
|
||||
m_unk24,
|
||||
FALSE,
|
||||
m_wideViewAngle,
|
||||
m_deviceId
|
||||
);
|
||||
|
||||
MxOmni::SetSound3D(m_use3dSound);
|
||||
|
||||
@@ -501,9 +533,13 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
g_windowRect.top,
|
||||
g_windowRect.right - g_windowRect.left + 1,
|
||||
g_windowRect.bottom - g_windowRect.top + 1,
|
||||
NULL, NULL, hInstance, NULL
|
||||
NULL,
|
||||
NULL,
|
||||
hInstance,
|
||||
NULL
|
||||
);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
AdjustWindowRectEx(&g_windowRect, WS_CAPTION | WS_SYSMENU, 0, WS_EX_APPWINDOW);
|
||||
|
||||
m_windowHandle = CreateWindowExA(
|
||||
@@ -515,7 +551,10 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
CW_USEDEFAULT,
|
||||
g_windowRect.right - g_windowRect.left + 1,
|
||||
g_windowRect.bottom - g_windowRect.top + 1,
|
||||
NULL, NULL, hInstance, NULL
|
||||
NULL,
|
||||
NULL,
|
||||
hInstance,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
@@ -524,7 +563,14 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
}
|
||||
|
||||
if (m_fullScreen) {
|
||||
MoveWindow(m_windowHandle, g_windowRect.left, g_windowRect.top, (g_windowRect.right - g_windowRect.left) + 1, (g_windowRect.bottom - g_windowRect.top) + 1, TRUE);
|
||||
MoveWindow(
|
||||
m_windowHandle,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
(g_windowRect.right - g_windowRect.left) + 1,
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
|
||||
ShowWindow(m_windowHandle, SW_SHOWNORMAL);
|
||||
@@ -551,7 +597,7 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
|
||||
int uVar1 = (m_islandTexture == 0);
|
||||
LegoModelPresenter::configureLegoModelPresenter(uVar1);
|
||||
LegoPartPresenter::configureLegoPartPresenter(uVar1,iVar10);
|
||||
LegoPartPresenter::configureLegoPartPresenter(uVar1, iVar10);
|
||||
LegoWorldPresenter::configureLegoWorldPresenter(m_islandQuality);
|
||||
LegoBuildingManager::configureLegoBuildingManager(m_islandQuality);
|
||||
LegoROI::configureLegoROI(iVar10);
|
||||
@@ -563,7 +609,14 @@ MxResult IsleApp::SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine)
|
||||
}
|
||||
}
|
||||
if (m_fullScreen) {
|
||||
MoveWindow(m_windowHandle, g_windowRect.left, g_windowRect.top, (g_windowRect.right - g_windowRect.left) + 1, (g_windowRect.bottom - g_windowRect.top) + 1, TRUE);
|
||||
MoveWindow(
|
||||
m_windowHandle,
|
||||
g_windowRect.left,
|
||||
g_windowRect.top,
|
||||
(g_windowRect.right - g_windowRect.left) + 1,
|
||||
(g_windowRect.bottom - g_windowRect.top) + 1,
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
ShowWindow(m_windowHandle, SW_SHOWNORMAL);
|
||||
UpdateWindow(m_windowHandle);
|
||||
@@ -591,7 +644,7 @@ BOOL IsleApp::ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize)
|
||||
}
|
||||
|
||||
// OFFSET: ISLE 0x4027b0
|
||||
int IsleApp::ReadRegBool(LPCSTR name, BOOL *out)
|
||||
int IsleApp::ReadRegBool(LPCSTR name, BOOL* out)
|
||||
{
|
||||
char buffer[256];
|
||||
|
||||
@@ -613,7 +666,7 @@ int IsleApp::ReadRegBool(LPCSTR name, BOOL *out)
|
||||
}
|
||||
|
||||
// OFFSET: ISLE 0x402880
|
||||
int IsleApp::ReadRegInt(LPCSTR name, int *out)
|
||||
int IsleApp::ReadRegInt(LPCSTR name, int* out)
|
||||
{
|
||||
char buffer[256];
|
||||
|
||||
@@ -656,7 +709,7 @@ void IsleApp::LoadConfig()
|
||||
ReadRegBool("Draw Cursor", &m_drawCursor);
|
||||
|
||||
int backBuffersInVRAM;
|
||||
if (ReadRegBool("Back Buffers in Video RAM",&backBuffersInVRAM)) {
|
||||
if (ReadRegBool("Back Buffers in Video RAM", &backBuffersInVRAM)) {
|
||||
m_backBuffersInVram = !backBuffersInVRAM;
|
||||
}
|
||||
|
||||
@@ -664,7 +717,8 @@ void IsleApp::LoadConfig()
|
||||
if (ReadRegInt("Display Bit Depth", &bitDepth)) {
|
||||
if (bitDepth == 8) {
|
||||
m_using8bit = TRUE;
|
||||
} else if (bitDepth == 16) {
|
||||
}
|
||||
else if (bitDepth == 16) {
|
||||
m_using16bit = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -698,9 +752,12 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Lego()) return;
|
||||
if (!TickleManager()) return;
|
||||
if (!Timer()) return;
|
||||
if (!Lego())
|
||||
return;
|
||||
if (!TickleManager())
|
||||
return;
|
||||
if (!Timer())
|
||||
return;
|
||||
|
||||
MxLong currentTime = Timer()->GetRealTime();
|
||||
if (currentTime < g_lastFrameTime) {
|
||||
@@ -725,7 +782,7 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
|
||||
LegoOmni::GetInstance()->CreateBackgroundAudio();
|
||||
BackgroundAudioManager()->Enable(this->m_useMusic);
|
||||
|
||||
MxStreamController *stream = Streamer()->Open("\\lego\\scripts\\isle\\isle", 0);
|
||||
MxStreamController* stream = Streamer()->Open("\\lego\\scripts\\isle\\isle", 0);
|
||||
MxDSAction ds;
|
||||
|
||||
if (!stream) {
|
||||
@@ -742,7 +799,8 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame)
|
||||
if (Start(&ds) != SUCCESS) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
ds.SetAtomId(stream->GetAtom());
|
||||
ds.SetUnknown24(-1);
|
||||
ds.SetObjectId(0);
|
||||
|
@@ -1,13 +1,12 @@
|
||||
#ifndef ISLEAPP_H
|
||||
#define ISLEAPP_H
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include "mxtypes.h"
|
||||
#include "mxvideoparam.h"
|
||||
|
||||
class IsleApp
|
||||
{
|
||||
#include <windows.h>
|
||||
|
||||
class IsleApp {
|
||||
public:
|
||||
IsleApp();
|
||||
~IsleApp();
|
||||
@@ -15,14 +14,22 @@ public:
|
||||
void Close();
|
||||
|
||||
BOOL SetupLegoOmni();
|
||||
void SetupVideoFlags(BOOL fullScreen, BOOL flipSurfaces, BOOL backBuffers,
|
||||
BOOL using8bit, BOOL using16bit, BOOL param_6, BOOL param_7,
|
||||
BOOL wideViewAngle, char *deviceId);
|
||||
void SetupVideoFlags(
|
||||
BOOL fullScreen,
|
||||
BOOL flipSurfaces,
|
||||
BOOL backBuffers,
|
||||
BOOL using8bit,
|
||||
BOOL using16bit,
|
||||
BOOL param_6,
|
||||
BOOL param_7,
|
||||
BOOL wideViewAngle,
|
||||
char* deviceId
|
||||
);
|
||||
MxResult SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine);
|
||||
|
||||
BOOL ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize);
|
||||
int ReadRegBool(LPCSTR name, BOOL *out);
|
||||
int ReadRegInt(LPCSTR name, int *out);
|
||||
int ReadRegBool(LPCSTR name, BOOL* out);
|
||||
int ReadRegInt(LPCSTR name, int* out);
|
||||
|
||||
void LoadConfig();
|
||||
void Tick(BOOL sleepIfNotNextFrame);
|
||||
|
@@ -5,4 +5,3 @@ Act1State::Act1State()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
@@ -5,20 +5,19 @@
|
||||
|
||||
// VTABLE 0x100d7028
|
||||
// SIZE 0x26c
|
||||
class Act1State : public LegoState
|
||||
{
|
||||
class Act1State : public LegoState {
|
||||
public:
|
||||
Act1State();
|
||||
|
||||
// OFFSET: LEGO1 0x100338a0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0154
|
||||
return "Act1State";
|
||||
};
|
||||
|
||||
// OFFSET: LEGO1 0x100338b0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Act1State::ClassName()) || LegoState::IsA(name);
|
||||
};
|
||||
|
@@ -13,7 +13,7 @@ Act2Brick::~Act2Brick()
|
||||
}
|
||||
|
||||
// STUB OFFSET: LEGO1 0x1007a8c0 STUB
|
||||
MxLong Act2Brick::Notify(MxParam &p)
|
||||
MxLong Act2Brick::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,28 +5,26 @@
|
||||
|
||||
// VTABLE 0x100d9b60
|
||||
// SIZE 0x194
|
||||
class Act2Brick : public LegoPathActor
|
||||
{
|
||||
class Act2Brick : public LegoPathActor {
|
||||
public:
|
||||
Act2Brick();
|
||||
virtual ~Act2Brick() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
virtual MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// OFFSET: LEGO1 0x1007a360
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0438
|
||||
return "Act2Brick";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1007a370
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(Act2Brick::ClassName(), name) || LegoEntity::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // ACT2BRICK_H
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#include "act2policestation.h"
|
||||
|
||||
// OFFSET: LEGO1 0x1004e0e0 STUB
|
||||
MxLong Act2PoliceStation::Notify(MxParam &p)
|
||||
MxLong Act2PoliceStation::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,20 +5,19 @@
|
||||
|
||||
// VTABLE 0x100d53a8
|
||||
// SIZE 0x68
|
||||
class Act2PoliceStation : public LegoEntity
|
||||
{
|
||||
class Act2PoliceStation : public LegoEntity {
|
||||
public:
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
|
||||
// OFFSET: LEGO1 0x1000e200
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f03fc
|
||||
return "Act2PoliceStation";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000e210
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Act2PoliceStation::ClassName()) || LegoEntity::IsA(name);
|
||||
}
|
||||
|
15
LEGO1/act3.h
15
LEGO1/act3.h
@@ -5,32 +5,31 @@
|
||||
|
||||
// VTABLE 0x100d9628
|
||||
// SIZE 0x4274
|
||||
class Act3 : public LegoWorld
|
||||
{
|
||||
class Act3 : public LegoWorld {
|
||||
public:
|
||||
Act3();
|
||||
|
||||
virtual ~Act3() override; // vtable+00
|
||||
|
||||
// OFFSET: LEGO1 0x10072510
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f013c
|
||||
return "Act3";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10072520
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Act3::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
inline void SetUnkown420c(MxEntity *p_entity) { m_unk420c = p_entity; }
|
||||
protected:
|
||||
inline void SetUnkown420c(MxEntity* p_entity) { m_unk420c = p_entity; }
|
||||
|
||||
protected:
|
||||
undefined m_unkf8[0x4114];
|
||||
MxEntity *m_unk420c;
|
||||
MxEntity* m_unk420c;
|
||||
undefined m_unk4210[0x64];
|
||||
};
|
||||
|
||||
|
||||
#endif // ACT3_H
|
||||
|
@@ -3,16 +3,14 @@
|
||||
|
||||
// FIXME: Uncertain location. There are three vtables which eventually call this
|
||||
// class' ClassName() function, but none of them call it directly.
|
||||
class Act3Actor
|
||||
{
|
||||
class Act3Actor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x100431b0
|
||||
inline virtual const char *ClassName() override
|
||||
inline virtual const char* ClassName() override
|
||||
{
|
||||
// 0x100f03ac
|
||||
return "Act3Actor";
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // ACT3ACTOR_H
|
||||
|
@@ -4,11 +4,10 @@
|
||||
#include "legoanimactor.h"
|
||||
|
||||
// VTABLE 0x100d7920
|
||||
class Act3Shark : public LegoAnimActor
|
||||
{
|
||||
class Act3Shark : public LegoAnimActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x100430c0
|
||||
inline virtual const char *ClassName() const override
|
||||
inline virtual const char* ClassName() const override
|
||||
{
|
||||
// 0x100f03a0
|
||||
return "Act3Shark";
|
||||
|
@@ -5,23 +5,19 @@
|
||||
|
||||
// VTABLE 0x100d4fc8
|
||||
// SIZE 0xc
|
||||
class Act3State : public LegoState
|
||||
{
|
||||
class Act3State : public LegoState {
|
||||
public:
|
||||
inline Act3State()
|
||||
{
|
||||
m_unk08 = 0;
|
||||
}
|
||||
inline Act3State() { m_unk08 = 0; }
|
||||
|
||||
// OFFSET: LEGO1 0x1000e300
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f03f0
|
||||
return "Act3State";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000e310
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Act3State::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
@@ -31,7 +27,6 @@ public:
|
||||
private:
|
||||
// FIXME: May be part of LegoState? Uncertain...
|
||||
MxU32 m_unk08;
|
||||
|
||||
};
|
||||
|
||||
#endif // ACT3STATE_H
|
||||
|
@@ -5,23 +5,23 @@
|
||||
|
||||
// VTABLE 0x100d71a8
|
||||
// SIZE 0x184
|
||||
class Ambulance : public IslePathActor
|
||||
{
|
||||
class Ambulance : public IslePathActor {
|
||||
public:
|
||||
Ambulance();
|
||||
|
||||
// OFFSET: LEGO1 0x10035fa0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f03c4
|
||||
return "Ambulance";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10035fb0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Ambulance::ClassName()) || IslePathActor::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: Ambulance fields
|
||||
undefined m_unk160[4];
|
||||
|
@@ -5,36 +5,41 @@
|
||||
|
||||
// VTABLE 0x100d72a0
|
||||
// SIZE 0x24
|
||||
class AmbulanceMissionState : public LegoState
|
||||
{
|
||||
class AmbulanceMissionState : public LegoState {
|
||||
public:
|
||||
AmbulanceMissionState();
|
||||
|
||||
// OFFSET: LEGO1 0x10037600
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f00e8
|
||||
return "AmbulanceMissionState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10037610
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, AmbulanceMissionState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
||||
inline MxU16 GetColor(MxU8 id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case 1: return m_color1;
|
||||
case 2: return m_color2;
|
||||
case 3: return m_color3;
|
||||
case 4: return m_color4;
|
||||
case 5: return m_color5;
|
||||
default: return 0;
|
||||
switch (id) {
|
||||
case 1:
|
||||
return m_color1;
|
||||
case 2:
|
||||
return m_color2;
|
||||
case 3:
|
||||
return m_color3;
|
||||
case 4:
|
||||
return m_color4;
|
||||
case 5:
|
||||
return m_color5;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
undefined m_unk8[0x12];
|
||||
MxU16 m_color1;
|
||||
@@ -44,5 +49,4 @@ protected:
|
||||
MxU16 m_color5;
|
||||
};
|
||||
|
||||
|
||||
#endif // AMBULANCEMISSIONSTATE_H
|
||||
|
@@ -5,25 +5,23 @@
|
||||
|
||||
// VTABLE 0x100d8d80
|
||||
// SIZE 0x1c
|
||||
class AnimState : public LegoState
|
||||
{
|
||||
class AnimState : public LegoState {
|
||||
public:
|
||||
AnimState();
|
||||
virtual ~AnimState() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x10065070
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0460
|
||||
return "AnimState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10065080
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, AnimState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // ANIMSTATE_H
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#include "beachhouseentity.h"
|
||||
|
||||
// OFFSET: LEGO1 0x100150a0 STUB
|
||||
MxLong BeachHouseEntity::Notify(MxParam &p)
|
||||
MxLong BeachHouseEntity::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,20 +5,19 @@
|
||||
|
||||
// VTABLE 0x100d4a18
|
||||
// SIZE 0x68
|
||||
class BeachHouseEntity : public BuildingEntity
|
||||
{
|
||||
class BeachHouseEntity : public BuildingEntity {
|
||||
public:
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+04
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+04
|
||||
|
||||
// OFFSET: LEGO1 0x1000ee80
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0314
|
||||
return "BeachHouseEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000ee90
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(name);
|
||||
}
|
||||
|
@@ -9,4 +9,3 @@ Bike::Bike()
|
||||
this->m_unk150 = 3.0;
|
||||
this->m_unk148 = 1;
|
||||
}
|
||||
|
||||
|
@@ -6,27 +6,26 @@
|
||||
|
||||
// VTABLE 0x100d9808
|
||||
// SIZE 0x164
|
||||
class Bike : public IslePathActor
|
||||
{
|
||||
class Bike : public IslePathActor {
|
||||
public:
|
||||
Bike();
|
||||
|
||||
// OFFSET: LEGO1 0x100766f0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f03d0
|
||||
return "Bike";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10076700
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Bike::ClassName()) || IslePathActor::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: Bike fields
|
||||
undefined m_unk160[4];
|
||||
};
|
||||
|
||||
|
||||
#endif // BIKE_H
|
||||
|
@@ -5,21 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d5c88
|
||||
// SIZE <= 0x68, hard to tell because it's always constructed as a derivative
|
||||
class BuildingEntity : public LegoEntity
|
||||
{
|
||||
class BuildingEntity : public LegoEntity {
|
||||
public:
|
||||
BuildingEntity();
|
||||
virtual ~BuildingEntity() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x10014f20
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f07e8
|
||||
return "BuildingEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10014f30
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, BuildingEntity::ClassName()) || LegoEntity::IsA(name);
|
||||
}
|
||||
|
@@ -5,18 +5,17 @@
|
||||
#include "mxtypes.h"
|
||||
|
||||
// VTABLE 0x100d6790
|
||||
class BumpBouy : public LegoAnimActor
|
||||
{
|
||||
class BumpBouy : public LegoAnimActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x100274e0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0394
|
||||
return "BumpBouy";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10027500
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, BumpBouy::ClassName()) || LegoAnimActor::IsA(name);
|
||||
}
|
||||
|
@@ -5,20 +5,19 @@
|
||||
|
||||
// VTABLE 0x100d5e50
|
||||
// SIZE 0x154
|
||||
class CarRace : public LegoRace
|
||||
{
|
||||
class CarRace : public LegoRace {
|
||||
public:
|
||||
CarRace();
|
||||
|
||||
// OFFSET: LEGO1 0x10016b20
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0528
|
||||
return "CarRace";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10016b30
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, CarRace::ClassName()) || LegoRace::IsA(name);
|
||||
}
|
||||
|
@@ -5,18 +5,17 @@
|
||||
|
||||
// VTABLE 0x100d4b70
|
||||
// SIZE 0x2c
|
||||
class CarRaceState : public RaceState
|
||||
{
|
||||
class CarRaceState : public RaceState {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000dd30
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f009c
|
||||
return "CarRaceState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000dd40
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, CarRaceState::ClassName()) || RaceState::IsA(name);
|
||||
}
|
||||
|
@@ -12,15 +12,18 @@
|
||||
#endif
|
||||
|
||||
// DIsable "nonstandard extension used : 'bool'" warning spam
|
||||
#pragma warning( disable : 4237 )
|
||||
#pragma warning(disable : 4237)
|
||||
|
||||
// Disable "identifier was truncated to '255' characters" warning.
|
||||
// Impossible to avoid this if using STL map or set.
|
||||
// This removes most (but not all) occurrences of the warning.
|
||||
#pragma warning( disable : 4786 )
|
||||
#pragma warning(disable : 4786)
|
||||
// To really remove *all* of the warnings, we have to employ the following,
|
||||
// obscure workaround from https://www.earthli.com/news/view_article.php?id=376
|
||||
static class msVC6_4786WorkAround { public: msVC6_4786WorkAround() {} } msVC6_4786WorkAround;
|
||||
static class msVC6_4786WorkAround {
|
||||
public:
|
||||
msVC6_4786WorkAround() {}
|
||||
} msVC6_4786WorkAround;
|
||||
|
||||
#define MSVC420_VERSION 1020
|
||||
|
||||
|
@@ -2,7 +2,11 @@
|
||||
#define DECOMP_H
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#define DECOMP_STATIC_ASSERT(V) namespace { typedef int foo[(V)?1:-1]; }
|
||||
#define DECOMP_STATIC_ASSERT(V) \
|
||||
namespace \
|
||||
{ \
|
||||
typedef int foo[(V) ? 1 : -1]; \
|
||||
}
|
||||
#define DECOMP_SIZE_ASSERT(T, S) DECOMP_STATIC_ASSERT(sizeof(T) == S)
|
||||
#else
|
||||
#define DECOMP_STATIC_ASSERT(V)
|
||||
|
@@ -1,10 +1,10 @@
|
||||
#include "define.h"
|
||||
|
||||
// 0x10101eac
|
||||
const char *g_parseExtraTokens = ":;";
|
||||
const char* g_parseExtraTokens = ":;";
|
||||
|
||||
// 0x10101edc
|
||||
const char *g_strWORLD = "WORLD";
|
||||
const char* g_strWORLD = "WORLD";
|
||||
|
||||
// 0x10102040
|
||||
const char *g_strACTION = "ACTION";
|
||||
const char* g_strACTION = "ACTION";
|
||||
|
@@ -1,8 +1,8 @@
|
||||
#ifndef DEFINE_H
|
||||
#define DEFINE_H
|
||||
|
||||
extern const char *g_parseExtraTokens;
|
||||
extern const char *g_strWORLD;
|
||||
extern const char *g_strACTION;
|
||||
extern const char* g_parseExtraTokens;
|
||||
extern const char* g_strWORLD;
|
||||
extern const char* g_strACTION;
|
||||
|
||||
#endif // DEFINE_H
|
@@ -5,22 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d4788
|
||||
// SIZE 0x1f8
|
||||
class Doors : public LegoPathActor
|
||||
{
|
||||
class Doors : public LegoPathActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000e430
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f03e8
|
||||
return "Doors";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000e440
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Doors::ClassName()) || LegoPathActor::IsA(name);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
#endif // DOORS_H
|
||||
|
@@ -6,23 +6,23 @@
|
||||
|
||||
// VTABLE 0x100d8f98
|
||||
// SIZE 0x16c
|
||||
class DuneBuggy : public IslePathActor
|
||||
{
|
||||
class DuneBuggy : public IslePathActor {
|
||||
public:
|
||||
DuneBuggy();
|
||||
|
||||
// OFFSET: LEGO1 0x10067c30
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0410
|
||||
return "DuneBuggy";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10067c40
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, DuneBuggy::ClassName()) || IslePathActor::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: Double check DuneBuggy field types
|
||||
undefined4 m_unk160;
|
||||
|
@@ -13,7 +13,7 @@ ElevatorBottom::~ElevatorBottom()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10018150 STUB
|
||||
MxLong ElevatorBottom::Notify(MxParam &p)
|
||||
MxLong ElevatorBottom::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -4,27 +4,25 @@
|
||||
#include "legoworld.h"
|
||||
|
||||
// VTABLE 0x100d5f20
|
||||
class ElevatorBottom : public LegoWorld
|
||||
{
|
||||
class ElevatorBottom : public LegoWorld {
|
||||
public:
|
||||
ElevatorBottom();
|
||||
virtual ~ElevatorBottom() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
|
||||
// OFFSET: LEGO1 0x10017f20
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f04ac
|
||||
return "ElevatorBottom";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10017f30
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, ElevatorBottom::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // ELEVATORBOTTOM_H
|
||||
|
@@ -3,8 +3,7 @@
|
||||
|
||||
// Items related to the Extra string of key-value pairs found in MxOb
|
||||
|
||||
enum ExtraActionType
|
||||
{
|
||||
enum ExtraActionType {
|
||||
ExtraActionType_opendisk = 1,
|
||||
ExtraActionType_openram = 2,
|
||||
ExtraActionType_close = 3,
|
||||
|
@@ -13,7 +13,7 @@ GasStation::~GasStation()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10004a60 STUB
|
||||
MxLong GasStation::Notify(MxParam &p)
|
||||
MxLong GasStation::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -6,28 +6,26 @@
|
||||
// VTABLE 0x100d4650
|
||||
// SIZE 0x128
|
||||
// Radio variable at 0x46, in constructor
|
||||
class GasStation : public LegoWorld
|
||||
{
|
||||
class GasStation : public LegoWorld {
|
||||
public:
|
||||
GasStation();
|
||||
virtual ~GasStation() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
virtual MxResult Tickle() override; // vtable+0x8
|
||||
|
||||
// OFFSET: LEGO1 0x10004780
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0168
|
||||
return "GasStation";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10004790
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, GasStation::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // GASSTATION_H
|
||||
|
@@ -5,18 +5,17 @@
|
||||
|
||||
// VTABLE 0x100d5258
|
||||
// SIZE 0x68
|
||||
class GasStationEntity : public BuildingEntity
|
||||
{
|
||||
class GasStationEntity : public BuildingEntity {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000eb20
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0348
|
||||
return "GasStationEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000eb30
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, GasStationEntity::ClassName()) || BuildingEntity::IsA(name);
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ GasStationState::GasStationState()
|
||||
m_unk0x1e = 0;
|
||||
m_unk0x20 = 0;
|
||||
|
||||
undefined4 *unk = m_unk0x08;
|
||||
undefined4* unk = m_unk0x08;
|
||||
unk[0] = -1;
|
||||
unk[1] = -1;
|
||||
unk[2] = -1;
|
||||
|
@@ -5,20 +5,19 @@
|
||||
|
||||
// VTABLE 0x100d46e0
|
||||
// SIZE 0x24
|
||||
class GasStationState : public LegoState
|
||||
{
|
||||
class GasStationState : public LegoState {
|
||||
public:
|
||||
GasStationState();
|
||||
|
||||
// OFFSET: LEGO1 0x100061d0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0174
|
||||
return "GasStationState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100061e0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, GasStationState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
@@ -6,13 +6,13 @@ DECOMP_SIZE_ASSERT(GifMap, 0x08);
|
||||
DECOMP_SIZE_ASSERT(GifManagerBase, 0x14);
|
||||
DECOMP_SIZE_ASSERT(GifManager, 0x30);
|
||||
|
||||
GifMapEntry *DAT_100f0100;
|
||||
GifMapEntry* DAT_100f0100;
|
||||
|
||||
// OFFSET: LEGO1 0x10001cc0
|
||||
GifMapEntry *GifMap::FindNode(const char *&string)
|
||||
GifMapEntry* GifMap::FindNode(const char*& string)
|
||||
{
|
||||
GifMapEntry *ret = m_unk4;
|
||||
GifMapEntry *current = ret->m_parent;
|
||||
GifMapEntry* ret = m_unk4;
|
||||
GifMapEntry* current = ret->m_parent;
|
||||
while (current != DAT_100f0100) {
|
||||
if (strcmp(current->m_key, string) <= 0) {
|
||||
ret = current;
|
||||
|
@@ -4,54 +4,51 @@
|
||||
#include "decomp.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
#include <ddraw.h>
|
||||
#include <d3drmobj.h>
|
||||
#include <ddraw.h>
|
||||
|
||||
struct GifData
|
||||
{
|
||||
struct GifData {
|
||||
public:
|
||||
const char *m_name;
|
||||
const char* m_name;
|
||||
LPDIRECTDRAWSURFACE m_surface;
|
||||
LPDIRECTDRAWPALETTE m_palette;
|
||||
LPDIRECT3DRMTEXTURE2 m_texture;
|
||||
MxU8 *m_data;
|
||||
MxU8* m_data;
|
||||
};
|
||||
|
||||
struct GifMapEntry
|
||||
{
|
||||
struct GifMapEntry {
|
||||
public:
|
||||
GifMapEntry *m_right;
|
||||
GifMapEntry *m_parent;
|
||||
GifMapEntry *m_left;
|
||||
const char *m_key;
|
||||
GifData *m_value;
|
||||
GifMapEntry* m_right;
|
||||
GifMapEntry* m_parent;
|
||||
GifMapEntry* m_left;
|
||||
const char* m_key;
|
||||
GifData* m_value;
|
||||
};
|
||||
|
||||
class GifMap
|
||||
{
|
||||
class GifMap {
|
||||
public:
|
||||
GifMapEntry *FindNode(const char *&string);
|
||||
GifMapEntry* FindNode(const char*& string);
|
||||
|
||||
inline GifData *Get(const char *string) {
|
||||
GifData *ret = NULL;
|
||||
GifMapEntry *entry = FindNode(string);
|
||||
inline GifData* Get(const char* string)
|
||||
{
|
||||
GifData* ret = NULL;
|
||||
GifMapEntry* entry = FindNode(string);
|
||||
if (((m_unk4 == entry || strcmp(string, entry->m_key) > 0) ? m_unk4 : entry) != entry)
|
||||
ret = entry->m_value;
|
||||
return ret;
|
||||
}
|
||||
|
||||
undefined4 m_unk0;
|
||||
GifMapEntry *m_unk4;
|
||||
GifMapEntry* m_unk4;
|
||||
};
|
||||
|
||||
// VTABLE 0x100d86d4
|
||||
class GifManagerBase
|
||||
{
|
||||
class GifManagerBase {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1005a310 STUB
|
||||
virtual ~GifManagerBase() {} // vtable+00
|
||||
|
||||
inline GifData *Get(const char *name) { return m_unk8.Get(name); }
|
||||
inline GifData* Get(const char* name) { return m_unk8.Get(name); }
|
||||
|
||||
protected:
|
||||
undefined4 m_unk0;
|
||||
@@ -60,8 +57,7 @@ protected:
|
||||
};
|
||||
|
||||
// VTABLE 0x100d86fc
|
||||
class GifManager : public GifManagerBase
|
||||
{
|
||||
class GifManager : public GifManagerBase {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1005a580 STUB
|
||||
virtual ~GifManager() {} // vtable+00
|
||||
|
@@ -1,4 +1,5 @@
|
||||
#include "helicopter.h"
|
||||
|
||||
#include "act3.h"
|
||||
#include "legoanimationmanager.h"
|
||||
#include "legocontrolmanager.h"
|
||||
@@ -23,16 +24,17 @@ Helicopter::~Helicopter()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100032c0
|
||||
MxResult Helicopter::InitFromMxDSObject(MxDSObject &p_dsObject)
|
||||
MxResult Helicopter::InitFromMxDSObject(MxDSObject& p_dsObject)
|
||||
{
|
||||
MxResult result = IslePathActor::InitFromMxDSObject(p_dsObject);
|
||||
LegoWorld *world = GetCurrentWorld();
|
||||
LegoWorld* world = GetCurrentWorld();
|
||||
SetWorld(world);
|
||||
if (world->IsA("Act3")) {
|
||||
((Act3 *)GetWorld())->SetUnkown420c(this);
|
||||
((Act3*) GetWorld())->SetUnkown420c(this);
|
||||
}
|
||||
world = GetWorld();
|
||||
if (world) world->VTable0x58(this);
|
||||
if (world)
|
||||
world->VTable0x58(this);
|
||||
GetState();
|
||||
return result;
|
||||
}
|
||||
@@ -40,8 +42,9 @@ MxResult Helicopter::InitFromMxDSObject(MxDSObject &p_dsObject)
|
||||
// OFFSET: LEGO1 0x10003320
|
||||
void Helicopter::GetState()
|
||||
{
|
||||
m_state = (HelicopterState *)GameState()->GetState("HelicopterState");
|
||||
if (!m_state) m_state = (HelicopterState *)GameState()->CreateState("HelicopterState");
|
||||
m_state = (HelicopterState*) GameState()->GetState("HelicopterState");
|
||||
if (!m_state)
|
||||
m_state = (HelicopterState*) GameState()->CreateState("HelicopterState");
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10003360
|
||||
@@ -55,7 +58,7 @@ void Helicopter::VTable0xe4()
|
||||
GameState()->SetUnknown424(0x3c);
|
||||
if (GetCurrentVehicle()) {
|
||||
if (GetCurrentVehicle()->IsA("IslePathActor")) {
|
||||
((IslePathActor *)GetCurrentVehicle())->VTable0xe8(0x37, TRUE, 7);
|
||||
((IslePathActor*) GetCurrentVehicle())->VTable0xe8(0x37, TRUE, 7);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,4 +76,3 @@ void Helicopter::VTable0xe4()
|
||||
AnimationManager()->FUN_1005f6d0(TRUE);
|
||||
ControlManager()->Unregister(this);
|
||||
}
|
||||
|
||||
|
@@ -7,25 +7,24 @@
|
||||
|
||||
// VTABLE 0x100d40f8
|
||||
// SIZE 0x230
|
||||
class Helicopter : public IslePathActor
|
||||
{
|
||||
class Helicopter : public IslePathActor {
|
||||
public:
|
||||
Helicopter();
|
||||
|
||||
// OFFSET: LEGO1 0x10003070
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0130
|
||||
return "Helicopter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10003080
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Helicopter::ClassName()) || IslePathActor::IsA(name);
|
||||
}
|
||||
|
||||
virtual MxResult InitFromMxDSObject(MxDSObject &p_dsObject) override; // vtable+0x18
|
||||
virtual MxResult InitFromMxDSObject(MxDSObject& p_dsObject) override; // vtable+0x18
|
||||
virtual void VTable0xe4() override;
|
||||
|
||||
// OFFSET: LEGO1 0x10003210 TEMPLATE
|
||||
@@ -39,7 +38,7 @@ protected:
|
||||
MxVector4Data m_unk1f4;
|
||||
MxVector4Data m_unk20c;
|
||||
undefined4 m_unk224;
|
||||
HelicopterState *m_state;
|
||||
HelicopterState* m_state;
|
||||
MxAtomId m_unk22c;
|
||||
|
||||
private:
|
||||
|
@@ -6,24 +6,24 @@
|
||||
|
||||
// VTABLE 0x100d5418
|
||||
// SIZE 0xc
|
||||
class HelicopterState : public LegoState
|
||||
{
|
||||
class HelicopterState : public LegoState {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000e0d0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0144
|
||||
return "HelicopterState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000e0e0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, HelicopterState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
||||
inline void SetUnknown8(undefined4 p_unk8) { m_unk8 = p_unk8; }
|
||||
protected:
|
||||
|
||||
protected:
|
||||
undefined4 m_unk8;
|
||||
};
|
||||
|
||||
|
@@ -13,7 +13,7 @@ HistoryBook::~HistoryBook()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10082680 STUB
|
||||
MxLong HistoryBook::Notify(MxParam &p)
|
||||
MxLong HistoryBook::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,23 +5,22 @@
|
||||
|
||||
// VTABLE 0x100da328
|
||||
// SIZE 0x3e4
|
||||
class HistoryBook : public LegoWorld
|
||||
{
|
||||
class HistoryBook : public LegoWorld {
|
||||
public:
|
||||
HistoryBook();
|
||||
virtual ~HistoryBook() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
|
||||
// OFFSET: LEGO1 0x10082390
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f04bc
|
||||
return "HistoryBook";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100823a0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, HistoryBook::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@ Hospital::~Hospital()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10074990 STUB
|
||||
MxLong Hospital::Notify(MxParam &p)
|
||||
MxLong Hospital::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,27 +5,25 @@
|
||||
|
||||
// VTABLE 0x100d9730
|
||||
// SIZE 0x12c
|
||||
class Hospital : public LegoWorld
|
||||
{
|
||||
class Hospital : public LegoWorld {
|
||||
public:
|
||||
Hospital();
|
||||
virtual ~Hospital() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x04
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x04
|
||||
|
||||
// OFFSET: LEGO1 0x100746b0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0490
|
||||
return "Hospital";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100746c0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Hospital::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // HOSPITAL_H
|
||||
|
@@ -5,22 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d5068
|
||||
// SIZE 0x68
|
||||
class HospitalEntity : public BuildingEntity
|
||||
{
|
||||
class HospitalEntity : public BuildingEntity {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000ec40
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0338
|
||||
return "HospitalEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000ec50
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, HospitalEntity::ClassName()) || BuildingEntity::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // HOSPITALENTITY_H
|
||||
|
@@ -5,24 +5,22 @@
|
||||
|
||||
// VTABLE 0x100d97a0
|
||||
// SIZE 0x18
|
||||
class HospitalState : public LegoState
|
||||
{
|
||||
class HospitalState : public LegoState {
|
||||
public:
|
||||
HospitalState();
|
||||
|
||||
// OFFSET: LEGO1 0x10076400
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0480
|
||||
return "HospitalState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10076410
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, HospitalState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // HOSPITALSTATE_H
|
||||
|
@@ -13,7 +13,7 @@ Infocenter::~Infocenter()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1006ef10 STUB
|
||||
MxLong Infocenter::Notify(MxParam &p)
|
||||
MxLong Infocenter::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,28 +5,26 @@
|
||||
|
||||
// VTABLE 0x100d9338
|
||||
// SIZE 0x1d8
|
||||
class Infocenter : public LegoWorld
|
||||
{
|
||||
class Infocenter : public LegoWorld {
|
||||
public:
|
||||
Infocenter();
|
||||
virtual ~Infocenter() override;
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
virtual MxResult Tickle() override; // vtable+0x8
|
||||
|
||||
// OFFSET: LEGO1 0x1006eb40
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f04ec
|
||||
return "Infocenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1006eb50
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Infocenter::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // INFOCENTER_H
|
||||
|
@@ -13,7 +13,7 @@ InfocenterDoor::~InfocenterDoor()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100379e0 STUB
|
||||
MxLong InfocenterDoor::Notify(MxParam &p)
|
||||
MxLong InfocenterDoor::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,27 +5,25 @@
|
||||
|
||||
// VTABLE 0x100d72d8
|
||||
// SIZE 0xfc
|
||||
class InfocenterDoor : public LegoWorld
|
||||
{
|
||||
class InfocenterDoor : public LegoWorld {
|
||||
public:
|
||||
InfocenterDoor();
|
||||
virtual ~InfocenterDoor(); // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
|
||||
// OFFSET: LEGO1 0x100377b0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f049c
|
||||
return "InfocenterDoor";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100377c0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, InfocenterDoor::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // INFOCENTERDOOR_H
|
||||
|
@@ -5,22 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d4b90
|
||||
// SIZE 0x68
|
||||
class InfoCenterEntity : public BuildingEntity
|
||||
{
|
||||
class InfoCenterEntity : public BuildingEntity {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000ea00
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f035c
|
||||
return "InfoCenterEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000ea10
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // INFOCENTERENTITY_H
|
||||
|
@@ -13,4 +13,3 @@ InfocenterState::~InfocenterState()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
@@ -1,27 +1,25 @@
|
||||
#ifndef INFOCENTERSTATE_H
|
||||
#define INFOCENTERSTATE_H
|
||||
|
||||
#include "legostate.h"
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legostate.h"
|
||||
|
||||
// VTABLE 0x100d93a8
|
||||
// SIZE 0x94
|
||||
class InfocenterState : public LegoState
|
||||
{
|
||||
class InfocenterState : public LegoState {
|
||||
public:
|
||||
InfocenterState();
|
||||
virtual ~InfocenterState();
|
||||
|
||||
// OFFSET: LEGO1 0x10071840
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f04dc
|
||||
return "InfocenterState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10071850
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, InfocenterState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
@@ -6,20 +6,19 @@
|
||||
// VTABLE 0x100d6fb8
|
||||
// SIZE 0x140
|
||||
// Radio at 0x12c
|
||||
class Isle : public LegoWorld
|
||||
{
|
||||
class Isle : public LegoWorld {
|
||||
public:
|
||||
Isle();
|
||||
|
||||
// OFFSET: LEGO1 0x10030910
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0458
|
||||
return "Isle";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10030920
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Isle::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
@@ -4,18 +4,17 @@
|
||||
#include "legoactor.h"
|
||||
|
||||
// VTABLE 0x100d5178
|
||||
class IsleActor : public LegoActor
|
||||
{
|
||||
class IsleActor : public LegoActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000e660
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f07dc
|
||||
return "IsleActor";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000e670
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, IsleActor::ClassName()) || LegoActor::IsA(name);
|
||||
}
|
||||
|
@@ -44,7 +44,8 @@ IslePathActor::IslePathActor()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1001a280
|
||||
MxResult IslePathActor::InitFromMxDSObject(MxDSObject &p_dsObject) {
|
||||
MxResult IslePathActor::InitFromMxDSObject(MxDSObject& p_dsObject)
|
||||
{
|
||||
return MxEntity::InitFromMxDSObject(p_dsObject);
|
||||
}
|
||||
|
||||
|
@@ -7,32 +7,28 @@
|
||||
|
||||
// VTABLE 0x100d4398
|
||||
// SIZE 0x160
|
||||
class IslePathActor : public LegoPathActor
|
||||
{
|
||||
class IslePathActor : public LegoPathActor {
|
||||
public:
|
||||
IslePathActor();
|
||||
|
||||
// OFFSET: LEGO1 0x10002ea0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0104
|
||||
return "IslePathActor";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002eb0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, IslePathActor::ClassName()) || LegoPathActor::IsA(name);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002ff0 TEMPLATE
|
||||
// IslePathActor::`scalar deleting destructor'
|
||||
inline virtual ~IslePathActor() override
|
||||
{
|
||||
IslePathActor::Destroy(TRUE);
|
||||
}
|
||||
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); }
|
||||
|
||||
virtual MxResult InitFromMxDSObject(MxDSObject &p_dsObject) override; // vtable+0x18
|
||||
virtual MxResult InitFromMxDSObject(MxDSObject& p_dsObject) override; // vtable+0x18
|
||||
virtual void VTable0xcc(); // vtable+0xcc
|
||||
virtual void VTable0xd0(); // vtable+0xd0
|
||||
virtual void VTable0xd4(); // vtable+0xd4
|
||||
@@ -43,11 +39,11 @@ public:
|
||||
virtual void VTable0xe8(MxU32 p_1, MxBool p_2, MxU8 p_3); // vtable+0xe8
|
||||
virtual void VTable0xec(); // vtable+0xec
|
||||
|
||||
inline void SetWorld(LegoWorld *p_world) { m_pLegoWorld = p_world; }
|
||||
inline LegoWorld *GetWorld() { return m_pLegoWorld; }
|
||||
inline void SetWorld(LegoWorld* p_world) { m_pLegoWorld = p_world; }
|
||||
inline LegoWorld* GetWorld() { return m_pLegoWorld; }
|
||||
|
||||
private:
|
||||
LegoWorld *m_pLegoWorld; // 0x154
|
||||
LegoWorld* m_pLegoWorld; // 0x154
|
||||
MxFloat m_unk158;
|
||||
MxFloat m_unk15c;
|
||||
};
|
||||
|
@@ -6,27 +6,26 @@
|
||||
|
||||
// VTABLE 0x100d9ec8
|
||||
// SIZE 0x164
|
||||
class Jetski : public IslePathActor
|
||||
{
|
||||
class Jetski : public IslePathActor {
|
||||
public:
|
||||
Jetski();
|
||||
|
||||
// OFFSET: LEGO1 0x1007e430
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f03d8
|
||||
return "Jetski";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1007e440
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Jetski::ClassName()) || IslePathActor::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
// TODO: Jetski fields
|
||||
undefined m_unk160[4];
|
||||
};
|
||||
|
||||
|
||||
#endif // JETSKI_H
|
||||
|
@@ -5,19 +5,17 @@
|
||||
|
||||
// VTABLE 0x100d4fe8
|
||||
// SIZE 0x144
|
||||
class JetskiRace : public LegoRace
|
||||
{
|
||||
class JetskiRace : public LegoRace {
|
||||
public:
|
||||
|
||||
// OFFSET: LEGO1 0x1000daf0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0530
|
||||
return "JetskiRace";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000db00
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, JetskiRace::ClassName()) || LegoRace::IsA(name);
|
||||
}
|
||||
|
@@ -5,22 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d4fa8
|
||||
// SIZE 0x2c
|
||||
class JetskiRaceState : public RaceState
|
||||
{
|
||||
class JetskiRaceState : public RaceState {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000dc40
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f00ac
|
||||
return "JetskiRaceState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000dc50
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, JetskiRaceState::ClassName()) || RaceState::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // JETSKIRACESTATE_H
|
||||
|
@@ -5,24 +5,22 @@
|
||||
|
||||
// VTABLE 0x100d8958
|
||||
// SIZE 0x104
|
||||
class JukeBox : public LegoWorld
|
||||
{
|
||||
class JukeBox : public LegoWorld {
|
||||
public:
|
||||
JukeBox();
|
||||
|
||||
// OFFSET: LEGO1 0x1005d6f0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f02cc
|
||||
return "JukeBox";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1005d700
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, JukeBox::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // JUKEBOX_H
|
||||
|
@@ -5,25 +5,23 @@
|
||||
|
||||
// VTABLE 0x100da8a0
|
||||
// SIZE 0x6c
|
||||
class JukeBoxEntity : public LegoEntity
|
||||
{
|
||||
class JukeBoxEntity : public LegoEntity {
|
||||
public:
|
||||
JukeBoxEntity();
|
||||
virtual ~JukeBoxEntity() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x10085cc0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f02f0
|
||||
return "JukeBoxEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10085cd0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, JukeBoxEntity::ClassName()) || LegoEntity::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // JUKEBOXENTITY_H
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include "jukeboxstate.h"
|
||||
|
||||
// OFFSET: LEGO1 0x1000f300
|
||||
MxBool JukeBoxState::VTable0x14() {
|
||||
MxBool JukeBoxState::VTable0x14()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@@ -5,24 +5,22 @@
|
||||
|
||||
// VTABLE 0x100d4a90
|
||||
// SIZE 0x10
|
||||
class JukeBoxState : public LegoState
|
||||
{
|
||||
class JukeBoxState : public LegoState {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000f310
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f02bc
|
||||
return "JukeBoxState";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000f320
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, JukeBoxState::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
||||
virtual MxBool VTable0x14() override; // vtable+0x14
|
||||
|
||||
};
|
||||
|
||||
#endif // JUKEBOXSTATE_H
|
||||
|
@@ -3,15 +3,14 @@
|
||||
|
||||
#include "lego3dview.h"
|
||||
|
||||
class Lego3DManager
|
||||
{
|
||||
class Lego3DManager {
|
||||
public:
|
||||
inline Lego3DView *GetLego3DView() { return this->m_3dView; }
|
||||
inline Lego3DView* GetLego3DView() { return this->m_3dView; }
|
||||
|
||||
private:
|
||||
int m_unk00;
|
||||
int m_unk04;
|
||||
Lego3DView *m_3dView;
|
||||
Lego3DView* m_3dView;
|
||||
};
|
||||
|
||||
#endif // LEGO3DMANAGER_H
|
||||
|
@@ -3,14 +3,13 @@
|
||||
|
||||
#include "viewmanager.h"
|
||||
|
||||
class Lego3DView
|
||||
{
|
||||
class Lego3DView {
|
||||
public:
|
||||
inline ViewManager *GetViewManager() { return this->m_viewManager; }
|
||||
inline ViewManager* GetViewManager() { return this->m_viewManager; }
|
||||
|
||||
private:
|
||||
char unknown[0x88];
|
||||
ViewManager *m_viewManager;
|
||||
ViewManager* m_viewManager;
|
||||
};
|
||||
|
||||
#endif // LEGO3DVIEW_H
|
||||
|
@@ -5,18 +5,17 @@
|
||||
|
||||
// VTABLE 0x100d52b0
|
||||
// SIZE 0xa0
|
||||
class Lego3DWavePresenter : public LegoWavePresenter
|
||||
{
|
||||
class Lego3DWavePresenter : public LegoWavePresenter {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000d890
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f058c
|
||||
return "Lego3DWavePresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000d8a0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, Lego3DWavePresenter::ClassName()) || MxWavePresenter::IsA(name);
|
||||
}
|
||||
|
@@ -5,22 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d4a70
|
||||
// SIZE 0x10
|
||||
class LegoAct2State : public LegoState
|
||||
{
|
||||
class LegoAct2State : public LegoState {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000df80
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0428
|
||||
return "LegoAct2State";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000df90
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoAct2State::ClassName()) || LegoState::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOACT2STATE_H
|
||||
|
@@ -5,18 +5,17 @@
|
||||
|
||||
// VTABLE 0x100d5118
|
||||
// SIZE 0x68
|
||||
class LegoActionControlPresenter : public MxMediaPresenter
|
||||
{
|
||||
class LegoActionControlPresenter : public MxMediaPresenter {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000d0e0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f05bc
|
||||
return "LegoActionControlPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000d0f0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(name);
|
||||
}
|
||||
|
@@ -6,20 +6,19 @@
|
||||
|
||||
// VTABLE 0x100d6d68
|
||||
// SIZE 0x78
|
||||
class LegoActor : public LegoEntity
|
||||
{
|
||||
class LegoActor : public LegoEntity {
|
||||
public:
|
||||
LegoActor();
|
||||
|
||||
// OFFSET: LEGO1 0x1002d210
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0124
|
||||
return "LegoActor";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1002d220
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);
|
||||
}
|
||||
@@ -33,7 +32,6 @@ public:
|
||||
|
||||
private:
|
||||
undefined unk68[0x10];
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOACTOR_H
|
||||
|
@@ -5,18 +5,17 @@
|
||||
|
||||
// VTABLE 0x100d5320
|
||||
// SIZE 0x50
|
||||
class LegoActorPresenter : public LegoEntityPresenter
|
||||
{
|
||||
class LegoActorPresenter : public LegoEntityPresenter {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1000cb10
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f06a4
|
||||
return "LegoActorPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000cb20
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoActorPresenter::ClassName()) || LegoEntityPresenter::IsA(name);
|
||||
}
|
||||
|
@@ -3,8 +3,7 @@
|
||||
|
||||
#include "legopathactor.h"
|
||||
|
||||
class LegoAnimActor : public LegoPathActor
|
||||
{
|
||||
class LegoAnimActor : public LegoPathActor {
|
||||
public:
|
||||
};
|
||||
|
||||
|
@@ -34,7 +34,7 @@ void LegoAnimationManager::FUN_1005f6d0(MxBool p)
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100619f0 STUB
|
||||
MxLong LegoAnimationManager::Notify(MxParam &p)
|
||||
MxLong LegoAnimationManager::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,24 +5,23 @@
|
||||
|
||||
// VTABLE 0x100d8c18
|
||||
// SIZE 0x500
|
||||
class LegoAnimationManager : public MxCore
|
||||
{
|
||||
class LegoAnimationManager : public MxCore {
|
||||
public:
|
||||
LegoAnimationManager();
|
||||
virtual ~LegoAnimationManager() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
virtual MxResult Tickle() override; // vtable+0x8
|
||||
|
||||
// OFFSET: LEGO1 0x1005ec80
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f7508
|
||||
return "LegoAnimationManager";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1005ec90
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
@@ -33,7 +32,6 @@ public:
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOANIMATIONMANAGER_H
|
||||
|
@@ -5,24 +5,22 @@
|
||||
|
||||
// VTABLE 0x100d7de8
|
||||
// SIZE 0x74
|
||||
class LegoAnimMMPresenter : public MxCompositePresenter
|
||||
{
|
||||
class LegoAnimMMPresenter : public MxCompositePresenter {
|
||||
public:
|
||||
LegoAnimMMPresenter();
|
||||
|
||||
// OFFSET: LEGO1 0x1004a950
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f046c
|
||||
return "LegoAnimMMPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004a960
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoAnimMMPresenter::ClassName()) || MxCompositePresenter::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOANIMMMPRESENTER_H
|
||||
|
@@ -4,27 +4,25 @@
|
||||
#include "mxvideopresenter.h"
|
||||
|
||||
// VTABLE 0x100d90c8
|
||||
class LegoAnimPresenter : public MxVideoPresenter
|
||||
{
|
||||
class LegoAnimPresenter : public MxVideoPresenter {
|
||||
public:
|
||||
LegoAnimPresenter();
|
||||
|
||||
// OFFSET: LEGO1 0x10068530
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f071c
|
||||
return "LegoAnimPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10068540
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoAnimPresenter::ClassName()) || MxVideoPresenter::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOANIMPRESENTER_H
|
||||
|
@@ -1,18 +1,18 @@
|
||||
#include "legobackgroundcolor.h"
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legoomni.h"
|
||||
#include "legoutil.h"
|
||||
#include "legovideomanager.h"
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(LegoBackgroundColor, 0x30)
|
||||
|
||||
const char *g_delimiter = "\t";
|
||||
const char *g_set = "set";
|
||||
const char *g_reset = "reset";
|
||||
const char* g_delimiter = "\t";
|
||||
const char* g_set = "set";
|
||||
const char* g_reset = "reset";
|
||||
|
||||
// OFFSET: LEGO1 0x1003bfb0
|
||||
LegoBackgroundColor::LegoBackgroundColor(const char *p_key, const char *p_value)
|
||||
LegoBackgroundColor::LegoBackgroundColor(const char* p_key, const char* p_value)
|
||||
{
|
||||
m_key = p_key;
|
||||
m_key.ToUpperCase();
|
||||
@@ -20,18 +20,18 @@ LegoBackgroundColor::LegoBackgroundColor(const char *p_key, const char *p_value)
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1003c070
|
||||
void LegoBackgroundColor::SetValue(const char *p_colorString)
|
||||
void LegoBackgroundColor::SetValue(const char* p_colorString)
|
||||
{
|
||||
m_value = p_colorString;
|
||||
m_value.ToLowerCase();
|
||||
|
||||
LegoVideoManager *videomanager = VideoManager();
|
||||
LegoVideoManager* videomanager = VideoManager();
|
||||
if (!videomanager || !p_colorString)
|
||||
return;
|
||||
|
||||
float converted_r, converted_g, converted_b;
|
||||
char *colorStringCopy = strcpy(new char[strlen(p_colorString) + 1], p_colorString);
|
||||
char *colorStringSplit = strtok(colorStringCopy, g_delimiter);
|
||||
char* colorStringCopy = strcpy(new char[strlen(p_colorString) + 1], p_colorString);
|
||||
char* colorStringSplit = strtok(colorStringCopy, g_delimiter);
|
||||
|
||||
if (!strcmp(colorStringSplit, g_set)) {
|
||||
colorStringSplit = strtok(0, g_delimiter);
|
||||
|
@@ -5,11 +5,10 @@
|
||||
|
||||
// VTABLE 0x100d74a8
|
||||
// SIZE 0x30
|
||||
class LegoBackgroundColor : public MxVariable
|
||||
{
|
||||
class LegoBackgroundColor : public MxVariable {
|
||||
public:
|
||||
__declspec(dllexport) LegoBackgroundColor(const char *p_key, const char *p_value);
|
||||
virtual void SetValue(const char *p_colorString) override;
|
||||
__declspec(dllexport) LegoBackgroundColor(const char* p_key, const char* p_value);
|
||||
virtual void SetValue(const char* p_colorString) override;
|
||||
|
||||
private:
|
||||
float h;
|
||||
|
@@ -5,14 +5,13 @@
|
||||
|
||||
// VTABLE 0x100d6f50
|
||||
// SIZE 0x30
|
||||
class LegoBuildingManager : public MxCore
|
||||
{
|
||||
class LegoBuildingManager : public MxCore {
|
||||
public:
|
||||
LegoBuildingManager();
|
||||
virtual ~LegoBuildingManager() override;
|
||||
|
||||
// OFFSET: LEGO1 0x1002f930
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f37d0
|
||||
return "LegoBuildingManager";
|
||||
@@ -22,7 +21,6 @@ public:
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOBUILDINGMANAGER_H
|
||||
|
@@ -5,21 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d4718
|
||||
// SIZE 0x88
|
||||
class LegoCacheSound : public MxCore
|
||||
{
|
||||
class LegoCacheSound : public MxCore {
|
||||
public:
|
||||
LegoCacheSound();
|
||||
virtual ~LegoCacheSound() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x10006580
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f01c4
|
||||
return "LegoCacheSound";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10006590
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoCacheSound::ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
|
@@ -5,25 +5,23 @@
|
||||
|
||||
// VTABLE 0x100d57b0
|
||||
// SIZE 0xc8
|
||||
class LegoCameraController : public MxCore
|
||||
{
|
||||
class LegoCameraController : public MxCore {
|
||||
public:
|
||||
LegoCameraController();
|
||||
virtual ~LegoCameraController() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x10011ec0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0850
|
||||
return "LegoCameraController";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10011ed0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOCAMERACONTROLLER_H
|
||||
|
@@ -13,7 +13,7 @@ LegoCarBuild::~LegoCarBuild()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10024050 STUB
|
||||
MxLong LegoCarBuild::Notify(MxParam &p)
|
||||
MxLong LegoCarBuild::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
|
@@ -5,24 +5,23 @@
|
||||
|
||||
// VTABLE 0x100d6658
|
||||
// SIZE 0x34c
|
||||
class LegoCarBuild : public LegoWorld
|
||||
{
|
||||
class LegoCarBuild : public LegoWorld {
|
||||
public:
|
||||
LegoCarBuild();
|
||||
virtual ~LegoCarBuild() override;
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
virtual MxResult Tickle() override; // vtable+0x8
|
||||
|
||||
// OFFSET: LEGO1 0x10022940
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0504
|
||||
return "LegoCarBuild";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10022950
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoCarBuild::ClassName()) || LegoWorld::IsA(name);
|
||||
}
|
||||
|
@@ -5,21 +5,20 @@
|
||||
|
||||
// VTABLE 0x100d99e0
|
||||
// SIZE 0x150
|
||||
class LegoCarBuildAnimPresenter : public LegoAnimPresenter
|
||||
{
|
||||
class LegoCarBuildAnimPresenter : public LegoAnimPresenter {
|
||||
public:
|
||||
LegoCarBuildAnimPresenter();
|
||||
virtual ~LegoCarBuildAnimPresenter() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x10078510
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f05ec
|
||||
return "LegoCarBuildAnimPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10078520
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoCarBuildAnimPresenter::ClassName()) || LegoAnimPresenter::IsA(name);
|
||||
}
|
||||
|
@@ -4,18 +4,17 @@
|
||||
#include "legoraceactor.h"
|
||||
|
||||
// VTABLE 0x100da0d8
|
||||
class LegoCarRaceActor : public LegoRaceActor
|
||||
{
|
||||
class LegoCarRaceActor : public LegoRaceActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x10081650
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f0568
|
||||
return "LegoCarRaceActor";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10081670
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoCarRaceActor::ClassName()) || LegoRaceActor::IsA(name);
|
||||
}
|
||||
|
@@ -21,13 +21,13 @@ MxResult LegoControlManager::Tickle()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10028e10 STUB
|
||||
void LegoControlManager::Register(MxCore *p_listener)
|
||||
void LegoControlManager::Register(MxCore* p_listener)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10028ea0 STUB
|
||||
void LegoControlManager::Unregister(MxCore *p_listener)
|
||||
void LegoControlManager::Unregister(MxCore* p_listener)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
@@ -4,8 +4,7 @@
|
||||
#include "mxcore.h"
|
||||
|
||||
// VTABLE 0x100d6a80
|
||||
class LegoControlManager : public MxCore
|
||||
{
|
||||
class LegoControlManager : public MxCore {
|
||||
public:
|
||||
LegoControlManager();
|
||||
virtual ~LegoControlManager() override; // vtable+0x0
|
||||
@@ -13,20 +12,20 @@ public:
|
||||
virtual MxResult Tickle() override; // vtable+0x8
|
||||
|
||||
// OFFSET: LEGO1 0x10028cb0
|
||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||
inline virtual const char* ClassName() const override // vtable+0x0c
|
||||
{
|
||||
// 0x100f31b8
|
||||
return "LegoControlManager";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10028cc0
|
||||
inline virtual MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoControlManager::ClassName()) || MxCore::IsA(name);
|
||||
}
|
||||
|
||||
void Register(MxCore *p_listener);
|
||||
void Unregister(MxCore *p_listener);
|
||||
void Register(MxCore* p_listener);
|
||||
void Unregister(MxCore* p_listener);
|
||||
};
|
||||
|
||||
#endif // LEGOCONTROLMANAGER_H
|
||||
|
@@ -1,8 +1,8 @@
|
||||
#include "legoentity.h"
|
||||
|
||||
#include "define.h"
|
||||
#include "legoomni.h"
|
||||
#include "legoutil.h"
|
||||
#include "define.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(LegoEntity, 0x68)
|
||||
|
||||
@@ -13,7 +13,7 @@ LegoEntity::~LegoEntity()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100114f0 STUB
|
||||
MxLong LegoEntity::Notify(MxParam &p)
|
||||
MxLong LegoEntity::Notify(MxParam& p)
|
||||
{
|
||||
// TODO
|
||||
|
||||
@@ -37,7 +37,7 @@ void LegoEntity::Reset()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100107e0
|
||||
MxResult LegoEntity::InitFromMxDSObject(MxDSObject &p_dsObject)
|
||||
MxResult LegoEntity::InitFromMxDSObject(MxDSObject& p_dsObject)
|
||||
{
|
||||
m_mxEntityId = p_dsObject.GetObjectId();
|
||||
m_atom = p_dsObject.GetAtomId();
|
||||
@@ -60,14 +60,13 @@ void LegoEntity::Destroy(MxBool p_fromDestructor)
|
||||
void LegoEntity::AddToCurrentWorld()
|
||||
{
|
||||
LegoWorld* world = GetCurrentWorld();
|
||||
if (world != NULL && world != (LegoWorld*)this)
|
||||
{
|
||||
if (world != NULL && world != (LegoWorld*) this) {
|
||||
// TODO: world->vtable58(this);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10010e10
|
||||
void LegoEntity::ParseAction(char *p_extra)
|
||||
void LegoEntity::ParseAction(char* p_extra)
|
||||
{
|
||||
char copy[1024];
|
||||
char actionValue[1024];
|
||||
@@ -77,7 +76,7 @@ void LegoEntity::ParseAction(char *p_extra)
|
||||
m_actionType = MatchActionString(strtok(actionValue, g_parseExtraTokens));
|
||||
|
||||
if (m_actionType != ExtraActionType_exit) {
|
||||
char *token = strtok(NULL, g_parseExtraTokens);
|
||||
char* token = strtok(NULL, g_parseExtraTokens);
|
||||
|
||||
m_actionArgString = new char[strlen(token) + 1];
|
||||
strcpy(m_actionArgString, token);
|
||||
|
@@ -1,16 +1,15 @@
|
||||
#ifndef LEGOENTITY_H
|
||||
#define LEGOENTITY_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "extra.h"
|
||||
#include "mxdsobject.h"
|
||||
#include "mxentity.h"
|
||||
#include "mxvector.h"
|
||||
#include "extra.h"
|
||||
#include "decomp.h"
|
||||
#include "mxdsobject.h"
|
||||
|
||||
// VTABLE 0x100d4858
|
||||
// SIZE 0x68 (probably)
|
||||
class LegoEntity : public MxEntity
|
||||
{
|
||||
class LegoEntity : public MxEntity {
|
||||
public:
|
||||
// Inlined at 0x100853f7
|
||||
inline LegoEntity()
|
||||
@@ -20,24 +19,24 @@ public:
|
||||
|
||||
__declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0
|
||||
|
||||
virtual MxLong Notify(MxParam &p) override; // vtable+0x4
|
||||
virtual MxLong Notify(MxParam& p) override; // vtable+0x4
|
||||
|
||||
// OFFSET: LEGO1 0x1000c2f0
|
||||
inline const char *ClassName() const override // vtable+0xc
|
||||
inline const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x100f0064
|
||||
return "LegoEntity";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1000c300
|
||||
inline MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoEntity::ClassName()) || MxEntity::IsA(name);
|
||||
}
|
||||
|
||||
virtual MxResult InitFromMxDSObject(MxDSObject &p_dsObject); // vtable+0x18
|
||||
virtual MxResult InitFromMxDSObject(MxDSObject& p_dsObject); // vtable+0x18
|
||||
virtual void Destroy(MxBool p_fromDestructor); // vtable+0x1c
|
||||
virtual void ParseAction(char *); // vtable+0x20
|
||||
virtual void ParseAction(char*); // vtable+0x20
|
||||
virtual void VTable0x24(); // vtable+0x24
|
||||
virtual void VTable0x28(); // vtable+0x28
|
||||
virtual void VTable0x2c(); // vtable+0x2c
|
||||
@@ -67,7 +66,7 @@ protected:
|
||||
// For tokens from the extra string that look like this:
|
||||
// "Action:openram;\lego\scripts\Race\CarRaceR;0"
|
||||
ExtraActionType m_actionType; // 0x5c
|
||||
char *m_actionArgString; // 0x60
|
||||
char* m_actionArgString; // 0x60
|
||||
MxS32 m_actionArgNumber; // 0x64
|
||||
};
|
||||
|
||||
|
@@ -4,29 +4,26 @@
|
||||
#include "mxcompositepresenter.h"
|
||||
|
||||
// VTABLE 0x100d8398
|
||||
class LegoEntityPresenter : public MxCompositePresenter
|
||||
{
|
||||
class LegoEntityPresenter : public MxCompositePresenter {
|
||||
public:
|
||||
LegoEntityPresenter();
|
||||
virtual ~LegoEntityPresenter() override; // vtable+0x0
|
||||
|
||||
// OFFSET: LEGO1 0x100534b0
|
||||
inline const char *ClassName() const override // vtable+0xc
|
||||
inline const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x100f06b8
|
||||
return "LegoEntityPresenter";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100534c0
|
||||
inline MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoEntityPresenter::ClassName()) || MxCompositePresenter::IsA(name);
|
||||
}
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // LEGOENTITYPRESENTER_H
|
||||
|
@@ -4,18 +4,17 @@
|
||||
#include "legoanimactor.h"
|
||||
|
||||
// VTABLE 0x100d6c10
|
||||
class LegoExtraActor : public LegoAnimActor
|
||||
{
|
||||
class LegoExtraActor : public LegoAnimActor {
|
||||
public:
|
||||
// OFFSET: LEGO1 0x1002b7a0
|
||||
inline const char *ClassName() const override // vtable+0xc
|
||||
inline const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x100f3204
|
||||
return "LegoExtraActor";
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1002b7c0
|
||||
inline MxBool IsA(const char *name) const override // vtable+0x10
|
||||
inline MxBool IsA(const char* name) const override // vtable+0x10
|
||||
{
|
||||
return !strcmp(name, LegoExtraActor::ClassName()) || LegoAnimActor::IsA(name);
|
||||
}
|
||||
|
@@ -5,18 +5,16 @@
|
||||
|
||||
// VTABLE 0x100d89e0
|
||||
// SIZE 0x70
|
||||
class LegoFlcTexturePresenter : public MxFlcPresenter
|
||||
{
|
||||
class LegoFlcTexturePresenter : public MxFlcPresenter {
|
||||
public:
|
||||
LegoFlcTexturePresenter();
|
||||
|
||||
// OFFSET: LEGO1 0x1005def0
|
||||
inline const char *ClassName() const override // vtable+0xc
|
||||
inline const char* ClassName() const override // vtable+0xc
|
||||
{
|
||||
// 0x100f0634
|
||||
return "LegoFlcTexturePresenter";
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // LEGOFLCTEXTUREPRESENTER_H
|
||||
|
@@ -1,20 +1,20 @@
|
||||
#include "legofullscreenmovie.h"
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legoomni.h"
|
||||
#include "legovideomanager.h"
|
||||
#include "mxtypes.h"
|
||||
#include "decomp.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24)
|
||||
|
||||
// 0x100f3be8
|
||||
const char *g_str_enable = "enable";
|
||||
const char* g_str_enable = "enable";
|
||||
|
||||
// 0x100f3bf4
|
||||
const char *g_str_disable = "disable";
|
||||
const char* g_str_disable = "disable";
|
||||
|
||||
// OFFSET: LEGO1 0x1003c500
|
||||
LegoFullScreenMovie::LegoFullScreenMovie(const char *p_key, const char *p_value)
|
||||
LegoFullScreenMovie::LegoFullScreenMovie(const char* p_key, const char* p_value)
|
||||
{
|
||||
m_key = p_key;
|
||||
m_key.ToUpperCase();
|
||||
@@ -22,12 +22,12 @@ LegoFullScreenMovie::LegoFullScreenMovie(const char *p_key, const char *p_value)
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1003c5c0
|
||||
void LegoFullScreenMovie::SetValue(const char *p_option)
|
||||
void LegoFullScreenMovie::SetValue(const char* p_option)
|
||||
{
|
||||
m_value = p_option;
|
||||
m_value.ToLowerCase();
|
||||
|
||||
LegoVideoManager *videomanager = VideoManager();
|
||||
LegoVideoManager* videomanager = VideoManager();
|
||||
if (videomanager) {
|
||||
|
||||
if (!strcmp(m_value.GetData(), g_str_enable)) {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user