~ubuntu-branches/ubuntu/maverick/lordsawar/maverick

« back to all changes in this revision

Viewing changes to src/Configuration.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Barry deFreese
  • Date: 2010-04-10 09:29:33 UTC
  • mfrom: (1.1.9 upstream) (5.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20100410092933-23uq4dxig30kmtcw
Tags: 0.1.8-1
* New upstream release.
* Add misc:Depends for -data package.
* Bump Standards Version to 3.8.4. (No changes needed).

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
#include "Configuration.h"
30
30
 
31
 
#include "string_tokenizer.h"
32
31
#include "xmlhelper.h"
33
32
#include "defs.h"
34
33
#include "File.h"
51
50
string Configuration::s_savePath = "./saves/";
52
51
#endif
53
52
string Configuration::s_lang = "";
54
 
int Configuration::s_displaySpeedDelay = 0;
 
53
int Configuration::s_displaySpeedDelay = 300000;
55
54
int Configuration::s_displayFightRoundDelayFast = 250;
56
55
int Configuration::s_displayFightRoundDelaySlow = 500;
 
56
bool Configuration::s_displayCommentator = true;
57
57
guint32 Configuration::s_cacheSize = 1000000;
58
58
bool Configuration::s_zipfiles = false;
59
59
int Configuration::s_autosave_policy = 1;
60
 
bool Configuration::s_ggz = false;
61
60
bool Configuration::s_musicenable = true;
62
61
guint32 Configuration::s_musicvolume = 64;
63
62
guint32 Configuration::s_musiccache = 10000000;
64
63
string Configuration::s_filename = "";
65
64
bool Configuration::s_see_opponents_stacks = false;
66
65
bool Configuration::s_see_opponents_production = false;
67
 
bool Configuration::s_play_with_quests = true;
 
66
GameParameters::QuestPolicy Configuration::s_play_with_quests = GameParameters::ONE_QUEST_PER_PLAYER;
68
67
bool Configuration::s_hidden_map = false;
69
68
bool Configuration::s_diplomacy = false;
70
69
GameParameters::NeutralCities Configuration::s_neutral_cities = GameParameters::AVERAGE;
72
71
bool Configuration::s_intense_combat = false;
73
72
bool Configuration::s_military_advisor = false;
74
73
bool Configuration::s_random_turns = false;
75
 
bool Configuration::s_quick_start = false;
 
74
GameParameters::QuickStartPolicy Configuration::s_quick_start = GameParameters::NO_QUICK_START;
76
75
bool Configuration::s_cusp_of_war = false;
77
76
bool Configuration::s_decorated = true;
78
77
bool Configuration::s_remember_recent_games = true;
133
132
    retval &= helper.saveData("speeddelay", s_displaySpeedDelay);
134
133
    retval &= helper.saveData("fightrounddelayfast", s_displayFightRoundDelayFast);
135
134
    retval &= helper.saveData("fightrounddelayslow", s_displayFightRoundDelaySlow);
 
135
    retval &= helper.saveData("commentator", s_displayCommentator);
136
136
    retval &= helper.saveData("shownextplayer", s_showNextPlayer);
137
137
    retval &= helper.saveData("musicenable", s_musicenable);
138
138
    retval &= helper.saveData("musicvolume", s_musicvolume);
139
139
    retval &= helper.saveData("musiccache", s_musiccache);
140
140
    retval &= helper.saveData("view_enemies", s_see_opponents_stacks);
141
141
    retval &= helper.saveData("view_production", s_see_opponents_production);
142
 
    retval &= helper.saveData("quests", s_play_with_quests);
 
142
    std::string quest_policy_str = questPolicyToString(GameParameters::QuestPolicy(s_play_with_quests));
 
143
    retval &= helper.saveData("quests", quest_policy_str);
143
144
    retval &= helper.saveData("hidden_map", s_hidden_map);
144
145
    retval &= helper.saveData("diplomacy", s_diplomacy);
145
146
    std::string neutral_cities_str = neutralCitiesToString(GameParameters::NeutralCities(s_neutral_cities));
149
150
    retval &= helper.saveData("intense_combat", s_intense_combat);
150
151
    retval &= helper.saveData("military_advisor", s_military_advisor);
151
152
    retval &= helper.saveData("random_turns", s_random_turns);
152
 
    retval &= helper.saveData("quick_start", s_quick_start);
 
153
    std::string quick_start_str = quickStartPolicyToString(GameParameters::QuickStartPolicy(s_quick_start));
 
154
    retval &= helper.saveData("quick_start", quick_start_str);
153
155
    retval &= helper.saveData("cusp_of_war", s_cusp_of_war);
154
156
    retval &= helper.saveData("decorated", s_decorated);
155
157
    retval &= helper.saveData("remember_recent_games", s_remember_recent_games);
246
248
    helper->getData(s_displayFightRoundDelayFast, "fightrounddelayfast");
247
249
    helper->getData(s_displayFightRoundDelaySlow, "fightrounddelayslow");
248
250
 
 
251
    //parse whether or not the commentator should be shown
 
252
    helper->getData(s_displayCommentator, "commentator");
 
253
 
249
254
    //parse if nextplayer dialog should be enabled
250
255
    helper->getData(s_showNextPlayer, "shownextplayer");
251
256
 
256
261
    
257
262
    helper->getData(s_see_opponents_stacks, "view_enemies");
258
263
    helper->getData(s_see_opponents_production, "view_production");
259
 
    helper->getData(s_play_with_quests, "quests");
 
264
    std::string quest_policy_str;
 
265
    helper->getData(quest_policy_str, "quests");
 
266
    s_play_with_quests = questPolicyFromString(quest_policy_str);
260
267
    helper->getData(s_hidden_map, "hidden_map");
261
268
    helper->getData(s_diplomacy, "diplomacy");
262
269
    std::string neutral_cities_str;
268
275
    helper->getData(s_intense_combat, "intense_combat");
269
276
    helper->getData(s_military_advisor, "military_advisor");
270
277
    helper->getData(s_random_turns, "random_turns");
271
 
    helper->getData(s_quick_start, "quick_start");
 
278
    std::string quick_start_str;
 
279
    helper->getData(quick_start_str, "quick_start");
 
280
    s_quick_start = quickStartPolicyFromString(quick_start_str);
272
281
    helper->getData(s_cusp_of_war, "cusp_of_war");
273
282
    helper->getData(s_decorated, "decorated");
274
283
    helper->getData(s_remember_recent_games, "remember_recent_games");
445
454
    
446
455
  return Configuration::WRITE_NUMBERED_AUTOSAVE_FILE;
447
456
}
 
457
 
 
458
std::string Configuration::quickStartPolicyToString(const GameParameters::QuickStartPolicy policy)
 
459
{
 
460
  switch (policy)
 
461
    {
 
462
    case GameParameters::NO_QUICK_START:
 
463
      return "GameParameters::NO_QUICK_START";
 
464
      break;
 
465
    case GameParameters::EVENLY_DIVIDED:
 
466
      return "GameParameters::EVENLY_DIVIDED";
 
467
      break;
 
468
    case GameParameters::AI_HEAD_START:
 
469
      return "GameParameters::AI_HEAD_START";
 
470
      break;
 
471
    }
 
472
  return "GameParameters::NO_QUICK_START";
 
473
}
 
474
 
 
475
GameParameters::QuickStartPolicy Configuration::quickStartPolicyFromString(std::string str)
 
476
{
 
477
  if (str.size() > 0 && isdigit(str.c_str()[0]))
 
478
    return GameParameters::QuickStartPolicy(atoi(str.c_str()));
 
479
  if (str == "GameParameters::NO_QUICK_START")
 
480
    return GameParameters::NO_QUICK_START;
 
481
  else if (str == "GameParameters::EVENLY_DIVIDED")
 
482
    return GameParameters::EVENLY_DIVIDED;
 
483
  else if (str == "GameParameters::AI_HEAD_START")
 
484
    return GameParameters::AI_HEAD_START;
 
485
    
 
486
  return GameParameters::NO_QUICK_START;
 
487
}
 
488
 
 
489
std::string Configuration::questPolicyToString(const GameParameters::QuestPolicy quest)
 
490
{
 
491
  switch (quest)
 
492
    {
 
493
      case GameParameters::NO_QUESTING:
 
494
        return "GameParameters::NO_QUESTING";
 
495
        break;
 
496
      case GameParameters::ONE_QUEST_PER_PLAYER:
 
497
        return "GameParameters::ONE_QUEST_PER_PLAYER";
 
498
        break;
 
499
      case GameParameters::ONE_QUEST_PER_HERO:
 
500
        return "GameParameters::ONE_QUEST_PER_HERO";
 
501
        break;
 
502
    }
 
503
  return "GameParameters::NO_QUESTING";
 
504
}
 
505
 
 
506
GameParameters::QuestPolicy Configuration::questPolicyFromString(std::string str)
 
507
{
 
508
  if (str.size() > 0 && isdigit(str.c_str()[0]))
 
509
    return GameParameters::QuestPolicy(atoi(str.c_str()));
 
510
  if (str == "GameParameters::NO_QUESTING")
 
511
    return GameParameters::NO_QUESTING;
 
512
  else if (str == "GameParameters::ONE_QUEST_PER_PLAYER")
 
513
    return GameParameters::ONE_QUEST_PER_PLAYER;
 
514
  else if (str == "GameParameters::ONE_QUEST_PER_HERO")
 
515
    return GameParameters::ONE_QUEST_PER_HERO;
 
516
    
 
517
  return GameParameters::NO_QUESTING;
 
518
}
 
519