Commit Graph

54 Commits

Author SHA1 Message Date
Christian Semmler
42f877e177
(Web port) Fix virtual cursor transparency (#595) 2025-07-14 04:16:03 +02:00
Anders Jenbo
b8e7c8f774
Fix uninitialized ddpfPixelFormat in VTable0x44 (#563) 2025-07-09 05:40:24 +00:00
Anders Jenbo
bb86ee3172
Fix clear screen on buffered deevices (#544) 2025-07-07 03:40:53 +02:00
Anders Jenbo
761dc31ac0
Render buttons as sprites (#488) 2025-07-05 07:39:51 +02:00
Anders Jenbo
77c832c237
Use sprites to render things on screen (#478) 2025-07-04 21:27:01 +02:00
Anders Jenbo
0d2cbd50d5
Fake mosaic transition (#516) 2025-07-04 14:48:01 +02:00
Anders Jenbo
5e62e7e39f
Remove unused rendering function (#517) 2025-07-04 05:32:35 +02:00
Anders Jenbo
e2eda71883
Yet another clearscreen ported to use COLORFILL (#508) 2025-07-03 22:04:21 +02:00
Anders Jenbo
1ae9933bd5
Drop old cursor code (#509) 2025-07-03 22:04:13 +02:00
Helloyunho
0191be7461
Make draw cursor feature work for modern platforms (#480) 2025-07-03 18:05:46 +02:00
Anders Jenbo
d74e6ab401
Use DDBLT_COLORFILL to clear screen on start (#487) 2025-07-03 00:49:47 +02:00
Anders Jenbo
225adda309
Rendering refactoring (#459)
* Hint texture intent to renderer

* improve transparancy for 32bit rendering

* Align OpenGL ES 2.0 with SDL_GPU's 2D rendering
2025-06-30 22:51:26 +02:00
Anders Jenbo
b65284a7a0
Move 2D drawing and upscaling to the renderer (#348) 2025-06-25 19:45:26 +02:00
Anders Jenbo
4c80c8d923
Add 32bit color support (#311) 2025-06-14 23:09:23 +00:00
Anders Jenbo
43a261b945
Use pitch instead of trying to calculate it (#308) 2025-06-14 19:42:50 +02:00
Anders Jenbo
ef7499bdb9 Restructure miniwin and add support for 3D backends 2025-05-29 04:07:53 +02:00
Christian Semmler
4ada014dfd
Merge remote-tracking branch 'isle/master' 2025-05-16 12:42:48 -07:00
Anders Jenbo
46ae3fbe89
Order enums the same way in both places (#1495)
To match LEGO1/mxdirectx/mxdirectdraw.cpp so it's not so confusing to compare uage
2025-05-15 21:11:06 -07:00
Anders Jenbo
9ae96cbff6
Implement a functional DirectDraw (#81) 2025-05-15 20:45:53 -07:00
Anders Jenbo
96c962f857
Additional strict type checking in DirectX implementation (#91) 2025-05-15 23:18:21 +02:00
Christian Semmler
68f209b18c
Merge remote-tracking branch 'isle/master' 2025-05-14 22:11:52 -07:00
Anders Jenbo
4c754b376c
Enums in mxdisplaysurface.cpp (#1493)
* Enums in mxdisplaysurface.cpp

* Update mxdisplaysurface.cpp
2025-05-14 22:08:50 -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
b1623302c9 Merge remote-tracking branch 'isle/master' into mergeisle8 2025-05-12 08:39:16 -07:00
Anders Jenbo
6482a89ea2
Correct argument names for FUN_100bc8b0 (#1472)
* Correct argument names for FUN_100bc8b0

* Update mxdisplaysurface.h
2025-05-11 16:17:28 -07:00
Christian Semmler
fa126f77ce Merge remote-tracking branch 'isle/master' into mergeisle7 2025-05-09 09:27:32 -07:00
Christian Semmler
02c38d55a3
Match MxDisplaySurface::SetPalette (#1438)
* Match `MxDisplaySurface::SetPalette`

* Match
2025-05-05 17:19:23 -07: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
Anonymous Maarten
05cfe4ee25
Even more SDL usage (#49)
* Texture pixel data is passed through as const data

* Use SDL_Surface/SDL_Palette in LegoImage

* Use SDL_Process to run subprocess

* Pass SDL_Window handle to SDL_ShowSimpleMessageBox

this makes sure the message dialog is shown as modal dialog and is on top

* Log errors during initialization

* Show SDL error during initialization

* Include <climits> for INT_MAX

* Replace _access with SDL_GetPathInfo

* Use SDL_RemovePath instead of DeleteFile

* Use SDL_RenamePath instead of MoveFile

* Use MxS32 in legoutils.cpp

* Update LEGO1/lego/legoomni/src/common/legoutils.cpp

* Naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-28 16:52:34 +01: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
Anonymous Maarten
938a5d7f19
Implement MxDisplaySurface::VTable0x34 (#1264)
* Implement MxDisplaySurface::VTable0x34

* Match

* Remove function count since we got them all

* Update README.md

* Remove emphasis on work-in-progress

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-23 19:18:14 +01:00
Joshua Peisach
48c327ca5a
Implement MxDisplaySurface::VTable0x2c (#1262)
* Implement MxDisplaySurface::VTable0x2c

* fix header namespace

* Incorporate improvements from @madebr branch

* Naming

* Naming

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2024-12-23 16:17:36 +01:00
MS
1f582eb610
Implement MxDisplaySurface::VTable0x24 (#1261)
* MxDisplaySurface::VTable0x24

* Fix stride/length check in vtable24 and vtable28
2024-12-22 20:21:07 -07:00
Anonymous Maarten
6f3f8c2ade
Implement LegoVideoManager::DrawFPS (#1243)
* Implement LegoVideoManager::DrawFPS

* Implement MxDisplaySurface::FUN_100bc8b0

* Match functions

* type

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-20 17:05:40 +01:00
MS
9c951c4974
Implement MxDisplaySurface::DrawTransparentRLE (#1236)
* Implement MxDisplaySurface::DrawTransparentRLE

* ncc fix
2024-12-17 01:07:39 -07: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
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
Misha
d8fedab090
Implement MxDisplaySurface::VTable0x30 (#705)
* Implement MxDisplaySurface::VTable0x30

* improve match

* style

* fix style

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-20 21:44:30 +01:00
Ramen2X
6cd5ffcf1a
implement RegistrationBook::ReadyWorld(), impl/match MxDisplaySurface::CopySurface() (#678)
* implement RegistrationBook::ReadyWorld()

* don't fix the size of letterBuffer

* Fix crash in MxStillPresenter::Clone

* Implement MxDisplaySurface::CopySurface

100% match

* improve accuracy

* invert HasRegistered check

* fix legogamestate structure, documentation tweaks

* this might be cleaner actually

* Update mxdisplaysurface.cpp

* Update legogamestate.h

* don't hardcode action ids in VTable0x64

* Match ~98%

---------

Co-authored-by: Misha <106913236+MishaProductions@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-03-16 02:32:06 +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
Christian Semmler
e609924e4c
Match MxDisplaySurface::Display (#607) 2024-03-01 03:42:50 +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
96234ddc23
Implement/match MxStillPresenter::Clone (#502)
* Implement/match MxStillPresenter::Clone

* Fix
2024-01-29 11:29:12 -05:00
Christian Semmler
43c692c9d7
Minor fixes 2024-01-20 10:46:49 -05:00
Misha
93012b62f4
Implement MxDisplaySurface::CreateCursorSurface (#471)
* Update mxdisplaysurface.cpp

* Fixes

* Update legovideomanager.cpp

* Match to 100%

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-20 22:12:35 +01:00
Misha
ea5f9b4886
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>
2024-01-20 20:31:07 +01:00
Nathan M Gilbert
d5658efe02
Finish Bitmap (#458)
* Finish Bitmap

* Add missing vtable annotations

* Fixes

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-19 15:38:06 +01:00