Commit Graph
137148 Commits
Author SHA1 Message Date
Vincent Pelletier 21c3d9234f GRIM: Delete emergency font before calling glClose.
So TinyGL knows it can free underlying structures.
2016-07-18 04:36:37 +02:00
Vincent Pelletier db8cee2a69 TINYGL: Free BlitImage memory on close. 2016-07-18 04:36:37 +02:00
Vincent Pelletier 97dc3881e0 TINYGL: Add free_texture variant taking a GLTexture * argument.
To avoid looking texture up in the hash table when caller has a pointer to
it already. Aka, O(0) is better than O(1).
2016-07-18 04:34:09 +02:00
Paul Gilbert 020655a6f3 TITANIC: Adding CStarControlSub12 methods 2016-07-17 21:26:03 -04:00
Paul Gilbert 87db74d771 TITANIC: Adding CStarControlSub12 methods 2016-07-17 20:18:20 -04:00
Paul Gilbert 011286d4b8 TITANIC: Extra construction for CStarControlSub12 2016-07-17 16:43:53 -04:00
Paul Gilbert 9e14d4a566 TITANIC: Added CStarControlSub12 setupHandler 2016-07-17 16:01:49 -04:00
Paul Gilbert 90f2cce0b9 TITANIC: Start of starfield rendering 2016-07-17 15:40:07 -04:00
Bastien Bouclet 5cf904e8bc MYST3: Several fixes for the Amateria pinball puzzle
- The puzzle was running at double speed. Fixes #1277.
- The rotation sound effect was restarted on each frame.
- The puzzle was not showing the reset animation after the ball expiration.
2016-07-17 21:17:16 +02:00
Bastien Bouclet db73881d4d MYST3: Fix the sound fade out opcode 2016-07-17 21:16:13 +02:00
Bastien Bouclet 18b0e3e38e MYST3: Only play looping sounds if they are not already playing 2016-07-17 21:15:48 +02:00
Paul Gilbert 816b99f5a6 TITANIC: Added CStarField support methods 2016-07-17 13:26:22 -04:00
Paul Gilbert 789760295d VIDEO: Add titanic to list of engines using AVIDecoder 2016-07-17 13:10:07 -04:00
Paul Gilbert 29c87fe375 TITANIC: Renamed CStarControlSub12 to CStarField 2016-07-17 13:10:04 -04:00
Paul Gilbert c4e3cd87ab TITANIC: Finished startfield initDocument 2016-07-17 13:10:01 -04:00
Paul Gilbert dee69e2069 TITANIC: Renaming of star point classes 2016-07-17 13:09:59 -04:00
Paul Gilbert 0118919d35 TITANIC: Further work on DMatrix 2016-07-17 13:09:56 -04:00
Paul Gilbert 1b06a9294a TITANIC: Setup of CStarControlSub6 class 2016-07-17 13:09:54 -04:00
Paul Gilbert e674116edb TITANIC: More FVector methods 2016-07-17 13:09:51 -04:00
Paul Gilbert 9b1efa3bf5 TITANIC: Added FMatrix methods 2016-07-17 13:09:49 -04:00
Paul Gilbert e1695101bc TITANIC: Beginnings of matrix and vector classes 2016-07-17 13:09:46 -04:00
Paul Gilbert 7553b81d86 TITANIC: Some star control class definitions 2016-07-17 13:09:44 -04:00
Paul Gilbert ce7e2c80d6 TITANIC: Further star control class stubs 2016-07-17 13:09:41 -04:00
Paul Gilbert 7b331771ca TITANIC: Beginnings of CStarControlSub15 class 2016-07-17 13:09:39 -04:00
Paul Gilbert 6331e3814a TITANIC: Fleshing out & fixes for video surface blit methods 2016-07-17 13:09:36 -04:00
Paul Gilbert b843b2fd33 TITANIC: Fix memory leak in image decoders 2016-07-17 13:09:34 -04:00
Paul Gilbert 1986fa6e83 TITANIC: Fixes for mouse cursor/movie frame handling 2016-07-17 13:09:32 -04:00
Paul Gilbert f92f2243fd TITANIC: Fix star control points 2 loading 2016-07-17 13:09:29 -04:00
Paul Gilbert 6b250453f9 TITANIC: Further implementation of movie frame decoding 2016-07-17 13:09:27 -04:00
Paul Gilbert 513723c82d TITANIC: Making the AVISurface frameInfo a video surface 2016-07-17 13:09:24 -04:00
Paul Gilbert c458c3c9b7 TITANIC: Fix warnings in AVISurface 2016-07-17 13:09:22 -04:00
Paul Gilbert bb2d290dca VIDEO: Handle STRN chunks in AVI file streams to set stream name 2016-07-17 13:09:20 -04:00
Paul Gilbert 8a6bba0fec TITANIC: Change AVISurface to use a separate AVIDecoder for each video track 2016-07-17 13:09:17 -04:00
Paul Gilbert fa6e12aaab VIDEO: Add support for a track filtering callback function
This is needed for Starship Titanic, where videos can have a secondary
video track. It was simpler to use the callback as a means to select
one video track each across two decoders than trying to make VideoDecoder
and/or AVIDecoder support decoding from multiple video tracks simultaneously
2016-07-17 13:08:31 -04:00
Bastien Bouclet e3493f7467 MYST3: Prevent events consumed to enter a save name to be used a second time
Fixes #1274.
2016-07-17 17:30:47 +02:00
Bastien Bouclet 6a24f82812 MYST3: Fix spotitems with multiple images per face
Fixes #1273
2016-07-17 17:30:47 +02:00
Vincent Pelletier 306fdff963 TINYGL: Dispose of textures beyond the first hash table entry. 2016-07-17 15:06:30 +00:00
Vincent Pelletier 95cc5127e0 TINYGL: Consistently consider Texture::handle as unsigned.
Texture handles are unsigned integers everywhere else.
2016-07-17 15:06:30 +00:00
Paweł Kołodziejski 83f4434bff Merge pull request #1272 from vpelletier/tinygl_videoleak
GRIM: Reuse existing blit image.
2016-07-17 09:12:59 +02:00
Robert Crossfield 1a880c748c SCUMM: Maniac V0: Clear the text area of the screen on fade out 2016-07-17 16:40:49 +10:00
Vincent Pelletier c4d884967c GRIM: Reuse existing blit image.
Fixes a memory leak when playing videos: each frame would leak as the
previous one does not get reused or freed.
2016-07-17 06:38:35 +00:00
Vincent Pelletier ed2fdb3aba TINYGL: Correct dot-product after its sign is known.
Normalising d when light is not in front of surface (nor behind when in
two-sides mode) is not needed as the value will not be used.
The same optimisation is already done when handling specular lights.
Also, remove "if (... > 1E-3)" conditions: as dot-product is not zero,
neither operand is zero, so this test (as a divide-by-zero protection) can
be removed.
2016-07-16 14:38:41 +00:00
Vincent Pelletier f66026a8aa TINYGL: Only do spotlight & specular computations when actually needed.
Spotlight and specular requires normalized d.
Skip specular if the light source or the material have no specular
component.
2016-07-16 12:17:59 +00:00
Vincent Pelletier 411e16fba5 TINYGL: Fix default diffuse and specular values for lights > 0. 2016-07-16 12:17:59 +00:00
Bastien Bouclet 9f3a5258d5 VIDEO: Fix seeking Bink videos with audio data
Fixes #1038, #1248
2016-07-16 09:58:16 +02:00
Bastien Bouclet 34700ff531 Merge pull request #1268 from vpelletier/tinygl_simplify_updatetmp
TINYGL: Simplify a bit updateTmp .
2016-07-16 07:10:50 +02:00
Paul Gilbert 207e1cbb29 TITANIC: Remove old hard-coded video loading code from cursors loading 2016-07-15 19:27:44 -04:00
Paul Gilbert 62f2763bf7 VIDEO: Respect RIFF filesize field when decoding AVI files
Starship Titanic in particular needs this, since some of the videos
have extra junk at the end of the file, such as ycursors.avi,
and parsing fails if we don't respect the filesize field
2016-07-15 19:27:42 -04:00
Paul Gilbert fd954a8e0b TITANIC: Added OSVideoSurface flipVertically 2016-07-15 19:27:40 -04:00
Paul Gilbert 6c56d5aa11 TITANIC: Named two remaining OSMovie virtual methods 2016-07-15 19:27:37 -04:00