Commit Graph

744 Commits

Author SHA1 Message Date
Cameron Cawley
441b02d057 DETECTION: Use uint32 for ADGameFileDescription file size 2024-06-30 19:13:41 +02:00
Le Philousophe
7e0048b4a3 ENGINES: Add ADDynamicGameDescription class
This class manages a buffer where all data usually stored in detection
plugin will get copied before unloading the plugin and starting the
game.

This class expects that two functions are present in every
GameDescription: sizeBuffer which calculates how many bytes we will need
to store the entry in RAM and toBuffer which copies the data in the
buffer and fix the pointers in the class.
At the end, it is expected that an ADDynamicGameDescription doesn't
depend anymore on data stored in the detection plugin.

The AD_GAME_DESCRIPTION_HELPERS macro allow to implement these functions
in all GameDescription which don't have any pointer except those in
ADGameDescription.
2024-06-30 18:39:06 +02:00
Le Philousophe
b61bd3ff85 ENGINES: Create a type aware advanced meta engine 2024-06-30 18:39:06 +02:00
Le Philousophe
90b886097f ENGINES: Create a type aware advanced detector 2024-06-30 18:39:06 +02:00
Cameron Cawley
30b977c272 DETECTION: Mark more symbols as const 2023-12-26 20:23:59 +01:00
Le Philousophe
aa5ad1f500 MYST3: Migrate engine to Path 2023-12-24 13:19:25 +01:00
Eugene Sandulenko
ec2dd2726b ENGINES: Added optional parameter to canSave/LoadGameStateCurrently() for indicating the reason 2023-12-08 12:21:16 +01:00
elasota
aef5ee1e66 MYST3: Fix signed/unsigned mismatch 2023-07-08 22:02:00 +03:00
Walter Agazzi
ab0f2f8a2b MYST3: Add detection entry for Japanese DVD version
Reported in TRAC #14298
2023-07-06 21:45:59 +02:00
Cameron Cawley
adef12d993 VIDEO: Implement setOutputPixelFormat() for BinkDecoder 2023-04-05 12:45:13 +02:00
Cameron Cawley
366e0c5f67 TINYGL: Replace tglFrustum, tglOrtho and tglClearDepth with float versions 2023-03-05 22:36:31 +01:00
Paweł Kołodziejski
c4686ee84c
TINYGL: Rename copyToBuffer to copyFromFrameBuffer 2023-02-09 07:31:09 +01:00
Walter Agazzi
4732b6dd9f MYST3: Add colon to detection title 2023-01-02 13:46:39 +02:00
elasota
e280186a8c ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
Cameron Cawley
7f2d9fd0fd GRAPHICS: Split conversion.cpp into multiple files 2022-12-22 23:45:14 +01:00
Cameron Cawley
dbbf3d35c1 MYST3: Move the engine options into the MetaEngine subclass 2022-11-16 23:58:54 +01:00
antoniou79
31d119b6cc MYST3: Use GUIErrorMessageWithURL() for missing patch
Also hardcode the url for the download location address
2022-08-21 18:44:51 +03:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
Le Philousophe
98c306376f OPENGL: Merge both OpenGL shaders objects 2022-06-26 18:32:10 +02:00
Paweł Kołodziejski
e70fbbee21
MYST3: Janitorial 2022-06-13 00:44:39 +02:00
Torbjörn Andersson
e06f3c9a5a GUI: Allow game option checkboxes to be disabled
Depending on other game option checkboxes. This is used to
enable/disable the semi-smooth scrolling checkboxes for FM Towns Loom,
since it's only used when smooth scrolling is enabled.
2022-04-21 11:07:17 +02:00
Le Philousophe
c9b4949746 AMIGAOS: Improve shader compatibility
OGLES2 doesn't support uniform booleans so we use macros to make it use
integers in this case. For other platforms, this change should be a
noop.
OGLES2 doesn't like float suffix for constants, remove it as well.
2022-04-17 12:34:38 +02:00
Le Philousophe
1e4696f6d0 OPENGL: Rework renderer selection code
Add a class to group all renderer related (static) functions.
This allows to have getBestMatchingAvailableType inline in all engines.

The matching code is now shared between all engines but allows
customization for engines needing it (Grim, WME3D).

The new code takes runtime availability of features to select the
best renderer.
It avoid crashes when user choosed OpenGL but GLES2 is used.
2022-04-03 22:17:19 +02:00
Le Philousophe
0019131a4f MYST3: Setup texture before copying pixels to it
It's not needed according to the specification but it helps GL4ES and
makes Mesa diagnostics happy.
2022-04-03 16:37:51 +02:00
Paweł Kołodziejski
20cb0ae228
ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Paweł Kołodziejski
8a9289f10a
MYST3: Minor cleanup in renderers 2021-12-15 23:11:43 +01:00
Cameron Cawley
06e79f2adf TINYGL: Use the existing list of rectangles when copying to the screen 2021-12-09 22:01:46 +01:00
Paweł Kołodziejski
6a591146c8
TINYGL: Added stencil buffer implementation 2021-12-09 21:10:53 +01:00
Paweł Kołodziejski
3b9f9804ee
TINYGL: Rearrange access to TinyGL 2021-12-08 14:52:18 +01:00
Paweł Kołodziejski
d80bd265d2
TINYGL: Rearrange visibility various functions 2021-12-06 13:57:41 +01:00
Cameron Cawley
98da66b735 MYST3: Fix the viewport used by the TinyGL renderer for 2D drawing 2021-12-05 20:28:49 +01:00
Cameron Cawley
d18d321092 MYST3: Split TinyGLTexture into two separate subclasses 2021-12-05 20:28:23 +01:00
Cameron Cawley
9bd82872bd MYST3: Replace the Renderer::freeTexture function 2021-12-05 20:28:23 +01:00
Paweł Kołodziejski
9e72366b5f
ENGINES: Allow to build without TINYGL enabled 2021-12-05 00:08:53 +01:00
Paweł Kołodziejski
3ed4be59c8
MYST3: Fixed tglTexImage2D calls in software renderer 2021-12-04 15:59:34 +01:00
Paweł Kołodziejski
af37825be3
ENGINES: Replace PixelBuffer with Surface 2021-11-27 20:14:44 +01:00
Cameron Cawley
4d206e5286
GRAPHICS: Clean up OpenGL defines (#3551) 2021-11-18 00:56:21 +01:00
Orgad Shaneh
dda887aaba MYST3: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
e82ff2400a MYST3: Use override
Using clang-tidy modernize-use-override
2021-11-14 14:34:14 +02:00
Orgad Shaneh
ee57380de7 ENGINES: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:32:04 +02:00
trembyle
c740f96f63 COMMON: Normalize and document language maintenance
* Add documentation to add or maintain language values
* Fix and reorder existing entries to match ISO standards
2021-11-11 12:06:15 +01:00
Orgad Shaneh
78ef6203de ENGINES: Fix getSavegameFile for almost all engines
Use kSimpleSavesNames correctly, add where needed, remove where needed.

Trac #12977
2021-11-10 21:49:48 +00:00
Paweł Kołodziejski
82e405a4ac
TINYGL: Fixed tglViewport transformation 2021-11-08 08:57:19 +01:00
Alexandre Detiste
6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Paweł Kołodziejski
862bd7d05f
GRAPHICS: Move FrameLimiter from engines to common graphics code 2021-10-27 23:11:20 +02:00
Orgad Shaneh
fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.

Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.

Amends 7adad5aaf5.
2021-10-24 16:46:06 +02:00
eientei
6898b3129a MYST3: Add reason for lack of support of CHS version 2021-10-24 16:15:03 +03:00
eientei
b130e32071 MYST3: Add detection for English v1.0, Chinese (Simplified) 2021-10-24 16:15:03 +03:00
Thunderforge
35c3668275 COMMON: Fixing misspellings "occured" -> "occurred"
Fixing this misspelled word across multiple parts of the codebase.
2021-09-25 21:36:42 +03:00