Commit Graph

56 Commits

Author SHA1 Message Date
MS
b1dcc26d79 Beta functions for MxVariable (#1645)
* Beta match MxVariable classes

* CustomizeAnimFileVariable
2025-07-20 23:08:26 -04:00
Fabian Neundorf
9e860d910c Name spawn areas (#1636) 2025-07-19 07:29:34 -07:00
jonschz
edae5f58ec Remove getters/setters that (likely) don't exist (#1583)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-06-23 20:58:16 +02:00
jonschz
16db496832 Match LegoGameState::History::WriteScoreHistory(), clear unknowns (#1576)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-06-22 08:22:25 +02:00
Fabian Neundorf
16ccb0e06e Name locations after exiting buildings/vehicles (#1564)
* Hospital
* Infocenter
* Garage
* Police
* Jetski Build
* Racecar Build
* Any vehicle
2025-06-15 19:31:19 +02:00
Florian Kaiser
5fd5a4cec0 Clear unknowns in LegoROI and related classes (#1457)
* Clear unknowns in LegoROI and related classes

* Update names

* Consistently naming: `GetTextureInfo`

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-09 18:13:19 +02:00
jonschz
777dfa82ec Match Infocenter::HandleControl (#1386)
* Add BETA10 references

* Refactor non-existent getters

* Infocenter::HandleControl maybe down to entropy

* Rename variable

* More refactoring

* Refactor public variable

* 100 %

* Fix clang-format

* Fix clang-format

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-02-18 01:12:51 +01:00
Christian Semmler
347da7d555 Match Infocenter::HandleButtonUp (#1383) 2025-02-11 23:23:20 +01:00
jonschz
bc0344a8c4 Match Jetski::HandleClick (#1380)
* Match `Jetski::HandleClick`

* Formatting

* Clean up, document, add BETA10 references

* Fix formatting

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-02 15:44:00 +01:00
jonschz
82f2e2e755 Match HistoryBook::ReadyWorld() (#1373)
* Some progress on HistoryBook::ReadyWorld

* Refactor getter

* 48 %

* 49 %

* 53 %

* Improve BETA10 stack, LEGO1 now at 91

* variable number match on BETA10, 91 % on LEGO1

* Cleanup

* Match

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-01-25 00:09:04 +01:00
MS
038ec6b2ec Some improvements to LegoGameState (#1353)
* Beta match ReadVariable and WriteVariable

* Change param type for GetFileSavePath

* Remove copy constructor for LegoGameState::Username
2025-01-19 13:34:06 -07:00
Christian Semmler
fc03e7a682 Improve order until legomain.cpp (#1350)
* Fix `LegoBackgroundColor` order

* Order

* Improve order in Act3Actors

* Improve order

* Add BETA annotation

* Order more

* More order

* More order

* Order

* Match/order

* Remove blank line

* Modern compiler fix

* vtable annotation
2025-01-17 18:33:27 -07:00
Christian Semmler
e1ce96c473 Order symbols until end of LegoGameState (#1340)
* Order `Ambulance`

* More ordering

* Order until `LegoGameState`

* Move
2025-01-17 03:42:38 +01:00
Christian Semmler
70b0f76fa1 Move Read/Write functions to LegoStorage base class, match Act1State::Serialize (#1335)
* Move Read/Write function to LegoStorage base class

* Proper const use for vector / BETA match

* Match `Act1State::Serialize`
2025-01-17 00:13:23 +01:00
Christian Semmler
77a3dc0795 Match Serialize functions to BETA10 (#1334)
* Begin refactor Serialize functions

* Match more Serialize functions

* Match `LegoVehicleBuildState::Serialize`

* Match `LegoGameState::Username::Serialize`

* Match `LegoGameState::ScoreItem::Serialize`

* Match `LegoGameState::History::Serialize`

* Var name

* Var name

* Revert "Var name"

This reverts commit 1c0cccfba7.

* Add other Serialize implementations

* Add remaining Serialize implementations

* Add Read for char*

* Improvements
2025-01-16 00:52:29 +01:00
Christian Semmler
d6796ad86a Implement remaining LegoGameState functions (#1172)
* Implement remaining LegoGameState functions

* Naming fixes

* Fix naming
2024-11-27 23:42:05 +01:00
Christian Semmler
40159b43c7 Implement/match HistoryBook::~HistoryBook (#1139) 2024-11-10 17:07:48 +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
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
73bb37596e Refactor JukeBox, add enum for music (#988)
* Refactor JukeBox, add enum for music

* add BETA annotation

* Fix BETA annotation

* Fix BETA annotation

* Fix
2024-06-03 13:00:38 +02:00
Christian Semmler
172db7b5d8 Implement/match LegoAnimationManager::FUN_10062710 (#897) 2024-05-09 22:32:06 +02:00
Christian Semmler
51adf75b9b (Refactor) Use more forward declarations (#881)
* Use more forward declarations

* Use more forward declarations

* Add more forward declarations

* Fix
2024-05-03 18:19:12 +02:00
Christian Semmler
72cbd1fc60 Refactor LegoOmni::PathContainer into IslePathActor::SpawnLocation (#877)
* Refactor LegoOmni::PathContainer into IslePathActor::SpawnLocation

* Add beta annotation

* Type var
2024-05-02 16:51:41 +02:00
Christian Semmler
180a1e6360 Define LegoEntity::Type enum (#854)
* Define LegoEntity::Type enum

* Use enum constant
2024-04-26 16:03:13 +02:00
Joshua Peisach
3f6f59852f Ambulance::Create, dtor (#719)
* Ambulance::Create, dtor

* annotations

* fix

* remove comment

---------

Co-authored-by: Ramen2X <rmn@legoisland.org>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-24 22:28:44 +01:00
Nathan M Gilbert
fca8f74bd8 Fix Annotations and LegoAnimActor class structure. (#710)
* Fix size annotations for legoomni
Fix structure and add placeholder annotations for LegoAnimActor and subclasses

* Fix LegoCarRaceActor constructor
Fix function name in LegoRaceCar

* Add size assertions for legoomni and fix sizes

* Various style fixes

* Use other marker so vtable.py doesn't compare

* Revert "Use other marker so vtable.py doesn't compare"

This reverts commit 608985cd73.

* Fix copy/paste error

* Remove stale comment.

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-22 21:30:58 -04:00
Ramen2X
2477b89e32 add actions forward decl header (#699)
* add actions forward decl header

* newline

* format

* remove existing fwd declares

* Headers

* replace COMPAT_MODE check

* flip

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:54:13 -04:00
Misha
e454e56b52 Implement a few RegistrationBook functions (#693)
* Implement a few RegistrationBook functions

* Match functions

* minor style

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-19 15:15:24 +01:00
Christian Semmler
52d74647be Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction (#691)
* WIP

* Match
2024-03-18 15:00:58 -04:00
Christian Semmler
d96679ea9e Implement/match Isle::HandleClick (#690)
* Isle::HandleClick

* WIP

* Match
2024-03-18 17:31:22 +01:00
Christian Semmler
ba5bc46c0c Implement/match FUN_10032620 (#687) 2024-03-18 15:38:02 +01:00
Christian Semmler
5b8f515968 Implement/match Isle::HandleTransitionEnd (#683)
* Implement/match Isle::HandleTransitionEnd

* Rename enums

* Forward declare enum for C++11+

* Add underlying storage to action headers

* Fix missing define
2024-03-17 18:01:47 +01:00
Christian Semmler
0a4db65b24 Implement/match Isle::Enable (#681)
* Implement/match Isle::Enable

* Fix order
2024-03-16 19:20:44 +01:00
Ramen2X
6cd5ffcf1a implement RegistrationBook::ReadyWorld(), impl/match MxDisplaySurface::CopySurface() (#678)
* implement RegistrationBook::ReadyWorld()

* don't fix the size of letterBuffer

* Fix crash in MxStillPresenter::Clone

* Implement MxDisplaySurface::CopySurface

100% match

* improve accuracy

* invert HasRegistered check

* fix legogamestate structure, documentation tweaks

* this might be cleaner actually

* Update mxdisplaysurface.cpp

* Update legogamestate.h

* don't hardcode action ids in VTable0x64

* Match ~98%

---------

Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 02:32:06 +01:00
Ramen2X
beb30e80ea slight style tweaks to legogamestate and related members (#666) 2024-03-13 13:17:20 -04:00
Christian Semmler
f6e44b1c1b Implement LegoROI::Read and geom library (#627)
* Implement LegoROI::Read and geom library

* Match

* Match

* Fixes

* Fix
2024-03-05 18:38:53 +01:00
Nathan M Gilbert
0e7823cedd LegoGameState player functions (#603)
* LegoGameState player functions

* Style

* use sizeof

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-28 21:03:27 +01:00
Nathan M Gilbert
4d84157888 Implement Save, Load, DeleteState (#602)
* Implement Save, Load, DeleteState

* WIP

* WIP

* Match LegoGameState::Save

* Spacing

* Match LegoGameState::DeleteState()

* More match

* Match

* Move vars

* Other fixes

* Rename

* Fix error

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-27 21:04:17 +01:00
Nathan M Gilbert
124b73046b Continued work on LegoGameState (#596)
* Continued work on LegoGameState

* Fixes/matches/refactor

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-26 17:19:16 +01:00
Nathan M Gilbert
13fc4e3285 LegoGameState::SwitchArea (#590) 2024-02-24 14:55:00 +01:00
Christian Semmler
6b1c75ab5a Refactor LegoContainer (#587)
* Refactor LegoContainer

* Fix name

* Fix build

* Refactor some includes

* Update STL compat

* Fix

* Fix annotations
2024-02-23 16:06:16 +01:00
Nathan M Gilbert
cc1bc148d0 Implement HistoryBook::ReadyWorld (#579)
* Implement HistoryBook::ReadyWorld

* Fix names and annotations

* WIP improvements

* Remove unnecessary padding/pack

* Remove packing

* Style

* Use countof

* Fix signed

* Fixes

* Remove duplicate annotation

* Rename

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-19 15:24:30 +01:00
Nathan M Gilbert
271df035fd Implement/Match JukeboxEntity (#562)
* Implement/Match JukeboxEntity

* Style/naming

* Style/naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-02-14 17:48:39 +01:00
Christian Semmler
c8930815c5 Add LegoGameState::Area enum (#552)
* Add area enum

* Fix

* Fix

* Fix

* empty
2024-02-10 19:17:07 +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
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
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
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
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