Commit Graph

176 Commits

Author SHA1 Message Date
David Capello 5dae7e203f Add a summary of open source projects in LICENSES file 2025-05-11 10:26:35 -03:00
David Capello 1e96c4640f Fix indentation of layer UUID in Aseprite file format spec 2025-02-26 08:36:35 -03:00
Martín Capello 7ced9af5d1 Reword some "UUIDs for layers" related text 2025-02-24 10:47:17 -03:00
Martín Capello 86ad09291f Add UUIDs to layers 2025-02-24 10:10:28 -03:00
David Capello b2e8cfc88f Merge branch 'main' into beta 2024-12-26 16:13:08 -03:00
David Capello 9f552598ff Minor fixes in coding style guide 2024-12-18 08:41:51 -03:00
David Capello 11184b453f Update coding style guide with new clang-format rules 2024-12-18 08:35:20 -03:00
David Capello a9d795b6df Merge branch 'main' into beta 2024-11-06 18:01:44 -03:00
David Capello c83dd16a43 Add TinyEXIF submodule 2024-10-28 18:40:23 -03:00
David Capello 1c1c4593ed Merge branch 'main' into beta 2024-08-22 14:26:18 -03:00
Panagiotis Georgiadis 0bdcdbfc49 [docs] Improve phrasing for Tileset image data length
Clarified the description for the data length field of the
compressed Tileset image when flag 2 is set.
2024-08-12 17:22:05 -03:00
David Capello 68d5262c48 Merge branch 'main' into beta 2024-08-09 21:06:57 -03:00
David Capello 657e679461 Some extra comments to the coding style guide 2024-08-08 16:17:56 -03:00
David Capello 3c44831831 We can use = {} for default arg values in function declarations 2024-07-19 17:10:39 -03:00
David Capello 76a8a8af7a Save/load blend mode/opacity for group layers when needed (#3225) 2024-06-25 13:55:42 -03:00
David Capello c904a78994 Merge branch 'main' into beta 2024-04-23 15:34:43 -03:00
David Capello 422d74a271 Replace jpeglib with libjpeg-turbo 2024-04-23 11:33:55 -03:00
David Capello e48e71ba28 Update to tinyxml2 2024-04-22 18:28:03 -03:00
David Capello 10dda30a15 Don't write color2 chunk for files with more than 256 colors (fix #4322)
We were incorrectly saving a wrong number of entries for palettes with
more than 256 colors in color2 chunk, anyway it doesn't make sense to
use this chunks as it doesn't support more than 256 colors. So we
removed it for this case.

We've also removed the palette chunk for cases where it's not required
at all, e.g. when we have less than 256 colors and doesn't have alpha
channel, it makes sense to use the color2 chunk as it's smaller in the
output file.
2024-02-22 19:46:34 -03:00
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 d114b62483 New tile flags meaning (x/y/diagonal flip) + serialize then correctly
* Changed the "90cw" flag to "diagonal flip" (the tile should be
  rendered with X/Y axis switched in this case)
* Each time we read/write an .aseprite file we have to convert
  the mask/shift from the file to the values expected in
  memory (tile_f_xflip/yflip/dflip)
2023-11-09 16:44:46 -03:00
David Capello 5c41d96db3 Reword notes about compressed data in .aseprite specs (fix #3897) 2023-06-01 11:38:03 -03:00
Martín Capello da80192d0f Add UUID type to user properties (fix #3810) 2023-05-08 17:13:34 -03:00
David Capello dbfc7d745f Minor change to specs: put Notes in the table of content 2023-05-08 12:37:10 -03:00
David Capello 943f0df625 Add info about how to order layers depending on z-index in the specs 2023-05-08 12:14: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 cbe62e09e3 Add note about size of chunks and properties on .aseprite specs 2023-02-22 17:11:37 -03:00
Martín Capello 8b547adfb7 Update vector spec to support mixed types of elements 2023-02-22 12:51:51 -03:00
David Capello c70cb0d882 Minor rewording in the .aseprite specs 2023-02-16 17:20:12 -03:00
David Capello 64ce25fae2 Add property to disable the standard tilemap UI
Added a Sprite.tileManagementPlugin property for plugins that want to
replace the standard tilemap/tileset interface. This includes a new
external file field in .aseprite files to specify that the sprite
tiles are controlled by a specific plugin.

Once this property is set, the standard tilemap/tileset modes
selectors will disappear and the only way to make then available will
be setting this property to nil/empty string again.

Fix https://github.com/aseprite/Attachment-System/issues/21
2023-02-15 18:55:21 -03:00
David Capello 8f09728105 Merge branch 'custom-properties-serialization' (fix #3632, #3645) 2023-01-06 10:03:19 -03:00
David Capello a0ddefb732 Remove note about "extension:" prefix in external files chunk 2023-01-05 16:28:47 -03:00
Martín Capello 03d66aa203 Introduce FLOAT and DOUBLE types 2023-01-05 15:30:45 -03:00
David Capello d3aac6a1cd Add support for .qoi file format (fix #3121) 2023-01-05 14:23:01 -03:00
David Capello 84765c5052 Add several notes related to macOS 10.9 limitations 2023-01-05 10:21:50 -03:00
Martín Capello 243fbc3fbc Extend User Data Chunk to support custom properties 2023-01-03 16:59:26 -03:00
Martín Capello 9fef25a674 Clarify where the external files chunk is in the file 2023-01-03 13:18:05 -03:00
David Capello 4f96d37b1f Add repeat field to animation tags (#1275, #1740) 2022-10-19 12:25:06 -03:00
David Capello 4817f0a64b Merge branch 'main' into beta 2022-08-24 16:56:34 -03:00
David Capello 282328d6d6 Remove dependency with stringencoders library 2022-08-24 12:50:30 -03:00
David Capello f8f925c634 Merge branch 'main' into beta 2022-07-13 19:49:03 -03:00
David Capello 4f2eae6b77 Use C++17 [[fallthrough]] if needed 2022-06-29 20:14:03 -03:00
David Capello 8f44b521b6 Merge branch 'main' into beta 2022-06-10 10:31:13 -03:00
David Capello 4471dab289 [osx] We cannot use std::optional::value() if we want to support macOS 10.9
It looks like value() member was introduced in macOS 10.13 (error
detected because we use CMAKE_OSX_DEPLOYMENT_TARGET=10.9).
2022-06-09 19:07:08 -03:00
David Capello 71d885d2a0 Replace base::clamp -> std::clamp as now we use C++17 2022-06-09 19:05:48 -03:00
David Capello d077900fe5 Merge branch 'main' into beta 2021-10-13 10:15:39 -03:00
David Capello d1e8552491 Add IXWebSocket license 2021-10-12 19:43:07 -03:00
David Capello f318a42f19 Merge branch 'main' into beta 2021-09-29 10:16:02 -03:00
David Capello 8512ea6f98 Add Sentry license 2021-09-23 19:47:21 -03:00
David Capello adc9c109da Merge branch 'main' into beta 2021-08-31 09:06:09 -03:00