diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..937b347f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,7 @@ +root = true +[*.{cpp,h,py,txt,editorconfig}] + +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 39564bda..3bbc6d50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,10 +1,6 @@ name: Build -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] +on: [push, pull_request] jobs: build: @@ -26,7 +22,7 @@ jobs: key: dx5sdk - name: Download DX5 SDK - if: steps.cache-dx5.outputs.cache-hit != 'true' + if: ${{ !steps.cache-dx5.outputs.cache-hit }} run: | cd dx5sdk curl -fLOSs https://archive.org/download/idx5sdk/idx5sdk.exe @@ -34,8 +30,7 @@ jobs: 7z x .\DX5SDK.EXE - name: Cache DX5 SDK - if: steps.cache-dx5.outputs.cache-hit != 'true' - id: save-dx5 + if: ${{ !steps.cache-dx5.outputs.cache-hit }} uses: actions/cache/save@v3 with: path: dx5sdk @@ -47,22 +42,68 @@ jobs: cd cdrom .\SETUP.EXE /s + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v1.13 + with: + # Use 2.8 for maximum backwards compatibility + cmake-version: '2.8.x' + - name: Build shell: cmd run: | call .\msvc420\bin\VCVARS32.BAT x86 - mkdir Release - .\msvc420\bin\NMAKE.EXE /f isle.mak CFG="ISLE - Win32 Release" + mkdir build + cd build + cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "NMake Makefiles" + cmake --build . + + - name: Upload Artifact + uses: actions/upload-artifact@master + with: + name: Win32 + path: | + build/ISLE.EXE + build/ISLE.PDB + build/LEGO1.DLL + build/LEGO1.PDB + + compare: + needs: build + runs-on: windows-latest + steps: + - uses: actions/checkout@master + + - uses: actions/download-artifact@master + with: + name: Win32 + path: build + + - name: Restore cached original binaries + id: cache-original-binaries + uses: actions/cache/restore@v3 + with: + path: legobin + key: legobin + + - name: Download original island binares + if: ${{ !steps.cache-original-binaries.outputs.cache-hit }} + run: | + C:\msys64\usr\bin\wget.exe https://legoisland.org/download/ISLE.EXE --directory-prefix=legobin + C:\msys64\usr\bin\wget.exe https://legoisland.org/download/LEGO1.DLL --directory-prefix=legobin + + - name: Cache original binaries + if: ${{ !steps.cache-original-binaries.outputs.cache-hit }} + uses: actions/cache/save@v3 + with: + path: legobin + key: legobin - name: Summarize Accuracy shell: bash run: | - curl -fLOSs https://legoisland.org/download/ISLE.EXE - curl -fLOSs https://legoisland.org/download/LEGO1.DLL - pip install capstone - pip install colorama - python3 tools/reccmp/reccmp.py -S ISLEPROGRESS.SVG --svg-icon tools/reccmp/isle.png -H ISLEPROGRESS.HTML ISLE.EXE Release/ISLE.EXE Release/ISLE.PDB . | tee ISLEPROGRESS.TXT - python3 tools/reccmp/reccmp.py -S LEGO1PROGRESS.SVG -T 1929 --svg-icon tools/reccmp/lego1.png -H LEGO1PROGRESS.HTML LEGO1.DLL Release/LEGO1.DLL Release/LEGO1.PDB . | tee LEGO1PROGRESS.TXT + pip install -r tools/reccmp/requirements.txt + python3 tools/reccmp/reccmp.py -S ISLEPROGRESS.SVG --svg-icon tools/reccmp/isle.png -H ISLEPROGRESS.HTML legobin/ISLE.EXE build/ISLE.EXE build/ISLE.PDB . | tee ISLEPROGRESS.TXT + python3 tools/reccmp/reccmp.py -S LEGO1PROGRESS.SVG -T 1929 --svg-icon tools/reccmp/lego1.png -H LEGO1PROGRESS.HTML legobin/LEGO1.DLL build/LEGO1.DLL build/LEGO1.PDB . | tee LEGO1PROGRESS.TXT - name: Compare Accuracy With Current Master shell: bash @@ -73,40 +114,48 @@ jobs: diff -u ISLEPROGRESS-OLD.TXT ISLEPROGRESS.TXT || true diff -u LEGO1PROGRESS-OLD.TXT LEGO1PROGRESS.TXT || true + + - name: Test Exports + shell: bash + run: | + python3 tools/verexp/verexp.py legobin/LEGO1.DLL build/LEGO1.DLL - name: Upload Artifact uses: actions/upload-artifact@master with: - name: Win32 + name: Accuracy Report path: | - Release - ISLEPROGRESS.HTML - LEGO1PROGRESS.HTML - ISLEPROGRESS.SVG - LEGO1PROGRESS.SVG - + ISLEPROGRESS.* + LEGO1PROGRESS.* + + upload: + needs: [build, compare] + runs-on: ubuntu-latest + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} + steps: + - uses: actions/checkout@v3 + with: + repository: 'probonopd/uploadtool' + + - uses: actions/download-artifact@master + with: + name: Win32 + path: build + + - uses: actions/download-artifact@master + with: + name: Accuracy Report + - name: Upload Continuous Release - shell: bash - if: github.event_name == 'push' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + UPLOAD_KEY: ${{ secrets.UPLOAD_KEY }} run: | - # Convert SVGs to PNG - INKSCAPE_DIR=inkscape-1.2.2_2022-12-09_732a01da63-x64 - curl -fLOSs https://inkscape.org/gallery/item/37364/$INKSCAPE_DIR.7z - 7z x $INKSCAPE_DIR.7z - $INKSCAPE_DIR/bin/inkscape -w 512 ISLEPROGRESS.SVG -o ISLEPROGRESS.PNG - $INKSCAPE_DIR/bin/inkscape -w 512 LEGO1PROGRESS.SVG -o LEGO1PROGRESS.PNG - - curl -fLOSs https://raw.githubusercontent.com/probonopd/uploadtool/master/upload.sh ./upload.sh \ - Release/ISLE.EXE \ - Release/LEGO1.DLL \ - ISLEPROGRESS.HTML \ - ISLEPROGRESS.TXT \ - ISLEPROGRESS.SVG \ - ISLEPROGRESS.PNG \ - LEGO1PROGRESS.HTML \ - LEGO1PROGRESS.TXT \ - LEGO1PROGRESS.PNG \ - LEGO1PROGRESS.SVG + build/ISLE.EXE \ + build/LEGO1.DLL \ + ISLEPROGRESS.* \ + LEGO1PROGRESS.* + + curl -X POST -F key=$UPLOAD_KEY -F 'file=@ISLEPROGRESS.SVG' https://legoisland.org/progress/ + curl -X POST -F key=$UPLOAD_KEY -F 'file=@LEGO1PROGRESS.SVG' https://legoisland.org/progress/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..cdfebd05 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,227 @@ +cmake_minimum_required(VERSION 2.8...3.5 FATAL_ERROR) + +project(isle CXX) + +option(ISLE_BUILD_APP "Build ISLE.EXE application" ON) + +add_library(lego1 SHARED + LEGO1/act1state.cpp + LEGO1/act2brick.cpp + LEGO1/act2policestation.cpp + LEGO1/act3.cpp + LEGO1/act3shark.cpp + LEGO1/act3state.cpp + LEGO1/ambulance.cpp + LEGO1/ambulancemissionstate.cpp + LEGO1/animstate.cpp + LEGO1/beachhouseentity.cpp + LEGO1/bike.cpp + LEGO1/buildingentity.cpp + LEGO1/bumpbouy.cpp + LEGO1/carrace.cpp + LEGO1/dllmain.cpp + LEGO1/dunebuggy.cpp + LEGO1/elevatorbottom.cpp + LEGO1/gasstation.cpp + LEGO1/gasstationentity.cpp + LEGO1/gasstationstate.cpp + LEGO1/helicopter.cpp + LEGO1/helicopterstate.cpp + LEGO1/historybook.cpp + LEGO1/hospital.cpp + LEGO1/hospitalentity.cpp + LEGO1/hospitalstate.cpp + LEGO1/infocenter.cpp + LEGO1/infocenterdoor.cpp + LEGO1/infocenterentity.cpp + LEGO1/infocenterstate.cpp + LEGO1/isle.cpp + LEGO1/isleactor.cpp + LEGO1/islepathactor.cpp + LEGO1/jetski.cpp + LEGO1/jetskirace.cpp + LEGO1/jukebox.cpp + LEGO1/jukeboxentity.cpp + LEGO1/jukeboxstate.cpp + LEGO1/legoact2state.cpp + LEGO1/legoactioncontrolpresenter.cpp + LEGO1/legoanimactor.cpp + LEGO1/legoanimationmanager.cpp + LEGO1/legoanimmmpresenter.cpp + LEGO1/legoanimpresenter.cpp + LEGO1/legobackgroundcolor.cpp + LEGO1/legobackgroundcolor.cpp + LEGO1/legobuildingmanager.cpp + LEGO1/legocachesound.cpp + LEGO1/legocameracontroller.cpp + LEGO1/legocarbuild.cpp + LEGO1/legocarbuildanimpresenter.cpp + LEGO1/legocontrolmanager.cpp + LEGO1/legoentity.cpp + LEGO1/legoentitypresenter.cpp + LEGO1/legoflctexturepresenter.cpp + LEGO1/legogamestate.cpp + LEGO1/legohideanimpresenter.cpp + LEGO1/legoinputmanager.cpp + LEGO1/legojetski.cpp + LEGO1/legoloadcachesoundpresenter.cpp + LEGO1/legolocomotionanimpresenter.cpp + LEGO1/legomodelpresenter.cpp + LEGO1/legonavcontroller.cpp + LEGO1/legoomni.cpp + LEGO1/legopalettepresenter.cpp + LEGO1/legopartpresenter.cpp + LEGO1/legopathactor.cpp + LEGO1/legopathcontroller.cpp + LEGO1/legopathpresenter.cpp + LEGO1/legophonemepresenter.cpp + LEGO1/legoplantmanager.cpp + LEGO1/legorace.cpp + LEGO1/legoroi.cpp + LEGO1/legosoundmanager.cpp + LEGO1/legostate.cpp + LEGO1/legotexturepresenter.cpp + LEGO1/legoutil.cpp + LEGO1/legovideomanager.cpp + LEGO1/legoworld.cpp + LEGO1/legoworldpresenter.cpp + LEGO1/motorcycle.cpp + LEGO1/mxatomid.cpp + LEGO1/mxaudiopresenter.cpp + LEGO1/mxautolocker.cpp + LEGO1/mxbackgroundaudiomanager.cpp + LEGO1/mxbitmap.cpp + LEGO1/mxcompositemediapresenter.cpp + LEGO1/mxcompositepresenter.cpp + LEGO1/mxcontrolpresenter.cpp + LEGO1/mxcore.cpp + LEGO1/mxcriticalsection.cpp + LEGO1/mxdirectdraw.cpp + LEGO1/mxdiskstreamcontroller.cpp + LEGO1/mxdiskstreamprovider.cpp + LEGO1/mxdsaction.cpp + LEGO1/mxdsanim.cpp + LEGO1/mxdschunk.cpp + LEGO1/mxdsevent.cpp + LEGO1/mxdsfile.cpp + LEGO1/mxdsmediaaction.cpp + LEGO1/mxdsmultiaction.cpp + LEGO1/mxdsobject.cpp + LEGO1/mxdsobjectaction.cpp + LEGO1/mxdsparallelaction.cpp + LEGO1/mxdsselectaction.cpp + LEGO1/mxdsserialaction.cpp + LEGO1/mxdssound.cpp + LEGO1/mxdssource.cpp + LEGO1/mxdsstill.cpp + LEGO1/mxdssubscriber.cpp + LEGO1/mxentity.cpp + LEGO1/mxeventmanager.cpp + LEGO1/mxeventpresenter.cpp + LEGO1/mxflcpresenter.cpp + LEGO1/mxioinfo.cpp + LEGO1/mxloopingflcpresenter.cpp + LEGO1/mxloopingmidipresenter.cpp + LEGO1/mxloopingsmkpresenter.cpp + LEGO1/mxmediapresenter.cpp + LEGO1/mxmidipresenter.cpp + LEGO1/mxmusicpresenter.cpp + LEGO1/mxnotificationmanager.cpp + LEGO1/mxobjectfactory.cpp + LEGO1/mxomni.cpp + LEGO1/mxomnicreateflags.cpp + LEGO1/mxomnicreateparam.cpp + LEGO1/mxomnicreateparambase.cpp + LEGO1/mxpalette.cpp + LEGO1/mxpresenter.cpp + LEGO1/mxscheduler.cpp + LEGO1/mxsmkpresenter.cpp + LEGO1/mxsoundmanager.cpp + LEGO1/mxsoundpresenter.cpp + LEGO1/mxstillpresenter.cpp + LEGO1/mxstreamer.cpp + LEGO1/mxstring.cpp + LEGO1/mxstringvariable.cpp + LEGO1/mxtimer.cpp + LEGO1/mxtransitionmanager.cpp + LEGO1/mxunknown100dc6b0.cpp + LEGO1/mxunknown100dc6e0.cpp + LEGO1/mxvariabletable.cpp + LEGO1/mxvideomanager.cpp + LEGO1/mxvideoparam.cpp + LEGO1/mxvideoparamflags.cpp + LEGO1/mxvideopresenter.cpp + LEGO1/mxwavepresenter.cpp + LEGO1/pizza.cpp + LEGO1/pizzamissionstate.cpp + LEGO1/pizzeria.cpp + LEGO1/pizzeriastate.cpp + LEGO1/police.cpp + LEGO1/policeentity.cpp + LEGO1/policestate.cpp + LEGO1/racecar.cpp + LEGO1/racestandsentity.cpp + LEGO1/racestate.cpp + LEGO1/radio.cpp + LEGO1/radiostate.cpp + LEGO1/realtimeview.cpp + LEGO1/registrationbook.cpp + LEGO1/score.cpp + LEGO1/scorestate.cpp + LEGO1/skateboard.cpp + LEGO1/towtrack.cpp + LEGO1/towtrackmissionstate.cpp + LEGO1/viewmanager.cpp +) + +# Link libraries +target_link_libraries(lego1 PRIVATE ddraw dsound winmm) + +# Make sure filenames are ALL CAPS +set_property(TARGET lego1 PROPERTY OUTPUT_NAME LEGO1) +set_property(TARGET lego1 PROPERTY SUFFIX ".DLL") + +if (ISLE_BUILD_APP) + add_executable(isle WIN32 + ISLE/res/isle.rc + ISLE/isleapp.cpp + ISLE/define.cpp + ) + + # Include LEGO1 headers in ISLE + target_include_directories(isle PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1") + + # Link DSOUND, WINMM, and LEGO1 + target_link_libraries(isle PRIVATE dsound winmm lego1) + + # Make sure filenames are ALL CAPS + set_property(TARGET isle PROPERTY OUTPUT_NAME ISLE) + set_property(TARGET isle PROPERTY SUFFIX ".EXE") +endif() + +if (MSVC) + # These flags have been taken from the defaults for a Visual C++ 4.20 project (the compiler the + # game was originally built with) and tweaked slightly to produce more debugging info for reccmp. + # They ensure a recompilation that can be byte/instruction accurate to the original binaries. + + target_compile_options(isle PRIVATE "/ML$<$:d>") + target_compile_options(lego1 PRIVATE "/MT$<$:d>") + + set(CMAKE_CXX_FLAGS "/W3 /GX /D \"WIN32\" /D \"_WINDOWS\"") + set(CMAKE_CXX_FLAGS_DEBUG "/Gm /Zi /Od /D \"_DEBUG\"") + set(CMAKE_CXX_FLAGS_RELEASE "/O2 /D \"NDEBUG\"") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/Zi /O2 /D \"NDEBUG\"") + set(CMAKE_CXX_FLAGS_MINSIZEREL "/Os /D \"NDEBUG\"") + + set(CMAKE_EXE_LINKER_FLAGS "/machine:I386") + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/incremental:yes /debug") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/incremental:no") + set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/incremental:no /debug") + set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "/incremental:no") + + set(CMAKE_SHARED_LINKER_FLAGS "/machine:I386") + set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/incremental:yes /debug") + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/incremental:no") + set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "/incremental:no /debug") + set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "/incremental:no") +endif() diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5633e7c6..c9d3364a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,6 +30,7 @@ In general, we're not exhaustively strict about coding style, but there are some - `m_camelCase` for member variables. - `g_camelCase` for global variables. - `p_camelCase` for function parameters. +- Instead of C++ primitives (e.g. `int`, `long`, etc.), use types in `mxtypes.h` instead. This will help us ensure that variables will be the correct size regardless of the underlying compiler/platform/architecture. ## Questions? diff --git a/ISLE/define.cpp b/ISLE/define.cpp index f236ea29..61de399e 100644 --- a/ISLE/define.cpp +++ b/ISLE/define.cpp @@ -37,4 +37,4 @@ int g_reqEnableRMDevice = 0; int g_startupDelay = 200; // 0x4101c0 -long g_lastFrameTime = 0; +MxLong g_lastFrameTime = 0; diff --git a/ISLE/define.h b/ISLE/define.h index ffc74654..ff2a4c2f 100644 --- a/ISLE/define.h +++ b/ISLE/define.h @@ -1,6 +1,7 @@ #ifndef DEFINE_H #define DEFINE_H +#include #include class IsleApp; @@ -21,6 +22,6 @@ extern int g_targetHeight; extern int g_targetDepth; extern int g_reqEnableRMDevice; extern int g_startupDelay; -extern long g_lastFrameTime; +extern MxLong g_lastFrameTime; #endif // DEFINE_H diff --git a/ISLE/ext/lego1.def b/ISLE/ext/lego1.def deleted file mode 100644 index eb8c8fb3..00000000 --- a/ISLE/ext/lego1.def +++ /dev/null @@ -1,137 +0,0 @@ -; -; Definition file of Lego1.dll -; Automatic generated by gendef -; written by Kai Tietz 2008 -; -LIBRARY "Lego1.dll" -EXPORTS -??0LegoBackgroundColor@@QAE@PBD0@Z ; has WINAPI (@8) -??0LegoGameState@@QAE@XZ -??0LegoWorld@@QAE@XZ -??0MxAtomId@@QAE@PBDW4LookupMode@@@Z ; has WINAPI (@8) -??0MxBitmap@@QAE@XZ -??0MxCore@@QAE@XZ -??0MxCriticalSection@@QAE@XZ -??0MxDSAction@@QAE@XZ -??0MxDSFile@@QAE@PBDK@Z ; has WINAPI (@8) -??0MxOmniCreateFlags@@QAE@XZ -??0MxOmniCreateParam@@QAE@PBDPAUHWND__@@AAVMxVideoParam@@VMxOmniCreateFlags@@@Z ; has WINAPI (@16) -??0MxString@@QAE@ABV0@@Z ; has WINAPI (@4) -??0MxVideoParam@@QAE@AAV0@@Z ; has WINAPI (@4) -??0MxVideoParam@@QAE@AAVMxRect32@@PAVMxPalette@@KAAVMxVideoParamFlags@@@Z ; has WINAPI (@16) -??0MxVideoParam@@QAE@XZ -??0MxVideoParamFlags@@QAE@XZ -??1LegoEntity@@UAE@XZ -??1LegoGameState@@QAE@XZ -??1LegoWorld@@UAE@XZ -??1MXIOINFO@@QAE@XZ -??1MxAtomId@@QAE@XZ -??1MxBitmap@@UAE@XZ -??1MxCore@@UAE@XZ -??1MxCriticalSection@@QAE@XZ -??1MxDSAction@@UAE@XZ -??1MxDSFile@@UAE@XZ -??1MxPresenter@@UAE@XZ -??1MxString@@UAE@XZ -??1MxVideoParam@@QAE@XZ -??4MxAtomId@@QAEAAV0@ABV0@@Z ; has WINAPI (@4) -??4MxString@@QAEABV0@PBD@Z ; has WINAPI (@4) -??4MxVideoParam@@QAEAAV0@ABV0@@Z ; has WINAPI (@4) -??8MxPalette@@QAEEAAV0@@Z ; has WINAPI (@4) -?BackgroundAudioManager@@YAPAVMxBackgroundAudioManager@@XZ -?Close@MxDSFile@@UAEJXZ -?Close@MxStreamer@@QAEJPBD@Z ; has WINAPI (@4) -?CreateBackgroundAudio@LegoOmni@@QAEXXZ -?CreateInstance@LegoOmni@@SAXXZ -?CreatePalette@MxBitmap@@UAEPAVMxPalette@@XZ -?CreateStreamObject@@YAPAVMxDSObject@@PAVMxDSFile@@F@Z -?DestroyInstance@MxOmni@@SAXXZ -?Detach@MxPalette@@QAEXXZ -?DisableRMDevice@LegoVideoManager@@QAEHXZ -?DoneTickle@MxPresenter@@MAEXXZ -?Enable@MxBackgroundAudioManager@@QAEXE@Z ; has WINAPI (@4) -?Enable@MxPresenter@@UAEXE@Z ; has WINAPI (@4) -?EnableFullScreenMovie@LegoVideoManager@@QAEXEE@Z ; has WINAPI (@8) -?EnableRMDevice@LegoVideoManager@@QAEHXZ -?EndAction@MxPresenter@@UAEXXZ -?EventManager@@YAPAVMxEventManager@@XZ -?FlipToGDISurface@MxDirectDraw@@QAEHXZ -?GameState@@YAPAVLegoGameState@@XZ -?GetBufferSize@MxDSFile@@UAEKXZ -?GetCD@MxOmni@@SAPBDXZ -?GetCurrPathInfo@LegoOmni@@SAHPAPAVLegoPathBoundary@@AAH@Z -?GetDefaults@LegoNavController@@SAXPAHPAM11111111PAE@Z -?GetHD@MxOmni@@SAPBDXZ -?GetInstance@LegoOmni@@SAPAV1@XZ -?GetInstance@MxOmni@@SAPAV1@XZ -?GetInstance@MxScheduler@@SAPAV1@XZ -?GetNoCD_SourceName@@YAPBDXZ -?GetPartsThreshold@RealtimeView@@SAMXZ -?GetPrimaryBitDepth@MxDirectDraw@@SAHXZ -?GetRealTime@MxTimer@@QAEJXZ -?GetStreamBuffersNum@MxDSFile@@UAEKXZ -?GetUserMaxLOD@RealtimeView@@SAMXZ -?GetVariable@MxVariableTable@@QAEPBDPBD@Z ; has WINAPI (@4) -?Init@MxPresenter@@IAEXXZ -?InputManager@@YAPAVLegoInputManager@@XZ -?InvalidateRect@MxVideoManager@@QAEXAAVMxRect32@@@Z ; has WINAPI (@4) -?IsSound3D@MxOmni@@SAEXZ -?Lego@@YAPAVLegoOmni@@XZ -?Load@LegoGameState@@QAEJK@Z ; has WINAPI (@4) -?MSoundManager@@YAPAVMxSoundManager@@XZ -?MakeSourceName@@YAXPADPBD@Z -?MoveCursor@LegoVideoManager@@QAEXHH@Z ; has WINAPI (@8) -?MusicManager@@YAPAVMxMusicManager@@XZ -?NotificationManager@@YAPAVMxNotificationManager@@XZ -?Notify@MxCore@@UAEJAAVMxParam@@@Z ; has WINAPI (@4) -?Open@MxDSFile@@UAEJK@Z ; has WINAPI (@4) -?Open@MxStreamer@@QAEPAVMxStreamController@@PBDG@Z ; has WINAPI (@8) -?ParseExtra@MxPresenter@@MAEXXZ -?Pause@MxDirectDraw@@QAEHH@Z ; has WINAPI (@4) -?PickEntity@@YAPAVLegoEntity@@JJ@Z -?PickROI@@YAPAVLegoROI@@JJ@Z -?QueueEvent@LegoInputManager@@QAEXW4NotificationId@@EJJE@Z ; has WINAPI (@20) -?Read@MxBitmap@@UAEJPBD@Z ; has WINAPI (@4) -?Read@MxDSFile@@UAEJPAEK@Z ; has WINAPI (@8) -?RealizePalette@MxVideoManager@@UAEJPAVMxPalette@@@Z ; has WINAPI (@4) -?Register@LegoInputManager@@QAEXPAVMxCore@@@Z ; has WINAPI (@4) -?RemoveAll@ViewManager@@QAEXPAVViewROI@@@Z ; has WINAPI (@4) -?RemoveWorld@LegoOmni@@QAEXABVMxAtomId@@J@Z ; has WINAPI (@8) -?Save@LegoGameState@@QAEJK@Z ; has WINAPI (@4) -?Seek@MxDSFile@@UAEJJH@Z ; has WINAPI (@8) -?SerializePlayersInfo@LegoGameState@@QAEXF@Z ; has WINAPI (@4) -?SerializeScoreHistory@LegoGameState@@QAEXF@Z ; has WINAPI (@4) -?SetCD@MxOmni@@SAXPBD@Z -?SetDefaults@LegoNavController@@SAXHMMMMMMMMME@Z -?SetDeviceName@MxVideoParam@@QAEXPAD@Z ; has WINAPI (@4) -?SetDisplayBB@LegoROI@@QAEXH@Z ; has WINAPI (@4) -?SetDoMutex@MxCriticalSection@@SAXXZ -?SetHD@MxOmni@@SAXPBD@Z -?SetObjectName@MxDSObject@@QAEXPBD@Z ; has WINAPI (@4) -?SetOmniUserMessage@@YAXP6AXPBDH@Z@Z -?SetPartsThreshold@RealtimeView@@SAXM@Z -?SetSavePath@LegoGameState@@QAEXPAD@Z ; has WINAPI (@4) -?SetSound3D@MxOmni@@SAXE@Z -?SetUserMaxLOD@RealtimeView@@SAXM@Z -?SetVariable@MxVariableTable@@QAEXPAVMxVariable@@@Z ; has WINAPI (@4) -?SetVariable@MxVariableTable@@QAEXPBD0@Z ; has WINAPI (@8) -?SetWaitIndicator@MxTransitionManager@@QAEXPAVMxVideoPresenter@@@Z ; has WINAPI (@4) -?SoundManager@@YAPAVLegoSoundManager@@XZ -?Start@@YAJPAVMxDSAction@@@Z -?StartAction@MxPresenter@@UAEJPAVMxStreamController@@PAVMxDSAction@@@Z ; has WINAPI (@8) -?StartMultiTasking@MxScheduler@@QAEXK@Z ; has WINAPI (@4) -?Streamer@@YAPAVMxStreamer@@XZ -?Tickle@MxPresenter@@UAEJXZ -?TickleManager@@YAPAVMxTickleManager@@XZ -?Timer@@YAPAVMxTimer@@XZ -?TransitionManager@@YAPAVMxTransitionManager@@XZ -?UnRegister@LegoInputManager@@QAEXPAVMxCore@@@Z ; has WINAPI (@4) -?VariableTable@@YAPAVMxVariableTable@@XZ -?VideoManager@@YAPAVLegoVideoManager@@XZ -?configureLegoAnimationManager@LegoAnimationManager@@SAXH@Z -?configureLegoBuildingManager@LegoBuildingManager@@SAXH@Z -?configureLegoModelPresenter@LegoModelPresenter@@SAXH@Z -?configureLegoPartPresenter@LegoPartPresenter@@SAXHH@Z -?configureLegoROI@LegoROI@@SAXH@Z -?configureLegoWorldPresenter@LegoWorldPresenter@@SAXH@Z -_DllMain@12@12 diff --git a/ISLE/ext/lego1.exp b/ISLE/ext/lego1.exp deleted file mode 100644 index 300d78fd..00000000 Binary files a/ISLE/ext/lego1.exp and /dev/null differ diff --git a/ISLE/ext/lego1.lib b/ISLE/ext/lego1.lib deleted file mode 100644 index 684a82b7..00000000 Binary files a/ISLE/ext/lego1.lib and /dev/null differ diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 3697e816..a1836e8c 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -95,7 +95,7 @@ void IsleApp::Close() TransitionManager()->SetWaitIndicator(NULL); Lego()->vtable3c(); - long lVar8; + MxLong lVar8; do { lVar8 = Streamer()->Close(NULL); } while (lVar8 == 0); @@ -571,7 +571,7 @@ BOOL IsleApp::ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize) DWORD valueType; BOOL out = FALSE; - unsigned long size = outSize; + DWORD size = outSize; if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Mindscape\\LEGO Island", 0, KEY_READ, &hKey) == ERROR_SUCCESS) { if (RegQueryValueExA(hKey, name, NULL, &valueType, (LPBYTE) outValue, &size) == ERROR_SUCCESS) { if (RegCloseKey(hKey) == ERROR_SUCCESS) { @@ -695,7 +695,7 @@ inline void IsleApp::Tick(BOOL sleepIfNotNextFrame) if (!TickleManager()) return; if (!Timer()) return; - long currentTime = Timer()->GetRealTime(); + MxLong currentTime = Timer()->GetRealTime(); if (currentTime < g_lastFrameTime) { g_lastFrameTime = -this->m_frameDelta; } diff --git a/ISLE/isleapp.h b/ISLE/isleapp.h index d31c6f42..a622697a 100644 --- a/ISLE/isleapp.h +++ b/ISLE/isleapp.h @@ -56,7 +56,7 @@ class IsleApp // 40 int m_islandTexture; int m_gameStarted; - long m_frameDelta; + MxLong m_frameDelta; // 4c MxVideoParam m_videoParam; diff --git a/ISLE/res/isle.rc b/ISLE/res/isle.rc index 4534ea64..95432e06 100644 --- a/ISLE/res/isle.rc +++ b/ISLE/res/isle.rc @@ -1,9 +1,9 @@ #include "resource.h" -ISLE_ARROW CURSOR "ISLE/res/arrow.cur" -ISLE_NO CURSOR "ISLE/res/no.cur" -ISLE_BUSY CURSOR "ISLE/res/busy.cur" -APP_ICON ICON "ISLE/res/isle.ico" +ISLE_ARROW CURSOR "arrow.cur" +ISLE_NO CURSOR "no.cur" +ISLE_BUSY CURSOR "busy.cur" +APP_ICON ICON "isle.ico" 1 VERSIONINFO FILEVERSION 1,1,0,0 diff --git a/LEGO1/act2brick.cpp b/LEGO1/act2brick.cpp index 4bb2f3f9..84c8bbb3 100644 --- a/LEGO1/act2brick.cpp +++ b/LEGO1/act2brick.cpp @@ -13,7 +13,7 @@ Act2Brick::~Act2Brick() } // STUB OFFSET: LEGO1 0x1007a8c0 STUB -long Act2Brick::Notify(MxParam &p) +MxLong Act2Brick::Notify(MxParam &p) { // TODO @@ -21,7 +21,7 @@ long Act2Brick::Notify(MxParam &p) } // OFFSET: LEGO1 0x1007a7f0 STUB -long Act2Brick::Tickle() +MxLong Act2Brick::Tickle() { // TODO diff --git a/LEGO1/act2brick.h b/LEGO1/act2brick.h index d5703081..bf909198 100644 --- a/LEGO1/act2brick.h +++ b/LEGO1/act2brick.h @@ -8,21 +8,21 @@ class Act2Brick : public LegoPathActor { public: - Act2Brick(); + Act2Brick(); virtual ~Act2Brick() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 - virtual long Tickle() override; // vtable+0x08 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Tickle() override; // vtable+0x08 // OFFSET: LEGO1 0x1007a360 - inline virtual const char *ClassName() 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) override // vtable+0x10 + inline virtual MxBool IsA(const char *name) const override // vtable+0x10 { return !strcmp(Act2Brick::ClassName(), name) || LegoEntity::IsA(name); } diff --git a/LEGO1/act2policestation.cpp b/LEGO1/act2policestation.cpp index 14f69db4..32c15e3e 100644 --- a/LEGO1/act2policestation.cpp +++ b/LEGO1/act2policestation.cpp @@ -1,7 +1,7 @@ #include "act2policestation.h" // OFFSET: LEGO1 0x1004e0e0 STUB -long Act2PoliceStation::Notify(MxParam &p) +MxLong Act2PoliceStation::Notify(MxParam &p) { // TODO diff --git a/LEGO1/act2policestation.h b/LEGO1/act2policestation.h index e935e252..7b0ea9c5 100644 --- a/LEGO1/act2policestation.h +++ b/LEGO1/act2policestation.h @@ -8,7 +8,7 @@ class Act2PoliceStation : public LegoEntity { public: - virtual long 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 diff --git a/LEGO1/beachhouseentity.cpp b/LEGO1/beachhouseentity.cpp index 029e022f..4ccf5777 100644 --- a/LEGO1/beachhouseentity.cpp +++ b/LEGO1/beachhouseentity.cpp @@ -1,7 +1,7 @@ #include "beachhouseentity.h" // OFFSET: LEGO1 0x100150a0 STUB -long BeachHouseEntity::Notify(MxParam &p) +MxLong BeachHouseEntity::Notify(MxParam &p) { // TODO diff --git a/LEGO1/beachhouseentity.h b/LEGO1/beachhouseentity.h index 1749ff54..77555a81 100644 --- a/LEGO1/beachhouseentity.h +++ b/LEGO1/beachhouseentity.h @@ -8,7 +8,7 @@ class BeachHouseEntity : public BuildingEntity { public: - virtual long 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 diff --git a/LEGO1/compat.h b/LEGO1/compat.h new file mode 100644 index 00000000..496fa4db --- /dev/null +++ b/LEGO1/compat.h @@ -0,0 +1,14 @@ +#ifndef ISLECOMPAT_H +#define ISLECOMPAT_H + +// Various macros to enable compiling with other/newer compilers. + +// Use `COMPAT_CONST` where something ought to be 'const', and a newer compiler would complain if it +// wasn't, but we know it isn't 'const' in the original code. +#ifdef __MINGW32__ +#define COMPAT_CONST const +#else +#define COMPAT_CONST +#endif + +#endif // ISLECOMPAT_H \ No newline at end of file diff --git a/LEGO1/decomp.h b/LEGO1/decomp.h new file mode 100644 index 00000000..5466e6d8 --- /dev/null +++ b/LEGO1/decomp.h @@ -0,0 +1,11 @@ +#ifndef DECOMP_H +#define DECOMP_H + +#define DECOMP_STATIC_ASSERT(V) namespace { typedef int foo[(V)?1:-1]; } +#define DECOMP_SIZE_ASSERT(T, S) DECOMP_STATIC_ASSERT(sizeof(T) == S) + +typedef unsigned char undefined; +typedef unsigned short undefined2; +typedef unsigned int undefined4; + +#endif // DECOMP_H diff --git a/LEGO1/dllmain.cpp b/LEGO1/dllmain.cpp index 58d0149f..d4b7168b 100644 --- a/LEGO1/dllmain.cpp +++ b/LEGO1/dllmain.cpp @@ -1,7 +1,7 @@ #include // OFFSET: LEGO1 0x10091ee0 -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { return TRUE; } diff --git a/LEGO1/elevatorbottom.cpp b/LEGO1/elevatorbottom.cpp index d216fe35..048ecbba 100644 --- a/LEGO1/elevatorbottom.cpp +++ b/LEGO1/elevatorbottom.cpp @@ -13,7 +13,7 @@ ElevatorBottom::~ElevatorBottom() } // OFFSET: LEGO1 0x10018150 STUB -long ElevatorBottom::Notify(MxParam &p) +MxLong ElevatorBottom::Notify(MxParam &p) { // TODO diff --git a/LEGO1/elevatorbottom.h b/LEGO1/elevatorbottom.h index 0d86080a..e6a56836 100644 --- a/LEGO1/elevatorbottom.h +++ b/LEGO1/elevatorbottom.h @@ -10,7 +10,7 @@ class ElevatorBottom : public LegoWorld ElevatorBottom(); virtual ~ElevatorBottom() override; // vtable+0x0 - virtual long 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 diff --git a/LEGO1/gasstation.cpp b/LEGO1/gasstation.cpp index d50ef317..33590dc9 100644 --- a/LEGO1/gasstation.cpp +++ b/LEGO1/gasstation.cpp @@ -13,7 +13,7 @@ GasStation::~GasStation() } // OFFSET: LEGO1 0x10004a60 STUB -long GasStation::Notify(MxParam &p) +MxLong GasStation::Notify(MxParam &p) { // TODO @@ -21,7 +21,7 @@ long GasStation::Notify(MxParam &p) } // OFFSET: LEGO1 0x10005c90 STUB -long GasStation::Tickle() +MxLong GasStation::Tickle() { // TODO diff --git a/LEGO1/gasstation.h b/LEGO1/gasstation.h index 9f22ca3f..7f2263d0 100644 --- a/LEGO1/gasstation.h +++ b/LEGO1/gasstation.h @@ -12,8 +12,8 @@ class GasStation : public LegoWorld GasStation(); virtual ~GasStation() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x10004780 inline virtual const char *ClassName() const override // vtable+0x0c diff --git a/LEGO1/historybook.cpp b/LEGO1/historybook.cpp index 89c81315..1666cc9d 100644 --- a/LEGO1/historybook.cpp +++ b/LEGO1/historybook.cpp @@ -13,7 +13,7 @@ HistoryBook::~HistoryBook() } // OFFSET: LEGO1 0x10082680 STUB -long HistoryBook::Notify(MxParam &p) +MxLong HistoryBook::Notify(MxParam &p) { // TODO diff --git a/LEGO1/historybook.h b/LEGO1/historybook.h index bbdc6246..2fdcee78 100644 --- a/LEGO1/historybook.h +++ b/LEGO1/historybook.h @@ -11,7 +11,7 @@ class HistoryBook : public LegoWorld HistoryBook(); virtual ~HistoryBook() override; // vtable+0x0 - virtual long 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 diff --git a/LEGO1/hospital.cpp b/LEGO1/hospital.cpp index 2581cf34..9f84d7ce 100644 --- a/LEGO1/hospital.cpp +++ b/LEGO1/hospital.cpp @@ -13,7 +13,7 @@ Hospital::~Hospital() } // OFFSET: LEGO1 0x10074990 STUB -long Hospital::Notify(MxParam &p) +MxLong Hospital::Notify(MxParam &p) { // TODO diff --git a/LEGO1/hospital.h b/LEGO1/hospital.h index b14de205..bcce9823 100644 --- a/LEGO1/hospital.h +++ b/LEGO1/hospital.h @@ -11,7 +11,7 @@ class Hospital : public LegoWorld Hospital(); virtual ~Hospital() override; // vtable+0x0 - virtual long 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 diff --git a/LEGO1/infocenter.cpp b/LEGO1/infocenter.cpp index 1ad07ee4..b9ea67c6 100644 --- a/LEGO1/infocenter.cpp +++ b/LEGO1/infocenter.cpp @@ -13,7 +13,7 @@ Infocenter::~Infocenter() } // OFFSET: LEGO1 0x1006ef10 STUB -long Infocenter::Notify(MxParam &p) +MxLong Infocenter::Notify(MxParam &p) { // TODO @@ -21,7 +21,7 @@ long Infocenter::Notify(MxParam &p) } // OFFSET: LEGO1 0x10070af0 STUB -long Infocenter::Tickle() +MxLong Infocenter::Tickle() { // TODO diff --git a/LEGO1/infocenter.h b/LEGO1/infocenter.h index 49a71acb..a6e06f0f 100644 --- a/LEGO1/infocenter.h +++ b/LEGO1/infocenter.h @@ -11,8 +11,8 @@ class Infocenter : public LegoWorld Infocenter(); virtual ~Infocenter() override; - virtual long Notify(MxParam &p) override; // vtable+0x4 - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x1006eb40 inline virtual const char *ClassName() const override // vtable+0x0c diff --git a/LEGO1/infocenterdoor.cpp b/LEGO1/infocenterdoor.cpp index be57f96e..20e01771 100644 --- a/LEGO1/infocenterdoor.cpp +++ b/LEGO1/infocenterdoor.cpp @@ -13,7 +13,7 @@ InfocenterDoor::~InfocenterDoor() } // OFFSET: LEGO1 0x100379e0 STUB -long InfocenterDoor::Notify(MxParam &p) +MxLong InfocenterDoor::Notify(MxParam &p) { // TODO diff --git a/LEGO1/infocenterdoor.h b/LEGO1/infocenterdoor.h index 77a0c021..0692fbca 100644 --- a/LEGO1/infocenterdoor.h +++ b/LEGO1/infocenterdoor.h @@ -11,7 +11,7 @@ class InfocenterDoor : public LegoWorld InfocenterDoor(); virtual ~InfocenterDoor(); // vtable+0x0 - virtual long 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 diff --git a/LEGO1/legoanimationmanager.cpp b/LEGO1/legoanimationmanager.cpp index cd6210f9..d396d431 100644 --- a/LEGO1/legoanimationmanager.cpp +++ b/LEGO1/legoanimationmanager.cpp @@ -1,5 +1,8 @@ #include "legoanimationmanager.h" +// 0x100f74f8 +int g_legoAnimationManagerConfig = 1; + // OFFSET: LEGO1 0x1005eb60 STUB LegoAnimationManager::LegoAnimationManager() { @@ -12,7 +15,7 @@ LegoAnimationManager::~LegoAnimationManager() } // OFFSET: LEGO1 0x100619f0 STUB -long LegoAnimationManager::Notify(MxParam &p) +MxLong LegoAnimationManager::Notify(MxParam &p) { // TODO @@ -20,7 +23,7 @@ long LegoAnimationManager::Notify(MxParam &p) } // OFFSET: LEGO1 0x10061cc0 STUB -long LegoAnimationManager::Tickle() +MxLong LegoAnimationManager::Tickle() { // TODO @@ -33,8 +36,8 @@ void LegoAnimationManager::Init() // TODO } -// OFFSET: LEGO1 0x1005EB50 STUB +// OFFSET: LEGO1 0x1005eb50 void LegoAnimationManager::configureLegoAnimationManager(int param_1) { - // TODO -} \ No newline at end of file + g_legoAnimationManagerConfig = param_1; +} diff --git a/LEGO1/legoanimationmanager.h b/LEGO1/legoanimationmanager.h index c42b7715..49b95f94 100644 --- a/LEGO1/legoanimationmanager.h +++ b/LEGO1/legoanimationmanager.h @@ -11,8 +11,8 @@ class LegoAnimationManager : public MxCore LegoAnimationManager(); virtual ~LegoAnimationManager() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x1005ec80 inline virtual const char *ClassName() const override // vtable+0x0c diff --git a/LEGO1/legobackgroundcolor.cpp b/LEGO1/legobackgroundcolor.cpp new file mode 100644 index 00000000..2d8c5348 --- /dev/null +++ b/LEGO1/legobackgroundcolor.cpp @@ -0,0 +1,53 @@ +#include "legobackgroundcolor.h" + +#include "legoomni.h" +#include "legoutil.h" +#include "legovideomanager.h" + +const char *g_delimiter = "\t"; +const char *g_set = "set"; +const char *g_reset = "reset"; + +// OFFSET: LEGO1 0x1003bfb0 +LegoBackgroundColor::LegoBackgroundColor(const char *p_name, const char *p_colorString) +{ + m_name = p_name; + m_name.ToUpperCase(); + SetColorString(p_colorString); +} + +// OFFSET: LEGO1 0x1003c070 +void LegoBackgroundColor::SetColorString(const char *p_colorString) +{ + m_string = p_colorString; + m_string.ToLowerCase(); + + 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); + + if (!strcmp(colorStringSplit, g_set)) { + colorStringSplit = strtok(0, g_delimiter); + if (colorStringSplit) + h = (float) (atoi(colorStringSplit) * 0.01); + colorStringSplit = strtok(0, g_delimiter); + if (colorStringSplit) + s = (float) (atoi(colorStringSplit) * 0.01); + colorStringSplit = strtok(0, g_delimiter); + if (colorStringSplit) + v = (float) (atoi(colorStringSplit) * 0.01); + + ConvertHSVToRGB(this->h, this->s, this->v, &converted_r, &converted_g, &converted_b); + videomanager->SetSkyColor(converted_r, converted_g, converted_b); + } + else if (!strcmp(colorStringSplit, g_reset)) { + ConvertHSVToRGB(this->h, this->s, this->v, &converted_r, &converted_g, &converted_b); + videomanager->SetSkyColor(converted_r, converted_g, converted_b); + } + + delete[] colorStringCopy; +} diff --git a/LEGO1/legobackgroundcolor.h b/LEGO1/legobackgroundcolor.h index c660c0bf..9345c394 100644 --- a/LEGO1/legobackgroundcolor.h +++ b/LEGO1/legobackgroundcolor.h @@ -1,10 +1,18 @@ #ifndef LEGOBACKGROUNDCOLOR_H #define LEGOBACKGROUNDCOLOR_H -class LegoBackgroundColor +#include "mxstringvariable.h" + +class LegoBackgroundColor : public MxStringVariable { public: - __declspec(dllexport) LegoBackgroundColor(const char *, const char *); + __declspec(dllexport) LegoBackgroundColor(const char *p_name, const char *p_colorString); + void SetColorString(const char *p_colorString); + +private: + float h; + float s; + float v; }; #endif // LEGOBACKGROUNDCOLOR_H diff --git a/LEGO1/legobuildingmanager.cpp b/LEGO1/legobuildingmanager.cpp index 92e8c962..f6706c78 100644 --- a/LEGO1/legobuildingmanager.cpp +++ b/LEGO1/legobuildingmanager.cpp @@ -1,13 +1,18 @@ #include "legobuildingmanager.h" +// 0x100f37cc +int g_buildingManagerConfig = 1; + // OFFSET: LEGO1 0x1002f8c0 STUB LegoBuildingManager::LegoBuildingManager() { + // TODO } // OFFSET: LEGO1 0x1002f960 STUB LegoBuildingManager::~LegoBuildingManager() { + // TODO } // OFFSET: LEGO1 0x1002f9d0 STUB @@ -16,8 +21,8 @@ void LegoBuildingManager::Init() // TODO } -// OFFSET: LEGO1 0x1002F8B0 STUB +// OFFSET: LEGO1 0x1002f8b0 void LegoBuildingManager::configureLegoBuildingManager(int param_1) { - // TODO + g_buildingManagerConfig = param_1; } diff --git a/LEGO1/legocarbuild.cpp b/LEGO1/legocarbuild.cpp index d96668e4..c9254c37 100644 --- a/LEGO1/legocarbuild.cpp +++ b/LEGO1/legocarbuild.cpp @@ -13,7 +13,7 @@ LegoCarBuild::~LegoCarBuild() } // OFFSET: LEGO1 0x10024050 STUB -long LegoCarBuild::Notify(MxParam &p) +MxLong LegoCarBuild::Notify(MxParam &p) { // TODO @@ -21,7 +21,7 @@ long LegoCarBuild::Notify(MxParam &p) } // OFFSET: LEGO1 0x100238b0 STUB -long LegoCarBuild::Tickle() +MxLong LegoCarBuild::Tickle() { // TODO diff --git a/LEGO1/legocarbuild.h b/LEGO1/legocarbuild.h index 10396c9e..d320cd6e 100644 --- a/LEGO1/legocarbuild.h +++ b/LEGO1/legocarbuild.h @@ -11,8 +11,8 @@ class LegoCarBuild : public LegoWorld LegoCarBuild(); virtual ~LegoCarBuild() override; - virtual long Notify(MxParam &p) override; // vtable+0x4 - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x10022940 inline virtual const char *ClassName() const override // vtable+0x0c diff --git a/LEGO1/legocontrolmanager.cpp b/LEGO1/legocontrolmanager.cpp index 0959df9c..16733e13 100644 --- a/LEGO1/legocontrolmanager.cpp +++ b/LEGO1/legocontrolmanager.cpp @@ -13,7 +13,7 @@ LegoControlManager::~LegoControlManager() } // OFFSET: LEGO1 0x10029600 STUB -long LegoControlManager::Tickle() +MxLong LegoControlManager::Tickle() { // TODO diff --git a/LEGO1/legocontrolmanager.h b/LEGO1/legocontrolmanager.h index d3e183fd..c4563776 100644 --- a/LEGO1/legocontrolmanager.h +++ b/LEGO1/legocontrolmanager.h @@ -10,7 +10,7 @@ class LegoControlManager : public MxCore LegoControlManager(); virtual ~LegoControlManager() override; // vtable+0x0 - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x10028cb0 inline virtual const char *ClassName() const override // vtable+0x0c diff --git a/LEGO1/legoentity.cpp b/LEGO1/legoentity.cpp index fe500cb7..b79bc587 100644 --- a/LEGO1/legoentity.cpp +++ b/LEGO1/legoentity.cpp @@ -7,7 +7,7 @@ LegoEntity::~LegoEntity() } // OFFSET: LEGO1 0x100114f0 STUB -long LegoEntity::Notify(MxParam &p) +MxLong LegoEntity::Notify(MxParam &p) { // TODO diff --git a/LEGO1/legoentity.h b/LEGO1/legoentity.h index 774b19f2..46aea940 100644 --- a/LEGO1/legoentity.h +++ b/LEGO1/legoentity.h @@ -15,7 +15,7 @@ class LegoEntity : public MxEntity __declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0 - virtual long 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 diff --git a/LEGO1/legogamestate.cpp b/LEGO1/legogamestate.cpp index 6c618b6c..344cf1ca 100644 --- a/LEGO1/legogamestate.cpp +++ b/LEGO1/legogamestate.cpp @@ -1,22 +1,58 @@ #include "legogamestate.h" +#include "legoomni.h" -long LegoGameState::Save(unsigned long p) +// OFFSET: LEGO1 0x10039550 +LegoGameState::LegoGameState() { - // FIXME: Stub + // TODO +} + +// OFFSET: LEGO1 0x10039720 +LegoGameState::~LegoGameState() +{ + // TODO +} + +// OFFSET: LEGO1 0x10039c60 +MxResult LegoGameState::Load(MxULong) +{ + // TODO return 0; } -void LegoGameState::SerializePlayersInfo(short p) +// OFFSET: LEGO1 0x10039980 +MxResult LegoGameState::Save(MxULong p) { - // FIXME: Stub + // TODO + return 0; } -void LegoGameState::SerializeScoreHistory(short p) +// OFFSET: LEGO1 0x1003a2e0 +void LegoGameState::SerializePlayersInfo(MxS16 p) { - // FIXME: Stub + // TODO } -void LegoGameState::SetSavePath(char* p) +// OFFSET: LEGO1 0x1003cdd0 +void LegoGameState::SerializeScoreHistory(MxS16 p) { - // FIXME: Stub + // TODO +} + +// OFFSET: LEGO1 0x10039f00 +void LegoGameState::SetSavePath(char *p_savePath) +{ + if (m_savePath != NULL) + { + delete[] m_savePath; + } + if (p_savePath) + { + m_savePath = new char[strlen(p_savePath) + 1]; + strcpy(m_savePath, p_savePath); + } + else + { + m_savePath = NULL; + } } diff --git a/LEGO1/legogamestate.h b/LEGO1/legogamestate.h index 239719eb..ef2eeb1e 100644 --- a/LEGO1/legogamestate.h +++ b/LEGO1/legogamestate.h @@ -1,16 +1,21 @@ #ifndef LEGOGAMESTATE_H #define LEGOGAMESTATE_H +#include "mxtypes.h" + class LegoGameState { public: __declspec(dllexport) LegoGameState(); __declspec(dllexport) ~LegoGameState(); - __declspec(dllexport) long Load(unsigned long); - __declspec(dllexport) long Save(unsigned long p); - __declspec(dllexport) void SerializePlayersInfo(short p); - __declspec(dllexport) void SerializeScoreHistory(short p); + __declspec(dllexport) MxResult Load(MxULong); + __declspec(dllexport) MxResult Save(MxULong p); + __declspec(dllexport) void SerializePlayersInfo(MxS16 p); + __declspec(dllexport) void SerializeScoreHistory(MxS16 p); __declspec(dllexport) void SetSavePath(char *p); + +private: + char *m_savePath; }; #endif // LEGOGAMESTATE_H diff --git a/LEGO1/legoinputmanager.cpp b/LEGO1/legoinputmanager.cpp index fe6648ee..864e62ab 100644 --- a/LEGO1/legoinputmanager.cpp +++ b/LEGO1/legoinputmanager.cpp @@ -1,5 +1,9 @@ #include "legoinputmanager.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(LegoInputManager, 0x338); // 0x10059085 + // OFFSET: LEGO1 0x1005b790 STUB LegoInputManager::LegoInputManager() { @@ -12,8 +16,26 @@ LegoInputManager::~LegoInputManager() // TODO } +// OFFSET: LEGO1 0x1005c740 STUB +void LegoInputManager::QueueEvent(NotificationId id, unsigned char p2, MxLong p3, MxLong p4, unsigned char p5) +{ + // TODO +} + +// OFFSET: LEGO1 0x1005c470 STUB +void LegoInputManager::Register(MxCore *) +{ + // TODO +} + +// OFFSET: LEGO1 0x1005c5c0 STUB +void LegoInputManager::UnRegister(MxCore *) +{ + // TODO +} + // OFFSET: LEGO1 0x1005b8b0 STUB -long LegoInputManager::Tickle() +MxLong LegoInputManager::Tickle() { // TODO diff --git a/LEGO1/legoinputmanager.h b/LEGO1/legoinputmanager.h index caafed52..7ae2dd62 100644 --- a/LEGO1/legoinputmanager.h +++ b/LEGO1/legoinputmanager.h @@ -1,9 +1,10 @@ #ifndef LEGOINPUTMANAGER_H #define LEGOINPUTMANAGER_H -#include "mxcore.h" +#include "decomp.h" +#include "mxpresenter.h" -__declspec(dllexport) enum NotificationId +enum NotificationId { NONE = 0, KEYDOWN = 7, @@ -15,21 +16,21 @@ __declspec(dllexport) enum NotificationId // VTABLE 0x100d8760 // SIZE 0x338 -class LegoInputManager +class LegoInputManager : public MxPresenter { public: LegoInputManager(); virtual ~LegoInputManager() override; - __declspec(dllexport) void QueueEvent(NotificationId id, unsigned char p2, long p3, long p4, unsigned char p5); + __declspec(dllexport) void QueueEvent(NotificationId id, unsigned char p2, MxLong p3, MxLong p4, unsigned char p5); __declspec(dllexport) void Register(MxCore *); __declspec(dllexport) void UnRegister(MxCore *); - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Tickle() override; // vtable+0x8 - char m_pad00[0x19C]; + undefined m_pad40[0x15c]; int m_joystickIndex; - char m_pad200[0x194]; + undefined m_pad200[0x194]; MxBool m_useJoystick; }; diff --git a/LEGO1/legomodelpresenter.cpp b/LEGO1/legomodelpresenter.cpp index cd2c6428..b038287c 100644 --- a/LEGO1/legomodelpresenter.cpp +++ b/LEGO1/legomodelpresenter.cpp @@ -1,6 +1,10 @@ #include "legomodelpresenter.h" +// 0x100f7ae0 +int g_modelPresenterConfig = 1; + +// OFFSET: LEGO1 0x1007f660 void LegoModelPresenter::configureLegoModelPresenter(int param_1) { - // FIXME: Stub + g_modelPresenterConfig = param_1; } diff --git a/LEGO1/legonavcontroller.cpp b/LEGO1/legonavcontroller.cpp index af618de9..90c0a485 100644 --- a/LEGO1/legonavcontroller.cpp +++ b/LEGO1/legonavcontroller.cpp @@ -106,8 +106,7 @@ void LegoNavController::SetControlMax(int p_hMax, int p_vMax) this->m_hMax = p_hMax; this->m_vMax = p_vMax; - if (VideoManager()->GetVideoParam().flags().GetFullScreen()) - { + if (VideoManager()->GetVideoParam().flags().GetFullScreen()) { this->m_hMax = 640; this->m_vMax = 480; } @@ -134,19 +133,15 @@ void LegoNavController::ResetToDefault() void LegoNavController::SetTargets(int p_hPos, int p_vPos, MxBool p_accel) { if (this->m_trackDefault != FALSE) - { ResetToDefault(); - } - if (p_accel != FALSE) - { + if (p_accel != 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 - { + else { this->m_targetTurnSpeed = 0.0f; this->m_targetMovementSpeed = 0.0f; this->m_movementAccel = this->m_movementDecel; @@ -179,9 +174,28 @@ float LegoNavController::CalculateNewAccel(int p_pos, int p_center, float p_maxA result = Abs(diff) * p_maxAccel / p_center; if (result < p_minAccel) - { - result = (float)p_minAccel; - } + result = (float) p_minAccel; return result; } + +// OFFSET: LEGO1 0x10054fe0 +float LegoNavController::CalculateNewVel(float p_targetVel, float p_currentVel, float p_accel, float p_time) +{ + float newVel = p_currentVel; + + float velDiff = p_targetVel - p_currentVel; + int vSign = velDiff > 0 ? 1 : -1; + + if (Abs(velDiff) > this->m_zeroThreshold) { + float deltaVel = p_accel * p_time; + newVel = p_currentVel + (deltaVel * vSign); + + if (vSign > 0) + newVel = Min(newVel, p_targetVel); + else + newVel = Max(newVel, p_targetVel); + } + + return newVel; +} \ No newline at end of file diff --git a/LEGO1/legonavcontroller.h b/LEGO1/legonavcontroller.h index 9bffd7dd..89af9f12 100644 --- a/LEGO1/legonavcontroller.h +++ b/LEGO1/legonavcontroller.h @@ -40,6 +40,7 @@ class LegoNavController : public MxCore 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); + float CalculateNewVel(float p_targetVel, float p_currentVel, float p_accel, float p_time); private: int m_hMax; diff --git a/LEGO1/legoomni.cpp b/LEGO1/legoomni.cpp index a803a88f..d482fa89 100644 --- a/LEGO1/legoomni.cpp +++ b/LEGO1/legoomni.cpp @@ -1,5 +1,11 @@ #include "legoomni.h" +// 0x100f4588 +char *g_nocdSourceName = NULL; + +// 0x101020e8 +void (*g_omniUserMessage)(const char *,int); + // OFFSET: LEGO1 0x10058a00 LegoOmni::LegoOmni() { @@ -12,6 +18,44 @@ LegoOmni::~LegoOmni() Destroy(); } +// OFFSET: LEGO1 0x1005b560 STUB +void LegoOmni::CreateBackgroundAudio() +{ + // TODO +} + +// OFFSET: LEGO1 0x1005af10 STUB +void LegoOmni::RemoveWorld(const MxAtomId &p1, MxLong p2) +{ + // TODO +} + +// OFFSET: LEGO1 0x1005b400 STUB +int LegoOmni::GetCurrPathInfo(LegoPathBoundary **,int &) +{ + // TODO + return 0; +} + +// OFFSET: LEGO1 0x100b6ff0 STUB +void MakeSourceName(char *, const char *) +{ + // TODO +} + +// OFFSET: LEGO1 0x100b7210 +void SetOmniUserMessage(void (*p_userMsg)(const char *,int)) +{ + g_omniUserMessage = p_userMsg; +} + +// OFFSET: LEGO1 0x100acf50 STUB +MxLong Start(MxDSAction *) +{ + // TODO + return 0; +} + // OFFSET: LEGO1 0x1005ad10 LegoOmni *LegoOmni::GetInstance() { @@ -67,6 +111,13 @@ MxBackgroundAudioManager *BackgroundAudioManager() return LegoOmni::GetInstance()->GetBackgroundAudioManager(); } +// OFFSET: LEGO1 0x100c0280 STUB +MxDSObject *CreateStreamObject(MxDSFile *,MxS16) +{ + // TODO + return NULL; +} + // OFFSET: LEGO1 0x10015740 LegoInputManager *InputManager() { @@ -91,14 +142,33 @@ MxTransitionManager *TransitionManager() return LegoOmni::GetInstance()->GetTransitionManager(); } +// OFFSET: LEGO1 0x10053430 +const char *GetNoCD_SourceName() +{ + return g_nocdSourceName; +} // OFFSET: LEGO1 0x1005b5f0 -long LegoOmni::Notify(MxParam &p) +MxLong LegoOmni::Notify(MxParam &p) { // FIXME: Stub return 0; } +// OFFSET: LEGO1 0x1003dd70 STUB +LegoROI *PickROI(MxLong,MxLong) +{ + // TODO + return NULL; +} + +// OFFSET: LEGO1 0x1003ddc0 STUB +LegoEntity *PickEntity(MxLong,MxLong) +{ + // TODO + return NULL; +} + // OFFSET: LEGO1 0x10058bd0 void LegoOmni::Init() { @@ -106,7 +176,7 @@ void LegoOmni::Init() } // OFFSET: LEGO1 0x10058e70 -MxResult LegoOmni::Create(MxOmniCreateParam &p) +MxResult LegoOmni::Create(COMPAT_CONST MxOmniCreateParam &p) { // FIXME: Stub return SUCCESS; diff --git a/LEGO1/legoomni.h b/LEGO1/legoomni.h index 05c1bfd0..0ba27cf2 100644 --- a/LEGO1/legoomni.h +++ b/LEGO1/legoomni.h @@ -1,10 +1,12 @@ #ifndef LEGOOMNI_H #define LEGOOMNI_H +#include "compat.h" #include "legoentity.h" #include "legoinputmanager.h" #include "legogamestate.h" #include "legonavcontroller.h" +#include "legopathboundary.h" #include "legoroi.h" #include "legovideomanager.h" #include "mxatomid.h" @@ -26,15 +28,15 @@ class LegoOmni : public MxOmni { public: __declspec(dllexport) void CreateBackgroundAudio(); - __declspec(dllexport) void RemoveWorld(const MxAtomId &p1, long p2); - __declspec(dllexport) static int GetCurrPathInfo(class LegoPathBoundary * *,int &); + __declspec(dllexport) void RemoveWorld(const MxAtomId &p1, MxLong p2); + __declspec(dllexport) static int GetCurrPathInfo(LegoPathBoundary **,int &); __declspec(dllexport) static void CreateInstance(); __declspec(dllexport) static LegoOmni *GetInstance(); LegoOmni(); virtual ~LegoOmni(); // vtable+00 - virtual long Notify(MxParam &p); // vtable+04 + virtual MxLong Notify(MxParam &p); // vtable+04 // OFFSET: LEGO1 0x10058aa0 inline virtual const char *ClassName() const // vtable+0c @@ -50,7 +52,7 @@ class LegoOmni : public MxOmni } virtual void Init(); // vtable+14 - virtual MxResult Create(MxOmniCreateParam &p); // vtable+18 + virtual MxResult Create(COMPAT_CONST MxOmniCreateParam &p); // vtable+18 virtual void Destroy(); // vtable+1c virtual void vtable20(); virtual void vtable24(MxDSAction &ds); @@ -93,21 +95,20 @@ class LegoOmni : public MxOmni }; __declspec(dllexport) MxBackgroundAudioManager * BackgroundAudioManager(); -__declspec(dllexport) MxDSObject * CreateStreamObject(MxDSFile *,short); +__declspec(dllexport) MxDSObject * CreateStreamObject(MxDSFile *,MxS16); __declspec(dllexport) LegoGameState * GameState(); __declspec(dllexport) const char * GetNoCD_SourceName(); __declspec(dllexport) LegoInputManager * InputManager(); __declspec(dllexport) LegoOmni * Lego(); __declspec(dllexport) void MakeSourceName(char *, const char *); -__declspec(dllexport) MxNotificationManager * NotificationManager(); -__declspec(dllexport) LegoEntity * PickEntity(long,long); -__declspec(dllexport) LegoROI * PickROI(long,long); +__declspec(dllexport) LegoEntity * PickEntity(MxLong,MxLong); +__declspec(dllexport) LegoROI * PickROI(MxLong,MxLong); __declspec(dllexport) void SetOmniUserMessage(void (*)(const char *,int)); __declspec(dllexport) LegoSoundManager * SoundManager(); -__declspec(dllexport) long Start(MxDSAction *); +__declspec(dllexport) MxLong Start(MxDSAction *); __declspec(dllexport) MxTransitionManager * TransitionManager(); __declspec(dllexport) LegoVideoManager * VideoManager(); -__declspec(dllexport) long Start(MxDSAction *a); +__declspec(dllexport) MxLong Start(MxDSAction *a); LegoBuildingManager* BuildingManager(); Isle* GetIsle(); diff --git a/LEGO1/legopartpresenter.cpp b/LEGO1/legopartpresenter.cpp index ed43ef14..376073f0 100644 --- a/LEGO1/legopartpresenter.cpp +++ b/LEGO1/legopartpresenter.cpp @@ -1,6 +1,14 @@ #include "legopartpresenter.h" +// 0x100f7aa0 +int g_partPresenterConfig1 = 1; + +// 0x100f7aa4 +int g_partPresenterConfig2 = 100; + +// OFFSET: LEGO1 0x1007c990 void LegoPartPresenter::configureLegoPartPresenter(int param_1, int param_2) { - // FIXME: Stub + g_partPresenterConfig1 = param_1; + g_partPresenterConfig2 = param_2; } diff --git a/LEGO1/legopathboundary.h b/LEGO1/legopathboundary.h new file mode 100644 index 00000000..c1f9d6ff --- /dev/null +++ b/LEGO1/legopathboundary.h @@ -0,0 +1,9 @@ +#ifndef LEGOPATHBOUNDARH_H +#define LEGOPATHBOUNDARH_H + +class LegoPathBoundary +{ + +}; + +#endif // LEGOPATHBOUNDARH_H diff --git a/LEGO1/legopathcontroller.cpp b/LEGO1/legopathcontroller.cpp index 46e23f5e..0cebbc0f 100644 --- a/LEGO1/legopathcontroller.cpp +++ b/LEGO1/legopathcontroller.cpp @@ -13,7 +13,7 @@ LegoPathController::~LegoPathController() } // OFFSET: LEGO1 0x10045c10 STUB -long LegoPathController::Tickle() +MxLong LegoPathController::Tickle() { // TODO return 0; diff --git a/LEGO1/legopathcontroller.h b/LEGO1/legopathcontroller.h index 9686b2bd..ba415076 100644 --- a/LEGO1/legopathcontroller.h +++ b/LEGO1/legopathcontroller.h @@ -11,7 +11,7 @@ class LegoPathController : public MxCore LegoPathController(); virtual ~LegoPathController() override; - virtual long Tickle() override; // vtable+08 + virtual MxLong Tickle() override; // vtable+08 // OFFSET: LEGO1 0x10045110 inline const char *ClassName() const override // vtable+0xc diff --git a/LEGO1/legoplantmanager.cpp b/LEGO1/legoplantmanager.cpp index 8f67b939..eee83726 100644 --- a/LEGO1/legoplantmanager.cpp +++ b/LEGO1/legoplantmanager.cpp @@ -13,7 +13,7 @@ LegoPlantManager::~LegoPlantManager() } // OFFSET: LEGO1 0x10026e00 STUB -long LegoPlantManager::Tickle() +MxLong LegoPlantManager::Tickle() { // TODO diff --git a/LEGO1/legoplantmanager.h b/LEGO1/legoplantmanager.h index 272fb451..3e8bfefe 100644 --- a/LEGO1/legoplantmanager.h +++ b/LEGO1/legoplantmanager.h @@ -11,7 +11,7 @@ class LegoPlantManager : public MxCore LegoPlantManager(); virtual ~LegoPlantManager() override; // vtable+0x0 - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x10026290 inline const char *ClassName() const override // vtable+0xc diff --git a/LEGO1/legorace.cpp b/LEGO1/legorace.cpp index 888b1fe1..2b2e3390 100644 --- a/LEGO1/legorace.cpp +++ b/LEGO1/legorace.cpp @@ -13,7 +13,7 @@ LegoRace::~LegoRace() } // OFFSET: LEGO1 0x10015e00 STUB -long LegoRace::Notify(MxParam &p) +MxLong LegoRace::Notify(MxParam &p) { // TODO diff --git a/LEGO1/legorace.h b/LEGO1/legorace.h index 003e57ed..26c88b9b 100644 --- a/LEGO1/legorace.h +++ b/LEGO1/legorace.h @@ -10,7 +10,7 @@ class LegoRace : public LegoWorld LegoRace(); virtual ~LegoRace() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 // OFFSET: LEGO1 0x10015ba0 inline const char *ClassName() const override // vtable+0xc diff --git a/LEGO1/legoroi.cpp b/LEGO1/legoroi.cpp index f0f50127..97ac06f8 100644 --- a/LEGO1/legoroi.cpp +++ b/LEGO1/legoroi.cpp @@ -1,6 +1,17 @@ #include "legoroi.h" -void LegoROI::configureLegoROI(int param_1) +// 0x10101368 +int g_roiConfig = 100; + +// OFFSET: LEGO1 0x100a9e10 +void LegoROI::SetDisplayBB(int p_displayBB) { - // FIXME: Stub + // Intentionally empty function } + +// OFFSET: LEGO1 0x100a81c0 +void LegoROI::configureLegoROI(int p_roi) +{ + g_roiConfig = p_roi; +} + diff --git a/LEGO1/legoroi.h b/LEGO1/legoroi.h index 8bfc0faa..3baa31fa 100644 --- a/LEGO1/legoroi.h +++ b/LEGO1/legoroi.h @@ -4,8 +4,8 @@ class LegoROI { public: - __declspec(dllexport) void SetDisplayBB(int); - __declspec(dllexport) static void configureLegoROI(int param_1); + __declspec(dllexport) void SetDisplayBB(int p_displayBB); + __declspec(dllexport) static void configureLegoROI(int p_roi); }; #endif // LEGOROI_H diff --git a/LEGO1/legosoundmanager.cpp b/LEGO1/legosoundmanager.cpp index 518b8c55..e56747f6 100644 --- a/LEGO1/legosoundmanager.cpp +++ b/LEGO1/legosoundmanager.cpp @@ -13,7 +13,7 @@ LegoSoundManager::~LegoSoundManager() } // OFFSET: LEGO1 0x1002a3a0 STUB -long LegoSoundManager::Tickle() +MxLong LegoSoundManager::Tickle() { // TODO return 0; diff --git a/LEGO1/legosoundmanager.h b/LEGO1/legosoundmanager.h index 9b1e6450..1d191e03 100644 --- a/LEGO1/legosoundmanager.h +++ b/LEGO1/legosoundmanager.h @@ -10,7 +10,7 @@ class LegoSoundManager : public MxSoundManager public: LegoSoundManager(); virtual ~LegoSoundManager() override; - virtual long Tickle() override; // vtable+08 + virtual MxLong Tickle() override; // vtable+08 private: void Init(); diff --git a/LEGO1/legostate.cpp b/LEGO1/legostate.cpp index 2b49fcd7..55637dc4 100644 --- a/LEGO1/legostate.cpp +++ b/LEGO1/legostate.cpp @@ -4,3 +4,8 @@ LegoState::~LegoState() { } + +// OFFSET: LEGO1 0x10005f90 +MxBool LegoState::VTable0x14() { + return TRUE; +} diff --git a/LEGO1/legostate.h b/LEGO1/legostate.h index be7289bc..904ad323 100644 --- a/LEGO1/legostate.h +++ b/LEGO1/legostate.h @@ -11,7 +11,7 @@ class LegoState : public MxCore // OFFSET: LEGO1 0x100060d0 inline virtual const char *ClassName() const override // vtable+0x0c - { + { // 0x100f01b8 return "LegoState"; } @@ -22,6 +22,8 @@ class LegoState : public MxCore return !strcmp(name, LegoState::ClassName()) || MxCore::IsA(name); } + virtual MxBool VTable0x14(); + }; #endif // LEGOSTATE_H diff --git a/LEGO1/legoutil.cpp b/LEGO1/legoutil.cpp new file mode 100644 index 00000000..bac8f284 --- /dev/null +++ b/LEGO1/legoutil.cpp @@ -0,0 +1,73 @@ +#include "legoutil.h" + +#include "mxtypes.h" + +// OFFSET: LEGO1 0x1003eae0 +void ConvertHSVToRGB(float h, float s, float v, float *r_out, float *b_out, float *g_out) +{ + double calc; + double p; + MxLong hue_index; + double v9; + double v12; + double v13; + + double s_dbl = s; + + if (s > 0.5f) + calc = (1.0f - v) * s + v; + else + calc = (v + 1.0) * s_dbl; + if (calc <= 0.0) + { + *g_out = 0.0f; + *b_out = 0.0f; + *r_out = 0.0f; + return; + } + p = s * 2.0f - calc; + hue_index = h * 6.0; + v9 = (h * 6.0 - (float)hue_index) * ((calc - p) / calc) * calc; + v12 = p + v9; + v13 = calc - v9; + switch (hue_index) + { + case 0: + *r_out = calc; + *b_out = v12; + *g_out = p; + break; + case 1: + *r_out = v13; + *b_out = calc; + *g_out = p; + break; + case 2: + *r_out = p; + *b_out = calc; + *g_out = v12; + break; + case 3: + *r_out = p; + *b_out = v13; + *g_out = calc; + break; + case 4: + *r_out = v12; + *b_out = p; + *g_out = calc; + break; + case 5: + *r_out = calc; + *b_out = p; + *g_out = v13; + break; + case 6: + *r_out = calc; + *b_out = p; + *g_out = v13; + break; + default: + return; + } +} diff --git a/LEGO1/legoutil.h b/LEGO1/legoutil.h index e94a6440..6a0113e8 100644 --- a/LEGO1/legoutil.h +++ b/LEGO1/legoutil.h @@ -7,4 +7,18 @@ inline T Abs(T p_t) return p_t < 0 ? -p_t : p_t; } +template +inline T Min(T p_t1, T p_t2) +{ + return p_t1 < p_t2 ? p_t1 : p_t2; +} + +template +inline T Max(T p_t1, T p_t2) +{ + return p_t1 > p_t2 ? p_t1 : p_t2; +} + +void ConvertHSVToRGB(float r, float g, float b, float* out_r, float* out_g, float* out_b); + #endif // LEGOUTIL_H diff --git a/LEGO1/legovideomanager.cpp b/LEGO1/legovideomanager.cpp index 060cc61f..9c1044e2 100644 --- a/LEGO1/legovideomanager.cpp +++ b/LEGO1/legovideomanager.cpp @@ -1,4 +1,5 @@ #include "legovideomanager.h" +#include // OFFSET: LEGO1 0x1007aa20 STUB LegoVideoManager::LegoVideoManager() @@ -37,3 +38,15 @@ void LegoVideoManager::MoveCursor(int x, int y) { // TODO } + +// OFFSET: LEGO1 0x1007c440 +void LegoVideoManager::SetSkyColor(float red, float green, float blue) +{ + PALETTEENTRY colorStrucure; // [esp+0h] [ebp-4h] BYREF + + colorStrucure.peRed = (red* 255.0); + colorStrucure.peGreen = (green * 255.0); + colorStrucure.peBlue = (blue * 255.0); + colorStrucure.peFlags = -124; + // TODO +} diff --git a/LEGO1/legovideomanager.h b/LEGO1/legovideomanager.h index ec1aa6fd..379ec468 100644 --- a/LEGO1/legovideomanager.h +++ b/LEGO1/legovideomanager.h @@ -18,6 +18,7 @@ class LegoVideoManager : public MxVideoManager __declspec(dllexport) void MoveCursor(int x, int y); inline Lego3DManager *Get3DManager() { return this->m_3dManager; } + void SetSkyColor(float r, float g, float b); int m_unk64; Lego3DManager *m_3dManager; diff --git a/LEGO1/mxatomid.h b/LEGO1/mxatomid.h index 9a218a1b..4a2082cf 100644 --- a/LEGO1/mxatomid.h +++ b/LEGO1/mxatomid.h @@ -1,8 +1,14 @@ #ifndef MXATOMID_H #define MXATOMID_H +#include "mxtypes.h" + enum LookupMode { + LookupMode_Exact = 0, + LookupMode_LowerCase = 1, + LookupMode_UpperCase = 2, + LookupMode_LowerCase2 = 3 }; class MxAtomId @@ -17,6 +23,11 @@ class MxAtomId this->m_internal = 0; } + inline MxBool operator ==(const MxAtomId &other) const + { + return this->m_internal == other.m_internal; + } + private: char *m_internal; }; diff --git a/LEGO1/mxaudiopresenter.cpp b/LEGO1/mxaudiopresenter.cpp index b15c2556..ac634362 100644 --- a/LEGO1/mxaudiopresenter.cpp +++ b/LEGO1/mxaudiopresenter.cpp @@ -1 +1,5 @@ #include "mxaudiopresenter.h" + +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxAudioPresenter, 0x54); diff --git a/LEGO1/mxaudiopresenter.h b/LEGO1/mxaudiopresenter.h index b23eefe9..c1001a13 100644 --- a/LEGO1/mxaudiopresenter.h +++ b/LEGO1/mxaudiopresenter.h @@ -7,9 +7,13 @@ class MxAudioPresenter : public MxMediaPresenter { public: + MxAudioPresenter() { + m_unk50 = 100; + } + // OFFSET: LEGO1 0x1000d280 inline virtual const char *ClassName() const override // vtable+0x0c - { + { // 0x100f078c return "MxAudioPresenter"; } @@ -19,6 +23,8 @@ class MxAudioPresenter : public MxMediaPresenter { return !strcmp(name, MxAudioPresenter::ClassName()) || MxMediaPresenter::IsA(name); } + + int m_unk50; }; #endif // MXAUDIOPRESENTER_H diff --git a/LEGO1/mxbitmap.cpp b/LEGO1/mxbitmap.cpp new file mode 100644 index 00000000..6ad26f94 --- /dev/null +++ b/LEGO1/mxbitmap.cpp @@ -0,0 +1,129 @@ +#include "mxbitmap.h" + +// OFFSET: LEGO1 0x100bc980 +MxBitmap::MxBitmap() +{ + this->m_info = NULL; + this->m_bmiHeader = NULL; + this->m_paletteData = NULL; + this->m_data = NULL; + this->m_unk18 = FALSE; + this->m_palette = NULL; +} + +// OFFSET: LEGO1 0x100bca10 +MxBitmap::~MxBitmap() +{ + if (this->m_info != NULL) + delete m_info; + if (this->m_data != NULL) + delete m_data; + if (this->m_palette != NULL) + delete m_palette; +} + +// OFFSET: LEGO1 0x100bcc40 STUB +int MxBitmap::vtable14(int) +{ + return 0; +} + +// OFFSET: LEGO1 0x100bcba0 STUB +int MxBitmap::vtable18(BITMAPINFOHEADER *p_bmiHeader) +{ + return 0; +} + +// OFFSET: LEGO1 0x100bcaa0 STUB +int MxBitmap::vtable1c(int p_width, int p_height, MxPalette *p_palette, int) +{ + return 0; +} + +// OFFSET: LEGO1 0x100bcd60 STUB +MxResult MxBitmap::LoadFile(HANDLE p_handle) +{ + return SUCCESS; +} + +// OFFSET: LEGO1 0x100bcd10 +MxLong MxBitmap::Read(const char *p_filename) +{ + MxResult result = FAILURE; + HANDLE handle = CreateFileA( + p_filename, + GENERIC_READ, + FILE_SHARE_READ, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL + ); + + if (handle != INVALID_HANDLE_VALUE && !LoadFile(handle)) + result = SUCCESS; + + if (handle) + CloseHandle(handle); + + return result; +} + +// OFFSET: LEGO1 0x1004e0d0 +int MxBitmap::vtable28(int) +{ + return -1; +} + +// OFFSET: LEGO1 0x100ce70 STUB +void MxBitmap::vtable2c(int, int, int, int, int, int, int) +{ +} + +// OFFSET: LEGO1 0x100d020 STUB +void MxBitmap::vtable30(int, int, int, int, int, int, int) +{ +} + +// OFFSET: LEGO1 0x100bd1c0 +MxPalette *MxBitmap::CreatePalette() +{ + // FIXME: This function needs MxPalette to be completed. Also INFERRING usage of MxBool + MxPalette *pal = NULL; + MxPalette *ppal; + MxBool success = FALSE; + + if(this->m_unk18 == FALSE) { + // ppal = MxPalette::FromBitmapPalette(this->m_paletteData); + } else { + if(this->m_unk18 != TRUE) { + if(!success && pal != NULL) { + delete pal; + pal = NULL; + } + } + //.pal = MxPalette::Clone(this->m_palette); + } + if(pal != NULL) { + success = TRUE; + } + + return pal; +} + +// OFFSET: LEGO1 0x100bd280 STUB +void MxBitmap::vtable38(void*) +{ +} + +// OFFSET: LEGO1 0x100bd2d0 STUB +int MxBitmap::vtable3c(MxBool) +{ + return 0; +} + +// OFFSET: LEGO1 0x100bd3e0 STUB +int MxBitmap::vtable40(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight) +{ + return 0; +} \ No newline at end of file diff --git a/LEGO1/mxbitmap.h b/LEGO1/mxbitmap.h index 1613c47e..66550f7e 100644 --- a/LEGO1/mxbitmap.h +++ b/LEGO1/mxbitmap.h @@ -1,13 +1,38 @@ #ifndef MXBITMAP_H #define MXBITMAP_H -class MxBitmap +#include + +#include "mxcore.h" +#include "mxpalette.h" +#include "mxtypes.h" + +class MxBitmap : public MxCore { public: __declspec(dllexport) MxBitmap(); - __declspec(dllexport) virtual ~MxBitmap(); - __declspec(dllexport) virtual MxPalette *CreatePalette(); - __declspec(dllexport) virtual long Read(const char *); + __declspec(dllexport) virtual ~MxBitmap(); // vtable+00 + + virtual int vtable14(int); + virtual int vtable18(BITMAPINFOHEADER *p_bmiHeader); + virtual int vtable1c(int p_width, int p_height, MxPalette *p_palette, int); + virtual MxResult LoadFile(HANDLE p_handle); + __declspec(dllexport) virtual MxLong Read(const char *p_filename); // vtable+24 + virtual int vtable28(int); + virtual void vtable2c(int, int, int, int, int, int, int); + virtual void vtable30(int, int, int, int, int, int, int); + __declspec(dllexport) virtual MxPalette *CreatePalette(); // vtable+34 + virtual void vtable38(void*); + virtual int vtable3c(MxBool); + virtual int vtable40(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight); + +private: + BITMAPINFO *m_info; + BITMAPINFOHEADER *m_bmiHeader; + RGBQUAD *m_paletteData; + LPVOID *m_data; + MxBool m_unk18; + MxPalette *m_palette; }; #endif // MXBITMAP_H diff --git a/LEGO1/mxcompositepresenter.cpp b/LEGO1/mxcompositepresenter.cpp index e42dbadb..342f3d96 100644 --- a/LEGO1/mxcompositepresenter.cpp +++ b/LEGO1/mxcompositepresenter.cpp @@ -1,5 +1,9 @@ #include "mxcompositepresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxCompositePresenter, 0x4c); + // OFFSET: LEGO1 0x100b60b0 STUB MxCompositePresenter::MxCompositePresenter() { diff --git a/LEGO1/mxcompositepresenter.h b/LEGO1/mxcompositepresenter.h index 471f3087..9f517652 100644 --- a/LEGO1/mxcompositepresenter.h +++ b/LEGO1/mxcompositepresenter.h @@ -13,7 +13,7 @@ class MxCompositePresenter : public MxPresenter // OFFSET: LEGO1 0x100b6210 inline virtual const char *ClassName() const override // vtable+0x0c - { + { // 0x100f0774 return "MxCompositePresenter"; } @@ -24,6 +24,9 @@ class MxCompositePresenter : public MxPresenter return !strcmp(name, MxCompositePresenter::ClassName()) || MxPresenter::IsA(name); } + undefined m_unk40; + undefined4 *m_unk44; + undefined4 m_unk48; }; #endif // MXCOMPOSITEPRESENTER_H diff --git a/LEGO1/mxcore.cpp b/LEGO1/mxcore.cpp index aec24c00..78441d8d 100644 --- a/LEGO1/mxcore.cpp +++ b/LEGO1/mxcore.cpp @@ -16,13 +16,13 @@ MxCore::~MxCore() } // OFFSET: LEGO1 0x100ae1f0 -long MxCore::Notify(MxParam &p) +MxLong MxCore::Notify(MxParam &p) { return 0; } // OFFSET: LEGO1 0x10001f70 -long MxCore::Tickle() +MxLong MxCore::Tickle() { return 0; } \ No newline at end of file diff --git a/LEGO1/mxcore.h b/LEGO1/mxcore.h index 446ee91e..5e6586ba 100644 --- a/LEGO1/mxcore.h +++ b/LEGO1/mxcore.h @@ -14,8 +14,8 @@ class MxCore public: __declspec(dllexport) MxCore(); __declspec(dllexport) virtual ~MxCore(); // vtable+00 - __declspec(dllexport) virtual long Notify(MxParam &p); // vtable+04 - virtual long Tickle(); // vtable+08 + __declspec(dllexport) virtual MxLong Notify(MxParam &p); // vtable+04 + virtual MxLong Tickle(); // vtable+08 // OFFSET: LEGO1 0x100144c0 inline virtual const char *ClassName() const // vtable+0c diff --git a/LEGO1/mxdirectdraw.cpp b/LEGO1/mxdirectdraw.cpp index 9f13a9df..dde59ba0 100644 --- a/LEGO1/mxdirectdraw.cpp +++ b/LEGO1/mxdirectdraw.cpp @@ -1,7 +1,22 @@ #include "mxdirectdraw.h" +// OFFSET: LEGO1 0x1009e7f0 +int MxDirectDraw::FlipToGDISurface() +{ + // TODO + return 0; +} + +// OFFSET: LEGO1 0x1009d570 int MxDirectDraw::GetPrimaryBitDepth() { - // FIXME: Stub + // TODO return 0; -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x1009e6a0 +int MxDirectDraw::Pause(int) +{ + // TODO + return 0; +} diff --git a/LEGO1/mxdiskstreamcontroller.cpp b/LEGO1/mxdiskstreamcontroller.cpp index c178c0a5..61243410 100644 --- a/LEGO1/mxdiskstreamcontroller.cpp +++ b/LEGO1/mxdiskstreamcontroller.cpp @@ -13,7 +13,7 @@ MxDiskStreamController::~MxDiskStreamController() } // OFFSET: LEGO1 0x100c8640 STUB -long MxDiskStreamController::Tickle() +MxLong MxDiskStreamController::Tickle() { // TODO diff --git a/LEGO1/mxdiskstreamcontroller.h b/LEGO1/mxdiskstreamcontroller.h index 773f6b85..c0142663 100644 --- a/LEGO1/mxdiskstreamcontroller.h +++ b/LEGO1/mxdiskstreamcontroller.h @@ -14,7 +14,7 @@ class MxDiskStreamController : public MxStreamController MxDiskStreamController(); virtual ~MxDiskStreamController() override; - virtual long Tickle() override; // vtable+0x8 + virtual MxLong Tickle() override; // vtable+0x8 // OFFSET: LEGO1 0x100c7360 inline virtual const char *ClassName() const override // vtable+0x0c diff --git a/LEGO1/mxdsaction.cpp b/LEGO1/mxdsaction.cpp index a193ab21..e5162f89 100644 --- a/LEGO1/mxdsaction.cpp +++ b/LEGO1/mxdsaction.cpp @@ -4,9 +4,10 @@ MxDSAction::MxDSAction() { // TODO + this->SetType(MxDSType_Action); } -// OFFSET: LEGO1 0x100ada80 +// OFFSET: LEGO1 0x100ada80 STUB MxDSAction::~MxDSAction() { // TODO diff --git a/LEGO1/mxdsanim.cpp b/LEGO1/mxdsanim.cpp index 9a56d359..b9b887cd 100644 --- a/LEGO1/mxdsanim.cpp +++ b/LEGO1/mxdsanim.cpp @@ -3,11 +3,10 @@ // OFFSET: LEGO1 0x100c8ff0 MxDSAnim::MxDSAnim() { - // TODO + this->SetType(MxDSType_Anim); } // OFFSET: LEGO1 0x100c91a0 MxDSAnim::~MxDSAnim() { - // TODO } diff --git a/LEGO1/mxdsevent.cpp b/LEGO1/mxdsevent.cpp index a45ec93a..b6571075 100644 --- a/LEGO1/mxdsevent.cpp +++ b/LEGO1/mxdsevent.cpp @@ -1,13 +1,12 @@ #include "mxdsevent.h" -// OFFSET: LEGO1 0x100c95f0 STUB +// OFFSET: LEGO1 0x100c95f0 MxDSEvent::MxDSEvent() { - // TODO + this->SetType(MxDSType_Event); } -// OFFSET: LEGO1 0x100c97a0 STUB +// OFFSET: LEGO1 0x100c97a0 MxDSEvent::~MxDSEvent() { - // TODO } diff --git a/LEGO1/mxdsfile.cpp b/LEGO1/mxdsfile.cpp index 327fab46..60f8533e 100644 --- a/LEGO1/mxdsfile.cpp +++ b/LEGO1/mxdsfile.cpp @@ -8,7 +8,7 @@ #define FOURCC(a, b, c, d) (((a) << 0) | ((b) << 8) | ((c) << 16) | ((d) << 24)) // OFFSET: LEGO1 0x100cc4b0 -MxDSFile::MxDSFile(const char *filename, unsigned long skipReadingChunks) +MxDSFile::MxDSFile(const char *filename, MxULong skipReadingChunks) { m_filename = filename; m_skipReadingChunks = skipReadingChunks; @@ -21,18 +21,17 @@ MxDSFile::~MxDSFile() } // OFFSET: LEGO1 0x100cc590 -long MxDSFile::Open(unsigned long uStyle) +MxLong MxDSFile::Open(MxULong uStyle) { - // No idea what's stopping this one matching, but I'm pretty - // confident it has the correct behavior. - long longResult = 1; - memset(&m_io, 0, sizeof(MXIOINFO)); + MXIOINFO& io = m_io; + MxLong longResult = 1; + memset(&io, 0, sizeof(MXIOINFO)); - if (m_io.Open(m_filename.GetData(), uStyle) != 0) { + if (io.Open(m_filename.GetData(), uStyle) != 0) { return -1; } - m_io.SetBuffer(NULL, 0, 0); + io.SetBuffer(NULL, 0, 0); m_position = 0; if (m_skipReadingChunks == 0) { @@ -50,7 +49,7 @@ long MxDSFile::Open(unsigned long uStyle) } // OFFSET: LEGO1 0x100cc780 -long MxDSFile::Read(unsigned char *pch, unsigned long cch) +MxLong MxDSFile::Read(unsigned char *pch, MxULong cch) { if (m_io.Read((char*)pch, cch) != cch) return -1; @@ -60,7 +59,7 @@ long MxDSFile::Read(unsigned char *pch, unsigned long cch) } // OFFSET: LEGO1 0x100cc620 -long MxDSFile::ReadChunks() +MxLong MxDSFile::ReadChunks() { _MMCKINFO topChunk; _MMCKINFO childChunk; @@ -82,7 +81,7 @@ long MxDSFile::ReadChunks() if (m_io.Descend(&childChunk, &topChunk, 0) != 0) { return -1; } - unsigned long* pLengthInDWords = &m_lengthInDWords; + MxULong* pLengthInDWords = &m_lengthInDWords; m_io.Read((char *)pLengthInDWords, 4); m_pBuffer = malloc(*pLengthInDWords * 4); m_io.Read((char*)m_pBuffer, *pLengthInDWords * 4); @@ -97,25 +96,25 @@ long MxDSFile::ReadChunks() } // OFFSET: LEGO1 0x100cc7b0 -long MxDSFile::Seek(long lOffset, int iOrigin) +MxLong MxDSFile::Seek(MxLong lOffset, int iOrigin) { return (m_position = m_io.Seek(lOffset, iOrigin)) == -1 ? -1 : 0; } // OFFSET: LEGO1 0x100cc7e0 -unsigned long MxDSFile::GetBufferSize() +MxULong MxDSFile::GetBufferSize() { return m_header.bufferSize; } // OFFSET: LEGO1 0x100cc7f0 -unsigned long MxDSFile::GetStreamBuffersNum() +MxULong MxDSFile::GetStreamBuffersNum() { return m_header.streamBuffersNum; } // OFFSET: LEGO1 0x100cc740 -long MxDSFile::Close() +MxLong MxDSFile::Close() { m_io.Close(0); m_position = -1; diff --git a/LEGO1/mxdsfile.h b/LEGO1/mxdsfile.h index 8e136984..ac812df7 100644 --- a/LEGO1/mxdsfile.h +++ b/LEGO1/mxdsfile.h @@ -9,7 +9,7 @@ class MxDSFile : public MxDSSource { public: - __declspec(dllexport) MxDSFile(const char *filename, unsigned long skipReadingChunks); + __declspec(dllexport) MxDSFile(const char *filename, MxULong skipReadingChunks); __declspec(dllexport) virtual ~MxDSFile(); // vtable+0x0 // OFFSET: LEGO1 0x100c0120 @@ -25,14 +25,14 @@ class MxDSFile : public MxDSSource return !strcmp(name, MxDSFile::ClassName()) || MxDSSource::IsA(name); } - __declspec(dllexport) virtual long Open(unsigned long); // vtable+0x14 - __declspec(dllexport) virtual long Close(); // vtable+0x18 - __declspec(dllexport) virtual long Read(unsigned char *,unsigned long); // vtable+0x20 - __declspec(dllexport) virtual long Seek(long,int); // vtable+0x24 - __declspec(dllexport) virtual unsigned long GetBufferSize(); // vtable+0x28 - __declspec(dllexport) virtual unsigned long GetStreamBuffersNum(); // vtable+0x2c + __declspec(dllexport) virtual MxLong Open(MxULong); // vtable+0x14 + __declspec(dllexport) virtual MxLong Close(); // vtable+0x18 + __declspec(dllexport) virtual MxLong Read(unsigned char *,MxULong); // vtable+0x20 + __declspec(dllexport) virtual MxLong Seek(MxLong,int); // vtable+0x24 + __declspec(dllexport) virtual MxULong GetBufferSize(); // vtable+0x28 + __declspec(dllexport) virtual MxULong GetStreamBuffersNum(); // vtable+0x2c private: - long ReadChunks(); + MxLong ReadChunks(); struct ChunkHeader { ChunkHeader() : majorVersion(0) @@ -41,11 +41,11 @@ class MxDSFile : public MxDSSource , streamBuffersNum(0) {} - unsigned short majorVersion; - unsigned short minorVersion; - unsigned long bufferSize; - short streamBuffersNum; - short reserved; + MxU16 majorVersion; + MxU16 minorVersion; + MxULong bufferSize; + MxS16 streamBuffersNum; + MxS16 reserved; }; MxString m_filename; @@ -54,7 +54,7 @@ class MxDSFile : public MxDSSource // If false, read chunks immediately on open, otherwise // skip reading chunks until ReadChunks is explicitly called. - unsigned long m_skipReadingChunks; + MxULong m_skipReadingChunks; }; #endif // MXDSFILE_H diff --git a/LEGO1/mxdsmediaaction.cpp b/LEGO1/mxdsmediaaction.cpp index 9587b152..5f9c1132 100644 --- a/LEGO1/mxdsmediaaction.cpp +++ b/LEGO1/mxdsmediaaction.cpp @@ -4,9 +4,10 @@ MxDSMediaAction::MxDSMediaAction() { // TODO + this->SetType(MxDSType_MediaAction); } -// OFFSET: LEGO1 0x100c8cf0 +// OFFSET: LEGO1 0x100c8cf0 STUB MxDSMediaAction::~MxDSMediaAction() { // TODO diff --git a/LEGO1/mxdsmultiaction.cpp b/LEGO1/mxdsmultiaction.cpp index 4b36f2ec..4188fb66 100644 --- a/LEGO1/mxdsmultiaction.cpp +++ b/LEGO1/mxdsmultiaction.cpp @@ -3,11 +3,12 @@ // OFFSET: LEGO1 0x100c9b90 MxDSMultiAction::MxDSMultiAction() { - + // TODO + this->SetType(MxDSType_MultiAction); } -// OFFSET: LEGO1 0x100ca060 +// OFFSET: LEGO1 0x100ca060 STUB MxDSMultiAction::~MxDSMultiAction() { - + // TODO } diff --git a/LEGO1/mxdsobject.cpp b/LEGO1/mxdsobject.cpp index fd4b7434..2b478b88 100644 --- a/LEGO1/mxdsobject.cpp +++ b/LEGO1/mxdsobject.cpp @@ -3,10 +3,12 @@ #include #include +DECOMP_SIZE_ASSERT(MxDSObject, 0x2c); + // OFFSET: LEGO1 0x100bf6a0 MxDSObject::MxDSObject() { - this->m_unk0c = 0; + this->SetType(MxDSType_Object); this->m_sourceName = NULL; this->m_unk14 = 0; this->m_objectName = NULL; @@ -45,16 +47,16 @@ MxDSObject &MxDSObject::operator=(MxDSObject &p_dsObject) } // OFFSET: LEGO1 0x100bf8e0 -void MxDSObject::SetObjectName(const char *p_name) +void MxDSObject::SetObjectName(const char *p_objectName) { - if (p_name != this->m_objectName) { + if (p_objectName != this->m_objectName) { delete[] this->m_objectName; - if (p_name) { - this->m_objectName = new char[strlen(p_name) + 1]; + if (p_objectName) { + this->m_objectName = new char[strlen(p_objectName) + 1]; if (this->m_objectName) { - strcpy(this->m_objectName, p_name); + strcpy(this->m_objectName, p_objectName); } } else { @@ -83,15 +85,15 @@ void MxDSObject::SetSourceName(const char *p_sourceName) } // OFFSET: LEGO1 0x100bf9c0 -int MxDSObject::unk14() +undefined4 MxDSObject::unk14() { return 10; } // OFFSET: LEGO1 0x100bf9d0 -unsigned int MxDSObject::CalculateUnk08() +MxU32 MxDSObject::CalculateUnk08() { - unsigned int unk08; + MxU32 unk08; if (this->m_sourceName) unk08 = strlen(this->m_sourceName) + 3; @@ -111,16 +113,16 @@ unsigned int MxDSObject::CalculateUnk08() } // OFFSET: LEGO1 0x100bfa20 -void MxDSObject::Parse(char **p_source, unsigned short p_unk24) +void MxDSObject::Parse(char **p_source, MxS16 p_unk24) { this->SetSourceName(*p_source); *p_source += strlen(this->m_sourceName) + 1; - this->m_unk14 = *(int*) *p_source; + this->m_unk14 = *(undefined4*) *p_source; *p_source += 4; this->SetObjectName(*p_source); *p_source += strlen(this->m_objectName) + 1; - this->m_unk1c = *(int*) *p_source; + this->m_unk1c = *(undefined4*) *p_source; *p_source += 4; this->m_unk24 = p_unk24; diff --git a/LEGO1/mxdsobject.h b/LEGO1/mxdsobject.h index ef4701bc..a13f382f 100644 --- a/LEGO1/mxdsobject.h +++ b/LEGO1/mxdsobject.h @@ -1,55 +1,59 @@ #ifndef MXDSOBJECT_H #define MXDSOBJECT_H +#include "decomp.h" + #include "mxcore.h" #include "mxatomid.h" +#include "mxdstypes.h" // VTABLE 0x100dc868 // SIZE 0x2c class MxDSObject : public MxCore { public: - __declspec(dllexport) void SetObjectName(const char *p_objectName); - MxDSObject(); virtual ~MxDSObject() override; - MxDSObject &operator=(MxDSObject &p_dsObject); void CopyFrom(MxDSObject &p_dsObject); + MxDSObject &operator=(MxDSObject &p_dsObject); - // OFFSET: LEGO1 0x100bf730 + __declspec(dllexport) void SetObjectName(const char *p_objectName); + void SetSourceName(const char *p_sourceName); + + // OFFSET: LEGO1 0x100bf730 inline virtual const char *ClassName() const override { return "MxDSObject"; }; // vtable+0c // OFFSET: LEGO1 0x100bf740 inline virtual MxBool IsA(const char *name) const override { return !strcmp(name, MxDSObject::ClassName()) || MxCore::IsA(name); }; // vtable+10; - virtual int unk14(); // vtable+14; - virtual unsigned int CalculateUnk08(); // vtable+18; - virtual void Parse(char **p_source, unsigned short p_unk24); // vtable+1c; - - void SetSourceName(const char *p_sourceName); + virtual undefined4 unk14(); // vtable+14; + virtual MxU32 CalculateUnk08(); // vtable+18; + virtual void Parse(char **p_source, MxS16 p_unk24); // vtable+1c; inline const MxAtomId& GetAtomId() { return this->m_atomId; } - inline int GetUnknown1c() { return this->m_unk1c; } + inline undefined4 GetUnknown1c() { return this->m_unk1c; } - inline void SetUnknown1c(int p_unk1c) { this->m_unk1c = p_unk1c; } - inline void SetUnknown24(short p_unk24) { this->m_unk24 = p_unk24; } + inline void SetUnknown1c(undefined4 p_unk1c) { this->m_unk1c = p_unk1c; } + inline void SetUnknown24(MxS16 p_unk24) { this->m_unk24 = p_unk24; } // OFFSET: ISLE 0x401c40 // OFFSET: LEGO1 0x10005530 inline void SetAtomId(MxAtomId p_atomId) { this->m_atomId = p_atomId; } +protected: + inline void SetType(MxDSType p_type) { this->m_type = p_type; } + private: - unsigned int m_unk08; - short m_unk0c; + MxU32 m_unk08; + MxU16 m_type; char* m_sourceName; - int m_unk14; + undefined4 m_unk14; char *m_objectName; - int m_unk1c; + undefined4 m_unk1c; MxAtomId m_atomId; - short m_unk24; - unsigned short m_unk26; - int m_unk28; + MxS16 m_unk24; + undefined4 m_unk28; }; #endif // MXDSOBJECT_H diff --git a/LEGO1/mxdsobjectaction.cpp b/LEGO1/mxdsobjectaction.cpp index 990168da..d468f30a 100644 --- a/LEGO1/mxdsobjectaction.cpp +++ b/LEGO1/mxdsobjectaction.cpp @@ -3,11 +3,10 @@ // OFFSET: LEGO1 0x100c8870 MxDSObjectAction::MxDSObjectAction() { - // TODO + this->SetType(MxDSType_ObjectAction); } // OFFSET: LEGO1 0x100c8a20 MxDSObjectAction::~MxDSObjectAction() { - // TODO } diff --git a/LEGO1/mxdsparallelaction.cpp b/LEGO1/mxdsparallelaction.cpp index 78b9623a..97a8a9d3 100644 --- a/LEGO1/mxdsparallelaction.cpp +++ b/LEGO1/mxdsparallelaction.cpp @@ -3,11 +3,10 @@ // OFFSET: LEGO1 0x100cae80 MxDSParallelAction::MxDSParallelAction() { - + this->SetType(MxDSType_ParallelAction); } // OFFSET: LEGO1 0x100cb040 MxDSParallelAction::~MxDSParallelAction() { - } diff --git a/LEGO1/mxdsselectaction.cpp b/LEGO1/mxdsselectaction.cpp index 575aba29..5cae82fb 100644 --- a/LEGO1/mxdsselectaction.cpp +++ b/LEGO1/mxdsselectaction.cpp @@ -3,11 +3,12 @@ // OFFSET: LEGO1 0x100cb2b0 MxDSSelectAction::MxDSSelectAction() { - + // TODO + this->SetType(MxDSType_SelectAction); } -// OFFSET: LEGO1 0x100cb8d0 +// OFFSET: LEGO1 0x100cb8d0 STUB MxDSSelectAction::~MxDSSelectAction() { - + // TODO } diff --git a/LEGO1/mxdsserialaction.cpp b/LEGO1/mxdsserialaction.cpp index a5e8f623..46964208 100644 --- a/LEGO1/mxdsserialaction.cpp +++ b/LEGO1/mxdsserialaction.cpp @@ -3,11 +3,12 @@ // OFFSET: LEGO1 0x100ca9d0 MxDSSerialAction::MxDSSerialAction() { - + // TODO + this->SetType(MxDSType_SerialAction); } -// OFFSET: LEGO1 0x100cac10 +// OFFSET: LEGO1 0x100cac10 STUB MxDSSerialAction::~MxDSSerialAction() { - + // TODO } diff --git a/LEGO1/mxdssound.cpp b/LEGO1/mxdssound.cpp index 4f2b0d61..30894abc 100644 --- a/LEGO1/mxdssound.cpp +++ b/LEGO1/mxdssound.cpp @@ -4,10 +4,10 @@ MxDSSound::MxDSSound() { // TODO + this->SetType(MxDSType_Sound); } // OFFSET: LEGO1 0x100c9470 MxDSSound::~MxDSSound() { - // TODO } diff --git a/LEGO1/mxdssource.cpp b/LEGO1/mxdssource.cpp index 8612c5c4..9a94f110 100644 --- a/LEGO1/mxdssource.cpp +++ b/LEGO1/mxdssource.cpp @@ -8,7 +8,7 @@ void MxDSSource::SomethingWhichCallsRead(void* pUnknownObject) } // OFFSET: LEGO1 0x100bfff0 -long MxDSSource::GetLengthInDWords() +MxLong MxDSSource::GetLengthInDWords() { return m_lengthInDWords; } \ No newline at end of file diff --git a/LEGO1/mxdssource.h b/LEGO1/mxdssource.h index 2837e7c2..5ff4c33c 100644 --- a/LEGO1/mxdssource.h +++ b/LEGO1/mxdssource.h @@ -26,19 +26,19 @@ class MxDSSource : public MxCore return !strcmp(name, MxDSSource::ClassName()) || MxCore::IsA(name); } - virtual long Open(unsigned long) = 0; - virtual long Close() = 0; + virtual MxLong Open(MxULong) = 0; + virtual MxLong Close() = 0; virtual void SomethingWhichCallsRead(void* pUnknownObject); - virtual long Read(unsigned char *, unsigned long) = 0; - virtual long Seek(long, int) = 0; - virtual unsigned long GetBufferSize() = 0; - virtual unsigned long GetStreamBuffersNum() = 0; - virtual long GetLengthInDWords(); + virtual MxLong Read(unsigned char *, MxULong) = 0; + virtual MxLong Seek(MxLong, int) = 0; + virtual MxULong GetBufferSize() = 0; + virtual MxULong GetStreamBuffersNum() = 0; + virtual MxLong GetLengthInDWords(); protected: - unsigned long m_lengthInDWords; + MxULong m_lengthInDWords; void* m_pBuffer; - long m_position; + MxLong m_position; }; #endif // MXDSSOURCE_H diff --git a/LEGO1/mxdsstill.cpp b/LEGO1/mxdsstill.cpp index 0a5434f1..938afe83 100644 --- a/LEGO1/mxdsstill.cpp +++ b/LEGO1/mxdsstill.cpp @@ -3,11 +3,10 @@ // OFFSET: LEGO1 0x100c98c0 MxDSStill::MxDSStill() { - // TODO + this->SetType(MxDSType_Still); } // OFFSET: LEGO1 0x100c9a70 MxDSStill::~MxDSStill() { - // TODO } diff --git a/LEGO1/mxdstypes.h b/LEGO1/mxdstypes.h new file mode 100755 index 00000000..6487bad5 --- /dev/null +++ b/LEGO1/mxdstypes.h @@ -0,0 +1,20 @@ +#ifndef MXDSTYPES_H +#define MXDSTYPES_H + +enum MxDSType +{ + MxDSType_Object = 0, + MxDSType_Action = 1, + MxDSType_MediaAction = 2, + MxDSType_Anim = 3, + MxDSType_Sound = 4, + MxDSType_MultiAction = 5, + MxDSType_SerialAction = 6, + MxDSType_ParallelAction = 7, + MxDSType_Event = 8, + MxDSType_SelectAction = 9, + MxDSType_Still = 10, + MxDSType_ObjectAction = 11, +}; + +#endif // MXDSTYPES_H diff --git a/LEGO1/mxentity.cpp b/LEGO1/mxentity.cpp index 526a03e2..7459dd24 100644 --- a/LEGO1/mxentity.cpp +++ b/LEGO1/mxentity.cpp @@ -11,3 +11,9 @@ MxEntity::~MxEntity() { // TODO } + +// OFFSET: LEGO1 0x10001070 STUB +void MxEntity::Destroy() +{ + // TODO +} diff --git a/LEGO1/mxentity.h b/LEGO1/mxentity.h index dda04646..7123abbf 100644 --- a/LEGO1/mxentity.h +++ b/LEGO1/mxentity.h @@ -23,6 +23,8 @@ class MxEntity : public MxCore return !strcmp(name, MxEntity::ClassName()) || MxCore::IsA(name); } + virtual void Destroy(); // vtable+0x1c + // 0x8: MxResult // 0xc MxAtomId }; diff --git a/LEGO1/mxeventpresenter.cpp b/LEGO1/mxeventpresenter.cpp index ba78203f..88c20ce3 100644 --- a/LEGO1/mxeventpresenter.cpp +++ b/LEGO1/mxeventpresenter.cpp @@ -1,5 +1,9 @@ #include "mxeventpresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxEventPresenter, 0x54); + // OFFSET: LEGO1 0x100c2b70 MxEventPresenter::MxEventPresenter() { @@ -12,8 +16,8 @@ MxEventPresenter::~MxEventPresenter() // TODO } -// OFFSET: LEGO1 0x100c2da0 STUB +// OFFSET: LEGO1 0x100c2da0 void MxEventPresenter::Init() { - // TODO + m_unk50 = 0; } diff --git a/LEGO1/mxeventpresenter.h b/LEGO1/mxeventpresenter.h index 2adb8cfa..256d0c7f 100644 --- a/LEGO1/mxeventpresenter.h +++ b/LEGO1/mxeventpresenter.h @@ -3,6 +3,8 @@ #include "mxmediapresenter.h" +#include "decomp.h" + // VTABLE 0x100dca88 // SIZE 0x54 class MxEventPresenter : public MxMediaPresenter @@ -23,9 +25,10 @@ class MxEventPresenter : public MxMediaPresenter { return !strcmp(name, MxEventPresenter::ClassName()) || MxMediaPresenter::IsA(name); } - + private: void Init(); + undefined4 m_unk50; }; diff --git a/LEGO1/mxflcpresenter.cpp b/LEGO1/mxflcpresenter.cpp index 1e6ee289..8bd23d22 100644 --- a/LEGO1/mxflcpresenter.cpp +++ b/LEGO1/mxflcpresenter.cpp @@ -1,5 +1,9 @@ #include "mxflcpresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxFlcPresenter, 0x68); + // OFFSET: LEGO1 0x100b3310 STUB MxFlcPresenter::MxFlcPresenter() { diff --git a/LEGO1/mxflcpresenter.h b/LEGO1/mxflcpresenter.h index 5d63c41c..bc34ff12 100644 --- a/LEGO1/mxflcpresenter.h +++ b/LEGO1/mxflcpresenter.h @@ -3,6 +3,8 @@ #include "mxvideopresenter.h" +#include "decomp.h" + // VTABLE 0x100dc2c0 // SIZE 0x68 class MxFlcPresenter : public MxVideoPresenter @@ -23,6 +25,8 @@ class MxFlcPresenter : public MxVideoPresenter { return !strcmp(name, MxFlcPresenter::ClassName()) || MxVideoPresenter::IsA(name); } + + undefined4 m_unk64; }; #endif // MXFLCPRESENTER_H diff --git a/LEGO1/mxioinfo.cpp b/LEGO1/mxioinfo.cpp index ebe2a480..2d55ef36 100644 --- a/LEGO1/mxioinfo.cpp +++ b/LEGO1/mxioinfo.cpp @@ -13,19 +13,19 @@ MXIOINFO::~MXIOINFO() } // OFFSET: LEGO1 0x100cc830 -unsigned short MXIOINFO::Open(const char *filename, DWORD fdwOpen) +MxU16 MXIOINFO::Open(const char *filename, DWORD fdwOpen) { return 0; } // OFFSET: LEGO1 0x100cc8e0 -void MXIOINFO::Close(long arg) +void MXIOINFO::Close(MxLong arg) { } // OFFSET: LEGO1 0x100cc930 -unsigned long MXIOINFO::Read(HPSTR pch, LONG cch) +MxULong MXIOINFO::Read(HPSTR pch, LONG cch) { return 0; } @@ -43,7 +43,7 @@ void MXIOINFO::SetBuffer(LPSTR pchBuffer, LONG cchBuffer, LONG unk) } // OFFSET: LEGO1 0x100cce60 -unsigned short MXIOINFO::Descend(LPMMCKINFO pmmcki, const MMCKINFO *pmmckiParent, UINT fuDescend) +MxU16 MXIOINFO::Descend(LPMMCKINFO pmmcki, const MMCKINFO *pmmckiParent, UINT fuDescend) { return 0; -} \ No newline at end of file +} diff --git a/LEGO1/mxioinfo.h b/LEGO1/mxioinfo.h index c88a55b9..5ce0947a 100644 --- a/LEGO1/mxioinfo.h +++ b/LEGO1/mxioinfo.h @@ -2,8 +2,9 @@ #define MXIOINFO_H #include +#include -#include "mmsystem.h" +#include "mxtypes.h" class MXIOINFO { @@ -11,12 +12,12 @@ class MXIOINFO MXIOINFO(); __declspec(dllexport) ~MXIOINFO(); - unsigned short Open(const char *filename, DWORD fdwOpen); - void Close(long arg); + MxU16 Open(const char *filename, DWORD fdwOpen); + void Close(MxLong arg); LONG Seek(LONG lOffset, int iOrigin); - unsigned long Read(HPSTR pch, LONG cch); + MxULong Read(HPSTR pch, LONG cch); void SetBuffer(LPSTR pchBuffer, LONG cchBuffer, LONG unk); - unsigned short Descend(LPMMCKINFO pmmcki, const MMCKINFO *pmmckiParent, UINT fuDescend); + MxU16 Descend(LPMMCKINFO pmmcki, const MMCKINFO *pmmckiParent, UINT fuDescend); MMIOINFO m_info; }; diff --git a/LEGO1/mxloopingflcpresenter.cpp b/LEGO1/mxloopingflcpresenter.cpp index f4602f3c..041ae6a5 100644 --- a/LEGO1/mxloopingflcpresenter.cpp +++ b/LEGO1/mxloopingflcpresenter.cpp @@ -1,5 +1,9 @@ #include "mxloopingflcpresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxLoopingFlcPresenter, 0x6c); + // OFFSET: LEGO1 0x100b4310 STUB MxLoopingFlcPresenter::MxLoopingFlcPresenter() { diff --git a/LEGO1/mxloopingflcpresenter.h b/LEGO1/mxloopingflcpresenter.h index 5152e4d9..1973c28e 100644 --- a/LEGO1/mxloopingflcpresenter.h +++ b/LEGO1/mxloopingflcpresenter.h @@ -3,6 +3,8 @@ #include "mxflcpresenter.h" +#include "decomp.h" + // VTABLE 0x100dc480 // SIZE 0x6c class MxLoopingFlcPresenter : public MxFlcPresenter @@ -17,9 +19,10 @@ class MxLoopingFlcPresenter : public MxFlcPresenter // 0x10101e20 return "MxLoopingFlcPresenter"; } - + private: void Init(); + undefined4 m_unk68; }; #endif // MXLOOPINGFLCPRESENTER_H diff --git a/LEGO1/mxloopingmidipresenter.cpp b/LEGO1/mxloopingmidipresenter.cpp new file mode 100644 index 00000000..ebeed4b4 --- /dev/null +++ b/LEGO1/mxloopingmidipresenter.cpp @@ -0,0 +1,5 @@ +#include "mxloopingmidipresenter.h" + +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxLoopingMIDIPresenter, 0x58); diff --git a/LEGO1/mxloopingsmkpresenter.cpp b/LEGO1/mxloopingsmkpresenter.cpp index cb038462..da9223df 100644 --- a/LEGO1/mxloopingsmkpresenter.cpp +++ b/LEGO1/mxloopingsmkpresenter.cpp @@ -1,5 +1,9 @@ #include "mxloopingsmkpresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxLoopingSmkPresenter, 0x724); + // OFFSET: LEGO1 0x100b48b0 MxLoopingSmkPresenter::MxLoopingSmkPresenter() { diff --git a/LEGO1/mxloopingsmkpresenter.h b/LEGO1/mxloopingsmkpresenter.h index 129d98b9..8ca18d20 100644 --- a/LEGO1/mxloopingsmkpresenter.h +++ b/LEGO1/mxloopingsmkpresenter.h @@ -3,6 +3,8 @@ #include "mxsmkpresenter.h" +#include "decomp.h" + // VTABLE 0x100dc540 // SIZE 0x724 class MxLoopingSmkPresenter : public MxSmkPresenter @@ -17,9 +19,10 @@ class MxLoopingSmkPresenter : public MxSmkPresenter // 0x10101e08 return "MxLoopingSmkPresenter"; } - + private: void Init(); + undefined4 m_unk720; }; #endif // MXLOOPINGSMKPRESENTER_H diff --git a/LEGO1/mxmediapresenter.cpp b/LEGO1/mxmediapresenter.cpp index 793b3ea8..58c068ac 100644 --- a/LEGO1/mxmediapresenter.cpp +++ b/LEGO1/mxmediapresenter.cpp @@ -1,7 +1,9 @@ #include "mxmediapresenter.h" +DECOMP_SIZE_ASSERT(MxMediaPresenter, 0x50); + // OFFSET: LEGO1 0x100b5d10 STUB -long MxMediaPresenter::Tickle() +MxLong MxMediaPresenter::Tickle() { // TODO return 0; diff --git a/LEGO1/mxmediapresenter.h b/LEGO1/mxmediapresenter.h index 3fb70d31..64de0614 100644 --- a/LEGO1/mxmediapresenter.h +++ b/LEGO1/mxmediapresenter.h @@ -3,6 +3,8 @@ #include "mxpresenter.h" +#include "decomp.h" + // VTABLE 0x100d4cd8 class MxMediaPresenter : public MxPresenter { @@ -12,21 +14,25 @@ class MxMediaPresenter : public MxPresenter Init(); } - virtual long Tickle() override; // vtable+0x8, override MxCore + virtual MxLong Tickle() override; // vtable+0x8, override MxCore // OFFSET: LEGO1 0x1000c5c0 - inline virtual const char *MxMediaPresenter::ClassName() const override // vtable+0xc + inline virtual const char *ClassName() const override // vtable+0xc { // 0x100f074c return "MxMediaPresenter"; } // OFFSET: LEGO1 0x1000c5d0 - inline virtual MxBool MxMediaPresenter::IsA(const char *name) const override // vtable+0x10 + inline virtual MxBool IsA(const char *name) const override // vtable+0x10 { return !strcmp(name, MxMediaPresenter::ClassName()) || MxPresenter::IsA(name); } + undefined4 m_unk40; + undefined4 m_unk44; + undefined4 m_unk48; + undefined4 m_unk4c; private: void Init(); diff --git a/LEGO1/mxmidipresenter.cpp b/LEGO1/mxmidipresenter.cpp new file mode 100644 index 00000000..98868f8a --- /dev/null +++ b/LEGO1/mxmidipresenter.cpp @@ -0,0 +1,16 @@ +#include "mxmidipresenter.h" + +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxMIDIPresenter, 0x58); + +// OFFSET: LEGO1 0x100c25e0 +MxMIDIPresenter::MxMIDIPresenter() { + Init(); +} + +// OFFSET: LEGO1 0x100c2820 +void MxMIDIPresenter::Init() +{ + m_unk54 = 0; +} diff --git a/LEGO1/mxmidipresenter.h b/LEGO1/mxmidipresenter.h index 8a46d12a..1cd65c4a 100644 --- a/LEGO1/mxmidipresenter.h +++ b/LEGO1/mxmidipresenter.h @@ -6,6 +6,11 @@ // VTABLE 0x100dca20 class MxMIDIPresenter : public MxMusicPresenter { +public: + MxMIDIPresenter(); +private: + void Init(); + undefined4 m_unk54; }; #endif // MXMIDIPRESENTER_H diff --git a/LEGO1/mxnotificationmanager.cpp b/LEGO1/mxnotificationmanager.cpp index 8ce1f98b..472c87b5 100644 --- a/LEGO1/mxnotificationmanager.cpp +++ b/LEGO1/mxnotificationmanager.cpp @@ -7,7 +7,7 @@ MxNotificationManager::~MxNotificationManager() } // OFFSET: LEGO1 0x100ac800 STUB -long MxNotificationManager::Tickle() +MxLong MxNotificationManager::Tickle() { // TODO diff --git a/LEGO1/mxnotificationmanager.h b/LEGO1/mxnotificationmanager.h index e350ba56..86cb4f00 100644 --- a/LEGO1/mxnotificationmanager.h +++ b/LEGO1/mxnotificationmanager.h @@ -9,7 +9,7 @@ class MxNotificationManager : public MxCore public: virtual ~MxNotificationManager(); // vtable+0x0 - virtual long Tickle(); // vtable+0x8 + virtual MxLong Tickle(); // vtable+0x8 // 0x10: MxCriticalSection }; diff --git a/LEGO1/mxobjectfactory.cpp b/LEGO1/mxobjectfactory.cpp new file mode 100644 index 00000000..d52e4dac --- /dev/null +++ b/LEGO1/mxobjectfactory.cpp @@ -0,0 +1,45 @@ +#include "mxobjectfactory.h" + +#include "mxpresenter.h" +#include "mxcompositepresenter.h" +#include "mxvideopresenter.h" +#include "mxflcpresenter.h" +#include "mxsmkpresenter.h" +#include "mxstillpresenter.h" +#include "mxwavepresenter.h" +#include "mxmidipresenter.h" +#include "mxeventpresenter.h" +#include "mxloopingflcpresenter.h" +#include "mxloopingsmkpresenter.h" +#include "mxloopingmidipresenter.h" + +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxObjectFactory, 0x38); // 100af1db + +// OFFSET: LEGO1 0x100b0d80 +MxObjectFactory::MxObjectFactory() +{ +#define X(V) this->m_id##V = MxAtomId(#V, LookupMode_Exact); + FOR_MXOBJECTFACTORY_OBJECTS(X) +#undef X +} + +// OFFSET: LEGO1 0x100b12c0 +MxCore *MxObjectFactory::Create(const char *name) +{ + MxAtomId atom(name, LookupMode_Exact); + + if (0) { +#define X(V) } else if (this->m_id##V == atom) { return new V; + FOR_MXOBJECTFACTORY_OBJECTS(X) +#undef X + } else { + return NULL; + } +} + +// OFFSET: LEGO1 0x100b1a30 STUB +void MxObjectFactory::vtable18(void *) { + // FIXME +} diff --git a/LEGO1/mxobjectfactory.h b/LEGO1/mxobjectfactory.h index 57809be9..53aee2cb 100644 --- a/LEGO1/mxobjectfactory.h +++ b/LEGO1/mxobjectfactory.h @@ -2,11 +2,33 @@ #define MXOBJECTFACTORY_H #include "mxcore.h" +#include "mxatomid.h" + +#define FOR_MXOBJECTFACTORY_OBJECTS(X) \ + X(MxPresenter) \ + X(MxCompositePresenter) \ + X(MxVideoPresenter) \ + X(MxFlcPresenter) \ + X(MxSmkPresenter) \ + X(MxStillPresenter) \ + X(MxWavePresenter) \ + X(MxMIDIPresenter) \ + X(MxEventPresenter) \ + X(MxLoopingFlcPresenter) \ + X(MxLoopingSmkPresenter) \ + X(MxLoopingMIDIPresenter) // VTABLE 0x100dc220 class MxObjectFactory : public MxCore { - +public: + MxObjectFactory(); + virtual MxCore *Create(const char *name); // vtable 0x14 + virtual void vtable18(void *); // vtable 0x18 +private: +#define X(V) MxAtomId m_id##V; + FOR_MXOBJECTFACTORY_OBJECTS(X) +#undef X }; -#endif MXOBJECTFACTORY_H +#endif // MXOBJECTFACTORY_H diff --git a/LEGO1/mxomni.cpp b/LEGO1/mxomni.cpp index 11a6fb28..10e8eccb 100644 --- a/LEGO1/mxomni.cpp +++ b/LEGO1/mxomni.cpp @@ -1,5 +1,14 @@ #include "mxomni.h" +// 0x101015b8 +char g_hdPath[1024]; + +// 0x101019b8 +char g_cdPath[1024]; + +// 0x10101db8 +MxBool g_use3dSound; + // 0x101015b0 MxOmni *MxOmni::g_instance = NULL; @@ -43,6 +52,43 @@ void MxOmni::DestroyInstance() } } +// OFFSET: LEGO1 0x100b0900 +const char *MxOmni::GetHD() +{ + return g_hdPath; +} + +// OFFSET: LEGO1 0x100b0940 +const char *MxOmni::GetCD() +{ + return g_cdPath; +} + +// OFFSET: LEGO1 0x100b0980 +MxBool MxOmni::IsSound3D() +{ + return g_use3dSound; +} + +// OFFSET: LEGO1 0x100b0910 +void MxOmni::SetHD(const char *p_hd) +{ + strcpy(g_hdPath, p_hd); +} + +// OFFSET: LEGO1 0x100b0950 +void MxOmni::SetCD(const char *p_cd) +{ + strcpy(g_cdPath, p_cd); +} + +// OFFSET: LEGO1 0x100b0990 +void MxOmni::SetSound3D(MxBool p_3dsound) +{ + g_use3dSound = p_3dsound; +} + + // OFFSET: LEGO1 0x100b0680 MxOmni *MxOmni::GetInstance() { @@ -77,7 +123,7 @@ void MxOmni::Destroy() } // OFFSET: LEGO1 0x100b07f0 -long MxOmni::Notify(MxParam &p) +MxLong MxOmni::Notify(MxParam &p) { // FIXME: Stub return 0; @@ -142,35 +188,3 @@ MxEventManager* EventManager() { return MxOmni::GetInstance()->GetEventManager(); } - -// OFFSET: LEGO1 0x100B0940 STUB -const char* MxOmni::GetCD() -{ - // TODO - return 0; -} - -// OFFSET: LEGO1 0x100B0900 STUB -const char* MxOmni::GetHD() -{ - // TODO - return 0; -} - -// OFFSET: LEGO1 0x100B0950 STUB -void MxOmni::SetCD(const char* s) -{ - // TODO -} - -// OFFSET: LEGO1 0x100B0910 STUB -void MxOmni::SetHD(const char* s) -{ - // TODO -} - -// OFFSET: LEGO1 0x100B0990 STUB -void MxOmni::SetSound3D(unsigned char) -{ - // TODO -} diff --git a/LEGO1/mxomni.h b/LEGO1/mxomni.h index 7674f85e..f3f1ee9a 100644 --- a/LEGO1/mxomni.h +++ b/LEGO1/mxomni.h @@ -24,15 +24,15 @@ class MxOmni : public MxCore __declspec(dllexport) static const char *GetCD(); __declspec(dllexport) static const char *GetHD(); __declspec(dllexport) static MxOmni *GetInstance(); - __declspec(dllexport) static unsigned char IsSound3D(); - __declspec(dllexport) static void SetCD(const char *s); - __declspec(dllexport) static void SetHD(const char *s); - __declspec(dllexport) static void SetSound3D(unsigned char); - - MxOmni::MxOmni(); - virtual ~MxOmni(); + __declspec(dllexport) static MxBool IsSound3D(); + __declspec(dllexport) static void SetCD(const char *p_cd); + __declspec(dllexport) static void SetHD(const char *p_hd); + __declspec(dllexport) static void SetSound3D(MxBool p_3dsound); - virtual long Notify(MxParam &p); // vtable+04 + MxOmni(); + virtual ~MxOmni() override; + + virtual MxLong Notify(MxParam &p); // vtable+04 virtual void Init(); // vtable+14 virtual MxResult Create(MxOmniCreateParam &p); // vtable+18 virtual void Destroy(); // vtable+1c @@ -76,5 +76,6 @@ __declspec(dllexport) MxSoundManager * MSoundManager(); __declspec(dllexport) MxVariableTable * VariableTable(); __declspec(dllexport) MxMusicManager * MusicManager(); __declspec(dllexport) MxEventManager * EventManager(); +__declspec(dllexport) MxNotificationManager * NotificationManager(); #endif // MXOMNI_H diff --git a/LEGO1/mxpalette.cpp b/LEGO1/mxpalette.cpp index dd245538..546dddf9 100644 --- a/LEGO1/mxpalette.cpp +++ b/LEGO1/mxpalette.cpp @@ -5,4 +5,17 @@ MxResult MxPalette::GetEntries(LPPALETTEENTRY p_entries) { memcpy(p_entries, this->m_entries, sizeof(this->m_entries)); return SUCCESS; -} \ No newline at end of file +} + +// OFFSET: LEGO1 0x100bf340 +MxBool MxPalette::operator==(MxPalette &) +{ + // TODO + return FALSE; +} + +// OFFSET: LEGO1 0x100bf330 +void MxPalette::Detach() +{ + // TODO +} diff --git a/LEGO1/mxpalette.h b/LEGO1/mxpalette.h index b78efd7d..7f4a4299 100644 --- a/LEGO1/mxpalette.h +++ b/LEGO1/mxpalette.h @@ -11,7 +11,7 @@ class MxPalette : public MxCore { public: - __declspec(dllexport) unsigned char operator==(MxPalette &); + __declspec(dllexport) MxBool operator==(MxPalette &); __declspec(dllexport) void Detach(); MxResult GetEntries(LPPALETTEENTRY p_entries); diff --git a/LEGO1/mxpresenter.cpp b/LEGO1/mxpresenter.cpp index 893de60d..4629fdba 100644 --- a/LEGO1/mxpresenter.cpp +++ b/LEGO1/mxpresenter.cpp @@ -1,5 +1,9 @@ #include "mxpresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxPresenter, 0x40); + // OFFSET: LEGO1 0x1000bee0 STUB void MxPresenter::DoneTickle() { @@ -24,14 +28,13 @@ void MxPresenter::ParseExtra() // TODO } -// OFFSET: LEGO1 0x1000c070 STUB +// OFFSET: LEGO1 0x1000bf00 MxPresenter::~MxPresenter() { - // TODO } // OFFSET: LEGO1 0x100b5200 STUB -long MxPresenter::Tickle() +MxLong MxPresenter::Tickle() { // TODO @@ -39,59 +42,64 @@ long MxPresenter::Tickle() } // OFFSET: LEGO1 0x100b4d80 STUB -long MxPresenter::StartAction(MxStreamController *, MxDSAction *) +MxLong MxPresenter::StartAction(MxStreamController *, MxDSAction *) { // TODO return 0; } -// OFFSET: LEGO1 0x100d4d74 STUB +// OFFSET: LEGO1 0x100b4e40 STUB void MxPresenter::EndAction() { // TODO } -// OFFSET: LEGO1 0x100d4d8c STUB +// OFFSET: LEGO1 0x100b52d0 STUB void MxPresenter::Enable(unsigned char) { // TODO } -// OFFSET: LEGO1 0x1000be30 STUB +// OFFSET: LEGO1 0x1000be30 void MxPresenter::VTable0x14() { - // TODO } -// OFFSET: LEGO1 0x1000be40 STUB +// OFFSET: LEGO1 0x1000be40 void MxPresenter::VTable0x18() { - // TODO + ParseExtra(); + m_unk0xc |= 1 << (unsigned char)m_unk0x8; + m_unk0x8 = 2; } -// OFFSET: LEGO1 0x1000be60 STUB +// OFFSET: LEGO1 0x1000be60 void MxPresenter::VTable0x1c() { - // TODO + m_unk0xc |= 1 << (unsigned char)m_unk0x8; + m_unk0x8 = 3; } -// OFFSET: LEGO1 0x1000be80 STUB +// OFFSET: LEGO1 0x1000be80 void MxPresenter::VTable0x20() { - // TODO + m_unk0xc |= 1 << (unsigned char)m_unk0x8; + m_unk0x8 = 4; } -// OFFSET: LEGO1 0x1000bea0 STUB +// OFFSET: LEGO1 0x1000bea0 void MxPresenter::VTable0x24() { - // TODO + m_unk0xc |= 1 << (unsigned char)m_unk0x8; + m_unk0x8 = 5; } -// OFFSET: LEGO1 0x1000bec0 STUB +// OFFSET: LEGO1 0x1000bec0 void MxPresenter::VTable0x28() { - // TODO + m_unk0xc |= 1 << (unsigned char)m_unk0x8; + m_unk0x8 = 6; } // OFFSET: LEGO1 0x1000bf70 @@ -105,18 +113,17 @@ void MxPresenter::InitVirtual() { Init(); } -// OFFSET: LEGO1 0x1000bf90 STUB +// OFFSET: LEGO1 0x1000bf90 void MxPresenter::VTable0x44(undefined4 param) { - // TODO + m_unk0xc |= 1 << (unsigned char)m_unk0x8; + m_unk0x8 = param; } -// OFFSET: LEGO1 0x1000bfb0 STUB -undefined4 MxPresenter::VTable0x48(undefined4 param) +// OFFSET: LEGO1 0x1000bfb0 +unsigned char MxPresenter::VTable0x48(unsigned char param) { - // TODO - - return undefined4(); + return m_unk0xc & (1 << param); } // OFFSET: LEGO1 0x1000bfc0 @@ -125,10 +132,8 @@ undefined4 MxPresenter::VTable0x4c() return 0; } -// OFFSET: LEGO1 0x1000bfd0 STUB -undefined MxPresenter::VTable0x50() +// OFFSET: LEGO1 0x1000bfd0 +undefined MxPresenter::VTable0x50(undefined4, undefined4) { - // TODO - return 0; } diff --git a/LEGO1/mxpresenter.h b/LEGO1/mxpresenter.h index 6ea022da..e01100c1 100644 --- a/LEGO1/mxpresenter.h +++ b/LEGO1/mxpresenter.h @@ -5,65 +5,64 @@ #include "mxcriticalsection.h" +#include "decomp.h" + class MxStreamController; class MxDSAction; -#ifndef undefined4 -#define undefined4 int -#endif - -#ifndef undefined -#define undefined int -#endif - class MxPresenter : public MxCore { public: + MxPresenter() { + Init(); + } __declspec(dllexport) virtual ~MxPresenter(); // vtable+0x0 // OFFSET: LEGO1 0x1000bfe0 - inline virtual const char *ClassName() const // vtable+0xc + inline virtual const char *ClassName() const override// vtable+0xc { // 0x100f0740 return "MxPresenter"; } // OFFSET: LEGO1 0x1000bff0 - inline virtual MxBool IsA(const char *name) const // vtable+0x10 + inline virtual MxBool IsA(const char *name) const override// vtable+0x10 { return !strcmp(name, MxPresenter::ClassName()) || MxCore::IsA(name); } - __declspec(dllexport) virtual long Tickle(); // vtable+0x8 + __declspec(dllexport) virtual MxLong Tickle() override; // vtable+0x8 virtual void VTable0x14(); // vtable+0x14 virtual void VTable0x18(); // vtable+0x18 virtual void VTable0x1c(); // vtable+0x1c virtual void VTable0x20(); // vtable+0x20 virtual void VTable0x24(); // vtable+0x24 virtual void VTable0x28(); // vtable+0x28 - virtual undefined4 VTable0x34(); // vtable+0x34 - virtual void InitVirtual(); // vtable+0x38 - virtual void VTable0x44(undefined4 param); // vtable+0x44 - virtual undefined4 VTable0x48(undefined4 param); // vtable+0x48 - virtual undefined4 VTable0x4c(); // vtable+0x4c - virtual undefined VTable0x50(); // vtable+0x50 protected: __declspec(dllexport) virtual void DoneTickle(); // vtable+0x2c - __declspec(dllexport) void Init(); __declspec(dllexport) virtual void ParseExtra(); // vtable+0x30 public: - __declspec(dllexport) virtual long StartAction(MxStreamController *, MxDSAction *); // vtable+0x3c + virtual undefined4 VTable0x34(); // vtable+0x34 + virtual void InitVirtual(); // vtable+0x38 + __declspec(dllexport) virtual MxLong StartAction(MxStreamController *, MxDSAction *); // vtable+0x3c __declspec(dllexport) virtual void EndAction(); // vtable+0x40 + virtual void VTable0x44(undefined4 param); // vtable+0x44 + virtual unsigned char VTable0x48(unsigned char param); // vtable+0x48 + virtual undefined4 VTable0x4c(); // vtable+0x4c + virtual undefined VTable0x50(undefined4, undefined4); // vtable+0x50 __declspec(dllexport) virtual void Enable(unsigned char); // vtable+0x54 +protected: + __declspec(dllexport) void Init(); +public: - int m_unk0x8; - int m_unk0xc; - int m_unk0x10; - int m_unk0x14; - int m_unk0x18; + undefined4 m_unk0x8; + undefined4 m_unk0xc; + undefined4 m_unk0x10; + undefined4 m_unk0x14; + undefined4 m_unk0x18; MxDSAction* m_action; // 0 MxCriticalSection m_criticalSection; - int m_unk0x3c; + undefined4 m_unk0x3c; // VTABLE 0x100d4d38 }; diff --git a/LEGO1/mxscheduler.cpp b/LEGO1/mxscheduler.cpp new file mode 100644 index 00000000..08bcd04c --- /dev/null +++ b/LEGO1/mxscheduler.cpp @@ -0,0 +1,15 @@ +#include "mxscheduler.h" + +// OFFSET: LEGO1 0x100bf4f0 +MxScheduler *MxScheduler::GetInstance() +{ + // Intentionally empty + return 0; +} + +// OFFSET: LEGO1 0x100bf500 +void MxScheduler::StartMultiTasking(MxULong) +{ + // Intentionally empty +} + diff --git a/LEGO1/mxscheduler.h b/LEGO1/mxscheduler.h index 4f7ee387..fabb33dc 100644 --- a/LEGO1/mxscheduler.h +++ b/LEGO1/mxscheduler.h @@ -1,11 +1,13 @@ #ifndef MXSCHEDULER_H #define MXSCHEDULER_H +#include "mxtypes.h" + class MxScheduler { public: __declspec(dllexport) static MxScheduler *GetInstance(); - __declspec(dllexport) void StartMultiTasking(unsigned long); + __declspec(dllexport) void StartMultiTasking(MxULong); }; #endif // MXSCHEDULER_H diff --git a/LEGO1/mxsmkpresenter.cpp b/LEGO1/mxsmkpresenter.cpp index 9f160a99..cc7efec1 100644 --- a/LEGO1/mxsmkpresenter.cpp +++ b/LEGO1/mxsmkpresenter.cpp @@ -1,5 +1,9 @@ #include "mxsmkpresenter.h" +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxSmkPresenter, 0x720); + // OFFSET: LEGO1 0x100b3650 STUB MxSmkPresenter::MxSmkPresenter() { diff --git a/LEGO1/mxsmkpresenter.h b/LEGO1/mxsmkpresenter.h index b439bc2a..325091bb 100644 --- a/LEGO1/mxsmkpresenter.h +++ b/LEGO1/mxsmkpresenter.h @@ -3,16 +3,19 @@ #include "mxvideopresenter.h" +#include "decomp.h" + // VTABLE 0x100dc348 // SIZE 0x720 class MxSmkPresenter : public MxVideoPresenter { public: MxSmkPresenter(); - + + undefined4 m_unk64[430]; + undefined4 m_unk71c; private: void Init(); - }; #endif // MXSMKPRESENTER_H diff --git a/LEGO1/mxsoundmanager.cpp b/LEGO1/mxsoundmanager.cpp index d12ecee1..275d0514 100644 --- a/LEGO1/mxsoundmanager.cpp +++ b/LEGO1/mxsoundmanager.cpp @@ -1,9 +1,9 @@ #include "mxsoundmanager.h" -// OFFSET: LEGO1 0x100ae740 STUB +// OFFSET: LEGO1 0x100ae740 MxSoundManager::MxSoundManager() { - // TODO + Init(); } // OFFSET: LEGO1 0x100ae7d0 STUB @@ -11,3 +11,11 @@ MxSoundManager::~MxSoundManager() { // TODO } + +// OFFSET: LEGO1 0x100ae830 +void MxSoundManager::Init() +{ + m_unk30 = 0; + m_unk34 = 0; +} + diff --git a/LEGO1/mxsoundmanager.h b/LEGO1/mxsoundmanager.h index 3421a5d6..4d74fa95 100644 --- a/LEGO1/mxsoundmanager.h +++ b/LEGO1/mxsoundmanager.h @@ -1,17 +1,21 @@ #ifndef MXSOUNDMANAGER_H #define MXSOUNDMANAGER_H -#include "mxcore.h" +#include "mxunknown100dc6e0.h" // VTABLE 0x100dc128 // SIZE 0x3c // Base vtables are: MxCore -> 0x100dc6b0 -> 0x100dc6e0 -> MxSoundManager -class MxSoundManager +class MxSoundManager : public MxUnknown100dc6e0 { public: MxSoundManager(); virtual ~MxSoundManager() override; // vtable+0x0 +private: + void Init(); + int m_unk30; + int m_unk34; }; #endif // MXSOUNDMANAGER_H diff --git a/LEGO1/mxstillpresenter.cpp b/LEGO1/mxstillpresenter.cpp index bc2b03b5..351971f0 100644 --- a/LEGO1/mxstillpresenter.cpp +++ b/LEGO1/mxstillpresenter.cpp @@ -1 +1,5 @@ #include "mxstillpresenter.h" + +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxStillPresenter, 0x6c); diff --git a/LEGO1/mxstillpresenter.h b/LEGO1/mxstillpresenter.h index d9376b8e..9b7c5810 100644 --- a/LEGO1/mxstillpresenter.h +++ b/LEGO1/mxstillpresenter.h @@ -3,11 +3,18 @@ #include "mxvideopresenter.h" +#include "decomp.h" + // VTABLE 0x100d7a38 // SIZE 0x6c class MxStillPresenter : public MxVideoPresenter { public: + MxStillPresenter() { + m_unk68 = 0; + } + undefined4 m_unk64; + undefined4 m_unk68; }; #endif // MXSTILLPRESENTER_H diff --git a/LEGO1/mxstreamer.cpp b/LEGO1/mxstreamer.cpp index 42649c0a..853f1c58 100644 --- a/LEGO1/mxstreamer.cpp +++ b/LEGO1/mxstreamer.cpp @@ -6,8 +6,22 @@ MxStreamer::~MxStreamer() // TODO } +// OFFSET: LEGO1 0x100b92c0 STUB +MxStreamController *MxStreamer::Open(const char *name, MxU16 p) +{ + // TODO + return NULL; +} + +// OFFSET: LEGO1 0x100b9570 STUB +MxLong MxStreamer::Close(const char *p) +{ + // TODO + return 0; +} + // OFFSET: LEGO1 0x100b9b60 STUB -long MxStreamer::Notify(MxParam &p) +MxLong MxStreamer::Notify(MxParam &p) { // TODO diff --git a/LEGO1/mxstreamer.h b/LEGO1/mxstreamer.h index f8eeb43b..f14ac66d 100644 --- a/LEGO1/mxstreamer.h +++ b/LEGO1/mxstreamer.h @@ -11,11 +11,11 @@ class MxStreamer : public MxCore public: virtual ~MxStreamer() override; - __declspec(dllexport) MxStreamController *Open(const char *name, unsigned short p); - __declspec(dllexport) long Close(const char *p); + __declspec(dllexport) MxStreamController *Open(const char *name, MxU16 p); + __declspec(dllexport) MxLong Close(const char *p); - virtual long Notify(MxParam &p) override; // vtable+0x4 - virtual MxResult VTable0x14() override; // vtable+0x14 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 + virtual MxResult VTable0x14(); // vtable+0x14 }; #endif // MXSTREAMER_H diff --git a/LEGO1/mxstring.h b/LEGO1/mxstring.h index a6552bb5..a24a0df1 100644 --- a/LEGO1/mxstring.h +++ b/LEGO1/mxstring.h @@ -23,7 +23,7 @@ class MxString : public MxCore private: char *m_data; - unsigned short m_length; + MxU16 m_length; }; diff --git a/LEGO1/mxstringvariable.cpp b/LEGO1/mxstringvariable.cpp new file mode 100644 index 00000000..e63329c1 --- /dev/null +++ b/LEGO1/mxstringvariable.cpp @@ -0,0 +1,22 @@ +#include "mxstringvariable.h" +#include "mxstring.h" + + +// OFFSET: LEGO1 0x1003bea0 +MxString *MxStringVariable::GetString() +{ + return &m_string; +} + +// OFFSET: LEGO1 0x1003beb0 +void MxStringVariable::SetString(const char *colorString) +{ + m_string = colorString; +} + +//FIXME: Figure out what exactly this class is used for. It is used in LegoGameState::LegoGameState when loading the background color, and for loading the "fsmovie" variable +// OFFSET: LEGO1 0x1003bec0 +void MxStringVariable::Destroy() +{ + delete this; +} diff --git a/LEGO1/mxstringvariable.h b/LEGO1/mxstringvariable.h new file mode 100644 index 00000000..dd623dfb --- /dev/null +++ b/LEGO1/mxstringvariable.h @@ -0,0 +1,20 @@ +#ifndef MXSTRINGVARIABLE_H +#define MXSTRINGVARIABLE_H +#include "mxstring.h" +#include "mxcore.h" +//VTABLE: 0x100d74a8 +class MxStringVariable +{ +public: + __declspec(dllexport) MxStringVariable(const char *, const char *); + MxStringVariable() {} + virtual MxString *GetString(); + virtual void SetString(const char *colorString); + virtual void Destroy(); + +protected: + MxString m_name; + MxString m_string; +}; + +#endif // MXSTRINGVARIABLE_H diff --git a/LEGO1/mxticklemanager.h b/LEGO1/mxticklemanager.h index 7ef50622..60f2f14d 100644 --- a/LEGO1/mxticklemanager.h +++ b/LEGO1/mxticklemanager.h @@ -9,7 +9,7 @@ class MxTickleManager : public MxCore public: virtual ~MxTickleManager(); - virtual long Tickle(); + virtual MxLong Tickle(); virtual const char *ClassName() const; virtual MxBool IsA(const char *name) const; virtual void vtable14(); diff --git a/LEGO1/mxtimer.cpp b/LEGO1/mxtimer.cpp index 47afaa03..0d5752d6 100644 --- a/LEGO1/mxtimer.cpp +++ b/LEGO1/mxtimer.cpp @@ -3,10 +3,10 @@ #include // 0x10101414 -long MxTimer::s_LastTimeCalculated = 0; +MxLong MxTimer::s_LastTimeCalculated = 0; // 0x10101418 -long MxTimer::s_LastTimeTimerStarted = 0; +MxLong MxTimer::s_LastTimeTimerStarted = 0; // OFFSET: LEGO1 0x100ae060 MxTimer::MxTimer() @@ -27,15 +27,15 @@ void MxTimer::Start() // OFFSET: LEGO1 0x100ae180 void MxTimer::Stop() { - long elapsed = this->GetRealTime(); - long startTime = elapsed - MxTimer::s_LastTimeTimerStarted; + MxLong elapsed = this->GetRealTime(); + MxLong startTime = elapsed - MxTimer::s_LastTimeTimerStarted; this->m_isRunning = FALSE; // this feels very stupid but it's what the assembly does this->m_startTime = this->m_startTime + startTime - 5; } // OFFSET: LEGO1 0x100ae140 -long MxTimer::GetRealTime() +MxLong MxTimer::GetRealTime() { MxTimer::s_LastTimeCalculated = timeGetTime(); return MxTimer::s_LastTimeCalculated - this->m_startTime; diff --git a/LEGO1/mxtimer.h b/LEGO1/mxtimer.h index 564eedfa..1714e8e1 100644 --- a/LEGO1/mxtimer.h +++ b/LEGO1/mxtimer.h @@ -13,9 +13,9 @@ class MxTimer : public MxCore void Start(); void Stop(); - __declspec(dllexport) long GetRealTime(); + __declspec(dllexport) MxLong GetRealTime(); - inline long GetTime() + inline MxLong GetTime() { if (this->m_isRunning) return s_LastTimeCalculated; @@ -24,10 +24,10 @@ class MxTimer : public MxCore } private: - long m_startTime; + MxLong m_startTime; MxBool m_isRunning; - static long s_LastTimeCalculated; - static long s_LastTimeTimerStarted; + static MxLong s_LastTimeCalculated; + static MxLong s_LastTimeTimerStarted; }; #endif // MXTIMER_H diff --git a/LEGO1/mxtransitionmanager.cpp b/LEGO1/mxtransitionmanager.cpp index 8626453f..8af3f497 100644 --- a/LEGO1/mxtransitionmanager.cpp +++ b/LEGO1/mxtransitionmanager.cpp @@ -13,15 +13,15 @@ MxTransitionManager::~MxTransitionManager() } // OFFSET: LEGO1 0x1004bac0 STUB -long MxTransitionManager::Tickle() +MxLong MxTransitionManager::Tickle() { // TODO return 0; } -// OFFSET: LEGO1 0x1004C470 STUB -void MxTransitionManager::SetWaitIndicator(MxVideoPresenter* videoPresenter) +// OFFSET: LEGO1 0x1004c470 STUB +void MxTransitionManager::SetWaitIndicator(MxVideoPresenter *videoPresenter) { // TODO } diff --git a/LEGO1/mxtransitionmanager.h b/LEGO1/mxtransitionmanager.h index 3fdb1ebf..c6cc28aa 100644 --- a/LEGO1/mxtransitionmanager.h +++ b/LEGO1/mxtransitionmanager.h @@ -9,11 +9,12 @@ class MxVideoPresenter; class MxTransitionManager : public MxCore { public: - virtual ~MxTransitionManager(); // vtable+0x0 + MxTransitionManager(); + virtual ~MxTransitionManager() override; // vtable+0x0 __declspec(dllexport) void SetWaitIndicator(MxVideoPresenter *videoPresenter); - virtual long Tickle(); // vtable+0x8 + virtual MxLong Tickle(); // vtable+0x8 }; #endif // MXTRANSITIONMANAGER_H diff --git a/LEGO1/mxtypes.h b/LEGO1/mxtypes.h index 71421d91..8a7d5026 100644 --- a/LEGO1/mxtypes.h +++ b/LEGO1/mxtypes.h @@ -2,17 +2,34 @@ #define MXTYPE_H typedef unsigned char MxU8; -typedef char MxS8; +typedef signed char MxS8; typedef unsigned short MxU16; -typedef short MxS16; +typedef signed short MxS16; typedef unsigned int MxU32; -typedef int MxS32; +typedef signed int MxS32; +typedef unsigned __int64 MxU64; +typedef signed __int64 MxS64; +typedef float MxFloat; +typedef double MxDouble; -typedef unsigned long MxResult; +// On MSVC, a long is 32-bit, but on GCC/Clang, it's 64-bit. LEGO Island obviously +// assumes the former in all cases, which could become an issue in the future. +// The "longs" can't all be changed to "ints" (which are 32-bit on both) because +// this will break DLL export compatibility. Therefore, we define MxLong/MxULong, +// which is guaranteed to be 32-bit, and guaranteed to be a "long" on MSVC. +#if defined(_MSC_VER) +typedef long MxLong; +typedef unsigned long MxULong; +#else +typedef int MxLong; +typedef unsigned int MxULong; +#endif + +typedef MxLong MxResult; const MxResult SUCCESS = 0; -const MxResult FAILURE = 0xFFFFFFFFL; +const MxResult FAILURE = -1; -typedef unsigned char MxBool; +typedef MxU8 MxBool; #ifndef TRUE #define TRUE 1 diff --git a/LEGO1/mxunknown100dc6b0.cpp b/LEGO1/mxunknown100dc6b0.cpp index 029be1f7..b896fa10 100644 --- a/LEGO1/mxunknown100dc6b0.cpp +++ b/LEGO1/mxunknown100dc6b0.cpp @@ -6,6 +6,12 @@ MxUnknown100dc6b0::MxUnknown100dc6b0() Init(); } +// OFFSET: LEGO1 0x100b8560 STUB +MxUnknown100dc6b0::~MxUnknown100dc6b0() +{ + // TODO +} + // OFFSET: LEGO1 0x100b85d0 MxResult MxUnknown100dc6b0::Init() { diff --git a/LEGO1/mxunknown100dc6b0.h b/LEGO1/mxunknown100dc6b0.h index ca2ee600..29d42209 100644 --- a/LEGO1/mxunknown100dc6b0.h +++ b/LEGO1/mxunknown100dc6b0.h @@ -10,6 +10,7 @@ class MxUnknown100dc6b0 : public MxCore { public: MxUnknown100dc6b0(); + virtual ~MxUnknown100dc6b0() override; MxResult Init(); diff --git a/LEGO1/mxunknown100dc6e0.cpp b/LEGO1/mxunknown100dc6e0.cpp new file mode 100644 index 00000000..b896e89b --- /dev/null +++ b/LEGO1/mxunknown100dc6e0.cpp @@ -0,0 +1,19 @@ +#include "mxunknown100dc6e0.h" + +// OFFSET: LEGO1 0x100b8d00 +MxUnknown100dc6e0::MxUnknown100dc6e0() +{ + Init(); +} + +// OFFSET: LEGO1 0x100b8d90 STUB +MxUnknown100dc6e0::~MxUnknown100dc6e0() +{ + // TODO +} + +// OFFSET: LEGO1 0x100b8df0 +void MxUnknown100dc6e0::Init() +{ + this->m_unk2c = 100; +} diff --git a/LEGO1/mxunknown100dc6e0.h b/LEGO1/mxunknown100dc6e0.h new file mode 100644 index 00000000..79c63bab --- /dev/null +++ b/LEGO1/mxunknown100dc6e0.h @@ -0,0 +1,19 @@ +#ifndef MXUNKNOWN100DC6E0_H +#define MXUNKNOWN100DC6E0_H + +#include "mxunknown100dc6b0.h" + +// VTABLE 0x100dc6e0 +class MxUnknown100dc6e0 : public MxUnknown100dc6b0 +{ +public: + MxUnknown100dc6e0(); + virtual ~MxUnknown100dc6e0() override; + +protected: + void Init(); + + int m_unk2c; +}; + +#endif // MXUNKNOWN100DC6E0_H diff --git a/LEGO1/mxvariabletable.cpp b/LEGO1/mxvariabletable.cpp index 58869fa4..8927bc32 100644 --- a/LEGO1/mxvariabletable.cpp +++ b/LEGO1/mxvariabletable.cpp @@ -1,6 +1,20 @@ #include "mxvariabletable.h" -void MxVariableTable::SetVariable(const char* key, const char* value) +// OFFSET: LEGO1 0x100b73a0 +void MxVariableTable::SetVariable(const char *key, const char *value) { - // FIXME: Stub + // TODO +} + +// OFFSET: LEGO1 0x100b7740 +void MxVariableTable::SetVariable(MxVariable *var) +{ + // TODO +} + +// OFFSET: LEGO1 0x100b78f0 +const char *MxVariableTable::GetVariable(const char *key) +{ + // TODO + return 0; } diff --git a/LEGO1/mxvideomanager.cpp b/LEGO1/mxvideomanager.cpp index 455f4f61..543f4136 100644 --- a/LEGO1/mxvideomanager.cpp +++ b/LEGO1/mxvideomanager.cpp @@ -7,7 +7,7 @@ MxVideoManager::~MxVideoManager() } // OFFSET: LEGO1 0x100bea90 STUB -long MxVideoManager::Tickle() +MxLong MxVideoManager::Tickle() { // TODO @@ -32,8 +32,14 @@ int MxVideoManager::Init() return 0; } +// OFFSET: LEGO1 0x100bea60 STUB +void MxVideoManager::InvalidateRect(MxRect32 &p_rect) +{ + // TODO +} + // OFFSET: LEGO1 0x100bebe0 -long MxVideoManager::RealizePalette(MxPalette *p_palette) +MxLong MxVideoManager::RealizePalette(MxPalette *p_palette) { PALETTEENTRY paletteEntries[256]; diff --git a/LEGO1/mxvideomanager.h b/LEGO1/mxvideomanager.h index d8e0c7bd..f70bf06e 100644 --- a/LEGO1/mxvideomanager.h +++ b/LEGO1/mxvideomanager.h @@ -11,10 +11,10 @@ class MxVideoManager : public MxUnknown100dc6b0 public: virtual ~MxVideoManager(); - virtual long Tickle(); // vtable+0x8 + virtual MxLong Tickle(); // vtable+0x8 __declspec(dllexport) void InvalidateRect(MxRect32 &); - __declspec(dllexport) virtual long RealizePalette(MxPalette *); // vtable+0x30 + __declspec(dllexport) virtual MxLong RealizePalette(MxPalette *); // vtable+0x30 MxVideoManager(); diff --git a/LEGO1/mxvideoparam.cpp b/LEGO1/mxvideoparam.cpp index b72107c7..6f74f7a9 100644 --- a/LEGO1/mxvideoparam.cpp +++ b/LEGO1/mxvideoparam.cpp @@ -17,7 +17,7 @@ MxVideoParam::MxVideoParam() } // OFFSET: LEGO1 0x100beca0 -MxVideoParam::MxVideoParam(MxRect32 &p_rect, MxPalette *p_pal, unsigned long p_backBuffers, MxVideoParamFlags &p_flags) +MxVideoParam::MxVideoParam(COMPAT_CONST MxRect32 &p_rect, MxPalette *p_pal, MxULong p_backBuffers, COMPAT_CONST MxVideoParamFlags &p_flags) { this->m_rect.m_left = p_rect.m_left; this->m_rect.m_top = p_rect.m_top; diff --git a/LEGO1/mxvideoparam.h b/LEGO1/mxvideoparam.h index 3e00a920..2376e5db 100644 --- a/LEGO1/mxvideoparam.h +++ b/LEGO1/mxvideoparam.h @@ -3,6 +3,7 @@ #include +#include "compat.h" #include "mxpalette.h" #include "mxrect32.h" #include "mxtypes.h" @@ -14,7 +15,7 @@ class MxVideoParam public: __declspec(dllexport) MxVideoParam(); __declspec(dllexport) MxVideoParam(MxVideoParam &); - __declspec(dllexport) MxVideoParam(MxRect32 &rect, MxPalette *pal, unsigned long p3, MxVideoParamFlags &flags); + __declspec(dllexport) MxVideoParam(COMPAT_CONST MxRect32 &rect, MxPalette *pal, MxULong p3, COMPAT_CONST MxVideoParamFlags &flags); __declspec(dllexport) MxVideoParam &operator=(const MxVideoParam &); __declspec(dllexport) ~MxVideoParam(); diff --git a/LEGO1/mxvideopresenter.cpp b/LEGO1/mxvideopresenter.cpp index 894b1e9c..4e47e4a4 100644 --- a/LEGO1/mxvideopresenter.cpp +++ b/LEGO1/mxvideopresenter.cpp @@ -1 +1,9 @@ #include "mxvideopresenter.h" + +DECOMP_SIZE_ASSERT(MxVideoPresenter, 0x64); + +// OFFSET: LEGO1 0x100b2760 STUB +void MxVideoPresenter::Init() +{ + // TODO +} diff --git a/LEGO1/mxvideopresenter.h b/LEGO1/mxvideopresenter.h index eba5040c..19c211c3 100644 --- a/LEGO1/mxvideopresenter.h +++ b/LEGO1/mxvideopresenter.h @@ -3,12 +3,19 @@ #include "mxmediapresenter.h" +#include "decomp.h" + class MxVideoPresenter : public MxMediaPresenter { public: + MxVideoPresenter() + { + Init(); + } + // OFFSET: LEGO1 0x1000c820 inline virtual const char *ClassName() const override // vtable+0x0c - { + { // 0x100f0760 return "MxVideoPresenter"; } @@ -18,6 +25,15 @@ class MxVideoPresenter : public MxMediaPresenter { return !strcmp(name, MxVideoPresenter::ClassName()) || MxMediaPresenter::IsA(name); } + + void Init(); + + undefined4 m_unk50; + undefined4 m_unk54; + undefined4 m_unk58; + undefined2 m_unk5c; + unsigned char m_flags; + undefined4 m_unk60; }; #endif // MXVIDEOPRESENTER_H diff --git a/LEGO1/mxwavepresenter.cpp b/LEGO1/mxwavepresenter.cpp index bfd69c5f..cba9106e 100644 --- a/LEGO1/mxwavepresenter.cpp +++ b/LEGO1/mxwavepresenter.cpp @@ -1,7 +1,18 @@ #include "mxwavepresenter.h" -// OFFSET: LEGO1 0x100b1ad0 STUB +#include "decomp.h" + +DECOMP_SIZE_ASSERT(MxWavePresenter, 0x6c); + +// OFFSET: LEGO1 0x100b1ad0 void MxWavePresenter::Init() { - // TODO + m_unk54 = 0; + m_unk58 = 0; + m_unk5c = 0; + m_unk60 = 0; + m_unk64 = 0; + m_unk65 = 0; + m_unk66 = 0; + m_unk68 = 0; } diff --git a/LEGO1/mxwavepresenter.h b/LEGO1/mxwavepresenter.h index c00d978d..a8a1de45 100644 --- a/LEGO1/mxwavepresenter.h +++ b/LEGO1/mxwavepresenter.h @@ -3,14 +3,28 @@ #include "mxsoundpresenter.h" +#include "decomp.h" + // VTABLE 0x100d49a8 // SIZE 0x6c class MxWavePresenter : public MxSoundPresenter { private: void Init(); - + public: + MxWavePresenter() { + Init(); + } + undefined4 m_unk54; + undefined4 m_unk58; + undefined4 m_unk5c; + undefined4 m_unk60; + undefined m_unk64; + undefined m_unk65; + undefined m_unk66; + undefined m_unk67; + undefined m_unk68; }; #endif // MXWAVEPRESENTER_H diff --git a/LEGO1/police.cpp b/LEGO1/police.cpp index bd268411..37f10295 100644 --- a/LEGO1/police.cpp +++ b/LEGO1/police.cpp @@ -13,7 +13,7 @@ Police::~Police() } // OFFSET: LEGO1 0x1005e480 STUB -long Police::Notify(MxParam &p) +MxLong Police::Notify(MxParam &p) { // TODO diff --git a/LEGO1/police.h b/LEGO1/police.h index c4bea1cf..8ff6dff9 100644 --- a/LEGO1/police.h +++ b/LEGO1/police.h @@ -12,7 +12,7 @@ class Police : public LegoWorld Police(); virtual ~Police() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 }; diff --git a/LEGO1/realtimeview.cpp b/LEGO1/realtimeview.cpp new file mode 100644 index 00000000..35be5b0e --- /dev/null +++ b/LEGO1/realtimeview.cpp @@ -0,0 +1,32 @@ +#include "realtimeview.h" + +// 0x10101048 +float g_userMaxLod = 3.6f; + +// 0x1010104c +float g_partsThreshold = 1000.0f; + +// OFFSET: LEGO1 0x100a5e00 +float RealtimeView::GetUserMaxLOD() +{ + // TODO + return 0; +} + +// OFFSET: LEGO1 0x100a5e10 +float RealtimeView::GetPartsThreshold() +{ + return g_partsThreshold; +} + +// OFFSET: LEGO1 0x100a5de0 +void RealtimeView::SetUserMaxLOD(float p_lod) +{ + g_userMaxLod = p_lod; +} + +// OFFSET: LEGO1 0x100a5df0 +void RealtimeView::SetPartsThreshold(float p_threshold) +{ + g_partsThreshold = p_threshold; +} diff --git a/LEGO1/registrationbook.cpp b/LEGO1/registrationbook.cpp index 5668d31c..dc03a327 100644 --- a/LEGO1/registrationbook.cpp +++ b/LEGO1/registrationbook.cpp @@ -13,7 +13,7 @@ RegistrationBook::~RegistrationBook() } // OFFSET: LEGO1 0x100770e0 STUB -long RegistrationBook::Notify(MxParam &p) +MxLong RegistrationBook::Notify(MxParam &p) { // TODO diff --git a/LEGO1/registrationbook.h b/LEGO1/registrationbook.h index 4dba2173..a8219569 100644 --- a/LEGO1/registrationbook.h +++ b/LEGO1/registrationbook.h @@ -11,7 +11,7 @@ class RegistrationBook : public LegoWorld RegistrationBook(); virtual ~RegistrationBook() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 }; diff --git a/LEGO1/score.cpp b/LEGO1/score.cpp index 4e3c7801..fc4070f7 100644 --- a/LEGO1/score.cpp +++ b/LEGO1/score.cpp @@ -13,7 +13,7 @@ Score::~Score() } // OFFSET: LEGO1 0x10001410 STUB -long Score::Notify(MxParam &p) +MxLong Score::Notify(MxParam &p) { // TODO diff --git a/LEGO1/score.h b/LEGO1/score.h index d2a7a7f6..e103b4bc 100644 --- a/LEGO1/score.h +++ b/LEGO1/score.h @@ -11,7 +11,7 @@ class Score : public LegoWorld Score(); virtual ~Score() override; // vtable+0x0 - virtual long Notify(MxParam &p) override; // vtable+0x4 + virtual MxLong Notify(MxParam &p) override; // vtable+0x4 }; diff --git a/LEGO1/viewmanager.cpp b/LEGO1/viewmanager.cpp index dd97a666..0baebd2c 100644 --- a/LEGO1/viewmanager.cpp +++ b/LEGO1/viewmanager.cpp @@ -1,6 +1,7 @@ #include "viewmanager.h" -void ViewManager::RemoveAll(ViewROI*) +// OFFSET: LEGO1 0x100a64d0 STUB +void ViewManager::RemoveAll(ViewROI *) { - // FIXME: Stub + // TODO } diff --git a/README.md b/README.md index f89f1f15..2be5373a 100644 --- a/README.md +++ b/README.md @@ -2,47 +2,53 @@ [Development Vlog](https://www.youtube.com/playlist?list=PLbpl-gZkNl2COf_bB6cfgTapD5WduAfPz) | [Contributing](https://github.com/isledecomp/isle/blob/master/CONTRIBUTING.md) | [Matrix](https://matrix.to/#/#isledecomp:matrix.org) | [Forums](https://forum.mattkc.com/viewforum.php?f=1) | [Patreon](https://www.patreon.com/mattkc) -This is a **work-in-progress** decompilation of LEGO Island version 1.1. It aims to be relatively faithful, but not byte accurate. The goal is to provide a workable codebase that can be modified, improved, and ported to other platforms later on. +This is a **work-in-progress** decompilation of LEGO Island version 1.1. It aims to be as accurate as possible, matching the recompiled instructions to the original machine code as much as possible. The goal is to provide a workable codebase that can be modified, improved, and ported to other platforms later on. ## Status - + -Currently `ISLE.EXE` is completely decompiled, however there are some known inaccuracies. It should work if you pair it with the original game's `LEGO1.DLL` (and other files), however small things may not work correctly yet. Work on decompiling `LEGO1.DLL` has only just started and currently it is too incomplete to be usable. +Currently `ISLE.EXE` is completely decompiled and behaves identically to the original. A handful of stubborn instructions are not yet matching, however we anticipate they will as more of the overall codebase is implemented. + +`LEGO1.DLL` is still very much incomplete and cannot be used at this time. Instead, if you want to test this, it is recommended to pair the recompiled `ISLE.EXE` with the `LEGO1.DLL` from the original game. ## Building -LEGO Island was compiled with Microsoft Visual C++ 4.20, so that's what this decompilation targets. However it should compile with NMAKE on newer versions of Visual Studio too. +This projects uses the [CMake](https://cmake.org/) build system, which allows for a high degree of versatility regarding compilers and development environments. For the most accurate results, it is recommended to use Microsoft Visual C++ 4.20 (the same compiler used to build the original game). Since we're trying to match this to the original executable as closely as possible, all contributions will be graded with the output of this compiler. -### Recommended Instructions -These instructions use the development IDE from Visual C++ 4.20. By modern standards, it can be a little clunky to use, especially on newer versions of Windows, however it's still relatively straightforward. If you prefer a command line process that can fit into a modern workflow/IDE, see the instructions below. +These instructions will outline how to compile this repository into an accurate instruction-matching binary with Visual C++ 4.2. If you wish, you can try using other compilers, but this is at your own risk and won't be covered in this guide. -1. Install Microsoft Visual C++ 4.20. This can be found on many abandonware sites, but the installer can be a little iffy on modern versions of Windows. For convenience, I made a [portable version](https://github.com/itsmattkc/msvc420) that can be downloaded and used quickly instead. -2. Download and install the DirectX 5 SDK. Similarly, this can be found on many abandonware sites. -3. Open "Microsoft Developer Studio" (`BIN/MSDEV.EXE` for those using the portable). -4. `File` > `Open Workspace` -5. Select `ISLE.MDP` from this repository. -6. Select a build configuration. `ISLE - Win32 Release` is recommended because, at this point in time, you'll almost certainly be pairing it with the retail `LEGO1.DLL`, which is also a release build. -7. `Build` > `Build ISLE.EXE`. This will build `ISLE.EXE` in a folder called `Release`. It will also build `LEGO1.DLL` since it's listed as a dependency, however the `LEGO1.DLL` produced is too incomplete to be usable at this time. +#### Prerequisites -### Command Line Instructions +You will need the following software installed: -For some users, this may be preferable to using an obsolete graphical IDE. Any modern IDE should support custom command line build steps, making this potentially easier to fit into a familiar contemporary workflow. This guide assumes a general familiarity with the Windows command prompt. +- Microsoft Visual C++ 4.2. This can be found on many abandonware sites, but the installer can be a little iffy on modern versions of Windows. For convenience, I made a [portable version](https://github.com/itsmattkc/msvc420) that can be downloaded and used quickly instead. +- DirectX 5 SDK. Similarly, this can be found on many abandonware sites. +- [CMake](https://cmake.org/). A copy is often included with the "Desktop development with C++" workload in newer versions of Visual Studio, however it can also be installed as a standalone app. -1. Acquire Visual Studio/Visual C++. Any version after 4.20 should work here, but 4.20 is the only one guaranteed to work. If you wish to use 4.20, it can be found on many abandonware sites, but the installer can be a little iffy on modern versions of Windows. For convenience, I made a [portable version](https://github.com/itsmattkc/msvc420) that can be downloaded and used quickly instead. -2. Download and install the DirectX 5 SDK. Similarly, this can be found on many abandonware sites, but later versions of Visual Studio include the DirectX SDK by default, so this step may be skippable (you definitely need it for MSVC 4.20). -3. Open an x86/32-bit developer command prompt. Depending on the version of VS you're using, you may have a start menu item for it already (e.g. `x86 Native Tools Command Prompt`). Alternatively, you can start a normal command prompt (`cmd`) and run `vcvars32.bat` from the Visual Studio folder (run `BIN/VCVARS32.BAT x86` if you're using the portable 4.20). -4. `cd` to the folder you cloned this repository to. -5. `mkdir Release` if the folder doesn't already exist. Some versions of NMAKE may make this folder by itself, but some don't. -6. Run `nmake /f isle.mak CFG="ISLE - Win32 Release"`. This will build `ISLE.EXE` in the `Release` folder you just made. It will also build `LEGO1.DLL` since it's listed as a dependency, however the `LEGO1.DLL` produced is too incomplete to be usable at this time. +#### Compiling From Command Line + +1. Open a Command Prompt (`cmd`). +1. From Visual C++ 4.2, run `BIN/VCVARS32.BAT x86` to populate the path and other environment variables for compiling with MSVC. +1. Make a folder for compiled objects to go, such as a `build` folder inside the source repository (the folder you cloned/downloaded to). +1. In your Command Prompt, `cd` to the build folder. +1. Configure the project with CMake by running: +``` +cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo +``` + - Replace `` with the source repository. Can be `..` if your build folder is inside the source repository. + - `RelWithDebInfo` is recommended because it will produce debug symbols useful for further decompilation work. However, you can change this to `Release` if you don't need them. `Debug` builds are not recommended because they are unlikely to be compatible with the retail `LEGO1.DLL`, which is currently the only way to really use this decomp. + - `NMake Makefiles` is most recommended because it will be immediately compatible with Visual C++ 4.2. For faster builds, you can use `Ninja` (if you have it installed), however due to limitations in Visual C++ 4.2, you can only build `Release` builds this way (debug symbols cannot be generated with `Ninja`). +1. Build the project by running `nmake` or `cmake --build ` +1. When this is done, there should a recompiled `ISLE.EXE` and `LEGO1.DLL` in the build folder. + +If you have a CMake-compatible IDE, it should be pretty straightforward to use this repository, as long as you can use `VCVARS32.BAT` and set the generator to `NMake Makefiles`. ## Usage Simply place the compiled `ISLE.EXE` into LEGO Island's install folder (usually `C:\Program Files\LEGO Island` or `C:\Program Files (x86)\LEGO Island`). Unless you're a developer, disregard the compiled `LEGO1.DLL` for now as it is too incomplete to be usable. Alternatively, LEGO Island can run from any directory as long as `ISLE.EXE` and `LEGO1.DLL` are in the same directory, and the registry keys point to the correct location for the asset files. -Ideally, this decompilation should be paired with version 1.1. It may work on 1.0 too, however this is not guaranteed. - ## Contributing If you're interested in helping/contributing to this project, check out the [CONTRIBUTING](https://github.com/isledecomp/isle/blob/master/CONTRIBUTING.md) page. diff --git a/isle.mak b/isle.mak deleted file mode 100644 index 90a2cead..00000000 --- a/isle.mak +++ /dev/null @@ -1,4681 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Application" 0x0101 -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -!IF "$(CFG)" == "" -CFG=LEGO1 - Win32 Release -!MESSAGE No configuration specified. Defaulting to LEGO1 - Win32 Release. -!ENDIF - -!IF "$(CFG)" != "LEGO1 - Win32 Release" && "$(CFG)" != "LEGO1 - Win32 Debug" &&\ - "$(CFG)" != "ISLE - Win32 Release" && "$(CFG)" != "ISLE - Win32 Debug" -!MESSAGE Invalid configuration "$(CFG)" specified. -!MESSAGE You can specify a configuration when running NMAKE on this makefile -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "isle.mak" CFG="LEGO1 - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "LEGO1 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "LEGO1 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "ISLE - Win32 Release" (based on "Win32 (x86) Application") -!MESSAGE "ISLE - Win32 Debug" (based on "Win32 (x86) Application") -!MESSAGE -!ERROR An invalid configuration is specified. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF -################################################################################ -# Begin Project -# PROP Target_Last_Scanned "ISLE - Win32 Debug" - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "LEGO1\Release" -# PROP BASE Intermediate_Dir "LEGO1\Release" -# PROP BASE Target_Dir "LEGO1" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "LEGO1\Release" -# PROP Intermediate_Dir "LEGO1\Release" -# PROP Target_Dir "LEGO1" -OUTDIR=.\LEGO1\Release -INTDIR=.\LEGO1\Release - -ALL : ".\Release\LEGO1.DLL" - -CLEAN : - -@erase "$(INTDIR)\act1state.obj" - -@erase "$(INTDIR)\act2brick.obj" - -@erase "$(INTDIR)\act2policestation.obj" - -@erase "$(INTDIR)\act3.obj" - -@erase "$(INTDIR)\act3shark.obj" - -@erase "$(INTDIR)\act3state.obj" - -@erase "$(INTDIR)\ambulance.obj" - -@erase "$(INTDIR)\ambulancemissionstate.obj" - -@erase "$(INTDIR)\animstate.obj" - -@erase "$(INTDIR)\beachhouseentity.obj" - -@erase "$(INTDIR)\bike.obj" - -@erase "$(INTDIR)\buildingentity.obj" - -@erase "$(INTDIR)\bumpbouy.obj" - -@erase "$(INTDIR)\carrace.obj" - -@erase "$(INTDIR)\dllmain.obj" - -@erase "$(INTDIR)\dunebuggy.obj" - -@erase "$(INTDIR)\elevatorbottom.obj" - -@erase "$(INTDIR)\gasstation.obj" - -@erase "$(INTDIR)\gasstationentity.obj" - -@erase "$(INTDIR)\gasstationstate.obj" - -@erase "$(INTDIR)\helicopter.obj" - -@erase "$(INTDIR)\helicopterstate.obj" - -@erase "$(INTDIR)\historybook.obj" - -@erase "$(INTDIR)\hospital.obj" - -@erase "$(INTDIR)\hospitalentity.obj" - -@erase "$(INTDIR)\hospitalstate.obj" - -@erase "$(INTDIR)\infocenter.obj" - -@erase "$(INTDIR)\infocenterdoor.obj" - -@erase "$(INTDIR)\infocenterentity.obj" - -@erase "$(INTDIR)\infocenterstate.obj" - -@erase "$(INTDIR)\isle.obj" - -@erase "$(INTDIR)\isleactor.obj" - -@erase "$(INTDIR)\islepathactor.obj" - -@erase "$(INTDIR)\jetski.obj" - -@erase "$(INTDIR)\jetskiRace.obj" - -@erase "$(INTDIR)\jukebox.obj" - -@erase "$(INTDIR)\jukeboxentity.obj" - -@erase "$(INTDIR)\jukeboxstate.obj" - -@erase "$(INTDIR)\legoact2state.obj" - -@erase "$(INTDIR)\legoactioncontrolpresenter.obj" - -@erase "$(INTDIR)\legoanimactor.obj" - -@erase "$(INTDIR)\legoanimationmanager.obj" - -@erase "$(INTDIR)\legoanimmmpresenter.obj" - -@erase "$(INTDIR)\legoanimpresenter.obj" - -@erase "$(INTDIR)\legobuildingmanager.obj" - -@erase "$(INTDIR)\legocachesound.obj" - -@erase "$(INTDIR)\legocameracontroller.obj" - -@erase "$(INTDIR)\legocarbuild.obj" - -@erase "$(INTDIR)\legocarbuildanimpresenter.obj" - -@erase "$(INTDIR)\legocontrolmanager.obj" - -@erase "$(INTDIR)\legoentity.obj" - -@erase "$(INTDIR)\legoentitypresenter.obj" - -@erase "$(INTDIR)\legoflctexturepresenter.obj" - -@erase "$(INTDIR)\legohideanimpresenter.obj" - -@erase "$(INTDIR)\legoinputmanager.obj" - -@erase "$(INTDIR)\legojetski.obj" - -@erase "$(INTDIR)\legoloadcachesoundpresenter.obj" - -@erase "$(INTDIR)\legolocomotionanimpresenter.obj" - -@erase "$(INTDIR)\legonavcontroller.obj" - -@erase "$(INTDIR)\legoomni.obj" - -@erase "$(INTDIR)\legopalettepresenter.obj" - -@erase "$(INTDIR)\legopathactor.obj" - -@erase "$(INTDIR)\legopathcontroller.obj" - -@erase "$(INTDIR)\legopathpresenter.obj" - -@erase "$(INTDIR)\legophonemepresenter.obj" - -@erase "$(INTDIR)\legoplantmanager.obj" - -@erase "$(INTDIR)\legorace.obj" - -@erase "$(INTDIR)\legosoundmanager.obj" - -@erase "$(INTDIR)\legostate.obj" - -@erase "$(INTDIR)\legotexturepresenter.obj" - -@erase "$(INTDIR)\legovideomanager.obj" - -@erase "$(INTDIR)\legoworld.obj" - -@erase "$(INTDIR)\legoworldpresenter.obj" - -@erase "$(INTDIR)\motorcycle.obj" - -@erase "$(INTDIR)\mxatomid.obj" - -@erase "$(INTDIR)\mxaudiopresenter.obj" - -@erase "$(INTDIR)\mxautolocker.obj" - -@erase "$(INTDIR)\mxbackgroundaudiomanager.obj" - -@erase "$(INTDIR)\mxcompositemediapresenter.obj" - -@erase "$(INTDIR)\mxcompositepresenter.obj" - -@erase "$(INTDIR)\mxcontrolpresenter.obj" - -@erase "$(INTDIR)\mxcore.obj" - -@erase "$(INTDIR)\mxcriticalsection.obj" - -@erase "$(INTDIR)\mxdiskstreamcontroller.obj" - -@erase "$(INTDIR)\mxdiskstreamprovider.obj" - -@erase "$(INTDIR)\mxdsaction.obj" - -@erase "$(INTDIR)\mxdsanim.obj" - -@erase "$(INTDIR)\mxdschunk.obj" - -@erase "$(INTDIR)\mxdsevent.obj" - -@erase "$(INTDIR)\mxdsfile.obj" - -@erase "$(INTDIR)\mxdsmediaaction.obj" - -@erase "$(INTDIR)\mxdsmultiaction.obj" - -@erase "$(INTDIR)\mxdsobject.obj" - -@erase "$(INTDIR)\mxdsobjectaction.obj" - -@erase "$(INTDIR)\mxdsparallelaction.obj" - -@erase "$(INTDIR)\mxdsselectaction.obj" - -@erase "$(INTDIR)\mxdsserialaction.obj" - -@erase "$(INTDIR)\mxdssound.obj" - -@erase "$(INTDIR)\mxdssource.obj" - -@erase "$(INTDIR)\mxdsstill.obj" - -@erase "$(INTDIR)\mxdssubscriber.obj" - -@erase "$(INTDIR)\mxentity.obj" - -@erase "$(INTDIR)\mxeventmanager.obj" - -@erase "$(INTDIR)\mxeventpresenter.obj" - -@erase "$(INTDIR)\mxflcpresenter.obj" - -@erase "$(INTDIR)\mxioinfo.obj" - -@erase "$(INTDIR)\mxloopingflcpresenter.obj" - -@erase "$(INTDIR)\mxloopingsmkpresenter.obj" - -@erase "$(INTDIR)\mxmediapresenter.obj" - -@erase "$(INTDIR)\mxmusicpresenter.obj" - -@erase "$(INTDIR)\mxnotificationmanager.obj" - -@erase "$(INTDIR)\mxomni.obj" - -@erase "$(INTDIR)\mxomnicreateflags.obj" - -@erase "$(INTDIR)\mxomnicreateparam.obj" - -@erase "$(INTDIR)\mxomnicreateparambase.obj" - -@erase "$(INTDIR)\mxpalette.obj" - -@erase "$(INTDIR)\mxpresenter.obj" - -@erase "$(INTDIR)\mxsmkpresenter.obj" - -@erase "$(INTDIR)\mxsoundmanager.obj" - -@erase "$(INTDIR)\mxsoundpresenter.obj" - -@erase "$(INTDIR)\mxstillpresenter.obj" - -@erase "$(INTDIR)\mxstreamer.obj" - -@erase "$(INTDIR)\mxstring.obj" - -@erase "$(INTDIR)\mxtimer.obj" - -@erase "$(INTDIR)\mxtransitionmanager.obj" - -@erase "$(INTDIR)\mxunknown100dc6b0.obj" - -@erase "$(INTDIR)\mxvideomanager.obj" - -@erase "$(INTDIR)\mxvideoparam.obj" - -@erase "$(INTDIR)\mxvideoparamflags.obj" - -@erase "$(INTDIR)\mxvideopresenter.obj" - -@erase "$(INTDIR)\mxwavepresenter.obj" - -@erase "$(INTDIR)\pizza.obj" - -@erase "$(INTDIR)\pizzeria.obj" - -@erase "$(INTDIR)\pizzeriastate.obj" - -@erase "$(INTDIR)\police.obj" - -@erase "$(INTDIR)\policeentity.obj" - -@erase "$(INTDIR)\policestate.obj" - -@erase "$(INTDIR)\racecar.obj" - -@erase "$(INTDIR)\racestandsentity.obj" - -@erase "$(INTDIR)\racestate.obj" - -@erase "$(INTDIR)\radio.obj" - -@erase "$(INTDIR)\radiostate.obj" - -@erase "$(INTDIR)\registrationbook.obj" - -@erase "$(INTDIR)\score.obj" - -@erase "$(INTDIR)\skateboard.obj" - -@erase "$(INTDIR)\towtrack.obj" - -@erase "$(INTDIR)\towtrackmissionstate.obj" - -@erase "$(INTDIR)\vc40.pdb" - -@erase ".\Release\LEGO1.DLL" - -@erase ".\Release\LEGO1.EXP" - -@erase ".\Release\LEGO1.LIB" - -@erase ".\Release\LEGO1.PDB" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -CPP_PROJ=/nologo /MT /W3 /GX /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\ - /Fp"$(INTDIR)/LEGO1.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c -CPP_OBJS=.\LEGO1\Release/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /win32 -MTL_PROJ=/nologo /D "NDEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/LEGO1.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /dll /pdb:"Release/LEGO1.PDB" /debug /machine:I386 /out:"Release/LEGO1.DLL" /implib:"Release/LEGO1.LIB" -# SUBTRACT LINK32 /pdb:none /map -LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ - advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ - odbccp32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no\ - /pdb:"Release/LEGO1.PDB" /debug /machine:I386 /out:"Release/LEGO1.DLL"\ - /implib:"Release/LEGO1.LIB" -LINK32_OBJS= \ - "$(INTDIR)\act1state.obj" \ - "$(INTDIR)\act2brick.obj" \ - "$(INTDIR)\act2policestation.obj" \ - "$(INTDIR)\act3.obj" \ - "$(INTDIR)\act3shark.obj" \ - "$(INTDIR)\act3state.obj" \ - "$(INTDIR)\ambulance.obj" \ - "$(INTDIR)\ambulancemissionstate.obj" \ - "$(INTDIR)\animstate.obj" \ - "$(INTDIR)\beachhouseentity.obj" \ - "$(INTDIR)\bike.obj" \ - "$(INTDIR)\buildingentity.obj" \ - "$(INTDIR)\bumpbouy.obj" \ - "$(INTDIR)\carrace.obj" \ - "$(INTDIR)\dllmain.obj" \ - "$(INTDIR)\dunebuggy.obj" \ - "$(INTDIR)\elevatorbottom.obj" \ - "$(INTDIR)\gasstation.obj" \ - "$(INTDIR)\gasstationentity.obj" \ - "$(INTDIR)\gasstationstate.obj" \ - "$(INTDIR)\helicopter.obj" \ - "$(INTDIR)\helicopterstate.obj" \ - "$(INTDIR)\historybook.obj" \ - "$(INTDIR)\hospital.obj" \ - "$(INTDIR)\hospitalentity.obj" \ - "$(INTDIR)\hospitalstate.obj" \ - "$(INTDIR)\infocenter.obj" \ - "$(INTDIR)\infocenterdoor.obj" \ - "$(INTDIR)\infocenterentity.obj" \ - "$(INTDIR)\infocenterstate.obj" \ - "$(INTDIR)\isle.obj" \ - "$(INTDIR)\isleactor.obj" \ - "$(INTDIR)\islepathactor.obj" \ - "$(INTDIR)\jetski.obj" \ - "$(INTDIR)\jetskiRace.obj" \ - "$(INTDIR)\jukebox.obj" \ - "$(INTDIR)\jukeboxentity.obj" \ - "$(INTDIR)\jukeboxstate.obj" \ - "$(INTDIR)\legoact2state.obj" \ - "$(INTDIR)\legoactioncontrolpresenter.obj" \ - "$(INTDIR)\legoanimactor.obj" \ - "$(INTDIR)\legoanimationmanager.obj" \ - "$(INTDIR)\legoanimmmpresenter.obj" \ - "$(INTDIR)\legoanimpresenter.obj" \ - "$(INTDIR)\legobuildingmanager.obj" \ - "$(INTDIR)\legocachesound.obj" \ - "$(INTDIR)\legocameracontroller.obj" \ - "$(INTDIR)\legocarbuild.obj" \ - "$(INTDIR)\legocarbuildanimpresenter.obj" \ - "$(INTDIR)\legocontrolmanager.obj" \ - "$(INTDIR)\legoentity.obj" \ - "$(INTDIR)\legoentitypresenter.obj" \ - "$(INTDIR)\legoflctexturepresenter.obj" \ - "$(INTDIR)\legohideanimpresenter.obj" \ - "$(INTDIR)\legoinputmanager.obj" \ - "$(INTDIR)\legojetski.obj" \ - "$(INTDIR)\legoloadcachesoundpresenter.obj" \ - "$(INTDIR)\legolocomotionanimpresenter.obj" \ - "$(INTDIR)\legonavcontroller.obj" \ - "$(INTDIR)\legoomni.obj" \ - "$(INTDIR)\legopalettepresenter.obj" \ - "$(INTDIR)\legopathactor.obj" \ - "$(INTDIR)\legopathcontroller.obj" \ - "$(INTDIR)\legopathpresenter.obj" \ - "$(INTDIR)\legophonemepresenter.obj" \ - "$(INTDIR)\legoplantmanager.obj" \ - "$(INTDIR)\legorace.obj" \ - "$(INTDIR)\legosoundmanager.obj" \ - "$(INTDIR)\legostate.obj" \ - "$(INTDIR)\legotexturepresenter.obj" \ - "$(INTDIR)\legovideomanager.obj" \ - "$(INTDIR)\legoworld.obj" \ - "$(INTDIR)\legoworldpresenter.obj" \ - "$(INTDIR)\motorcycle.obj" \ - "$(INTDIR)\mxatomid.obj" \ - "$(INTDIR)\mxaudiopresenter.obj" \ - "$(INTDIR)\mxautolocker.obj" \ - "$(INTDIR)\mxbackgroundaudiomanager.obj" \ - "$(INTDIR)\mxcompositemediapresenter.obj" \ - "$(INTDIR)\mxcompositepresenter.obj" \ - "$(INTDIR)\mxcontrolpresenter.obj" \ - "$(INTDIR)\mxcore.obj" \ - "$(INTDIR)\mxcriticalsection.obj" \ - "$(INTDIR)\mxdiskstreamcontroller.obj" \ - "$(INTDIR)\mxdiskstreamprovider.obj" \ - "$(INTDIR)\mxdsaction.obj" \ - "$(INTDIR)\mxdsanim.obj" \ - "$(INTDIR)\mxdschunk.obj" \ - "$(INTDIR)\mxdsevent.obj" \ - "$(INTDIR)\mxdsfile.obj" \ - "$(INTDIR)\mxdsmediaaction.obj" \ - "$(INTDIR)\mxdsmultiaction.obj" \ - "$(INTDIR)\mxdsobject.obj" \ - "$(INTDIR)\mxdsobjectaction.obj" \ - "$(INTDIR)\mxdsparallelaction.obj" \ - "$(INTDIR)\mxdsselectaction.obj" \ - "$(INTDIR)\mxdsserialaction.obj" \ - "$(INTDIR)\mxdssound.obj" \ - "$(INTDIR)\mxdssource.obj" \ - "$(INTDIR)\mxdsstill.obj" \ - "$(INTDIR)\mxdssubscriber.obj" \ - "$(INTDIR)\mxentity.obj" \ - "$(INTDIR)\mxeventmanager.obj" \ - "$(INTDIR)\mxeventpresenter.obj" \ - "$(INTDIR)\mxflcpresenter.obj" \ - "$(INTDIR)\mxioinfo.obj" \ - "$(INTDIR)\mxloopingflcpresenter.obj" \ - "$(INTDIR)\mxloopingsmkpresenter.obj" \ - "$(INTDIR)\mxmediapresenter.obj" \ - "$(INTDIR)\mxmusicpresenter.obj" \ - "$(INTDIR)\mxnotificationmanager.obj" \ - "$(INTDIR)\mxomni.obj" \ - "$(INTDIR)\mxomnicreateflags.obj" \ - "$(INTDIR)\mxomnicreateparam.obj" \ - "$(INTDIR)\mxomnicreateparambase.obj" \ - "$(INTDIR)\mxpalette.obj" \ - "$(INTDIR)\mxpresenter.obj" \ - "$(INTDIR)\mxsmkpresenter.obj" \ - "$(INTDIR)\mxsoundmanager.obj" \ - "$(INTDIR)\mxsoundpresenter.obj" \ - "$(INTDIR)\mxstillpresenter.obj" \ - "$(INTDIR)\mxstreamer.obj" \ - "$(INTDIR)\mxstring.obj" \ - "$(INTDIR)\mxtimer.obj" \ - "$(INTDIR)\mxtransitionmanager.obj" \ - "$(INTDIR)\mxunknown100dc6b0.obj" \ - "$(INTDIR)\mxvideomanager.obj" \ - "$(INTDIR)\mxvideoparam.obj" \ - "$(INTDIR)\mxvideoparamflags.obj" \ - "$(INTDIR)\mxvideopresenter.obj" \ - "$(INTDIR)\mxwavepresenter.obj" \ - "$(INTDIR)\pizza.obj" \ - "$(INTDIR)\pizzeria.obj" \ - "$(INTDIR)\pizzeriastate.obj" \ - "$(INTDIR)\police.obj" \ - "$(INTDIR)\policeentity.obj" \ - "$(INTDIR)\policestate.obj" \ - "$(INTDIR)\racecar.obj" \ - "$(INTDIR)\racestandsentity.obj" \ - "$(INTDIR)\racestate.obj" \ - "$(INTDIR)\radio.obj" \ - "$(INTDIR)\radiostate.obj" \ - "$(INTDIR)\registrationbook.obj" \ - "$(INTDIR)\score.obj" \ - "$(INTDIR)\skateboard.obj" \ - "$(INTDIR)\towtrack.obj" \ - "$(INTDIR)\towtrackmissionstate.obj" - -".\Release\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "LEGO1\Debug" -# PROP BASE Intermediate_Dir "LEGO1\Debug" -# PROP BASE Target_Dir "LEGO1" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "LEGO1\Debug" -# PROP Intermediate_Dir "LEGO1\Debug" -# PROP Target_Dir "LEGO1" -OUTDIR=.\LEGO1\Debug -INTDIR=.\LEGO1\Debug - -ALL : ".\Debug\LEGO1.DLL" - -CLEAN : - -@erase "$(INTDIR)\act1state.obj" - -@erase "$(INTDIR)\act2brick.obj" - -@erase "$(INTDIR)\act2policestation.obj" - -@erase "$(INTDIR)\act3.obj" - -@erase "$(INTDIR)\act3shark.obj" - -@erase "$(INTDIR)\act3state.obj" - -@erase "$(INTDIR)\ambulance.obj" - -@erase "$(INTDIR)\ambulancemissionstate.obj" - -@erase "$(INTDIR)\animstate.obj" - -@erase "$(INTDIR)\beachhouseentity.obj" - -@erase "$(INTDIR)\bike.obj" - -@erase "$(INTDIR)\buildingentity.obj" - -@erase "$(INTDIR)\bumpbouy.obj" - -@erase "$(INTDIR)\carrace.obj" - -@erase "$(INTDIR)\dllmain.obj" - -@erase "$(INTDIR)\dunebuggy.obj" - -@erase "$(INTDIR)\elevatorbottom.obj" - -@erase "$(INTDIR)\gasstation.obj" - -@erase "$(INTDIR)\gasstationentity.obj" - -@erase "$(INTDIR)\gasstationstate.obj" - -@erase "$(INTDIR)\helicopter.obj" - -@erase "$(INTDIR)\helicopterstate.obj" - -@erase "$(INTDIR)\historybook.obj" - -@erase "$(INTDIR)\hospital.obj" - -@erase "$(INTDIR)\hospitalentity.obj" - -@erase "$(INTDIR)\hospitalstate.obj" - -@erase "$(INTDIR)\infocenter.obj" - -@erase "$(INTDIR)\infocenterdoor.obj" - -@erase "$(INTDIR)\infocenterentity.obj" - -@erase "$(INTDIR)\infocenterstate.obj" - -@erase "$(INTDIR)\isle.obj" - -@erase "$(INTDIR)\isleactor.obj" - -@erase "$(INTDIR)\islepathactor.obj" - -@erase "$(INTDIR)\jetski.obj" - -@erase "$(INTDIR)\jetskiRace.obj" - -@erase "$(INTDIR)\jukebox.obj" - -@erase "$(INTDIR)\jukeboxentity.obj" - -@erase "$(INTDIR)\jukeboxstate.obj" - -@erase "$(INTDIR)\legoact2state.obj" - -@erase "$(INTDIR)\legoactioncontrolpresenter.obj" - -@erase "$(INTDIR)\legoanimactor.obj" - -@erase "$(INTDIR)\legoanimationmanager.obj" - -@erase "$(INTDIR)\legoanimmmpresenter.obj" - -@erase "$(INTDIR)\legoanimpresenter.obj" - -@erase "$(INTDIR)\legobuildingmanager.obj" - -@erase "$(INTDIR)\legocachesound.obj" - -@erase "$(INTDIR)\legocameracontroller.obj" - -@erase "$(INTDIR)\legocarbuild.obj" - -@erase "$(INTDIR)\legocarbuildanimpresenter.obj" - -@erase "$(INTDIR)\legocontrolmanager.obj" - -@erase "$(INTDIR)\legoentity.obj" - -@erase "$(INTDIR)\legoentitypresenter.obj" - -@erase "$(INTDIR)\legoflctexturepresenter.obj" - -@erase "$(INTDIR)\legohideanimpresenter.obj" - -@erase "$(INTDIR)\legoinputmanager.obj" - -@erase "$(INTDIR)\legojetski.obj" - -@erase "$(INTDIR)\legoloadcachesoundpresenter.obj" - -@erase "$(INTDIR)\legolocomotionanimpresenter.obj" - -@erase "$(INTDIR)\legonavcontroller.obj" - -@erase "$(INTDIR)\legoomni.obj" - -@erase "$(INTDIR)\legopalettepresenter.obj" - -@erase "$(INTDIR)\legopathactor.obj" - -@erase "$(INTDIR)\legopathcontroller.obj" - -@erase "$(INTDIR)\legopathpresenter.obj" - -@erase "$(INTDIR)\legophonemepresenter.obj" - -@erase "$(INTDIR)\legoplantmanager.obj" - -@erase "$(INTDIR)\legorace.obj" - -@erase "$(INTDIR)\legosoundmanager.obj" - -@erase "$(INTDIR)\legostate.obj" - -@erase "$(INTDIR)\legotexturepresenter.obj" - -@erase "$(INTDIR)\legovideomanager.obj" - -@erase "$(INTDIR)\legoworld.obj" - -@erase "$(INTDIR)\legoworldpresenter.obj" - -@erase "$(INTDIR)\motorcycle.obj" - -@erase "$(INTDIR)\mxatomid.obj" - -@erase "$(INTDIR)\mxaudiopresenter.obj" - -@erase "$(INTDIR)\mxautolocker.obj" - -@erase "$(INTDIR)\mxbackgroundaudiomanager.obj" - -@erase "$(INTDIR)\mxcompositemediapresenter.obj" - -@erase "$(INTDIR)\mxcompositepresenter.obj" - -@erase "$(INTDIR)\mxcontrolpresenter.obj" - -@erase "$(INTDIR)\mxcore.obj" - -@erase "$(INTDIR)\mxcriticalsection.obj" - -@erase "$(INTDIR)\mxdiskstreamcontroller.obj" - -@erase "$(INTDIR)\mxdiskstreamprovider.obj" - -@erase "$(INTDIR)\mxdsaction.obj" - -@erase "$(INTDIR)\mxdsanim.obj" - -@erase "$(INTDIR)\mxdschunk.obj" - -@erase "$(INTDIR)\mxdsevent.obj" - -@erase "$(INTDIR)\mxdsfile.obj" - -@erase "$(INTDIR)\mxdsmediaaction.obj" - -@erase "$(INTDIR)\mxdsmultiaction.obj" - -@erase "$(INTDIR)\mxdsobject.obj" - -@erase "$(INTDIR)\mxdsobjectaction.obj" - -@erase "$(INTDIR)\mxdsparallelaction.obj" - -@erase "$(INTDIR)\mxdsselectaction.obj" - -@erase "$(INTDIR)\mxdsserialaction.obj" - -@erase "$(INTDIR)\mxdssound.obj" - -@erase "$(INTDIR)\mxdssource.obj" - -@erase "$(INTDIR)\mxdsstill.obj" - -@erase "$(INTDIR)\mxdssubscriber.obj" - -@erase "$(INTDIR)\mxentity.obj" - -@erase "$(INTDIR)\mxeventmanager.obj" - -@erase "$(INTDIR)\mxeventpresenter.obj" - -@erase "$(INTDIR)\mxflcpresenter.obj" - -@erase "$(INTDIR)\mxioinfo.obj" - -@erase "$(INTDIR)\mxloopingflcpresenter.obj" - -@erase "$(INTDIR)\mxloopingsmkpresenter.obj" - -@erase "$(INTDIR)\mxmediapresenter.obj" - -@erase "$(INTDIR)\mxmusicpresenter.obj" - -@erase "$(INTDIR)\mxnotificationmanager.obj" - -@erase "$(INTDIR)\mxomni.obj" - -@erase "$(INTDIR)\mxomnicreateflags.obj" - -@erase "$(INTDIR)\mxomnicreateparam.obj" - -@erase "$(INTDIR)\mxomnicreateparambase.obj" - -@erase "$(INTDIR)\mxpalette.obj" - -@erase "$(INTDIR)\mxpresenter.obj" - -@erase "$(INTDIR)\mxsmkpresenter.obj" - -@erase "$(INTDIR)\mxsoundmanager.obj" - -@erase "$(INTDIR)\mxsoundpresenter.obj" - -@erase "$(INTDIR)\mxstillpresenter.obj" - -@erase "$(INTDIR)\mxstreamer.obj" - -@erase "$(INTDIR)\mxstring.obj" - -@erase "$(INTDIR)\mxtimer.obj" - -@erase "$(INTDIR)\mxtransitionmanager.obj" - -@erase "$(INTDIR)\mxunknown100dc6b0.obj" - -@erase "$(INTDIR)\mxvideomanager.obj" - -@erase "$(INTDIR)\mxvideoparam.obj" - -@erase "$(INTDIR)\mxvideoparamflags.obj" - -@erase "$(INTDIR)\mxvideopresenter.obj" - -@erase "$(INTDIR)\mxwavepresenter.obj" - -@erase "$(INTDIR)\pizza.obj" - -@erase "$(INTDIR)\pizzeria.obj" - -@erase "$(INTDIR)\pizzeriastate.obj" - -@erase "$(INTDIR)\police.obj" - -@erase "$(INTDIR)\policeentity.obj" - -@erase "$(INTDIR)\policestate.obj" - -@erase "$(INTDIR)\racecar.obj" - -@erase "$(INTDIR)\racestandsentity.obj" - -@erase "$(INTDIR)\racestate.obj" - -@erase "$(INTDIR)\radio.obj" - -@erase "$(INTDIR)\radiostate.obj" - -@erase "$(INTDIR)\registrationbook.obj" - -@erase "$(INTDIR)\score.obj" - -@erase "$(INTDIR)\skateboard.obj" - -@erase "$(INTDIR)\towtrack.obj" - -@erase "$(INTDIR)\towtrackmissionstate.obj" - -@erase "$(INTDIR)\vc40.idb" - -@erase "$(INTDIR)\vc40.pdb" - -@erase "$(OUTDIR)\LEGO1.exp" - -@erase "$(OUTDIR)\LEGO1.lib" - -@erase "$(OUTDIR)\LEGO1.pdb" - -@erase ".\Debug\LEGO1.DLL" - -@erase ".\Debug\LEGO1.ILK" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\ - /Fp"$(INTDIR)/LEGO1.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c -CPP_OBJS=.\LEGO1\Debug/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /win32 -MTL_PROJ=/nologo /D "_DEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/LEGO1.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"Debug/LEGO1.DLL" -# SUBTRACT LINK32 /pdb:none /map -LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ - advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ - odbccp32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:yes\ - /pdb:"$(OUTDIR)/LEGO1.pdb" /debug /machine:I386 /out:"Debug/LEGO1.DLL"\ - /implib:"$(OUTDIR)/LEGO1.lib" -LINK32_OBJS= \ - "$(INTDIR)\act1state.obj" \ - "$(INTDIR)\act2brick.obj" \ - "$(INTDIR)\act2policestation.obj" \ - "$(INTDIR)\act3.obj" \ - "$(INTDIR)\act3shark.obj" \ - "$(INTDIR)\act3state.obj" \ - "$(INTDIR)\ambulance.obj" \ - "$(INTDIR)\ambulancemissionstate.obj" \ - "$(INTDIR)\animstate.obj" \ - "$(INTDIR)\beachhouseentity.obj" \ - "$(INTDIR)\bike.obj" \ - "$(INTDIR)\buildingentity.obj" \ - "$(INTDIR)\bumpbouy.obj" \ - "$(INTDIR)\carrace.obj" \ - "$(INTDIR)\dllmain.obj" \ - "$(INTDIR)\dunebuggy.obj" \ - "$(INTDIR)\elevatorbottom.obj" \ - "$(INTDIR)\gasstation.obj" \ - "$(INTDIR)\gasstationentity.obj" \ - "$(INTDIR)\gasstationstate.obj" \ - "$(INTDIR)\helicopter.obj" \ - "$(INTDIR)\helicopterstate.obj" \ - "$(INTDIR)\historybook.obj" \ - "$(INTDIR)\hospital.obj" \ - "$(INTDIR)\hospitalentity.obj" \ - "$(INTDIR)\hospitalstate.obj" \ - "$(INTDIR)\infocenter.obj" \ - "$(INTDIR)\infocenterdoor.obj" \ - "$(INTDIR)\infocenterentity.obj" \ - "$(INTDIR)\infocenterstate.obj" \ - "$(INTDIR)\isle.obj" \ - "$(INTDIR)\isleactor.obj" \ - "$(INTDIR)\islepathactor.obj" \ - "$(INTDIR)\jetski.obj" \ - "$(INTDIR)\jetskiRace.obj" \ - "$(INTDIR)\jukebox.obj" \ - "$(INTDIR)\jukeboxentity.obj" \ - "$(INTDIR)\jukeboxstate.obj" \ - "$(INTDIR)\legoact2state.obj" \ - "$(INTDIR)\legoactioncontrolpresenter.obj" \ - "$(INTDIR)\legoanimactor.obj" \ - "$(INTDIR)\legoanimationmanager.obj" \ - "$(INTDIR)\legoanimmmpresenter.obj" \ - "$(INTDIR)\legoanimpresenter.obj" \ - "$(INTDIR)\legobuildingmanager.obj" \ - "$(INTDIR)\legocachesound.obj" \ - "$(INTDIR)\legocameracontroller.obj" \ - "$(INTDIR)\legocarbuild.obj" \ - "$(INTDIR)\legocarbuildanimpresenter.obj" \ - "$(INTDIR)\legocontrolmanager.obj" \ - "$(INTDIR)\legoentity.obj" \ - "$(INTDIR)\legoentitypresenter.obj" \ - "$(INTDIR)\legoflctexturepresenter.obj" \ - "$(INTDIR)\legohideanimpresenter.obj" \ - "$(INTDIR)\legoinputmanager.obj" \ - "$(INTDIR)\legojetski.obj" \ - "$(INTDIR)\legoloadcachesoundpresenter.obj" \ - "$(INTDIR)\legolocomotionanimpresenter.obj" \ - "$(INTDIR)\legonavcontroller.obj" \ - "$(INTDIR)\legoomni.obj" \ - "$(INTDIR)\legopalettepresenter.obj" \ - "$(INTDIR)\legopathactor.obj" \ - "$(INTDIR)\legopathcontroller.obj" \ - "$(INTDIR)\legopathpresenter.obj" \ - "$(INTDIR)\legophonemepresenter.obj" \ - "$(INTDIR)\legoplantmanager.obj" \ - "$(INTDIR)\legorace.obj" \ - "$(INTDIR)\legosoundmanager.obj" \ - "$(INTDIR)\legostate.obj" \ - "$(INTDIR)\legotexturepresenter.obj" \ - "$(INTDIR)\legovideomanager.obj" \ - "$(INTDIR)\legoworld.obj" \ - "$(INTDIR)\legoworldpresenter.obj" \ - "$(INTDIR)\motorcycle.obj" \ - "$(INTDIR)\mxatomid.obj" \ - "$(INTDIR)\mxaudiopresenter.obj" \ - "$(INTDIR)\mxautolocker.obj" \ - "$(INTDIR)\mxbackgroundaudiomanager.obj" \ - "$(INTDIR)\mxcompositemediapresenter.obj" \ - "$(INTDIR)\mxcompositepresenter.obj" \ - "$(INTDIR)\mxcontrolpresenter.obj" \ - "$(INTDIR)\mxcore.obj" \ - "$(INTDIR)\mxcriticalsection.obj" \ - "$(INTDIR)\mxdiskstreamcontroller.obj" \ - "$(INTDIR)\mxdiskstreamprovider.obj" \ - "$(INTDIR)\mxdsaction.obj" \ - "$(INTDIR)\mxdsanim.obj" \ - "$(INTDIR)\mxdschunk.obj" \ - "$(INTDIR)\mxdsevent.obj" \ - "$(INTDIR)\mxdsfile.obj" \ - "$(INTDIR)\mxdsmediaaction.obj" \ - "$(INTDIR)\mxdsmultiaction.obj" \ - "$(INTDIR)\mxdsobject.obj" \ - "$(INTDIR)\mxdsobjectaction.obj" \ - "$(INTDIR)\mxdsparallelaction.obj" \ - "$(INTDIR)\mxdsselectaction.obj" \ - "$(INTDIR)\mxdsserialaction.obj" \ - "$(INTDIR)\mxdssound.obj" \ - "$(INTDIR)\mxdssource.obj" \ - "$(INTDIR)\mxdsstill.obj" \ - "$(INTDIR)\mxdssubscriber.obj" \ - "$(INTDIR)\mxentity.obj" \ - "$(INTDIR)\mxeventmanager.obj" \ - "$(INTDIR)\mxeventpresenter.obj" \ - "$(INTDIR)\mxflcpresenter.obj" \ - "$(INTDIR)\mxioinfo.obj" \ - "$(INTDIR)\mxloopingflcpresenter.obj" \ - "$(INTDIR)\mxloopingsmkpresenter.obj" \ - "$(INTDIR)\mxmediapresenter.obj" \ - "$(INTDIR)\mxmusicpresenter.obj" \ - "$(INTDIR)\mxnotificationmanager.obj" \ - "$(INTDIR)\mxomni.obj" \ - "$(INTDIR)\mxomnicreateflags.obj" \ - "$(INTDIR)\mxomnicreateparam.obj" \ - "$(INTDIR)\mxomnicreateparambase.obj" \ - "$(INTDIR)\mxpalette.obj" \ - "$(INTDIR)\mxpresenter.obj" \ - "$(INTDIR)\mxsmkpresenter.obj" \ - "$(INTDIR)\mxsoundmanager.obj" \ - "$(INTDIR)\mxsoundpresenter.obj" \ - "$(INTDIR)\mxstillpresenter.obj" \ - "$(INTDIR)\mxstreamer.obj" \ - "$(INTDIR)\mxstring.obj" \ - "$(INTDIR)\mxtimer.obj" \ - "$(INTDIR)\mxtransitionmanager.obj" \ - "$(INTDIR)\mxunknown100dc6b0.obj" \ - "$(INTDIR)\mxvideomanager.obj" \ - "$(INTDIR)\mxvideoparam.obj" \ - "$(INTDIR)\mxvideoparamflags.obj" \ - "$(INTDIR)\mxvideopresenter.obj" \ - "$(INTDIR)\mxwavepresenter.obj" \ - "$(INTDIR)\pizza.obj" \ - "$(INTDIR)\pizzeria.obj" \ - "$(INTDIR)\pizzeriastate.obj" \ - "$(INTDIR)\police.obj" \ - "$(INTDIR)\policeentity.obj" \ - "$(INTDIR)\policestate.obj" \ - "$(INTDIR)\racecar.obj" \ - "$(INTDIR)\racestandsentity.obj" \ - "$(INTDIR)\racestate.obj" \ - "$(INTDIR)\radio.obj" \ - "$(INTDIR)\radiostate.obj" \ - "$(INTDIR)\registrationbook.obj" \ - "$(INTDIR)\score.obj" \ - "$(INTDIR)\skateboard.obj" \ - "$(INTDIR)\towtrack.obj" \ - "$(INTDIR)\towtrackmissionstate.obj" - -".\Debug\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ISLE - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ISLE\Release" -# PROP BASE Intermediate_Dir "ISLE\Release" -# PROP BASE Target_Dir "ISLE" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "ISLE\Release" -# PROP Intermediate_Dir "ISLE\Release" -# PROP Target_Dir "ISLE" -OUTDIR=.\ISLE\Release -INTDIR=.\ISLE\Release - -ALL : "LEGO1 - Win32 Release" ".\Release\ISLE.EXE" - -CLEAN : - -@erase "$(INTDIR)\define.obj" - -@erase "$(INTDIR)\isle.res" - -@erase "$(INTDIR)\isleapp.obj" - -@erase "$(INTDIR)\vc40.pdb" - -@erase ".\Release\ISLE.EXE" - -@erase ".\Release\ISLE.PDB" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /W3 /GX /Zi /O2 /I "LEGO1" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -CPP_PROJ=/nologo /ML /W3 /GX /Zi /O2 /I "LEGO1" /D "WIN32" /D "NDEBUG" /D\ - "_WINDOWS" /Fp"$(INTDIR)/ISLE.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c -CPP_OBJS=.\ISLE\Release/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /win32 -MTL_PROJ=/nologo /D "NDEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -RSC_PROJ=/l 0x409 /fo"$(INTDIR)/isle.res" /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ISLE.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib lego1.lib dsound.lib /nologo /subsystem:windows /pdb:"Release/ISLE.PDB" /debug /machine:I386 /out:"Release/ISLE.EXE" /LIBPATH:"ISLE/ext" -# SUBTRACT LINK32 /pdb:none -LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ - advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ - odbccp32.lib winmm.lib lego1.lib dsound.lib /nologo /subsystem:windows\ - /incremental:no /pdb:"Release/ISLE.PDB" /debug /machine:I386\ - /out:"Release/ISLE.EXE" /LIBPATH:"ISLE/ext" -LINK32_OBJS= \ - "$(INTDIR)\define.obj" \ - "$(INTDIR)\isle.res" \ - "$(INTDIR)\isleapp.obj" \ - ".\Release\LEGO1.LIB" - -".\Release\ISLE.EXE" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ISLE\Debug" -# PROP BASE Intermediate_Dir "ISLE\Debug" -# PROP BASE Target_Dir "ISLE" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "ISLE\Debug" -# PROP Intermediate_Dir "ISLE\Debug" -# PROP Target_Dir "ISLE" -OUTDIR=.\ISLE\Debug -INTDIR=.\ISLE\Debug - -ALL : "LEGO1 - Win32 Debug" ".\Debug\ISLE.EXE" - -CLEAN : - -@erase "$(INTDIR)\define.obj" - -@erase "$(INTDIR)\isle.res" - -@erase "$(INTDIR)\isleapp.obj" - -@erase "$(INTDIR)\vc40.idb" - -@erase "$(INTDIR)\vc40.pdb" - -@erase ".\Debug\ISLE.EXE" - -@erase ".\Debug\ISLE.ILK" - -@erase ".\Debug\ISLE.PDB" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "LEGO1" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -CPP_PROJ=/nologo /MLd /W3 /Gm /GX /Zi /Od /I "LEGO1" /D "WIN32" /D "_DEBUG" /D\ - "_WINDOWS" /Fp"$(INTDIR)/ISLE.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c -CPP_OBJS=.\ISLE\Debug/ -CPP_SBRS=.\. - -.c{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_OBJS)}.obj: - $(CPP) $(CPP_PROJ) $< - -.c{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cpp{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -.cxx{$(CPP_SBRS)}.sbr: - $(CPP) $(CPP_PROJ) $< - -MTL=mktyplib.exe -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /win32 -MTL_PROJ=/nologo /D "_DEBUG" /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -RSC_PROJ=/l 0x409 /fo"$(INTDIR)/isle.res" /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -BSC32_FLAGS=/nologo /o"$(OUTDIR)/ISLE.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib lego1.lib dsound.lib /nologo /subsystem:windows /pdb:"Debug/ISLE.PDB" /debug /machine:I386 /out:"Debug/ISLE.EXE" /LIBPATH:"ISLE/ext" -# SUBTRACT LINK32 /pdb:none -LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ - advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ - odbccp32.lib winmm.lib lego1.lib dsound.lib /nologo /subsystem:windows\ - /incremental:yes /pdb:"Debug/ISLE.PDB" /debug /machine:I386\ - /out:"Debug/ISLE.EXE" /LIBPATH:"ISLE/ext" -LINK32_OBJS= \ - "$(INTDIR)\define.obj" \ - "$(INTDIR)\isle.res" \ - "$(INTDIR)\isleapp.obj" \ - ".\LEGO1\Debug\LEGO1.lib" - -".\Debug\ISLE.EXE" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -!ENDIF - -################################################################################ -# Begin Target - -# Name "LEGO1 - Win32 Release" -# Name "LEGO1 - Win32 Debug" - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -!ENDIF - -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxcore.cpp -DEP_CPP_MXCOR=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxcore.obj" : $(SOURCE) $(DEP_CPP_MXCOR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\dllmain.cpp - -"$(INTDIR)\dllmain.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoomni.cpp -DEP_CPP_LEGOO=\ - ".\LEGO1\isle.h"\ - ".\LEGO1\lego3dmanager.h"\ - ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legobuildingmanager.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legogamestate.h"\ - ".\LEGO1\legoinputmanager.h"\ - ".\LEGO1\legonavcontroller.h"\ - ".\LEGO1\legoomni.h"\ - ".\LEGO1\legoplantmanager.h"\ - ".\LEGO1\legoroi.h"\ - ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxbackgroundaudiomanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsfile.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdssource.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxeventmanager.h"\ - ".\LEGO1\mxioinfo.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\mxsoundmanager.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxstreamer.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxticklemanager.h"\ - ".\LEGO1\mxtimer.h"\ - ".\LEGO1\mxtransitionmanager.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - ".\LEGO1\viewmanager.h"\ - - -"$(INTDIR)\legoomni.obj" : $(SOURCE) $(DEP_CPP_LEGOO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxcriticalsection.cpp -DEP_CPP_MXCRI=\ - ".\LEGO1\mxcriticalsection.h"\ - - -"$(INTDIR)\mxcriticalsection.obj" : $(SOURCE) $(DEP_CPP_MXCRI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxautolocker.cpp -DEP_CPP_MXAUT=\ - ".\LEGO1\mxautolocker.h"\ - ".\LEGO1\mxcriticalsection.h"\ - - -"$(INTDIR)\mxautolocker.obj" : $(SOURCE) $(DEP_CPP_MXAUT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxtimer.cpp -DEP_CPP_MXTIM=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtimer.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxtimer.obj" : $(SOURCE) $(DEP_CPP_MXTIM) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomni.cpp -DEP_CPP_MXOMN=\ - ".\LEGO1\mxatomid.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"\ - ".\LEGO1\mxomnicreateparambase.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxsoundmanager.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxstreamer.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxticklemanager.h"\ - ".\LEGO1\mxtimer.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - - -"$(INTDIR)\mxomni.obj" : $(SOURCE) $(DEP_CPP_MXOMN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvideoparam.cpp -DEP_CPP_MXVID=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - - -"$(INTDIR)\mxvideoparam.obj" : $(SOURCE) $(DEP_CPP_MXVID) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvideoparamflags.cpp -DEP_CPP_MXVIDE=\ - ".\LEGO1\mxvideoparamflags.h"\ - - -"$(INTDIR)\mxvideoparamflags.obj" : $(SOURCE) $(DEP_CPP_MXVIDE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomnicreateparam.cpp -DEP_CPP_MXOMNI=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxomnicreateflags.h"\ - ".\LEGO1\mxomnicreateparam.h"\ - ".\LEGO1\mxomnicreateparambase.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - - -"$(INTDIR)\mxomnicreateparam.obj" : $(SOURCE) $(DEP_CPP_MXOMNI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomnicreateparambase.cpp -DEP_CPP_MXOMNIC=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxomnicreateflags.h"\ - ".\LEGO1\mxomnicreateparam.h"\ - ".\LEGO1\mxomnicreateparambase.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - - -"$(INTDIR)\mxomnicreateparambase.obj" : $(SOURCE) $(DEP_CPP_MXOMNIC)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxstring.cpp -DEP_CPP_MXSTR=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxstring.obj" : $(SOURCE) $(DEP_CPP_MXSTR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomnicreateflags.cpp -DEP_CPP_MXOMNICR=\ - ".\LEGO1\mxomnicreateflags.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxomnicreateflags.obj" : $(SOURCE) $(DEP_CPP_MXOMNICR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legonavcontroller.cpp -DEP_CPP_LEGON=\ - ".\LEGO1\isle.h"\ - ".\LEGO1\lego3dmanager.h"\ - ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legobuildingmanager.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legogamestate.h"\ - ".\LEGO1\legoinputmanager.h"\ - ".\LEGO1\legonavcontroller.h"\ - ".\LEGO1\legoomni.h"\ - ".\LEGO1\legoplantmanager.h"\ - ".\LEGO1\legoroi.h"\ - ".\LEGO1\legoutil.h"\ - ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxbackgroundaudiomanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsfile.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdssource.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxeventmanager.h"\ - ".\LEGO1\mxioinfo.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\mxsoundmanager.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxstreamer.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxticklemanager.h"\ - ".\LEGO1\mxtimer.h"\ - ".\LEGO1\mxtransitionmanager.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - ".\LEGO1\viewmanager.h"\ - - -"$(INTDIR)\legonavcontroller.obj" : $(SOURCE) $(DEP_CPP_LEGON) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsobject.cpp -DEP_CPP_MXDSO=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsobject.obj" : $(SOURCE) $(DEP_CPP_MXDSO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxatomid.cpp -DEP_CPP_MXATO=\ - ".\LEGO1\mxatomid.h"\ - - -"$(INTDIR)\mxatomid.obj" : $(SOURCE) $(DEP_CPP_MXATO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxunknown100dc6b0.cpp -DEP_CPP_MXUNK=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - - -"$(INTDIR)\mxunknown100dc6b0.obj" : $(SOURCE) $(DEP_CPP_MXUNK) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvideomanager.cpp -DEP_CPP_MXVIDEO=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - - -"$(INTDIR)\mxvideomanager.obj" : $(SOURCE) $(DEP_CPP_MXVIDEO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxpalette.cpp -DEP_CPP_MXPAL=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxpalette.obj" : $(SOURCE) $(DEP_CPP_MXPAL) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\act1state.cpp -DEP_CPP_ACT1S=\ - ".\LEGO1\act1state.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act1state.obj" : $(SOURCE) $(DEP_CPP_ACT1S) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\act2brick.cpp -DEP_CPP_ACT2B=\ - ".\LEGO1\act2brick.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act2brick.obj" : $(SOURCE) $(DEP_CPP_ACT2B) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\act2policestation.cpp -DEP_CPP_ACT2P=\ - ".\LEGO1\act2policestation.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act2policestation.obj" : $(SOURCE) $(DEP_CPP_ACT2P) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\act3.cpp -DEP_CPP_ACT3_=\ - ".\LEGO1\act3.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act3.obj" : $(SOURCE) $(DEP_CPP_ACT3_) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\act3shark.cpp -DEP_CPP_ACT3S=\ - ".\LEGO1\act3shark.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoanimactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act3shark.obj" : $(SOURCE) $(DEP_CPP_ACT3S) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\ambulance.cpp -DEP_CPP_AMBUL=\ - ".\LEGO1\ambulance.h"\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\ambulance.obj" : $(SOURCE) $(DEP_CPP_AMBUL) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\ambulancemissionstate.cpp -DEP_CPP_AMBULA=\ - ".\LEGO1\ambulancemissionstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\ambulancemissionstate.obj" : $(SOURCE) $(DEP_CPP_AMBULA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\animstate.cpp -DEP_CPP_ANIMS=\ - ".\LEGO1\animstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\animstate.obj" : $(SOURCE) $(DEP_CPP_ANIMS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\beachhouseentity.cpp -DEP_CPP_BEACH=\ - ".\LEGO1\beachhouseentity.h"\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\beachhouseentity.obj" : $(SOURCE) $(DEP_CPP_BEACH) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\bike.cpp -DEP_CPP_BIKE_=\ - ".\LEGO1\bike.h"\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\bike.obj" : $(SOURCE) $(DEP_CPP_BIKE_) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\buildingentity.cpp -DEP_CPP_BUILD=\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\buildingentity.obj" : $(SOURCE) $(DEP_CPP_BUILD) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\bumpbouy.cpp -DEP_CPP_BUMPB=\ - ".\LEGO1\bumpbouy.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoanimactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\bumpbouy.obj" : $(SOURCE) $(DEP_CPP_BUMPB) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\carrace.cpp -DEP_CPP_CARRA=\ - ".\LEGO1\carrace.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legorace.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\carrace.obj" : $(SOURCE) $(DEP_CPP_CARRA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\dunebuggy.cpp -DEP_CPP_DUNEB=\ - ".\LEGO1\dunebuggy.h"\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\dunebuggy.obj" : $(SOURCE) $(DEP_CPP_DUNEB) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\elevatorbottom.cpp -DEP_CPP_ELEVA=\ - ".\LEGO1\elevatorbottom.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\elevatorbottom.obj" : $(SOURCE) $(DEP_CPP_ELEVA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\gasstation.cpp -DEP_CPP_GASST=\ - ".\LEGO1\gasstation.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\gasstation.obj" : $(SOURCE) $(DEP_CPP_GASST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\gasstationentity.cpp -DEP_CPP_GASSTA=\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\gasstationentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\gasstationentity.obj" : $(SOURCE) $(DEP_CPP_GASSTA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\gasstationstate.cpp -DEP_CPP_GASSTAT=\ - ".\LEGO1\gasstationstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\gasstationstate.obj" : $(SOURCE) $(DEP_CPP_GASSTAT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\helicopter.cpp -DEP_CPP_HELIC=\ - ".\LEGO1\helicopter.h"\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\helicopter.obj" : $(SOURCE) $(DEP_CPP_HELIC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\historybook.cpp -DEP_CPP_HISTO=\ - ".\LEGO1\historybook.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\historybook.obj" : $(SOURCE) $(DEP_CPP_HISTO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\hospital.cpp -DEP_CPP_HOSPI=\ - ".\LEGO1\hospital.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\hospital.obj" : $(SOURCE) $(DEP_CPP_HOSPI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\hospitalentity.cpp -DEP_CPP_HOSPIT=\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\hospitalentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\hospitalentity.obj" : $(SOURCE) $(DEP_CPP_HOSPIT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\hospitalstate.cpp -DEP_CPP_HOSPITA=\ - ".\LEGO1\hospitalstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\hospitalstate.obj" : $(SOURCE) $(DEP_CPP_HOSPITA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\infocenter.cpp -DEP_CPP_INFOC=\ - ".\LEGO1\infocenter.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\infocenter.obj" : $(SOURCE) $(DEP_CPP_INFOC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\infocenterdoor.cpp -DEP_CPP_INFOCE=\ - ".\LEGO1\infocenterdoor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\infocenterdoor.obj" : $(SOURCE) $(DEP_CPP_INFOCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\infocenterentity.cpp -DEP_CPP_INFOCEN=\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\infocenterentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\infocenterentity.obj" : $(SOURCE) $(DEP_CPP_INFOCEN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\infocenterstate.cpp -DEP_CPP_INFOCENT=\ - ".\LEGO1\infocenterstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\infocenterstate.obj" : $(SOURCE) $(DEP_CPP_INFOCENT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\isle.cpp -DEP_CPP_ISLE_=\ - ".\LEGO1\isle.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\isle.obj" : $(SOURCE) $(DEP_CPP_ISLE_) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\isleactor.cpp -DEP_CPP_ISLEA=\ - ".\LEGO1\isleactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\isleactor.obj" : $(SOURCE) $(DEP_CPP_ISLEA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\islepathactor.cpp -DEP_CPP_ISLEP=\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\islepathactor.obj" : $(SOURCE) $(DEP_CPP_ISLEP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\jetski.cpp -DEP_CPP_JETSK=\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\jetski.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\jetski.obj" : $(SOURCE) $(DEP_CPP_JETSK) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\jetskiRace.cpp -DEP_CPP_JETSKI=\ - ".\LEGO1\jetskiRace.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legorace.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\jetskiRace.obj" : $(SOURCE) $(DEP_CPP_JETSKI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\jukebox.cpp -DEP_CPP_JUKEB=\ - ".\LEGO1\jukebox.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\jukebox.obj" : $(SOURCE) $(DEP_CPP_JUKEB) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\jukeboxentity.cpp -DEP_CPP_JUKEBO=\ - ".\LEGO1\jukeboxentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\jukeboxentity.obj" : $(SOURCE) $(DEP_CPP_JUKEBO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoactioncontrolpresenter.cpp -DEP_CPP_LEGOA=\ - ".\LEGO1\legoactioncontrolpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoactioncontrolpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOA)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoanimactor.cpp -DEP_CPP_LEGOAN=\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoanimactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoanimactor.obj" : $(SOURCE) $(DEP_CPP_LEGOAN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoanimationmanager.cpp -DEP_CPP_LEGOANI=\ - ".\LEGO1\legoanimationmanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoanimationmanager.obj" : $(SOURCE) $(DEP_CPP_LEGOANI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoanimmmpresenter.cpp -DEP_CPP_LEGOANIM=\ - ".\LEGO1\legoanimmmpresenter.h"\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoanimmmpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOANIM) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoanimpresenter.cpp -DEP_CPP_LEGOANIMP=\ - ".\LEGO1\legoanimpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legoanimpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOANIMP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legobuildingmanager.cpp -DEP_CPP_LEGOB=\ - ".\LEGO1\legobuildingmanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legobuildingmanager.obj" : $(SOURCE) $(DEP_CPP_LEGOB) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legocachesound.cpp -DEP_CPP_LEGOC=\ - ".\LEGO1\legocachesound.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legocachesound.obj" : $(SOURCE) $(DEP_CPP_LEGOC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legocameracontroller.cpp -DEP_CPP_LEGOCA=\ - ".\LEGO1\legocameracontroller.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legocameracontroller.obj" : $(SOURCE) $(DEP_CPP_LEGOCA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legocarbuild.cpp -DEP_CPP_LEGOCAR=\ - ".\LEGO1\legocarbuild.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legocarbuild.obj" : $(SOURCE) $(DEP_CPP_LEGOCAR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legocarbuildanimpresenter.cpp -DEP_CPP_LEGOCARB=\ - ".\LEGO1\legoanimpresenter.h"\ - ".\LEGO1\legocarbuildanimpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legocarbuildanimpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOCARB)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legocontrolmanager.cpp -DEP_CPP_LEGOCO=\ - ".\LEGO1\legocontrolmanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legocontrolmanager.obj" : $(SOURCE) $(DEP_CPP_LEGOCO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoentity.cpp -DEP_CPP_LEGOE=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoentity.obj" : $(SOURCE) $(DEP_CPP_LEGOE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoentitypresenter.cpp -DEP_CPP_LEGOEN=\ - ".\LEGO1\legoentitypresenter.h"\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoentitypresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOEN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoflctexturepresenter.cpp -DEP_CPP_LEGOF=\ - ".\LEGO1\legoflctexturepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxflcpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legoflctexturepresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOF)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legohideanimpresenter.cpp -DEP_CPP_LEGOH=\ - ".\LEGO1\legoanimpresenter.h"\ - ".\LEGO1\legohideanimpresenter.h"\ - ".\LEGO1\legoloopinganimpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legohideanimpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOH) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoinputmanager.cpp -DEP_CPP_LEGOI=\ - ".\LEGO1\legoinputmanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoinputmanager.obj" : $(SOURCE) $(DEP_CPP_LEGOI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legojetski.cpp -DEP_CPP_LEGOJ=\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoanimactor.h"\ - ".\LEGO1\legocarraceactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legojetski.h"\ - ".\LEGO1\legojetskiraceactor.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\legoraceactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legojetski.obj" : $(SOURCE) $(DEP_CPP_LEGOJ) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoloadcachesoundpresenter.cpp -DEP_CPP_LEGOL=\ - ".\LEGO1\legoloadcachesoundpresenter.h"\ - ".\LEGO1\mxaudiopresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxsoundpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxwavepresenter.h"\ - - -"$(INTDIR)\legoloadcachesoundpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOL)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legolocomotionanimpresenter.cpp -DEP_CPP_LEGOLO=\ - ".\LEGO1\legoanimpresenter.h"\ - ".\LEGO1\legolocomotionanimpresenter.h"\ - ".\LEGO1\legoloopinganimpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legolocomotionanimpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOLO)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legopalettepresenter.cpp -DEP_CPP_LEGOP=\ - ".\LEGO1\legopalettepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legopalettepresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legopathactor.cpp -DEP_CPP_LEGOPA=\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legopathactor.obj" : $(SOURCE) $(DEP_CPP_LEGOPA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legopathpresenter.cpp -DEP_CPP_LEGOPAT=\ - ".\LEGO1\legopathpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legopathpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOPAT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legophonemepresenter.cpp -DEP_CPP_LEGOPH=\ - ".\LEGO1\legophonemepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxflcpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\legophonemepresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOPH) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoplantmanager.cpp -DEP_CPP_LEGOPL=\ - ".\LEGO1\legoplantmanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoplantmanager.obj" : $(SOURCE) $(DEP_CPP_LEGOPL) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legorace.cpp -DEP_CPP_LEGOR=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legorace.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legorace.obj" : $(SOURCE) $(DEP_CPP_LEGOR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legosoundmanager.cpp -DEP_CPP_LEGOS=\ - ".\LEGO1\legosoundmanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxsoundmanager.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legosoundmanager.obj" : $(SOURCE) $(DEP_CPP_LEGOS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legotexturepresenter.cpp -DEP_CPP_LEGOT=\ - ".\LEGO1\legotexturepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legotexturepresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoworld.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_LEGOW=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoworld.obj" : $(SOURCE) $(DEP_CPP_LEGOW) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_LEGOW=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoworld.obj" : $(SOURCE) $(DEP_CPP_LEGOW) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoworldpresenter.cpp -DEP_CPP_LEGOWO=\ - ".\LEGO1\legoentitypresenter.h"\ - ".\LEGO1\legoworldpresenter.h"\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoworldpresenter.obj" : $(SOURCE) $(DEP_CPP_LEGOWO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\motorcycle.cpp -DEP_CPP_MOTOR=\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\motorcycle.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\motorcycle.obj" : $(SOURCE) $(DEP_CPP_MOTOR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxcontrolpresenter.cpp -DEP_CPP_MXCON=\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcontrolpresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxcontrolpresenter.obj" : $(SOURCE) $(DEP_CPP_MXCON) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdiskstreamcontroller.cpp -DEP_CPP_MXDIS=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdiskstreamcontroller.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdiskstreamcontroller.obj" : $(SOURCE) $(DEP_CPP_MXDIS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdschunk.cpp -DEP_CPP_MXDSC=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdschunk.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdschunk.obj" : $(SOURCE) $(DEP_CPP_MXDSC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsfile.cpp -DEP_CPP_MXDSF=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsfile.h"\ - ".\LEGO1\mxdssource.h"\ - ".\LEGO1\mxioinfo.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsfile.obj" : $(SOURCE) $(DEP_CPP_MXDSF) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxentity.cpp -DEP_CPP_MXENT=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxentity.obj" : $(SOURCE) $(DEP_CPP_MXENT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxeventmanager.cpp -DEP_CPP_MXEVE=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxeventmanager.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - - -"$(INTDIR)\mxeventmanager.obj" : $(SOURCE) $(DEP_CPP_MXEVE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxeventpresenter.cpp -DEP_CPP_MXEVEN=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxeventpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxeventpresenter.obj" : $(SOURCE) $(DEP_CPP_MXEVEN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxflcpresenter.cpp -DEP_CPP_MXFLC=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxflcpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxflcpresenter.obj" : $(SOURCE) $(DEP_CPP_MXFLC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxloopingsmkpresenter.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXLOO=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxloopingsmkpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxsmkpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxloopingsmkpresenter.obj" : $(SOURCE) $(DEP_CPP_MXLOO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXLOO=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxloopingsmkpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxsmkpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxloopingsmkpresenter.obj" : $(SOURCE) $(DEP_CPP_MXLOO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxmediapresenter.cpp -DEP_CPP_MXMED=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxmediapresenter.obj" : $(SOURCE) $(DEP_CPP_MXMED) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxmusicpresenter.cpp -DEP_CPP_MXMUS=\ - ".\LEGO1\mxaudiopresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxmusicpresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxmusicpresenter.obj" : $(SOURCE) $(DEP_CPP_MXMUS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxnotificationmanager.cpp -DEP_CPP_MXNOT=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxnotificationmanager.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxnotificationmanager.obj" : $(SOURCE) $(DEP_CPP_MXNOT) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxpresenter.cpp -DEP_CPP_MXPRE=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxpresenter.obj" : $(SOURCE) $(DEP_CPP_MXPRE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxsmkpresenter.cpp -DEP_CPP_MXSMK=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxsmkpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxsmkpresenter.obj" : $(SOURCE) $(DEP_CPP_MXSMK) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxsoundmanager.cpp -DEP_CPP_MXSOU=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxsoundmanager.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxsoundmanager.obj" : $(SOURCE) $(DEP_CPP_MXSOU) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxstillpresenter.cpp -DEP_CPP_MXSTI=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxstillpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxstillpresenter.obj" : $(SOURCE) $(DEP_CPP_MXSTI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxstreamer.cpp -DEP_CPP_MXSTRE=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxstreamer.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxstreamer.obj" : $(SOURCE) $(DEP_CPP_MXSTRE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxtransitionmanager.cpp -DEP_CPP_MXTRA=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtransitionmanager.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxtransitionmanager.obj" : $(SOURCE) $(DEP_CPP_MXTRA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvideopresenter.cpp -DEP_CPP_MXVIDEOP=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxvideopresenter.obj" : $(SOURCE) $(DEP_CPP_MXVIDEOP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxwavepresenter.cpp -DEP_CPP_MXWAV=\ - ".\LEGO1\mxaudiopresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxsoundpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxwavepresenter.h"\ - - -"$(INTDIR)\mxwavepresenter.obj" : $(SOURCE) $(DEP_CPP_MXWAV) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\pizza.cpp -DEP_CPP_PIZZA=\ - ".\LEGO1\isleactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\pizza.h"\ - - -"$(INTDIR)\pizza.obj" : $(SOURCE) $(DEP_CPP_PIZZA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\pizzeria.cpp -DEP_CPP_PIZZE=\ - ".\LEGO1\isleactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\pizzeria.h"\ - - -"$(INTDIR)\pizzeria.obj" : $(SOURCE) $(DEP_CPP_PIZZE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\pizzeriastate.cpp -DEP_CPP_PIZZER=\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\pizzeriastate.h"\ - - -"$(INTDIR)\pizzeriastate.obj" : $(SOURCE) $(DEP_CPP_PIZZER) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\police.cpp -DEP_CPP_POLIC=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\police.h"\ - - -"$(INTDIR)\police.obj" : $(SOURCE) $(DEP_CPP_POLIC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\policeentity.cpp -DEP_CPP_POLICE=\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\policeentity.h"\ - - -"$(INTDIR)\policeentity.obj" : $(SOURCE) $(DEP_CPP_POLICE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\policestate.cpp -DEP_CPP_POLICES=\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\policestate.h"\ - - -"$(INTDIR)\policestate.obj" : $(SOURCE) $(DEP_CPP_POLICES) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\racecar.cpp -DEP_CPP_RACEC=\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\racecar.h"\ - - -"$(INTDIR)\racecar.obj" : $(SOURCE) $(DEP_CPP_RACEC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\racestandsentity.cpp -DEP_CPP_RACES=\ - ".\LEGO1\buildingentity.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\racestandsentity.h"\ - - -"$(INTDIR)\racestandsentity.obj" : $(SOURCE) $(DEP_CPP_RACES) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\racestate.cpp -DEP_CPP_RACEST=\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\racestate.h"\ - - -"$(INTDIR)\racestate.obj" : $(SOURCE) $(DEP_CPP_RACEST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\radio.cpp -DEP_CPP_RADIO=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\radio.h"\ - - -"$(INTDIR)\radio.obj" : $(SOURCE) $(DEP_CPP_RADIO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\radiostate.cpp -DEP_CPP_RADIOS=\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\radiostate.h"\ - - -"$(INTDIR)\radiostate.obj" : $(SOURCE) $(DEP_CPP_RADIOS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\registrationbook.cpp -DEP_CPP_REGIS=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\registrationbook.h"\ - - -"$(INTDIR)\registrationbook.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\score.cpp -DEP_CPP_SCORE=\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\score.h"\ - - -"$(INTDIR)\score.obj" : $(SOURCE) $(DEP_CPP_SCORE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\skateboard.cpp -DEP_CPP_SKATE=\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\skateboard.h"\ - - -"$(INTDIR)\skateboard.obj" : $(SOURCE) $(DEP_CPP_SKATE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\towtrack.cpp -DEP_CPP_TOWTR=\ - ".\LEGO1\islepathactor.h"\ - ".\LEGO1\legoactor.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legopathactor.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\towtrack.h"\ - - -"$(INTDIR)\towtrack.obj" : $(SOURCE) $(DEP_CPP_TOWTR) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\towtrackmissionstate.cpp -DEP_CPP_TOWTRA=\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\towtrackmissionstate.h"\ - - -"$(INTDIR)\towtrackmissionstate.obj" : $(SOURCE) $(DEP_CPP_TOWTRA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxcompositemediapresenter.cpp -DEP_CPP_MXCOM=\ - ".\LEGO1\mxcompositemediapresenter.h"\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxcompositemediapresenter.obj" : $(SOURCE) $(DEP_CPP_MXCOM)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxcompositepresenter.cpp -DEP_CPP_MXCOMP=\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxcompositepresenter.obj" : $(SOURCE) $(DEP_CPP_MXCOMP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legostate.cpp -DEP_CPP_LEGOST=\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legostate.obj" : $(SOURCE) $(DEP_CPP_LEGOST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxaudiopresenter.cpp -DEP_CPP_MXAUD=\ - ".\LEGO1\mxaudiopresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxaudiopresenter.obj" : $(SOURCE) $(DEP_CPP_MXAUD) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxsoundpresenter.cpp -DEP_CPP_MXSOUN=\ - ".\LEGO1\mxaudiopresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxsoundpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxsoundpresenter.obj" : $(SOURCE) $(DEP_CPP_MXSOUN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxioinfo.cpp -DEP_CPP_MXIOI=\ - ".\LEGO1\mxioinfo.h"\ - - -"$(INTDIR)\mxioinfo.obj" : $(SOURCE) $(DEP_CPP_MXIOI) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdssource.cpp -DEP_CPP_MXDSS=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdssource.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdssource.obj" : $(SOURCE) $(DEP_CPP_MXDSS) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\act3state.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_ACT3ST=\ - ".\LEGO1\act3state.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act3state.obj" : $(SOURCE) $(DEP_CPP_ACT3ST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_ACT3ST=\ - ".\LEGO1\act3state.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\act3state.obj" : $(SOURCE) $(DEP_CPP_ACT3ST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\helicopterstate.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_HELICO=\ - ".\LEGO1\helicopterstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\helicopterstate.obj" : $(SOURCE) $(DEP_CPP_HELICO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_HELICO=\ - ".\LEGO1\helicopterstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\helicopterstate.obj" : $(SOURCE) $(DEP_CPP_HELICO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\jukeboxstate.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_JUKEBOX=\ - ".\LEGO1\jukeboxstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\jukeboxstate.obj" : $(SOURCE) $(DEP_CPP_JUKEBOX) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_JUKEBOX=\ - ".\LEGO1\jukeboxstate.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\jukeboxstate.obj" : $(SOURCE) $(DEP_CPP_JUKEBOX) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoact2state.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_LEGOAC=\ - ".\LEGO1\legoact2state.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoact2state.obj" : $(SOURCE) $(DEP_CPP_LEGOAC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_LEGOAC=\ - ".\LEGO1\legoact2state.h"\ - ".\LEGO1\legostate.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legoact2state.obj" : $(SOURCE) $(DEP_CPP_LEGOAC) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legopathcontroller.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_LEGOPATH=\ - ".\LEGO1\legopathcontroller.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legopathcontroller.obj" : $(SOURCE) $(DEP_CPP_LEGOPATH) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_LEGOPATH=\ - ".\LEGO1\legopathcontroller.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\legopathcontroller.obj" : $(SOURCE) $(DEP_CPP_LEGOPATH) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legovideomanager.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_LEGOV=\ - ".\LEGO1\lego3dmanager.h"\ - ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - ".\LEGO1\viewmanager.h"\ - - -"$(INTDIR)\legovideomanager.obj" : $(SOURCE) $(DEP_CPP_LEGOV) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_LEGOV=\ - ".\LEGO1\lego3dmanager.h"\ - ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - ".\LEGO1\viewmanager.h"\ - - -"$(INTDIR)\legovideomanager.obj" : $(SOURCE) $(DEP_CPP_LEGOV) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxbackgroundaudiomanager.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXBAC=\ - ".\LEGO1\mxbackgroundaudiomanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxbackgroundaudiomanager.obj" : $(SOURCE) $(DEP_CPP_MXBAC)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXBAC=\ - ".\LEGO1\mxbackgroundaudiomanager.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxbackgroundaudiomanager.obj" : $(SOURCE) $(DEP_CPP_MXBAC)\ - "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdiskstreamprovider.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDISK=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdiskstreamprovider.h"\ - ".\LEGO1\mxstreamprovider.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdiskstreamprovider.obj" : $(SOURCE) $(DEP_CPP_MXDISK) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDISK=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdiskstreamprovider.h"\ - ".\LEGO1\mxstreamprovider.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdiskstreamprovider.obj" : $(SOURCE) $(DEP_CPP_MXDISK) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSA=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsaction.obj" : $(SOURCE) $(DEP_CPP_MXDSA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSA=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsaction.obj" : $(SOURCE) $(DEP_CPP_MXDSA) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsanim.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSAN=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsanim.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsanim.obj" : $(SOURCE) $(DEP_CPP_MXDSAN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSAN=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsanim.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsanim.obj" : $(SOURCE) $(DEP_CPP_MXDSAN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsevent.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSE=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsevent.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsevent.obj" : $(SOURCE) $(DEP_CPP_MXDSE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSE=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsevent.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsevent.obj" : $(SOURCE) $(DEP_CPP_MXDSE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsmediaaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSM=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsmediaaction.obj" : $(SOURCE) $(DEP_CPP_MXDSM) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSM=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsmediaaction.obj" : $(SOURCE) $(DEP_CPP_MXDSM) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsmultiaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSMU=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsmultiaction.obj" : $(SOURCE) $(DEP_CPP_MXDSMU) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSMU=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsmultiaction.obj" : $(SOURCE) $(DEP_CPP_MXDSMU) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsobjectaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSOB=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsobjectaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsobjectaction.obj" : $(SOURCE) $(DEP_CPP_MXDSOB) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSOB=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsobjectaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsobjectaction.obj" : $(SOURCE) $(DEP_CPP_MXDSOB) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsparallelaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSP=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsparallelaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsparallelaction.obj" : $(SOURCE) $(DEP_CPP_MXDSP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSP=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsparallelaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsparallelaction.obj" : $(SOURCE) $(DEP_CPP_MXDSP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsselectaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSSE=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsparallelaction.h"\ - ".\LEGO1\mxdsselectaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsselectaction.obj" : $(SOURCE) $(DEP_CPP_MXDSSE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSSE=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsparallelaction.h"\ - ".\LEGO1\mxdsselectaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsselectaction.obj" : $(SOURCE) $(DEP_CPP_MXDSSE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsserialaction.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSSER=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsserialaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsserialaction.obj" : $(SOURCE) $(DEP_CPP_MXDSSER) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSSER=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmultiaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsserialaction.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsserialaction.obj" : $(SOURCE) $(DEP_CPP_MXDSSER) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdssound.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSSO=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdssound.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdssound.obj" : $(SOURCE) $(DEP_CPP_MXDSSO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSSO=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdssound.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdssound.obj" : $(SOURCE) $(DEP_CPP_MXDSSO) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsstill.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSST=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsstill.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsstill.obj" : $(SOURCE) $(DEP_CPP_MXDSST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSST=\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsmediaaction.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdsstill.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdsstill.obj" : $(SOURCE) $(DEP_CPP_MXDSST) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdssubscriber.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXDSSU=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdssubscriber.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdssubscriber.obj" : $(SOURCE) $(DEP_CPP_MXDSSU) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXDSSU=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxdssubscriber.h"\ - ".\LEGO1\mxtypes.h"\ - - -"$(INTDIR)\mxdssubscriber.obj" : $(SOURCE) $(DEP_CPP_MXDSSU) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxloopingflcpresenter.cpp - -!IF "$(CFG)" == "LEGO1 - Win32 Release" - -DEP_CPP_MXLOOP=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxflcpresenter.h"\ - ".\LEGO1\mxloopingflcpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxloopingflcpresenter.obj" : $(SOURCE) $(DEP_CPP_MXLOOP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ELSEIF "$(CFG)" == "LEGO1 - Win32 Debug" - -DEP_CPP_MXLOOP=\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxflcpresenter.h"\ - ".\LEGO1\mxloopingflcpresenter.h"\ - ".\LEGO1\mxmediapresenter.h"\ - ".\LEGO1\mxpresenter.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxvideopresenter.h"\ - - -"$(INTDIR)\mxloopingflcpresenter.obj" : $(SOURCE) $(DEP_CPP_MXLOOP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -!ENDIF - -# End Source File -# End Target -################################################################################ -# Begin Target - -# Name "ISLE - Win32 Release" -# Name "ISLE - Win32 Debug" - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -################################################################################ -# Begin Source File - -SOURCE=.\ISLE\define.cpp -DEP_CPP_DEFIN=\ - ".\ISLE\define.h"\ - - -"$(INTDIR)\define.obj" : $(SOURCE) $(DEP_CPP_DEFIN) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\ISLE\res\isle.rc -DEP_RSC_ISLE_R=\ - ".\ISLE\res\resource.h"\ - - -!IF "$(CFG)" == "ISLE - Win32 Release" - - -"$(INTDIR)\isle.res" : $(SOURCE) $(DEP_RSC_ISLE_R) "$(INTDIR)" - $(RSC) /l 0x409 /fo"$(INTDIR)/isle.res" /i "ISLE\res" /d "NDEBUG" $(SOURCE) - - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - - -"$(INTDIR)\isle.res" : $(SOURCE) $(DEP_RSC_ISLE_R) "$(INTDIR)" - $(RSC) /l 0x409 /fo"$(INTDIR)/isle.res" /i "ISLE\res" /d "_DEBUG" $(SOURCE) - - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoanimationmanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legobuildingmanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legogamestate.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoinputmanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legomodelpresenter.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoomni.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legopartpresenter.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoroi.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legovideomanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\legoworldpresenter.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxatomid.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxbackgroundaudiomanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxbitmap.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxbool.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxcore.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdirectdraw.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsaction.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxdsfile.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomni.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomnicreateflags.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxomnicreateparam.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxpalette.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxrect32.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxresult.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxstreamcontroller.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxstreamer.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxstring.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxticklemanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxtimer.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxtransitionmanager.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvariabletable.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvideoparam.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Source File - -SOURCE=.\LEGO1\mxvideoparamflags.h - -!IF "$(CFG)" == "ISLE - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -!ENDIF - -# End Source File -################################################################################ -# Begin Project Dependency - -# Project_Dep_Name "LEGO1" - -!IF "$(CFG)" == "ISLE - Win32 Release" - -"LEGO1 - Win32 Release" : - $(MAKE) /$(MAKEFLAGS) /F ".\isle.mak" CFG="LEGO1 - Win32 Release" - -!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" - -"LEGO1 - Win32 Debug" : - $(MAKE) /$(MAKEFLAGS) /F ".\isle.mak" CFG="LEGO1 - Win32 Debug" - -!ENDIF - -# End Project Dependency -################################################################################ -# Begin Source File - -SOURCE=.\ISLE\isleapp.cpp -DEP_CPP_ISLEAP=\ - ".\ISLE\define.h"\ - ".\ISLE\isleapp.h"\ - ".\ISLE\res\resource.h"\ - ".\LEGO1\isle.h"\ - ".\LEGO1\lego3dmanager.h"\ - ".\LEGO1\lego3dview.h"\ - ".\LEGO1\legoanimationmanager.h"\ - ".\LEGO1\legobuildingmanager.h"\ - ".\LEGO1\legoentity.h"\ - ".\LEGO1\legoentitypresenter.h"\ - ".\LEGO1\legogamestate.h"\ - ".\LEGO1\legoinputmanager.h"\ - ".\LEGO1\legomodelpresenter.h"\ - ".\LEGO1\legonavcontroller.h"\ - ".\LEGO1\legoomni.h"\ - ".\LEGO1\legopartpresenter.h"\ - ".\LEGO1\legoplantmanager.h"\ - ".\LEGO1\legoroi.h"\ - ".\LEGO1\legovideomanager.h"\ - ".\LEGO1\legoworld.h"\ - ".\LEGO1\legoworldpresenter.h"\ - ".\LEGO1\mxatomid.h"\ - ".\LEGO1\mxbackgroundaudiomanager.h"\ - ".\LEGO1\mxcompositepresenter.h"\ - ".\LEGO1\mxcore.h"\ - ".\LEGO1\mxcriticalsection.h"\ - ".\LEGO1\mxdirectdraw.h"\ - ".\LEGO1\mxdsaction.h"\ - ".\LEGO1\mxdsfile.h"\ - ".\LEGO1\mxdsobject.h"\ - ".\LEGO1\mxdssource.h"\ - ".\LEGO1\mxentity.h"\ - ".\LEGO1\mxeventmanager.h"\ - ".\LEGO1\mxioinfo.h"\ - ".\LEGO1\mxmediapresenter.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\mxpresenter.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxsoundmanager.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxstreamer.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxticklemanager.h"\ - ".\LEGO1\mxtimer.h"\ - ".\LEGO1\mxtransitionmanager.h"\ - ".\LEGO1\mxtypes.h"\ - ".\LEGO1\mxunknown100dc6b0.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - ".\LEGO1\mxvideopresenter.h"\ - ".\LEGO1\viewmanager.h"\ - - -"$(INTDIR)\isleapp.obj" : $(SOURCE) $(DEP_CPP_ISLEAP) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -# End Source File -# End Target -# End Project -################################################################################ diff --git a/isle.mdp b/isle.mdp deleted file mode 100644 index a5fc4336..00000000 Binary files a/isle.mdp and /dev/null differ diff --git a/tools/reccmp/reccmp.py b/tools/reccmp/reccmp.py index abfe71a7..226be15d 100755 --- a/tools/reccmp/reccmp.py +++ b/tools/reccmp/reccmp.py @@ -6,6 +6,7 @@ import difflib import struct import subprocess +import logging import os import sys import colorama @@ -24,8 +25,14 @@ parser.add_argument('--svg-icon', metavar='icon', help='Icon to use in SVG (PNG)') parser.add_argument('--print-rec-addr', action='store_true', help='Print addresses of recompiled functions too') +parser.set_defaults(loglevel=logging.INFO) +parser.add_argument('--debug', action='store_const', const=logging.DEBUG, dest='loglevel', help='Print script debug information') + args = parser.parse_args() +logging.basicConfig(level=args.loglevel, format='[%(levelname)s] %(message)s') +logger = logging.getLogger(__name__) + colorama.init() verbose = None @@ -61,6 +68,7 @@ # to file addresses class Bin: def __init__(self, filename): + logger.debug('Parsing headers of "%s"... ', filename) self.file = open(filename, 'rb') #HACK: Strictly, we should be parsing the header, but we know where @@ -68,15 +76,16 @@ def __init__(self, filename): # Read ImageBase self.file.seek(0xB4) - self.imagebase = struct.unpack('i', self.file.read(4))[0] + self.imagebase, = struct.unpack(' str: + if unix_fn.startswith('./'): + return self.win_cmd + '\\' + unix_fn[2:].replace('/', '\\') + if unix_fn.startswith(self.unix_cwd): + return self.win_cwd + '\\' + unix_fn.removeprefix(self.unix_cwd).replace('/', '\\').lstrip('\\') + return self._call_winepath_unix2win(unix_fn) + + def get_unix_path(self, win_fn: str) -> str: + if win_fn.startswith('.\\') or win_fn.startswith('./'): + return self.unix_cwd + '/' + win_fn[2:].replace('\\', '/') + if win_fn.startswith(self.win_cwd): + return self.unix_cwd + '/' + win_fn.removeprefix(self.win_cwd).replace('\\', '/') + return self._call_winepath_win2unix(win_fn) + + @staticmethod + def _call_winepath_unix2win(fn: str) -> str: + return subprocess.check_output(['winepath', '-w', fn], text=True).strip() + + @staticmethod + def _call_winepath_win2unix(fn: str) -> str: + return subprocess.check_output(['winepath', fn], text=True).strip() def get_file_in_script_dir(fn): return os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])), fn) @@ -109,22 +140,24 @@ class SymInfo: funcs = {} lines = {} - def __init__(self, pdb, file): + def __init__(self, pdb, file, wine_path_converter): call = [get_file_in_script_dir('cvdump.exe'), '-l', '-s'] - if os.name != 'nt': + if wine_path_converter: # Run cvdump through wine and convert path to Windows-friendly wine path call.insert(0, 'wine') - call.append(get_wine_path(pdb)) + call.append(wine_path_converter.get_wine_path(pdb)) else: call.append(pdb) - print('Parsing %s...' % pdb) - + logger.info('Parsing %s ...', pdb) + logger.debug('Command = %r', call) line_dump = subprocess.check_output(call).decode('utf-8').split('\r\n') current_section = None + logger.debug('Parsing output of cvdump.exe ...') + for i, line in enumerate(line_dump): if line.startswith('***'): current_section = line[4:] @@ -132,8 +165,6 @@ def __init__(self, pdb, file): if current_section == 'SYMBOLS' and 'S_GPROC32' in line: addr = int(line[26:34], 16) - - info = RecompiledInfo() info.addr = addr + recompfile.imagebase + recompfile.textvirt @@ -155,9 +186,9 @@ def __init__(self, pdb, file): elif current_section == 'LINES' and line.startswith(' ') and not line.startswith(' '): sourcepath = line.split()[0] - if os.name != 'nt': + if wine_path_converter: # Convert filename to Unix path for file compare - sourcepath = get_unix_path(sourcepath) + sourcepath = wine_path_converter.get_unix_path(sourcepath) if sourcepath not in self.lines: self.lines[sourcepath] = {} @@ -178,18 +209,23 @@ def __init__(self, pdb, file): j += 1 + logger.debug('... Parsing output of cvdump.exe finished') + def get_recompiled_address(self, filename, line): addr = None found = False - #print('Looking for ' + filename + ' line ' + str(line)) + logger.debug('Looking for %s:%d', filename, line) for fn in self.lines: # Sometimes a PDB is compiled with a relative path while we always have # an absolute path. Therefore we must - if os.path.samefile(fn, filename): - filename = fn - break + try: + if os.path.samefile(fn, filename): + filename = fn + break + except FileNotFoundError as e: + continue if filename in self.lines and line in self.lines[fn]: addr = self.lines[fn][line] @@ -197,13 +233,16 @@ def get_recompiled_address(self, filename, line): if addr in self.funcs: return self.funcs[addr] else: - print('Failed to find function symbol with address: %s' % hex(addr)) + logger.error('Failed to find function symbol with address: 0x%x', addr) else: - print('Failed to find function symbol with filename and line: %s:%s' % (filename, str(line))) + logger.error('Failed to find function symbol with filename and line: %s:%d', filename, line) +wine_path_converter = None +if os.name != 'nt': + wine_path_converter = WinePathConverter(source) origfile = Bin(original) recompfile = Bin(recomp) -syminfo = SymInfo(syms, recompfile) +syminfo = SymInfo(syms, recompfile, wine_path_converter) print() diff --git a/tools/reccmp/template.svg b/tools/reccmp/template.svg index bd36e9b2..626ed08d 100644 --- a/tools/reccmp/template.svg +++ b/tools/reccmp/template.svg @@ -55,12 +55,12 @@ x="58.13345" y="51.967873" />{name}{percent}