aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kgraphics.cpp
AgeCommit message (Collapse)Author
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
2011-10-19SCI: Merged all the code to get/set the NS rectFilippos Karapetis
2011-10-19SCI: Updated comments in kShowStyle() and kCelInfo()Filippos Karapetis
2011-10-19SCI: Implemented kObjectIntersect()Filippos Karapetis
2011-10-14SCI: Silenced warningsFilippos Karapetis
2011-10-14SCI: More work on kBitmap (still WIP)Filippos Karapetis
2011-10-13SCI: Implemented kBitmap(3) and kBitmap(5). Some cleanupFilippos Karapetis
2011-10-12SCI: Implementation of kCelInfo subop 4Heather Douglass
kCelInfo subop 4 returns the pixel color at the passed in x,y coordinates for the passed in view, loop, cel. Shivers uses this function for the red door puzzle, room 23601 to determine what blocks on the puzzle board are already occupied by pieces.
2011-10-12SCI: Added proper handling of duplicate items in kAddScreenItemFilippos Karapetis
- Items that are being readded to the scene should be updated instead - Added a findScreenItem() call to simplify the code slightly
2011-10-11SCI: Some work on the SCI32 bitmap / font codeFilippos Karapetis
- Initial implementation of kBitmap(0) - Bugfixes for fonts in upscaled games
2011-10-11SCI: kBitmap(1) is kDisposeTextBitmapFilippos Karapetis
2011-10-11SCI: Proper implementation of text drawing for SCI2+Filippos Karapetis
2011-10-10SCI: SCI32 kernel functions kRepaintPlane and kInputText are unusedFilippos Karapetis
2011-10-09SCI: CreateTextBitmap should return a pointer. Also, silenced a warningFilippos Karapetis