aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kgraphics.cpp
AgeCommit message (Collapse)Author
2019-03-19SCI: Apply SQ4 timing workaround to non-VGA versionssluicebox
Fixes bug #6193 by applying the SQ4 floppy kPaletteAnimation timing workaround from 99de89c974fc24bf58b034842750e522d7d441d4 to versions with less than 256 colors. This includes DOS EGA, PC-98, and Amiga. This also patches out the intro script's workaround that uses different timing in EGA mode, as this is incompatible with ours and makes the intro screen last over 3 minutes instead of 5 seconds.
2018-12-02SCI: Add support for The Dating Pool (#1403)Kawa
2018-03-23JANITORIAL: Silence GCC 7 fallthrough warningAdrian Frühwirth
This wasn't explicitly marked as intentional but it very much looks it. Committing separately in the unlikely case this needs to be reverted.
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-24SCI: Remove Mac SCI32 code from SCI16 codeColin Snover
2017-09-23SCI: Clean-ups to file handling codeColin Snover
Preparations for adding support for RAMA's custom save game format.
2017-09-19SCI: Stop EngineState::wait mutating r_accColin Snover
This wait function is used by kernel calls other than kWait, and those other functions do not mutate r_acc in SSCI.
2017-05-08SCI: Translate messages passed to dialoguesColin Snover
2017-04-22SCI: Implement delayed restore for SCI32 and move implementations to ↵Colin Snover
GuestAdditions
2017-04-22SCI: Clean up unnecessary delayed restore flagsColin Snover
_delayedRestoreGame is always set and cleared at the same time as _delayedRestoreGameId, and _delayedRestoreFromLauncher is written but never read.
2017-02-05SCI: Fix more unsafe C-string usageColin Snover
2017-01-31SCI: Add more comments to SQ4-floppy workaroundTarek Soliman
I did a full-score playthrough of the game with a warning() on the workaround condition as m_kiewitz suggested. The following room numbers were logged: * room#1: intro logo * room#21: time rip (intro and ending) * room#531: time pod time travel * room#290: astro chicken star background * room#376: right after astro chicken game over (called only once)
2017-01-31SCI: Expand workaround for script bug #3537232Tarek Soliman
More details in PR#889
2016-10-09JANITORIAL: Remove trailing spacesEugene Sandulenko
2016-08-19SCI32: Remove GfxScreen from SCI32Colin Snover
2016-06-26SCI32: Fix broken Remap implementationColin Snover
Remap would crash SCI2.1early games with 19 remap slots, and did not actually work in most cases in SCI2.1mid+ games. The SCI16 implementation was moved to its own separate file but was otherwise touched as little as possible, so may still have similar problems to the SCI32 code. 1. Split SCI16 and SCI32 code into separate files 2. Use -32 prefixes for SCI32 code and no prefix for SCI16 code, where possible, to match other existing code 3. Avoid accidental corruption of values from the VM that may be valid when signed or larger than 8 bits 4. Added documentation 5. Add missing remap CelObj calls 6. Inline where possible in performance-critical code paths 7. Fix bad `matchColor` function, and move it from GfxPalette to GfxRemap32 since it is only used by GfxRemap32 8. Fix bad capitalisation in getCycleMap 9. Remove unnecessary initialisation of SingleRemaps 10. Update architecture to more closely mirror how SSCI worked 11. Clarify the purpose of each type of remap type (and associated variable names) 12. Split large `apply` function into smaller units 13. Fix buffer overrun when loading a SCI2.1early game with remap 14. Remove use of `#define` constants 15. Warn instead of crashing with an error on invalid input (to match SSCI more closely) 16. Change the collision avoidance mechanism between the RemapType enum and remap kernel functions 17. Add save/load function
2016-03-11SCI32: Initial implementation of kRemapColorsFilippos Karapetis
applyRemap() is still not finished, so nothing is actually visible yet
2016-03-10SCI32: Use correct name of kCantBeHere kernel functionColin Snover
Only updating SCI32 names here due to not knowing about the correctness of the SCI16 code.
2016-03-10SCI32: Use separate function for SCI32 version of kCantBeHereColin Snover
Requested by @m-kiewitz.
2016-03-10SCI32: Implement kSetNowSeenColin Snover
2016-03-08SCI: Split color remapping functionality into a separate classFilippos Karapetis
Currently, only the SCI16 remapping functionality is implemented (used in the QFG4 demo)
2016-02-28SCI32: Non-titled text bitmap implementationColin Snover
This implementation is not 100% engine accurate, but it is more accurate than what was there, and hopefully the differences between this and the engine code are merely cosmetic. The known (intentional) differences are: 1. Uses ScummVM rects inside the engine code, converting to/from SCI rects on the kernel edges and when scaling 2. Fewer side effects when performing operations that *should* have been pure from the start (like text dimension calculation). Still not side-effect-free, but at least things like colours and alignment do not need to be reset every time a measurement is taken, unlike in the actual engine. Editor controls and some other kBitmap code are temporarily disabled as a result of changes to GfxText32 until they can be updated to be engine-accurate.
2016-02-21SCI32: Fix save patching for ScummVM dialogMartin Kiewitz
- Patch game super object for saving instead of game object - Remove re-adding planes+screen items, game::replay does that We would only have to do that for soft-failing on restore - Change debug levels of kNumLoops/kNumCels to 9 - Add special comment about -info- selector in syncWithScripts() This should now make ScummVM menu saving work properly at least in SQ6.
2016-01-07SCI32: Add initial support for palette cycling (kPalCycle) and fading (kPalFade)Colin Snover
Graphics palette code was rewritten between SCI1 and SCI2, so SCI32 palette engine code has been moved to a separate GfxPalette32 class.
2015-04-26SCI: implement delayed restore via ScummVM menuMartin Kiewitz
will delay restoring a saved game until the next kGetEvent or kWait also implement aborting playback for kPortrait and kShowMovie
2015-04-13SCI: add french qfg3 export filename for fixMartin Kiewitz
Sierra translator translated the filename
2014-11-04SCI: fix Japanese Space Quest 4 (intro + buttons)Martin Kiewitz
At least SQ4 uses #j text prefix as signal for the interpreter to not use the PC9801 hires font, but to use the internal low res font instead
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-11SCI: Add detection for Torin MacMatthew Hoops
2013-04-16SCI: Fix potential memory leak with Mac cursor's hotspotMatthew Hoops
2013-01-11SCI: Add subop 9 of kPalVary (used in SCI32, e.g. QFG4 when exiting the caves)Filippos Karapetis
2012-07-24SCI: Cleanup of the palette remapping codeFilippos Karapetis
2012-07-24SCI: More work on color remappingFilippos Karapetis
More transparency/color mapping effects are now working (e.g. the flashlight at the Gedde tomb in GK1, the rays of light at Schloss Ritter in GK1, the torch in the QFG4 demo and the shadows in QFG4, PQ4 and KQ7)
2012-07-24SCI: Initial implementation of kRemapColors(kRemapByPercent)Filippos Karapetis
Fixes some graphics glitches in the QFG4 demo and the menus of QFG4, by implementing one of the transparency effects used mainly in SCI32. Many thanks to fuzzie for her debugging info on QFG4 demo and to wjp for his great help on the dissassembly
2012-07-24SCI: Separate the early SCI11 version of kRemapColors from the SCI32 oneFilippos Karapetis
2012-07-08SCI: Show information for correct file naming in the QFG4 import roomFilippos Karapetis
This information is shown in previous QFG versions, but it had to be placed in a SCI32 graphics function in order to be shown in QFG4 too
2012-07-08SCI: Update the virtual file selected in the QFG4 character import screenFilippos Karapetis
This makes the character import screen in QFG4 functional, as the virtual file index was never updated
2012-06-24SCI: Add a workaround for script bug #3537232Filippos Karapetis
The bug in question is "SCI: SQ4 Floppy DOS title screen skipping too quickly", and is caused by game scripts not waiting between palette calls
2012-06-20SCI: Change kRemapColors(5) again. Fixes the colors in QFG4Filippos Karapetis
2012-06-20SCI: Add a warning for kRemapColors(RemapByPercent)Filippos Karapetis
2012-06-20SCI: Implement kRemapColors(5 - set color intensity)Filippos Karapetis
It's finally nighttime in the first murder scene in PQ4
2012-06-18SCI: Add setter/getter methods to reg_t'sFilippos Karapetis
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB)
2012-05-20SCI: Split the SCI32 graphics kernel functions in a separate fileFilippos Karapetis
2012-02-12SCI: Expand adjustGraphColor to work for older EGA games tooWillem Jan Palenstijn
See bug #3486899.
2012-01-14SCI: Fix bug in fadeIn()/fadeOut()Filippos Karapetis
This wasn't added in 4742b4d728ba772d47cc497681c9bfb0144475bc)
2012-01-13SCI: Some more work on kSetShowStyle. Silenced some chatty warnings in GK1Filippos Karapetis
2011-10-28SCI: Remove unneeded casts (thanks to wjp for pointing that out)Filippos Karapetis
2011-10-28SCI: Added skeleton code for kEditText (still not working)Filippos Karapetis
2011-10-26SCI: Renamed GfxControls to GfxControls16Filippos Karapetis
2011-10-19SCI: Added a detection for the second kSetShowStyle variantFilippos Karapetis