From d9c25a161e62ffd04353fbdb10e2ffa1cfe98039 Mon Sep 17 00:00:00 2001 From: faketruth Date: Wed, 22 Feb 2012 15:35:10 +0000 Subject: Added a crude way of disabling redstone. It's necessary though, redstone is completely broken, crashes the server all the time git-svn-id: http://mc-server.googlecode.com/svn/trunk@312 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cRoot.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'source/cRoot.cpp') diff --git a/source/cRoot.cpp b/source/cRoot.cpp index db5c20bd1..4178a4569 100644 --- a/source/cRoot.cpp +++ b/source/cRoot.cpp @@ -13,6 +13,8 @@ #include "cSleep.h" #include "cThread.h" #include "cFileFormatUpdater.h" +#include "cGenSettings.h" +#include "cRedstone.h" #include "../iniFile/iniFile.h" @@ -92,6 +94,8 @@ void cRoot::Start() { m_bRestart = false; + LoadGlobalSettings(); + cFileFormatUpdater::UpdateFileFormat(); LOG("Creating new server instance..."); @@ -182,6 +186,44 @@ void cRoot::Start() +void cRoot::LoadGlobalSettings() +{ + cIniFile IniFile("settings.ini"); + if( IniFile.ReadFile() ) + { + cRedstone::s_UseRedstone = IniFile.GetValueB("Redstone", "SimulateRedstone", true ); + } + + + // I think this should be removed? I can't believe anybody is using it anyway + cIniFile GenSettings("terrain.ini"); + if( GenSettings.ReadFile() ) + { +#define READ_INI_TERRAIN_VAL( var, type ) cGenSettings::var = (type)GenSettings.GetValueF("Terrain", #var, cGenSettings::var ) + READ_INI_TERRAIN_VAL( HeightFreq1, float ); + READ_INI_TERRAIN_VAL( HeightFreq2, float ); + READ_INI_TERRAIN_VAL( HeightFreq3, float ); + READ_INI_TERRAIN_VAL( HeightAmp1, float ); + READ_INI_TERRAIN_VAL( HeightAmp2, float ); + READ_INI_TERRAIN_VAL( HeightAmp3, float ); + } + else + { +#define SET_INI_TERRAIN_VAL( var ) GenSettings.SetValueF("Terrain", #var, cGenSettings::var ) + SET_INI_TERRAIN_VAL( HeightFreq1 ); + SET_INI_TERRAIN_VAL( HeightFreq2 ); + SET_INI_TERRAIN_VAL( HeightFreq3 ); + SET_INI_TERRAIN_VAL( HeightAmp1 ); + SET_INI_TERRAIN_VAL( HeightAmp2 ); + SET_INI_TERRAIN_VAL( HeightAmp3 ); + GenSettings.WriteFile(); + } +} + + + + + void cRoot::LoadWorlds() { cIniFile IniFile("settings.ini"); IniFile.ReadFile(); -- cgit v1.2.3