From b51c1dba25744f8d150173f8cd2207645163f5ff Mon Sep 17 00:00:00 2001 From: Lean Mendoza Date: Thu, 4 Jan 2024 17:25:17 -0300 Subject: [PATCH] fix: reduce export size and fix mobile/windows (#129) * chore: remove lib/ windows export fix: spinner was looping forever bump gdext crate * disable glow on mobile enable experimental-threads feature disable lazy-function-tables * fix format/lint --- godot/.godot/uid_cache.bin | Bin 17785 -> 17780 bytes godot/assets/sky/sky_basic_without_glow.tscn | 26 +++++++++++++++ godot/assets/themes/theme.tres | 16 ++++----- godot/export_presets.cfg | 10 +++--- godot/project.godot | 1 - godot/src/logic/content/content_thread.gd | 2 +- .../loading_spinner/loading_spinner.gd | 13 +++----- .../loading_spinner/loading_spinner.tscn | 31 +++++++++++++++++- godot/src/ui/explorer.gd | 5 ++- rust/decentraland-godot-lib/Cargo.toml | 4 +-- 10 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 godot/assets/sky/sky_basic_without_glow.tscn diff --git a/godot/.godot/uid_cache.bin b/godot/.godot/uid_cache.bin index 23051f6e544a39a2907505eb2680d5b58844127e..fcb6e1d579dd54f5f50de2859af88aba2f922b33 100644 GIT binary patch delta 51 zcmey_#rUO*alejGPwChuT!X-1OF&EH5k}l$2PUnH*o9S(1@oS`we0lV3hr HP~Qar6n+z$ delta 90 zcmey;#rU&}al Array[String]: p_file.get_32() # version p_file.get_32() # length var chunk_length := p_file.get_32() - var chunk_type := p_file.get_32() + p_file.get_32() # chunk_type var json_data := p_file.get_buffer(chunk_length) text = json_data.get_string_from_utf8() else: diff --git a/godot/src/ui/components/loading_spinner/loading_spinner.gd b/godot/src/ui/components/loading_spinner/loading_spinner.gd index 8bb93b077..a73139f10 100644 --- a/godot/src/ui/components/loading_spinner/loading_spinner.gd +++ b/godot/src/ui/components/loading_spinner/loading_spinner.gd @@ -1,18 +1,13 @@ extends TextureProgressBar -var tween: Tween = null - - -func _ready() -> void: - tween = get_tree().create_tween().set_loops() - tween.tween_property(self, "radial_initial_angle", 360.0, 1.5).as_relative() +@onready var animation_player = $AnimationPlayer func _on_visibility_changed(): - if tween == null: + if animation_player == null: return if self.visible: - tween.play() + animation_player.play("spin") else: - tween.pause() + animation_player.pause() diff --git a/godot/src/ui/components/loading_spinner/loading_spinner.tscn b/godot/src/ui/components/loading_spinner/loading_spinner.tscn index fa2e8b842..58589ea4a 100644 --- a/godot/src/ui/components/loading_spinner/loading_spinner.tscn +++ b/godot/src/ui/components/loading_spinner/loading_spinner.tscn @@ -1,15 +1,44 @@ -[gd_scene load_steps=3 format=3 uid="uid://buu3ox7iefpgx"] +[gd_scene load_steps=5 format=3 uid="uid://buu3ox7iefpgx"] [ext_resource type="Texture2D" uid="uid://dx7vyin0sc2ne" path="res://assets/ui/loading_spinner_progress.png" id="1_roup2"] [ext_resource type="Script" path="res://src/ui/components/loading_spinner/loading_spinner.gd" id="2_rds4p"] +[sub_resource type="Animation" id="Animation_h8jfn"] +resource_name = "spin" +length = 1.5 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:radial_initial_angle") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 360.0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_rrpsh"] +_data = { +"spin": SubResource("Animation_h8jfn") +} + [node name="TextureProgressBar" type="TextureProgressBar"] offset_right = 40.0 offset_bottom = 40.0 value = 100.0 fill_mode = 4 texture_progress = ExtResource("1_roup2") +radial_initial_angle = 343.23 radial_fill_degrees = 60.0 script = ExtResource("2_rds4p") +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_rrpsh") +} +autoplay = "spin" + [connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] diff --git a/godot/src/ui/explorer.gd b/godot/src/ui/explorer.gd index 7e545ff4b..cdca5c92f 100644 --- a/godot/src/ui/explorer.gd +++ b/godot/src/ui/explorer.gd @@ -86,7 +86,10 @@ func _ready(): button_jump.hide() var sky = null - if Global.testing_scene_mode: + if Global.is_mobile: + sky = load("res://assets/sky/sky_basic_without_glow").instantiate() + add_child(sky) + elif Global.testing_scene_mode: sky = load("res://assets/sky/sky_test.tscn").instantiate() add_child(sky) else: diff --git a/rust/decentraland-godot-lib/Cargo.toml b/rust/decentraland-godot-lib/Cargo.toml index 911db2947..0a510ff25 100644 --- a/rust/decentraland-godot-lib/Cargo.toml +++ b/rust/decentraland-godot-lib/Cargo.toml @@ -8,7 +8,7 @@ publish = false crate-type = ["cdylib"] [dependencies] -godot = { git = "https://github.com/godot-rust/gdext", rev = "ef5f388def606ee119849e01ac0fafc1e0ec2c2a" } +godot = { git = "https://github.com/godot-rust/gdext", rev = "5e18af87a13bf8d40b4f50bfcb180228e227b773", features=["experimental-threads"] } rand = "0.8" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0.92", features = ["raw_value"] } @@ -68,8 +68,6 @@ ethers-providers = { version = "2.0", features = ["ws","rustls"] } ffmpeg-next = { git = "https://github.com/decentraland/rust-ffmpeg/", branch = "audioline-and-mobile-fix", features = ["fix_usize_size_t"] } jni = { version = "0.21.1", features = ["invocation"] } paranoid-android = "0.2.1" -godot = { git = "https://github.com/godot-rust/gdext", rev = "ef5f388def606ee119849e01ac0fafc1e0ec2c2a", features = ["lazy-function-tables"] } - [build-dependencies] webrtc-sys-build = "0.2.0"