jonschz
97ff27af9e
Implement/match LegoPlantManager::FUN_10026410
( #1223 )
...
* Implement/match `LegoPlantManager::FUN_10026410`
* Full match on LEGO1 and BETA10
* Improve `LegoBuildingManager::FUN_10030630`
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-14 16:35:08 +01:00
Christian Semmler
263d7d1e4f
Implement/match Act3::GoodEnding
( #1218 )
2024-12-13 18:49:45 +01:00
jonschz
07def56326
Implement Act2Actor::VTable0x70
( #1201 )
...
* Implement draft of `Act2Actor::VTable0x70`
* Fix CI errors
* Implement `Act2Actor::FUN_100199f0`
* WIP: cleanup
* Address review comments
* Run formatter
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 22:05:08 +01:00
jonschz
ada44a30e8
Fix name ambiguities ( #1202 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 06:57:45 -07:00
Christian Semmler
94ce89cbaa
(Proposal) Introduce arithmetic operators to Vector2 ( #1193 )
2024-12-07 17:26:22 +01:00
Christian Semmler
4d8098a6c2
Implement LegoPathController::FUN_10048310
( #1192 )
...
* WIP
* Rename
* Fix
* More WIP
* WIP
* WIP
* Fix
* Annotations
* Add more annotations, improve match
* Raise max functions
2024-12-06 20:50:40 +01:00
Christian Semmler
a17b3168e9
Implement/match LegoAct2::Notify
( #1175 )
...
* Implement LegoAct2::Notify
* Fix naming
* Remove unnecessary actions/ prefix in includes
2024-11-29 21:11:29 +01:00
jonschz
4c0aae720b
Implement LegoCarBuild::FUN_10024890()
and others, refactor ( #1126 )
...
* Commit finished code changes
* Add enum data type
* Refactor away GetCurrentArea, SetCurrentArea
* Clean up and add FUN_10024890
* Add `SetPartObjectIdByName()`
* Fix naming error
* Address review comments, part 1
* Address review comments, part 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-01 09:21:15 -07:00
jonschz
85ce10ab50
Refactor various operator[]
based on BETA10 ( #1110 )
...
* Tidy up `operator[]` code
* Add weird index operator for `FUN_1002ddc0`
* Cleanup
* Add Matrix4 BETA10 annotations, fix typo
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-06 07:50:34 -07:00
jonschz
1a15981324
Implement LegoCarBuildAnimPresenter::StreamingTickle()
( #1109 )
...
* Implement LegoCarBuildAnimPresenter::StreamingTickle and dependents
* Fix naming issue
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-05 16:20:45 -07:00
jonschz
e6474b7fcd
Implement LegoCarBuildAnimPresenter::FUN_10079920()
( #1108 )
...
* Implement `FUN_10079920()`
* Fix formatting
* Address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-04 17:19:42 +02:00
jonschz
a942325b29
More functions in LegoCarBuild
( #1104 )
...
* Add BETA10 annotations
* Clean up
* Implement multiple functions
* fix minor annotation error
* Undo formatting
* Fix formatting
* Implement more functions
* Rename variables, address review comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-14 16:14:11 -07:00
jonschz
7a6935a165
Progress on LegoCarBuildAnimPresenter
( #1103 )
...
* Progress on `LegoCarBuildAnimPresenter`
* Rename argument
* fix copy-paste error
* Address review comments
* Remove obsolete comment
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-12 21:51:33 +02:00
jonschz
5d19b6afe3
Improve UnknownMx4DPointFloat::FUN_100040a0
( #1102 )
...
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-09 12:45:48 -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
jonschz
1b46859cf6
Implement RaceSkel
, add BETA10 annotations ( #1088 )
...
* Implement `RaceSkel`, add BETA10 annotations
* fix formatting
* Fix order
* Address some review comments
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-21 22:30:27 +02:00
jonschz
e09acfcddb
Implement/match LegoCarRaceActor::VTable0x1c
( #1078 )
...
* Implement/match `LegoCarRaceActor::VTable0x1c`
* Fix formatting
* Fix LegoEdge::CWVertex()
* Fix more CI issues
* Trz to fix lvalue compile issue
* Fix formatting
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-08-04 21:13:12 +02:00
jonschz
0d385e27d0
Implement/match LegoRaceCar::VTable0x94
( #1068 )
...
* Implement LegoRaceCar::VTable0x94
* Remove redundant inline modifiers
* Fix offsets
* Fix minor inconsistency
* Address review comments
* Address review comments, round 2
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-26 10:53:09 -07:00
jonschz
afa5b90117
Implement LegoRaceCar::FUN_10012ff0()
, refactoring ( #1063 )
...
* Implement `LegoRaceCar::FUN_10012ff0()`, refactor based on BETA10
* Add BETA10 annotations
* Rename functions and variables based on BETA10 assertions
* Address issues raised by linter
* Rename variable, add BETA10 vtables
* Rename legoracecar files to legoracers
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-07 05:10:46 -07:00
Christian Semmler
bee101b1f4
Add clang-tidy readability-redundant-inline-specifier ( #1060 )
...
* Add clang-tidy readability-redundant-inline-specifier
* fix
* Update CONTRIBUTING.md
* format
* fix
2024-07-05 01:06:32 +02: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
Christian Semmler
dd1c11a933
Fix camera glitch ( #1031 )
2024-06-13 22:09:14 +02:00
Christian Semmler
9a9bccda0e
Implement/match IslePathActor::Exit ( #997 )
...
* Implement/match IslePathActor::Exit
* Name
* Name
* Partially fix vector interface
* Revert "Partially fix vector interface"
This reverts commit 6e7a1e2b08
.
* Revert "Revert "Partially fix vector interface""
This reverts commit e3860e3c9f
.
* Fix
* Remove some COMPAT_MODE
2024-06-06 17:45:37 +02:00
Christian Semmler
f380fa3b84
Implement/match LegoAnimationManager::FUN_100648f0 ( #954 )
2024-05-25 17:18:24 +02:00
Christian Semmler
02c4aad33e
Implement/match LegoAnimationManager::FUN_10064b50 ( #926 )
2024-05-17 16:05:06 +02:00
Christian Semmler
ccf33575db
Implement/match LegoPathController::FUN_10046050 ( #916 )
2024-05-13 14:39:43 +02:00
Christian Semmler
f88f7b115e
Implement/match LegoPathController::ReadBoundaries ( #908 )
...
* Implement/match LegoPathController::ReadBoundaries
* Allow spawn
2024-05-11 19:55:28 +02:00
Christian Semmler
67c9736953
Implement/match LegoAnimPresenter::FUN_1006afc0 ( #843 )
...
* Implement/match LegoAnimPresenter::FUN_1006afc0
* empty
2024-04-24 14:24:59 +02:00
Nathan M Gilbert
ada83989b1
Implement LegoPathActor::VTable0x88 ( #787 )
...
* Implement LegoPathActor::VTable0x88
* Implement FUN_1002ddc0
* Fixes and match
* refac
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-11 13:35:15 +02:00
Nathan M Gilbert
b394770864
Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140 ( #781 )
...
* Implement PathActor VTable0x80 and PathActorStruct FUN_1009a140
* Match functions, fixes
* fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-04-07 14:03:21 +02:00
Christian Semmler
749f0fa750
Remove explicit operator= definition from Mx3DPointFloat ( #760 )
2024-03-30 14:44:20 +01:00
Christian Semmler
68bb20f04f
Implement LegoCharacterManager::CreateROI ( #709 )
...
* WIP
* Create globals
* Add Read
* Name Init
* Add LegoCharacter init data
* Add define for NULL
* Use MxS8
* Add LegoCharacterLOD
* WIP CreateROI
* Fix
* WIP
* Match
* Match
* Match, implement Find
* Fix MeshBuilder
* Fix
* space
2024-03-22 18:40:19 +01:00
Christian Semmler
ba5bc46c0c
Implement/match FUN_10032620 ( #687 )
2024-03-18 15:38:02 +01:00
Christian Semmler
0a4db65b24
Implement/match Isle::Enable ( #681 )
...
* Implement/match Isle::Enable
* Fix order
2024-03-16 19:20:44 +01:00
Christian Semmler
02838d0f57
Implement LegoAnimNodeData::GetRotation ( #661 )
...
* WIP
* Improve matches
2024-03-12 18:21:58 +01:00
Christian Semmler
a93e2ae0d3
Implement/match LegoEntity::SetLocation ( #629 )
...
* Implement/match LegoEntity::SetLocation
* Remove comment
2024-03-05 20:31:57 +01:00
Christian Semmler
ec29f2633d
Improve matches in ROI classes ( #608 )
...
* Improve matches in ROI classes
* More function implementations
* Fix name
* Fix vtables
* Add annotation
2024-03-01 18:19:41 +01:00
Christian Semmler
c0a988b0fe
Implement/match LegoAnimPresenter::StartingTickle ( #601 )
...
* Implement/match LegoAnimPresenter::StartingTickle
* Fix vtable
* Fix vtable
2024-02-27 17:49:31 +01:00
Christian Semmler
b281866ea6
Implement/match LegoModelPresenter::CreateROI ( #591 )
...
* Implement/match LegoModelPresenter::CreateROI
* Match
* Use inline function
* Note about Get()
2024-02-24 17:48:16 +01:00
Anonymous Maarten
57d5949d84
Implement some Act1State functions ( #520 )
...
* Implement some Act1State functions
* ci: push fix commits to pr
* ci fix
* Show diffs generated by clang-format
* Run clang-format
* Fix naming
* re-use _countof + add parentheses
* Fix naming
* Use MxS32
* Annotate Act1State::NamedPlane::~NamedPlane
* Apply suggestions
* Read and Write Mx3DPointFloat's
* Annotations, spacing
* Add Mx3DPointFloat copy ctor, match some functions
* Fix WriteVector3
* Adding more spacing for readability
* Use MxResult as a return type for Serialize
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 02:03:52 +01:00
Anonymous Maarten
9e686e2a87
cmake+ci: run clang-tidy ( #512 )
...
* cmake+ci: run clang-tidy
* Remove DESCRIPTION from LEGO1/LegoOmni.mingw.def
* Add initial .clang-tidy and fixes
* fix file perms
* Comment out DESCRIPTION
* Remove LegoEntity::~LegoEntity and MxPresenter::~MxPresenter from mingw's LEGO1.def
* Looks like clang is allergic to the libs in the directx5 SDK
* Update .clang-tidy
* Fix typo in .clang-tidy
* Attempt to generate an action error
* Revert "Attempt to generate an action error"
This reverts commit 96c4c65fed
.
* cmake: test with -Wparentheses + optionally with -Werror
* ci: -k0 is a Ninja argument
* Use -Werror only for msys2 builds
* cmake: only emit warnings for specific warnings
* cmake: and don't do -Werror/-WX anymore
* Fix warnings
* Fix mingw warnings
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-01 21:42:10 +01:00
Anonymous Maarten
5f413165cc
Spinoff some sources to static libraries ( #484 )
...
* cmake: use imported targets for 3rd party libs
* Fix casing of skateboard.h include
* cmake: tglrl realtime viewmanager mxgeometry
* cmake: spin off some source in static libraries
* dx5 for everyone
* ci: bump actions/checkout to v4
* move LEGO1/realtime/realtimeview.cpp to lego1 because it exports symbols
* add misc library
* Add omni library
* Return of the .def's
* Remove COMPAT_CONST in MxVideoParam::MxVideoParam
* Run clang-format
* move LEGO1/realtime/realtimeview.cpp to realtime lib
* Add 3dmanager library
* Rename .def files
* Remove incorrect deps to Omni
* Remove DLL expor decls
* Remove unnecessary library dep from ROI
* Remove COMPAT_CONST
* Move 3dmanager lib before Omni
* Remove mxgeometry lib (`geom` is actually `lego/sources/geom`, which we don't have in our decomp yet)
* viewmanager has a dependency on realtime + fix mingw's def
* Remove Smacker::Smacker from lego1 link libraries
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-24 21:16:29 -05:00
MS
a19165a749
LegoWorld::LegoWorld to 100% ( #480 )
2024-01-22 16:18:46 +01:00
MS
b5a3c5feea
Enforce vtable match ( #464 )
...
* vtable enforce
* Vtable progress
* IslePathActor subclasses
* LegoState subclasses
* LegoWorld subclasses
* Presenter progress
* Remaining presenters
* All but two that need new files
* Merge into vtable branch (#3 )
* Implement MxDisplaySurface::VTable0x44 (#467 )
* Update mxdisplaysurface.cpp
* add arguments to header
* Fix glitched bitmaps
* WIP fixes
* Match
* Fix
* Changes
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Implmement PoliceState::VTable0x1c (#468 )
* Implmement PoliceState::VTable0x1c
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Implement Lego3DView::Render (#470 )
* Implement Lego3DView::Render
* use MxDouble
* Revert "use MxDouble"
This reverts commit a006b60e20
.
* Begin work on Police class (#469 )
* Begin work on Police class
* Use JukeBox::e_policeStation value
* Fixes
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
* Implement MxDisplaySurface::CreateCursorSurface (#471 )
* Update mxdisplaysurface.cpp
* Fixes
* Update legovideomanager.cpp
* Match to 100%
---------
Co-authored-by: Christian Semmler <mail@csemmler.com>
---------
Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
* Police fix
* Finish
* motocycle lower case
* Update historybook.h
* Update hospitalstate.h
* Update jetski.h
* Update legoinputmanager.h
* Update legolocomotionanimpresenter.h
* Update pizza.h
* Update act3shark.h
* Update ambulancemissionstate.h
* Update bumpbouy.h
* Update doors.h
---------
Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
2024-01-20 18:04:46 -05:00
Christian Semmler
d24f5db42f
Matrix/vector refactor ( #426 )
2024-01-12 19:34:38 -05:00