* Further optimization to the colortree, now allocated in one single chunk of 4090 bytes (2051 times better than original code!).
Not doing all the malloc/frees should be slightly faster, and it also helps with cache locality (the whole tree can fit in the
cache).
* Remove the useless color "balancing" multipliers that did more harm than good.
We still need some improvements on the median cut, or maybe switch to a smarter algorithm; or add some cheats. See the JFIF quirks
for an example.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1876 416bcca6-2ee7-4201-b75f-2eb2f807beb1
There is room for optimization and maybe bugfixing.
The cluster table size is now:
511*15 = 7665bytes, this is 1094 times better than the color table.
Please test and report your results !
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1874 416bcca6-2ee7-4201-b75f-2eb2f807beb1
The 8megabytes conversion table is replaced by an octree taking 10kbytes (800 times better !)
The conversion is done with full 24bit precision instead of 19 bits (8 green, 6 red, 5 blue) previously.
Not added to makefile and integrated yet, because I need to bugfix first.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1873 416bcca6-2ee7-4201-b75f-2eb2f807beb1
* Remove useless and undocumented function getbrushtransparentcolor (does the same as getbackcolor)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1832 416bcca6-2ee7-4201-b75f-2eb2f807beb1
* Display error code to terminal when loading an image fails. Mainly for debugging purposes.
* Use different error codes for different errors in ILBM loader.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1818 416bcca6-2ee7-4201-b75f-2eb2f807beb1
Note this alsoincludes the "oldies" branch.
This has the following consequences :
[C64]
* Loading and saving of screen-only, and color-only C64 picture is removed
* Loading and saving in FLI mode is now possible
* FLI constraint checker : tries to convert your image to FLI format, and put all the areas where it couldn't find a solution in a separate layer for you to fixup
* This is currently accessible only with a shortcut. Menu will come next.
[Amstrad CPC]
* Loading and saving of pictures in "Mode 5" is now possible. This custom format allows overscan mode 1 with rasters on 2 inks and split rasters on a 3rd one.
* Mode 5 constraint enforcer : will ensure you can only draw pictures that are valid in mode 5. Each ink is seen as a layer.
* This is accessible from a new button in the FX menu.
[Generic]
* Added patch as I saw it : platform that don't support reporting "free space" on disk will not display anything (instead of "0 bytesÃ" as before)
* For other platforms, when the free space is 0, we now have a disk full message.
The merge was not straight forward. I hope I didn't break too much things.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1810 416bcca6-2ee7-4201-b75f-2eb2f807beb1
Consequences :
* This is a GNU Make extension, so it may not work with BSD Make and others
* However, backticks relied on an sh shell, which may not be the case everywhere (AmigaOS comes to mind)
Why did I do that : $(shell) is evaluated at variable assignment, not each time a command with the variable is executed. This is cleaner and should get the build
running a little faster.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1806 416bcca6-2ee7-4201-b75f-2eb2f807beb1
* Refactor the code a bit so the warning for missing code will be there for all the people that don't provide code.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1805 416bcca6-2ee7-4201-b75f-2eb2f807beb1