Was intended as a simple code improvement, however it also seems to make WinMain, MxString::operator=, MxDSFile::Open 100% (all of which just needed registers to be switched around)
* match WinProc
* minor accuracy improvement
* WndProc at 50%
* fix WM_DISPLAYCHANGE branching
* fix type
* fix x/y comparison
* WndProc 82%
* 84%
* 97%
* rearrange functions to get close to the original
* remove newline
* inline no longer necessary
* merge
* 100% Match of MxDSFile
* ...almost, MxDSFile::Open is still not quite matching but all of the
other methods are 100% matching.
* Turns out that most of the virtual methods and some of the members are
actually on the MxDSSource base class, which I've pulled out as part
of this.
* In order to implement the methods I added the MXIOINFO class, which
seems to be a thin wrapper around the MMIOINFO windows structure. We
can tell this because MMIOINFO::~MMIOINFO was included in the DLL
exports, and calls down to a function which deconstructs something
looking exactly like MMIOINFO.
* Add mxdssource.cpp
* mattkc feedback
* some accuracy improvements
* Use FOURCC macro
* Tirival solve in mxioinfo.cpp
* Update mxdsfile.cpp
0xFFFFFFFF -> -1
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
We've confirmed that, despite a function being declared inline, msvc will still make a conventional call in some circumstances. As such, I feel like this is warranted because it's most likely what a developer would have actually written.
* add MxDSObject, implement SetObjectName, adjust MxDSAction
* add a TODO
* update project files
* add WIP MxDSObject stuff
* merge
* update project file
* add addresses and SetAtomId
* switch addresses
* remove comment since it's fixed now (?)
* refactor
* update project file
* refactor into separate unit
* refactor into separate unit
* rename unit to avoid NMAKE issue
* rename param
* add last missing piece to Isle::Close
* fix spelling
* merge
* use union hack
* implement more of LegoNavController
* merge
* use MX_FALSE
* file file perms
* added Timer(), GetTime to LegoNavController
* add a comment about SetControlMax
* remove colon
* add commented out dtor
* revert inheritance for now so we don't accidentally break the interface to ISLE.exe later
* add missing include
* update project files
* update project files
* fix main.cpp
* add offsets
* update project files
* fix line endings
* fix a bug thanks to ASM checker
* add addr for Timer()
* updated project file
I remember there being a reason why I included MxOmniCreateParambase in ISLE, but testing now it doesn't seem to be what I thought (or maybe other factors are influencing it now). Indeed it seems this is unnecessary now.
* add test to compare assembly between functions
* ci: use abs path of wget
* ci: fix shell disambiguity
* ci: ensure capstone is installed
* ci: ensure correct filenames
* use better source for lego island files
* give me an idea of what the dir structure looks like
* make wine path function
* improved script and project
* fixed script on windows
* print debug info because now it literally only doesn't work on fucking github actions
* better source path resolving
For some reason, nmake compiles produce different symbols. I wonder if this affects the accuracy of the decomp.