diff --git a/networking/multiplayer_pong/ball.png.import b/networking/multiplayer_pong/ball.png.import index 12bf8e16..e3eba526 100644 --- a/networking/multiplayer_pong/ball.png.import +++ b/networking/multiplayer_pong/ball.png.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture2D" -path="res://.godot/imported/ball.png-9a4ca347acb7532f6ae347744a6b04f7.stex" +type="CompressedTexture2D" +uid="uid://i1imfdcn7ui" +path="res://.godot/imported/ball.png-9a4ca347acb7532f6ae347744a6b04f7.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,24 @@ metadata={ [deps] source_file="res://ball.png" -dest_files=["res://.godot/imported/ball.png-9a4ca347acb7532f6ae347744a6b04f7.stex"] +dest_files=["res://.godot/imported/ball.png-9a4ca347acb7532f6ae347744a6b04f7.ctex"] [params] compress/mode=0 compress/lossy_quality=0.7 -compress/hdr_mode=0 +compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 -flags/repeat=0 -flags/filter=false -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/networking/multiplayer_pong/ball.tscn b/networking/multiplayer_pong/ball.tscn index f5119ff2..1a1a43a1 100644 --- a/networking/multiplayer_pong/ball.tscn +++ b/networking/multiplayer_pong/ball.tscn @@ -1,16 +1,16 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://bjmldn1x3lpa"] -[ext_resource path="res://logic/ball.gd" type="Script" id=1] -[ext_resource path="res://ball.png" type="Texture2D" id=2] +[ext_resource type="Script" path="res://logic/ball.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://i1imfdcn7ui" path="res://ball.png" id="2"] -[sub_resource type="CircleShape2D" id=1] +[sub_resource type="CircleShape2D" id="1"] radius = 5.11969 [node name="Ball" type="Area2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource( 2 ) +texture = ExtResource("2") [node name="Shape3D" type="CollisionShape2D" parent="."] -shape = SubResource( 1 ) +shape = SubResource("1") diff --git a/networking/multiplayer_pong/icon.png.import b/networking/multiplayer_pong/icon.png.import index 889af9df..150f7126 100644 --- a/networking/multiplayer_pong/icon.png.import +++ b/networking/multiplayer_pong/icon.png.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture2D" -path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +type="CompressedTexture2D" +uid="uid://djyutu2uyhiw7" +path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,24 @@ metadata={ [deps] source_file="res://icon.png" -dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"] +dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] [params] compress/mode=0 compress/lossy_quality=0.7 -compress/hdr_mode=0 +compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/networking/multiplayer_pong/lobby.tscn b/networking/multiplayer_pong/lobby.tscn index 41d36bc0..519986e5 100644 --- a/networking/multiplayer_pong/lobby.tscn +++ b/networking/multiplayer_pong/lobby.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://f85s2avde6r4"] -[ext_resource path="res://logic/lobby.gd" type="Script" id=1] +[ext_resource type="Script" path="res://logic/lobby.gd" id="1"] [node name="Lobby" type="Control"] +layout_mode = 3 +anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 @@ -11,13 +13,13 @@ offset_left = -320.0 offset_top = -200.0 offset_right = 320.0 offset_bottom = 200.0 +grow_horizontal = 2 +grow_vertical = 2 size_flags_horizontal = 2 size_flags_vertical = 2 -__meta__ = { -"_edit_use_anchors_": false -} [node name="Title" type="Label" parent="."] +layout_mode = 0 offset_left = 210.0 offset_top = 40.0 offset_right = 430.0 @@ -25,19 +27,19 @@ offset_bottom = 80.0 size_flags_horizontal = 2 size_flags_vertical = 0 text = "Multiplayer Pong" -align = 1 -valign = 1 [node name="LobbyPanel" type="Panel" parent="."] +layout_mode = 0 offset_left = 210.0 offset_top = 160.0 offset_right = 430.0 offset_bottom = 270.0 size_flags_horizontal = 2 size_flags_vertical = 2 -script = ExtResource( 1 ) +script = ExtResource("1") [node name="AddressLabel" type="Label" parent="LobbyPanel"] +layout_mode = 0 offset_left = 10.0 offset_top = 10.0 offset_right = 62.0 @@ -47,6 +49,7 @@ size_flags_vertical = 0 text = "Address" [node name="Address" type="LineEdit" parent="LobbyPanel"] +layout_mode = 0 offset_left = 10.0 offset_top = 30.0 offset_right = 210.0 @@ -56,6 +59,7 @@ size_flags_vertical = 2 text = "127.0.0.1" [node name="HostButton" type="Button" parent="LobbyPanel"] +layout_mode = 0 offset_left = 10.0 offset_top = 60.0 offset_right = 90.0 @@ -65,6 +69,7 @@ size_flags_vertical = 2 text = "Host" [node name="JoinButton" type="Button" parent="LobbyPanel"] +layout_mode = 0 offset_left = 130.0 offset_top = 60.0 offset_right = 210.0 @@ -74,50 +79,42 @@ size_flags_vertical = 2 text = "Join" [node name="StatusOk" type="Label" parent="LobbyPanel"] +layout_mode = 0 offset_left = 10.0 offset_top = 90.0 offset_right = 210.0 offset_bottom = 104.0 size_flags_horizontal = 2 size_flags_vertical = 0 -custom_colors/font_color = Color(0, 1, 0.015625, 1) -align = 1 [node name="StatusFail" type="Label" parent="LobbyPanel"] +layout_mode = 0 offset_left = 10.0 offset_top = 90.0 offset_right = 210.0 offset_bottom = 104.0 size_flags_horizontal = 2 size_flags_vertical = 0 -custom_colors/font_color = Color(1, 0, 0, 1) -align = 1 [node name="PortForward" type="Label" parent="LobbyPanel"] visible = false +layout_mode = 0 offset_left = -128.0 offset_top = 136.0 offset_right = 124.0 offset_bottom = 184.0 -custom_constants/line_spacing = 6 text = "If you want non-LAN clients to connect, make sure the port 8910 in UDP -is forwarded on your router." -align = 1 -__meta__ = { -"_edit_use_anchors_": false -} +is forwarded checked your router." [node name="FindPublicIP" type="LinkButton" parent="LobbyPanel"] visible = false +layout_mode = 0 offset_left = 155.0 offset_top = 152.0 offset_right = 328.0 offset_bottom = 166.0 text = "Find your public IP address" -__meta__ = { -"_edit_use_anchors_": false -} [connection signal="pressed" from="LobbyPanel/HostButton" to="LobbyPanel" method="_on_host_pressed"] [connection signal="pressed" from="LobbyPanel/JoinButton" to="LobbyPanel" method="_on_join_pressed"] diff --git a/networking/multiplayer_pong/logic/ball.gd b/networking/multiplayer_pong/logic/ball.gd index e2c29e06..6df5f525 100644 --- a/networking/multiplayer_pong/logic/ball.gd +++ b/networking/multiplayer_pong/logic/ball.gd @@ -21,15 +21,15 @@ func _process(delta): if (ball_pos.y < 0 and direction.y < 0) or (ball_pos.y > _screen_size.y and direction.y > 0): direction.y = -direction.y - if is_network_master(): + if is_multiplayer_authority(): # Only the master will decide when the ball is out in # the left side (it's own side). This makes the game # playable even if latency is high and ball is going # fast. Otherwise ball might be out in the other # player's screen but not this one. if ball_pos.x < 0: - get_parent().rpc("update_score", false) - rpc("_reset_ball", false) + get_parent().update_score.rpc(false) + _reset_ball.rpc(false) else: # Only the puppet will decide when the ball is out in # the right side, which is it's own side. This makes @@ -37,11 +37,11 @@ func _process(delta): # is going fast. Otherwise ball might be out in the # other player's screen but not this one. if ball_pos.x > _screen_size.x: - get_parent().rpc("update_score", true) - rpc("_reset_ball", true) + get_parent().update_score.rpc(true) + _reset_ball.rpc(true) -remotesync func bounce(left, random): +@rpc(any_peer, call_local) func bounce(left, random): # Using sync because both players can make it bounce. if left: direction.x = abs(direction.x) @@ -53,11 +53,11 @@ remotesync func bounce(left, random): direction = direction.normalized() -remotesync func stop(): +@rpc(any_peer, call_local) func stop(): stopped = true -remotesync func _reset_ball(for_left): +@rpc(any_peer, call_local) func _reset_ball(for_left): position = _screen_size / 2 if for_left: direction = Vector2.LEFT diff --git a/networking/multiplayer_pong/logic/lobby.gd b/networking/multiplayer_pong/logic/lobby.gd index 1e346cef..a4a439d9 100644 --- a/networking/multiplayer_pong/logic/lobby.gd +++ b/networking/multiplayer_pong/logic/lobby.gd @@ -1,7 +1,7 @@ extends Control # Default game server port. Can be any number between 1024 and 49151. -# Not on the list of registered or common ports as of November 2020: +# Not checked the list of registered or common ports as of November 2020: # https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers const DEFAULT_PORT = 8910 @@ -17,11 +17,11 @@ var peer = null func _ready(): # Connect all the callbacks related to networking. - get_tree().connect(&"network_peer_connected", self._player_connected) - get_tree().connect(&"network_peer_disconnected", self._player_disconnected) - get_tree().connect(&"connected_to_server", self._connected_ok) - get_tree().connect(&"connection_failed", self._connected_fail) - get_tree().connect(&"server_disconnected", self._server_disconnected) + multiplayer.connect(&"peer_connected", self._player_connected) + multiplayer.connect(&"peer_disconnected", self._player_disconnected) + multiplayer.connect(&"connected_to_server", self._connected_ok) + multiplayer.connect(&"connection_failed", self._connected_fail) + multiplayer.connect(&"server_disconnected", self._server_disconnected) #### Network callbacks from SceneTree #### @@ -30,14 +30,14 @@ func _player_connected(_id): # Someone connected, start the game! var pong = load("res://pong.tscn").instantiate() # Connect deferred so we can safely erase it from the callback. - pong.connect(&"game_finished", self._end_game, [], CONNECT_DEFERRED) + pong.connect(&"game_finished",Callable(self._end_game).bind(CONNECT_DEFERRED)) get_tree().get_root().add_child(pong) hide() func _player_disconnected(_id): - if get_tree().is_network_server(): + if multiplayer.is_server(): _end_game("Client disconnected") else: _end_game("Server disconnected") @@ -52,7 +52,7 @@ func _connected_ok(): func _connected_fail(): _set_status("Couldn't connect", false) - get_tree().set_network_peer(null) # Remove peer. + multiplayer.set_multiplayer_peer(null) # Remove peer. host_button.set_disabled(false) join_button.set_disabled(false) @@ -69,7 +69,7 @@ func _end_game(with_error = ""): get_node(^"/root/Pong").free() show() - get_tree().set_network_peer(null) # Remove peer. + multiplayer.set_multiplayer_peer(null) # Remove peer. host_button.set_disabled(false) join_button.set_disabled(false) @@ -87,15 +87,15 @@ func _set_status(text, isok): func _on_host_pressed(): - peer = NetworkedMultiplayerENet.new() - peer.set_compression_mode(NetworkedMultiplayerENet.COMPRESS_RANGE_CODER) + peer = ENetMultiplayerPeer.new() var err = peer.create_server(DEFAULT_PORT, 1) # Maximum of 1 peer, since it's a 2-player game. if err != OK: # Is another server running? _set_status("Can't host, address in use.",false) return + peer.get_host().compress(ENetConnection.COMPRESS_RANGE_CODER) - get_tree().set_network_peer(peer) + multiplayer.set_multiplayer_peer(peer) host_button.set_disabled(true) join_button.set_disabled(true) _set_status("Waiting for player...", true) @@ -111,10 +111,10 @@ func _on_join_pressed(): _set_status("IP address is invalid", false) return - peer = NetworkedMultiplayerENet.new() - peer.set_compression_mode(NetworkedMultiplayerENet.COMPRESS_RANGE_CODER) + peer = ENetMultiplayerPeer.new() peer.create_client(ip, DEFAULT_PORT) - get_tree().set_network_peer(peer) + peer.get_host().compress(ENetConnection.COMPRESS_RANGE_CODER) + multiplayer.set_multiplayer_peer(peer) _set_status("Connecting...", true) diff --git a/networking/multiplayer_pong/logic/paddle.gd b/networking/multiplayer_pong/logic/paddle.gd index 4e193bbc..254c4975 100644 --- a/networking/multiplayer_pong/logic/paddle.gd +++ b/networking/multiplayer_pong/logic/paddle.gd @@ -11,7 +11,7 @@ var _you_hidden = false func _process(delta): # Is the master of the paddle. - if is_network_master(): + if is_multiplayer_authority(): _motion = Input.get_axis(&"move_up", &"move_down") if not _you_hidden and _motion != 0: @@ -21,7 +21,7 @@ func _process(delta): # Using unreliable to make sure position is updated as fast # as possible, even if one of the calls is dropped. - rpc_unreliable("set_pos_and_motion", position, _motion) + set_pos_and_motion.rpc(position, _motion) else: if not _you_hidden: _hide_you_label() @@ -33,7 +33,7 @@ func _process(delta): # Synchronize position and speed to the other peers. -puppet func set_pos_and_motion(pos, motion): +@rpc(unreliable) func set_pos_and_motion(pos, motion): position = pos _motion = motion @@ -44,6 +44,6 @@ func _hide_you_label(): func _on_paddle_area_enter(area): - if is_network_master(): - # Random for new direction generated on each peer. - area.rpc("bounce", left, randf()) + if is_multiplayer_authority(): + # Random for new direction generated checked each peer. + area.bounce.rpc(left, randf()) diff --git a/networking/multiplayer_pong/logic/pong.gd b/networking/multiplayer_pong/logic/pong.gd index 45cd0e23..3ad00804 100644 --- a/networking/multiplayer_pong/logic/pong.gd +++ b/networking/multiplayer_pong/logic/pong.gd @@ -16,18 +16,18 @@ var score_right = 0 func _ready(): # By default, all nodes in server inherit from master, # while all nodes in clients inherit from puppet. - # set_network_master is tree-recursive by default. - if get_tree().is_network_server(): + # set_multiplayer_authority is tree-recursive by default. + if multiplayer.is_server(): # For the server, give control of player 2 to the other peer. - player2.set_network_master(get_tree().get_network_connected_peers()[0]) + player2.set_multiplayer_authority(multiplayer.get_peers()[0]) else: # For the client, give control of player 2 to itself. - player2.set_network_master(get_tree().get_network_unique_id()) + player2.set_multiplayer_authority(multiplayer.get_unique_id()) - print("Unique id: ", get_tree().get_network_unique_id()) + print("Unique id: ", multiplayer.get_unique_id()) -remotesync func update_score(add_to_left): +@rpc(any_peer, call_local) func update_score(add_to_left): if add_to_left: score_left += 1 score_left_node.set_text(str(score_left)) @@ -45,7 +45,7 @@ remotesync func update_score(add_to_left): if game_ended: $ExitGame.show() - $Ball.rpc("stop") + $Ball.stop.rpc() func _on_exit_game_pressed(): diff --git a/networking/multiplayer_pong/paddle.png.import b/networking/multiplayer_pong/paddle.png.import index c23d78c1..0e684366 100644 --- a/networking/multiplayer_pong/paddle.png.import +++ b/networking/multiplayer_pong/paddle.png.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture2D" -path="res://.godot/imported/paddle.png-0e798fb0912613386507c9904d5cc01a.stex" +type="CompressedTexture2D" +uid="uid://bjw2yb853klh2" +path="res://.godot/imported/paddle.png-0e798fb0912613386507c9904d5cc01a.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,24 @@ metadata={ [deps] source_file="res://paddle.png" -dest_files=["res://.godot/imported/paddle.png-0e798fb0912613386507c9904d5cc01a.stex"] +dest_files=["res://.godot/imported/paddle.png-0e798fb0912613386507c9904d5cc01a.ctex"] [params] compress/mode=0 compress/lossy_quality=0.7 -compress/hdr_mode=0 +compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 -flags/repeat=0 -flags/filter=false -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/networking/multiplayer_pong/paddle.tscn b/networking/multiplayer_pong/paddle.tscn index 0031ab25..ab7a37e0 100644 --- a/networking/multiplayer_pong/paddle.tscn +++ b/networking/multiplayer_pong/paddle.tscn @@ -1,20 +1,20 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://cpw46256eirwq"] -[ext_resource path="res://logic/paddle.gd" type="Script" id=1] -[ext_resource path="res://paddle.png" type="Texture2D" id=2] +[ext_resource type="Script" path="res://logic/paddle.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://bjw2yb853klh2" path="res://paddle.png" id="2"] -[sub_resource type="CapsuleShape2D" id=1] +[sub_resource type="CapsuleShape2D" id="1"] radius = 4.78568 height = 23.6064 [node name="Paddle" type="Area2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource( 2 ) +texture = ExtResource("2") [node name="Shape3D" type="CollisionShape2D" parent="."] -shape = SubResource( 1 ) +shape = SubResource("1") [node name="You" type="Label" parent="."] offset_left = -26.0 @@ -24,6 +24,5 @@ offset_bottom = -19.0 size_flags_horizontal = 2 size_flags_vertical = 0 text = "You" -align = 1 [connection signal="area_entered" from="." to="." method="_on_paddle_area_enter"] diff --git a/networking/multiplayer_pong/pong.tscn b/networking/multiplayer_pong/pong.tscn index a155720a..89c147bc 100644 --- a/networking/multiplayer_pong/pong.tscn +++ b/networking/multiplayer_pong/pong.tscn @@ -1,35 +1,34 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://bafoh1ief0147"] -[ext_resource path="res://logic/pong.gd" type="Script" id=1] -[ext_resource path="res://separator.png" type="Texture2D" id=2] -[ext_resource path="res://paddle.tscn" type="PackedScene" id=3] -[ext_resource path="res://ball.tscn" type="PackedScene" id=4] +[ext_resource type="Script" path="res://logic/pong.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://b10swafhe08oj" path="res://separator.png" id="2"] +[ext_resource type="PackedScene" uid="uid://cpw46256eirwq" path="res://paddle.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://bjmldn1x3lpa" path="res://ball.tscn" id="4"] [node name="Pong" type="Node2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="ColorRect" type="ColorRect" parent="."] offset_right = 640.0 offset_bottom = 400.0 +grow_horizontal = 2 +grow_vertical = 2 color = Color(0.141176, 0.152941, 0.164706, 1) -__meta__ = { -"_edit_use_anchors_": false -} [node name="Separator" type="Sprite2D" parent="."] position = Vector2(320, 200) -texture = ExtResource( 2 ) +texture = ExtResource("2") -[node name="Player1" parent="." instance=ExtResource( 3 )] +[node name="Player1" parent="." instance=ExtResource("3")] modulate = Color(0, 1, 1, 1) position = Vector2(32.49, 188.622) left = true -[node name="Player2" parent="." instance=ExtResource( 3 )] +[node name="Player2" parent="." instance=ExtResource("3")] modulate = Color(1, 0, 1, 1) position = Vector2(608.88, 188.622) -[node name="Ball" parent="." instance=ExtResource( 4 )] +[node name="Ball" parent="." instance=ExtResource("4")] position = Vector2(320.387, 189.525) [node name="ScoreLeft" type="Label" parent="."] @@ -40,7 +39,6 @@ offset_bottom = 30.0 size_flags_horizontal = 2 size_flags_vertical = 0 text = "0" -align = 1 [node name="ScoreRight" type="Label" parent="."] offset_left = 360.0 @@ -50,7 +48,6 @@ offset_bottom = 30.0 size_flags_horizontal = 2 size_flags_vertical = 0 text = "0" -align = 1 [node name="WinnerLeft" type="Label" parent="."] visible = false diff --git a/networking/multiplayer_pong/project.godot b/networking/multiplayer_pong/project.godot index a306a03d..546ad1b8 100644 --- a/networking/multiplayer_pong/project.godot +++ b/networking/multiplayer_pong/project.godot @@ -6,7 +6,7 @@ ; [section] ; section goes between [] ; param=value ; assign values to parameters -config_version=4 +config_version=5 [application] @@ -15,6 +15,7 @@ config/description="A multiplayer demo of the classical pong game. One of the players should press 'host', while the other should select the address and press 'join'." run/main_scene="res://lobby.tscn" +config/features=PackedStringArray("4.0") config/icon="res://icon.png" [debug] @@ -23,11 +24,12 @@ gdscript/warnings/return_value_discarded=false [display] -window/size/width=640 -window/size/height=400 -window/dpi/allow_hidpi=true +window/size/viewport_width=640 +window/size/viewport_height=400 window/stretch/mode="2d" window/stretch/aspect="expand" +window/size/width=640 +window/size/height=400 stretch_2d=true [gdnative] @@ -38,20 +40,20 @@ singletons=[] move_down={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":90,"physical_keycode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":90,"physical_keycode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"unicode":0,"echo":false,"script":null) ] } move_up={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"unicode":0,"echo":false,"script":null) ] } diff --git a/networking/multiplayer_pong/separator.png.import b/networking/multiplayer_pong/separator.png.import index 20d788d5..b9bc5edd 100644 --- a/networking/multiplayer_pong/separator.png.import +++ b/networking/multiplayer_pong/separator.png.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture2D" -path="res://.godot/imported/separator.png-f981c8489b9148e2e1dc63398273da74.stex" +type="CompressedTexture2D" +uid="uid://b10swafhe08oj" +path="res://.godot/imported/separator.png-f981c8489b9148e2e1dc63398273da74.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,24 @@ metadata={ [deps] source_file="res://separator.png" -dest_files=["res://.godot/imported/separator.png-f981c8489b9148e2e1dc63398273da74.stex"] +dest_files=["res://.godot/imported/separator.png-f981c8489b9148e2e1dc63398273da74.ctex"] [params] compress/mode=0 compress/lossy_quality=0.7 -compress/hdr_mode=0 +compress/hdr_compression=1 compress/bptc_ldr=0 compress/normal_map=0 -flags/repeat=0 -flags/filter=false -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1