Commit Graph

1413 Commits

Author SHA1 Message Date
Gaspar Capello
6d6dfb96a9 Add user data to tiles (fix #3626)
Co-authored-by: David Capello <david@igara.com>
2022-12-17 14:13:49 -03:00
David Capello
ea17eae524 Fix several bugs copying name/userData when we clone tilesets
Found on #3630

Co-authored-by: Gaspar Capello <gaspar@igara.com>
2022-12-17 13:42:51 -03:00
David Capello
683954b8fd Enable DeselectMask and MaskAll commands when ENABLE_UI=off 2022-11-02 10:26:51 -03:00
David Capello
38c0400927 Fix Doc::isModified() when we are in a similar UndoState to the saved one
If the current UndoState doesn't modify the "saved state" (e.g. there
is a sequence of undoes/redoes that doesn't modify the saved version
of the sprite compared to the current one), we can indicate that we
are in the saved state anyway (!Doc::isModified).
2022-11-02 09:58:18 -03:00
David Capello
e703de535e Show saved undo state in Edit > Undo History window (fix #3578)
Some extra changes introduced:
* DocUndo & CmdTransaction were simplified: removing the saved
  counter, and storing a specific UndoState pointing to the state that
  matches the version in the disk
* DocUndo::onDeleteUndoState() can generate a
  impossibleToBackToSavedState() if the saved state is deleted. This
  might fix some bugs where a "save changes" dialog weren't displayed
  after undoing and making changes (probably related to #3542, but not
  sure)

Some extra work is needed to avoid showing the "save changes" dialog
if we are close to the saved state and only non-modification undo
states separate us from there. E.g. if we open a file, select the
canvas, and close it, Aseprite now shows the "save changes" dialog,
this wasn't true in previous versions.
2022-11-02 09:57:52 -03:00
David Capello
49e4e10311 Fix bug where Layer > Open Group didn't update the Timeline rows 2022-10-24 17:17:06 -03:00
David Capello
3691b9a16c Merge branch 'repeat-tag' 2022-10-24 11:05:24 -03:00
David Capello
9601c02812 Add option to play/preview with subtags & repetitions 2022-10-20 14:41:24 -03:00
David Capello
e78e1e9a54 Remove current_editor, replace with Editor::activeEditor()
Finally removed src/app/modules/editors.h file.
2022-10-20 12:31:22 -03:00
David Capello
4f96d37b1f Add repeat field to animation tags (#1275, #1740) 2022-10-19 12:25:06 -03:00
David Capello
17a5b3f3fc Replace base::mutex with std::mutex
* Removed base::mutex & base::scoped_lock
* We can use std::lock_guard with deduced template args (as we're
  using C++17 now)
2022-10-18 16:20:34 -03:00
David Capello
616f74ae2d Minor changes when accessing "properties_grid" widget 2022-10-13 09:40:54 -03:00
Joshua Ogunyinka
ed26fdd806 Add missing language strings in other uncategorized sections 2022-10-12 14:57:23 -03:00
Joshua Ogunyinka
6c55847151 Add more missing language strings for filtering/editing 2022-10-12 14:54:50 -03:00
Joshua Ogunyinka
aaa69a3d81 Add more missing language strings when importing/exporting sprite sheets 2022-10-12 14:40:01 -03:00
Joshua Ogunyinka
a4bc897f76 Add missing language strings for preview editor/new brush/inks/mask by color 2022-10-12 14:36:31 -03:00
Joshua Ogunyinka
a6aa84981f Add more missing language strings when changing sprite's pixel format 2022-10-12 14:23:40 -03:00
Joshua Ogunyinka
05c4326ada Add missing language strings for all components using the status bar 2022-10-12 14:23:30 -03:00
Joshua Ogunyinka
bf88fa2bd1 Add missing language strings when loading/saving components 2022-10-12 14:21:21 -03:00
Joshua Ogunyinka
05ece3fad1 Add missing language strings in sprite size command 2022-10-12 13:49:24 -03:00
Joshua Ogunyinka
974c13dd33 Add missing language strings in sprite properties & import sprite sheet 2022-10-12 13:38:22 -03:00
Joshua Ogunyinka
6bc0d312d2 Add missing language strings in the layer properties 2022-10-12 13:24:09 -03:00
Joshua Ogunyinka
ab56186d79 Update commands strings when language change 2022-10-12 13:22:26 -03:00
Joshua Ogunyinka
bbfae36d8f Add missing language strings for preference window 2022-10-12 13:20:41 -03:00
Joshua Ogunyinka
de44545930 Add missing language strings for keyboard shortcuts
Co-authored-by: David Capello <david@igara.com>
2022-10-12 13:20:35 -03:00
David Capello
ba3452b059 Merge branch 'main' into beta 2022-09-29 17:23:11 -03:00
Martín Capello
4ff4274deb Refactor some conditional expressions to fix a compiler warning 2022-09-28 17:08:11 -03:00
David Capello
88594bfa0e Merge branch 'main' into beta 2022-09-28 16:20:03 -03:00
David Capello
008df4d03a Add ui::Paint = os::Paint = SkPaint
So now we can have access to Skia SkPaint instance directly from
Aseprite UI code (and set the shader, and other properties that are
not yet well-wrapped in laf-os).

We've simplified ui::CheckeredDrawMode with
ui::set_checkered_paint_mode() function, as now the checkered
background shader is stored in ui::Paint (SkPaint) instead of
ui::Graphics state.
2022-09-28 15:49:30 -03:00
David Capello
896c02c67f Fix several bugs converting layers (copy user data, blend mode and opacity) 2022-09-23 12:30:22 -03:00
Martín Capello
826fc1a5fd Remember layer index between export operations 2022-09-13 17:09:58 -03:00
David Capello
f925e22561 Don't encourage the usage of layerIndex param in ExportSpriteSheetParams
Until we don't have a standarized way to indicate layers by indexes.
2022-09-05 17:19:53 -03:00
David Capello
d5f54da021 Avoid hardcoded number of initial items added in the layers combobox 2022-09-05 17:19:53 -03:00
Martín Capello
acdb501fc8 Use layer index to avoid conflicts when exporting sprites with layers that have the same name (fix #2656) 2022-09-05 17:19:53 -03:00
David Capello
2f34e25f06 Merge branch 'export' into beta 2022-08-19 18:05:36 -03:00
David Capello
acb246e26b Add "Sprite Grid" source option to Export Sprite Sheet (fix #1982)
In this way we can export each grid cell/tile as an individual sprite,
and use the extrude option on each grid cell. We've added the
--split-grid CLI option too.
2022-08-19 17:21:56 -03:00
David Capello
a2f61a3378 Add "File > Export > Export Tileset" option (#3240)
Now we can export one (or several) tilesets in one sprite sheet (using
the same options that are available in the Export Sprite Sheet dialog,
e.g. like extruding tiles, related to #1982 in some way).

Some changes:

* New "Source" field and fromTilesets param for ExportSpriteSheet
  command
* New ExportTileset command (which acts like ExportSpriteSheet but
  with fromTilesets=true by default)
* Added --export-tileset CLI option
2022-08-18 14:56:43 -03:00
David Capello
83857ea600 Merge branch 'main' into beta 2022-08-17 22:58:12 -03:00
David Capello
a66c170ded Add render::BgOptions to simplify some code 2022-08-17 22:40:25 -03:00
David Capello
4e12e427ef Rename "checked" -> "checkered" (background, drawing routines, etc.)
Also rename setBgCheckedSize -> setBgStripeSize in case we add new
background patterns (like horizontal/vertical/diagonal stripes, etc.)
2022-08-17 22:19:07 -03:00
David Capello
a13423bd70 Add the logic side to export the selection only (fix #645) 2022-08-12 20:11:25 -03:00
Gaspar Capello
e6c90334f9 Fix scrollbar for the Extensions list in Preferences is missing on the first open (fix #3456) 2022-08-10 12:01:28 -03:00
Gaspar Capello
12e59b887f Add remember new tilemap layer base index (fix #2735) 2022-08-04 14:30:11 -03:00
David Capello
3db8267270 Merge branch 'main' into beta 2022-07-19 10:35:13 -03:00
David Capello
da58670dd0 Revert "Add '{title}' and '{layer}' functionality to the Export dialog (fix aseprite/aseprite#3363)"
Fix crash reported on v1.2.36/v1.3-beta17, ctx->activeDocument() can
be nullptr.

This reverts commit 1f5e4cfc4f to fix #3431
2022-07-19 10:29:16 -03:00
David Capello
db1faf8f7b Merge branch 'main' into beta 2022-07-18 15:32:27 -03:00
David Capello
7c8153b5ec Use selection bounds if they're visible on ImportSpriteSheet by default 2022-07-18 12:47:54 -03:00
David Capello
1912053f33 Merge branch 'main' into beta 2022-07-15 17:30:39 -03:00
David Capello
f8f925c634 Merge branch 'main' into beta 2022-07-13 19:49:03 -03:00
Joseph-Eugene Winzer
da81c0266d Fix empty undo history crash (fix #3417)
m_undoHistory is not valid for tabs other than sprites. For example
opening the README or Home tab does not initialize the undo history,
thus aseprite will segfault when it tries to get its first entry.
2022-07-13 05:18:04 +02:00
David Capello
6e0394b7dc Fix using MoveMask command without visible selection
Issue found testing #2796 without selection/without calling SelectTile
command.
2022-07-07 16:33:39 -03:00
David Capello
4f2eae6b77 Use C++17 [[fallthrough]] if needed 2022-06-29 20:14:03 -03:00
Martín Capello
2639c36b2f Create EnterLicense dialog 2022-06-28 19:09:10 -03:00
Martín Capello
588d8027f4 Conditionally compile the license activation code when the ENABLE_DRM flag is defined 2022-06-28 19:09:10 -03:00
Martín Capello
740dd166de Refactor the code to change the "register" dialog for "enter_license" dialog 2022-06-28 19:09:10 -03:00
Martín Capello
fcac48cccb Add option to enter Aseprite license key (#2664)
This is an initial version to add an automatic update feature in the
future.
2022-06-28 19:09:10 -03:00
David Capello
faecd682fc Merge branch 'main' into beta 2022-06-28 19:05:54 -03:00
Gaspar Capello
1f5e4cfc4f Add '{title}' and '{layer}' functionality to the Export dialog (fix aseprite/aseprite#3363)
Also Add '{title}' functionality to CLI dialog on sprite-sheet file name
2022-06-28 18:42:33 -03:00
David Capello
caf475b2dc Merge branch 'main' into beta 2022-06-15 13:44:34 -03:00
David Capello
b7d5d4a2c9 Editable resize factor in File > Export (fix #3007)
Related to #3008
2022-06-15 12:25:43 -03:00
David Capello
4aa5fedfec New "on the fly" resize when saving/exporting image (fix #1112)
Implemented using a new FileAbstractImage interface to get scanlines
for each frame automatically resized (without modifying the original
sprite/without using SpriteSize command/adding new undo information).

Related to #3008
2022-06-14 23:19:39 -03:00
David Capello
82cd244a6e Add support to use SaveFile commands from CLI (without UI) 2022-06-13 19:19:44 -03:00
David Capello
ddc1b76214 Convert SaveFileBaseCommand to CommandWithNewParams
With this patch we fixed some use cases:
* We can show the ui with a default filename { filename=..., ui=true }
* We can specify fromFrame/toFrame for SaveFileCopyAs
2022-06-13 17:04:12 -03:00
David Capello
d160fb8b91 Minor changes in SaveFileCommand to use enums instead of bool params 2022-06-13 12:46:11 -03:00
David Capello
8f44b521b6 Merge branch 'main' into beta 2022-06-10 10:31:13 -03:00
David Capello
71d885d2a0 Replace base::clamp -> std::clamp as now we use C++17 2022-06-09 19:05:48 -03:00
David Capello
a39e235b23 Don't store a Command* pointer in AppMenuItem (fix #3359, fix #3360)
Instead of storing a Command* we can store the command ID, which it's
less problematic in extreme cases where the Command that is being
referenced is deleted or recreated, i.e. when a plugin is
disabled/re-enabled.
2022-06-07 14:47:40 -03:00
David Capello
684d06ede8 Merge branch 'main' into beta 2022-05-23 18:04:55 -03:00
David Capello
3ac4ca8869 Create a custom widget for UndoHistory (fix #3281)
Several performance issues fixed (as we avoid keeping a ListBox with
ListItem in sync with the UndoHistory/UndoStates). There is still some
room for improvement: e.g. grouping several ui::View::updateView() in
just one if several onAddUndoState() will be called (e.g. when we are
running a script without transactions).
2022-05-23 16:19:06 -03:00
David Capello
1366a6948c Fix performance issues adding/deleting widgets (related to #3281) 2022-05-20 11:03:12 -03:00
David Capello
b9206cc872 Fix locked sprite errors moving/copying multiple cels when the Cel (or Layer) Properties dialog is open (fix #3278) 2022-05-19 19:15:32 -03:00
David Capello
52779d4b09 Fix memory leak in UserDataView simplifying its ctor
Each "new gen::UserData" wasn't being freed.
2022-05-19 18:56:21 -03:00
David Capello
ff5afba6ae Merge branch 'main' into beta 2022-05-19 16:55:30 -03:00
David Capello
0a3644dfbb Update laf module with initial GPU support (#960)
Anyway this is incomplete and Aseprite is not yet ready to support GPU
acceleration (as the rendering phase is CPU intensive).
2022-05-13 11:41:44 -03:00
David Capello
8d2863a58b Merge branch 'main' into beta 2022-05-05 09:57:29 -03:00
David Capello
dfa357eb8d Add an experimental CommandResult for the execution of commands
This makes possible to return true or false after the execution of
each command app.command.CommandName() if it successes or fails.
Currently the Lua API documentation says something about this here:

  https://github.com/aseprite/api/blob/main/api/command/ReplaceColor.md#replacecolor

But this is not true, the function always returned nil. Now it will
return true or false.
2022-04-29 09:53:57 -03:00
David Capello
c15f374690 Fix timeline re-painting issue when changing tag color (#3242)
This is the worst possible hack, but we're already doing this for cel
and layer color. Something to think about with #3266
2022-04-25 15:14:02 -03:00
David Capello
2a59076f49 Merge branch 'main' into beta 2022-04-25 11:45:31 -03:00
David Capello
319824021b Keep plugin preferences when re-installing an extension (fix #3259) 2022-04-22 09:09:10 -03:00
David Capello
46626bb5ce Merge branch 'main' into beta 2022-04-13 23:01:12 -03:00
David Capello
e4c2995326 Extensions now support defining keyboard shortcuts (#1403, #3239) 2022-04-13 22:46:48 -03:00
David Capello
721e401052 Fix some memory leaks & simplify code sending UI messages 2022-04-13 21:04:54 -03:00
David Capello
b4d3692927 Add ShowMenu command so the user can customize Alt+top level menu mnemonic shortcuts (#3239) 2022-04-12 22:52:09 -03:00
David Capello
43513e0f1b Don't show tooltip when a new frame/layer is created from a script transaction
This might improve the performance of some scripts if it creates
several frames/layers at the same time.
2022-04-11 09:53:01 -03:00
David Capello
16ca5a55db Merge branch 'main' into beta 2022-04-05 23:16:55 -03:00
David Capello
2a908f79df lua: Dialog() must return nil if there is no UI available
This avoids some crashes when running in --batch mode and some script
tries to create a Dialog().
2022-04-05 20:45:34 -03:00
David Capello
4ce2d1a340 Add option to simulate mouse wheel using key shortcut+drag mouse (fix #3195)
Now we can change several values (zoom, brush size, etc.) pressing a
keyboard shortcuts and dragging the mouse in a specific vector
direction (DragVector). It allows the modification of one, two, or
even more parameters at the same time (e.g. X axis to change the brush
size, Y axis the alpha value of the ink).
2022-03-08 20:40:11 -03:00
David Capello
18ba8f184b Merge branch 'main' into beta 2022-03-02 21:31:31 -03:00
David Capello
4b3b1f31e0 Fix ChangePixelFormatCommand so it can be compiled/linked when ENABLE_UI=0 2022-03-02 21:26:14 -03:00
David Capello
04fa9a47ab Merge branch 'main' into beta 2022-02-24 16:42:05 -03:00
David Capello
b212a24479 Add sampling options to Edit > Preferences dialog too (#3183) 2022-02-21 16:21:07 -03:00
David Capello
7e76d81fcc Merge branch 'main' into beta 2022-02-18 19:32:33 -03:00
David Capello
2d3de1728c Add SkinTheme::get() to avoid using SkinTheme::instance() as much as possible
This was done to avoid some nullptr references using
SkinTheme::instance() (mainly from
StatusBar::IndicatorsGeneration::add()) when the application is being
closed because an exception was thrown. This might be useful to detect
certain kind of crashes from Sentry.
2022-02-18 19:01:46 -03:00
David Capello
1f4e3bcd11 Merge branch 'main' into beta 2022-02-08 12:56:26 -03:00
David Capello
0cfeacab5c Stop filter preview before we change filter parameters
Similar fixes as in 811b893320
2022-02-03 14:59:46 -03:00
Joshua Ogunyinka
811b893320 Fix occassional crashes in despeckle/median filter (fix #2903) 2022-02-03 12:51:30 -03:00
David Capello
2b57fcaa6c Merge branch 'main' into beta 2021-12-01 18:14:53 -03:00
Joshua Ogunyinka
3c7b344389 Save and retain color profile when saving palettes (part of #2893) 2021-12-01 09:21:02 -03:00
David Capello
c4f2bf79a0 Merge branch 'main' into beta 2021-10-25 17:47:23 -03:00
David Capello
91e8e5cd46 Support scrolling the debugger source code viewport w/the mouse wheel 2021-10-25 17:40:47 -03:00
David Capello
534163ae5f Fix painting issues in the debugger filling the line number column correctly 2021-10-25 17:40:12 -03:00
David Capello
1e57cd267d Merge branch 'main' into beta 2021-10-13 10:42:20 -03:00
David Capello
6dd128d637 Add main_area in debugger window to show only the buttons initially 2021-10-13 10:35:55 -03:00
David Capello
d077900fe5 Merge branch 'main' into beta 2021-10-13 10:15:39 -03:00
David Capello
212e9fbe6c New initial Lua debugger version (#1967)
Incomplete version of the Lua debugger.
Some available features:

* Break in next executed instruction
* Step in, over, out
* See & navigate stacktrace
* See local variables

Some missing features:

* Breakpoints
* Eval user expressions with local variables

The UX needs some improvement yet.
2021-10-12 16:52:14 -03:00
David Capello
f318a42f19 Merge branch 'main' into beta 2021-09-29 10:16:02 -03:00
David Capello
364f62ee4a Merge branch 'sentry' (fix #2857) 2021-09-23 21:09:27 -03:00
David Capello
0c604ca4ba Ask for consent to share crash data 2021-09-23 15:22:26 -03:00
David Capello
775e8f86be Merge branch 'main' into beta 2021-09-23 09:19:23 -03:00
David Capello
515952cf32 Enable Fill/Stroke commands when !ENABLE_UI 2021-09-23 09:18:14 -03:00
David Capello
5f9b6f494a Merge branch 'main' into beta 2021-09-22 17:54:57 -03:00
Gaspar Capello
83c18399a4 Fix incorrect cropping rectangle calculation in canvas size command in lua script
Prior to this fix, CanvasSize command via lua script results in bad canvas and image clipping.
2021-09-22 17:40:29 -03:00
David Capello
9e10a1c82c Merge branch 'main' into beta 2021-09-06 18:30:45 -03:00
David Capello
845f275ae7 Enable cycling colors when palette size=1 so RGB/HSV colors are converted to index=0 anyway
In this way after ChangeColor command to increase/decrease an index is
used, we always got an index selected (even index=0 if palette size=1)
2021-09-01 10:38:35 -03:00
David Capello
adc9c109da Merge branch 'main' into beta 2021-08-31 09:06:09 -03:00
Jeremy Behreandt
edb9f89456 Cyclic Color Change in Palettes
Made Change Color: Increment/Decrement Foreground/Background methods cyclic instead of clamped. At last palette element, incrementing selected color returns to first element. At first palette element, decrementing color returns to last element.
2021-08-31 01:10:18 -05:00
Joshua Ogunyinka
f85f24e847 fixed restoring grid preference on undo/redo (fix #2872) 2021-08-28 08:54:00 +04:00
David Capello
a5b41d2630 Merge branch 'main' into beta 2021-08-19 10:34:32 -03:00
David Capello
341408e902 Don't crash when saving palettes to .jpg format (fix #2654)
Now .jpg is not even show in the list of available format to save
palettes (same for other file format that don't support indexed color
mode).
2021-08-18 13:03:38 -03:00
David Capello
22a5c4c324 Merge branch 'main' into beta 2021-07-09 10:47:16 -03:00
David Capello
5a6bd465f5 Cache mouse cursors to avoid re-generating them on each setCursor()
This should improve the mouse movement, where a new mouse cursor was
created on each mouse movement with black & white pixels. It's a
regression introduced in ef4f691459
(which was originally introduced to improve the mouse movement
perception in a 100Hz monitor).

This might be a possible fix for:
https://github.com/aseprite/aseprite/issues/2713
2021-07-09 10:21:16 -03:00
David Capello
8f838ba36d Backport FullscreenMode command (#464)
Original from ae02600a63
2021-07-05 20:11:46 -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
66e77a7e49 Merge branch 'main' into beta 2021-06-29 21:15:57 -03:00
David Capello
f99b5218b9 Remove unused code from ReplaceColor command
The original intention was to save selected colors in the Replace
Color dialog so then showing up it again would restore those saved
color. But it never worked in that way and just by mistake it was
using the Foreground/Background pair of colors by default (which is
the desidered behavior now). So we are just removing the buggy code
that never worked. (Related to #2028 in some way.)
2021-06-29 16:31:51 -03:00
David Capello
e73d96262d Always use Foreground color in Select > Color Range (fix #2028) 2021-06-29 16:26:48 -03:00
David Capello
78abaf0292 Minor change in MaskColor add ConfigSection constant 2021-06-29 16:23:56 -03:00
David Capello
9609d2c827 Fix crash if we press F5/reload menus when we have a menu open (fix #2496) 2021-06-28 21:13:56 -03:00
David Capello
9f300bf55d Better handling of Cel Properties for multiple cels 2021-06-11 11:04:52 -03:00
David Capello
a4e7ac13c1 Fix crash in Cel properties dialog when range is enabled & active cel is empty 2021-06-11 10:45:49 -03:00
David Capello
fb88a5c1f1 Message::setPropagateToChildren() receives a bool argument 2021-06-07 17:17:18 -03:00
David Capello
eec9ed0bcc Fix a couple of minor leaked ui::Messages 2021-06-07 15:20:45 -03:00
Gaspar Capello
5f48d77786 Add octree quantization algorithm supports alpha channel
Before this commit, Octree wasn't support alpha channel.
Also the automatic quantization algorithm selection was removed because Octree support alpha channel now.
2021-06-04 10:06:06 -03:00
David Capello
a3f9143cbe Don't ask to adjust the Screen Scaling
For the default theme it makes sense (and maybe for most theme
variants it will make sense to avoid adjusting the screen
scaling). But maybe other themes will want to adjust the scale
automatically when choosing the variant.
2021-05-22 00:46:01 -03:00
David Capello
c99000a2c3 Add theme variants to switch easily between Light/Dark themes 2021-05-22 00:42:36 -03:00
David Capello
e7f0832ff3 Fix setting color space of all os::Windows 2021-05-21 21:44:30 -03:00
David Capello
2bc64cf5ff Add PalettePicks::invert() member function 2021-05-20 17:57:22 -03:00
David Capello
de8b6ff2b4 Add support to select used/unused tiles from multiple tilemap layers using the same tileset
With this commit we've also simplified the
SelectPaletteColorsCommand::selectTiles() function.
2021-05-20 17:49:16 -03:00
David Capello
bc824ed9e6 Fix crash calling PaletteSize without active sprite 2021-05-20 17:31:08 -03:00
David Capello
56ae29a9b4 Add different names to SelectPaletteColors and possibility to assign keyboard shortcuts to these items
Now we can assign keyboard shortcuts to the whole Palette menu.
2021-05-20 17:28:32 -03:00
David Capello
4b2947a81c Refactor SelectPaletteColorsCommand and enable it always for colors and in tilemap layers for tiles
The command doesn't depend on the current TilemapMode.
2021-05-20 16:26:21 -03:00
Gaspar Capello
3c6320a4b5 Add select used colors and select used tiles on palette options 2021-05-20 15:59:42 -03:00
David Capello
414165f078 Add support to resize sprites with tilemaps
This fixes Sprite > Sprite Size and File > Export when a resize
parameter != 100% is given.
2021-05-18 14:52:53 -03:00
David Capello
69a7faefa2 New default RgbMapAlgorithm to select what could works better at a given time 2021-05-09 20:53:09 -03:00
David Capello
1779e11f5e Use expandWindow() to expand/collapse some windows that were left behind in the refactor 2021-05-09 20:45:57 -03:00
David Capello
8a22fe220c Use configured algorithm to convert RGB -> Indexed by default 2021-05-09 12:58:27 -03:00
David Capello
660407c9b2 Switch multiple displays flag in runtime
Already created ui::Window are not modified and closed/reopened.
2021-04-20 14:14:54 -03:00
David Capello
b90c56487d Merge branch 'main' into beta 2021-04-16 14:13:05 -03:00
David Capello
4fe8c93c5c Fix regression cannot move/resize reference layers
Regression introduced in f3ab779bfd
2021-04-16 10:23:35 -03:00
David Capello
14c3cfe393 Fix conversions between layer <-> tilemap when grid origin != 0,0
We've changed a restriction for tilesets: grid's in doc::Tileset must
have origin=(0,0); and the origin of a doc::Grid only makes sense for
the sprite grid (where the origin is set by the user) or for a tilemap
cel (where the origin is the cel origin).
2021-04-15 21:26:45 -03:00