aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
AgeCommit message (Collapse)Author
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 unnecessary micro-optimisation to palette merging codeColin Snover
2016-03-07SCI32: Fix palette color overflowColin Snover
2016-03-07SCI32: Actually use the BitmapFlags enumColin Snover
2016-03-07SCI32: Enable GfxPalette32::cycleAllPauseColin Snover
This is used by the Mr Soylent machines in SQ6 (e.g. room 370).
2016-03-07SCI32: Move in-memory bitmap read/write into its own classColin Snover
2016-03-07SCI32: Change magnifier warning to errorColin Snover
If anything actually uses this feature, we should know about it eventually.
2016-03-07SCI32: Clean up renderer code a bit moreColin Snover
2016-03-07SCI32: Add reg_t comparisons for graphics sortingColin Snover
2016-03-07SCI32: Add debugger command to view screen items in the visible plane listColin Snover
2016-03-07SCI32: Fix adding too many items to drawlistWillem Jan Palenstijn
2016-03-06SCI32: Implement variable size frame drawingColin Snover
2016-03-06SCI32: Make PlaneList definition order match declaration orderColin 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: Fix missing digits in plane item list debug outputColin Snover
2016-03-06SCI32: Implement kEditTextColin Snover
2016-03-05SCI32: Fix incorrect insertion of new planesColin Snover
2016-03-05SCI: Make cursor workaround work properly on OpenPandoraMartin Kiewitz
Other platforms, that support analog stick + touch screen at the same time, are possibly also affected. Cursor workarounds exist for qfg1vga, qfg3, lsl5 and Island of Dr. Brain. Those sometimes worked and sometimes didn't on at least OpenPandora and should be fixed now.
2016-03-03SCI32: Fix misidentification of createFontBitmap(CelInfo &)Colin Snover
2016-03-03SCI32: Add all kBitmap signaturesColin Snover
Not all SCI2.1late/SCI3 function signatures are fully known yet, but all subops are now represented in the kernel tables.
2016-03-02SCI32: Minor consistency improvement to FrameOutColin Snover
2016-03-02SCI32: "Fix" missing fade transitionsColin Snover
The original engine had some members on PlaneShowStyle to allow wall clock timing but never actually used them in the processing loop so transitions simply ran as quickly as the CPU could process them. For the moment, we will just limit these transitions to ~30fps, which hopefully roughly matches the speed of the engine on hardware of the era.
2016-03-02SCI32: Fix changed screen items drawing on top of higher screen itemsColin Snover
2016-03-02SCI32: Add consts and remove redundant conditionalColin Snover
Adding consts to try to isolate rectangles that change during draw list processing, to be investigated for incorrect mutations causing lower screen items to be drawn over higher screen items at their edges.
2016-03-02SCI32: Review rect rounding in Plane and ScreenItemColin Snover
These changes should cause ScummVM to be more accurate in edge case rounding.
2016-03-01SCI32: Fix bad reads of mirrored celsColin Snover
2016-03-01SCI32: Fix text size calculation scaling to match SCIColin Snover
The previous code works correctly only for ratios like 2:1 that do not generate remainders.
2016-03-01SCI32: Add a note about the menu bars in GK1Filippos Karapetis
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-27SCI32: Clear InfoFlagViewVisible after updating ScreenItemWillem Jan Palenstijn
2016-02-27SCI32: Remove two hacks for Torin, and document what happens insteadFilippos Karapetis
2016-02-27SCI: Remove another GK1-related hackFilippos Karapetis
2016-02-27SCI: Remove a TODO in GK1 that has been resolved properly nowFilippos Karapetis
2016-02-23SCI: Improve kAnimate fastcast detection, Remove EQ1 hackMartin Kiewitz
- Add "kAnimate fast cast state" to "version" debug command - Make it possible for script patcher signatures to get fully used outside of the regular script patcher - Remove previous fastcast detections and replace them with a signature heuristic - Remove object name checking, when fastcast global is set - Heuristic detects "fast cast" support incorrectly for multilingual KQ5, but it seems the game never sets the global, so it won't matter. KQ5 CD (also SCI1 late) has fastcast support. - Remove hack in GfxView::draw - Add lots of comments to ScriptPatcher class This fixes EcoQuest 1 Floppy showing the anemone on top of the message box (see bug #5170)
2016-02-21SCI32: Comment splitRectsWillem Jan Palenstijn
2016-02-21SCI32: Clean up Gfx::FrameoutsyncWithScripts()Martin Kiewitz
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-02-21SCI32: Add comment about SQ6's option planeMartin Kiewitz
2016-02-21SCI32: Implement syncing planes+screen items from VM for restoreMartin Kiewitz
Fixes restoring saved games, when ScummVM dialogs are patched in Removing clearing planes+screen items as well, because the scripts actually did that, but did not clear everything. Fixes "Invalid screen item" message when entering options menu, after restoring in SQ6.
2016-02-21SCI: Use nullptr instead of 0 for null pointer checksColin Snover
2016-02-21SCI32: Add a bit more debug info to errors + screenitemsMartin Kiewitz
2016-02-21SCI: Fix redrawAll updating visiblePlanesWillem Jan Palenstijn
It was comparing ScreenItem*'s directly, instead of objects.
2016-02-21SCI: Skip NULL entries in FindByObjectWillem Jan Palenstijn
Lists can contain gaps if they're searched before Pack() is called.
2016-02-21SCI: Clear visible planes in GfxFrameout::clear() tooWillem Jan Palenstijn
This caused planes and visibleplanes to go out of sync when loading.
2016-02-20SCI: Fix showStyle check in palMorphFrameOut() - thanks snoverFilippos Karapetis
2016-02-20SCI32: kIsOnMe apply scaling + use mulru() thx snoverMartin Kiewitz
2016-02-20SCI32: kIsOnMe searches _visiblePlanes, not just _planesMartin Kiewitz
Forgot to mention that in last commit
2016-02-20SCI32: Splitting up GfxFrameout::kernelIsOnMe() into 2 methodsMartin Kiewitz
2016-02-20SCI: Document and disable the unverified code used in GK1Filippos Karapetis