simon-svn: puzzles: simon

Commits to Tartarus CVS repository. tartarus-commits at lists.tartarus.org
Tue Oct 7 22:22:53 BST 2014


SVN root:       svn://svn.tartarus.org/sgt
Changes by:     simon
Revision:       10282
Date:           2014-10-07 22:22:53 +0100 (Tue, 07 Oct 2014)

Log message (15 lines):
Fix antialiasing artifacts around edges of Bridges islands.

When an island changes colour (because it becomes locked or
highlighted, or goes back to plain COL_FOREGROUND from one of those
states), we were just redrawing a filled circle over the previous one,
which only really worked before antialiasing was introduced.

Fixed by reworking the entire drawing edifice to be grid-square based,
so that every grid square is either redrawn in full or left alone.
Grid squares come in two types - island and bridge - but a bridge
square can have neighbouring islands overlap into it, and the bridges
entering an island overlap the island square too, so we end up with
quite a large collection of bitfields describing each square's
contents, and some care must be taken to draw each square in the right
order.

Modified files:
U   puzzles/bridges.c

Links:
http://svn.tartarus.org/sgt/?rev=10282&view=rev
http://svn.tartarus.org/sgt/puzzles/bridges.c?rev=10282&r1=10281&r2=10282



More information about the tartarus-commits mailing list