summaryrefslogtreecommitdiff
path: root/src/screen/gameType.c
diff options
context:
space:
mode:
authorDusan Durech <dusan.d@Centrum.sk>2009-08-19 21:04:42 +0200
committerDusan Durech <dusan.d@Centrum.sk>2009-08-19 21:04:42 +0200
commit56f11df16e2949cf1cd29ed9e0fa43424e2181c2 (patch)
treea8a3a5e569c9640d6969f440785636998be0ab9a /src/screen/gameType.c
parent7e4da11ff95f2867f8032ebb0279e5698053a7eb (diff)
behaves use params and save and load net setting game
Diffstat (limited to 'src/screen/gameType.c')
-rw-r--r--src/screen/gameType.c39
1 files changed, 34 insertions, 5 deletions
diff --git a/src/screen/gameType.c b/src/screen/gameType.c
index 4493a95..c593c4c 100644
--- a/src/screen/gameType.c
+++ b/src/screen/gameType.c
@@ -13,6 +13,7 @@
#include "screen.h"
#include "image.h"
#include "hotKey.h"
+#include "config.h"
#ifndef NO_SOUND
#include "music.h"
@@ -93,10 +94,12 @@ void screen_startGameType()
music_play("menu", MUSIC_GROUP_BASE);
#endif
+/*
choiceGroup_set_status(check_none, TRUE);
choiceGroup_set_status(check_server, FALSE);
choiceGroup_set_status(check_client, FALSE);
choiceGroup_set_status(check_load_session, FALSE);
+*/
loadSession(selectSession);
@@ -233,12 +236,14 @@ void game_type_init()
check_client = choice_group_new(100, 250, FALSE, listChoiceGroup, eventWidget);
check_load_session = choice_group_new(100, 300, FALSE, listChoiceGroup, eventWidget);
- if (isParamFlag("--server")) {
+ if (strcmp(config_get_str_value(CFG_GAME_TYPE), "server") == 0) {
choiceGroup_set_status(check_server, TRUE);
- } else if (isParamFlag("--client")) {
+ } else if (strcmp(config_get_str_value(CFG_GAME_TYPE), "client") == 0) {
choiceGroup_set_status(check_client, TRUE);
- } else {
+ } else if (strcmp(config_get_str_value(CFG_GAME_TYPE), "none") == 0) {
choiceGroup_set_status(check_none, TRUE);
+ } else {
+ choiceGroup_set_status(check_load_session, TRUE);
}
label_none = label_new(_("Local game"), 130, 145, WIDGET_LABEL_LEFT);
@@ -250,11 +255,11 @@ void game_type_init()
label_port = label_new(_("Port"), 300, 245, WIDGET_LABEL_LEFT);
label_session = label_new(_("Load saved game:"), 300, 145, WIDGET_LABEL_LEFT);
- textfield_ip = text_field_new(getParamElse("--ip", "127.0.0.1"),
+ textfield_ip = text_field_new(config_get_str_value(CFG_NET_IP),
WIDGET_TEXTFIELD_FILTER_IP_OR_DOMAIN,
300, 180);
- textfield_port = text_field_new(getParamElse("--port", "6800"),
+ textfield_port = text_field_new(config_get_str_value(CFG_NET_PORT),
WIDGET_TEXTFIELD_FILTER_NUM, 300, 280);
selectSession = select_new(300, 185, eventWidget);
@@ -356,8 +361,32 @@ int public_server_get_settingProto()
return -1;
}
+static void save_config()
+{
+ if (choice_group_get_status(check_none) == TRUE) {
+ config_set_str_value(CFG_GAME_TYPE, "none");
+ }
+
+ if (choice_group_get_status(check_server) == TRUE) {
+ config_set_str_value(CFG_GAME_TYPE, "server");
+ }
+
+ if (choice_group_get_status(check_client) == TRUE) {
+ config_set_str_value(CFG_GAME_TYPE, "client");
+ }
+
+ if (choice_group_get_status(check_load_session) == TRUE) {
+ config_set_str_value(CFG_GAME_TYPE, "session");
+ }
+
+ config_set_str_value(CFG_NET_IP, text_field_get_text(textfield_ip));
+ config_set_str_value(CFG_NET_PORT, text_field_get_text(textfield_port));
+}
+
void game_type_quit()
{
+ save_config();
+
wid_image_destroy(image_backgorund);
label_destroy(label_none);