Commit graph

71 commits

Author SHA1 Message Date
MattKC
5aa7921e90
Add CI script to compare recompiled assembly with original code (#24)
* 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.
2023-06-18 20:28:18 -07:00
Christian Semmler
30989aec9c
add Lego3DManager and related, fix a function signature 2023-06-18 13:45:39 +02:00
itsmattkc
6843216dfa isle: commit header that i forgot in the previous commit 2023-06-13 21:28:39 -07:00
itsmattkc
1c95cbe40e isle: named last global var 2023-06-13 20:25:42 -07:00
Thomas May
f91779b47a isle: replace other instances of ®️ with \xAE 2023-06-13 16:59:03 +01:00
itsmattkc
06c09a25bc use escape sequence in title string to prevent further unicode issues 2023-06-12 18:42:53 -07:00
itsmattkc
12a90b8730 fixed reg reading bug/inaccuracy 2023-06-12 13:06:10 -07:00
itsmattkc
7a5dc664ac improved accuracy of isle constructor 2023-06-12 13:05:55 -07:00
itsmattkc
87c61f8cd0 fixed symbol character regression
MSVC420 doesn't support UTF-8, so the (R) symbol must be in Windows-1252 encoding instead. A PR seems to have reverted this back to UTF-8 (a code editor probably did this without even mentioning it)
2023-06-12 11:51:13 -07:00
itsmattkc
dcf37c5244 isle: fix decomp inaccuracy 2023-06-11 18:04:09 -07:00
MattKC
363ebd2077
Merge pull request #4 from mosswg/match-to-original
Match some functions and values to the original binary
2023-06-11 11:17:13 -07:00
Christian Semmler
01845a94ab Use WM_SYSCOMMAND type constants 2023-06-11 16:12:41 +02:00
Moss Gallagher
1244a7a57b isle: Match readReg to Original 2023-06-11 03:29:13 -07:00
Moss Gallagher
f81c5f944c isle: Matched WNDCLASS_NAME to Original
In 1.0 WINDOW_TITLE seems to be a define like WNDCLASS_NAME. However, in
1.1 it is a const char* like in the already existing code. It also has a
value of "Lego Island" in 1.0 but a value of "Lego®" in 1.1.
2023-06-11 03:16:44 -07:00
Moss Gallagher
4a1ac277f9 isle: Partially Matched setupVideoFlags to Original
For some reason the decomp version is doing the first xor in
EnableFullScreen with the operands swapped. The source code and
the original binary both have m_flags ^ e but the decomp binary has e ^
m_flags. This gives the same result but it is not a 100% match in the
binary. I'm not sure why the compiler is doing this or how to
change it but the other inaccuracy with the function is fixed.
2023-06-11 02:06:28 -07:00
Moss Gallagher
9580402ab5 isle main: Matched startDirectSound to Original 2023-06-11 02:00:57 -07:00
itsmattkc
689a38fcfc isle: change loadaccelerator comment (i know what this does now) 2023-06-11 01:47:30 -07:00
itsmattkc
03fcad0bd2 added some legoomni functions and named some isle global vars 2023-06-10 22:11:05 -07:00
itsmattkc
8ff739c6d3 name some functions in mxticklemanager 2023-05-21 21:45:25 -07:00
itsmattkc
fb72956339 isle: remove temp code 2023-05-21 21:44:54 -07:00
itsmattkc
d4e2fb8d8a reorganized repo, implemented mxcore 2023-05-05 02:54:17 -07:00