Adrien Destugues
878c926ce4
Fix issue 185 (XOR highlight) :
...
* Use a simple optimization algorithm to compute a good set of XOR color pairs
* Algorothm is not very optimized (complexity is up to n^3). In practize, it stabilizes after 2 to 3 rounds of swapping colors
* Use this color table for all XOR effects
* Setting for grid color is now removed
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2048 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2013-01-06 12:46:46 +00:00
Adrien Destugues
65194af002
Use some macro magic to avoid repeating the list of graphic primitives for each pixel renderer.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2047 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2013-01-06 11:23:24 +00:00
Yves Rizoud
e87f9140c7
Fix issue 516: Some changes can't be undone on animations > 32 frames
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2033 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-10-16 00:07:42 +00:00
Yves Rizoud
effde4aee2
Issue 473: Fix mouse droppings in Brush rotate tool when you hold Shift
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2012 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-09-26 23:13:04 +00:00
Yves Rizoud
d8fd3d33a4
Fix issue 473: Brush-rotate cursor has display issues
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2011 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-09-26 00:37:49 +00:00
Yves Rizoud
a630a84822
Removed all usage of __attribute__((unused)), replaced by void cast which is supported both on GCC and VBCC
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1984 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-08-11 16:19:07 +00:00
Yves Rizoud
2aa72730ad
Fix issue 495 : Contour fill crashes on new anim frame, and possibly random crashes when adding anim frames
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1968 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-07-10 23:03:29 +00:00
Adrien Destugues
b437d458d4
CPC Mode 5 fixes :
...
* Be case unsensitive when looking for the GFX-file,
* When an underlay is hidden, do not use it and replace it with color 0, 1, 2 or 3. Allows to see pixel data
alone or disable rasters on one color, as it's possible to get confused quite easily.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1964 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-06-13 19:50:35 +00:00
Yves Rizoud
064bbebc5b
Fix part of issue 459: In anim mode, Color-replacer didn't refresh the screen
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1943 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-04-08 14:45:56 +00:00
Yves Rizoud
7d6d3ad875
Fix the Tilemap mode : When grid was visible, the copied tiles were erasing the grid. Now the grid is refreshed as needed.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1929 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-11 17:41:52 +00:00
Yves Rizoud
e73eb2786a
Animation now has correct visual display and input feedback. Loading GIF guesses it's an anim if it loops, layers otherwise : Some rare non-looping GIF anims (usaully broken) will be misunderstood as layered. Editing of anims and layers seems flawless and stable. Still requires an auto-switch to the best toolbar (anim/layers) when relevant, but you can already switch manually.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1910 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-02 23:19:47 +00:00
Yves Rizoud
d38f5ee981
CPC mode 5 : replaced the global Constraint_mode by a state (Image_mode) in each versioned T_Page: This allows keeping it sane when swapping to Spare, and when Undo/Redoing. Also fixed the first page when program starts, it was unnecessarily allocating pointers for the maximum number of layers(16)/frames(999)
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1907 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-27 00:47:18 +00:00
Yves Rizoud
55d0889bc8
Change rendering system to use function pointers, see Issue 31 c38 : preliminary work to make the same executable handle Layers or Anims. Fixed an old issue where Lasso-ing a brush with right mouse button wouldn't erase cleanly (visual). Fixed an old issue where picking colors in layer 5 would not 'see' through layers.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1906 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-22 23:47:53 +00:00
Yves Rizoud
eb4bab6d67
Fixed Fill tool to work with tilemap
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1867 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-12 16:10:59 +00:00
Yves Rizoud
e7d37cf367
Tilemap: now separate for main and spare. Safeties added in most places necessary (auto-recompute tilemap after load, undo, etc)
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1866 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-11 22:57:35 +00:00
Yves Rizoud
82860387bc
Added missing source file, and make the tilemap depend on current layer instead of the sum of layers
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1860 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-08 23:38:14 +00:00
Yves Rizoud
ef030fec3f
Tilemap mode improved to analyze and detect identical tiles, so you write in real time on all occurences of same tile. Works very well but unfinished, will crash or have other problems when you resize image
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1859 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-08 23:11:18 +00:00
Yves Rizoud
a60a33c204
Tilemap mode works, and it's faster than I thought possible.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1858 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-07 00:06:17 +00:00
Yves Rizoud
1b4b242a06
Split Display_paintbrush() in two: one function for preview, another function (Draw_paintbrush()) for image modification. Should be functionally identical, but code becomes simpler.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1857 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-06 19:38:55 +00:00
Yves Rizoud
8fb16e7089
Re-integrated anim in trunk, fixing the 999-layer limit at the same time
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1841 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-10-19 23:35:56 +00:00
Adrien Destugues
22d3f19df3
* Add lua stuff to write to spare page
...
* Use it in Tiler to put the tilemap in the spare.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1834 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-09-25 20:37:45 +00:00
Adrien Destugues
706049a2d9
Merge all changes from trunk in CPCMode5 branch.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1809 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-06-19 18:30:53 +00:00
Yves Rizoud
bf28d19f20
Lua: Fixed drawdisk which was drawing a square instead of a circle (doh!). Radius can now be a multiple of 0.5 to draw circles of even sizes (r=0 -> 1x1, r=0.5 -> 2x2, r=1 -> 3x3 etc.)
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1798 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-06-14 21:52:20 +00:00
Yves Rizoud
1f10338f60
Merged trunk into branches/mode5 (=update mode5 branch to latest)
...
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1785 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-04-25 15:17:18 +00:00
Yves Rizoud
64e39cda85
Lua: fix crash of the new drawing primitives (drawcircle, drawdisk, drawfilledrect, drawline) when outside view area
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1756 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-03-13 00:52:51 +00:00
Adrien Destugues
72e9892b53
Constraint mode is now switchable on/off in the effect screen.
...
I did some changes to the effect screen to make some space : instead of displaying an "on/off" label, we now keep the button pressed for active effects.
There is no "constraint menu" yet, we should allow to select different constraints there (C64, MO5, spectrum, ...) to activate their respective enforcer and plug the right thing to the associated checker.
This should eventually allow drawers to :
* Load any single-layer picture
* Select the mode they want to use (without enabling it)
* Run the checker and get the result as a multilayer (with an error layer)
* Then, once they feel enough issues are solved, switch to "enforcer" mode for further manual tweaking.
Now we need a checker for CPC Mode5... :)
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1721 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-14 13:37:35 +00:00
Adrien Destugues
eba26aaa96
Merge trunk to the cpcmode5 branch. This gets us a more recent grafx2 with the cpcmode5 drawing. Now to make this mode optional so users can still work in regular mode :)
...
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1719 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-13 21:49:31 +00:00
Adrien Destugues
4e60f5ad74
Import the WIP CPC-Mode5 code from the sourcearchive
...
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1718 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-13 21:20:45 +00:00
Yves Rizoud
ce3181b230
Fixed compilation warnings: a few missing declarations, and 2 strange casts on WIN32-specific code.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1712 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-07 19:39:45 +00:00
Yves Rizoud
1b0141367e
Import colors from brush now works (F11)
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1703 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-01-30 00:59:52 +00:00
Yves Rizoud
e01b310317
Some work on brush remapping
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1700 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-01-29 21:20:54 +00:00
Yves Rizoud
bd13dd93b1
Integrated the changes by PheeL for Caanoo support
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1629 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-09-29 22:21:25 +00:00
Yves Rizoud
6d059e7234
Fix issue 338: UI scale should stay the same regardless of pixel scale
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1621 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-09-17 15:35:13 +00:00
Yves Rizoud
b0d2f9741d
Improved Spare remapping and Brush recolorizing, with new color-matching formula provided by DawnBringer (Perceptual color-distance with 25 brightness weigth-in). Fix in 'Copy to spare/Palette & remap' : Transparent color of the spare wasn't renumbered accordingly.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1613 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-09-12 19:09:27 +00:00
Yves Rizoud
499c9bc943
Fix issue 377: getbackuppixel doesn't work after image resize
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1611 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-09-12 17:15:16 +00:00
Yves Rizoud
25796b9188
More work on SDL events. Also fixed an issue (very old?) where Grafx2 didn't accurately follow mouse movements when it's very busy, ie when using Continuous Freehand with a large brush or transparency. Now, as long as the setting Merge mouse is zero, all intermediate mouse positions are correctly buffered and played back. From my testing, up to 7 seconds will be memorized.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1568 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-11 00:07:55 +00:00
Yves Rizoud
3ca5322379
Reorganized source code and directory tree.
...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1375 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-03-05 02:53:19 +00:00