Commit Graph

62 Commits

Author SHA1 Message Date
Anonymous Maarten
bdbd0e31d7
Add D3DRMFrame parent <-> child relation (#161)
* Add D3DRMFrame parent <-> child relation

* Apply suggestions from code review
2025-05-24 22:18:53 -07:00
Christian Semmler
390fef9f9a
Fix isledecomp/isle merge (#150)
* Fix isledecomp/isle merge

* Use constant
2025-05-23 18:48:29 +02:00
Christian Semmler
a75e3a4377
Merge remote-tracking branch 'isle/master' 2025-05-23 09:34:57 -07:00
MS
4e49712391
Match Tgl MeshImpl and GroupImpl functions (#1514) 2025-05-23 12:27:41 -04:00
Christian Semmler
23182618cc
Merge remote-tracking branch 'isle/master' 2025-05-19 17:16:56 -07:00
Anonymous Maarten
0b9c1756c7
Fix inclusion guards of 3 files (#1509)
* Fix inclusion guards of 3 files

* Apply suggestions from code review

Co-authored-by: Christian Semmler <mail@csemmler.com>

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-20 02:15:30 +02:00
Anders Jenbo
70536c50bd
Fix remaning UBSAN issues (#115) 2025-05-19 19:02:24 +02:00
Anders Jenbo
4e2df63d9c
Get the game working on 64bit systems (#113)
* Use int instead of long

* Move static_asserts to the bottom

---------

Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-05-19 17:56:12 +02:00
Christian Semmler
c8b1e507c7
Merge remote-tracking branch 'isle/master' 2025-05-17 16:20:08 -07:00
Anders Jenbo
bc920a295b
Correct assert in view.cpp (#1500) 2025-05-17 13:26:01 -07:00
Anders Jenbo
db7781473a
miniwin: Clean up headers and make bitflags and enums strict (#90) 2025-05-14 19:51:41 -07:00
Anonymous Maarten
537cde485a
Remove d3drm-wine (#75)
* remove d3drm-wine

* Update miniwin/miniwin/src/miniwin_ddraw.cpp

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

* Run clang-format

* Update miniwin/miniwin/src/miniwin.cpp

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

* Update miniwin/miniwin/src/miniwin_ddraw.cpp

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

---------

Co-authored-by: Anders Jenbo <anders@jenbo.dk>
2025-05-13 19:18:20 +00:00
Anders Jenbo
08b2dab108
Make things build on Linux (#69) 2025-05-12 23:10:53 +02:00
Christian Semmler
7670f89f03 Merge remote-tracking branch 'isle/master' into mergeisle6 2025-04-26 09:16:06 -07:00
MS
2fef2858c9
Add all TglImpl::ImplementationData methods (#1436)
* ImplementationData methods and typedefs

* RendererImpl::CreateView

* RendererImpl::CreateMeshBuilder

* DeepClone

* CreateCamera and CreateTexture

* CreateDevice

* Disable static var annotation
2025-04-19 10:30:47 -04:00
MS
451fd63eee
Match a few more Tgl functions (#1435)
* RendererImpl::CreateLight

* Swap addrs for LightImpl and MeshBuilderImpl

* SetShadingModel functions
2025-04-17 17:19:54 -04:00
MS
544372759e
Add abstraction functions to TglImpl::ViewImpl (#1434)
* Add Destroy methods to TglImpl

* Test one abstraction

* More ViewImpl abstractions

* Finish ViewImpl
2025-04-15 16:30:56 -04:00
MS
0bc31450a4
Some beta addrs for Tgl and TglImpl (#1433) 2025-04-14 18:29:38 -04: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
Christian Semmler
3140ba73eb
Match TglD3DRMIMAGE::FillRowsOfTexture (#1300) 2024-12-28 19:10:02 +01:00
Christian Semmler
7d90befd05 Merge remote-tracking branch 'isle/master' into merge-isle-2 2024-12-27 10:48:38 -07: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
e73f60e2c6
merge from isle/master 2024-12-20 11:54:06 -07:00
Anonymous Maarten
581ba0f5ae
Implement GroupImpl::Bounds (#1246)
* Implement/match DeviceImpl::HandleActivate

* Implement/match DeviceImpl::HandlePaint

* Implement GroupImpl::Unknown (71.63%)

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 19:48:31 +01:00
Anonymous Maarten
b338a66a77
Implement GroupImpl::RemoveAll (#1244)
* Implement GroupImpl::RemoveAll (81.30%)

* Minor improvement

* Add 2 to total function count

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 17:50:33 +01: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
5ade193261
merge from isle/master 2024-11-29 15:27:01 -07:00
jonschz
362551e279
Clean up unused annotations to reduce errors (#1177)
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-29 22:31:37 +01:00
Christian Semmler
5f0575124f
Merge from isle/master 2024-11-24 08:01:05 -07:00
Christian Semmler
3383ae646f
Implement/match LegoBuildingManager::Tickle (#1156) 2024-11-15 22:51:46 +01:00
Christian Semmler
49a304d0b9
merge 2024-07-04 16:09:48 -07:00
Christian Semmler
bee101b1f4
Add clang-tidy readability-redundant-inline-specifier (#1060)
* Add clang-tidy readability-redundant-inline-specifier

* fix

* Update CONTRIBUTING.md

* format

* fix
2024-07-05 01:06:32 +02:00
Anonymous Maarten
196259c6c9
Parse cli arguments + log with SDL_Log (#30)
* cmake: copy DLL dependencies to output path

This also copies SDL3.dll from an external path when using system
dependencies.

* Only include <SDL3/SDL.h>

* isle: parse cli argument (--ini for custom ini path)

* Use SDL_CreateWIndowWithProperties to create SDL window

Less branching => Clearer code

* Log mxdirectx failure using SDL_Log + E_NOINTERFACE

* Fix d3drm32.def for msvc

* Define D3DRM_WINE when using d3drm from wine

* Ignore failed assertions from d3drm unimplemented functions

* inparser will/should create libiniparser.lib for static libraries and iniparser.lib for a shared library
2024-06-26 11:24:40 -07:00
Anonymous Maarten
8113a17167
Backports of isle-portable x64 fixes (#1044)
* Introduce LPD3DRM_APPDATA typedef for setting d3drm appdata

* Fix warning about assigning const string literals to variable char pointers

* Don't cast pointers to integers on non-32-bit architectures

* memset 2nd argument is int

* Assume cpuid is available on x86_64, needs testing on i386 and unavailable on anything else

* Store HFILE in its own member variable
2024-06-25 17:56:30 +02:00
Christian Semmler
8225a38a01
Implement/match LegoCharacterManager::FUN_10085870 (#764) 2024-04-02 14:04:17 +02:00
Christian Semmler
68bb20f04f
Implement LegoCharacterManager::CreateROI (#709)
* WIP

* Create globals

* Add Read

* Name Init

* Add LegoCharacter init data

* Add define for NULL

* Use MxS8

* Add LegoCharacterLOD

* WIP CreateROI

* Fix

* WIP

* Match

* Match

* Match, implement Find

* Fix MeshBuilder

* Fix

* space
2024-03-22 18:40:19 +01:00
Christian Semmler
660c1e1170
Implement ViewManager::FUN_100a65b0 (#650) 2024-03-10 05:12:15 +01:00
Christian Semmler
873926afe2
Implement TglImpl::MeshBuilder::CreateMesh (#635)
* WIP

* Change

* Fix

* Improve match

* Rename class

* Fix function

* Fix annotation

* Fix annotations

* Fix annotation
2024-03-08 17:55:25 +01:00
Christian Semmler
53e2353f78
Implement LegoLOD::Read and related (#634)
* WIP

* Fix

* Remove bogus

* Fix

* Match

* Fix

* Remove TODO
2024-03-07 20:57:17 +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
Christian Semmler
05965f5357
Implement/match ViewManager ctor/dtor/structure (#614)
* Implement/match ViewManager constructor/structure

* Add dtor
2024-03-02 15:43:19 +01:00
Christian Semmler
9d8820ee06
Implement TextureData::Create (#586)
* Implement TextureData::Create

* Fix names

* Rename

* Fix name

* Fix annotation

* Add missing annotation

* Fix annotation

* More annotation fixes

* Compat template type ambiguity

* Fix
2024-02-22 16:59:44 -05:00
MS
ad3a1de055
Match more scalar deleting destructors (#568) 2024-02-16 13:15:53 -05:00
Christian Semmler
5d80733cb1
Implement/match Tgl::View::Render (#566) 2024-02-16 16:28:20 +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
baed704a38
(clang-format) Add RemoveSemicolon (#506) 2024-01-29 23:30:20 +01:00
Christian Semmler
bcdddd4c7e
Pad all single-digit hexadecimal values with zero (#504)
* Pad all single-digit hexadecimal values with zero

* One more fix
2024-01-29 22:17:17 +01:00
MS
b5a3c5feea
Enforce vtable match (#464)
* vtable enforce

* Vtable progress

* IslePathActor subclasses

* LegoState subclasses

* LegoWorld subclasses

* Presenter progress

* Remaining presenters

* All but two that need new files

* Merge into vtable branch (#3)

* Implement MxDisplaySurface::VTable0x44 (#467)

* Update mxdisplaysurface.cpp

* add arguments to header

* Fix glitched bitmaps

* WIP fixes

* Match

* Fix

* Changes

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Implmement PoliceState::VTable0x1c (#468)

* Implmement PoliceState::VTable0x1c

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Implement Lego3DView::Render (#470)

* Implement Lego3DView::Render

* use MxDouble

* Revert "use MxDouble"

This reverts commit a006b60e2066b79ded3e15e143a302d8fd707deb.

* Begin work on Police class (#469)

* Begin work on Police class

* Use JukeBox::e_policeStation value

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

* Implement MxDisplaySurface::CreateCursorSurface (#471)

* Update mxdisplaysurface.cpp

* Fixes

* Update legovideomanager.cpp

* Match to 100%

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>

---------

Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>

* Police fix

* Finish

* motocycle lower case

* Update historybook.h

* Update hospitalstate.h

* Update jetski.h

* Update legoinputmanager.h

* Update legolocomotionanimpresenter.h

* Update pizza.h

* Update act3shark.h

* Update ambulancemissionstate.h

* Update bumpbouy.h

* Update doors.h

---------

Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
2024-01-20 18:04:46 -05:00