Core/CharacterDatabaseCleaner: Implement PersistentCharacterCleanFlags config value which can prevent specific cleaning flags from being disabled after a cleanup

--HG--
branch : trunk
This commit is contained in:
linencloth
2010-12-28 05:01:31 +01:00
parent 2ecb9eec8b
commit bff48d88ad
4 changed files with 14 additions and 1 deletions
@@ -55,7 +55,7 @@ void CharacterDatabaseCleaner::CleanDatabase()
if (flags & CLEANING_FLAG_QUESTSTATUS)
CleanCharacterQuestStatus();
CharacterDatabase.DirectExecute("UPDATE worldstates SET value = 0 WHERE entry = 20004");
CharacterDatabase.DirectPExecute("UPDATE worldstates SET value = value & %u WHERE entry = 20004", sWorld->getIntConfig(CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS));
sLog->outString(">> Cleaned character database in %u ms", GetMSTimeDiffToNow(oldMSTime));
sLog->outString();
+1
View File
@@ -568,6 +568,7 @@ void World::LoadConfigSettings(bool reload)
}
m_bool_configs[CONFIG_ADDON_CHANNEL] = sConfig->GetBoolDefault("AddonChannel", true);
m_bool_configs[CONFIG_CLEAN_CHARACTER_DB] = sConfig->GetBoolDefault("CleanCharacterDB", false);
m_int_configs[CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS] = sConfig->GetIntDefault("PersistentCharacterCleanFlags", 0);
m_int_configs[CONFIG_CHAT_CHANNEL_LEVEL_REQ] = sConfig->GetIntDefault("ChatLevelReq.Channel", 1);
m_int_configs[CONFIG_CHAT_WHISPER_LEVEL_REQ] = sConfig->GetIntDefault("ChatLevelReq.Whisper", 1);
m_int_configs[CONFIG_CHAT_SAY_LEVEL_REQ] = sConfig->GetIntDefault("ChatLevelReq.Say", 1);
+1
View File
@@ -308,6 +308,7 @@ enum WorldIntConfigs
CONFIG_MAX_RESULTS_LOOKUP_COMMANDS,
CONFIG_DB_PING_INTERVAL,
CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION,
CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS,
INT_CONFIG_VALUE_COUNT
};
@@ -378,6 +378,17 @@ MapUpdate.Threads = 1
CleanCharacterDB = 0
#
# PersistentCharacterCleanFlags
# Description: Determines the character clean flags that remain set after cleanups.
# This is a bitmask value, check /doc/CharacterDBCleanup.txt for more
# information.
# Example: 14 - (Cleaning up skills, talents and spells will remain enabled after the
# next cleanup)
# Default: 0 - (All cleanup methods will be disabled after the next cleanup)
PersistentCharacterCleanFlags = 0
#
###################################################################################################