Commit graph

27 commits

Author SHA1 Message Date
Christian Semmler
47c0e1a037
merge from isle/master 2024-12-15 08:24:45 -07:00
jonschz
07def56326
Implement Act2Actor::VTable0x70 ()
* 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
Christian Semmler
5f0575124f
Merge from isle/master 2024-11-24 08:01:05 -07:00
MS
816bfe842d
Use alias functions from Lego3DManager ()
* Mark LegoEntity:Destroy (many vtables use it)

* Starting addrs for Lego3DManager helpers

* Addrs for users of Lego3DManager and changes where needed
2024-11-23 20:37:24 -07:00
Christian Semmler
bf5379992e
merge from isledecomp/isle 2024-10-26 08:06:31 -07:00
jonschz
1a15981324
Implement LegoCarBuildAnimPresenter::StreamingTickle() ()
* Implement LegoCarBuildAnimPresenter::StreamingTickle and dependents

* Fix naming issue

* Address review comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-10-05 16:20:45 -07:00
Christian Semmler
318c46b881
merge 2024-09-05 12:09:19 -07:00
jonschz
2b14d3d6a5
Implement parts of LegoCarBuild and dependents ()
* Implement parts of `LegoCarBuild` and dependents

* Fix BETA10 offset

* Fix constants

* Code style: Rename parameters

* Linter fixes v2

* Linter errors v3

* Add BETA10 variable names for presenters

* Address review comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-09-03 13:50:30 -07:00
Anonymous Maarten
196259c6c9
Parse cli arguments + log with SDL_Log ()
* 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
MS
b3d6319656
Beta addrs for TglSurface and related () 2024-05-11 18:27:06 +02:00
Christian Semmler
51adf75b9b
(Refactor) Use more forward declarations ()
* Use more forward declarations

* Use more forward declarations

* Add more forward declarations

* Fix
2024-05-03 18:19:12 +02:00
Christian Semmler
57589c082c
Fix default light position 2024-04-21 10:03:14 -04:00
Christian Semmler
ed9e9efdab
Implement/match LegoBackgroundColor::SetLightColor and related () 2024-03-29 21:50:00 +01:00
Christian Semmler
369f3fba22
Implement SetLightPosition and related ()
* Implement SetLightPosition and related

* Update p name

* style
2024-03-29 21:42:39 +01:00
Christian Semmler
00c05aa80b
Implement/match remaining Lego3DView functions () 2024-03-04 18:54:25 +01:00
Christian Semmler
c643723a9c
Improve match of LegoView1::Create () 2024-03-01 22:53:42 +01:00
Nathan M Gilbert
13fc4e3285
LegoGameState::SwitchArea () 2024-02-24 14:55:00 +01:00
Christian Semmler
5d80733cb1
Implement/match Tgl::View::Render () 2024-02-16 16:28:20 +01:00
Anonymous Maarten
9e686e2a87
cmake+ci: run clang-tidy ()
* 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
Misha
1c612a2d25
Implement Lego3DView::Render ()
* Implement Lego3DView::Render

* use MxDouble

* Revert "use MxDouble"

This reverts commit a006b60e2066b79ded3e15e143a302d8fd707deb.
2024-01-20 21:43:53 +01:00
MS
909c44b679
reccmp: vtable comparison ()
* Add vtable comparison to reccmp

* Add missing scalar deleting destructors

* Fix some vtables

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 14:34:14 +01:00
MS
7e9d3bde65
Reccmp: Use symbol names in asm output ()
* Name substitution for reccmp asm output

* Decomp marker corrections

* Fix a few annotations

* Fix IslePathActor dtor

* Fix audio presenter

* Fix LegoEntity::Create

* Fix Pizza and related

* Fix path part

* Add missing annotations

* Add missing annotations

* Add more missing annotations

* Fix MxNotificationParam

* More fixes

* More fixes

* Add missing annotations

* Fixes

* More annotations

* More annotations

* More annotations

* More annotations

* Fixes and annotations

* Find imports and thunk functions

* Fix more bugs

* Add some markers for LEGO1 imports, fix SIZE comment

* Add more annotations

* Rename annotation

* Fix bugs and annotations

* Fix bug

* Order

* Update legoanimpresenter.h

* Re-enable print-rec-addr option

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-14 22:28:46 +01:00
Christian Semmler
7d2629318c
Match Lego3DView::Create () 2024-01-13 20:58:10 +01:00
Christian Semmler
d24f5db42f
Matrix/vector refactor () 2024-01-12 19:34:38 -05:00
Christian Semmler
9eea48f629
Fix structure of Lego3DView () 2024-01-10 23:40:24 +01:00
Anonymous Maarten
b996fff6fa
Support building isle with modern MSVC + msys2 ()
* cmake: detect older MSVC and define ENABLE_DECOMP_ASSERTS to enable decomp asserts

* Add /Zc:__cplusplus to define __cplusplus with c++ version number

* Silence deprecated CRT releated warnings

* LegoCameraController overrids some methods that are not defined in its parent(s)

* Tgl::Device::GetDrawnTriangleCount does not exist (FIXME: INCORRECT FIX -> Tgl::Device should be updated instead)

* Remove copy/pasted APP_ICON from lego1 resource.h header

* Implement empty ViewLODList::Dump method

* Also enable "compat mode" for newer MSVC compilers

* Only do decomp assertions when using older MSVC compilers

* msys2 mingw compat (cannot pass reference of rvalue)

* Fix msys2 mingw warning: declaration 'class Tgl::Group' does not declare anything

* Add FIXME comment to LEgo3DView::m_previousRenderTime

* LegoView1 is 16 bytes bigger then LegoView ==> 4 32-bit pointers

* include string.h for strlen

* Fix overrides

* Fix constness of method

* Fixes

* Formatting

* Add size assert for MxFrequencyMeter

* ci: build isle with msys2 + msvc on GitHub actions

* Set vcvars for msvc

* msys2 needs the msys2 shell

* Build in default shell

* isle is not 64-bit yet (I think)

* Print bitness

* Use amd64_x64 cross tools

* Minor updates

* Add more names

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-10 23:34:32 +01:00
Christian Semmler
c47206617d
Reorganize sources and files ()
* 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