jonschz
f602903daa
add unit tests for new type parsers, fix linter issue
2024-06-08 12:22:37 +02:00
jonschz
59ed0b1aa9
refactor: address review comments
...
Not sure why VS Code suddenly decides to remove some empty spaces, but they don't make sense anyway
2024-06-08 10:26:23 +02:00
jonschz
24275b460b
fix Python 3.9 issue
2024-05-30 20:48:18 +02:00
jonschz
bdce6575cd
Merge remote-tracking branch 'upstream/master' into ghidra-function-import-script
2024-05-30 20:35:56 +02:00
jonschz
cfbbcebfb8
Refactor, implement enums, fix lots of bugs
2024-05-30 20:16:11 +02:00
MS
b8ea5bf9ba
Fix missing float constants ( #959 )
2024-05-27 03:22:10 -04:00
jonschz
a8f6e72b97
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
2024-05-26 21:58:19 +02:00
jonschz
c6817527d1
fix another Python 3.9 syntax incompatibility
2024-05-23 21:58:37 +02:00
jonschz
e6cbd466f8
fix types and small type safety violations
2024-05-23 21:51:10 +02:00
jonschz
03cf2560ac
WIP: save progress
2024-05-23 20:46:28 +02:00
jonschz
46dbe1a608
run black
2024-05-23 20:38:43 +02:00
jonschz
8678ad72c4
refactor types and make them Python 3.9 compatible
2024-05-23 20:26:54 +02:00
jonschz
17b101d8fc
Refactor: Introduce submodules and reload remedy
2024-05-23 20:06:42 +02: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
jonschz
86ffbc4804
feature: Basic PDB analysis [skip ci]
...
This is a draft with a lot of open questions left. Please do not merge
2024-05-20 19:56:39 +02: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
jonschz
fd5e8f8d0c
Add draft for Ghidra function import script
2024-05-11 21:55:36 +02: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
MS
70912d16c6
Swap cmp operands for effective match ( #783 )
2024-04-07 16:57:41 -04:00
MS
56827fb2c4
Use colorama.just_fix_windows_console ( #766 )
2024-04-02 18:45:57 -04:00
Nathan M Gilbert
3839b3278c
Implement/match LegoExtraActor::VTable0x94 ( #759 )
...
* Implement/match LegoExtraActor::VTable0x94
* attempt to fix gcc
* WIP fixes
* Match
* Match
* Match
* add TODO
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-30 12:18:15 -04:00
MS
4fd6642be9
parser: don't enforce variable naming convention ( #761 )
2024-03-30 11:39:34 -04:00
Ramen2X
dd4d7cca9c
fix typo in reccmp effective match string ( #754 )
2024-03-29 14:20:02 -04:00
MS
6fda6ca92b
reccmp: Don't use placeholder for address comparison ( #751 )
2024-03-29 13:29:44 -04:00
MS
53b3d0b195
Add datacmp to CI ( #746 )
2024-03-29 07:58:59 -04:00
MS
3b68a90a08
Identify thunks in debug builds ( #741 )
2024-03-27 16:13:23 -04:00
MS
064feab51a
Detect when we exceed original function size ( #736 )
2024-03-26 21:01:37 -04:00
MS
b9f34290d5
Ignore annotations that would cause an exception ( #733 )
2024-03-26 17:50:24 -04:00
MS
ededdf31c3
Identify and handle jump tables ( #732 )
2024-03-26 19:06:35 +01:00
Nathan M Gilbert
1e3ca11886
Implement/match LegoAnimActor ( #730 )
...
* Implement/match LegoAnimActor
* Name changes (deviation from original source)
* Attempt to fix modern build
* Add missing override
* Match LegoAnimActor::SetWorldSpeed
* Remove junk
* Style changes and implement WEEdge
* Add override
* Match LegoAnimActor::FUN_1001c1f0, style
* Style
* Add missing annotations, STUB LegoPathBoundary
* Style
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-26 18:51:52 +01:00
MS
d9913ead83
Virtual inheritance follow-up ( #727 )
2024-03-25 16:34:20 +01:00
MS
0295a08c94
Keep capstone working on Python 3.12 ( #722 )
2024-03-24 17:20:58 -04:00
MS
3f03940fcb
Match vtables with virtual inheritance ( #717 )
...
* Match vtables with virtual inheritance
* Simplify vtable name check
* Thunk alert
2024-03-23 18:01:40 -04:00
MS
739caacd8d
More features for reccmp HTML UI ( #701 )
2024-03-22 18:40:51 +01:00
Christian Semmler
0e146f08d6
Implement/match LegoNavController::CalculateNewPosDir ( #675 )
...
* Implement/match LegoNavController::CalculateNewPosDir
* Fix naming
* Fix naming
2024-03-15 16:33:32 +01:00
MS
5e0e7ab908
Make reccmp more compatible with debug builds ( #674 )
2024-03-15 16:17:08 +01:00
MS
5eb74c06fd
reccmp: Sanitize performance (and more) ( #654 )
2024-03-10 14:49:45 -04:00
MS
ec1fcce08c
Data comparison tool ( #618 )
...
* Parse cvdump TYPES section. Add datacmp tool.
* Corrections
* Use static
* Revert "Use static"
This reverts commit e0a4324e00 .
* Handle partially initialized variable
* Shuffle order of legounksavedatawriter
* Revert "Shuffle order of legounksavedatawriter"
This reverts commit 506e06f117 .
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-05 09:45:09 +01:00
MS
688dc0b6ee
Replace custom elements with HTMLElement ( #585 )
2024-02-21 18:04:38 -05:00
MS
48cd648357
reccmp: diff bugfixes ( #583 )
2024-02-21 04:08:16 -05:00
MS
9c71209fb9
reccmp: HTML refactor and diff address display ( #581 )
...
* reccmp: HTML refactor and diff address display
* Restore the @@ range indicator
2024-02-20 08:56:33 +01:00