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