mirror of
https://github.com/tonytins/CozyPixelStudio.git
synced 2025-06-25 21:44:42 -04:00
Even more Global left/right variables became arrays
ColorAndToolOptions has now the same code for left and right tool options, with more similar refactoring coming soon to places like Canvas and DrawingAlgos
This commit is contained in:
parent
15ef00bf46
commit
9b4956b4f1
9 changed files with 141 additions and 213 deletions
|
@ -38,7 +38,7 @@ func draw_brush(sprite : Image, pos : Vector2, color : Color, current_mouse_butt
|
|||
elif current_action == Global.Tools.ERASER: # This is not working
|
||||
color.a *= (1.0 - pen_pressure)
|
||||
if current_mouse_button == Global.Mouse_Button.LEFT:
|
||||
brush_size = Global.left_brush_size
|
||||
brush_size = Global.brush_sizes[0]
|
||||
brush_type = Global.current_brush_types[0]
|
||||
brush_index = Global.custom_brush_indexes[0]
|
||||
if brush_type != Global.Brush_Types.RANDOM_FILE:
|
||||
|
@ -53,14 +53,14 @@ func draw_brush(sprite : Image, pos : Vector2, color : Color, current_mouse_butt
|
|||
custom_brush_image = Global.blend_image_with_color(custom_brush_image, color, Global.interpolate_spinboxes[0].value / 100)
|
||||
custom_brush_image.lock()
|
||||
|
||||
horizontal_mirror = Global.left_horizontal_mirror
|
||||
vertical_mirror = Global.left_vertical_mirror
|
||||
pixel_perfect = Global.left_pixel_perfect
|
||||
ld = Global.left_ld
|
||||
ld_amount = Global.left_ld_amount
|
||||
horizontal_mirror = Global.horizontal_mirror[0]
|
||||
vertical_mirror = Global.vertical_mirror[0]
|
||||
pixel_perfect = Global.pixel_perfect[0]
|
||||
ld = Global.ld_modes[0]
|
||||
ld_amount = Global.ld_amounts[0]
|
||||
|
||||
elif current_mouse_button == Global.Mouse_Button.RIGHT:
|
||||
brush_size = Global.right_brush_size
|
||||
brush_size = Global.brush_sizes[1]
|
||||
brush_type = Global.current_brush_types[1]
|
||||
brush_index = Global.custom_brush_indexes[1]
|
||||
if brush_type != Global.Brush_Types.RANDOM_FILE:
|
||||
|
@ -75,11 +75,11 @@ func draw_brush(sprite : Image, pos : Vector2, color : Color, current_mouse_butt
|
|||
custom_brush_image = Global.blend_image_with_color(custom_brush_image, color, Global.interpolate_spinboxes[1].value / 100)
|
||||
custom_brush_image.lock()
|
||||
|
||||
horizontal_mirror = Global.right_horizontal_mirror
|
||||
vertical_mirror = Global.right_vertical_mirror
|
||||
pixel_perfect = Global.right_pixel_perfect
|
||||
ld = Global.right_ld
|
||||
ld_amount = Global.right_ld_amount
|
||||
horizontal_mirror = Global.horizontal_mirror[1]
|
||||
vertical_mirror = Global.vertical_mirror[1]
|
||||
pixel_perfect = Global.pixel_perfect[1]
|
||||
ld = Global.ld_modes[1]
|
||||
ld_amount = Global.ld_amounts[1]
|
||||
|
||||
var start_pos_x
|
||||
var start_pos_y
|
||||
|
|
|
@ -7,6 +7,10 @@ enum Brush_Types {PIXEL, CIRCLE, FILLED_CIRCLE, FILE, RANDOM_FILE, CUSTOM}
|
|||
enum Direction {UP, DOWN, LEFT, RIGHT}
|
||||
enum Mouse_Button {LEFT, RIGHT}
|
||||
enum Tools {PENCIL, ERASER, BUCKET, LIGHTENDARKEN, RECTSELECT, COLORPICKER, ZOOM}
|
||||
enum Fill_Area {SAME_COLOR_AREA, SAME_COLOR_PIXELS}
|
||||
enum Fill_With {COLOR, PATTERN}
|
||||
enum Lighten_Darken_Mode {LIGHTEN, DARKEN}
|
||||
enum Zoom_Mode {ZOOM_IN, ZOOM_OUT}
|
||||
|
||||
# Stuff for arrowkey-based canvas movements nyaa ^.^
|
||||
const low_speed_move_rate := 150.0
|
||||
|
@ -69,43 +73,26 @@ var autosave_interval := 5.0
|
|||
var enable_autosave := true
|
||||
|
||||
# Tools & options
|
||||
var current_left_tool : int = Tools.PENCIL
|
||||
var current_right_tool :int = Tools.ERASER
|
||||
var current_tools := [Tools.PENCIL, Tools.ERASER]
|
||||
var show_left_tool_icon := true
|
||||
var show_right_tool_icon := true
|
||||
var left_square_indicator_visible := true
|
||||
var right_square_indicator_visible := false
|
||||
|
||||
# 0 for area of same color, 1 for all pixels of the same color
|
||||
var left_fill_area := 0
|
||||
var right_fill_area := 0
|
||||
var fill_areas := [Fill_Area.SAME_COLOR_AREA, Fill_Area.SAME_COLOR_AREA]
|
||||
var fill_with := [Fill_With.COLOR, Fill_With.COLOR]
|
||||
var fill_pattern_offsets := [Vector2.ZERO, Vector2.ZERO]
|
||||
|
||||
var left_fill_with := 0
|
||||
var right_fill_with := 0
|
||||
var ld_modes := [Lighten_Darken_Mode.LIGHTEN, Lighten_Darken_Mode.LIGHTEN]
|
||||
var ld_amounts := [0.1, 0.1]
|
||||
|
||||
var left_fill_pattern_offset := Vector2.ZERO
|
||||
var right_fill_pattern_offset := Vector2.ZERO
|
||||
var color_picker_for := [Mouse_Button.LEFT, Mouse_Button.RIGHT]
|
||||
|
||||
# 0 for lighten, 1 for darken
|
||||
var left_ld := 0
|
||||
var right_ld := 0
|
||||
var left_ld_amount := 0.1
|
||||
var right_ld_amount := 0.1
|
||||
var zoom_modes := [Zoom_Mode.ZOOM_IN, Zoom_Mode.ZOOM_OUT]
|
||||
|
||||
var left_color_picker_for : int = Mouse_Button.LEFT
|
||||
var right_color_picker_for : int = Mouse_Button.RIGHT
|
||||
|
||||
# 0 for zoom in, 1 for zoom out
|
||||
var left_zoom_mode := 0
|
||||
var right_zoom_mode := 1
|
||||
|
||||
var left_horizontal_mirror := false
|
||||
var left_vertical_mirror := false
|
||||
var right_horizontal_mirror := false
|
||||
var right_vertical_mirror := false
|
||||
|
||||
var left_pixel_perfect := false
|
||||
var right_pixel_perfect := false
|
||||
var horizontal_mirror := [false, false]
|
||||
var vertical_mirror := [false, false]
|
||||
var pixel_perfect := [false, false]
|
||||
|
||||
# View menu options
|
||||
var tile_mode := false
|
||||
|
@ -121,9 +108,8 @@ var onion_skinning_future_rate := 1.0
|
|||
var onion_skinning_blue_red := false
|
||||
|
||||
# Brushes
|
||||
var left_brush_size := 1
|
||||
var right_brush_size := 1
|
||||
var current_brush_types := []
|
||||
var brush_sizes := [1, 1]
|
||||
var current_brush_types := [Brush_Types.PIXEL, Brush_Types.PIXEL]
|
||||
|
||||
var brush_type_window_position : int = Mouse_Button.LEFT
|
||||
var left_circle_points := []
|
||||
|
@ -131,14 +117,14 @@ var right_circle_points := []
|
|||
|
||||
var brushes_from_files := 0
|
||||
var custom_brushes := []
|
||||
var custom_brush_indexes := []
|
||||
var custom_brush_images := []
|
||||
var custom_brush_textures := []
|
||||
var custom_brush_indexes := [-1, -1]
|
||||
var custom_brush_images := [Image.new(), Image.new()]
|
||||
var custom_brush_textures := [ImageTexture.new(), ImageTexture.new()]
|
||||
|
||||
# Patterns
|
||||
var patterns := []
|
||||
var pattern_window_position : int = Mouse_Button.LEFT
|
||||
var pattern_images := []
|
||||
var pattern_images := [Image.new(), Image.new()]
|
||||
|
||||
# Palettes
|
||||
var palettes := {}
|
||||
|
@ -257,16 +243,6 @@ func _ready() -> void:
|
|||
|
||||
undo_redo = UndoRedo.new()
|
||||
image_clipboard = Image.new()
|
||||
current_brush_types.append(Brush_Types.PIXEL)
|
||||
current_brush_types.append(Brush_Types.PIXEL)
|
||||
custom_brush_indexes.append(-1)
|
||||
custom_brush_indexes.append(-1)
|
||||
custom_brush_images.append(Image.new())
|
||||
custom_brush_images.append(Image.new())
|
||||
custom_brush_textures.append(ImageTexture.new())
|
||||
custom_brush_textures.append(ImageTexture.new())
|
||||
pattern_images.append(Image.new())
|
||||
pattern_images.append(Image.new())
|
||||
|
||||
var root = get_tree().get_root()
|
||||
control = find_node_by_name(root, "Control")
|
||||
|
@ -881,17 +857,19 @@ func update_custom_brush(mouse_button : int) -> void:
|
|||
var pixel := Image.new()
|
||||
pixel = preload("res://assets/graphics/circle_9x9.png")
|
||||
brush_type_buttons[mouse_button].get_child(0).texture.create_from_image(pixel, 0)
|
||||
left_circle_points = plot_circle(left_brush_size)
|
||||
left_circle_points = plot_circle(brush_sizes[0])
|
||||
right_circle_points = plot_circle(brush_sizes[1])
|
||||
elif current_brush_types[mouse_button] == Brush_Types.FILLED_CIRCLE:
|
||||
var pixel := Image.new()
|
||||
pixel = preload("res://assets/graphics/circle_filled_9x9.png")
|
||||
brush_type_buttons[mouse_button].get_child(0).texture.create_from_image(pixel, 0)
|
||||
left_circle_points = plot_circle(left_brush_size)
|
||||
left_circle_points = plot_circle(brush_sizes[0])
|
||||
right_circle_points = plot_circle(brush_sizes[1])
|
||||
else:
|
||||
var custom_brush := Image.new()
|
||||
custom_brush.copy_from(custom_brushes[custom_brush_indexes[mouse_button]])
|
||||
var custom_brush_size = custom_brush.get_size()
|
||||
custom_brush.resize(custom_brush_size.x * left_brush_size, custom_brush_size.y * left_brush_size, Image.INTERPOLATE_NEAREST)
|
||||
custom_brush.resize(custom_brush_size.x * brush_sizes[mouse_button], custom_brush_size.y * brush_sizes[mouse_button], Image.INTERPOLATE_NEAREST)
|
||||
custom_brush_images[mouse_button] = blend_image_with_color(custom_brush, color_pickers[mouse_button].color, interpolate_spinboxes[mouse_button].value / 100)
|
||||
custom_brush_textures[mouse_button].create_from_image(custom_brush_images[mouse_button], 0)
|
||||
|
||||
|
|
|
@ -128,10 +128,10 @@ func open_pxo_file(path : String, untitled_backup : bool = false) -> void:
|
|||
# Load tool options
|
||||
Global.color_pickers[0].color = file.get_var()
|
||||
Global.color_pickers[1].color = file.get_var()
|
||||
Global.left_brush_size = file.get_8()
|
||||
Global.brush_size_edits[0].value = Global.left_brush_size
|
||||
Global.right_brush_size = file.get_8()
|
||||
Global.brush_size_edits[1].value = Global.right_brush_size
|
||||
Global.brush_sizes[0] = file.get_8()
|
||||
Global.brush_size_edits[0].value = Global.brush_sizes[0]
|
||||
Global.brush_sizes[1] = file.get_8()
|
||||
Global.brush_size_edits[1].value = Global.brush_sizes[1]
|
||||
if file_major_version == 0 and file_minor_version < 7:
|
||||
var left_palette = file.get_var()
|
||||
var right_palette = file.get_var()
|
||||
|
@ -224,8 +224,8 @@ func save_pxo_file(path : String, autosave : bool) -> void:
|
|||
# Save tool options
|
||||
var left_color : Color = Global.color_pickers[0].color
|
||||
var right_color : Color = Global.color_pickers[1].color
|
||||
var left_brush_size : int = Global.left_brush_size
|
||||
var right_brush_size : int = Global.right_brush_size
|
||||
var left_brush_size : int = Global.brush_sizes[0]
|
||||
var right_brush_size : int = Global.brush_sizes[1]
|
||||
file.store_var(left_color)
|
||||
file.store_var(right_color)
|
||||
file.store_8(left_brush_size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue