Commit Graph

35 Commits

Author SHA1 Message Date
Fabian Neundorf
7f10f7ae14 Clear unknown in ModelDbModel (#1586) 2025-06-23 14:34:02 -07:00
Florian Kaiser
06af7d25c6 Rename g_wdbOffset to g_wdbSkipGlobalPartsOffset for clarity (#1547) 2025-06-08 08:04:06 -07:00
Anonymous Maarten
2915aa014f Use sizeof(type) instead of sizeof(variableName) when (de)serializing data (#1505)
* Use sizeof(type) instead of sizeof(variableName) when (de)serializing data

* Less usage of sizeof(variableName) while (de)serializing
2025-05-18 22:56:28 +02:00
Florian Kaiser
a3d773f629 Rename functions in LegoWorldPresenter : FUN_10067360 to LoadWorldPart and FUN_100674b0 to LoadWorldModel. Update m_unk0x50 to m_maxObjectId. (#1460) 2025-05-09 21:23:02 +02:00
Florian Kaiser
711134b3b8 Replace m_unk0x04 and m_unk0x08 with m_modelDataLength and m_modelDataOffset (#1456) 2025-05-09 07:35:11 -07:00
Christian Semmler
bcc41256f8 Add LegoOmni::World enum (#1252) 2024-12-21 18:08:55 +01:00
Christian Semmler
cfa3769abf Use macros for Seek modes (#1235)
* Use macros for `Seek` modes

* Fix syntax

* Use `OF_READ`

* Add names to skip.yml

* Revert "Add names to skip.yml"

This reverts commit 28b6f577dc.
2024-12-16 22:13:52 +01:00
MS
9555aaba74 Remove USHRT_MAX from ParseExtra functions (#1086) 2024-08-17 08:56:25 -07: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
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
eeb81b7223 Use USHRT_MAX instead of MAXWORD (#975) 2024-05-30 22:02:58 +02:00
Christian Semmler
1b1d2ecde6 Refactor LegoOmni into LegoMain/Scripts (#883)
* Refactor LegoOmni into LegoMain/Scripts

* Fix guard
2024-05-04 14:06:32 +02:00
Christian Semmler
f1688be263 Make NotificationManager::Send take a const reference to notification (#836)
* Make NotificationManager::Send take a const reference to notification

* Fix virtual func
2024-04-22 14:11:38 +02: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
Nathan M Gilbert
d07d7edc81 Implement methods to load dta files. (#673)
* Implement methods to load dta files.

* fix style issues

* fix vtables

* fix more style issues

* fix ddtor names

* Remove explicit padding, add annotations, asserts

* Use List template

* trigger CI

* Fix class refactor

* Match code, fix annotations

* Fix

* 98% match

* Fix

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 01:43:45 +01:00
MS
e3d7188ec9 Use AUTOLOCK macro (#660)
* Use AUTOLOCK macro

* MxAutoLock

* Remove semicolon

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2024-03-12 15:23:50 +01:00
Christian Semmler
8069923651 Refactor files based on beta debug build (#645)
* Rename LegoUnkSaveDataWriter -> LegoCharacterManager

* Refactor mxomni into mxomni/mxmisc

* Refactor legoomni into legoomni/misc

* Resolve deps

* Refactor atom

* Refactor mxutil

* Refactor mxio

* Rename/relocate files

* Fix format
2024-03-09 21:07:52 +01:00
Christian Semmler
6fa4a0dbec Implement/match LegoPartPresenter::Store (#643) 2024-03-09 19:03:21 +01:00
Christian Semmler
9e2f37e7ca Implement LegoTexturePresenter::Read and Store (#641)
* LegoTexturePresenter::Read

* Implement LegoTexturePresenter::Store

* Rename

* Fix naming
2024-03-09 16:49:13 +01:00
Christian Semmler
c9210c02fb Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0 (#625)
* Bootstrap LegoLOD, implement/match ViewManager::FUN_100a66a0

* Fixes

* Try fix

* Try this

* Fix
2024-03-04 22:57:35 +01:00
Misha
c2a46b058b implement various LegoWorldPresenter functions (#621)
* implement LegoWorldPresenterFunctions

* fix typo

* Fixes/match

* Fix

* Match

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-03 20:34:55 -05:00
Christian Semmler
01f07a323c Implement ModelDb (WDB reader/parser) (#619)
* WIP Read WDB

* Fixes

* WIP

* WIP

* WIP

* WIP

* Match

* Match

* Fix Compare

* Rename member
2024-03-03 21:35:56 +01:00
Christian Semmler
fb6eed9bff Match StartAction functions, remove NextFragment (#610) 2024-03-01 19:07:07 +01:00
Christian Semmler
49d6c88912 Match ParseExtra functions (#605)
* Match ParseExtra functions

* Match MxStillPresenter::ParseExtra

* Match remaining ParseExtra functions
2024-02-29 19:15:20 +01:00
Christian Semmler
b47412183b Implement/match LegoOmni::GetScriptIndex (#571)
* Implement/match LegoOmni::GetScriptIndex

* Fix type

* Fix
2024-02-17 02:10:42 +01:00
Misha
f378b2e535 implement LegoWorldPresenter::ParseExtra (#551) 2024-02-10 18:54:38 +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
b6aac26269 Implement LegoWorld::Find (#489)
* Implement LegoWorld::FUN_100213a0

* Rename lists

* Rename cursors

* Rename cursor

* Rename functions

* Remove a comment

* Rename more functions

* Fix return type
2024-01-26 22:00:02 +01:00
Misha
c0af1dbac4 implement LegoOmni::FUN_1005b4f0 (#450)
* push changes

* push changes

* fixes

* Changes

* Use proper values

* Name vtable function

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-17 21:48:48 +01:00
Misha
f50b771fff begin implementation of InfoCenter class (#444)
* Push changes

* fixes

* Implement Infocenter::HandleEndAction

* match Infocenter::StopCutScene

* implement Infocenter::HandleKeyPress

* fixes

* Update infocenter.cpp

* Update legoworld.cpp

* use enums

* WIP Fixes

* Fix

* Fix

* Fix

* Rename function

* Change enum

* Update enums

* Refactor another enum

* Refactor MxDSType

* Refactor HashTableOpt

* Fixes

* Refactor tickle enum

* Update other enums

* Add EnumConstantName to ncc

* Move enum to global namespace

* Rename enum

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-17 17:53:53 +01:00
Misha
6df310bb66 Implement LegoWorldPresenter::VTable0x60 (#442)
* LegoWorldPresenter::VTable0x60

* Update infocenter.cpp

* Minor adjustments

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-15 21:17:54 +01:00
Christian Semmler
dd72bcc666 Use names from 1996 sources (#437) 2024-01-14 22:49:11 +01:00
Misha
3c0bf7191c implement LegoWorldPresenter deconstructor (#425)
* Implement LegoWorldPresenter::~LegoWorldPresenter

* Rename incorrect function name

* fixes

* Rename functions

* fix format
2024-01-12 23:27:07 +01:00
Christian Semmler
516e16faf6 Further clean up Omni/LegoOmni separation (#423)
* Fix inline functions

* Whitespace

* Try this

* Fix MxEntity

* Further fixes

* Move main out

* Replace tickle code
2024-01-11 16:02:55 +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