Commit Graph

470 Commits

Author SHA1 Message Date
Christian Semmler
9ebeda5c0e
Add Max LOD and Max Allowed Extras configs (#273)
* Add new config options

* Fix defaults

* Use global for `m_maxAllowedExtras`

* Revert
2025-06-10 01:08:13 +00:00
Christian Semmler
0a1516fbd9
Merge remote-tracking branch 'isle/master' 2025-06-09 16:17:50 -07:00
Christian Semmler
8cdc8fbc05
Name LegoAnimationManager::m_unk0x41c (#1550) 2025-06-10 01:17:34 +02:00
Christian Semmler
fae0416716
Merge remote-tracking branch 'isle/master' 2025-06-09 13:04:34 -07:00
Florian Kaiser
36c1093c88
Clear unknowns in LegoPathBoundary, LegoWEEdge, LegoWEGEdge and LegoPathController (#1546) 2025-06-08 11:04:58 -07:00
Fabian Neundorf
7471852e9d
Named unknown function in LegoTextureInfo (#1544) 2025-06-07 18:04:55 +02:00
Christian Semmler
8acfdd8ccb
Merge remote-tracking branch 'isle/master' 2025-06-06 14:23:19 -07:00
Fabian Neundorf
ac4d3b2490
Name for bounding box in ROI (#1541)
* Name for bounding box in ROI

* Use snake_case for member
2025-06-06 11:47:45 -07:00
Christian Semmler
8e55368615
Fix image serialization bugs (#238) 2025-06-05 02:20:53 +02:00
Christian Semmler
0b8a7a758d
Merge remote-tracking branch 'isle/master' 2025-06-04 14:31:13 -07:00
Fabian Neundorf
d272054d5a
Clear unknowns in legocharactermanager (#1539) 2025-06-04 23:29:41 +02:00
Fabian Neundorf
d7d3a47cd2
Add names to LegoActorInfo.Part (#1538)
Each part consists of two "blocks" where every block has a list of
indices which reference into a list of names and the actual index used
for the list of indices.

By doing that, it is possible to reuse the list of name for every actor
and instead have a "sublist" through the indices list.
2025-06-03 18:11:01 -07:00
Fabian Neundorf
b4fb9f3a15
Better name for LegoActorLOD's flags (#1537) 2025-06-02 14:21:12 -07:00
Christian Semmler
215c3f1480
Merge branch 'master' of github.com:isledecomp/isle-portable 2025-06-01 10:21:49 -07:00
Christian Semmler
18c9a87953
Fix saving game states (#215) 2025-06-01 19:21:42 +02:00
Christian Semmler
ac6ec7afbb
Merge remote-tracking branch 'isle/master' 2025-06-01 10:19:20 -07:00
Christian Semmler
f48dd8c912
Update legogamestate.cpp (#1535) 2025-06-01 18:46:14 +02:00
Christian Semmler
3eba4fce12
Merge remote-tracking branch 'isle/master' 2025-05-30 17:33:33 -07:00
Anonymous Maarten
ac971f8c15
Assertion in MxTransitionManager::StartTransition is beta10-only (#1534)
This fixes an assertion error when:
1. Start the game
2  Skip intro (probably optional)
3. Turn left to the elevator room
4. Enter the elevator
5. Press the (I) button
2025-05-31 02:33:28 +02:00
Christian Semmler
63a0be90a5
Merge remote-tracking branch 'isle/master' 2025-05-30 12:43:47 -07:00
Fabian Neundorf
d0f4725f0f
Fill in unknown color string descriptions (#1531) 2025-05-30 21:12:49 +02:00
Anonymous Maarten
364844d6d0
Use SDL_rand/SDL_randf (#203) 2025-05-30 19:01:01 +00:00
Christian Semmler
a1ec97ac6e
Merge remote-tracking branch 'isle/master' 2025-05-29 08:50:07 -07:00
Anders Jenbo
211d409992
Apply RAND_MAX to legoanimationmanager.cpp (#1528) 2025-05-29 06:52:15 -07:00
Anonymous Maarten
ea7cac8359
legoanimationmanager: use delete[] (#191) 2025-05-28 18:28:50 -07:00
Anonymous Maarten
45890eec94
legoanimationmanager: use delete[] (#1526) 2025-05-28 18:28:30 -07:00
Christian Semmler
def1cf8a12
Fix missing filesystem map (#190) 2025-05-28 18:20:00 -07:00
Christian Semmler
70633de3f6 Merge remote-tracking branch 'isle/master' into mergeii 2025-05-26 09:49:34 -07:00
Christian Semmler
04b669cf96
Fix type cast in MxControlPresenter::FUN_10044270 (#1522) 2025-05-26 18:45:06 +02:00
Florian Kaiser
804632b13f
Refactor LegoUnknown100db7f4 to LegoOrientedEdge (#1515)
* Refactor `LegoUnknown100db7f4` to `LegoOrientedEdge`

* Update LEGO1/lego/sources/geom/legoorientededge.h

* Update legopathcontroller.h

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-24 23:09:24 -07:00
Christian Semmler
a75e3a4377
Merge remote-tracking branch 'isle/master' 2025-05-23 09:34:57 -07:00
Erik Schulze
eb1177b409
rename functions and parameters in OrientableROI (#1512) 2025-05-21 20:13:28 -07:00
Anonymous Maarten
0b778de731
Let LegoStorage know of memory size (#129) 2025-05-20 02:18:11 +02:00
Anders Jenbo
70536c50bd
Fix remaning UBSAN issues (#115) 2025-05-19 19:02:24 +02:00
Christian Semmler
3023b8a663 Merge remote-tracking branch 'isle/master' into mergei 2025-05-18 14:04:10 -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
Christian Semmler
80f5e15cbf
Merge remote-tracking branch 'isle/master' 2025-05-18 09:24:02 -07:00
Anders Jenbo
c9b41e2db8
Fix delete in legoanimmmpresenter.cpp (#1504) 2025-05-17 19:09:44 -07:00
Christian Semmler
c8b1e507c7
Merge remote-tracking branch 'isle/master' 2025-05-17 16:20:08 -07:00
Anders Jenbo
2d92aee589
Correct delete[] in mxcontrolpresenter.cpp (#1498) 2025-05-17 13:24:06 -07:00
Anders Jenbo
96c962f857
Additional strict type checking in DirectX implementation (#91) 2025-05-15 23:18:21 +02:00
Christian Semmler
68f209b18c
Merge remote-tracking branch 'isle/master' 2025-05-14 22:11:52 -07:00
Anders Jenbo
ad5ccd4e8b
Enums in mxtransitionmanager.cpp (#1491) 2025-05-14 22:03:33 -07:00
Anders Jenbo
f99da0cea7
Correct enums in legotextureinfo.cpp (#1489) 2025-05-14 22:02:35 -07:00
Christian Semmler
7fa7643bfb
Merge remote-tracking branch 'isle/master' 2025-05-14 17:01:20 -07:00
Anders Jenbo
dbbf373748
Correct dwCaps bit flags (#1487)
* Correct dwCaps bit flags

* Update legotextureinfo.cpp
2025-05-15 02:01:10 +02:00
Christian Semmler
aec7426665
Merge remote-tracking branch 'isle/master' 2025-05-14 16:40:05 -07:00
Anders Jenbo
fce97ea06f
Correct check for lighting support (#1486) 2025-05-15 01:39:55 +02:00
Ramen2X
2b3e7176d3
make all calls to winapi format-agnostic (#1470) 2025-05-11 15:03:32 -04:00
Christian Semmler
d9dac02db5
Merge remote-tracking branch 'isle/master' 2025-05-11 08:31:25 -07:00
Florian Kaiser
c59343c220
Rename m_unk0x64 to m_world in LegoAnimMMPresenter (#1461) 2025-05-09 20:55:22 +02:00
Florian Kaiser
81ce446628
Rename m_unk0x28 to m_characterIndex in AnimInfo struct and update references in LegoAnimationManager (#1462) 2025-05-09 20:54:44 +02:00
Christian Semmler
fa126f77ce Merge remote-tracking branch 'isle/master' into mergeisle7 2025-05-09 09:27:32 -07: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
Christian Semmler
fa6c62f7b3
Match MxCompositeMediaPresenter::Tickle (#1437)
* Match `MxCompositeMediaPresenter::Tickle`

* Remove file
2025-05-06 01:04:55 +02:00
Christian Semmler
9d01f67abb Merge remote-tracking branch 'isle/master' into mergeisle4 2025-04-06 08:36:09 -07:00
MS
3b63506648
Fix FUN_10044270 (#1423) 2025-04-03 17:10:11 -04:00
MS
8821593b63
Improve MxControlPresenter::FUN_10044270 (#1422) 2025-04-03 16:25:40 -04:00
Christian Semmler
67c71cb9e6
Match MxControlPresenter::HasTickleStatePassed (#1412) 2025-03-15 14:19:09 -07:00
Christian Semmler
622f00f628 Merge remote-tracking branch 'isle/master' into mergeisle3 2025-03-14 13:59:52 -07:00
Christian Semmler
67b25b0bcc
Adapt MxRegion.h (#1393)
* Adapt MxRegion.h

* Use specific GH action version

* Disable clang32 for now

* Fix regression

* Add space

* Add BETA annotations
2025-02-27 03:30:11 +01:00
jonschz
78e924e4ee
Match Infocenter::ReadyWorld (#1389)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-02-21 21:26:10 +01:00
Christian Semmler
5a6482c6cf Merge remote-tracking branch 'isle/master' into mergeisle 2025-02-02 08:38:16 -07:00
jonschz
fe36c2543e
BETA10 match RegistrationBook::ReadyWorld() (#1376)
---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2025-01-26 08:02:01 +01:00
Christian Semmler
00dee618c0 Merge remote-tracking branch 'isle/master' into mergeisle 2025-01-22 16:34:28 -07:00
Christian Semmler
49cb120795
Order symbols until end of LegoOmni (#1371)
* Order

* Improve

* Move function

* Order until end of LegoOmni

* Remove header
2025-01-22 22:22:58 +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
83fb9f04a7
Merge remote-tracking branch 'isle/master' 2025-01-15 16:53:43 -07: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 1c0cccfba799450cfe4f75566dc1f32db1c76a6b.

* Add other Serialize implementations

* Add remaining Serialize implementations

* Add Read for char*

* Improvements
2025-01-16 00:52:29 +01:00
Christian Semmler
f95eedd0ce
Improve match of LegoPathActor::FUN_1002edd0, reorder (#1332)
* Relocate annotation

* Improve match of `LegoBuildingManager::ScheduleAnimation`

* try fix

* Revert "try fix"

This reverts commit e8f5db6fec92e87fae5cd177f6b4880e81519bfe.

* Order isle

* Move annotation
2025-01-12 21:31:58 +01:00
Christian Semmler
ab8a382a24 Merge remote-tracking branch 'isle/master' into isleupd2 2025-01-11 10:28:06 -07:00
Christian Semmler
ac3a551bcc
Improve symbol order until LegoActor, match LegoPlantManager::ScheduleAnimation (#1327)
* Order `LegoCarBuild`, `LegoPlantManager`

* Order until `LegoActor`
2025-01-11 01:42:03 +01:00
Christian Semmler
a31900a6d4 Merge remote-tracking branch 'isle/master' into isleupd 2025-01-06 16:15:16 -07: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
MS
70e72de20f
Some tweaks to LegoCharacterManager (#1305) 2024-12-30 13:46:55 -07:00
Christian Semmler
e568740208
Merge remote-tracking branch 'isle/master' 2024-12-29 14:46:00 -07:00
Anonymous Maarten
c77b5869f5
Fix warnings triggered by isle-portable (#1304)
* Replace computed constant with more readable computed constants

* LegoAnim::GetActorUnknown0x04 returns a number, not a pointer

* Add macro for creating RGB555 colors

* Texture pixel data is passed through as const data

* Compare palette index against 0 instead of NULL pointer

* warning: deleting 'void*' is undefined [-Wdelete-incomplete] warning

Some DirectX sdk's declars D3DRMIMAGE::buffer1 and D3DRMIMAGE::buffer2
as a void pointer.

* Don't use floats

* Fix wrong op

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-29 22:45:00 +01:00
Christian Semmler
b0a4d0e06b Merge remote-tracking branch 'isle/master' into isle-merge3 2024-12-29 09:21:06 -07:00
Anonymous Maarten
05cfe4ee25
Even more SDL usage (#49)
* Texture pixel data is passed through as const data

* Use SDL_Surface/SDL_Palette in LegoImage

* Use SDL_Process to run subprocess

* Pass SDL_Window handle to SDL_ShowSimpleMessageBox

this makes sure the message dialog is shown as modal dialog and is on top

* Log errors during initialization

* Show SDL error during initialization

* Include <climits> for INT_MAX

* Replace _access with SDL_GetPathInfo

* Use SDL_RemovePath instead of DeleteFile

* Use SDL_RenamePath instead of MoveFile

* Use MxS32 in legoutils.cpp

* Update LEGO1/lego/legoomni/src/common/legoutils.cpp

* Naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-28 16:52:34 +01:00
Christian Semmler
8afa64048b
More BETA matches in MxDiskStreamController (#1292)
* More BETA matches in `MxDiskStreamController`

* Fix
2024-12-27 21:03:04 +01:00
Christian Semmler
d5fdea372b
Match LegoAnimationManager::FUN_10063b90 (#1289) 2024-12-27 19:11:25 +01:00
Christian Semmler
7d90befd05 Merge remote-tracking branch 'isle/master' into merge-isle-2 2024-12-27 10:48:38 -07:00
Anonymous Maarten
65adfe7d64
More use of SDL (#47)
* Use SDL_GetPerformance(Counter|Frequency) in MxStopWatch

* Fix flic.h for gcc Linux compiler

* cmake: remove left-over message

* Replace some more stricmp with SDL_strcasecmp

* Pass SDL_Window* to LEGO1.DLL, and pass window events through SDL event handler

* clang-format

* Use SDL_Timer for unknown input dragging events

* Fix naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-27 18:44:14 +01:00
Christian Semmler
f475d5e196
Match MxTransitionManager::Tickle (#1286) 2024-12-27 17:33:20 +01:00
jonschz
70baf8cecc
Fix float constants and conversions (#1279)
* Fix legoplants warnings, add BETA10 references

* Fix warnings in various header files, improve match

* Fix floats in legoactors.cpp

* Fix `legolocations.cpp`

* fix typo

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-25 21:01:00 +01:00
Christian Semmler
6b3fcafbe1
Match Helicopter::HandleEndAnim (#1276) 2024-12-25 18:39:51 +01:00
Christian Semmler
e54bfb5656 Merge remote-tracking branch 'isle/master' into isle-merge 2024-12-25 08:56:17 -07:00
Anonymous Maarten
bb4db6caac
Use SDL3 functions in more locations (#44)
* Use strcasecmp, strncasecmp, strlwr, strupr and itoa from SDL

* Use SDL_GetTicks instead of timeGetTime

* Use MxDSFile::OPEN_READ instead of OF_READ

* Use SDL_IOStream to read bitmaps

* Use SDL_LogXXX instead of OutputDebugString

* Undo mxvideoparam.h change

* Revert "Undo mxvideoparam.h change"

This reverts commit 4a20cf6c46.

* Fix _MxTrace

* Reapply "Undo mxvideoparam.h change"

This reverts commit b3a09dc520.

* fix _MxTrace

* Use __declspec(dllexport) for exporting symbols from dll

Refactored CMake script such that all objects are passed to the lego1 library.

* clang-format

* fix msvc build

* MSVC fixed for real now?

* Forgot about d3drm_guid

* Fix naming issue

* Use Uint64 in LegoCarBuild::Tickle for dTime
2024-12-24 18:04:46 -07:00
Christian Semmler
c2c9c75f1a
Fix Vector2/Vector3 order (#1272)
* Fix Vector2/Vector3 order

* Refactor vector classes to be const and reference param consistent

* Add BETA10 annotations and fixes
2024-12-24 22:21:26 +01:00
Anonymous Maarten
b4d2ea72af
Fix -Wwrite-strings warnings (#1267)
warning: ISO C++ forbids converting a string constant to 'LegoChar*'
2024-12-23 17:11:38 -07:00
Christian Semmler
69bac21488 Merge remote-tracking branch 'isle/master' into merge 2024-12-23 09:38:55 -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
fe2a65c8da
Implement/match LegoNavController::Notify (#1253)
* Implement/match `LegoNavController::Notify`

* Move function

* Add to total function count

* Add OPT:REF to lego1
2024-12-21 22:41:47 +01:00
Christian Semmler
bcc41256f8
Add LegoOmni::World enum (#1252) 2024-12-21 18:08:55 +01:00
Christian Semmler
c9acd9a49f
Minor fixes (#1248) 2024-12-20 20:23:01 +01:00
Christian Semmler
e73f60e2c6
merge from isle/master 2024-12-20 11:54:06 -07:00