Commit graph

755 commits

Author SHA1 Message Date
Christian Semmler
124a5ddaa3
isle: Accuracy improvements (#27)
* Isle::Isle 100% accuracy

* Isle::~Isle 100%

* improve accuracy of ReadReg functions

* refactor

* fix Isle::ReadRegBool

* fix Isle::ReadRegInt

* empty commit to reset GH action

* fix Isle::SetupLegoOmni
2023-06-21 00:30:46 -07:00
MS
6207d1f775
add more MxString functions (#31) 2023-06-21 00:30:07 -07:00
itsmattkc
290c006d14 use offsets from PDB to only diff instructions
Also ensure empty functions aren't falsely identified as matching due to no comparison occurring
2023-06-20 13:09:48 -07:00
Christian Semmler
0ab8fc52d2
lego1/isle: Add MxDSObject, implement SetObjectName, adjust MxDSAction (#20)
* 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
2023-06-19 17:18:53 -07:00
itsmattkc
66dd2cdeb9 improved reccomp reliability even further, added html summary generator
Will probably host the summary somewhere for easy access
2023-06-19 12:52:21 -07:00
itsmattkc
ff85548c85 project update 2023-06-19 11:02:44 -07:00
itsmattkc
ec12b8f30f improved compare script performance and reliability 2023-06-19 10:57:13 -07:00
itsmattkc
dafe66191c mxomni: fixed minor inaccuracy 2023-06-19 10:56:53 -07:00
Christian Semmler
0b3d1abe66
fix wrong video param flag interfaces (#26) 2023-06-19 09:20:36 -07:00
MattKC
8b16b7b2c3
Update CONTRIBUTING.md [skip ci] 2023-06-19 01:37:13 -07:00
MattKC
4494d4db60
Update README.md [skip ci] 2023-06-19 01:36:05 -07:00
Christian Semmler
5c440b5878
lego1: implement more of LegoNavController (#16)
* implement more of LegoNavController

* merge

* use MX_FALSE

* file file perms

* added Timer(), GetTime to LegoNavController

* add a comment about SetControlMax

* remove colon

* add commented out dtor

* revert inheritance for now so we don't accidentally break the interface to ISLE.exe later

* add missing include

* update project files

* update project files

* fix main.cpp

* add offsets

* update project files

* fix line endings

* fix a bug thanks to ASM checker

* add addr for Timer()

* updated project file
2023-06-19 01:34:58 -07:00
itsmattkc
f9f8440a3a main: elaborate new info about LoadAccelerators call [skip ci] 2023-06-19 01:22:01 -07:00
itsmattkc
2c6aeb8b82 oops forgot the calls too 2023-06-19 01:12:12 -07:00
itsmattkc
3d9a96995a isle: convert last two functions to PascalCase 2023-06-18 23:22:32 -07:00
itsmattkc
f8263a3ef8 implemented some parts of MxOmni and LegoOmni 2023-06-18 23:19:40 -07:00
MattKC
d774644b4a
Update README.md 2023-06-18 22:57:38 -07:00
MattKC
9de317af55
Create CONTRIBUTING.md 2023-06-18 22:56:49 -07:00
ecumber
526c6af1f6
Implement a few Mx* functions / add data types (#25)
* Implement a few Mx* functions / add data types

* added more information, fixed formatting issues

* further cleanup

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2023-06-18 22:36:07 -07:00
itsmattkc
1152feab8d use different naming scheme in ISLE
We now know that ISLE used PascalCase for its function names, so we're using those here now.
2023-06-18 21:51:50 -07:00
itsmattkc
4a41d3fd36 use sizeof in more places where appropriate 2023-06-18 21:51:26 -07:00
Anonymous Maarten
6e18d1b41f
ISLE and mingw32 fixes (#18)
* ci: no need to do a final cd

* MxDSAction has a setAtomId method

* Implement the MxOmniCreateParamBase destructor inline

Because of this, ISLE should no longer have to compile mxomnicreateparambase.obj.
I didn't modify isle.mak, because I don't have the MSVC 4.20 GUI set-up.

* Replace 256 with sizeof(...)

* Format DefWndProc calls in WndProc

* Replace magic mask in WNDPROC with macro's

* Replace magic numbers in main.cpp with macro's

* MOUSEMOVE notification id is 10 instead of 0x10

* Lowercase all windows includes such that mingw32 on Linux can find these

* Convert ISLE/res/isle.rc to utf-8, and add a comma needed by mingw32

* mingw32 cannot use a enum without previous declaration

* minor adjustments

---------

Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2023-06-18 21:45:25 -07:00
itsmattkc
bba513c525 cleaned up mxomnicreateparambase
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.
2023-06-18 21:29:25 -07:00
itsmattkc
a746a28702 legoinputmanager: fixed enum 2023-06-18 21:02:00 -07:00
itsmattkc
2a93655f06 added even more definitions 2023-06-18 20:56:55 -07:00
itsmattkc
319b52f248 added more definitions
Also clarify .exe on script because Wine cares about that
2023-06-18 20:50:32 -07:00
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
MattKC
f9a93406a8
Merge pull request #22 from foxtacles/isle-lego3dmanager
lego1/isle: Add Lego3DManager and related, fix a function signature
2023-06-18 09:00:59 -07:00
Christian Semmler
170ca99390
forgot updated viewmanager.h 2023-06-18 14:02:16 +02:00
Christian Semmler
e648bcb439
add updated project files 2023-06-18 13:59:56 +02:00
Christian Semmler
30989aec9c
add Lego3DManager and related, fix a function signature 2023-06-18 13:45:39 +02:00
MattKC
5c74ddc9ab
Merge pull request #21 from foxtacles/hotfix-isle
Fix broken MxOmniCreateParam ctor interface
2023-06-18 00:31:26 -07:00
Christian Semmler
258b7f861e
remove a space 2023-06-17 22:05:40 +02:00
Christian Semmler
b51d74f642
fix broken MxOmniCreateParam ctor interface 2023-06-17 22:03:09 +02:00
MattKC
36ddb3ea82
Merge pull request #15 from WamWooWam/mxautolocker
lego1: implement MxAutoLocker, MxTimer + dependencies
2023-06-15 13:12:39 -07:00
Thomas May
753ed04611
Merge pull request #1 from foxtacles/perfect-setdevicename
lego1: perfect SetDeviceName
2023-06-15 16:16:21 +01:00
Christian Semmler
e6f8da256f
perfect SetDeviceName 2023-06-15 16:22:48 +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
8b58e6fe28 fix merge conflicts 2023-06-14 01:32:43 +01:00
Thomas May
fdbaf454aa Merge remote-tracking branch 'upstream/master' into mxautolocker 2023-06-14 01:31:57 +01:00
Thomas May
7ed9c7df82 save the damn project 2023-06-14 01:30:56 +01:00
Thomas May
14b14f88a5 Make sure we're using MX_TRUE/MX_FALSE 2023-06-14 01:26:24 +01:00
Thomas May
a925aec046 lego1: implement MxTimer + dependencies 2023-06-14 01:22:42 +01:00
MattKC
e2f13161b8
Merge pull request #13 from foxtacles/isle-legonavcontroller
lego1: bootstrap LegoNavController implementation
2023-06-13 17:19:10 -07:00
MattKC
eaca69716e
add matrix link to README.md [skip ci] 2023-06-13 14:27:35 -07:00
MattKC
0827ca8040
Merge pull request #12 from WamWooWam/master
isle: replace other instances of ®️ with \xAE
2023-06-13 11:46:00 -07:00
Christian Semmler
3a4a985fd0
formatting 2023-06-13 20:45:02 +02:00
Christian Semmler
422340f113
lego1: bootstrap LegoNavController implementation 2023-06-13 20:17:20 +02:00
Thomas May
f91779b47a isle: replace other instances of ®️ with \xAE 2023-06-13 16:59:03 +01:00