Browse Source

Fix shadowing of "name" property + hidden rocks

Fixes #189.
Rémi Verschelde 7 years ago
parent
commit
e182dd799a

+ 2 - 2
networking/multiplayer_bomber/bomb.gd

@@ -1,7 +1,7 @@
 extends Area2D
 
 var in_area = []
-var owner
+var from_player
 
 # Called from the animation
 func explode():
@@ -10,7 +10,7 @@ func explode():
 		return
 	for p in in_area:
 		if (p.has_method("exploded")):
-			p.rpc("exploded", owner) # Exploded has a master keyword, so it will only be received by the master
+			p.rpc("exploded", from_player) # Exploded has a master keyword, so it will only be received by the master
 
 func done():
 	queue_free()

+ 15 - 9
networking/multiplayer_bomber/bomb.tscn

@@ -23,11 +23,13 @@ _data = [ Vector2( 0.00150494, 0.398437 ), 0.0, 0.0, 0, 0, Vector2( 0.0152287, 1
 
 [sub_resource type="CurveTexture" id=4]
 
+flags = 4
 width = 2048
 curve = SubResource( 3 )
 
 [sub_resource type="ParticlesMaterial" id=5]
 
+render_priority = 0
 trail_divisor = 1
 emission_shape = 2
 emission_box_extents = Vector3( 80, 1, 1 )
@@ -76,6 +78,7 @@ tracks/0/path = NodePath("sprite:self_modulate")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 0.4, 0.6, 0.8, 1.1, 1.3, 1.5, 1.8, 1.9, 2, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 3 ),
 "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
@@ -87,6 +90,7 @@ tracks/1/path = NodePath(".")
 tracks/1/interp = 1
 tracks/1/loop_wrap = true
 tracks/1/imported = false
+tracks/1/enabled = true
 tracks/1/keys = {
 "times": PoolRealArray( 2.8, 3.4 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -103,6 +107,7 @@ tracks/2/path = NodePath("explosion1:emitting")
 tracks/2/interp = 1
 tracks/2/loop_wrap = true
 tracks/2/imported = false
+tracks/2/enabled = true
 tracks/2/keys = {
 "times": PoolRealArray( 0, 2.8 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -114,6 +119,7 @@ tracks/3/path = NodePath("explosion2:emitting")
 tracks/3/interp = 1
 tracks/3/loop_wrap = true
 tracks/3/imported = false
+tracks/3/enabled = true
 tracks/3/keys = {
 "times": PoolRealArray( 0, 2.8 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -132,7 +138,7 @@ audio_bus_override = false
 audio_bus_name = "Master"
 script = ExtResource( 1 )
 
-[node name="sprite" type="Sprite" parent="."]
+[node name="sprite" type="Sprite" parent="." index="0"]
 
 position = Vector2( -2.92606, -2.92606 )
 texture = ExtResource( 2 )
@@ -140,15 +146,15 @@ region_enabled = true
 region_rect = Rect2( 144, 0, 48, 48 )
 _sections_unfolded = [ "Region" ]
 
-[node name="shape1" type="CollisionShape2D" parent="."]
+[node name="shape1" type="CollisionShape2D" parent="." index="1"]
 
 shape = SubResource( 1 )
 
-[node name="shape2" type="CollisionShape2D" parent="."]
+[node name="shape2" type="CollisionShape2D" parent="." index="2"]
 
 shape = SubResource( 2 )
 
-[node name="explosion1" type="Particles2D" parent="."]
+[node name="explosion1" type="Particles2D" parent="." index="3"]
 
 emitting = false
 amount = 8
@@ -170,7 +176,7 @@ h_frames = 1
 v_frames = 1
 _sections_unfolded = [ "Process Material", "Textures", "Time" ]
 
-[node name="explosion2" type="Particles2D" parent="."]
+[node name="explosion2" type="Particles2D" parent="." index="4"]
 
 rotation = 1.57162
 emitting = false
@@ -193,14 +199,14 @@ h_frames = 1
 v_frames = 1
 _sections_unfolded = [ "Process Material", "Textures", "Time" ]
 
-[node name="anim" type="AnimationPlayer" parent="."]
+[node name="anim" type="AnimationPlayer" parent="." index="5"]
 
+root_node = NodePath("..")
+autoplay = "anim"
 playback_process_mode = 1
 playback_default_blend_time = 0.0
-root_node = NodePath("..")
+playback_speed = 1.0
 anims/anim = SubResource( 6 )
-playback/active = true
-playback/speed = 1.0
 blend_times = [  ]
 autoplay = "anim"
 

+ 7 - 7
networking/multiplayer_bomber/gamestate.gd

@@ -56,15 +56,15 @@ func _connected_fail():
 
 # Lobby management functions
 
-remote func register_player(id, name):
+remote func register_player(id, new_player_name):
 	if (get_tree().is_network_server()):
 		# If we are the server, let everyone know about the new player
 		rpc_id(id, "register_player", 1, player_name) # Send myself to new dude
 		for p_id in players: # Then, for each remote player
 			rpc_id(id, "register_player", p_id, players[p_id]) # Send player to new dude
-			rpc_id(p_id, "register_player", id, name) # Send new dude to player
+			rpc_id(p_id, "register_player", id, new_player_name) # Send new dude to player
 
-	players[id] = name
+	players[id] = new_player_name
 	emit_signal("player_list_changed")
 
 remote func unregister_player(id):
@@ -124,14 +124,14 @@ remote func ready_to_start(id):
 			rpc_id(p, "post_start_game")
 		post_start_game()
 
-func host_game(name):
-	player_name = name
+func host_game(new_player_name):
+	player_name = new_player_name
 	var host = NetworkedMultiplayerENet.new()
 	host.create_server(DEFAULT_PORT, MAX_PEERS)
 	get_tree().set_network_peer(host)
 
-func join_game(ip, name):
-	player_name = name
+func join_game(ip, new_player_name):
+	player_name = new_player_name
 	var host = NetworkedMultiplayerENet.new()
 	host.create_client(ip, DEFAULT_PORT)
 	get_tree().set_network_peer(host)

+ 5 - 5
networking/multiplayer_bomber/lobby.gd

@@ -17,8 +17,8 @@ func _on_host_pressed():
 	get_node("players").show()
 	get_node("connect/error_label").text=""
 
-	var name = get_node("connect/name").text
-	gamestate.host_game(name)
+	var player_name = get_node("connect/name").text
+	gamestate.host_game(player_name)
 	refresh_lobby()
 
 func _on_join_pressed():
@@ -35,8 +35,8 @@ func _on_join_pressed():
 	get_node("connect/host").disabled=true
 	get_node("connect/join").disabled=true
 
-	var name = get_node("connect/name").text
-	gamestate.join_game(ip, name)
+	var player_name = get_node("connect/name").text
+	gamestate.join_game(ip, player_name)
 	# refresh_lobby() gets called by the player_list_changed signal
 
 func _on_connection_success():
@@ -56,7 +56,7 @@ func _on_game_ended():
 	get_node("connect/join").disabled
 
 func _on_game_error(errtxt):
-	get_node("error").text=errtxt
+	get_node("error").dialog_text = errtxt
 	get_node("error").popup_centered_minsize()
 
 func refresh_lobby():

+ 43 - 29
networking/multiplayer_bomber/lobby.tscn

@@ -2,20 +2,20 @@
 
 [ext_resource path="res://lobby.gd" type="Script" id=1]
 
-[node name="lobby" type="Control"]
+[node name="lobby" type="Control" index="0"]
 
 anchor_left = 0.0
 anchor_top = 0.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 script = ExtResource( 1 )
 
-[node name="players" type="Panel" parent="."]
+[node name="players" type="Panel" parent="." index="0"]
 
 visible = false
 anchor_left = 0.0
@@ -27,12 +27,12 @@ margin_top = 113.0
 margin_right = 645.0
 margin_bottom = 468.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 
-[node name="label" type="Label" parent="players"]
+[node name="label" type="Label" parent="players" index="0"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -43,8 +43,8 @@ margin_top = 18.0
 margin_right = 142.0
 margin_bottom = 32.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 2
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 0
 text = "Awaiting Players..."
@@ -52,7 +52,7 @@ percent_visible = 1.0
 lines_skipped = 0
 max_lines_visible = -1
 
-[node name="start" type="Button" parent="players"]
+[node name="start" type="Button" parent="players" index="1"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -63,8 +63,9 @@ margin_top = 307.0
 margin_right = 193.0
 margin_bottom = 336.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
+focus_mode = 2
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 toggle_mode = false
@@ -73,8 +74,9 @@ shortcut = null
 group = null
 text = "START!"
 flat = false
+align = 1
 
-[node name="list" type="ItemList" parent="players"]
+[node name="list" type="ItemList" parent="players" index="2"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -85,14 +87,18 @@ margin_top = 37.0
 margin_right = 229.0
 margin_bottom = 296.0
 rect_pivot_offset = Vector2( 0, 0 )
+rect_clip_content = true
+focus_mode = 2
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 items = [  ]
 select_mode = 0
 icon_mode = 1
+fixed_icon_size = Vector2( 0, 0 )
 
-[node name="connect" type="Panel" parent="."]
+[node name="connect" type="Panel" parent="." index="1"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -103,12 +109,12 @@ margin_top = 157.0
 margin_right = 647.0
 margin_bottom = 324.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 
-[node name="name_label" type="Label" parent="connect"]
+[node name="name_label" type="Label" parent="connect" index="0"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -119,8 +125,8 @@ margin_top = 11.0
 margin_right = 56.0
 margin_bottom = 25.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 2
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 0
 text = "Name:"
@@ -128,7 +134,7 @@ percent_visible = 1.0
 lines_skipped = 0
 max_lines_visible = -1
 
-[node name="name" type="LineEdit" parent="connect"]
+[node name="name" type="LineEdit" parent="connect" index="1"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -139,18 +145,20 @@ margin_top = 30.0
 margin_right = 173.0
 margin_bottom = 54.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
+focus_mode = 2
 mouse_filter = 0
+mouse_default_cursor_shape = 1
 size_flags_horizontal = 2
 size_flags_vertical = 2
 text = "The Warrior"
-expand_to_len = false
 focus_mode = 2
+context_menu_enabled = true
 placeholder_alpha = 0.6
 caret_blink = false
 caret_blink_speed = 0.65
+caret_position = 0
 
-[node name="ip_label" type="Label" parent="connect"]
+[node name="ip_label" type="Label" parent="connect" index="2"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -161,8 +169,8 @@ margin_top = 66.0
 margin_right = 57.0
 margin_bottom = 80.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 2
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 0
 text = "IP:"
@@ -170,7 +178,7 @@ percent_visible = 1.0
 lines_skipped = 0
 max_lines_visible = -1
 
-[node name="ip" type="LineEdit" parent="connect"]
+[node name="ip" type="LineEdit" parent="connect" index="3"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -181,18 +189,20 @@ margin_top = 85.0
 margin_right = 173.0
 margin_bottom = 109.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
+focus_mode = 2
 mouse_filter = 0
+mouse_default_cursor_shape = 1
 size_flags_horizontal = 2
 size_flags_vertical = 2
 text = "127.0.0.1"
-expand_to_len = false
 focus_mode = 2
+context_menu_enabled = true
 placeholder_alpha = 0.6
 caret_blink = false
 caret_blink_speed = 0.65
+caret_position = 0
 
-[node name="host" type="Button" parent="connect"]
+[node name="host" type="Button" parent="connect" index="4"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -203,8 +213,9 @@ margin_top = 31.0
 margin_right = 246.0
 margin_bottom = 51.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
+focus_mode = 2
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 toggle_mode = false
@@ -213,8 +224,9 @@ shortcut = null
 group = null
 text = "Host"
 flat = false
+align = 1
 
-[node name="join" type="Button" parent="connect"]
+[node name="join" type="Button" parent="connect" index="5"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -225,8 +237,9 @@ margin_top = 87.0
 margin_right = 246.0
 margin_bottom = 107.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
+focus_mode = 2
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 toggle_mode = false
@@ -235,8 +248,9 @@ shortcut = null
 group = null
 text = "Join"
 flat = false
+align = 1
 
-[node name="error_label" type="Label" parent="connect"]
+[node name="error_label" type="Label" parent="connect" index="6"]
 
 anchor_left = 0.0
 anchor_top = 0.0
@@ -247,8 +261,8 @@ margin_top = 125.0
 margin_right = 257.0
 margin_bottom = 139.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 2
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 0
 custom_colors/font_color = Color( 0.820312, 0.291595, 0.291595, 1 )
@@ -257,7 +271,7 @@ percent_visible = 1.0
 lines_skipped = 0
 max_lines_visible = -1
 
-[node name="error" type="AcceptDialog" parent="."]
+[node name="error" type="AcceptDialog" parent="." index="2"]
 
 visible = false
 anchor_left = 0.0
@@ -267,8 +281,8 @@ anchor_bottom = 0.0
 margin_right = 55.0
 margin_bottom = 58.0
 rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
 mouse_filter = 0
+mouse_default_cursor_shape = 0
 size_flags_horizontal = 2
 size_flags_vertical = 2
 popup_exclusive = false

+ 5 - 5
networking/multiplayer_bomber/player.gd

@@ -8,11 +8,11 @@ slave var slave_motion = Vector2()
 export var stunned = false
 
 # Use sync because it will be called everywhere
-sync func setup_bomb(name, pos, by_who):
+sync func setup_bomb(bomb_name, pos, by_who):
 	var bomb = preload("res://bomb.tscn").instance()
-	bomb.set_name(name) # Ensure unique name for the bomb
+	bomb.set_name(bomb_name) # Ensure unique name for the bomb
 	bomb.position=pos
-	bomb.owner = by_who
+	bomb.from_player = by_who
 	# No need to set network mode to bomb, will be owned by master by default
 	get_node("../..").add_child(bomb)
 
@@ -83,8 +83,8 @@ master func exploded(by_who):
 	rpc("stun") # Stun slaves
 	stun() # Stun master - could use sync to do both at once
 
-func set_player_name(name):
-	get_node("label").set_text(name)
+func set_player_name(new_name):
+	get_node("label").set_text(new_name)
 
 func _ready():
 	stunned = false

+ 8 - 7
networking/multiplayer_bomber/rock.tscn

@@ -19,6 +19,7 @@ tracks/0/path = NodePath(".")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 1 ),
 "transitions": PoolRealArray( 1 ),
@@ -32,6 +33,7 @@ tracks/1/path = NodePath("sprite:visible")
 tracks/1/interp = 1
 tracks/1/loop_wrap = true
 tracks/1/imported = false
+tracks/1/enabled = true
 tracks/1/keys = {
 "times": PoolRealArray( 0 ),
 "transitions": PoolRealArray( 1 ),
@@ -47,26 +49,25 @@ collision_mask = 1
 collision/safe_margin = 0.08
 script = ExtResource( 1 )
 
-[node name="sprite" type="Sprite" parent="."]
+[node name="sprite" type="Sprite" parent="." index="0"]
 
-visible = false
 texture = ExtResource( 2 )
 region_enabled = true
 region_rect = Rect2( 96, 0, 48, 48 )
 _sections_unfolded = [ "Region" ]
 
-[node name="shape" type="CollisionShape2D" parent="."]
+[node name="shape" type="CollisionShape2D" parent="." index="1"]
 
 shape = SubResource( 1 )
 
-[node name="anim" type="AnimationPlayer" parent="."]
+[node name="anim" type="AnimationPlayer" parent="." index="2"]
 
+root_node = NodePath("..")
+autoplay = ""
 playback_process_mode = 1
 playback_default_blend_time = 0.0
-root_node = NodePath("..")
+playback_speed = 1.0
 anims/explode = SubResource( 2 )
-playback/active = true
-playback/speed = 1.0
 blend_times = [  ]
 autoplay = ""
 

+ 3 - 3
networking/multiplayer_bomber/score.gd

@@ -21,10 +21,10 @@ sync func increase_score(for_who):
 	pl.score += 1
 	pl.label.set_text(pl.name + "\n" + str(pl.score))
 
-func add_player(id, name):
+func add_player(id, new_player_name):
 	var l = Label.new()
 	l.set_align(Label.ALIGN_CENTER)
-	l.set_text(name + "\n" + "0")
+	l.set_text(new_player_name + "\n" + "0")
 	l.set_h_size_flags(SIZE_EXPAND_FILL)
 	var font = DynamicFont.new()
 	font.set_size(18)
@@ -32,7 +32,7 @@ func add_player(id, name):
 	l.add_font_override("font", font)
 	add_child(l)
 
-	player_labels[id] = { name = name, label = l, score = 0 }
+	player_labels[id] = { name = new_player_name, label = l, score = 0 }
 
 func _ready():
 	get_node("../winner").hide()

+ 7 - 13
networking/multiplayer_bomber/tile_scene.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=3 format=2]
 
 [ext_resource path="res://brickfloor.png" type="Texture" id=1]
 
@@ -9,20 +9,15 @@ extents = Vector2( 24, 24 )
 
 [node name="Node2D" type="Node2D"]
 
-
-[node name="wall" type="Sprite" parent="."]
+[node name="wall" type="Sprite" parent="." index="0"]
 
 position = Vector2( 24, 24 )
 texture = ExtResource( 1 )
-region = true
 region_rect = Rect2( 0, 0, 48, 48 )
 
-[node name="col" type="StaticBody2D" parent="wall"]
+[node name="col" type="StaticBody2D" parent="wall" index="0"]
 
 input_pickable = false
-shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
-shapes/0/trigger = false
 collision_layer = 1
 collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
@@ -30,15 +25,14 @@ constant_angular_velocity = 0.0
 friction = 1.0
 bounce = 0.0
 
-[node name="CollisionShape2D" type="CollisionShape2D" parent="wall/col"]
+[node name="CollisionShape2D" type="CollisionShape2D" parent="wall/col" index="0"]
 
 shape = SubResource( 1 )
-trigger = false
-_update_shape_index = 0
 
-[node name="floor" type="Sprite" parent="."]
+[node name="floor" type="Sprite" parent="." index="1"]
 
 position = Vector2( 72, 24 )
 texture = ExtResource( 1 )
-region = true
 region_rect = Rect2( 48, 0, 48, 48 )
+
+

File diff suppressed because it is too large
+ 4 - 4
networking/multiplayer_bomber/world.tscn


Some files were not shown because too many files changed in this diff