mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 09:09:47 +00:00
[skip ci] Fix various typos
This commit is contained in:
parent
a381e8a7de
commit
8a38eef30d
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -29,7 +29,7 @@ This update has been brought to you by the contributions of:
|
||||||
- Slider + SpinBox combinations have been replaced by a custom slider, made by [@mrtripie](https://github.com/mrtripie). (Ongoing)
|
- Slider + SpinBox combinations have been replaced by a custom slider, made by [@mrtripie](https://github.com/mrtripie). (Ongoing)
|
||||||
- The color picker now picks any visible color on the canvas, regardless of layer. A toggle has also been added in the tool options to let the user change back to the previous behavior of only picking a color on the selected layer. [#816](https://github.com/Orama-Interactive/Pixelorama/pull/816)
|
- The color picker now picks any visible color on the canvas, regardless of layer. A toggle has also been added in the tool options to let the user change back to the previous behavior of only picking a color on the selected layer. [#816](https://github.com/Orama-Interactive/Pixelorama/pull/816)
|
||||||
- A single popup appears when exporting multiple files that already exist, instead of showing one popup for each file to overwrite. [#585](https://github.com/Orama-Interactive/Pixelorama/discussions/585)
|
- A single popup appears when exporting multiple files that already exist, instead of showing one popup for each file to overwrite. [#585](https://github.com/Orama-Interactive/Pixelorama/discussions/585)
|
||||||
- Most dialogs received some UI changes, such as making their elments expand vertically, and making their Cancel and OK buttons a little bigger.
|
- Most dialogs received some UI changes, such as making their elements expand vertically, and making their Cancel and OK buttons a little bigger.
|
||||||
- The look of the brushes popup has been improved. [#815](https://github.com/Orama-Interactive/Pixelorama/pull/815)
|
- The look of the brushes popup has been improved. [#815](https://github.com/Orama-Interactive/Pixelorama/pull/815)
|
||||||
- The manage layout dialog now has a preview for the selected layout. [#787](https://github.com/Orama-Interactive/Pixelorama/pull/787)
|
- The manage layout dialog now has a preview for the selected layout. [#787](https://github.com/Orama-Interactive/Pixelorama/pull/787)
|
||||||
- Layer adding behavior has been changed. [#767](https://github.com/Orama-Interactive/Pixelorama/pull/767)
|
- Layer adding behavior has been changed. [#767](https://github.com/Orama-Interactive/Pixelorama/pull/767)
|
||||||
|
@ -93,7 +93,7 @@ Fayez Akhtar ([@Variable-ind](https://github.com/Variable-ind)), [@GrantMoyer](h
|
||||||
- A new rotation type, Rotxel with smear. Thanks to [azagaya](https://github.com/azagaya) for the shader code.
|
- A new rotation type, Rotxel with smear. Thanks to [azagaya](https://github.com/azagaya) for the shader code.
|
||||||
- The pivot in the rotate image dialog can now be changed by the user. [#720](https://github.com/Orama-Interactive/Pixelorama/pull/720)
|
- The pivot in the rotate image dialog can now be changed by the user. [#720](https://github.com/Orama-Interactive/Pixelorama/pull/720)
|
||||||
- New offset options in tile mode that allow for non-rectangular tiling. [#707](https://github.com/Orama-Interactive/Pixelorama/pull/707)
|
- New offset options in tile mode that allow for non-rectangular tiling. [#707](https://github.com/Orama-Interactive/Pixelorama/pull/707)
|
||||||
- A basic API for Extensions. Has not been documented yet and is stil experimental.
|
- A basic API for Extensions. Has not been documented yet and is still experimental.
|
||||||
- A similarity option in the Select by Color tool. [#710](https://github.com/Orama-Interactive/Pixelorama/pull/710)
|
- A similarity option in the Select by Color tool. [#710](https://github.com/Orama-Interactive/Pixelorama/pull/710)
|
||||||
- The left and right tool colors in the background of the tool buttons and the indicators on the canvas can now be changed from the Preferences.
|
- The left and right tool colors in the background of the tool buttons and the indicators on the canvas can now be changed from the Preferences.
|
||||||
- Added Danish translations.
|
- Added Danish translations.
|
||||||
|
@ -376,12 +376,12 @@ Laurenz Reinthaler (Schweini07), kleonc, Fayez Akhtar (Variable), THWLF, Gamespl
|
||||||
- Keyboard shortcut conflicts between tool shortcuts and other shortcuts that use the "Control" key, like menu shortcuts, have been resolved. ([#407](https://github.com/Orama-Interactive/Pixelorama/pull/407))
|
- Keyboard shortcut conflicts between tool shortcuts and other shortcuts that use the "Control" key, like menu shortcuts, have been resolved. ([#407](https://github.com/Orama-Interactive/Pixelorama/pull/407))
|
||||||
- The opacity of a cel and the tile mode opacity are now multiplicative. ([#414](https://github.com/Orama-Interactive/Pixelorama/pull/414))
|
- The opacity of a cel and the tile mode opacity are now multiplicative. ([#414](https://github.com/Orama-Interactive/Pixelorama/pull/414))
|
||||||
- Fixed an issue where adding a new layer did not select it, rather it was selecting the above layer of the previously selected layer. ([#424](https://github.com/Orama-Interactive/Pixelorama/pull/424))
|
- Fixed an issue where adding a new layer did not select it, rather it was selecting the above layer of the previously selected layer. ([#424](https://github.com/Orama-Interactive/Pixelorama/pull/424))
|
||||||
- Fixed issue that occurred when the application window regained focus and the tool was immediatly activated. ([35f97eb](https://github.com/Orama-Interactive/Pixelorama/commit/35f97ebe6f90bd2a5994b294231738ef4a6b998c))
|
- Fixed issue that occurred when the application window regained focus and the tool was immediately activated. ([35f97eb](https://github.com/Orama-Interactive/Pixelorama/commit/35f97ebe6f90bd2a5994b294231738ef4a6b998c))
|
||||||
- Fixed cel opacity not always being updated on the UI. ([#420](https://github.com/Orama-Interactive/Pixelorama/pull/420))
|
- Fixed cel opacity not always being updated on the UI. ([#420](https://github.com/Orama-Interactive/Pixelorama/pull/420))
|
||||||
- Loading empty backed up projects no longer result in a crash. ([#445](https://github.com/Orama-Interactive/Pixelorama/issues/445))
|
- Loading empty backed up projects no longer result in a crash. ([#445](https://github.com/Orama-Interactive/Pixelorama/issues/445))
|
||||||
- Fixed potential index out of bounds error when loading backup files. ([#446](https://github.com/Orama-Interactive/Pixelorama/pull/446))
|
- Fixed potential index out of bounds error when loading backup files. ([#446](https://github.com/Orama-Interactive/Pixelorama/pull/446))
|
||||||
- Mirroring view should now work on all tools.
|
- Mirroring view should now work on all tools.
|
||||||
- Fixed hue and saturation getting reset when draging value slider to zero. ([#473](https://github.com/Orama-Interactive/Pixelorama/pull/473))
|
- Fixed hue and saturation getting reset when dragging value slider to zero. ([#473](https://github.com/Orama-Interactive/Pixelorama/pull/473))
|
||||||
- Image effects will not longer get applied to locked and/or hidden layers.
|
- Image effects will not longer get applied to locked and/or hidden layers.
|
||||||
- Fixed memory leaks when opening and closing Pixelorama. ([#387](https://github.com/Orama-Interactive/Pixelorama/issues/387))
|
- Fixed memory leaks when opening and closing Pixelorama. ([#387](https://github.com/Orama-Interactive/Pixelorama/issues/387))
|
||||||
- The color picker now displays "HSV" and "Raw" next to the respective CheckButtons - thanks to Godot 3.3.
|
- The color picker now displays "HSV" and "Raw" next to the respective CheckButtons - thanks to Godot 3.3.
|
||||||
|
@ -507,7 +507,7 @@ Darshan Phaldesai (luiq54), Igor Santarek (jegor377), rob-a-bolton, Kinwailo, Mi
|
||||||
- Re-organized preferences dialog.
|
- Re-organized preferences dialog.
|
||||||
- The "create new image" dialog now remembers the last created canvas size. The default image settings are being used only when Pixelorama first launches. ([#178](https://github.com/Orama-Interactive/Pixelorama/issues/178))
|
- The "create new image" dialog now remembers the last created canvas size. The default image settings are being used only when Pixelorama first launches. ([#178](https://github.com/Orama-Interactive/Pixelorama/issues/178))
|
||||||
- Language and theme checkboxes are now radio buttons.
|
- Language and theme checkboxes are now radio buttons.
|
||||||
- The Blue theme has more similar margins and seperations with the rest of the themes.
|
- The Blue theme has more similar margins and separations with the rest of the themes.
|
||||||
- Fullscreen can be toggled on and off from the View menu.
|
- Fullscreen can be toggled on and off from the View menu.
|
||||||
- Multi-threaded rendering has been enabled. ([#294](https://github.com/Orama-Interactive/Pixelorama/pull/294))
|
- Multi-threaded rendering has been enabled. ([#294](https://github.com/Orama-Interactive/Pixelorama/pull/294))
|
||||||
- Use the Dummy audio driver since Pixelorama doesn't play any sounds. ([#312](https://github.com/Orama-Interactive/Pixelorama/pull/312))
|
- Use the Dummy audio driver since Pixelorama doesn't play any sounds. ([#312](https://github.com/Orama-Interactive/Pixelorama/pull/312))
|
||||||
|
|
|
@ -31,4 +31,4 @@ $ CLICKABLE_ARCH=arm64 clickable build
|
||||||
|
|
||||||
### Important gotcha: File loading and saving
|
### Important gotcha: File loading and saving
|
||||||
|
|
||||||
Due to AppArmor policy restrictions, you are not able to save to anywhere outside of the user data directroy.
|
Due to AppArmor policy restrictions, you are not able to save to anywhere outside of the user data directory.
|
||||||
|
|
|
@ -2033,9 +2033,6 @@ msgstr ""
|
||||||
msgid "Cannot remove the palette, because it doesn't exist!"
|
msgid "Cannot remove the palette, because it doesn't exist!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "An error occured while removing the palette! Error code: %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "and"
|
msgid "and"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ func add_action(action: String):
|
||||||
if extension_name in _action_history.keys():
|
if extension_name in _action_history.keys():
|
||||||
var extension_history: Array = _action_history[extension_name]
|
var extension_history: Array = _action_history[extension_name]
|
||||||
extension_history.append(action)
|
extension_history.append(action)
|
||||||
else: # If the extension history does'nt exist yet then creat it
|
else: # If the extension history doesn't exist yet, create it
|
||||||
_action_history[extension_name] = [action]
|
_action_history[extension_name] = [action]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ func handle_loading_file(file: String) -> void:
|
||||||
# Attempt to load as a regular image.
|
# Attempt to load as a regular image.
|
||||||
var image := Image.new()
|
var image := Image.new()
|
||||||
var err := image.load(file)
|
var err := image.load(file)
|
||||||
if err != OK: # An error occured
|
if err != OK: # An error occurred
|
||||||
var file_name: String = file.get_file()
|
var file_name: String = file.get_file()
|
||||||
Global.error_dialog.set_text(
|
Global.error_dialog.set_text(
|
||||||
tr("Can't load file '%s'.\nError code: %s") % [file_name, str(err)]
|
tr("Can't load file '%s'.\nError code: %s") % [file_name, str(err)]
|
||||||
|
@ -210,8 +210,8 @@ func open_old_pxo_file(file: File, new_project: Project, first_line: String) ->
|
||||||
# In the above example, the major version would return "0",
|
# In the above example, the major version would return "0",
|
||||||
# the minor version would return "7", the patch "10"
|
# the minor version would return "7", the patch "10"
|
||||||
# and the status would return "beta"
|
# and the status would return "beta"
|
||||||
var file_major_version = int(file_ver_splitted_numbers[0].replace("v", ""))
|
var file_major_version := int(file_ver_splitted_numbers[0].replace("v", ""))
|
||||||
var file_minor_version = int(file_ver_splitted_numbers[1])
|
var file_minor_version := int(file_ver_splitted_numbers[1])
|
||||||
var file_patch_version := 0
|
var file_patch_version := 0
|
||||||
|
|
||||||
if file_ver_splitted_numbers.size() > 2:
|
if file_ver_splitted_numbers.size() > 2:
|
||||||
|
@ -744,7 +744,7 @@ func remove_backup_by_path(project_path: String, backup_path: String) -> void:
|
||||||
|
|
||||||
func reload_backup_file(project_paths: Array, backup_paths: Array) -> void:
|
func reload_backup_file(project_paths: Array, backup_paths: Array) -> void:
|
||||||
assert(project_paths.size() == backup_paths.size())
|
assert(project_paths.size() == backup_paths.size())
|
||||||
# Clear non-existant backups
|
# Clear non-existent backups
|
||||||
var existing_backups_count := 0
|
var existing_backups_count := 0
|
||||||
var dir := Directory.new()
|
var dir := Directory.new()
|
||||||
for i in range(backup_paths.size()):
|
for i in range(backup_paths.size()):
|
||||||
|
|
|
@ -510,7 +510,7 @@ func _import_gpl(path: String, text: String) -> Palette:
|
||||||
elif line.begins_with("Name: "):
|
elif line.begins_with("Name: "):
|
||||||
palette_name = line.replace("Name: ", "")
|
palette_name = line.replace("Name: ", "")
|
||||||
elif line.begins_with("Columns: "):
|
elif line.begins_with("Columns: "):
|
||||||
# Number of colors in this palette. Unecessary and often wrong
|
# Number of colors in this palette. Unnecessary and often wrong
|
||||||
continue
|
continue
|
||||||
elif line_number > 0 && line.length() >= 9:
|
elif line_number > 0 && line.length() >= 9:
|
||||||
line = line.replace("\t", " ")
|
line = line.replace("\t", " ")
|
||||||
|
@ -567,7 +567,7 @@ func _import_image_palette(path: String, image: Image) -> Palette:
|
||||||
var height: int = image.get_height()
|
var height: int = image.get_height()
|
||||||
var width: int = image.get_width()
|
var width: int = image.get_width()
|
||||||
|
|
||||||
# Iterate all pixels and store unique colors to palete
|
# Iterate all pixels and store unique colors to palette
|
||||||
image.lock()
|
image.lock()
|
||||||
for y in range(0, height):
|
for y in range(0, height):
|
||||||
for x in range(0, width):
|
for x in range(0, width):
|
||||||
|
|
|
@ -14,7 +14,7 @@ var transformed_content: Image # Used in transformations (moving, scaling etc w
|
||||||
|
|
||||||
# The content methods deal with the unique content of each cel type. For example, an Image for
|
# The content methods deal with the unique content of each cel type. For example, an Image for
|
||||||
# PixelLayers, or a Dictionary of settings for a procedural layer type, and null for Groups.
|
# PixelLayers, or a Dictionary of settings for a procedural layer type, and null for Groups.
|
||||||
# Can be used fo linking/unlinking cels, copying, and deleting content
|
# Can be used for linking/unlinking cels, copying, and deleting content
|
||||||
func get_content():
|
func get_content():
|
||||||
return null
|
return null
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ func get_layer_path() -> String:
|
||||||
|
|
||||||
|
|
||||||
# Links a cel to link_set if its a Dictionary, or unlinks if null.
|
# Links a cel to link_set if its a Dictionary, or unlinks if null.
|
||||||
# Content/image_texture are handled seperately for undo related reasons
|
# Content/image_texture are handled separately for undo related reasons
|
||||||
func link_cel(cel: BaseCel, link_set = null) -> void:
|
func link_cel(cel: BaseCel, link_set = null) -> void:
|
||||||
# Erase from the cel's current link_set
|
# Erase from the cel's current link_set
|
||||||
if cel.link_set != null:
|
if cel.link_set != null:
|
||||||
|
|
|
@ -12,7 +12,7 @@ var can_undo = true
|
||||||
var fill_color := Color(0)
|
var fill_color := Color(0)
|
||||||
var has_changed := false setget _has_changed_changed
|
var has_changed := false setget _has_changed_changed
|
||||||
# frames and layers Arrays should generally only be modified directly when
|
# frames and layers Arrays should generally only be modified directly when
|
||||||
# opening/creating a project. When modifiying the current project, use
|
# opening/creating a project. When modifying the current project, use
|
||||||
# the add/remove/move/swap_frames/layers methods
|
# the add/remove/move/swap_frames/layers methods
|
||||||
var frames := [] # Array of Frames (that contain Cels)
|
var frames := [] # Array of Frames (that contain Cels)
|
||||||
var layers := [] # Array of Layers
|
var layers := [] # Array of Layers
|
||||||
|
@ -636,7 +636,7 @@ func can_pixel_get_drawn(
|
||||||
# through these methods.
|
# through these methods.
|
||||||
# These allow you to add/remove/move/swap frames/layers/cels. It updates the Animation Timeline
|
# These allow you to add/remove/move/swap frames/layers/cels. It updates the Animation Timeline
|
||||||
# UI, and updates indices. These are designed to be reversible, meaning that to undo an add, you
|
# UI, and updates indices. These are designed to be reversible, meaning that to undo an add, you
|
||||||
# use remove, and vise versa. To undo a move or swap, use move or swap with the paramaters swapped.
|
# use remove, and vice versa. To undo a move or swap, use move or swap with the parameters swapped.
|
||||||
|
|
||||||
|
|
||||||
func add_frames(new_frames: Array, indices: Array) -> void: # indices should be in ascending order
|
func add_frames(new_frames: Array, indices: Array) -> void: # indices should be in ascending order
|
||||||
|
|
|
@ -31,7 +31,7 @@ func set_palette(new_palette: Palette) -> void:
|
||||||
|
|
||||||
|
|
||||||
func setup_swatches() -> void:
|
func setup_swatches() -> void:
|
||||||
# Colums cannot be 0
|
# Columns cannot be 0
|
||||||
columns = 1.0 if grid_size.x == 0.0 else grid_size.x
|
columns = 1.0 if grid_size.x == 0.0 else grid_size.x
|
||||||
if grid_size.x * grid_size.y > swatches.size():
|
if grid_size.x * grid_size.y > swatches.size():
|
||||||
for i in range(swatches.size(), grid_size.x * grid_size.y):
|
for i in range(swatches.size(), grid_size.x * grid_size.y):
|
||||||
|
|
|
@ -206,7 +206,7 @@ func _enable_extension(extension: Extension, save_to_config := true) -> void:
|
||||||
print("Failed to load extension %s" % id)
|
print("Failed to load extension %s" % id)
|
||||||
else:
|
else:
|
||||||
for ext_node in extension_parent.get_children():
|
for ext_node in extension_parent.get_children():
|
||||||
if ext_node.is_in_group(id): # Node for extention found
|
if ext_node.is_in_group(id): # Node for extension found
|
||||||
extension_parent.remove_child(ext_node)
|
extension_parent.remove_child(ext_node)
|
||||||
ext_node.queue_free()
|
ext_node.queue_free()
|
||||||
ExtensionsApi.check_sanity(extension.file_name)
|
ExtensionsApi.check_sanity(extension.file_name)
|
||||||
|
|
|
@ -16,17 +16,17 @@ uniform sampler2D pattern;
|
||||||
uniform vec2 pattern_size;
|
uniform vec2 pattern_size;
|
||||||
uniform vec2 pattern_uv_offset;
|
uniform vec2 pattern_uv_offset;
|
||||||
|
|
||||||
void fragment() { // applies on each pixel seperately
|
void fragment() { // applies on each pixel separately
|
||||||
vec4 original_color = texture(TEXTURE, UV); // The drawing we have to use on
|
vec4 original_color = texture(TEXTURE, UV); // The drawing we have to use on
|
||||||
vec4 selection_color = texture(selection, UV); // use its alpha to get portion we can ignore
|
vec4 selection_color = texture(selection, UV); // use its alpha to get portion we can ignore
|
||||||
|
|
||||||
vec4 col = original_color; // Innocent till proven Guilty
|
vec4 col = original_color; // Innocent till proven guilty
|
||||||
|
|
||||||
float max_diff = distance(original_color, old_color); // How much this pixel matches our description
|
float max_diff = distance(original_color, old_color); // How much this pixel matches our description
|
||||||
|
|
||||||
float similarity = abs(2.0 - ((similarity_percent/100.0) * 2.0));
|
float similarity = abs(2.0 - ((similarity_percent/100.0) * 2.0));
|
||||||
|
|
||||||
if (max_diff <= similarity) // We found our match and pixel is proven Guilty (small is precise)
|
if (max_diff <= similarity) // We found our match and pixel is proven guilty (small is precise)
|
||||||
if (has_pattern)
|
if (has_pattern)
|
||||||
col = textureLod(pattern, UV * (size / pattern_size) + pattern_uv_offset, 0.0);
|
col = textureLod(pattern, UV * (size / pattern_size) + pattern_uv_offset, 0.0);
|
||||||
else
|
else
|
||||||
|
|
|
@ -53,7 +53,7 @@ bool is_different(vec4 a, vec4 b)
|
||||||
}
|
}
|
||||||
|
|
||||||
// This define could've made code a ton more readable if godot shaders supported it, but it doesn't.
|
// This define could've made code a ton more readable if godot shaders supported it, but it doesn't.
|
||||||
// 55 occurances of this in code; use regexp to turn it back once supported?
|
// 55 occurrences of this in code; use regexp to turn it back once supported?
|
||||||
// #define P(m, r) ((pattern & (m)) == (r))
|
// #define P(m, r) ((pattern & (m)) == (r))
|
||||||
|
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ vec4 scale(sampler2D image, vec2 coord, vec2 pxSize) {
|
||||||
vec2 o = pxSize;
|
vec2 o = pxSize;
|
||||||
vec2 texCoord = coord;
|
vec2 texCoord = coord;
|
||||||
|
|
||||||
// We always calculate the top left quarter. If we need a different quarter, we flip our co-ordinates */
|
// We always calculate the top left quarter. If we need a different quarter, we flip our coordinates */
|
||||||
|
|
||||||
// p = the position within a pixel [0...1]
|
// p = the position within a pixel [0...1]
|
||||||
vec2 p = fract(texCoord / pxSize);
|
vec2 p = fract(texCoord / pxSize);
|
||||||
|
|
|
@ -29,7 +29,7 @@ shader_type canvas_item;
|
||||||
//enables 2:1 slopes. otherwise only uses 45 degree slopes
|
//enables 2:1 slopes. otherwise only uses 45 degree slopes
|
||||||
//#define SLOPE
|
//#define SLOPE
|
||||||
//cleans up small detail slope transitions (if SLOPE is enabled)
|
//cleans up small detail slope transitions (if SLOPE is enabled)
|
||||||
//if only using for rotation, CLEANUP has negligable effect and should be disabled for speed
|
//if only using for rotation, CLEANUP has negligible effect and should be disabled for speed
|
||||||
//#define CLEANUP
|
//#define CLEANUP
|
||||||
// The commented out defines exposed as uniforms
|
// The commented out defines exposed as uniforms
|
||||||
uniform bool slope;
|
uniform bool slope;
|
||||||
|
|
|
@ -306,7 +306,7 @@ func _add_new_segment(y: int = 0) -> void:
|
||||||
_allegro_flood_segments.append(segment)
|
_allegro_flood_segments.append(segment)
|
||||||
|
|
||||||
|
|
||||||
# fill an horizontal segment around the specifid position, and adds it to the
|
# fill an horizontal segment around the specified position, and adds it to the
|
||||||
# list of segments filled. Returns the first x coordinate after the part of the
|
# list of segments filled. Returns the first x coordinate after the part of the
|
||||||
# line that has been filled.
|
# line that has been filled.
|
||||||
func _flood_line_around_point(
|
func _flood_line_around_point(
|
||||||
|
|
|
@ -20,11 +20,11 @@ func _input(event: InputEvent) -> void:
|
||||||
_offset = _offset.snapped(grid_size)
|
_offset = _offset.snapped(grid_size)
|
||||||
if Global.current_project.has_selection:
|
if Global.current_project.has_selection:
|
||||||
if selection_node.is_moving_content:
|
if selection_node.is_moving_content:
|
||||||
var prev_pos = selection_node.big_bounding_rectangle.position
|
var prev_pos: Vector2 = selection_node.big_bounding_rectangle.position
|
||||||
selection_node.big_bounding_rectangle.position = prev_pos.snapped(grid_size)
|
selection_node.big_bounding_rectangle.position = prev_pos.snapped(grid_size)
|
||||||
# The First time transform_snap_grid is enabled then _snap_position() is not called
|
# The first time transform_snap_grid is enabled then _snap_position() is not called
|
||||||
# and selection had wrong offset so i chose to do selection offsetting here
|
# and the selection had wrong offset, so do selection offsetting here
|
||||||
var grid_offset = Vector2(Global.grid_offset_x, Global.grid_offset_y)
|
var grid_offset := Vector2(Global.grid_offset_x, Global.grid_offset_y)
|
||||||
grid_offset = Vector2(
|
grid_offset = Vector2(
|
||||||
fmod(grid_offset.x, grid_size.x), fmod(grid_offset.y, grid_size.y)
|
fmod(grid_offset.x, grid_size.x), fmod(grid_offset.y, grid_size.y)
|
||||||
)
|
)
|
||||||
|
|
|
@ -57,7 +57,7 @@ func _add_new_segment(y: int = 0) -> void:
|
||||||
_allegro_flood_segments.append(segment)
|
_allegro_flood_segments.append(segment)
|
||||||
|
|
||||||
|
|
||||||
# fill an horizontal segment around the specifid position, and adds it to the
|
# fill an horizontal segment around the specified position, and adds it to the
|
||||||
# list of segments filled. Returns the first x coordinate after the part of the
|
# list of segments filled. Returns the first x coordinate after the part of the
|
||||||
# line that has been filled.
|
# line that has been filled.
|
||||||
func _flood_line_around_point(
|
func _flood_line_around_point(
|
||||||
|
|
|
@ -39,7 +39,7 @@ func _update_scroll() -> void:
|
||||||
func ensure_control_visible(control: Control):
|
func ensure_control_visible(control: Control):
|
||||||
if not is_instance_valid(control):
|
if not is_instance_valid(control):
|
||||||
return
|
return
|
||||||
# Based on Godot's implemenation in ScrollContainer
|
# Based on Godot's implementation in ScrollContainer
|
||||||
var global_rect := get_global_rect()
|
var global_rect := get_global_rect()
|
||||||
var other_rect := control.get_global_rect()
|
var other_rect := control.get_global_rect()
|
||||||
var diff: float = max(
|
var diff: float = max(
|
||||||
|
|
|
@ -229,7 +229,7 @@ func can_drop_data(_pos, data) -> bool:
|
||||||
Global.current_project.layers[layer].accepts_child(data[1])
|
Global.current_project.layers[layer].accepts_child(data[1])
|
||||||
and _get_region_rect(0.25, 0.75).has_point(get_global_mouse_position())
|
and _get_region_rect(0.25, 0.75).has_point(get_global_mouse_position())
|
||||||
):
|
):
|
||||||
# Drawn regions are adusted a bit from actual to clearify drop position
|
# Drawn regions are adjusted a bit from actual to clarify drop position
|
||||||
region = _get_region_rect(0.15, 0.85)
|
region = _get_region_rect(0.15, 0.85)
|
||||||
depth += 1
|
depth += 1
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue