Commit Graph

159 Commits

Author SHA1 Message Date
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
David Capello
dfd0bb0c00 Added "Selection Tools" section. 2010-05-06 22:01:24 -03:00
David Capello
90a0c4aeff ase64.ico moved to docs/manuals/images directory. 2010-05-06 22:00:45 -03:00
David Capello
4810ab8228 Added compressed images (with zlib) to .ase format. 2010-03-28 16:18:15 -03:00
David Capello
65466cfe04 Moved "ncolor" field in .ase format to next WORD position (the "unknown field" looks like a DWORD). 2010-03-28 16:17:51 -03:00
David Capello
ee878c87e9 Modified Palette class to contain all functions to manipulate it as function members.
Modified its implementation to use std::vector<> instead of a raw C array[].
Now the number of colors in the sprite is more relevant (e.g. we should be able to create sprites of 4bpp, 16 colors).
2010-03-28 12:15:32 -03:00
David Capello
78422a19fc More documentation about Lasso tool. 2010-03-09 21:06:55 -02:00
David Capello
cb97884026 - All tools stuff refactored in various files/components.
- Added classes: IToolLoop, Tool, ToolGroup, ToolInk, ToolController, ToolPointShape, ToolIntertwine, ToolBox, etc.
- Added ToolLoopManager.
- Removed old src/modules/tools.cpp.
- Added ISettings and UISettingsImpl, adding the tools settings (onion skinning, grid, tiled mode, etc.).
- Added App::PenSizeBeforeChange, PenSizeAfterChange, CurrentToolChange signals.
- Renamed Context::get_bg/fg_color to getBg/FgColor.
- Refactored Brush class to Pen and added PenType.
- Renamed tiled_t to TiledMode.
- get_config_rect now uses the new Rect class imported from Vaca instead of old jrect.
- Added default_skin.xml to load tool icons.
- Added pen preview in Editor::cursor stuff.
- Added Editor::decorators.

Note: This big patch is from some time ago. I did my best to pre-commit other small changes before this big one.
2010-03-07 17:47:45 -02:00
David Capello
9c457d076a Added "split" rule in manual's Makefile. 2010-02-28 21:46:32 -02:00
David Capello
017ece697f Now XML files are loaded with tinyxml library 2009-12-16 23:24:57 +00:00
David Capello
d437836266 Fixed icon url 2009-11-30 00:58:13 +00:00
David Capello
dd6bab1e9f Added some draft of the manual 2009-11-30 00:56:46 +00:00
David Capello
8e498470d5 Fixed bug #2511762 (thanks to Clayton Enga for the patch).
Added the feature #2419098 (David Campo idea).
2009-01-24 00:41:01 +00:00
David Capello
78f879fa14 Renamed some files and removed deprecated files.
Fixed a bug in fileview with i-search.
2008-09-30 01:25:11 +00:00
David Capello
cf3521dfe8 Fixed some bugs in merge-down & crop commands using the Background layer. 2008-05-05 04:03:31 +00:00
David Capello
c8b3c4ff67 Removed generated files. 2008-05-05 02:23:08 +00:00
David Capello
61a61bd2fa Added eraser and blur tools.
Added inks and better handling of tools->brushes->inks relationship.
color_t is now a ase_uint32.
Added the Background layer.
Fixed bugs loading some king of BMP files.
Removed the bgcolor from the Sprite and .ase files.
Added FileData and BmpData.
Renamed dirty_put to dirty_restore_image_data.
Renamed dirty_get to dirty_save_image_data.
Added get_pretty_memsize, sprite_get_memsize, undo_get_memsize to show memory-usage.
2008-03-27 14:29:33 +00:00
David Capello
19e8083256 + Added Editor::space_pressed to move the scroll with the space key.
+ Renamed Editor::cursor_eyedropper to Editor::alt_pressed.
+ Added statusbar_show_tip.
+ Added AppHooks.
+ Renamed color_button_* to colorbutton_*
+ Renamed GfxObj*Layer::parent to Layer*Layer::parent_layer.
+ Added Palette gfxobj and refactored a lot of code to this new Palette
  instead of Allegro's RGB/PALETTE.
+ Now jfile.c uses jxml.c.
+ New signature for callbacks in 'hook_signal' of modules/gui.c:
  bool hook(JWidget, void *);
- Removed colsel and minipal from dialogs.
+ Fixed mouse bounds in sliders.
2008-03-22 18:43:56 +00:00