Commit Graph

41 Commits

Author SHA1 Message Date
Fabian Neundorf
190c040c96 Clear unknowns in LegoWorld (#1674) 2025-08-25 15:13:10 -04:00
Fabian Neundorf
f381d692d0 Clear unknowns in Act3List and Act3ListElement (#1666) 2025-08-04 20:52:19 +02:00
Fabian Neundorf
67695b5233 Clear unknowns in Act3State (#1665) 2025-08-03 19:17:17 -07:00
jonschz
657720c825 Match Act3List::FUN_100720d0 (#1622) 2025-07-13 16:50:20 +02:00
jonschz
ac46537599 Interpret Act3List properties, minor fixes (#1619)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-07-12 17:05:29 +02:00
Korbo
f0df3cd0ef Clear a few unknowns in act 3 (#1597)
* Clear a few unknowns in act 3

* fix build error

* fix other build error

* requested changes
2025-06-30 12:20:53 -07:00
Christian Semmler
5e5b048b34 Match Act3::DebugCopter (#1392)
* Match `Act3::DebugCopter`

* Rename param
2025-02-21 23:50:38 +01:00
Christian Semmler
5a7df7f95d Order until LegoCarBuildAnimPresenter (#1365)
* Order until `Infocenter`

* Order until RaceSkel

* More order

* Order until `LegoCarBuildAnimPresenter`

* Add blank line

* Add BETA annotation
2025-01-21 01:31:28 +01:00
Christian Semmler
7c452e9453 Order functions in binary up to end of Act2Actor (#1312)
* Order more functions

* Order LegoRaceActor

* Further ordering

* Order `Act2Actor`

* Fix
2025-01-05 21:00:50 +01:00
Christian Semmler
c54805fde8 Order functions in binary up to the end of Helicopter; refactor vector/matrix classes (#1309)
* Order experimentation

* Revert IslePathActor

* Fix order

* Fix inlining

* Fixes

* WIP

* WIP

* Refactor

* Refactor

* Fix operators

* Remove obsolete inline keyword

* Fix ctors

* Refactor

* Rename files

* Refactor

* Remove empty line
2025-01-04 15:07:04 -07:00
jonschz
3e6d789324 Add all BETA10 ClassName() functions and vtables (#1258)
* Add all BETA10 `ClassName()` functions and vtables

* Run formatter, fix copy error

* Fix copy error

* Add BETA10 library functions

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-22 08:13:34 -07:00
Christian Semmler
cb38cf7673 Implement/match Act3Brickster::FUN_100417c0 (#1240)
* Implement/match `Act3Brickster::FUN_100417c0`

* Move function

* Rename var

* Revert "Rename var"

This reverts commit c9ca75ae7f.
2024-12-19 20:22:34 +01:00
Christian Semmler
66e3c9a2e1 Implement/match Act3Brickster::Animate (#1237)
* Implement/match `Act3Brickster::Animate`

* Improve loop
2024-12-17 19:11:47 +01:00
jonschz
ace2a9f047 Add g_copDest (#1229)
* Implement `AddCop` and `g_copDest`

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 05:50:52 -07:00
Christian Semmler
2d74f14de0 Implement/match Act3::FUN_10072ad0 (#1228)
* Implement `Act3::FUN_10072ad0`

* Improve match

* Improve match

* Match
2024-12-14 14:30:21 -07:00
Christian Semmler
1aeb458be1 Implement/match Act3Ammo::Animate (#1221)
* Implement/match `Act3Ammo::Animate`

* Match

* Rename

* Rename

* Rename
2024-12-13 22:56:26 +01:00
Christian Semmler
263d7d1e4f Implement/match Act3::GoodEnding (#1218) 2024-12-13 18:49:45 +01:00
Christian Semmler
aceba71fbb Implement/match Act3Brickster::HitActor (#1212)
* Implement/match `Act3Brickster::HitActor`

* Fixes

* Fixes

* Fixes

* Add `Act3Cop::VTable0x9c`

* Fix
2024-12-12 17:10:44 +01:00
Christian Semmler
fe57a94416 Implement/match Act3Brickster::ParseAction (#1211) 2024-12-12 16:06:15 +01:00
MS
c05ff6ff4a Act3Cop::VTable0x94 and related (#1209)
* Act3Cop::VTable0x94 and related

* No need to include

* Cast LegoWorld* to Act3*
2024-12-11 22:20:21 +01:00
Christian Semmler
ac19539d0f Implement/match Act3Shark functions (#1208)
* Implement/match `Act3Shark` functions

* Naming
2024-12-11 21:13:34 +01:00
MS
6d9fa3ed7f Act3List Insert() and Clear() (#1206)
* Act3List Insert() and Clear()

* Fix Act3ListElement constructors
2024-12-11 18:01:55 +01:00
Christian Semmler
c2ee761f81 Implement/match Act3::ShootPizza and Act3::ShootDonut (#1203)
* Implement/match `Act3::LaunchPizza` and `Act3::LaunchDonut`

* Match Helicopter::HandleControl

* Rename

* Adjust total function count

* Rename
2024-12-09 23:41:51 +01:00
Christian Semmler
d9b9178d27 Implement/match Act3::Notify (#1200)
* Implement/match Act3::Notify

* Fix typo
2024-12-08 20:52:32 +01:00
Christian Semmler
564fb7f7c0 Implement/match Act3::Enable (#1198)
* Implement Act3::Enable

* Match

* Change back to private

* Remove unused function
2024-12-08 19:39:03 +01:00
Christian Semmler
1aff40dd94 Implement/match several functions in Act3, refactor (#1197)
* Implement/match several functions in Act3, refactor

* Fix naming

* Rename

* Add comment

* Add annotation

* Add BETA assert
2024-12-08 18:00:57 +01:00
Christian Semmler
97fb6e4f15 Add Act3Ammo, match Act3::Act3 (#1196)
* Implement `Act3Ammo`, match `Act3::Act3`

* Move

* Fix match
2024-12-07 11:57:59 -07:00
Christian Semmler
e8e457f01a Implement/match LegoAct2::Enable (#1178) 2024-11-29 22:32:40 +01: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
Christian Semmler
133a312aee Consolidate state and building entity classes (#989) 2024-06-03 18:53:25 +02:00
Christian Semmler
b759390060 Implement/match Isle::Escape (#950) 2024-05-25 02:41:57 +02:00
Joshua Peisach
87f633af54 InfoCenterEntity::VTable0x50 implementation (#725)
* Start InfoCenterEntity::VTable0x50 implementation

* Fully implement InfoCenterEntity::VTable0x50

* Fix function name typo

* match

* fix style

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-29 19:09:53 +01:00
Nathan M Gilbert
8b21e8136e Animmanager (#712)
* Implement LegoAnimationManager::StartEntityAction
Fix some class definitions

* Fix style issues

* Add size annotations

* Fix global pointer

* Style/naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-23 15:09:20 +01:00
Christian Semmler
558bda4dd2 Implement LegoWorld::Enable (#516)
* WIP VTable0x68

* Improve match

* Match

* Fix

* Fix

* Move vars

* Match

* Add call to Isle

* Rename functions

* Fix style
2024-02-02 18:18:46 +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
Christian Semmler
bcdddd4c7e Pad all single-digit hexadecimal values with zero (#504)
* Pad all single-digit hexadecimal values with zero

* One more fix
2024-01-29 22:17:17 +01:00
Christian Semmler
19c771b85d Implement/match LegoWorld::PresentersPending (#494)
* Implement/match LegoWorld::PresentersPending

* Rename functions
2024-01-27 21:18:35 +01:00
Christian Semmler
fadf8e7fd5 Move some functions from LegoWorld to Act3 (#493) 2024-01-27 18:15:14 +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
MS
909c44b679 reccmp: vtable comparison (#452)
* Add vtable comparison to reccmp

* Add missing scalar deleting destructors

* Fix some vtables

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 14:34:14 +01:00
Christian Semmler
c47206617d Reorganize sources and files (#414)
* Reorganize sources

* Refactor

* Remove relative paths

* Renames

* Fix gitignore

* Remove stuff

* Try fixing format script

* Fix format

* Fix format

* Fix naming script

* Test format

* Fix format
2024-01-08 10:58:49 +01:00