Christian Semmler
841db2a577
Add SI Loader extension ( #664 )
...
* SiLoader draft
* Fixes
* Fixes
* Fix asset build on Windows
* Remove whitespace
* Package assets in CI
* Disable clang-tidy
* Fix NCC
* Try this
* Disable extensions on Xbox for now
* Update bitmap
* Update 3rdparty/CMakeLists.txt
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
* Add DEPFILE for asset command
* Use assets.d instead of .d
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-08-11 00:59:55 +00:00
Christian Semmler
deca5e5a2e
Add device and gamepad haptics to web port ( #613 )
...
* Add device and gamepad haptics to web port
* Update skip.yml
2025-07-15 23:50:14 +00:00
Christian Semmler
f20fc475c7
Integrate SDL Haptic API ( #607 )
...
* Integrate SDL Haptic API
* Close other devices
* Fixes
2025-07-15 23:47:37 +02:00
Helloyunho
0191be7461
Make draw cursor feature work for modern platforms ( #480 )
2025-07-03 18:05:46 +02:00
Christian Semmler
020969c483
Add transition type to ini ( #441 )
2025-06-29 02:49:46 +02:00
Anders Jenbo
4c80c8d923
Add 32bit color support ( #311 )
2025-06-14 23:09:23 +00:00
Christian Semmler
69bac21488
Merge remote-tracking branch 'isle/master' into merge
2024-12-23 09:38:55 -07:00
Joshua Peisach
48c327ca5a
Implement MxDisplaySurface::VTable0x2c ( #1262 )
...
* Implement MxDisplaySurface::VTable0x2c
* fix header namespace
* Incorporate improvements from @madebr branch
* Naming
* Naming
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2024-12-23 16:17:36 +01:00
Christian Semmler
f51b1867ee
Use SDL3 for filesystem access ( #36 )
...
* Use SDL IOStream in for MXIOINFO
* Use SDL IOStream for WDB file
* Use SDL IOStream for LegoStorage
* Update README.md
* Fixes
* Add names to skip.yml
* Add #include <stdio.h> where necessary
2024-12-16 22:25:52 +01:00
Christian Semmler
5ade193261
merge from isle/master
2024-11-29 15:27:01 -07:00
Christian Semmler
d6796ad86a
Implement remaining LegoGameState functions ( #1172 )
...
* Implement remaining LegoGameState functions
* Naming fixes
* Fix naming
2024-11-27 23:42:05 +01:00
Anonymous Maarten
0cb753e523
Use reccmp as a python requirement ( #1116 )
...
* Use reccmp as a python requirement
* Add BETA10 to reccmp-project.yml
2024-10-26 05:57:47 -07:00
MS
91205be031
Handle duplicate thunks in BETA10 ( #1113 )
2024-10-17 20:17:00 -07:00
jonschz
8446a7ffa1
Add new script to compare the stack layout ( #1112 )
...
* Add new script to debug the stack layout
* fix small error in script
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-13 14:31:15 -07:00
jonschz
f89ee5c13d
BETA10 import: Fix FUN_... collisions ( #1105 )
...
* Improve BETA10 name import, refactor
* Run formatter
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-14 07:16:12 -07:00
jonschz
ece3550e62
Fix spurious reccmp warnings ( #1101 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-08 22:00:08 +02:00
Christian Semmler
318c46b881
merge
2024-09-05 12:09:19 -07:00
jonschz
2b14d3d6a5
Implement parts of LegoCarBuild and dependents ( #1092 )
...
* Implement parts of `LegoCarBuild` and dependents
* Fix BETA10 offset
* Fix constants
* Code style: Rename parameters
* Linter fixes v2
* Linter errors v3
* Add BETA10 variable names for presenters
* Address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-03 13:50:30 -07:00
MS
30be1ed4b8
Brute force string search for BETA10 ( #1097 )
...
* Brute force string search for BETA10
* improved string check
* Skip this unless source binary is debug
* remove misplaced comment
2024-09-01 22:34:58 +02:00
MS
f242130382
Sanitize args for assert in BETA10 ( #1095 )
2024-08-31 22:37:32 -07:00
jonschz
0256fc4acf
Fix Ghidra import call type ( #1093 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-31 08:00:35 -07:00
jonschz
b898d98515
BETA10: reccomp support and Ghidra imports ( #1091 )
...
* Implement core functionality (before linter)
* run linter + formatter
* Review: remove redundant code
* Implement end of range check for vtables
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-29 11:54:23 -07:00
jonschz
ce3fc57025
BETA10 Readme additions ( #1090 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-23 12:22:03 -07:00
jonschz
757df96c0d
Implement/match LegoRaceMap ( #1087 )
...
* Implement/match LegoRaceMap
* Fix CI, address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-17 11:30:39 -07:00
jonschz
412200ecbc
Ghidra Import: Support virtual inheritance ( #1071 )
...
* Implement/fix Ghidra imports for multiple and virtual inheritance
Unfortunately, the handling in Ghidra is still far from perfect. This is a good place to start, though.
* Support offsets in vbase pointers
* Support `this adjust`
* minor stylistic improvement
* Improvements to documentation
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-30 10:02:15 -07:00
jonschz
210376f272
Implement LegoRaceCar::HandleSkeletonKicks and dependents ( #1065 )
...
* Implement `LegoRaceCar::HandleSkeletonKicks` and dependents
* Fix typo
* Spike to fix array comparisons (needs refactor)
* Refactor: Dedicated method for array element matching
* Address review comments
* Reformat with new version of black
* Apply more review comments
* Address more review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-17 07:03:02 -07:00
MS
4a87c3bc44
Small update to datacmp and roadmap ( #1048 )
...
* Match uninit variables with all nulls
* Enable _pnhHeap variable for ISLE
* Roadmap bugfix for ordinal import dummy addrs
* Format fix
2024-06-28 14:58:35 -07:00
Christian Semmler
4258fb0deb
Add back some stuff from decomp ( #2 )
...
* Add ncc script
* add requirements.txt
* Add other builds
* Add with submodules
* Comment out for now
* Add
2024-06-25 19:49:59 +02:00
Christian Semmler
3fdf45968e
Remove decomp tools
2024-06-25 19:48:57 +02:00
jonschz
d869d565c2
Fix Ghidra import script re-importing unchanged functions ( #1035 )
...
* feat: Reuse enums instead of recreating them every time
* feat: Support verifying return values larger than 4 bytes
* feat: Ignore `__$ReturnUdt` in template functions
* run formatter
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-16 08:50:32 -04:00
jonschz
c8dc77cbf4
Support stubs in function import ( #1034 )
...
* Refactor returned data structure for extensibility
* feature: Import stub functions but don't overwrite their argument list
Ghidra might have auto-detected some arguments, so we don't want to overwrite that if the stub's argument list has not been verified
Closes #1009
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-16 07:13:19 -04:00
MS
9383076e04
Fix remaining vtordisp issues ( #1016 )
...
* Fix LegoRaceActor
* Fix LegoRaceMap
* Fix LegoCarRaceActor
* Fix LegoJetskiRaceActor
* Fix LegoJetski
* Fix LegoRaceCar
* Downgrade orig addr unique message to debug
2024-06-10 13:04:40 -04:00
MS
0dca127649
Parse anonymous LF_UNION type ( #1013 )
2024-06-09 13:52:04 -04:00
MS
9bc5c26bcc
Handle S_BLOCK32 in cvdump symbols parser ( #1012 )
2024-06-09 13:38:57 -04:00
jonschz
f26c30974a
Add Ghidra function import script ( #909 )
...
* Add draft for Ghidra function import script
* feature: Basic PDB analysis [skip ci]
This is a draft with a lot of open questions left. Please do not merge
* Refactor: Introduce submodules and reload remedy
* refactor types and make them Python 3.9 compatible
* run black
* WIP: save progress
* fix types and small type safety violations
* fix another Python 3.9 syntax incompatibility
* Implement struct imports [skip ci]
- This code is still in dire need of refactoring and tests
- There are only single-digit issues left, and 2600 functions can be imported
- The biggest remaining error is mismatched stacks
* Refactor, implement enums, fix lots of bugs
* fix Python 3.9 issue
* refactor: address review comments
Not sure why VS Code suddenly decides to remove some empty spaces, but they don't make sense anyway
* add unit tests for new type parsers, fix linter issue
* refactor: db access from pdb_extraction.py
* Fix stack layout offset error
* fix: Undo incorrect reference change
* Fix CI issue
* Improve READMEs (fix typos, add information)
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-09 08:41:24 -04:00
MS
efdbbeecc0
Stop disassembling if we hit int3 ( #1004 )
2024-06-08 19:16:28 -04:00
MS
cb74a8c80e
Disable autojunk for python difflib ( #1001 )
2024-06-08 10:36:32 -04:00
MS
b8ea5bf9ba
Fix missing float constants ( #959 )
2024-05-27 03:22:10 -04:00
Christian Semmler
8fee73c525
Implement/match LegoPathStruct ( #944 )
...
* Implement/match LegoPathStruct
* Rename some nums
* Consistent naming
* Naming
* relax regex
* Name some functions
* Improve naming
* Rename
2024-05-21 15:03:50 -04:00
Christian Semmler
939c09139f
Match LegoOmni::Destroy and related ( #917 )
...
* Match LegoOmni::Destroy and related
* Write COMPAT_MODE macro differently
* fix lint issue
2024-05-14 14:13:27 +02:00
MS
119ff93461
Parser bugfix: vtable namespace ( #910 )
2024-05-11 18:40:31 -04:00
Christian Semmler
45f9f54f21
Implement/match IslePathActor::SpawnPlayer ( #884 )
...
* Implement/match IslePathActor::SpawnPlayer
* Fix
* Fix
* Add skip
* Rename param
2024-05-04 16:13:05 +02:00
Christian Semmler
01b861bc09
Update README.md and CONTRIBUTING.md ( #880 )
...
* Update README.md and CONTRIBUTING.md
* typo
* style
* comma
2024-05-03 15:43:59 +02:00
MS
e7670f9a81
Read floating point constants up front ( #868 )
...
* Read floating point constants before sanitize
* Fix roadmap
2024-04-29 14:33:16 -04:00
Christian Semmler
19d39394be
Score class cleanup ( #855 )
...
* Cleanup/fixes
* Improve Paint match
* Improve Score::FillArea
* Fix naming
* Fix value
2024-04-26 16:58:42 +02:00
MS
41be78ed1c
Pointer substitution can use offset into variable ( #841 )
2024-04-23 17:06:43 -04:00
MS
9e71eef72b
Change thunk match strategy ( #818 )
...
* Change thunk match strategy
* Add orig thunk when recomp is not thunked
2024-04-18 19:39:20 -04:00
MS
c8840117be
More effective match strategies ( #804 )
...
* More effective match strategies
* Basic check on instruction relocation
* More targeted check for relocation
2024-04-14 17:08:42 -04:00
Nathan M Gilbert
7821d952ec
Pathactor ( #800 )
...
* Implement LegoPathActor::VTable0x8c
* Fix paramater name
* WIP fixes
* more fixes
* style
* fix
* fix
* fix
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-14 16:43:07 +02:00
MS
512eb786ab
Detect calls using absolute indirect addressing ( #784 )
...
* Detect calls using absolute indirect addressing
* Ignore imports we can't match
2024-04-08 03:40:05 -04:00