From 47b675e47c6767c03de30854e7bc7071c8a078ea Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 9 Jun 2012 15:37:34 +0000 Subject: [PATCH] More ini settings save their defaults git-svn-id: http://mc-server.googlecode.com/svn/trunk@588 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cChunkGenerator.cpp | 8 ++++---- source/cRoot.cpp | 12 +++++++----- source/cServer.cpp | 8 ++------ source/cWorld.cpp | 10 +++++----- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/source/cChunkGenerator.cpp b/source/cChunkGenerator.cpp index e3da2628c..a5bab2b7e 100644 --- a/source/cChunkGenerator.cpp +++ b/source/cChunkGenerator.cpp @@ -257,7 +257,7 @@ void cChunkGenerator::InitCompositionGen(cIniFile & a_IniFile) BlockType = "stone"; } int Block = GetIniBlock(a_IniFile, "[Generator]", "SameBlockType", "stone"); - bool Bedrocked = (a_IniFile.GetValueI("Generator", "SameBlockBedrocked", 1) != 0); + bool Bedrocked = (a_IniFile.GetValueSetI("Generator", "SameBlockBedrocked", 1) != 0); m_CompositionGen = new cCompoGenSameBlock((BLOCKTYPE)Block, Bedrocked); } else if (NoCaseCompare(CompoGenName, "debugbiomes") == 0) @@ -266,9 +266,9 @@ void cChunkGenerator::InitCompositionGen(cIniFile & a_IniFile) } else if (NoCaseCompare(CompoGenName, "classic") == 0) { - int SeaLevel = a_IniFile.GetValueI("Generator", "ClassicSeaLevel", 60); - int BeachHeight = a_IniFile.GetValueI("Generator", "ClassicBeachHeight", 2); - int BeachDepth = a_IniFile.GetValueI("Generator", "ClassicBeachDepth", 4); + int SeaLevel = a_IniFile.GetValueSetI("Generator", "ClassicSeaLevel", 60); + int BeachHeight = a_IniFile.GetValueSetI("Generator", "ClassicBeachHeight", 2); + int BeachDepth = a_IniFile.GetValueSetI("Generator", "ClassicBeachDepth", 4); BLOCKTYPE BlockTop = GetIniBlock(a_IniFile, "Generator", "ClassicBlockTop", "grass"); BLOCKTYPE BlockMiddle = GetIniBlock(a_IniFile, "Generator", "ClassicBlockMiddle", "dirt"); BLOCKTYPE BlockBottom = GetIniBlock(a_IniFile, "Generator", "ClassicBlockBottom", "stone"); diff --git a/source/cRoot.cpp b/source/cRoot.cpp index 69d854ee1..41a1a2432 100644 --- a/source/cRoot.cpp +++ b/source/cRoot.cpp @@ -103,13 +103,15 @@ void cRoot::Start() m_Server = new cServer(); LOG("Starting server..."); - cIniFile IniFile("settings.ini"); IniFile.ReadFile(); - int Port = IniFile.GetValueI("Server", "Port", 25565 ); + cIniFile IniFile("settings.ini"); + IniFile.ReadFile(); + int Port = IniFile.GetValueSetI("Server", "Port", 25565 ); if(!m_Server->InitServer( Port )) { LOG("Failed to start server, shutting down."); return; } + IniFile.WriteFile(); cIniFile WebIniFile("webadmin.ini"); if( WebIniFile.ReadFile() ) @@ -210,7 +212,7 @@ void cRoot::LoadWorlds(void) cIniFile IniFile("settings.ini"); IniFile.ReadFile(); // First get the default world - AString DefaultWorldName = IniFile.GetValue("Worlds", "DefaultWorld", "world"); + AString DefaultWorldName = IniFile.GetValueSet("Worlds", "DefaultWorld", "world"); m_pState->pDefaultWorld = new cWorld( DefaultWorldName.c_str() ); m_pState->WorldsByName[ DefaultWorldName ] = m_pState->pDefaultWorld; @@ -224,12 +226,12 @@ void cRoot::LoadWorlds(void) for (unsigned int i = 0; i < NumWorlds; i++) { - std::string ValueName = IniFile.GetValueName(KeyNum, i ); + AString ValueName = IniFile.GetValueName(KeyNum, i ); if (ValueName.compare("World") != 0) { continue; } - std::string WorldName = IniFile.GetValue(KeyNum, i ); + AString WorldName = IniFile.GetValue(KeyNum, i ); if (WorldName.empty()) { continue; diff --git a/source/cServer.cpp b/source/cServer.cpp index 1a8421bbb..8f8d28e7b 100644 --- a/source/cServer.cpp +++ b/source/cServer.cpp @@ -229,12 +229,7 @@ bool cServer::InitServer( int a_Port ) m_pState->ServerID = ServerID; } - m_ClientViewDistance = IniFile.GetValueI("Server", "DefaultViewDistance", -1); - if (m_ClientViewDistance == -1) - { - m_ClientViewDistance = cClientHandle::DEFAULT_VIEW_DISTANCE; - LOG("[Server].DefaultViewDistance not set, using a default of %d", m_ClientViewDistance); - } + m_ClientViewDistance = IniFile.GetValueSetI("Server", "DefaultViewDistance", cClientHandle::DEFAULT_VIEW_DISTANCE); if (m_ClientViewDistance < cClientHandle::MIN_VIEW_DISTANCE) { m_ClientViewDistance = cClientHandle::MIN_VIEW_DISTANCE; @@ -245,6 +240,7 @@ bool cServer::InitServer( int a_Port ) m_ClientViewDistance = cClientHandle::MAX_VIEW_DISTANCE; LOGINFO("Setting default viewdistance to the maximum of %d", m_ClientViewDistance); } + IniFile.WriteFile(); } m_NotifyWriteThread.Start(this); diff --git a/source/cWorld.cpp b/source/cWorld.cpp index 07ca7a0d1..7e24f2e4f 100644 --- a/source/cWorld.cpp +++ b/source/cWorld.cpp @@ -243,10 +243,10 @@ cWorld::cWorld( const AString & a_WorldName ) AString StorageSchema("Default"); cIniFile IniFile(m_IniFileName); - m_SpawnX = IniFile.GetValueF ("SpawnPosition", "X", m_SpawnX); - m_SpawnY = IniFile.GetValueF ("SpawnPosition", "Y", m_SpawnY); - m_SpawnZ = IniFile.GetValueF ("SpawnPosition", "Z", m_SpawnZ); - StorageSchema = IniFile.GetValue ("Storage", "Schema", StorageSchema); + m_SpawnX = IniFile.GetValueSetF("SpawnPosition", "X", m_SpawnX); + m_SpawnY = IniFile.GetValueSetF("SpawnPosition", "Y", m_SpawnY); + m_SpawnZ = IniFile.GetValueSetF("SpawnPosition", "Z", m_SpawnZ); + StorageSchema = IniFile.GetValueSet ("Storage", "Schema", StorageSchema); m_MaxCactusHeight = IniFile.GetValueSetI("Plants", "MaxCactusHeight", 3); m_MaxSugarcaneHeight = IniFile.GetValueSetI("Plants", "MaxSugarcaneHeight", 3); m_IsCropsBonemealable = IniFile.GetValueSetB("Plants", "IsCropsBonemealable", true); @@ -259,7 +259,7 @@ cWorld::cWorld( const AString & a_WorldName ) m_IsSugarcaneBonemealable = IniFile.GetValueSetB("Plants", "IsSugarcaneBonemealable", false); m_IsCactusBonemealable = IniFile.GetValueSetB("Plants", "IsCactusBonemealable", false); - m_GameMode = (eGameMode)IniFile.GetValueI("GameMode", "GameMode", m_GameMode ); + m_GameMode = (eGameMode)IniFile.GetValueSetI("GameMode", "GameMode", m_GameMode ); if (!IniFile.WriteFile()) {