Commit Graph

127 Commits

Author SHA1 Message Date
David Capello
adc9c109da Merge branch 'main' into beta 2021-08-31 09:06:09 -03:00
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