From 34d69bbfdd56b94c66488ae64a007f73aeb2eff1 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Thu, 9 Apr 2009 17:26:46 +0400 Subject: [PATCH] [7643] Allow set, store and output creture EventAI data version in addition to world DB and script library versions. --- sql/mangos.sql | 6 ++++-- sql/updates/7643_01_mangos_db_version.sql | 7 +++++++ sql/updates/7643_02_mangos_mangos_string.sql | 5 +++++ sql/updates/Makefile.am | 4 ++++ src/game/Language.h | 3 ++- src/game/Level0.cpp | 1 + src/game/World.cpp | 13 +++++++++---- src/game/World.h | 2 ++ src/mangosd/Master.cpp | 3 ++- src/shared/revision_nr.h | 2 +- 10 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 sql/updates/7643_01_mangos_db_version.sql create mode 100644 sql/updates/7643_02_mangos_mangos_string.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index efb24b5df..7caf7af32 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -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), diff --git a/sql/updates/7643_01_mangos_db_version.sql b/sql/updates/7643_01_mangos_db_version.sql new file mode 100644 index 000000000..efdd0e22e --- /dev/null +++ b/sql/updates/7643_01_mangos_db_version.sql @@ -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.'; diff --git a/sql/updates/7643_02_mangos_mangos_string.sql b/sql/updates/7643_02_mangos_mangos_string.sql new file mode 100644 index 000000000..2ce9573b3 --- /dev/null +++ b/sql/updates/7643_02_mangos_mangos_string.sql @@ -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); diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 279375da2..5b8e64e96 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -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 diff --git a/src/game/Language.h b/src/game/Language.h index 4ff73e6d1..b08eff7c4 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -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, diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp index 8cea1ee30..2dd2f3533 100644 --- a/src/game/Level0.cpp +++ b/src/game/Level0.cpp @@ -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()); diff --git a/src/game/World.cpp b/src/game/World.cpp index b86301ddc..d79bc20ff 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -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."; } diff --git a/src/game/World.h b/src/game/World.h index cfd99a78d..d5425e642 100644 --- a/src/game/World.h +++ b/src/game/World.h @@ -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; }; diff --git a/src/mangosd/Master.cpp b/src/mangosd/Master.cpp index b7a4532a0..a4ef6e2ac 100644 --- a/src/mangosd/Master.cpp +++ b/src/mangosd/Master.cpp @@ -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; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index aaab9384c..c661d69c6 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7642" + #define REVISION_NR "7643" #endif // __REVISION_NR_H__