Add WIP config parser arg plus config file
This commit is contained in:
27
billiards.gd
27
billiards.gd
@@ -47,6 +47,8 @@ func _parse_args() -> void:
|
|||||||
match arg:
|
match arg:
|
||||||
"join_server":
|
"join_server":
|
||||||
join_server(arg)
|
join_server(arg)
|
||||||
|
"config":
|
||||||
|
config(arg)
|
||||||
"client":
|
"client":
|
||||||
client(arg)
|
client(arg)
|
||||||
"game":
|
"game":
|
||||||
@@ -111,6 +113,31 @@ func join_server(_arg: String) -> void:
|
|||||||
|
|
||||||
game_client.start_client(server_address, int(server_port))
|
game_client.start_client(server_address, int(server_port))
|
||||||
|
|
||||||
|
func config(_arg: String) -> void:
|
||||||
|
var config_entry = OS.get_cmdline_user_args()[-1]
|
||||||
|
var config_file = ConfigFile.new()
|
||||||
|
var err = config_file.load("res://configs/games.cfg")
|
||||||
|
|
||||||
|
if err != OK:
|
||||||
|
push_error("Config file not loaded...")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not config_file.has_section(config_entry):
|
||||||
|
push_error("Config entry doesn't exist: ", config_entry)
|
||||||
|
return
|
||||||
|
|
||||||
|
var keys = config_file.get_section_keys(config_entry)
|
||||||
|
for key in keys:
|
||||||
|
match key:
|
||||||
|
"server":
|
||||||
|
var _server = config_file.get_value(config_entry, key)
|
||||||
|
"client1":
|
||||||
|
var _client1 = config_file.get_value(config_entry, key)
|
||||||
|
"client2":
|
||||||
|
var _client2 = config_file.get_value(config_entry, key)
|
||||||
|
_:
|
||||||
|
pass
|
||||||
|
|
||||||
func client(_arg: String) -> void:
|
func client(_arg: String) -> void:
|
||||||
Globals.game_state.set_game_scene(
|
Globals.game_state.set_game_scene(
|
||||||
"res://scenes/screens/lobby_screen/lobby.tscn"
|
"res://scenes/screens/lobby_screen/lobby.tscn"
|
||||||
|
|||||||
28
configs/games.cfg
Normal file
28
configs/games.cfg
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[lobby_load]
|
||||||
|
; Defaults to joning a lobby server bound to 8080.
|
||||||
|
; Has clients go through lobby to load a mode.
|
||||||
|
client1="client host_freeball freeball88"
|
||||||
|
client2="client join freeball88"
|
||||||
|
|
||||||
|
[only_game_server]
|
||||||
|
server="server_5010 game freeball"
|
||||||
|
|
||||||
|
[8ball_game_server]
|
||||||
|
server="server_5001 game 8ball"
|
||||||
|
client1="join_server 127.0.0.1 5001"
|
||||||
|
client2="join_server 127.0.0.1 5001"
|
||||||
|
|
||||||
|
[9ball_game_server]
|
||||||
|
server="server_5002 game 9ball"
|
||||||
|
client1="join_server 127.0.0.1 5002"
|
||||||
|
client2="join_server 127.0.0.1 5002"
|
||||||
|
|
||||||
|
[snooker_game_server]
|
||||||
|
server="server_5003 game snooker"
|
||||||
|
client1="join_server 127.0.0.1 5003"
|
||||||
|
client2="join_server 127.0.0.1 5003"
|
||||||
|
|
||||||
|
[freeball_game_server]
|
||||||
|
server="server_5004 game freeball"
|
||||||
|
client1="join_server 127.0.0.1 5004"
|
||||||
|
client2="join_server 127.0.0.1 5004"
|
||||||
Reference in New Issue
Block a user