From 57e978b102f3ae0924d47b5f6b5f7d1305933363 Mon Sep 17 00:00:00 2001 From: David Capello Date: Tue, 18 Sep 2007 23:57:02 +0000 Subject: [PATCH] Moved everything to trunk --- AUTHORS.txt | 136 + COPYING | 340 + ChangeLog | 3503 ++++++++ FAQ.txt | 57 + HACKING.txt | 103 + INSTALL.txt | 31 + LEGAL.txt | 19 + NEWS-es.txt | 255 + NEWS.txt | 306 + README-es.txt | 180 + README.txt | 175 + TODO.txt | 79 + WARNING.txt | 23 + all.h | 170 + config.h | 49 + data/aseicon.ico | Bin 0 -> 2238 bytes data/aseicon.pcx | Bin 0 -> 1342 bytes data/convmatr.def | 324 + data/fonts/allegro.pcx | Bin 0 -> 21269 bytes data/fonts/anipro.pcx | Bin 0 -> 4546 bytes data/fonts/anipro2.pcx | Bin 0 -> 4423 bytes data/fonts/default.pcx | Bin 0 -> 11646 bytes data/fonts/default2.pcx | Bin 0 -> 18567 bytes data/fonts/lcd8.pcx | Bin 0 -> 6068 bytes data/fonts/mssansserif8.pcx | Bin 0 -> 18901 bytes data/fonts/mssansserif8bold.pcx | Bin 0 -> 20141 bytes data/fonts/tahoma8.pcx | Bin 0 -> 16903 bytes data/fonts/terminal10.pcx | Bin 0 -> 16642 bytes data/fonts/terminal8.pcx | Bin 0 -> 13815 bytes data/fonts/verdana10.pcx | Bin 0 -> 25529 bytes data/fonts/verdana8.pcx | Bin 0 -> 17822 bytes data/fonts/verdana8bold.pcx | Bin 0 -> 18567 bytes data/fonts/verdana9.pcx | Bin 0 -> 21344 bytes data/jids/colcurv.jid | 18 + data/jids/colsel.jid | 47 + data/jids/convmatr.jid | 66 + data/jids/drawtext.jid | 37 + data/jids/dupspr.jid | 24 + data/jids/frlen.jid | 23 + data/jids/frmprop.jid | 27 + data/jids/imgtype.jid | 26 + data/jids/invrtcol.jid | 15 + data/jids/main.jid | 58 + data/jids/mapgen.jid | 42 + data/jids/median.jid | 30 + data/jids/newlay.jid | 38 + data/jids/newspr.jid | 48 + data/jids/options.jid | 54 + data/jids/paledit.jid | 60 + data/jids/playfli.jid | 16 + data/jids/pntprop.jid | 23 + data/jids/replcol.jid | 38 + data/jids/sprprop.jid | 28 + data/jids/toolconf.jid | 55 + data/menus.en | 272 + data/menus.es | 189 + data/palettes/default.col | Bin 0 -> 776 bytes data/palettes/grayramp.col | Bin 0 -> 776 bytes data/palettes/terrain1.col | Bin 0 -> 776 bytes data/po/es.po | 1445 ++++ data/scripts/closespr.lua | 28 + data/scripts/confjpeg.lua | 71 + data/scripts/duplay.lua | 42 + data/scripts/dupspr.lua | 49 + data/scripts/edit.lua | 14 + data/scripts/effect.lua | 126 + data/scripts/examples/aselogo.lua | 123 + data/scripts/examples/cosy.lua | 26 + data/scripts/examples/dacap.lua | 59 + data/scripts/examples/shell.lua | 30 + data/scripts/examples/spiral.lua | 64 + data/scripts/examples/terrain.lua | 59 + data/scripts/exit.lua | 24 + data/scripts/flatten.lua | 63 + data/scripts/flip.lua | 16 + data/scripts/frmprop.lua | 77 + data/scripts/imgtype.lua | 69 + data/scripts/layer.lua | 166 + data/scripts/layprop.lua | 85 + data/scripts/loadfile.lua | 9 + data/scripts/mask.lua | 229 + data/scripts/mergedwn.lua | 98 + data/scripts/newlay.lua | 60 + data/scripts/newspr.lua | 113 + data/scripts/openspr.lua | 22 + data/scripts/playfli.lua | 49 + data/scripts/rec.lua | 10 + data/scripts/remfrm.lua | 47 + data/scripts/rootmenu.lua | 9 + data/scripts/savespr.lua | 50 + data/scripts/selspr.lua | 29 + data/scripts/session.lua | 39 + data/scripts/sprite.lua | 11 + data/scripts/sprprop.lua | 70 + data/scripts/testjid.lua | 54 + data/scripts/undo.lua | 18 + data/session/README.txt | 1 + data/tips/aselogo.pcx | Bin 0 -> 2570 bytes data/tips/colcurv.pcx | Bin 0 -> 7216 bytes data/tips/dither.pcx | Bin 0 -> 3657 bytes data/tips/filmedit.pcx | Bin 0 -> 5699 bytes data/tips/lua.pcx | Bin 0 -> 2023 bytes data/tips/minipal.pcx | Bin 0 -> 5496 bytes data/tips/nodither.pcx | Bin 0 -> 2357 bytes data/tips/onion.pcx | Bin 0 -> 6921 bytes data/tips/sprite.pcx | Bin 0 -> 2957 bytes data/tips/sprprop.pcx | Bin 0 -> 5595 bytes data/tips/tar_1.pcx | Bin 0 -> 1074 bytes data/tips/tar_2.pcx | Bin 0 -> 1107 bytes data/tips/tar_3.pcx | Bin 0 -> 1129 bytes data/tips/tar_4.pcx | Bin 0 -> 1162 bytes data/tips/tar_gray.pcx | Bin 0 -> 1068 bytes data/tips/tar_indx.pcx | Bin 0 -> 1323 bytes data/tips/tar_rgb.pcx | Bin 0 -> 1210 bytes data/tips/tips.en | 120 + data/tips/tips.es | 122 + data/tips/zoom.pcx | Bin 0 -> 9009 bytes docs/QuickHelp.html | 184 + docs/files/ase.txt | 217 + docs/files/fli.txt | 244 + docs/files/msk.txt | 51 + docs/files/pic.txt | 71 + docs/files/picpro.txt | 92 + docs/licenses/FTL.txt | 164 + docs/licenses/GPL.txt | 340 + docs/licenses/LGPL-2.0.txt | 482 ++ docs/licenses/LGPL-2.1.txt | 515 ++ docs/licenses/MIT.txt | 17 + docs/lua-5.0.pdf | Bin 0 -> 474818 bytes docs/script.html | 1719 ++++ docs/script.info | 3031 +++++++ docs/script.texi | 2267 +++++ docs/script.txt | 903 ++ fix.bat | 3 + fix.sh | 150 + jinete/AUTHORS.txt | 5 + jinete/docs/jid_file.txt | 80 + jinete/docs/jinete-es.html | 2568 ++++++ jinete/docs/jinete-es.info | 285 + jinete/docs/jinete-es.texi | 3211 +++++++ jinete/docs/jinete-es.txt | 1444 ++++ jinete/examples/00hello.c | 63 + jinete/examples/01simple.c | 53 + jinete/examples/02label.c | 55 + jinete/examples/03slider.c | 63 + jinete/examples/04alert.c | 64 + jinete/examples/05fsel.c | 48 + jinete/examples/06entry.c | 66 + jinete/examples/07panel.c | 49 + jinete/examples/08txtbox.c | 92 + jinete/examples/09lists.c | 180 + jinete/examples/10chcks.c | 147 + jinete/examples/11file.c | 89 + jinete/examples/11file.jid | 72 + jinete/examples/12qckmnu.c | 74 + jinete/examples/13menu.c | 140 + jinete/examples/14win.c | 70 + jinete/examples/15colbut.c | 193 + jinete/examples/16theme.c | 331 + jinete/examples/17theme.c | 515 ++ jinete/examples/18tips.c | 177 + jinete/examples/19game.c | 362 + jinete/examples/20combo.c | 70 + jinete/examples/21manage.c | 73 + jinete/examples/pal17.pcx | Bin 0 -> 1217 bytes jinete/examples/zerohour.ttf | Bin 0 -> 14868 bytes jinete/examples/zerohour.txt | 39 + jinete/freetype/ChangeLog | 2351 ++++++ jinete/freetype/INSTALL | 153 + jinete/freetype/README | 29 + jinete/freetype/README.UNX | 104 + jinete/freetype/descrip.mms | 67 + jinete/freetype/docs/BUGS | 269 + jinete/freetype/docs/BUILD | 276 + jinete/freetype/docs/CHANGES | 1449 ++++ jinete/freetype/docs/FTL.txt | 164 + jinete/freetype/docs/GPL.txt | 339 + jinete/freetype/docs/PATENTS | 27 + jinete/freetype/docs/TODO | 9 + jinete/freetype/docs/license.txt | 11 + jinete/freetype/docs/modules.txt | 13 + jinete/freetype/docs/readme.vms | 35 + .../include/freetype/cache/ftccache.h | 300 + .../freetype/include/freetype/cache/ftccmap.h | 209 + .../include/freetype/cache/ftcglyph.h | 201 + .../include/freetype/cache/ftcimage.h | 311 + .../include/freetype/cache/ftcmanag.h | 244 + .../include/freetype/cache/ftcsbits.h | 272 + .../freetype/include/freetype/cache/ftlru.h | 202 + .../include/freetype/config/ftconfig.h | 326 + .../include/freetype/config/ftheader.h | 493 ++ .../include/freetype/config/ftmodule.h | 14 + .../include/freetype/config/ftoption.h | 464 ++ jinete/freetype/include/freetype/freetype.h | 2623 ++++++ jinete/freetype/include/freetype/ftbbox.h | 83 + jinete/freetype/include/freetype/ftcache.h | 411 + jinete/freetype/include/freetype/ftchapters.h | 55 + jinete/freetype/include/freetype/fterrors.h | 383 + jinete/freetype/include/freetype/ftglyph.h | 517 ++ jinete/freetype/include/freetype/ftimage.h | 1111 +++ jinete/freetype/include/freetype/ftlist.h | 268 + jinete/freetype/include/freetype/ftmac.h | 128 + jinete/freetype/include/freetype/ftmm.h | 203 + jinete/freetype/include/freetype/ftmoderr.h | 148 + jinete/freetype/include/freetype/ftmodule.h | 307 + jinete/freetype/include/freetype/ftoutln.h | 398 + jinete/freetype/include/freetype/ftrender.h | 213 + jinete/freetype/include/freetype/ftsizes.h | 151 + jinete/freetype/include/freetype/ftsnames.h | 161 + jinete/freetype/include/freetype/ftsynth.h | 67 + jinete/freetype/include/freetype/ftsystem.h | 307 + jinete/freetype/include/freetype/fttrigon.h | 281 + jinete/freetype/include/freetype/fttypes.h | 525 ++ .../include/freetype/internal/autohint.h | 204 + .../include/freetype/internal/cfftypes.h | 252 + .../include/freetype/internal/fnttypes.h | 155 + .../include/freetype/internal/ftcalc.h | 234 + .../include/freetype/internal/ftdebug.h | 247 + .../include/freetype/internal/ftdriver.h | 200 + .../include/freetype/internal/ftextend.h | 211 + .../include/freetype/internal/ftmemory.h | 268 + .../include/freetype/internal/ftobjs.h | 739 ++ .../include/freetype/internal/ftstream.h | 436 + .../include/freetype/internal/internal.h | 51 + .../include/freetype/internal/pcftypes.h | 54 + .../include/freetype/internal/psaux.h | 671 ++ .../include/freetype/internal/psglobal.h | 186 + .../include/freetype/internal/pshints.h | 618 ++ .../include/freetype/internal/psnames.h | 232 + .../freetype/include/freetype/internal/sfnt.h | 530 ++ .../include/freetype/internal/t1types.h | 203 + .../include/freetype/internal/tttypes.h | 1651 ++++ jinete/freetype/include/freetype/t1tables.h | 263 + jinete/freetype/include/freetype/ttnameid.h | 865 ++ jinete/freetype/include/freetype/tttables.h | 605 ++ jinete/freetype/include/freetype/tttags.h | 74 + jinete/freetype/include/ft2build.h | 39 + .../freetype/src/autohint/CatharonLicense.txt | 123 + jinete/freetype/src/autohint/ahangles.c | 130 + jinete/freetype/src/autohint/ahangles.h | 59 + jinete/freetype/src/autohint/aherrors.h | 40 + jinete/freetype/src/autohint/ahglobal.c | 395 + jinete/freetype/src/autohint/ahglobal.h | 49 + jinete/freetype/src/autohint/ahglyph.c | 1464 ++++ jinete/freetype/src/autohint/ahglyph.h | 93 + jinete/freetype/src/autohint/ahhint.c | 1432 ++++ jinete/freetype/src/autohint/ahhint.h | 75 + jinete/freetype/src/autohint/ahloader.h | 133 + jinete/freetype/src/autohint/ahmodule.c | 136 + jinete/freetype/src/autohint/ahmodule.h | 42 + jinete/freetype/src/autohint/ahoptim.c | 883 ++ jinete/freetype/src/autohint/ahoptim.h | 137 + jinete/freetype/src/autohint/ahtypes.h | 505 ++ jinete/freetype/src/autohint/autohint.c | 32 + jinete/freetype/src/autohint/mather.py | 78 + jinete/freetype/src/base/ftbase.c | 36 + jinete/freetype/src/base/ftbbox.c | 653 ++ jinete/freetype/src/base/ftcalc.c | 705 ++ jinete/freetype/src/base/ftdbgmem.c | 672 ++ jinete/freetype/src/base/ftdebug.c | 118 + jinete/freetype/src/base/ftextend.c | 302 + jinete/freetype/src/base/ftglyph.c | 679 ++ jinete/freetype/src/base/ftinit.c | 155 + jinete/freetype/src/base/ftlist.c | 217 + jinete/freetype/src/base/ftmac.c | 879 ++ jinete/freetype/src/base/ftmm.c | 126 + jinete/freetype/src/base/ftnames.c | 77 + jinete/freetype/src/base/ftobjs.c | 2702 ++++++ jinete/freetype/src/base/ftoutln.c | 656 ++ jinete/freetype/src/base/ftstream.c | 804 ++ jinete/freetype/src/base/ftsynth.c | 399 + jinete/freetype/src/base/ftsystem.c | 305 + jinete/freetype/src/base/fttrigon.c | 450 + jinete/freetype/src/cache/ftcache.c | 31 + jinete/freetype/src/cache/ftccache.c | 624 ++ jinete/freetype/src/cache/ftccmap.c | 390 + jinete/freetype/src/cache/ftcerror.h | 40 + jinete/freetype/src/cache/ftcglyph.c | 115 + jinete/freetype/src/cache/ftcimage.c | 393 + jinete/freetype/src/cache/ftcmanag.c | 766 ++ jinete/freetype/src/cache/ftcsbits.c | 534 ++ jinete/freetype/src/cache/ftlru.c | 338 + jinete/freetype/src/cff/cff.c | 29 + jinete/freetype/src/cff/cffdrivr.c | 486 ++ jinete/freetype/src/cff/cffdrivr.h | 39 + jinete/freetype/src/cff/cfferrs.h | 41 + jinete/freetype/src/cff/cffgload.c | 2364 ++++++ jinete/freetype/src/cff/cffgload.h | 207 + jinete/freetype/src/cff/cffload.c | 2275 +++++ jinete/freetype/src/cff/cffload.h | 74 + jinete/freetype/src/cff/cffobjs.c | 784 ++ jinete/freetype/src/cff/cffobjs.h | 158 + jinete/freetype/src/cff/cffparse.c | 677 ++ jinete/freetype/src/cff/cffparse.h | 69 + jinete/freetype/src/cff/cfftoken.h | 97 + jinete/freetype/src/cid/ciderrs.h | 40 + jinete/freetype/src/cid/cidgload.c | 368 + jinete/freetype/src/cid/cidgload.h | 51 + jinete/freetype/src/cid/cidload.c | 549 ++ jinete/freetype/src/cid/cidload.h | 57 + jinete/freetype/src/cid/cidobjs.c | 541 ++ jinete/freetype/src/cid/cidobjs.h | 158 + jinete/freetype/src/cid/cidparse.c | 157 + jinete/freetype/src/cid/cidparse.h | 116 + jinete/freetype/src/cid/cidriver.c | 267 + jinete/freetype/src/cid/cidriver.h | 39 + jinete/freetype/src/cid/cidtoken.h | 96 + jinete/freetype/src/cid/type1cid.c | 29 + jinete/freetype/src/pcf/pcf.c | 36 + jinete/freetype/src/pcf/pcf.h | 239 + jinete/freetype/src/pcf/pcfdriver.c | 347 + jinete/freetype/src/pcf/pcfdriver.h | 44 + jinete/freetype/src/pcf/pcferror.h | 40 + jinete/freetype/src/pcf/pcfread.c | 1083 +++ jinete/freetype/src/pcf/pcfutil.c | 215 + jinete/freetype/src/pcf/pcfutil.h | 58 + jinete/freetype/src/psaux/psaux.c | 27 + jinete/freetype/src/psaux/psauxerr.h | 41 + jinete/freetype/src/psaux/psauxmod.c | 105 + jinete/freetype/src/psaux/psauxmod.h | 38 + jinete/freetype/src/psaux/psobjs.c | 1311 +++ jinete/freetype/src/psaux/psobjs.h | 204 + jinete/freetype/src/psaux/t1decode.c | 1151 +++ jinete/freetype/src/psaux/t1decode.h | 64 + jinete/freetype/src/pshinter/pshalgo.h | 44 + jinete/freetype/src/pshinter/pshalgo1.c | 782 ++ jinete/freetype/src/pshinter/pshalgo1.h | 109 + jinete/freetype/src/pshinter/pshalgo2.c | 1553 ++++ jinete/freetype/src/pshinter/pshalgo2.h | 202 + jinete/freetype/src/pshinter/pshglob.c | 713 ++ jinete/freetype/src/pshinter/pshglob.h | 190 + jinete/freetype/src/pshinter/pshinter.c | 29 + jinete/freetype/src/pshinter/pshmod.c | 120 + jinete/freetype/src/pshinter/pshmod.h | 39 + jinete/freetype/src/pshinter/pshrec.c | 1211 +++ jinete/freetype/src/pshinter/pshrec.h | 180 + jinete/freetype/src/psnames/psmodule.c | 311 + jinete/freetype/src/psnames/psmodule.h | 38 + jinete/freetype/src/psnames/psnamerr.h | 41 + jinete/freetype/src/psnames/psnames.c | 25 + jinete/freetype/src/psnames/pstables.h | 2967 +++++++ jinete/freetype/src/raster/ftraster.c | 3288 ++++++++ jinete/freetype/src/raster/ftraster.h | 46 + jinete/freetype/src/raster/ftrend1.c | 273 + jinete/freetype/src/raster/ftrend1.h | 44 + jinete/freetype/src/raster/raster.c | 26 + jinete/freetype/src/raster/rasterrs.h | 41 + jinete/freetype/src/sfnt/sfdriver.c | 276 + jinete/freetype/src/sfnt/sfdriver.h | 38 + jinete/freetype/src/sfnt/sferrors.h | 39 + jinete/freetype/src/sfnt/sfnt.c | 36 + jinete/freetype/src/sfnt/sfobjs.c | 676 ++ jinete/freetype/src/sfnt/sfobjs.h | 54 + jinete/freetype/src/sfnt/ttcmap.c | 756 ++ jinete/freetype/src/sfnt/ttcmap.h | 45 + jinete/freetype/src/sfnt/ttload.c | 1820 ++++ jinete/freetype/src/sfnt/ttload.h | 137 + jinete/freetype/src/sfnt/ttpost.c | 534 ++ jinete/freetype/src/sfnt/ttpost.h | 46 + jinete/freetype/src/sfnt/ttsbit.c | 1470 ++++ jinete/freetype/src/sfnt/ttsbit.h | 59 + jinete/freetype/src/smooth/ftgrays.c | 2101 +++++ jinete/freetype/src/smooth/ftgrays.h | 57 + jinete/freetype/src/smooth/ftsmerrs.h | 41 + jinete/freetype/src/smooth/ftsmooth.c | 219 + jinete/freetype/src/smooth/ftsmooth.h | 44 + jinete/freetype/src/smooth/smooth.c | 26 + jinete/freetype/src/truetype/truetype.c | 32 + jinete/freetype/src/truetype/ttdriver.c | 512 ++ jinete/freetype/src/truetype/ttdriver.h | 38 + jinete/freetype/src/truetype/tterrors.h | 40 + jinete/freetype/src/truetype/ttgload.c | 1586 ++++ jinete/freetype/src/truetype/ttgload.h | 55 + jinete/freetype/src/truetype/ttinterp.c | 7397 +++++++++++++++++ jinete/freetype/src/truetype/ttinterp.h | 317 + jinete/freetype/src/truetype/ttobjs.c | 868 ++ jinete/freetype/src/truetype/ttobjs.h | 422 + jinete/freetype/src/truetype/ttpload.c | 270 + jinete/freetype/src/truetype/ttpload.h | 48 + jinete/freetype/src/type1/t1afm.c | 286 + jinete/freetype/src/type1/t1afm.h | 66 + jinete/freetype/src/type1/t1driver.c | 410 + jinete/freetype/src/type1/t1driver.h | 38 + jinete/freetype/src/type1/t1errors.h | 40 + jinete/freetype/src/type1/t1gload.c | 320 + jinete/freetype/src/type1/t1gload.h | 46 + jinete/freetype/src/type1/t1load.c | 1745 ++++ jinete/freetype/src/type1/t1load.h | 84 + jinete/freetype/src/type1/t1objs.c | 550 ++ jinete/freetype/src/type1/t1objs.h | 170 + jinete/freetype/src/type1/t1parse.c | 462 + jinete/freetype/src/type1/t1parse.h | 134 + jinete/freetype/src/type1/t1tokens.h | 73 + jinete/freetype/src/type1/type1.c | 33 + jinete/freetype/src/winfonts/fnterrs.h | 41 + jinete/freetype/src/winfonts/winfnt.c | 661 ++ jinete/freetype/src/winfonts/winfnt.h | 39 + jinete/include/jinete.h | 44 + jinete/include/jinete/accel.h | 27 + jinete/include/jinete/alert.h | 20 + jinete/include/jinete/base.h | 238 + jinete/include/jinete/box.h | 18 + jinete/include/jinete/button.h | 58 + jinete/include/jinete/clipbrd.h | 19 + jinete/include/jinete/combobox.h | 41 + jinete/include/jinete/draw.h | 40 + jinete/include/jinete/entry.h | 35 + jinete/include/jinete/file.h | 18 + jinete/include/jinete/filesel.h | 31 + jinete/include/jinete/font.h | 40 + jinete/include/jinete/hook.h | 39 + jinete/include/jinete/image.h | 20 + jinete/include/jinete/intern.h | 86 + jinete/include/jinete/label.h | 18 + jinete/include/jinete/list.h | 71 + jinete/include/jinete/listbox.h | 30 + jinete/include/jinete/manager.h | 46 + jinete/include/jinete/menu.h | 35 + jinete/include/jinete/message.h | 102 + jinete/include/jinete/panel.h | 21 + jinete/include/jinete/qckmenu.h | 28 + jinete/include/jinete/rect.h | 44 + jinete/include/jinete/region.h | 78 + jinete/include/jinete/scroll.h | 28 + jinete/include/jinete/sep.h | 18 + jinete/include/jinete/slider.h | 26 + jinete/include/jinete/system.h | 85 + jinete/include/jinete/textbox.h | 18 + jinete/include/jinete/theme.h | 53 + jinete/include/jinete/view.h | 40 + jinete/include/jinete/widget.h | 203 + jinete/include/jinete/window.h | 41 + jinete/lib/djgpp/tmpfile.txt | 1 + jinete/lib/mingw32/tmpfile.txt | 1 + jinete/lib/tmpfile.txt | 1 + jinete/lib/unix/tmpfile.txt | 1 + jinete/makefile.dj | 40 + jinete/makefile.gcc | 60 + jinete/makefile.lnx | 40 + jinete/makefile.lst | 124 + jinete/makefile.mgw | 40 + jinete/obj/djgpp/tmpfile.txt | 1 + jinete/obj/mingw32/tmpfile.txt | 1 + jinete/obj/tmpfile.txt | 1 + jinete/obj/unix/tmpfile.txt | 1 + jinete/src/jaccel.c | 436 + jinete/src/jalert.c | 217 + jinete/src/jbox.c | 214 + jinete/src/jbutton.c | 521 ++ jinete/src/jclipbrd.c | 22 + jinete/src/jcombox.c | 414 + jinete/src/jdraw.c | 237 + jinete/src/jentry.c | 612 ++ jinete/src/jfile.c | 605 ++ jinete/src/jfilesel.c | 753 ++ jinete/src/jfont.c | 1025 +++ jinete/src/jfontbmp.c | 240 + jinete/src/jhook.c | 41 + jinete/src/jimage.c | 64 + jinete/src/jintern.c | 126 + jinete/src/jlabel.c | 43 + jinete/src/jlist.c | 233 + jinete/src/jlistbox.c | 410 + jinete/src/jmanager.c | 1450 ++++ jinete/src/jmem.c | 60 + jinete/src/jmenu.c | 1161 +++ jinete/src/jmessage.c | 96 + jinete/src/jpanel.c | 311 + jinete/src/jqckmenu.c | 129 + jinete/src/jrect.c | 103 + jinete/src/jregion.c | 98 + jinete/src/jsep.c | 56 + jinete/src/jslider.c | 248 + jinete/src/jsystem.c | 292 + jinete/src/jtextbox.c | 195 + jinete/src/jtheme.c | 374 + jinete/src/jview.c | 636 ++ jinete/src/jwidget.c | 1369 +++ jinete/src/jwindow.c | 722 ++ jinete/src/miregion.c | 2563 ++++++ jinete/src/themes/Makefile.icons | 7 + jinete/src/themes/jsimple.c | 920 ++ jinete/src/themes/jstand.c | 1482 ++++ jinete/src/themes/pcx2data.c | 74 + jinete/src/themes/stand/chand.pcx | Bin 0 -> 1011 bytes jinete/src/themes/stand/cmove.pcx | Bin 0 -> 1042 bytes jinete/src/themes/stand/cnoradd.pcx | Bin 0 -> 1027 bytes jinete/src/themes/stand/cnormal.pcx | Bin 0 -> 996 bytes jinete/src/themes/stand/csizeb.pcx | Bin 0 -> 1005 bytes jinete/src/themes/stand/csizebl.pcx | Bin 0 -> 1005 bytes jinete/src/themes/stand/csizebr.pcx | Bin 0 -> 1005 bytes jinete/src/themes/stand/csizel.pcx | Bin 0 -> 981 bytes jinete/src/themes/stand/csizer.pcx | Bin 0 -> 977 bytes jinete/src/themes/stand/csizet.pcx | Bin 0 -> 1005 bytes jinete/src/themes/stand/csizetl.pcx | Bin 0 -> 1005 bytes jinete/src/themes/stand/csizetr.pcx | Bin 0 -> 1005 bytes jinete/src/themes/stand/ichecke.pcx | Bin 0 -> 934 bytes jinete/src/themes/stand/icheckm.pcx | Bin 0 -> 931 bytes jinete/src/themes/stand/iclose.pcx | Bin 0 -> 941 bytes jinete/src/themes/stand/imenum.pcx | Bin 0 -> 929 bytes jinete/src/themes/stand/iradioe.pcx | Bin 0 -> 953 bytes jinete/src/themes/stand/iradiom.pcx | Bin 0 -> 937 bytes jinete/src/themes/stdicons.c | 314 + makefile.cfg | 39 + makefile.dj | 49 + makefile.gcc | 135 + makefile.lnx | 57 + makefile.lst | 238 + makefile.mgw | 63 + obj/djgpp/tmpfile.txt | 1 + obj/mingw32/tmpfile.txt | 1 + obj/tmpfile.txt | 1 + obj/unix/tmpfile.txt | 1 + src/console/console.c | 194 + src/console/console.h | 32 + src/core/app.c | 739 ++ src/core/app.h | 46 + src/core/cfg.c | 97 + src/core/cfg.h | 34 + src/core/config.c | 1343 +++ src/core/core.c | 124 + src/core/core.h | 39 + src/core/dirs.c | 211 + src/core/dirs.h | 42 + src/core/modules.c | 100 + src/core/modules.h | 29 + src/core/shutdown.c | 152 + src/core/shutdown.h | 26 + src/dialogs/about.c | 65 + src/dialogs/about.h | 25 + src/dialogs/canvasze.c | 120 + src/dialogs/canvasze.h | 25 + src/dialogs/colsel.c | 363 + src/dialogs/colsel.h | 25 + src/dialogs/dfrlen.c | 82 + src/dialogs/dfrlen.h | 25 + src/dialogs/dmapgen.c | 303 + src/dialogs/dmapgen.h | 25 + src/dialogs/dpaledit.c | 457 + src/dialogs/dpaledit.h | 25 + src/dialogs/drawtext.c | 301 + src/dialogs/drawtext.h | 29 + src/dialogs/effect.h | 28 + src/dialogs/effect/dcolcurv.c | 170 + src/dialogs/effect/dconvmtr.c | 344 + src/dialogs/effect/dinvcol.c | 147 + src/dialogs/effect/dmedian.c | 197 + src/dialogs/effect/dreplcol.c | 232 + src/dialogs/filesel.c | 401 + src/dialogs/filesel.h | 27 + src/dialogs/filmedit.c | 1011 +++ src/dialogs/filmedit.h | 27 + src/dialogs/gfxsel.c | 278 + src/dialogs/gfxsel.h | 26 + src/dialogs/maskcol.c | 229 + src/dialogs/maskcol.h | 24 + src/dialogs/maskrepo.c | 185 + src/dialogs/maskrepo.h | 25 + src/dialogs/minipal.c | 120 + src/dialogs/minipal.h | 27 + src/dialogs/options.c | 252 + src/dialogs/options.h | 28 + src/dialogs/playfli.c | 211 + src/dialogs/playfli.h | 27 + src/dialogs/quick.c | 227 + src/dialogs/quick.h | 27 + src/dialogs/repo.c | 259 + src/dialogs/repo.h | 66 + src/dialogs/scrsaver.c | 138 + src/dialogs/scrsaver.h | 25 + src/dialogs/tips.c | 499 ++ src/dialogs/tips.h | 25 + src/dialogs/toolconf.c | 328 + src/dialogs/toolconf.h | 25 + src/dialogs/vectmap.c | 166 + src/dialogs/vectmap.h | 24 + src/dialogs/viewspr.c | 224 + src/dialogs/viewspr.h | 27 + src/effect/colcurve.c | 373 + src/effect/colcurve.h | 57 + src/effect/convmatr.c | 529 ++ src/effect/convmatr.h | 62 + src/effect/effect.c | 456 + src/effect/effect.h | 140 + src/effect/invrtcol.c | 138 + src/effect/invrtcol.h | 28 + src/effect/median.c | 253 + src/effect/median.h | 28 + src/effect/replcol.c | 153 + src/effect/replcol.h | 30 + src/file/ase.c | 1088 +++ src/file/ase.h | 34 + src/file/bmp.c | 724 ++ src/file/file.c | 683 ++ src/file/file.h | 65 + src/file/fli.c | 296 + src/file/gif.c | 448 + src/file/gif/format.c | 406 + src/file/gif/format.h | 45 + src/file/gif/lzw.c | 289 + src/file/gif/lzw.h | 6 + src/file/ico.c | 189 + src/file/jpeg.c | 578 ++ src/file/list.h | 39 + src/file/pcx.c | 309 + src/file/tga.c | 498 ++ src/icon.rc | 1 + src/intl/intl.c | 164 + src/intl/intl.h | 29 + src/intl/msgids.c | 98 + src/intl/msgids.h | 26 + src/main.c | 57 + src/modules/chkmthds.c | 344 + src/modules/chkmthds.h | 31 + src/modules/color.c | 653 ++ src/modules/color.h | 69 + src/modules/editors.c | 451 + src/modules/editors.h | 52 + src/modules/gfx.c | 508 ++ src/modules/gfx.h | 114 + src/modules/gfxdata.c | 440 + src/modules/gui.c | 697 ++ src/modules/gui.h | 72 + src/modules/palette.c | 436 + src/modules/palette.h | 55 + src/modules/recent.c | 130 + src/modules/recent.h | 33 + src/modules/render.c | 712 ++ src/modules/render.h | 36 + src/modules/rootmenu.c | 312 + src/modules/rootmenu.h | 47 + src/modules/sprites.c | 311 + src/modules/sprites.h | 54 + src/modules/tools.c | 1404 ++++ src/modules/tools.h | 123 + src/modules/tools2.c | 318 + src/modules/tools2.h | 30 + src/raster/algo.c | 633 ++ src/raster/algo.h | 49 + src/raster/algofill.c | 278 + src/raster/blend.c | 526 ++ src/raster/blend.h | 80 + src/raster/brush.c | 162 + src/raster/brush.h | 50 + src/raster/dirty.c | 813 ++ src/raster/dirty.h | 94 + src/raster/examples/00dirty.c | 116 + src/raster/examples/01mask.c | 147 + src/raster/examples/02path.c | 459 + src/raster/examples/03sprite.c | 130 + src/raster/frame.c | 97 + src/raster/frame.h | 48 + src/raster/gfxobj.c | 128 + src/raster/gfxobj.h | 59 + src/raster/image.c | 725 ++ src/raster/image.h | 122 + src/raster/imgbit.c | 402 + src/raster/imggray.c | 343 + src/raster/imgindex.c | 342 + src/raster/imgrgb.c | 349 + src/raster/layer.c | 489 ++ src/raster/layer.h | 88 + src/raster/mask.c | 471 ++ src/raster/mask.h | 56 + src/raster/path.c | 427 + src/raster/path.h | 77 + src/raster/quant.c | 269 + src/raster/quant.h | 42 + src/raster/raster.h | 38 + src/raster/rotate.c | 730 ++ src/raster/rotate.h | 35 + src/raster/sprite.c | 683 ++ src/raster/sprite.h | 103 + src/raster/stock.c | 145 + src/raster/stock.h | 49 + src/raster/undo.c | 1649 ++++ src/raster/undo.h | 90 + src/raster/x86/int_mult.s | 40 + src/script/bindings.c | 756 ++ src/script/bindings.h | 29 + src/script/bindings.py | 330 + src/script/export.h | 1177 +++ src/script/genbinds.c | 6722 +++++++++++++++ src/script/genbinds.h | 19 + src/script/import.h | 56 + src/script/script.c | 243 + src/script/script.h | 41 + src/util/autocrop.c | 174 + src/util/autocrop.h | 30 + src/util/boundary.c | 578 ++ src/util/boundary.h | 61 + src/util/clipbrd.c | 819 ++ src/util/clipbrd.h | 35 + src/util/col_file.c | 115 + src/util/col_file.h | 28 + src/util/crop.c | 231 + src/util/crop.h | 27 + src/util/filetoks.c | 127 + src/util/filetoks.h | 29 + src/util/flip.c | 85 + src/util/flip.h | 26 + src/util/frmove.c | 200 + src/util/frmove.h | 30 + src/util/hash.c | 222 + src/util/hash.h | 41 + src/util/mapgen.c | 147 + src/util/mapgen.h | 27 + src/util/misc.c | 380 + src/util/misc.h | 43 + src/util/msk_file.c | 101 + src/util/msk_file.h | 28 + src/util/pic_file.c | 256 + src/util/pic_file.h | 32 + src/util/quantize.c | 370 + src/util/quantize.h | 34 + src/util/recscr.c | 174 + src/util/recscr.h | 32 + src/util/scrshot.c | 65 + src/util/scrshot.h | 25 + src/util/session.c | 129 + src/util/session.h | 30 + src/util/setgfx.c | 148 + src/util/setgfx.h | 25 + src/util/thmbnail.c | 179 + src/util/thmbnail.h | 37 + src/widgets/colbar.c | 430 + src/widgets/colbar.h | 45 + src/widgets/colbut.c | 198 + src/widgets/colbut.h | 33 + src/widgets/colview.c | 147 + src/widgets/colview.h | 35 + src/widgets/curvedit.c | 513 ++ src/widgets/curvedit.h | 34 + src/widgets/editor.h | 133 + src/widgets/editor/NOTES.txt | 13 + src/widgets/editor/TODO.txt | 5 + src/widgets/editor/click.c | 191 + src/widgets/editor/cursor.c | 356 + src/widgets/editor/editor.c | 1342 +++ src/widgets/editor/keys.c | 214 + src/widgets/groupbut.c | 157 + src/widgets/groupbut.h | 30 + src/widgets/menu.c | 168 + src/widgets/menu.h | 32 + src/widgets/paledit.c | 633 ++ src/widgets/paledit.h | 60 + src/widgets/preview.c | 98 + src/widgets/preview.h | 32 + src/widgets/statebar.c | 514 ++ src/widgets/statebar.h | 61 + src/widgets/target.c | 171 + src/widgets/target.h | 29 + src/widgets/toolbar.c | 116 + src/widgets/toolbar.h | 28 + 754 files changed, 209218 insertions(+) create mode 100644 AUTHORS.txt create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 FAQ.txt create mode 100644 HACKING.txt create mode 100644 INSTALL.txt create mode 100644 LEGAL.txt create mode 100644 NEWS-es.txt create mode 100644 NEWS.txt create mode 100644 README-es.txt create mode 100644 README.txt create mode 100644 TODO.txt create mode 100644 WARNING.txt create mode 100644 all.h create mode 100644 config.h create mode 100644 data/aseicon.ico create mode 100644 data/aseicon.pcx create mode 100644 data/convmatr.def create mode 100644 data/fonts/allegro.pcx create mode 100644 data/fonts/anipro.pcx create mode 100644 data/fonts/anipro2.pcx create mode 100644 data/fonts/default.pcx create mode 100644 data/fonts/default2.pcx create mode 100644 data/fonts/lcd8.pcx create mode 100644 data/fonts/mssansserif8.pcx create mode 100644 data/fonts/mssansserif8bold.pcx create mode 100644 data/fonts/tahoma8.pcx create mode 100644 data/fonts/terminal10.pcx create mode 100644 data/fonts/terminal8.pcx create mode 100644 data/fonts/verdana10.pcx create mode 100644 data/fonts/verdana8.pcx create mode 100644 data/fonts/verdana8bold.pcx create mode 100644 data/fonts/verdana9.pcx create mode 100644 data/jids/colcurv.jid create mode 100644 data/jids/colsel.jid create mode 100644 data/jids/convmatr.jid create mode 100644 data/jids/drawtext.jid create mode 100644 data/jids/dupspr.jid create mode 100644 data/jids/frlen.jid create mode 100644 data/jids/frmprop.jid create mode 100644 data/jids/imgtype.jid create mode 100644 data/jids/invrtcol.jid create mode 100644 data/jids/main.jid create mode 100644 data/jids/mapgen.jid create mode 100644 data/jids/median.jid create mode 100644 data/jids/newlay.jid create mode 100644 data/jids/newspr.jid create mode 100644 data/jids/options.jid create mode 100644 data/jids/paledit.jid create mode 100644 data/jids/playfli.jid create mode 100644 data/jids/pntprop.jid create mode 100644 data/jids/replcol.jid create mode 100644 data/jids/sprprop.jid create mode 100644 data/jids/toolconf.jid create mode 100644 data/menus.en create mode 100644 data/menus.es create mode 100644 data/palettes/default.col create mode 100644 data/palettes/grayramp.col create mode 100644 data/palettes/terrain1.col create mode 100644 data/po/es.po create mode 100644 data/scripts/closespr.lua create mode 100644 data/scripts/confjpeg.lua create mode 100644 data/scripts/duplay.lua create mode 100644 data/scripts/dupspr.lua create mode 100644 data/scripts/edit.lua create mode 100644 data/scripts/effect.lua create mode 100644 data/scripts/examples/aselogo.lua create mode 100644 data/scripts/examples/cosy.lua create mode 100644 data/scripts/examples/dacap.lua create mode 100644 data/scripts/examples/shell.lua create mode 100644 data/scripts/examples/spiral.lua create mode 100644 data/scripts/examples/terrain.lua create mode 100644 data/scripts/exit.lua create mode 100644 data/scripts/flatten.lua create mode 100644 data/scripts/flip.lua create mode 100644 data/scripts/frmprop.lua create mode 100644 data/scripts/imgtype.lua create mode 100644 data/scripts/layer.lua create mode 100644 data/scripts/layprop.lua create mode 100644 data/scripts/loadfile.lua create mode 100644 data/scripts/mask.lua create mode 100644 data/scripts/mergedwn.lua create mode 100644 data/scripts/newlay.lua create mode 100644 data/scripts/newspr.lua create mode 100644 data/scripts/openspr.lua create mode 100644 data/scripts/playfli.lua create mode 100644 data/scripts/rec.lua create mode 100644 data/scripts/remfrm.lua create mode 100644 data/scripts/rootmenu.lua create mode 100644 data/scripts/savespr.lua create mode 100644 data/scripts/selspr.lua create mode 100644 data/scripts/session.lua create mode 100644 data/scripts/sprite.lua create mode 100644 data/scripts/sprprop.lua create mode 100644 data/scripts/testjid.lua create mode 100644 data/scripts/undo.lua create mode 100644 data/session/README.txt create mode 100644 data/tips/aselogo.pcx create mode 100644 data/tips/colcurv.pcx create mode 100644 data/tips/dither.pcx create mode 100644 data/tips/filmedit.pcx create mode 100644 data/tips/lua.pcx create mode 100644 data/tips/minipal.pcx create mode 100644 data/tips/nodither.pcx create mode 100644 data/tips/onion.pcx create mode 100644 data/tips/sprite.pcx create mode 100644 data/tips/sprprop.pcx create mode 100644 data/tips/tar_1.pcx create mode 100644 data/tips/tar_2.pcx create mode 100644 data/tips/tar_3.pcx create mode 100644 data/tips/tar_4.pcx create mode 100644 data/tips/tar_gray.pcx create mode 100644 data/tips/tar_indx.pcx create mode 100644 data/tips/tar_rgb.pcx create mode 100644 data/tips/tips.en create mode 100644 data/tips/tips.es create mode 100644 data/tips/zoom.pcx create mode 100644 docs/QuickHelp.html create mode 100644 docs/files/ase.txt create mode 100644 docs/files/fli.txt create mode 100644 docs/files/msk.txt create mode 100644 docs/files/pic.txt create mode 100644 docs/files/picpro.txt create mode 100644 docs/licenses/FTL.txt create mode 100644 docs/licenses/GPL.txt create mode 100644 docs/licenses/LGPL-2.0.txt create mode 100644 docs/licenses/LGPL-2.1.txt create mode 100644 docs/licenses/MIT.txt create mode 100644 docs/lua-5.0.pdf create mode 100644 docs/script.html create mode 100644 docs/script.info create mode 100644 docs/script.texi create mode 100644 docs/script.txt create mode 100644 fix.bat create mode 100644 fix.sh create mode 100644 jinete/AUTHORS.txt create mode 100644 jinete/docs/jid_file.txt create mode 100644 jinete/docs/jinete-es.html create mode 100644 jinete/docs/jinete-es.info create mode 100644 jinete/docs/jinete-es.texi create mode 100644 jinete/docs/jinete-es.txt create mode 100644 jinete/examples/00hello.c create mode 100644 jinete/examples/01simple.c create mode 100644 jinete/examples/02label.c create mode 100644 jinete/examples/03slider.c create mode 100644 jinete/examples/04alert.c create mode 100644 jinete/examples/05fsel.c create mode 100644 jinete/examples/06entry.c create mode 100644 jinete/examples/07panel.c create mode 100644 jinete/examples/08txtbox.c create mode 100644 jinete/examples/09lists.c create mode 100644 jinete/examples/10chcks.c create mode 100644 jinete/examples/11file.c create mode 100644 jinete/examples/11file.jid create mode 100644 jinete/examples/12qckmnu.c create mode 100644 jinete/examples/13menu.c create mode 100644 jinete/examples/14win.c create mode 100644 jinete/examples/15colbut.c create mode 100644 jinete/examples/16theme.c create mode 100644 jinete/examples/17theme.c create mode 100644 jinete/examples/18tips.c create mode 100644 jinete/examples/19game.c create mode 100644 jinete/examples/20combo.c create mode 100644 jinete/examples/21manage.c create mode 100644 jinete/examples/pal17.pcx create mode 100644 jinete/examples/zerohour.ttf create mode 100644 jinete/examples/zerohour.txt create mode 100644 jinete/freetype/ChangeLog create mode 100644 jinete/freetype/INSTALL create mode 100644 jinete/freetype/README create mode 100644 jinete/freetype/README.UNX create mode 100644 jinete/freetype/descrip.mms create mode 100644 jinete/freetype/docs/BUGS create mode 100644 jinete/freetype/docs/BUILD create mode 100644 jinete/freetype/docs/CHANGES create mode 100644 jinete/freetype/docs/FTL.txt create mode 100644 jinete/freetype/docs/GPL.txt create mode 100644 jinete/freetype/docs/PATENTS create mode 100644 jinete/freetype/docs/TODO create mode 100644 jinete/freetype/docs/license.txt create mode 100644 jinete/freetype/docs/modules.txt create mode 100644 jinete/freetype/docs/readme.vms create mode 100644 jinete/freetype/include/freetype/cache/ftccache.h create mode 100644 jinete/freetype/include/freetype/cache/ftccmap.h create mode 100644 jinete/freetype/include/freetype/cache/ftcglyph.h create mode 100644 jinete/freetype/include/freetype/cache/ftcimage.h create mode 100644 jinete/freetype/include/freetype/cache/ftcmanag.h create mode 100644 jinete/freetype/include/freetype/cache/ftcsbits.h create mode 100644 jinete/freetype/include/freetype/cache/ftlru.h create mode 100644 jinete/freetype/include/freetype/config/ftconfig.h create mode 100644 jinete/freetype/include/freetype/config/ftheader.h create mode 100644 jinete/freetype/include/freetype/config/ftmodule.h create mode 100644 jinete/freetype/include/freetype/config/ftoption.h create mode 100644 jinete/freetype/include/freetype/freetype.h create mode 100644 jinete/freetype/include/freetype/ftbbox.h create mode 100644 jinete/freetype/include/freetype/ftcache.h create mode 100644 jinete/freetype/include/freetype/ftchapters.h create mode 100644 jinete/freetype/include/freetype/fterrors.h create mode 100644 jinete/freetype/include/freetype/ftglyph.h create mode 100644 jinete/freetype/include/freetype/ftimage.h create mode 100644 jinete/freetype/include/freetype/ftlist.h create mode 100644 jinete/freetype/include/freetype/ftmac.h create mode 100644 jinete/freetype/include/freetype/ftmm.h create mode 100644 jinete/freetype/include/freetype/ftmoderr.h create mode 100644 jinete/freetype/include/freetype/ftmodule.h create mode 100644 jinete/freetype/include/freetype/ftoutln.h create mode 100644 jinete/freetype/include/freetype/ftrender.h create mode 100644 jinete/freetype/include/freetype/ftsizes.h create mode 100644 jinete/freetype/include/freetype/ftsnames.h create mode 100644 jinete/freetype/include/freetype/ftsynth.h create mode 100644 jinete/freetype/include/freetype/ftsystem.h create mode 100644 jinete/freetype/include/freetype/fttrigon.h create mode 100644 jinete/freetype/include/freetype/fttypes.h create mode 100644 jinete/freetype/include/freetype/internal/autohint.h create mode 100644 jinete/freetype/include/freetype/internal/cfftypes.h create mode 100644 jinete/freetype/include/freetype/internal/fnttypes.h create mode 100644 jinete/freetype/include/freetype/internal/ftcalc.h create mode 100644 jinete/freetype/include/freetype/internal/ftdebug.h create mode 100644 jinete/freetype/include/freetype/internal/ftdriver.h create mode 100644 jinete/freetype/include/freetype/internal/ftextend.h create mode 100644 jinete/freetype/include/freetype/internal/ftmemory.h create mode 100644 jinete/freetype/include/freetype/internal/ftobjs.h create mode 100644 jinete/freetype/include/freetype/internal/ftstream.h create mode 100644 jinete/freetype/include/freetype/internal/internal.h create mode 100644 jinete/freetype/include/freetype/internal/pcftypes.h create mode 100644 jinete/freetype/include/freetype/internal/psaux.h create mode 100644 jinete/freetype/include/freetype/internal/psglobal.h create mode 100644 jinete/freetype/include/freetype/internal/pshints.h create mode 100644 jinete/freetype/include/freetype/internal/psnames.h create mode 100644 jinete/freetype/include/freetype/internal/sfnt.h create mode 100644 jinete/freetype/include/freetype/internal/t1types.h create mode 100644 jinete/freetype/include/freetype/internal/tttypes.h create mode 100644 jinete/freetype/include/freetype/t1tables.h create mode 100644 jinete/freetype/include/freetype/ttnameid.h create mode 100644 jinete/freetype/include/freetype/tttables.h create mode 100644 jinete/freetype/include/freetype/tttags.h create mode 100644 jinete/freetype/include/ft2build.h create mode 100644 jinete/freetype/src/autohint/CatharonLicense.txt create mode 100644 jinete/freetype/src/autohint/ahangles.c create mode 100644 jinete/freetype/src/autohint/ahangles.h create mode 100644 jinete/freetype/src/autohint/aherrors.h create mode 100644 jinete/freetype/src/autohint/ahglobal.c create mode 100644 jinete/freetype/src/autohint/ahglobal.h create mode 100644 jinete/freetype/src/autohint/ahglyph.c create mode 100644 jinete/freetype/src/autohint/ahglyph.h create mode 100644 jinete/freetype/src/autohint/ahhint.c create mode 100644 jinete/freetype/src/autohint/ahhint.h create mode 100644 jinete/freetype/src/autohint/ahloader.h create mode 100644 jinete/freetype/src/autohint/ahmodule.c create mode 100644 jinete/freetype/src/autohint/ahmodule.h create mode 100644 jinete/freetype/src/autohint/ahoptim.c create mode 100644 jinete/freetype/src/autohint/ahoptim.h create mode 100644 jinete/freetype/src/autohint/ahtypes.h create mode 100644 jinete/freetype/src/autohint/autohint.c create mode 100644 jinete/freetype/src/autohint/mather.py create mode 100644 jinete/freetype/src/base/ftbase.c create mode 100644 jinete/freetype/src/base/ftbbox.c create mode 100644 jinete/freetype/src/base/ftcalc.c create mode 100644 jinete/freetype/src/base/ftdbgmem.c create mode 100644 jinete/freetype/src/base/ftdebug.c create mode 100644 jinete/freetype/src/base/ftextend.c create mode 100644 jinete/freetype/src/base/ftglyph.c create mode 100644 jinete/freetype/src/base/ftinit.c create mode 100644 jinete/freetype/src/base/ftlist.c create mode 100644 jinete/freetype/src/base/ftmac.c create mode 100644 jinete/freetype/src/base/ftmm.c create mode 100644 jinete/freetype/src/base/ftnames.c create mode 100644 jinete/freetype/src/base/ftobjs.c create mode 100644 jinete/freetype/src/base/ftoutln.c create mode 100644 jinete/freetype/src/base/ftstream.c create mode 100644 jinete/freetype/src/base/ftsynth.c create mode 100644 jinete/freetype/src/base/ftsystem.c create mode 100644 jinete/freetype/src/base/fttrigon.c create mode 100644 jinete/freetype/src/cache/ftcache.c create mode 100644 jinete/freetype/src/cache/ftccache.c create mode 100644 jinete/freetype/src/cache/ftccmap.c create mode 100644 jinete/freetype/src/cache/ftcerror.h create mode 100644 jinete/freetype/src/cache/ftcglyph.c create mode 100644 jinete/freetype/src/cache/ftcimage.c create mode 100644 jinete/freetype/src/cache/ftcmanag.c create mode 100644 jinete/freetype/src/cache/ftcsbits.c create mode 100644 jinete/freetype/src/cache/ftlru.c create mode 100644 jinete/freetype/src/cff/cff.c create mode 100644 jinete/freetype/src/cff/cffdrivr.c create mode 100644 jinete/freetype/src/cff/cffdrivr.h create mode 100644 jinete/freetype/src/cff/cfferrs.h create mode 100644 jinete/freetype/src/cff/cffgload.c create mode 100644 jinete/freetype/src/cff/cffgload.h create mode 100644 jinete/freetype/src/cff/cffload.c create mode 100644 jinete/freetype/src/cff/cffload.h create mode 100644 jinete/freetype/src/cff/cffobjs.c create mode 100644 jinete/freetype/src/cff/cffobjs.h create mode 100644 jinete/freetype/src/cff/cffparse.c create mode 100644 jinete/freetype/src/cff/cffparse.h create mode 100644 jinete/freetype/src/cff/cfftoken.h create mode 100644 jinete/freetype/src/cid/ciderrs.h create mode 100644 jinete/freetype/src/cid/cidgload.c create mode 100644 jinete/freetype/src/cid/cidgload.h create mode 100644 jinete/freetype/src/cid/cidload.c create mode 100644 jinete/freetype/src/cid/cidload.h create mode 100644 jinete/freetype/src/cid/cidobjs.c create mode 100644 jinete/freetype/src/cid/cidobjs.h create mode 100644 jinete/freetype/src/cid/cidparse.c create mode 100644 jinete/freetype/src/cid/cidparse.h create mode 100644 jinete/freetype/src/cid/cidriver.c create mode 100644 jinete/freetype/src/cid/cidriver.h create mode 100644 jinete/freetype/src/cid/cidtoken.h create mode 100644 jinete/freetype/src/cid/type1cid.c create mode 100644 jinete/freetype/src/pcf/pcf.c create mode 100644 jinete/freetype/src/pcf/pcf.h create mode 100644 jinete/freetype/src/pcf/pcfdriver.c create mode 100644 jinete/freetype/src/pcf/pcfdriver.h create mode 100644 jinete/freetype/src/pcf/pcferror.h create mode 100644 jinete/freetype/src/pcf/pcfread.c create mode 100644 jinete/freetype/src/pcf/pcfutil.c create mode 100644 jinete/freetype/src/pcf/pcfutil.h create mode 100644 jinete/freetype/src/psaux/psaux.c create mode 100644 jinete/freetype/src/psaux/psauxerr.h create mode 100644 jinete/freetype/src/psaux/psauxmod.c create mode 100644 jinete/freetype/src/psaux/psauxmod.h create mode 100644 jinete/freetype/src/psaux/psobjs.c create mode 100644 jinete/freetype/src/psaux/psobjs.h create mode 100644 jinete/freetype/src/psaux/t1decode.c create mode 100644 jinete/freetype/src/psaux/t1decode.h create mode 100644 jinete/freetype/src/pshinter/pshalgo.h create mode 100644 jinete/freetype/src/pshinter/pshalgo1.c create mode 100644 jinete/freetype/src/pshinter/pshalgo1.h create mode 100644 jinete/freetype/src/pshinter/pshalgo2.c create mode 100644 jinete/freetype/src/pshinter/pshalgo2.h create mode 100644 jinete/freetype/src/pshinter/pshglob.c create mode 100644 jinete/freetype/src/pshinter/pshglob.h create mode 100644 jinete/freetype/src/pshinter/pshinter.c create mode 100644 jinete/freetype/src/pshinter/pshmod.c create mode 100644 jinete/freetype/src/pshinter/pshmod.h create mode 100644 jinete/freetype/src/pshinter/pshrec.c create mode 100644 jinete/freetype/src/pshinter/pshrec.h create mode 100644 jinete/freetype/src/psnames/psmodule.c create mode 100644 jinete/freetype/src/psnames/psmodule.h create mode 100644 jinete/freetype/src/psnames/psnamerr.h create mode 100644 jinete/freetype/src/psnames/psnames.c create mode 100644 jinete/freetype/src/psnames/pstables.h create mode 100644 jinete/freetype/src/raster/ftraster.c create mode 100644 jinete/freetype/src/raster/ftraster.h create mode 100644 jinete/freetype/src/raster/ftrend1.c create mode 100644 jinete/freetype/src/raster/ftrend1.h create mode 100644 jinete/freetype/src/raster/raster.c create mode 100644 jinete/freetype/src/raster/rasterrs.h create mode 100644 jinete/freetype/src/sfnt/sfdriver.c create mode 100644 jinete/freetype/src/sfnt/sfdriver.h create mode 100644 jinete/freetype/src/sfnt/sferrors.h create mode 100644 jinete/freetype/src/sfnt/sfnt.c create mode 100644 jinete/freetype/src/sfnt/sfobjs.c create mode 100644 jinete/freetype/src/sfnt/sfobjs.h create mode 100644 jinete/freetype/src/sfnt/ttcmap.c create mode 100644 jinete/freetype/src/sfnt/ttcmap.h create mode 100644 jinete/freetype/src/sfnt/ttload.c create mode 100644 jinete/freetype/src/sfnt/ttload.h create mode 100644 jinete/freetype/src/sfnt/ttpost.c create mode 100644 jinete/freetype/src/sfnt/ttpost.h create mode 100644 jinete/freetype/src/sfnt/ttsbit.c create mode 100644 jinete/freetype/src/sfnt/ttsbit.h create mode 100644 jinete/freetype/src/smooth/ftgrays.c create mode 100644 jinete/freetype/src/smooth/ftgrays.h create mode 100644 jinete/freetype/src/smooth/ftsmerrs.h create mode 100644 jinete/freetype/src/smooth/ftsmooth.c create mode 100644 jinete/freetype/src/smooth/ftsmooth.h create mode 100644 jinete/freetype/src/smooth/smooth.c create mode 100644 jinete/freetype/src/truetype/truetype.c create mode 100644 jinete/freetype/src/truetype/ttdriver.c create mode 100644 jinete/freetype/src/truetype/ttdriver.h create mode 100644 jinete/freetype/src/truetype/tterrors.h create mode 100644 jinete/freetype/src/truetype/ttgload.c create mode 100644 jinete/freetype/src/truetype/ttgload.h create mode 100644 jinete/freetype/src/truetype/ttinterp.c create mode 100644 jinete/freetype/src/truetype/ttinterp.h create mode 100644 jinete/freetype/src/truetype/ttobjs.c create mode 100644 jinete/freetype/src/truetype/ttobjs.h create mode 100644 jinete/freetype/src/truetype/ttpload.c create mode 100644 jinete/freetype/src/truetype/ttpload.h create mode 100644 jinete/freetype/src/type1/t1afm.c create mode 100644 jinete/freetype/src/type1/t1afm.h create mode 100644 jinete/freetype/src/type1/t1driver.c create mode 100644 jinete/freetype/src/type1/t1driver.h create mode 100644 jinete/freetype/src/type1/t1errors.h create mode 100644 jinete/freetype/src/type1/t1gload.c create mode 100644 jinete/freetype/src/type1/t1gload.h create mode 100644 jinete/freetype/src/type1/t1load.c create mode 100644 jinete/freetype/src/type1/t1load.h create mode 100644 jinete/freetype/src/type1/t1objs.c create mode 100644 jinete/freetype/src/type1/t1objs.h create mode 100644 jinete/freetype/src/type1/t1parse.c create mode 100644 jinete/freetype/src/type1/t1parse.h create mode 100644 jinete/freetype/src/type1/t1tokens.h create mode 100644 jinete/freetype/src/type1/type1.c create mode 100644 jinete/freetype/src/winfonts/fnterrs.h create mode 100644 jinete/freetype/src/winfonts/winfnt.c create mode 100644 jinete/freetype/src/winfonts/winfnt.h create mode 100644 jinete/include/jinete.h create mode 100644 jinete/include/jinete/accel.h create mode 100644 jinete/include/jinete/alert.h create mode 100644 jinete/include/jinete/base.h create mode 100644 jinete/include/jinete/box.h create mode 100644 jinete/include/jinete/button.h create mode 100644 jinete/include/jinete/clipbrd.h create mode 100644 jinete/include/jinete/combobox.h create mode 100644 jinete/include/jinete/draw.h create mode 100644 jinete/include/jinete/entry.h create mode 100644 jinete/include/jinete/file.h create mode 100644 jinete/include/jinete/filesel.h create mode 100644 jinete/include/jinete/font.h create mode 100644 jinete/include/jinete/hook.h create mode 100644 jinete/include/jinete/image.h create mode 100644 jinete/include/jinete/intern.h create mode 100644 jinete/include/jinete/label.h create mode 100644 jinete/include/jinete/list.h create mode 100644 jinete/include/jinete/listbox.h create mode 100644 jinete/include/jinete/manager.h create mode 100644 jinete/include/jinete/menu.h create mode 100644 jinete/include/jinete/message.h create mode 100644 jinete/include/jinete/panel.h create mode 100644 jinete/include/jinete/qckmenu.h create mode 100644 jinete/include/jinete/rect.h create mode 100644 jinete/include/jinete/region.h create mode 100644 jinete/include/jinete/scroll.h create mode 100644 jinete/include/jinete/sep.h create mode 100644 jinete/include/jinete/slider.h create mode 100644 jinete/include/jinete/system.h create mode 100644 jinete/include/jinete/textbox.h create mode 100644 jinete/include/jinete/theme.h create mode 100644 jinete/include/jinete/view.h create mode 100644 jinete/include/jinete/widget.h create mode 100644 jinete/include/jinete/window.h create mode 100644 jinete/lib/djgpp/tmpfile.txt create mode 100644 jinete/lib/mingw32/tmpfile.txt create mode 100644 jinete/lib/tmpfile.txt create mode 100644 jinete/lib/unix/tmpfile.txt create mode 100644 jinete/makefile.dj create mode 100644 jinete/makefile.gcc create mode 100644 jinete/makefile.lnx create mode 100644 jinete/makefile.lst create mode 100644 jinete/makefile.mgw create mode 100644 jinete/obj/djgpp/tmpfile.txt create mode 100644 jinete/obj/mingw32/tmpfile.txt create mode 100644 jinete/obj/tmpfile.txt create mode 100644 jinete/obj/unix/tmpfile.txt create mode 100644 jinete/src/jaccel.c create mode 100644 jinete/src/jalert.c create mode 100644 jinete/src/jbox.c create mode 100644 jinete/src/jbutton.c create mode 100644 jinete/src/jclipbrd.c create mode 100644 jinete/src/jcombox.c create mode 100644 jinete/src/jdraw.c create mode 100644 jinete/src/jentry.c create mode 100644 jinete/src/jfile.c create mode 100644 jinete/src/jfilesel.c create mode 100644 jinete/src/jfont.c create mode 100644 jinete/src/jfontbmp.c create mode 100644 jinete/src/jhook.c create mode 100644 jinete/src/jimage.c create mode 100644 jinete/src/jintern.c create mode 100644 jinete/src/jlabel.c create mode 100644 jinete/src/jlist.c create mode 100644 jinete/src/jlistbox.c create mode 100644 jinete/src/jmanager.c create mode 100644 jinete/src/jmem.c create mode 100644 jinete/src/jmenu.c create mode 100644 jinete/src/jmessage.c create mode 100644 jinete/src/jpanel.c create mode 100644 jinete/src/jqckmenu.c create mode 100644 jinete/src/jrect.c create mode 100644 jinete/src/jregion.c create mode 100644 jinete/src/jsep.c create mode 100644 jinete/src/jslider.c create mode 100644 jinete/src/jsystem.c create mode 100644 jinete/src/jtextbox.c create mode 100644 jinete/src/jtheme.c create mode 100644 jinete/src/jview.c create mode 100644 jinete/src/jwidget.c create mode 100644 jinete/src/jwindow.c create mode 100644 jinete/src/miregion.c create mode 100644 jinete/src/themes/Makefile.icons create mode 100644 jinete/src/themes/jsimple.c create mode 100644 jinete/src/themes/jstand.c create mode 100644 jinete/src/themes/pcx2data.c create mode 100644 jinete/src/themes/stand/chand.pcx create mode 100644 jinete/src/themes/stand/cmove.pcx create mode 100644 jinete/src/themes/stand/cnoradd.pcx create mode 100644 jinete/src/themes/stand/cnormal.pcx create mode 100644 jinete/src/themes/stand/csizeb.pcx create mode 100644 jinete/src/themes/stand/csizebl.pcx create mode 100644 jinete/src/themes/stand/csizebr.pcx create mode 100644 jinete/src/themes/stand/csizel.pcx create mode 100644 jinete/src/themes/stand/csizer.pcx create mode 100644 jinete/src/themes/stand/csizet.pcx create mode 100644 jinete/src/themes/stand/csizetl.pcx create mode 100644 jinete/src/themes/stand/csizetr.pcx create mode 100644 jinete/src/themes/stand/ichecke.pcx create mode 100644 jinete/src/themes/stand/icheckm.pcx create mode 100644 jinete/src/themes/stand/iclose.pcx create mode 100644 jinete/src/themes/stand/imenum.pcx create mode 100644 jinete/src/themes/stand/iradioe.pcx create mode 100644 jinete/src/themes/stand/iradiom.pcx create mode 100644 jinete/src/themes/stdicons.c create mode 100644 makefile.cfg create mode 100644 makefile.dj create mode 100644 makefile.gcc create mode 100644 makefile.lnx create mode 100644 makefile.lst create mode 100644 makefile.mgw create mode 100644 obj/djgpp/tmpfile.txt create mode 100644 obj/mingw32/tmpfile.txt create mode 100644 obj/tmpfile.txt create mode 100644 obj/unix/tmpfile.txt create mode 100644 src/console/console.c create mode 100644 src/console/console.h create mode 100644 src/core/app.c create mode 100644 src/core/app.h create mode 100644 src/core/cfg.c create mode 100644 src/core/cfg.h create mode 100644 src/core/config.c create mode 100644 src/core/core.c create mode 100644 src/core/core.h create mode 100644 src/core/dirs.c create mode 100644 src/core/dirs.h create mode 100644 src/core/modules.c create mode 100644 src/core/modules.h create mode 100644 src/core/shutdown.c create mode 100644 src/core/shutdown.h create mode 100644 src/dialogs/about.c create mode 100644 src/dialogs/about.h create mode 100644 src/dialogs/canvasze.c create mode 100644 src/dialogs/canvasze.h create mode 100644 src/dialogs/colsel.c create mode 100644 src/dialogs/colsel.h create mode 100644 src/dialogs/dfrlen.c create mode 100644 src/dialogs/dfrlen.h create mode 100644 src/dialogs/dmapgen.c create mode 100644 src/dialogs/dmapgen.h create mode 100644 src/dialogs/dpaledit.c create mode 100644 src/dialogs/dpaledit.h create mode 100644 src/dialogs/drawtext.c create mode 100644 src/dialogs/drawtext.h create mode 100644 src/dialogs/effect.h create mode 100644 src/dialogs/effect/dcolcurv.c create mode 100644 src/dialogs/effect/dconvmtr.c create mode 100644 src/dialogs/effect/dinvcol.c create mode 100644 src/dialogs/effect/dmedian.c create mode 100644 src/dialogs/effect/dreplcol.c create mode 100644 src/dialogs/filesel.c create mode 100644 src/dialogs/filesel.h create mode 100644 src/dialogs/filmedit.c create mode 100644 src/dialogs/filmedit.h create mode 100644 src/dialogs/gfxsel.c create mode 100644 src/dialogs/gfxsel.h create mode 100644 src/dialogs/maskcol.c create mode 100644 src/dialogs/maskcol.h create mode 100644 src/dialogs/maskrepo.c create mode 100644 src/dialogs/maskrepo.h create mode 100644 src/dialogs/minipal.c create mode 100644 src/dialogs/minipal.h create mode 100644 src/dialogs/options.c create mode 100644 src/dialogs/options.h create mode 100644 src/dialogs/playfli.c create mode 100644 src/dialogs/playfli.h create mode 100644 src/dialogs/quick.c create mode 100644 src/dialogs/quick.h create mode 100644 src/dialogs/repo.c create mode 100644 src/dialogs/repo.h create mode 100644 src/dialogs/scrsaver.c create mode 100644 src/dialogs/scrsaver.h create mode 100644 src/dialogs/tips.c create mode 100644 src/dialogs/tips.h create mode 100644 src/dialogs/toolconf.c create mode 100644 src/dialogs/toolconf.h create mode 100644 src/dialogs/vectmap.c create mode 100644 src/dialogs/vectmap.h create mode 100644 src/dialogs/viewspr.c create mode 100644 src/dialogs/viewspr.h create mode 100644 src/effect/colcurve.c create mode 100644 src/effect/colcurve.h create mode 100644 src/effect/convmatr.c create mode 100644 src/effect/convmatr.h create mode 100644 src/effect/effect.c create mode 100644 src/effect/effect.h create mode 100644 src/effect/invrtcol.c create mode 100644 src/effect/invrtcol.h create mode 100644 src/effect/median.c create mode 100644 src/effect/median.h create mode 100644 src/effect/replcol.c create mode 100644 src/effect/replcol.h create mode 100644 src/file/ase.c create mode 100644 src/file/ase.h create mode 100644 src/file/bmp.c create mode 100644 src/file/file.c create mode 100644 src/file/file.h create mode 100644 src/file/fli.c create mode 100644 src/file/gif.c create mode 100644 src/file/gif/format.c create mode 100644 src/file/gif/format.h create mode 100644 src/file/gif/lzw.c create mode 100644 src/file/gif/lzw.h create mode 100644 src/file/ico.c create mode 100644 src/file/jpeg.c create mode 100644 src/file/list.h create mode 100644 src/file/pcx.c create mode 100644 src/file/tga.c create mode 100644 src/icon.rc create mode 100644 src/intl/intl.c create mode 100644 src/intl/intl.h create mode 100644 src/intl/msgids.c create mode 100644 src/intl/msgids.h create mode 100644 src/main.c create mode 100644 src/modules/chkmthds.c create mode 100644 src/modules/chkmthds.h create mode 100644 src/modules/color.c create mode 100644 src/modules/color.h create mode 100644 src/modules/editors.c create mode 100644 src/modules/editors.h create mode 100644 src/modules/gfx.c create mode 100644 src/modules/gfx.h create mode 100644 src/modules/gfxdata.c create mode 100644 src/modules/gui.c create mode 100644 src/modules/gui.h create mode 100644 src/modules/palette.c create mode 100644 src/modules/palette.h create mode 100644 src/modules/recent.c create mode 100644 src/modules/recent.h create mode 100644 src/modules/render.c create mode 100644 src/modules/render.h create mode 100644 src/modules/rootmenu.c create mode 100644 src/modules/rootmenu.h create mode 100644 src/modules/sprites.c create mode 100644 src/modules/sprites.h create mode 100644 src/modules/tools.c create mode 100644 src/modules/tools.h create mode 100644 src/modules/tools2.c create mode 100644 src/modules/tools2.h create mode 100644 src/raster/algo.c create mode 100644 src/raster/algo.h create mode 100644 src/raster/algofill.c create mode 100644 src/raster/blend.c create mode 100644 src/raster/blend.h create mode 100644 src/raster/brush.c create mode 100644 src/raster/brush.h create mode 100644 src/raster/dirty.c create mode 100644 src/raster/dirty.h create mode 100644 src/raster/examples/00dirty.c create mode 100644 src/raster/examples/01mask.c create mode 100644 src/raster/examples/02path.c create mode 100644 src/raster/examples/03sprite.c create mode 100644 src/raster/frame.c create mode 100644 src/raster/frame.h create mode 100644 src/raster/gfxobj.c create mode 100644 src/raster/gfxobj.h create mode 100644 src/raster/image.c create mode 100644 src/raster/image.h create mode 100644 src/raster/imgbit.c create mode 100644 src/raster/imggray.c create mode 100644 src/raster/imgindex.c create mode 100644 src/raster/imgrgb.c create mode 100644 src/raster/layer.c create mode 100644 src/raster/layer.h create mode 100644 src/raster/mask.c create mode 100644 src/raster/mask.h create mode 100644 src/raster/path.c create mode 100644 src/raster/path.h create mode 100644 src/raster/quant.c create mode 100644 src/raster/quant.h create mode 100644 src/raster/raster.h create mode 100644 src/raster/rotate.c create mode 100644 src/raster/rotate.h create mode 100644 src/raster/sprite.c create mode 100644 src/raster/sprite.h create mode 100644 src/raster/stock.c create mode 100644 src/raster/stock.h create mode 100644 src/raster/undo.c create mode 100644 src/raster/undo.h create mode 100644 src/raster/x86/int_mult.s create mode 100644 src/script/bindings.c create mode 100644 src/script/bindings.h create mode 100644 src/script/bindings.py create mode 100644 src/script/export.h create mode 100644 src/script/genbinds.c create mode 100644 src/script/genbinds.h create mode 100644 src/script/import.h create mode 100644 src/script/script.c create mode 100644 src/script/script.h create mode 100644 src/util/autocrop.c create mode 100644 src/util/autocrop.h create mode 100644 src/util/boundary.c create mode 100644 src/util/boundary.h create mode 100644 src/util/clipbrd.c create mode 100644 src/util/clipbrd.h create mode 100644 src/util/col_file.c create mode 100644 src/util/col_file.h create mode 100644 src/util/crop.c create mode 100644 src/util/crop.h create mode 100644 src/util/filetoks.c create mode 100644 src/util/filetoks.h create mode 100644 src/util/flip.c create mode 100644 src/util/flip.h create mode 100644 src/util/frmove.c create mode 100644 src/util/frmove.h create mode 100644 src/util/hash.c create mode 100644 src/util/hash.h create mode 100644 src/util/mapgen.c create mode 100644 src/util/mapgen.h create mode 100644 src/util/misc.c create mode 100644 src/util/misc.h create mode 100644 src/util/msk_file.c create mode 100644 src/util/msk_file.h create mode 100644 src/util/pic_file.c create mode 100644 src/util/pic_file.h create mode 100644 src/util/quantize.c create mode 100644 src/util/quantize.h create mode 100644 src/util/recscr.c create mode 100644 src/util/recscr.h create mode 100644 src/util/scrshot.c create mode 100644 src/util/scrshot.h create mode 100644 src/util/session.c create mode 100644 src/util/session.h create mode 100644 src/util/setgfx.c create mode 100644 src/util/setgfx.h create mode 100644 src/util/thmbnail.c create mode 100644 src/util/thmbnail.h create mode 100644 src/widgets/colbar.c create mode 100644 src/widgets/colbar.h create mode 100644 src/widgets/colbut.c create mode 100644 src/widgets/colbut.h create mode 100644 src/widgets/colview.c create mode 100644 src/widgets/colview.h create mode 100644 src/widgets/curvedit.c create mode 100644 src/widgets/curvedit.h create mode 100644 src/widgets/editor.h create mode 100644 src/widgets/editor/NOTES.txt create mode 100644 src/widgets/editor/TODO.txt create mode 100644 src/widgets/editor/click.c create mode 100644 src/widgets/editor/cursor.c create mode 100644 src/widgets/editor/editor.c create mode 100644 src/widgets/editor/keys.c create mode 100644 src/widgets/groupbut.c create mode 100644 src/widgets/groupbut.h create mode 100644 src/widgets/menu.c create mode 100644 src/widgets/menu.h create mode 100644 src/widgets/paledit.c create mode 100644 src/widgets/paledit.h create mode 100644 src/widgets/preview.c create mode 100644 src/widgets/preview.h create mode 100644 src/widgets/statebar.c create mode 100644 src/widgets/statebar.h create mode 100644 src/widgets/target.c create mode 100644 src/widgets/target.h create mode 100644 src/widgets/toolbar.c create mode 100644 src/widgets/toolbar.h diff --git a/AUTHORS.txt b/AUTHORS.txt new file mode 100644 index 000000000..67e421aa3 --- /dev/null +++ b/AUTHORS.txt @@ -0,0 +1,136 @@ +=================================== +AUTHOR +=================================== + + David A. Capello + Programmer, design, graphics, tester, and the maintainer of the package. + Releases the DOS, Windows, and source distributions. + +=================================== +THANKFULNESS +=================================== + + Some people don't contribute to this project in a directly way but + their work are indispensable: + ------------------------------------------------------------------ + + Álvaro González: For the other routine to generate optimised + palettes (used in old versions of ASE). + + Angelo Mottola: For the routines to load/save JPEG files with + JPGalleg (alternative use instead of libjpeg). + + Ben Davis: For his optimised palette generation routine. + + Billy Biggs and Lauris Kaplinski: For the help with the alpha + blending routines. + + Csaba Biegl: For his ellipse routine in the GRX library (used in old + versions of ASE). + + David Turner, Robert Wilhelm, and Werner Lemberg: For the FreeType + project. + + + Derek Liauw Kie Fa and Robert J Ohannessian for 2xSaI. + + DJ Delorie: For the DJGPP port to DOS of the GNU software. + + + Elias Pschernig: For his excelent bresenham ellipse algorithm and to + report some nasty keyboard bugs. And his patch to load/save GIF files. + + Elver Loho: For port ASE to BeOS. + + Gary Oberbrunner: For his code to quantize RGB images with ordered + dither method. + + Javier Gonzalez: For his AllegroFont wrapper. + + Jens Ch. Restemeier: For GFLI, his code to save FLI files is just + "amazing". + + Jerry Coffin and HenkJan Wolthuis: For the hash table routines. + + Johan Halmén and Anders "Trezker" Andersson for mapgen. + + + + Jordan Russell and Martijn Laan: For Inno Setup. + + + Juraj Michalek: For the support to ASE in his portal. + + + Matthew Leverton: For his Allegro portal. + + + Max Maischein: For the documents about various file formats of the + Animator and Animator Pro. + + Mike Haaland: For his documentation about the FLI/FLC, COL, PIC, and + MSK files format. + + Paúl Andrés Jiménez (Ceniza): For his help in the translation of + FULL-SCREEN.txt document. + + Peter Wang: For his Red Pixel II game, it was very helpful for the + scripting routines. + + + Raph Levien: For his excelent work with the libart library. + + + Richard M. Stallman: For the Free Software Foundation, GNU and + Emacs, and everyone who contributed with free software. + + + + + Robert Höhne: For the RHIDE enviroment. + + + Salvador Eduardo Tropea: For the SETEdit editor (although I don't + use it anymore, but the first months in Linux without it would be + impossible :-) + + + Shawn Hargreaves: And hundreds of people who helped in the Allegro + library. + + + Spencer Kimball and Peter Mattis: And a lot of people who + contributed with The GIMP and GTK+. I personally "borrow" source + code for differents task in the program. + + + + The Independent JPEG Group: For the JPEG library to load/save Jpeg + files. + + + The Open Group: For XFree86. + + + Waldemar Celes, Roberto Ierusalimschy, and Luiz Henrique de + Figueiredo: For their excelent work with Lua. + + + And thanks for all the ideas and bugs report of: + Álvaro González (Kronoman X) + Angelo Mottola + Ben Davis (entheh) + Carl Olsson + Christer Sandberg + Elias Pschernig (networm) + Elio Cuevas Gómez + Emmanuel Rousseau (God_Cells) + Hernán Echegoyemberry + Jonathan Taylor + Jorge Ramírez Flores + Juraj Michalek + Manuel De Miguel Moreno + Mateusz Czaplinski + Nathan Smith (whitedoor) + Peter Wang (tjaden) + Robert J Ohannessian (Bob) diff --git a/COPYING b/COPYING new file mode 100644 index 000000000..fbdd65f6f --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..ecf1b7576 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,3503 @@ +2007-09-13 David A. Capello + + * jinete/src/jwidget.c (jwidget_check_underscored): Fixed to use + scancode instead of ASCII value returned by readkey() routine. + +2007-09-12 David A. Capello + + * src/modules/gui.c (display_switch_in_callback): Added (thanks to + Carl Olsson, this is the Feature Request item #1033858). + +2007-09-11 David A. Capello + + * src/util/clipbrd.c (interactive_transform): Added snap-to-grid + when handle a floating selection (recommended by Carl Olsson, + Feature Requests item #1033853) + + * src/modules/tools.c (control_tool): The grid is not applied to + the fill-tool. + + * jinete/src/jhook.c: Added comments. + + * src/modules/tools.c (apply_grid): Modified the behavior of the + tools using grid (recommended by Carl Olsson, Feature Requests + item #1033852). + +2007-09-10 David A. Capello + + * src/widgets/editor/editor.c (editor_msg_proc): Added better + support for the mouse wheel (to zoom and scroll) and middle mouse + button (to scroll). + +2005-10-26 David A. Capello + + * extern/: this directory was moved to third_party/. + + * data/menus.es: Fixed "Mask/Color" and "Ver/Editor de Película" + shortcuts. + +2005-02-18 David A. Capello + + * Added INSTALL.txt (Elio Cuevas Gómez idea). + + * Removed the readline stuff (and the console mode). + +2005-01-26 David A. Capello + + * jinete/src/jslider.c (slider_msg_proc): Added mouse-wheel + support. + +2005-01-25 David A. Capello + + * src/dialogs/dpaledit.c (GUI_PaletteEditor): Added support for + multiple-palettes. + +2005-01-22 David A. Capello + + * src/widgets/editor/keys.c (editor_keys_toset_zoom): Fixed a + memory leak. + +2004-12-20 David A. Capello + + * src/file/gif.c (load_GIF): Fixed the "restore to previous" + dispose method. + +2004-11-27 David A. Capello + + * src/file/ico.c: Added .ico support. + +2004-11-20 David A. Capello + + * src/core/libs.c: Removed. + +2004-11-05 David A. Capello + + * src/file/gif.c (save_GIF): Fixed. + + * src/util/quantize.c (quantize_bitmaps1): Added progress bar. + + * src/file/fli.c (save_FLI): Fixed to support per-frame duration. + +2004-11-03 David A. Capello + + * src/file/gif.c: Modified to support new API stuff (per-frame + palette, per-frame duration). Added comments, and fixed the usage + of disposal method. + +2004-10-31 David A. Capello + + * docs/files/ase.txt: Updated. + + * src/file/ase.c: Added support for the new duration field per + frame. + + * src/raster/sprite.c (sprite_set_speed): Now it changes to a + constant frame-rate (all frame's duration with the same tempo). + + * src/widgets/statebar.c (play_animation): Added support to handle + the variable frame duration. + + * src/raster/sprite.h: Added "int *frlens" field to support + variable duration pre frame. Removed the "speed" field. + + * jinete/src/jwindow.c (move_window): Finally fixed using + ji_blit_region. (now a window can be moved even if another window + is overlapping it). + + * jinete/src/jwidget.c (ji_widget_scroll): Added. + + * jinete/src/jdraw.c (ji_blit_region): Added. + +2004-10-30 David A. Capello + + * src/modules/sprites.c (send_sprite_to_top): Added to make more + easy the selection of sprites. + + * src/raster/sprite.h: Added support for multiple-palettes per + frame. (the color-selection dialog must be rewritten). + +2004-10-29 David A. Capello + + * src/file/gif: Applied Elias Pschernig's patch to support GIF + files. + +2004-10-28 David A. Capello + + * jinete/src/jlist.c: Replaced old Glib linked-list code with my + new code (that uses circular-list, this should optimized the usage + of ji_list_last, and ji_list_append). + +2004-10-26 David A. Capello + + * jinete/include/jinete/widget.h (struct ji_widget): I can say + that today all widgets works fine with the new `update_region' + field (a new optimized way to redraw the screen). + + * jinete/src/jmanager.c (_ji_manager_close_window): Optimized the + final region to be updated after close a window (or a set of + windows if we are removing a desktop). + +2004-10-24 David A. Capello + + * jinete/src/jmanager.c: Optimized: calls + generate_proc_windows_list when is necessary. + + * jinete/src/jmessage.c (ji_message_free): Optimized: removed + ji_manager_remove_message. + + * jinete/src/jmessage.c (ji_message_add_dest) + Optimized: s/ji_list_append/ji_list_prepend/ + + * jinete/src/jmanager.c (generate_proc_windows_list2): + Optimized: s/ji_list_append/ji_list_prepend/ + +2004-10-23 David A. Capello + + * jinete/src/jregion.c: Removed my ugly-slowly implementation with + linked-list, and replaced with the new one from miregion.c. + + * jinete/src/miregion.c: Added new optimized code to handle regions. + +2004-10-22 David A. Capello + + * jinete/examples/11file.c (poll_button): Fixed the loading + process (reported by Hernán Echegoyemberry). + +2004-10-19 David A. Capello + + * jinete/src/jview.c: Fixed scroll-bars (mainly because I didn't + test it before with border_width in the view widget). + +2004-10-18 David A. Capello + + * jinete/src/jdftheme.c (theme_draw_panel): Modified (smaller + separator). + + * jinete/src/jpanel.c (panel_msg_proc): Added cursor change. + +2004-10-17 David A. Capello + + * jinete/src/jwidget.c (ji_widget_get_drawable_region): Added + support for manager in viewports. + +2004-10-16 David A. Capello + + * src/script/script.c (load_all_scripts): Fixed memory leak. + + * src/core/app.c (app_loop): Integrated layout support to C + code from Lua scripts. + + * jinete/src/jwidget.c (ji_widget_is_hidden/visible_alone): Removed. + + * src/util/clipbrd.c: Done, now draws the rotated image. + (interactive_transform): Added keyboard shortcuts to modify the + angle (Elias Pschernig idea). + + * src/raster/rotate.c (image_parallelogram): Added. And done the + blend copy. + +2004-10-15 David A. Capello + + * src/raster/rotate.c (image_rotate, image_scale): Added. + + * src/widgets/colbar.c (color_bar_set_color): Fixed, don't find + the same color that has the other button assigned. + + * jinete/src/jfilesel.c: Integrated bookmarks to a combobox. Now + it's more easy to handle bookmarks. + +2004-10-14 David A. Capello + + * src/util/clipbrd.c (update_status_bar): Added the interface for + rotation. TODO: draw the rotated image and fix the scroll movement. + + * jinete/src/jwidget.c (ji_widget_free): Fixed memory leak. + +2004-10-13 David A. Capello + + * jinete/: Renamed "event" to "message". + +2004-10-12 David A. Capello + + * jinete/src/jwidget.c (ji_widget_replace): Renamed 'new' to + 'new_child' because problems with some C++ compilers (reported by + Hernán Echegoyemberry). + +2004-10-10 David A. Capello + + * src/core/cfg.c: Removed all cfg_* routines. Now ASE uses the + Allegro configuration file. + + * src/modules/gui.c (gui_feedback): Added rest(1) to avoid 100% + CPU usage (Elias Pschernig report it). + +2004-09-23 David A. Capello + + * src/modules/gui.c (change_to_button_style): Simplified with the + new event masks. + + * jinete/src/jwidget.c: Now hooks are handled with a + linked-list (much more easy). + + * jinete/include/jinete/base.h: Added event masks (JI_MASK_*) + +2004-09-22 David A. Capello + + * jinete/src/jsystem.c: Added ji_screen (to make double-buffered + drawing techniques). + +2004-09-20 David A. Capello + + * src/core/app.c (app_loop): Added background-switch-mode when ASE + is running in non-GUI mode (batch or console). + (app_init): Call to _ji_font_init to initialize TTF handling when + the GUI isn't initialized. + + * obj/: Changed the directories structure, now all .o are stored + in one directory, with this will be more quick the cross-plataform + compiling. I did this because I made various mistakes releasing + the 0.3 version. + +2004-09-19 David A. Capello + + * (Version 0.3.1 released). + + * src/core/app.c (app_init): Ugly bug fixed (detection of errors + in modules initialization). + + * data/scripts/born/session.lua: Added a dialog to ask if the user + want to load a backed up session. + + * src/dialogs/playfli.c (my_play_fli): Fixed the scale factor when + play in full-screen mode. + + * src/dialogs/tips.c (GUI_Tips): Fixed an error when didn't find + the tips file. + + * I forget the es.po and tips.es files in the release. + +2004-09-18 David A. Capello + + * (Version 0.3 released). + + * src/dialogs/filmedit.c (layer_box_event_handler): Added better + graphics to move layers. + + * src/modules/tools.c (control_tool): + * src/widgets/editor/editor.c (editor_event_handler): Added the + click2 configuration (click-and-click or click-and-release mode). + + * data/scripts/gens/dacap.lua: Added. + + * src/raster/image.c (image_rect): Added. + (image_vline): Added. + + * src/file/session.c (load/save_session): Added. + + * src/modules/gui.c (get_widgets): Added to simplify (and check) + the widgets getting process. + + * src/util/clipbrd.c (low_copy): Fixed (the palette is copy too). + + * src/modules/gui.c (change_to_button_style): Fixed with + button_style_hook (this is geetting ugly, maybe Jinete needs a + better way to handle objects inheritance). + +2004-09-17 David A. Capello + + * src/util/clipbrd.c (update_status_bar): Fixed (and improved) the + status bar info. + + * src/dialogs/drawtext.c (GUI_DrawText): Added. + + * src/util/clipbrd.c (interactive_transform): Fixed an + update-screen error. + +2004-09-08 David A. Capello + + * jinete/src/menu.c: Finally fixed. + + * (in these months) A lot of undocumented changes. + +2004-08-01 David A. Capello + + * config.h: Renamed aseconfig.h to config.h. + + * libase/: Moved to src/ase/. + +2004-07-31 David A. Capello + + * jinete/: All this days I was working hard to make release Jinete + separately from ASE. Writing (Spanish) documentation and fixing + functions names (I don't want to change the API after the + release). + +2004-07-26 David A. Capello + + * jinete/src/entry.c (entry_event_handler): Added "copy text" + through Ctrl+Insert. + + * data/scripts/born/sprprop.lua: + * data/scripts/born/newlay.lua: + * data/scripts/born/frmprop.lua: + * data/scripts/born/newspr.lua: Fixed errors getting integer values + from strings. + +2004-07-21 David A. Capello + + * src/util/mapgen.c, src/gui/mapgen.c: Added. + +2004-07-20 David A. Capello + + * jinete/jmanager.c (ji_manager_dispatch_events): Finally fixed. + Now it support recursive calling, processing event_queue + perfectly. + +2004-07-15 David A. Capello + + * data/scripts/born/undo.lua: Fixd GUI_Undo and GUI_Redo when undo + a crop action (now the editor are updated). + + * data/scripts/born/mask.lua (invert_mask): Fixed undo support. + +2004-07-13 David A. Capello + + * src/intl/intl.c: Added. Internationalization changed, the .po + files are loaded directly (this is much easy in Windows that port + the GNU gettext stuff to load .mo files). + +2004-07-13 David A. Capello + + * glittle/: Name changed (before was glibttle) + +2004-07-12 David A. Capello + + * jinete/: Changed the API (mainly JID -> JWidget, and now use a + event queue). + +2004-05-29 David A. Capello + + * Fixed an error with keyboard-shortcuts when NumKey (or any other + key_shifts) was activated. + + * jinete/jregion.c (ji_region_intersect2): Fixed a memory leak. + +2004-05-24 David A. Capello + + * (Version 0.2.4 released). + * libase/aundo.c: Optimized with linked lists. + +2004-05-15 David A. Capello + + * data/scripts/born/remfrm.lua (remove_frame): + Fixed (stock_remove_image called with wrong parameters). + +2004-04-30 David A. Capello + + * src/file/ase.c: + * src/file/fli.c: + * src/file/jpeg.c: + * src/file/pcx.c: + * src/file/tga.c: From plugins. + + * src/file/file.c: Added (some routines from modules/sprites.c + were moved to here). + + * src/plugins: Finally removed. + +2004-04-28 David A. Capello + + * src/effect/effect.h (GET_MATRIX_DATA): Added. + + * src/effect/convmatr.c (GET_MATRIX_DATA): Better performance. + +2004-04-27 David A. Capello + + * Moved some files from src/plugins/action to src/util. + * Renamed a lot of scripting routines. + +2004-04-25 David A. Capello + + * data/scripts/born/newspr.lua (GUI_NewSprite): Simplified. + + * libase/aundo.c (update_undo): Added. + (undo_stream_discard_first_chunk): Added to discard old undoes. + (undo_discard_undo/redo): Removed. + + * libase/aundo.h (Undo): Added size_limit. + +2004-04-20 David A. Capello + + * src/plugins/action/clipbrd.c (interactive_transform): Fixed the + status bar indicator. + + * src/plugins/plugin.c (plugin_file_load): Fixed the palette + loading from .ase files. + + * src/plugins/action/median.c: + * src/effect/median.c: Added median effect. + +2004-04-01 David A. Capello + + * data/scripts/born/remfrm.lua (GUI_RemoveFrame): + Fixed (sprite -> current_sprite). + + * data/menus.es: Updated. + +2004-03-30 David A. Capello + + * jinete/jdftheme.c (theme_draw_slider): Fixed an error drawing + sliders under windows. + +2004-03-29 David A. Capello + + * src/plugins/file/jpeg.c (load_jpeg, save_jpeg): Thanks to Angelo + Mottola for him patch to add progress bar, and RGB/Grayscale + support. + +2004-03-28 David A. Capello + + * src/plugins/action/autocrop.c (bind_autocrop_sprite): Fixed. + + * src/effect/effect.c (effect_begin_for_preview): Fixed when apply + an effect without mask in a frame that aren't in origin 0,0. + + * src/plugins/action/about.c (bind_about): Added. + + * src/plugins/action/filmedit.c (layer_box_event_handler): Now + uses the keyboard shortcuts for Undo/Redo/Close Film Editor from + the root-menu (data/menus.en). + + * src/modules/rootmenu.c (check_for_accel): Added. + + * jinete/jaccel.c (ji_accel_check): Fixed for non-US + keyboards (thanks to Elias Pschernig). + +2004-03-23 David A. Capello + + * src/gui/editor/editor.c (editor_draw_sprite): + Fixed (current_sprite->palette to editor->sprite->palette). + + * src/plugins/action/clipbrd.c (bind_copy, bind_cut): Added. + + * src/modules/editors.c (replace_sprite_in_editors): Added. + + * src/plugins/action/autocrop.c (bind_autocrop_sprite): Added. + +2004-03-21 David A. Capello + + * data/scripts/born/duplay.lua: Added DuplicateLayer. + + * data/scripts/born/effect.lua (ColorCurve): Now this uses + CURVE_LINEAR (before was using CURVE_SPLINE). + + * jinete/jfilesel.c (ji_file_select_ex): Fixed the behavior for + the key. + + * jinete/jmanager.c (ji_manager_set_focus): Fixed (removed the + condition about the captured widget). + + * src/plugins/action/viewtile.c (bind_view_tiled): Fixed the + keyboard behavior. + + * src/gui/minipal.c (paledit_change_signal): Now when the user + selects some range in the mini-pal, the color-bar colors are + updated to that selection. + +2004-03-20 David A. Capello + + * jinete/jdftheme.c: Modified some graphics and colors. + + * jinete/jlistbox.c (ji_listbox_center_scroll): Added. With this + now when a list-box is shown, the selected item will be centered + in the viewport. + + * jinete/jfilesel.c (ji_file_select_ex): Modified to two + list-boxes behavior: one for directories and the other for files. + +2004-03-14 David A. Capello + + * data/tips/tips.en: Fixed the tip about Color Curve window. + +2004-03-13 David A. Capello + + * (Version 0.2.2 released). + +2004-03-11 David A. Capello + + * src/high/frame.c (PositionFrame): Before it was PositionLayer. + + * libase/alayer.h (Layer): Removed the "w" and "h" fields. + + * data/scripts/born/loadfile.lua: Added. + +2004-03-10 David A. Capello + + * libase/aimage.c (image_depth): Added. + + * data/scripts/born/imgtype.lua (GUI_ImageType): Done. + + * libase/asprite.c (sprite_set_imgtype): Added. + + * libase/aquant.c (image_set_imgtype): Added. + +2004-03-09 David A. Capello + + * jinete/jmanager.c (ji_manager_poll): Fixed the key + processing (thanks to Elias Pschernig). + + * src/gui/statebar.c (button_select_signal): Fixed a big + mistake (it was using "specific_data" instead of user_data[0] in + the "update_from_layer" call). + +2004-03-08 David A. Capello + + * src/gui/minipal.c (window_resize_signal): Better distribution + for the palette when the window's size changes. + +2004-03-06 David A. Capello + + * src/gui/gui.c (hook_destroy_signal_to_free_user_data): + Removed (now "status_bar" uses specific_data and menuitem has a + own hook for destroy signal). + +2004-03-05 David A. Capello + + * src/modules/color.c (draw_color): Fixed when draw RGB + colors (now it doesn't use the fake colors). + + * src/gui/gui.c (init_module_gui): Better handling of default + screen resolution. + (reload_default_font): Now default2.pcx is loaded by default if + the screen width is more big that 320 (based on Elias Pschernig + ideas). + + * jinete/jdftheme.c (theme_map_decorative_widget): Added. + + * jinete/jlow.h (JWidget): Added "is_decorative". To create + decorative widgets for windows in themes. + +2004-03-04 David A. Capello + + * src/plugins/action/tips.c: Is almost done. It's a quick tip + system, much better that the old one (supports images). + + * jinete/jtheme.c (_ji_theme_textbox_draw): Now can control + JI_LEFT/CENTER/RIGHT modes. + +2004-02-25 David A. Capello + + * src/modules/palette.c (set_current_palette): Fixed the call of + create_trans_table (this routine uses the rgb_map, and I didn't + change it). With this the onion-skin is working good. + +2004-02-23 David A. Capello + + * data/scripts/born/imgtype.lua: Added this new action to convert + the image type. + + * data/scripts/born/options.lua: Added a check button to setup the + "/options/dither". + + * src/gui/editor/editor.c: Added "use_dither" and the + "/options/dither" configuration entry to handle if we use or not + dither method. + + * src/plugins/action/frame.c (bind_copy_frame): Added + `plugin_copy_frame'. + +2004-02-22 David A. Capello + + * src/plugins/action/dither.c (bind_ordered_dither): Added. + +2004-02-21 David A. Capello + + * src/gui/editor/editor.c (editor_event_handler): The drawing + cursor is updated only when the mouse change to other pixel (no to + other screen position). + + * src/core/cfg.c (open_entry): Fixed an overflow (alloc for int, + use like double). + +2004-02-14 David A. Capello + + * glibttle/: Added to be used if glib-2.0 isn't available. + + * rlib/: Removed (now is used glib-2.0). + + * src/plugins/file/ase.c: Now uses FILE. + +2004-02-13 David A. Capello + + * src/util/filetoks.c (tok_read): Now uses FILE (I have planned + remove rlib). + +2004-01-30 David A. Capello + + * src/gui/editor/editor.c (editor_event_handler): Fixed cursor + problems when some windows was above the editor. + +2004-01-29 David A. Capello + + * Released 0.2.1 Alpha. + +2004-01-25 David A. Capello + + * src/gui/minipal.c (ji_minipal_new): Added. + +2004-01-24 David A. Capello + + * po/es.po: Added and done a lot of translations. + + * src/intl/gettext.c (init_intl): Added support to differentes + languages. + + * jinete/jsystem.c (ji_set_translation_hook): Support to load + translated strings (you can use the _("") in .jid files). + +2004-01-19 David A. Capello + + * src/modules/editors.c: Moved the routines related to + editors-list from src/core/app.c to this file. + +2004-01-16 David A. Capello + + * libase/asprite.c (sprite_is_modified): Added. + (sprite_was_saved): Added. + (sprite_is_edited): Removed. + + * libase/aundo.h (Undo): Replaced "harmony" with the new + diff_count/saved interface. + +2004-01-14 David A. Capello + + * libase/astock.c: Added comments to all routines. + (stock_replace_image): Added. + +2004-01-13 David A. Capello + + * data/scripts/born/frmprop.lua: Frames properties dialog. + + * src/modules/rootmenu.c: Added. + + * libase/alayer.c (layer_free): Fixed an ugly bug ("it=it->data" + instead of "it=it->next"). + + * src/plugins/action/crop.c (bind_crop_layer): Done. + (bind_crop_sprite, bind_crop_frame): Are done from a week. + + * libase/aframe.c (frame_is_link): Fixed. + + * libase/alayer.h (Layer): Removed the "data" union (this will + simplified the code a lot). + +2004-01-12 David A. Capello + + * libase/aundo.c (undo_set_mask): Added (now mask changes support + undo). + + * libase/aundo.h (Undo): Modified "peaceful" to "harmony". + + * data/scripts/startup/flatten.lua: Added the undo suppport. + + * libase/aundo.c (undo_move_layer): Added. + (undo_chunk_write_stock): + (undo_chunk_write_layer): Fixed (now the undo_remove_layer works). + + * data/scripts/startup/duplay.lua: Added. + +2004-01-11 David A. Capello + + * data/scripts/startup/flatten.lua: Added. + + * data/scripts/startup/dupspr.lua: Done. + + * libase/asprite.c (sprite_new_flatten_copy): + * libase/alayer.c (layer_flatten): Added. + + * libase/asprite.c (sprite_index2layer, sprite_layer2index): + Added. + + * libase/asprite.c (sprite_new_copy): + * libase/abrush.c (brush_new_copy): + * libase/astock.c (stock_new_copy): + * libase/alayer.c (layer_new_copy): Done. + + * src/util/thmbnail.c (generate_thumbnail): Added (and removed + from src/plugins/action/filmedit.c). + +2004-01-10 David A. Capello + + * src/plugins/file/ase.c: Added progress stuff. + +2004-01-09 David A. Capello + + * src/plugins/file/ase.c: Done (compression and paths aren't yet). + +2004-01-06 David A. Capello + + * data/matrices: Added sharpen-7x7. + + * src/plugins/action/viewtile.c (bind_view_tiled): Fixed. + + * src/gui/editor/editor.c (editor_set_scroll): Fixed. + +2003-12-19 David A. Capello + + * src/libase/undo.c (undo_flip): Added. + + * src/plugins/action/flip.c: Added. + + * data/scripts/startup/mask.lua (MaskStretchBottom): Added. + + * src/gui/editor/editor.c (editor_refresh_region): Added. + (editor_set_scroll): Optimized (blit from screen to screen to + redraw only the necessary parts). This make the scroll movement a + lot more faster (Angelo Mottola wanted more speed for high + resolutions). + + * src/effect/effect.c (effect_apply_step): Fixed to use the + correct mask displacement. + +2003-12-17 David A. Capello + + * src/high/high.h: Added a little high-level layer for scripts. I + think that with those routines I could make some script-recording + feature. + +2003-12-15 David A. Capello + + * libase/apath.c: Finally fixed. + + * src/effect/*.c: Modified the effect interface, there aren't + effect plug-ins anymore. with this, all effects don't use + configure routines. + + * plug-ins/effect/convmatr.c: Done the convolution matrix effect + (for Indexed images too). + +2003-12-14 David A. Capello + + * src/modules/plug-in.c: Fixed a bug with the console stuff (when + run nested scripts). + + * jinete/jmenu.c (ji_menu_popup): Done. + +2003-12-13 David A. Capello + + * jinete/jmanager.c, jinete/jmenu.c: Modified the internal + management (in the manager was added the proc_* stuff, and in the + menus was removed the level stuff, also the "is_dead" property was + added in JWidget structure). + + * jinete/jfilesel.c (enter_to_path_in_entry): Replaces + canonicalize_filename by fix_filename_path (thanks to Juraj + Michalek to report this). + + * src/core/cfg.c (save_entry): Fixed when save strings with + backslashes "\" (thanks to Jonathan Taylor to report it). + + * src/gui/editor/editor.c (editor_event_handler): All keyboard + actions were moved to src/gui/editor/keys.c. + +2003-12-12 David A. Capello + + * makefile.gcc: Added and restructured the makefile + infrastructure. + + * extern/: lua/ and gfli/ code was moved to this directory. Also + I added the libart code in this directory. + + * src/modules/tools.c (my_image_hline4_glass) + (my_image_hline2_glass): Fixed. + + * src/modules/gfx.c (render_sprite): Optimized (just creates one + temporary image). The problem is if the background layer has + other layer mode that the normal one. Anyway, it's very uncommon. + + * jinete/jbutton.c (button_event_handler): Fixed the behavior for + key. + + * src/util/effect.c (begin_target_data): Added. + * src/util/effect.h (TargetData): Added. + + * jinete/jlistbox.c, jinete/jtextbox.c: Added suppport to control + scroll with the wheel (this should be tested, because I haven't a + mouse with wheel). + + * jinete/jmanager.c (ji_manager_poll): Added support for the new + JI_EVENT_WHEEL. + + * jinete/jmenu.c: Changes the behavior: when you move the mouse + over a parent, it's opened automatically, you don't need to make + more clicks (thanks to Angelo Mottola for the suggestion). + +2003-12-11 David A. Capello + + * src/gui/colsel.c (ji_color_select): Now uses colsel.jid. + + * jinete/jwindow.c (ji_window_set_text): Added. + + * src/gui/gui.c (gui_feedback): Added to made common stuff in + loops (like recording screen). + (my_theme_draw_view_viewport): Fixed a bug with viewports without + child. + + * src/util/effect.c (effect_apply_to_target): Added (with this + added the support to apply an effect to various frames/layers). + + * src/util/asehigh.c (get_layer_image): Added to get the layer's + image and position in a frpos. + + * libase/aundo.c (undo_image): Added to undo entire image + portions. + + * jinete/jwidget.c (ji_widget_is_visible/hidden_alone): Added. + + * data/jids/main.jid: Added differents layouts. + + * src/gui/colbar.c (color_bar_new): Added align. + + * src/core/app.c (app_loop): Added the load_all_scripts routine to + exe "startup" scripts (before it was in script module + initialization). With this now the mouse speed is really loaded + in the startup (because the video mode is already started when we + call the scripts). Also, the GUI mode startup was restructured a + little (so scripts can access to main widgets in startup). + + * data/scripts/shutdown/rec.lua: Added to stop the screen + recording (before it was in app_exit ()). + + * plug-ins/action/toolconf.c (bind_configure_tool): Fixed (I + forget the running=TRUE, this avoid the possibility to open + "infinite" configuration windows). + + * data/scripts/shutdown/layout.lua: Added (to save the layout + configuration). + + * data/scripts/startup/layout.lua: Added (to load the layout + configuration (visible widgets)). + + * data/scripts/*.lua: Moved to data/scripts/startup/, and created + data/scripts/shutdown. + + * src/gui/toolbar.c (tool_bar_new): Added the tool bar (thanks to + Jonathan Taylor for the suggestion). + +2003-12-10 David A. Capello + + * src/core/dirs.c: Fixed the routines to find files in MacOSX, + BeOS and QNX (thanks to Angelo Mottola to report it). + + * src/util/filetoks.c (tok_read): Added. + + * src/gui/gui.c (load_widget): Fixed when the file isn't found. + +2003-12-08 David A. Capello + + * src/gui/editor/cursor.c: Optimized a lot. Now is drawn just the + perfect shape for each brush-type. + + * src/gui/editor/cursor.c: + * src/gui/editor/click.c: + * src/gui/editor/editor.c: src/gui/editor.c was splitted in these + three files. + + * data/jids/main.jid: Added (now you can configure the main window + aspect). + + * src/modules/tools.c (control_tool): Fixed some strange behavior + with grid-mode. + +2003-12-07 David A. Capello + + * src/console/readline.c (do_readline_console_mode): Added (from + old C++ code). + + * src/gui/editor.c (editor_click_scroll_change): Added. + + * docs/QuickHelp.html: Updated. + + * plug-ins/action/move.c (bind_move): Finished. + +2003-12-04 David A. Capello + + * src/gui/editor.c: Removed the EDIT_MOVING_SCROLL, I simplified + everything with the interactive_move_layer routine. + + * src/util/asehigh.c (insert_on_top_of, new_layer_from_mask) + (clear_mask, interactive_move_layer): Added. + + * libase/aundo.c (undo_discard): Added. + + * src/modules/tools.c (control_tool): Updated to use the new + "click" editor interface (with this there is scroll movement in + drawing loop). + + * src/gui/editor.c (editor_click_start, editor_click_done) + (editor_click, editor_click_cancel): Added a new "click" interface + to control mouse movement in a editor (it support + click-and-release and click-and-click modes). + + * plug-ins/action/toolconf.c (bind_configure_tool): Added to + change view_grid. + + * src/modules/tools.c: Added view_grid. + + * src/gui/editor.c (editor_draw_grid): Added. + +2003-12-03 David A. Capello + + * src/modules/plug-in.h (PlugIn): Removed the "dest" and + "copyright" field. + +2003-12-02 David A. Capello + + * src/util/effect.c (effect_flush): Fixed. + + * rlib/rregion.c (r_region_intersect_both): Fixed. + + * src/gui/curvedit.c: Almost finished. + +2003-12-01 David A. Capello + + * src/core/app.c (app_split_editor, app_close_editor) + (app_make_unique_editor): Don't need use EditorInfo anymore. + + * jinete/jview.c (view_plain_update): Added. + (ji_view_update): Fixed to update the viewport leaving the scroll + in the same center position. + + * jinete/jwindow.c (_ji_window_is_moving): Added. + +2003-11-30 David A. Capello + + * rlib/, libase/, jinete/, src/, plug-ins/: All long file names + changed to short names (8 chars max). + + * fix.sh, fix.bat: Added. + +2003-11-29 David A. Capello + + * data/scripts/testjid.lua (TestJID): Added. + + * src/gui/color_bar.c: Better interface. + + * jinete/manager.c (new_mouse_event): Now JI_EVENT_DOUBLECLICK + sends the right mouse button flags. + + * jinete/system.c (ji_mouse_get_click_button): Added. + +2003-11-27 David A. Capello + + * src/modules/sprites.c (sprite_get_images): Done. + + * src/plug-in/plug-in.c (plugin_file_save): Fixed a problem when + ask for mask repository. + +2003-11-26 David A. Capello + + * src/gui/target_button.c (target_button_new): Added (and all + effects now uses it). + + * jinete/button.c: Added the different bevel levels for each + corner of the button. + + * jinete/file_select.c (enter_to_path_in_entry): Fixed with + canonicalize_filename. + + * src/gui/file_select.c (my_file_select): Uses ji_file_select. + +2003-11-20 David A. Capello + + * gfli-1.3/fli.c (fli_write_color, fli_write_color_2): Fixed (I + send the patch to Jens Ch. Restemeier). + + * plug-ins/action/play_fli.c: Added. + +2003-11-19 David A. Capello + + * src/util/rec_screen.c (rec_screen_on, rec_screen_off) + (rec_screen_poll): Added. + +2003-11-18 David A. Capello + + * plug-ins/action/configure_tool.c (bind_configure_tool): Added + options to select brush type and drawing mode. + + * src/gui/group_button.c (group_button_new): Added. + + * plug-ins/action/invert_color.c: + * plug-ins/effect/invert_color.c: + * plug-ins/action/replace_color.c: + * plug-ins/effect/replace_color.c: Done. + + * src/gui/editor.c (editor_draw_sprite): Fixed the drawing for + RGBA images (using the orig_rgb_map). + +2003-11-17 David A. Capello + + * jinete/menu.c (menubox_event_handler): The accelerators now are + called only in menu-bar (this fix the error that happend when + press ESC to close the menu-box and this key is hooked by some + accelerator). + + * src/modules/palette.c (set_current_palette): Implemented the + fake-palette system. + + * libase/ASE_sprite.h (Sprite): The "palette" is just a RGB + pointer (Allegro PALETTE). + + * libase/palette.c: Removed. + + * src/modules/palette.c (ase_palette_set_current): Update + _index_cmap to make the fake-palette system. + + * libase/image_methods_indexed.c (indexed_to_allegro): Uses + _index_cmap. + + * libase/blend.c (_index_cmap): Added. + + * src/gui/gui.c (rebuild_lock, rebuild_unlock): Added to fix a bug + when rebuild menus before finish the menu/script call (see the + routine "menuitem_select_signal" in "src/gui/menu.c"). With this + finally fixed the segmentation fault of unrecent_file() (well + known in 0.1.2 version). + + * src/gui/preview.c, src/util/effect.c: Added (from the old code). + + * libase/dirty.c (dirty_optimize): Removed. + + * libase/dirty.c (dirty_insert_hline): Now uses something like + for(x=x1;x<=x2;x++) dirty_insert_pixel(x). This must be + optimized. + +2003-11-16 David A. Capello + + * libase/dirty.c (dirty_insert_pixel): Optimized with sorted + vectors. Also now two columns are joined if it's necessary (with + this, dirty_optimize () will dead). + + * libase/x86/int_mult.s (_int_mult): Added. + + * libase/image_methods_bitmap.c (bitmap_to_allegro): Fixed. + + * src/core/cfg.c: Modified to use RFile and string routines from + string.h (the speed of read_tok() was optimized a lot). + +2003-11-15 David A. Capello + + * jinete/system.c (check_click): Added control to avoid + double-click with differents mouse's buttons. + +2003-11-14 David A. Capello + + * data/scripts/*.lua, data/jids/*.jid: Renamed all these files to + use short names. + + * data/scripts/new_sprite.lua: Now use the new_sprite.jid file. + + * data/jids/new_sprite.jid: Added. + + * jinete/view.c (ji_view_set_size): Fixed a bug seting up the + viewport size. + + * jinete/JI_lowlevel.h (JWidget): Removed all the menu members. + + * src/modules/tools.c: Added drawing modes (opaque, glass, semi). + + * jinete/panel.c (ji_panel_get_pos, ji_theme_set_pos): Added. + + * libase/sprite.c (sprite_set_filename, sprite_set_size) + (sprite_set_frames, sprite_set_speed): Removed the undo support in + those routines (because they aren't dangerous changes that must be + undoes). + +2003-11-13 David A. Capello + + * jinete/JI_lowlevel.h (JWidget): Removed the entry/slider/panel + variables. Added the "specific_data" parameter. + + * src/modules/tools.c: Now uses brushes. + + * libase/brush.c: Added. Now Dirty support brushes. + +2003-11-12 David A. Capello + + * rlib/file.c: Added all the routines to handle file/buffer + streams. + +2003-11-08 David A. Capello + + * plug-ins/action/trim_sprite.c (bind_trim_sprite): Added. + +2003-11-07 David A. Capello + + * plug-ins/file/jpeg.c: Added the JPGalleg functionality (now we + can compile with libjpeg or JPGalleg). + +2003-11-06 David A. Capello + + * jinete/file_select.c (ji_file_select_ex): Added. + + * src/gui/color_bar.c: Better functionality. + +2003-11-05 David A. Capello + + * jinete/quick_menu.c (ji_menubar_new_quickmenu): + (ji_menubox_new_quickmenu): Added (a the new JQuickMenu + structure). + +2003-11-03 David A. Capello + + * plug-ins/action/view_tiled.c (bind_view_tiled): Optimized (now + it doesn't draw the scaled sprite, it use stretch_blit()). Also, + added a couplee of visualization modes. Fixed a memory leak. + +2003-11-02 David A. Capello + + * plug-ins/file/bmp.c (save_bmp): Updated from Allegro (4.1.12 CVS). + + * src/gui/status_bar.c (play_animation): Added. + +2003-10-30 David A. Capello + + * jinete/radio.c (radio_event_handler): + * jinete/check.c (check_event_handler): + * jinete/button.c (button_event_handler): Added support for the + underscored letter. + +2003-10-29 David A. Capello + + * plug-ins/action/mask_by_color.c (bind_mask_by_color): Done. + +2003-10-28 David A. Capello + + * libase/ASE_sprite.h (Sprite): Added the "frames" field. + +2003-10-27 David A. Capello + + * src/gui/editor.c (editor_event_handler): now the layer movement + doesn't update the editor, the layer-boundary is drew with + priority (Mateusz Czaplinski idea). + +2003-10-26 David A. Capello + + * src/modules/tools.c (control_tool): Added the Shift/Ctrl + functionality. + + * src/gui/editor.c (editor_draw_sprite_safe): Added. + + * plug-ins/action/configure_tool.c (bind_configure_tool): Added. + + * plug-ins/action/mask_repository.c (bind_mask_repository): Uses + repo_dlg stuff. + + * src/gui/bookmarks.c (ji_select_bookmark): Uses repo_dlg stuff. + + * src/gui/repo_dlg.c (ji_show_repo_dlg): Done. + +2003-10-25 David A. Capello + + * src/gui/bookmarks.c (ji_select_bookmark): Added. + + * data/scripts/insert_layer.lua: Added InsertLayerSet. + + * plug-ins/action/mask_repository.c: Added. + + * src/gui/gui.c (reload_default_font): Added. + + * libase/prop.c (prop_get_y): Fixed for tangent-ending mode. + + * libase/algo.c (algo_spline_get_tan): Added. + + * libase/sprite.c (sprite_append_path, sprite_remove_path) + (sprite_append_mask, sprite_remove_mask): Added. + + * libase/ASE_sprite.h (Sprite): Added "locked" flag, + repository{paths,masks}. + +2003-10-24 David A. Capello + + * src/script/bindings.c (handle_signals_for_lua_functions): Fixed + to read the correct return value of the called function. + + * jinete/manager.c (_ji_manager_close_window): When a desktop is + closed, all windows in top of it are closed. + + * src/util/msk_file.c (save_msk_file): Done. + + * src/util/pic_file.c (save_pic_file): Done. + + * src/gui/status_bar.c (status_bar_set_progress): + (status_bar_append_progress, status_bar_remove_progress): Added + the progress bar stuff. + + * src/gui/palette_editor.c (palette_editor_move_selection): Added. + + * src/modules/palette.c (palette_save, palette_load): Added. + + * jinete/menu.c (menubox_event_handler): Fixed a bad behaviour + when a keyboard shortcut was pressed and then we click in the + menu-bar. + +2003-10-23 David A. Capello + + * src/util/msk_file.c (load_msk_file): Added. + + * src/util/pic_file.c (load_pic_file): Added. + +2003-10-22 David A. Capello + + * data/scripts/insert_layer.lua: Added InsertImageLayer. + + * data/scripts/layer_properties.lua (LayerProperties): Added. + + * data/scripts/mask.lua (MaskLoad, MaskSave): Added. + + * libase/mask.c (mask_load, mask_save): Added. + + * rlib/file.c (r_pack_igetdouble, r_pack_iputdouble): Added. + +2003-10-21 David A. Capello + + * src/gui/status_bar.c: Added. + + * data/scripts/show_options.lua: Added. + + * src/core/app.c (app_split_editor): Done. + (app_close_editor): Done. + (app_make_unique_editor): Done. + + * jinete/panel.c: Added this new widget. + + * data/scripts/reload_menus.lua: Added. + + * Happy birthday... to me :-) + +2003-10-20 David A. Capello + + * libase/path.c (path_new_copy): Added. + + * src/gui/gui.c (load_window_pos, save_window_pos): Added routines + to load/save windows position. + + * src/util/col_file.c (load_col_file, save_col_file): Added + routines to handle COL files from Animator and Animator Pro. + +2003-10-19 David A. Capello + + * src/core/app.c, src/gui/gui.c: Added some routines to handle the + menu rebuild process in IDLE manager signals. This fix various + bugs related with recent and sprite menu lists. + + * src/modules/recent.c (recent_file): Fixed a old bug (from 0.1.2 + version). + + * jinete/system.c (ji_mouse_set_cursor): Fixed a ugly error (I + forgot to use set_mouse_sprite (NULL) when change the null + cursor); + +2003-10-07 David A. Capello + + * src/gui/color_bar.c: Done. + + * src/gui/editor.c (editor_event_handler): Fixed a bug between + scroll-movement and menu bar. + + * rlib/hash.c (r_hash_free): Fixed (added "next" variable to keep + the next item after remove it). + +2003-10-05 David A. Capello + + * src/gui/file_select.c (ji_file_select): Done. + +2003-10-03 David A. Capello + + * jinete/alert.c (ji_alert): Done. + + * data/scripts/configure_jpeg.lua: Added. + + * plug-ins/file/bmp.c: + * plug-ins/file/fli.c: + * plug-ins/file/jpeg.c: + * plug-ins/file/pcx.c: + * plug-ins/file/tga.c: Added. + +2003-09-30 David A. Capello + + * modules/tools.c: Works. + + * libase/TEST_dirty.c: + * libase/dirty.c: Added. + + * jinete/textbox.c (textbox_event_handler): Better scroll handle. + + * jinete/widget.c (ji_widget_show, ji_widget_hide): Fixed, now + them don't touch children. + + * libase/palette.c (palette_new): Fixed the copy of the current + palette. + +2003-09-29 David A. Capello + + * jinete/manager.c (_ji_manager_close_window): Fixed the problem + with JI_EVENT_CLOSE and destroy_window, now windows_to_close is + updated after the last event (the JI_EVENT_CLOSE). + +2003-09-28 David A. Capello + + * jinete/window.c (window_event_handler): Added the + JI_SIGNAL_WINDOW_CLOSE signal. + + * jinete/menu.c (menubox_event_handler): Fixed the emission of the + JI_SIGNAL_MENUITEM_SELECTED signal. + + * jinete/manager.c (ji_manager_poll): Fixed the send of CHAR + events to desktop when a foregrounded-window is running. + +2003-09-27 David A. Capello + + * src/gui/editor.c: Done some parts, right now I can + compile/execute the program :-) (after a very long time). + + * src/core/app.c: + * src/core/cfg.c: + * src/core/core.c: + * src/core/dirs.c: + * src/core/main.c: + * src/gui/gui.c: + * src/gui/gfxmode_select.c: + * src/modules/color.c: + * src/modules/gfx.c: + * src/modules/language.c: + * src/modules/palette.c: + * src/modules/recent.c: + * src/modules/rootmenu.c: + * src/modules/sprites.c: + * src/util/quantize.c: Done (almost everything is old code). + + * jinete/slider.c: Done + + * libase/palette.c: Done. + +2003-09-26 David A. Capello + + * libase/algo.c (algo_ellipse_fill): Done. + + * libase/gfxobj.c: + * libase/layer.c: + * libase/sprite.c: + * libase/stock.c: Done. + + * jinete/menu.c: Done. + +2003-09-25 David A. Capello + + * jinete/manager.c (ji_manager_poll): Fixed the close windows + stuff (replaced with the old interface that use the + windows_to_close list). + +2003-09-24 David A. Capello + + * jinete/manager.c (ji_manager_poll): Now work "foreground" mode. + +2003-09-23 David A. Capello + + * jinete/manager.c (ji_manager_set_focus): Fixed the focus + movement with "some_parent_want_focus()" routine. + + * jinete/textbox.c: Done. + + * jinete/view.c: + * jinete/listbox.c: Done. + +2003-09-22 David A. Capello + + * jinete/separator.c: + * jinete/default_theme.c (theme_draw_separator): Done. Support + for frames. + +2003-09-21 David A. Capello + + * jinete/entry.c: Done. + + * jinete/radio.c: Done. + +2003-09-19 David A. Capello + + * jinete/window.c (window_event_handler): Fixed the window + movement screen refresh (now is optimal). + + * jinete/: These days I made all a GUI interface (based on RAP): + Jinete. It's more simple (uses IDs for handle widgets). I have + made the manager, event, window, box, label, button, check-button + stuff. + +2003-09-13 David A. Capello + + * libase/keys.c, libase/image_methods_*.c, libase/blend.c: + * libase/algo.c, libase/image.c: Added and almost done. + + * libase/: Started the graphics library. + + * rlib/: Done this library with the general purpose routines + (linked lists, objects, classes, etc). + + * rap/examples/text_boxes.c: Added. + + * rap/src/text_box.c: Done. + +2003-09-12 David A. Capello + + * rap/src/list.c: All RAP_LIST stuff added. + + * rap/src/object.c (rap_object_new): Now use rap_class_init. + (rap_object_free): Now use rap_class_shutdown. + + * rap/src/class.c (rap_class_init, rap_class_finalize): Fixed. + + * ase/: The Resurrection Day, this is a important day, because I + drop off all C++ code and I back to old times C code. I am fixing + all stuff to get work this (I start from the last release 0.1.2 + with some changes). + +2003-04-06 David A. Capello + + * data/scripts/menu/duplicate_sprite.lua: Done. + +2003-04-05 David A. Capello + + * data/scripts/file/jpeg.lua: Added for plug-ins/file/jpeg.c. + + * data/scripts/base/(init|exit).lua: Support the save/load of the + main widgets (menu/status/color/tool bars) visibility. + + * data/menus: Moved "View" menu to root. Also, added "Switch ..." + options. + + * ase/gui/alleg/widget.c (gui_alleg_widget_init): Fixed hide/show + hooks. + + * ase/gui/alleg/tool_bar.c: Done. + + * ase/gui/accel.c (proc_one_word): Fixed for F1. + +2003-04-04 David A. Capello + + * data/scripts/menu/paste.lua: Done. + + * plug-ins/action/editor.c (do_get_editor_center_pixel): Added. + + * data/scripts/menu/select_(all|none|invert).lua: Done. + +2003-04-03 David A. Capello + + * data/scripts/menu/(copy|cut|clear).lua: Done. + +2003-03-30 David A. Capello + + * ase/gfx-core/undo.c: Made the core of the new undo engine, and + the "dirty" action is supported. + +2003-03-29 David A. Capello + + * ase/gui/alleg/slider.c (slider_mousemove_hook): Fixed unuseful + redraws. + +2003-03-20 David A. Capello + + * ase/gui/alleg/palette_viewer.c: Done. + +2003-03-17 David A. Capello + + * ase/gui/status_bar.c: Added. + + * ase/gui/tool_bar.c: Added. + + * ase/gui/alleg/color_bar.c: Fixed double-click management. + +2003-03-11 David A. Capello + + * docs/ase-es.texi: Added, I was passing some .txt files to this + new Texinfo manual. + + * ase/gui/alleg/manager.c (redraw_widgets_in): Works better. + +2003-03-10 David A. Capello + + * ase/gui/alleg/manager.c, ase/gui/alleg/window.c: Added window + movement/resize capabilities (with this the idea of Peter Wang to + "make windows bigger in bigger resolutions" isn't necessary). + +2003-03-09 David A. Capello + + * *everything*: After weeks and months of hard works, I made these + things (sorry for don't document step-by-step but I was + programming other stuff in these days): + - ase/script/obj* - Scripts object related stuff. + - ase/script/bind* - A complete new set of scripts routines. + - ase/gfx-core/ - New graphics core to handle in scripts too. + - libase/ - Removed, reemplaced with "ase/gfx-core". + - ase/gui/ - Largely rewritten. + - data/scripts/ - Restructured. + - plug-ins/action/* - Various actions was converted to scripts + (See "data/scripts/menu/*") + + * docs/todo.txt: I made some important "todo" and "wishlist" + things: + + - Fixed the all problems with app_fixup(), now is not necessary + because all code is for ASE application (not more LibASE), so the + same routines call "application refreshing stuff". + + - The set_window_close_hook() problems was solved. + + - Multiple-editors is done (an old Peter Wang idea). + +2003-02-15 David A. Capello + + * ase/core/list.c: Replaced the old API with a new improved linked + list management similar to GList of glib. + +2003-02-06 David A. Capello + + * ase/gui/gtk/*.c: Fixed various memory leaks with destroy-hooks. + + * data/scripts/menu/reload_menus.lua: Added. + + * data/scripts/menu/new_sprite.lua, + data/scripts/menu/sprite_properties.lua, + data/scripts/menu/set_sprite_type.lua: Converted to new GUI API. + + * data/scripts/base/exit.lua: Fixed. + + * ase/gui/gtk: Done the port of main GUI widgets set to GTK. Also, + is supported gtk+-1.2 and gtk+-2.0. Per example, the menus and + buttons in gtk+-1.2 use new_with_label, when in gtk+-2.0 use + new_with_mnemonic. + +2003-02-02 David A. Capello + + * data/scripts/menu/save_sprite.lua, + data/scripts/menu/load_sprite.lua: Done. + + * ase/plug-in/plug-in.c (plugin_file_load, plugin_file_save): Done. + + * ase/gui/file_select.c (gui_file_select): Added the `mkdir' button. + +2003-02-01 David A. Capello + + * ase/gfx-core/drawable.c (drawable_convert): Added from + plug-ins/action/set_sprite_type.c for + data/scripts/menu/set_sprite_type.lua. + + * ase/modules/color.c (color_unindex): Fixed. + + * ase/script/script.c (lua_register_objtype): After a couple of + hours debugging Lua stack management, I made that `methods' works. + +2003-01-31 David A. Capello + + * ase/gui/*.c: Added some more memory checks in realloc () stuff. + + * ase/script/objtype.c (find_objtype): Fixed illegal access to + objtypes. + + * ase/script/objtype.h (OBJTYPE): Added `methods' table. + +2003-01-29 David A. Capello + + * data/scripts/menu/new_sprite.lua: After a week of work, I made + the first action completelly in script. Sure, for this, I had a + lot of work to pass everything to Lua script object (also, I + upgrade Lua to 5.0 beta). + + * ase/script/objtype.[ch], ase/script/object.[ch], + ase/gfx-core/blend.[ch], ase/gfx-core/dirty.c, + ase/gfx-core/drawable.c, ase/gfx-core/drawable_grayscale.c, + ase/gfx-core/drawable_indexed.c, ase/gfx-core/drawable_rgb.c, + ase/gfx-core/gfx-core.h, ase/gfx-core/keyframe.c, + ase/gfx-core/layer.c ase/gfx-core/path.c ase/gfx-core/property.c + ase/gfx-core/sprite.c: Added (mainly from the old ASE library). + +2003-01-24 David A. Capello + + * ase/app.c (app_fixup): Fixup in the recent file list the `\' + problem. + + * ase/modules/sprite.c (lua_pushsprite, lua_tosprite): Added these + routines to handle sprites in scripts in a more easy way. Added + the sprite metatable to handle sprite objects in Lua scripts. + + * ase/plug-in/plug-in.h (PLUGIN_ACTION): Changed "void + (*perform)(void)" to "lua_CFunction func". From now, every plug-in + will have a more close contact with Lua. + +2003-01-22 David A. Capello + + * ase/plug-in/plug-in.h: Removed the `flags' from PLUGIN + structure. The plug-ins will be installed `always' (no more + interactive or non-interactive). Added only the `installed' bit. + + * ase/plug-in/plug-in.c (plugin_progress): Replaced the old + plugin_set_steps/next_step progress bar interface with a new one: + plugin_progress(double progress=0...1.0). + + * ase/gui/progress_bar.c (gui_add/remove_progress_bar): Added + multiply progress bar support. + + * libase/bitmap_*.c (*_to_allegro): Fixed a `no-updated preview' + bug in windowed modes. I forget the `bmp_unwrite_line' at the end + of these routines. + + * plug-ins/action/gauss_rle.c: Added. The RLE gaussian blur + routine was taken from the GIMP. + + * ase/gui/edit.c (gui_create_edit_f, gui_edit_getstr) + (gui_edit_strtol, gui_edit_strtod): Added to facilitate the work + with GUI_EDIT widgets. + +2003-01-21 David A. Capello + + * ase/modules/tools.c (control_tool): Support selection tool + without bitmaps. + + * ase/editor/editor.c (handle_editor): When moving layers, the + status bar shows more important information (Mateusz Czaplinski + idea). + +2003-01-20 David A. Capello + + * plug-ins/action/merge_visibles.c (perform_merge_visibles): Fixed + for empty layer bitmaps. + + * plug-ins/action/merge_down.c (perform_merge_down): Fixed for + empty layer bitmaps. + + * libase/blend.c (_ase_rgba_blend_darken, _ase_rgba_blend_lighten) + (_ase_rgba_blend_luminosity, _ase_rgba_blend_multiply) + (_ase_rgba_blend_screen, _ase_rgba_blend_exclusion) + (_ase_rgba_blend_overlay, _ase_rgba_blend_difference) + (_ase_rgba_blend_addition, _ase_rgba_blend_hard_light): Added. + + * ase/modules/gfx.c (render_image): Modified to support the + differents blenders modes in a best way. + +2003-01-19 David A. Capello + + * libase/blend.c: Added the `blend_mode' variable to + ASE_LAYER_BITMAP. ASE will support blender modes (yeah, again). + (_ase_rgba_blend_normal, _ase_graya_blend_normal): From the + existent code. + (_ase_rgba_blend_saturation, _ase_rgba_blend_hue) + (_ase_rgba_blend_color): Added. + +2003-01-18 David A. Capello + + * ase/gui/menu.c (gui_popup_menu): Now works. + + * ase/modules/rootmenu.c (ase_rebuild_rootmenu): Added new menu + `layer_popup_menu'. Also, renamed `list_menu' to + `sprite_list_menu', and renamed `file_list_menu' to + `recent_files_menu'. + + * ase/editor/layerbar.c (handle_layerbar): Added pop-up menu + capability (Jorge Ramirez Flores idea). + + * ase/gui/gui.c (ase_draw_guibox): Modified for a better look of + the GUI, also, some stuff in menu.c was modified. + + * ase/gui/gfxmode_select.c (gui_gfxmode_select): New dialog to + select graphics modes. + + * ase/editor/editor.c (get/set_movement_mode): Added two layer + movement modes: drag-and-drop, and catch-and-drop (Mateusz + Czaplinski idea). + (handle_editor): Also, optimized the layer movement (now the + editor scroll changes when we touch the screen-corners). + + * ase/gui/target_button.c (gui_create_target_button): New widget + to control the filter's targets. + + * ase/gui/dialog.h (gui_add_widget): Added a wrapper for + gui_insert_widget. + +2003-01-17 David A. Capello + + * ase/script/script.c (prepare): Fixed a stupid ilegal access to + current_sprite variable. + + * misc/dist.sh: New script to make new distributions (this is for + very personal usage, but maybe someone could found a bug). + + * ase/modules/share.c: Removed, now DIRS is used by everybody. + + * misc/gen-makefiles.sh: New script to generate all the makefiles + in the "old ASE way". Now will be easy to compile for almost every + Allegro user. + + * Removed everything related with the GNU "autotools" stuff. + +2003-01-12 David A. Capello + + * plug-ins/action/action_trim.c (trim_layer_bitmap): Fixed a bug + with clean layers. + +2003-01-10 David A. Capello + + * ase/modules/sprite.c (raster_sprite): Added the `targets' + parameter. Also, this is supported by: convolution-matrix, + replace-color, and color-curve actions. + + * plug-ins/action/action_font.c (sprite_to_font, font_to_sprite): + New actions (Elias Pschernig wanted something to modify Allegro + FONTs, maybe this could help). + + * libase/layer_bitmap.c (ase_layer_bitmap_set_type/size): Fixed a + stupid restriction. + + * plug-ins/action/action_set_sprite_type.c (convert_bitmap): Fixed + the convertion of mask color. + + * ase/modules/rootmenu.c (read_tok): Fixed a bug reading last + lines of the `menus' file. + + * data/menus: Moved `Layer' menu to root-menu-bar (Jorge Ramirez + Flores idea). + +2003-01-09 David A. Capello + + * ase/modules/recent.c: Added the routines to handle recent files + (an old Christer Sandberg idea). + +2002-12-20 David A. Capello + + * ase-logo.lua: Done, I don't know where put this file yet. + + * plug-ins/action/action_selection.c (perform_selection): Added + `shrink' method. + + * plug-ins/action/action_trim.c (perform_trim_sprite): Added. + +2002-12-19 David A. Capello + + * plug-ins/action/action_clipboard.c (perform_clear): Added + `color' parameter. + + * plug-ins/action/action_add_layer.c (perform_add_layer_bitmap): + Fixed arguments for non-interactive use. + +2002-12-18 David A. Capello + + * ase/editor/colorbar.c (handle_colorbar): Added support to + load/save the colors configuration. + + * ase/modules/color.c (string_to_color, string_to_colors) + (color_to_string): New routines to handle colors with strings. + + * ase/util/path.c: Added new routines to handle paths with libart. + + * plug-ins/action/*.c: Modified a lot of files to use the + find_sprite(). Because now, the sprites in the scripts will be + handle with the IDs, not with the memory addresses. This is much + more safe. + + * ase/plug-in/plug-in.c: Removed the old `pops' and `push' + routines to a new set of plugin_pushnumber/string, and + plugin_tonumber/string. + + * ase/script/built-ins.c: Passed `undo' and `redo' to built-ins + routines. + +2002-12-16 David A. Capello + + * plug-ins/action/action_text.c (perform_add_text_layer): Added + with very poor options. + + * ase/modules/tools.c (control_tool): Fixed the + ASE_TOOL_UPDATE_ALL style. + +2002-12-14 David A. Capello + + * ase/editor/layerbar.c (handle_layerbar): Fixed a stupid bug with + clicked_layer. + +2002-12-13 David A. Capello + + * Version 0.1.0 Alpha released. + + * plug-ins/action/action_set_sprite_type.c (convert_layer_type): + Fixed a bug in the keyframes' list iteration. + +2002-12-12 David A. Capello + + * docs/full-screen-es.txt: Done the Spanish version of this new + document. I translate a couple of paragraphs to the English, but + this will take me more time. + + * plug-ins/action/action_color_curve.c: Fixed the point deletion. + + * ase/modules/gfx.c (same_bitmaps): Fixed a bug with the `size' of + comparations (how much bytes to compare). + +2002-12-11 David A. Capello + + * libase/file.c (ase_file_save, ase_file_load): Done these + routines to load/save .ase files from the ASE Library. + + * libase/group.c: Added the ASE_GROUP structure to control the + layer's lists. This facilitate me a lot of work with the layers in + `images' and `layer-group' (mainly the undo work). + +2002-12-10 David A. Capello + + * ase/app.c: Replaced the FILE_TO_LOAD structure to ASE_LIST. + + * libase/item.c, libase/iter.c, libase/list.c: New routines to + handle linked lists. With this, I change a lot of other things + (iterations, allocations, etc.) in various other parts of code + which use the old list system. + +2002-12-03 David A. Capello + + * plug-ins/file/file_ase.c (load_ase): Added a precarious + progress-bar. + + * plug-ins/action/action_select_layer.c: New action. + + * ase/script/built-ins.c (enable_undo, disable_undo): New build-in + routines. + + * plug-ins/file/file_ase.c: Optimized the speed of the load/save + process for all image types (with fwrite() and fread() routines). + +2002-12-02 David A. Capello + + * plug-ins/file/file_ase.c (process_chunk): Fixed the + set-palette-entry call. + (save_ase): Fixed the palette chunk (I forget the owner ID). + + * plug-ins/file/file_tga.c (save_tga): Fixed the grayscale support + (it doesn't save the palette anymore). + + * misc/makefile-mingw.sh: Fixed various things to support the + plug-in compilation with external libraries (per example + libjpeg.a) + +2002-11-30 David A. Capello + + * ase/modules/tools.c: Removed the `move' tool. + + * plug-ins/action/action_merge_visibles.c + (perform_merge_visibles): Fixed. + + * plug-ins/file/file_ase.c (process_chunk): Fixed the loading + process of layer-flags. + +2002-11-29 David A. Capello + + * plug-ins/file/file_bmp.c (save_bmp): Fixed grayscale support. + + * plug-ins/file/file_pcx.c (save_pcx): Fixed the grayscale + support. + + * plug-ins/action/action_merge_visibles.c + (perform_merge_visibles): Done, right now, ASE have the same + actions (and more) of the last release. + + * ase/modules/sprite.c (enable_undo, disable_undo, undoable): + Added. Also, modified a lot of files to support the optional undo. + + * ase/util/path.c (path_new, path_delete, path_add_node) + (path_remove_node, path_close): Added. + +2002-11-28 David A. Capello + + * plug-ins/action/action_options.c: Done the + switch_view_previous_frame action. + +2002-11-27 David A. Capello + + * plug-ins/file/file_tga.c: Fixed the grayscale images support. + + * ase/modules/gfx.c (render_image): Added the + draw-previous-layer-frame capability. + +2002-11-24 David A. Capello + + * plug-ins/file/file_ase.c (load_ase): Done (need be tested too). + (save_ase): Added progression-bar. + +2002-11-21 David A. Capello + + * plug-ins/file/file_ase.c (save_ase): Done this routine (isn't + right tested). + +2002-11-20 David A. Capello + + * plug-ins/action/action_clipboard.c (perform_paste): Done. + (perform_cut): Added. + + * ase/util/dirty.c: Removed the SAVED stuff. Now all is allocated + in the DIRTY structure. Optimized all the dirty routines, now + isn't necessary save/restore the entire dirty region, rather only + is updated the modified rows-columns. With this, I fix the + slowness of the accumulative-dirty tools (mainly the spray). + (insert_dirty_hline): It doesn't use anymore the + insert_dirty_pixel. + +2002-11-19 David A. Capello + + * docs/asefile.txt: Added this file which will explain all the + .ase format structure. + + * libase/bitmap_*.c (*_to_allegro): Added 24 bpp Allegro BITMAP + support. + + * ase/editor/editor.c (handle_editor): Added the move-frame + capability. + +2002-11-18 David A. Capello + + * ase/modules/gfx.c (count_layer_frames): Removed. + (count_image_frames): It uses new ase_layer_get_frmin/max + functions. + + * ase/modules/tools.c (control_tool): Fixed a problem in the + clipping output region when the layer was in negative positions. + + * plug-ins/action/action_layer_properties.c: Removed the + ASE_LAYER_BITMAP code. Now it dialog shows us the general + properties for any type of layer (name and flags). + + * ase/modules/rootmenu.c (read_tok): Fixed and error reading tabs. + + * plug-ins/action/action_trim_layer_bitmap.c: Added this new + action to trim layers, removed the entry from the to-do list. + + * plug-ins/action/action_new_sprite.c (perform_new_sprite): + Doesn't select anymore the new sprite. + + * libase/bitmap_grayscale.c (grayscale_merge): Fixed here too the + alpha blending. + + * libase/bitmap_rgb.c (rgb_merge): Fixed the alpha blending. With + the help of Billy Biggs. Removed the entry of the to-do list. + +2002-11-16 David A. Capello + + * plug-ins/action/action_layer_properties.c: New action (removed + from the to-do list). + + * plug-ins/action/action_set_sprite_type.c: Done, it works + excelent, also it supports undo. + + * libase/ase.h: Renamed ase_container_find_property to + ase_container_get_property. + + * ase/util/quantize.c (quantize_bitmaps): Done, it works with + ASE_BITMAP too. + + * ase/modules/sprite.c (request_bitmaps): Finally updated this + routine to use the new ASE_BITMAPs. + + * ase/editor/layerbar.c: Added gui_layerbar_open_layer and + gui_layerbar_close_layer routines. + (handle_layerbar): Added the close/open childs/properties + functionality with the left/right keys. + +2002-11-15 David A. Capello + + * plug-ins/action/action_merge_down.c (perform_merge_down): The + `extend' and `image' method, are done. Also added the interactive + dialog. + + * plug-ins/action/action_remove_layer.c (perform_remove_layer): + Fixed an error in removing process (I was removing from the image + layers list, and not from the true layer owner). + + * libase/layer_group.c: Added ase_layer_group_get_size, + ase_layer_group_get_extension, ase_layer_group_all_extension, + ase_layer_group_get_frmin, ase_layer_group_get_frmax. + + * libase/layer_bitmap.c: Added ase_layer_bitmap_set_size, + ase_layer_bitmap_get_extension, ase_layer_bitmap_all_extension, + ase_layer_bitmap_break_bitmap, ase_layer_bitmap_break_position, + ase_layer_bitmap_break_opacity, ase_layer_bitmap_get_frmin, + ase_layer_bitmap_get_frmax. + + * libase/ase.h: Also, added `w' and `h' variables to + ASE_LAYER_BITMAP structure. + + * libase/layer.c: Added ase_layer_get_size, + ase_layer_get_extension, ase_layer_all_extension, + ase_layer_get_frmin, ase_layer_get_frmax. + +2002-11-14 David A. Capello + + * ase/editor/layerbar.c (handle_layerbar): Fixed the layer up/down + movement selection (for nested groups layers). + + * plug-ins/action/action_move_layer.c (perform_move_layer): Added + the `leave' functionality. + + * ase/plug-in/plug-in.c (handle_action_for_lua): Fixed the in/out + stack restoration. This was producing an error when we were call + two nested actions (mainly with the screen_shot). + + * ase/util/layer.c (find_layer_group_with_this_list): Added this + routine from plug-ins/action/action_remove_layer.c file (because + layerbar.c must use it). + +2002-11-13 David A. Capello + + * ase/editor/layerbar.c (draw_layer): Fixed the layer-group + drawing (it start from the first layer to draw, and it must start + from the last to the first). + (handle_layerbar): Added `up' and `down' functionality to move by + differents layers. + + * ase/modules/keyboard.c: Added `up', `down', `left' and `right' + keys. + + * plug-ins/action/action_move_layer.c (perform_move_layer): New + action to move the current layer (it uses the new undo_move_layer). + + * ase/util/undo.c (undo_move_layer): Added this routine to undo + layer movements. + + * ase/script/script.c (init_module_script): Added builtin_value, + to register constant values also. + + * ase/script/built-ins.h: Renamed the luafuncs.[ch] to built-ins.[ch] + +2002-11-12 David A. Capello + + * docs/install.txt: Added this document to compile & install ASE. + +2002-11-10 David A. Capello + + * change.txt -> ChangeLog + * DLL Plug-Ins work in Win32: compiling with the makefile.mingw. + * Two Plug-Ins modes: static and dynamic loading. + +2002-11-07 David A. Capello + + * Now, configuration file is searched in the best directory. + * Fixed Plug-Ins loaded process: Now we found the plugins in + all posible locations (using the new DIRS structure). + * Added DIRS and ase/core/dirs.[ch] files. + +2002-11-04 David A. Capello + + * All these days I was passing all to GNU Autotools interface + (configure.in, Makefile.am, etc). + +2002-10-30 David A. Capello + + * Fixed `find_entry' in `config.c': Added type-convertion. + +2002-10-28 David A. Capello + + * Removed `font.[ch]': All graphics to gfx.[ch]. + * New action `remove_layer'. + * Added `Clean All' to undo_history. + * Fixed various `current_sprite' to `sprite': in some actions. + +2002-10-14 David A. Capello + + * Renamed ase_install->init_module and ase_remove->shutdown_module. + * New copy and paste actions. + * Renamed clear_selection->clear. + +2002-10-11 David A. Capello + + * Added `sprite_properties' action. + * Added sequence interface for save process. + * Added the plugin to load and save FLI/FLC files. + * Added `area' selection type in action_selection.c plugin. + +2002-10-10 David A. Capello + + * Added `targets' to `color_curve'. + * Modified the `color_curve' action: With this, removed the + routines: + - apply_color_curve; + - clean_color_curve; + - add_color_curve_point; + - del_color_curve_point; + * Replaced `app_redir' with `find_shared()'. + +2002-10-09 David A. Capello + + * Fixed the HSV filters: an initialization of h=s=v=0. + * Done load sequences files (spr00.pcx, spr01.pcx, etc.). + +2002-10-08 David A. Capello + + * Added `news-es.txt'. + * `ase_layer_duplicate' duplicates custom properties in bitmap-layers. + +2002-10-03 David A. Capello + + * New action_duplicate_layer. + * Made action_duplicate_sprite, and the routines for the ASE library: + `ase_image_duplicate' and `ase_layer_duplicate'. + * Fixed the `to_allegro' method for RGB/Indexed/Grayscale images + for Mode-X bitmaps. + +2002-09-28 David A. Capello + + * Done: + - action_merge_down; + +2002-09-21 David A. Capello + + * Now raster_sprite() uses plugin_* interface. + +2002-09-20 David A. Capello + + * Fixed an ugly error in save_bmp(). + * Added file_tga. + * Fixed `ase_get_mouse_cursor()': the m_cursor wasn't changing. + * Done: + - action_insert_layer_bitmap/group. + +2002-09-19 David A. Capello + + * Now keyframe_operation() supports: copy and remove. + +2002-09-18 David A. Capello + + * Fixed an error in plugin_printf(): Now the dialog is completelly + redrawn with the GUI_DIALOG_DIRTY flag. + * Fixed text-selection in GUI_EDIT widget: More flexible. + * Added the keyframe_operation(): To modify the properties of + one keyframe. + * Working on layer-bar: Now we can drag-and-drop the keyframes! + +2002-09-17 David A. Capello + + * Changed gui_alert() routine format. + * Done: + - action_make_undo_animation; + * Added more undo operations for changes in the selection. + * Completelly removed `devel.txt': It doesn't have anything useful. + +2002-09-16 David A. Capello + + * Optimized the flip() action: Now doesn't use anymore an area + for the undo, now it uses a special undo function (for back to + the old state). + * Done: + - action_flip; + - action_switch_full_screen; + +2002-09-15 David A. Capello + + * Added shortcuts for the drawing-tools (Nathan "whitedoor" Smith + idea). + * Done: + - action_set_tool; + - action_view_tiled; + - action_selection; + * Restructure the menu `checking' system. + * Done the non-interactive scripting API for color-curve. + * New 15/16/32 bpp convertion routines from ASE_BITMAP to BITMAP + for Indexed and Grayscales images. + * Done the load BMP plug-in. + +2002-09-14 David A. Capello + + * Finished the new configuration system (config.c). + +2002-09-12 David A. Capello + + * Fixed `read_tok' in rootmenu.c: In string like "hi(\"aaa\")"; + * Done: + - action_clear_selection; + - action_set_gfx_mode; + - action_session; + - action_set_gfx_mode; + - action_color_curve; + +2002-09-11 David A. Capello + + * Removed convmatr.c: Because just `action_convolution_matrix' + use CONVMATRices. + * Done: + - action_convolution_matrix; + - action_replace_color; + - action_undo_history; + - action_show_options; + - action_show_tips; + - action_screen_shot; + - action_screen_saver; + - action_select_sprite; + - action_load_sprite; + - action_save_sprite; + - action_refresh; + - action_reload_menus; + +2002-09-09 David A. Capello + + * Done: + - action_about; + - action_quit; + - action_new_sprite; + - action_close_sprite; + * Done the ACTION pop/push API. + * New ACTION plugins: Replaced the COMMAND interface with this + (it's the 3rd time which I change the commands API, + menus procedures -> commands -> actions). + * Fixed an error in the install/remove modules process. + +2002-09-08 David A. Capello + + * Added `title' to GUI_DIALOG: Removed with this, a lot of + GUI_LABEL/GUI_BOX wich was only for simule the titles. + * Done a little best interface for plug-ins errors: + with a console and a progress bar in the same dialog. + * Done the load/save plugin for JPEG: Yes!, now the program can + save jpeg files and load more types of JPEG files. + * Done `replace_color'. + * Replaced the old JPEGalleg to the new IJG JPEG Library plugin. + +2002-09-06 David A. Capello + + * Done the PCX saver plugin. + * Fixed the `pcx' loader for 24 bpp bitmaps. + +2002-09-05 David A. Capello + + * Done the PCX loader plugin. + * Ready the `file' plugin API. + * Finished the GUI_PREVIEW widget: Now uses the new ase_bitmaps. + +2002-09-04 David A. Capello + + * Removed the process to convert the RGB to RBG bitmaps in the + `set_gfx_mode' command: Because now, the bitmaps aren't any more + Allegro type. + * `filters' to `convolution-matrix'. + * Fixed a bug in the menus: A little problem when I release the + mouse click above a child and a parent (the parent was called). + * Optimized the filters: Now they use integers. + * Now RGB filters works in RGB images. + * Changed RASTER stuff to the new API. + * Fixed `progress_bar' things (some cosmetics changes). + +2002-09-03 David A. Capello + + * Changed ASE_DIRTY/ASE_SAVED to DIRTY/SAVED. + * Eliminated various stupid ASSERT() uses. + * Made changes to all EDITOR/DIRTY/SAVED/TOOLS/COLOR stuff to the + new ASE API library: Now we can draw with the new images types + (rgb/grayscale/indexed). + * Added fixup_sprite(), and the `editing' structure inside `SPRITE'. + * Removed tstgui and tstdirty: That was the more useless stuff + in the program. + +2002-09-02 David A. Capello + + * Merged the `ASE NextGen' library to the main trunk: + needs a lot of work to pass from the old API. + * Renamed all the GUI stuff from `ase_*' to `gui_*'. + * Moved the `selection' to the `SPRITE' structure: now, each + sprite has is own selection. + * New draw_selection_rectangle(). + * Added ase_set_default_palette(): now `--palette' works. + +2002-08-26 David A. Capello + + * Removed the old filter-stock code. + * Finished the `modules.[c]'. + +2002-08-24 David A. Capello + + * Added `modules.[ch]' to handle install/remove the modules + process. + +2002-08-21 David A. Capello + + * Changed configuration files from `ase/bin/' to `ase/share'. + +2002-08-20 David A. Capello + + * Fixed memory leaks in: + ase_remove_listitem (src/gui/list.c), + ase_command_color_curve (src/cmd/colorcur.c). + * Added `stock.[ch]', to manage all the stock stuff. + * Updated `alfont.[ch]' to the AllegroFont 1.6 version. + * New `config.txt'. + * New `merge_down' command, and renamed `merge_layers' + to `merge_visibles'. + * New `insert_text_layer' command (need more work to do). + +2002-08-18 David A. Capello + + * Removed the GNU header from all files. + +2002-08-13 David A. Capello + + * Done the new `color_curve' command. + +2002-08-10 David A. Capello + + * Added `gui/preview.[ch]': now `replace_color' and `apply_filter' + share the same ASE_PREVIEW widget. + * Added `tolerance' to `replace_color'. + * New `ASE_BOX' widget (just for best look & feel). + * Modified the old `refs/check_sum' commands system, + to a new hash table system. + * Added the hash routines. + * Removed ASE_*_PRIORITY macros: now, the priority is a percent + (0=lower priority, 100=high priority). I write a little rules + about this in `hack-es.txt'. + +2002-08-09 David A. Capello + + * A new `undo_history' command. + * Modified the `to_xbpp' to `set_bpp' command (with a dialog + interface). + * select_language -> options. + * Merged h_flip/v_flip -> flip. + * Changed some details in the cut/copy/clear behavior. + +2002-08-08 David A. Capello + + * Passed all the commands to the new form. + * Merged some changes from the `ase-next/' bifurcation: + +2002-07-10 David A. Capello + + * Removed `state' variable from the UNDO structure (src/undo.c) + (Jorge Ramírez Flores idea). + +2002-07-09 David A. Capello + + * Reconstructed the entire command infrastructure: Now, the + commands/menus are used in other (more fexible) completely + new form: the commands accept arguments (an old idea posted + in ase-help mailing list by Elias Pschernig). + +2002-04-20 David A. Capello + + * Fixed a little error with the palette change in the initialization: + I was using + ase_set_palette(default_palette); + instead of + ase_set_palette(NULL); + +2002-04-19 David A. Capello + + * New release 0.0.7. + * Fixed an error with the calc_spline() in the MinGW32 compiler. + +2002-04-17 David A. Capello + + * Fixed a stupid error in paste command. + * Improved the ase-logo with filters and shadow effects. + * Optimized the token reading of `request': Now support things like: + [[ [LABEL:"width:"] [EDIT:width] ]] + * Added the `apply_filter()' routine in the scripts. + * In `request()' function: done the CHECK, SLIDER and LIST objects. + +2002-04-16 David A. Capello + + * Optimized the request() routine: now all fields can be represented + with a string ("..."), number (0...) or a variable. + * Added the directories djgpp, mingw32 and unix to lib/ and obj/: + I want to cross-compile ASE. + +2002-04-15 David A. Capello + + * Done the dialog to select the language (and finished the spanish + menu). + * Fixed the `read_tok' in rootmenu.c: Now use `pack_fgets()' to + convert the ASCII (ISO really) text to the current Unicode format. + * Finally the file-selector works under DOS/Win32 and Unix. + +2002-04-14 David A. Capello + + * Fixed the file-selector. + * Fixed an error with paste command: the origin point in + create_sub_bitmap can't be outside of the bitmap. + * Added the h/v_flip commands. + +2002-04-08 David A. Capello + + * Fixed the paste command. + +2002-03-23 David A. Capello + + * Renamed load/save_image to load/save_sprite: And these routines + now do some old-repeated work. + * Removed the `palette' from ASE_IMAGE: Now it's in SPRITE. With + this various routines for load/save images need the `pal' parameter. + * Done the `paste.c' command! + +2002-03-20 David A. Capello + + * Added load_sprite and save_sprite routines for scripts + (Elias Pschernig idea); + * Optimized the compile-speed in various files. + * In these days I was modifying some minors things. + +2002-03-15 David A. Capello + + * Added the lineal-gamma support for the `color-selection' dialog. + * Added the posibility to load sequences of bitmaps in load_image. + And optimized the save_image routine to save these sequences. + * Fixed an error when saving bmp/pcx/tga/flc with masked-background. + * Done! The FLC files use the `line-compression' chunk also. + * Support to save uncompressed FLC files: All frames are saved with + the `copy' chunk. + +2002-03-11 David A. Capello + + * Added the routines to undo palette modifications. + * Added support to load FLI files: see `ase/src/fli.[ch]'. + +2002-03-10 David A. Capello + + * Done the cut/copy/clear commands: With this, some modifications + in `sprite.c' to handle the clipboard. + * I was working on ASE_TILE_ENGINE: To optimize the speed in high + resolutions and slow graphics-cards (like my one :-). + +2002-03-09 David A. Capello + + * Seemingly the `undo_junk' is not necessary anymore (because the + undo-states TO_UNDO and TO_REDO). + * Added select/insert/remove/move operations for the new undo system. + * Improved the ASE_EDITOR: Now has states: EDIT_STANDBY, + EDIT_MOVING_SCROLL, EDIT_DRAWING, etc. + * Added operation to undo the frame-movement. + * Added the first undo operations for the new undo system: + `dirty' and `area'. + * I rewrite the entire UNDO system: Now this is more understandable + and much more easy to make operations (and operation's groups). + With this change, I remove all the TASK stuff. + * Updated JPGalleg to the new 1.2 release. + +2002-03-07 David A. Capello + + * Removed all the stupid interface of the NULL=current_sprite + in the sprite's handle routines. + * Done the `replace_color' command. + * Added the `raster_sprite' routine: This simplify a lot the + aplication of raster-effects in some sprite. + * Removed `ase_get_colorbut_color': Per now, is much easy to use + `my_colorbut->color' and `&my_colorbut->color'. + * Removed the `ASE_SPRITES_LIMIT': Now, the list-menu is generated + with sub-menus like "more >", with this, the program now support + a pseudo-infinite number of opened sprites :-) + - With this, the routine `count_sprites' is removed too. + * Renamed `unfocus-*' to `drunk-*': It's more proper :-) + * Fixed `unfocus-med' filter. + * Removed `memory.[ch]' and added the `mtrace' routine (It's much + better): Now, all use directly malloc/realloc/free routines. + +2002-03-06 David A. Capello + + * Added ase_install/remove_sprite() in `sprite.[ch]': And removed + the shutdown_sprites() from `src/ase.c'. + * Optimized the Lua compiler error messages: With the + LUA_ERRORMESSAGE function. + * Added RLE compression to the 8 bpp .ase files: Code from my old + 2D SPRITEStudio. + * Added support to load .ase files from 0.0.6 and the old 0.0.7. + * Removed the x-y from ASE_SPRITE and ASE_LAYER. With this, the + .ase format changes again. + +2002-03-05 David A. Capello + + * Added the `move' tool. + * Improved the ASE_PREVIEW: now this shows the exactly portion of + the sprite which will be filtered (depending of the `selection'). + * Now `handle_palette' in `src/gui/colorsel.c' uses a temporary + bitmap for the draw event (I think which this will be enough for + some DirectX speed problems). + * Fixed the get-color operation in the editor athwart the and + keys: Now, it tries to get the color from: + - in all layers; + - in the current frame position; + - and in the visible keyframe's bitmap. + * Fixed the filters: Now work in normal and tiled mode (the selection + is emulated with `create_sub_bitmap()'). + * Fixed: ASE_EVENT_LIST_SCROLLING to ASE_EVENT_VIEW_SCROLLING + (because the scroll is in the view, not in a list widget). + * Renamed ASE_FILTER* to FILTER*. + * Now the FILTERs use the RASTER routines. + +2002-03-04 David A. Capello + + * Added RASTER and RASTER_FX. + * I write some HISTOGRAM stuff and a new command to show + the histogram for the current sprite, but, this is useless + per now. I will added this only if I need some histogram + thing in the future. + +2002-03-01 David A. Capello + + * Removed the `ase_*' prefix from the undo and task stuff. + +2002-02-28 David A. Capello + + * Added more routines to handle SPRITEs and renamed a lot of things. + * Removed the `ase_' and `ASE_' prefix in the sprite.[ch]: From now, + the ASE_SPRITE is just SPRITE. + * Restructure the files: Now the ASE-library is independent of the + program. + * Removed info.[ch] and the ase_fopen() routine. + * Removed ASE_CONST, ASE_FUNC, ASE_METHOD, ASE_PRINTFUNC. + * Fixed some messy things related with the undo of layer-operations + (move/insert and remove). + * Renamed `ase_clean_sprite_undo_stack' to `clean_undo_stack'. + * Added some routines: select_layer, move_layer, insert_layer, + and remove_layer. Yes the names are right, without the `ase_' + prefix. + +2002-02-27 David A. Capello + + * Added the new command `show_tips'. + * Optimized the `filter/select' config branch: Now it is the `name' + of the selected filter (not the `index'). + * Added `ase/src/tips.[ch]': The tips management is done, with this + `ase/doc/keys*.txt' documents are removed. Also, new widget added: + the ASE_TEXTBOX. + +2002-02-26 David A. Capello + + * Added the `insert_frame_to_all': to add frames to all layers + at once (Peter Want idea). + +2002-02-24 David A. Capello + + * Renamed `command/filter.c' to `command/applyflt.c': + - Added the support to apply the filter in the selection: + - Added the config management; + * Added the selection-tool. + +2002-02-22 David A. Capello + + * .ase files save the new key-frame data. + +2002-02-21 David A. Capello + + * New command: frame_properties. + * Added `pivot' in layer-properties. + * Big change!: Added the x, y and alpha to ASE_LAYER, and new + ase_interpolate_frames() to calculate the position of all the + frames between keyframes. + +2002-02-20 David A. Capello + + * Added `filename' to ase_create_sprite(): this simplify somethings. + * Changed structure's format: + - old style: + typedef struct _STRUCT STRUCT; struct _STRUCT { }; + - new style: + typedef struct STRUCT { } STRUCT; + * Rewrited `check_args' (the old name was `ase_process_arguments'): + Also, now the program can load sprites from the command line. + * New hack-es.txt. + +2002-02-19 David A. Capello + + * Added a selectable cursor color (Christer Sandberg idea); + * Now the ase_file_select() save and load the last used directory + (Christer Sandberg and Elias Pschernig idea); + * Added a temporary configuration support: through the ugly Allegro + config system (push/pop_config_state). + * More friendly screen-saver: I fetch it from 2D SPRITEStudio. + * Added `ase_bezier_points'. + * Merged the real-pencil tool with the others in ase_control_tool(). + * Added the draw-tiled mode for tools. + +2002-02-17 David A. Capello + + * Split the #defines of `commands.h' to `commdefs.h': now, if I add + a new command, I don't need recompile all the `src/commands/*.c' + files. + +2002-02-16 David A. Capello + + * New keys: PLUS and MINUS to change the thickness size. + * Elimimated the scroll-position lose of the editor in `ase_fixup()' + routine. + * Now the layer-bar is resizable. + * Moved to gui/ some common dialogs: alert, colorsel, filesel. Also, + ASE_COLORBUT widget. + * Modularized a lot of code in gui.h: Now each widget has an own + file (button.c, check.c, widget.c, etc.). + +2002-02-14 David A. Capello + + * Improved: `color-selection', `sprite-properties' and + `layer-properties' dialogs. + * Removed `mask' from `ase_draw_color()' and ASE_COLORBUT. + * Added ASE_DIALOG_DIRTY: to redraw the main dialog frame. + +2002-02-13 David A. Capello + + * Fixed a dark error in ase_fixup_dialog(). + * Moved menu.[ch] to gui/menu. + * Splited gui.[ch] in: gui/view, gui/list. + * Added the ASE_TASK_LAYER_MOVE undo-task: to undo layer-moves. + * Merge-visible layers now merge all frames. + +2002-02-12 David A. Capello + + * Added `stretch_trans_sprite_8bpp' in `image.c': Need test. + * Fixed the putpixel and getpixel (keys o/p and k/l): before this, + keys got the color of the first frame (really bad). + +2002-02-10 David A. Capello + + * Fixed a fatal error in `ase_destroy_sprite': now, the undo-stack + is removed before the sprite (this is because some tasks of the + undo-stack look in the sprite structure); + * Added `ase_destroy_task_junk' to fix multiple ase_destroy_layer() + calls. + * Added undo/redo for: insert-layer, remove-layer, duplicate-layer. + * Optimized the layer-bar: less ASE_REDRAW usage and more + ASE_REDRAWME. + +2002-02-09 David A. Capello + + * Added descriptions for the buttons in the layer-bar: because this + was very confused (the icons are very small :-) + * New `switch_layerbar' command. + * New macros: ase_is_*_widget. + Also, new routines ase_show/hide_widget. + * Improved the ASE_MENU object: best handle of LEFT and RIGHT keys + with the SUBEVENT_OPENSUBMENU. + * Fixed the `refresh()' script routine: it didn't scare/unscare + the mouse and didn't acquire/release the screen. + * Added the full-screen editing mode (Peter Wang idea): with this, + enough code was fixed (mainly related with the ASE_FLAG_HIDDEN). + * Fixed a little error in the dirty-test. + * Local `get_mask' to global `ase_get_mask_for_bitmap': in color.c. + * Removed the `color' of ASE_LAYER: always a layer will be masked. + With this, the ASE_FILTER_FLAG_MASK is not needed anymore. + * Removed the clipping of ase_blit_image(): only necessary in + ase_draw_editor_sprite(). + * New ASE_BLIT_WANTALPHA: in ase_blit_image(), now is: + ase_blender_mode(..., (flags & ASE_BLIT_WANTALPHA)). + * Added a preview-frame in transparent mode (Peter Wang idea too): + This need work for 8, 15, 16, and 24 bpp with zoom. + +2002-02-08 David A. Capello + + * Added ASE_BLIT_SEMISOLID. + * Fixed the `ellipse' tool: now update only the necessary region. + +2002-02-06 David A. Capello + + * Done the `reload_menus' command: Elias Pschernig idea. + * Fixed a little confusing problem in `baw.lua' (in `sprite.lua' too): + about the second paramenter to `for' statements. Reported by Elias + Pschernig. + +2002-02-05 David A. Capello + + * Added the state-bar updater in tools-loop: Now, when we draw in + the sprite, we can see the position where we are clicking. + * Released the 0.0.6 version. + +2002-02-04 David A. Capello + + * Added the `burn' blender. + * Done the `ase/doc/script*.txt' files. + * Added a lot of mathematical functions in `luafuncs.c'. + * Updated the `todo.txt': removed some old things and some stuff + which I made in these days. + * From todo.txt: Optimized `preview_handler': Now displays the + changes of the active layer, and nothing more. + * Optimized `blender_normal_alpha': Now we can merge RGBA layers + with less error. + +2002-02-03 David A. Capello + + * Improved the `ase_blender_mode' utilization. + * Complete rewrited `stretch_trans_sprite': the old one was very + buggy, and the new one, now support different blender modes. + +2002-02-02 David A. Capello + + * `dist.mak' is done for the new release (it is comming). + * Renamed remove_garbage() to clean_garbage(): and fixed some + little error with the `count'er. + * The menu.[ch] is all done: now supports UP, DOWN, LEFT, RIGHT and + ENTER keys, with this code, I finish with this damned work. + * Fixed an error with the gui-focus: was pased to HIDDEN widgets. + * Added quantize.c: Thanks to Ben "entheh" Davis. With this, + added the `optimize' button in the `color-selection'. + * Added ase_request_bitmaps(): to get a list of the bitmaps used + in the program. + +2002-02-01 David A. Capello + + * Added ase_count_frames(). + * Fixed various things. + * Script: New functions: cos(), sin(), tan() and new constant `pi'. + +2002-01-31 David A. Capello + + * Improved the menu system. + * Renamed the `ase/src/commands/' and `ase/script/' files: + to short names. + * Optimized some scripting functions: in versatility. + * Script: Added current_depth(), sprite_width(), sprite_height() + and sprite_color_depth(). + +2002-01-30 David A. Capello + + * Added `remove_garbage()': to clean the `ase_root_menu'. + * Optimized the menus: now have retrace-time and a better menu + position selection. + * Script: Done line(), hline(), vline(), draw_bitmap() and + bitmap_mask_color(). + * More documentation: script-es.txt, faq-es.txt. + * Script: New triangle() function. + * Script: New clear_bitmap. + * Script: Finished circle(), circlefill(), ellipse(), and + rotate_bitmap() functions. + * Script: Optimized the makecol() function: now, this accept + makecol(r,g,b) or makecol(r,g,b,a), with this, makeacol() is + eliminated. + +2002-01-29 David A. Capello + + * New script.txt. + * Added a lot of functionality for scripts. + - functions like: create_sprite, destroy_sprite, current_sprite, + create_bitmap, destroy_bitmap, makecol, makeacol, getr, getg, + getb, geta, putpixel, getpixel, ellipsefill. + * Added `script.[ch]': ase_install_script, ase_remove_script, + ase_new_script, and ase_call_script. Also, the command `call_script' + in ase/src/commands/. + +2002-01-28 David A. Capello + + * Updated `files.txt' to the actual directory structure. + * Added `blender.c', not ready yet (and I think that never will be + finished). + * New way to create dependencies. + * Added to the layer_properties: the `alpha' modificator. + * Added the PLAY behavior. + * Finished ASE_LAYERBAR: a lot of work done for this widget. + * Elimated all the checkers: now the same commands have to + determinate if are or not available. + +2002-01-27 David A. Capello + + * Updated the fix.* scripts. + * New interface for the menu's procedures: see `commands.h'. + * Added new ASE_KEYFRAME in ASE_FRAME. + * Restructured the directories. + +2002-01-23 David A. Capello + + * Added the `eyes' and `padlock' icons for the layer-bar. + * Added two new menus in root/edit: &layer and &frame. + +2002-01-22 David A. Capello + + * Work on ASE_LAYERBAR: now it shows the layers and all the frames + information. + +2002-01-21 David A. Capello + + * Added new `unfocus-*' filters and fixed the `blur' filter. + * Added resizable cursor in `editor.c': also added + ase_get_thickness_for_cursor() in `tools.[ch]'. + * Removes some items from the `todo.txt': are done. + +2002-01-20 David A. Capello + + * Remove the `n?' and `o?' variables from ASE_DIALOG: now, all + the mouse stuff come from mouse.[ch] (see `ase_mouse_?' functions). + * Eliminated the stupid `table' variable in the ASE_DIALOG: + With this ASE_CELL and ASE_TABLE will be just in `gui.c'. + * Added ase_tool_configuration: now the thickess, fill and all + that variables are just in `tools.c'. + * Added the digital-clock in the root-menu-bar. + +2002-01-19 David A. Capello + + * Finally added the keyboard shortcut support for the menus. + * Finish the load-menu routine: with configurable keys also + (Peter Wang's idea). + +2002-01-15 David A. Capello + + * Added the new real-pencil tool. + * Fixed two little errors in ase_edit_handler(): With the CTRL + key. + * Added the `mask' parameter in ase_draw_color(). + * Done ASE_STATEBAR. + +2002-01-14 David A. Capello + + * Done the ASE_COLORBAR widget. + * New flag for ASE_SPRITEs: ASE_SPRITE_FLAG_UNSEEN, to set the + editor's scroll when the sprite is showed for first time. + * Added the 1-6 keys for ASE_EDITOR: Now we can change the zoom. + * Removes the `zoom' and `scroll' from ASE_SPRITE: this two + parameters depend of the editor (ASE_EDITOR). + +2002-01-13 David A. Capello + + * Added ase_get_editor() in ase.c: For some procedures that need + the information of the editor (like view-tile). + * Finally: The menus (ASE_MENU) are done, see menu.c for details + (I must finish the key management). + +2002-01-07 David A. Capello + + * The ASE_EVENT_MOUSEMOVE is sent to two widgets (if their exists): + captured and the focused widgets. This fix the error with the + menu and editor in the main screen. + +2002-01-06 David A. Capello + + * Fixed the pictures in some GUI objects with the DISABLED flag. + +2002-01-05 David A. Capello + + * Fixed some bug with the event DCLICK for ASE_LIST in ASE_VIEW. + * New graphics for the GUI: Now, ASE has an original layout + for all the GUI. + +2002-01-02 David A. Capello + + * Added the year 2002 to all files in the header section. + +2001-12-22 David A. Capello + + * Fixed various things with ASE_EDITOR and ASE_MENU. + * Fixed some things with the got/lost-mouse events for the child + in the ASE_VIEW widget. + +2001-12-21 David A. Capello + + * Now we can draw in the editor and move the scroll with . + * ASE_EDITOR and ase_create_editor: this is a child of ASE_VIEW + widget, so now, the editor have scroll bars (I don't know + if this will be a good idea). + * Welcome again problems! :-) I am making the ASE_MENUBOX widget, + is almost finished but I need more time (and later, I need + to work in the editor and all the bars). + +2001-12-18 David A. Capello + + * Finally the main dialog (and all the GUI!) is in the new gui + system: And now, we can dismiss to Allegro GUI: bye problems! :o) + * Fixed ase_fix_dialog: Now looks for the *really best* size + for the table to accommodate the widgets; + * Added mode and alpha values in ASE_LAYER struct. + +2001-12-17 David A. Capello + + * Added a option to mergind layers. + +2001-12-16 David A. Capello + + * Added new two options to load and save the palette in the + color-selection dialog. + +2001-12-15 David A. Capello + + * Double-click support for the gui finished. + +2001-12-13 David A. Capello + + * Added ase_draw_color and the `alpha' property in the + color-selection dialog: now all colors in the color-bar have + differents alpha values. + * Eliminated all the code of the old gui graphics based in gradients. + * Convert ASE_COLOR from `int' type to a `struct': Now has the alpha + value in the same struct. + * Added ase_menu_file_properties. + +2001-12-11 David A. Capello + + * Optimized the default-focus movement: New flag + ASE_FLAG_MAGNETDEFAULT. + * Speed improved in tooltile.c: with a temporary bitmap. + +2001-12-10 David A. Capello + + * Partially completed ase_file_select(): It's usable. + * New `alert.h', `progbar.h' and `asegro.h' to replace the direct + call to #include : Now, all files don't need anymore + include `ase.h'. + +2001-12-09 David A. Capello + + * I start `fsel.[ch]'. + * Added error alert when the user try draw in hidden layers. + * The buttons in the state-bar (first, prev, play, next and last) + are done. + * Added ase_palcmp: to compare palettes (used by the color-selection + dialog). + * Added the option for make gammas in the color-selection dialog. + * Added ase_palette_gamma/_rect_gamma: It come from my old + 2D SPRITEStudio code (with modifications). + * Removed the ase_tiny_font. + * Done HSV filters. + * Fixed some errors with the dependency generation: added the new + makefile.gcc that contains all the related stuff with GCC. + +2001-12-08 David A. Capello + + * Passed to the new gui-system: + - Create-sprite dialog (in file/create). + - Color selection. + - Filter dialog (optimized the `preview' widget). + * Changed the way to use filters: With this the `callback' routine + in `ase_apply_filter' is deleted. + +2001-12-07 David A. Capello + + * Done the LIST widget: very easy with VIEW as parent. + * Finished the VIEW widget: That was `die-hard' :-) + +2001-12-03 David A. Capello + + * New slider widget: and a new tiny-font for this (I need test with + this tiny-fonts and with the allegro default font). + +2001-11-30 David A. Capello + + * Fixed various errors in the loading filter stock process + (in `ase_reload_filter_stock' routine). + * I found the old 2DSS filters!!!: I remember that, I spend a lot + of time "cloning" the filters of SEA Graphics Viewer of MS-DOS. + * New ASE_EDIT widget: with selection support and flicker cursor. + +2001-11-27 David A. Capello + + * Added ASE_FILTER_FLAG_MASK. + * The new gui-system support focus movement with the arrows: + This steal me a lot of time and a lot of paper :-) + * Created a new gui-system in gui.[ch]: The Allegro one is very + intricate. Now, the next step is pass all dialogs to this new + gui system. + +2001-11-24 David A. Capello + + * New `preview' object in the apply-filter dialog. + * Fixed various stupid errors in the filter application and the + progress bar: like divisions by zero, and a `return 0' if the + callback function return FALSE, with this, the temporary bitmap + was not deleted. + * Added a new button for refresh the filters: an idea from Elias + Pschernig. + * Optimized the ase_reload_filter_stock: Eliminated the stupid `\' + syntax from the ase.flt, an idea of Peter Wang. + +2001-11-23 David A. Capello + + * New makefile for MinGW32: by Elias Pschernig. + +2001-11-21 David A. Capello + + * Added ASE_FILTER_FLAG_TILE: for apply filters in the sprites like + tiles (the top side get pixels from the bottom side). + * Added ase_tool_viewtile. + +2001-11-19 David A. Capello + + * Added a temporary `ase_edit_configuration'. + * Fixed a stupid error in `atk_widget_selected': I was using + `D_DISABLED' in the return value instead of the right `D_SELECTED'. + * Optimized the filters for 32 bpp: Before, the filters "eat" the + RGBA values of all colors, also those totally transparents! + Now, the filters detract the `div' factor in case which the color + has `alpha=0'. + * New font.[ch] for `ase_font': all the mini 8x8 images are in this + file. With this, I fix an error with the MinGW32 compiler because + `_font_vtable_mono' was not constant (bug reported by Elias + Pschernig). + +2001-11-18 David A. Capello + + * New icon for the layer visibility property: in the layer-bar. + * Fixed a memory-leak: when we cancel the tool drawing pressing the + other button, the `dirty' and `saved' buffer don't were deleted. + * New filler.c with `ase_do_filler': for the `fill' tool. + * Added `ase_extend_dirty': to make filled ellipses and boxes. + * New ellipse tool. + * Added `ase_fill' and `ase_thickness'. + * And is true: with ASE_DIRTY I can make pixel, pencil, line and + a new rectangle tool (this last in less than 3 minutes) with + full undo support and *thickness* property IN JUST ONE ROUTINE! + +2001-11-17 David A. Capello + + * New dirty.[ch]: now, with ASE_DIRTY, the undo and tools control + will be much easier! + * Optimized ase_layerbar_proc: now we can handle various layers and + select they with the keys. + * Merged the layer modify dialog (from the status bar) within the + main dialog (removed this item from the ToDo list): + see for `ase_layerbar_proc' in layerbar.[ch]. + * Procedures: ase_colorbar_proc (colorbar.[ch]), + ase_toolsbar_proc (toolsbar.[ch]), + ase_statebar_proc (statebar.[ch]). + With this, ase.c don't has all the procedures of the main dialog. + * Optimized the ase_status_proc: now this function don't call anymore + the do_dialog() routine, because all the code for control the + buttons are in the same procedure. + * New flag in session files: the current sprite. + +2001-11-16 David A. Capello + + * The patch for gui.c of yesterday for Allegro was commited (by + Peter Wang). + * New tools management (tools.[ch]). + * Fixed some errors using the ase_clean_image_undo_stack. + * Big change: now, ASE_SPRITE is ASE_IMAGE and is in the image.[ch], + while ASE_INTERNAL_SPRITE now is ASE_SPRITE and is in sprite.[ch]. + * Now the session is saved if the program crashes. + +2001-11-15 David A. Capello + + * Fixed the RGB/BGR error: now, when the user changes the resolution, + all bitmaps of all sprites (which not are 8 bpp), will be converted + from the old format to the new one. + * New session manager: see the save-session and load-session options + in the system-menu. + * Added ase_load_raw_sprite_data and ase_save_raw_sprite_data: for + the session manager. + * New patch for Allegro: to fix the problem with the overlapped + parent menus. Per now I am using a custom gui.c. + * Added and optimized: some ASE_TRACE usage in various functions. + +2001-11-14 David A. Capello + + * More work in ASE_TASKs. + +2001-11-13 David A. Capello + + * Optimized task.c: with differents types of tasks (dirty areas, + layer control, etc.). + +2001-11-04 David A. Capello + + * New file-ase.c: we now can save and load .ase files, a special + format for keep all things of the sprites. + * Added the ase_editor: for the redraw editor capability in the layer + modify dialog. + * Added more layer control: now we can move layers, insert, remove + and modify the name of they. + +2001-11-03 David A. Capello + + * New ase_stretch_trans_sprite in sprite.c for draw scaled RGBA. + * Added from my old 2DSS: the progress bar (per now, only the + filters use it). + * Added and

keys: for put the first or second color, and + with this, I added the new TASK PIXEL for do and undo just a pixel. + * Added keyboard shortcut: the arrown keys move the cursor. + +2001-10-31 David A. Capello + + * Eliminated the ATK_LISTPROC: because now, ATK_LISTPROC is ATK_LIST, + and really, the old ATK_LIST format is removed. + * The RGBA support work right: Need more improvements. + * After a chat with Ben "entheh" Davis in the #allegro channel, + and after I see your patches for the filter routines, I deside to + make the filters to support the alpha channel. + +2001-10-27 David A. Capello + + * New ASE_FILTER_STOCK: and the ase_tool_filter now display a dialog + for select some filter of the `ase.flt' file. + +2001-10-26 David A. Capello + + * More ase.c modularity: new `internal.h' (for the + ASE_INTERNAL_SPRITE structure and the DIALOG *ase_dialog variable) + and `status.[ch]' for the status bar control routines. + * New `ase_status_dialog' and all the procedures for control the + special status bar for control the layers and the animation. + +2001-10-25 David A. Capello + + * Added keys: and for get colors from the bitmap. + * New: images.sh, images.s and images.h with some graphics in the + Allegro FONT format (from my old 2DSS code :-) + +2001-10-24 David A. Capello + + * Renamed text files to more `Windows like' format (*.txt). + * ase_file_quit: new alert if there are some unsaved bitmaps. + * Added ase_swap_bitmap: for the undo filter control, with this + function, we need apply the filter only one time, and the others + times, we swap a `temporary undo' bitmap for restore and reapply + the filter. + * Optimized the Undo control: added the new ASE_TASK (task.c) for + control the actions to apply to bitmaps. + * A lot of minor changes. + +2001-10-23 David A. Capello + + * Passed the old filters code of my 2DSS (2D SPRITEStudio) to ASE: + ase_apply_rgb_filter and ase_apply_hsv_filter. + * New functions: ase_create_filter, ase_destroy_filter. + +2001-10-22 David A. Capello + + * Added some more functionallity to the status proc: with the + clock and the mini-palette of the left side. + +2001-10-21 David A. Capello + + * Eliminated the text flicker of the ase_status_proc. + +2001-10-20 David A. Capello + + * All gui.c to toolkit.c: now with a optimized interface, and + all the functions of the ASE Toolkit, start with `atk_*'. + * New ase_screenshot: used in ase_system_screenshot and in + ase_widget_box, now, we can make a screenshot anywhere. + +2001-10-16 David A. Capello + + * New TODO: In English, I need to accustom to this language. + * From now: This ChangeLog will make in english, bad english. + +2001-10-14 David A. Capello + + * Mejorado el control de tablas: en gui.c para poder colocar + los objetos en los diálogos de la forma más comprimida y óptima + posible. + +2001-10-12 David A. Capello + + * Nuevo ASE_RADIO: además, agregué bastante soporte en las funciones + ase_dialog_*selected y ase_dialog_*disabled para los códigos + identificadores (IDs) de los grupos. + * Ya está ase_file_create() con el nuevo formato GUI, ya van + tres veces que hago esta función, pero creo que esta es la última. + * Nueva ase_dialog_getindex: para obtener el elemento seleccionado + de ASE_LIST. + * Cambios en los gráficos, nombres de funciones, y se sacaron + varias cosas globales (estructuras ASE_DATA y ASE_TABLE y sus + respectivas funciones para la creación y eliminación) en gui.c, + que debían ser locales (static). + * Ya se aceptan en el GUI: ASE_LIST y ASE_EDIT. + * Nuevo ase_tool_testgui: para probar los objetos de la GUI. + * Ya está ensamblado el módulo `newdlg' al programa: con el nombre + de `gui.c'. + +2001-10-11 David A. Capello + + * El sistema es tan sencillo que pude fabricar un `ase_alert' + en menos de 5 minutos. + * WOW!!! El sistema GUI quedó PERFECTO: la siguiente lista de + funciones están listas: + - ase_active_dialog; + - ase_create_dialog; + - ase_insert_dialog (falta trabajo, por ahora sólo acepta + ASE_*TEXT, ASE_BUTTON, y ASE_CHECK); + - ase_destroy_dialog; + - ase_do_dialog; + - ase_dialog_gettext; + - ase_dialog_getselected; + - ase_dialog_setselected; + - ase_dialog_getdisabled; + - ase_dialog_setdisabled; + +2001-10-10 David A. Capello +2001-10-09 David A. Capello + + * Trabajando en el nuevo sistema para crear cuadros de diálogos GUI: + por ahora lo fabriqué en un módulo aparte: `newdlg'. Además, estoy + haciendo un nuevo aspecto para el GUI que quedará excelente. + +2001-10-01 David A. Capello + + * ase_info: ya funciona bastante bien con índices y menús, hice + varias pruebas tanto en el InfView de SET (Salvador Eduardo Tropea) + como en el que hice yo, y los resultados son muy parecidos. + +2001-09-30 David A. Capello + + * Nueva ase_fopen: para cargar ficheros desde diferentes ubicaciones. + * Agregado ase_unload_info: para borrar todos los datos y nodos de + una estructura ASE_INFO. + * Programé por aparte las funciones ase_load_info y ase_load_node: + para manejar los ficheros .info, funcionan a la perfección. + * Agregado ase_info: ya no será más ase_browser, ya que ahora tengo + en mente hacer un visor de ficheros .info. + * Listo: ase_file_save, ase_file_destroy, y parcialmente + ase_save_sprite (en esta última faltaría un soporte para + animaciones y capas). + * Modificado ase_file_create: el cuadro de diálogo se cambión + al nuevo formato y ya se eliminaron las capas de prueba que + se agregaban. + * Nuevas funciones para diálogos: ase_dialog_edit* y ase_dialog_list* + para controlar las entradas a estos objetos. + * Nuevo dialog.[ch]: entre el trabajo de ayer y hoy, ya hice + la nueva forma de crear diálogos (ase_create_dialog). + +2001-09-29 David A. Capello + + * Estuve trabajando en un nuevo modelo de GUI: através de cadenas + de caracteres se pueden crear poderosos cuadros de diálogos. + * Undo y redo: ya funciona a la perfección y con la menor cantidad de + memoria posible, y por ahora, las operaciones que se pueden + deshacer son (teóricamente) infinitas ;-) + * Agregado ASE_UNDO: y varias funciones en `undo.c' para controlar + esta complicada tarea para "deshacer" y "rehacer" cosas. + * Arreglado un error en ase_trace: utilizaba la función uvszprintf + de Allegro antes de iniciar la librería. + * Renombradas las estructuras ASE_SPRITE_* a ASE_*: junto con los + nombres de las funciones. + +2001-09-27 David A. Capello + + * Arreglado makefile.pak: ahora funciona mucho mejor que antes, + ya que no utiliza más el `cd ..', ahora se crea un nuevo + subdirectorio con el nombre de la distribución y se copian + los archivos necesarios, se comprime ese directorio y luego + se elimina. + +2001-09-26 David A. Capello + + * Funciones en ase.c y sprite.c: más y más funciones con el + prefijo ase_* y ASE_*. + * TRACE y ASSERT: todavía quedaban restos de estas funciones + de Allegro. + +2001-08-31 David A. Capello + + * Agregado main.c: la función main() quedó totalmente aislada con + cualquier otro archivo, y ahora, se creó ate_main(). + +2001-08-08 David A. Capello + + * Nueva rutina para capturar la pantalla con F12: ver + `ase_system_screenshot'. + * Se agregó: makefile.pak para hacer paquetes. + * Arreglados: fix.bat y fix.sh. + +2001-08-05 David A. Capello + + * Se agregó makefile.all, makefile.uni y makefile.dj. + * Nuevos fix.sh, fix.bat: idénticos a los de Allegro. + +2001-08-04 David A. Capello + + * La introducción de README.es: fue temporalmente eliminada. + * Nuevas ASE_TRACE(ase_trace) y ASE_ASSERT(ase_assert): ya no + utilizan TRACE y ASSERT. + * Ficheros nuevos: keyboard.c, mouse.c, timer.c; + * Nuevo `browser.c': por ahora no tiene mucho, pero se convertirá + en un verdadero navegador de código HTML. + * Se optimizó: + - forma de definir funciones (ASE_FUNC); + - AL_CONST, TRACE y ASSERT, todas pasaron a ASE_CONST, ASE_TRACE + y ASE_ASSERT; + - nuevo memory.[ch] para controlar la memoria mediante ase_malloc, + ase_realloc y ase_free. + - nuevo palette.[ch] para controlar la paleta, también se agregó + unas funciones `hook' (de gancho) para interceptar + `ase_set_palette'. + * config.h es ahora ase.h + * Se normalizaron los nombres de las funciones de los menús + (ej: loader -> ase_file_load). + * Nueva estructura de directorios: + ase/include, ase/src, ase/misc, ase/objs, ase/docs, ase/www + +2001-08-02 David A. Capello + + * El cursor gráfico: se dibuja con blanco y negro dependiendo del + color al que está pisando. + * Se agregó: una introducción, no se si será la definitiva. + * Listo: ya anda a la perfección el editor y la línea, junto con + el cursor gráfico. + * Arreglado: un error con keyboard_proc y editor_proc (ahora + keyboard_proc manda mensajes GOTMOUSE y LOSTMOUSE). + * Se optimizó: la actualización del área que es modificada al usar + la herramienta de dibujo (que por ahora es la línea). + +2001-07-27 David A. Capello + + * Arreglado el control del cursor del editor: antes tenía algunos + pequeños errores de redibujado. + +2001-07-16 David A. Capello + + * Arreglado editor_proc y blit_sprite: ahora ya se permite utilizar + zoom; además que se cambió el formato pixel_size (pos*pixel_size) + por zoom (pos< + + By: + + + + And then (for example) modify some name="main_window_alt1" to + name="main_window". + + +3. ¿How I can load my palette in ASE that are in a 768 bytes file? +---------------------------------------------------------------------- + + If you palette is in a raw binary file of 768 bytes, the entries + are in order RGB and the range of each entry is 0-63, you can + rename it with the .col extension, and load like an original .col + Animator file. + + +4. ¿How I can add a new frame? +---------------------------------------------------------------------- + + Press (or "Frame/New" menu). + + +---------------------------------------------------------------------- + Copyright (C) 2003-2005 by David A. Capello diff --git a/HACKING.txt b/HACKING.txt new file mode 100644 index 000000000..671c76f8c --- /dev/null +++ b/HACKING.txt @@ -0,0 +1,103 @@ +====================================================================== +ASE Hacking Notes +====================================================================== + +Add a new file to compile +---------------------------------------------------------------------- + + Remember that if you add a new file to compile, it should have a + different name of any other file name in the source code tree. Also, + you must add it in the ASE_SOURCES variable of the makefile.lst. + + +Add a new load/save file type +---------------------------------------------------------------------- + + Look at the "src/file/" directory. You have two options to make a + new load/save routines: + - Use the sequence API (src/file/file.h); + - Use directly the sprite API (src/raster/sprite.h); + + The sequence API should be used only for images that don't support + animation and that are plain images (don't have layers), like BMP, + PCX, TGA, or JPEG format. This is useful to handle sequences of + bitmaps like spr00.pcx, spr01.pcx, spr02.pcx automatically (you + don't worry about that, you just write the code to load/save one + file). + + In the other hand, you should use directly the raster API + (src/raster/) if your format support animation or layers, like FLI, + or GIF formats. + + +Hook palette's changes +---------------------------------------------------------------------- + + With the routines (from "src/modules/palette.c"): + + void hook_palette_changes(void (*proc)(void)); + void unhook_palette_changes(void (*proc)(void)); + + The hooks are installed in the tail (it's important see the order of + modules in "src/core/modules.c"). + + Then when you use "set_current_palette", the routine + "call_palette_hooks" will call the hooks from the first to the last + one. + + +Update the icon of buttons when the bitmap is destroyed in palette changes +---------------------------------------------------------------------- + + NOTE: This is only for buttons with a BITMAP + from "get_gfx()" (src/modules/gfx.c). + + When the palette changes, all graphics from "src/modules/gfx.c" are + regenerated. If one button was using one of these BITMAP, that will + be a problem, because that pointer is pointing to a freed memory + area. + + To update this icon pointer, you can use this is routine: + + void add_gfxicon_to_button(JWidget button, int gfx_id, int icon_align); + + This routine save in "user_data[3]" of "button" the "gfx_id", and + when the palette changes, the icon will be restored making a: + + jbutton_set_icon(button, get_gfx(gfx_id)); + + Also, the routine will hook the destroy signal to remove + automatically this button from the "list of buttons to fixup" + ("icon_buttons" in "src/modules/gui.c"). + + +Reload the fonts +---------------------------------------------------------------------- + + The routine "reload_default_font" in "src/modules/gui.c" reloads the + font indicated in the configuration string "/options/default_font", + also if it doesn't exist, the routine will try to load the + "data/fonts/default.pcx" font (finally, ASE uses the Allegro font if + no one was found). + + This routine uses the "_ji_set_font_of_all_widgets" to change the + "text_font" property of EVERY widget. + + +Undo +---------------------------------------------------------------------- + + NOTE.1: Every undo action must be added in the "sprite.undo" + structure before to do the operation in the sprite. E.g: + + undo_remove_layer(sprite.undo, sprite.layer); + layer_remove_layer(sprite.layer.parent, sprite.layer); + + The only exception for this is "undo_add_image": + + stock_add_image(stock, image); + undo_add_image(undo, stock, image); + + +---------------------------------------------------------------------- + Copyright (C) 2003-2005 by David A. Capello diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 000000000..53c72563f --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,31 @@ +=================================== +COMPILATION +=================================== + + Before compile, you must configure what ASE should use, what + libraries are available, etc. You can run the fix.sh script, answer + some questions and done: the main makefile is created. Or you could + edit the makefile.cfg, uncomment CONFIGURED=1 and uncomment the + necessary options, and then run "makefile -f makefile.lnx". + + +=================================== +INSTALLATION +=================================== + + After compilation, you have two options: + + 1) Running ASE from its source directory. + + 2) Install ASE in the directory that you specify in the fix.sh question: + "Where do you want install ASE by default?" (generally "/usr/local") + (in the makefile.cfg, it's the DEFAULT_PREFIX variable) + + Run "make install" (it only works in Unix like systems) + + +=================================== +UNINSTALLATION +=================================== + + Run "make uninstall". diff --git a/LEGAL.txt b/LEGAL.txt new file mode 100644 index 000000000..558169353 --- /dev/null +++ b/LEGAL.txt @@ -0,0 +1,19 @@ +=================================== +LEGAL ISSUES +=================================== + +- ASE is distributed under GPL license. +- Allegro and Jinete are gift-ware (doesn't have restrictions). +- ALFONT is under LGPL terms. +- quantize.c is copyright by Ben Davis (you need his authorization to + use his code in your own program). +- quantize2.c is distributed under the MIT License. +- Lua-5.0 is distributed under the MIT license. +- GIMP is distributed under GPL license. +- GLib and GTK+ are distributed under LGPL license. +- GFLI-1.3 is distributed under GPL license. +- Libart 2.3.3 is distributed under LGPL license. +- Libintl is distributed under LGPL license. +- The FreeType Project is distributed under FTL license. + +You can find all these licenses in the "docs/licenses" directory. diff --git a/NEWS-es.txt b/NEWS-es.txt new file mode 100644 index 000000000..b4abc909c --- /dev/null +++ b/NEWS-es.txt @@ -0,0 +1,255 @@ +=================================== +NOTICIAS +=================================== + +0.5 +--- + +- Se agregaron funcionalidades solicitadas por Carl Olsson: + + mejor soporte cuando "Ajustar a Grilla" está activado para + las herramientas de dibujo que se controlan con cajas (como + rectángulo, elipse, etc). + + al manejar una selección flotante (al pegar el portapapeles) + la opción "Ajustar a Grilla" tiene efecto sobre el movimiento + de la imagen. + + agregado movimiento a nivel de subpixel para los cursores con + demasiado zoom en el editor, para saber dónde estamos dentro + del pixel. +- Soporte para grabar archivos GIF por defecto. +- Arreglada la compilación con Allegro 4.2.1 (y arreglado un bug en + Allegro con key_shifts). +- Ahora el estado ventana/pantalla-completa es guardado por + la aplicación (gracias a Manuel De Miguel Moreno por reportarlo). + +0.4 +--- + +- Modo consola ya no existe. +- Cambiado el atajo de teclado para el Editor de Película: tecla TAB. +- Nueva característica: Cada cuadro de animación tiene duración. +- Nuevo Editor de Paleta (tecla F4). +- Ahora los sprites soportan multiples paletas: Cada cuadro puede + tener su propia palette de colores. +- Agregado soporte para cargar archivos GIF (por Elias Pschernig). +- Agregado una combo-box al cuadro de selección de archivos para + manejar bookmarks ("Favoritos"). +- Hay rotación!!! Ahora puede rotar y escalar al pegar desde el + clipboard (portapapeles). + +0.3.1 +----- + +- Arreglada la creación de archivos de sesión cuando una excepción + (error fatal) ocurre bajo Windows. +- Agregados los ficheros es.po y tips.es. + +0.3 +--- + +- Agregado la administración de sesiones (si ocurre algún fallo la + sesión es guardada automáticamente). +- Se agregó una herramienta para dibujar texto (finalmente). +- Más documentación y tips. +- Mejorado el proceso para agregar cuadros de animación.a +- Se arreglaron algunos bugs importantes. +- Se agregó la utilidad mapgen (código original por Johan Halmén y + Anders Andersson). +- Soporte para el lenguage Español (ahora funciona en Windows también). +- Código interno mejorado (principalmente las partes de la GUI, y los + nombres de las funciones). + +0.2.4 +----- + +- Undo más estable: con límites y sin el extraño comportamiento del + rehacer-después-de-sobreescribir-el-deshacer. +- Nueveo filtro por mediana para reducir el ruido de las imágenes. +- Actualizado el soporte alternativo para leer y escribir archivos + JPEG mediante la librería JPGalleg 2.3, gracias a Angelo Mottola por esto. +- Se arreglaron algunos problemas con el teclado: la tecla Alt ya no puede + ser utilizada para atajos del teclado. Alguna combinaciones cambiaron: + + <~> a <`> (abre el editor de película) + + a (enmascara por color) + + a (cierra el editor actualx) +- Agregado Cortar, Copiar, Pegar! +- Agregado AutoCrop (antes conocido como Trim). + +0.2.3 +----- + +- Se arregló la rutina para grabar archivos JPG. +- Arregladas y mejoradas varias partes de la GUI. + +0.2.2 +----- + +- Se agregó algo de documentación para escribir scripts en Lua. +- El Editor de Película (The Film Editor) fue mejorado. +- Arreglados algunos errores con el cursor gráfico, algunons problemas + con el teclado y varios bugs menores. +- Nuevos tips con texto e imágenes. Esto será muy útil para los + principiantes. +- La función del papel cebolla (onionskin) está lista. +- Agregado (de modo opcional) el fusionado de colores ordenado para + dibujar imágenes RGB en 8 bpp. +- Nuevas acciones: Merge Down, New Frame, Copy Frame, cambiar Image + Type!, Load Script File. +- Optimizado la velocidad de dibujado en modo alicatado (tiled). + +0.2.1 +----- + +- Arreglada la versión de Windows: el spray y algunos errores + guardando nombres de ficheros en el archivo de configuración. +- Agregado soporte libintl y la traducción al Español del programa + (sólo para Linux, pero tengo planes de hacer esto andar en Windows). +- Más soporte undo: insertar/remover capas y modificaciones en la + máscara. +- Los filtros Matriz de Convolución y Curva de Color están de vuelta. +- Se agregaron más operaciones básicas (con soporte de undo): aplanar + capas, duplicar capa, duplicar sprite, flip horizontal/vertical, + recortar cuadro. +- Nuevo formato .ASE (en estado alpha, por favor pruébelo!). +- Rutinas para script más simples: ahora hay una capa de rutinas de + alto nivel (fáciles de usar y comprender), y un juego de rutinas de + bajo nivel (para scripts internos o trabajos más específicos). +- Se removió todo el código relacionado con interpolación entre + key-frames (cuadros claves): sí, luego de estar pensando un largo + rato, esto hace muy complicada la edición de la animación (así la + "elegante interpolación spline" fue eliminada). +- El editor de sprites fue optimizado para ser más rápido al mover el + scroll. +- El Editor de Película (The Film Editor) está casi listo para + controlar capas y cuadros. +- Arreglados los filtros usando máscaras con capas desplazadas. +- Soporte para aplicar filtros a varias cuadros/capas al mismo tiempo. +- Diferentes disposiciones de la pantalla fueron agregadas en main.jid + (mire FAQ.txt para saber como cambiar entre ellas). +- La barra de herramientas está devuelta! + +0.2 +--- + +- Arreglados varios bugs. +- Soporte opcional para archivos JPEG con la librería JPGalleg 2.0. +- Agregados modos de dibujado: Opaque (opaco/normal), Glass + (vidrio/transparente), Semi (patrón). +- Agregados los tipos de brochas: Circle (círculo), Square (cuadrado), + Line (línea). +- Implementado un sistema de "paleta-falsa" para hacer al GUI + utilizable con cualquier paleta de colores (principalmente para + evitar las situaciones de "pantalla negra" al abrir sprites con + paletas "feas"). +- El editor de la paleta de colores tiene mejoras (como la posibilidad + de mover los colores seleccionados). +- El archivo "menus" cambió un poco. Algunos atajos del teclado se + modificaron (y otro nuevos se agregaron), puede verlos en el archivo + "docs/QuickHelp.html". De todos modos, intenté dejar la + compatibilidad con los comandos más usados. +- Soporte completo de scripts con Lua-5.0. Los sprites y el GUI son + controlables desde los mismos scripts, para darle una idea, varias + acciones en los menús están programadas directamente con scripts. +- Control de selección completo (regiones de máscara). Puede + seleccionar areas irregulares (agregar, substraer, cruzar, y + seleccionar por color), guardar y cargarlas en el viejo formato .MSK + del Animator Pro. +- Soporte para editores multiples. Ahora puede editar una imágen con + zoom y ver los resultados en otros editores (actualizados en tiempo + real). - Nuevo núcleo de para controlar gráficos. Todo lo + relacionado a sprite/imágenes/capas/propiedades/key fue + reprogramado. El cambio más importante, se hizo al nivel de + propiedad/keyframes (cada propiedad puede tener interpolación lineal + o con curvas beziers, además de una bandera de finalización de la + curva para hacer movimientos circulares o patrones de movimientos). + - Nuevo GUI. Tanto los gráficos como el código interno fueron + reestructurados completamente, hice una nueva librería de GUI: + Jinete. + +0.1.2 +----- + +- Nuevo efecto RLE Gaussian Blur (desde el código de The GIMP). +- Los modos de mezcla (blender modes) están devuelta: Normal, + Multiply, Screen, Overlay, Hard Light, Darken, Lighten, Addition, + Subtract, Difference, Hue, Saturation, Color, Luminosity. +- Mejor GUI: con colores, ahora debería de ser menos aburrido :-) +- Agregado un diálogo para seleccionar *cualquier* modo de video + gráfico (esto podría ser útil para modos de video con ventanas). +- Nuevamente se volvió a los makefiles al estilo Allegro. Bueno, + bueno, el estilo GNU fue el peor cambio en ASE, pero ahora está + arreglado :-) +- Eliminada la capacidad de cargar archivos .DLL o .so de + plug-ins. Luego de semanas pensándolo, decidí por sacar esta + característica ya que es muy complicado de hacer un buen sistema + para agregar nuevos plug-ins con la implementación del menú + actual. La mayoría de usuarios son solo "usuarios" y no copiarán el + plug-in y modificarán luego el archivo "menus" para agregar el + script que llame a la acción del plug-in. Además, esto me salva de + miles de dolores de cabezas :-) +- Agregada la aplicación de filtros multiples: Ahora, se puede aplicar + los efectos a cada capa, a cada cuadro de animación, o ambos. +- Agregado la lista de archivos usados recientemente ("Recent Files"). +- Nuevas rutinas en los scripts para manejar "paths" (rutas). +- Nuevo tipo de selección: "shrink", para encoger la selección a los + límites de la capa bitmap actual. +- Nueva acción "trim_sprite". + +0.1.0 +----- + +- Eliminada la herramienta `move' para mover capas (era redundante). +- Nueva interface para cargar Plug-Ins en forma dinámica (DLL, .so). +- Nuevo soporte completo para cargar/guardar archivos JPEG (RGB/grayscale): + a través de la Independent JPEG Group's JPEG Library. +- Nuevas acciones: + + trim_layer_bitmap: recorta la capa actual por los límites de la selección. + + merge_down: para mezclar la capa activa con la próxima. + + make_undo_animation: para crear una animación desde la operaciones + para deshacer (para ver la progresión del gráfico). + + undo_history: para deshacer/rehacer varias operaciones a la vez. + + color_curve: para hacer efectos de conversión de color pixel por pixel. +- Mejorado el comando `Reemplazar Color' (con `tolerancia' y `vista previa'). +- Una nueva barra-de-capas optimizada, para manejar sobre todo + las propiedades y los cuadros claves. +- Varias cosas reescritas a Plug-Ins: + + los formatos de archivos, + + las acciones de los menús (también, ahora estas acciones pueden ser + utilizadas desde los "guiones" o "scripts"). +- Reemplazado el viejo sistema de "profundidad de color" por el nuevo + "tipo de imagen". Desde ahora, una imagen puede ser: + RGB (rojo, verde, azul), Grayscale (escala de grises), o Indexed + (256 colores). +- Nueva Libreria ASE, con un nuevo diseño para manejar: + imágenes, capas, bitmaps, propiedades, cuadros claves, etc. +- Código fuente al estilo GNU: con configure.in, Makefile.am, etc. + +0.0.7 +----- + +- Nuevas rutinas para "guionado" (script): request(), apply_filter(), + load_sprite(), y save_sprite(). +- Soporte para cargar archivos FLI/FLC y guardar FLC. Sí! Ahora con ASE + puede hacer animaciones FLC con un buen rendimiento de compresión. +- Agregada la posibilidad de cargar/guardar secuencias de bitmaps: + como por ejemplo ani00.pcx, ani01.pcx, ani02.pcx, etc. +- Más funcionalidad para `deshacer'. Reescribí todo el sistem de `undo' + por completo. +- Nueva herramienta de selección rectangular. Ahora puede cortar, copiar, + pegar, y borrar. +- Nueva compresión RLE para 8 bpp en los archivos .ase. +- Soporte para cargar ficheros .ase de las versiones `0.0.6' y + `0.0.7 CVS (fases importante)': Le recomiendo que actualice todos sus + archivos .ase a la nueva versión `0.0.7' release. +- Nuevas propiedades para los cuadros claves (keyframes): ahora cada keyframe + tiene su propia posición y valor alpha, con esto puede hacer animaciones de + objetos moviendo sólo los keyframes (todos los cuadros intermedios serán + calculados automáticamente). +- Ahora el programa recuerda la configuración (a través de `ase.cfg'). +- Agregado un nuevo modo para dibujar "mosaicado" (tiled). +- Nuevo modo de edición en pantalla completa. Con la barra de capas + (layer-bar) a la que se le puede cambiar el tamaño. +- Agregada la opción para dibujar un cuadro previo en modo transparente. +- Eliminada la propiedad de `fondo' de las capas: desde ahora, una capa + será transparente siempre. Con esto son arreglados una tonelada de problemas + con las rutinas para cargar/guardar archivos de las versiones anteriores. +- Nuevo comando `reload_menus' (para recargar los menús). diff --git a/NEWS.txt b/NEWS.txt new file mode 100644 index 000000000..64523f13a --- /dev/null +++ b/NEWS.txt @@ -0,0 +1,306 @@ +=================================== +NEWS +=================================== + +0.5 +--- + +- Added features-requested by Carl Olsson: + + better "snap to grid" support for box-like tools (rectangle, + ellipse, etc.). + + floating selection now "snap to grid" also. + + added a subpixel movement for zoomed-cursors in the editor, to + known where we are inside the pixel. +- Better support for the mouse wheel and middle button in the + sprite-editor (to scroll and zoom). +- GIF support to save file fully supported by default. +- Fixed compilation with Allegro 4.2.3 SVN (and fixed a bug in Allegro + with key_shifts). +- Now the full-screen or windowed state is remembered (thanks + to Manuel De Miguel Moreno to report it). + +0.4 +--- + +- Removed the console mode. +- Changed Film Editor shortcut: TAB key. +- New feature: Each animation frame has duration. +- New Palette Editor (F4 key). +- Now sprites support multiple palettes: Each frame can has its own + color palette. +- Added support to load GIF files (by Elias Pschernig). +- Added a combobox to file-selection to handle the bookmarks. +- Added rotation!!! Now you can scale and rotate what you paste from + the clipboard. + +0.3.1 +----- + +- Fixed the creation of session files when an exception (fatal error) + happens in Windows. +- Added es.po and tips.es files. + +0.3 +--- + +- Added session manager (if the program crashes the session is saved + automatically). +- Added a tool to draw text (finally). +- More documentation and tips. +- Improved the frame adding process. +- Fixed important bugs. +- Added a mapgen utility (original code by Johan Halmén and Anders + Andersson). +- Spanish language support (now works in Windows too). +- Internal code improved (mainly GUI parts, and functions names). + +0.2.4 +----- + +- More stable undo: with limit and without the strange + redo-after-overwrite-undo feature. +- New median filter to despeckle images. +- Updated alternative support to load/save JPEG files with JPGalleg 2.3 + library, thanks to Angelo Mottola for this. +- Fixed problems with non-US keyboards: the Alt key can't be used for + shortcuts. Some combinations changes: + + <~> to <`> (open film editor) + + to (mask by color) + + to (close current editor) +- Added Cut, Copy, Paste! +- Added AutoCrop (before known as Trim). + +0.2.3 +----- + +- Fixed routine to save JPG files. +- Fixed and improved various parts of GUI. + +0.2.2 +----- + +- Added some documentation to write Lua scripts. +- Film Editor was improved. +- Fixed errors with the graphics cursor, some keyboard problems, and + various minor bugs. +- New tips with text and images. This will be very useful for + beginners. +- Onionskin feature is done. +- Added (optional) ordered dithering to render RGB images in 8 bpp. +- New actions: Merge Down, New Frame, Copy Frame, change Image Type!, + Load Script File. +- Optimized the drawing speed with tiled mode. + +0.2.1 +----- + +- Fixed in Windows version: spray and some errors saving file-names in + the configuration file. +- Added libintl support and the Spanish translation (only for Linux, + but I have planned make this usable in Windows). +- More undo support: insert/remove layers and mask modifications. +- Filters Convolution Matrix and Color Curve are back. +- Added more basic operations (with undo support): flatten layers, + duplicate layer, duplicate sprite, horizontal/vertical flip, crop + frame. +- New .ASE format (in alpha status, please test it!). +- Easy script routines: now are a high-level layer of routines (easy + to use and understand), and the low-level routine's set (for + internal or more specific works). +- Removed all the interpolation stuff between key-frames: yes, after + thinking, this make too hard the animation edition (so the "fancy + spline interpolation" was removed). +- Optimized the editor's speed in scroll movements. +- The Film Editor is almost done for layers and frames handle. +- Fixed filters using mask with displaced layers. +- Support to apply filters to various frames/layers at the same time. +- Added differents screen layouts in main.jid (see FAQ.txt to see how + change between them). +- The tool bar is back! + +0.2 +--- + +- Fixed a lot of bugs. +- Added optional support for JPEG with JPGalleg 2.0 library. +- Added draw mode: Opaque (normal), Glass (transparent), Semi + (pattern). +- Added brush types: Circle, Square, Line. +- Implemented a fake-palette system to make the GUI usable with any + sprite palette (mainly to avoid "black-screen" situations when open + sprites with ugly palettes). +- The palette editor has more improvements (like the possibility to + move the selection range). +- "menus" file modified a bit. Some keyboard bindings have change + (and new ones added), you can see the "docs/QuickHelp.html" file for + more help. Anyway, I try to leave the compability in the more used + commands. +- Full scripting support with Lua-5.0. Sprites and GUI controllable + from same scripts, to give you an idea, various of menus actions are + programmed directly with scripts. +- Complete selection handle (mask regions). You can select irregular + areas (add, subtract, intersect, by color), save and load them in + the .MSK Animator Pro format. +- Multiple editors. Now you will be able to edit an image with zoom + and see the results in other editors (updated in real-time). +- New Gfx-core. All sprite/image/layer/prop/key stuff was + reprogrammed. The more big change, was to property/keyframe level + (the properties can be with lineal or spline interpolation, also, + have a ending flag to make circular movements or patterns of movement). +- New GUI. The look and the internal code was reestructured + completelly, I made a new GUI library: Jinete (rider). + +0.1.2 +----- + +- New RLE Gaussian Blur effect (from The GIMP source code). +- Blender modes are back!: Normal, Multiply, Screen, Overlay, + Hard Light, Darken, Lighten, Addition, Subtract, Difference, Hue, + Saturation, Color, Luminosity. +- Better the GUI look: With colors, this should be less boring :-) +- Added a graphics selection dialog where you can specify any + resolution (this could be useful for windowed modes). +- Back again to the good-and-peaceful-allegro-like makefiles. Ok, ok, + the GNU style was the worst change in ASE, but now is fixed :-) +- Removed the .DLL or .so capability for plug-ins. After some weeks of + thinking, I decide to strip off this feature because is too hard to + do a good system to attach new plug-ins with the current menu + implementation. The most user are just "user" and don't will copy + the plug-in and modify the `menus' to add a new entry with a little + script-string to call the new plug-in action. Also, this save me a + lot of headaches :-) +- Added multiple filter application: Now, you can apply effects to + every layer, to every animation frame, or both. +- Added the "Recent Files" list. +- A complete set of scripts routines to handle paths. +- New selection type: "shrink", to shrink the selection to the current + layer bitmap bounds. +- New "trim_sprite" action. + +0.1.0 +----- + +- Removed the `move' tool to displace layers (it was redundant). +- New interface to load Plug-Ins in a dynamic way (DLL, .so). +- Complete new support for JPEG files (RGB/grayscale) load/save: + athwart the Independent JPEG Group's JPEG Library. +- New actions: + + trim_layer_bitmap: trim the current layer to the selection bounds. + + merge_down: to merge the current layer with the next one. + + make_undo_animation: to make an animation from the undo + operations (to see all the progression of the graphics). + + undo_history: to undo/redo various operations. + + color_curve: to make color conversion effects pixel by pixel. +- Improved the `Color Replace' command (with `tolerance' and `preview'). +- A new optimized layer-bar, to handle all the keyframe/properties stuff. +- Various things rewritten to Plug-Ins: + + file formats, + + actions for menus (also, now these actions can be used from scripts). +- Replaced the old `color depth' system to the new `image types': + From now, an image can be: RGB, Grayscale, or Indexed type. +- New ASE Library, with a complete new design to handle: + images, layers, bitmaps, properties, keyframes, etc. +- Source code to GNU style: with configure.in, Makefile.am, etc. + +0.0.7 +----- + +- New scripts routines: request(), apply_filter(), load_sprite(), + and save_sprite(). +- Support to load FLI/FLC and to save FLC files. Yes! Now with ASE + you can make FLC animations with a good compression performance. +- Added the posibility to load/save sequences of bitmaps: like ani00.pcx, + ani01.pcx, ani02.pcx, etc. +- More undo functionality. I re-wrote the entire `undo' system. +- New rectangular-selection tool: Now you can cut, copy, paste and clear. +- New RLE compression for 8 bpp in .ase files. +- Support to load .ase files of `0.0.6' and `0.0.7 CVS (important stage)': + I recommend you upgrade all your .ase files to the `0.0.7 release' version. +- New properties for keyframes: now each keyframe has its position and alpha, + with this you can make animations of objects moving only the keyframes + (all the intermediate frames will be calculate automatically). +- Now the program remember the configuration (through `ase.cfg'). +- Added a new draw-tiled mode. +- New full-screen editing mode. With resizable layer-bar. +- Added an options to draw the previous frame in transparent mode. +- Removed the `background' properties of layers: from now, a layer + will be transparent (masked-blitting) ever. With this are fixed + a lot of problems with load/save routines in old versions. +- New `reload_menus' command. + +0.0.6 +----- + +- I still don't recommend you the .ase format (just for temporary usage): + there are planes to change it. +- Scripting capability athwart Lua language (http://www.lua.org/): + now, you can make automatic tasks programming your own scripts + (included some scripts as example). +- Independent `alpha' (global transparency) and `blender-mode' for + each layer (like in GIMP and Adobe Photoshop). +- Improved the layer/frame-control: + Now add/remove/move/copy layer and frames are really-very-easy + with the new layer-panel (like in Macromedia Flash). +- More easy tool-configuration. +- New drawing tool: real-pencil, with a unique and original algorithm. +- Removed all the use of the Allegro GUI. +- New original (and ugly) GUI look: + now, the colors are in harmony for the eyes. + +0.0.5 +----- + +- More facilities to handle colors with different `alpha'. +- New animation control: need test (see `bugs.txt' to report errors). +- Optimized the color-selection dialog: now you can make gammas + between *four* colors. +- Added a `preview' in the apply-filter dialog. +- New improved gui system (for the users and for the developers). +- New `tile' and `reload' option for the filters. +- New view-tile option in tool-menu (for make tileable patterns). + +0.0.4 +----- + +- Modificable draw properties: + thickness, alpha color, spray random factor, and spray radius. +- Undo support for all tools. +- Multiple drawing tools support: + pixel, pencil, fill, spray, line, rectangle, and ellipse; +- New improved layer control. +- A lot of optimizations in the status bar. +- New duplicate sprite option. +- New session manager, for load and save your work. Other utility of this, + is if the program crash for any reason, it auto-backups your data. +- Bad news: the old .ase format is incompatible with the new one: + I recommend you don't save in .ase until the 0.1 release. +- New "visible" property for hide and show the layers. +- New change color-depth function. +- Added a set-gfx-mode option in the system-menu. +- New duplicate layer support. + +0.0.3 +----- + +- New .ase format (for save the layers). +- More keyboard shorcuts (with a new `keys.txt'). +- New layers operations: insert, move and remove. +- RGBA (alpha channel) bitmaps support. +- New filter capability, with some examples of filters. +- An incredible new way to create dialogs (for programmers only). +- More "Windows friendly" text files. +- New optimized status bar. +- New improved look of the GUI. + +0.0.2 +----- + +- New "infinite" Undo & Redo support. +- Some importants bug fixed. + +0.0.1 +----- + +- One tool: interactive line. +- Color selection support. +- Poor palette modification capability. diff --git a/README-es.txt b/README-es.txt new file mode 100644 index 000000000..522bd55c7 --- /dev/null +++ b/README-es.txt @@ -0,0 +1,180 @@ + + ase -- allegro-sprite-editor: the ultimate sprites factory + Copyright (C) 2001-2005, 2007 por David A. Capello + ------------------------------------------------------------------------ + Mire el fichero "AUTHORS.txt" para la lista completa de colaboradores + + +=================================== +COPYRIGHT +=================================== + + Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo + los términos de la Licencia Pública General GNU según es publicada por la + Free Software Foundation, bien de la versión 2 de dicha Licencia o bien + (según su elección) de cualquier versión posterior. + + Este programa es distribuido con la esperanza de que sea útil, pero SIN + GARANTIA ALGUNA, incluso sin la garantía implícita de COMERCIALIZACIÓN o + IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Véase la Licencia Pública General + de GNU para más detalles. + + Debería haber recibido una copia de la Licencia Pública General junto con + este programa. Si no ha sido así, escriba a la Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +=================================== +INTRODUCCIÓN +=================================== + + ASE es un programa especialmente diseñado para crear sprites + animados con mucha facilidad y que luego puedan ser utilizados en un + video juego. Este programa le permitirá crear desde imágenes + estáticas, a personajes con movimiento, texturas, patrones, fondos, + logos, paletas de colores, y cualquier otra cosa que se le ocurra. + + +=================================== +CARACTERÍSTICAS +=================================== + + ASE le ofrece la posibilidad de: + + - Editar sprites con capas y cuadros de animación. + + - Editar imágenes RGB (con Alpha), escala de grises (también con + Alpha), e imágenes con paleta de 256 colores o "indexadas". + + - Controlar paletas de 256 colores completamente. + + - Aplicar filtros para diferentes efectos (matriz de convolución, + curva de color, etc.). + + - Cargar y guardar sprites en los formatos .BMP, .PCX, .TGA, .JPG, + .GIF, .FLC, .FLI, .ASE (el formato especial de ASE). + + - Utilizar secuencia de bitmaps (ani00.pcx, ani01.pcx, etc.) para + guardar las animaciones. + + - Herramientas de dibujo (puntos, pincel, brocha real, relleno, línea, + rectángulo, elipse), modos de dibujo (opaco, vidrio), y tipos de + brochas (círculo, cuadrado, línea). + + - Soporte de máscaras (selecciones). + + - Soporte para deshacer/rehacer cada operación. + + - Soporte para editores multiples. + + - Dibujar con una rejilla personalizable. + + - Único modo de dibujo alicatado para dibujar patrones y texturas en + segundos. + + - Guardar y cargar sesiones completas de trabajo (en ficheros `.ses'). + + - Capacidad de hacer `scripts' (guiones) con el lenguaje Lua + (http://www.lua.org). + + +=================================== +CONFIGURACIÓN +=================================== + + En plataformas Windows y DOS: + + ase.cfg - Configuración + data/matrices - Matrices de convolución + data/menus - Menús + data/scripts/* - Scripts o "guiones" + + En plataformas Unix, el archivo de configuratión es ~/.aserc, y los + archivos de datos (en data/) son buscados en estos lugares (por + orden de preferencia): + + $HOME/.ase/ + /usr/local/share/ase/ + data/ + + Mire "src/core/dirs.c" para más información. + + +=================================== +MODO VERBOSO +=================================== + + Cuando ejecuta "ase" con el parámetro "-v", en las plataformas + Windows y DOS los errores son escritos en STDERR y un archivo + "logXXXX.txt" en el directorio "ase/" es creado con el mismo + contenido. + + En otras plataformas (como Unix), ese archivo de registro no es + creado, ya que la utilización de STDERR es mucho más común. + + Mire "src/core/core.c" para más información. + + +=================================== +ACTUALIZACIONES +=================================== + + Los últimos paquetes tanto binarios como el de código fuente, los + puede encontrar desde: + + http://sourceforge.net/project/showfiles.php?group_id=20848 + + También, si desea obtener la última versión en desarrollo de ASE desde el + repositorio CVS, la cual por sierto es la más propensa a tener errores pero + es la que más actualizada está con respecto a las herramientas, la puede + explorar archivo por archivo en esta dirección: + + http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ase + + O la puede bajar completamente a su disco con un programa que controle CVS, + de la siguiente forma: + + 1) Debemos ingresar al repositorio de forma anónima (cuando le pregunte + por la contraseña, solamente presione ): + + cvs -d :pserver:anonymous@cvs.ase.sourceforge.net:/cvsroot/ase login + + 2) Realizamos el primer checkout, lo que significa que sacaremos una + copia "fresca" de ASE: + + cvs -z3 -d :pserver:anonymous@cvs.ase.sourceforge.net:/cvsroot/ase checkout gnuase + + 3) Una vez esto, cada vez que quiera actualizar la copia local con la + del repositorio, deberá ejecutar en el directorio gnuase/: + + cvs update -Pd + + AVISO: Cuando obtenga la versión CVS, no borre los directorios CVS + ni el contenido dentro de ellos, ya que es para uso interno del + programa cvs. + + +=================================== +CRÉDITOS +=================================== + + Mire el archivo "AUTHORS.txt". + + +=================================== +INFORMACIÓN DE CONTACTO +=================================== + + Para pedir ayuda, reportar bugs, mandar parches, etc., utilice la + lista de correo ase-help: + + ase-help@lists.sourceforge.net + http://lists.sourceforge.net/lists/listinfo/ase-help/ + + Para más información visite la página oficial del proyecto: + + http://ase.sourceforge.net + + + ---------------------------------------------------------------------------- + Copyright (C) 2001-2005 por David A. Capello diff --git a/README.txt b/README.txt new file mode 100644 index 000000000..f47d585d9 --- /dev/null +++ b/README.txt @@ -0,0 +1,175 @@ + + ase -- allegro-sprite-editor: the ultimate sprites factory + Copyright (C) 2001-2005, 2007 by David A. Capello + -------------------------------------------------------------- + See the "AUTHORS.txt" file for a complete list of contributors + + +=================================== +COPYRIGHT +=================================== + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., 59 + Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +=================================== +INTRODUCTION +=================================== + + ASE is a program specially designed with facilities to create + animated sprites that can be used in some video game. This program + let you create from static images, to characters with movement, + textures, patterns, backgrounds, logos, color palettes, and any + other thing that you think. + + +=================================== +FEATURES +=================================== + + ASE gives to you the possibility to: + + - Edit sprites with layers and animation frames. + + - Edit RGB (with Alpha), Grayscale (with Alpha also) and Indexed + images. + + - Control 256 color palettes completely. + + - Apply filters for different color effects (convolution matrix, + color curve, etc.). + + - Load and save sprites in these formats: .BMP, .PCX, .TGA, .JPG, + .GIF, .FLC, .FLI, and .ASE (ASE's special format). + + - Use bitmap's sequences (ani00.pcx, ani01.pcx, etc.) to save + animations. + + - Drawing tools (dots, pencil, real-brush, floodfill, line, rectangle, + ellipse), drawing modes (opaque, glass), and brushes types (circle, + square, line). + + - Mask (selections) support. + + - Undo/Redo support for every operation. + + - Multiple editor support. + + - Draw with a customizable grid. + + - Unique tiled drawing mode to draw patterns and textures in seconds. + + - Save and load entire work's sessions (in `.ses' files). + + - Scripting capabilities with Lua language (http://www.lua.org). + + +=================================== +CONFIGURATION FILES +=================================== + + In Windows and DOS platforms: + + ase.cfg - Configuration + data/matrices - Convolutions matrices + data/menus - Menus + data/scripts/* - Scripts + + In Unix platforms, the configuration file is ~/.aserc, and the data/ + files are searched in these locations (in order of preference): + + $HOME/.ase/ + /usr/local/share/ase/ + data/ + + See "src/core/dirs.c" for more information. + + +=================================== +VERBOSE MODE +=================================== + + When run "ase" with "-v" parameter, in Windows and DOS platforms the + errors will be written in STDERR and a "logXXXX.txt" file in "ase/" + directory is created with the same content. + + In others platforms (like Unix), that log file isn't created, + because the use of STDERR is more common. + + See "src/core/core.c" for more information. + + +=================================== +UPDATES +=================================== + + The last packages of binaries and source code, you can found them + from: + + http://sourceforge.net/project/showfiles.php?group_id=20848 + + Also, if you want to get the last development version of ASE from + the CVS repository, which is the version more prone to have errors, + but is the more updated in the tools area, you can browse it file by + file in this address: + + http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ase + + Or you can download it completelly to your disk with a program which + control CVS, as follow-up: + + 1) We must input to the repository in anonymous form (when you be + asked for the password, just press ): + + cvs -d :pserver:anonymous@cvs.ase.sourceforge.net:/cvsroot/ase login + + 2) We make the first checkout, which means that we fetch a "fresh" + copy of ASE: + + cvs -z3 -d :pserver:anonymous@cvs.ase.sourceforge.net:/cvsroot/ase checkout gnuase + + 3) Then, whenever you want update your copy with the repository + one, you will must execute in the gnuase/ directory: + + cvs update -Pd + + WARNING: When you obtain the CVS version, don't remove the CVS + directories, they are for exclusive use of the cvs program. + + +=================================== +CREDITS +=================================== + + See the "AUTHORS.txt" file. + + +=================================== +CONTACT INFO +=================================== + + To request help, report bugs, send patches, etc., you can use the + ase-help mailing list: + + ase-help@lists.sourceforge.net + http://lists.sourceforge.net/lists/listinfo/ase-help/ + + For more information, visit the official page of the project: + + http://ase.sourceforge.net + + + ---------------------------------------------------------------------------- + Copyright (C) 2001-2005 by David A. Capello diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 000000000..eb82d215d --- /dev/null +++ b/TODO.txt @@ -0,0 +1,79 @@ +High priority work +------------------ + +- GUI using double buffering. +- add support for PNG files. +- ver por el nuevo load_font de Allegro. +- borrar src/core/config.c +- search for XXX (XXXX is supposed to be high priority); +- complete palette operations, and palette editor (it needs a slider + or something to move between palette changes); +- fix undo of big chunks (more than limit): + + how to reproduce the error? create an RGB image of 800x600, add a + layer, add a frame, move the new frame to the other layer, undo, + there is the bug. +- fix quantize (one palette for all frames, one palette per frame) +- fix Jinete examples: + + 05fsel + + 09lists + + 20combo + + 21manage +- fix "tiled mode" when it's used in frames that doesn't have the same + size of the sprite; +- add "size" to GUI font (for TTF fonts); +- layer movement (between sets) in filmeditor; +- quick swap; + + the regions mustn't be overlapped; +- options to change the curve type (in curedit.c); +- canvas size; + + with the current crop this isn't necessary anymore; + + anyway, it's a good way to expand the graphics +- gauss blur; +- pal-operations (sort, quantize, gamma by color-curves, etc.); +- RGB and HSV effects; +- color-curve stock; +- fix algo_ellipsefill; +- view_tiled() should support animation playback (partial support: + with left and right keys). +- when press Plus/Minus pad in the editor and the configuration tool + window is active, the slider of the "Brush Size" must be updated. +- make keys like 9, 0, + Pad, - Pad configurable. +- drawing tools: + + real-spray; + + Animator Pro like: oval, petal, rpoly, star, poly, spiral; +- Add suppport to load old .ase files: + + I don't think so, nobody tell me "I need load an old .ase file!!!" + +Wish-list +--------- + +- Mateusz Czaplinski ideas: + + when move selections, will be good the possibility to see relative + position from the starting point of movement; + + make drawing the 'marching-ants-rectangle' a prioritaire thing to + draw (when move it). +- default Windowed mode? (idea from Robert J Ohannessian); + + I don't think so: ASE was, is and will be better in FULL-SCREEN modes; + + Maybe a recordable "card" in the configuration file will be enough; + + See docs/FULLSCR.txt; + + if double buffering is implemented, that is the answer (double buffering + with a backbuffer of 320x240 and a realscreen of 640x480). +- for Jinete: + + add columns handle to list-boxes; + + add icons handle to all widgets (mainly button, list-items, and labels); + + add tree widget; + +Low priority stuff +------------------ + +- test routines: load/save_pic_file, load/save_msk_file, + load/save_col_file. +- fix the fli reader (both Allegro and Gfli): when a frame hasn't + chunks means that it's looks like the last frame; +- talk with Ben Davis, his "quantize.c" has memory leaks (test it + more, I don't think so); +- talk with Elias Pschernig, his "do_ellipse_diameter" (algo_ellipse) + has a bug with ellipses of some dimensions (I made a test, and a + various sizes have errors). +- optimize the *_to_allegro image methods (I profiled ASE, and these + are the more slow routines in all the program); diff --git a/WARNING.txt b/WARNING.txt new file mode 100644 index 000000000..9afe1a80e --- /dev/null +++ b/WARNING.txt @@ -0,0 +1,23 @@ +====================================================================== + ALLEGRO-SPRITE-EDITOR WARNING +====================================================================== + + THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY !!! + + See README.txt and COPYING files for more information. + Remember to report "bugs" and errors to: + + ase-help@lists.sourceforge.net + +====================================================================== + ADVERTENCIA SOBRE ALLEGRO-SPRITE-EDITOR +====================================================================== + + ESTE PROGRAMA ES DISTRIBUIDO SIN GARANTIA ALGUNA !!! + + Mire los ficheros README-es.txt y COPYING para mayor + información. Recuerde reportar errores y "bugs" a: + + ase-help@lists.sourceforge.net + +====================================================================== diff --git a/all.h b/all.h new file mode 100644 index 000000000..ea328ca38 --- /dev/null +++ b/all.h @@ -0,0 +1,170 @@ +#include "allegro.h" +#include "allegro/internal/aintern.h" +#include "console/console.h" +#include "core/app.h" +#include "core/cfg.h" +#include "core/core.h" +#include "core/dirs.h" +#include "core/modules.h" +#include "core/shutdown.h" +#include "dialogs/about.h" +#include "dialogs/canvasze.h" +#include "dialogs/colsel.h" +#include "dialogs/dfrlen.h" +#include "dialogs/dmapgen.h" +#include "dialogs/dpaledit.h" +#include "dialogs/drawtext.h" +#include "dialogs/effect.h" +#include "dialogs/filesel.h" +#include "dialogs/filmedit.h" +#include "dialogs/gfxsel.h" +#include "dialogs/maskcol.h" +#include "dialogs/maskrepo.h" +#include "dialogs/minipal.h" +#include "dialogs/options.h" +#include "dialogs/playfli.h" +#include "dialogs/quick.h" +#include "dialogs/repo.h" +#include "dialogs/scrsaver.h" +#include "dialogs/tips.h" +#include "dialogs/toolconf.h" +#include "dialogs/vectmap.h" +#include "dialogs/viewspr.h" +#include "effect/colcurve.h" +#include "effect/convmatr.h" +#include "effect/effect.h" +#include "effect/invrtcol.h" +#include "effect/median.h" +#include "effect/replcol.h" +#include "file/ase.h" +#include "file/file.h" +#include "file/gif/format.h" +#include "file/gif/lzw.h" +#include "gfli.h" +#include "intl/intl.h" +#include "intl/msgids.h" +#include "jinete.h" +#include "jinete/alert.h" +#include "jinete/base.h" +#include "jinete/box.h" +#include "jinete/button.h" +#include "jinete/draw.h" +#include "jinete/entry.h" +#include "jinete/hook.h" +#include "jinete/intern.h" +#include "jinete/label.h" +#include "jinete/list.h" +#include "jinete/listbox.h" +#include "jinete/manager.h" +#include "jinete/menu.h" +#include "jinete/message.h" +#include "jinete/rect.h" +#include "jinete/region.h" +#include "jinete/sep.h" +#include "jinete/slider.h" +#include "jinete/system.h" +#include "jinete/textbox.h" +#include "jinete/theme.h" +#include "jinete/view.h" +#include "jinete/widget.h" +#include "jinete/window.h" +#include "lauxlib.h" +#include "libart_lgpl/libart-features.h" +#include "libart_lgpl/libart.h" +#include "lua.h" +#include "lualib.h" +#include "modules/chkmthds.h" +#include "modules/color.h" +#include "modules/editors.h" +#include "modules/gfx.h" +#include "modules/gui.h" +#include "modules/palette.h" +#include "modules/recent.h" +#include "modules/render.h" +#include "modules/rootmenu.h" +#include "modules/sprites.h" +#include "modules/tools.h" +#include "modules/tools2.h" +#include "raster/algo.h" +#include "raster/blend.h" +#include "raster/brush.h" +#include "raster/dirty.h" +#include "raster/frame.h" +#include "raster/gfxobj.h" +#include "raster/image.h" +#include "raster/layer.h" +#include "raster/mask.h" +#include "raster/path.h" +#include "raster/quant.h" +#include "raster/raster.h" +#include "raster/rotate.h" +#include "raster/sprite.h" +#include "raster/stock.h" +#include "raster/undo.h" +#include "script/bindings.h" +#include "script/import.h" +#include "script/script.h" +#include "util/autocrop.h" +#include "util/boundary.h" +#include "util/clipbrd.h" +#include "util/col_file.h" +#include "util/crop.h" +#include "util/filetoks.h" +#include "util/flip.h" +#include "util/frmove.h" +#include "util/hash.h" +#include "util/mapgen.h" +#include "util/misc.h" +#include "util/msk_file.h" +#include "util/pic_file.h" +#include "util/quantize.h" +#include "util/recscr.h" +#include "util/scrshot.h" +#include "util/session.h" +#include "util/setgfx.h" +#include "util/thmbnail.h" +#include "widgets/colbar.h" +#include "widgets/colbut.h" +#include "widgets/colview.h" +#include "widgets/curvedit.h" +#include "widgets/editor.h" +#include "widgets/groupbut.h" +#include "widgets/menu.h" +#include "widgets/paledit.h" +#include "widgets/preview.h" +#include "widgets/statebar.h" +#include "widgets/target.h" +#include "widgets/toolbar.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef HAVE_LIBJPEG +#include +#endif +#ifdef HAVE_JPGALLEG +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if 0 +#include "ft2build.h" +#include FT_FREETYPE_H +#endif diff --git a/config.h b/config.h new file mode 100644 index 000000000..3406a9e8a --- /dev/null +++ b/config.h @@ -0,0 +1,49 @@ +/* ase -- allegro-sprite-editor: the ultimate sprites factory + * Copyright (C) 2001-2005, 2007 David A. Capello + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef __ASE_CONFIG_H +# error You cannot use config.h two times +#endif + +#define __ASE_CONFIG_H + +/* general information */ +#define PACKAGE "ase" +#define VERSION "0.5" +#define WEBSITE "http://ase.sourceforge.net/" +#define BUGREPORT "ase-help@lists.sourceforge.net" +#define COPYRIGHT "Copyright (C) 2001-2005, 2007 David A. Capello" + +#define PRINTF verbose_printf + +/* include everything headers files to precompile */ +#ifdef USE_PRECOMPILED_HEADER +#include "all.h" +#endif + +/* defined in src/core/core.c */ +void verbose_printf(const char *format, ...); + +/* strings */ +const char *msgids_get(const char *id); /* src/intl/msgids.[ch] */ + +#define _(msgid) (msgids_get(msgid)) + +#include +#undef PI +#define PI 3.14159265358979323846 diff --git a/data/aseicon.ico b/data/aseicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ed2e0d1958314f5cc0ce1b06fc5b094701a9fc00 GIT binary patch literal 2238 zcmajhA#dA26u|M<4XmsM)lj7w8WU-LytB1Jg(bdi#?p|vBd_R+F*-4sNcCgw%DMP4Yt_B zsXeyXbkgty8o7o+g>clKj%rk{VNikRElmZ3Yn%x4z8X`2+J^Tuw-Zv`LXjF{~1=t5oxdgS#6&hKg#uBAkg4*Q@)GwPAYAjL85;az6)Cx70rQhFH zE;%R25suo^QFe#OB@*PYDo27#oCve8ZIXi8iGdY^94Qi&g4&6JRR%dyB$6VBfmH@M zQt+Lz8MU(+=CCry3^_7I?QDiQsGr$6X2_9IJChmauxgGO@=X5M;`cY^EQS{QlXDD) z^CU!P8r9w;BZgVg#p{EFFr>lILVrwnAC5JK1Rsu54yI#B;^n%H_W%`VxhA`g2wrU zEt9YqDa8GvK4CK77x*__3xs&QS?22Wg|4nG#`PAo{s-}KeWwZJ#rZcw{W#y>0I%K0 z!=nE4`AdELI$yU%EO7Ao{p)dr{R`6s?oQ)=^)d;s&&PcQZlAClo?b%y)cf`ExB=qs z3Cj(en1bUD858^<)wTKSNr^BLqDKE?q5QZm}PCA_qEC{T03k?hc3KkR$2wiE3L7`#cFcX73LLQ(XG!I}HsrK4V ztmt$qEGP)FrFsv;Q|4uV?q$m&I3*@k0z3M_@77i@|;$9x^2%Ou}HX zggHF=NkUj?Sb!G$zj216J;Mop+7q0nOYNPW18q=!pL`rr|CB9NC917eHOP`! z+NMtoHPyeO^0KIw_gOW3N5418hE6u1e5NWJKDU$ED{oIKG^628e%^j))3trqmR{R@ zZTs%jHsQ9mlaTX1!iJ=h8GKqRnQr-EMcgT~QQW*Ih1`aJzsJ zI0rs}EW{5CIRkzGBX#p;0h3fuMjkX!YLT3^FV8iG_EunjTqdZUZIX~3P$QYh+|yE aco*Y+j2QeL<2#I3I0Ykh9>Cm?`}rFa=@=LQ literal 0 HcmV?d00001 diff --git a/data/convmatr.def b/data/convmatr.def new file mode 100644 index 000000000..d295b96ae --- /dev/null +++ b/data/convmatr.def @@ -0,0 +1,324 @@ +# allegro-sprite-editor convolution matrices -*- Shell-script -*- +# Copyright (C) 2001-2005 by David A. Capello +# +# Loader in "plug-ins/action/convmatr.c". +# +# Format: +# +# matrix-name w h cx cy { data } div bias target +# +# References: +# +# w = 1 ... N +# h = 1 ... N +# width and height of the matrix +# +# cx = 0 ... w-1 +# cy = 0 ... h-1 +# center of the matrix +# +# data = N0 N1 ... N(w*h) +# the multiplicity factors +# +# div = N != 0 | auto +# final division factor +# +# bias = -N ... +N | auto +# final shift +# +# target = rgba +# [r]ed, [g]reen, [b]lue, [a]lpha +# + +alpha-maximum 1 1 0 0 { 1 } 1 255 a + +rgb-brightness 1 1 0 0 { 1 } 1 +8 rgb +rgb-contrast 1 1 0 0 { 1 } 1 -8 rgb +rgb-negative 1 1 0 0 { -1 } auto auto rgb +rgb-remap-colors 1 1 0 0 { 1 } 1 0 rgb + +edges-find 3 3 1 1 + { -1 -1 -1 + -1 8 -1 + -1 -1 -1 } 1 0 rgb + +edges-find-horizontal 3 3 1 1 + { -1 -2 -1 + 0 0 0 + 1 2 1 } 1 0 rgb + +edges-find-vertical 3 3 1 1 + { -1 0 1 + -2 0 2 + -1 0 1 } 1 0 rgb + +misc-contour 3 3 1 1 + { 1 1 1 + 1 -8 1 + 1 1 1 } 1 255 rgb + +misc-texturize 3 3 1 1 + { -2 -2 1 + -2 1 2 + -1 2 2 } 1 0 rgb + +misc-emboss 3 3 1 1 + { -4 -2 -1 + -2 1 2 + 1 2 4 } 1 0 rgb + +misc-marmolize 3 3 1 1 + { -1 -1 1 + -1 0 1 + -1 1 1 } 2 128 rgb + +misc-rock 3 3 1 1 + { -4 -2 -1 + -2 0 2 + 1 2 4 } auto auto rgb + +misc-rock-edges 3 3 1 1 + { -1 -1 -1 + -1 8 -1 + -1 -1 -1 } auto auto rgb + +drunk-3x3_x 3 3 1 1 + { 1 0 1 + 0 1 0 + 1 0 1 } auto auto rgba + +drunk-3x3_+ 3 3 1 1 + { 0 1 0 + 1 1 1 + 0 1 0 } auto auto rgba + +drunk-5x5_x 5 5 2 2 + { 1 0 0 0 1 + 0 0 0 0 0 + 0 0 1 0 0 + 0 0 0 0 0 + 1 0 0 0 1 } auto auto rgba + +drunk-5x5_+ 5 5 2 2 + { 0 0 1 0 0 + 0 0 0 0 0 + 1 0 1 0 1 + 0 0 0 0 0 + 0 0 1 0 0 } auto auto rgba + +drunk-7x7_x 7 7 3 3 + { 1 0 0 0 0 0 1 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + 1 0 0 0 0 0 1 } auto auto rgba + +drunk-7x7_+ 7 7 3 3 + { 0 0 0 1 0 0 0 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + 1 0 0 1 0 0 1 + 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 + 0 0 0 1 0 0 0 } auto auto rgba + +drunk-9x9_x 9 9 4 4 + { 1 0 0 0 0 0 0 0 1 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 1 } auto auto rgba + +drunk-9x9_+ 9 9 4 4 + { 0 0 0 0 1 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 1 0 0 0 1 0 0 0 1 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 } auto auto rgba + +drunk-17x17_x 17 17 8 8 + { 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } auto auto rgba + +drunk-17x17_+ 17 17 8 8 + { 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } auto auto rgba + +drunk-17x17_o 17 17 8 8 + { 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 + 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 + 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 + 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 + 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 + 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 + 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 + 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 } auto auto rgba + +sharpen-3x3 3 3 1 1 + { -1 -1 -1 + -1 16 -1 + -1 -1 -1 } 8 0 rgb + +sharpen-5x5 5 5 2 2 + { 0 -1 -2 -1 0 + -1 -2 -4 -2 -1 + -2 -4 48 -4 -2 + -1 -2 -4 -2 -1 + 0 -1 -2 -1 0 } 8 0 rgb + +sharpen-7x7 7 7 3 3 + { 0 -1 -2 -4 -2 -1 0 + -1 -2 -4 -8 -4 -2 -1 + -2 -4 -8 -16 -8 -4 -2 + -4 -8 -16 224 -16 -8 -4 + -2 -4 -8 -16 -8 -4 -2 + -1 -2 -4 -8 -4 -2 -1 + 0 -1 -2 -4 -2 -1 -0 } 16 0 rgb + +smooth-3x3 3 3 1 1 + { 1 2 1 + 2 4 2 + 1 2 1 } auto auto rgba + +smooth-3x3-hard 3 3 1 1 + { 0 1 0 + 1 8 1 + 0 1 0 } auto auto rgba + +smooth-5x5 5 5 2 2 + { 1 2 3 2 1 + 2 3 4 3 2 + 3 4 5 4 3 + 2 3 4 3 2 + 1 2 3 2 1 } auto auto rgba + +smooth-7x7 7 7 3 3 + { 1 2 3 4 3 2 1 + 2 3 4 5 4 3 2 + 3 4 5 6 5 4 3 + 4 5 6 7 6 5 4 + 3 4 5 6 5 4 3 + 2 3 4 5 4 3 2 + 1 2 3 4 3 2 1 } auto auto rgba + +smooth-9x9 9 9 4 4 + { 1 2 3 4 5 4 3 2 1 + 2 3 4 5 6 5 4 3 2 + 3 4 5 6 7 6 5 4 3 + 4 5 6 7 8 7 6 5 4 + 5 6 7 8 9 8 7 6 5 + 4 5 6 7 8 7 6 5 4 + 3 4 5 6 7 6 5 4 3 + 2 3 4 5 6 5 4 3 2 + 1 2 3 4 5 4 3 2 1 } auto auto rgba + +smooth-17x17 17 17 8 8 + { 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 + 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 + 3 4 5 6 7 8 9 10 11 10 9 8 7 6 5 4 3 + 4 5 6 7 8 9 10 11 12 11 10 9 8 7 6 5 4 + 5 6 7 8 9 10 11 12 13 12 11 10 9 8 7 6 5 + 6 7 8 9 10 11 12 13 14 13 12 11 10 9 8 7 6 + 7 8 9 10 11 12 13 14 15 14 13 12 11 10 9 8 7 + 8 9 10 11 12 13 14 15 16 15 14 13 12 11 10 9 8 + 9 10 11 12 13 14 15 16 17 16 15 14 13 12 11 10 9 + 8 9 10 11 12 13 14 15 16 15 14 13 12 11 10 9 8 + 7 8 9 10 11 12 13 14 15 14 13 12 11 10 9 8 7 + 6 7 8 9 10 11 12 13 14 13 12 11 10 9 8 7 6 + 5 6 7 8 9 10 11 12 13 12 11 10 9 8 7 6 5 + 4 5 6 7 8 9 10 11 12 11 10 9 8 7 6 5 4 + 3 4 5 6 7 8 9 10 11 10 9 8 7 6 5 4 3 + 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 + 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 } auto auto rgba + +smooth-5x3-left 5 3 0 1 + { 2 3 2 1 0 + 6 4 3 2 1 + 2 3 2 1 0 } auto auto rgba + +smooth-17x3-left 17 3 0 1 + { 14 16 13 12 10 8 6 4 3 2 1 0 0 0 0 0 0 + 24 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 + 14 16 13 12 10 8 6 4 3 2 1 0 0 0 0 0 0 } auto auto rgba + +smooth-3x17-top 3 17 1 0 + { 14 24 14 + 16 16 16 + 13 15 13 + 12 14 12 + 10 13 10 + 8 12 8 + 6 11 6 + 4 10 4 + 3 9 3 + 2 8 2 + 1 7 1 + 0 6 0 + 0 5 0 + 0 4 0 + 0 3 0 + 0 2 0 + 0 1 0 } auto auto rgba + +smooth-5x5-diagonal(\) 5 5 2 2 + { 1 1 1 0 0 + 1 2 2 1 0 + 1 2 3 2 1 + 0 1 2 2 1 + 0 0 1 1 1 } auto auto rgba + +smooth-5x5-diagonal(/) 5 5 2 2 + { 0 0 1 1 1 + 0 1 2 2 1 + 1 2 3 2 1 + 1 2 2 1 0 + 1 1 1 0 0 } auto auto rgba diff --git a/data/fonts/allegro.pcx b/data/fonts/allegro.pcx new file mode 100644 index 0000000000000000000000000000000000000000..505a871c39db9bce30b4e632f8d8e5117ced3088 GIT binary patch literal 21269 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 I{tE@hAA``?OaK4? literal 0 HcmV?d00001 diff --git a/data/fonts/anipro2.pcx b/data/fonts/anipro2.pcx new file mode 100644 index 0000000000000000000000000000000000000000..9a5500d62402d60433775308b4ff3516212b8faf GIT binary patch literal 4423 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 V7k)Z+4Asx`=UD^)ZyJ!-{|_eICIkQg literal 0 HcmV?d00001 diff --git a/data/fonts/lcd8.pcx b/data/fonts/lcd8.pcx new file mode 100644 index 0000000000000000000000000000000000000000..a5588f2a55d10961ed95221b4988fcca7492d024 GIT binary patch literal 6068 zcmeHLNpjmT5CjjYN~Q9sJSBOmC@G8Wyou?a?!jirvCBH-5SB@7gXvj%K+2y!Y#$4+ z?Q8k6{VYd0aN+UVzYSN}wr`>2?GK{yx*n(FdwDqavX!R;kF7jLvupCqX1m~7^xP?T zw%8fM+|B!fdA8^BJK7iYmdgggeIw|@0n9+b;E8tZP}&+VvFQ;mv2}rQ?Nq`{x?ung z=pv1l1N1g5kp;beZ|woDU1Z8RG{a09rqFPEuiY|X5Z9u^=y=zxJJzulCP`%)IIGV2 z#E+z8@U>Oi1GlsLqJZoLI}jM`XMiXb-5Y_YQ7yUK637^-LFaMdXugA&u!sWZeu12EFE!NRS~*jQ}X8-zirqSqSO^%0ywR zZ3O3UV2SnSx3-5Upr}tKFmzVsh6?GH3=pE1(qqLkgNGAHY1ak%eYFY`hdYLTOmwpol1n)RvbG4{ z)U=|r-ma8~8PChCi06o<*S?%LRF<>#RHtJ1;D()_y|K&)1g&vCbzZ}zK8OJ77l+6W z!C#0OtBS=qGdpV1s8Z0z-lAY&4RkXDReat(ghl|Bf~!KC=jMXz*IU`#r*}FAUx&fM z4|_N^A*VplRP_*ZX81?>g_CWRA4e7(Czm51+gQWflH_1)+o$VGP?UZNh-8mfw_9k| zkXSnN1!lv9<#JMrhtRFDTvA>f8@*6HCoBfjPDLrSiquK(w`>%WY{;-#GQF}^e||*# zAWsL^K#-5~F3m2b8Z4KTwIvV>zB|TTBvvtvoEW29X34xLmo0eLSI*!1 zS#{Ym@_D`QYqDvYzL`DaIhR&~5rLG&OrIt*m`#$o)UU#xKC6Cmj%!(9 zDc8#5KE3A_+0z7^TbCVUj2}^OFKdH>Z`NioYhwuUwsNMtR$sa*DStioMKz{$IqDfY zfPr32OvM^^Ben6u=omK&ctne%R>f8;t!Kvc14FX2U-3UA)wr#hpvJI>ua<1h_=_p+ zLRrxTRZD+P$gx;^PPCb)^B8!D eOXoS9{R0LP5-G*0@;U7!5=anu@6P}!R(*QA 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 b-&B_VmknQz8)~k;UjDsU;Q!46iu(Tny94fm literal 0 HcmV?d00001 diff --git a/data/fonts/mssansserif8bold.pcx b/data/fonts/mssansserif8bold.pcx new file mode 100644 index 0000000000000000000000000000000000000000..66d7b2a9bb40b062049007016f052af1f432e073 GIT binary patch literal 20141 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 literal 0 HcmV?d00001 diff --git a/data/fonts/tahoma8.pcx b/data/fonts/tahoma8.pcx new file mode 100644 index 0000000000000000000000000000000000000000..09594eebab9a4e4914cca2ac766795eaf956f77e GIT binary patch literal 16903 zcmeI333}T&5{0Skd#*HBmu%UNo$kKE%t@{b75!8g37};qSxc@cnQz-1z=>xH?=9- jHB&h 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 Pp8q{-;NPYJdHw$ZAWUEP literal 0 HcmV?d00001 diff --git a/data/fonts/terminal10.pcx b/data/fonts/terminal10.pcx new file mode 100644 index 0000000000000000000000000000000000000000..b1e233b396a6db49ef185e3df32106184c9ab695 GIT binary patch literal 16642 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 literal 0 HcmV?d00001 diff --git a/data/fonts/terminal8.pcx b/data/fonts/terminal8.pcx new file mode 100644 index 0000000000000000000000000000000000000000..2afec500b809673e7e9cd32f73ccc25067c25d67 GIT binary patch literal 13815 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∾xLi^d5$rb9g~Q}k8<8Yl=dsH>jirRrAcS}n_i>H;xLiWYfsbK& zuL)3+B07vXD|vl{Cx*ALbeY39zwa6A=>w|WtLi-H-lf9C$!}e%zd@{uBf9hyp7oJ| zeIv|FjWcx?Xc24%5@x}sJ!d@HWW71PoPf41DYvRC#}b<|TlLOrAQob(DT zb!eT4NGr$A&QS&%NiM#Jv&n!OZgc4r3>1;f6$>2X^-QX7NL&n5zBe$GahUI5B%@vv zbYNn7X2yXIGihdo3UZi9Yra)u6~V|dO1B@7&dBS44rvup^`=x}n%hG0iMO!x?0$Cb;rAnK>{;f=?c zsG(3pV#Y(r)0H7ypmB#&EOd#J1yOplkpZ~*APY(pNq!g__c1UU7hYE_#fI>-jZ`++ zB0~echscnjL#uP zyNyi93L#^`^} z`sgCE&ERwskKdy%LBgBew@h~(L&tI+UyFO#+GieG4`k_c zX~lFrX=NJ5?vF_P`j~y4*{pMQGg-BH=8!6UYO6W6v{}27)2N4nq-OeE2L-u1Qzsb8 znLIT{Ycd%#-;}3K^uI9(Bvgi6Rp)ZaSC5d?#RRF2XeAw_=k@UtgO^eB)`=L+n;vec zZ5SWMI+VKsb^EG%hs=x=lt6$~o<|M(VvmeZti-0Y)8MIF_2D{{j<)v8lB=EW{e@%w zt7J1Zv5g#a-rhaQPp}*0xV>ehIdJPd;3BkPkpoc>cq&R_Hr@H;1hlrhbS3oM#bt+N zZGSG}KAj0D^;`vKg16_!92DT*5Gri#o#U?M zFyvu1o7C~hH3kp6>dWKb+fXsb1RKH(V`MoR_sD*owSIreYa~ZSWFxPjW9pQASVM8l z+KYL>-;YA9+dWSqtg_F7ILcV83ic(^z+tk4*h^}OP-TJ|plqQfJw3egS5btp+>Vjx zETV|OWL>+08f^L=wk}!>9KtH$bqJ4fKmQC-_Hztb!Aqr5RSyF_U_}`4-cbi`vqpkH zJjF^69j0xVIEtz@xlfs=RWixXz;zgZahp$sW4*J5SO&s=UQ9-0%zThca1TdJaE9@H z78`^?2&sFjB&F{_&}od6visSt{XJbEHf)@si&W@&ECfHraqtnks@2{e6EmmorWmr$ zbKS6P_;rpV_vi5gZMR9YC>opRnY3ZoL3e~Xu5*%B3QmG@0e0(>S`33aY3f0D8TW+e zS5U}lVkVGd!BRj3l*~;6oH;eJWZb-f;K9)KGK#Vdd)$XY`gNwN&Q;#PLgY(7*FmB3 z&37x}u2IHOdB8PP-Z?sLhIbvk>qu!XcB@}AX0OwaBDsFY2zY76@O9UaIeI3%&e}ET z=q-5oZf;pX*EvE@N8j%`nRwUHX?wiu=v_x|HDh?s&o5tPUT0SBThta6`EEf<-l- zVQkxv>OX>T=L!gQOaUl#6kEs97X~4{->U)YV&7KE-P!=PrbGqiEf_HLf?nvbQ0g^0 z^CCVvZYU~PWchOlSBA)Ka1~LL&^&~KGZ%#cmi@bqS)9n)`Gi#L1fB;gFm#;k!N3GI z72kwSRBz40XzBt7%TD?9#xXe?Ap4vE=hGkPnTMD~5u42*IqWRvb2$bK`y4~`t@#wD ze9|R7NXtfklyQU zr=jblz{u$L1<#X%NXU(f^6|X8G~B+>$s}2$!c=2Waepr_M@jN{`6cf_^qNiw<#-~W zyAM35iL*Dv2ztUGzdeQ0p+)Q`fEcdvRToE}co!nxeQq^@i8?%}Sj0;unQx5jQ8&jd z5zTLl&XP_USrLn0jqZZMazMa;P0AhspcS@Ms1 za1U^w1Nw!k)uTLrCU_iTjG!T`gw3NgUp%u(HBSYnXdy#RFo1TOUyW+VAVt0KgQf0U zBfdc4Q(vJ4)saXk6d}el+%%lvdpIva+soW1Q7Vo4AY>F8(0~F*9Ttq0);5`Qpn?qP zH>{|PUyr}aT2YH(*QW@}fhXT3u_EWvFjk~PB`(-i?G9Uv;;3EcEW|u8X5t;GQ@QuDcS5SMr6qqoE)ro4J| zK=w__IkkJ(nQHh$xF25V`_tfrf5#6&#FUPqZJ>q_Lpuj30J=nAfT|YFW6h9qpTyGD z1tZ#HO_%00k{8lqhzJ^jA?92`9CtjUjH;r3P+ek&2)S5TTk5cu8F=U!Imh?-CUu1& zG3;*?7DH<=&LYfSBSGa3p>zhk_Jlc0!FZ*@RJy&%SiDnLYEVT_knL;-leE!Oe= z9@wFPu+xP#h2bXs@W$q7X;D6+`3rH2=k2St@8#IJW%$`^O`f@U>HQkgKmue#Pfh2_A2(<|{}NK-Zogl$ljRzyK%J zMQ$~`1dpb8$ne}6=;H;a_~?<^xozOcqQqP#gktxH_pFYWA`w*TjjX!H)RxPEk=#No z8mSv!^HNTvHZFmY;3&B_wdGPB>5UD!oEb;>Go0|F18LrHOV3TtQHsFwm(Wtu;Axow z+iZc65Mrv5==B2Q3@SOB6J5g;u`47M!!q9@yp#>~4`DD((xql<%ca?{gLE!bi?Jg% zHQA475l!PzkhI6!0G(YBERMk^RaSHTIxDKFogC6SoP-nebSjMaJmG|iOGe6kjnMP( zc{ziQ$u{ocR4@;PKIVbL!y%Edc$x;Zj5C(!2j){0t}_{TuKK$Pmf7X_4xrm8S*?$s zWePYk3&Ph?3Gc)e&nKfxSdwZWBvYfJK}!J3m!`rA>GQ}mzVtAp#zhMlX= TyA=oedjEUZ!2g>D3m?smIp&z?Ph{`|#@7cXDFeD&(p>({T}ym|BX?b~3>I8vaAWV-_8|Yss1uuZL?9(BI+6 z?Tvag;-@Ma^}ULiyc5pNpdnM?FGF1qH_U~iz;6TTTF#y*6wvkHoQkpd5;@ zNU60|5S((wG?sblnQ$pZg#+kz1|V(?J{6*)&wNLTZfewAh7m-TM~F~DX-e|1De5$a zT;}^qgr;WuAQf)swH2x~nq{=UotgjyY$X=0N)b@P`|9UVH^=q6t4JJBx%2^n4+*J0 zx5GCn;L^$~7*78ls}~$Qk<#>a1q-NO^Y< zj;wy8;@}xIGs}WGh?&%=?hd*Yuc6k$N`EpLU&D_>Ap7wUcqQZviNQZ$Mpqb&{B~t4aFLP>-nPTBHDXb*AUK4R5sjV|rUJfYDxU)35E}J;nuVJYj z;}oeAx|;!x!ZwXA?dPB zS?LtTkgDTubWaHHRlmaOxczMev{5uuf01v*PGG1kFfmZs zsCvyo%!-v-a1ibUe=`oqm887r*F8)?Jsy{9Yz({GUQWqdEKGZ5_^C+4^C;#Q4a6^z zirhvApY~g|mZ+5pC*U?fbp_KBF_PaDes4407u{>3N+MJF5U5F>R!{3s!I8$R&d@zo z{e|%1AeV(l3!{x5>H($6R6@r^PrZ47JXCz%9>XwFtJS<713`1of*Tj>Lx8YgHIr@e zgf3f`Vkho@C&)?+l`!s?K;UElNGdI*oxk()hy*t0nL3NaN_>=+`1<7crztoy$sV#w zB&lLtao#erG`qzBqnC8#H3`~i>#Yb7IZ9?k z=Qfkm)w{!rFg1+*3~9*00ex*%QR`?1=C(3sPvIy2XyQcbDQJQ>e!T^YFo^^T1F^u1 zwVNta_zHp(;C`r-wl{%m5Zmw^n>E^|zzYjEfkX49u^DE_iA3uH=V*1-N^9J>t4l0& zu#q1EYm=2n}kBtoeeaHb9{@}ZK=Rk zI!)@9rNc&25ys?{7SMVIeyz-PVsBX8978b~0r*t1wLq<%y(b^qDJ!{A{}mL{jF7`W z&4@#pwp>fK?&8OT<#BVCtlTyM!5Tdqp!EiUyx6xE1WQY6?9Itt@jT(EMGLT z@R-EB7N14Oh{g6ud;;0UR84E;2v~dZXt;park6Amz;G+ZoR@H-(ybykh4&`3)dF#$ zi&4T+JL@7&jfltcnTKifY+NtgfnoQH)Pky+@}>2FZ^`5QT{}L)-yMNYDLwz(SDkGv z_dGq=O#W#KHzZy^&ULI3F#;>Y7xp7dX6#LKgOotwt|KwVS}?W}zlYu!`006qah?&f zntI2Vo2zjdGTE-t-*_$(?KH(969TA0bg>vLDHcT7R)SUGw}vYkrD=^Or5IVnIX_y1 z)&#aC=dr~dBEy2kI|H5|1s$Sk5_T`CS+XV}Q9LVkAhS@N;}$mvC?Y1EH^nEaT9Y}v zuW7pSOqW?A=VKQ!IzB2EkY%G(FVBiIfa&gj)H%1Di{Mloet${^2lE36o`^{3)z7wb zDP}zM<8!Hp&SsvrJE7FycV$E6i2SF@Cl12SPgeLFJn^?j+hekUGs0sjJmtSWn?7Zq zr|jcZ^*{CeE8M@r6QA;5rbkY=hJR~e>b)$RwffX9F;WAR)wf&Xt=jA9q20+#<2(^!^AS+9fa{-V4Zns_dms$S`CI z2GuyXs{K=QRBP{&T~-LdvLIuM*HOTbB7{94n#h%mV3QF!sSqKAwJ(cgF^9x$O1GJLFuGOW65@8;EKB4M~qk)Hn@sd*M z`dmubo_xe3-;IkszNO8Yor;4>@?$oVa;VD2_=yElU!_)>>l@VYHD|M{1#M}(z7fXr z^1I<`ioU{1@>zs;3A!ttJ4D3~(pLDrUij@lF%zT$z}EezJfzC2l0KDizR+VG|Ko9^ zGhR8Na?bK9zY({KYrMGCR5R*m!;Qqsv?cz4j_6umHLg?GwDx#-HZBjvMs92EJ~tsj z#(H2cl^rcpNvAbs_k2ZbQ-PlUyr7|;UtnSqnryV805LTCaChzlufHeuGT-!}$9;ue zmFrOqF^G_+NM4tyY|n;JcJk9BQyzJUWtmjLKaL3NPK`WodCjO^*rLp|5RZ#7nL;e( zmFNuB_+`_2Gv-tYQTjBA_p-#c8cvnzm44zOm!GdKHNXt$x{3{KaKAfYw+W}X zXzhU!dA$E-k=0Ka zN)B`g+sMZLT0M7EkjAdk@7HmwuLjPu6hpM;d`7As|9i-JgYM01EPff-#s?H+;|Va* zpYxuSv*?B;KO*2aw|*Rn{<^L!2L84yrC8ZolHXbKb|-37+lkejP{+Gfa$xmbp&fW_Cw=<1a&7jQ;w%}GO;;JMb{YH7@O1CA zI=}t`x#WVe#=}60x^qf6X|p~6`+NLN64kL!-?c58%V`xT>^FM?+|P+TKKVeE71A7u zdL<<%%C!;Iww=Pb(3HWKIc4mHa1mV{$pA%#bcEy7LX(B6gD_J~rjjfs8D*M^M2nR! zWY5eA;%Q*xVr(x9M&hNEd6^K7^m!*b?j`Z4cqpFEDf1kI#;Wad2%7PP=;es4aCyG; zAZ?A~d}1ecgks0$T%RoK2|xCi9+x9$K;w*QJHm@2emkyC3@&jS*kj?-y5WFZI6zP2 ziQ=H@97*^|(t6H6S!#T8P}OsZtz6j4%B-D!jN+_TFQGPfU1^S7W$(?(WmrNN14DIr`g_vA|CheN{?q+yckkM6_u|EimoHzwdiCn{>(_7Iym|Zf?YnpH-oJnU;lqcIA3uKj^y%~G z&tJZL`TF&1x6?oU{MSSt|8vZLhvU`pw)=M6cRyS{ba%(Q?&0{eyE#(7>3+KX(0zA1 zZH(oblCg6NH{I^$$waPqoj%`^{fLm-e+rVjuhsKi7alN$b?A0IFoyp)>c`Xe>e*dO zitFx1<%7!Wof`KNn5I2lu%Z20FkE~;GR;IicC3UA+(g;4;mzkDb^t<(Wa#=g^Oax) zZ-Jef03K?GNSN-ryWNSFIHCJuq<)cVcwx~ot5c$_@RHh5{Gdg%qfxS@CP5YsG-j73 z>+a~rhtN%UQ+7=ylVDivhJj(QUb>JBOD?g(I~NoQicsNtLa$bQ_eeb*bzFuvVAma=E`jXH74hm&n6co9pa!!t2PpMp2{TIp?puphhKb6$hkrzBuSAVqKk!yo>5s2XLQCIUCvH zDE8g%F6F+H7$iIZEOMrc)LVR%j^|8kkjC=CR(p!lbcu_mOIXugWT_sTQIJdw)>d>i z(41@nT;EVA)myUCgq1_ps0TYoIF&jR?$}3*?Jy|)FW@aS_dFNe84yU@#yRyo3;oJOUp^EvBVck2KtoS3j=pp7rezIK#?p%|}BTiW~F~bhp zCox^IENOAXz;7Za8iwMT0~DsH%cT0r*`$0bF1i`-1js0Qt^=k_q63vCtBUgBBpehy zU=b&M1clg1IT|Q{nPUm#h|>g!Zzy4&g5h*D)d&mT0fKWy=)=|1D8g(azgZm!c*;Iw zg|ujF2v2QPLN3Bv1Yt110Oq{Ev}5gMQ}w73@fr;|ZQ{JpG`p9lVv5nr6l>I+gpZ`qc)$ECEt}taP`knz;)RL zvW$)TfW!%GNMyPsMOMaC-1S*&Z0U#`JK-KDp1ETmz}G!*k72hYR|rdc-8W1fM?$8_ z2n7atZ@9$jEEv09O2YosDJS97%>s*U!9%t>g~ntv`1TqZH<&6B(d$TxDU_Uw;3v?G zO*Ds6tj0iKOv>X`aJ`HNeoh&X*_iqg74uWjR4Ic)cxMnoXsjyfCOR18mKbALGCVLVybxbQh~vXRis@mU$^*lM zy{ILgD+E|+cvrHT0}4U9;Xp@B zyrYSy6QRpI(D%-kmeUA=xdk!eMh87N#19R4h%>blHX_D3fK%egl(CnKh0wYJf_>hu zRsg6OZJJcv7J6hTZdw0!&0h0kvokBUf_Z1nL{!oZ{GvwQ&At;BZ-XInYlh6J_$<1N zSr;VYeKS#EB|4$G7PU~Uf9G=*qc8c!8Qf(QBG3H3Uk;|iPybZ;jDY*dpVEHueMVp_ z_^$ptqwSJxz}(Ao%5(l}?fdNa&)FxI-IWRdRQXqU;&cAX^vJtx-M{+-F!pmC)KS)! zlsYMy1t+UuzC2Z+El+8mPQV9xs}N$#Q=81QAha^p?lq4ybE5>pW}P3~Q4W*5IfVho ze)0I$hfHH3t7{}^b6^^;jj3VIMreXO_*L_)Ti|&&ko(8d<}jdV72EVl$O8a;p2QJQvq2I3uFG1DYeKth;sgQt}<(APK)mTNDATV!YOvt**=Evfh= zJ8$Ux{z)9)ikn%UVp=@R(p-IjW|jh`PrTg(E%eAU=BbSF$_Wmt0q3L~7=~7d>u?mS zexlac%%%B8+}7kv6XugCBOmmM8F1QOI5niJRKyKThQ8izD97VNHMFP0VJJcB370Py z+46>J-$t??Jiz2sL~dVy6&}j^LY*(t(S|*19Ixf^xRa8$I3q-wnoaq53esY|y90qd zws;&J)XkYq(y{|8B=EzE#5|Z+3^nrE<9RF>(-B5ZI%2x@o1xSWJVxRuNHyNOjgj0= zHF97n&T*mN(u1a{bQjA`;3x&8rZtAss*rvJ!)TBmRQ1}ghz#-vDfJc-5rbtx zf#}|(QKLIV3wHGg!j6MQds~knNR|4pMSyMwb6YqBD*)EO06_E6g(d}5Lx{t*5dxUj z7jia3F`tG~Z*^N(M_)IHsL{#?eu(EL$RJkm38NPam&moo0yh>-zZGoi&V;6Jrt-6h zjO7rHBe9maW(mvVlfj%)DDpI|?I{e`C3ld<38cEV3EYAz>WP0nVx*UQdN}@2l5*VD zC!s=%#;+E*V5E3|g1cnaq`35`tQFtlSNt^@BYTxXl}dzJl`%lh?SWuGp6S;h%(FOE z@~m>?IhLh#vc1%rLXYF@I8u|Gbn!Q0arS%F8(}-cy-a(EWlaWgzB@24N?&Vbq%A9# zP*;3b)IYkKnC2KnvT0mHQtiJCkqluanfHoSis@Pj7!LE%&FL}{k^acxm#IN&BQC`I zNi{_Jg>LdB3Cb0%#4Wa#gez?@lq$FYBnz|(O+$aFmfLWGsd=*;pk**4&1paz9p>NiX*lfzZRu# z^LF7{jTv(;3RA7p9yyK<2&i=y43LsIf+Q8a6z@rnIP9^I6h4_XWkVRKgWe zs6HspL{OZ9TUR{#rFW)|Va_JV*lPkro=2Y2_>??w*zt`0y{#q;!yZBw! z&P0|{Se0`X=bdI-;ibIRjU&a&fUW V7k)Z+4Asx`=UD^)ZyJ!-{|_eICIkQg literal 0 HcmV?d00001 diff --git a/data/fonts/verdana9.pcx b/data/fonts/verdana9.pcx new file mode 100644 index 0000000000000000000000000000000000000000..ed683fbe6f8b209d85e571c51292de546a566765 GIT binary patch literal 21344 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 C7~q%y literal 0 HcmV?d00001 diff --git a/data/jids/colcurv.jid b/data/jids/colcurv.jid new file mode 100644 index 000000000..fa08a27c6 --- /dev/null +++ b/data/jids/colcurv.jid @@ -0,0 +1,18 @@ + + + + + + + + + + +