Christian Semmler
16a40b349f
Update README.md
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Has been cancelled
Format / C++ (push) Has been cancelled
Naming / C++ (push) Has been cancelled
2024-07-05 04:18:53 +02:00
Christian Semmler
49a304d0b9
merge
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Waiting to run
Format / C++ (push) Waiting to run
Naming / C++ (push) Waiting to run
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
Christian Semmler
0873b782c5
User clang-format InsertBraces instead of clang-tidy ( #1059 )
2024-07-04 23:35:49 +02:00
Christian Semmler
09684b3c03
Implement/match BumpBouy class ( #1058 )
2024-07-04 23:28:23 +02:00
MS
14653070cc
Refactor surrounding MxBitmap::GetAdjustedStride
( #1057 )
...
* Refactor surrounding MxBitmap::GetAdjustedStride
* Remove this-> from MxDisplaySurface
2024-07-04 09:50:04 -07:00
Christian Semmler
65e3c3dd05
Implement/match FreeModelDbWorlds ( #1056 )
2024-07-02 22:04:05 +02:00
Christian Semmler
b17762ebe3
merge
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Has been cancelled
Format / C++ (push) Has been cancelled
Naming / C++ (push) Has been cancelled
2024-07-02 12:19:13 -07:00
Christian Semmler
d92fc97a58
Implement/match DuneBuggy class ( #1055 )
...
* Implement/match DuneBuggy class
* Fix name
* Fix
2024-07-02 21:16:35 +02:00
MS
05fa715550
Add MxTrace function ( #1054 )
2024-07-02 10:46:40 -07:00
Christian Semmler
af513734fa
Merge remote-tracking branch 'isle/master'
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Waiting to run
Format / C++ (push) Waiting to run
Naming / C++ (push) Waiting to run
2024-07-01 17:38:28 -07:00
Christian Semmler
788cec2560
Implement GasStation::HandleEndAction ( #1053 )
2024-07-02 02:37:51 +02:00
Christian Semmler
3819dd0dae
merge
2024-07-01 16:52:14 -07:00
Christian Semmler
7bee5fc6a5
Implement/match GasStation::HandleButtonDown ( #1052 )
...
* Implement/match GasStation::HandleButtonDown
* Use enum
2024-07-02 01:43:03 +02:00
Christian Semmler
9ba05d021d
Implement/match LegoPlantManager::ScheduleAnimation ( #1051 )
...
* Implement/match LegoPlantManager::ScheduleAnimation
* Add assert
2024-07-02 01:14:04 +02:00
jonschz
a21fd5975c
Start implementing LegoRaceCar
( #1050 )
...
* Implement several functions
* Limited match on LegoRaceCar::ParseAction
* WIP: progress in the right direction
* Implement LegoRaceCar::ParseAction()
* fix linter issues
* Address review comments
* fix naming
* fix naming (again)
* Relocate address annotations
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-07-01 11:39:31 -07:00
jonschz
fb34f86171
Improve several functions in vector.h
( #1049 )
...
* Improve some functions in vector.h
- Add BETA10 references
- inline some functions based on BETA10
- Identify and improve `Vector4::EqualsHamiltonProduct`
* Fix BETA10 offset
* Fix BETA10 annotation order
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-06-30 13:45:10 -07:00
MS
4a87c3bc44
Small update to datacmp and roadmap ( #1048 )
...
* Match uninit variables with all nulls
* Enable _pnhHeap variable for ISLE
* Roadmap bugfix for ordinal import dummy addrs
* Format fix
2024-06-28 14:58:35 -07:00
MS
6e39e87613
Create MxDirectXInfo module ( #1047 )
...
* Some beta addrs and asserts to start
* Create mxdirectxinfo
* include fix
* CONFIG annotations
* Beta matching
* Match format function better, add dead code function
* LegoDeviceEnumerate
2024-06-27 12:22:13 -07:00
Anonymous Maarten
196259c6c9
Parse cli arguments + log with SDL_Log ( #30 )
...
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Has been cancelled
Format / C++ (push) Has been cancelled
Naming / C++ (push) Has been cancelled
* 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
Christian Semmler
be0fe5fffb
Merge remote-tracking branch 'isle/master'
2024-06-26 06:46:56 -07:00
Christian Semmler
536aa4b1fe
Implement/match LegoPlantManager::FUN_10027120 ( #1046 )
2024-06-26 15:39:36 +02:00
Anonymous Maarten
0637deea13
m_extraCharacterId is an integer, not a pointer ( #1045 )
2024-06-26 04:17:45 -07:00
Anonymous Maarten
659a54b221
Add support for building x64 executables ( #29 )
...
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Waiting to run
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Waiting to run
Format / C++ (push) Waiting to run
Naming / C++ (push) Waiting to run
* d3drm: store LPVOID data instead of DWORD
* m_extraCharacterId is an integer, not a pointer
* cmake: look for iniparser using config file first, then try our custom module file
Our custom module file is still useful.
My linux distro does not package the cmake files.
* x86's stdcall becomes MS's x64 calling canvention
* Fix 64-bit mxdsbuffer pointer arithmetic
* Casting from void* to a smaller-sized integer needs an intermediate equally-sized integer
* Don't cast address to scalar (this is fishy)
* Add mingw64 build to the ci matrix
* Ignore -Wdiscarded-qualifiers warning with const vtables
* Ignore different 'const' qualifiers with MSVC
* Create d3dxof import library for MSVC
* DESCRIPTION in .def file(s) is deprecated
* Assume mmx is supported on x64, require a test for x86 and disabled on other archs
* 32- and 64-bit LEGO1.dll export different symbol names
* Introduce d3drm_guid containing the guids of d3drm
* Disable __wine_dbg_cdecl
* Include d3drm directory with EXCLUDE_FROM_ALL
* lego1 leaks d3drm headers
* Add dxfile.h
* Add 64-bit MSVC to the build matrix
* cmake: using ISLE_USE_DX5 means going all-in
* Load d3dxof.dll dynamically
* cmake: don't emit a warning about bitness anymore
2024-06-25 18:47:43 -07:00
Anonymous Maarten
554a679dc0
Merge commit '8113a17167e92133f5a0793967bf1e485dafd07a' into new-isle-decomp
2024-06-25 20:22:08 +02:00
Anonymous Maarten
ec19d5edb0
Fix mingw build + copy d3drm from wine ( #25 )
...
* Fix engineConfig declaration crossing jump
This fixes the following error:
```
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp: In member function 'virtual MxResult MxSoundManager::Create(MxU32, MxBool)':
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:119:1: error: jump to label 'done'
119 | done:
| ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:78:22: note: from here
78 | goto done;
| ^~~~
/src/isle-portable/LEGO1/omni/src/audio/mxsoundmanager.cpp:84:26: note: crosses initialization of 'ma_engine_config engineConfig'
84 | ma_engine_config engineConfig = ma_engine_config_init();
| ^~~~~~~~~~~~
```
* Fix 'invalid conversion from 'SDL_FunctionPointer' {aka 'void (*)()'} to 'void*'
* /SAFESEH:NO is a VC thing
* SDL3 is still instable
* Cannot forward declare and use enum
* Remove MusicManager from public LEGO1.DLL interface
* Copy d3d from wine git 6c5d17af07a318d754c0c21023b2d162a0d3725d
* Build d3drm-wine with 32-bit mingw
* cmake: move 3rd party targets to cmake script in 3rdparty directory
* cmake: bump minimum required CMake version to 3.25 to allow adding a subproject with SYSTEM automatically applied
An alternative would be to use SYSTEM in target_include_directories in the 3rd party cmake script.
* Add a minimal Findiniparser.cmake (not all distributions carry the upstream iniparser-config.cmake files)
* Add wine's d3drm headers
* cmake: merge ISLE_USE_DX5_LIBS into ISLE_USE_DX5
* cmake: Build all shared libraries in the binary output directory (to avoid PATH issues)
* ci: enable msys2 mingw32 build
* Disable clang-tidy on d3drm wine
* Thread functions must have SDLCALL call convention
* cmake: disable clang-tidy for miniaudio and libsmacker as well
* Hopefully fix c++ format and skip ncc naming violation
* clang-format violations keep up popping out of nowhere
* No need for lego/legoomni/include
* ncc: define SDLCALL as empty instead
2024-06-25 20:02:58 +02:00
Christian Semmler
0f77823a7e
Update README.md
2024-06-25 20:02:58 +02: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
d537d69d13
Merge commit 'd869d565c282b89bffefd8b298048dfbbbc7808b' into new-isle-portable
2024-06-25 20:02:43 +02:00
Anonymous Maarten
974cb8e6d3
Merge commit 'c22c6f337960f0c4c2f1170e857417926cbeeb0f' into new-isle-portable
2024-06-25 20:00:25 +02:00
Christian Semmler
71559309a9
Rename InitPresenters to Create, remove this keyword ( #1000 ) ( #20 )
2024-06-25 19:57:18 +02:00
Anonymous Maarten
3d59615274
Merge commit 'ba378eb22442d71fe4f23a5c818cdfad16d3b16d' into new-isle-decomp
2024-06-25 19:57:16 +02:00
Anonymous Maarten
8d5bfb40d9
Merge commit '828b35e9d22c7a17f7af4906049b56e0b1f4c789' into new-isle-decomp
2024-06-25 19:55:43 +02:00
Christian Semmler
0d452a7fe2
Fix cursors ( #17 )
2024-06-25 19:51:12 +02:00
Christian Semmler
4bf9174c15
Add SDL cursors ( #16 )
...
* Add SDL cursors
* Fix naming
2024-06-25 19:51:12 +02:00
Christian Semmler
8a2bbcac84
Define cursor enum and custom cursor window message ( #980 ) ( #15 )
...
* Define cursor enum and custom cursor window message
* Fix param name
* Remove unused header
2024-06-25 19:51:12 +02:00
Christian Semmler
f87c1a0b6f
Use SDL macros for return values
2024-06-25 19:51:12 +02:00
Christian Semmler
880ae98f0b
Remove dependency on dinput, use SDL keyboard state for navigation ( #14 )
...
* WIP
* Use SDL kb state for navigational keys
* Remove linking against dinput
2024-06-25 19:51:12 +02:00
Christian Semmler
636996caf6
Improve naming, use virtual key constants ( #979 ) ( #13 )
2024-06-25 19:51:12 +02:00
Christian Semmler
931fcd0381
Fix missing return
2024-06-25 19:51:12 +02:00
Christian Semmler
65036e1a36
Use SDL window instead of Win32 window ( #12 )
...
* Use SDL window
* Fixes
* Update README
* Remove unused decl
* Consistent use
* Add comment about fullscreen
2024-06-25 19:51:12 +02:00
Anonymous Maarten
3190a6c23a
Merge commit '77af1a5483780db06f09558d248a4766763c8701' into new-isle-decomp
2024-06-25 19:51:12 +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
889bd4c1cd
Add SDL callbacks to isleapp ( #9 )
...
* Add SDL callbacks to isleapp
* Update README.md
* Update README.md
2024-06-25 19:51:12 +02:00
Christian Semmler
21502ecf18
Replace Windows threads with SDL threads ( #8 )
...
* Replace Windows threads with SDL threads
* Wait for thread in dtor
2024-06-25 19:51:12 +02:00
Christian Semmler
641ae70ab9
Replace Windows CriticalSection with SDL Mutex ( #7 )
...
* Replace Windows CriticalSection with SDL Mutex
* Update README.md
2024-06-25 19:51:12 +02:00
Christian Semmler
6f2481e8d6
Use USHRT_MAX instead of MAXWORD ( #975 ) ( #6 )
2024-06-25 19:51:12 +02:00
Anonymous Maarten
fc76114a36
Merge commit '76435d803f768be8da9821d72b98306a4b043ad2' into new-isle-decomp
2024-06-25 19:51:12 +02:00
Christian Semmler
6f1aebbb02
Add SDL3 and replace Windows semaphores ( #4 )
...
* Add SDL3 and replace Windows semaphores
* Try this
* Change for now
2024-06-25 19:50:27 +02:00
Anonymous Maarten
94081312c3
Merge commit 'ac41854149776a30b7acaa89808cee0a7cad7380' into new-isle-decomp
2024-06-25 19:50:27 +02:00