diff --git a/demo/addons/sprite_mesh/icons/sprite_mesh.svg.import b/demo/addons/sprite_mesh/icons/sprite_mesh.svg.import index 8c5fe90..1f39813 100644 --- a/demo/addons/sprite_mesh/icons/sprite_mesh.svg.import +++ b/demo/addons/sprite_mesh/icons/sprite_mesh.svg.import @@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/sprite_mesh.svg-416bb6e3c28734a3b7a19d034cfeb compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -25,6 +27,10 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/demo/addons/sprite_mesh/icons/sprite_mesh_instance.svg.import b/demo/addons/sprite_mesh/icons/sprite_mesh_instance.svg.import index b15b661..5f22d03 100644 --- a/demo/addons/sprite_mesh/icons/sprite_mesh_instance.svg.import +++ b/demo/addons/sprite_mesh/icons/sprite_mesh_instance.svg.import @@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/sprite_mesh_instance.svg-b563614ecfdbbd53b0ed compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -25,6 +27,10 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/demo/addons/sprite_mesh/scripts/greedy_algorithm.gd b/demo/addons/sprite_mesh/scripts/greedy_algorithm.gd index bd45b51..033e75b 100644 --- a/demo/addons/sprite_mesh/scripts/greedy_algorithm.gd +++ b/demo/addons/sprite_mesh/scripts/greedy_algorithm.gd @@ -1,7 +1,7 @@ extends RefCounted -const Quad = preload("./quad.gd") +const Quad := preload("./quad.gd") var image: Image var show_side_quads := true @@ -22,13 +22,13 @@ func set_uv_correction(new_uv_correction: float) -> void: uv_correction = new_uv_correction -func generate_quads() -> Array: - var quads = [] +func generate_quads() -> Array[Quad]: + var quads: Array[Quad] = [] quads.append_array(_generate_front_quads()) if show_back_quads: - var back_quads = [] + var back_quads: Array[Quad] = [] for quad in quads: back_quads.append(quad.get_back_face().translate(Vector3.FORWARD)) @@ -40,8 +40,8 @@ func generate_quads() -> Array: return quads -func _generate_front_quads() -> Array: - var quads: Array = [] +func _generate_front_quads() -> Array[Quad]: + var quads: Array[Quad] = [] var pixels_to_render := _get_visible_pixels() @@ -80,8 +80,8 @@ func _get_front_quad_rect_at(x0: int, y0: int, pixels_to_render: BitMap) -> Rect return rect -func _generate_side_quads() -> Array: - var quads = [] +func _generate_side_quads() -> Array[Quad]: + var quads: Array[Quad] = [] var visible_pixels := _get_visible_pixels() quads.append_array(_generate_left_quads(visible_pixels)) @@ -92,7 +92,7 @@ func _generate_side_quads() -> Array: return quads -func _generate_left_quads(visible_pixels: BitMap) -> Array: +func _generate_left_quads(visible_pixels: BitMap) -> Array[Quad]: return _generate_vertical_quads( visible_pixels, func (x: int, y: int) -> bool: @@ -104,7 +104,7 @@ func _generate_left_quads(visible_pixels: BitMap) -> Array: ) -func _generate_right_quads(visible_pixels: BitMap) -> Array: +func _generate_right_quads(visible_pixels: BitMap) -> Array[Quad]: var width := visible_pixels.get_size().x return _generate_vertical_quads( @@ -118,7 +118,7 @@ func _generate_right_quads(visible_pixels: BitMap) -> Array: ) -func _generate_top_quads(visible_pixels: BitMap) -> Array: +func _generate_top_quads(visible_pixels: BitMap) -> Array[Quad]: return _generate_horizontal_quads( visible_pixels, func (x: int, y: int) -> bool: @@ -130,7 +130,7 @@ func _generate_top_quads(visible_pixels: BitMap) -> Array: ) -func _generate_bottom_quads(visible_pixels: BitMap) -> Array: +func _generate_bottom_quads(visible_pixels: BitMap) -> Array[Quad]: var height := visible_pixels.get_size().y return _generate_horizontal_quads( @@ -148,9 +148,9 @@ func _generate_vertical_quads( visible_pixels: BitMap, side_visible: Callable, create_quad: Callable -) -> Array: +) -> Array[Quad]: - var quads = [] + var quads: Array[Quad] = [] var rendering_quad := false var y0: float @@ -176,9 +176,9 @@ func _generate_horizontal_quads( visible_pixels: BitMap, side_visible: Callable, create_quad: Callable -) -> Array: +) -> Array[Quad]: - var quads = [] + var quads: Array[Quad] = [] var rendering_quad := false var x0: float @@ -200,7 +200,7 @@ func _generate_horizontal_quads( return quads -func _generate_front_quad(rect: Rect2i): +func _generate_front_quad(rect: Rect2i) -> Quad: assert(_is_inside_image(rect)) return Quad.new([ @@ -235,6 +235,6 @@ func _is_inside_image(rect: Rect2i) -> bool: func _get_visible_pixels() -> BitMap: - var visible_pixels = BitMap.new() + var visible_pixels := BitMap.new() visible_pixels.create_from_image_alpha(image, alpha_threshold) return visible_pixels diff --git a/demo/addons/sprite_mesh/scripts/quad.gd b/demo/addons/sprite_mesh/scripts/quad.gd index b28de11..a6b022b 100644 --- a/demo/addons/sprite_mesh/scripts/quad.gd +++ b/demo/addons/sprite_mesh/scripts/quad.gd @@ -1,7 +1,7 @@ extends RefCounted -const Quad = preload("./quad.gd") +const Quad := preload("./quad.gd") var vertices: Array[Vector3] = [Vector3.ZERO, Vector3.ZERO, Vector3.ZERO, Vector3.ZERO]: set = set_vertices diff --git a/demo/addons/sprite_mesh/sprite_mesh_instance.gd b/demo/addons/sprite_mesh/sprite_mesh_instance.gd index 697e2ad..72995e6 100644 --- a/demo/addons/sprite_mesh/sprite_mesh_instance.gd +++ b/demo/addons/sprite_mesh/sprite_mesh_instance.gd @@ -6,9 +6,9 @@ extends MeshInstance3D ## the sprite. It is inspired by [Sprite3D], so many of its properties behave similarly. -const Quad = preload("./scripts/quad.gd") -const Frame = preload("./scripts/frame.gd") -const GreedyAlgorithm = preload("./scripts/greedy_algorithm.gd") +const Quad := preload("./scripts/quad.gd") +const Frame := preload("./scripts/frame.gd") +const GreedyAlgorithm := preload("./scripts/greedy_algorithm.gd") ## [Texture2D] object to draw. @export var texture: Texture2D: set = set_texture @@ -134,7 +134,7 @@ func _generate_meshes() -> Array[ArrayMesh]: for frame in _get_frames(): algorithm.image = frame.image - var quads = algorithm.generate_quads() + var quads := algorithm.generate_quads() st.begin(Mesh.PRIMITIVE_TRIANGLES) @@ -216,7 +216,7 @@ func _clear_sprite_mesh() -> void: mesh = null -func _get_frames() -> Array: +func _get_frames() -> Array[Frame]: var image := texture.get_image() image.decompress() if region_enabled: @@ -225,7 +225,7 @@ func _get_frames() -> Array: var frame_offset := region_rect.position if region_enabled else Vector2i.ZERO var frame_size := Vector2i(image.get_width() / hframes, image.get_height() / vframes) - var frames: Array = [] + var frames: Array[Frame] = [] for i in range(vframes): for j in range(hframes):