2009-11-22 David Capello * src/jinete/jmanager.cpp (jmanager_generate_messages): Added support for the Close button in the system window. 2009-11-21 David Capello * src/modules/skinneable_theme.h (jtheme): Added SkinneableTheme class. Thanks to Ilija Melentijevic for the graphics. 2009-11-17 David Capello * src/raster/layer.h (Layer, LayerImage, LayerFolder): Converted layer to a class with member functions. 2009-10-17 David Capello * src/commands/cmd_configure_screen.cpp: Fixed issue #2874422 "More screen resolutions" (Philippe Michael Groarke idea). 2009-10-14 David Capello * src/core/app.h (IAppHook, AppEvent): Added IAppHook interface for a cleaner event/hook interface. * src/core/app.cpp (Option): Converted to a class. 2009-10-08 David Capello * src/modules/tools.cpp (tool_marker): Modified marquee tooltip. Fixed bug #2874453 (thanks to Philippe Michael Groarke). * src/core/dirs.cpp (filename_in_datadir): Modified folders to load data on Mac OS X platform (thanks to Trent Gamblin). * Completelly refactored all the commands related stuff. This is the beginning to implement macro recording. 2009-09-03 David Capello * Version 0.7.2 released. * src/commands/cmd_close_file.cpp (close_current_sprite): Fixed bug #2847210: "Save" button when close a modified file was not working. 2009-08-10 David A. Capello * Version 0.7.1 released. 2009-08-09 David A. Capello * src/dialogs/filesel.cpp (ase_file_selector): Fixed a bug where new sprites where saved with lower case file names in Windows. * src/jinete/jentry.cpp (entry_msg_proc): Process Windows shortcuts to cut/paste (Ctrl+X, Ctrl+C, Ctrl+V). * src/jinete/jclipboard.cpp: Added support for Windows clipboard. 2009-08-04 David A. Capello * Version 0.7 released. * makefile.vc: Prepared to be compiled with VC++ 9.0 Express Edition. 2009-08-03 David A. Capello * Modified some error handling code from return-value to exceptions. 2009-08-02 David A. Capello * src/util/render.cpp (merge_zoomed_image): unified all merge_zoomed_image8/16/32 in one generic method (and fixed critical bugs). 2009-06-14 David A. Capello * src/commands/cmd_rotate_canvas.cpp: Added. 2009-06-11 David A. Capello * src/modules/gui.h (JWidgetPtr): Added to automatically delete the widget in the destructor. * src/modules/gui.cpp (load_widget/get_widgets): In case of error now they throw an exception. * src/sprite_wrappers.h: CurrentSprite class was split in SpriteWrapper/Reader/Writer, and CurrentSpriteReader/Writer wrappers. * src/console/console.h (Console): Added the class to automatically open/close the console (with RAII idiom). 2009-06-10 David A. Capello * src/modules/palettes.h: Added CurrentSpriteRgbMap class. 2009-06-04 David A. Capello * src/raster/sprite.h (Sprite): Added m_write_lock and m_read_locks members. Added lock(bool) and lock_to_write() methods. 2009-06-01 David A. Capello * src/ase/current_sprite.h (CurrentSprite): Added. 2009-05-31 David A. Capello * src/file/file.cpp (fop_free): Fixed a mutex-handle leak. * src/raster/undo.cpp (update_undo): Fixed a bug where the current open-undo-chunk were discarded if the undo-limit were reached. * src/core/job.cpp: Added Job class to do background jobs more easily. 2009-05-30 David A. Capello * src/raster/image_impl.h (ImageImpl): Changed the implementation of images with templates. 2009-05-20 David A. Capello * src/commands/cmd_sprite_size.cpp (cmd_sprite_size_execute): Implemented feature #2671468: Resize a sprite. 2009-05-17 David A. Capello * src/commands/cmd_canvas_size.cpp (cmd_canvas_size_execute): Added command to change the canvas size. 2009-03-08 David A. Capello * src/modules/tools.cpp: Now tiled mode can be specified by X and/or Y axis (Scott Wilson idea, feature #2636076). 2009-03-07 David A. Capello * src/util/clipboard_win32.h: Added support to copy & paste to/from the Windows Clipboard (feature #2577954). 2009-03-02 David A. Capello * src/dialogs/filesel.cpp (ase_file_selector): Fixed a bug when the user presses ENTER with an empty file name. 2009-03-01 David A. Capello * src/widgets/editor/cursor.cpp (editor_clean_cursor): Fixed a problem where old_clipping_region can be NULL if multiple editors are in use and PASTE command is executed. 2009-02-25 David A. Capello * src/commands/cmd_save_file.cpp (cmd_save_file_copy_as_execute): Added "Save Copy As" command (Scott Wilson idea, feature #2636076). 2009-02-21 David A. Capello * Fixed some compilation errors in gcc 64 bits (reported by Scott Wilson). 2009-01-24 David A. Capello * Version 0.6.1 released. 2009-01-23 David A. Capello * src/core/drop_files.cpp (subclass_hwnd): Added support to drop files in Windows (feature #2419098, David Campo idea). 2009-01-18 David A. Capello * src/jinete/jscroll.h: Removed. * Added 2009 year to copyright. * src/jinete/*.*: Fixed the BSD license text. * src/jinete/jstring.h (jstring::split): Applied the patch of Clayton Enga to add the last token of the split string (bug #2511762). 2008-10-18 David A. Capello * Version 0.6 released. 2008-10-15 David A. Capello * src/core/app.cpp (tabsbar_select_callback): Added support to close files with middle-button. * src/dialogs/filesel.cpp (ase_file_selector): Better handling of special file-names in the entry field (filename_entry). 2008-10-14 David A. Capello * src/jinete/jstring.cpp (jstring::separator): Fixed for Windows (\). 2008-10-13 David A. Capello * src/raster/gfxobj.cpp (_gfxobj_set_id): Fixed (the object is removed from the map before its ID is changed). * src/raster/stock.cpp (Stock::Stock): Fixed. * src/raster/undoable.cpp (Undoable::crop_sprite) (Undoable::crop_layer, Undoable::autocrop_sprite) (Undoable::replace_stock_image): Added. * src/raster/image.cpp (image_shrink_rect): Added. * src/raster/gfxobj.cpp (objects_map): Replaced JList 'objects' by a 'objects_map' (a std::map). * src/raster/sprite.cpp (~Sprite), * src/modules/palettes.cpp (exit_module_palette): * src/commands/cmd_palette_editor.cpp (load_command): Fixed a serious bug where palettes were not freed right (jfree instead of palette_free). It leaves dead-pointers in the collection of graphics objects in 'gfxobj.cpp'. * config.h: Added new overloaded new/delete operators to use jmalloc/jfree (useful when use MEMLEAK detector). * src/core/file_system.cpp: Modified to use "jstring" instead of "char*", and "std::map" instead of "HashTable". 2008-10-11 David A. Capello * src/dialogs/filesel.cpp (ase_file_selector): Now it uses "jstring" instead of "char*". * src/jinete/jstring.h (jstring): Added. * src/raster/undoable.cpp (Undoable::set_constant_frame_rate): Added. (Undoable::set_frame_length): Renamed to set_frame_duration. * src/commands/cmd_frame_properties.cpp (dialogs_frame_length): Added undo. 2008-10-10 David A. Capello * src/util/misc.cpp (ClearMask): Removed. * src/util/clipbrd.cpp (cut_to_clipboard): Use Undoable::clear_mask now. 2008-10-09 David A. Capello * src/raster/mask.cpp (shrink_mask): Fixed a bug where image_crop where called with w<=0 and h<=0. * src/commands/cmd_clear.cpp (cmd_clear_execute): Changed to use Undoable. 2008-10-01 David A. Capello * src/raster/undo.cpp: Renamed undo_undo and undo_redo to undo_do_undo and undo_do_redo. (undo_clear_redo): Added (used by Undoable when the final result isn't committed). * src/dialogs/aniedit.cpp (anieditor_msg_proc): Uses Undoable to move frames, and move layers. * src/commands/cmd_new_layer.cpp (cmd_new_layer_execute): * src/commands/cmd_remove_cel.cpp (cmd_remove_cel_execute): * src/commands/cmd_remove_frame.cpp (cmd_remove_frame_execute): * src/commands/cmd_new_frame.cpp (cmd_new_frame_execute): Changed to use Undoable. * src/raster/undoable.h (class Undoable): Added. 2008-09-30 David A. Capello * src/raster/gfxobj.h (GfxObj): Converted to a class (and all the hierarchy of graphics objects). * src/tests/: Renamed src/test to src/tests * makefile.lst: Project converted to C++ 2008-09-29 David A. Capello * src/widgets/fileview.c (fileview_msg_proc): Fixed a bug when the user pressed a key to do an incremental-search but no item where selected. * src/widgets/colsel.[ch]: Renamed from src/widgets/colsel2.[ch]. * data/jids/colsel.jid: Removed. * src/script/: Removed. * src/util/functions.c: From 'src/script/functions.c'. * src/script/functions.c (FlattenLayers): Fixed a bug calling 'layer_configure_as_background' without 'undo_move_layer' before. * src/util/clipbrd.c (paste_from_clipboard): Fixed a bug when paste the clipboard outside the sprite. * src/modules/tools.c (M_PI): Defined for MSVC8. * src/widgets/colbut.c (colorbutton_draw): Fixed compilation error in MSVC8. * src/widgets/colbar.c (colorbar_msg_proc): Fixed a bug little bug when drop color in nowhere. 2008-09-28 David A. Capello * src/modules/tools.c: Added new Curve tool. (control_tool): Added support to lock lines in more angles (feature request #1961397). 2008-09-27 David A. Capello * src/widgets/colbar.c: Added support to drag & drop colors (feature request #2109224). 2008-05-06 David A. Capello * Version 0.6b2 released. * src/widgets/paledit.c: Added the 'All Frames' check box. * src/file/ase_format.c (load_ASE): Added support for preview (to load just the first frame). Removed link-cels support. * src/raster/brush.c (regenerate_brush): Now the 'angle' modifies the square brush. 2008-05-05 David A. Capello * src/commands/cmd_duplicate_layer.c (duplicate_layer): Fixed the duplication of background layer: the flags aren't copied. * src/script/functions.c (CropLayer): Rewritten (more simple). (CropSprite): Fixed to crop the background layer right. * src/commands/cmd_merge_down_layer.c (cmd_merge_down_layer_execute): Fixed to merge a transparent over the background. * src/raster/image.c (image_crop): Added the 'bgcolor' parameter. * src/script/functions.c (CropLayer): Fixed. 2008-05-04 David A. Capello * src/util/celmove.c (move_cel, copy_cel): Fixed to handle movements between transparent & background layers. * src/commands/cmd_new_cel.c (cmd_new_cel_execute): Removed. 2008-04-27 David A. Capello * src/jinete/jdraw.c (ji_move_region): Renamed ji_blit_region to ji_move_region. * src/jinete/jwidget.c (jwidget_scroll): Done. * src/jinete/jdraw.c (jdraw_inverted_sprite): Rewritten to use Allegro routines instead of get/putpixel. 2008-04-26 David A. Capello * src/dialogs/aniedit.c (anieditor_msg_proc): Now the user can move layers. * src/script/functions.c (MoveLayerAfter): Added. * src/widgets/colbar.c (FGBGSIZE): Added. * src/modules/gui.h: Renamed GUISCALE to guiscale() function. * src/script/functions.c (SetFrameLength): Added. (MoveFrameBefore): Fixed to undo frame-lengths. * src/raster/undo.c (undo_set_frlen): Added. 2008-04-17 David A. Capello * src/dialogs/aniedit.c: In these days I was working in the new Animation Editor. Right now you can create/remove/move frames. Select layers and frame. See thumbnails. Change the separator position. It doesn't support scroll yet. * src/script/functions.c (MoveFrameBefore): Added. 2008-04-14 David A. Capello * src/modules/tools.c: Added the Jumble tool & ink. 2008-04-13 David A. Capello * src/raster/undo.c (read_raw_cel, write_raw_cel): Fixed to read/write the position of the Cel with sign (int16_t instead of uint16_t). * src/commands/cmd_advanced_mode.c (cmd_advanced_mode_execute): Fixed another typo (reported by Manuel Quiñones). * src/dialogs/tips.c (dialogs_tips): Fixed a typo (reported by Manuel Quiñones). * makefile.lnx: Applied Manuel Quiñones's patch to fix the install/uninstall rules. * src/commands/cmd_new_frame.c (copy_cel_in_next_frame): Fixed, now it copies the entiry cel instead of the visible area. 2008-04-11 David A. Capello * src/modules/sprites.h (ImageRef): Added. * src/raster/stock.c (stock_new_ref): Removed. 2008-04-10 David A. Capello * src/modules/tools.c (control_tool): Fixed tiled drawing mode. 2008-03-29 David A. Capello * src/core/color.c (get_color_for_layer): Added to avoid writing colors with Alpha < 255 in the `Background' layer. * src/modules/tools.c (ink_hline[124]_soften): Fixed to support tiled mode. * src/effect/effect.h (GET_MATRIX_DATA): Modified so it can be used in soften-ink. * src/file/format_options.c: Renamed filedata to format_options. * src/file/jpeg_format.c (getdata_JPEG): Added from configure_jpeg. * src/file/filedata.h (JpegData): Added. * src/file/file.h (FileFormat): Added the `getdata' method to configure the output format. 2008-03-28 David A. Capello * src/commands/cmd_save_file.c (save_sprite_in_background): Added to save sprites with progress bar. * src/commands/fx/effectbg.c (effect_apply_to_target_with_progressbar): Added to show progress bar and background processing when the user applies an effect. * src/effect/effect.h (Effect): Added progress information to customize the progress and cancellation of the effect operations. * src/file/fli_format.c (load_FLI), src/file/gif_format.c (load_GIF): Now these two routines configure the only layer as `Background'. * src/file/file.h (FileOp): Added seq.has_alpha so a PNG file with alpha hasn't a `Background' layer. 2008-03-27 David A. Capello * Added a call to undo_set_label(...) for every undo operation in the source code. * src/script/functions.c (LayerFromBackground): Done. * src/commands/cmd_layer_from_background.c: Added. * src/commands/cmd_background_from_layer.c: Added. 2008-03-26 David A. Capello * src/raster/brush.c (regenerate_brush): Now the line-brush is more thick (this is a "shortcut" to avoid ugly effect when the line-brush was used to draw, for example, a ellipse). * src/raster/sprite.c (sprite_set_imgtype): Fixed a bug where an incorrect address was saved in the undo information. * src/commands/cmd_cel_properties.c, data/jids/celprop.jid: Modified to display information only (the "opacity" of the Cel is the only field that can be modified). * src/jinete/jfile.c (convert_tag_to_widget): Added grid support. 2008-03-25 David A. Capello * src/raster/layer.c (layer_free_images): Added to fix a bug which the stock has images of removed layers. * src/script/functions.c (FlattenLayers): Rewritten to use the `Background' layer. * src/raster/undo.c (update_undo): the undo size is get from the configuration. * src/dialogs/options.c (dialogs_options): Added option to change the undo size limit per sprite. 2008-03-24 David A. Capello * src/modules/tools.c (ase_tool_eraser): Added. * src/modules/tools.c (ase_tool_dots): Removed. * src/modules/tools.h (struct ToolData): Added. Restructured all the tools handling. No more real-time dirty. Now a temporary preview image is used and them a `dirty' is created using the differences between the old and new layer pixels. * src/core/color.c: Removed alpha value of colors. * src/widgets/editor.h (Editor): Added ctrl_pressed to show the move-cursor. * src/raster/sprite.h (struct Sprite): Removed the bgcolor property (it's confusing). 2008-03-23 David A. Capello * src/file/filedata.[ch]: Added FileData and BmpData. 2008-03-22 David A. Capello * src/dialogs/filmedit.c (layer_box_msg_proc, cel_box_msg_proc): Fixed a bug when calling create_bitmap with negative values to do double-buffering. * src/commands/cmd_new_file.c (cmd_new_file_execute): Removed the 'Custom' background-color option. * src/widgets/colbut.c (ColorButton): Rewritten to use the new colorselector tooltip window, and added a new eyedropper feature pressing the button. * src/jinete/jmanager.c (jmanager_remove_msg_filter_for): Added. * src/widgets/statebar.c (statusbar_show_tip): Added. * src/jinete/jmanager.c (jmanager_set_timer_interval): Added. 2008-03-21 David A. Capello * src/raster/sprite.c (general_copy): Fixed a problem calling with sprite_set_frames(..., src_sprite->frame) instead of src_sprite->frames. * src/raster/layer.c (layer_new_copy): Added dst_sprite. 2008-03-20 David A. Capello * src/raster/layer.c (layer_flatten): Fixed a problem where the flatten layer was added in other sprite. For this the new "sprite" parameter was added. Renamed to layer_new_flatten_copy. * src/widgets/editor/editor.c (editor_msg_proc): Fixed an annoying flickering effect when the mouse button was released in editor->state == EDIT_DRAWING. 2008-03-19 David A. Capello * src/jinete/jmanager.c (jmanager_generate_messages): Now the mouse events are enqueue even if mouse_widget = NULL, because maybe a msg_filter is added in "jmanager_enqueue_message". 2008-03-16 David A. Capello * src/raster/undo.c (chunk_dirty_invert): Fixed a bug with dirty->rows == 0 (for example, when you use floodfill and it doesn't fill nothing). * src/raster/palette.h (struct Palette): Added. A lot of code was passed from Allegro's RGB and PALETTE to this new Palette structure. 2008-03-15 David A. Capello * src/core/app.c (app_add_hook): Added. (app_trigger_event): Added. * src/jinete/jtooltips.c (tipwindow_msg_proc): Fixed a memory leak of a JRect in JM_DRAW. * src/jinete/jmenu.c (window_msg_proc): Added to call jwidget_free_deferred in JM_CLOSE of a menubox-window. This fix a memory leak (the menuboxes' windows were not freed). * src/jinete/jtooltips.c (jtooltip_window_set_hotregion): Fixed a memory leak (was called jfree instead of jregion_free). * src/commands/cmd_grid.c (cmd_snap_to_grid_checked) (cmd_show_grid_checked): Added. * src/jinete/jslider.c (slider_msg_proc): Fixed the mouse limits in the slider widget. 2008-03-09 David A. Capello * src/widgets/colbar.c: A lot of work was done for the lock/idx widgets (to edit the selected palette entry). 2008-03-07 David A. Capello * src/jinete/jgrid.c: Added. A better layout manager to handle grids like HTML tables. 2008-03-02 David A. Capello * src/widgets/editor/editor.c (editor_msg_proc): Fixed a big error cleaning the cursor with thick == 0. 2008-02-29 David A. Capello * src/widgets/fileview.c: Added incremental search. * src/core/file_system.c (fileitem_insert_child_sorted): Fixed. Now the file-system has a readed-version, so we can updated outdated file-items with the new children list. 2008-02-28 David A. Capello * src/jinete/jbox.c, src/jinete/jpanel.c: Fixed some bugs when access to widget-visibility properties (when layout widgets, we have to check the JI_HIDDEN flag directly instead of calling jwidget_is_visible/hidden routines). 2008-02-27 David A. Capello * src/commands/cmd_duplicate_layer.c (duplicate_layer): Fixed a problem where the images weren't duplicated (this bug was introduced when the stock changed from the Layers to the Sprite). 2008-02-22 David A. Capello * src/jinete/jwidget.c (jwidget_get_drawable_region): Fixed a bug: when clipping the drawable-region with the children regions, it was considering hidden children too. 2008-02-21 David A. Capello * src/*: Refactoring color_bar->colorbar, status_bar->statusbar, tool_bar->toolbar, menu_bar->menubar, tabs_bar->tabsbar. * src/modules/tools.c (apply_grid): Added 'flexible' parameter. * src/commands/cmd_grid.c: Added show_grid and snap_to_grid commands. * src/jinete/jwidget.c (jwidget_set_text_soft): Added. 2008-02-20 David A. Capello * data/jids/mapgen.jid, src/commands/cmd_mapgen.c, src/util/mapgen.c, src/dialogs/dmapgen.c: Removed. * src/jinete/jwidget.c (widget_msg_proc): Do more work to handle redirection of each message. * src/jinete/jmanager.c: Simplified the destination list for every message. * src/jinete/jmessage.h (struct jmessage_key): Added fields: repeat, propagate_to_children, propagate_to_parent. * src/jinete/jbase.h: Added JM_SETCURSOR. Removed JM_CHAR. 2008-02-18 David A. Capello * src/core/file_system.c (get_key_for_pidl): Fixed. 2008-02-12 David A. Capello * src/raster/dirty.c: Optimized. * src/widgets/fileview.c (fileview_msg_proc): Fixed flickering. 2008-02-11 David A. Capello * src/file/gif/lzw.c (LZW_decode): Fixed a bug when loading some broken-GIF (the 'lzw_write_pixel' routine was called with pos < 0). 2008-02-10 David A. Capello * src/widgets/fileview.c: Finished with thumbnails generation. * src/commands/cmd_open_file.c (monitor_free): Added to join the thread. This fix bugs when you close the program and there're files loading: all threads are joined. * src/modules/gui.c (remove_gui_monitor): Added. (add_gui_monitor): Now it receives a 'free' routine too (to destroy the 'data' of the monitor). * src/test/test_errno.c: Added a test to check errno thread-safety. 2008-02-09 David A. Capello * src/jinete/jmanager.c (jmanager_remove_msg_filter): * src/raster/undo.c (chunk_set_mask_invert): Fixed more memory leaks. 2008-02-08 David A. Capello * src/modules/sprites.c (exit_module_sprites): * src/core/core.c (core_exit): * src/widgets/colbar.c (color_bar_msg_proc): * src/raster/layer.c (layer_free): * src/jinete/jaccel.c (jaccel_free): * src/widgets/tabs.c (calculate_hot): * src/core/dirs.c (dirs_cat_dirs): Fixed more memory leaks (the leaks in exit routines aren't too critical, but the other yes). * src/jinete/jmanager.c (jmanager_generate_messages): Fixed a memory leak when replacing the value of 'widgets' field of a JMessage. * src/jinete/jlist.c (jlist_free): Fixed a big memory leak (for every linked list JList in the program, the 'list->end' field was never freed). * src/core/file_system.c (struct FileItem): Added thumbnail field. 2008-02-04 David A. Capello * src/dialogs/filesel.c: Done (navigation history added, and file-type combo-box). * src/core/file_system.c: Done the Allegro interface with for_each_file. 2008-02-03 David A. Capello * src/jinete/jcombox.c (jcombobox_del_index): Fixed a memory leak. (jcombobox_add_string): Added 'data' field for each item. (jcombobox_get_data): Added. * src/test/test_file_system.c: Added. * src/core/file_system.c: All these days I was working in this. The PIDL interface for Win32 is done. 2008-01-27 David A. Capello * src/commands/cmd_configure_screen.c (show_dialog): Added a confirmation dialog after changing the gfx-mode. 2008-01-24 David A. Capello * src/modules/gui.c (rebuild_sprite_list): Removed. * src/file/*.c: A lot of work to make it thread safe through the new FileOp structure. * src/raster/gfxobj.c: Added a mutex to be thread safe. 2008-01-23 David A. Capello * src/widgets/editor/editor.c (show_drawing_cursor): Added the 'forbidden' cursor. * src/modules/editors.c (editors_draw_sprite_tiled): Fixed for cels with differents position. * src/dialogs/filmedit.c (layer_box_msg_proc): Added buttons to toggle readable/writable flags to layers. * src/raster/sprite.h (struct Sprite): Added 'locked' and 'mutex' fields. 2008-01-21 David A. Capello * src/jinete/jmanager.c (jmanager_generate_messages): Focus magnet works again. * src/util/clipbrd.c (paste_from_clipboard): Fixed some problems when Paste. 2008-01-20 David A. Capello * src/commands/cmd_configure_tools.c (cmd_configure_tools_execute): Now the window is loaded one time and reused in all the program execution. * src/jinete/jmanager.c (_jmanager_close_window): Now the mouse and focus aren't freed if it's not necessary. 2008-01-13 David A. Capello * src/widgets/editor/cursor.c, src/widgets/editor/editor.c: Fixed a lot of bugs in the code that draws/cleans the brush-cursor in the editor. 2008-01-06 David A. Capello * src/jinete/jwidget.c (jwidget_free_deferred): Added. * src/jinete/jmanager.c: Replaced 'jmanager_poll' with 'jmanager_generate_messages' and 'jmanager_dispatch_messages'. This fixed a lot of bugs when mix up two foreground windows. * src/jinete/jfilesel.c (generate_extensions): Fixed a bug that leaves 'extensions=NULL' when it's should be 'extensions=a empty list'. * src/modules/gui.c (load_widget): Fixed the most stupid code I ever write (double loading of the widget from the .jid files). * src/modules/rootmenu.c (load_menu_by_id): Added to fix a problem with popup-menus of the new jmenu.c implementation. 2008-01-05 David A. Capello * src/commands/cmd_play_animation.c: Added. * src/commands/cmd_goto_frame.c: Added goto_*_frame commands. * src/jinete/jmenu.c (Base): Added 'is_processing' to avoid sending menu-messages when there're menu-messages in the queue. 2008-01-03 David A. Capello * src/jinete/jmenu.c (menubox_msg_proc): Finally works (with keys and without JM_IDLE message). 2008-01-02 David A. Capello * src/jinete/jmenu.c: In all these day I was working to make it working without JM_IDLE. The keyboard is the only thing that doesn't work right now. * src/widgets/preview.c: Doesn't use JM_IDLE message anymore. * src/widgets/statebar.c: Doesn't use JM_IDLE message anymore. 2007-12-26 David A. Capello * src/jinete/jmanager.c: Added 'enqueue_messages_before_this'. * src/widgets/tabs.c (tabs_msg_proc): Fixed a problem that allow to the user select to no-tabs at all. * src/jinete/jmanager.c (jmanager_poll): Double-click now is controlled through the 'ji_clock'. (jmanager_add_msg_filter): Added routines to control filters for the messages. * src/jinete/jsystem.c: Removed all the stuff about double-click in this file. 2007-12-19 David A. Capello * src/jinete/jentry.c, src/widgets/tabs.c: Modified to use timers. * src/jinete/jmanager.c (jmanager_add_timer): Added timers and JM_TIMER (needed to finally remove the JM_IDLE message in the future). 2007-12-16 David A. Capello * src/commands/cmd_screen_shot.c (cmd_screen_shot_execute): Now saves screen shots in PNG format. 2007-12-13 David A. Capello * src/dialogs/scrsaver.c: Removed. 2007-12-11 David A. Capello * src/script/functions.c (NewSprite): Added. * src/raster/sprite.c (sprite_set_imgtype): Added convertion of the background color. * config.h: Added ase_uint8, ase_uint16, ase_uint32 to support 64 bits CPU (problems with amd64 reported by Jon Rafkind). 2007-12-08 David A. Capello * src/file/png_format.c (save_PNG): Fixed a problem when saving non-indexed images (reported by Trent Gamblin). 2007-12-06 David A. Capello * src/widgets/editor/editor.c (editor_draw_sprite): Fixed to allow differents indexed images in multiple editors in a screen color-depth > 8bpp. * src/util/misc.c (interactive_move_layer): Fixed problem with scroll in windowed moded and mouse-paint problem in double-buffering mode. 2007-12-05 David A. Capello * src/widgets/statebar.c (status_bar_set_text): Uses dirty region. This optimized the speed of the loading bar. * src/jinete/jsystem.c (ji_flip_dirty_region): Added dirty region. * src/file/png_format.c (save_png): Added. 2007-12-03 David A. Capello * src/raster/sprite.h (struct Sprite): Added "stock" (now the stock of images is shared between all layers). (struct Sprite): Added bgcolor field: * src/raster/layer.h (struct Layer): Removed the "stock" from the layers. 2007-11-28 David A. Capello * src/modules/gui.c (init_module_gui): Better graphics-resolution selection by default. * src/widgets/tabs.c: Done (finished the buttons to move the scroll). * jinete/src/jwidget.c (jwidget_pick): Fixed a bug: the disabled widgets didn't get the mouse never (so the button-pressed message was never sent to disable widgets). 2007-11-25 David A. Capello * src/widgets/tabs.c: Added tab. 2007-11-24 David A. Capello * src/commands/cmd_new_frame.c (copy_cel_in_next_frame): Fixed undo for new frames in other layers. * src/file/png_file.c (load_png): Finished. * src/commands/cmd_configure_screen.c: Added the new dialog to select the graphics mode. 2007-11-19 David A. Capello * src/commands/cmd_new_frame.c, src/commands/cmd_frame_properties.c, src/commands/cmd_remove_frame.c: Added frame operations. 2007-11-16 David A. Capello * src/raster/cel.c: Renamed "frame" to "cel" to avoid confusion (Manuel Quiñones advice). * src/modules/render.[ch]: Moved to util/. 2007-11-14 David A. Capello * INSTALL.txt: Clarified "COMPILATION" section (thanks to Manuel Quiñones). 2007-11-13 David A. Capello * jinete/src/jfilesel.c: Better file selector (separated file name and path). 2007-11-09 David A. Capello * src/script/functions.c: Added: NewLayer(Set), RemoveLayer, FlattenLayers, RemoveFrame. 2007-11-08 David A. Capello * src/commands/cmd_merge_down_layer.c: Done. * src/commands/cmd_remove_layer.c: Done. * src/commands/cmd_new_layer_set.c: Done. * src/commands/cmd_new_layer.c: Done. 2007-11-07 David A. Capello * src/commands/cmd_duplicate_sprite.c: Done. * src/commands/cmd_change_image_type.c: Done. * src/commands/cmd_color_curve.c: Done. Removed src/dialogs/effect/dcolcurv.c * src/commands/cmd_convolution_matrix.c: Done. Removed src/dialogs/effect/dconvmtr.c * src/commands/cmd_despeckle.c: Done. Removed src/dialogs/effect/dmedian.c * src/commands/cmd_replace_color.c: Done. Removed src/dialogs/effect/dreplcol.c * src/commands/cmd_invert_color.c: Done. Removed src/dialogs/effect/dinvcol.c * src/commands/cmd_flip.c: Done. Removed src/util/flip.c 2007-10-07 David A. Capello * src/commands/cmd_new_frame.c (command_execute_new_frame): Added from new_frame() routine (now with undo of sprite_set_frames). * src/raster/undo.c (undo_set_frames): Added. 2007-10-03 David A. Capello * src/commands/cmd_crop.c: Added with crop_sprite/layer/frame & autocrop sprite. 2007-09-30 David A. Capello * src/commands/cmd_sprite_properties.c (command_execute_sprite_properties): Done. * src/dialogs/dfrlen.c: Removed (all in cmd_sprite_properties). * data/scripts/sprprop.lua: Removed. * data/scripts/edit.lua: Removed. * src/commands/cmd_refresh.c (command_execute_refresh): Added. 2007-09-29 David A. Capello * src/dialogs/toolconf.c (dialogs_tools_configuration): Removed (now all the code is in cmd_configure_tools.c). * src/commands/cmd_about.c (command_execute_about): Now it show the AUTHORS.txt file. * data/scripts/selspr.lua: Removed. * data/scripts/rootmenu.lua: Removed. * src/util/scrshot.c: Removed. * src/commands/cmd_screen_shot.c (command_execute_screen_shot): Done. * src/commands/cmd_clear.c (command_execute_clear): Done. * data/scripts/mask.lua: Removed. * src/commands/cmd_invert_mask.c (command_execute_invert_mask): Added. * src/commands/cmd_reselect_mask.c (command_execute_reselect_mask): Added. * src/commands/cmd_deselect_mask.c (command_execute_deselect_mask): Added. * src/commands/cmd_mask_all.c (command_execute_mask_all): Added. * src/commands/cmd_mask_by_color.c (command_execute_mask_by_color): Added. * src/dialogs/toolconf.c (set_grid_button_select_hook): Fixed a bug using an invalid rectangle for set_grid(). * src/commands/cmd_drawing_tools.c: Added all commands to select each tool. 2007-09-28 David A. Capello * src/commands/cmd_load_mask.c (command_execute_load_mask): Added. * src/commands/cmd_save_mask.c (command_execute_save_mask): Added. * src/commands/cmd_copy.c (command_execute_copy): Added. * src/commands/cmd_cut.c (command_execute_cut): Added. * src/file/gif.c (save_GIF): Better progress bar. * src/core/shutdown.c: Removed (it was only for sessions). * src/util/session.c: Removed all session stuff. * src/commands/cmd_save_file.c (command_execute_save_file): Added. 2007-09-27 David A. Capello * src/commands/cmd_undo.c (command_execute_undo): Added. * src/commands/cmd_redo.c (command_execute_redo): Added. * jinete/src/jsystem.c (jmouse_poll): Now (in Windows) we continue getting mouse feedback even when the cursor is outside of the window. * src/commands/cmd_close_file.c (command_execute_close_all_files): Fixed. * src/commands/cmd_drawing_tools.c: Added. All change of drawing-tool is in this file. * jinete/src/jaccel.c (jaccel_new_copy): Added to fix an error of double freed (from 'menuitems' and from 'commands'). * src/commands/commands.c (command_reset_keys): Added to fix a error of duplicate accelerators.. * src/commands/cmd_sprite_editor.c: Added with the four main commands for the editor of sprites: close_editor, make_unique_editor, split_editor_horizontally, split_editor_vertically. 2007-09-26 David A. Capello * jinete/src/jwidget.c (jwidget_hard_capture_mouse): Added usage of SetCapture() (in Windows, to really capture the mouse in OS level). * src/commands/cmd_preview.c: Added. * src/dialogs/viewspr.c: Removed. * src/commands/cmd_advanced_mode.c (command_execute_advanced_mode): Added a warning message. * src/core/app.c (app_switch): Removed. * src/commands/cmd_open_file.c (command_execute_open_file): Added (based on openspr.lua). * jinete/src/jmanager.c (jmanager_dispatch_draw_messages): Removed. (dispatch_msgs): Fixed for ji_screen != screen. 2007-09-25 David A. Capello * src/widgets/editor/editor.c (editor_msg_proc): Fixed wheel behavior (only when the editor is in standby state). * jinete/src/jsystem.c (jmouse_hide, jmouse_show): Added (replaced scare/unscare_mouse by these functions). Renamed ji_mouse -> jmouse. 2007-09-23 David A. Capello * src/commands/cmd_close_file.c: Added (based on closespr.lua and sprite.lua). * src/commands/cmd_about.c: Added (based on dialogs/about.c). * src/commands/cmd_new_file.c: Added (based on newspr.lua). * src/commands/cmd_exit.c: Added (based on exit.lua). 2007-09-21 David A. Capello * src/widgets/menu.c (menuitem_new): Modified to use only commands. No more scripts for menus. * src/modules/commands.c: Added commands. 2007-09-20 David A. Capello * jinete/src/jxml.c: Added routines to load XML files. 2007-09-19 David A. Capello * src/modules/gui.c (display_switch_in_callback): Fixed (now it only activate a flag to redraw the screen in the next GUI IDLE). 2007-09-18 David A. Capello * src/dialogs/tips.c (tips_msg_proc): Added scrolling with mouse wheel. * src/modules/gui.c (init_module_gui): Added support for double-buffering and "screen scaling". * jinete/src/jsystem.c (ji_mouse_draw_cursor): Added. * jinete/src/jsystem.c (ji_mouse_poll, ji_mouse_set_position): Support for a "ji_screen" not equal to "screen". * src/script/export.h: renamed "GUI_" to "dialogs_". 2007-09-13 David A. Capello * ASE 0.5 Released. * 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<