Commit Graph

588 Commits

Author SHA1 Message Date
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
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
Christian Semmler
894034f9cf
Implement/match WriteDefaultTexture (#1213) 2024-12-12 19:02:14 +01:00
Christian Semmler
aceba71fbb
Implement/match Act3Brickster::HitActor (#1212)
* Implement/match `Act3Brickster::HitActor`

* Fixes

* Fixes

* Fixes

* Add `Act3Cop::VTable0x9c`

* Fix
2024-12-12 17:10:44 +01:00
Christian Semmler
fe57a94416
Implement/match Act3Brickster::ParseAction (#1211) 2024-12-12 16:06:15 +01:00
Christian Semmler
598d6dd10c
Refactor act 3 actors into act3actors.cpp (#1210) 2024-12-12 15:14:46 +01:00
MS
c05ff6ff4a
Act3Cop::VTable0x94 and related (#1209)
* Act3Cop::VTable0x94 and related

* No need to include

* Cast LegoWorld* to Act3*
2024-12-11 22:20:21 +01:00
Christian Semmler
ac19539d0f
Implement/match Act3Shark functions (#1208)
* Implement/match `Act3Shark` functions

* Naming
2024-12-11 21:13:34 +01:00
Christian Semmler
a2b2b5d734
Implement/match Act3Ammo::FUN_10053b40 (#1207)
* Implement/match Act3Ammo::FUN_10053b40

* Add Act3Ammo::Remove
2024-12-11 20:52:53 +01:00
MS
6d9fa3ed7f
Act3List Insert() and Clear() (#1206)
* Act3List Insert() and Clear()

* Fix Act3ListElement constructors
2024-12-11 18:01:55 +01:00
Christian Semmler
adc83dc76e
Implement/match Act3Ammo::Create, Act3Ammo::FUN_10053cb0, Act3Ammo::FUN_10053d30 (#1205)
* Implement/match Act3Ammo::Create

* Fix BETA addr

* Move

* Move

* Remove header

* Add missing header
2024-12-10 22:35:59 +01:00
Christian Semmler
c2ee761f81
Implement/match Act3::ShootPizza and Act3::ShootDonut (#1203)
* Implement/match `Act3::LaunchPizza` and `Act3::LaunchDonut`

* Match Helicopter::HandleControl

* Rename

* Adjust total function count

* Rename
2024-12-09 23:41:51 +01:00
jonschz
07def56326
Implement Act2Actor::VTable0x70 (#1201)
* Implement draft of `Act2Actor::VTable0x70`

* Fix CI errors

* Implement `Act2Actor::FUN_100199f0`

* WIP: cleanup

* Address review comments

* Run formatter

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 22:05:08 +01:00
jonschz
ada44a30e8
Fix name ambiguities (#1202)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-12-09 06:57:45 -07:00
Christian Semmler
d9b9178d27
Implement/match Act3::Notify (#1200)
* Implement/match Act3::Notify

* Fix typo
2024-12-08 20:52:32 +01:00
Christian Semmler
564fb7f7c0
Implement/match Act3::Enable (#1198)
* Implement Act3::Enable

* Match

* Change back to private

* Remove unused function
2024-12-08 19:39:03 +01:00
Christian Semmler
1aff40dd94
Implement/match several functions in Act3, refactor (#1197)
* Implement/match several functions in Act3, refactor

* Fix naming

* Rename

* Add comment

* Add annotation

* Add BETA assert
2024-12-08 18:00:57 +01:00
Christian Semmler
97fb6e4f15
Add Act3Ammo, match Act3::Act3 (#1196)
* Implement `Act3Ammo`, match `Act3::Act3`

* Move

* Fix match
2024-12-07 11:57:59 -07:00
Christian Semmler
d22c4cd1f2
merge from isle/master 2024-12-07 10:17:25 -07:00
Christian Semmler
5be00e1799
Implement/match LegoPathCtrlEdge::FUN_10048c40 (#1195)
* Implement/match LegoPathCtrlEdge::FUN_10048c40

* Improve matches
2024-12-07 17:58:51 +01:00
Christian Semmler
4d8098a6c2
Implement LegoPathController::FUN_10048310 (#1192)
* WIP

* Rename

* Fix

* More WIP

* WIP

* WIP

* Fix

* Annotations

* Add more annotations, improve match

* Raise max functions
2024-12-06 20:50:40 +01:00
MS
6ca54824e6
Rename c_notificationDrag* enum (#1191)
* Improve functions with drag notifications

* Rename drag notifications

* A couple more addrs
2024-12-04 16:19:48 -07:00
Christian Semmler
8dd7bc63be
Implement/match LegoAct2::SpawnBricks (#1189)
* Implement/match LegoAct2::SpawnBricks

* Name brick vars

* Add LegoAct2::FUN_10051fa0

* Add LegoAct2::FUN_100521f0
2024-12-04 23:11:16 +01:00