Commit Graph

609 Commits

Author SHA1 Message Date
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
72aa7e330d
Order functions up to the end of GasStation, match GasStation::ReadyWorld (#1311)
* Minor improvements

* Match `GasStation::ReadyWorld`

* Reorder
2025-01-05 18:40:07 +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
795d6e144d
Match LegoPathActor::VTable0x8c (#1303)
* Match `LegoPathActor::VTable0x8c`

* Fix
2024-12-29 20:46:03 +01:00
Anonymous Maarten
b97aea42d2
Use SDL_KeyCode in LEGO1.dll (#51)
* Pass SDL_Keycode in LEGO1.dll

* ISLE.EXE: use iniparser for getting isle.mediaPath

* Use SDL_isdigit instead of isdigit

* clang-format

* hdPath is a better default for mediaPath

* Replaced a stray 'A' with SDLK_A

* Use SDL_Keycode to store the ogel cheat code
2024-12-29 18:56:47 +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
MS
29e77210e8
Rename some things in Infocenter (#1293) 2024-12-27 17:21:49 -07: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
fd5f7ad620
Match MxPtrList<LegoNamedPart>::Destroy (#1285) 2024-12-26 20:57:30 +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
Christian Semmler
7c41ff4569
Order compilation units according to retail, match and align Score class (#1271)
* Initial changes for ordering, Score

* Add mxdebug

* Match `Score::Paint`

* Refactor

* Add BETA asserts

* BETA match
2024-12-24 19:38:15 +01:00
Joshua Peisach
bb29d289fe
SkateBoard: name m_unk0x160 -> m_pizzaVisible (#1269) 2024-12-24 07:50:37 -07: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
e73f60e2c6
merge from isle/master 2024-12-20 11:54:06 -07:00
jonschz
7ed2ac9ccc
Progress on Helicopter::FUN_100042a0 (#1242)
* Implement `LegoCameraController::FUN_100123b0`

* Improve `UnknownMx4DPointFloat::Unknown7` match, add BETA10

* Add draft for `FUN_100042a0`

* Improve match

* Match

* Use better naming

* Remove comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 01:27:14 +01:00
Ramen2X
4cd4b55ae7
replace directinput joystick APIs with SDL (#41) 2024-12-19 19:25:49 -05:00
Anonymous Maarten
a8729dfef6
glD3DRMIMAGE::CreateBuffer, LegoVideoManager::EnableRMDevice and LegoVideoManager::DisableRMDevice (#1241)
* Implement TglD3DRMIMAGE::CreateBuffer (ecx/edi are swapped)

* Implement LegoVideoManager::EnableRMDevice

* Implement LegoVideoManager::DisableRMDevice

* clang-format

* Match `LegoVideoManager::EnableRMDevice`

* Remove padding

* Fix naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-19 22:52:33 +01: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 c9ca75ae7f1d894f976ce6d383d5b4d13ead99a5.
2024-12-19 20:22:34 +01:00
Christian Semmler
90c687bde0
Implement/match Act3Brickster::FUN_10042300 (#1238)
* Implement/match `Act3Brickster::FUN_10042300`

* Add comment about assignment operator

* Add another comment

* Fix

* add back BETA annotation
2024-12-17 23:16:00 +01:00
Christian Semmler
66e3c9a2e1
Implement/match Act3Brickster::Animate (#1237)
* Implement/match `Act3Brickster::Animate`

* Improve loop
2024-12-17 19:11:47 +01:00
Christian Semmler
f51b1867ee
Use SDL3 for filesystem access (#36)
* Use SDL IOStream in for MXIOINFO

* Use SDL IOStream for WDB file

* Use SDL IOStream for LegoStorage

* Update README.md

* Fixes

* Add names to skip.yml

* Add #include <stdio.h> where necessary
2024-12-16 22:25:52 +01:00
Christian Semmler
3b7e60bdc0
merge from isle/master 2024-12-15 11:59:19 -07:00
jonschz
2e7f2edbf1
Implement/match Act3Cop::ParseAction (#1230)
* Implement/match `Act3Cop::ParseAction`

* Fix formatting

* Address review comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-15 18:09:29 +01:00
Christian Semmler
661c76c6e0
Implement/match Act3Shark::Animate (#1231)
* Implement/match `Act3Shark::Animate`

* Add BETA annotation

* Raise max functions

* Mark as FUNCTION
2024-12-15 17:18:25 +01:00
Christian Semmler
47c0e1a037
merge from isle/master 2024-12-15 08:24:45 -07: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
67b4553eaa
Implement/match LegoPathController::FUN_1004a380 (#1226) 2024-12-14 20:02:48 +01:00
jonschz
57aa5a9f8a
Refactor legoracers.h and legoracers.cpp (#1224)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-14 07:03:19 -07:00
jonschz
5a6415e0cf
Implement/match Act2Actor::FUN_10019b90 (#1222)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-13 16:19:55 -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
6da2faa48c
Refactor actor states, define enum (#1220)
* Refactor actor states, define enum

* Revert

* Rename `UpdateState` to `Animate`
2024-12-13 20:30:50 +01:00
Christian Semmler
ce3f71ea0f
Rename LegoPathActor::VTable0x70 to UpdateState (#1219) 2024-12-13 19:20:03 +01:00
Christian Semmler
263d7d1e4f
Implement/match Act3::GoodEnding (#1218) 2024-12-13 18:49:45 +01:00
Christian Semmler
de7bc813ca
Implement/match LegoAct2::BadEnding (#1217)
* Implement/match `LegoAct2::BadEnding`

* Name some vars
2024-12-13 17:26:06 +01:00
jonschz
054f56fd9f
Implement Act2Actor::FUN_10019700 (#1215)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-12 17:54:51 -07:00
Christian Semmler
1bfeebd004
Implement most of LegoJetski, refactor (#1214)
* Implement most of `LegoJetski`, refactor

* Fix
2024-12-12 21:17:25 +01:00