summary refs log tree commit diff stats
path: root/racing/lobby.gd
diff options
context:
space:
mode:
Diffstat (limited to 'racing/lobby.gd')
-rw-r--r--racing/lobby.gd52
1 files changed, 31 insertions, 21 deletions
diff --git a/racing/lobby.gd b/racing/lobby.gd index 36a90b6..d326098 100644 --- a/racing/lobby.gd +++ b/racing/lobby.gd
@@ -154,7 +154,7 @@ func _on_lobby_created(result: int, lobby_id: int) -> void:
154 _ignore = Steam.setLobbyData(lobby_id, "save_file", global.save_file.to_lower()) 154 _ignore = Steam.setLobbyData(lobby_id, "save_file", global.save_file.to_lower())
155 _ignore = Steam.setLobbyData(lobby_id, "racing_vip", str(player_steam_id)) 155 _ignore = Steam.setLobbyData(lobby_id, "racing_vip", str(player_steam_id))
156 _ignore = Steam.setLobbyData(lobby_id, "closed", "false") 156 _ignore = Steam.setLobbyData(lobby_id, "closed", "false")
157 is_vip = true 157 _become_vip()
158 _request_lobby_list() 158 _request_lobby_list()
159 159
160 160
@@ -166,7 +166,7 @@ func _on_lobby_joined(lobby_id: int, _permissions: int, _locked: bool, result: i
166 Steam.leaveLobby(active_lobby_id) 166 Steam.leaveLobby(active_lobby_id)
167 active_lobby_id = lobby_id 167 active_lobby_id = lobby_id
168 if Steam.getLobbyData(lobby_id, "racing_vip") == str(player_steam_id): 168 if Steam.getLobbyData(lobby_id, "racing_vip") == str(player_steam_id):
169 is_vip = true 169 _become_vip()
170 _update_lobby_members() 170 _update_lobby_members()
171 171
172 172
@@ -249,15 +249,14 @@ func _read_p2p_packet() -> void:
249 ) 249 )
250 if "start_x" in data: 250 if "start_x" in data:
251 race_manager.level = data["level"] 251 race_manager.level = data["level"]
252 race_manager.start_pos = [ 252 race_manager.start_pos = {
253 data["start_name"], 253 "title": data["start_name"],
254 int(data["start_x"]), 254 "pos": [int(data["start_x"]), int(data["start_y"]), int(data["start_z"])]
255 int(data["start_y"]), 255 }
256 int(data["start_z"]) 256 race_manager.end_pos = {
257 ] 257 "title": data["end_name"],
258 race_manager.end_pos = [ 258 "pos": [int(data["end_x"]), int(data["end_y"]), int(data["end_z"])]
259 data["end_name"], int(data["end_x"]), int(data["end_y"]), int(data["end_z"]) 259 }
260 ]
261 260
262 is_starting = true 261 is_starting = true
263 _start_game() 262 _start_game()
@@ -302,13 +301,22 @@ func _send_p2p_packet(data: Dictionary, recipient_id: int, mode: int, needs_ack:
302 var _ignore = Steam.sendP2PPacket(recipient_id, serialized, mode) 301 var _ignore = Steam.sendP2PPacket(recipient_id, serialized, mode)
303 302
304 303
304func _become_vip():
305 is_vip = true
306 get_node("Panel/ItemList").margin_left = 226
307 get_node("Panel/Settings").visible = true
308
309
305func _main_button_pressed(): 310func _main_button_pressed():
306 if everyone_ready and is_vip: 311 if everyone_ready and is_vip:
307 get_node("Panel/main_button").disabled = true 312 get_node("Panel/main_button").disabled = true
308 313
309 var _ignore = Steam.setLobbyData(active_lobby_id, "closed", "true") 314 var _ignore = Steam.setLobbyData(active_lobby_id, "closed", "true")
310 315
311 var route = router.choose_route() 316 var route = router.choose_route(
317 get_node("Panel/Settings/LevelOption").get_selected_id(),
318 get_node("Panel/Settings/LengthOption").get_selected_id()
319 )
312 var start_pos = route[1] 320 var start_pos = route[1]
313 var end_pos = route[2] 321 var end_pos = route[2]
314 322
@@ -327,14 +335,14 @@ func _main_button_pressed():
327 _send_p2p_packet( 335 _send_p2p_packet(
328 { 336 {
329 "level": route[0], 337 "level": route[0],
330 "start_name": start_pos[0], 338 "start_name": start_pos["title"],
331 "start_x": str(start_pos[1]), 339 "start_x": str(start_pos["pos"][0]),
332 "start_y": str(start_pos[2]), 340 "start_y": str(start_pos["pos"][1]),
333 "start_z": str(start_pos[3]), 341 "start_z": str(start_pos["pos"][2]),
334 "end_name": end_pos[0], 342 "end_name": end_pos["title"],
335 "end_x": str(end_pos[1]), 343 "end_x": str(end_pos["pos"][0]),
336 "end_y": str(end_pos[2]), 344 "end_y": str(end_pos["pos"][1]),
337 "end_z": str(end_pos[3]), 345 "end_z": str(end_pos["pos"][2]),
338 }, 346 },
339 RECIPIENT_BROADCAST_ALL, 347 RECIPIENT_BROADCAST_ALL,
340 Steam.P2P_SEND_RELIABLE, 348 Steam.P2P_SEND_RELIABLE,
@@ -361,7 +369,9 @@ func _start_game():
361 Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) 369 Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
362 global.map = race_manager.level 370 global.map = race_manager.level
363 global.entry_point = Vector3( 371 global.entry_point = Vector3(
364 race_manager.start_pos[1], race_manager.start_pos[2] + 1, race_manager.start_pos[3] 372 race_manager.start_pos["pos"][0],
373 race_manager.start_pos["pos"][1] + 1,
374 race_manager.start_pos["pos"][2]
365 ) 375 )
366 global.entry_rotate = Vector3(0, 0, 0) 376 global.entry_rotate = Vector3(0, 0, 0)
367 global.sets_entry_point = true 377 global.sets_entry_point = true