From 5c440b58787186163897a4618a64143367a198a9 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Mon, 19 Jun 2023 10:34:58 +0200 Subject: [PATCH] lego1: implement more of LegoNavController (#16) * implement more of LegoNavController * merge * use MX_FALSE * file file perms * added Timer(), GetTime to LegoNavController * add a comment about SetControlMax * remove colon * add commented out dtor * revert inheritance for now so we don't accidentally break the interface to ISLE.exe later * add missing include * update project files * update project files * fix main.cpp * add offsets * update project files * fix line endings * fix a bug thanks to ASM checker * add addr for Timer() * updated project file --- LEGO1/legonavcontroller.cpp | 159 ++++++++++++++++++++++++++++++++---- LEGO1/legonavcontroller.h | 31 +++++-- LEGO1/legoomni.h | 1 - LEGO1/legoutil.h | 10 +++ LEGO1/mxomni.cpp | 6 ++ LEGO1/mxomni.h | 3 +- isle.mak | 159 +++++++++++++++++++++++++++++++++--- isle.mdp | Bin 47104 -> 49152 bytes 8 files changed, 334 insertions(+), 35 deletions(-) create mode 100644 LEGO1/legoutil.h diff --git a/LEGO1/legonavcontroller.cpp b/LEGO1/legonavcontroller.cpp index aaea52e6..6f032701 100644 --- a/LEGO1/legonavcontroller.cpp +++ b/LEGO1/legonavcontroller.cpp @@ -1,22 +1,38 @@ #include "legonavcontroller.h" -int g_mouseDeadzone = 40; -float g_zeroThreshold = 0.001f; -float g_movementMaxSpeed = 40.0f; -float g_turnMaxSpeed = 20.0f; -float g_movementMaxAccel = 15.0f; -float g_turnMaxAccel = 30.0f; -float g_movementMinAccel = 4.0f; -float g_turnMinAccel = 15.0f; -float g_movementDecel = 50.0f; -float g_turnDecel = 50.0f; -float g_rotationSensitivity = 0.4f; -MxBool g_turnUseVelocity = 0; +#include "legoomni.h" +#include "legoutil.h" +// 0x100f4c28 +int g_mouseDeadzone = 40; +// 0x100f4c2c +float g_zeroThreshold = 0.001f; +// 0x100f4c30 +float g_movementMaxSpeed = 40.0f; +// 0x100f4c34 +float g_turnMaxSpeed = 20.0f; +// 0x100f4c38 +float g_movementMaxAccel = 15.0f; +// 0x100f4c3c +float g_turnMaxAccel = 30.0f; +// 0x100f4c40 +float g_movementMinAccel = 4.0f; +// 0x100f4c44 +float g_turnMinAccel = 15.0f; +// 0x100f4c48 +float g_movementDecel = 50.0f; +// 0x100f4c4c +float g_turnDecel = 50.0f; +// 0x100f4c50 +float g_turnSensitivity = 0.4f; +// 0x100f4c54 +MxBool g_turnUseVelocity = MX_FALSE; + +// OFFSET: LEGO1 0x10054d40 void LegoNavController::GetDefaults(int *p_mouseDeadzone, float *p_movementMaxSpeed, float *p_turnMaxSpeed, float *p_movementMaxAccel, float *p_turnMaxAccel, float *p_movementDecel, float *p_turnDecel, float *p_movementMinAccel, float *p_turnMinAccel, - float *p_rotationSensitivity, MxBool *p_turnUseVelocity) + float *p_turnSensitivity, MxBool *p_turnUseVelocity) { *p_mouseDeadzone = g_mouseDeadzone; *p_movementMaxSpeed = g_movementMaxSpeed; @@ -27,14 +43,15 @@ void LegoNavController::GetDefaults(int *p_mouseDeadzone, float *p_movementMaxSp *p_turnDecel = g_turnDecel; *p_movementMinAccel = g_movementMinAccel; *p_turnMinAccel = g_turnMinAccel; - *p_rotationSensitivity = g_rotationSensitivity; + *p_turnSensitivity = g_turnSensitivity; *p_turnUseVelocity = g_turnUseVelocity; } +// OFFSET: LEGO1 0x10054dd0 void LegoNavController::SetDefaults(int p_mouseDeadzone, float p_movementMaxSpeed, float p_turnMaxSpeed, float p_movementMaxAccel, float p_turnMaxAccel, float p_movementDecel, float p_turnDecel, float p_movementMinAccel, float p_turnMinAccel, - float p_rotationSensitivity, MxBool p_turnUseVelocity) + float p_turnSensitivity, MxBool p_turnUseVelocity) { g_mouseDeadzone = p_mouseDeadzone; g_movementMaxSpeed = p_movementMaxSpeed; @@ -45,10 +62,62 @@ void LegoNavController::SetDefaults(int p_mouseDeadzone, float p_movementMaxSpee g_turnDecel = p_turnDecel; g_movementMinAccel = p_movementMinAccel; g_turnMinAccel = p_turnMinAccel; - g_rotationSensitivity = p_rotationSensitivity; + g_turnSensitivity = p_turnSensitivity; g_turnUseVelocity = p_turnUseVelocity; } +// OFFSET: LEGO1 0x10054ac0 +LegoNavController::LegoNavController() +{ + ResetToDefault(); + + this->unk_18 = 0.0f; + this->unk_1C = 0.0f; + this->m_targetMovementSpeed = 0.0f; + this->m_targetTurnSpeed = 0.0f; + this->m_movementAccel = 0.0f; + this->m_turnAccel = 0.0f; + this->m_trackDefault = MX_FALSE; + this->m_unk5D = MX_FALSE; + this->m_unk6C = MX_FALSE; + this->m_unk64 = 0; + this->m_unk68 = 0; + this->m_unk60 = 0; + + MxTimer *timer = Timer(); + this->m_time = timer->GetTime(); + + // TODO: InputManager() + // LegoInputManager* inputManager = InputManager(); + // inputManager->Register(this); +} + +// TODO: InputManager() +// OFFSET: LEGO1 0x10054c30 +// LegoNavController::~LegoNavController() +// { +// LegoInputManager* inputManager = InputManager(); +// inputManager->UnRegister(this); +// } + +// TODO: VideoManager() +// OFFSET: LEGO1 0x10054ca0 +// void LegoNavController::SetControlMax(int p_hMax, int p_vMax) +// { +// LegoVideoManager* videoManager = VideoManager(); + +// this->m_hMax = p_hMax; +// this->m_vMax = p_vMax; + +// Probably checks for MxVideoParamFlags: FULL_SCREEN +// if ((videoManager->m_unk44 & 0x01) != 0) +// { +// this->m_hMax = 640; +// this->m_vMax = 480; +// } +// } + +// OFFSET: LEGO1 0x10054cd0 void LegoNavController::ResetToDefault() { this->m_mouseDeadzone = g_mouseDeadzone; @@ -62,5 +131,61 @@ void LegoNavController::ResetToDefault() this->m_turnMaxSpeed = g_turnMaxSpeed; this->m_movementMaxSpeed = g_movementMaxSpeed; this->m_turnUseVelocity = g_turnUseVelocity; - this->m_rotationSensitivity = g_rotationSensitivity; + this->m_turnSensitivity = g_turnSensitivity; +} + +// OFFSET: LEGO1 0x10054e40 +void LegoNavController::SetTargets(int p_hPos, int p_vPos, MxBool p_accel) +{ + if (this->m_trackDefault != MX_FALSE) + { + ResetToDefault(); + } + + if (p_accel != MX_FALSE) + { + this->m_targetTurnSpeed = CalculateNewTargetSpeed(p_hPos, this->m_hMax / 2, this->m_turnMaxSpeed); + this->m_targetMovementSpeed = CalculateNewTargetSpeed(this->m_vMax - p_vPos, this->m_vMax / 2, this->m_movementMaxSpeed); + this->m_turnAccel = CalculateNewAccel(p_hPos, this->m_hMax / 2, this->m_turnMaxAccel, (int)this->m_turnMinAccel); + this->m_movementAccel = CalculateNewAccel(this->m_vMax - p_vPos, this->m_vMax / 2, this->m_movementMaxAccel, (int)this->m_movementMinAccel); + } + else + { + this->m_targetTurnSpeed = 0.0f; + this->m_targetMovementSpeed = 0.0f; + this->m_movementAccel = this->m_movementDecel; + this->m_turnAccel = this->m_turnDecel; + } +} + +// OFFSET: LEGO1 0x10054f10 +float LegoNavController::CalculateNewTargetSpeed(int p_pos, int p_center, float p_maxSpeed) +{ + float result; + int diff = p_pos - p_center; + + if (diff > this->m_mouseDeadzone) + result = (diff - m_mouseDeadzone) * p_maxSpeed / (p_center - m_mouseDeadzone); + else if (diff < -m_mouseDeadzone) + result = (diff + m_mouseDeadzone) * p_maxSpeed / (p_center - m_mouseDeadzone); + else + result = 0.0f; + + return result; +} + +// OFFSET: LEGO1 0x10054f90 +float LegoNavController::CalculateNewAccel(int p_pos, int p_center, float p_maxAccel, int p_minAccel) +{ + float result; + int diff = p_pos - p_center; + + result = Abs(diff) * p_maxAccel / p_center; + + if (result < p_minAccel) + { + result = (float)p_minAccel; + } + + return result; } \ No newline at end of file diff --git a/LEGO1/legonavcontroller.h b/LEGO1/legonavcontroller.h index 84be9b62..de762dfd 100644 --- a/LEGO1/legonavcontroller.h +++ b/LEGO1/legonavcontroller.h @@ -3,6 +3,7 @@ #include "mxcore.h" #include "mxbool.h" +#include "mxtimer.h" class LegoNavController : public MxCore { @@ -15,25 +16,45 @@ class LegoNavController : public MxCore float p_movementMaxAccel, float p_turnMaxAccel, float p_movementDecel, float p_turnDecel, float p_movementMinAccel, float p_turnMinAccel, float p_rotationSensitivity, MxBool p_turnUseVelocity); + + LegoNavController(); + // virtual ~LegoNavController(); + + // void SetControlMax(int p_hMax, int p_vMax); void ResetToDefault(); + void SetTargets(int p_hPos, int p_vPos, MxBool p_accel); + float CalculateNewTargetSpeed(int p_pos, int p_center, float p_maxSpeed); + float CalculateNewAccel(int p_pos, int p_center, float p_maxAccel, int p_minAccel); private: - int unk_08; // known to be set to window width: 640 (default) - int unk_0C; // known to be set to window height: 480 (default) + int m_hMax; + int m_vMax; int m_mouseDeadzone; float m_zeroThreshold; - int unk_18[4]; + float unk_18; + float unk_1C; + float m_targetMovementSpeed; + float m_targetTurnSpeed; float m_movementMaxSpeed; float m_turnMaxSpeed; - int unk_30[2]; + float m_movementAccel; + float m_turnAccel; float m_movementMaxAccel; float m_turnMaxAccel; float m_movementMinAccel; float m_turnMinAccel; float m_movementDecel; float m_turnDecel; - float m_rotationSensitivity; + float m_turnSensitivity; MxBool m_turnUseVelocity; + int m_time; + MxBool m_trackDefault; + MxBool m_unk5D; + char m_unk5E[2]; + int m_unk60; + int m_unk64; + int m_unk68; + MxBool m_unk6C; }; #endif // LEGONAVCONTROLLER_H diff --git a/LEGO1/legoomni.h b/LEGO1/legoomni.h index 2b28e820..10f05665 100644 --- a/LEGO1/legoomni.h +++ b/LEGO1/legoomni.h @@ -80,7 +80,6 @@ __declspec(dllexport) LegoSoundManager * SoundManager(); __declspec(dllexport) long Start(MxDSAction *); __declspec(dllexport) MxStreamer * Streamer(); __declspec(dllexport) MxTickleManager * TickleManager(); -__declspec(dllexport) MxTimer * Timer(); __declspec(dllexport) MxTransitionManager * TransitionManager(); __declspec(dllexport) MxVariableTable * VariableTable(); __declspec(dllexport) LegoVideoManager * VideoManager(); diff --git a/LEGO1/legoutil.h b/LEGO1/legoutil.h new file mode 100644 index 00000000..440b01d0 --- /dev/null +++ b/LEGO1/legoutil.h @@ -0,0 +1,10 @@ +#ifndef LEGOUTIL_H +#define LEGOUTIL_H + +template +inline T Abs(T p_t) +{ + return p_t < 0 ? -p_t : p_t; +} + +#endif // LEGOUTIL_H \ No newline at end of file diff --git a/LEGO1/mxomni.cpp b/LEGO1/mxomni.cpp index 67b23000..7268224f 100644 --- a/LEGO1/mxomni.cpp +++ b/LEGO1/mxomni.cpp @@ -65,3 +65,9 @@ long MxOmni::Notify(MxParam &p) // FIXME: Stub return 0; } + +// OFFSET: LEGO1 0x100aced0 +MxTimer *Timer() +{ + return MxOmni::GetInstance()->GetTimer(); +} diff --git a/LEGO1/mxomni.h b/LEGO1/mxomni.h index a8d6e10e..8b794ebe 100644 --- a/LEGO1/mxomni.h +++ b/LEGO1/mxomni.h @@ -58,7 +58,8 @@ class MxOmni : public MxCore MxCriticalSection m_criticalsection; // 0x48 int m_unk64; // 0x64 - }; +__declspec(dllexport) MxTimer * Timer(); + #endif // MXOMNI_H diff --git a/isle.mak b/isle.mak index 1672552e..20480ff7 100644 --- a/isle.mak +++ b/isle.mak @@ -472,8 +472,11 @@ DEP_CPP_MXCOR=\ # Begin Source File SOURCE=.\LEGO1\dllmain.cpp +DEP_CPP_DLLMA=\ + ".\LEGO1\legoinc.h"\ + -"$(INTDIR)\dllmain.obj" : $(SOURCE) "$(INTDIR)" +"$(INTDIR)\dllmain.obj" : $(SOURCE) $(DEP_CPP_DLLMA) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) @@ -485,30 +488,34 @@ SOURCE=.\LEGO1\legoomni.cpp DEP_CPP_LEGOO=\ ".\LEGO1\lego3dmanager.h"\ ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legoanimationmanager.h"\ - ".\LEGO1\legobuildingmanager.h"\ ".\LEGO1\legoentity.h"\ ".\LEGO1\legogamestate.h"\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\legoinputmanager.h"\ - ".\LEGO1\legomodelpresenter.h"\ + ".\LEGO1\legonavcontroller.h"\ ".\LEGO1\legoomni.h"\ - ".\LEGO1\legopartpresenter.h"\ ".\LEGO1\legoroi.h"\ ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\legoworldpresenter.h"\ ".\LEGO1\mxatomid.h"\ ".\LEGO1\mxbackgroundaudiomanager.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ ".\LEGO1\mxdsaction.h"\ ".\LEGO1\mxdsfile.h"\ ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ + ".\LEGO1\mxomni.h"\ ".\LEGO1\mxomnicreateflags.h"\ ".\LEGO1\mxomnicreateparam.h"\ ".\LEGO1\mxomnicreateparambase.h"\ ".\LEGO1\mxpalette.h"\ ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ ".\LEGO1\mxstreamcontroller.h"\ ".\LEGO1\mxstreamer.h"\ ".\LEGO1\mxstring.h"\ @@ -516,6 +523,7 @@ DEP_CPP_LEGOO=\ ".\LEGO1\mxtimer.h"\ ".\LEGO1\mxtransitionmanager.h"\ ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideomanager.h"\ ".\LEGO1\mxvideoparam.h"\ ".\LEGO1\mxvideoparamflags.h"\ ".\LEGO1\viewmanager.h"\ @@ -531,6 +539,7 @@ DEP_CPP_LEGOO=\ SOURCE=.\LEGO1\mxcriticalsection.cpp DEP_CPP_MXCRI=\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\mxcriticalsection.h"\ @@ -544,6 +553,7 @@ DEP_CPP_MXCRI=\ SOURCE=.\LEGO1\mxautolocker.cpp DEP_CPP_MXAUT=\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\mxautolocker.h"\ ".\LEGO1\mxcriticalsection.h"\ @@ -558,6 +568,7 @@ DEP_CPP_MXAUT=\ SOURCE=.\LEGO1\mxtimer.cpp DEP_CPP_MXTIM=\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ ".\LEGO1\mxtimer.h"\ @@ -573,8 +584,15 @@ DEP_CPP_MXTIM=\ SOURCE=.\LEGO1\mxomni.cpp DEP_CPP_MXOMN=\ + ".\LEGO1\legoinc.h"\ + ".\LEGO1\mxatomid.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ ".\LEGO1\mxomni.h"\ ".\LEGO1\mxomnicreateflags.h"\ ".\LEGO1\mxomnicreateparam.h"\ @@ -582,9 +600,14 @@ DEP_CPP_MXOMN=\ ".\LEGO1\mxpalette.h"\ ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ + ".\LEGO1\mxstreamcontroller.h"\ + ".\LEGO1\mxstreamer.h"\ ".\LEGO1\mxstring.h"\ + ".\LEGO1\mxticklemanager.h"\ ".\LEGO1\mxtimer.h"\ ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideomanager.h"\ ".\LEGO1\mxvideoparam.h"\ ".\LEGO1\mxvideoparamflags.h"\ @@ -599,6 +622,7 @@ DEP_CPP_MXOMN=\ SOURCE=.\LEGO1\mxvideoparam.cpp DEP_CPP_MXVID=\ + ".\LEGO1\mxbool.h"\ ".\LEGO1\mxpalette.h"\ ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxvariabletable.h"\ @@ -616,6 +640,7 @@ DEP_CPP_MXVID=\ SOURCE=.\LEGO1\mxvideoparamflags.cpp DEP_CPP_MXVIDE=\ + ".\LEGO1\mxbool.h"\ ".\LEGO1\mxvideoparamflags.h"\ @@ -629,6 +654,7 @@ DEP_CPP_MXVIDE=\ SOURCE=.\LEGO1\mxomnicreateparam.cpp DEP_CPP_MXOMNI=\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ ".\LEGO1\mxomnicreateflags.h"\ @@ -652,6 +678,7 @@ DEP_CPP_MXOMNI=\ SOURCE=.\LEGO1\mxomnicreateparambase.cpp DEP_CPP_MXOMNIC=\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ ".\LEGO1\mxomnicreateflags.h"\ @@ -705,9 +732,48 @@ DEP_CPP_MXOMNICR=\ SOURCE=.\LEGO1\legonavcontroller.cpp DEP_CPP_LEGON=\ + ".\LEGO1\lego3dmanager.h"\ + ".\LEGO1\lego3dview.h"\ + ".\LEGO1\legoentity.h"\ + ".\LEGO1\legogamestate.h"\ + ".\LEGO1\legoinc.h"\ + ".\LEGO1\legoinputmanager.h"\ ".\LEGO1\legonavcontroller.h"\ + ".\LEGO1\legoomni.h"\ + ".\LEGO1\legoroi.h"\ + ".\LEGO1\legoutil.h"\ + ".\LEGO1\legovideomanager.h"\ + ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbackgroundaudiomanager.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ + ".\LEGO1\mxdsaction.h"\ + ".\LEGO1\mxdsfile.h"\ + ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ + ".\LEGO1\mxomni.h"\ + ".\LEGO1\mxomnicreateflags.h"\ + ".\LEGO1\mxomnicreateparam.h"\ + ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ + ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ + ".\LEGO1\mxstreamcontroller.h"\ + ".\LEGO1\mxstreamer.h"\ + ".\LEGO1\mxstring.h"\ + ".\LEGO1\mxticklemanager.h"\ + ".\LEGO1\mxtimer.h"\ + ".\LEGO1\mxtransitionmanager.h"\ + ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideomanager.h"\ + ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ + ".\LEGO1\viewmanager.h"\ "$(INTDIR)\legonavcontroller.obj" : $(SOURCE) $(DEP_CPP_LEGON) "$(INTDIR)" @@ -755,8 +821,10 @@ DEP_CPP_ISLE_=\ ".\LEGO1\legobuildingmanager.h"\ ".\LEGO1\legoentity.h"\ ".\LEGO1\legogamestate.h"\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\legoinputmanager.h"\ ".\LEGO1\legomodelpresenter.h"\ + ".\LEGO1\legonavcontroller.h"\ ".\LEGO1\legoomni.h"\ ".\LEGO1\legopartpresenter.h"\ ".\LEGO1\legoroi.h"\ @@ -766,10 +834,15 @@ DEP_CPP_ISLE_=\ ".\LEGO1\mxbackgroundaudiomanager.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ ".\LEGO1\mxdirectdraw.h"\ ".\LEGO1\mxdsaction.h"\ ".\LEGO1\mxdsfile.h"\ ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ ".\LEGO1\mxomni.h"\ ".\LEGO1\mxomnicreateflags.h"\ ".\LEGO1\mxomnicreateparam.h"\ @@ -777,6 +850,7 @@ DEP_CPP_ISLE_=\ ".\LEGO1\mxpalette.h"\ ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ ".\LEGO1\mxstreamcontroller.h"\ ".\LEGO1\mxstreamer.h"\ ".\LEGO1\mxstring.h"\ @@ -784,6 +858,7 @@ DEP_CPP_ISLE_=\ ".\LEGO1\mxtimer.h"\ ".\LEGO1\mxtransitionmanager.h"\ ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideomanager.h"\ ".\LEGO1\mxvideoparam.h"\ ".\LEGO1\mxvideoparamflags.h"\ ".\LEGO1\viewmanager.h"\ @@ -798,35 +873,42 @@ DEP_CPP_ISLE_=\ # Begin Source File SOURCE=.\ISLE\main.cpp + +!IF "$(CFG)" == "ISLE - Win32 Release" + DEP_CPP_MAIN_=\ ".\ISLE\define.h"\ ".\ISLE\isle.h"\ ".\LEGO1\lego3dmanager.h"\ ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legoanimationmanager.h"\ - ".\LEGO1\legobuildingmanager.h"\ ".\LEGO1\legoentity.h"\ ".\LEGO1\legogamestate.h"\ + ".\LEGO1\legoinc.h"\ ".\LEGO1\legoinputmanager.h"\ - ".\LEGO1\legomodelpresenter.h"\ + ".\LEGO1\legonavcontroller.h"\ ".\LEGO1\legoomni.h"\ - ".\LEGO1\legopartpresenter.h"\ ".\LEGO1\legoroi.h"\ ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\legoworldpresenter.h"\ ".\LEGO1\mxatomid.h"\ ".\LEGO1\mxbackgroundaudiomanager.h"\ ".\LEGO1\mxbool.h"\ ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ ".\LEGO1\mxdsaction.h"\ ".\LEGO1\mxdsfile.h"\ ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ + ".\LEGO1\mxomni.h"\ ".\LEGO1\mxomnicreateflags.h"\ ".\LEGO1\mxomnicreateparam.h"\ ".\LEGO1\mxomnicreateparambase.h"\ ".\LEGO1\mxpalette.h"\ ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ ".\LEGO1\mxstreamcontroller.h"\ ".\LEGO1\mxstreamer.h"\ ".\LEGO1\mxstring.h"\ @@ -834,6 +916,7 @@ DEP_CPP_MAIN_=\ ".\LEGO1\mxtimer.h"\ ".\LEGO1\mxtransitionmanager.h"\ ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideomanager.h"\ ".\LEGO1\mxvideoparam.h"\ ".\LEGO1\mxvideoparamflags.h"\ ".\LEGO1\viewmanager.h"\ @@ -843,6 +926,60 @@ DEP_CPP_MAIN_=\ $(CPP) $(CPP_PROJ) $(SOURCE) +!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" + +DEP_CPP_MAIN_=\ + ".\ISLE\define.h"\ + ".\ISLE\isle.h"\ + ".\LEGO1\lego3dmanager.h"\ + ".\LEGO1\lego3dview.h"\ + ".\LEGO1\legoentity.h"\ + ".\LEGO1\legogamestate.h"\ + ".\LEGO1\legoinc.h"\ + ".\LEGO1\legoinputmanager.h"\ + ".\LEGO1\legonavcontroller.h"\ + ".\LEGO1\legoomni.h"\ + ".\LEGO1\legoroi.h"\ + ".\LEGO1\legovideomanager.h"\ + ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbackgroundaudiomanager.h"\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ + ".\LEGO1\mxdsaction.h"\ + ".\LEGO1\mxdsfile.h"\ + ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ + ".\LEGO1\mxomni.h"\ + ".\LEGO1\mxomnicreateflags.h"\ + ".\LEGO1\mxomnicreateparam.h"\ + ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ + ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ + ".\LEGO1\mxstreamcontroller.h"\ + ".\LEGO1\mxstreamer.h"\ + ".\LEGO1\mxstring.h"\ + ".\LEGO1\mxticklemanager.h"\ + ".\LEGO1\mxtimer.h"\ + ".\LEGO1\mxtransitionmanager.h"\ + ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideomanager.h"\ + ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ + ".\LEGO1\viewmanager.h"\ + + +"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + # End Source File ################################################################################ # Begin Source File diff --git a/isle.mdp b/isle.mdp index 9bec89b4d8d07f8581aff2cc9426a1e03d0cae5c..93e690ea4aec5678b4f2cae8eb3bbdf233280e9b 100644 GIT binary patch literal 49152 zcmeHQ>vJ5%5%04lMe+mLmTZH;#E=l4KHHMR!#omvGL9V)z%rO52Vu3l(rvtttGzw> z_{_h;AHsM3iR2rV?@$z#l+rVMyED5xv$rE$5|;X0r`tMr&*QhfGu=JieYe+cUOo&{ z@CCpjpx1#zV4GeC8i9Wu=-JccKZaM}AMh+Z4h)OO_+LWh;2bWEl+oq}_X~`N#$d z!V%a}n8cCqyK%dBwVrtzX3zsP3v+M;j>0iGzK>;`rdCE^4h};r`!c`CzMxM+fDj-A z2mwNX5Fi8y0YZQfAOr{jLVyt1UkH%@?_m1>=HUdKgj28pi*Opwz}fvJ)-;=11m@89 zdw5Lo?Pn4x_XYBV5dPmRT9Ezk6uxKfS&7}dl3gri7t7hj)vTTOS8uOo*YrsU5CVh% zAwUQa0)zk|KnM^5ga9Ex2oM5$j{y1q4yOO_2{;E&!c%Y_o`zq;1$bufMUh6ZYY5E2 z$**^Q zcnMzKV>zVmcN2ls|Hp#;7H_Ss-nek_!aXlsUb=9{^<8V=PD3kyU8&C_XQ}_JiLT>r zc%j?2`~6nyQbQhAIKYe}u)HwkXpn->#}&J2fr55yw_5K^9#~rZz;`zzEA#@3)jtTV z(As1<^>3T7uMa)n@xslV`!y5pO)GE*30630_pX`nd0~H;MsqPtJo~=y<_kgNRVNrFUSPBdAV+M4 z1Fx`!7>snwial!`E6%V#Mvod_>&E4649e;VwsBb%&c1IWSn0_jgxWvDXnrb?S#kas@JmHL2b;CE7^!*4C~g)w`f+QvJVDZ9`JM zMR7<{y_MxJg^pxYl~S-}s`u%l>aFn18EA^6eAiSgP3=0akr_Zr%J(C#eCwRwv)n5k zSod349<}pf9Q_mRL8Y5q{fM&c`TtDwM0&hZSdQcH=Bamc2)Fo*m3(UtR~V~arx3Y+uYCGf_a&a z38x@QJ(Bx&5VY7jJ7; zaeV?&T4P;Lgm-GdPT?BdsYSm2mI|=zTSlo8ryY7SoJwY7>51@`mrgYFv~$_!S%dOv zq^X`-=-b5pOXn1NT12$zV)EFSbfO%g)Ri~on%Ny^%Y1_yirq^(Nlk-%sU0RBo}KFF zJw3a)a{C_bkEpfM{>Y*M^rAxhBkhmeyrcaQw^Mf9u76f&e{@+475fbvJxGtv{+RBP z8n?#Db|uPCVS>(&sq(nO8k#(^KtY3Egi7q7g6!$cXlM3THCnKxV95<}#!@+^RB@b@ zJ1JO}RjwJ{47Aa%DZT zI*7vL$`O33_VdZfc5JoXXS2c9S+Z3&sr4*6Pc?`WQtM++NwqDBDD#z6iOz_YE-NiiR|N>>>q>}8v9*o9T<{K=Cn!zxw2XlZQ2Du*~U;jmyLtlYxdb0zUR~s7I$GI%?i{Ro&N-qocQ|9qR~>U|v)- zjBO0W*UL?FNAK<{6wA)8A90f2p_8T^xp_(N;6VjaumByVrm;ZeEGB1h&9=11hpD7c z=8>b~oaVQ3OWX?q+meibUoW-wlI-2Fijn`3wL1xZKgT&U7 zW3oY-TY5Z@J1Grv78SuP1|uywFAcKYg?G|Oq6OPnqCp*GOi8#akuv{63ftik{RU4p zX-)GIM_Jv_a8Moq&e z;B9yZ{s4c3ci}p8U@OPe*!niw^Ixj!WYM|$__2c-?KC{jm`)ZiVS;~Fe-adi3ukI*WiR`;>(D$)W zBET!yG)tjnKV8j!xthIx#P`4Po%MPHf6DrQS#oanC4CYCga9Ex2oM5<03kpK5CVh% zAwUQa0{a{R`u!J!6XHCP%pgAE7aI5R3EYEE;ji#F_&aprGx&U;%Q;O?Mqm#94|~6Q A(f|Me literal 47104 zcmeHQ*>W4l6}>P?nUrK}Atl-J5}1~kSP~$Swi7#v6O)u^%9Q1ha;PXsrG~(Wm}mxr z8VqIl6a17a<;5S6ugEXtC-R)9{DFMCXXzgF2FbQ4gBMjGrhwCT`kr3yGTqG^+v``R zU>aHg&jGy-9RrW(b*LHm@1fS7l>Z}Kg1^8byabGk7x`ae%| zX5a{BfM#J1j>0iG4lh`+^wXphP2pn1fUQDsDyjzk&(+ zBnF59Vt^PR28aP-fEXYKhyh}N7$62FjRDI4OPa55;t|GhpLD&g;du54>t`d7*2w0|`04DJOu)Lcr8(Mh5q1GN($yY;=$+Z#AKm5j&EV%=NAJ!&iW`Pd?F4SrcqG3BhTH9VYz)r{pATM*t z-ooB~8i#TFJ~o`Y-bE90q=O1kYex-4BV;vjC@J7sn~g(^m>sfy!OMJLCuXF~E_xbS z{jBX(j;zP4*0`#$?$GldNHYSz51g(zMoOxVip zRU#V=@U;S{k83m~UJ@lnq8bgjtZy+tGe=s3lhiK-fF)H>;Qm z!NjYdS0_foi(f3|?U1(PXa~ew4xa;IU9P&p_CtLkBS7Z8Fb#9-Zd9G&hnx~0@Vz|3KZ#6Gl4sX3&Bz&1!}try|K} zhGG2>##5|j&?#nnDhXCIcCN5f7V6GuqX@H1y#GjQ)r@^n&XziQ)2LCiRQUxqm5wp- zVjmsNZd#;bWhD>50z~^U*2GlJxmg6x%r30m*dfbhG{$$lmmw8!s-di;(S&U$a#XpF#)2uIf@&}rdGiNU@){Zq?DZnhWg&qs=2CMN zW$?<1XreB)#5wsUm4Hgco|mzsA(aY$RfelUm0F<8NU+)$-ir!*MV6}sRw^DFS3C{N zLn{?kQEoK2QsEWl)bL6zP%0+}SSoC>sH`o-Qj1B_ixo7woX<%~dY)ZSWl5kSzo3H7 z3Q6(`8r@B$)QcPdsxl=dgdtU7QvJs0ByyNmhJdQjvQx?UG6+=hQkG2$>QtPhlL+e^ zu);j5u(H<`v6}R}9DR4SfW*BV+^ImRo+7+cVK0kjR{}g0U5-2{#8Xk_q-6;5)DluH zlrT?4OI=mOZ!FMLp;9jpP)o0w;S);@5AZDV;3A`!XX(a?nDPajmgwsUw>cKTQ8Xs; ze$vJ#mS*RR(t%r)4n*6k+AC9z8Qt|_y{EZbJyAOF$4PKwKBQ`XOo|*p_Hi6XR<<_f zJY&+KlFlq`lL<`;O3O@03CgW;6O`j8{>Y4(#v8EOAO?s5Vt^PR1`dFM%g}%(T!E{w1k3O~d;lN9ui)445qu24f#1UK z;1l>g`~g0N6)+(=6ZzhJN4$>px(TN-)+~(^J