aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/screen_item32.h
AgeCommit message (Collapse)Author
2017-10-06SCI32: Clean up ScreenItemColin Snover
* Rewrap comments to 80 columns * Clarify comments where possible * Use smart pointers where appropriate
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-07-13SCI32: Move priority comparison of ScreenItems into its own functionColin Snover
Rendering bugs in ScummVM are often caused by buggy game scripts relying on the last ditch sort, which is not the same in ScummVM as in SSCI (since the SSCI last ditch sort relies on a different memory architecture and is super buggy). However, these bugs do not show up very frequently these days, so it is easy to forget all the places that need to be checked when debugging a rendering problem that appears to be caused by sorting failure. This commit breaks out the last ditch comparison formerly in Plane::calcLists to hopefully make it more visible to future programmers. Refs Trac#9957.
2016-12-19SCI32: Change plane and screen item sorting algorithmColin Snover
SSCI's last resort comparison here was to compare the object IDs of planes & screen items, but this randomly breaks (at least) the "you have died" dialog at the end of Phant1, and text & buttons in Hoyle5, even in SSCI itself. This commit changes last resort comparison to use a monotonically increasing ID instead, which keeps objects with identical priority & z-index in creation order when compared. Fixes Trac#9585.
2016-09-29SCI32: Clean up scaling flagsColin Snover
2016-08-19SCI32: Implement kRobotColin Snover
2016-07-10SCI32: Add support for blacklined videoColin Snover
Ow. My eyeballs.
2016-07-10SCI32: Implement kPlayVMDColin Snover
2016-07-02SCI32: Document ScreenItem::_insetRectColin Snover
2016-06-30SCI32: Implement engine-accurate screen item list sortingColin Snover
It seems highly probable that there are later SCI games that use the "hi res" rendering path, so sorting and unsorting of ScreenItemLists needs to be accurate.
2016-06-21SCI32: Implement line drawing (kAddLine/kUpdateLine/kRemoveLine)Colin Snover
This line drawing code lives in a remodelled GfxPaint32 class that is totally separate from GfxPaint16.
2016-05-28SCI: Fix warningEugene Sandulenko
2016-05-27SCI32: Use better name for fixed priority fieldColin Snover
The old name matches the selector, but isn’t as clear.
2016-03-10SCI32: Implement kSetNowSeenColin Snover
2016-03-08SCI: Add missing namespace comments in graphics/.Johannes Schickel
2016-03-08SCI32: Clean up kIsOnMe and fix rounding bugColin Snover
The implementation was not correctly rounding the scaled position with mulru, leading to occasionally incorrect hit detection at the boundaries of boxes.
2016-03-07SCI32: Add reg_t comparisons for graphics sortingColin Snover
2016-03-06SCI32: Fix memory leaksColin Snover
2016-03-06SCI32: "Improve" comparison algorithm for planes and screen itemsColin Snover
This adds a slightly more accurate comparison algorithm that will at least ensure that all the engine-generated planes and screen items with matching priorities will be sorted above script-generated planes and screen items, like in the original engine. It still does not sort script-generated items by memory handle order, so if that is ever a thing that actually happens, those may still be in the wrong order.
2016-03-06SCI32: Implement kEditTextColin Snover
2016-02-20SCI32: kIsOnMe apply scaling + use mulru() thx snoverMartin Kiewitz
2016-02-18SCI: Implement accurate renderer architecture for SCI32Colin Snover