Commit graph

34 commits

Author SHA1 Message Date
Le Philousophe
45768dbef6 GOB: Don't use deprecated primitives 2025-01-24 12:11:17 +01:00
Eugene Sandulenko
5dcdfd2600
GOB: Dual-license the gob engine under LGPL
The major contributors provided their consent:
DrMcCoy, Strangerke, sdelamarre, sev.

The goal is to allow the re-release of this code under
Switch, which is incompatible with pure GPL
2024-01-08 01:44:04 +01:00
Simon Delamarre
572ac219ba
GOB: another fillRect mode used in Adibou2, "fill except one color"
Fixes level 3 of the "mask" game.
2022-12-02 11:44:30 +01:00
Simon Delamarre
a31b588ad0
GOB: fix "paint" game in Adibou2
All tools now work correctly, except "text tool" which is still buggy.
Most missing graphical primitives had already stubs in "Inter_Playtoons", implement them there instead of "Inter_v7".
2022-12-02 11:44:28 +01:00
Simon Delamarre
eb61c14d5c
GOB: use infix operator++ on Pixel iterators where possible 2022-12-02 11:44:24 +01:00
Simon Delamarre
7ed26da61b
GOB: implement y-axis reflection, needed by some character animations
Some animations for characters moves do not exist for "east" directions (E, NE, SE), but are obtained by symmetry from "west" ones (W, NW, SW).
2022-12-02 11:44:24 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
8d91d66a15 GOB: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
9c3d7c9621 GOB: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
Paul Gilbert
11e33ba3fc JANITORIAL: Removing trailing spaces after int casts 2018-08-17 20:30:20 -07:00
Sven Hesse
5bec0cbb9d GOB: Make coordinate parameters in Surface::fillRect() signed
And clip to [0, width), [0, height) before drawing.

This fixes bug #6864, which is a regression I introduced in
51fd528fe5 when I changed all
the drawing code to use the Surface class.

I thought that having unsigned coordinates makes sense, but
for some reason, Fascination sets _destSpriteX (which maps
to left in fillRect()) to -1, expecting the drawing code to
clip.
2015-05-07 00:34:02 +02:00
Matthew Hoops
740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel
ea21bc939a GOB: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Johannes Schickel
63a2e47bfe GOB: Take advantage of Surface::getPixels. 2013-08-03 04:02:50 +02:00
Johannes Schickel
690d55d763 GOB: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:32 +02:00
Sven Hesse
9a88fe8485 GOB: Add hypothetical 32bpp support 2013-06-30 19:00:05 +02:00
Tomas Jakobsson
b85d51c4a3 GOB: Update to new IFFDecoder for ILBM images 2013-01-06 20:04:42 +01:00
Sven Hesse
baec4d8778 GOB: Move recolor() into class Surface 2012-07-30 01:44:45 +02:00
Sven Hesse
62cf663957 GOB: Add Surface::drawRect() 2012-06-22 18:10:52 +02:00
Sven Hesse
aa7c44a070 GOB: Hook up the PE cursors to v7 loadCursor
Addy Junior / Adibou2 now shows proper cursors.
Thanks to clone2727 for the constant nagging. :P
2012-05-29 14:22:07 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Sven Hesse
f5fb832b63 GOB: Use memmove instead of memcpy in Surface::blit()
Inca 2 actually blits surfaces on themselves...
2011-03-29 12:32:30 +02:00
Sven Hesse
1d38568bc1 GOB: Fix detection of JPEG images
Thanks, clone :P

svn-id: r55735
2011-02-02 17:28:28 +00:00
Sven Hesse
63c6d4432c GOB: Implement LBM loading
svn-id: r55732
2011-02-02 16:50:57 +00:00
Sven Hesse
b9b7b449b9 GOB: Stub o7_loadImage further
svn-id: r55730
2011-02-02 16:49:49 +00:00
Sven Hesse
6513748c46 GOB: Add Pixel::isValid() and ConstPixel::isValid()
svn-id: r55573
2011-01-27 20:50:18 +00:00
Sven Hesse
ecd2e0f3a0 GOB: Add sanity checks to Pixel and ConstPixel
svn-id: r55571
2011-01-27 20:38:58 +00:00
Sven Hesse
9b31b9c214 GOB: Fix a clipping issue
svn-id: r55481
2011-01-23 20:16:24 +00:00
Sven Hesse
e6d04b8ad6 GOB: Adding a proper shade method
svn-id: r55273
2011-01-16 22:29:49 +00:00
Sven Hesse
7de179c2c8 GOB: Add setBPP()
To allow converting the surface's bytes per pixel
without destroying it first.

svn-id: r55260
2011-01-16 16:28:17 +00:00
Sven Hesse
2a99d3d4b1 GOB: Silence compiler warnings
svn-id: r53036
2010-10-05 20:59:47 +00:00
Sven Hesse
89f946ba3e GOB: Transparency support for 16bit surfaces
svn-id: r52950
2010-09-30 13:03:51 +00:00
Sven Hesse
38e5060041 GOB: Add a new class Surface
This will be the new class managing all drawing, providing
depth-agnostic methods for all drawing operations, including 2
iterator-like classes, Pixel and ConstPixel.

svn-id: r52946
2010-09-30 13:01:07 +00:00