Commit Graph

32 Commits

Author SHA1 Message Date
Christian Semmler
5080e372f9
Emscripten port (#229)
* Emscripten port

* Fix NCC

* Update CMakeLists.txt

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

* Update CMakeLists.txt

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

* Update CMakeLists.txt

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

* Update CMakeLists.txt

* cmake: set iniparser cmake options in local scope

* ci: try adding emscripten to test matrix

* cmake: try to make CMake install package more usable

* cmake: fix typo

* Update CMakeLists.txt

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

* Add support for .ini loading

* Different default full screen behavior for Emscripten

* Add comments

* Add web platform

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-06-13 00:26:43 +02:00
Christian Semmler
5ae47c2b56
Map internal paths to filesystem paths (#100)
* Map internal paths to actual filesystem paths

* Only do this on non-Windows

* Update LEGO1/omni/src/common/mxstring.cpp

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

* add priority

* Revert for now

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-17 03:46:50 +02:00
Anders Jenbo
9ae96cbff6
Implement a functional DirectDraw (#81) 2025-05-15 20:45:53 -07:00
Christian Semmler
b1623302c9 Merge remote-tracking branch 'isle/master' into mergeisle8 2025-05-12 08:39:16 -07:00
Florian Kaiser
e59345c88c
Rename SetUnknown84 to SetNotificationObject (#1474) 2025-05-12 17:20:38 +02: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
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
Christian Semmler
5b19d7953a
Refactor MxStreamList based lists (#1260)
* Refactor stream lists

* Fix naming

* Fix header inclusion

* Fix annotations

* Move function definitions to header

* Remove mxstreamprovider.cpp

* Naming
2024-12-23 16:32:16 +01:00
Christian Semmler
9397458854
merge from isledecomp/isle 2024-10-03 12:14:05 -07:00
MS
4a01d15c36
MxStreamListMxDSAction helper functions (#1100)
* MxStreamListMxDSAction Find/FindAndErase

* Beta addrs for other stream lists
2024-09-06 13:13:16 -07:00
Christian Semmler
806afaa210 Replace DirectSound with miniaudio (#21)
* Add miniaudio

* WIP

* static const

* Fix missing looping

* Fix volume

* Implement 3D sound, WIP

* Remove unused WinMM code

* Update README.md

* Fixes

* Fix naming

* Fix naming

* disable ma threading

* Invert Z axis for OpenGL system

* Update comment

* Set rolloff

* Fix minimize/maximize suspension

* Rename function

* SDL3: changed macro name
2024-06-25 20:02:58 +02:00
Anonymous Maarten
974cb8e6d3 Merge commit 'c22c6f337960f0c4c2f1170e857417926cbeeb0f' into new-isle-portable 2024-06-25 20:00:25 +02:00
Anonymous Maarten
3d59615274 Merge commit 'ba378eb22442d71fe4f23a5c818cdfad16d3b16d' into new-isle-decomp 2024-06-25 19:57:16 +02:00
Christian Semmler
dda6778665 Replace Windows registry with .ini file (#10)
* Replace Windows registry with .ini file

* Update README.md

* Update CMakeLists.txt

* comment

* set CMake policy

* Try this

* Try this

* Adjust comments
2024-06-25 19:51:12 +02:00
Christian Semmler
be4c351d7d
Rename Start/StopTimer to Pause/Resume (#1007)
* Rename Start/StopTimer to Pause/Resume

* Fix
2024-06-09 13:39:22 -04:00
MS
ba378eb224
Streamline MxVideoParamFlags (#999)
* Streamline MxVideoParamFlags

* Remove this-> from MxOmniCreateFlags
2024-06-06 17:15:57 -04:00
MS
4b386fe738
Tweak MxOmni::Destroy and add more beta annotations (#887)
* Fix long function name

* Omni getter beta annotations

* MxMisc asserts and beta annotations

* Helper function for MxNotificationManager list
2024-05-07 13:00:16 -04: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
MS
612eec6889
Beta matching MxAtom classes (#847)
* Beta matching MxAtom classes

* Remove unused getter

* Restore operator!= for modern compilers
2024-04-25 17:43:42 +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
MS
9c6120fc37
Beta matching MxOmniCreateFlags (#817)
* Beta matching MxOmniCreateFlags

* Add newlines and swap order

* Add newline
2024-04-17 16:37:16 -04:00
MS
536c4336f3
Beta matching MxVariableTable (#811) 2024-04-17 11:31:48 +02:00
Christian Semmler
52d74647be
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction (#691)
* WIP

* Match
2024-03-18 15:00:58 -04: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
MS
ec1fcce08c
Data comparison tool (#618)
* Parse cvdump TYPES section. Add datacmp tool.

* Corrections

* Use static

* Revert "Use static"

This reverts commit e0a4324e004e83565a9880e457c588ed0cf71931.

* Handle partially initialized variable

* Shuffle order of legounksavedatawriter

* Revert "Shuffle order of legounksavedatawriter"

This reverts commit 506e06f1174739fdbfade73e29b9ce4eac44b06c.

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-05 09:45:09 +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 96c4c65fedbc4102837f4bcbbb9ee83a7d14cba3.

* 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
Christian Semmler
1c4f772a82
Implement/match MxOmni::ActionSourceEquals (#462) 2024-01-19 23:06:39 +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