Commit Graph
86814 Commits
Author SHA1 Message Date
Johannes Schickel 8b0cf0c5f7 OPENGL: Cleanup. Remove Texture::getHardwareFormat. 2016-03-16 20:29:26 +01:00
Johannes Schickel 618adec7b0 OPENGL: Move color key handling for CLUT8 to TextureCLUT8. 2016-03-16 20:29:26 +01:00
Johannes Schickel db2917dde5 OPENGL: Fix texture format for BGR565. 2016-03-16 20:29:26 +01:00
Johannes Schickel 9844d89231 OPENGL: Move max texture size information to Context. 2016-03-16 20:29:26 +01:00
Johannes Schickel b081fe63e8 OPENGL: Create new abstraction for GL texture objects. 2016-03-16 20:29:26 +01:00
Johannes Schickel 5eb0ac0c9e OPENGL: Remove (some) unused GL definitions. 2016-03-16 20:29:26 +01:00
Johannes Schickel b8d79261ed OPENGLSDL: Request "standard" GL contexts.
Compatibility profiles only exist in modern OpenGL and we request an ancient
version.
2016-03-16 20:29:26 +01:00
Johannes Schickel 8a3eecb73a OPENGL: Unify shader implementation for GL and GLES2. 2016-03-16 20:29:25 +01:00
Johannes Schickel fc52f73050 OPENGL: Slightly cleanup programmable pipeline handling. 2016-03-16 20:29:25 +01:00
Johannes Schickel c7c870bf7f OPENGL: (Partly) move context specific handling to Context.
This does not include (most) shader setup, and projection matrices yet.
2016-03-16 20:29:25 +01:00
Johannes Schickel 5752f125e1 OPENGL: Make Context::reset explicitly reset state. 2016-03-16 20:29:25 +01:00
Johannes Schickel 1802c939a1 OPENGL: Slight simplifcation for opengl-func.h usage. 2016-03-16 20:29:25 +01:00
Johannes Schickel b7e64c6eeb OPENGLSDL: Destroy GL context on exit with SDL2. 2016-03-16 20:29:25 +01:00
Johannes Schickel d029f16799 OPENGL: Handle destruction gracefully when no context is setup. 2016-03-16 20:29:25 +01:00
Johannes Schickel fee1aa5502 OPENGL: Add support for shaders with GL contexts. 2016-03-16 20:29:25 +01:00
Johannes Schickel 19abd8ccbb OPENGL: Reset context description on context destroy. 2016-03-16 20:29:25 +01:00
Johannes Schickel 1c61e017a0 OPENGL: Reset full context structure. 2016-03-16 20:29:25 +01:00
Johannes Schickel fe88375ff3 OPENGL: Support GLES2 contexts. 2016-03-16 20:29:25 +01:00
Johannes Schickel e931018673 OPENGL: Typo. 2016-03-16 20:29:25 +01:00
Johannes Schickel c5ce812711 OPENGL: Simplify orthogonal projection setup. 2016-03-16 20:29:25 +01:00
Johannes Schickel 67e2790beb OPENGLSDL: Slight cleanup. 2016-03-16 20:29:25 +01:00
Johannes Schickel af727afe0c OPENGL: Simplify context type setting. 2016-03-16 20:29:25 +01:00
Johannes Schickel da062ad1ea OPENGLSDL: Try to use GL(ES) context SDL2 defaults to. 2016-03-16 20:29:25 +01:00
Johannes Schickel 2277144623 OPENGL: Support RGB555 for OpenGL ES output.
This mode should *not* be used by any new engines/code. If someone is going
to use it and says it works with the OpenGL output, please make them wear a
red uniform and beam them onto a remote planet.
2016-03-16 20:29:25 +01:00
Johannes Schickel d6d3e17d53 OPENGL: Allow runtime specification of OpenGL mode.
Formerly, we required that the OpenGL mode was fixed at compile time. Now we
allow the code to work with whatever it is given at runtime.

It is still possible to force a context type on compile time.
2016-03-16 20:29:25 +01:00
Johannes Schickel 9816e4f350 OPENGL: Remove support for ARGB8888.
This used to be used by Sword25. Since it is not supported by GLES and no
engine code uses it we drop support. Hopefully, this helps people to realize
they should not use that format in their engine.
2016-03-16 20:29:24 +01:00
Johannes Schickel e11f4df111 OPENGL: Rename GLCALL to GL_CALL. 2016-03-16 20:29:24 +01:00
Johannes Schickel 4a781737c1 OPENGL: Resolve OpenGL functions on run-time.
Formerly we relied on static linkage. However, in the presense of modern
OpenGL (ES) implementations it is not easily identifable which library to link
against. For example, on Linux amd64 with nVidia drivers and SDL2 setup to
create a GLES 1.1 context one would need to link against libGL.so. However,
traditionally GLES 1.1 required to link against libGLESv1_CM.so. To prevent a
huge mess we simply resolve the OpenGL functions on run-time now and stop
linking against a static library (in most cases).

GLES support needs to be enabled manually on configure time for now.

Tizen changes have NOT been tested.
2016-03-16 20:29:24 +01:00
Johannes Schickel b3b3d37e3b OPENGL: Define GLCALL in opengl-sys.h.
debug.h is now always included and all calls should be made through GLCALL.
2016-03-16 20:29:24 +01:00
Johannes Schickel 8f3783da09 OPENGL: Add functionality to query OpenGL functions on runtime.
This can and will be used for future extension usage support.

Tizen changes have been untested.
2016-03-16 20:29:24 +01:00
Johannes Schickel e5e234b864 OPENGL: Refactor GL extension handling slightly. 2016-03-16 20:29:24 +01:00
Eugene Sandulenko b5b88ffb22 WAGE: Added 5 more games to detect. Drakmyth Castle is a big game 2016-03-16 20:03:58 +01:00
Johannes Schickel cbef6d0342 SCUMM: Slight renaming for clarification. 2016-03-16 15:39:48 +01:00
Johannes Schickel 70ca4218df SCUMM: Check whether sound effects are active in Player_AD::getSoundStatus.
This fixes bug #7076 "LOOM: AdLib sound effect not stopped at Cygna's grave.".

Original SCUMM (I checked Monkey Island EGA) implemented Sound::isSoundRunning
by checking whether the sound resource of the requested sound id is locked. We
use actual sound state inside the player.
2016-03-16 15:31:16 +01:00
Martin Kiewitz 54756498bc SCI: Add workaround for restoring kq6 saved games (lowres/hires)
KQ6 CD sets a global depending on lowres/hires state right at the
start and some scripts are using it instead of calling kPlatform.
This causes some graphics to be incorrect (well lowres)
in case the user saves in lowres mode, then switches to hires
mode and restores the previously saved game.
We now set that global directly after restoring saved games,
so that this issue does not happen anymore.
KQ6 CD demo did the same.
2016-03-16 14:49:21 +01:00
Eugene Sandulenko fc6b1c39d9 WAGE: More games to detection, all have problems 2016-03-16 13:28:02 +01:00
Eugene Sandulenko 3608d7343c WAGE: Implement script command in debugger 2016-03-16 13:27:59 +01:00
Eugene Sandulenko c4471757b4 WAGE: Enhanced 'scenes' debug command 2016-03-16 13:27:59 +01:00
Eugene Sandulenko a25032eef9 WAGE: Put debugger in tilde key `~' 2016-03-16 13:27:59 +01:00
Paul Gilbert eaead0c6ae TITANIC: Starting to implement game view loading 2016-03-16 07:56:26 -04:00
Torbjörn Andersson 0a5a722b02 SAGA: Fix interface colors in French and German versions of IHNM
The same fix that had already been applied to the Spanish version
also applies to the French and German versions. (Judging by the
detection entries, there aren't any alternative versions so the
ones I got from GOG should be representative.)

The palettes aren't quite identical to the Spanish one, but I
think the remaining difference is for the spiritual barometer, so
the special case for that remains Spanish-only.
2016-03-16 06:16:44 +01:00
Paul Gilbert 6a26539abb TITANIC: Fleshing out resource key and view loading 2016-03-15 23:49:18 -04:00
Filippos Karapetis 5a547bd242 SCI32: Implement analyzeForRemap() 2016-03-16 01:51:09 +02:00
Filippos Karapetis 5be798c92f SCI32: Implement the remapping drawing functions 2016-03-16 01:51:09 +02:00
Filippos Karapetis 1f47766b60 SCI32: Implement analyzeUncompressedForRemap() 2016-03-16 01:51:08 +02:00
Filippos Karapetis f94ddfe5a6 SCI32: Spacing 2016-03-16 01:51:07 +02:00
Filippos Karapetis a393a1348a SCI32: Remove dead code related to priority map handling
The priority map is not used at all in SCI32 at the engine level by
design, so all the relevant code that handles picture priority is
pretty much dead
2016-03-16 01:51:07 +02:00
Filippos Karapetis b50d425387 SCI32: Global 12 contains the previous room 2016-03-16 01:51:06 +02:00
Filippos Karapetis 75527e3df5 SCI32: Remove getColorAtCoordinate()
The only calling code for this was removed in commit 3f2469c33e
2016-03-16 01:51:06 +02:00
Colin Snover bd81da1a6a SCI32: Initialise all scaler tables
Initialising only the first table means that if the first ratios
aren't 1:1 but the *second* ratios are 1:1, the second ratios will
read from an uninitialised table.
2016-03-15 14:30:57 -05:00