Skip to content

Commit

Permalink
Resolve update issues (#16)
Browse files Browse the repository at this point in the history
* Include build type in ccache key

This should lead to better cache utilisation, smaller caches

* Use ccache on macOS

Originally (aseprite#2699) ccache was only enable for Linux due to suspiciously low
macOS yields.

I have addressed the likely issue upstream
(hendrikmuhs/ccache-action#147) and ccache can be used
on macOS now as well.

* Fix blend mode usage for GraphicsContext:drawImage(image, x, y) (fix aseprite#3960)

* Use transparent color when the source indexed image uses mask color (fix aseprite#3960)

* [lua] Add GraphicsContext.palette property to set the palette used to draw indexed images

* Set GraphicsContext.palette automatically when a Sprite's indexed image
or tileset's tile indexed image is drawn

* Fix Full Preview and Edges setting on Cursors preferences (fix aseprite#3188)

* Update INSTALL.md

Including all the steps for the ARM version of the mac install instructions, rather than partial steps.

* Show brush preview for custom brushes when using Paint Bucket tool (fix aseprite#4052)

* Fix unused variable warnings

* Fix sprintf() warnings using snprintf() or fmt::format()

* Clarify Windows instructions for 64-bit Skia

* Update laf module

New changes required for aseprite#3684/aseprite#4063 to trigger mouse buttons with
keys correctly.

* Add more accessible option to re-enable the Aseprite file dialog (fix aseprite#4051)

As now the native file selector is the default one, we moved the
option to re-enable the previous file selector to Edit > Preferences >
General > Show Aseprite file dialog option.

Related to aseprite#3615 and added as a simple alternative to aseprite#2745 which
require native widgets on each native file dialog.

* fixed time duration not including ending frame

* Add Timeline visibility button to Toolbar, extracted button draw logic to separate member function

* Add new icon for the button to switch the timeline visibility (aseprite#4081, aseprite#4092)

* Minor fix in new timeline button in the toolbar (aseprite#4081, aseprite#4092)

The button was being painted with "toolbutton_last" part instead of
"toolbutton_normal" when it wasn't highlighted/in "hot" state.

* Fix std::clamp() assert in Manager::onInitTheme()

* respect slice keys frame number on ase file format (fix aseprite#4062)

* Prevent crash when in Auto or Stack mode the user tries to move pixels from a tilemap with inexistent tiles (fix aseprite#4071)

* Fix disable delete layer button when only one layer exists (fix aseprite#3649)

* [x11] Update clip module to fix a problem pasting text to some text editors

* Revert timeline behavior to the v1.2 default (aseprite#4024)

This change was introduced in dd7e27a
as a possible fix for aseprite#4024, but the change is too disruptive to be
introduced at this stage, we need some extra UI elements to make the
drag & drop accessible in both modes: the default v1.2 behavior, and
a possible new selection mode, e.g. aseprite#1498

* Rename scale_xxbits_to_8bits() -> scale_xbits_to_8bits()

* Take some tests out from a loop they don't depend on

* Support scaling down bits (e.g. from 10 to 8) with scale_xbits_to_8bits() doing a bit shift

* Update submodules (fix aseprite#4102)

* Improve script engine's exception handling

More details about the implications of this change can be found
in aseprite#4057

* [lua] Limit the possibility to create a tileset with origin != 0,0 (fix aseprite#4118)

* [lua] Make Sprite:newTileset(Rectangle) work (fix aseprite#4117)

* [lua] Sprite:newTileset() uses sprite grid size by default (fix aseprite#4116)

* Update clip submodule

* EditorConfig: Don't use tabs in .md files

* Show custom pattern brushes for Paint Bucket (fix aseprite#4053)

* [lua] Fix crash when saving tilemap's cel image (fix aseprite#4069)

* Remove ';' chars from lua tests

* Fix crash deleting layers while using "Change Layer" w/scroll wheel  (fix aseprite#4114)

E.g. If we configure Shift+scroll wheel to "Change Layer" action, and
Shift+J to delete a layer, we can press Shift key and move through
layers with the mouse whell while we press the Shift key, and if we
press J (without releasing the Shift) start deleting layers. At some
point a crash will happen.

* Update laf module

* Fix error message when attempting to delete layer in a group (fix aseprite#4083)

If the sprite contained only one layer group, and we tried to delete
one child, we got an error message about "You cannot delete all
layers". This fixes this (the error message is only when we delete the
last top level layer).

* Minor comment in AppOptions::VerboseLevel

* Log UUID when -debug option is specified (fix aseprite#4104)

In this way, in some cases, we could ask to the user for the -debug
report and match some Sentry crash report with the user.

* Possible fix for crash reports re-opening IntEntry popup when it's already open (fix aseprite#4124)

* Fixed unnecessary scrollbar in X dimension for dithering selector dropdown.

Added offset to dithering selector dropdown width to avoid X dimension scrollbar obscuring the bottom of the dropdown. This also removes the need for a vertical scrollbar for the generic number of dithering options.
Related to Issue aseprite#4001

* Minor refactor to set DitheringSelector combobox size hint (aseprite#4001, aseprite#4075)

Changed the required size to its minimum (6 instead of 8).
Minor refactor from 1c3224a

All these values are hard-coded in DitherItem (so we cannot use
theme-related values yet for this).

* Fix export sprite sheet to RGB is not exporting the palette (fix aseprite#3881)

* New tile flags meaning (x/y/diagonal flip) + serialize then correctly

* Changed the "90cw" flag to "diagonal flip" (the tile should be
  rendered with X/Y axis switched in this case)
* Each time we read/write an .aseprite file we have to convert
  the mask/shift from the file to the values expected in
  memory (tile_f_xflip/yflip/dflip)

* Add simple rendering of tiles w/flags (x/y/d flip)

* [lua] Add test about saving/loading/modifying tilemap w/flags

Something interesting is that Image:drawPixel() must ask for a rehash
to the tileset when the tile is modified, maybe we can find a better
way to handle this in the future.

* Fix eyedropper to pick colors/tiles correctly from flipped tiles

* Added a new app::Color type for tiles, to store the flags of the
  picked tile.
* Fixed color bar/status bar with a new draw_tile() to draw tiles
  with flip flags.

* Fix painting on flipped tiles in manual mode

* Fix eyedropper for tiles w/flags when picking colors from "Current Layer"

* Fix tile information (index/flags) in StandbyState

* Fix painting with tiles and flags

* Add support to flip/rotate tiles to ChangeBrush command (like aseprite#1222)

* Fix assert converting Color{index} to a tile from tilemap.lua test

We must be able to convert a app::Color::IndexType to a tile index.

* Remove unused variable in lambda function

* Show tile flags in the editor canvas when we use Ctrl key/move tool

Added build_tile_flags_string() utility to create the string used in
to show the tile flags (XYD) on the status bar, the editor canvas,
etc.

* Add Space+X and Space+Y alternatives to flip brush/tile flags

We already have Space+H and Space+V, but as the flags are XYD probably
Space+X/Y makes more sense.

* Fix bug w/auto tileset mode adjusting tiles when we replace a unique instance of a tile+flag with a new tile

The assert() in remove_unused_tiles_from_tileset() checking for the
tiles histograms was failing because we weren't adjusting the
histogram correctly when a tile w/a flag is replaced w/another without
flags.

* Add support to match flipped tiles automatically in Auto/Stack modes

By default Aseprite will not try to match flipped versions of the
tiles (as it requires more CPU), but when we create a tileset we can
specify which flips can be matched automatically (new
Tileset::matchFlags() property).

These flags are just for the Auto mode, if we manually insert a
flipped tile, that is always supported, even when the matchFlags() are
not specified.

* Fix eyedropper in Tiles mode to pick tiles that are flipped and have masked areas

Sprite::pickCels() wasn't taking care of the tile flags to pick
tilemap layers correctly with flipped tiles.

* Add a workflow to close spammy PRs

First attempt, not sure if this will be useful at all.

* Remap tiles with flags correctly

* Move the timeline button in the toolbar to the bottom

* Add "Advanced Options" checkbox in Tileset selector

To hide "Base Index" & "Allowed Flips" options by default.

* Fix possible crash adding reference layer (fix aseprite#3949)

* [osx] Fix mouse misalignment and show tabs area again when Screen Scaling=100% (fix aseprite#4142)

Originally reported here:
https://steamcommunity.com/app/431730/discussions/0/3954784199573459745/

* Add option to enable the Snap to Grid option for the brush preview (fix aseprite#4137)

* Update About dialog copyright year

* Fix crash making a tileset bigger and pressing Remap (fix aseprite#4144)

This happens only if the tilemap already has tile references outside
the valid range of the tileset (and even bigger than the new tileset
size).

* Fix typo in en.ini file: extra " char (fix aseprite#4148)

* [lua] Fix crash calling io.open() without argument (fix aseprite#4159)

* Use configured dynamics of active tool w/o opening dynamics popup (fix aseprite#4151)

* Add option to disable Snap to Grid by default when we move the selection (fix aseprite#4153)

---------

Co-authored-by: Michał Janiszewski <[email protected]>
Co-authored-by: Martín Capello <[email protected]>
Co-authored-by: Gaspar Capello <[email protected]>
Co-authored-by: Andrés Colón <[email protected]>
Co-authored-by: David Capello <[email protected]>
Co-authored-by: Ashray Shah <[email protected]>
Co-authored-by: Rowan Douglas <[email protected]>
Co-authored-by: Akylzhan <[email protected]>
Co-authored-by: Nicolás Pinochet <[email protected]>
Co-authored-by: Dariy Guzairov <[email protected]>
Co-authored-by: ChikenUni <[email protected]>
  • Loading branch information
12 people authored Nov 20, 2023
1 parent ec50784 commit 0b24117
Show file tree
Hide file tree
Showing 126 changed files with 2,198 additions and 575 deletions.
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ indent_style = space
indent_style = space
indent_size = 2

[*.md]
indent_style = space

[*.sh]
indent_style = space
indent_size = 4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
submodules: 'recursive'
- name: ccache
uses: hendrikmuhs/ccache-action@v1
if: runner.os == 'Linux'
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
with:
key: ${{ matrix.os }}-${{ matrix.enable_ui }}
key: ${{ matrix.os }}-${{ matrix.enable_ui }}-${{ matrix.build_type }}
- uses: turtlesec-no/get-ninja@main
- uses: ilammy/msvc-dev-cmd@v1
if: runner.os == 'Windows'
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/close_spam.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Close Spam PR
on:
pull_request_target:
types: [opened, reopened]
paths:
- '.github/workflows/**'
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: superbrothers/close-pull-request@v3
with:
comment: "We do not accept PRs to modify GitHub actions. Contact [email protected] directly with patches for this."
258 changes: 258 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
# Table of contents

* [Platforms](#platforms)
* [Get the source code](#get-the-source-code)
* [Dependencies](#dependencies)
* [Windows dependencies](#windows-dependencies)
* [macOS dependencies](#macos-dependencies)
* [Linux dependencies](#linux-dependencies)
* [Compiling](#compiling)
* [Windows details](#windows-details)
* [MinGW](#mingw)
* [macOS details](#macos-details)
* [Issues with Retina displays](#issues-with-retina-displays)
* [Linux details](#linux-details)
* [Using shared third party libraries](#using-shared-third-party-libraries)

# Platforms

You should be able to compile Aseprite successfully on the following
platforms:

* Windows 11 + [Visual Studio Community 2022 + Windows 10.0 SDK (the latest version available)](https://imgur.com/a/7zs51IT) (we don't support [MinGW](#mingw))
* macOS 13.0.1 Ventura + Xcode 14.1 + macOS 11.3 SDK (older version might work)
* Linux Ubuntu Bionic 18.04 + clang 10.0

# Get the source code

You can get the source code downloading a `Aseprite-v1.x-Source.zip`
file from the latest Aseprite release (*in that case please follow the
compilation instructions inside the `.zip` file*):

https://github.com/aseprite/aseprite/releases

Or you can clone the repository and all its submodules using the
following command:

git clone --recursive https://github.com/aseprite/aseprite.git

To update an existing clone you can use the following commands:

cd aseprite
git pull
git submodule update --init --recursive

You can use [Git for Windows](https://git-for-windows.github.io/) to
clone the repository on Windows.

# Dependencies

To compile Aseprite you will need:

* The latest version of [CMake](https://cmake.org) (3.16 or greater)
* [Ninja](https://ninja-build.org) build system
* And a compiled version of the `aseprite-m102` branch of
the [Skia library](https://github.com/aseprite/skia#readme).
There are [pre-built packages available](https://github.com/aseprite/skia/releases).
You can get some extra information in
the [*laf* dependencies](https://github.com/aseprite/laf#dependencies) page.

## Windows dependencies

* Windows 10 (we don't support cross-compiling)
* [Visual Studio Community 2022](https://visualstudio.microsoft.com/downloads/) (we don't support [MinGW](#mingw))
* The [Desktop development with C++ item + Windows 10.0.18362.0 SDK](https://imgur.com/a/7zs51IT)
from the Visual Studio installer

## macOS dependencies

On macOS you will need macOS 11.3 SDK and Xcode 13.1 (older versions
might work).

## Linux dependencies

You will need the following dependencies on Ubuntu/Debian:

sudo apt-get install -y g++ clang libc++-dev libc++abi-dev cmake ninja-build libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev

Or use clang-10 packages (or newer) in case that clang in your distribution is older than clang 10.0:

sudo apt-get install -y clang-10 libc++-10-dev libc++abi-10-dev

On Fedora:

sudo dnf install -y gcc-c++ clang libcxx-devel cmake ninja-build libX11-devel libXcursor-devel libXi-devel mesa-libGL-devel fontconfig-devel

On Arch:

sudo pacman -S gcc clang libc++ cmake ninja libx11 libxcursor mesa-libgl fontconfig

On SUSE:

sudo zypper install gcc-c++ clang libc++-devel libc++abi-devel cmake ninja libX11-devel libXcursor-devel libXi-devel Mesa-libGL-devel fontconfig-devel

# Compiling

1. [Get Aseprite code](#get-the-source-code), put it in a folder like
`C:\aseprite`, and create a `build` directory inside to leave all
the files that are result of the compilation process (`.exe`,
`.lib`, `.obj`, `.a`, `.o`, etc).

cd C:\aseprite
mkdir build

In this way, if you want to start with a fresh copy of Aseprite
source code, you can remove the `build` directory and start again.

2. Enter in the new directory and execute `cmake`:

cd C:\aseprite\build
cmake -G Ninja -DLAF_BACKEND=skia ..

Here `cmake` needs different options depending on your
platform. You must check the details for
[Windows](#windows-details), [macOS](#macos-details), and
[Linux](#linux-details). Some `cmake` options can be modified using tools like
[`ccmake`](https://cmake.org/cmake/help/latest/manual/ccmake.1.html)
or [`cmake-gui`](https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html).

3. After you have executed and configured `cmake`, you have to compile
the project:

cd C:\aseprite\build
ninja aseprite

4. When `ninja` finishes the compilation, you can find the executable
inside `C:\aseprite\build\bin\aseprite.exe`.

## Windows details

Open a command prompt window (`cmd.exe`) and call:

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" -arch=x64

The command above is required while using the 64-bit version of skia. When compiling with the 32-bit version, it is possible to open a [developer command prompt](https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs) instead.

And then

cd aseprite
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -DSKIA_LIBRARY_DIR=C:\deps\skia\out\Release-x64 -DSKIA_LIBRARY=C:\deps\skia\out\Release-x64\skia.lib -G Ninja ..
ninja aseprite

In this case, `C:\deps\skia` is the directory where Skia was compiled
or uncompressed.

### MinGW

We don't support MinGW compiler and it might bring some problems into
the compilation process. If you see that the detected C++ compiler by
cmake is `C:\MinGW\bin\c++.exe` or something similar, you have to get
rid of MinGW path (`C:\MinGW\bin`) from the `PATH` environment
variable and run cmake again from scratch, so the Visual Studio C++
compiler (`cl.exe`) is used instead.

You can define the `CMAKE_IGNORE_PATH` variable when running cmake for
the first time in case that you don't know or don't want to modify the
`PATH` variable, e.g.:

cmake -DCMAKE_IGNORE_PATH=C:\MinGW\bin ...

More information in [issue #2449](https://github.com/aseprite/aseprite/issues/2449)

## macOS details

Run `cmake` with the following parameters and then `ninja`:

cd aseprite
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-x64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-x64/libskia.a \
-G Ninja \
..
ninja aseprite

In this case, `$HOME/deps/skia` is the directory where Skia was
compiled or downloaded. Make sure that `CMAKE_OSX_SYSROOT` is
pointing to the correct SDK directory (in this case
`/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk`),
but it could be different in your Mac.

### Apple Silicon

If you running macOS on an ARM64/AArch64/Apple Silicon Mac (e.g. M1),
you can compile a native ARM64 version of Aseprite following similar
steps as above but when we call `cmake`, we have some differences:

cd aseprite
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-arm64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-arm64/libskia.a \
-DPNG_ARM_NEON:STRING=on \
-G Ninja \
..
ninja aseprite

### Issues with Retina displays

If you have a Retina display, check the following issue:

https://github.com/aseprite/aseprite/issues/589

## Linux details

You need to use clang and libc++ to compile Aseprite:

cd aseprite
mkdir build
cd build
export CC=clang
export CXX=clang++
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS:STRING=-stdlib=libc++ \
-DCMAKE_EXE_LINKER_FLAGS:STRING=-stdlib=libc++ \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-x64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-x64/libskia.a \
-G Ninja \
..
ninja aseprite

In this case, `$HOME/deps/skia` is the directory where Skia was
compiled or uncompressed.

### GCC compiler

In case that you are using the pre-compiled Skia version, you must use
the clang compiler and libc++ to compile Aseprite. Only if you compile
Skia with GCC, you will be able to compile Aseprite with GCC, and this
is not recommended as you will have a performance penalty doing so.

# Using shared third party libraries

If you don't want to use the embedded code of third party libraries
(i.e. to use your installed versions), you can disable static linking
configuring each `USE_SHARED_` option.

After running `cmake -G`, you can edit `build/CMakeCache.txt` file,
and enable the `USE_SHARED_` flag (set its value to `ON`) of the
library that you want to be linked dynamically.
Binary file modified data/extensions/aseprite-theme/dark/sheet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions data/extensions/aseprite-theme/dark/theme.xml
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,7 @@
<part id="tool_jumble" x="176" y="112" w="16" h="16" />
<part id="tool_configuration" x="144" y="128" w="16" h="16" />
<part id="tool_minieditor" x="160" y="128" w="16" h="16" />
<part id="tool_timeline" x="176" y="128" w="16" h="16" />
<part id="simple_color_border" x="16" y="32" w1="3" w2="6" w3="3" h1="3" h2="6" h3="3" />
<part id="simple_color_selected" x="32" y="32" w1="3" w2="6" w3="3" h1="3" h2="6" h3="3" />
<part id="aseprite_face" x="0" y="272" w="28" h="30" />
Expand Down
Binary file modified data/extensions/aseprite-theme/sheet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions data/extensions/aseprite-theme/theme.xml
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,7 @@
<part id="tool_jumble" x="176" y="112" w="16" h="16" />
<part id="tool_configuration" x="144" y="128" w="16" h="16" />
<part id="tool_minieditor" x="160" y="128" w="16" h="16" />
<part id="tool_timeline" x="176" y="128" w="16" h="16" />
<part id="simple_color_border" x="16" y="32" w1="3" w2="6" w3="3" h1="3" h2="6" h3="3" />
<part id="simple_color_selected" x="32" y="32" w1="3" w2="6" w3="3" h1="3" h2="6" h3="3" />
<part id="aseprite_face" x="0" y="272" w="28" h="30" />
Expand Down
6 changes: 6 additions & 0 deletions data/gui.xml
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,15 @@
<key command="ChangeBrush" shortcut="Space+H">
<param name="change" value="flip-x" />
</key>
<key command="ChangeBrush" shortcut="Space+X">
<param name="change" value="flip-x" />
</key>
<key command="ChangeBrush" shortcut="Space+V">
<param name="change" value="flip-y" />
</key>
<key command="ChangeBrush" shortcut="Space+Y">
<param name="change" value="flip-y" />
</key>
<key command="ChangeBrush" shortcut="Space+D">
<param name="change" value="flip-d" />
</key>
Expand Down
5 changes: 4 additions & 1 deletion data/pref.xml
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@
</section>
<section id="timeline">
<option id="keep_selection" type="bool" default="false" />
<option id="select_on_click" type="bool" default="false" />
<option id="select_on_click" type="bool" default="true" />
<option id="select_on_click_with_key" type="bool" default="true" />
<option id="select_on_drag" type="bool" default="true" />
<option id="drag_and_drop_from_edges" type="bool" default="true" />
Expand All @@ -212,6 +212,7 @@
<option id="cursor_color" type="app::Color" default="app::Color::fromMask()" />
<option id="painting_cursor_type" type="PaintingCursorType" default="PaintingCursorType::CROSSHAIR_ON_SPRITE" />
<option id="brush_preview" type="BrushPreview" default="BrushPreview::FULL" />
<option id="snap_to_grid" type="bool" default="false" />
</section>
<section id="preview" text="Preview">
<option id="play_once" type="bool" default="false" />
Expand Down Expand Up @@ -306,6 +307,7 @@
<option id="doubleclick_select_tile" type="bool" default="true" />
<option id="force_rotsprite" type="bool" default="false" />
<option id="multicel_when_layers_or_frames" type="bool" default="true" />
<option id="snap_to_grid" type="bool" default="true" />
</section>
<section id="quantization">
<option id="with_alpha" type="bool" default="true" />
Expand Down Expand Up @@ -435,6 +437,7 @@
<section id="tileset">
<option id="base_index" type="int" default="1" />
<option id="cache_compressed_tilesets" type="bool" default="true" />
<option id="advanced" type="bool" default="false" />
</section>
<section id="tilemap">
<option id="show_delete_unused_tileset_alert" type="bool" default="true" />
Expand Down
Loading

0 comments on commit 0b24117

Please sign in to comment.