Commit Graph
96 Commits
Author SHA1 Message Date
Cameron Cawley 327e0c4f1e GRAPHICS: Add palette start and size parameters to Surface::convertToInPlace() 2023-11-12 18:36:08 +01:00
Cameron Cawley 953772ba99 COMMON: Rename memset2/4/8 to memset16/32/64 2023-11-06 13:40:38 +02:00
Cameron Cawley 6669e36d2c GRAPHICS: Use memset2 and memset4 in Graphics::Surface 2023-11-06 13:40:38 +02:00
Filippos Karapetis e918ce9bc6 GRAPHICS: Revert incorrect changes to error messages 2023-10-16 17:31:30 +02:00
Cameron Cawley 1e4abf786b GRAPHICS: Use crossBlit more for converting surfaces 2023-10-16 17:31:30 +02:00
Miro Kropacek 17f0941878 GRAPHICS: Fix compilation of blit-atari.cpp 2023-08-24 22:42:04 +02:00
Miro Kropacek 3ab147259b GRAPHICS: Add support for dithering from 3bpp into 1bpp
This allows using "ScummVM Modern" theme in 8-bit resolutions.
2023-06-10 23:27:57 +02:00
Miro Kropacek 3294b20653 GRAPHICS: Support Floyd dithering for RGB121
RGB121 is a special case of CLUT8 similar to RGB332 but with pixels
taking only the low nibble of a byte.
2023-06-10 23:27:57 +02:00
Miro Kropacek 76d3706492 BACKENDS: ATARI: Add build scripts
- consolidate public #define's (just ATARI)
- cpu compiler flags are specified in the script
- allow explicit move16, SV and SV Blitter features enabled/disabled

Provide two build scripts:

1. "Fat" one targeted at 040/060 machines (possibly with SuperVidel)

This one is optimized for 68020-60 (so it's still possible to try
highres engines on 68030 machines).

2. "Slim" one targeted at 030 machines (Falcon030+DFB/CT2 or TT030)

This one is optimized for 68030 and stripped from even more features:
"fancy" (highres) themes, move16 & SuperVidel routines and most
importantly the highres engines.
2023-05-10 22:58:26 +02:00
Cameron Cawley f5f445be5f GRAPHICS: Add generic versions of applyColorKey() and setAlpha() 2023-04-09 12:49:23 +02:00
Miro Kropacek 6c5e3dbfd5 BACKENDS: ATARI: Refactor 2023-03-25 21:45:50 +01:00
Miro Kropacek 5ba26fdf35 GRAPHICS: ATARI: Introduce accelerated blitting 2023-03-04 23:38:42 +01:00
Cameron Cawley ad33a3063b GRAPHICS: Add Surface::convertFrom() 2023-03-02 15:11:24 +00:00
Miro KropáčekandCameron Cawley 2c0e9555de GRAPHICS: Refactor Surface::copyFrom() & Surface::copyRectToSurface (#4727)
GRAPHICS: Refactor Surface::copyFrom() & Surface::copyRectToSurface()

This change makes Surface::copyFrom() slightly slower but
Surface::copyRectToSurface() performs better for rectangles with the
same width as the surface.

And of course we avoid unnecessary code duplication.

Co-authored-by: Cameron Cawley <ccawley2011@gmail.com>
2023-02-25 14:22:08 +01:00
Vladimir Serbinenko b9aa479bba GRAPHICS: Support Floyd dithering for RGB332
RGB332 is a special case of CLUT8 but RGB332 support allows to skip passing
palette explicitly and speeds up the dithering
2023-01-12 10:27:20 +03:00
Scott Percival cb68c05dcb GRAPHICS: Loosen palette checks on Surface::convertTo
Surface::ditherFloyd() supports having different palette counts;
as it is a private function wrapped by convertTo(), adjust the
short-circuit check in convertTo() so that the short circuit
happens if both palettes are equal in size and content.
2023-01-10 13:41:53 +01:00
Cameron Cawley 7f2d9fd0fd GRAPHICS: Split conversion.cpp into multiple files 2022-12-22 23:45:14 +01:00
Thierry Crozat 31d76cd039 Graphics: Add flipHorizontal to Surface
This complements flipVertical and is needed for the AGS engine.
2022-12-15 22:40:17 +01:00
Eugene Sandulenko 18c88fabfe GRAPHICS: Add possibility to specify dithering algorithm. Default is Floyd-Steinberg 2022-09-28 23:02:05 +02:00
Eugene Sandulenko ff9313056d GRAPHICS: Implement dithering in Surface::convertTo() 2022-09-28 22:38:08 +02:00
Eugene Sandulenko 502d171fc3 GRAPHICS: Improved error message on surface conversion 2022-06-06 01:55:58 +02:00
Cameron Cawley 07498687bd GRAPHICS: Add Surface::copyRectToSurfaceWithKey() 2022-06-05 17:28:28 +03:00
Cameron Cawley 085130c6da GRAPHICS: Move ManagedSurface::clip() to the Surface class 2022-06-03 16:00:46 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Paul Gilbert baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Eugene Sandulenko 7eb9bcf705 GRAPHICS: Fix MSVC warning 2021-07-01 01:35:58 +02:00
D G Turner a51f5e9c1a GRAPHICS: Fix GCC Compiler Warnings 2021-05-05 11:36:04 +01:00
Eugene Sandulenko ed9c2f97ca GRAPHICS: Implemented debug output for Surface 2021-05-02 01:03:01 +02:00
Cameron Cawley 394288db98 GRAPHICS: Move rotoscale code out of TransparentSurface 2021-04-19 03:08:11 +03:00
Eugene Sandulenko e8e137a46c GRAPHICS: Create FloodFill mask with the matching pixel format of the main surface 2020-08-16 23:50:46 +02:00
Cameron Cawley 352653b8a2 GRAPHICS: Add a function for scaling a standard Graphics::Surface
This also makes use of it in the SCI and Wintermute engines
2020-07-18 12:16:52 +02:00
Eugene Sandulenko 8e215fad59 GRAPHICS: Fix memory leak 2020-03-30 11:48:02 +02:00
Cameron Cawley ba035ac532 GRAPHICS: Add a function to vertically flip surfaces 2020-01-02 20:53:29 +02:00
Cameron Cawley 07834616b3 GRAPHICS: Fix dstFormat check in Surface::convertTo 2019-03-03 13:44:53 +01:00
Cameron Cawley fd1162cb71 GRAPHICS: Support converting to 3Bpp surfaces 2019-03-02 07:29:22 +01:00
Eugene Sandulenko 934e186063 GRAPHICS: Initialize mask in FllodFill when required 2016-06-14 20:45:09 +02:00
Eugene Sandulenko 2bf0ebf317 GRAPHICS: Add possibility to specify Fill maskmode in the constructor 2016-06-14 20:30:24 +02:00
Eugene Sandulenko 60297cb9fa GRAPHICS: Add mask mode to FloodFill class and document the class. 2016-06-03 16:39:03 +02:00
Eugene Sandulenko e171d21fc5 GRAPHICS: Fix FloodFill 2016-06-03 15:52:48 +02:00
Eugene Sandulenko 531b190d59 GRAPHICS: Added FloodFill class to Surface.
Moved from WAGE engine and is using stack-based classic floodfill
implementation.
2016-06-03 00:45:56 +02:00
Johannes Schickel 53332e8066 GRAPHICS: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
RichieSams 701250efb5 GRAPHICS: Remove variable shadowing 2013-09-22 15:54:06 -05:00
RichieSams 6f4e80e36e ZVISION: Add wrapper function for copyRectToSurface
Also rename some arguments to make them more clear
2013-09-12 14:07:42 -05:00
richiesams 7e8e9bf3d1 GRAPHICS: Create copyRectToSurface member function 2013-08-15 14:31:21 -05:00
Johannes Schickel 7f8308e0eb Merge pull request #365 from lordhoto/protected-pixels
Make Graphics::Surface::pixels protected.
2013-08-07 12:24:59 -07:00
Johannes Schickel 260ec7a430 GRAPHICS: Add two new methods to change 'pixels' of a Surface.
One method is a simpler setter for 'pixels'. The other one can be used to
setup a Surface with custom data.
2013-08-03 04:02:54 +02:00
Johannes Schickel 058c22ddaa GRAPHICS: Allow to query a Surface describing a subarea in Surface. 2013-08-02 18:47:00 +02:00
Johannes Schickel 9db17152c1 GRAPHICS: Make Surface::copyFrom work for any src pitch.
Formerly we assumed that the newly created surface has the same pitch as the
source surface. This is a assumption that might be invalid (for example in
case of the Surface returned by OSystem::lockScreen.)
2013-08-01 23:57:10 +02:00
Johannes Schickel c2971374cd Merge pull request #257 from lordhoto/graphics-conversion
Extend crossBlit for abitrary (in-place) conversions and add a in-place conversion to Surface
2012-10-08 14:18:33 -07:00
Johannes Schickel eeb3959259 GRAPHICS: Add an in-place Surface PixelFormat conversion. 2012-08-28 02:27:48 +02:00