Commit Graph
6767 Commits
Author SHA1 Message Date
Bastien Bouclet fa0fa03de4 GUI: Fix the initial state of the aspect ratio checkbox 2016-10-21 20:53:42 +02:00
Bastien Bouclet 20f1e3a1c0 MYST3: Fix the sun spot rect not scaling to the native resolution
Fixes #1307.
2016-10-18 19:12:08 +02:00
Bastien Bouclet d530b4f6d1 MYST3: The monolingual versions of the game always use 0 as the language code 2016-10-18 13:10:56 +02:00
Bastien Bouclet 37e8792be3 VIDEO: Fix off-by-one check in VideoDecoder::getTrack 2016-10-17 08:06:24 +02:00
Bastien Bouclet 018e017550 DOCS: The game executable is no longer required to play Myst III 2016-10-16 11:23:13 +02:00
Bastien Bouclet 02f30c026b MYST3: Change detection to use the language files instead of the executables 2016-10-16 11:14:33 +02:00
Bastien Bouclet 19a8b11d85 MYST3: Initial version of the widescreen mod 2016-10-16 09:35:40 +02:00
Bastien Bouclet 1537ec2de2 MYST3: Change frameViewport to be in screen coordinates rather than OpenGl coordinates 2016-10-16 09:28:08 +02:00
Bastien Bouclet 5bb96c937a MYST3: Start moving some of the frame viewport code the the Scene class 2016-10-16 09:28:08 +02:00
Bastien Bouclet bb896d23bc MYST3: Fix the node init script being incomplete in myst3.dat 2016-10-16 09:26:00 +02:00
Sven Hesse 677f6f7e1f AUDIO: Fix undefined shift in WMACodec::calculateMDCTCoefficients()
See https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/a48b24e5ebdb21d25512ac481a1d396e7685f0a4
2016-09-30 06:20:01 +02:00
Bastien Bouclet 1a8773f3ab MYST3: Fix the keycode used to check for the easter eggs 2016-09-20 07:41:37 +02:00
Bastien Bouclet 20a7ce34ee MYST3: Add more end of stream checks to the script reading methods
Just to be on the safe side
2016-09-19 18:58:06 +02:00
Bastien Bouclet 10af864806 MYST3: Fix scripts sometimes reading past the end of stream in myst3.dat
Fixes #1303.
2016-09-19 17:49:38 +02:00
Bastien Bouclet 3ceada48ab MYST3: Make the v1.1 override file mandatory
All the game versions except the original US release come with that file.
2016-09-19 17:49:26 +02:00
Bastien Bouclet fd926e7a58 MYST3: Don't try to patch the language menu on all monolingual versions 2016-09-17 09:35:15 +02:00
Bastien Bouclet 16938a6aff MATH: Fix a member shadowing warning in the Ray class 2016-09-15 08:19:15 +02:00
Bastien Bouclet d891e2c828 MYST3: Fix build - Remove extra qualification 2016-09-15 08:09:59 +02:00
Bastien Bouclet ce1a5b1b0d Merge pull request #1298 from bgK/myst3-dat2
MYST3: Load scripts from a ResidualVM provided file
2016-09-15 08:01:34 +02:00
Vincent Pelletier 13ad766b31 Merge pull request #1294 from vpelletier/tinygl_memory
Tinygl memory
2016-08-27 04:58:56 +02:00
Vincent Pelletier c10e68fabb Merge pull request #1293 from vpelletier/tinygl_simplify_ztriangle
Tinygl: simplify ztriangle
2016-08-27 04:57:41 +02:00
Bastien Bouclet 5cd5ab191c BUILD: Remove support for decrypting SafeDisc binaries 2016-08-22 20:22:42 +02:00
Bastien Bouclet 21f5012fdd MYST3: Load script data from 'myst3.dat' instead of the game executable 2016-08-22 20:22:42 +02:00
Bastien Bouclet 9cc0513f69 DISTS: Add 'myst3.dat' version 1 2016-08-22 20:22:42 +02:00
Bastien Bouclet 30b79e14a6 DEVTOOLS: Add a tool to build myst3.dat 2016-08-22 20:22:42 +02:00
Bastien Bouclet 27cb3aab04 MYST3: Restore the charset conversion code
It was accidentally removed in 6f2bb118e6
2016-08-22 20:18:22 +02:00
Vincent Pelletier 112ca82363 TINYGL: Manage BlitImages with a refcount.
So that zdirtyrect can keep an image alive for longer than its creator
intended.
2016-07-28 23:32:43 +00:00
Vincent Pelletier 8cd029aac7 TINYGL: Add support for 4-bytes words in FrameBuffer::clear{,Region} 2016-07-28 23:29:17 +00:00
Vincent Pelletier 7e51d78480 TINYGL: Fix FrameBuffer::clearRegion color clearing line length. 2016-07-28 15:26:14 +00:00
Vincent Pelletier e7e1df886e TINYGL: Merge dead kInterpST code path into kInterpSTZ one.
Texture coordinates interpolation along Z coordinate is an extra behaviour
over texture coordinates interpolation along X and Y coordinates.
2016-07-28 02:46:41 +00:00
Vincent Pelletier a577b4c6a6 TINYGL: Free disposed textures before images.
Reusing function already defined in zdirtyrect.cpp doing both.
2016-07-28 01:55:48 +00:00
Vincent Pelletier 47a1e826e7 TINYGL: Free draw call lists in glClose. 2016-07-28 01:55:48 +00:00
Vincent Pelletier 3221146de9 TINYGL: Always initialise normal and eye coordinates (valgrind) 2016-07-28 01:55:48 +00:00
Vincent Pelletier 786311652a TINYGL: Initialise all light properties (valgrind).
Also, sort initialisation in the same order as declaration, for easier
difference-spotting.
2016-07-28 01:55:48 +00:00
Vincent Pelletier f272c85704 TINYGL: Initialise z buffer (valgrind) 2016-07-28 01:55:48 +00:00
Vincent Pelletier 369332e464 TINYGL: Treat alpha the same way as other color components.
When kLightsMode (aka kInterpRGB) is false, "a" is always 0 (vertice data is
not used in caller in corresponding branches), so taking it into account makes
all triangles transparent.
This is not visible in practice, because putPixelTextureMappingPerspective is
only called when (kInterpST || kInterpSTZ) is true, and kInterpRGB is always
true when that's the case. But unifying color processing allows further code
simplification.
2016-07-28 01:55:14 +00:00
Vincent Pelletier 0065f38251 TINYGL: Reuse global const. 2016-07-28 01:55:14 +00:00
Vincent Pelletier e1d5b811e1 Revert "GRIM: fixed transparency in TinyGL renderer"
This reverts commit b8bddf64da.

Since 9b7548ccf7, alpha test is enabled
when drawing model faces, fixing transparency issues in GRIM which were
corrected by reverted commit.
It is incorrect to test transparency when caller did not enable it.
Also, this change bypasses increments done at the end of
putPixelTextureMappingPerspective, so transparent textures in 16 bits mode
would be stuck on the transparent pixel for the current line's 8-pixel run
in filTriangle, and would ignore z coordinate.
2016-07-28 01:55:14 +00:00
Vincent Pelletier 8b6d362c58 TINYGL: Reuse _enableScissor property.
Should have been part of:
  commit db764b1ca5
  TINYGL: Entirely avoid calling scissorPixel in putPixel when possible.
2016-07-28 01:55:14 +00:00
Vincent Pelletier 18342118dc TINYGL: Fix y coordinate tracking when drawing triangles.
Increment y inside the loop, not outside.
Set y to the topmost vertex y coordinate, which depends on which half of
the triangle is being drawn.
Should have been part of:
  commit 3c2689a65f
  TINYGL: Optimise scissorPixel.

This does not (should not) fix any visible regression, as pixel scissor is
only (?) used when dirty rectangle mecanism is enabled (and it is disabled).
2016-07-28 01:55:10 +00:00
Bastien Bouclet d4a50ba13f MYST3: Don't display the last drawn subtitle when no phrase is found
Fixes #1291
2016-07-26 19:03:39 +02:00
Bastien Bouclet 0c87528e21 MYST3: Don't write directly to the TinyGL FrameBuffer
Fixes solar flares with TinyGL.
2016-07-24 11:16:08 +02:00
Bastien Bouclet 7de10fdafe MYST3: Add two missing sound calls in the resonance rings puzzle 2016-07-24 10:53:38 +02:00
Bastien Bouclet 043e6ffc30 MYST3: Don't allow entering the main menu while in script loops
Fixes #1288.
2016-07-24 10:52:48 +02:00
Bastien Bouclet 8d4854670c MYST3: Allow looking around in one more script game loop 2016-07-24 10:52:48 +02:00
Bastien Bouclet 409ee36841 MYST3: Decorrelate game ticks from the framerate 2016-07-24 10:52:48 +02:00
Paweł Kołodziejski 5ef3882080 Merge pull request #1270 from vpelletier/tinygl_32bits
Tinygl 32bits
2016-07-24 02:59:30 +02:00
Vincent Pelletier 33036790cb SDL: Accept 32bits video mode.
Now that TinyGL supports 32bits final framebuffer.
In SDL1, let SDL decide between 16 and 32.
In SDL2, create 32bits texture & surface.
2016-07-24 02:35:53 +02:00
Vincent Pelletier 0a41574079 TINYGL: Process colors in RGBA 32bits internaly. 2016-07-24 01:20:50 +02:00
Pawel Kolodziejski 82bc17b63a ALL: Fixed compiler warnings 2016-07-23 19:08:22 +02:00