aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/view.h
AgeCommit message (Collapse)Author
2019-06-23SCI: Split out duplicated color remapping codeKawa-oneechan
2018-12-02SCI: Add support for The Dating Pool (#1403)Kawa
2017-09-27SCI: Remove old SCI32 view scaling code from SCI16 graphics codeColin Snover
2017-03-27SCI: Use containers in GfxView and remove some SCI32 codeColin Snover
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
2016-08-19SCI32: Remove CoordAdjuster32, at least for the momentColin Snover
This may come back in the future to deduplicate some gfx code, but SCI32 had two different inlined ways of doing coordinate conversions with different rounding methods, so CoordAdjuster32 didn't get used when the graphics system was rewritten. At the moment, SCI32 code uses the mulru/mulinc methods from helper.h for scaling up/down coordinates.
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-16SCI32: Remove getColorAtCoordinate()Filippos Karapetis
The only calling code for this was removed in commit 3f2469c33ed6017d3c385fbbfd01a4e690987fbc
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
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-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-30SCI32: Support for views with 640x400 native resolutionLars Skovlund
(fixes Wolfgang closeup, room 720)
2010-10-26SCI: fix gfx issues when giving out cards hoyle4Martin Kiewitz
bit 2 actually triggers special drawing of cels in sierra sci svn-id: r53855
2010-08-02SCI: adding non-scaleable view capabilityMartin Kiewitz
fixes laura bow 2 (especially floppy but CD is also affected somewhat by this) svn-id: r51660
2010-07-31SCI: adjusting inside view::getCelRect for sci0earlyMartin Kiewitz
fixes cels being placed wrongly, sci0early didnt have the z adjust. svn-id: r51537
2010-07-25SCI: using coordadjuster in GfxViewMartin Kiewitz
svn-id: r51276
2010-07-24SCI: kCelWide/kCelHigh now adjust on hires viewsMartin Kiewitz
somewhat fixes gk1 hires inventory issue svn-id: r51245
2010-06-30SCI: support for hires views in gk1Martin Kiewitz
svn-id: r50533
2010-06-28SCI: Remove GfxView::getLoopInfo; add assert to GfxView::getCelInfoMax Horn
The return value of GfxView::getCelInfo was used virtually everywhere without a check for it being non-NULL. Hence instead of returning NULL when the loop count is zero, it makes more sense to assert out (instead of a segfault, or worse, random data being used). svn-id: r50422
2010-06-28SCI: Add const qualifiers to many GfxView methods and their return values.Max Horn
This helps to ensure proper data encapsulation. Also reformatted some overlong comments to 80 chars per line, and fixed some other code formatting issues. svn-id: r50421
2010-06-23SCI: implementing boundary checking for GfxPalette::createFromData(), sq5 ↵Martin Kiewitz
has a broken picture 0 resource, which would result in either crash or at least bad read from memory depending on whats read there svn-id: r50178
2010-02-05SCI: adding some minor documentation for the various graphic classesMartin Kiewitz
svn-id: r47904
2010-02-04SCI: renaming class View to GfxViewMartin Kiewitz
svn-id: r47891
2010-02-04SCI: fix support for cels that are larger than 64k (sierra logo animation in ↵Martin Kiewitz
sq6) svn-id: r47873
2010-01-31SCI: renamed SciPalette to GfxPalette, Screen to GfxScreen, GfxPalette is ↵Martin Kiewitz
now called directly w/o SciGui svn-id: r47752
2010-01-31SCI: cleaned up graphics classes, removed gfx&windowmgr, added gfxports, ↵Martin Kiewitz
gfxcompare, gfxpaint16, gfxcache. kernel uses gfxports directly w/o going through SciGui svn-id: r47745
2010-01-29SCI: view class fix for hires views that are larger than 64k (fixes kq7 cel ↵Martin Kiewitz
corruption) svn-id: r47661
2010-01-16SCI: View::drawScaled() created (doesnt do scaling yet), removed scaling ↵Martin Kiewitz
variables from View::draw, gfx calls drawScaled() when scaleX/Y != 128, getting scaled rect inside kAnimate() svn-id: r47322
2010-01-16SCI: created getCelScaledRect() inside view classMartin Kiewitz
svn-id: r47319
2010-01-12SCI: View::getCelCount now validates inputMartin Kiewitz
svn-id: r47267
2010-01-11SCI: changed displaceY and displaceX for cels to int16, also inserted cast ↵Martin Kiewitz
to signed char for sci1 displaceX - should fix wii flickering and incorrect cel placement problems svn-id: r47257
2010-01-07SCI: implemented additional drawCel for hires views, fixes menu bar of kq6 - ↵Martin Kiewitz
still need to fix coordinates and implement save/restoreBits for hires svn-id: r47116
2010-01-06- Some work on kLocalToGlobal and kGlobalToLocal for SCI2+Filippos Karapetis
- Removed the custom types MemoryHandle, LoopNo, CelNo (cause we ended up having code like LoopNo loopNo = ...) - Improved the sanity checks in frameOut() svn-id: r47087
2010-01-05Some initial work on SCI1.1 view scaling (not working yet)Filippos Karapetis
svn-id: r47027
2010-01-05More renamingFilippos Karapetis
svn-id: r47009