[7643] Allow set, store and output creture EventAI data version in addition to world DB and script library versions.

This commit is contained in:
VladimirMangos 2009-04-09 17:26:46 +04:00
parent 2be68b15cd
commit 34d69bbfdd
10 changed files with 37 additions and 9 deletions

View file

@ -22,7 +22,8 @@
DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`required_7633_01_mangos_achievement_criteria_data` bit(1) default NULL
`creature_ai_version` varchar(120) default NULL,
`required_7643_02_mangos_mangos_string` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@ -32,7 +33,7 @@ CREATE TABLE `db_version` (
LOCK TABLES `db_version` WRITE;
/*!40000 ALTER TABLE `db_version` DISABLE KEYS */;
INSERT INTO `db_version` VALUES
('Mangos default database.',NULL);
('Mangos default database.','Creature EventAI not provided.',NULL);
/*!40000 ALTER TABLE `db_version` ENABLE KEYS */;
UNLOCK TABLES;
@ -2463,6 +2464,7 @@ INSERT INTO `mangos_string` VALUES
(56,'Current Message of the day: \r\n%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(57,'Using World DB: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(58,'Using script library: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(59,'Using creature EventAI: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(100,'Global notify: ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(101,'Map: %u (%s) Zone: %u (%s) Area: %u (%s) Phase: %u\nX: %f Y: %f Z: %f Orientation: %f\ngrid[%u,%u]cell[%u,%u] InstanceID: %u\n ZoneX: %f ZoneY: %f\nGroundZ: %f FloorZ: %f Have height data (Map: %u VMap: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(102,'%s is already being teleported.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),

View file

@ -0,0 +1,7 @@
ALTER TABLE db_version CHANGE COLUMN required_7633_01_mangos_achievement_criteria_data required_7643_01_mangos_db_version bit;
ALTER TABLE db_version
ADD COLUMN creature_ai_version varchar(120) default NULL AFTER version;
UPDATE db_version
SET creature_ai_version = 'Mangos default creature EventAI data.';

View file

@ -0,0 +1,5 @@
ALTER TABLE db_version CHANGE COLUMN required_7643_01_mangos_db_version required_7643_02_mangos_mangos_string bit;
DELETE FROM mangos_string WHERE entry IN(59);
INSERT INTO mangos_string VALUES
(59,'Using creature EventAI: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

View file

@ -168,6 +168,8 @@ pkgdata_DATA = \
7622_03_mangos_creature_ai_texts.sql \
7627_01_mangos_achievement_criteria_data.sql \
7633_01_mangos_achievement_criteria_data.sql \
7643_01_mangos_db_version.sql \
7643_02_mangos_mangos_string.sql \
README
## Additional files to include when running 'make dist'
@ -316,4 +318,6 @@ EXTRA_DIST = \
7622_03_mangos_creature_ai_texts.sql \
7627_01_mangos_achievement_criteria_data.sql \
7633_01_mangos_achievement_criteria_data.sql \
7643_01_mangos_db_version.sql \
7643_02_mangos_mangos_string.sql \
README

View file

@ -82,7 +82,8 @@ enum MangosStrings
LANG_MOTD_CURRENT = 56,
LANG_USING_WORLD_DB = 57,
LANG_USING_SCRIPT_LIB = 58,
// Room for more level 0 59-99 not used
LANG_USING_EVENT_AI = 59,
// Room for more level 0 60-99 not used
// level 1 chat
LANG_GLOBAL_NOTIFY = 100,

View file

@ -100,6 +100,7 @@ bool ChatHandler::HandleServerInfoCommand(const char* /*args*/)
SendSysMessage(full);
PSendSysMessage(LANG_USING_SCRIPT_LIB,sWorld.GetScriptsVersion());
PSendSysMessage(LANG_USING_WORLD_DB,sWorld.GetDBVersion());
PSendSysMessage(LANG_USING_EVENT_AI,sWorld.GetCreatureEventAIVersion());
PSendSysMessage(LANG_CONNECTED_USERS, activeClientsNum, maxActiveClientsNum, queuedClientsNum, maxQueuedClientsNum);
PSendSysMessage(LANG_UPTIME, str.c_str());

View file

@ -2829,14 +2829,19 @@ void World::UpdateMaxSessionCounters()
void World::LoadDBVersion()
{
QueryResult* result = WorldDatabase.Query("SELECT version FROM db_version LIMIT 1");
QueryResult* result = WorldDatabase.Query("SELECT version, creature_ai_version FROM db_version LIMIT 1");
if(result)
{
Field* fields = result->Fetch();
m_DBVersion = fields[0].GetString();
m_DBVersion = fields[0].GetCppString();
m_CreatureEventAIVersion = fields[1].GetCppString();
delete result;
}
else
m_DBVersion = "unknown world database";
if(m_DBVersion.empty())
m_DBVersion = "Unknown world database.";
if(m_CreatureEventAIVersion.empty())
m_CreatureEventAIVersion = "Unknown creature EventAI.";
}

View file

@ -503,6 +503,7 @@ class World
//used World DB version
void LoadDBVersion();
char const* GetDBVersion() { return m_DBVersion.c_str(); }
char const* GetCreatureEventAIVersion() { return m_CreatureEventAIVersion.c_str(); }
//used Script version
void SetScriptsVersion(char const* version) { m_ScriptsVersion = version ? version : "unknown scripting library"; }
@ -571,6 +572,7 @@ class World
//used versions
std::string m_DBVersion;
std::string m_CreatureEventAIVersion;
std::string m_ScriptsVersion;
};

View file

@ -447,7 +447,8 @@ bool Master::_StartDB()
sWorld.LoadDBVersion();
sLog.outString("Using %s", sWorld.GetDBVersion());
sLog.outString("Using World DB: %s", sWorld.GetDBVersion());
sLog.outString("Using creature EventAI: %s", sWorld.GetCreatureEventAIVersion());
return true;
}

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7642"
#define REVISION_NR "7643"
#endif // __REVISION_NR_H__