40 Commits

Author SHA1 Message Date
David Capello
1f34d0e46e Add different formulas to convert RGB to Grayscale 2020-04-20 10:22:41 -03:00
David Capello
86259a64fc Replace MID() macro with base::clamp() function
In the future we will replace base::clamp() with std::clamp().
2020-04-07 19:47:16 -03:00
David Capello
a0882ba443 Move PACKAGE/VERSION, etc. to new ver-lib
* As we moved the VERSION macro to a .c file, we don't have to
  recompile the whole project when we change the version number.
* Removed the version number from gui.xml
* Removed the invalid first menu item that might appear in the root
  menu when the gui.xml version is outdated in debug mode.
2020-03-16 10:31:32 -03:00
David Capello
59fa7d956b DocExporter: Don't share the original size between samples
If we use two sprites with different canvas sizes, and both sprites
have a similar cel, they can share the inTextureBounds, but not the
original size (which is the original sprite canvas size of each cel).
This can be reproduced using the CLI and creating a texture
atlas (-sheet) with two or more sprites.
2020-02-06 15:07:40 -03:00
David Capello
a7f1f4bd64 DocExporter: render samples with trimmed size
This fix an issue merging similar cels from different sprites with
different canvas sizes.
2020-02-06 14:23:33 -03:00
David Capello
00cdda7b85 Minor change in DocExporter 2020-02-06 12:01:29 -03:00
David Capello
1c39d907cb Fix bug genering "spriteSourceSize" for similar cels but with different positions in the canvas
This can happen when we use -trim (Trim Cels) + -merge-duplicates
options together. The trimmed bounds are unique to each sample, and
only the position in the texture (inTextureBounds) can be shared.

Fixes: https://igarastudio.zendesk.com/agent/tickets/407
2020-02-06 11:59:29 -03:00
David Capello
a60fea2e5f Don't include untagged frames in the export when we use split tags option 2019-11-19 11:22:09 -03:00
David Capello
ae9a8128be Don't duplicate meta data (tags/slices) when -split-layers is used (fix #1582) 2019-10-24 19:55:42 -03:00
David Capello
4bafbe461a Don't include empty samples in the sprite sheet when the whole sprite is trimmed
We have to include at least one pixel for each sample.
2019-10-24 19:01:48 -03:00
David Capello
ea5e67b0ea Merge duplicate cels in SimpleLayoutSamples (not only linked cels) 2019-10-24 13:12:22 -03:00
David Capello
926accf7c7 Split layers/tags explicitly on export sprite sheet when the options to split layers/tags are used
This is mainly useful when we want to include the "{tag}" in the JSON
data but we don't want to split tags in the sprite sheet
layout (e.g. using a fixed # of rows in "By Rows" sprite sheet type
without breaking rows when the tag change between a couple of
samples).
2019-10-24 08:55:11 -03:00
David Capello
d6efddee92 Cache trimmed bounds calculation on DocExporter
The cache of the whole sprite trimmed bounds makes sense only in the
UI preview mode.
2019-10-23 15:55:08 -03:00
David Capello
b6fce0b1df Print to stdout from DocExporter only in CLI mode 2019-10-23 14:48:18 -03:00
David Capello
cd68a4fe0a Add "Trim Sprite" to DocExporter/Export Sprite Sheet/--trim-sprite CLI 2019-10-22 21:27:15 -03:00
David Capello
536a4c5d3a Simplify Export Sprite Sheet with preview + changes to the UI
These changes include an option to split layers and tags
by rows (fix #1118)
2019-10-18 17:00:35 -03:00
David Capello
30b2585037 Save grid bounds inside .aseprite files and doc::Sprite (fix #688) 2019-10-10 15:08:59 -03:00
David Capello
aa66ff35a2 Refactor DocExporter::DataFormat -> SpriteSheetDataFormat 2019-10-07 17:22:27 -03:00
David Capello
51be644bf4 Merge duplicated samples when -sheet-pack is used (fix #1316) 2019-10-02 12:55:09 -03:00
David Capello
01821ed989 Don't discard empty frames if the cel is empty but the user doesn't want to discard empty frames (fix #2116)
E.g. Useful to match frames with tags information.
2019-10-01 20:39:02 -03:00
David Capello
1c8b8051a8 Rename FrameTag -> Tag 2019-10-01 14:55:08 -03:00
David Capello
b6fceaf549 Keep the transparent color index on the output of Export Sprite Sheet 2019-10-01 10:08:07 -03:00
David Capello
744bd36408 Fix transparent color for sprites created w/NewSpriteFromSelection
Fixes https://community.aseprite.org/t/3629
2019-08-06 16:18:01 -03:00
David Capello
d32fd97da5 Replace base::SharedPtr with std::shared_ptr
We can remove our smart pointer (base::SharedPtr) as we're already
using C++11 compilers on all platforms.
2019-08-01 19:16:16 -03:00
David Capello
b2e169569a Merge branch 'spritesheet-fullpath' of https://github.com/kawa-yoiko/aseprite into master 2019-04-12 16:07:54 -03:00
David Capello
109e6fa205 Add render::Dithering() class to store all dithering parameters 2019-04-03 19:32:24 -03:00
David Capello
fcf272bb69 Add amount parameter to Error Diffusion algorithm 2019-04-03 18:45:18 -03:00
Shiqing
14c1bceb4c Add padding support for --sheet-pack 2019-03-28 13:22:47 +08:00
Shiqing
5d5aae7311 Fix incorrect layout with --trim and --sheet-pack 2019-03-23 16:06:00 +08:00
David Capello
60e8a5967d Minor changes to f24eb75298c118500ff4428661fe186eefdde2b2 2019-03-22 11:26:44 -03:00
Shiqing
ca1728fd38 Fix #1606 sprite sheet contains full path of image 2019-03-22 12:42:07 +08:00
Gaspar Capello
f53544842c Fix non-normal blend modes when the backdrop is transparent (fix #1096) 2019-03-09 12:40:31 -03:00
David N Campo
bdd4202c35 Add Trim by Grid option in Export Sprite Sheet (#1926)
This adds the logic and UI part of Trim by Grid feature, the CLI part
is not yet implemented.
2019-02-07 14:07:42 -03:00
David N Campo
cf1711c2af Add 'Extrude' option to 'Export Sprite Sheet' command (fix #1890)
Merged #1978 (squashed). The only solved conflict was that now
ExportSpriteSheet use params, so we've added the "extrude" param to
ExportSpriteSheetParams.
2019-01-10 07:49:19 -03:00
David Capello
9257b9e244 Create all directories for the specified JSON file when exporting sprite sheets 2019-01-09 20:40:59 -03:00
David Capello
81965b904f Use current working color space in new created files
* Added the gfx::ColorSpace field in doc::ImageSpec
* Removed some methods like Sprites::add(width, height, etc.)
* Prefer methods with ImageSpec as argument (which now includes the color space)
2018-10-25 15:23:01 -03:00
David Capello
f2739d89f1 Fix #1889: Now {tagframe} can be used in --filename-format for the filenames in a --data sheet 2018-10-11 17:00:48 -03:00
David Capello
f72e28a18c Remove unused variables 2018-10-10 09:52:46 -03:00
David Capello
f2ed45e795 Replace base::UniquePtr -> std::unique_ptr 2018-08-08 17:27:26 -03:00
David Capello
b8317805f8 Rename DocumentExporter -> DocExporter 2018-07-14 23:02:37 -03:00