Commit Graph
137148 Commits
Author SHA1 Message Date
Vincent Pelletier 49259659e1 GRIM: Enable blending around Graphics::tglBlit calls.
For some reason blending happens in RGB565 even without blend enabled.
Prepares for 32bits color support.
2016-07-23 17:46:01 +02:00
Paul Gilbert 71b76acc63 TITANIC: Fixes and simplification of AVISurface 2016-07-23 11:38:39 -04:00
Paul Gilbert 9c5f3c305a TITANIC: gcc compilation fix 2016-07-23 10:37:04 -04:00
Ori Avtalion 4d120800fa ALL: Don't use 'defined' in macro definitions
This is undefined behavior and clang warns about it.
See <http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160118/147239.html>.
2016-07-23 16:18:51 +03:00
Paul Gilbert 4bad949717 TITANIC: Add Continue Save dialog slots rendering and selection 2016-07-23 09:13:55 -04:00
Paul Gilbert 9a69ee3f44 TITANIC: Fix redrawing CPetText after line colors are changed 2016-07-23 09:13:00 -04:00
Paweł Kołodziejski 09c1f609be Merge pull request #1289 from residualvm/revert-1221-material_embedded_colormaps
Revert "GRIM: Adds support for loading embedded colormaps."
2016-07-23 14:14:26 +02:00
Paweł Kołodziejski c138bfe777 Revert "GRIM: Adds support for loading embedded colormaps." 2016-07-23 14:14:03 +02:00
Paweł Kołodziejski 10772a9b62 Merge pull request #1221 from vpelletier/material_embedded_colormaps
GRIM: Adds support for loading embedded colormaps.
2016-07-23 14:02:00 +02:00
Paweł Kołodziejski ac9986452e Merge pull request #1279 from vpelletier/tinygl_reunroll
TINYGL: reduce code duplication in ztriangles (was: [RFC] TINYGL: unroll some loops)
2016-07-23 13:59:14 +02:00
Paweł Kołodziejski b879148a34 Merge pull request #1286 from vpelletier/tinygl_unroll_offscreen_blit
TINYGL: Unroll FrameBuffer::blitOffscreenBuffer.
2016-07-23 13:49:42 +02:00
Paul Gilbert 8f43f2a7a5 TITANIC: Setting up Continue Save dialog slot names list 2016-07-22 23:48:56 -04:00
Paul Gilbert 7821b84659 TITANIC: Add button handling and evil twin to Continue Save dialog 2016-07-22 22:42:46 -04:00
Paul Gilbert 21e4d6686f TITANIC: Beginnings of Continue Save dialog 2016-07-22 21:56:16 -04:00
Paul Gilbert 7f05cfad13 DEVTOOLS: Save create_titanic bitmap resources with correct bitmap headers 2016-07-22 21:55:36 -04:00
Paul Gilbert 4f08292c8c TITANIC: Add support for arbitrary window event targets
Also moved all standard game event methods to CMainGameWindow. This
will allow for the Continue Save dialog to be added in and get
events instead of the game window
2016-07-22 21:54:48 -04:00
Eugene Sandulenko 2e4dd165e9 FULLPIPE: Renames in MovGraph 2016-07-23 01:01:20 +03:00
Eugene Sandulenko f68ef3ce28 FULLPIPE: Renames in Behavior code 2016-07-22 22:33:34 +03:00
Bastien Bouclet a0dad6c8c7 Revert "SDL: Use consistent mouse grabbing API when building with SDL2"
This reverts commit 74e99a8a62.
2016-07-22 21:18:39 +02:00
Bastien Bouclet 797d8767cb MYST3: Pause all the movies when the engine is paused
Prevents the movies from going too fast after returning from the GMM.
2016-07-22 21:17:34 +02:00
Bastien Bouclet 74e99a8a62 SDL: Use consistent mouse grabbing API when building with SDL2
SDL_SetWindowGrab is also used by SdlWindow::toggleMouseGrab.
Fixes the mouse cursor visibility in the GMM in Myst III.
2016-07-22 20:44:33 +02:00
Paul Gilbert 03b45f44df TITANIC: Workaround for original using destroyed objects after save load
The original loads savegames by loading a new project hierarchy and then
deleting and replacing the existing one. This means that objects in the
original project, such as the PET control, are destroyed, leaving the
remainder of the PET code that called load operating on destroyed objects.

This workaround instead flags for a load to be done, and adds new code in
the game manager to take care of it. This way, the remainder of the PET
event handling can finish first, and it will be then safe to destroy the
original game project (including PET) and load the new savegame.
2016-07-22 13:28:32 -04:00
Paul Gilbert 41a3c83bc6 TITANIC: Fleshing out PET RealLife Load functionality 2016-07-22 12:44:14 -04:00
Vincent Pelletier 80983c1b69 TINYGL: Unroll FrameBuffer::blitOffscreenBuffer.
This method is used to blit large buffers, so a large unrolling is still
beneficial. As it is the second hottest-spot in grim, the frame rate
increase is most significant there (compared to emi).
2016-07-22 14:58:58 +02:00
Vincent Pelletier cf53e8871d TINYGL: Unroll DRAW_SHADOW and DRAW_SHADOW_MASK.
Also, update z in the second DRAW_SHADOW loop like it is done in the first.
Also, check each shadow mask pixel in DRAW_SHADOW, instead of 1 every 4.
2016-07-22 14:49:16 +02:00
Eugene Sandulenko 499e5ab3ea GUI: Fix regression in multicolumn PopUp widget 2016-07-22 14:36:00 +03:00
Paweł Kołodziejski 9b8c5a8e06 Merge pull request #1283 from vpelletier/tinygl_avoid_memset_sl
TINYGL: Avoid calling memset_{s,l} when possible.
2016-07-22 07:49:47 +02:00
Lothar Serra Mari df009e9e59 NEWS: Mention BASS fixes for the Officer Blunt bug 2016-07-22 07:20:40 +02:00
Vincent Pelletier 93c6dc6027 TINYGL: Avoid calling memset_{s,l} when possible.
It is possible to convert calls to memset_{s,l} into call to memset when
all bytes of the depth or color value are the same (which is the likely
case), improving buffer clearing speed.
2016-07-22 07:19:48 +02:00
Paweł Kołodziejski 74ffd37dbe Merge pull request #1278 from vpelletier/tinygl_scissorpixel
Tinygl: optimise scissorpixel
2016-07-21 21:57:05 +02:00
Bastien Bouclet 79547a9a21 GRIM: Add the fallback functions to lua when initializing for the second time
Fixes saving after returning to launcher and running the game a second time.
2016-07-21 21:41:17 +02:00
Bastien Bouclet 43d50064d6 GRIM: Don't override the global ResidualVM menu using the game main menu 2016-07-21 21:20:30 +02:00
Paweł Kołodziejski 4dc540ffeb Merge pull request #1280 from vpelletier/graphics_optimise_pixelops
GRAPHICS: Optimise PixelBuffer::getValueAt and PixelBuffer::setPixelAt.
2016-07-21 21:01:09 +02:00
Bastien Bouclet 358e578606 GRIM: Mark the engine options as translatable 2016-07-21 20:25:48 +02:00
lavosspawn 4d94bdc064 Verified the sky.cpt file that digitall provided in https://sourceforge.net/p/scummvm/bugs/2687/
The contained data corresponds to Revolution's original assembly sources, scummvm's initial file contained one incorrect reference.
This will stop Officer Blunt from swimming in the lake without any further sideeffects.
2016-07-21 19:24:31 +02:00
lavosspawn e40b4850f7 Modified compact implementation to work around bug
https://sourceforge.net/p/scummvm/bugs/2687/
when playing Beneath a Steel Sky with our (slightly broken) sky.cpt
2016-07-21 19:14:46 +02:00
Paweł Kołodziejski 4ffde5f680 Merge pull request #1282 from vpelletier/tinygl_loaddata_pixelformat
TINYGL: Expect colorKey in the same pixel format as surface.
2016-07-21 18:30:02 +02:00
Paweł Kołodziejski 08e053dcab Merge pull request #1284 from vpelletier/grim_savegame_pixelformat
GRIM: Convert save game image to original pixel format.
2016-07-21 18:25:50 +02:00
Paweł Kołodziejski 376e21a219 Merge pull request #1285 from vpelletier/tinygl_janitorial
Tinygl janitorial
2016-07-21 17:15:31 +02:00
Vincent Pelletier 46329cca87 TINYGL: Do not compute dirty region when its result is not used. 2016-07-21 16:42:24 +02:00
Vincent Pelletier d2defcd1cc TINYGL: Actually check if alpha test and blending are enabled. 2016-07-21 16:42:10 +02:00
Vincent Pelletier a1418732ec TINYGL: Typo in disabled code. 2016-07-21 16:41:24 +02:00
Vincent Pelletier 8ec310468d TINYGL: Replace multiplications by iterative additions.
As an iteration is done already anyway.
2016-07-21 16:41:18 +02:00
Vincent Pelletier a831238a96 TINYGL: Drop some unused locals. 2016-07-21 16:40:36 +02:00
Vincent Pelletier 4ff03d060e TINYGL: Call tglColor4f from tglColor4fv. 2016-07-21 16:40:07 +02:00
Vincent Pelletier d437892538 TINYGL: Get rid of PSZB as it duplicates pixelbytes. 2016-07-21 16:39:40 +02:00
lavosspawn 7874f517f7 Fix for bug #2687: BASS: Officer blunt wrong animation
This is the corresponding source change to create a fixed sky.cpt binary. The binary is exactly the same as the manually patched one attached to the bug ticket.
In order to fix the bug while beint least invasive, I suggest replacing the binaries (the one from the ticket should be the new, official binary) and we will put a workaround in the code anyways to deal correctly with potentially outdated binaries floating around the web and linux distributions.

The error was initially introduced with the long term conversion of Revolution's assembly sources to C++ sources, then to textual resource data and then a precompiled binary.
2016-07-21 16:37:29 +02:00
Vincent Pelletier e1b414e50a GRIM: Convert save game image to original pixel format.
Pixel format does not seem to be stored in save game, so when loading a
save game produced in 32 bits mode it appears corrupted. So, to preserve
backward compatibility, convert to 16bits format before storing.
2016-07-21 16:31:09 +02:00
Vincent Pelletier 7c1a15c6e8 TINYGL: Expect colorKey in the same pixel format as surface.
So caller does not have to depend on the pixel format used internally to
BlitImage.
Update callers which do request for color keying (GRIM/EMI only).
Also, remove a special-casing of transparent color when converting image
format which sets a color in a packed format independent from actual
destination format.
Also, in GfxTinyGL::createTextObject, prefer changing invisible colorKey
value than actually-visible color.
2016-07-21 16:17:32 +02:00
Vincent Pelletier db764b1ca5 TINYGL: Entirely avoid calling scissorPixel in putPixel when possible. 2016-07-21 16:02:22 +02:00