* 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.
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)
This function was called app.drawWithTool() first, but some tools do
not "draw" (e.g. eraser, selection-like tools, etc.). And then the
app.toolStroke() name could be confused with the Edit > Stroke
command.
This should fix several crashes using objects in invalid ways where
the object doesn't exist anymore (e.g. an undo deleted referenced
objects in scripts).
From now on we can share the transaction in the app::Context instead
of having the transaction in a SpriteWrap. This is useful to run
macros/scripts in a near future calling commands (and all commands
could share the same transaction).
Some changes with this:
* Added app::Context::setTransaction/transaction() methods.
* Added Tx class to create a new Transaction or use the currenet
app::Context transaction.
* Added App.transaction() scripting method.