aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
AgeCommit message (Collapse)Author
2019-06-30SCI32: Extend scaler sanity checks to all SCI32 versionsFilippos Karapetis
Fixes QFG4 bug #10765. It's preferable to have sanity checks in the code, rather than crashing due to invalid draw rectangles from buggy game scripts. It's no use checking which specific interpreter versions had sanity checks and trust the game scripts of the other interpreters. Thus, it's easier and safer to always enable these sanity checks.
2019-06-23SCI: Split out duplicated color remapping codeKawa-oneechan
2019-06-23SCI: Add some more SCI11+ featuresKawa
Also gate them behind the presence of a 184.VOC resource instead of GID_CATDATE. This should not matter with regards to the remap effects -- the 2015 and 2016 demos had none, and the first that did has an unknown release status. Only the 2017 demo would fall, which would be easily fixed by dropping in a valid 184.VOC patch file.
2019-05-27SCI: Fix MSVC warningsFilippos Karapetis
- Remove unused parameters - Initialize potentially uninitialized variables - Use Common::String instead of a fixed buffer - Remove redundant parentheses - Change float suffix to be uppercase - Fix spacing - Fix integer left shifts with boolean variables - Fix potential division by zero - Fix missing breaks
2019-05-12SCI: Remove unnecessary two-phase GfxCursor initialisationColin Snover
2019-05-01SCI: Handle recursive view loop referencessluicebox
Fixes bug #10953 in FPFP
2019-04-01SCI: Fix Mac icon bar event handlingsluicebox
Fix mouse presses falling through the icon bar in KQ6 and FPFP Mac
2019-03-29SCI: Fix kAddMenu language separator parsingsluicebox
Fixes bug #10926 that prevents SQ3 German Amiga from loading
2019-03-25SCI: Fix Mac icon bar crash on restart (KQ6, FPFP)sluicebox
Add support for reinitializing the mac icon bar when restarting. Restarting runs the game's init script which calls KPlatform again. Prior to this, restarting these games would fail an assertion.
2018-12-28SCI32: Add feature detection for plane id baseLars Skovlund
This provides a generic fix for AddScreenItem crashes in early SCI32 floppy games that have previously required individual script patches.
2018-12-27SCI32: Fix regression in VMD playerFilippos Karapetis
2018-12-05SCI: Fix incorrect ifdef name in Video32Colin Snover
2018-12-03SCI: fix full view remap effect (#1432)Kawa
2018-12-02SCI: Add support for The Dating Pool (#1403)Kawa
2018-11-13SCI: Fix Fall Through Compiler Warnings.D G Turner
2018-10-25SCI32: Add support for upscaling VMD videosFilippos Karapetis
This feature can be used for the Windows version of KQ7, as well as PQ:SWAT
2018-08-25SCI32: Adapt the pathfinding debug code to work woth SCI32 gamesFilippos Karapetis
2018-08-21SCI32: Fix fade-in for some screens in Hoyle 5Filippos Karapetis
2018-06-29SCI: Use LarryScale in games that support it, not just LSL7Torbjörn Andersson
This is the solution discussed in bug #10568 ("SCI: PHANT1: Crash on startup"). I believe that it's the correct solution, and that ScummVM will do the right thing, but I'm not 100% sure.
2018-06-15SCI32: Only enable larry scaler for LSL7David Fioramonti
Fixes Trac#10568.
2018-06-03Merge pull request #1141 from DanielSWolf/larryscaleThierry Crozat
SCI: High-quality "LarryScale" cel scaler for LSL7
2018-04-22SCI: Change workaround for PalVary / Animate race conditionWillem Jan Palenstijn
The new approach is to delay kAnimate briefly (with an 68ms timeout) while there is a zero-tick PalVary running, so that it has time to trigger. The previous workaround would immediately process a zero-tick PalVaryInit/PalVaryReverse. This caused problems in QfG3 (bug #10304) where it interfered with PalVaryPause. The previous workaround could also be modified to handle pause/resume, but this new approach should be closer to SSCI's behaviour, which used a timer for a zero-tick PalVary too. This fixes bug #10304, and keeps #5298 fixed too.
2018-03-23JANITORIAL: Silence GCC warningAdrian Frühwirth
2018-03-16SCI: Add game option for enabling/disabling LarryScale in LSL7Daniel Wolf
All other SCI games continue using the default scaler.
2018-03-16SCI: Use LarryScale cel scaler instead of nearest-neighborDaniel Wolf
2017-11-19SCI: Fix UB shifting negative integersColin Snover
2017-10-15SCI32: Tell OSystem to show/hide cursors as appropriateColin Snover
This is needed so that the system cursor can be appropriately hidden outside the game's draw area, to match the normal behaviour of ScummVM.
2017-10-07ENGINES: Remove default1x scaler flagColin Snover
This flag is removed for a few reasons: * Engines universally set this flag to true for widths > 320, which made it redundant everywhere; * This flag functioned primarily as a "force 1x scaler" flag, since its behaviour was almost completely undocumented and users would need to figure out that they'd need an explicit non-default scaler set to get a scaler to operate at widths > 320; * (Most importantly) engines should not be in the business of deciding how the backend may choose to render its virtual screen. The choice of rendering behaviour belongs to the user, and the backend, in that order. A nearby future commit restores the default1x scaler behaviour in the SDL backend code for the moment, but in the future it is my hope that there will be a better configuration UI to allow users to specify how they want scaling to work for high resolutions.
2017-10-06SCI32: Clean up scriptWidth/scriptHeight/screenWidth/screenHeightColin Snover
This removes the unnecessary Buffer subclass and stops most places where the output buffer was being interrogated about dimensions instead of GfxFrameout.
2017-10-06SCI32: Remove resolved TODO in helpers.hColin Snover
2017-10-06SCI32: Clean up CelObjColin Snover
* Rewrap comments to 80 columns * Clarify comments where possible * Use smart pointers where appropriate * Change view/pic flags detection to always use word-size (byte-size check for flag 0x80 was a compiler optimisation)
2017-10-06SCI32: Clean up GfxControls32Colin Snover
* Rewrap comments to 80 columns * Clarify comments where possible * Fix whitespace errors
2017-10-06SCI32: Rewrap comments to 80 columns in lists32.hColin Snover
2017-10-06SCI32: Clean up GfxPaint32Colin Snover
* Rewrap comments to 80 columns
2017-10-06SCI32: Clean up PlaneColin Snover
* Rewrap comments to 80 columns * Clarify comments where possible
2017-10-06SCI32: Clean up GfxRemap32Colin Snover
* Rewrap comments to 80 columns * Clarify comments where possible
2017-10-06SCI32: Clean up GfxText32Colin Snover
* Rewrap comments to 80 columns * Clarify comments where possible
2017-10-06SCI32: Clean up GfxFrameoutColin Snover
* Rewrap doxygen comments to 80 columns * Swap public/private sections so public APIs come first * Clarify comments where easily possible
2017-10-06SCI32: Clean up Video32Colin Snover
* Rewrap comments to 80 columns * Clarify comments where appropriate
2017-10-06SCI32: Clean up GfxCursor32Colin Snover
* Rewrap doxygen comments to 80 columns * Renamings for clarity * Deduplicate copy/paint code
2017-10-06SCI32: Clean up GfxTransitions32Colin Snover
* Use containers where appropriate * Re-wrap doxygen comments to 80 columns * Clarify comments for parts of the engine that are understood now but were not understood at the time of the initial implementation
2017-10-06SCI32: Clean up ScreenItemColin Snover
* Rewrap comments to 80 columns * Clarify comments where possible * Use smart pointers where appropriate
2017-10-06SCI32: Clean up GfxPalette32Colin Snover
* Replace raw pointers with smart pointers * Use references instead of const pointers where appropriate * Tweak initialisation * Tweak palette copies to the stack
2017-10-02SCI32: Always sort kernel-generated screen items above script-generated ↵Colin Snover
screen items in last-ditch sort Fixes Trac#10257. Fixes Trac#10261.
2017-09-30SCI32: Stop trying to clean up uninitialized VMDsColin Snover
Fixes Trac#10252.
2017-09-30SCI32: Fix support for RAMA demoColin Snover
Fixes Trac#10251.
2017-09-29SCI32: Fix bad text rendering in RAMAColin Snover
In SCI3, Sierra removed the ability of the main renderer to automatically scale CelObjs with different source resolutions. Instead, in SCI3, all CelObjs are treated as having the same resolution as the screen (i.e. 640x480). In all SCI3 games other than RAMA, keeping the code paths for resolution-dependent scaling is not a problem because all the assets and game code are correctly designed to use the same 640x480 resolution throughout. RAMA, on the other hand, was written with the text subsystem set to a resolution of 630x450 (Phant1's screen resolution), and in SSCI, resolution-dependent scaling code was not removed from the *text* subsystem. As a result, RAMA's game scripts rely on the slightly larger scaled dimensions coming out of the text system when determining the size of screen items for rendering, and then also rely on the main renderer ignoring the 630x450 resolution baked into the bitmaps generated by the text subsystem when drawing them to the screen.
2017-09-27SCI: Remove old SCI32 view scaling code from SCI16 graphics codeColin Snover
2017-09-27SCI: Do some clean-up of event handling systemColin Snover
Convert macros and vars to enums, rename keyboard events in preparation for adding key up events, clean up unnecessary nested conditionals, add TODOs for potential future work.
2017-09-27SCI32: Fix backwards palette checkColin Snover