mirror of
https://github.com/isledecomp/isle.git
synced 2025-02-18 04:30:16 -05:00
Merge pull request #22 from foxtacles/isle-lego3dmanager
lego1/isle: Add Lego3DManager and related, fix a function signature
This commit is contained in:
commit
f9a93406a8
9 changed files with 70 additions and 12 deletions
|
@ -85,10 +85,7 @@ void Isle::close()
|
||||||
InputManager()->QueueEvent(KEYDOWN, 0, 0, 0, 0x20);
|
InputManager()->QueueEvent(KEYDOWN, 0, 0, 0, 0x20);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: Untangle
|
VideoManager()->Get3DManager()->GetLego3DView()->GetViewManager()->RemoveAll(NULL);
|
||||||
//VideoManager()->GetViewManager()->RemoveAll(NULL);
|
|
||||||
//ViewManager::RemoveAll
|
|
||||||
// (*(ViewManager **)(*(int *)(*(int *)(pLVar4 + 0x68) + 8) + 0x88), NULL);
|
|
||||||
|
|
||||||
long local_88 = 0;
|
long local_88 = 0;
|
||||||
Lego()->RemoveWorld(ds.m_atomId, local_88);
|
Lego()->RemoveWorld(ds.m_atomId, local_88);
|
||||||
|
@ -102,7 +99,7 @@ void Isle::close()
|
||||||
} while (lVar8 == 0);
|
} while (lVar8 == 0);
|
||||||
|
|
||||||
while (Lego()) {
|
while (Lego()) {
|
||||||
if (Lego()->vtable28(ds) != 0) {
|
if (Lego()->vtable28(ds) != MX_FALSE) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
17
LEGO1/lego3dmanager.h
Executable file
17
LEGO1/lego3dmanager.h
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#ifndef LEGO3DMANAGER_H
|
||||||
|
#define LEGO3DMANAGER_H
|
||||||
|
|
||||||
|
#include "lego3dview.h"
|
||||||
|
|
||||||
|
class Lego3DManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
inline Lego3DView *GetLego3DView() { return this->m_3dView; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
int m_unk00;
|
||||||
|
int m_unk04;
|
||||||
|
Lego3DView *m_3dView;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LEGO3DMANAGER_H
|
16
LEGO1/lego3dview.h
Executable file
16
LEGO1/lego3dview.h
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef LEGO3DVIEW_H
|
||||||
|
#define LEGO3DVIEW_H
|
||||||
|
|
||||||
|
#include "viewmanager.h"
|
||||||
|
|
||||||
|
class Lego3DView
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
inline ViewManager *GetViewManager() { return this->m_viewManager; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
char unknown[0x88];
|
||||||
|
ViewManager *m_viewManager;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LEGO3DVIEW_H
|
|
@ -11,3 +11,8 @@ LegoOmni *Lego()
|
||||||
{
|
{
|
||||||
return LegoOmni::GetInstance();
|
return LegoOmni::GetInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LegoVideoManager *VideoManager()
|
||||||
|
{
|
||||||
|
return LegoOmni::GetInstance()->GetVideoManager();
|
||||||
|
}
|
|
@ -28,6 +28,7 @@ class MxMusicManager;
|
||||||
class MxNotificationManager;
|
class MxNotificationManager;
|
||||||
class MxSoundManager;
|
class MxSoundManager;
|
||||||
|
|
||||||
|
// class LegoOmni : public MxOmni
|
||||||
class LegoOmni
|
class LegoOmni
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -48,7 +49,7 @@ public:
|
||||||
virtual void vtable1c();
|
virtual void vtable1c();
|
||||||
virtual void vtable20();
|
virtual void vtable20();
|
||||||
virtual void vtable24(MxDSAction &ds);
|
virtual void vtable24(MxDSAction &ds);
|
||||||
virtual int vtable28(MxDSAction &ds);
|
virtual MxBool vtable28(MxDSAction &ds);
|
||||||
virtual void vtable2c();
|
virtual void vtable2c();
|
||||||
virtual void vtable30();
|
virtual void vtable30();
|
||||||
virtual void vtable34();
|
virtual void vtable34();
|
||||||
|
@ -56,6 +57,7 @@ public:
|
||||||
virtual void vtable3c();
|
virtual void vtable3c();
|
||||||
virtual unsigned char vtable40();
|
virtual unsigned char vtable40();
|
||||||
|
|
||||||
|
LegoVideoManager *GetVideoManager() { return m_videoMgr; }
|
||||||
LegoInputManager *GetInputManager() { return m_inputMgr; }
|
LegoInputManager *GetInputManager() { return m_inputMgr; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -69,7 +71,7 @@ private:
|
||||||
int m_unk20;
|
int m_unk20;
|
||||||
int m_unk24;
|
int m_unk24;
|
||||||
int m_unk28;
|
int m_unk28;
|
||||||
int m_unk2c;
|
LegoVideoManager *m_videoMgr;
|
||||||
int m_unk30;
|
int m_unk30;
|
||||||
int m_unk34;
|
int m_unk34;
|
||||||
int m_unk38;
|
int m_unk38;
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
#ifndef LEGOVIDEOMANAGER_H
|
#ifndef LEGOVIDEOMANAGER_H
|
||||||
#define LEGOVIDEOMANAGER_H
|
#define LEGOVIDEOMANAGER_H
|
||||||
|
|
||||||
|
#include "lego3dmanager.h"
|
||||||
|
|
||||||
|
// class LegoVideoManager : public MxVideoManager
|
||||||
class LegoVideoManager
|
class LegoVideoManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
__declspec(dllexport) int EnableRMDevice();
|
__declspec(dllexport) int EnableRMDevice();
|
||||||
|
|
||||||
__declspec(dllexport) int DisableRMDevice();
|
__declspec(dllexport) int DisableRMDevice();
|
||||||
|
|
||||||
__declspec(dllexport) void EnableFullScreenMovie(unsigned char a, unsigned char b);
|
__declspec(dllexport) void EnableFullScreenMovie(unsigned char a, unsigned char b);
|
||||||
|
|
||||||
__declspec(dllexport) void MoveCursor(int x, int y);
|
__declspec(dllexport) void MoveCursor(int x, int y);
|
||||||
|
|
||||||
|
inline Lego3DManager *Get3DManager() { return this->m_3dManager; }
|
||||||
|
|
||||||
int m_unk00;
|
int m_unk00;
|
||||||
int m_unk04;
|
int m_unk04;
|
||||||
int m_unk08;
|
int m_unk08;
|
||||||
|
@ -38,11 +40,10 @@ public:
|
||||||
int m_unk5c;
|
int m_unk5c;
|
||||||
int m_unk60;
|
int m_unk60;
|
||||||
int m_unk64;
|
int m_unk64;
|
||||||
int m_unk68;
|
Lego3DManager *m_3dManager;
|
||||||
int m_unk6c;
|
int m_unk6c;
|
||||||
int m_unk70;
|
int m_unk70;
|
||||||
int *m_unk74;
|
int *m_unk74;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LEGOVIDEOMANAGER_H
|
#endif // LEGOVIDEOMANAGER_H
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef VIEWMANAGER_H
|
#ifndef VIEWMANAGER_H
|
||||||
#define VIEWMANAGER_H
|
#define VIEWMANAGER_H
|
||||||
|
|
||||||
|
class ViewROI;
|
||||||
|
|
||||||
class ViewManager
|
class ViewManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
18
isle.mak
18
isle.mak
|
@ -485,6 +485,8 @@ SOURCE=.\LEGO1\dllmain.cpp
|
||||||
|
|
||||||
SOURCE=.\LEGO1\legoomni.cpp
|
SOURCE=.\LEGO1\legoomni.cpp
|
||||||
DEP_CPP_LEGOO=\
|
DEP_CPP_LEGOO=\
|
||||||
|
".\LEGO1\lego3dmanager.h"\
|
||||||
|
".\LEGO1\lego3dview.h"\
|
||||||
".\LEGO1\legoanimationmanager.h"\
|
".\LEGO1\legoanimationmanager.h"\
|
||||||
".\LEGO1\legobuildingmanager.h"\
|
".\LEGO1\legobuildingmanager.h"\
|
||||||
".\LEGO1\legoentity.h"\
|
".\LEGO1\legoentity.h"\
|
||||||
|
@ -518,6 +520,7 @@ DEP_CPP_LEGOO=\
|
||||||
".\LEGO1\mxvariabletable.h"\
|
".\LEGO1\mxvariabletable.h"\
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
".\LEGO1\mxvideoparamflags.h"\
|
".\LEGO1\mxvideoparamflags.h"\
|
||||||
|
".\LEGO1\viewmanager.h"\
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\legoomni.obj" : $(SOURCE) $(DEP_CPP_LEGOO) "$(INTDIR)"
|
"$(INTDIR)\legoomni.obj" : $(SOURCE) $(DEP_CPP_LEGOO) "$(INTDIR)"
|
||||||
|
@ -578,10 +581,14 @@ DEP_CPP_MXOMN=\
|
||||||
".\LEGO1\mxomnicreateflags.h"\
|
".\LEGO1\mxomnicreateflags.h"\
|
||||||
".\LEGO1\mxomnicreateparam.h"\
|
".\LEGO1\mxomnicreateparam.h"\
|
||||||
".\LEGO1\mxomnicreateparambase.h"\
|
".\LEGO1\mxomnicreateparambase.h"\
|
||||||
|
".\LEGO1\mxpalette.h"\
|
||||||
|
".\LEGO1\mxrect32.h"\
|
||||||
".\LEGO1\mxresult.h"\
|
".\LEGO1\mxresult.h"\
|
||||||
".\LEGO1\mxstring.h"\
|
".\LEGO1\mxstring.h"\
|
||||||
".\LEGO1\mxtimer.h"\
|
".\LEGO1\mxtimer.h"\
|
||||||
|
".\LEGO1\mxvariabletable.h"\
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
|
".\LEGO1\mxvideoparamflags.h"\
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\mxomni.obj" : $(SOURCE) $(DEP_CPP_MXOMN) "$(INTDIR)"
|
"$(INTDIR)\mxomni.obj" : $(SOURCE) $(DEP_CPP_MXOMN) "$(INTDIR)"
|
||||||
|
@ -625,8 +632,12 @@ DEP_CPP_MXOMNI=\
|
||||||
".\LEGO1\mxomnicreateflags.h"\
|
".\LEGO1\mxomnicreateflags.h"\
|
||||||
".\LEGO1\mxomnicreateparam.h"\
|
".\LEGO1\mxomnicreateparam.h"\
|
||||||
".\LEGO1\mxomnicreateparambase.h"\
|
".\LEGO1\mxomnicreateparambase.h"\
|
||||||
|
".\LEGO1\mxpalette.h"\
|
||||||
|
".\LEGO1\mxrect32.h"\
|
||||||
".\LEGO1\mxstring.h"\
|
".\LEGO1\mxstring.h"\
|
||||||
|
".\LEGO1\mxvariabletable.h"\
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
|
".\LEGO1\mxvideoparamflags.h"\
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\mxomnicreateparam.obj" : $(SOURCE) $(DEP_CPP_MXOMNI) "$(INTDIR)"
|
"$(INTDIR)\mxomnicreateparam.obj" : $(SOURCE) $(DEP_CPP_MXOMNI) "$(INTDIR)"
|
||||||
|
@ -644,8 +655,12 @@ DEP_CPP_MXOMNIC=\
|
||||||
".\LEGO1\mxomnicreateflags.h"\
|
".\LEGO1\mxomnicreateflags.h"\
|
||||||
".\LEGO1\mxomnicreateparam.h"\
|
".\LEGO1\mxomnicreateparam.h"\
|
||||||
".\LEGO1\mxomnicreateparambase.h"\
|
".\LEGO1\mxomnicreateparambase.h"\
|
||||||
|
".\LEGO1\mxpalette.h"\
|
||||||
|
".\LEGO1\mxrect32.h"\
|
||||||
".\LEGO1\mxstring.h"\
|
".\LEGO1\mxstring.h"\
|
||||||
|
".\LEGO1\mxvariabletable.h"\
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
|
".\LEGO1\mxvideoparamflags.h"\
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\mxomnicreateparambase.obj" : $(SOURCE) $(DEP_CPP_MXOMNIC)\
|
"$(INTDIR)\mxomnicreateparambase.obj" : $(SOURCE) $(DEP_CPP_MXOMNIC)\
|
||||||
|
@ -732,6 +747,8 @@ DEP_CPP_ISLE_=\
|
||||||
".\ISLE\define.h"\
|
".\ISLE\define.h"\
|
||||||
".\ISLE\isle.h"\
|
".\ISLE\isle.h"\
|
||||||
".\ISLE\res\resource.h"\
|
".\ISLE\res\resource.h"\
|
||||||
|
".\LEGO1\lego3dmanager.h"\
|
||||||
|
".\LEGO1\lego3dview.h"\
|
||||||
".\LEGO1\legoanimationmanager.h"\
|
".\LEGO1\legoanimationmanager.h"\
|
||||||
".\LEGO1\legobuildingmanager.h"\
|
".\LEGO1\legobuildingmanager.h"\
|
||||||
".\LEGO1\legoentity.h"\
|
".\LEGO1\legoentity.h"\
|
||||||
|
@ -767,6 +784,7 @@ DEP_CPP_ISLE_=\
|
||||||
".\LEGO1\mxvariabletable.h"\
|
".\LEGO1\mxvariabletable.h"\
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
".\LEGO1\mxvideoparamflags.h"\
|
".\LEGO1\mxvideoparamflags.h"\
|
||||||
|
".\LEGO1\viewmanager.h"\
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\isle.obj" : $(SOURCE) $(DEP_CPP_ISLE_) "$(INTDIR)"
|
"$(INTDIR)\isle.obj" : $(SOURCE) $(DEP_CPP_ISLE_) "$(INTDIR)"
|
||||||
|
|
BIN
isle.mdp
BIN
isle.mdp
Binary file not shown.
Loading…
Reference in a new issue