Commit Graph

1296 Commits

Author SHA1 Message Date
David Capello
302d998218 Add support to match flipped tiles automatically in Auto/Stack modes
By default Aseprite will not try to match flipped versions of the
tiles (as it requires more CPU), but when we create a tileset we can
specify which flips can be matched automatically (new
Tileset::matchFlags() property).

These flags are just for the Auto mode, if we manually insert a
flipped tile, that is always supported, even when the matchFlags() are
not specified.
2023-11-09 16:44:46 -03:00
David Capello
ed649e6bab Add Space+X and Space+Y alternatives to flip brush/tile flags
We already have Space+H and Space+V, but as the flags are XYD probably
Space+X/Y makes more sense.
2023-11-09 16:44:46 -03:00
David Capello
ae3b2dd144 Revert timeline behavior to the v1.2 default (#4024)
This change was introduced in dd7e27a098
as a possible fix for #4024, but the change is too disruptive to be
introduced at this stage, we need some extra UI elements to make the
drag & drop accessible in both modes: the default v1.2 behavior, and
a possible new selection mode, e.g. #1498
2023-10-25 08:36:54 -03:00
David Capello
cf19b51226 Add new icon for the button to switch the timeline visibility (#4081, #4092) 2023-10-11 14:58:15 -03:00
Akylzhan
4f73b14f8f Add Timeline visibility button to Toolbar, extracted button draw logic to separate member function 2023-10-08 05:58:49 +06:00
David Capello
3f101d48d4 Add more accessible option to re-enable the Aseprite file dialog (fix #4051)
As now the native file selector is the default one, we moved the
option to re-enable the previous file selector to Edit > Preferences >
General > Show Aseprite file dialog option.

Related to #3615 and added as a simple alternative to #2745 which
require native widgets on each native file dialog.
2023-10-04 16:57:11 -03:00
Gaspar Capello
5968440f90 Add memorization of tool-shared dynamics options (fix #4007) 2023-09-19 14:27:24 -03:00
David Capello
d8814fa2f9 Add option to avoid drag & drop timeline range from edges
Related to #1498 in some way to start enabling new selection modes in
the timeline.
2023-09-19 12:07:14 -03:00
David Capello
e2d8ffab54 Add reset buttons + tooltips to timeline range options (#4024) 2023-09-18 17:33:38 -03:00
David Capello
dd7e27a098 New (default) options to customize timeline range selection (fix #4024)
Now a single click will not enable the range, using Shift+click or
dragging the mouse will enable the range of multiple
layers/frames/cels by default (but there are new options to go back to
the previous behavior or customize this behavior in an extensive way).
2023-09-15 19:53:31 -03:00
David Capello
4b716255e8 Fix typo in extra paint bucket options popup (#4041) 2023-09-14 11:02:15 -03:00
Gaspar Capello
572cdf2b0e Add check box "Same in all tools" in the Dynamics options window (fix #4003)
Now each tool has independent 'dynamic options'. A global configuration
for all tools is also possible via the 'Same in all tools' option.

ALso this fix, solves a regression inserted in:
2cc15cda9e
(bug inserted: stabilizer is always active)
2023-08-18 15:35:15 -03:00
Gaspar Capello
2cc15cda9e Add save dynamics options between sessions (fix #3933) 2023-08-14 18:07:46 -03:00
David Capello
7358626859 Add flip/rotate brush support to ChangeBrush command (#1222)
Implement part of:
https://github.com/aseprite/aseprite/issues/1222
https://steamcommunity.com/app/431730/discussions/1/1479856439033920884/
https://community.aseprite.org/t/flipping-rotating-the-current-brush/1854
2023-08-09 21:56:55 -03:00
David Capello
392dbd1303 Fix font issues w/some Cyrillic script chars (fix #3797, fix #3975)
* Fixed spacing of "в", "о", and "л".
* Fixed "У", "у", "х" glyphs.
2023-07-24 17:43:55 -03:00
David Capello
400456cbec Right-clicking a tileset mode button gives the possibility to set it as the default one
Feature request: https://community.aseprite.org/t/19487
2023-07-19 11:27:00 -03:00
David Capello
11644a7d16 Add Shift+F7 to toggle other layers visibility on Preview window 2023-07-19 10:56:16 -03:00
David Capello
32009723c5 [lua] Ask for access for package.loadlib() function 2023-07-19 09:15:15 -03:00
Martín Capello
4926f4c1fc Show, duplicate and delete tilesets in Sprite Properties dialog (fix #3875) 2023-07-18 18:50:57 -03:00
David Capello
00b75a76a8 Add displayName property for language extensions (fix #3964)
The default language (en.ini) has a new "display_name" property, but
probably we should remove it and transform the English language in an
extension (just as the default Aseprite theme).
2023-07-12 12:25:30 -03:00
TakWolf
3134bfaa30 Remove duplicate string in en.ini and extra whitespace 2023-07-06 10:59:04 -03:00
David Capello
c527d68c64 Fix Assign/Convert button labels in Sprite Properties dialog
Regression introduced in 974c13dd33
2023-07-06 10:36:41 -03:00
Martín Capello
5bc432f289 Delete unused tilesets after deleting tilemaps (fix #3876) 2023-06-27 15:24:13 -03:00
David Capello
c32b9b07a8 Centralize the warning message for incompatible files/forward compatibility (#3811, #3812)
Several changes were included:
- Fixes in TextBox widget to show it with proper size hint when it's
  outside a viewport
- Added the IncompatFileWindow with a message + link to know how to
  update Aseprite and solve the situation
- Moved CannotModifyWhenReadOnlyException from app/doc.h to
  app/transaction.h
2023-05-11 12:18:31 -03:00
Martín Capello
3f581a5dfa Add warning when loading unsupported property type and mark the file as read-only (fix #3812, fix #3811) 2023-05-08 17:37:05 -03:00
David Capello
b5f262f423 Integrate fixes for Cyrillic script in Aseprite font (fix #3797) 2023-05-01 19:53:43 -03:00
David Capello
7104a1a449 F2 renames the layer if a range of frames is not selected (fix #2326)
In this way we can use F2 to:

1. Set the Loop section if two or more frames are selected
2. Remove the loop section if only one frame is selected
3. Rename the active layer if the layer is selected (or no frames are selected)
2023-04-11 19:04:45 -03:00
David Capello
24846eae10 Add z-index property to cels (fix aseprite/Attachment-System#88)
* Now a Cel has a z-index property to change the order of layers per frame
* A new doc::RenderPlan class can calculate the order of cels to be rendered
* z-index is saved as a int16_t in the .aseprite files
* This new field can be set/get from Lua with Cel.zIndex
2023-04-10 19:23:16 -03:00
David Capello
da0a8b7916 Show GPU option only in DEVMODE
We've update the label "GPU acceleration" to avoid confusion between
developers so they know that this option is not enabled in the final
release.
2023-04-03 16:09:26 -03:00
David Capello
ff9f60a8be Add more glyphs to aseprite_font.png (Cyrillic script is back)
Some glyphs are from an old Aseprite version with Cyrillic alphabet,
but I have complete it with some extra chars (e.g. Maltenese #3699).
Still a work-in-progress.

Related to:
https://community.aseprite.org/t/russian-language-aseprite/1851
https://community.aseprite.org/t/cyrillic-font-on-macos/4078
2023-03-27 19:49:40 -03:00
David Capello
1f7f3677f2 Play subtags + repeat field by default to avoid surprises
If we start playing from a tag with a repeat field, we'll just play
the tag as many times it says and continue with the regular animation
of the sprite. Users expect the repeat field to be useful with the
default configuration of the program.
2023-03-22 15:14:41 -03:00
David Capello
30a88c8e3d Put playback options into Frame > Playback submenu
This menu was accessible right-clicking the Play button in the
Timeline (and in the Preview window, with specific options for the
Preview).

This change includes some changes:

1. Now if a menu <item> in gui.xml doesn't specify a text field, the
   text of the command is used (to avoid double translation, the bad
   side is that we don't have a mnemonic specified).
2. Menu::showPopup() can be used with submenus from the root menu, to
   do this we have to remove the menu item owner temporarily before we
   show the menu as popup (see the change in Menu::showPopup())
3. We can specify a special active DocView for commands with
   UIContext::SetTargetView, this is used to set the Preview editor as
   active view for commands like TogglePlayOnce, etc.
2023-03-21 17:18:05 -03:00
Gaspar Capello
18c56ae638 Add frame duration warnings saving animated GIF files (fix #1504) 2023-03-20 12:55:34 -03:00
David Capello
63de8edfdf Minor changes in file_format_doesnt_support_error/warning strings 2023-03-20 12:55:20 -03:00
Martín Capello
b0967e2aa5 Copy light theme latest changes into dark theme 2023-03-13 10:52:01 -03:00
Martín Capello
b72d498070 Introduce a "combobox" style to replace the way combobox entries are painted 2023-03-13 10:52:01 -03:00
Martín Capello
7a338250a3 Fix alignment of several controls when UI scaling is 200% and Screen scaling is 100% to make them look the same as when US scaling is 100% and Screen scaling is 200% 2023-03-13 10:52:01 -03:00
David Capello
d95a021733 Update dark theme 2023-02-27 19:38:36 -03:00
David Capello
606fea4214 Make buttons to select one window/multiple windows bigger 2023-02-27 19:21:57 -03:00
David Capello
05dcf96333 Fix style for RGBA/Grayscale/etc. buttons + Edit Pal/Tiles mode buttonsets
We cannot use the fix from 6e2b44c72d as
they contain different slice borders depending on the state (and that
generated moving labels/icons in RGBA/Grayscale/Indexed buttons when
we hover the mouse on them), so we had to revert it and use a new
"buttonset_item_active" theme part to set the background of Edit
Pal/Tiles.
2023-02-27 19:05:26 -03:00
David Capello
ff1211bc84 Minor changes in theme.xml/style names 2023-02-27 18:02:10 -03:00
David Capello
6e2b44c72d Fix Edit Colors and Tiles/Pixels Mode button styles
Now these buttons look more like the previous version, where the
special background color is painted to the edges. To achieve this the
"buttonset_item_normal" part has less border to fill the background
with "edit_pal_face" color in "pal_edit_button_unlock" and
"edit_tiles_mode" styles.
2023-02-27 17:44:30 -03:00
David Capello
0491bf60d7 Show the Tiles button highlighted ("button_selected_text") when it's in tiles mode
It was planned to use this color for this button when it's on.
2023-02-27 16:58:31 -03:00
David Capello
5ea89141fd Fix regression with Pal Edit button
The icon/stylus was inverted. We've also moved the icon for each state
to the theme xml (so we don't need to use setIcon() manually anymore
for this button).
2023-02-27 16:48:50 -03:00
Martín Capello
9332642de9 Fix combobox height 2023-02-27 16:04:21 -03:00
David Capello
11ef2f939b Remove unneeded padding-top for brush_type styles 2023-02-27 12:06:23 -03:00
Martín Capello
f481d9c0e7 Fix timeline's animation buttons size 2023-02-27 10:21:50 -03:00
Martín Capello
0199994e45 Remove Y coordinate offset from some elements 2023-02-27 09:44:42 -03:00
Martín Capello
029e520f81 Add styles for ink type and dynamics buttons 2023-02-27 09:44:42 -03:00
Martín Capello
ea43c5f6c8 Adjust styles to make them work with the new buttonset 2023-02-27 09:44:42 -03:00