1
0

Android: Made the initial pre-calculated spawn area smaller

Android: Fixed FastNBT
Android: Fixed level.dat reading/writing
GroupManager uses groups.example.ini as default
WebAdmin uses webadmin.example.ini as default

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1049 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
faketruth
2012-11-16 22:06:12 +00:00
parent b65a22fc1f
commit 8ad7747902
5 changed files with 67 additions and 46 deletions

View File

@@ -39,53 +39,59 @@ cGroupManager::cGroupManager()
{
LOG("-- Loading Groups --");
cIniFile IniFile("groups.ini");
if( IniFile.ReadFile() )
if (!IniFile.ReadFile())
{
unsigned int NumKeys = IniFile.GetNumKeys();
for( unsigned int i = 0; i < NumKeys; i++ )
LOGINFO("groups.ini inaccessible, using groups.example.ini for defaults!");
IniFile.Path("groups.example.ini");
IniFile.ReadFile();
IniFile.Path("groups.ini");
IniFile.WriteFile();
}
unsigned int NumKeys = IniFile.GetNumKeys();
for( unsigned int i = 0; i < NumKeys; i++ )
{
std::string KeyName = IniFile.GetKeyName( i );
cGroup* Group = GetGroup( KeyName.c_str() );
LOG("Loading group: %s", KeyName.c_str() );
Group->SetName( KeyName );
char Color = IniFile.GetValue( KeyName, "Color", "-" )[0];
if( Color != '-' )
Group->SetColor( cChatColor::MakeColor(Color) );
else
Group->SetColor( cChatColor::White );
std::string Commands = IniFile.GetValue( KeyName, "Commands", "" );
if( Commands.size() > 0 )
{
std::string KeyName = IniFile.GetKeyName( i );
cGroup* Group = GetGroup( KeyName.c_str() );
LOG("Loading group: %s", KeyName.c_str() );
Group->SetName( KeyName );
char Color = IniFile.GetValue( KeyName, "Color", "-" )[0];
if( Color != '-' )
Group->SetColor( cChatColor::MakeColor(Color) );
else
Group->SetColor( cChatColor::White );
std::string Commands = IniFile.GetValue( KeyName, "Commands", "" );
if( Commands.size() > 0 )
AStringVector Split = StringSplit( Commands, "," );
for( unsigned int i = 0; i < Split.size(); i++)
{
AStringVector Split = StringSplit( Commands, "," );
for( unsigned int i = 0; i < Split.size(); i++)
{
Group->AddCommand( Split[i] );
//LOG("%s", Split[i].c_str() );
}
Group->AddCommand( Split[i] );
//LOG("%s", Split[i].c_str() );
}
}
std::string Permissions = IniFile.GetValue( KeyName, "Permissions", "" );
if( Permissions.size() > 0 )
std::string Permissions = IniFile.GetValue( KeyName, "Permissions", "" );
if( Permissions.size() > 0 )
{
AStringVector Split = StringSplit( Permissions, "," );
for( unsigned int i = 0; i < Split.size(); i++)
{
AStringVector Split = StringSplit( Permissions, "," );
for( unsigned int i = 0; i < Split.size(); i++)
{
Group->AddPermission( Split[i] );
LOGINFO("Permission: %s", Split[i].c_str() );
}
Group->AddPermission( Split[i] );
LOGINFO("Permission: %s", Split[i].c_str() );
}
}
std::string Groups = IniFile.GetValue( KeyName, "Inherits", "" );
if( Groups.size() > 0 )
std::string Groups = IniFile.GetValue( KeyName, "Inherits", "" );
if( Groups.size() > 0 )
{
AStringVector Split = StringSplit( Groups, "," );
for( unsigned int i = 0; i < Split.size(); i++)
{
AStringVector Split = StringSplit( Groups, "," );
for( unsigned int i = 0; i < Split.size(); i++)
{
Group->InheritFrom( GetGroup( Split[i].c_str() ) );
}
Group->InheritFrom( GetGroup( Split[i].c_str() ) );
}
}
}