Christian Semmler
09684b3c03
Implement/match BumpBouy class ( #1058 )
2024-07-04 23:28:23 +02:00
MS
14653070cc
Refactor surrounding MxBitmap::GetAdjustedStride
( #1057 )
...
* Refactor surrounding MxBitmap::GetAdjustedStride
* Remove this-> from MxDisplaySurface
2024-07-04 09:50:04 -07:00
Christian Semmler
65e3c3dd05
Implement/match FreeModelDbWorlds ( #1056 )
2024-07-02 22:04:05 +02:00
Christian Semmler
d92fc97a58
Implement/match DuneBuggy class ( #1055 )
...
* Implement/match DuneBuggy class
* Fix name
* Fix
2024-07-02 21:16:35 +02:00
MS
05fa715550
Add MxTrace function ( #1054 )
2024-07-02 10:46:40 -07:00
Christian Semmler
788cec2560
Implement GasStation::HandleEndAction ( #1053 )
2024-07-02 02:37:51 +02:00
Christian Semmler
7bee5fc6a5
Implement/match GasStation::HandleButtonDown ( #1052 )
...
* Implement/match GasStation::HandleButtonDown
* Use enum
2024-07-02 01:43:03 +02:00
Christian Semmler
9ba05d021d
Implement/match LegoPlantManager::ScheduleAnimation ( #1051 )
...
* Implement/match LegoPlantManager::ScheduleAnimation
* Add assert
2024-07-02 01:14:04 +02:00
jonschz
a21fd5975c
Start implementing LegoRaceCar
( #1050 )
...
* Implement several functions
* Limited match on LegoRaceCar::ParseAction
* WIP: progress in the right direction
* Implement LegoRaceCar::ParseAction()
* fix linter issues
* Address review comments
* fix naming
* fix naming (again)
* Relocate address annotations
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-01 11:39:31 -07:00
jonschz
fb34f86171
Improve several functions in vector.h
( #1049 )
...
* Improve some functions in vector.h
- Add BETA10 references
- inline some functions based on BETA10
- Identify and improve `Vector4::EqualsHamiltonProduct`
* Fix BETA10 offset
* Fix BETA10 annotation order
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-30 13:45:10 -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
MS
6e39e87613
Create MxDirectXInfo module ( #1047 )
...
* Some beta addrs and asserts to start
* Create mxdirectxinfo
* include fix
* CONFIG annotations
* Beta matching
* Match format function better, add dead code function
* LegoDeviceEnumerate
2024-06-27 12:22:13 -07:00
Christian Semmler
536aa4b1fe
Implement/match LegoPlantManager::FUN_10027120 ( #1046 )
2024-06-26 15:39:36 +02:00
Anonymous Maarten
0637deea13
m_extraCharacterId is an integer, not a pointer ( #1045 )
2024-06-26 04:17:45 -07:00
Anonymous Maarten
8113a17167
Backports of isle-portable x64 fixes ( #1044 )
...
* Introduce LPD3DRM_APPDATA typedef for setting d3drm appdata
* Fix warning about assigning const string literals to variable char pointers
* Don't cast pointers to integers on non-32-bit architectures
* memset 2nd argument is int
* Assume cpuid is available on x86_64, needs testing on i386 and unavailable on anything else
* Store HFILE in its own member variable
2024-06-25 17:56:30 +02:00
Christian Semmler
62307e1819
Implement/match LegoPlantManager::FUN_10026c50 ( #1043 )
...
* Minor fixes
* Implement/match LegoPlantManager::FUN_10026c50
2024-06-25 17:28:10 +02:00
jonschz
c9c130eb87
Implement AnimState ( #1042 )
...
* Implement LegoAnim
* fix: minor issues
* fix ncc complaints
* refactor: address review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-21 14:41:01 -04:00
Christian Semmler
1d666f62e5
Implement/match LegoPlantManager interaction functions ( #1041 )
2024-06-19 18:57:05 +02:00
Christian Semmler
656e7fc674
Implement/match more LegoPlantManager functions ( #1040 )
2024-06-19 18:02:54 +02:00
Christian Semmler
e507f42717
Implement/match LegoPlantManager::CreatePlant ( #1039 )
...
* Implement/match LegoPlantManager::CreatePlant
* Update names
* Fix name
* Fix
* Fix
2024-06-18 19:35:03 +02:00
Christian Semmler
1a46d370ec
Bootstrap LegoPlantManager, add plants data ( #1038 )
...
* Bootstrap LegoPlantManager, add plants data
* Naming
* Move
* Fix
2024-06-17 20:11:27 +02:00
Christian Semmler
e4e0f4e4d3
Implement/match Motocycle, consistent notification names ( #1037 )
...
* Implement/match Motocycle, consistent notification names
* Format
* Fix
* Fix return types
* Fix return type
* Fix annotations
* Rename function
2024-06-16 16:47:53 +02:00
Christian Semmler
68023379d8
Implement/match Bike ( #1036 )
2024-06-16 15:54:40 +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
jonschz
a6644801f1
feat: Implement several ::Serialize functions ( #1017 )
...
* feat: Implement many ::Serialize functions
* address review comments, part 1 [skip ci]
* address review comments, part 2 [skip ci]
* review comments (final part)
* refactor: Remove Read/Write duplication
* fix merge conflict
* Match PizzeriaState::Serialize again
* Remove unused variable, add LegoVehicleBuildState::Serialize
* Implement AnimState::Serialize
* fix: Conform with naming scheme
* refactor: change names back
* refactor: int to MxS32
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-14 23:24:34 +02:00
MS
165785c434
Bugfix for LegoMeterPresenter::DrawMeter ( #1033 )
2024-06-13 23:56:28 -04:00
Christian Semmler
e1a97cab2d
Implement LegoAnimScene::FUN_1009f490 ( #1032 )
...
* Implement LegoAnimScene::FUN_1009f490
* Update legoanim.cpp
* Update legoanim.cpp
* Update legoanim.cpp
2024-06-13 17:53:45 -04:00
Christian Semmler
dd1c11a933
Fix camera glitch ( #1031 )
2024-06-13 22:09:14 +02:00
Christian Semmler
e5d66d597d
Implement/match remaining Ambulance functions ( #1030 )
2024-06-13 20:32:28 +02:00
Christian Semmler
bbc304ce46
Implement/match Ambulance::HandlePathStruct ( #1029 )
...
* Implement/match Ambulance::HandlePathStruct
* Add annotation
2024-06-13 20:10:19 +02:00
Christian Semmler
cf7246ac6c
Implement/match Ambulance::HandleButtonDown ( #1028 )
2024-06-13 17:34:44 +02:00
Christian Semmler
33c64bb002
Implement/match Ambulance::VTable0x70 ( #1027 )
2024-06-13 17:25:48 +02:00
Christian Semmler
cf576ca78f
Add remaining classes, implement/match LegoObjectFactory ( #1026 )
...
* Add missing classes
* Match LegoObjectFactory
* Remove semicolon
* Add symbol
* Fix
2024-06-13 02:02:47 +02:00
Christian Semmler
abb4483e18
Implement/match JailEntity::HandleClick and CaveEntity::HandleClick ( #1025 )
...
* Implement/match JailEntity::HandleClick and CaveEntity::HandleClick
* Fix
2024-06-12 17:13:06 +02:00
Christian Semmler
641d9f1b8b
Fix CaveEntity class ( #1024 )
...
* Fix CaveEntity class
* Rename function
2024-06-12 16:20:51 +02:00
Christian Semmler
475d21f8c8
Implement/match Ambulance::ActivateSceneActions ( #1023 )
2024-06-12 16:08:55 +02:00
Christian Semmler
2a88d06ff9
Match LegoMeterPresenter::ParseExtra ( #1022 )
...
* Match LegoMeterPresenter::ParseExtra
* Add LegoMeterPresenter to factory
* Add call to parent
* Add missing TODO
2024-06-12 15:53:33 +02:00
Christian Semmler
1f360929cb
Implement/match Ambulance::Tickle ( #1021 )
2024-06-12 15:13:52 +02:00
Christian Semmler
ebc200bea3
Implement/match Ambulance::HandleClick ( #1019 )
...
* Implement/match Ambulance::HandleClick
* Remove junk
* Add Ambulance::FUN_10036e60
2024-06-11 20:19:41 +02:00
Christian Semmler
5311951bc7
Implement/match Ambulance::HandleEndAction ( #1018 )
2024-06-11 19:12:02 +02: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
Christian Semmler
c22c6f3379
Implement/match LegoFlcTexturePresenter ( #1015 )
...
* Implement/match LegoFlcTexturePresenter
* Move files
2024-06-10 17:44:55 +02:00
Mikhail Thompson
1c430f894d
Begin LegoRace class ( #1014 )
...
* Begin LegoRace
* Match functions
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-06-10 14:58:05 +02:00
MS
0dca127649
Parse anonymous LF_UNION type ( #1013 )
2024-06-09 13:52:04 -04:00
Christian Semmler
be4c351d7d
Rename Start/StopTimer to Pause/Resume ( #1007 )
...
* Rename Start/StopTimer to Pause/Resume
* Fix
2024-06-09 13:39:22 -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
88805f9fcb
TowTrack and LegoAct2 destructors ( #1005 )
...
* Add some missing dtors
* Add missing 'override'
2024-06-08 19:17:33 -04:00
MS
efdbbeecc0
Stop disassembling if we hit int3 ( #1004 )
2024-06-08 19:16:28 -04:00