1
0

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
This commit is contained in:
faketruth
2012-02-22 15:35:10 +00:00
parent 42a3cd60d4
commit d9c25a161e
6 changed files with 196 additions and 152 deletions

View File

@@ -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();