aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gfx
AgeCommit message (Collapse)Author
2009-09-30Added a new special reg_t, SIGNAL_REG, for signaling when an error occurs ↵Filippos Karapetis
(usually), or to signal success in some special occasions svn-id: r44505
2009-09-30- Removed some leftover 16/32bpp color code, as we're always using palette ↵Filippos Karapetis
mode now - Simplified the mouse cursor manipulation code svn-id: r44502
2009-09-30oopsMax Horn
svn-id: r44500
2009-09-30SCI: Some palette code cleanupMax Horn
svn-id: r44494
2009-09-30Converted _color_equals() into respective equality operators within the ↵Filippos Karapetis
gfx_color_t structure svn-id: r44477
2009-09-28SCI: When merging palettes, map all unused colours to index 0.Willem Jan Palenstijn
This fixes the boots/belt of the hero sprite in QfG3 character generation. svn-id: r44448
2009-09-27SCI: Fix crash when opening menu'sWillem Jan Palenstijn
svn-id: r44398
2009-09-27SCI: Major string handling update.Willem Jan Palenstijn
All string access to segments should now work with both raw and non-raw (reg_t) segments, using the new utility functions in segMan. There will likely be regressions. svn-id: r44388
2009-09-25Create a define for the special "signal" offset used throughout the engine, ↵Filippos Karapetis
and fixed the arbitrary 0 values from commit #44294, set when some math functions do invalid calculations svn-id: r44359
2009-09-24SCI: When setting global palette, map all unused colours to index 0.Willem Jan Palenstijn
This fixes white artifacts outside the bar in the SQ4CD intro, but might cause regressions elsewhere. svn-id: r44320
2009-09-24SCI: Delete unused function declarationWillem Jan Palenstijn
svn-id: r44319
2009-09-24SCI: Fix flat dithering by permuting the blended palette so that the EGA ↵Willem Jan Palenstijn
colours are the first 16 entries svn-id: r44317
2009-09-23- Moved the SCI version in a global variableFilippos Karapetis
- Changed all the SCI version checks to use getSciVersion() - Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine) The fallback detector should work correctly now svn-id: r44269
2009-09-22Simplified the code which creates the mouse cursorFilippos Karapetis
svn-id: r44248
2009-09-15Slight cleanup of the resource palette modification codeFilippos Karapetis
svn-id: r44097
2009-09-14SCI: Rename SegManager::kernelDeref*() methods to SegManager::deref*()Max Horn
svn-id: r44083
2009-09-14SCI: kernelDeref*() functions are now seSegmentManager methodsMax Horn
svn-id: r44082
2009-09-09Removed/replaced the gfx_pixmap_color structFilippos Karapetis
svn-id: r44017
2009-09-07Merged xfact and yfact into scaleFactor - it doesn't really make sense to ↵Filippos Karapetis
multiply one dimension with an integer multiplier which is different to the multiplier of the other dimension, otherwise we'll end up with funny looking and squashed resolutions like 640x200 or 320x400. Also, removed the now-unused pixelFormat member variable of the graphics driver struct svn-id: r44003
2009-09-06Removed some unused variablesFilippos Karapetis
svn-id: r43998
2009-09-06CleanupFilippos Karapetis
svn-id: r43996
2009-09-06Fixed compilation on BE systemsFilippos Karapetis
svn-id: r43995
2009-09-06Removed the hi-color code (16bpp & 24bpp). All SCI games use up to 256 ↵Filippos Karapetis
colors, so hi-color isn't really used anywhere, and it only makes the overall code more complex for no reason svn-id: r43994
2009-09-06Removed some leftover debug code, and turned p0printf messages into debug ↵Filippos Karapetis
messages, introducing a new debug level svn-id: r43993
2009-09-06SCI: Rename resManager -> resMan; segManager -> segManMax Horn
svn-id: r43980
2009-09-04OopsFilippos Karapetis
svn-id: r43943
2009-09-04- Allow SCI games to set the cursor position when it's hidden once againFilippos Karapetis
- Changed the message shown when the game tries to move the cursor off the screen bounds from a warning to a debug message, to avoid spam in games that do this behavior, e.g. the Camelot demo svn-id: r43942
2009-09-04- Removed the gfx error defines. When resources are not found, or are ↵Filippos Karapetis
corrupted, we should error out instead of piggy-banking an error flag to another function - Do not try and set the position of the mouse cursor when it's hidden svn-id: r43941
2009-09-04Removed the "reverse alpha" flag from the graphics driver code. Alpha values ↵Filippos Karapetis
are now always 0 for transparent, up to 255 for opaque svn-id: r43939
2009-09-04Removed the bilinear and trilinear FreeSCI scalers, and only left the ↵Filippos Karapetis
unfiltered scaler in (to be replaced by ScummVM's scaler code). We really don't need bilinear and trilinear filtered scaling in the engine, as ScummVM's filters already perform bilinear and trilinear filtered scaling, if requested svn-id: r43938
2009-09-03- Re-added the SCI0 dithering code. Dithering is disabled by default. Added ↵Filippos Karapetis
the 3 dithering modes as an enum (and reorganized them a bit) - Added 3 config options for dithering in the ini file - mainly for purists (config option "dither_mode"): 0 - disabled, 1 - 16 color dithering (Sierra style) and 2 - 256 color dithering - Dithering is now always applied depending on the screen scale (removed the relevant parameter) - Removed the background picture buffering option, used to speed-up room changes. Room changing is quite fast (instantaneous), and the extra memory allocated is not worth the possible speed increase in small devices. Plus.... there is no reliable value to set this option to, so there is no point in letting the user decide what value to put there using guesswork svn-id: r43915
2009-09-02Removed the dirty rectangle option of updating one huge rectangle, and only ↵Filippos Karapetis
left the algorithm of updating the screen with multiple small rectangles, like we do in all the other engines that support dirty rectangle screen updates svn-id: r43909
2009-09-02Some renaming:Filippos Karapetis
getresourceManager -> getResourceManger resourceManager -> resMan segmentManager ->segMan svn-id: r43908
2009-09-02SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefStringMax Horn
svn-id: r43907
2009-09-01Disabled the FreeSCI PIC0 palette dithering code, for now. It doesn't really ↵Filippos Karapetis
make sense to dither, as Sierra games use up to 256 colors (even the later SVGA ones), and it messes up the result of the FreeSCI graphics filters. Plus, the resulting image looks worse than the original one svn-id: r43901
2009-09-01Re-enabled custom graphics options, and read the cursor, view, pic and text ↵Filippos Karapetis
filtering algorithm options from the ScummVM ini file (options "cursor_filter", "view_filter", "pic_filter" and "text_filter", 0 - unfiltered, 1 - bilinear filtering, 2 - trilinear filtering) svn-id: r43894
2009-09-01- Reverted the *vga targets back to *sci, and used the extras field again ↵Filippos Karapetis
for VGA remakes - The extras field is now filled by the fallback detector for VGA games svn-id: r43893
2009-09-01Fixed regression with some weird mouse cursors (e.g. in EcoQuest)Filippos Karapetis
svn-id: r43874
2009-08-31Removed many bogus return values in the SCI graphics functions - some ↵Filippos Karapetis
functions always returned "true", whereas in others they errored out in fatal conditions before any value was returned. FreeSCI was returning values from the graphics drivers it used. In ScummVM, we have one graphics driver, and we error out in fatal conditions anyway, so these error checks are no longer necessary, and the resulting code looks much neater svn-id: r43851
2009-08-30SCI: Add support for SetCursor with 4 args.Walter van Niftrik
svn-id: r43813
2009-08-25- Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and ↵Matthew Hoops
SCI_VERSION_3 (each version has a different kernel table). - Improve map detection. - Fix SCI32 object and script initialization (Torin's Passage and GK1 scripts now start up, and probably most SCI2/2.1 games). - Add SCI2 and SCI2.1 kernel tables. svn-id: r43742
2009-08-25- Replaced more cases of EngineState parametersFilippos Karapetis
- Made some version comparisons for old SCI0 versions easier to read - Removed the GET_SEL32SV macro svn-id: r43729
2009-08-25- Simplified the parameters of some functionsFilippos Karapetis
- Replaced some EngineState parameters - The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions - Plugged 2 leaks in the fallback detector - Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency svn-id: r43722
2009-08-24SCI: Reverted r40889. New fix for window erasing issue in SCI1.1 games.Walter van Niftrik
svn-id: r43711
2009-08-21Merged RGB color API and support in from /scummvm/branches/gsoc2009-16bit/Jody Northup
svn-id: r43577
2009-08-19SCI: Don't dither in SCI.Walter van Niftrik
svn-id: r43550
2009-08-19SCI: Add partial support for Amiga SCI1 games.Walter van Niftrik
svn-id: r43549
2009-08-19SCI: Cleanup.Walter van Niftrik
svn-id: r43548
2009-08-19SCI: Add autodetection of Amiga views.Walter van Niftrik
svn-id: r43547
2009-08-19Merged revisions ↵Travis Howell
43458-43468,43470-43471,43473-43475,43477,43479-43483,43485,43497-43498,43500,43503-43504,43507,43509-43510,43512-43515,43517,43519,43521,43523 via svnmerge from https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk ........ r43458 | thebluegr | 2009-08-17 15:55:21 +1000 (Mon, 17 Aug 2009) | 8 lines - Simplified some functions to accept only the parts of the EngineState they need as parameters, instead of the whole EngineState - Moved the class table in the Segment manager - it's the only class using it directly - Removed the sci11 flag from save games (we already know this, we don't need to store it) - Moved script_get_segment() and get_class_address() inside the segment manager class - Removed the script_locate_by_segment wrapper - Simplified script_lookup_export() a lot by removing some paranoia checks - Added some WIP code for automatically determining the game id in the fallback detector (still not working) - General cleanup ........ r43459 | lordhoto | 2009-08-17 17:36:08 +1000 (Mon, 17 Aug 2009) | 1 line Fix compilation of the SCI engine. It seems that all of the SCI header files I touched (and probably others I luckily didn't touch) seem to assume that files including them will supply needed types. That looks like a major issue in SCI. Someone with knowledge of the SCI code should look into this and cleanup the includes of *all* SCI headers. ........ r43460 | thebluegr | 2009-08-17 19:19:53 +1000 (Mon, 17 Aug 2009) | 1 line Cleanup ........ r43461 | strangerke | 2009-08-17 19:50:35 +1000 (Mon, 17 Aug 2009) | 1 line Added OPCODEDRAW 0x85, with a specific workaround for Bambou hardcoded paths in scripts ........ r43462 | strangerke | 2009-08-17 19:54:49 +1000 (Mon, 17 Aug 2009) | 1 line Suppress useless parentheses ........ r43463 | lordhoto | 2009-08-17 19:57:09 +1000 (Mon, 17 Aug 2009) | 1 line Formatting. ........ r43464 | strangerke | 2009-08-17 20:05:02 +1000 (Mon, 17 Aug 2009) | 1 line Add back parenthesis (I wasn't aware of this convention, sorry) in saveload, and mimic this code in oPlaytoons_openItk ........ r43465 | lordhoto | 2009-08-17 20:48:03 +1000 (Mon, 17 Aug 2009) | 2 lines - Add note about that modifing the parent stream will mess up SeekableSubReadStream and SeekableSubReadStreamEndian. - Link to SubReadStream documentation from SeekableSubReadStream and SeekableSubReadStreamEndian. ........ r43466 | thebluegr | 2009-08-17 21:06:27 +1000 (Mon, 17 Aug 2009) | 1 line Made sound effect playing code consistent for compressed and uncompressed sounds. MemoryReadStream is used again instead of SeekableSubReadStream, as there will be issues when multiple sound effects or voices are played simultaneously ........ r43467 | thebluegr | 2009-08-17 21:11:38 +1000 (Mon, 17 Aug 2009) | 1 line Ignore speech and sound effect samples with unknown compression, instead of trying to play them as raw sound. Some cleanup ........ r43468 | dreammaster | 2009-08-17 21:36:09 +1000 (Mon, 17 Aug 2009) | 1 line Fix for some more !!HIGH STRINGS!! when talking to the palace guards ........ r43470 | thebluegr | 2009-08-17 21:49:07 +1000 (Mon, 17 Aug 2009) | 1 line Simplified the sound playing code by removing the boolean variables for signed, stereo, endian and sample bit information - now sound flags are used instead. Some cleanup. ........ r43471 | dreammaster | 2009-08-17 21:51:42 +1000 (Mon, 17 Aug 2009) | 1 line Switched event loop while/do to do/while, to ensure event handling occurs even when the game is under heavy load ........ r43473 | lordhoto | 2009-08-17 22:22:15 +1000 (Mon, 17 Aug 2009) | 1 line Cleanup: don't copy the Kyrandia 1 Amiga credits data in a temporary buffer, and thus keeping it twice in memory. ........ r43474 | lordhoto | 2009-08-17 22:22:30 +1000 (Mon, 17 Aug 2009) | 1 line Clear input queue before displaying the credits in Kyrandia 1. ........ r43475 | lordhoto | 2009-08-17 22:47:57 +1000 (Mon, 17 Aug 2009) | 1 line Fix possible out of bounds access in Screen::drawShape. ........ r43477 | joostp | 2009-08-17 22:57:37 +1000 (Mon, 17 Aug 2009) | 2 lines Commit (slightly) modified version of patch #2831248: Allow suspend/resume for PSP ........ r43479 | thebluegr | 2009-08-17 23:16:40 +1000 (Mon, 17 Aug 2009) | 1 line Added looping support to LinearDiskStream, needed by SAGA and perhaps other engines. Note that the loop end parameter is still not implemented ........ r43480 | thebluegr | 2009-08-17 23:25:44 +1000 (Mon, 17 Aug 2009) | 2 lines - Removed the custom DigitalMusicInputStream used in SAGA for the digital music in ITE CD and replaced it with the common LinearDiskStream class - Removed leftover code which plays standalone tracks (it's not used anywhere) ........ r43481 | lordhoto | 2009-08-17 23:49:56 +1000 (Mon, 17 Aug 2009) | 1 line Slight cleanup to makeLinearDiskStream interface. ........ r43482 | waltervn | 2009-08-18 01:49:22 +1000 (Tue, 18 Aug 2009) | 1 line SCI: Add autodetection for DoSound. Cleanup. ........ r43483 | waltervn | 2009-08-18 02:07:47 +1000 (Tue, 18 Aug 2009) | 1 line SCI: Build fix. ........ r43485 | thebluegr | 2009-08-18 04:25:51 +1000 (Tue, 18 Aug 2009) | 1 line Put back the code for playing external digital music, used by the MIDI enhancement project, which was removed in rev. #43480 ........ r43497 | waltervn | 2009-08-18 09:11:25 +1000 (Tue, 18 Aug 2009) | 1 line SCI: Fix kernel table for multilingual SCI01 games. Cleanup. ........ r43498 | joostp | 2009-08-18 09:54:40 +1000 (Tue, 18 Aug 2009) | 2 lines PSP: increase optimization level and change clock rate to 333mhz ........ r43500 | thebluegr | 2009-08-18 16:43:06 +1000 (Tue, 18 Aug 2009) | 1 line Applied agent-q's patch to the SAGA pathfinding code for all platforms - x and y should not ever be greater than 640 and 480 respectively, so it looks safe enough to be applied ........ r43503 | thebluegr | 2009-08-18 19:12:41 +1000 (Tue, 18 Aug 2009) | 1 line Removed the maxMemory parameter of the resource manager and replaced it with a define ........ r43504 | thebluegr | 2009-08-18 20:01:18 +1000 (Tue, 18 Aug 2009) | 2 lines - Added game ID detection to the fallback detector. We still need to map some of Sierra's internal IDs to our own ones - The class table is now created in the segment manager constructor ........ r43507 | dreammaster | 2009-08-18 22:25:04 +1000 (Tue, 18 Aug 2009) | 1 line Bugfix for Castle Skorl problem reported on the list ........ r43509 | thebluegr | 2009-08-18 22:49:34 +1000 (Tue, 18 Aug 2009) | 1 line Mapped some Sierra internal IDs to our own ones, and added a note about a hack currently used in the fallback detector ........ r43510 | thebluegr | 2009-08-19 00:10:31 +1000 (Wed, 19 Aug 2009) | 1 line Started rewriting the SCI engine to use FSNode instead of file names. This is the proper solution for removing the hack in the fallback detector, but it still needs work. Also, reduced the things needed to be initialized a bit, so that the detection is a bit faster ........ r43512 | lordhoto | 2009-08-19 01:31:26 +1000 (Wed, 19 Aug 2009) | 1 line Made AGOS, DRASCULA, GOB, GROOVIE, MADE, SCUMM and TINSEL properly stop CD audio playback on engine quit. (This only problem affected playback from CD, not from ripped audio files) ........ r43513 | lordhoto | 2009-08-19 01:32:26 +1000 (Wed, 19 Aug 2009) | 2 lines - Destory AudioCDManager singleton after user quits a game, this saves a few bytes memory - Added FIXME to audiocd.h, concering why destroying the AudioCDManager can not quit CD playback right now ........ r43514 | joostp | 2009-08-19 01:39:47 +1000 (Wed, 19 Aug 2009) | 2 lines PSP: disable dosbox OPL ........ r43515 | lordhoto | 2009-08-19 01:41:00 +1000 (Wed, 19 Aug 2009) | 1 line Typos. ........ r43517 | joostp | 2009-08-19 03:12:01 +1000 (Wed, 19 Aug 2009) | 2 lines PSP: Make R-trigger act as a context sensitive modifier key, remap ENTER to triangle ........ r43519 | joostp | 2009-08-19 04:06:50 +1000 (Wed, 19 Aug 2009) | 2 lines Implement setCursorPalette(), correct hasFeature() <-> getFeatureState() mixup. ........ r43521 | john_doe | 2009-08-19 05:42:13 +1000 (Wed, 19 Aug 2009) | 2 lines - PMV player: Use frame count from PVM file and fix incorrect "invalid chunk type" warning - Fix sprite drawing glitch with vertically flipped sprites (bug #2825925) ........ r43523 | buddha_ | 2009-08-19 07:37:31 +1000 (Wed, 19 Aug 2009) | 1 line Possible fix for #2828330 (AGI: KQ1: Fast text box). If doesn't break anything else then should go to the branch-1-0-0 too, but haven't had the time to do much testing yet - thus committing to the trunk first. ........ svn-id: r43524