Commit graph

120 commits

Author SHA1 Message Date
Misha
6d3ce3b5cb
implement RegistrationBook::Notify (#559)
* implement RegistrationBook::Notify

* Update registrationbook.cpp

* Fixes

* Change type

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-11 17:16:10 -05:00
Christian Semmler
5bba81c0ca
Rename Infocenterstate::m_buffer to m_letters (#558)
* Rename Infocenterstate::m_buffer

* Rename function

* Fix

* Fix

* Rename function

* Rename function

* Rename function
2024-02-11 10:44:55 -05:00
Misha
5233b48c59
Implement LegoModelPresenter::ParseExtra (#557)
* Implement LegoModelPresenter::ParseExtra

* rename function according to leaked source code

* Minor improvement

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-11 15:03:56 +01:00
Christian Semmler
a29c0aca3f
Implement/match LegoOmni::Create (#556)
* Implement/match LegoOmni::Create

* Fix var

* Rename

* Fix style
2024-02-11 02:52:16 +01:00
Misha
8786a5b44a
Add JetSkiRace vtable and CaveEntity classes from LegoObjectFactory (#553)
* Add JetSkiRace vtable

* Fix vtable

* Fixes

* Update jetskirace.cpp

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-11 00:44:00 +01:00
Christian Semmler
e42e0d1ca2
Replace more magic numbers 2024-02-09 07:10:47 -05:00
Christian Semmler
c8930815c5
Add LegoGameState::Area enum (#552)
* Add area enum

* Fix

* Fix

* Fix

* empty
2024-02-10 19:17:07 +01:00
Misha
0463d48540
implement NotifyEntity (#550)
* implement NotifyEntity

* Fix/match

* Rename

* Fix style

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-10 19:02:52 +01:00
Misha
f378b2e535
implement LegoWorldPresenter::ParseExtra (#551) 2024-02-10 18:54:38 +01:00
Christian Semmler
27390e80c0
Name dialogue playlists (#549)
* Add names for dialogue playlists

* Rename remaining playlists

* Revert bogus
2024-02-10 17:51:56 +01:00
Christian Semmler
ec3bcaf9bf
Introduce and use enum for acts (#548)
* Introduce and use enum for acts

* Use enum in Helicopter

* Revert change
2024-02-10 17:37:22 +01:00
Misha
32681935ca
Partial implementation of LegoGameState::SwitchArea (#547) 2024-02-10 15:36:01 +01:00
Misha
223b07ee3d
Implement LegoModelPresenter::ReadyTickle (#546)
* Implement LegoModelPresenter::ReadyTickle

* Update legoworld.h

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-10 00:41:35 +01:00
Nathan M Gilbert
84af3e2158
Match some names/values (#545)
* Match some names/values

* Fix mingw warning as error
2024-02-10 00:40:52 +01:00
Joshua Peisach
94c4576e8d
Implement Police::HandleEndAction (#543)
* Implement Police::HandleEndAction

* Style fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-09 16:28:22 +01:00
Christian Semmler
c17ef9a805
Implement rest of Infocenter::HandleClick (#542) 2024-02-08 19:30:55 -05:00
Christian Semmler
897f9a3371
End LegoPhonemePresenter actions to prevent lockups 2024-02-06 17:53:35 -05:00
Christian Semmler
97de164a7f
Implement Infocenter::ReadyWorld (#538)
* Implement Infocenter::ReadyWorld

* Match

* Use TRUE
2024-02-07 21:23:35 +01:00
Daniel Hejduk
5e38a010dd
Removing unnecessary TODO comment in legoact2state.cpp (#539)
* Updating legoact2state.cpp

* Fixing format issues
2024-02-07 19:34:47 +01:00
Christian Semmler
a12fdadd4a
Implement/match Infocenter::StartCredits (#537)
* Implement Infocenter::StartCredits

* Match
2024-02-07 18:19:46 +01:00
Joshua Peisach
18dff31dbd
Children classes of LegoWorld's VTable0x5c (#536) 2024-02-07 12:13:20 +01:00
Misha
917485247b
implement Enable and Create in RegistrationBook (#535) 2024-02-06 19:06:32 -05:00
Christian Semmler
03423b2ffa
Implement/match Infocenter::Reset (#532)
* Implement Infocenter::Reset

* Move code

* Move function

* Fix bug

* Fix another bug
2024-02-05 12:35:26 -05:00
Joshua Peisach
0497ef13fb
Implement Police::HandleKeyPress, Enable, VTable0x64 (#529)
* Implement Police::HandleKeyPress, Enable, VTable0x64

* fix return type

* Style

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-04 23:40:51 +01:00
Christian Semmler
b4c9d78eb4
Minor fixes 2024-02-04 12:44:51 -05:00
Christian Semmler
434deecee4
Implement/match remaining LegoWorld functions (#526)
* Implement/match remaining LegoWorld functions

* Move functions

* Move function

* Fix function location

* Fix function return type
2024-02-04 18:33:37 +01:00
Daniel Hejduk
d324fd664a
Implementing RegistrationBook::RegistrationBook() and removing this-> from Gasstation.cpp (#508)
* Implementing RegistrationBook::RegistrationBook()

* Update registrationbook.h

* Update registrationbook.h

* Removing this keyword

* TESTING: fixing the format errors

* Update registrationbook.cpp

* Update registrationbook.h

* Update registrationbook.h

* Update registrationbook.h

* Update registrationbook.h

* TEST fixing format errors

* Update registrationbook.h

* Update registrationbook.h

* Removing this-> from gasstation.cpp

* Fix outstanding issues, match function

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-04 16:36:47 +01:00
Joshua Peisach
724cdeb86f
Implement Police::Notify (#524)
* Implement Police::Notify

* Fix HandleKeyPress

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 22:30:00 +01:00
Misha
83e116defc
push changes (#522) 2024-02-03 07:38:57 -05:00
Misha
2158142b08
Implement LegoSoundManager (#521)
* push code

* begin work on subclass

* fixes

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-03 02:16:57 +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
Christian Semmler
6653533b1f
Hotfix Laura selected 2024-02-02 16:58:33 -05:00
Misha
0c47ed5056
Implement more infocenter methods (#519)
* push changes

* format fix

* Update legogamestate.cpp

* Update legogamestate.cpp

* Fixes

* Match Infocenter::Create

* Style

* Fix InfocenterDoor::HandleClick

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-02 22:32:50 +01:00
Christian Semmler
a28113a26f
Fix/match MxBackgroundAudioManager::FUN_1007ef40 (#518)
* Fix

* Match
2024-02-02 21:00:44 +01:00
Christian Semmler
b7e274f902
Implement LegoState::Playlist (#517) 2024-02-02 20:09:45 +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
Christian Semmler
a7acf8c607
Implement/match InfocenterState::InfocenterState (#515)
* Implement LegoState::Shuffle

* Remove unused params

* Move ctor

* Asm generate hotfix

---------

Co-authored-by: MS <disinvite@users.noreply.github.com>
2024-02-02 00:08:56 +01:00
Christian Semmler
17252b95f4
Implement Infocenter::HandleNotification0 (#514)
* Implement Infocenter::HandleNotification0

* Match

* Match

* Match

* Match

* Braces

* Add enum constants
2024-02-01 21:56:27 +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 96c4c65fedbc4102837f4bcbbb9ee83a7d14cba3.

* 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
MS
97d1ba7c71
MxTransitionManager corrections (#513) 2024-01-31 23:39:50 +01:00
Misha
9e0b19856c
Implement various infocenter functions (#510)
* Implement various infocenter methods

* fix order

* Update infocenter.cpp

* Update infocenter.cpp

* Update infocenter.cpp

* Update mxcontrolpresenter.cpp

* Rename stuff for consistency

* Add StateStruct to InfocenterState

* Resolve some TODO

* Use MxRect32

* Improve match

* Match Infocenter::UpdateFrameHot

* Fix VTable0x64

* WIP Match

* Match

* Cleanup

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-31 15:47:15 +01:00
Misha
bad32149ca
implement LegoGameState::StopPreviousAction (#511)
* implement RemoveFromWorld

* fix unloading

* Rename stuff, add default arg

* Rename functions

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-31 13:34:36 +01:00
Christian Semmler
cdf76754f7
Implement/match Radio, RadioState (#509)
* WIP RadioState

* WIP

* WIP

* Implement/match Radio/RadioState

* Fix naming

* Use sizeof
2024-01-30 19:57:20 +01:00
Misha
743e042564
Finish MxControlPresenter (#505)
* Push changes

* fix order

* use MxBitmap::Start

* Fixes/changes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-29 23:46:22 +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
35def3013a
Fix various state classes/missing annotations (#503) 2024-01-29 19:54:47 +01:00
Christian Semmler
96234ddc23
Implement/match MxStillPresenter::Clone (#502)
* Implement/match MxStillPresenter::Clone

* Fix
2024-01-29 11:29:12 -05:00
Misha
445084f4b0
Implement LegoOmni::DeleteObject (#501)
* Push changes

* fixes

* Match

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 23:10:04 +01:00
Misha
4314d3e297
Implement LegoControlManager (#500)
* Push changes

* Update score.cpp

* fix

* Update score.h

* Fixes/matches

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 22:09:33 +01:00
Nathan M Gilbert
c0acf11f9b
Implement/Match LegoTree (#485)
* Implement/Match LegoTree

* Fix vtable

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-28 17:45:49 +01:00