diff --git a/src/UI/Dialogs/ImageEffects/RotateImage.gd b/src/UI/Dialogs/ImageEffects/RotateImage.gd
index db5ff7cbf..0b51bb12f 100644
--- a/src/UI/Dialogs/ImageEffects/RotateImage.gd
+++ b/src/UI/Dialogs/ImageEffects/RotateImage.gd
@@ -5,6 +5,9 @@ var shader: Shader = preload("res://src/Shaders/Rotation.shader")
 var pivot := Vector2.INF
 
 onready var type_option_button: OptionButton = $VBoxContainer/HBoxContainer2/TypeOptionButton
+onready var pivot_indicator: Control = $VBoxContainer/AspectRatioContainer/Indicator
+onready var x_pivot: SpinBox = $VBoxContainer/Pivot/TitleButtons/XPivot
+onready var y_pivot: SpinBox = $VBoxContainer/Pivot/TitleButtons/YPivot
 onready var angle_hslider: HSlider = $VBoxContainer/AngleOptions/AngleHSlider
 onready var angle_spinbox: SpinBox = $VBoxContainer/AngleOptions/AngleSpinBox
 onready var wait_apply_timer = $WaitApply
@@ -35,9 +38,9 @@ func _about_to_show() -> void:
 	angle_hslider.value = 0
 
 
-func decide_pivot():
+func decide_pivot() -> void:
 	var size := Global.current_project.size
-	pivot = Vector2(size.x / 2, size.y / 2)
+	pivot = size / 2
 
 	# Pivot correction in case of even size
 	if type_option_button.text != "Nearest neighbour (Shader)":
@@ -59,20 +62,18 @@ func decide_pivot():
 			if int(selection_rectangle.end.y - selection_rectangle.position.y) % 2 == 0:
 				pivot.y -= 0.5
 
-	$VBoxContainer/Pivot/Options/X/XPivot.value = pivot.x
-	$VBoxContainer/Pivot/Options/Y/YPivot.value = pivot.y
+	x_pivot.value = pivot.x
+	y_pivot.value = pivot.y
 
 
-func commit_action(_cel: Image, _project: Project = Global.current_project) -> void:
+func commit_action(cel: Image, _project: Project = Global.current_project) -> void:
 	var angle: float = deg2rad(angle_hslider.value)
-# warning-ignore:integer_division
-# warning-ignore:integer_division
 
-	var selection_size := _cel.get_size()
+	var selection_size := cel.get_size()
 	var selection_tex := ImageTexture.new()
 
 	var image := Image.new()
-	image.copy_from(_cel)
+	image.copy_from(cel)
 	if _project.has_selection and selection_checkbox.pressed:
 		var selection_rectangle: Rect2 = _project.get_selection_rectangle()
 		selection_size = selection_rectangle.size
@@ -82,16 +83,16 @@ func commit_action(_cel: Image, _project: Project = Global.current_project) -> v
 
 		if type_option_button.text != "Nearest neighbour (Shader)":
 			image.lock()
-			_cel.lock()
+			cel.lock()
 			for x in _project.size.x:
 				for y in _project.size.y:
 					var pos := Vector2(x, y)
 					if !_project.can_pixel_get_drawn(pos):
 						image.set_pixelv(pos, Color(0, 0, 0, 0))
 					else:
-						_cel.set_pixelv(pos, Color(0, 0, 0, 0))
+						cel.set_pixelv(pos, Color(0, 0, 0, 0))
 			image.unlock()
-			_cel.unlock()
+			cel.unlock()
 	match type_option_button.text:
 		"Rotxel":
 			DrawingAlgos.rotxel(image, angle, pivot)
@@ -100,20 +101,18 @@ func commit_action(_cel: Image, _project: Project = Global.current_project) -> v
 		"Upscale, Rotate and Downscale":
 			DrawingAlgos.fake_rotsprite(image, angle, pivot)
 		"Nearest neighbour (Shader)":
+			var params := {
+				"angle": angle,
+				"selection_tex": selection_tex,
+				"selection_pivot": pivot,
+				"selection_size": selection_size
+			}
 			if !confirmed:
-				preview.material.set_shader_param("angle", angle)
-				preview.material.set_shader_param("selection_tex", selection_tex)
-				preview.material.set_shader_param("selection_pivot", pivot)
-				preview.material.set_shader_param("selection_size", selection_size)
+				for param in params:
+					preview.material.set_shader_param(param, params[param])
 			else:
-				var params = {
-					"angle": angle,
-					"selection_tex": selection_tex,
-					"selection_pivot": pivot,
-					"selection_size": selection_size
-				}
 				var gen := ShaderImageEffect.new()
-				gen.generate_image(_cel, shader, params, _project.size)
+				gen.generate_image(cel, shader, params, _project.size)
 				yield(gen, "done")
 
 	if (
@@ -121,9 +120,9 @@ func commit_action(_cel: Image, _project: Project = Global.current_project) -> v
 		and selection_checkbox.pressed
 		and type_option_button.text != "Nearest neighbour (Shader)"
 	):
-		_cel.blend_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
+		cel.blend_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
 	else:
-		_cel.blit_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
+		cel.blit_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
 
 
 func _on_HSlider_value_changed(_value: float) -> void:
@@ -165,8 +164,8 @@ func _on_LiveCheckbox_toggled(button_pressed: bool) -> void:
 
 
 func _on_quick_change_angle_pressed(change_type: String) -> void:
-	var current_angle = angle_hslider.value
-	var new_angle = current_angle
+	var current_angle := angle_hslider.value
+	var new_angle := current_angle
 	match change_type:
 		"-90":
 			new_angle = current_angle - 90
@@ -186,17 +185,6 @@ func _on_quick_change_angle_pressed(change_type: String) -> void:
 	angle_hslider.value = new_angle
 
 
-func _on_TogglePivot_toggled(button_pressed: bool) -> void:
-	$VBoxContainer/Pivot/Options.visible = button_pressed
-	if button_pressed:
-		$VBoxContainer/Pivot/TitleButtons/TogglePivot.text = "Pivot Options: (v)"
-		$VBoxContainer/Pivot/TitleButtons/TogglePivot.focus_mode = 0
-	else:
-		$VBoxContainer/Pivot/TitleButtons/TogglePivot.text = "Pivot Options: (>)"
-		$VBoxContainer/Pivot/TitleButtons/TogglePivot.focus_mode = 0
-	rect_size.y += 1  # Reset rect_size of dialog
-
-
 func _on_Centre_pressed() -> void:
 	decide_pivot()
 
@@ -207,13 +195,12 @@ func _on_Pivot_value_changed(value: float, is_x: bool) -> void:
 	else:
 		pivot.y = value
 	# Refresh the indicator
-	$VBoxContainer/AspectRatioContainer/Indicator.update()
+	pivot_indicator.update()
 	if angle_hslider.value != 0:
 		update_preview()
 
 
 func _on_Indicator_draw() -> void:
-	var pivot_indicator = $VBoxContainer/AspectRatioContainer/Indicator
 	var img_size := preview_image.get_size()
 	# find the scale using the larger measurement
 	var ratio = pivot_indicator.rect_size / img_size
@@ -237,19 +224,16 @@ func _on_Indicator_draw() -> void:
 func _on_Indicator_gui_input(event: InputEvent) -> void:
 	if event is InputEventMouseMotion:
 		if event.pressure == 1.0:
-			var pivot_indicator = $VBoxContainer/AspectRatioContainer/Indicator
-			var x_pivot = $VBoxContainer/Pivot/Options/X/XPivot
-			var y_pivot = $VBoxContainer/Pivot/Options/Y/YPivot
 			var img_size := preview_image.get_size()
-			var mouse_pos = get_local_mouse_position() - pivot_indicator.rect_position
-			var ratio = img_size / pivot_indicator.rect_size
+			var mouse_pos := get_local_mouse_position() - pivot_indicator.rect_position
+			var ratio := img_size / pivot_indicator.rect_size
 			# we need to set the scale according to the larger side
 			var conversion_scale: float
 			if img_size.x > img_size.y:
 				conversion_scale = ratio.x
 			else:
 				conversion_scale = ratio.y
-			var new_pos = mouse_pos * conversion_scale
+			var new_pos := mouse_pos * conversion_scale
 			x_pivot.value = new_pos.x
 			y_pivot.value = new_pos.y
 			pivot_indicator.update()
diff --git a/src/UI/Dialogs/ImageEffects/RotateImage.tscn b/src/UI/Dialogs/ImageEffects/RotateImage.tscn
index a7eb07edd..f005ee3cf 100644
--- a/src/UI/Dialogs/ImageEffects/RotateImage.tscn
+++ b/src/UI/Dialogs/ImageEffects/RotateImage.tscn
@@ -21,13 +21,13 @@ margin_bottom = -36.0
 
 [node name="AspectRatioContainer" type="AspectRatioContainer" parent="VBoxContainer"]
 margin_right = 326.0
-margin_bottom = 226.0
+margin_bottom = 222.0
 size_flags_vertical = 3
 
 [node name="Preview" type="TextureRect" parent="VBoxContainer/AspectRatioContainer"]
-margin_left = 50.0
-margin_right = 276.0
-margin_bottom = 226.0
+margin_left = 52.0
+margin_right = 274.0
+margin_bottom = 222.0
 rect_min_size = Vector2( 200, 200 )
 expand = true
 stretch_mode = 5
@@ -40,21 +40,22 @@ margin_right = 0.0
 margin_bottom = 0.0
 
 [node name="Indicator" type="Control" parent="VBoxContainer/AspectRatioContainer"]
-margin_left = 50.0
-margin_right = 276.0
-margin_bottom = 226.0
+margin_left = 52.0
+margin_right = 274.0
+margin_bottom = 222.0
 mouse_default_cursor_shape = 2
 
 [node name="LiveSettings" type="HBoxContainer" parent="VBoxContainer"]
-margin_top = 230.0
+margin_top = 226.0
 margin_right = 326.0
-margin_bottom = 254.0
+margin_bottom = 250.0
 alignment = 1
 
 [node name="LiveCheckbox" type="CheckBox" parent="VBoxContainer/LiveSettings"]
 margin_left = 109.0
 margin_right = 217.0
 margin_bottom = 24.0
+mouse_default_cursor_shape = 2
 pressed = true
 text = "Live Preview"
 
@@ -85,9 +86,9 @@ editable = false
 suffix = "msec"
 
 [node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"]
-margin_top = 258.0
+margin_top = 254.0
 margin_right = 326.0
-margin_bottom = 278.0
+margin_bottom = 274.0
 
 [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2"]
 margin_top = 3.0
@@ -104,105 +105,59 @@ size_flags_horizontal = 3
 size_flags_vertical = 3
 
 [node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
-margin_top = 282.0
+margin_top = 278.0
 margin_right = 326.0
-margin_bottom = 286.0
+margin_bottom = 282.0
 
 [node name="Pivot" type="VBoxContainer" parent="VBoxContainer"]
-margin_top = 290.0
+margin_top = 286.0
 margin_right = 326.0
 margin_bottom = 310.0
 
 [node name="TitleButtons" type="HBoxContainer" parent="VBoxContainer/Pivot"]
 margin_right = 326.0
-margin_bottom = 20.0
+margin_bottom = 24.0
 
-[node name="TogglePivot" type="Button" parent="VBoxContainer/Pivot/TitleButtons"]
-margin_right = 268.0
-margin_bottom = 20.0
+[node name="Label" type="Label" parent="VBoxContainer/Pivot/TitleButtons"]
+margin_top = 5.0
+margin_right = 70.0
+margin_bottom = 19.0
+text = "Pivot (x, y):"
+align = 2
+valign = 1
+
+[node name="XPivot" type="SpinBox" parent="VBoxContainer/Pivot/TitleButtons"]
+margin_left = 74.0
+margin_right = 169.0
+margin_bottom = 24.0
+mouse_default_cursor_shape = 2
 size_flags_horizontal = 3
-size_flags_vertical = 2
-toggle_mode = true
-text = "Pivot Options (>)"
-flat = true
-align = 0
+min_value = -10000.0
+max_value = 10000.0
+step = 0.5
+allow_greater = true
+allow_lesser = true
+
+[node name="YPivot" type="SpinBox" parent="VBoxContainer/Pivot/TitleButtons"]
+margin_left = 173.0
+margin_right = 268.0
+margin_bottom = 24.0
+mouse_default_cursor_shape = 2
+size_flags_horizontal = 3
+min_value = -10000.0
+max_value = 10000.0
+step = 0.5
+allow_greater = true
+allow_lesser = true
 
 [node name="Centre" type="Button" parent="VBoxContainer/Pivot/TitleButtons"]
 margin_left = 272.0
 margin_right = 326.0
-margin_bottom = 20.0
-hint_tooltip = "Centers the pivot (if selection is present then it's centre is selected instead)"
+margin_bottom = 24.0
+hint_tooltip = "Places the pivot at the center of the image, or at the center of the selection, if it is present."
+mouse_default_cursor_shape = 2
 text = "Center"
 
-[node name="Options" type="VBoxContainer" parent="VBoxContainer/Pivot"]
-visible = false
-margin_top = 24.0
-margin_right = 326.0
-margin_bottom = 76.0
-size_flags_horizontal = 3
-alignment = 1
-
-[node name="X" type="HBoxContainer" parent="VBoxContainer/Pivot/Options"]
-margin_right = 326.0
-margin_bottom = 24.0
-
-[node name="Label" type="Label" parent="VBoxContainer/Pivot/Options/X"]
-margin_top = 5.0
-margin_right = 106.0
-margin_bottom = 19.0
-size_flags_horizontal = 3
-text = "X-axis"
-align = 2
-valign = 1
-
-[node name="XPivot" type="SpinBox" parent="VBoxContainer/Pivot/Options/X"]
-margin_left = 110.0
-margin_right = 216.0
-margin_bottom = 24.0
-size_flags_horizontal = 3
-min_value = -10000.0
-max_value = 10000.0
-step = 0.5
-allow_greater = true
-allow_lesser = true
-
-[node name="Spacer" type="Control" parent="VBoxContainer/Pivot/Options/X"]
-margin_left = 220.0
-margin_right = 326.0
-margin_bottom = 24.0
-size_flags_horizontal = 3
-
-[node name="Y" type="HBoxContainer" parent="VBoxContainer/Pivot/Options"]
-margin_top = 28.0
-margin_right = 326.0
-margin_bottom = 52.0
-
-[node name="Label" type="Label" parent="VBoxContainer/Pivot/Options/Y"]
-margin_top = 5.0
-margin_right = 106.0
-margin_bottom = 19.0
-size_flags_horizontal = 3
-text = "Y-axis"
-align = 2
-valign = 1
-
-[node name="YPivot" type="SpinBox" parent="VBoxContainer/Pivot/Options/Y"]
-margin_left = 110.0
-margin_right = 216.0
-margin_bottom = 24.0
-size_flags_horizontal = 3
-min_value = -10000.0
-max_value = 10000.0
-step = 0.5
-allow_greater = true
-allow_lesser = true
-
-[node name="Spacer" type="Control" parent="VBoxContainer/Pivot/Options/Y"]
-margin_left = 220.0
-margin_right = 326.0
-margin_bottom = 24.0
-size_flags_horizontal = 3
-
 [node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
 margin_top = 314.0
 margin_right = 326.0
@@ -308,10 +263,9 @@ selected = 0
 [connection signal="toggled" from="VBoxContainer/LiveSettings/LiveCheckbox" to="." method="_on_LiveCheckbox_toggled"]
 [connection signal="value_changed" from="VBoxContainer/WaitSettings/WaitTime" to="." method="_on_WaitTime_value_changed"]
 [connection signal="item_selected" from="VBoxContainer/HBoxContainer2/TypeOptionButton" to="." method="_on_TypeOptionButton_item_selected"]
-[connection signal="toggled" from="VBoxContainer/Pivot/TitleButtons/TogglePivot" to="." method="_on_TogglePivot_toggled"]
+[connection signal="value_changed" from="VBoxContainer/Pivot/TitleButtons/XPivot" to="." method="_on_Pivot_value_changed" binds= [ true ]]
+[connection signal="value_changed" from="VBoxContainer/Pivot/TitleButtons/YPivot" to="." method="_on_Pivot_value_changed" binds= [ false ]]
 [connection signal="pressed" from="VBoxContainer/Pivot/TitleButtons/Centre" to="." method="_on_Centre_pressed"]
-[connection signal="value_changed" from="VBoxContainer/Pivot/Options/X/XPivot" to="." method="_on_Pivot_value_changed" binds= [ true ]]
-[connection signal="value_changed" from="VBoxContainer/Pivot/Options/Y/YPivot" to="." method="_on_Pivot_value_changed" binds= [ false ]]
 [connection signal="value_changed" from="VBoxContainer/AngleOptions/AngleHSlider" to="." method="_on_HSlider_value_changed"]
 [connection signal="value_changed" from="VBoxContainer/AngleOptions/AngleSpinBox" to="." method="_on_SpinBox_value_changed"]
 [connection signal="pressed" from="VBoxContainer/QuickRotations/Deduct90" to="." method="_on_quick_change_angle_pressed" binds= [ "-90" ]]