Commit Graph

176 Commits

Author SHA1 Message Date
David Capello 6d67d91335 Add note about const usage in coding style 2021-08-27 17:42:44 -03:00
David Capello 95e6b5ddd6 Update .aseprite file specs with v1.3 updates 2021-08-20 14:48:01 -03:00
David Capello c42c5e1453 Backport new laf API to main branch of aseprite
Some features from the beta branch of aseprite & laf were backported
to the main branch of aseprite.

Related commits:
- New memory handling (db4504e816)
- New get event with timeout (e6ec13cc31)
- Convert os::NativeCursor to an enum (06a5b4f3ae)
- Adapt code to the new os::Display -> os::Window refactor (5d31314cdb)
- Save/load main window layout correctly and limit to current workarea (d6acb9e20f)
- Redraw window immediately on "live resizing" (d0b39ebade)
2021-07-05 17:51:29 -03:00
David Capello d618bada49 Merge branch 'main' into beta 2021-06-04 13:31:51 -03:00
David Capello d13f10212a Update broken link to compiler features (close #2677) 2021-05-29 10:59:35 -03:00
David Capello 694ec4a86c Merge branch 'main' into beta 2021-05-11 18:59:24 -03:00
David Capello 4c1a13bf07 More info about coding style 2021-05-04 18:32:38 -03:00
David Capello 80322af02e Use CityHash for tiles
This reduces the level of collisions between hash buckets between
different image tiles.
2021-04-19 15:56:47 -03:00
David Capello 289a6ab864 Merge branch 'master' into beta 2021-01-29 12:19:43 -03:00
David Capello ffbe4863ca Minor fix in coding style guide 2021-01-14 12:45:32 -03:00
Gaspar Capello 5d70ba46a3 Add documentation about Sprite User Data 2020-12-17 10:42:32 -03:00
David Capello a3286fc20a Minor refactor "first visible index" -> "base index" 2020-10-30 20:58:45 -03:00
David Capello c2e5e69882 Simplify tilesets impl using tile index 0 = an empty tile
In this way we always have an empty tile available in the drawing
process. We've also added the Tileset::firstVisibleIndex field to
change the visible index of the tile 1 so we can offset the visible
number by the user (just as a visual aid / simulate old tilesets with
index=0=non-empty tile).
2020-10-30 16:33:34 -03:00
David Capello bff884b4c8 Merge branch 'master' into beta 2020-10-22 12:18:30 -03:00
David Capello 732503eb30 Reword and fix some typos in CODING_STYLE guide 2020-09-20 13:16:14 -03:00
David Capello be7fa67b61 Fix typo in tags chunk 2020-08-21 19:16:24 -03:00
David Capello 9ad8f8bf73 Minor comments in code and .aseprite specs about user data for tags 2020-08-21 19:11:59 -03:00
David Capello 515dace441 Merge branch 'beta' into tilemap-editor 2020-07-13 17:32:42 -03:00
David Capello db4504e816 Refactor laf-os memory handling 2020-07-07 19:06:48 -03:00
David Capello a80af2b304 Merge branch 'master' into tilemap-editor 2020-05-18 20:24:22 -03:00
David Capello 05e351c10d Update some C++11 in conding styles 2020-04-24 12:07:52 -03:00
David Capello 12becdaf45 Add "external files chunk" to .aseprite files
This will be a way to reference the same external file from other file
through IDs (instead of using filenames on each reference).
2020-02-17 09:06:02 -03:00
David Capello c98c931227 Change tileset chunk format saving the tileset as one image (one big column of tiles) 2020-02-17 09:06:02 -03:00
David Capello 26139c4ae2 Add tilemap layers (#977)
This is the first commit with a simple tilemap editor. Still buggy but
functional in several ways. Several changes were made:

* NewLayer command can receive a tilemap=true to create a new tilemap
  layer
* New ToggleTilesMode command added to switch between the palette and
  the tileset in the ColorBar (the ColorBar was expanded to show
  colors or tilesets with a generic AbstractPaletteViewAdapter)
* All commands to create new layers were moved to Layer >
  New... submenu
* There are a new tileset chunk to save tilesets in .aseprite files,
  and a new kind of cels to save tilemaps
* Added doc::LayerTilemap, doc::Tileset, etc. and several other types
  to handle tilesets/tilemaps in the doc layer.
* Added doc::Grid class with grid specifications that indicates how a
  tilemap <-> tileset must be drawn
* Added and expanded cel operations to work with tilemaps and
  conversions between regular LayerImage cels <-> LayerTilemap cels
  (e.g. copy cels in the timeline between layer types)
2020-02-17 09:06:00 -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 4e4cafece6 Rename FrameTags -> Tags in file spec/encoder/decoder functions 2019-10-01 13:16:35 -03:00
David Capello c5b952173f Minor fixes in aseprite file format specs 2019-03-29 16:13:16 -03:00
David Capello a4d8fc52bf Manage color profiles (fix #1576) 2018-10-19 15:30:30 -03:00
David Capello 860edf6439 Merge branch 'os' (related to #139) 2018-08-23 17:27:52 -03:00
David Capello 4fe66f2ffb Change scripting language to Lua 2018-08-22 14:54:51 -03:00
David Capello f9c1c68012 Remove Allegro back-end (#139) 2018-08-09 11:43:35 -03:00
David Capello 9e65ff9ad8 Add support for more chunks per frame
This issue appeared for first time here:
https://community.aseprite.org/t/1762/4
2018-08-06 18:05:04 -03:00
David Capello 2b937ad0e1 Add a link to Mozilla summart of C++11 features available in gcc 4.8 2018-08-03 12:00:38 -03:00
David Capello f595ceea7f Add possibility to write math expression in number textboxes (fix #1762) 2018-06-28 13:33:13 -03:00
David Capello e8b3751a88 Minor change in CODING_STYLE.md header 2018-06-13 17:22:46 -03:00
David Capello 835941a6d6 Rename C++ style guides to CODING_STYLE.md file 2018-06-08 16:24:11 -03:00
David Capello 2fe40a2e50 Add first draft about coding standards on Aseprite 2018-06-01 16:24:46 -03:00
David Capello d433ae669c Add Skia license 2018-04-03 09:36:16 -03:00
David Capello 184736760a Add possibility to rotate ellipses and rectangles (fix #868) 2018-03-06 19:22:51 -03:00
David Capello f6cbbd1e89 Fix slice chunk on aseprite spec (fix #1663) 2018-02-14 09:27:09 -03:00
David Capello f4ffd4110c Start using fmt library
This is the first step for a full i18n (#124).
2017-10-09 14:43:01 -03:00
David Capello bcf7efc9bb Replace duktape with mujs
Added other classes like Rectangle, Size, and Point.
2017-08-11 17:22:28 -03:00
David Capello 913a32fbab Fix .ase specs
Don't use GitHub tables for the spec, they don't work for this kind of
documents. I've restored the old layout using just plain text to
describe chunks and fields.
2017-07-26 00:19:17 -03:00
David Capello 14ba0ab411 Add addition/subtract/divide blending modes
Changes:
* Added SeparatorInView() to add separators inside a ListBox or ComboBox.
* Added BlendModeItem() to represent each item in the blending modes
  ComboBox.
* Now a ComboBox can contain any kind of widgets as children (not just
  ListItem). This is required to add separators in the blending modes
  ComboBox.

Feature request:
https://community.aseprite.org/t/additive-blending-feature/121
2017-07-24 15:25:13 -03:00
David Capello f37ccdc578 Replace taocpp/json with dropbox/json11 which compiles on MSVC 2017-06-14 19:50:44 -03:00
David Capello a9e688989f Implement Add/Uninstall extension (#1403)
- Added libarchive to uncompress .zip extensions
- Moved ListItem painting code to styles because we needed a selected+disabled state.
2017-06-12 12:38:53 -03:00
David Capello 27c4d832bf First draft-implementation of extensions (#1403)
At the moment only themes are supported and some functionality is not
available yet (disabling an extension, uninstalling it, etc.)
2017-06-10 15:02:39 -03:00
David Capello 02b225868d Fix slices' user data serialization on .ase format 2017-04-12 08:57:02 -03:00
David Capello 1671411465 Add simple color selection for tag/user data colors 2017-04-04 20:02:29 -03:00
David Capello f7cf65b245 Move <cursors> to <parts> on theme.xml
For this the "pivot" property was added to doc::SliceKeys.
2017-03-14 19:00:24 -03:00
David Capello 643cad5c97 Add basic implementation of slice tool (#721) to modify theme parts
It still need support to export to .aseprite-data as <slice> XML elements, and animation support.
2017-03-06 19:27:43 -03:00
David Capello 24faae2ca5 Use HarfBuzz to render combining characters correctly 2017-02-20 17:14:41 -03:00
David Capello a4065d07ef Update information about compressed data in .ase file format specs 2017-02-07 19:00:48 -03:00
David Capello dc19c4b589 Merge branch 'master' into beta 2016-12-07 12:14:28 -03:00
David Capello 6abe417328 Update zlib library URL 2016-12-06 21:26:04 -03:00
David Capello 4dcbb8f5de Remove reference to fli.txt file 2016-12-06 16:34:24 -03:00
David Capello c84a18b2f4 Convert Aseprite file format specs into a .md file 2016-12-06 16:32:06 -03:00
David Capello b7f773566e Update Allegro library URL 2016-12-06 16:30:13 -03:00
David Capello c1e428544e Add minimal .md browser to show README/LICENSES files
Now we can see markdown files inside Aseprite. This is an initial
support (text only, separators, links only on headers and to external
URLs).

- Added a new docs/LICENSES.md file
- Removed old .txt licenses
2016-12-06 16:03:51 -03:00
David Capello 2a5ed858dc Load/save precise cel bounds for reference layers in .ase file 2016-10-12 12:48:11 -03:00
David Capello 7eade4ea70 Minor changes in .ase file format description 2016-10-04 17:26:30 -03:00
David Capello a9f3702ba4 Merge branch 'master' into beta 2016-09-06 12:46:37 -03:00
David Capello 7fe6037862 Cel position must be signed WORD in .ase format specs (fix #1246) 2016-09-05 09:20:49 -03:00
David Capello 20b726f73b Merge branch 'master' into beta 2016-08-31 19:53:52 -03:00
David Capello 5ecc356a41 Replace GPL license with the new EULA 2016-08-29 13:08:21 -03:00
David Capello 5deabfe365 New flag in .aseprite files 2016-06-09 14:31:30 -03:00
David Capello 6f15ee7392 Add pixel ratio to .aseprite file format 2016-05-24 12:42:47 -03:00
David Capello addddf78a5 Add color field to doc::UserData 2015-12-11 19:18:36 -03:00
David Capello 8a653b6de2 Load/save user data in .ase files 2015-12-11 16:23:29 -03:00
David Capello 65045c0e2c Fix interoperability problem with layer opacity between v1.0 and v1.1
Saving a file with v1.1, loading it with v1.0, and then loading it back
with v1.1 was generating a layer with flag 32 enabled ("layer has opacity
bit") and opacity = 0 (the opacity was overwritten by v1.0, but the flag
was persisted).

Now the "layers have opacity" bit is saved in the file header. This
flag can be used because v1.0 saves it with value = 0.
2015-07-07 12:58:05 -03:00
David Capello 7a63476a98 Add support to save .ase files with more than 256 palette color entries
We've added a new chunk type in .ase files to save palettes with alpha
channel, color name, and palettes with more than 256 colors.

Related to #668, #467, and #286
2015-06-30 13:34:55 -03:00
David Capello 50a36aa826 Add support for layer opacity in .ase format (related to #225) 2015-06-14 21:24:47 -03:00
David Capello 21ca87862c Add layer blending modes (fix #318)
- Added doc::BlendMode enum and doc::BlendFunc type
- Renamed LayerImage::getBlendMode() -> blendMode()
- BLEND_MODE_COPY is BlendMode::SRC now
- BLEND_MODE_NORMAL is BlendMode::NORMAL now
- Added app::cmd::SetLayerBlendMode
2015-06-13 21:29:16 -03:00
David Capello adf3e6c00d Add AniDir as a FrameTag property (it's persisted in .ase files) 2015-02-19 13:05:39 -03:00
David Capello 9e67942235 Persist FrameTags in .ase files 2015-02-17 18:05:34 -03:00
David Capello 3da835899d Add information about color chunks in docs/ase.txt 2015-02-17 10:21:36 -03:00
David Capello 74e69e0666 Add continuous layer flag (to indicate that the layer prefer linked cels) 2015-01-20 09:33:56 -03:00
David Capello cc889f2b2f Minor refactor to doc::Layer flags 2014-11-16 23:03:30 -03:00
David Capello c3d36d3598 Save color palette in RGB .ase files (fix #487) 2014-09-17 10:08:19 -03:00
David Capello 03020d7bcf Remove quickref.odt file 2014-03-29 15:54:21 -03:00
David Capello 9b8e87da10 Update copyright year to 2013 2013-01-27 12:13:13 -03:00
David Capello 01aef4d8a3 Update the quickref for v0.9.3. 2012-07-09 13:55:32 -03:00
David Capello 0f0b5f7c35 Update quickref for version 0.9.1. 2012-01-07 18:48:27 -03:00
David Capello 02a9d50524 Update copyright year to 2012. 2012-01-06 00:52:11 -03:00
David Capello ed6090bc36 Convert all newline to LF style and remove all tabs.
This was done to avoid mixed files (CRLF & LF) in the repository.
2012-01-05 19:45:03 -03:00
David Capello df3c0c1d52 Add quickref.odt file. 2011-08-22 21:08:18 -03:00
David Capello 639e60181e Minor changes in README.html and added curl and xfree86 licenses. 2011-08-09 22:52:53 -03:00
David Capello 5c010a6f9c Remove docs/manual/ directory. 2011-06-16 22:59:23 -03:00
David Capello 3d79324b12 Update README.html file (contact, authors, credits, etc.) and add more licenses. 2011-06-16 22:53:02 -03:00
David Capello bf395fca61 More updates for copyright year to 2011. 2011-01-20 18:32:31 -03:00
David Capello e9bc81cc1d Add transparent color index in sprite and .ase files (it does not work in render operation yet). 2011-01-20 17:17:35 -03:00
David Capello 7ace9a2099 Remove blend modes from ImageLayers. 2010-12-05 11:44:01 -03:00
David Capello e5908f3669 Fixed an old typo in the BSD license. 2010-09-23 20:19:48 -03:00
David Capello 1cd378cdd0 Added some screenshots to the manual. 2010-07-17 20:51:49 -03:00
David Capello 09745ff091 Added documentation about scrolling with mouse wheel. 2010-07-17 20:51:24 -03:00
David Capello ec2020f9e7 Added documentation about "Preview" command. 2010-07-17 20:51:03 -03:00
David Capello 08cbfee5f0 Updated copyright year to 2010 in some text files. 2010-06-24 20:49:24 -03:00
David Capello ad405f71b1 Minor changes in ase manual. 2010-06-17 01:27:35 -03:00
David Capello fc0ece7bba Modified I key shortcut in manual. 2010-06-17 01:27:04 -03:00
David Capello dd3feeb3f4 Added about the number of colors in New Sprite dialog in ASE manual. 2010-06-17 01:26:54 -03:00