diff --git a/AUTHORS b/AUTHORS
index fadd397fc..79f28f271 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,9 +1,17 @@
-SPECIAL THANKS TO THE MAIN CONTRIBUTORS OF THE MaNGOS PROJECT (LISTED BELOW)
+This file contains authorship information related to the Continued-MaNGOS Project
-Julius "h" Kivimaki
-Ryan "I'm Sabu" Cleary
-Chris "Realm of Tearrrroorr" Metzen
-Jeffrey "Tigole" Kaplan
-Rob "EnoYls" Pardo
-Michael "Lamborghini" Morhaime
-Bobby "I need a raise" Kotick
+The code of C-MaNGOS is shipped as it is without any form of warenty,
+and - except for third party libraries - licensed under the GPL 2.0,
+which you can read from the file "COPYING"
+
+* The authors are assigned to by git commit authorship information,
+ listed within the git commit messages, or if forgotten before mentioned in the github comments related to a commit.
+
+* The most recent history can be checked at https://github.com/cmangos/mangos-wotlk
+
+* The older history (from svn times) is backed up and can be checked at https://github.com/cmangos/mangos-svn
+
+* Initially the code for this project was written by Wow Daemon team.
+
+The third party libraries have their own way of addressing authorship, and the authorship of commits importing/ updating
+a third party library reflects who did the importing instead of who wrote the code within the commit.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a30019d84..031f467a2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/NEWS b/NEWS
index 7ae836a51..dcff4f5d1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
= MaNGOS -- History of visible changes =
-Copyright (C) 2005-2012 MaNGOS project
+This file is part of the Continued-MaNGOS Project
See the COPYING file for copying conditions.
diff --git a/cmake/ImportACE.cmake b/cmake/ImportACE.cmake
index 36ea74611..cba4b892a 100644
--- a/cmake/ImportACE.cmake
+++ b/cmake/ImportACE.cmake
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/cmake/ImportTBB.cmake b/cmake/ImportTBB.cmake
index 48a182e26..13d1de9f4 100644
--- a/cmake/ImportTBB.cmake
+++ b/cmake/ImportTBB.cmake
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/contrib/convertConditions/ConvertConditions.py b/contrib/convertConditions/ConvertConditions.py
index c5c423d75..4bede3e6a 100644
--- a/contrib/convertConditions/ConvertConditions.py
+++ b/contrib/convertConditions/ConvertConditions.py
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/contrib/convertConditions/README.txt b/contrib/convertConditions/README.txt
index 578cde512..4a89dec54 100644
--- a/contrib/convertConditions/README.txt
+++ b/contrib/convertConditions/README.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS
+# This file is part of the Continued-MaNGOS Project
#
This small Python script is intended to help with the convertion
diff --git a/contrib/extractor/CMakeLists.txt b/contrib/extractor/CMakeLists.txt
index f4d20994f..78f7bb3ca 100644
--- a/contrib/extractor/CMakeLists.txt
+++ b/contrib/extractor/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/extractor/loadlib/CMakeLists.txt b/contrib/extractor/loadlib/CMakeLists.txt
index 1a44edcea..6c8c068c2 100644
--- a/contrib/extractor/loadlib/CMakeLists.txt
+++ b/contrib/extractor/loadlib/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/extractor_binary/ExtractResources.sh b/contrib/extractor_binary/ExtractResources.sh
index efd131239..b93305124 100644
--- a/contrib/extractor_binary/ExtractResources.sh
+++ b/contrib/extractor_binary/ExtractResources.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/extractor_binary/MoveMapGen.sh b/contrib/extractor_binary/MoveMapGen.sh
index a1be913f3..25ea076a7 100644
--- a/contrib/extractor_binary/MoveMapGen.sh
+++ b/contrib/extractor_binary/MoveMapGen.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/extractor_binary/README.txt b/contrib/extractor_binary/README.txt
index 0f6da3d51..6da6961f6 100644
--- a/contrib/extractor_binary/README.txt
+++ b/contrib/extractor_binary/README.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/git_id/git_id.cpp b/contrib/git_id/git_id.cpp
index 06486ab76..077377b70 100644
--- a/contrib/git_id/git_id.cpp
+++ b/contrib/git_id/git_id.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -52,9 +52,10 @@
#define NUM_REMOTES 2
#define NUM_DATABASES 3
-char remotes[NUM_REMOTES][MAX_REMOTE] = {
- "git@github.com:mangos/server.git",
- "git://github.com/mangos/server.git" // used for fetch if present
+char remotes[NUM_REMOTES][MAX_REMOTE] =
+{
+ "git@github.com:cmangos/mangos-cata.git",
+ "git://github.com/cmangos/mangos-cata.git" // used for fetch if present
};
char remote_branch[MAX_REMOTE] = "master";
@@ -63,30 +64,46 @@ char rev_sql_file[MAX_PATH] = "src/shared/revision_sql.h";
char sql_update_dir[MAX_PATH] = "sql/updates";
char new_index_file[MAX_PATH] = ".git/git_id_index";
-char databases[NUM_DATABASES][MAX_DB] = {
+char databases[NUM_DATABASES][MAX_DB] =
+{
"characters",
"mangos",
"realmd"
};
-char db_version_table[NUM_DATABASES][MAX_DB] = {
+char db_version_table[NUM_DATABASES][MAX_DB] =
+{
"character_db_version",
"db_version",
"realmd_db_version",
};
-char db_sql_file[NUM_DATABASES][MAX_PATH] = {
+char db_sql_file[NUM_DATABASES][MAX_PATH] =
+{
"sql/characters.sql",
"sql/mangos.sql",
"sql/realmd.sql"
};
-char db_sql_rev_field[NUM_DATABASES][MAX_PATH] = {
+char db_sql_rev_field[NUM_DATABASES][MAX_PATH] =
+{
"REVISION_DB_CHARACTERS",
"REVISION_DB_MANGOS",
"REVISION_DB_REALMD"
};
+bool db_sql_rev_parent[NUM_DATABASES] =
+{
+ false,
+ false,
+ true
+};
+
+#define REV_PREFIX "c"
+#define REV_SCAN REV_PREFIX "%d"
+#define REV_PRINT REV_PREFIX "%04d"
+#define REV_FORMAT "[" REV_PRINT "]"
+
bool allow_replace = false;
bool local = false;
bool do_fetch = false;
@@ -97,8 +114,8 @@ bool generate_makefile = false; // not need for cmak
char origins[NUM_REMOTES][MAX_REMOTE];
int rev;
-int last_sql_rev[NUM_DATABASES] = {0,0,0};
-int last_sql_nr[NUM_DATABASES] = {0,0,0};
+int last_sql_rev[NUM_DATABASES] = {0, 0, 0};
+int last_sql_nr[NUM_DATABASES] = {0, 0, 0};
char head_message[MAX_MSG];
char path_prefix[MAX_PATH] = "";
@@ -112,18 +129,18 @@ char new_index_cmd[MAX_CMD];
std::set new_sql_updates;
-FILE *cmd_pipe;
+FILE* cmd_pipe;
bool find_path()
{
printf("+ finding path\n");
- char *ptr;
+ char* ptr;
char cur_path[MAX_PATH];
getcwd(cur_path, MAX_PATH);
size_t len = strlen(cur_path);
- strncpy(base_path, cur_path, len+1);
+ strncpy(base_path, cur_path, len + 1);
- if(cur_path[len-1] == '/' || cur_path[len-1] == '\\')
+ if (cur_path[len - 1] == '/' || cur_path[len - 1] == '\\')
{
// we're in root, don't bother
return false;
@@ -131,15 +148,15 @@ bool find_path()
// don't count the root
int count_fwd = 0, count_back = 0;
- for(ptr = cur_path-1; ptr = strchr(ptr+1, '/'); count_fwd++);
- for(ptr = cur_path-1; ptr = strchr(ptr+1, '\\'); count_back++);
+ for (ptr = cur_path - 1; ptr = strchr(ptr + 1, '/'); count_fwd++);
+ for (ptr = cur_path - 1; ptr = strchr(ptr + 1, '\\'); count_back++);
int count = std::max(count_fwd, count_back);
char path[MAX_PATH];
- for(int i = 0; i < count; i++)
+ for (int i = 0; i < count; i++)
{
snprintf(path, MAX_PATH, "%s.git", path_prefix);
- if(0 == chdir(path))
+ if (0 == chdir(path))
{
chdir(cur_path);
return true;
@@ -147,11 +164,11 @@ bool find_path()
strncat(path_prefix, "../", MAX_PATH);
ptr = strrchr(base_path, '\\');
- if(ptr) *ptr = '\0';
+ if (ptr) *ptr = '\0';
else
{
ptr = strrchr(base_path, '/');
- if(ptr) *ptr = '\0';
+ if (ptr) *ptr = '\0';
}
}
@@ -161,17 +178,17 @@ bool find_path()
bool find_origin()
{
printf("+ finding origin\n");
- if( (cmd_pipe = popen( "git remote -v", "r" )) == NULL )
+ if ((cmd_pipe = popen("git remote -v", "r")) == NULL)
return false;
bool ret = false;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
char name[256], remote[MAX_REMOTE];
sscanf(buffer, "%s %s", name, remote);
- for(int i = 0; i < NUM_REMOTES; i++)
+ for (int i = 0; i < NUM_REMOTES; i++)
{
- if(strcmp(remote, remotes[i]) == 0)
+ if (strcmp(remote, remotes[i]) == 0)
{
strncpy(origins[i], name, MAX_REMOTE);
ret = true;
@@ -195,21 +212,21 @@ bool check_fwd()
{
printf("+ checking fast forward\n");
snprintf(cmd, MAX_CMD, "git log -n 1 --pretty=\"format:%%H\" %s/%s", (origins[1][0] ? origins[1] : origins[0]), remote_branch);
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
return false;
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) return false;
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) return false;
strncpy(origin_hash, buffer, MAX_HASH);
pclose(cmd_pipe);
- if( (cmd_pipe = popen( "git log --pretty=\"format:%H\"", "r" )) == NULL )
+ if ((cmd_pipe = popen("git log --pretty=\"format:%H\"", "r")) == NULL)
return false;
bool found = false;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
buffer[strlen(buffer) - 1] = '\0';
- if(strncmp(origin_hash, buffer, MAX_BUF) == 0)
+ if (strncmp(origin_hash, buffer, MAX_BUF) == 0)
{
found = true;
break;
@@ -217,22 +234,24 @@ bool check_fwd()
}
pclose(cmd_pipe);
- if(!found)
+ if (!found)
{
// with fetch you still get the latest rev, you just rebase afterwards and push
// without it you may not get the right rev
- if(do_fetch) printf("WARNING: non-fastforward, use rebase!\n");
+ if (do_fetch) printf("WARNING: non-fastforward, use rebase!\n");
else { printf("ERROR: non-fastforward, use rebase!\n"); return false; }
}
return true;
}
-int get_rev(const char *from_msg)
+int get_rev(const char* from_msg)
{
// accept only the rev number format, not the sql update format
char nr_str[256];
- if(sscanf(from_msg, "[%[0123456789]]", nr_str) != 1) return 0;
- if(from_msg[strlen(nr_str)+1] != ']') return 0;
+ if (sscanf(from_msg, "[" REV_PREFIX "%[0123456789]]", nr_str) != 1) return 0;
+ // ("[")+(REV_PREFIX)+("]")-1
+ if (from_msg[strlen(nr_str) + strlen(REV_PREFIX) + 2 - 1] != ']') return 0;
+
return atoi(nr_str);
}
@@ -240,26 +259,26 @@ bool find_rev()
{
printf("+ finding next revision number\n");
// find the highest rev number on either of the remotes
- for(int i = 0; i < NUM_REMOTES; i++)
+ for (int i = 0; i < NUM_REMOTES; i++)
{
- if(!local && !origins[i][0]) continue;
+ if (!local && !origins[i][0]) continue;
- if(local) snprintf(cmd, MAX_CMD, "git log HEAD --pretty=\"format:%%s\"");
+ if (local) snprintf(cmd, MAX_CMD, "git log HEAD --pretty=\"format:%%s\"");
else sprintf(cmd, "git log %s/%s --pretty=\"format:%%s\"", origins[i], remote_branch);
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
continue;
int nr;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
nr = get_rev(buffer);
- if(nr >= rev)
- rev = nr+1;
+ if (nr >= rev)
+ rev = nr + 1;
}
pclose(cmd_pipe);
}
- if(rev > 0) printf("Found [%d].\n", rev);
+ if (rev > 0) printf("Found " REV_FORMAT ".\n", rev);
return rev > 0;
}
@@ -279,38 +298,40 @@ std::string generateSqlHeader()
std::ostringstream newData;
newData << "#ifndef __REVISION_SQL_H__" << std::endl;
newData << "#define __REVISION_SQL_H__" << std::endl;
- for(int i = 0; i < NUM_DATABASES; ++i)
+ for (int i = 0; i < NUM_DATABASES; ++i)
+ {
newData << " #define " << db_sql_rev_field[i] << " \"required_" << last_sql_update[i] << "\"" << std::endl;
+ }
newData << "#endif // __REVISION_SQL_H__" << std::endl;
return newData.str();
}
-void system_switch_index(const char *cmd)
+void system_switch_index(const char* cmd)
{
// do the command for the original index and then for the new index
// both need to be updated with the changes before commit
// but the new index will contains only the desired changes
// while the old may contain others
system(cmd);
- if(!use_new_index) return;
- if(putenv(new_index_cmd) != 0) return;
+ if (!use_new_index) return;
+ if (putenv(new_index_cmd) != 0) return;
system(cmd);
- if(putenv(old_index_cmd) != 0) return;
+ if (putenv(old_index_cmd) != 0) return;
}
bool write_rev_nr()
{
printf("+ writing revision_nr.h\n");
char rev_str[256];
- sprintf(rev_str, "%d", rev);
+ sprintf(rev_str, "%04d", rev);
std::string header = generateNrHeader(rev_str);
char prefixed_file[MAX_PATH];
snprintf(prefixed_file, MAX_PATH, "%s%s", path_prefix, rev_nr_file);
- if(FILE* OutputFile = fopen(prefixed_file, "wb"))
+ if (FILE* OutputFile = fopen(prefixed_file, "wb"))
{
- fprintf(OutputFile,"%s", header.c_str());
+ fprintf(OutputFile, "%s", header.c_str());
fclose(OutputFile);
// add the file to both indices, to be committed later
@@ -325,16 +346,16 @@ bool write_rev_nr()
bool write_rev_sql()
{
- if(new_sql_updates.empty()) return true;
+ if (new_sql_updates.empty()) return true;
printf("+ writing revision_sql.h\n");
std::string header = generateSqlHeader();
char prefixed_file[MAX_PATH];
snprintf(prefixed_file, MAX_PATH, "%s%s", path_prefix, rev_sql_file);
- if(FILE* OutputFile = fopen(prefixed_file, "wb"))
+ if (FILE* OutputFile = fopen(prefixed_file, "wb"))
{
- fprintf(OutputFile,"%s", header.c_str());
+ fprintf(OutputFile, "%s", header.c_str());
fclose(OutputFile);
// add the file to both indices, to be committed later
@@ -350,28 +371,28 @@ bool write_rev_sql()
bool find_head_msg()
{
printf("+ finding last message on HEAD\n");
- if( (cmd_pipe = popen( "git log -n 1 --pretty=\"format:%s%n%n%b\"", "r" )) == NULL )
+ if ((cmd_pipe = popen("git log -n 1 --pretty=\"format:%s%n%n%b\"", "r")) == NULL)
return false;
int poz = 0;
- while(poz < 16384-1 && EOF != (head_message[poz++] = fgetc(cmd_pipe)));
- head_message[poz-1] = '\0';
+ while (poz < 16384 - 1 && EOF != (head_message[poz++] = fgetc(cmd_pipe)));
+ head_message[poz - 1] = '\0';
pclose(cmd_pipe);
- if(int head_rev = get_rev(head_message))
+ if (int head_rev = get_rev(head_message))
{
- if(!allow_replace)
+ if (!allow_replace)
{
- printf("Last commit on HEAD is [%d]. Use -r to replace it with [%d].\n", head_rev, rev);
+ printf("Last commit on HEAD is " REV_FORMAT ". Use -r to replace it with " REV_FORMAT ".\n", head_rev, rev);
return false;
}
// skip the rev number in the commit
- char *p = strchr(head_message, ']'), *q = head_message;
- assert(p && *(p+1));
- p+=2;
- while(*p) *q = *p, p++, q++;
+ char* p = strchr(head_message, ']'), *q = head_message;
+ assert(p && *(p + 1));
+ p += 2;
+ while (*p) *q = *p, p++, q++;
*q = 0;
return true;
}
@@ -384,14 +405,14 @@ bool amend_commit()
printf("+ amending last commit\n");
// commit the contents of the (new) index
- if(use_new_index && putenv(new_index_cmd) != 0) return false;
+ if (use_new_index && putenv(new_index_cmd) != 0) return false;
snprintf(cmd, MAX_CMD, "git commit --amend -F-");
- if( (cmd_pipe = popen( cmd, "w" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "w")) == NULL)
return false;
- fprintf(cmd_pipe, "[%d] %s", rev, head_message);
+ fprintf(cmd_pipe, REV_FORMAT " %s", rev, head_message);
pclose(cmd_pipe);
- if(use_new_index && putenv(old_index_cmd) != 0) return false;
+ if (use_new_index && putenv(old_index_cmd) != 0) return false;
return true;
}
@@ -399,6 +420,7 @@ bool amend_commit()
struct sql_update_info
{
int rev;
+ char parentRev[MAX_BUF];
int nr;
int db_idx;
char db[MAX_BUF];
@@ -406,24 +428,24 @@ struct sql_update_info
bool has_table;
};
-bool get_sql_update_info(const char *buffer, sql_update_info &info)
+bool get_sql_update_info(const char* buffer, sql_update_info& info)
{
info.table[0] = '\0';
int dummy[3];
- if(sscanf(buffer, "%d_%d_%d", &dummy[0], &dummy[1], &dummy[2]) == 3)
+ if (sscanf(buffer, REV_SCAN "_%[^_]_%d_%d", &dummy[0], &dummy[1], &dummy[2]) == 3)
return false;
- if(sscanf(buffer, "%d_%d_%[^_]_%[^.].sql", &info.rev, &info.nr, info.db, info.table) != 4 &&
- sscanf(buffer, "%d_%d_%[^.].sql", &info.rev, &info.nr, info.db) != 3)
+ if (sscanf(buffer, REV_SCAN "_%[^_]_%d_%[^_]_%[^.].sql", &info.rev, &info.nr, info.db, info.table) != 4 &&
+ sscanf(buffer, REV_SCAN "_%[^_]_%d_%[^.].sql", &info.rev, &info.nr, info.db) != 3)
{
info.rev = 0; // this may be set by the first scans, even if they fail
- if(sscanf(buffer, "%d_%[^_]_%[^.].sql", &info.nr, info.db, info.table) != 3 &&
- sscanf(buffer, "%d_%[^.].sql", &info.nr, info.db) != 2)
+ if (sscanf(buffer, "%d_%[^_]_%[^.].sql", &info.nr, info.db, info.table) != 3 &&
+ sscanf(buffer, "%d_%[^.].sql", &info.nr, info.db) != 2)
return false;
}
- for(info.db_idx = 0; info.db_idx < NUM_DATABASES; info.db_idx++)
- if(strncmp(info.db, databases[info.db_idx], MAX_DB) == 0) break;
+ for (info.db_idx = 0; info.db_idx < NUM_DATABASES; info.db_idx++)
+ if (strncmp(info.db, databases[info.db_idx], MAX_DB) == 0) break;
info.has_table = (info.table[0] != '\0');
return true;
}
@@ -433,24 +455,24 @@ bool find_sql_updates()
printf("+ finding new sql updates on HEAD\n");
// add all updates from HEAD
snprintf(cmd, MAX_CMD, "git show HEAD:%s", sql_update_dir);
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
return false;
// skip first two lines
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
sql_update_info info;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
buffer[strlen(buffer) - 1] = '\0';
- if(!get_sql_update_info(buffer, info)) continue;
+ if (!get_sql_update_info(buffer, info)) continue;
- if(info.db_idx == NUM_DATABASES)
+ if (info.db_idx == NUM_DATABASES)
{
- if(info.rev > 0) printf("WARNING: incorrect database name for sql update %s\n", buffer);
- continue;
+ if (info.rev > 0) printf("WARNING: incorrect database name for sql update %s\n", buffer);
+ continue;
}
new_sql_updates.insert(buffer);
@@ -458,27 +480,35 @@ bool find_sql_updates()
pclose(cmd_pipe);
+ // Add last milestone's file information
+ last_sql_rev[0] = 12300;
+ last_sql_nr[0] = 2;
+ sscanf("12300_02_characters_mail", "%s", last_sql_update[0]);
+ last_sql_rev[2] = 12112;
+ last_sql_nr[2] = 1;
+ sscanf("12112_01_realmd_account_access", "%s", last_sql_update[2]);
+
// remove updates from the last commit also found on origin
snprintf(cmd, MAX_CMD, "git show %s:%s", origin_hash, sql_update_dir);
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
return false;
// skip first two lines
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
buffer[strlen(buffer) - 1] = '\0';
- if(!get_sql_update_info(buffer, info)) continue;
+ if (!get_sql_update_info(buffer, info)) continue;
// find the old update with the highest rev for each database
// (will be the required version for the new update)
std::set::iterator itr = new_sql_updates.find(buffer);
- if(itr != new_sql_updates.end() )
+ if (itr != new_sql_updates.end())
{
- if(info.rev > 0 && (info.rev > last_sql_rev[info.db_idx] ||
- (info.rev == last_sql_rev[info.db_idx] && info.nr > last_sql_nr[info.db_idx])))
+ if (info.rev > 0 && (info.rev > last_sql_rev[info.db_idx] ||
+ (info.rev == last_sql_rev[info.db_idx] && info.nr > last_sql_nr[info.db_idx])))
{
last_sql_rev[info.db_idx] = info.rev;
last_sql_nr[info.db_idx] = info.nr;
@@ -490,9 +520,9 @@ bool find_sql_updates()
pclose(cmd_pipe);
- if(!new_sql_updates.empty())
+ if (!new_sql_updates.empty())
{
- for(std::set::iterator itr = new_sql_updates.begin(); itr != new_sql_updates.end(); ++itr)
+ for (std::set::iterator itr = new_sql_updates.begin(); itr != new_sql_updates.end(); ++itr)
printf("%s\n", itr->c_str());
}
else
@@ -501,14 +531,14 @@ bool find_sql_updates()
return true;
}
-bool copy_file(const char *src_file, const char *dst_file)
+bool copy_file(const char* src_file, const char* dst_file)
{
- FILE * fin = fopen( src_file, "rb" );
- if(!fin) return false;
- FILE * fout = fopen( dst_file, "wb" );
- if(!fout) { fclose(fin); return false; }
+ FILE* fin = fopen(src_file, "rb");
+ if (!fin) return false;
+ FILE* fout = fopen(dst_file, "wb");
+ if (!fout) { fclose(fin); return false; }
- for(char c = getc(fin); !feof(fin); putc(c, fout), c = getc(fin));
+ for (char c = getc(fin); !feof(fin); putc(c, fout), c = getc(fin));
fclose(fin);
fclose(fout);
@@ -517,16 +547,16 @@ bool copy_file(const char *src_file, const char *dst_file)
bool convert_sql_updates()
{
- if(new_sql_updates.empty()) return true;
+ if (new_sql_updates.empty()) return true;
printf("+ converting sql updates\n");
// rename the sql update files and add the required update statement
- for(std::set::iterator itr = new_sql_updates.begin(); itr != new_sql_updates.end(); ++itr)
+ for (std::set::iterator itr = new_sql_updates.begin(); itr != new_sql_updates.end(); ++itr)
{
sql_update_info info;
- if(!get_sql_update_info(itr->c_str(), info)) return false;
- if(info.db_idx == NUM_DATABASES) return false;
+ if (!get_sql_update_info(itr->c_str(), info)) return false;
+ if (info.db_idx == NUM_DATABASES) return false;
// generating the new name should work for updates with or without a rev
char src_file[MAX_PATH], new_name[MAX_PATH], dst_file[MAX_PATH];
@@ -534,8 +564,8 @@ bool convert_sql_updates()
snprintf(new_name, MAX_PATH, "%d_%0*d_%s%s%s", rev, 2, info.nr, info.db, info.has_table ? "_" : "", info.table);
snprintf(dst_file, MAX_PATH, "%s%s/%s.sql", path_prefix, sql_update_dir, new_name);
- FILE * fin = fopen( src_file, "r" );
- if(!fin) return false;
+ FILE* fin = fopen(src_file, "r");
+ if (!fin) return false;
std::ostringstream out_buff;
@@ -546,12 +576,12 @@ bool convert_sql_updates()
// skip the first one or two lines from the input
// if it already contains update requirements
- if(fgets(buffer, MAX_BUF, fin))
+ if (fgets(buffer, MAX_BUF, fin))
{
char dummy[MAX_BUF];
- if(sscanf(buffer, "ALTER TABLE %s CHANGE COLUMN required_%s required_%s bit", dummy, dummy, dummy) == 3)
+ if (sscanf(buffer, "ALTER TABLE %s CHANGE COLUMN required_%s required_%s bit", dummy, dummy, dummy) == 3)
{
- if(fgets(buffer, MAX_BUF, fin) && buffer[0] != '\n')
+ if (fgets(buffer, MAX_BUF, fin) && buffer[0] != '\n')
out_buff << buffer;
}
else
@@ -559,15 +589,15 @@ bool convert_sql_updates()
}
// copy the rest of the file
- while(fgets(buffer, MAX_BUF, fin))
+ while (fgets(buffer, MAX_BUF, fin))
out_buff << buffer;
fclose(fin);
- FILE * fout = fopen( dst_file, "w" );
- if(!fout) { fclose(fin); return false; }
+ FILE* fout = fopen(dst_file, "w");
+ if (!fout) { fclose(fin); return false; }
- fprintf(fout, "%s",out_buff.str().c_str());
+ fprintf(fout, "%s", out_buff.str().c_str());
fclose(fout);
@@ -576,7 +606,7 @@ bool convert_sql_updates()
system_switch_index(cmd);
// delete src file if it different by name from dst file
- if(strncmp(src_file,dst_file,MAX_PATH))
+ if (strncmp(src_file, dst_file, MAX_PATH))
{
snprintf(cmd, MAX_CMD, "git rm --quiet %s", src_file);
system_switch_index(cmd);
@@ -591,30 +621,30 @@ bool convert_sql_updates()
bool generate_sql_makefile()
{
- if(new_sql_updates.empty()) return true;
+ if (new_sql_updates.empty()) return true;
// find all files in the update dir
snprintf(cmd, MAX_CMD, "git show HEAD:%s", sql_update_dir);
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
return false;
// skip first two lines
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
- if(!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
+ if (!fgets(buffer, MAX_BUF, cmd_pipe)) { pclose(cmd_pipe); return false; }
char newname[MAX_PATH];
std::set file_list;
sql_update_info info;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
buffer[strlen(buffer) - 1] = '\0';
- if(buffer[strlen(buffer) - 1] != '/' &&
- strncmp(buffer, "Makefile.am", MAX_BUF) != 0)
+ if (buffer[strlen(buffer) - 1] != '/' &&
+ strncmp(buffer, "Makefile.am", MAX_BUF) != 0)
{
- if(new_sql_updates.find(buffer) != new_sql_updates.end())
+ if (new_sql_updates.find(buffer) != new_sql_updates.end())
{
- if(!get_sql_update_info(buffer, info)) return false;
+ if (!get_sql_update_info(buffer, info)) return false;
snprintf(newname, MAX_PATH, "%d_%0*d_%s%s%s.sql", rev, 2, info.nr, info.db, info.has_table ? "_" : "", info.table);
file_list.insert(newname);
}
@@ -628,11 +658,11 @@ bool generate_sql_makefile()
// write the makefile
char file_name[MAX_PATH];
snprintf(file_name, MAX_PATH, "%s%s/Makefile.am", path_prefix, sql_update_dir);
- FILE *fout = fopen(file_name, "w");
- if(!fout) { pclose(cmd_pipe); return false; }
+ FILE* fout = fopen(file_name, "w");
+ if (!fout) { pclose(cmd_pipe); return false; }
fprintf(fout,
- "# Copyright (C) 2005-2012 MaNGOS \n"
+ "# This file is part of the Continued-MaNGOS Project\n"
"#\n"
"# This program is free software; you can redistribute it and/or modify\n"
"# it under the terms of the GNU General Public License as published by\n"
@@ -669,12 +699,12 @@ bool generate_sql_makefile()
}
fprintf(fout,
- "\n## Additional files to include when running 'make dist'\n"
- "# SQL update files, to upgrade database schema from older revisions\n"
- "EXTRA_DIST = \\\n"
- );
+ "\n## Additional files to include when running 'make dist'\n"
+ "# SQL update files, to upgrade database schema from older revisions\n"
+ "EXTRA_DIST = \\\n"
+ );
- for(std::set::iterator itr = file_list.begin(), next; itr != file_list.end(); ++itr)
+ for (std::set::iterator itr = file_list.begin(), next; itr != file_list.end(); ++itr)
{
next = itr; ++next;
fprintf(fout, "\t%s%s\n", itr->c_str(), next == file_list.end() ? "" : " \\");
@@ -690,14 +720,14 @@ bool generate_sql_makefile()
bool change_sql_database()
{
- if(new_sql_updates.empty()) return true;
+ if (new_sql_updates.empty()) return true;
printf("+ changing database sql files\n");
// rename the database files, copy their contents back
// and change the required update line
- for(int i = 0; i < NUM_DATABASES; i++)
+ for (int i = 0; i < NUM_DATABASES; i++)
{
- if(last_sql_update[i][0] == '\0') continue;
+ if (last_sql_update[i][0] == '\0') continue;
char old_file[MAX_PATH], tmp_file[MAX_PATH], dummy[MAX_BUF];
@@ -706,28 +736,29 @@ bool change_sql_database()
rename(old_file, tmp_file);
- FILE *fin = fopen( tmp_file, "r" );
- if(!fin) return false;
- FILE *fout = fopen( old_file, "w" );
- if(!fout) return false;
+ FILE* fin = fopen(tmp_file, "r");
+ if (!fin) return false;
+ FILE* fout = fopen(old_file, "w");
+ if (!fout) return false;
snprintf(dummy, MAX_CMD, "CREATE TABLE `%s` (\n", db_version_table[i]);
- while(fgets(buffer, MAX_BUF, fin))
+ while (fgets(buffer, MAX_BUF, fin))
{
fputs(buffer, fout);
- if(strncmp(buffer, dummy, MAX_BUF) == 0)
+ if (strncmp(buffer, dummy, MAX_BUF) == 0)
break;
}
- while(1)
+ while (1)
{
- if(!fgets(buffer, MAX_BUF, fin)) return false;
- if(sscanf(buffer, " `required_%s`", dummy) == 1) break;
+ if (!fgets(buffer, MAX_BUF, fin)) return false;
+ if (sscanf(buffer, " `required_%s`", dummy) == 1) break;
fputs(buffer, fout);
}
fprintf(fout, " `required_%s` bit(1) default NULL\n", last_sql_update[i]);
- while(fgets(buffer, MAX_BUF, fin))
+
+ while (fgets(buffer, MAX_BUF, fin))
fputs(buffer, fout);
fclose(fin);
@@ -743,26 +774,26 @@ bool change_sql_database()
bool change_sql_history()
{
snprintf(cmd, MAX_CMD, "git log HEAD --pretty=\"format:%%H\"");
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
return false;
std::list hashes;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
buffer[strlen(buffer) - 1] = '\0';
- if(strncmp(origin_hash, buffer, MAX_HASH) == 0)
+ if (strncmp(origin_hash, buffer, MAX_HASH) == 0)
break;
hashes.push_back(buffer);
}
pclose(cmd_pipe);
- if(hashes.empty()) return false; // must have at least one commit
- if(hashes.size() < 2) return true; // only one commit, ok but nothing to do
+ if (hashes.empty()) return false; // must have at least one commit
+ if (hashes.size() < 2) return true; // only one commit, ok but nothing to do
snprintf(cmd, MAX_CMD, "git reset --hard %s", origin_hash);
system(cmd);
- for(std::list::reverse_iterator next = hashes.rbegin(), itr = next++; next != hashes.rend(); ++itr, ++next)
+ for (std::list::reverse_iterator next = hashes.rbegin(), itr = next++; next != hashes.rend(); ++itr, ++next)
{
// stage the changes from the orignal commit
snprintf(cmd, MAX_CMD, "git cherry-pick -n %s", itr->c_str());
@@ -774,10 +805,10 @@ bool change_sql_history()
// remove the newly added files
snprintf(cmd, MAX_CMD, "git diff --cached --diff-filter=A --name-only %s%s", path_prefix, sql_update_dir);
- if( (cmd_pipe = popen( cmd, "r" )) == NULL )
+ if ((cmd_pipe = popen(cmd, "r")) == NULL)
return false;
- while(fgets(buffer, MAX_BUF, cmd_pipe))
+ while (fgets(buffer, MAX_BUF, cmd_pipe))
{
buffer[strlen(buffer) - 1] = '\0';
snprintf(cmd, MAX_CMD, "git rm -f --quiet %s%s", path_prefix, buffer);
@@ -800,15 +831,16 @@ bool change_sql_history()
bool prepare_new_index()
{
- if(!use_new_index) return true;
+ if (!use_new_index) return true;
// only use a new index if there are staged changes that should be preserved
- if( (cmd_pipe = popen( "git diff --cached", "r" )) == NULL ) {
+ if ((cmd_pipe = popen("git diff --cached", "r")) == NULL)
+ {
use_new_index = false;
return false;
}
- if(!fgets(buffer, MAX_BUF, cmd_pipe))
+ if (!fgets(buffer, MAX_BUF, cmd_pipe))
{
use_new_index = false;
pclose(cmd_pipe);
@@ -822,29 +854,29 @@ bool prepare_new_index()
// copy the existing index file to a new one
char src_file[MAX_PATH], dst_file[MAX_PATH];
- char *old_index = getenv("GIT_INDEX_FILE");
- if(old_index) strncpy(src_file, old_index, MAX_PATH);
+ char* old_index = getenv("GIT_INDEX_FILE");
+ if (old_index) strncpy(src_file, old_index, MAX_PATH);
else snprintf(src_file, MAX_PATH, "%s.git/index", path_prefix);
snprintf(dst_file, MAX_PATH, "%s%s", path_prefix, new_index_file);
- if(!copy_file(src_file, dst_file)) return false;
+ if (!copy_file(src_file, dst_file)) return false;
// doesn't seem to work with path_prefix
snprintf(new_index_cmd, MAX_CMD, "GIT_INDEX_FILE=%s/%s", base_path, new_index_file);
- if(putenv(new_index_cmd) != 0) return false;
+ if (putenv(new_index_cmd) != 0) return false;
// clear the new index
system("git reset -q --mixed HEAD");
// revert to old index
snprintf(old_index_cmd, MAX_CMD, "GIT_INDEX_FILE=");
- if(putenv(old_index_cmd) != 0) return false;
+ if (putenv(old_index_cmd) != 0) return false;
return true;
}
bool cleanup_new_index()
{
- if(!use_new_index) return true;
+ if (!use_new_index) return true;
printf("+ cleaning up the new index\n");
char idx_file[MAX_PATH];
snprintf(idx_file, MAX_PATH, "%s%s", path_prefix, new_index_file);
@@ -854,22 +886,22 @@ bool cleanup_new_index()
#define DO(cmd) if(!cmd) { printf("FAILED\n"); return 1; }
-int main(int argc, char *argv[])
+int main(int argc, char* argv[])
{
- for(int i = 1; i < argc; i++)
+ for (int i = 1; i < argc; i++)
{
- if(argv[i] == NULL) continue;
- if(strncmp(argv[i], "-r", 2) == 0 || strncmp(argv[i], "--replace", 9) == 0)
+ if (argv[i] == NULL) continue;
+ if (strncmp(argv[i], "-r", 2) == 0 || strncmp(argv[i], "--replace", 9) == 0)
allow_replace = true;
- else if(strncmp(argv[i], "-l", 2) == 0 || strncmp(argv[i], "--local", 7) == 0)
+ else if (strncmp(argv[i], "-l", 2) == 0 || strncmp(argv[i], "--local", 7) == 0)
local = true;
- else if(strncmp(argv[i], "-f", 2) == 0 || strncmp(argv[i], "--fetch", 7) == 0)
+ else if (strncmp(argv[i], "-f", 2) == 0 || strncmp(argv[i], "--fetch", 7) == 0)
do_fetch = true;
- else if(strncmp(argv[i], "-s", 2) == 0 || strncmp(argv[i], "--sql", 5) == 0)
+ else if (strncmp(argv[i], "-s", 2) == 0 || strncmp(argv[i], "--sql", 5) == 0)
do_sql = true;
- else if(strncmp(argv[i], "--branch=", 9) == 0)
+ else if (strncmp(argv[i], "--branch=", 9) == 0)
snprintf(remote_branch, MAX_REMOTE, "%s", argv[i] + 9);
- else if(strncmp(argv[i], "-h", 2) == 0 || strncmp(argv[i], "--help", 6) == 0)
+ else if (strncmp(argv[i], "-h", 2) == 0 || strncmp(argv[i], "--help", 6) == 0)
{
printf("Usage: git_id [OPTION]\n");
printf("Generates a new rev number and updates revision_nr.h and the commit message.\n");
@@ -893,30 +925,30 @@ int main(int argc, char *argv[])
return 1;
}
- DO( find_path() );
- if(!local)
+ DO(find_path());
+ if (!local)
{
- DO( find_origin() );
- if(do_fetch)
- DO( fetch_origin() );
- DO( check_fwd() );
+ DO(find_origin());
+ if (do_fetch)
+ DO(fetch_origin());
+ DO(check_fwd());
}
- DO( find_rev() );
- DO( find_head_msg() );
- if(do_sql)
- DO( find_sql_updates() );
- DO( prepare_new_index() );
- DO( write_rev_nr() );
- if(do_sql)
+ DO(find_rev());
+ DO(find_head_msg());
+ if (do_sql)
+ DO(find_sql_updates());
+ DO(prepare_new_index());
+ DO(write_rev_nr());
+ if (do_sql)
{
- DO( convert_sql_updates() );
+ DO(convert_sql_updates());
if (generate_makefile)
- DO( generate_sql_makefile() );
- DO( change_sql_database() );
- DO( write_rev_sql() );
+ DO(generate_sql_makefile());
+ DO(change_sql_database());
+ DO(write_rev_sql());
}
- DO( amend_commit() );
- DO( cleanup_new_index() );
+ DO(amend_commit());
+ DO(cleanup_new_index());
//if(do_sql)
// DO( change_sql_history() );
diff --git a/contrib/mmap/CMakeLists.txt b/contrib/mmap/CMakeLists.txt
index ae81e8574..6ca1ac03d 100644
--- a/contrib/mmap/CMakeLists.txt
+++ b/contrib/mmap/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/mmap/mmap_extract.py b/contrib/mmap/mmap_extract.py
index 9131e7c0a..7af33952a 100644
--- a/contrib/mmap/mmap_extract.py
+++ b/contrib/mmap/mmap_extract.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
"""
- Copyright (C) 2005-2012 MaNGOS
+ This file is part of the Continued-MaNGOS Project
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/IntermediateValues.cpp b/contrib/mmap/src/IntermediateValues.cpp
index 67e2ea7f8..822580a41 100644
--- a/contrib/mmap/src/IntermediateValues.cpp
+++ b/contrib/mmap/src/IntermediateValues.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/IntermediateValues.h b/contrib/mmap/src/IntermediateValues.h
index 33c06312e..1d22c48d3 100644
--- a/contrib/mmap/src/IntermediateValues.h
+++ b/contrib/mmap/src/IntermediateValues.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/MMapCommon.h b/contrib/mmap/src/MMapCommon.h
index 17a543f4a..217dc8586 100644
--- a/contrib/mmap/src/MMapCommon.h
+++ b/contrib/mmap/src/MMapCommon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/MangosMap.h b/contrib/mmap/src/MangosMap.h
index 598bebcc4..b3447bb5f 100644
--- a/contrib/mmap/src/MangosMap.h
+++ b/contrib/mmap/src/MangosMap.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/MapBuilder.cpp b/contrib/mmap/src/MapBuilder.cpp
index 3b2660426..fa34367de 100644
--- a/contrib/mmap/src/MapBuilder.cpp
+++ b/contrib/mmap/src/MapBuilder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/MapBuilder.h b/contrib/mmap/src/MapBuilder.h
index 542fed7d8..fb8561e65 100644
--- a/contrib/mmap/src/MapBuilder.h
+++ b/contrib/mmap/src/MapBuilder.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/TerrainBuilder.cpp b/contrib/mmap/src/TerrainBuilder.cpp
index 82d21c4aa..41b1ed749 100644
--- a/contrib/mmap/src/TerrainBuilder.cpp
+++ b/contrib/mmap/src/TerrainBuilder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/TerrainBuilder.h b/contrib/mmap/src/TerrainBuilder.h
index d33c3aed8..632cb8ba0 100644
--- a/contrib/mmap/src/TerrainBuilder.h
+++ b/contrib/mmap/src/TerrainBuilder.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/VMapExtensions.cpp b/contrib/mmap/src/VMapExtensions.cpp
index 936cea115..2874dee05 100644
--- a/contrib/mmap/src/VMapExtensions.cpp
+++ b/contrib/mmap/src/VMapExtensions.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mmap/src/generator.cpp b/contrib/mmap/src/generator.cpp
index 28d7a964a..4ad055810 100644
--- a/contrib/mmap/src/generator.cpp
+++ b/contrib/mmap/src/generator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mysql_to_pgsql/src/defines.h b/contrib/mysql_to_pgsql/src/defines.h
index d12cd6090..b9de336f3 100644
--- a/contrib/mysql_to_pgsql/src/defines.h
+++ b/contrib/mysql_to_pgsql/src/defines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/mysql_to_pgsql/src/main.cpp b/contrib/mysql_to_pgsql/src/main.cpp
index 8451a8bb2..82e155cdc 100644
--- a/contrib/mysql_to_pgsql/src/main.cpp
+++ b/contrib/mysql_to_pgsql/src/main.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/soap/example.php b/contrib/soap/example.php
index 47fcb03cd..8d0c0f84f 100644
--- a/contrib/soap/example.php
+++ b/contrib/soap/example.php
@@ -1,6 +1,6 @@
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/vmap_assembler/CMakeLists.txt b/contrib/vmap_assembler/CMakeLists.txt
index 70b8b282f..616b4a74a 100644
--- a/contrib/vmap_assembler/CMakeLists.txt
+++ b/contrib/vmap_assembler/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/vmap_assembler/vmap_assembler.cpp b/contrib/vmap_assembler/vmap_assembler.cpp
index d31a8f6cb..233919a01 100644
--- a/contrib/vmap_assembler/vmap_assembler.cpp
+++ b/contrib/vmap_assembler/vmap_assembler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/vmap_extractor_v4/.gitignore b/contrib/vmap_extractor/.gitignore
similarity index 100%
rename from contrib/vmap_extractor_v4/.gitignore
rename to contrib/vmap_extractor/.gitignore
diff --git a/contrib/vmap_extractor_v4/CMakeLists.txt b/contrib/vmap_extractor/CMakeLists.txt
similarity index 92%
rename from contrib/vmap_extractor_v4/CMakeLists.txt
rename to contrib/vmap_extractor/CMakeLists.txt
index a7c085c43..744778083 100644
--- a/contrib/vmap_extractor_v4/CMakeLists.txt
+++ b/contrib/vmap_extractor/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/contrib/vmap_extractor_v4/README b/contrib/vmap_extractor/README
similarity index 100%
rename from contrib/vmap_extractor_v4/README
rename to contrib/vmap_extractor/README
diff --git a/contrib/vmap_extractor_v4/vmapextract/CMakeLists.txt b/contrib/vmap_extractor/vmapextract/CMakeLists.txt
similarity index 75%
rename from contrib/vmap_extractor_v4/vmapextract/CMakeLists.txt
rename to contrib/vmap_extractor/vmapextract/CMakeLists.txt
index 9217b79da..259deb71d 100644
--- a/contrib/vmap_extractor_v4/vmapextract/CMakeLists.txt
+++ b/contrib/vmap_extractor/vmapextract/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -12,5 +12,5 @@ cmake_minimum_required (VERSION 2.6)
project (MANGOS_IOMAP_EXTRACTOR)
LINK_DIRECTORIES( ${LINK_DIRECTORIES} ../../../dep/libmpq/libmpq/.libs/ )
-add_executable(vmapextractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp)
+add_executable(vmapextractor adtfile.cpp dbcfile.cpp gameobject_extract.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp)
target_link_libraries(vmapextractor libmpq.a bz2 z)
diff --git a/contrib/vmap_extractor_v4/vmapextract/adtfile.cpp b/contrib/vmap_extractor/vmapextract/adtfile.cpp
similarity index 57%
rename from contrib/vmap_extractor_v4/vmapextract/adtfile.cpp
rename to contrib/vmap_extractor/vmapextract/adtfile.cpp
index 62ed47416..81433a520 100644
--- a/contrib/vmap_extractor_v4/vmapextract/adtfile.cpp
+++ b/contrib/vmap_extractor/vmapextract/adtfile.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,54 +28,55 @@
#define snprintf _snprintf
#endif
-const char * GetPlainName(const char * FileName)
+const char* GetPlainName(const char* FileName)
{
- const char * szTemp;
+ const char* szTemp;
- if((szTemp = strrchr(FileName, '\\')) != NULL)
+ if ((szTemp = strrchr(FileName, '\\')) != NULL)
FileName = szTemp + 1;
return FileName;
}
-char * GetPlainName(char * FileName)
+char* GetPlainName(char* FileName)
{
- char * szTemp;
+ char* szTemp;
- if((szTemp = strrchr(FileName, '\\')) != NULL)
+ if ((szTemp = strrchr(FileName, '\\')) != NULL)
FileName = szTemp + 1;
return FileName;
}
-void fixnamen(char *name, size_t len)
+void fixnamen(char* name, size_t len)
{
- for (size_t i=0; i0 && name[i]>='A' && name[i]<='Z' && isalpha(name[i-1]))
+ if (i > 0 && name[i] >= 'A' && name[i] <= 'Z' && isalpha(name[i - 1]))
{
name[i] |= 0x20;
- } else if ((i==0 || !isalpha(name[i-1])) && name[i]>='a' && name[i]<='z')
+ }
+ else if ((i == 0 || !isalpha(name[i - 1])) && name[i] >= 'a' && name[i] <= 'z')
{
name[i] &= ~0x20;
}
}
//extension in lowercase
- for(size_t i=len-3; i
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,6 +21,7 @@
#include "mpqfile.h"
#include "wmo.h"
+#include "vmapexport.h"
#include "model.h"
#define TILESIZE (533.33333f)
@@ -34,7 +35,7 @@ typedef struct
float x;
float y;
float z;
-}svec;
+} svec;
struct vec
{
@@ -50,9 +51,9 @@ struct triangle
typedef struct
{
- float v9[16*8+1][16*8+1];
- float v8[16*8][16*8];
-}Cell;
+ float v9[16 * 8 + 1][16 * 8 + 1];
+ float v8[16 * 8][16 * 8];
+} Cell;
typedef struct
{
@@ -62,12 +63,12 @@ typedef struct
//Liquid *lq;
float waterlevel[9][9];
uint8 flag;
-}chunk;
+} chunk;
typedef struct
{
chunk ch[16][16];
-}mcell;
+} mcell;
struct MapChunkHeader
{
@@ -109,35 +110,35 @@ struct MapChunkHeader
class ADTFile
{
-public:
- ADTFile(char* filename);
- ~ADTFile();
- int nWMO;
- int nMDX;
- string* WmoInstansName;
- string* ModelInstansName;
- bool init(uint32 map_num, uint32 tileX, uint32 tileY);
- //void LoadMapChunks();
+ public:
+ ADTFile(char* filename);
+ ~ADTFile();
+ int nWMO;
+ int nMDX;
+ string* WmoInstansName;
+ string* ModelInstansName;
+ bool init(uint32 map_num, uint32 tileX, uint32 tileY, StringSet& failedPaths);
+ //void LoadMapChunks();
- //uint32 wmo_count;
-/*
- const mcell& Getmcell() const
- {
- return Mcell;
- }
-*/
-private:
- //size_t mcnk_offsets[256], mcnk_sizes[256];
- MPQFile ADT;
- //mcell Mcell;
- string Adtfilename;
+ //uint32 wmo_count;
+ /*
+ const mcell& Getmcell() const
+ {
+ return Mcell;
+ }
+ */
+ private:
+ //size_t mcnk_offsets[256], mcnk_sizes[256];
+ MPQFile ADT;
+ //mcell Mcell;
+ string Adtfilename;
};
-const char * GetPlainName(const char * FileName);
-char * GetPlainName(char * FileName);
-char * GetExtension(char * FileName);
-void fixnamen(char *name, size_t len);
-void fixname2(char *name, size_t len);
+const char* GetPlainName(const char* FileName);
+char* GetPlainName(char* FileName);
+char* GetExtension(char* FileName);
+void fixnamen(char* name, size_t len);
+void fixname2(char* name, size_t len);
//void fixMapNamen(char *name, size_t len);
#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/dbcfile.cpp b/contrib/vmap_extractor/vmapextract/dbcfile.cpp
similarity index 93%
rename from contrib/vmap_extractor_v4/vmapextract/dbcfile.cpp
rename to contrib/vmap_extractor/vmapextract/dbcfile.cpp
index 1a0dacfd9..7410b19dc 100644
--- a/contrib/vmap_extractor_v4/vmapextract/dbcfile.cpp
+++ b/contrib/vmap_extractor/vmapextract/dbcfile.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -69,7 +69,7 @@ bool DBCFile::open()
return false;
_data = new unsigned char[_recordSize * _recordCount + _stringSize];
- _stringTable = _data + _recordSize*_recordCount;
+ _stringTable = _data + _recordSize * _recordCount;
size_t data_size = _recordSize * _recordCount + _stringSize;
readBytes = 0;
@@ -90,7 +90,7 @@ DBCFile::~DBCFile()
DBCFile::Record DBCFile::getRecord(size_t id)
{
assert(_data);
- return Record(*this, _data + id*_recordSize);
+ return Record(*this, _data + id * _recordSize);
}
size_t DBCFile::getMaxId()
@@ -98,7 +98,7 @@ size_t DBCFile::getMaxId()
assert(_data);
size_t maxId = 0;
- for(size_t i = 0; i < getRecordCount(); ++i)
+ for (size_t i = 0; i < getRecordCount(); ++i)
if (maxId < getRecord(i).getUInt(0))
maxId = getRecord(i).getUInt(0);
diff --git a/contrib/vmap_extractor_v4/vmapextract/dbcfile.h b/contrib/vmap_extractor/vmapextract/dbcfile.h
similarity index 79%
rename from contrib/vmap_extractor_v4/vmapextract/dbcfile.h
rename to contrib/vmap_extractor/vmapextract/dbcfile.h
index 6dff95c01..a518c1137 100644
--- a/contrib/vmap_extractor_v4/vmapextract/dbcfile.h
+++ b/contrib/vmap_extractor/vmapextract/dbcfile.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -35,17 +35,17 @@ class DBCFile
class Exception
{
public:
- Exception(const std::string &message) : message(message) { }
+ Exception(const std::string& message) : message(message) { }
virtual ~Exception() { }
- const std::string &getMessage() { return message; }
+ const std::string& getMessage() { return message; }
private:
std::string message;
};
class NotFound: public Exception
{
- public:
- NotFound(): Exception("Key was not found") { }
+ public:
+ NotFound(): Exception("Key was not found") { }
};
// Iteration over database
@@ -56,22 +56,22 @@ class DBCFile
float getFloat(size_t field) const
{
assert(field < file._fieldCount);
- return *reinterpret_cast(offset+field*4);
+ return *reinterpret_cast(offset + field * 4);
}
unsigned int getUInt(size_t field) const
{
assert(field < file._fieldCount);
- return *reinterpret_cast(offset+field*4);
+ return *reinterpret_cast(offset + field * 4);
}
int getInt(size_t field) const
{
assert(field < file._fieldCount);
- return *reinterpret_cast(offset+field*4);
+ return *reinterpret_cast(offset + field * 4);
}
- const char *getString(size_t field) const
+ const char* getString(size_t field) const
{
assert(field < file._fieldCount);
size_t stringOffset = getUInt(field);
@@ -80,9 +80,9 @@ class DBCFile
}
private:
- Record(DBCFile &file, unsigned char *offset): file(file), offset(offset) {}
- unsigned char *offset;
- DBCFile &file;
+ Record(DBCFile& file, unsigned char* offset): file(file), offset(offset) {}
+ unsigned char* offset;
+ DBCFile& file;
friend class DBCFile;
friend class DBCFile::Iterator;
@@ -92,26 +92,26 @@ class DBCFile
class Iterator
{
public:
- Iterator(DBCFile &file, unsigned char *offset) : record(file, offset) { }
+ Iterator(DBCFile& file, unsigned char* offset) : record(file, offset) { }
/// Advance (prefix only)
- Iterator & operator++()
+ Iterator& operator++()
{
record.offset += record.file._recordSize;
return *this;
}
/// Return address of current instance
- Record const & operator*() const { return record; }
+ Record const& operator*() const { return record; }
const Record* operator->() const { return &record; }
/// Comparison
- bool operator==(const Iterator &b) const
+ bool operator==(const Iterator& b) const
{
return record.offset == b.record.offset;
}
- bool operator!=(const Iterator &b) const
+ bool operator!=(const Iterator& b) const
{
return record.offset != b.record.offset;
}
@@ -138,7 +138,7 @@ class DBCFile
size_t _recordCount;
size_t _fieldCount;
size_t _stringSize;
- unsigned char *_data;
+ unsigned char* _data;
unsigned char* _stringTable;
};
diff --git a/contrib/vmap_extractor/vmapextract/gameobject_extract.cpp b/contrib/vmap_extractor/vmapextract/gameobject_extract.cpp
new file mode 100644
index 000000000..cf1f244f3
--- /dev/null
+++ b/contrib/vmap_extractor/vmapextract/gameobject_extract.cpp
@@ -0,0 +1,111 @@
+#include "model.h"
+#include "dbcfile.h"
+#include "adtfile.h"
+#include "vmapexport.h"
+
+#include
+#include
+
+bool ExtractSingleModel(std::string& fname, StringSet& failedPaths)
+{
+ char* name = GetPlainName((char*)fname.c_str());
+ char* ext = GetExtension(name);
+
+ // < 3.1.0 ADT MMDX section store filename.mdx filenames for corresponded .m2 file
+ if (!strcmp(ext, ".mdx"))
+ {
+ // replace .mdx -> .m2
+ fname.erase(fname.length() - 2, 2);
+ fname.append("2");
+ }
+ // >= 3.1.0 ADT MMDX section store filename.m2 filenames for corresponded .m2 file
+ // nothing do
+
+ std::string output(szWorkDirWmo);
+ output += "/";
+ output += name;
+
+ if (FileExists(output.c_str()))
+ return true;
+
+ Model mdl(fname);
+ if (!mdl.open(failedPaths))
+ return false;
+
+ return mdl.ConvertToVMAPModel(output.c_str());
+}
+
+extern HANDLE LocaleMpq;
+
+void ExtractGameobjectModels()
+{
+ printf("\n");
+ printf("Extracting GameObject models...\n");
+ DBCFile dbc(LocaleMpq, "DBFilesClient\\GameObjectDisplayInfo.dbc");
+ if (!dbc.open())
+ {
+ printf("Fatal error: Invalid GameObjectDisplayInfo.dbc file format!\n");
+ exit(1);
+ }
+
+ std::string basepath = szWorkDirWmo;
+ basepath += "/";
+ std::string path;
+ StringSet failedPaths;
+
+ FILE* model_list = fopen((basepath + "temp_gameobject_models").c_str(), "wb");
+
+ for (DBCFile::Iterator it = dbc.begin(); it != dbc.end(); ++it)
+ {
+ path = it->getString(1);
+
+ if (path.length() < 4)
+ continue;
+
+ fixnamen((char*)path.c_str(), path.size());
+ char* name = GetPlainName((char*)path.c_str());
+ fixname2(name, strlen(name));
+
+ char* ch_ext = GetExtension(name);
+ if (!ch_ext)
+ continue;
+
+ strToLower(ch_ext);
+
+ bool result = false;
+ if (!strcmp(ch_ext, ".wmo"))
+ {
+ result = ExtractSingleWmo(path);
+ }
+ else if (!strcmp(ch_ext, ".mdl"))
+ {
+ // TODO: extract .mdl files, if needed
+ continue;
+ }
+ else //if (!strcmp(ch_ext, ".mdx") || !strcmp(ch_ext, ".m2"))
+ {
+ result = ExtractSingleModel(path, failedPaths);
+ }
+
+ if (result)
+ {
+ uint32 displayId = it->getUInt(0);
+ uint32 path_length = strlen(name);
+ fwrite(&displayId, sizeof(uint32), 1, model_list);
+ fwrite(&path_length, sizeof(uint32), 1, model_list);
+ fwrite(name, sizeof(char), path_length, model_list);
+ }
+ }
+
+ fclose(model_list);
+
+ if (!failedPaths.empty())
+ {
+ printf("Warning: Some models could not be extracted, see below\n");
+ for (StringSet::const_iterator itr = failedPaths.begin(); itr != failedPaths.end(); ++itr)
+ printf("Could not find file of model %s\n", itr->c_str());
+ printf("A few of these warnings are expected to happen, so be not alarmed!\n");
+ }
+
+ printf("Done!\n");
+}
diff --git a/contrib/vmap_extractor_v4/vmapextract/loadlib/loadlib.h b/contrib/vmap_extractor/vmapextract/loadlib/loadlib.h
similarity index 78%
rename from contrib/vmap_extractor_v4/vmapextract/loadlib/loadlib.h
rename to contrib/vmap_extractor/vmapextract/loadlib/loadlib.h
index 31fa7a476..e1f6528cb 100644
--- a/contrib/vmap_extractor_v4/vmapextract/loadlib/loadlib.h
+++ b/contrib/vmap_extractor/vmapextract/loadlib/loadlib.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -52,7 +52,8 @@ typedef uint8_t uint8;
//
struct file_MVER
{
- union{
+ union
+ {
uint32 fcc;
char fcc_txt[4];
};
@@ -60,18 +61,19 @@ struct file_MVER
uint32 ver;
};
-class FileLoader{
- uint8 *data;
- uint32 data_size;
-public:
- virtual bool prepareLoadedData();
- uint8 *GetData() {return data;}
- uint32 GetDataSize() {return data_size;}
+class FileLoader
+{
+ uint8* data;
+ uint32 data_size;
+ public:
+ virtual bool prepareLoadedData();
+ uint8* GetData() {return data;}
+ uint32 GetDataSize() {return data_size;}
- file_MVER *version;
- FileLoader();
- ~FileLoader();
- bool loadFile(char *filename, bool log = true);
- virtual void free();
+ file_MVER* version;
+ FileLoader();
+ ~FileLoader();
+ bool loadFile(char* filename, bool log = true);
+ virtual void free();
};
#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/model.cpp b/contrib/vmap_extractor/vmapextract/model.cpp
similarity index 70%
rename from contrib/vmap_extractor_v4/vmapextract/model.cpp
rename to contrib/vmap_extractor/vmapextract/model.cpp
index 6dbdb72d3..74b825991 100644
--- a/contrib/vmap_extractor_v4/vmapextract/model.cpp
+++ b/contrib/vmap_extractor/vmapextract/model.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,11 +28,11 @@
extern HANDLE WorldMpq;
-Model::Model(std::string &filename) : filename(filename), vertices(0), indices(0)
+Model::Model(std::string& filename) : filename(filename), vertices(0), indices(0)
{
}
-bool Model::open()
+bool Model::open(StringSet& failedPaths)
{
MPQFile f(WorldMpq, filename.c_str());
@@ -41,28 +41,27 @@ bool Model::open()
if (!ok)
{
f.close();
- // Do not show this error on console to avoid confusion, the extractor can continue working even if some models fail to load
- //printf("Error loading model %s\n", filename.c_str());
+ failedPaths.insert(filename);
return false;
}
_unload();
memcpy(&header, f.getBuffer(), sizeof(ModelHeader));
- if(header.nBoundingTriangles > 0)
+ if (header.nBoundingTriangles > 0)
{
f.seek(0);
f.seekRelative(header.ofsBoundingVertices);
vertices = new Vec3D[header.nBoundingVertices];
- f.read(vertices,header.nBoundingVertices*12);
- for (uint32 i=0; i0)
+ if (nIndexes > 0)
{
fwrite(indices, sizeof(unsigned short), nIndexes, output);
}
- fwrite("VERT",4, 1, output);
+ fwrite("VERT", 4, 1, output);
wsize = sizeof(int) + sizeof(float) * 3 * nVertices;
fwrite(&wsize, sizeof(int), 1, output);
fwrite(&nVertices, sizeof(int), 1, output);
- if(nVertices >0)
+ if (nVertices > 0)
{
- for(uint32 vpos=0; vpos
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,8 +23,8 @@
//#include "mpq.h"
#include "modelheaders.h"
#include
+#include "vmapexport.h"
-class Model;
class WMOInstance;
class MPQFile;
@@ -32,46 +32,45 @@ Vec3D fixCoordSystem(Vec3D v);
class Model
{
-public:
- ModelHeader header;
- uint32 offsBB_vertices, offsBB_indices;
- Vec3D *BB_vertices, *vertices;
- uint16 *BB_indices, *indices;
- size_t nIndices;
+ public:
+ ModelHeader header;
+ uint32 offsBB_vertices, offsBB_indices;
+ Vec3D* BB_vertices, *vertices;
+ uint16* BB_indices, *indices;
+ size_t nIndices;
- bool open();
- bool ConvertToVMAPModel(const char * outfilename);
+ bool open(StringSet& failedPaths);
+ bool ConvertToVMAPModel(const char* outfilename);
- bool ok;
+ bool ok;
- Model(std::string &filename);
- ~Model() {_unload();}
+ Model(std::string& filename);
+ ~Model() {_unload();}
-private:
- void _unload()
- {
- delete[] vertices;
- delete[] indices;
- vertices = NULL;
- indices = NULL;
- }
- std::string filename;
- char outfilename;
+ private:
+ void _unload()
+ {
+ delete[] vertices;
+ delete[] indices;
+ vertices = NULL;
+ indices = NULL;
+ }
+ std::string filename;
+ char outfilename;
};
class ModelInstance
{
-public:
- Model *model;
+ public:
+ Model* model;
- uint32 id;
- Vec3D pos, rot;
- unsigned int d1, scale;
- float w,sc;
-
- ModelInstance() {}
- ModelInstance(MPQFile &f,const char* ModelInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE *pDirfile);
+ uint32 id;
+ Vec3D pos, rot;
+ unsigned int d1, scale;
+ float w, sc;
+ ModelInstance() {}
+ ModelInstance(MPQFile& f, const char* ModelInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE* pDirfile);
};
#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/modelheaders.h b/contrib/vmap_extractor/vmapextract/modelheaders.h
similarity index 97%
rename from contrib/vmap_extractor_v4/vmapextract/modelheaders.h
rename to contrib/vmap_extractor/vmapextract/modelheaders.h
index 101870614..ac6b0f675 100644
--- a/contrib/vmap_extractor_v4/vmapextract/modelheaders.h
+++ b/contrib/vmap_extractor/vmapextract/modelheaders.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/contrib/vmap_extractor_v4/vmapextract/mpqfile.cpp b/contrib/vmap_extractor/vmapextract/mpqfile.cpp
similarity index 98%
rename from contrib/vmap_extractor_v4/vmapextract/mpqfile.cpp
rename to contrib/vmap_extractor/vmapextract/mpqfile.cpp
index 96ca27087..3773ad014 100644
--- a/contrib/vmap_extractor_v4/vmapextract/mpqfile.cpp
+++ b/contrib/vmap_extractor/vmapextract/mpqfile.cpp
@@ -54,7 +54,8 @@ size_t MPQFile::read(void* dest, size_t bytes)
if (eof) return 0;
size_t rpos = pointer + bytes;
- if (rpos > size) {
+ if (rpos > size)
+ {
bytes = size - pointer;
eof = true;
}
diff --git a/contrib/vmap_extractor_v4/vmapextract/mpqfile.h b/contrib/vmap_extractor/vmapextract/mpqfile.h
similarity index 56%
rename from contrib/vmap_extractor_v4/vmapextract/mpqfile.h
rename to contrib/vmap_extractor/vmapextract/mpqfile.h
index 3798aa3dc..0e5a098da 100644
--- a/contrib/vmap_extractor_v4/vmapextract/mpqfile.h
+++ b/contrib/vmap_extractor/vmapextract/mpqfile.h
@@ -44,38 +44,38 @@ using namespace std;
class MPQFile
{
- //MPQHANDLE handle;
- bool eof;
- char *buffer;
- size_t pointer,size;
+ //MPQHANDLE handle;
+ bool eof;
+ char* buffer;
+ size_t pointer, size;
- // disable copying
- MPQFile(const MPQFile &f);
- void operator=(const MPQFile &f);
+ // disable copying
+ MPQFile(const MPQFile& f);
+ void operator=(const MPQFile& f);
-public:
- MPQFile(HANDLE mpq, const char* filename); // filenames are not case sensitive
- ~MPQFile() { close(); }
- size_t read(void* dest, size_t bytes);
- size_t getSize() { return size; }
- size_t getPos() { return pointer; }
- char* getBuffer() { return buffer; }
- char* getPointer() { return buffer + pointer; }
- bool isEof() { return eof; }
- void seek(int offset);
- void seekRelative(int offset);
- void close();
+ public:
+ MPQFile(HANDLE mpq, const char* filename); // filenames are not case sensitive
+ ~MPQFile() { close(); }
+ size_t read(void* dest, size_t bytes);
+ size_t getSize() { return size; }
+ size_t getPos() { return pointer; }
+ char* getBuffer() { return buffer; }
+ char* getPointer() { return buffer + pointer; }
+ bool isEof() { return eof; }
+ void seek(int offset);
+ void seekRelative(int offset);
+ void close();
};
-inline void flipcc(char *fcc)
+inline void flipcc(char* fcc)
{
char t;
- t=fcc[0];
- fcc[0]=fcc[3];
- fcc[3]=t;
- t=fcc[1];
- fcc[1]=fcc[2];
- fcc[2]=t;
+ t = fcc[0];
+ fcc[0] = fcc[3];
+ fcc[3] = t;
+ t = fcc[1];
+ fcc[1] = fcc[2];
+ fcc[2] = t;
}
#endif
diff --git a/contrib/vmap_extractor/vmapextract/vec3d.h b/contrib/vmap_extractor/vmapextract/vec3d.h
new file mode 100644
index 000000000..be5396125
--- /dev/null
+++ b/contrib/vmap_extractor/vmapextract/vec3d.h
@@ -0,0 +1,232 @@
+#ifndef VEC3D_H
+#define VEC3D_H
+
+#include
+#include
+
+class Vec3D
+{
+ public:
+ float x, y, z;
+
+ Vec3D(float x0 = 0.0f, float y0 = 0.0f, float z0 = 0.0f) : x(x0), y(y0), z(z0) {}
+
+ Vec3D(const Vec3D& v) : x(v.x), y(v.y), z(v.z) {}
+
+ Vec3D& operator= (const Vec3D& v)
+ {
+ x = v.x;
+ y = v.y;
+ z = v.z;
+ return *this;
+ }
+
+ Vec3D operator+ (const Vec3D& v) const
+ {
+ Vec3D r(x + v.x, y + v.y, z + v.z);
+ return r;
+ }
+
+ Vec3D operator- (const Vec3D& v) const
+ {
+ Vec3D r(x - v.x, y - v.y, z - v.z);
+ return r;
+ }
+
+ float operator* (const Vec3D& v) const
+ {
+ return x * v.x + y * v.y + z * v.z;
+ }
+
+ Vec3D operator* (float d) const
+ {
+ Vec3D r(x * d, y * d, z * d);
+ return r;
+ }
+
+ friend Vec3D operator* (float d, const Vec3D& v)
+ {
+ return v * d;
+ }
+
+ Vec3D operator% (const Vec3D& v) const
+ {
+ Vec3D r(y * v.z - z * v.y, z * v.x - x * v.z, x * v.y - y * v.x);
+ return r;
+ }
+
+ Vec3D& operator+= (const Vec3D& v)
+ {
+ x += v.x;
+ y += v.y;
+ z += v.z;
+ return *this;
+ }
+
+ Vec3D& operator-= (const Vec3D& v)
+ {
+ x -= v.x;
+ y -= v.y;
+ z -= v.z;
+ return *this;
+ }
+
+ Vec3D& operator*= (float d)
+ {
+ x *= d;
+ y *= d;
+ z *= d;
+ return *this;
+ }
+
+ float lengthSquared() const
+ {
+ return x * x + y * y + z * z;
+ }
+
+ float length() const
+ {
+ return sqrt(x * x + y * y + z * z);
+ }
+
+ Vec3D& normalize()
+ {
+ this->operator*= (1.0f / length());
+ return *this;
+ }
+
+ Vec3D operator~() const
+ {
+ Vec3D r(*this);
+ r.normalize();
+ return r;
+ }
+
+ friend std::istream& operator>>(std::istream& in, Vec3D& v)
+ {
+ in >> v.x >> v.y >> v.z;
+ return in;
+ }
+
+ friend std::ostream& operator<<(std::ostream& out, const Vec3D& v)
+ {
+ out << v.x << " " << v.y << " " << v.z;
+ return out;
+ }
+
+ operator float* ()
+ {
+ return (float*)this;
+ }
+};
+
+
+class Vec2D
+{
+ public:
+ float x, y;
+
+ Vec2D(float x0 = 0.0f, float y0 = 0.0f) : x(x0), y(y0) {}
+
+ Vec2D(const Vec2D& v) : x(v.x), y(v.y) {}
+
+ Vec2D& operator= (const Vec2D& v)
+ {
+ x = v.x;
+ y = v.y;
+ return *this;
+ }
+
+ Vec2D operator+ (const Vec2D& v) const
+ {
+ Vec2D r(x + v.x, y + v.y);
+ return r;
+ }
+
+ Vec2D operator- (const Vec2D& v) const
+ {
+ Vec2D r(x - v.x, y - v.y);
+ return r;
+ }
+
+ float operator* (const Vec2D& v) const
+ {
+ return x * v.x + y * v.y;
+ }
+
+ Vec2D operator* (float d) const
+ {
+ Vec2D r(x * d, y * d);
+ return r;
+ }
+
+ friend Vec2D operator* (float d, const Vec2D& v)
+ {
+ return v * d;
+ }
+
+ Vec2D& operator+= (const Vec2D& v)
+ {
+ x += v.x;
+ y += v.y;
+ return *this;
+ }
+
+ Vec2D& operator-= (const Vec2D& v)
+ {
+ x -= v.x;
+ y -= v.y;
+ return *this;
+ }
+
+ Vec2D& operator*= (float d)
+ {
+ x *= d;
+ y *= d;
+ return *this;
+ }
+
+ float lengthSquared() const
+ {
+ return x * x + y * y;
+ }
+
+ float length() const
+ {
+ return sqrt(x * x + y * y);
+ }
+
+ Vec2D& normalize()
+ {
+ this->operator*= (1.0f / length());
+ return *this;
+ }
+
+ Vec2D operator~() const
+ {
+ Vec2D r(*this);
+ r.normalize();
+ return r;
+ }
+
+
+ friend std::istream& operator>>(std::istream& in, Vec2D& v)
+ {
+ in >> v.x >> v.y;
+ return in;
+ }
+
+ operator float* ()
+ {
+ return (float*)this;
+ }
+};
+
+inline void rotate(float x0, float y0, float* x, float* y, float angle)
+{
+ float xa = *x - x0, ya = *y - y0;
+ *x = xa * cosf(angle) - ya * sinf(angle) + x0;
+ *y = xa * sinf(angle) + ya * cosf(angle) + y0;
+}
+
+#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/vmapexport.cpp b/contrib/vmap_extractor/vmapextract/vmapexport.cpp
similarity index 79%
rename from contrib/vmap_extractor_v4/vmapextract/vmapexport.cpp
rename to contrib/vmap_extractor/vmapextract/vmapexport.cpp
index a945b8055..4c65fde85 100644
--- a/contrib/vmap_extractor_v4/vmapextract/vmapexport.cpp
+++ b/contrib/vmap_extractor/vmapextract/vmapexport.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,13 +23,13 @@
#include
#include
-#ifdef WIN32
- #include
- #include
- #include
- #define mkdir _mkdir
+#if defined WIN32
+#include
+#include
+#include
+#define mkdir _mkdir
#else
- #include
+#include
#endif
#undef min
@@ -49,6 +49,8 @@
#include "vmapexport.h"
+#include "vmapexport.h"
+
//------------------------------------------------------------------------------
// Defines
@@ -62,7 +64,7 @@ HANDLE LocaleMpq = NULL;
uint32 CONF_TargetBuild = 15595; // 4.3.4.15595
// List MPQ for extract maps from
-char const* CONF_mpq_list[]=
+char const* CONF_mpq_list[] =
{
"world.MPQ",
"art.MPQ",
@@ -92,20 +94,20 @@ typedef struct
{
char name[64];
unsigned int id;
-}map_id;
+} map_id;
-map_id * map_ids;
-uint16 *LiqType = 0;
+map_id* map_ids;
+uint16* LiqType = 0;
uint32 map_count;
-char output_path[128]=".";
-char input_path[1024]=".";
+char output_path[128] = ".";
+char input_path[1024] = ".";
bool preciseVectorData = false;
// Constants
//static const char * szWorkDirMaps = ".\\Maps";
const char* szWorkDirWmo = "./Buildings";
-const char* szRawVMAPMagic = "VMAP004";
+const char* szRawVMAPMagic = "VMAPc04";
bool LoadLocaleMPQFile(int locale)
{
@@ -263,9 +265,9 @@ bool FileExists(const char* file)
void strToLower(char* str)
{
- while(*str)
+ while (*str)
{
- *str=tolower(*str);
+ *str = tolower(*str);
++str;
}
}
@@ -276,7 +278,7 @@ void ReadLiquidTypeTableDBC()
printf("Read LiquidType.dbc file...");
DBCFile dbc(LocaleMpq, "DBFilesClient\\LiquidType.dbc");
- if(!dbc.open())
+ if (!dbc.open())
{
printf("Fatal error: Invalid LiquidType.dbc file format!\n");
exit(1);
@@ -287,7 +289,7 @@ void ReadLiquidTypeTableDBC()
LiqType = new uint16[LiqType_maxid + 1];
memset(LiqType, 0xff, (LiqType_maxid + 1) * sizeof(uint16));
- for(uint32 x = 0; x < LiqType_count; ++x)
+ for (uint32 x = 0; x < LiqType_count; ++x)
LiqType[dbc.getRecord(x).getUInt(0)] = dbc.getRecord(x).getUInt(3);
printf("Done! (%u LiqTypes loaded)\n", (unsigned int)LiqType_count);
@@ -324,24 +326,24 @@ bool ExtractSingleWmo(std::string& fname)
// Copy files from archive
char szLocalFile[1024];
- const char * plain_name = GetPlainName(fname.c_str());
+ const char* plain_name = GetPlainName(fname.c_str());
sprintf(szLocalFile, "%s/%s", szWorkDirWmo, plain_name);
- fixnamen(szLocalFile,strlen(szLocalFile));
+ fixnamen(szLocalFile, strlen(szLocalFile));
if (FileExists(szLocalFile))
return true;
int p = 0;
//Select root wmo files
- const char * rchr = strrchr(plain_name, '_');
- if(rchr != NULL)
+ const char* rchr = strrchr(plain_name, '_');
+ if (rchr != NULL)
{
char cpy[4];
- strncpy((char*)cpy,rchr,4);
- for (int i=0;i < 4; ++i)
+ strncpy((char*)cpy, rchr, 4);
+ for (int i = 0; i < 4; ++i)
{
int m = cpy[i];
- if(isdigit(m))
+ if (isdigit(m))
p++;
}
}
@@ -352,13 +354,13 @@ bool ExtractSingleWmo(std::string& fname)
bool file_ok = true;
std::cout << "Extracting " << fname << std::endl;
WMORoot froot(fname);
- if(!froot.open())
+ if (!froot.open())
{
printf("Couldn't open RootWmo!!!\n");
return true;
}
- FILE *output = fopen(szLocalFile,"wb");
- if(!output)
+ FILE* output = fopen(szLocalFile, "wb");
+ if (!output)
{
printf("couldn't open %s for writing!\n", szLocalFile);
return false;
@@ -366,20 +368,20 @@ bool ExtractSingleWmo(std::string& fname)
froot.ConvertToVMAPRootWmo(output);
int Wmo_nVertices = 0;
//printf("root has %d groups\n", froot->nGroups);
- if (froot.nGroups !=0)
+ if (froot.nGroups != 0)
{
for (uint32 i = 0; i < froot.nGroups; ++i)
{
char temp[1024];
strcpy(temp, fname.c_str());
- temp[fname.length()-4] = 0;
+ temp[fname.length() - 4] = 0;
char groupFileName[1024];
- sprintf(groupFileName,"%s_%03d.wmo",temp, i);
+ sprintf(groupFileName, "%s_%03d.wmo", temp, i);
//printf("Trying to open groupfile %s\n",groupFileName);
string s = groupFileName;
WMOGroup fgroup(s);
- if(!fgroup.open())
+ if (!fgroup.open())
{
printf("Could not open all Group file for: %s\n", plain_name);
file_ok = false;
@@ -391,7 +393,7 @@ bool ExtractSingleWmo(std::string& fname)
}
fseek(output, 8, SEEK_SET); // store the correct no of vertices
- fwrite(&Wmo_nVertices,sizeof(int),1,output);
+ fwrite(&Wmo_nVertices, sizeof(int), 1, output);
fclose(output);
// Delete the extracted file in the case of an error
@@ -405,22 +407,23 @@ void ParsMapFiles()
char fn[512];
//char id_filename[64];
char id[10];
- for (unsigned int i=0; iinit(map_ids[i].id, x, y);
+ ADT->init(map_ids[i].id, x, y, failedPaths);
delete ADT;
}
}
@@ -430,14 +433,22 @@ void ParsMapFiles()
printf("]\n");
}
}
+
+ if (!failedPaths.empty())
+ {
+ printf("Warning: Some models could not be extracted, see below\n");
+ for (StringSet::const_iterator itr = failedPaths.begin(); itr != failedPaths.end(); ++itr)
+ printf("Could not find file of model %s\n", itr->c_str());
+ printf("A few not found models can be expected and are not alarming.\n");
+ }
}
void getGamePath()
{
#ifdef _WIN32
- strcpy(input_path,"Data\\");
+ strcpy(input_path, "Data\\");
#else
- strcpy(input_path,"Data/");
+ strcpy(input_path, "Data/");
#endif
}
@@ -457,9 +468,9 @@ bool scan_patches(char* scanmatch, std::vector& pArchiveNames)
sprintf(path, "%s.MPQ", scanmatch);
}
#ifdef __linux__
- if(FILE* h = fopen64(path, "rb"))
+ if (FILE* h = fopen64(path, "rb"))
#else
- if(FILE* h = fopen(path, "rb"))
+ if (FILE* h = fopen(path, "rb"))
#endif
{
fclose(h);
@@ -471,24 +482,24 @@ bool scan_patches(char* scanmatch, std::vector& pArchiveNames)
return(true);
}
-bool processArgv(int argc, char ** argv, const char *versionString)
+bool processArgv(int argc, char** argv)
{
bool result = true;
bool hasInputPathParam = false;
bool preciseVectorData = false;
- for(int i=1; i< argc; ++i)
+ for (int i = 1; i < argc; ++i)
{
- if(strcmp("-s",argv[i]) == 0)
+ if (strcmp("-s", argv[i]) == 0)
{
preciseVectorData = false;
}
- else if(strcmp("-d",argv[i]) == 0)
+ else if (strcmp("-d", argv[i]) == 0)
{
- if((i+1)]\n", argv[0]);
printf(" -s : (default) small size (data size optimization), ~500MB less vmap data.\n");
printf(" -l : large size, ~500MB more vmap data. (might contain more details)\n");
@@ -529,7 +540,7 @@ bool processArgv(int argc, char ** argv, const char *versionString)
printf(" -? : This message.\n");
}
- if(!hasInputPathParam)
+ if (!hasInputPathParam)
getGamePath();
return result;
@@ -545,13 +556,12 @@ bool processArgv(int argc, char ** argv, const char *versionString)
// Arg2 - Listfile name
//
-int main(int argc, char ** argv)
+int main(int argc, char** argv)
{
- bool success=true;
- const char *versionString = "V4.00 2012_08";
+ bool success = true;
// Use command line arguments, when some
- if(!processArgv(argc, argv, versionString))
+ if (!processArgv(argc, argv))
return 1;
// some simple check if working dir is dirty
@@ -570,15 +580,15 @@ int main(int argc, char ** argv)
}
}
- printf("Extract %s. Beginning work ....\n",versionString);
+ printf("Extract for %s. Beginning work ....\n", szRawVMAPMagic);
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// Create the working directory
- if(mkdir(szWorkDirWmo
+ if (mkdir(szWorkDirWmo
#ifdef __linux__
- , 0711
+ , 0711
#endif
- ))
- success = (errno == EEXIST);
+ ))
+ success = (errno == EEXIST);
LoadCommonMPQFiles(CONF_TargetBuild);
@@ -601,27 +611,27 @@ int main(int argc, char ** argv)
ReadLiquidTypeTableDBC();
// extract data
- if(success)
+ if (success)
success = ExtractWmo();
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
//map.dbc
- if(success)
+ if (success)
{
- DBCFile * dbc = new DBCFile(LocaleMpq, "DBFilesClient\\Map.dbc");
- if(!dbc->open())
+ DBCFile* dbc = new DBCFile(LocaleMpq, "DBFilesClient\\Map.dbc");
+ if (!dbc->open())
{
delete dbc;
printf("FATAL ERROR: Map.dbc not found in data file.\n");
return 1;
}
- map_count=dbc->getRecordCount ();
- map_ids=new map_id[map_count];
- for(unsigned int x=0;xgetRecordCount();
+ map_ids = new map_id[map_count];
+ for (unsigned int x = 0; x < map_count; ++x)
{
- map_ids[x].id=dbc->getRecord (x).getUInt(0);
- strcpy(map_ids[x].name,dbc->getRecord(x).getString(1));
- printf("Map - %s\n",map_ids[x].name);
+ map_ids[x].id = dbc->getRecord(x).getUInt(0);
+ strcpy(map_ids[x].name, dbc->getRecord(x).getString(1));
+ printf("Map - %s\n", map_ids[x].name);
}
@@ -629,19 +639,21 @@ int main(int argc, char ** argv)
ParsMapFiles();
delete [] map_ids;
//nError = ERROR_SUCCESS;
+ // Extract models, listed in DameObjectDisplayInfo.dbc
+ ExtractGameobjectModels();
}
SFileCloseArchive(LocaleMpq);
SFileCloseArchive(WorldMpq);
printf("\n");
- if(!success)
+ if (!success)
{
- printf("ERROR: Extract %s. Work NOT complete.\n Precise vector data=%d.\nPress any key.\n",versionString, preciseVectorData);
+ printf("ERROR: Extract for %s. Work NOT complete.\n Precise vector data=%d.\nPress any key.\n", szRawVMAPMagic, preciseVectorData);
getchar();
}
- printf("Extract %s. Work complete. No errors.\n",versionString);
+ printf("Extract for %s. Work complete. No errors.\n", szRawVMAPMagic);
delete [] LiqType;
return 0;
}
diff --git a/contrib/vmap_extractor_v4/vmapextract/vmapexport.h b/contrib/vmap_extractor/vmapextract/vmapexport.h
similarity index 70%
rename from contrib/vmap_extractor_v4/vmapextract/vmapexport.h
rename to contrib/vmap_extractor/vmapextract/vmapexport.h
index 7b8c1ba48..e1b902cc2 100644
--- a/contrib/vmap_extractor_v4/vmapextract/vmapexport.h
+++ b/contrib/vmap_extractor/vmapextract/vmapexport.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,20 +20,26 @@
#define VMAPEXPORT_H
#include
+#include
+
+typedef std::set StringSet;
enum ModelFlags
{
MOD_M2 = 1,
- MOD_WORLDSPAWN = 1<<1,
- MOD_HAS_BOUND = 1<<2
+ MOD_WORLDSPAWN = 1 << 1,
+ MOD_HAS_BOUND = 1 << 2
};
-extern const char * szWorkDirWmo;
-extern const char * szRawVMAPMagic; // vmap magic string for extracted raw vmap data
+extern const char* szWorkDirWmo;
+extern const char* szRawVMAPMagic; // vmap magic string for extracted raw vmap data
-bool FileExists(const char * file);
+bool FileExists(const char* file);
void strToLower(char* str);
bool ExtractSingleWmo(std::string& fname);
+bool ExtractSingleModel(std::string& fname, StringSet& failedPaths);
+
+void ExtractGameobjectModels();
#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/wdtfile.cpp b/contrib/vmap_extractor/vmapextract/wdtfile.cpp
similarity index 70%
rename from contrib/vmap_extractor_v4/vmapextract/wdtfile.cpp
rename to contrib/vmap_extractor/vmapextract/wdtfile.cpp
index aea4199f5..c07aa4f0c 100644
--- a/contrib/vmap_extractor_v4/vmapextract/wdtfile.cpp
+++ b/contrib/vmap_extractor/vmapextract/wdtfile.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,23 +22,23 @@
#include "adtfile.h"
#include
-char * wdtGetPlainName(char * FileName)
+char* wdtGetPlainName(char* FileName)
{
- char * szTemp;
+ char* szTemp;
- if((szTemp = strrchr(FileName, '\\')) != NULL)
+ if ((szTemp = strrchr(FileName, '\\')) != NULL)
FileName = szTemp + 1;
return FileName;
}
extern HANDLE WorldMpq;
-WDTFile::WDTFile(char* file_name, char* file_name1):WDT(WorldMpq, file_name)
+WDTFile::WDTFile(char* file_name, char* file_name1): WDT(WorldMpq, file_name)
{
- filename.append(file_name1,strlen(file_name1));
+ filename.append(file_name1, strlen(file_name1));
}
-bool WDTFile::init(char *map_id, unsigned int mapID)
+bool WDTFile::init(char* map_id, unsigned int mapID)
{
if (WDT.isEof())
{
@@ -50,9 +50,9 @@ bool WDTFile::init(char *map_id, unsigned int mapID)
uint32 size;
std::string dirname = std::string(szWorkDirWmo) + "/dir_bin";
- FILE *dirfile;
+ FILE* dirfile;
dirfile = fopen(dirname.c_str(), "ab");
- if(!dirfile)
+ if (!dirfile)
{
printf("Can't open dirfile!'%s'\n", dirname.c_str());
return false;
@@ -60,7 +60,7 @@ bool WDTFile::init(char *map_id, unsigned int mapID)
while (!WDT.isEof())
{
- WDT.read(fourcc,4);
+ WDT.read(fourcc, 4);
WDT.read(&size, 4);
flipcc(fourcc);
@@ -68,31 +68,31 @@ bool WDTFile::init(char *map_id, unsigned int mapID)
size_t nextpos = WDT.getPos() + size;
- if (!strcmp(fourcc,"MAIN"))
+ if (!strcmp(fourcc, "MAIN"))
{
}
- if (!strcmp(fourcc,"MWMO"))
+ if (!strcmp(fourcc, "MWMO"))
{
// global map objects
if (size)
{
- char *buf = new char[size];
+ char* buf = new char[size];
WDT.read(buf, size);
- char *p=buf;
+ char* p = buf;
int q = 0;
gWmoInstansName = new string[size];
- while (p=0 && z >= 0 && x<64 && z<64))
+ if (!(x >= 0 && z >= 0 && x < 64 && z < 64))
return NULL;
char name[512];
- sprintf(name,"World\\Maps\\%s\\%s_%d_%d_obj0.adt", filename.c_str(), filename.c_str(), x, z);
+ sprintf(name, "World\\Maps\\%s\\%s_%d_%d_obj0.adt", filename.c_str(), filename.c_str(), x, z);
return new ADTFile(name);
}
diff --git a/contrib/vmap_extractor/vmapextract/wdtfile.h b/contrib/vmap_extractor/vmapextract/wdtfile.h
new file mode 100644
index 000000000..327536969
--- /dev/null
+++ b/contrib/vmap_extractor/vmapextract/wdtfile.h
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef WDTFILE_H
+#define WDTFILE_H
+
+#include "mpqfile.h"
+#include "wmo.h"
+#include
+#include "stdlib.h"
+
+class ADTFile;
+
+class WDTFile
+{
+ public:
+ WDTFile(char* file_name, char* file_name1);
+ ~WDTFile(void);
+ bool init(char* map_id, unsigned int mapID);
+
+ string* gWmoInstansName;
+ int gnWMO, nMaps;
+
+ ADTFile* GetMap(int x, int z);
+
+ private:
+ MPQFile WDT;
+ bool maps[64][64];
+ string filename;
+};
+
+#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/wmo.cpp b/contrib/vmap_extractor/vmapextract/wmo.cpp
similarity index 69%
rename from contrib/vmap_extractor_v4/vmapextract/wmo.cpp
rename to contrib/vmap_extractor/vmapextract/wmo.cpp
index d1727e10f..581022e42 100644
--- a/contrib/vmap_extractor_v4/vmapextract/wmo.cpp
+++ b/contrib/vmap_extractor/vmapextract/wmo.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,9 +31,9 @@
#include "mpqfile.h"
using namespace std;
-extern uint16 *LiqType;
+extern uint16* LiqType;
-WMORoot::WMORoot(std::string &filename) : filename(filename)
+WMORoot::WMORoot(std::string& filename) : filename(filename)
{
}
@@ -42,9 +42,9 @@ extern HANDLE WorldMpq;
bool WMORoot::open()
{
MPQFile f(WorldMpq, filename.c_str());
- if(f.isEof ())
+ if (f.isEof())
{
- printf("No such file.\n");
+ printf("No such file %s.\n", filename.c_str());
return false;
}
@@ -53,7 +53,7 @@ bool WMORoot::open()
while (!f.isEof())
{
- f.read(fourcc,4);
+ f.read(fourcc, 4);
f.read(&size, 4);
flipcc(fourcc);
@@ -61,7 +61,7 @@ bool WMORoot::open()
size_t nextpos = f.getPos() + size;
- if (!strcmp(fourcc,"MOHD"))//header
+ if (!strcmp(fourcc, "MOHD")) //header
{
f.read(&nTextures, 4);
f.read(&nGroups, 4);
@@ -72,8 +72,8 @@ bool WMORoot::open()
f.read(&nDoodadSets, 4);
f.read(&col, 4);
f.read(&RootWMOID, 4);
- f.read(bbcorn1,12);
- f.read(bbcorn2,12);
+ f.read(bbcorn1, 12);
+ f.read(bbcorn2, 12);
f.read(&liquidType, 4);
break;
}
@@ -120,19 +120,19 @@ bool WMORoot::open()
*/
f.seek((int)nextpos);
}
- f.close ();
+ f.close();
return true;
}
-bool WMORoot::ConvertToVMAPRootWmo(FILE *pOutfile)
+bool WMORoot::ConvertToVMAPRootWmo(FILE* pOutfile)
{
//printf("Convert RootWmo...\n");
- fwrite(szRawVMAPMagic,1,8,pOutfile);
+ fwrite(szRawVMAPMagic, 1, 8, pOutfile);
unsigned int nVectors = 0;
- fwrite(&nVectors,sizeof(nVectors),1,pOutfile); // will be filled later
- fwrite(&nGroups,4,1,pOutfile);
- fwrite(&RootWMOID,4,1,pOutfile);
+ fwrite(&nVectors, sizeof(nVectors), 1, pOutfile); // will be filled later
+ fwrite(&nGroups, 4, 1, pOutfile);
+ fwrite(&RootWMOID, 4, 1, pOutfile);
return true;
}
@@ -140,15 +140,15 @@ WMORoot::~WMORoot()
{
}
-WMOGroup::WMOGroup(std::string &filename) : filename(filename),
- MOPY(0), MOVI(0), MoviEx(0), MOVT(0), MOBA(0), MobaEx(0), hlq(0), LiquEx(0), LiquBytes(0)
+WMOGroup::WMOGroup(std::string& filename) : filename(filename),
+ MOPY(0), MOVI(0), MoviEx(0), MOVT(0), MOBA(0), MobaEx(0), hlq(0), LiquEx(0), LiquBytes(0)
{
}
bool WMOGroup::open()
{
MPQFile f(WorldMpq, filename.c_str());
- if(f.isEof ())
+ if (f.isEof())
{
printf("No such file.\n");
return false;
@@ -157,10 +157,10 @@ bool WMOGroup::open()
char fourcc[5];
while (!f.isEof())
{
- f.read(fourcc,4);
+ f.read(fourcc, 4);
f.read(&size, 4);
flipcc(fourcc);
- if (!strcmp(fourcc,"MOGP"))//Fix sizeoff = Data size.
+ if (!strcmp(fourcc, "MOGP")) //Fix sizeoff = Data size.
{
size = 68;
}
@@ -169,7 +169,7 @@ bool WMOGroup::open()
LiquEx_size = 0;
liquflags = 0;
- if (!strcmp(fourcc,"MOGP"))//header
+ if (!strcmp(fourcc, "MOGP")) //header
{
f.read(&groupName, 4);
f.read(&descGroupName, 4);
@@ -183,40 +183,39 @@ bool WMOGroup::open()
f.read(&nBatchC, 4);
f.read(&fogIdx, 4);
f.read(&liquidType, 4);
- f.read(&groupWMOID,4);
-
+ f.read(&groupWMOID, 4);
}
- else if (!strcmp(fourcc,"MOPY"))
+ else if (!strcmp(fourcc, "MOPY"))
{
MOPY = new char[size];
mopy_size = size;
nTriangles = (int)size / 2;
f.read(MOPY, size);
}
- else if (!strcmp(fourcc,"MOVI"))
+ else if (!strcmp(fourcc, "MOVI"))
{
- MOVI = new uint16[size/2];
+ MOVI = new uint16[size / 2];
f.read(MOVI, size);
}
- else if (!strcmp(fourcc,"MOVT"))
+ else if (!strcmp(fourcc, "MOVT"))
{
- MOVT = new float[size/4];
+ MOVT = new float[size / 4];
f.read(MOVT, size);
nVertices = (int)size / 12;
}
- else if (!strcmp(fourcc,"MONR"))
+ else if (!strcmp(fourcc, "MONR"))
{
}
- else if (!strcmp(fourcc,"MOTV"))
+ else if (!strcmp(fourcc, "MOTV"))
{
}
- else if (!strcmp(fourcc,"MOBA"))
+ else if (!strcmp(fourcc, "MOBA"))
{
- MOBA = new uint16[size/2];
- moba_size = size/2;
+ MOBA = new uint16[size / 2];
+ moba_size = size / 2;
f.read(MOBA, size);
}
- else if (!strcmp(fourcc,"MLIQ"))
+ else if (!strcmp(fourcc, "MLIQ"))
{
liquflags |= 1;
hlq = new WMOLiquidHeader;
@@ -241,79 +240,79 @@ bool WMOGroup::open()
return true;
}
-int WMOGroup::ConvertToVMAPGroupWmo(FILE *output, WMORoot *rootWMO, bool pPreciseVectorData)
+int WMOGroup::ConvertToVMAPGroupWmo(FILE* output, WMORoot* rootWMO, bool pPreciseVectorData)
{
- fwrite(&mogpFlags,sizeof(uint32),1,output);
- fwrite(&groupWMOID,sizeof(uint32),1,output);
+ fwrite(&mogpFlags, sizeof(uint32), 1, output);
+ fwrite(&groupWMOID, sizeof(uint32), 1, output);
// group bound
fwrite(bbcorn1, sizeof(float), 3, output);
fwrite(bbcorn2, sizeof(float), 3, output);
- fwrite(&liquflags,sizeof(uint32),1,output);
+ fwrite(&liquflags, sizeof(uint32), 1, output);
int nColTriangles = 0;
- if(pPreciseVectorData)
+ if (pPreciseVectorData)
{
char GRP[] = "GRP ";
- fwrite(GRP,1,4,output);
+ fwrite(GRP, 1, 4, output);
int k = 0;
- int moba_batch = moba_size/12;
- MobaEx = new int[moba_batch*4];
- for(int i=8; i0)
+ if (nIdexes > 0)
{
- if(fwrite(MOVI, sizeof(unsigned short), nIdexes, output) != nIdexes)
+ if (fwrite(MOVI, sizeof(unsigned short), nIdexes, output) != nIdexes)
{
printf("Error while writing file indexarray");
exit(0);
}
}
- if(fwrite("VERT",4, 1, output) != 1)
+ if (fwrite("VERT", 4, 1, output) != 1)
{
printf("Error while writing file nbraches ID");
exit(0);
}
wsize = sizeof(int) + sizeof(float) * 3 * nVertices;
- if(fwrite(&wsize, sizeof(int), 1, output) != 1)
+ if (fwrite(&wsize, sizeof(int), 1, output) != 1)
{
printf("Error while writing file wsize");
// no need to exit?
}
- if(fwrite(&nVertices, sizeof(int), 1, output) != 1)
+ if (fwrite(&nVertices, sizeof(int), 1, output) != 1)
{
printf("Error while writing file nVertices");
exit(0);
}
- if(nVertices >0)
+ if (nVertices > 0)
{
- if(fwrite(MOVT, sizeof(float)*3, nVertices, output) != nVertices)
+ if (fwrite(MOVT, sizeof(float) * 3, nVertices, output) != nVertices)
{
printf("Error while writing file vectors");
exit(0);
@@ -325,44 +324,44 @@ int WMOGroup::ConvertToVMAPGroupWmo(FILE *output, WMORoot *rootWMO, bool pPrecis
else
{
char GRP[] = "GRP ";
- fwrite(GRP,1,4,output);
+ fwrite(GRP, 1, 4, output);
int k = 0;
- int moba_batch = moba_size/12;
- MobaEx = new int[moba_batch*4];
- for(int i=8; i= 0)
- check -= fwrite(MOVT+3*i, sizeof(float), 3, output);
+ int VERT[] = {0x54524556, nColVertices * 3 * sizeof(float) + 4, nColVertices}; // "VERT"
+ int check = 3 * nColVertices;
+ fwrite(VERT, 4, 3, output);
+ for (uint32 i = 0; i < nVertices; ++i)
+ if (IndexRenum[i] >= 0)
+ check -= fwrite(MOVT + 3 * i, sizeof(float), 3, output);
- assert(check==0);
+ assert(check == 0);
delete [] MoviEx;
delete [] IndexRenum;
}
//------LIQU------------------------
- if(LiquEx_size != 0)
+ if (LiquEx_size != 0)
{
- int LIQU_h[] = {0x5551494C, sizeof(WMOLiquidHeader) + LiquEx_size + hlq->xtiles*hlq->ytiles};// "LIQU"
+ int LIQU_h[] = {0x5551494C, sizeof(WMOLiquidHeader) + LiquEx_size + hlq->xtiles* hlq->ytiles}; // "LIQU"
fwrite(LIQU_h, 4, 2, output);
// according to WoW.Dev Wiki:
@@ -463,10 +462,10 @@ int WMOGroup::ConvertToVMAPGroupWmo(FILE *output, WMORoot *rootWMO, bool pPrecis
fwrite(hlq, sizeof(WMOLiquidHeader), 1, output);
// only need height values, the other values are unknown anyway
- for (uint32 i = 0; ixtiles*hlq->ytiles, output);
+ fwrite(LiquBytes, 1, hlq->xtiles * hlq->ytiles, output);
}
return nColTriangles;
@@ -483,34 +482,34 @@ WMOGroup::~WMOGroup()
delete [] LiquBytes;
}
-WMOInstance::WMOInstance(MPQFile &f,const char* WmoInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE *pDirfile)
+WMOInstance::WMOInstance(MPQFile& f, const char* WmoInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE* pDirfile)
{
- pos = Vec3D(0,0,0);
+ pos = Vec3D(0, 0, 0);
float ff[3];
f.read(&id, 4);
- f.read(ff,12);
- pos = Vec3D(ff[0],ff[1],ff[2]);
- f.read(ff,12);
- rot = Vec3D(ff[0],ff[1],ff[2]);
- f.read(ff,12);
- pos2 = Vec3D(ff[0],ff[1],ff[2]);
- f.read(ff,12);
- pos3 = Vec3D(ff[0],ff[1],ff[2]);
- f.read(&d2,4);
+ f.read(ff, 12);
+ pos = Vec3D(ff[0], ff[1], ff[2]);
+ f.read(ff, 12);
+ rot = Vec3D(ff[0], ff[1], ff[2]);
+ f.read(ff, 12);
+ pos2 = Vec3D(ff[0], ff[1], ff[2]);
+ f.read(ff, 12);
+ pos3 = Vec3D(ff[0], ff[1], ff[2]);
+ f.read(&d2, 4);
- uint16 trash,adtId;
- f.read(&adtId,2);
- f.read(&trash,2);
+ uint16 trash, adtId;
+ f.read(&adtId, 2);
+ f.read(&trash, 2);
//-----------add_in _dir_file----------------
char tempname[512];
sprintf(tempname, "%s/%s", szWorkDirWmo, WmoInstName);
- FILE *input;
+ FILE* input;
input = fopen(tempname, "r+b");
- if(!input)
+ if (!input)
{
printf("WMOInstance::WMOInstance: couldn't open %s\n", tempname);
return;
@@ -518,19 +517,19 @@ WMOInstance::WMOInstance(MPQFile &f,const char* WmoInstName, uint32 mapID, uint3
fseek(input, 8, SEEK_SET); // get the correct no of vertices
int nVertices;
- fread(&nVertices, sizeof (int), 1, input);
+ fread(&nVertices, sizeof(int), 1, input);
fclose(input);
- if(nVertices == 0)
+ if (nVertices == 0)
return;
- float x,z;
+ float x, z;
x = pos.x;
z = pos.z;
- if(x==0 && z == 0)
+ if (x == 0 && z == 0)
{
- pos.x = 533.33333f*32;
- pos.z = 533.33333f*32;
+ pos.x = 533.33333f * 32;
+ pos.z = 533.33333f * 32;
}
pos = fixCoords(pos);
pos2 = fixCoords(pos2);
@@ -538,7 +537,7 @@ WMOInstance::WMOInstance(MPQFile &f,const char* WmoInstName, uint32 mapID, uint3
float scale = 1.0f;
uint32 flags = MOD_HAS_BOUND;
- if(tileX == 65 && tileY == 65) flags |= MOD_WORLDSPAWN;
+ if (tileX == 65 && tileY == 65) flags |= MOD_WORLDSPAWN;
//write mapID, tileX, tileY, Flags, ID, Pos, Rot, Scale, Bound_lo, Bound_hi, name
fwrite(&mapID, sizeof(uint32), 1, pDirfile);
fwrite(&tileX, sizeof(uint32), 1, pDirfile);
@@ -551,7 +550,7 @@ WMOInstance::WMOInstance(MPQFile &f,const char* WmoInstName, uint32 mapID, uint3
fwrite(&scale, sizeof(float), 1, pDirfile);
fwrite(&pos2, sizeof(float), 3, pDirfile);
fwrite(&pos3, sizeof(float), 3, pDirfile);
- uint32 nlen=strlen(WmoInstName);
+ uint32 nlen = strlen(WmoInstName);
fwrite(&nlen, sizeof(uint32), 1, pDirfile);
fwrite(WmoInstName, sizeof(char), nlen, pDirfile);
diff --git a/contrib/vmap_extractor/vmapextract/wmo.h b/contrib/vmap_extractor/vmapextract/wmo.h
new file mode 100644
index 000000000..5e8c792dd
--- /dev/null
+++ b/contrib/vmap_extractor/vmapextract/wmo.h
@@ -0,0 +1,136 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef WMO_H
+#define WMO_H
+#define TILESIZE (533.33333f)
+#define CHUNKSIZE ((TILESIZE) / 16.0f)
+
+#include
+#include
+#include "vec3d.h"
+#include "mpqfile.h"
+
+// MOPY flags
+#define WMO_MATERIAL_NOCAMCOLLIDE 0x01
+#define WMO_MATERIAL_DETAIL 0x02
+#define WMO_MATERIAL_NO_COLLISION 0x04
+#define WMO_MATERIAL_HINT 0x08
+#define WMO_MATERIAL_RENDER 0x10
+#define WMO_MATERIAL_COLLIDE_HIT 0x20
+#define WMO_MATERIAL_WALL_SURFACE 0x40
+
+class WMOInstance;
+class WMOManager;
+class MPQFile;
+
+/* for whatever reason a certain company just can't stick to one coordinate system... */
+static inline Vec3D fixCoords(const Vec3D& v) { return Vec3D(v.z, v.x, v.y); }
+
+class WMORoot
+{
+ public:
+ uint32 nTextures, nGroups, nP, nLights, nModels, nDoodads, nDoodadSets, RootWMOID, liquidType;
+ unsigned int col;
+ float bbcorn1[3];
+ float bbcorn2[3];
+
+ WMORoot(std::string& filename);
+ ~WMORoot();
+
+ bool open();
+ bool ConvertToVMAPRootWmo(FILE* output);
+ private:
+ std::string filename;
+ char outfilename;
+};
+
+struct WMOLiquidHeader
+{
+ int xverts, yverts, xtiles, ytiles;
+ float pos_x;
+ float pos_y;
+ float pos_z;
+ short type;
+};
+
+struct WMOLiquidVert
+{
+ uint16 unk1;
+ uint16 unk2;
+ float height;
+};
+
+class WMOGroup
+{
+ public:
+ // MOGP
+ int groupName, descGroupName, mogpFlags;
+ float bbcorn1[3];
+ float bbcorn2[3];
+ uint16 moprIdx;
+ uint16 moprNItems;
+ uint16 nBatchA;
+ uint16 nBatchB;
+ uint32 nBatchC, fogIdx, liquidType, groupWMOID;
+
+ int mopy_size, moba_size;
+ int LiquEx_size;
+ unsigned int nVertices; // number when loaded
+ int nTriangles; // number when loaded
+ char* MOPY;
+ uint16* MOVI;
+ uint16* MoviEx;
+ float* MOVT;
+ uint16* MOBA;
+ int* MobaEx;
+ WMOLiquidHeader* hlq;
+ WMOLiquidVert* LiquEx;
+ char* LiquBytes;
+ uint32 liquflags;
+
+ WMOGroup(std::string& filename);
+ ~WMOGroup();
+
+ bool open();
+ int ConvertToVMAPGroupWmo(FILE* output, WMORoot* rootWMO, bool pPreciseVectorData);
+
+ private:
+ std::string filename;
+ char outfilename;
+};
+
+class WMOInstance
+{
+ static std::set ids;
+ public:
+ std::string MapName;
+ int currx;
+ int curry;
+ WMOGroup* wmo;
+ Vec3D pos;
+ Vec3D pos2, pos3, rot;
+ uint32 indx, id, d2, d3;
+ int doodadset;
+
+ WMOInstance(MPQFile& f, const char* WmoInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE* pDirfile);
+
+ static void reset();
+};
+
+#endif
diff --git a/contrib/vmap_extractor_v4/win/VC100/vmapExtractor4.vcxproj b/contrib/vmap_extractor/win/VC100/vmapExtractor.vcxproj
similarity index 98%
rename from contrib/vmap_extractor_v4/win/VC100/vmapExtractor4.vcxproj
rename to contrib/vmap_extractor/win/VC100/vmapExtractor.vcxproj
index 40d817c6d..0edeecc25 100644
--- a/contrib/vmap_extractor_v4/win/VC100/vmapExtractor4.vcxproj
+++ b/contrib/vmap_extractor/win/VC100/vmapExtractor.vcxproj
@@ -12,7 +12,7 @@
{D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}
- vmapExtractor4
+ vmapExtractor
@@ -86,6 +86,7 @@
+
diff --git a/contrib/vmap_extractor_v4/win/VC100/vmapExtractor4.vcxproj.filters b/contrib/vmap_extractor/win/VC100/vmapExtractor.vcxproj.filters
similarity index 100%
rename from contrib/vmap_extractor_v4/win/VC100/vmapExtractor4.vcxproj.filters
rename to contrib/vmap_extractor/win/VC100/vmapExtractor.vcxproj.filters
diff --git a/contrib/vmap_extractor/win/VC110/vmapExtractor.vcxproj b/contrib/vmap_extractor/win/VC110/vmapExtractor.vcxproj
new file mode 100644
index 000000000..3e9de1b84
--- /dev/null
+++ b/contrib/vmap_extractor/win/VC110/vmapExtractor.vcxproj
@@ -0,0 +1,113 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}
+ vmapExtractor
+
+
+
+ Application
+ MultiByte
+ true
+ v110
+
+
+ Application
+ MultiByte
+ v110
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\..\bin\$(Platform)_$(Configuration)\
+ ..\bin\$(ProjectName)__$(Platform)_$(Configuration)\
+ ..\..\bin\$(Platform)_$(Configuration)\
+ ..\bin\$(ProjectName)__$(Platform)_$(Configuration)\
+
+
+
+ Disabled
+ ..\..\..\..\dep\StormLib\src;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Level3
+ EditAndContinue
+
+
+ %(AdditionalDependencies)
+ ..\..\..\..\dep\StormLib\bin\StormLib\$(Platform)\$(Configuration)AD;%(AdditionalLibraryDirectories)
+ true
+ MachineX86
+ Console
+ false
+
+
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\..\..\dep\StormLib\src;%(AdditionalIncludeDirectories)
+ WIN32;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+ Level3
+ ProgramDatabase
+
+
+ StormLibRAD.lib;%(AdditionalDependencies)
+ ..\..\..\..\dep\StormLib\bin\StormLib\$(Platform)\$(Configuration)AD;%(AdditionalLibraryDirectories)
+ false
+ true
+ true
+ MachineX86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/contrib/vmap_extractor/win/VC110/vmapExtractor.vcxproj.filters b/contrib/vmap_extractor/win/VC110/vmapExtractor.vcxproj.filters
new file mode 100644
index 000000000..5dbd96da6
--- /dev/null
+++ b/contrib/vmap_extractor/win/VC110/vmapExtractor.vcxproj.filters
@@ -0,0 +1,67 @@
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ {77920bff-80f2-4d57-8efb-d36d461d04a4}
+
+
+ {093fdfc3-8861-4d64-9c5e-4a58337b9c7e}
+
+
+
\ No newline at end of file
diff --git a/contrib/vmap_extractor_v4/win/VC90/vmapExtractor3.vcproj b/contrib/vmap_extractor/win/VC90/vmapExtractor.vcproj
similarity index 98%
rename from contrib/vmap_extractor_v4/win/VC90/vmapExtractor3.vcproj
rename to contrib/vmap_extractor/win/VC90/vmapExtractor.vcproj
index 83801906a..4f884fccf 100644
--- a/contrib/vmap_extractor_v4/win/VC90/vmapExtractor3.vcproj
+++ b/contrib/vmap_extractor/win/VC90/vmapExtractor.vcproj
@@ -183,6 +183,10 @@
RelativePath="..\..\vmapextract\dbcfile.h"
>
+
+
diff --git a/contrib/vmap_extractor_v4/win/vmapExtractor4_VC100.sln b/contrib/vmap_extractor/win/vmapExtractor_VC100.sln
similarity index 99%
rename from contrib/vmap_extractor_v4/win/vmapExtractor4_VC100.sln
rename to contrib/vmap_extractor/win/vmapExtractor_VC100.sln
index 4a5528517..1bcab60c9 100644
--- a/contrib/vmap_extractor_v4/win/vmapExtractor4_VC100.sln
+++ b/contrib/vmap_extractor/win/vmapExtractor_VC100.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmapExtractor4", "VC100\vmapExtractor4.vcxproj", "{D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmapExtractor", "VC100\vmapExtractor.vcxproj", "{D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}"
ProjectSection(ProjectDependencies) = postProject
{78424708-1F6E-4D4B-920C-FB6D26847055} = {78424708-1F6E-4D4B-920C-FB6D26847055}
{B96F612A-C91D-43B3-A4C3-D4294817EC6C} = {B96F612A-C91D-43B3-A4C3-D4294817EC6C}
diff --git a/contrib/vmap_extractor/win/vmapExtractor_VC110.sln b/contrib/vmap_extractor/win/vmapExtractor_VC110.sln
new file mode 100644
index 000000000..660e5e7d2
--- /dev/null
+++ b/contrib/vmap_extractor/win/vmapExtractor_VC110.sln
@@ -0,0 +1,116 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmapExtractor", "VC110\vmapExtractor.vcxproj", "{D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}"
+ ProjectSection(ProjectDependencies) = postProject
+ {78424708-1F6E-4D4B-920C-FB6D26847055} = {78424708-1F6E-4D4B-920C-FB6D26847055}
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C} = {B96F612A-C91D-43B3-A4C3-D4294817EC6C}
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\..\win\VC110\zlib.vcxproj", "{8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "..\..\..\win\VC110\bzip2.vcxproj", "{B96F612A-C91D-43B3-A4C3-D4294817EC6C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StormLib", "..\..\..\dep\StormLib\StormLib_vc110.vcxproj", "{78424708-1F6E-4D4B-920C-FB6D26847055}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ DebugAD|Win32 = DebugAD|Win32
+ DebugAD|x64 = DebugAD|x64
+ DebugAS|Win32 = DebugAS|Win32
+ DebugAS|x64 = DebugAS|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ ReleaseAD|Win32 = ReleaseAD|Win32
+ ReleaseAD|x64 = ReleaseAD|x64
+ ReleaseAS|Win32 = ReleaseAS|Win32
+ ReleaseAS|x64 = ReleaseAS|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.Debug|Win32.Build.0 = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.Debug|x64.ActiveCfg = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.DebugAD|Win32.ActiveCfg = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.DebugAD|Win32.Build.0 = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.DebugAD|x64.ActiveCfg = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.DebugAS|Win32.ActiveCfg = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.DebugAS|Win32.Build.0 = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.DebugAS|x64.ActiveCfg = Debug|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.Release|Win32.ActiveCfg = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.Release|Win32.Build.0 = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.Release|x64.ActiveCfg = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.ReleaseAD|Win32.ActiveCfg = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.ReleaseAD|Win32.Build.0 = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.ReleaseAD|x64.ActiveCfg = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.ReleaseAS|Win32.ActiveCfg = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.ReleaseAS|Win32.Build.0 = Release|Win32
+ {D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}.ReleaseAS|x64.ActiveCfg = Release|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.Build.0 = Debug|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|x64.ActiveCfg = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|x64.Build.0 = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.DebugAD|Win32.ActiveCfg = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.DebugAD|x64.ActiveCfg = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.DebugAD|x64.Build.0 = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.DebugAS|Win32.ActiveCfg = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.DebugAS|x64.ActiveCfg = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.DebugAS|x64.Build.0 = Debug|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.ActiveCfg = Release|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.Build.0 = Release|Win32
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|x64.ActiveCfg = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|x64.Build.0 = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.ReleaseAD|Win32.ActiveCfg = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.ReleaseAD|x64.ActiveCfg = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.ReleaseAD|x64.Build.0 = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.ReleaseAS|Win32.ActiveCfg = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.ReleaseAS|x64.ActiveCfg = Release|x64
+ {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.ReleaseAS|x64.Build.0 = Release|x64
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Debug|Win32.Build.0 = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Debug|x64.ActiveCfg = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.DebugAD|Win32.ActiveCfg = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.DebugAD|Win32.Build.0 = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.DebugAD|x64.ActiveCfg = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.DebugAS|Win32.ActiveCfg = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.DebugAS|Win32.Build.0 = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.DebugAS|x64.ActiveCfg = Debug|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Release|Win32.ActiveCfg = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Release|Win32.Build.0 = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Release|x64.ActiveCfg = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.ReleaseAD|Win32.ActiveCfg = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.ReleaseAD|Win32.Build.0 = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.ReleaseAD|x64.ActiveCfg = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.ReleaseAS|Win32.ActiveCfg = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.ReleaseAS|Win32.Build.0 = Release|Win32
+ {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.ReleaseAS|x64.ActiveCfg = Release|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Debug|Win32.ActiveCfg = DebugAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Debug|Win32.Build.0 = DebugAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Debug|x64.ActiveCfg = DebugAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Debug|x64.Build.0 = DebugAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAD|Win32.ActiveCfg = DebugAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAD|Win32.Build.0 = DebugAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAD|x64.ActiveCfg = DebugAD|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAD|x64.Build.0 = DebugAD|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAS|Win32.ActiveCfg = DebugAS|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAS|Win32.Build.0 = DebugAS|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAS|x64.ActiveCfg = DebugAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.DebugAS|x64.Build.0 = DebugAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Release|Win32.ActiveCfg = ReleaseAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Release|Win32.Build.0 = ReleaseAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Release|x64.ActiveCfg = ReleaseAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.Release|x64.Build.0 = ReleaseAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAD|Win32.ActiveCfg = ReleaseAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAD|Win32.Build.0 = ReleaseAD|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAD|x64.ActiveCfg = ReleaseAD|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAD|x64.Build.0 = ReleaseAD|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAS|Win32.ActiveCfg = ReleaseAS|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAS|Win32.Build.0 = ReleaseAS|Win32
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAS|x64.ActiveCfg = ReleaseAS|x64
+ {78424708-1F6E-4D4B-920C-FB6D26847055}.ReleaseAS|x64.Build.0 = ReleaseAS|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/contrib/vmap_extractor_v4/win/vmapExtractor4_VC90.sln b/contrib/vmap_extractor/win/vmapExtractor_VC90.sln
similarity index 97%
rename from contrib/vmap_extractor_v4/win/vmapExtractor4_VC90.sln
rename to contrib/vmap_extractor/win/vmapExtractor_VC90.sln
index f353a972b..96ebada72 100644
--- a/contrib/vmap_extractor_v4/win/vmapExtractor4_VC90.sln
+++ b/contrib/vmap_extractor/win/vmapExtractor_VC90.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmapExtractor3", "VC90\vmapExtractor3.vcproj", "{D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmapExtractor", "VC90\vmapExtractor.vcproj", "{D4624B20-AC1E-4EE9-8C9C-0FB65EEE3393}"
ProjectSection(ProjectDependencies) = postProject
{B96F612A-C91D-43B3-A4C3-D4294817EC6C} = {B96F612A-C91D-43B3-A4C3-D4294817EC6C}
{8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}
diff --git a/contrib/vmap_extractor_v4/make_vmaps.bat b/contrib/vmap_extractor_v4/make_vmaps.bat
deleted file mode 100644
index 23bc7e699..000000000
--- a/contrib/vmap_extractor_v4/make_vmaps.bat
+++ /dev/null
@@ -1,46 +0,0 @@
-@echo off
-cls
-echo.
-echo Welcome to the vmaps extractor and assembler
-echo.
-echo You need 2GB of free space in disk, CTRL+C to stop process
-echo Hit Enter to start . . .
-pause>nul
-cls
-echo.
-echo.
-echo.
-IF EXIST buildings\dir (ECHO The buildings folder already exist do you want to delete it?
-echo If YES hit Enter to continue if no CLOSE the program now! . . .
-pause>nul
-DEL /S /Q buildings)
-vmapExtractor4.exe
-cls
-echo.
-echo.
-echo.
-IF NOT %ERRORLEVEL% LEQ 1 (echo The vmap extract tool finalized with errors.
-echo Hit Enter to continue . . .
-pause>nul)
-cls
-echo.
-echo.
-echo.
-echo Vmaps extracted check log.txt for errors, now it's time to assemble the vmaps press any key to continue . . .
-pause>nul
-md vmaps
-vmap_assembler.exe buildings vmaps
-cls
-echo.
-echo.
-echo.
-IF NOT %ERRORLEVEL% LEQ 1 (echo The vmap assembler tool finalized with errors.
-echo Hit Enter to continue . . .
-pause>nul)
-cls
-echo.
-echo.
-echo.
-echo Process done! copy vmaps folder to the MaNGOS main directory
-echo Press any key to exit . . .
-pause>nul
diff --git a/contrib/vmap_extractor_v4/vmapextract/vec3d.h b/contrib/vmap_extractor_v4/vmapextract/vec3d.h
deleted file mode 100644
index 06a5b730f..000000000
--- a/contrib/vmap_extractor_v4/vmapextract/vec3d.h
+++ /dev/null
@@ -1,230 +0,0 @@
-#ifndef VEC3D_H
-#define VEC3D_H
-
-#include
-#include
-
-class Vec3D
-{
-public:
- float x,y,z;
-
- Vec3D(float x0 = 0.0f, float y0 = 0.0f, float z0 = 0.0f) : x(x0), y(y0), z(z0) {}
-
- Vec3D(const Vec3D& v) : x(v.x), y(v.y), z(v.z) {}
-
- Vec3D& operator= (const Vec3D &v) {
- x = v.x;
- y = v.y;
- z = v.z;
- return *this;
- }
-
- Vec3D operator+ (const Vec3D &v) const
- {
- Vec3D r(x+v.x,y+v.y,z+v.z);
- return r;
- }
-
- Vec3D operator- (const Vec3D &v) const
- {
- Vec3D r(x-v.x,y-v.y,z-v.z);
- return r;
- }
-
- float operator* (const Vec3D &v) const
- {
- return x*v.x + y*v.y + z*v.z;
- }
-
- Vec3D operator* (float d) const
- {
- Vec3D r(x*d,y*d,z*d);
- return r;
- }
-
- friend Vec3D operator* (float d, const Vec3D& v)
- {
- return v * d;
- }
-
- Vec3D operator% (const Vec3D &v) const
- {
- Vec3D r(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x);
- return r;
- }
-
- Vec3D& operator+= (const Vec3D &v)
- {
- x += v.x;
- y += v.y;
- z += v.z;
- return *this;
- }
-
- Vec3D& operator-= (const Vec3D &v)
- {
- x -= v.x;
- y -= v.y;
- z -= v.z;
- return *this;
- }
-
- Vec3D& operator*= (float d)
- {
- x *= d;
- y *= d;
- z *= d;
- return *this;
- }
-
- float lengthSquared() const
- {
- return x*x+y*y+z*z;
- }
-
- float length() const
- {
- return sqrt(x*x+y*y+z*z);
- }
-
- Vec3D& normalize()
- {
- this->operator*= (1.0f/length());
- return *this;
- }
-
- Vec3D operator~ () const
- {
- Vec3D r(*this);
- r.normalize();
- return r;
- }
-
- friend std::istream& operator>>(std::istream& in, Vec3D& v)
- {
- in >> v.x >> v.y >> v.z;
- return in;
- }
-
- friend std::ostream& operator<<(std::ostream& out, const Vec3D& v)
- {
- out << v.x << " " << v.y << " " << v.z;
- return out;
- }
-
- operator float*()
- {
- return (float*)this;
- }
-};
-
-
-class Vec2D
-{
-public:
- float x,y;
-
- Vec2D(float x0 = 0.0f, float y0 = 0.0f) : x(x0), y(y0) {}
-
- Vec2D(const Vec2D& v) : x(v.x), y(v.y) {}
-
- Vec2D& operator= (const Vec2D &v) {
- x = v.x;
- y = v.y;
- return *this;
- }
-
- Vec2D operator+ (const Vec2D &v) const
- {
- Vec2D r(x+v.x,y+v.y);
- return r;
- }
-
- Vec2D operator- (const Vec2D &v) const
- {
- Vec2D r(x-v.x,y-v.y);
- return r;
- }
-
- float operator* (const Vec2D &v) const
- {
- return x*v.x + y*v.y;
- }
-
- Vec2D operator* (float d) const
- {
- Vec2D r(x*d,y*d);
- return r;
- }
-
- friend Vec2D operator* (float d, const Vec2D& v)
- {
- return v * d;
- }
-
- Vec2D& operator+= (const Vec2D &v)
- {
- x += v.x;
- y += v.y;
- return *this;
- }
-
- Vec2D& operator-= (const Vec2D &v)
- {
- x -= v.x;
- y -= v.y;
- return *this;
- }
-
- Vec2D& operator*= (float d)
- {
- x *= d;
- y *= d;
- return *this;
- }
-
- float lengthSquared() const
- {
- return x*x+y*y;
- }
-
- float length() const
- {
- return sqrt(x*x+y*y);
- }
-
- Vec2D& normalize()
- {
- this->operator*= (1.0f/length());
- return *this;
- }
-
- Vec2D operator~ () const
- {
- Vec2D r(*this);
- r.normalize();
- return r;
- }
-
-
- friend std::istream& operator>>(std::istream& in, Vec2D& v)
- {
- in >> v.x >> v.y;
- return in;
- }
-
- operator float*()
- {
- return (float*)this;
- }
-};
-
-inline void rotate(float x0, float y0, float *x, float *y, float angle)
-{
- float xa = *x - x0, ya = *y - y0;
- *x = xa*cosf(angle) - ya*sinf(angle) + x0;
- *y = xa*sinf(angle) + ya*cosf(angle) + y0;
-}
-
-#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/wdtfile.h b/contrib/vmap_extractor_v4/vmapextract/wdtfile.h
deleted file mode 100644
index ef3ec6db9..000000000
--- a/contrib/vmap_extractor_v4/vmapextract/wdtfile.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef WDTFILE_H
-#define WDTFILE_H
-
-#include "mpqfile.h"
-#include "wmo.h"
-#include
-#include "stdlib.h"
-
-class ADTFile;
-
-class WDTFile
-{
-public:
- WDTFile(char* file_name, char* file_name1);
- ~WDTFile(void);
- bool init(char *map_id, unsigned int mapID);
-
- string* gWmoInstansName;
- int gnWMO, nMaps;
-
- ADTFile* GetMap(int x, int z);
-
-private:
- MPQFile WDT;
- bool maps[64][64];
- string filename;
-};
-
-#endif
diff --git a/contrib/vmap_extractor_v4/vmapextract/wmo.h b/contrib/vmap_extractor_v4/vmapextract/wmo.h
deleted file mode 100644
index f8b923c89..000000000
--- a/contrib/vmap_extractor_v4/vmapextract/wmo.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2005-2012 MaNGOS
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef WMO_H
-#define WMO_H
-#define TILESIZE (533.33333f)
-#define CHUNKSIZE ((TILESIZE) / 16.0f)
-
-#include
-#include
-#include "vec3d.h"
-#include "mpqfile.h"
-
-// MOPY flags
-#define WMO_MATERIAL_NOCAMCOLLIDE 0x01
-#define WMO_MATERIAL_DETAIL 0x02
-#define WMO_MATERIAL_NO_COLLISION 0x04
-#define WMO_MATERIAL_HINT 0x08
-#define WMO_MATERIAL_RENDER 0x10
-#define WMO_MATERIAL_COLLIDE_HIT 0x20
-#define WMO_MATERIAL_WALL_SURFACE 0x40
-
-class WMOInstance;
-class WMOManager;
-class MPQFile;
-
-/* for whatever reason a certain company just can't stick to one coordinate system... */
-static inline Vec3D fixCoords(const Vec3D &v){ return Vec3D(v.z, v.x, v.y); }
-
-class WMORoot
-{
-public:
- uint32 nTextures, nGroups, nP, nLights, nModels, nDoodads, nDoodadSets, RootWMOID, liquidType;
- unsigned int col;
- float bbcorn1[3];
- float bbcorn2[3];
-
- WMORoot(std::string &filename);
- ~WMORoot();
-
- bool open();
- bool ConvertToVMAPRootWmo(FILE *output);
-private:
- std::string filename;
- char outfilename;
-};
-
-struct WMOLiquidHeader
-{
- int xverts, yverts, xtiles, ytiles;
- float pos_x;
- float pos_y;
- float pos_z;
- short type;
-};
-
-struct WMOLiquidVert
-{
- uint16 unk1;
- uint16 unk2;
- float height;
-};
-
-class WMOGroup
-{
-public:
- // MOGP
- int groupName, descGroupName, mogpFlags;
- float bbcorn1[3];
- float bbcorn2[3];
- uint16 moprIdx;
- uint16 moprNItems;
- uint16 nBatchA;
- uint16 nBatchB;
- uint32 nBatchC, fogIdx, liquidType, groupWMOID;
-
- int mopy_size,moba_size;
- int LiquEx_size;
- unsigned int nVertices; // number when loaded
- int nTriangles; // number when loaded
- char *MOPY;
- uint16 *MOVI;
- uint16 *MoviEx;
- float *MOVT;
- uint16 *MOBA;
- int *MobaEx;
- WMOLiquidHeader *hlq;
- WMOLiquidVert *LiquEx;
- char *LiquBytes;
- uint32 liquflags;
-
- WMOGroup(std::string &filename);
- ~WMOGroup();
-
- bool open();
- int ConvertToVMAPGroupWmo(FILE *output, WMORoot *rootWMO, bool pPreciseVectorData);
-
-private:
- std::string filename;
- char outfilename;
-};
-
-class WMOInstance
-{
- static std::set ids;
-public:
- std::string MapName;
- int currx;
- int curry;
- WMOGroup *wmo;
- Vec3D pos;
- Vec3D pos2, pos3, rot;
- uint32 indx,id, d2, d3;
- int doodadset;
-
- WMOInstance(MPQFile &f,const char* WmoInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE *pDirfile);
-
- static void reset();
-};
-
-#endif
diff --git a/dep/ACE_wrappers/CMakeLists.txt b/dep/ACE_wrappers/CMakeLists.txt
index 42205c091..72e5acbca 100644
--- a/dep/ACE_wrappers/CMakeLists.txt
+++ b/dep/ACE_wrappers/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt
index eb9247981..3fd48df06 100644
--- a/dep/CMakeLists.txt
+++ b/dep/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,4 +26,4 @@ endif()
add_subdirectory(recastnavigation)
add_subdirectory(src)
-add_subdirectory(StormLib)
\ No newline at end of file
+add_subdirectory(StormLib)
diff --git a/dep/recastnavigation/CMakeLists.txt b/dep/recastnavigation/CMakeLists.txt
index d97b7b062..6f91756ad 100644
--- a/dep/recastnavigation/CMakeLists.txt
+++ b/dep/recastnavigation/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2011 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/recastnavigation/Detour/CMakeLists.txt b/dep/recastnavigation/Detour/CMakeLists.txt
index eec47ef0a..b0f847332 100644
--- a/dep/recastnavigation/Detour/CMakeLists.txt
+++ b/dep/recastnavigation/Detour/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2011 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/recastnavigation/Detour/Source/CMakeLists.txt b/dep/recastnavigation/Detour/Source/CMakeLists.txt
index f30da69af..7b01f8dae 100644
--- a/dep/recastnavigation/Detour/Source/CMakeLists.txt
+++ b/dep/recastnavigation/Detour/Source/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2011 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/src/CMakeLists.txt b/dep/src/CMakeLists.txt
index 8cc3b1e5e..e4f3b365e 100644
--- a/dep/src/CMakeLists.txt
+++ b/dep/src/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/src/g3dlite/CMakeLists.txt b/dep/src/g3dlite/CMakeLists.txt
index a35db2d9a..0f497b3a3 100644
--- a/dep/src/g3dlite/CMakeLists.txt
+++ b/dep/src/g3dlite/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/src/gsoap/CMakeLists.txt b/dep/src/gsoap/CMakeLists.txt
index 91f5005fe..1f93961f1 100644
--- a/dep/src/gsoap/CMakeLists.txt
+++ b/dep/src/gsoap/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/src/zlib/CMakeLists.txt b/dep/src/zlib/CMakeLists.txt
index a9fd02ea6..8211136d4 100644
--- a/dep/src/zlib/CMakeLists.txt
+++ b/dep/src/zlib/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/dep/tbb/CMakeLists.txt b/dep/tbb/CMakeLists.txt
index c7ff09593..2de5a53fc 100644
--- a/dep/tbb/CMakeLists.txt
+++ b/dep/tbb/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 579ea60a2..1ce03c350 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -2,7 +2,7 @@
## Script processing
-- --------------------------
-Copyright (C) 2010-2012 MaNGOS
+This file is part of the Continued-MaNGOS Project
-- --------------------------
## id
diff --git a/sql/tools/README b/sql/tools/README
index d657a9f14..bcccb26f2 100644
--- a/sql/tools/README
+++ b/sql/tools/README
@@ -1,6 +1,6 @@
= MaNGOS -- README =
-Copyright (C) 2005-2012 MaNGOS
+This file is part of the Continued-MaNGOS Project
See the COPYING file for copying conditions.
diff --git a/sql/updates/README b/sql/updates/README
index 9d7e1a4e7..6adf71117 100644
--- a/sql/updates/README
+++ b/sql/updates/README
@@ -1,6 +1,6 @@
= MaNGOS -- README =
-Copyright (C) 2005-2012 MaNGOS
+This file is part of the Continued-MaNGOS Project
See the COPYING file for copying conditions.
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index cfcf2f6fc..63d1de562 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/CMakeLists.txt b/src/bindings/CMakeLists.txt
index 63d7da546..ba02bdd86 100644
--- a/src/bindings/CMakeLists.txt
+++ b/src/bindings/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/CMakeLists.txt b/src/bindings/universal/CMakeLists.txt
index 651bba6d0..7d4c40913 100644
--- a/src/bindings/universal/CMakeLists.txt
+++ b/src/bindings/universal/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/ScriptMgr.cpp b/src/bindings/universal/ScriptMgr.cpp
index 3d835f47d..b976a60fd 100644
--- a/src/bindings/universal/ScriptMgr.cpp
+++ b/src/bindings/universal/ScriptMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/ScriptMgr.h b/src/bindings/universal/ScriptMgr.h
index d16352729..c93391d84 100644
--- a/src/bindings/universal/ScriptMgr.h
+++ b/src/bindings/universal/ScriptMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/Scripts/sc_default.cpp b/src/bindings/universal/Scripts/sc_default.cpp
index 340890638..29d51b27c 100644
--- a/src/bindings/universal/Scripts/sc_default.cpp
+++ b/src/bindings/universal/Scripts/sc_default.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/Scripts/sc_defines.cpp b/src/bindings/universal/Scripts/sc_defines.cpp
index 4f50b011d..68dc591d3 100644
--- a/src/bindings/universal/Scripts/sc_defines.cpp
+++ b/src/bindings/universal/Scripts/sc_defines.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/Scripts/sc_defines.h b/src/bindings/universal/Scripts/sc_defines.h
index c47c78f91..8734313dc 100644
--- a/src/bindings/universal/Scripts/sc_defines.h
+++ b/src/bindings/universal/Scripts/sc_defines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/config.h b/src/bindings/universal/config.h
index 2107fa14b..5bfdda7f8 100644
--- a/src/bindings/universal/config.h
+++ b/src/bindings/universal/config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/bindings/universal/system.cpp b/src/bindings/universal/system.cpp
index 41635b577..9cd2ce752 100644
--- a/src/bindings/universal/system.cpp
+++ b/src/bindings/universal/system.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/CMakeLists.txt b/src/framework/CMakeLists.txt
index c6014c299..1ad86a898 100644
--- a/src/framework/CMakeLists.txt
+++ b/src/framework/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Dynamic/FactoryHolder.h b/src/framework/Dynamic/FactoryHolder.h
index 3a89d6ef6..71d74449b 100644
--- a/src/framework/Dynamic/FactoryHolder.h
+++ b/src/framework/Dynamic/FactoryHolder.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Dynamic/ObjectRegistry.h b/src/framework/Dynamic/ObjectRegistry.h
index 21192a340..f4f4844d8 100644
--- a/src/framework/Dynamic/ObjectRegistry.h
+++ b/src/framework/Dynamic/ObjectRegistry.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/Grid.h b/src/framework/GameSystem/Grid.h
index e92531b2c..1c5dd9c2a 100644
--- a/src/framework/GameSystem/Grid.h
+++ b/src/framework/GameSystem/Grid.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/GridLoader.h b/src/framework/GameSystem/GridLoader.h
index 7413a821d..6d35b06d4 100644
--- a/src/framework/GameSystem/GridLoader.h
+++ b/src/framework/GameSystem/GridLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/GridRefManager.h b/src/framework/GameSystem/GridRefManager.h
index d9b5fa7b0..51da2c90d 100644
--- a/src/framework/GameSystem/GridRefManager.h
+++ b/src/framework/GameSystem/GridRefManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/GridReference.h b/src/framework/GameSystem/GridReference.h
index 6f1442e25..92f4b174e 100644
--- a/src/framework/GameSystem/GridReference.h
+++ b/src/framework/GameSystem/GridReference.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/NGrid.h b/src/framework/GameSystem/NGrid.h
index 6323cd5e8..8b0a75e52 100644
--- a/src/framework/GameSystem/NGrid.h
+++ b/src/framework/GameSystem/NGrid.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/TypeContainer.h b/src/framework/GameSystem/TypeContainer.h
index 1f1a89eff..2379f870d 100644
--- a/src/framework/GameSystem/TypeContainer.h
+++ b/src/framework/GameSystem/TypeContainer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/TypeContainerFunctions.h b/src/framework/GameSystem/TypeContainerFunctions.h
index 99ac96cab..3c7f40dcd 100644
--- a/src/framework/GameSystem/TypeContainerFunctions.h
+++ b/src/framework/GameSystem/TypeContainerFunctions.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/GameSystem/TypeContainerVisitor.h b/src/framework/GameSystem/TypeContainerVisitor.h
index 1dfed6592..9cf07bc65 100644
--- a/src/framework/GameSystem/TypeContainerVisitor.h
+++ b/src/framework/GameSystem/TypeContainerVisitor.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Platform/CompilerDefs.h b/src/framework/Platform/CompilerDefs.h
index 558cc4900..85341b050 100644
--- a/src/framework/Platform/CompilerDefs.h
+++ b/src/framework/Platform/CompilerDefs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Platform/Define.h b/src/framework/Platform/Define.h
index 4f840ea03..cd25edd7c 100644
--- a/src/framework/Platform/Define.h
+++ b/src/framework/Platform/Define.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Policies/CreationPolicy.h b/src/framework/Policies/CreationPolicy.h
index 23dd0cdfb..644e89f8b 100644
--- a/src/framework/Policies/CreationPolicy.h
+++ b/src/framework/Policies/CreationPolicy.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Policies/MemoryManagement.cpp b/src/framework/Policies/MemoryManagement.cpp
index 91f32d429..373f6414f 100644
--- a/src/framework/Policies/MemoryManagement.cpp
+++ b/src/framework/Policies/MemoryManagement.cpp
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2009-2012 MaNGOS
+* This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Policies/ObjectLifeTime.cpp b/src/framework/Policies/ObjectLifeTime.cpp
index adf3b70c3..0e07efdac 100644
--- a/src/framework/Policies/ObjectLifeTime.cpp
+++ b/src/framework/Policies/ObjectLifeTime.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Policies/ObjectLifeTime.h b/src/framework/Policies/ObjectLifeTime.h
index 2c8d17b16..bededdbc7 100644
--- a/src/framework/Policies/ObjectLifeTime.h
+++ b/src/framework/Policies/ObjectLifeTime.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Policies/Singleton.h b/src/framework/Policies/Singleton.h
index 09916ff29..a909519c7 100644
--- a/src/framework/Policies/Singleton.h
+++ b/src/framework/Policies/Singleton.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Policies/ThreadingModel.h b/src/framework/Policies/ThreadingModel.h
index f93f177b9..deb987821 100644
--- a/src/framework/Policies/ThreadingModel.h
+++ b/src/framework/Policies/ThreadingModel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/ByteConverter.h b/src/framework/Utilities/ByteConverter.h
index 0e1898077..ad0f21d19 100644
--- a/src/framework/Utilities/ByteConverter.h
+++ b/src/framework/Utilities/ByteConverter.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/Callback.h b/src/framework/Utilities/Callback.h
index 7369a9d81..88c99a5bc 100644
--- a/src/framework/Utilities/Callback.h
+++ b/src/framework/Utilities/Callback.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/EventProcessor.cpp b/src/framework/Utilities/EventProcessor.cpp
index 873f3b1e5..7c311c1aa 100644
--- a/src/framework/Utilities/EventProcessor.cpp
+++ b/src/framework/Utilities/EventProcessor.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/EventProcessor.h b/src/framework/Utilities/EventProcessor.h
index 617bf86c4..ac25aa884 100644
--- a/src/framework/Utilities/EventProcessor.h
+++ b/src/framework/Utilities/EventProcessor.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/LinkedList.h b/src/framework/Utilities/LinkedList.h
index 84f902b7d..630d19bb9 100644
--- a/src/framework/Utilities/LinkedList.h
+++ b/src/framework/Utilities/LinkedList.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/LinkedReference/RefManager.h b/src/framework/Utilities/LinkedReference/RefManager.h
index bb42ce9b4..1a9f22c97 100644
--- a/src/framework/Utilities/LinkedReference/RefManager.h
+++ b/src/framework/Utilities/LinkedReference/RefManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/LinkedReference/Reference.h b/src/framework/Utilities/LinkedReference/Reference.h
index 96bd7b956..2066006d9 100644
--- a/src/framework/Utilities/LinkedReference/Reference.h
+++ b/src/framework/Utilities/LinkedReference/Reference.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/TypeList.h b/src/framework/Utilities/TypeList.h
index 2c092ae4e..7d9c5fca7 100644
--- a/src/framework/Utilities/TypeList.h
+++ b/src/framework/Utilities/TypeList.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/framework/Utilities/UnorderedMapSet.h b/src/framework/Utilities/UnorderedMapSet.h
index 9d4c060e7..4613c16bb 100644
--- a/src/framework/Utilities/UnorderedMapSet.h
+++ b/src/framework/Utilities/UnorderedMapSet.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AccountMgr.cpp b/src/game/AccountMgr.cpp
index 3fbb23f6d..4441598b1 100644
--- a/src/game/AccountMgr.cpp
+++ b/src/game/AccountMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AccountMgr.h b/src/game/AccountMgr.h
index 9771d1124..4b476de62 100644
--- a/src/game/AccountMgr.h
+++ b/src/game/AccountMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp
index efcda3b29..4c40d8379 100644
--- a/src/game/AchievementMgr.cpp
+++ b/src/game/AchievementMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AchievementMgr.h b/src/game/AchievementMgr.h
index c75f78e2c..a30565caf 100644
--- a/src/game/AchievementMgr.h
+++ b/src/game/AchievementMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AggressorAI.cpp b/src/game/AggressorAI.cpp
index eb5af8fb5..49921f758 100644
--- a/src/game/AggressorAI.cpp
+++ b/src/game/AggressorAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AggressorAI.h b/src/game/AggressorAI.h
index e0d62989e..39d2b12d4 100644
--- a/src/game/AggressorAI.h
+++ b/src/game/AggressorAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ArenaTeam.cpp b/src/game/ArenaTeam.cpp
index 44aed8f9b..33364a1e4 100644
--- a/src/game/ArenaTeam.cpp
+++ b/src/game/ArenaTeam.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ArenaTeam.h b/src/game/ArenaTeam.h
index e90d36ca2..2f3c89cad 100644
--- a/src/game/ArenaTeam.h
+++ b/src/game/ArenaTeam.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ArenaTeamHandler.cpp b/src/game/ArenaTeamHandler.cpp
index eab3891df..414ded691 100644
--- a/src/game/ArenaTeamHandler.cpp
+++ b/src/game/ArenaTeamHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AuctionHouseHandler.cpp b/src/game/AuctionHouseHandler.cpp
index 5edd9432a..f92004f61 100644
--- a/src/game/AuctionHouseHandler.cpp
+++ b/src/game/AuctionHouseHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AuctionHouseMgr.cpp b/src/game/AuctionHouseMgr.cpp
index f8d0bba3f..b17b5dcc5 100644
--- a/src/game/AuctionHouseMgr.cpp
+++ b/src/game/AuctionHouseMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/AuctionHouseMgr.h b/src/game/AuctionHouseMgr.h
index fd4b7b51a..3e4a4d617 100644
--- a/src/game/AuctionHouseMgr.h
+++ b/src/game/AuctionHouseMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Bag.cpp b/src/game/Bag.cpp
index 742b8d545..c753f01db 100644
--- a/src/game/Bag.cpp
+++ b/src/game/Bag.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Bag.h b/src/game/Bag.h
index 3783cea01..f9357a9a6 100644
--- a/src/game/Bag.h
+++ b/src/game/Bag.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGround.cpp b/src/game/BattleGround/BattleGround.cpp
index f179bbf10..d0d3bc52f 100644
--- a/src/game/BattleGround/BattleGround.cpp
+++ b/src/game/BattleGround/BattleGround.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGround.h b/src/game/BattleGround/BattleGround.h
index f2e704fcf..eab9a9900 100644
--- a/src/game/BattleGround/BattleGround.h
+++ b/src/game/BattleGround/BattleGround.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundAA.cpp b/src/game/BattleGround/BattleGroundAA.cpp
index a00039fa7..5628fc3fd 100644
--- a/src/game/BattleGround/BattleGroundAA.cpp
+++ b/src/game/BattleGround/BattleGroundAA.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundAA.h b/src/game/BattleGround/BattleGroundAA.h
index bf074b2d0..d9776d3e6 100644
--- a/src/game/BattleGround/BattleGroundAA.h
+++ b/src/game/BattleGround/BattleGroundAA.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundAB.cpp b/src/game/BattleGround/BattleGroundAB.cpp
index b1157ea85..61086d87a 100644
--- a/src/game/BattleGround/BattleGroundAB.cpp
+++ b/src/game/BattleGround/BattleGroundAB.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundAB.h b/src/game/BattleGround/BattleGroundAB.h
index 044bdc85e..4df366e39 100644
--- a/src/game/BattleGround/BattleGroundAB.h
+++ b/src/game/BattleGround/BattleGroundAB.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundAV.cpp b/src/game/BattleGround/BattleGroundAV.cpp
index 1632eadd0..83ab57dc8 100644
--- a/src/game/BattleGround/BattleGroundAV.cpp
+++ b/src/game/BattleGround/BattleGroundAV.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundAV.h b/src/game/BattleGround/BattleGroundAV.h
index b88c988bb..123e69221 100644
--- a/src/game/BattleGround/BattleGroundAV.h
+++ b/src/game/BattleGround/BattleGroundAV.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundBE.cpp b/src/game/BattleGround/BattleGroundBE.cpp
index d8c6e1f19..8536ee82e 100644
--- a/src/game/BattleGround/BattleGroundBE.cpp
+++ b/src/game/BattleGround/BattleGroundBE.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundBE.h b/src/game/BattleGround/BattleGroundBE.h
index 6f326e137..0af20f755 100644
--- a/src/game/BattleGround/BattleGroundBE.h
+++ b/src/game/BattleGround/BattleGroundBE.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundDS.cpp b/src/game/BattleGround/BattleGroundDS.cpp
index a6c496c0a..349277eb1 100644
--- a/src/game/BattleGround/BattleGroundDS.cpp
+++ b/src/game/BattleGround/BattleGroundDS.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundDS.h b/src/game/BattleGround/BattleGroundDS.h
index a8c096a89..238adcad5 100644
--- a/src/game/BattleGround/BattleGroundDS.h
+++ b/src/game/BattleGround/BattleGroundDS.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundEY.cpp b/src/game/BattleGround/BattleGroundEY.cpp
index 553b7f0a3..0ea3720f0 100644
--- a/src/game/BattleGround/BattleGroundEY.cpp
+++ b/src/game/BattleGround/BattleGroundEY.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundEY.h b/src/game/BattleGround/BattleGroundEY.h
index 84b323fe1..5d4110a38 100644
--- a/src/game/BattleGround/BattleGroundEY.h
+++ b/src/game/BattleGround/BattleGroundEY.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundHandler.cpp b/src/game/BattleGround/BattleGroundHandler.cpp
index a59c1847d..3de505535 100644
--- a/src/game/BattleGround/BattleGroundHandler.cpp
+++ b/src/game/BattleGround/BattleGroundHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundIC.cpp b/src/game/BattleGround/BattleGroundIC.cpp
index b95b2e50a..486ca1d0a 100644
--- a/src/game/BattleGround/BattleGroundIC.cpp
+++ b/src/game/BattleGround/BattleGroundIC.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundIC.h b/src/game/BattleGround/BattleGroundIC.h
index 6a03b4083..3bbb6c2be 100644
--- a/src/game/BattleGround/BattleGroundIC.h
+++ b/src/game/BattleGround/BattleGroundIC.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundMgr.cpp b/src/game/BattleGround/BattleGroundMgr.cpp
index 353dcb204..06b0dc2ca 100644
--- a/src/game/BattleGround/BattleGroundMgr.cpp
+++ b/src/game/BattleGround/BattleGroundMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundMgr.h b/src/game/BattleGround/BattleGroundMgr.h
index 1b107b93c..ba7d59263 100644
--- a/src/game/BattleGround/BattleGroundMgr.h
+++ b/src/game/BattleGround/BattleGroundMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundNA.cpp b/src/game/BattleGround/BattleGroundNA.cpp
index 447fe9909..7c8729e0f 100644
--- a/src/game/BattleGround/BattleGroundNA.cpp
+++ b/src/game/BattleGround/BattleGroundNA.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundNA.h b/src/game/BattleGround/BattleGroundNA.h
index df23e6002..53d642aad 100644
--- a/src/game/BattleGround/BattleGroundNA.h
+++ b/src/game/BattleGround/BattleGroundNA.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundRB.cpp b/src/game/BattleGround/BattleGroundRB.cpp
index 734d1eee8..fe742083e 100644
--- a/src/game/BattleGround/BattleGroundRB.cpp
+++ b/src/game/BattleGround/BattleGroundRB.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundRB.h b/src/game/BattleGround/BattleGroundRB.h
index 7668443e8..e06b2af57 100644
--- a/src/game/BattleGround/BattleGroundRB.h
+++ b/src/game/BattleGround/BattleGroundRB.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundRL.cpp b/src/game/BattleGround/BattleGroundRL.cpp
index f481b5870..6b91a1535 100644
--- a/src/game/BattleGround/BattleGroundRL.cpp
+++ b/src/game/BattleGround/BattleGroundRL.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundRL.h b/src/game/BattleGround/BattleGroundRL.h
index 3bd840a84..2f2657a4b 100644
--- a/src/game/BattleGround/BattleGroundRL.h
+++ b/src/game/BattleGround/BattleGroundRL.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundRV.cpp b/src/game/BattleGround/BattleGroundRV.cpp
index 39e1d28fc..18ad8abdf 100644
--- a/src/game/BattleGround/BattleGroundRV.cpp
+++ b/src/game/BattleGround/BattleGroundRV.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundRV.h b/src/game/BattleGround/BattleGroundRV.h
index 2f41a9dc4..f03dcda3f 100644
--- a/src/game/BattleGround/BattleGroundRV.h
+++ b/src/game/BattleGround/BattleGroundRV.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundSA.cpp b/src/game/BattleGround/BattleGroundSA.cpp
index 5321ecf01..6def1a8d4 100644
--- a/src/game/BattleGround/BattleGroundSA.cpp
+++ b/src/game/BattleGround/BattleGroundSA.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundSA.h b/src/game/BattleGround/BattleGroundSA.h
index 8aa5ad811..e9a7c591b 100644
--- a/src/game/BattleGround/BattleGroundSA.h
+++ b/src/game/BattleGround/BattleGroundSA.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundWS.cpp b/src/game/BattleGround/BattleGroundWS.cpp
index 3e542aba3..9a72fed0f 100644
--- a/src/game/BattleGround/BattleGroundWS.cpp
+++ b/src/game/BattleGround/BattleGroundWS.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/BattleGround/BattleGroundWS.h b/src/game/BattleGround/BattleGroundWS.h
index 1364d66bb..5591c3aaf 100644
--- a/src/game/BattleGround/BattleGroundWS.h
+++ b/src/game/BattleGround/BattleGroundWS.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt
index 8544147fe..e519157a3 100644
--- a/src/game/CMakeLists.txt
+++ b/src/game/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2005-2012 MaNGOS project
+# This file is part of the Continued-MaNGOS Project
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/src/game/Calendar.cpp b/src/game/Calendar.cpp
index d2dba8854..2bf94dcc3 100644
--- a/src/game/Calendar.cpp
+++ b/src/game/Calendar.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Calendar.h b/src/game/Calendar.h
index 719f868a5..9f9a12d11 100644
--- a/src/game/Calendar.h
+++ b/src/game/Calendar.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CalendarHandler.cpp b/src/game/CalendarHandler.cpp
index 88838e65e..1821ba002 100644
--- a/src/game/CalendarHandler.cpp
+++ b/src/game/CalendarHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Camera.cpp b/src/game/Camera.cpp
index d5360c023..b4965b3bd 100644
--- a/src/game/Camera.cpp
+++ b/src/game/Camera.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Camera.h b/src/game/Camera.h
index 66cb7709c..98b31be4e 100644
--- a/src/game/Camera.h
+++ b/src/game/Camera.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Cell.h b/src/game/Cell.h
index 04c357a8a..93f84b798 100644
--- a/src/game/Cell.h
+++ b/src/game/Cell.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CellImpl.h b/src/game/CellImpl.h
index a59c5eeef..4165bf8c6 100644
--- a/src/game/CellImpl.h
+++ b/src/game/CellImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Channel.cpp b/src/game/Channel.cpp
index b5ab63c42..037425a0a 100644
--- a/src/game/Channel.cpp
+++ b/src/game/Channel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Channel.h b/src/game/Channel.h
index 0dd76efe7..3700390d9 100644
--- a/src/game/Channel.h
+++ b/src/game/Channel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ChannelHandler.cpp b/src/game/ChannelHandler.cpp
index bc96a7543..f6dd267e0 100644
--- a/src/game/ChannelHandler.cpp
+++ b/src/game/ChannelHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ChannelMgr.cpp b/src/game/ChannelMgr.cpp
index b71c4140c..f65a3a9a2 100644
--- a/src/game/ChannelMgr.cpp
+++ b/src/game/ChannelMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ChannelMgr.h b/src/game/ChannelMgr.h
index abdf0a0db..4ec725a1f 100644
--- a/src/game/ChannelMgr.h
+++ b/src/game/ChannelMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CharacterDatabaseCleaner.cpp b/src/game/CharacterDatabaseCleaner.cpp
index 1ea9f715c..00f45cb7f 100644
--- a/src/game/CharacterDatabaseCleaner.cpp
+++ b/src/game/CharacterDatabaseCleaner.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CharacterDatabaseCleaner.h b/src/game/CharacterDatabaseCleaner.h
index f7fcf374f..ee4fd2096 100644
--- a/src/game/CharacterDatabaseCleaner.h
+++ b/src/game/CharacterDatabaseCleaner.h
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2005-2012 MaNGOS
+* This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp
index 5e877e154..fdc0b01af 100644
--- a/src/game/CharacterHandler.cpp
+++ b/src/game/CharacterHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 1d551622f..e4c15d35f 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Chat.h b/src/game/Chat.h
index e146a0dbb..b31ced49f 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ChatHandler.cpp b/src/game/ChatHandler.cpp
index 1c7373968..0ab2d58f4 100644
--- a/src/game/ChatHandler.cpp
+++ b/src/game/ChatHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CombatHandler.cpp b/src/game/CombatHandler.cpp
index 38920faa6..5547ed62b 100644
--- a/src/game/CombatHandler.cpp
+++ b/src/game/CombatHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ConfusedMovementGenerator.cpp b/src/game/ConfusedMovementGenerator.cpp
index c268cf989..c6d5f0da9 100644
--- a/src/game/ConfusedMovementGenerator.cpp
+++ b/src/game/ConfusedMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ConfusedMovementGenerator.h b/src/game/ConfusedMovementGenerator.h
index ba2b33c44..ac7073f84 100644
--- a/src/game/ConfusedMovementGenerator.h
+++ b/src/game/ConfusedMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Corpse.cpp b/src/game/Corpse.cpp
index 1cfdec49c..8e4aa8da3 100644
--- a/src/game/Corpse.cpp
+++ b/src/game/Corpse.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Corpse.h b/src/game/Corpse.h
index 9ad27aa6a..8bfc01407 100644
--- a/src/game/Corpse.h
+++ b/src/game/Corpse.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp
index 6bde809db..951c13d53 100644
--- a/src/game/Creature.cpp
+++ b/src/game/Creature.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Creature.h b/src/game/Creature.h
index ba89bc255..9315734e9 100644
--- a/src/game/Creature.h
+++ b/src/game/Creature.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp
index dc75638f9..3ee28072a 100644
--- a/src/game/CreatureAI.cpp
+++ b/src/game/CreatureAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAI.h b/src/game/CreatureAI.h
index 14a58fb87..f4d7c59a2 100644
--- a/src/game/CreatureAI.h
+++ b/src/game/CreatureAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAIImpl.h b/src/game/CreatureAIImpl.h
index 29eff6901..caf678186 100644
--- a/src/game/CreatureAIImpl.h
+++ b/src/game/CreatureAIImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAIRegistry.cpp b/src/game/CreatureAIRegistry.cpp
index f42537231..696bc94ac 100644
--- a/src/game/CreatureAIRegistry.cpp
+++ b/src/game/CreatureAIRegistry.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAIRegistry.h b/src/game/CreatureAIRegistry.h
index 65f46b6ca..f0f9688a0 100644
--- a/src/game/CreatureAIRegistry.h
+++ b/src/game/CreatureAIRegistry.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAISelector.cpp b/src/game/CreatureAISelector.cpp
index 912f7e955..2e6dc535a 100644
--- a/src/game/CreatureAISelector.cpp
+++ b/src/game/CreatureAISelector.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureAISelector.h b/src/game/CreatureAISelector.h
index 077902e04..cdfc850bd 100644
--- a/src/game/CreatureAISelector.h
+++ b/src/game/CreatureAISelector.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureEventAI.cpp b/src/game/CreatureEventAI.cpp
index 3673080fe..386c67175 100644
--- a/src/game/CreatureEventAI.cpp
+++ b/src/game/CreatureEventAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureEventAI.h b/src/game/CreatureEventAI.h
index 59835f915..87079e168 100644
--- a/src/game/CreatureEventAI.h
+++ b/src/game/CreatureEventAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureEventAIMgr.cpp b/src/game/CreatureEventAIMgr.cpp
index b0a5182f6..c80a7e988 100644
--- a/src/game/CreatureEventAIMgr.cpp
+++ b/src/game/CreatureEventAIMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureEventAIMgr.h b/src/game/CreatureEventAIMgr.h
index 108152f68..6dbc88055 100644
--- a/src/game/CreatureEventAIMgr.h
+++ b/src/game/CreatureEventAIMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureLinkingMgr.cpp b/src/game/CreatureLinkingMgr.cpp
index a0f7b03c5..14ff4fbf0 100644
--- a/src/game/CreatureLinkingMgr.cpp
+++ b/src/game/CreatureLinkingMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/CreatureLinkingMgr.h b/src/game/CreatureLinkingMgr.h
index 184a89fd3..baafb8df0 100644
--- a/src/game/CreatureLinkingMgr.h
+++ b/src/game/CreatureLinkingMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DBCEnums.h b/src/game/DBCEnums.h
index 6b6ca61de..91ff8bcd4 100644
--- a/src/game/DBCEnums.h
+++ b/src/game/DBCEnums.h
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2005-2012 MaNGOS
+* This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DBCStores.cpp b/src/game/DBCStores.cpp
index e7a3a5099..7b17f933d 100644
--- a/src/game/DBCStores.cpp
+++ b/src/game/DBCStores.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DBCStores.h b/src/game/DBCStores.h
index ea4977a74..5c0120861 100644
--- a/src/game/DBCStores.h
+++ b/src/game/DBCStores.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DBCStructure.h b/src/game/DBCStructure.h
index bb8de8389..885964749 100644
--- a/src/game/DBCStructure.h
+++ b/src/game/DBCStructure.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DBCfmt.h b/src/game/DBCfmt.h
index 68b21c4af..35dd78a36 100644
--- a/src/game/DBCfmt.h
+++ b/src/game/DBCfmt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DuelHandler.cpp b/src/game/DuelHandler.cpp
index b36370d63..b314aa10b 100644
--- a/src/game/DuelHandler.cpp
+++ b/src/game/DuelHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DynamicObject.cpp b/src/game/DynamicObject.cpp
index 18e98d7e6..c270097ed 100644
--- a/src/game/DynamicObject.cpp
+++ b/src/game/DynamicObject.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/DynamicObject.h b/src/game/DynamicObject.h
index 3e389ca6e..a4cc545f5 100644
--- a/src/game/DynamicObject.h
+++ b/src/game/DynamicObject.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/FleeingMovementGenerator.cpp b/src/game/FleeingMovementGenerator.cpp
index 23d08f2e6..29ac64cb9 100644
--- a/src/game/FleeingMovementGenerator.cpp
+++ b/src/game/FleeingMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/FleeingMovementGenerator.h b/src/game/FleeingMovementGenerator.h
index e3f1e79b9..266cfe717 100644
--- a/src/game/FleeingMovementGenerator.h
+++ b/src/game/FleeingMovementGenerator.h
@@ -1,5 +1,5 @@
/*
-* Copyright (C) 2005-2012 MaNGOS
+* This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/FollowerRefManager.h b/src/game/FollowerRefManager.h
index ef125438b..c3275ebb2 100644
--- a/src/game/FollowerRefManager.h
+++ b/src/game/FollowerRefManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/FollowerReference.cpp b/src/game/FollowerReference.cpp
index 3335b0aa8..1a5708148 100644
--- a/src/game/FollowerReference.cpp
+++ b/src/game/FollowerReference.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/FollowerReference.h b/src/game/FollowerReference.h
index a1eb540fd..fb5cd1689 100644
--- a/src/game/FollowerReference.h
+++ b/src/game/FollowerReference.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Formulas.h b/src/game/Formulas.h
index 67c5126b3..0d758a272 100644
--- a/src/game/Formulas.h
+++ b/src/game/Formulas.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GMTicketHandler.cpp b/src/game/GMTicketHandler.cpp
index 6f8e13fa1..553db65e5 100644
--- a/src/game/GMTicketHandler.cpp
+++ b/src/game/GMTicketHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GMTicketMgr.cpp b/src/game/GMTicketMgr.cpp
index 430900566..ae063ec9f 100644
--- a/src/game/GMTicketMgr.cpp
+++ b/src/game/GMTicketMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GMTicketMgr.h b/src/game/GMTicketMgr.h
index a06d47c58..d715b9198 100644
--- a/src/game/GMTicketMgr.h
+++ b/src/game/GMTicketMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GameEventMgr.cpp b/src/game/GameEventMgr.cpp
index 5c4848d21..ccb8ee5fe 100644
--- a/src/game/GameEventMgr.cpp
+++ b/src/game/GameEventMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GameEventMgr.h b/src/game/GameEventMgr.h
index 4c617c686..559af3cc9 100644
--- a/src/game/GameEventMgr.h
+++ b/src/game/GameEventMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp
index c9481ce6d..759457e06 100644
--- a/src/game/GameObject.cpp
+++ b/src/game/GameObject.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GameObject.h b/src/game/GameObject.h
index 005d03a6c..d1e15122b 100644
--- a/src/game/GameObject.h
+++ b/src/game/GameObject.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GossipDef.cpp b/src/game/GossipDef.cpp
index 225c8b9f4..6f026dab6 100644
--- a/src/game/GossipDef.cpp
+++ b/src/game/GossipDef.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GossipDef.h b/src/game/GossipDef.h
index 75181b5db..7f3cd13d7 100644
--- a/src/game/GossipDef.h
+++ b/src/game/GossipDef.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridDefines.h b/src/game/GridDefines.h
index 807d316eb..aa1bfbf56 100644
--- a/src/game/GridDefines.h
+++ b/src/game/GridDefines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridMap.cpp b/src/game/GridMap.cpp
index a10cc59e4..6e9772972 100644
--- a/src/game/GridMap.cpp
+++ b/src/game/GridMap.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridMap.h b/src/game/GridMap.h
index e29e20d5a..0edfd67c0 100644
--- a/src/game/GridMap.h
+++ b/src/game/GridMap.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridNotifiers.cpp b/src/game/GridNotifiers.cpp
index 1de2e0f62..c379ed2b1 100644
--- a/src/game/GridNotifiers.cpp
+++ b/src/game/GridNotifiers.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridNotifiers.h b/src/game/GridNotifiers.h
index c86d6e72f..064a33957 100644
--- a/src/game/GridNotifiers.h
+++ b/src/game/GridNotifiers.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h
index 3a8b221ba..1707c375a 100644
--- a/src/game/GridNotifiersImpl.h
+++ b/src/game/GridNotifiersImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridStates.cpp b/src/game/GridStates.cpp
index 890dae7ba..ba41c82c6 100644
--- a/src/game/GridStates.cpp
+++ b/src/game/GridStates.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GridStates.h b/src/game/GridStates.h
index a3b321886..1a9dacbc9 100644
--- a/src/game/GridStates.h
+++ b/src/game/GridStates.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Group.cpp b/src/game/Group.cpp
index 6a3a6a073..34ca25695 100644
--- a/src/game/Group.cpp
+++ b/src/game/Group.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Group.h b/src/game/Group.h
index df6b7dba6..4ed800d52 100644
--- a/src/game/Group.h
+++ b/src/game/Group.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp
index 378e2fefe..871ff75fe 100644
--- a/src/game/GroupHandler.cpp
+++ b/src/game/GroupHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GroupRefManager.h b/src/game/GroupRefManager.h
index 1f9fc018e..2e8a7034f 100644
--- a/src/game/GroupRefManager.h
+++ b/src/game/GroupRefManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GroupReference.cpp b/src/game/GroupReference.cpp
index 5987fd04f..029d84169 100644
--- a/src/game/GroupReference.cpp
+++ b/src/game/GroupReference.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GroupReference.h b/src/game/GroupReference.h
index 1b24ac83c..304d145eb 100644
--- a/src/game/GroupReference.h
+++ b/src/game/GroupReference.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GuardAI.cpp b/src/game/GuardAI.cpp
index 672f6432c..165aaf5a4 100644
--- a/src/game/GuardAI.cpp
+++ b/src/game/GuardAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GuardAI.h b/src/game/GuardAI.h
index 1187d2144..9c3b0391b 100644
--- a/src/game/GuardAI.h
+++ b/src/game/GuardAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp
index ffc5409f5..631ee8fd5 100644
--- a/src/game/Guild.cpp
+++ b/src/game/Guild.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Guild.h b/src/game/Guild.h
index 728011df8..fad149c05 100644
--- a/src/game/Guild.h
+++ b/src/game/Guild.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GuildHandler.cpp b/src/game/GuildHandler.cpp
index 1c4741979..c402e4fb3 100644
--- a/src/game/GuildHandler.cpp
+++ b/src/game/GuildHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GuildMgr.cpp b/src/game/GuildMgr.cpp
index e5a9fb33b..94fc7c6b6 100644
--- a/src/game/GuildMgr.cpp
+++ b/src/game/GuildMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/GuildMgr.h b/src/game/GuildMgr.h
index fd6db8104..f328897c1 100644
--- a/src/game/GuildMgr.h
+++ b/src/game/GuildMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/HomeMovementGenerator.cpp b/src/game/HomeMovementGenerator.cpp
index 54c32478d..482ab1c2b 100644
--- a/src/game/HomeMovementGenerator.cpp
+++ b/src/game/HomeMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/HomeMovementGenerator.h b/src/game/HomeMovementGenerator.h
index 170909827..2fdcf716f 100644
--- a/src/game/HomeMovementGenerator.h
+++ b/src/game/HomeMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/HostileRefManager.cpp b/src/game/HostileRefManager.cpp
index 2f4d36a5c..0f8b13632 100644
--- a/src/game/HostileRefManager.cpp
+++ b/src/game/HostileRefManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/HostileRefManager.h b/src/game/HostileRefManager.h
index f666ac23a..6cf9449ac 100644
--- a/src/game/HostileRefManager.h
+++ b/src/game/HostileRefManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/IdleMovementGenerator.cpp b/src/game/IdleMovementGenerator.cpp
index 7ebbd0e3d..bcb4decfb 100644
--- a/src/game/IdleMovementGenerator.cpp
+++ b/src/game/IdleMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/IdleMovementGenerator.h b/src/game/IdleMovementGenerator.h
index 23a8f3475..981faed5e 100644
--- a/src/game/IdleMovementGenerator.h
+++ b/src/game/IdleMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/InstanceData.cpp b/src/game/InstanceData.cpp
index 62c96c2c6..d7b813aae 100644
--- a/src/game/InstanceData.cpp
+++ b/src/game/InstanceData.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/InstanceData.h b/src/game/InstanceData.h
index 326499858..1d3893ee7 100644
--- a/src/game/InstanceData.h
+++ b/src/game/InstanceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Item.cpp b/src/game/Item.cpp
index a1f34b24f..f0226ba5e 100644
--- a/src/game/Item.cpp
+++ b/src/game/Item.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Item.h b/src/game/Item.h
index e543e3730..84c5633a2 100644
--- a/src/game/Item.h
+++ b/src/game/Item.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ItemEnchantmentMgr.cpp b/src/game/ItemEnchantmentMgr.cpp
index 0dd883451..f953fcd50 100644
--- a/src/game/ItemEnchantmentMgr.cpp
+++ b/src/game/ItemEnchantmentMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ItemEnchantmentMgr.h b/src/game/ItemEnchantmentMgr.h
index 8422e7167..e0ef1efab 100644
--- a/src/game/ItemEnchantmentMgr.h
+++ b/src/game/ItemEnchantmentMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ItemHandler.cpp b/src/game/ItemHandler.cpp
index 3fc3c3aad..449800af2 100644
--- a/src/game/ItemHandler.cpp
+++ b/src/game/ItemHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ItemPrototype.h b/src/game/ItemPrototype.h
index 95bb38ada..91f53f11e 100644
--- a/src/game/ItemPrototype.h
+++ b/src/game/ItemPrototype.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/LFGHandler.cpp b/src/game/LFGHandler.cpp
index c2709ceec..d15ac7d99 100644
--- a/src/game/LFGHandler.cpp
+++ b/src/game/LFGHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Language.h b/src/game/Language.h
index e324c9b51..d8fc2e442 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp
index 00663ef57..96de9354e 100644
--- a/src/game/Level0.cpp
+++ b/src/game/Level0.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp
index ba6cb3bb2..a68e4582d 100644
--- a/src/game/Level1.cpp
+++ b/src/game/Level1.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp
index 9b4782210..ef56d0dd7 100644
--- a/src/game/Level2.cpp
+++ b/src/game/Level2.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
index 3b599fdee..e4afbd814 100644
--- a/src/game/Level3.cpp
+++ b/src/game/Level3.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/LootHandler.cpp b/src/game/LootHandler.cpp
index 5d4276350..3530fdf42 100644
--- a/src/game/LootHandler.cpp
+++ b/src/game/LootHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/LootMgr.cpp b/src/game/LootMgr.cpp
index 98e1e9201..c0ad7bc50 100644
--- a/src/game/LootMgr.cpp
+++ b/src/game/LootMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/LootMgr.h b/src/game/LootMgr.h
index b93734b6c..60114686d 100644
--- a/src/game/LootMgr.h
+++ b/src/game/LootMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Mail.cpp b/src/game/Mail.cpp
index 60082562e..f3373ef51 100644
--- a/src/game/Mail.cpp
+++ b/src/game/Mail.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Mail.h b/src/game/Mail.h
index 71cbdd4ea..3349b1128 100644
--- a/src/game/Mail.h
+++ b/src/game/Mail.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MailHandler.cpp b/src/game/MailHandler.cpp
index 375ead070..60eb40cf0 100644
--- a/src/game/MailHandler.cpp
+++ b/src/game/MailHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Map.cpp b/src/game/Map.cpp
index a41665c0f..eb5c48818 100644
--- a/src/game/Map.cpp
+++ b/src/game/Map.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Map.h b/src/game/Map.h
index f5eff2b48..96b3eb48c 100644
--- a/src/game/Map.h
+++ b/src/game/Map.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MapManager.cpp b/src/game/MapManager.cpp
index bb6159d7d..c9019ff83 100644
--- a/src/game/MapManager.cpp
+++ b/src/game/MapManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MapManager.h b/src/game/MapManager.h
index 8ef294430..ed3d6a7af 100644
--- a/src/game/MapManager.h
+++ b/src/game/MapManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MapPersistentStateMgr.cpp b/src/game/MapPersistentStateMgr.cpp
index b01a7acc3..83807b1de 100644
--- a/src/game/MapPersistentStateMgr.cpp
+++ b/src/game/MapPersistentStateMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MapPersistentStateMgr.h b/src/game/MapPersistentStateMgr.h
index 571d1c4f2..651d92475 100644
--- a/src/game/MapPersistentStateMgr.h
+++ b/src/game/MapPersistentStateMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MapRefManager.h b/src/game/MapRefManager.h
index da1c7705f..fd1fdbb45 100644
--- a/src/game/MapRefManager.h
+++ b/src/game/MapRefManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MapReference.h b/src/game/MapReference.h
index f44e335b2..d86972349 100644
--- a/src/game/MapReference.h
+++ b/src/game/MapReference.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MassMailMgr.cpp b/src/game/MassMailMgr.cpp
index 934cbe4b0..83a1f3165 100644
--- a/src/game/MassMailMgr.cpp
+++ b/src/game/MassMailMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MassMailMgr.h b/src/game/MassMailMgr.h
index 2adf54c0f..2a09218da 100644
--- a/src/game/MassMailMgr.h
+++ b/src/game/MassMailMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp
index 70f7cb637..77b912262 100644
--- a/src/game/MiscHandler.cpp
+++ b/src/game/MiscHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MotionMaster.cpp b/src/game/MotionMaster.cpp
index a75cd38ba..fe51d6359 100644
--- a/src/game/MotionMaster.cpp
+++ b/src/game/MotionMaster.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MotionMaster.h b/src/game/MotionMaster.h
index 7cbc5e1ad..19a44c370 100644
--- a/src/game/MotionMaster.h
+++ b/src/game/MotionMaster.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MoveMap.cpp b/src/game/MoveMap.cpp
index 1c697ef6e..f4bc0ca6b 100644
--- a/src/game/MoveMap.cpp
+++ b/src/game/MoveMap.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MoveMap.h b/src/game/MoveMap.h
index 58d33b6b4..332a09862 100644
--- a/src/game/MoveMap.h
+++ b/src/game/MoveMap.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MoveMapSharedDefines.h b/src/game/MoveMapSharedDefines.h
index 84c7b24d7..5c86bac42 100644
--- a/src/game/MoveMapSharedDefines.h
+++ b/src/game/MoveMapSharedDefines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MovementGenerator.cpp b/src/game/MovementGenerator.cpp
index c2510243c..0a8ccb1b5 100644
--- a/src/game/MovementGenerator.cpp
+++ b/src/game/MovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MovementGenerator.h b/src/game/MovementGenerator.h
index deb1606d9..3a10c5727 100644
--- a/src/game/MovementGenerator.h
+++ b/src/game/MovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MovementGeneratorImpl.h b/src/game/MovementGeneratorImpl.h
index 06ccaad89..37ee818fd 100644
--- a/src/game/MovementGeneratorImpl.h
+++ b/src/game/MovementGeneratorImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index 8d6a2494a..af6c354cb 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/NPCHandler.cpp b/src/game/NPCHandler.cpp
index 345e31397..db9f5cc3b 100644
--- a/src/game/NPCHandler.cpp
+++ b/src/game/NPCHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/NPCHandler.h b/src/game/NPCHandler.h
index 5c7571cdb..3fe2dd692 100644
--- a/src/game/NPCHandler.h
+++ b/src/game/NPCHandler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/NullCreatureAI.cpp b/src/game/NullCreatureAI.cpp
index 73831e0a5..49db24d83 100644
--- a/src/game/NullCreatureAI.cpp
+++ b/src/game/NullCreatureAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/NullCreatureAI.h b/src/game/NullCreatureAI.h
index da1ea4de5..03d5c3567 100644
--- a/src/game/NullCreatureAI.h
+++ b/src/game/NullCreatureAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index 816b02091..8c00e0247 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Object.h b/src/game/Object.h
index 079505300..a2f0a2624 100644
--- a/src/game/Object.h
+++ b/src/game/Object.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectAccessor.cpp b/src/game/ObjectAccessor.cpp
index be31bcfcf..70da6d156 100644
--- a/src/game/ObjectAccessor.cpp
+++ b/src/game/ObjectAccessor.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectAccessor.h b/src/game/ObjectAccessor.h
index d081fc3c9..3b3ab805e 100644
--- a/src/game/ObjectAccessor.h
+++ b/src/game/ObjectAccessor.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectGridLoader.cpp b/src/game/ObjectGridLoader.cpp
index 97d2d407b..97d6e6ab2 100644
--- a/src/game/ObjectGridLoader.cpp
+++ b/src/game/ObjectGridLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectGridLoader.h b/src/game/ObjectGridLoader.h
index 8abae0808..07145cac0 100644
--- a/src/game/ObjectGridLoader.h
+++ b/src/game/ObjectGridLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectGuid.cpp b/src/game/ObjectGuid.cpp
index 9f42442b3..02268d1af 100644
--- a/src/game/ObjectGuid.cpp
+++ b/src/game/ObjectGuid.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectGuid.h b/src/game/ObjectGuid.h
index ea9b0ac2c..5dfd8d07f 100644
--- a/src/game/ObjectGuid.h
+++ b/src/game/ObjectGuid.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index c01c9cf72..846055851 100755
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h
index 22b7befa5..17eeb1463 100755
--- a/src/game/ObjectMgr.h
+++ b/src/game/ObjectMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectPosSelector.cpp b/src/game/ObjectPosSelector.cpp
index f0b58a83c..952671503 100644
--- a/src/game/ObjectPosSelector.cpp
+++ b/src/game/ObjectPosSelector.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ObjectPosSelector.h b/src/game/ObjectPosSelector.h
index 6c8bbeb87..36a612386 100644
--- a/src/game/ObjectPosSelector.h
+++ b/src/game/ObjectPosSelector.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp
index ab4db7e27..1e3a18364 100644
--- a/src/game/Opcodes.cpp
+++ b/src/game/Opcodes.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h
index c28a22140..3789e93b7 100644
--- a/src/game/Opcodes.h
+++ b/src/game/Opcodes.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvP.cpp b/src/game/OutdoorPvP/OutdoorPvP.cpp
index 214e7d7f3..96abe682a 100644
--- a/src/game/OutdoorPvP/OutdoorPvP.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvP.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvP.h b/src/game/OutdoorPvP/OutdoorPvP.h
index 1fd317d18..4a3fe5716 100644
--- a/src/game/OutdoorPvP/OutdoorPvP.h
+++ b/src/game/OutdoorPvP/OutdoorPvP.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPEP.cpp b/src/game/OutdoorPvP/OutdoorPvPEP.cpp
index 0fa96b638..bfa7a3527 100644
--- a/src/game/OutdoorPvP/OutdoorPvPEP.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPEP.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPEP.h b/src/game/OutdoorPvP/OutdoorPvPEP.h
index 8e39338fa..e5cef80c5 100644
--- a/src/game/OutdoorPvP/OutdoorPvPEP.h
+++ b/src/game/OutdoorPvP/OutdoorPvPEP.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPGH.cpp b/src/game/OutdoorPvP/OutdoorPvPGH.cpp
index 27bbd243b..e83b1935c 100644
--- a/src/game/OutdoorPvP/OutdoorPvPGH.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPGH.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPGH.h b/src/game/OutdoorPvP/OutdoorPvPGH.h
index 640ebd18e..4e183d6b7 100644
--- a/src/game/OutdoorPvP/OutdoorPvPGH.h
+++ b/src/game/OutdoorPvP/OutdoorPvPGH.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPHP.cpp b/src/game/OutdoorPvP/OutdoorPvPHP.cpp
index 96943a60d..ab93f4daf 100644
--- a/src/game/OutdoorPvP/OutdoorPvPHP.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPHP.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPHP.h b/src/game/OutdoorPvP/OutdoorPvPHP.h
index 617b7a056..719f1bc34 100644
--- a/src/game/OutdoorPvP/OutdoorPvPHP.h
+++ b/src/game/OutdoorPvP/OutdoorPvPHP.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPMgr.cpp b/src/game/OutdoorPvP/OutdoorPvPMgr.cpp
index 6c776a3e4..620c5e991 100644
--- a/src/game/OutdoorPvP/OutdoorPvPMgr.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPMgr.h b/src/game/OutdoorPvP/OutdoorPvPMgr.h
index 03910b457..5f43f3bf8 100644
--- a/src/game/OutdoorPvP/OutdoorPvPMgr.h
+++ b/src/game/OutdoorPvP/OutdoorPvPMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPNA.cpp b/src/game/OutdoorPvP/OutdoorPvPNA.cpp
index bf6109825..85c66cebd 100644
--- a/src/game/OutdoorPvP/OutdoorPvPNA.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPNA.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPNA.h b/src/game/OutdoorPvP/OutdoorPvPNA.h
index daafad99b..3b8da4613 100644
--- a/src/game/OutdoorPvP/OutdoorPvPNA.h
+++ b/src/game/OutdoorPvP/OutdoorPvPNA.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPSI.cpp b/src/game/OutdoorPvP/OutdoorPvPSI.cpp
index f02e025db..e24837d25 100644
--- a/src/game/OutdoorPvP/OutdoorPvPSI.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPSI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPSI.h b/src/game/OutdoorPvP/OutdoorPvPSI.h
index f1939720e..6dfb329a9 100644
--- a/src/game/OutdoorPvP/OutdoorPvPSI.h
+++ b/src/game/OutdoorPvP/OutdoorPvPSI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPTF.cpp b/src/game/OutdoorPvP/OutdoorPvPTF.cpp
index c1a17cc95..801ff67ac 100644
--- a/src/game/OutdoorPvP/OutdoorPvPTF.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPTF.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPTF.h b/src/game/OutdoorPvP/OutdoorPvPTF.h
index 451d9650a..e04957b2d 100644
--- a/src/game/OutdoorPvP/OutdoorPvPTF.h
+++ b/src/game/OutdoorPvP/OutdoorPvPTF.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPZM.cpp b/src/game/OutdoorPvP/OutdoorPvPZM.cpp
index b4cf0d98f..12c4cacc6 100644
--- a/src/game/OutdoorPvP/OutdoorPvPZM.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPZM.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/OutdoorPvP/OutdoorPvPZM.h b/src/game/OutdoorPvP/OutdoorPvPZM.h
index c45a743fc..340185fc1 100644
--- a/src/game/OutdoorPvP/OutdoorPvPZM.h
+++ b/src/game/OutdoorPvP/OutdoorPvPZM.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Path.h b/src/game/Path.h
index 2be3105fe..fa3596d21 100644
--- a/src/game/Path.h
+++ b/src/game/Path.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PathFinder.cpp b/src/game/PathFinder.cpp
index 91e237cd7..2c947a132 100644
--- a/src/game/PathFinder.cpp
+++ b/src/game/PathFinder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PathFinder.h b/src/game/PathFinder.h
index 9c04c6f95..ff7a43b97 100644
--- a/src/game/PathFinder.h
+++ b/src/game/PathFinder.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp
index 2aaaf8927..59822c8bd 100644
--- a/src/game/Pet.cpp
+++ b/src/game/Pet.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Pet.h b/src/game/Pet.h
index 77bf64a1c..9fee0f02f 100644
--- a/src/game/Pet.h
+++ b/src/game/Pet.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PetAI.cpp b/src/game/PetAI.cpp
index d18c7fa8f..f4b3adefa 100644
--- a/src/game/PetAI.cpp
+++ b/src/game/PetAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PetAI.h b/src/game/PetAI.h
index f465ba6f8..93b1ff7d2 100644
--- a/src/game/PetAI.h
+++ b/src/game/PetAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index f789a2e5d..55013538a 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PetitionsHandler.cpp b/src/game/PetitionsHandler.cpp
index 0536d1f53..ef65a8530 100644
--- a/src/game/PetitionsHandler.cpp
+++ b/src/game/PetitionsHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 9fd8234c5..693a56bf5 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Player.h b/src/game/Player.h
index aeaba0644..4fd3b0440 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PlayerDump.cpp b/src/game/PlayerDump.cpp
index af14102b1..9329d4865 100644
--- a/src/game/PlayerDump.cpp
+++ b/src/game/PlayerDump.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PlayerDump.h b/src/game/PlayerDump.h
index af867876c..0c19dc6bc 100644
--- a/src/game/PlayerDump.h
+++ b/src/game/PlayerDump.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PointMovementGenerator.cpp b/src/game/PointMovementGenerator.cpp
index 3424cef48..89083583d 100644
--- a/src/game/PointMovementGenerator.cpp
+++ b/src/game/PointMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PointMovementGenerator.h b/src/game/PointMovementGenerator.h
index 6be797ea9..aafad63e4 100644
--- a/src/game/PointMovementGenerator.h
+++ b/src/game/PointMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PoolManager.cpp b/src/game/PoolManager.cpp
index f80944d2f..04ecf2a53 100644
--- a/src/game/PoolManager.cpp
+++ b/src/game/PoolManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/PoolManager.h b/src/game/PoolManager.h
index 3585aef91..989f612a9 100644
--- a/src/game/PoolManager.h
+++ b/src/game/PoolManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/QueryHandler.cpp b/src/game/QueryHandler.cpp
index 091a38590..9ec10c787 100644
--- a/src/game/QueryHandler.cpp
+++ b/src/game/QueryHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/QuestDef.cpp b/src/game/QuestDef.cpp
index 83cc772e2..0f0429d3d 100644
--- a/src/game/QuestDef.cpp
+++ b/src/game/QuestDef.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/QuestDef.h b/src/game/QuestDef.h
index 15ddc4266..10c8a934b 100644
--- a/src/game/QuestDef.h
+++ b/src/game/QuestDef.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/QuestHandler.cpp b/src/game/QuestHandler.cpp
index 12b784bf6..7f20e76c0 100644
--- a/src/game/QuestHandler.cpp
+++ b/src/game/QuestHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/RandomMovementGenerator.cpp b/src/game/RandomMovementGenerator.cpp
index e718fcc9d..a08b1a084 100644
--- a/src/game/RandomMovementGenerator.cpp
+++ b/src/game/RandomMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/RandomMovementGenerator.h b/src/game/RandomMovementGenerator.h
index 87cf01172..eca3c1cfa 100644
--- a/src/game/RandomMovementGenerator.h
+++ b/src/game/RandomMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ReactorAI.cpp b/src/game/ReactorAI.cpp
index 8aaf48e88..835e3c54b 100644
--- a/src/game/ReactorAI.cpp
+++ b/src/game/ReactorAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ReactorAI.h b/src/game/ReactorAI.h
index 5e94d1fbf..4338cdacd 100644
--- a/src/game/ReactorAI.h
+++ b/src/game/ReactorAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ReputationMgr.cpp b/src/game/ReputationMgr.cpp
index 0f4abcb4c..31068e7fd 100644
--- a/src/game/ReputationMgr.cpp
+++ b/src/game/ReputationMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ReputationMgr.h b/src/game/ReputationMgr.h
index 993b1e8af..ecb77fb58 100644
--- a/src/game/ReputationMgr.h
+++ b/src/game/ReputationMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SQLStorages.cpp b/src/game/SQLStorages.cpp
index f6c09de1d..dcb87b15b 100644
--- a/src/game/SQLStorages.cpp
+++ b/src/game/SQLStorages.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SQLStorages.h b/src/game/SQLStorages.h
index efb8bc242..6bc4f15b0 100644
--- a/src/game/SQLStorages.h
+++ b/src/game/SQLStorages.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ScriptMgr.cpp b/src/game/ScriptMgr.cpp
index 53bafaa78..e58ae4ef9 100644
--- a/src/game/ScriptMgr.cpp
+++ b/src/game/ScriptMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ScriptMgr.h b/src/game/ScriptMgr.h
index 9927a9aec..b376e67e7 100644
--- a/src/game/ScriptMgr.h
+++ b/src/game/ScriptMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index 8daa484e4..492869eea 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SkillDiscovery.cpp b/src/game/SkillDiscovery.cpp
index a7442c969..4aa2c8356 100644
--- a/src/game/SkillDiscovery.cpp
+++ b/src/game/SkillDiscovery.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SkillDiscovery.h b/src/game/SkillDiscovery.h
index bf02b6b13..92b1451c3 100644
--- a/src/game/SkillDiscovery.h
+++ b/src/game/SkillDiscovery.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SkillExtraItems.cpp b/src/game/SkillExtraItems.cpp
index 732ebaae4..df90607bf 100644
--- a/src/game/SkillExtraItems.cpp
+++ b/src/game/SkillExtraItems.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SkillExtraItems.h b/src/game/SkillExtraItems.h
index e06dad850..1f215510a 100644
--- a/src/game/SkillExtraItems.h
+++ b/src/game/SkillExtraItems.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SkillHandler.cpp b/src/game/SkillHandler.cpp
index c8c225dd3..ddedd60ca 100644
--- a/src/game/SkillHandler.cpp
+++ b/src/game/SkillHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SocialMgr.cpp b/src/game/SocialMgr.cpp
index 491dc711e..e769a30b0 100644
--- a/src/game/SocialMgr.cpp
+++ b/src/game/SocialMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SocialMgr.h b/src/game/SocialMgr.h
index 8ff44486b..623e7741a 100644
--- a/src/game/SocialMgr.h
+++ b/src/game/SocialMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 2b9a71217..ebe527a6a 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Spell.h b/src/game/Spell.h
index a032f277c..890c3ab07 100644
--- a/src/game/Spell.h
+++ b/src/game/Spell.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellAuraDefines.h b/src/game/SpellAuraDefines.h
index bbfeb086c..803267204 100644
--- a/src/game/SpellAuraDefines.h
+++ b/src/game/SpellAuraDefines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index cc954030c..d1018dc17 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h
index 3a13457e7..e1da43338 100644
--- a/src/game/SpellAuras.h
+++ b/src/game/SpellAuras.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 48c6f53cd..5f9595db1 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp
index 45dcee778..83e8ff3c2 100644
--- a/src/game/SpellHandler.cpp
+++ b/src/game/SpellHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 7db8db4f5..9e8404574 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h
index b994220a3..e80bca116 100644
--- a/src/game/SpellMgr.h
+++ b/src/game/SpellMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/StatSystem.cpp b/src/game/StatSystem.cpp
index bd1105deb..b4fecb441 100644
--- a/src/game/StatSystem.cpp
+++ b/src/game/StatSystem.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TargetedMovementGenerator.cpp b/src/game/TargetedMovementGenerator.cpp
index 2c25d1061..8933346f2 100644
--- a/src/game/TargetedMovementGenerator.cpp
+++ b/src/game/TargetedMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TargetedMovementGenerator.h b/src/game/TargetedMovementGenerator.h
index 0ac062b8f..735d9f0d0 100644
--- a/src/game/TargetedMovementGenerator.h
+++ b/src/game/TargetedMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TaxiHandler.cpp b/src/game/TaxiHandler.cpp
index 67bec9e9d..254bafdff 100644
--- a/src/game/TaxiHandler.cpp
+++ b/src/game/TaxiHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TemporarySummon.cpp b/src/game/TemporarySummon.cpp
index 4a59090e4..c8f992efa 100644
--- a/src/game/TemporarySummon.cpp
+++ b/src/game/TemporarySummon.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TemporarySummon.h b/src/game/TemporarySummon.h
index be7ff8f38..3479b8316 100644
--- a/src/game/TemporarySummon.h
+++ b/src/game/TemporarySummon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ThreatManager.cpp b/src/game/ThreatManager.cpp
index cd7c22f14..12e84c497 100644
--- a/src/game/ThreatManager.cpp
+++ b/src/game/ThreatManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/ThreatManager.h b/src/game/ThreatManager.h
index fcc2602aa..aaf75b310 100644
--- a/src/game/ThreatManager.h
+++ b/src/game/ThreatManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Totem.cpp b/src/game/Totem.cpp
index f55da4162..a2c3c247c 100644
--- a/src/game/Totem.cpp
+++ b/src/game/Totem.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Totem.h b/src/game/Totem.h
index 38f36bc9d..cde3b5ece 100644
--- a/src/game/Totem.h
+++ b/src/game/Totem.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TotemAI.cpp b/src/game/TotemAI.cpp
index 32006d10f..93b185ee0 100644
--- a/src/game/TotemAI.cpp
+++ b/src/game/TotemAI.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TotemAI.h b/src/game/TotemAI.h
index fe511569e..47c9b26f5 100644
--- a/src/game/TotemAI.h
+++ b/src/game/TotemAI.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TradeHandler.cpp b/src/game/TradeHandler.cpp
index c94828133..3c3a824f5 100644
--- a/src/game/TradeHandler.cpp
+++ b/src/game/TradeHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TransportSystem.cpp b/src/game/TransportSystem.cpp
index 7bad99f7b..8aaeaff1a 100644
--- a/src/game/TransportSystem.cpp
+++ b/src/game/TransportSystem.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/TransportSystem.h b/src/game/TransportSystem.h
index 0365b3387..678b872e7 100644
--- a/src/game/TransportSystem.h
+++ b/src/game/TransportSystem.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Transports.cpp b/src/game/Transports.cpp
index ebb53daaf..c5b3d6e88 100644
--- a/src/game/Transports.cpp
+++ b/src/game/Transports.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Transports.h b/src/game/Transports.h
index b8b78ae7a..a46cf2a89 100644
--- a/src/game/Transports.h
+++ b/src/game/Transports.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 70afc9b6f..92b52a928 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Unit.h b/src/game/Unit.h
index a46200c31..1924d586d 100644
--- a/src/game/Unit.h
+++ b/src/game/Unit.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp
index 1dbc444e1..13f97a8c4 100644
--- a/src/game/UnitAuraProcHandler.cpp
+++ b/src/game/UnitAuraProcHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/UnitEvents.h b/src/game/UnitEvents.h
index 67a3629fa..a967217b9 100644
--- a/src/game/UnitEvents.h
+++ b/src/game/UnitEvents.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/UpdateData.cpp b/src/game/UpdateData.cpp
index d69337b7a..198f544cc 100644
--- a/src/game/UpdateData.cpp
+++ b/src/game/UpdateData.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/UpdateData.h b/src/game/UpdateData.h
index b52755676..9dd569950 100644
--- a/src/game/UpdateData.h
+++ b/src/game/UpdateData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/UpdateFields.h b/src/game/UpdateFields.h
index 13cfdb951..a856feb85 100644
--- a/src/game/UpdateFields.h
+++ b/src/game/UpdateFields.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/UpdateMask.h b/src/game/UpdateMask.h
index ae1bb73c0..3ececdb00 100644
--- a/src/game/UpdateMask.h
+++ b/src/game/UpdateMask.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Vehicle.cpp b/src/game/Vehicle.cpp
index 29399812e..ab1322113 100644
--- a/src/game/Vehicle.cpp
+++ b/src/game/Vehicle.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Vehicle.h b/src/game/Vehicle.h
index f78787a65..6429378e9 100644
--- a/src/game/Vehicle.h
+++ b/src/game/Vehicle.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/VehicleHandler.cpp b/src/game/VehicleHandler.cpp
index e512fa8f1..d3ffef6e8 100644
--- a/src/game/VehicleHandler.cpp
+++ b/src/game/VehicleHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/VoiceChatHandler.cpp b/src/game/VoiceChatHandler.cpp
index 21ed22127..a36455811 100644
--- a/src/game/VoiceChatHandler.cpp
+++ b/src/game/VoiceChatHandler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WaypointManager.cpp b/src/game/WaypointManager.cpp
index 384ccf00c..8a0eef82d 100644
--- a/src/game/WaypointManager.cpp
+++ b/src/game/WaypointManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WaypointManager.h b/src/game/WaypointManager.h
index 570422716..88d6a06dc 100644
--- a/src/game/WaypointManager.h
+++ b/src/game/WaypointManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WaypointMovementGenerator.cpp b/src/game/WaypointMovementGenerator.cpp
index 7093912fa..63405c30f 100644
--- a/src/game/WaypointMovementGenerator.cpp
+++ b/src/game/WaypointMovementGenerator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WaypointMovementGenerator.h b/src/game/WaypointMovementGenerator.h
index ee9f2d0cc..b613c801d 100644
--- a/src/game/WaypointMovementGenerator.h
+++ b/src/game/WaypointMovementGenerator.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Weather.cpp b/src/game/Weather.cpp
index 54f68171d..5d21cf837 100644
--- a/src/game/Weather.cpp
+++ b/src/game/Weather.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/Weather.h b/src/game/Weather.h
index 7670247af..cd155b826 100644
--- a/src/game/Weather.h
+++ b/src/game/Weather.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/World.cpp b/src/game/World.cpp
index 15425714d..18482bcda 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/World.h b/src/game/World.h
index 37c4f8183..5cc28a0d1 100644
--- a/src/game/World.h
+++ b/src/game/World.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp
index 8b663da04..c4a62886d 100644
--- a/src/game/WorldSession.cpp
+++ b/src/game/WorldSession.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WorldSession.h b/src/game/WorldSession.h
index 3dee1ed70..295eb5f2f 100644
--- a/src/game/WorldSession.h
+++ b/src/game/WorldSession.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WorldSocket.cpp b/src/game/WorldSocket.cpp
index 926959ec4..4d7d80676 100644
--- a/src/game/WorldSocket.cpp
+++ b/src/game/WorldSocket.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WorldSocket.h b/src/game/WorldSocket.h
index 2f8f7193e..1ca26bc76 100644
--- a/src/game/WorldSocket.h
+++ b/src/game/WorldSocket.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WorldSocketMgr.cpp b/src/game/WorldSocketMgr.cpp
index 51dccf4ad..5c4bcd7d4 100644
--- a/src/game/WorldSocketMgr.cpp
+++ b/src/game/WorldSocketMgr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/WorldSocketMgr.h b/src/game/WorldSocketMgr.h
index 6aed9937b..08456e6b3 100644
--- a/src/game/WorldSocketMgr.h
+++ b/src/game/WorldSocketMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/debugcmds.cpp b/src/game/debugcmds.cpp
index dc73ac18c..c45b9dd61 100644
--- a/src/game/debugcmds.cpp
+++ b/src/game/debugcmds.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/MoveSpline.cpp b/src/game/movement/MoveSpline.cpp
index dfccc38bf..61c303c0c 100644
--- a/src/game/movement/MoveSpline.cpp
+++ b/src/game/movement/MoveSpline.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/MoveSpline.h b/src/game/movement/MoveSpline.h
index edff11eaa..3da4c6269 100644
--- a/src/game/movement/MoveSpline.h
+++ b/src/game/movement/MoveSpline.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/MoveSplineFlag.h b/src/game/movement/MoveSplineFlag.h
index 3d66de488..7de94451f 100644
--- a/src/game/movement/MoveSplineFlag.h
+++ b/src/game/movement/MoveSplineFlag.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/MoveSplineInit.cpp b/src/game/movement/MoveSplineInit.cpp
index 27c39a984..e7f463ea3 100644
--- a/src/game/movement/MoveSplineInit.cpp
+++ b/src/game/movement/MoveSplineInit.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/MoveSplineInit.h b/src/game/movement/MoveSplineInit.h
index e9abcc2bb..77d90ac28 100644
--- a/src/game/movement/MoveSplineInit.h
+++ b/src/game/movement/MoveSplineInit.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/MoveSplineInitArgs.h b/src/game/movement/MoveSplineInitArgs.h
index 75044c3b5..e649f3df2 100644
--- a/src/game/movement/MoveSplineInitArgs.h
+++ b/src/game/movement/MoveSplineInitArgs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/packet_builder.cpp b/src/game/movement/packet_builder.cpp
index bbeac944d..a3045ea44 100644
--- a/src/game/movement/packet_builder.cpp
+++ b/src/game/movement/packet_builder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/packet_builder.h b/src/game/movement/packet_builder.h
index cd6de5b22..f9d05ca2a 100644
--- a/src/game/movement/packet_builder.h
+++ b/src/game/movement/packet_builder.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/spline.cpp b/src/game/movement/spline.cpp
index 94aef891d..bb5a78957 100644
--- a/src/game/movement/spline.cpp
+++ b/src/game/movement/spline.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/spline.h b/src/game/movement/spline.h
index 61e6958eb..086612b6a 100644
--- a/src/game/movement/spline.h
+++ b/src/game/movement/spline.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/spline.impl.h b/src/game/movement/spline.impl.h
index ff297610c..f538a8fc5 100644
--- a/src/game/movement/spline.impl.h
+++ b/src/game/movement/spline.impl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/typedefs.h b/src/game/movement/typedefs.h
index 02d64ae37..679f4e717 100644
--- a/src/game/movement/typedefs.h
+++ b/src/game/movement/typedefs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/movement/util.cpp b/src/game/movement/util.cpp
index 9954f99ba..0da670046 100644
--- a/src/game/movement/util.cpp
+++ b/src/game/movement/util.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/vmap/BIH.cpp b/src/game/vmap/BIH.cpp
index 01ab86af2..331676883 100644
--- a/src/game/vmap/BIH.cpp
+++ b/src/game/vmap/BIH.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -251,12 +251,12 @@ void BIH::subdivide(int left, int right, std::vector& tempTree, buildDat
bool BIH::writeToFile(FILE* wf) const
{
uint32 treeSize = tree.size();
- uint32 check = 0, count = 0;
+ uint32 check = 0;
+ uint32 count = objects.size();
check += fwrite(&bounds.low(), sizeof(float), 3, wf);
check += fwrite(&bounds.high(), sizeof(float), 3, wf);
check += fwrite(&treeSize, sizeof(uint32), 1, wf);
check += fwrite(&tree[0], sizeof(uint32), treeSize, wf);
- count = objects.size();
check += fwrite(&count, sizeof(uint32), 1, wf);
check += fwrite(&objects[0], sizeof(uint32), count, wf);
return check == (3 + 3 + 2 + treeSize + count);
diff --git a/src/game/vmap/BIH.h b/src/game/vmap/BIH.h
index 7b46f2f13..3b5b56ebb 100644
--- a/src/game/vmap/BIH.h
+++ b/src/game/vmap/BIH.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -79,13 +79,26 @@ struct AABound
class BIH
{
+ private:
+ void init_empty()
+ {
+ tree.clear();
+ objects.clear();
+ // create space for the first node
+ tree.push_back(3 << 30); // dummy leaf
+ tree.insert(tree.end(), 2, 0);
+ }
+
public:
- BIH() {};
- template< class T, class BoundsFunc >
- void build(const std::vector& primitives, BoundsFunc& getBounds, uint32 leafSize = 3, bool printStats = false)
+ BIH() {init_empty();}
+ template< class BoundsFunc, class PrimArray >
+ void build(const PrimArray& primitives, BoundsFunc& getBounds, uint32 leafSize = 3, bool printStats = false)
{
if (primitives.size() == 0)
+ {
+ init_empty();
return;
+ }
buildData dat;
dat.maxPrims = leafSize;
dat.numPrims = primitives.size();
diff --git a/src/game/vmap/BIHWrap.h b/src/game/vmap/BIHWrap.h
new file mode 100644
index 000000000..0b105c394
--- /dev/null
+++ b/src/game/vmap/BIHWrap.h
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#pragma once
+
+#include
+#include
+#include
+#include "BIH.h"
+
+template >
+class BIHWrap
+{
+ template
+ struct MDLCallback
+ {
+ const T* const* objects;
+ RayCallback& cb;
+
+ MDLCallback(RayCallback& callback, const T* const* objects_array) : cb(callback), objects(objects_array) {}
+
+ bool operator()(const Ray& r, uint32 Idx, float& MaxDist, bool /*stopAtFirst*/)
+ {
+ if (const T* obj = objects[Idx])
+ return cb(r, *obj, MaxDist/*, stopAtFirst*/);
+ return false;
+ }
+
+ void operator()(const Vector3& p, uint32 Idx)
+ {
+ if (const T* obj = objects[Idx])
+ cb(p, *obj);
+ }
+ };
+
+ typedef G3D::Array ObjArray;
+
+ BIH m_tree;
+ ObjArray m_objects;
+ G3D::Table m_obj2Idx;
+ G3D::Set m_objects_to_push;
+ int unbalanced_times;
+
+ public:
+
+ BIHWrap() : unbalanced_times(0) {}
+
+ void insert(const T& obj)
+ {
+ ++unbalanced_times;
+ m_objects_to_push.insert(&obj);
+ }
+
+ void remove(const T& obj)
+ {
+ ++unbalanced_times;
+ uint32 Idx = 0;
+ const T* temp;
+ if (m_obj2Idx.getRemove(&obj, temp, Idx))
+ m_objects[Idx] = NULL;
+ else
+ m_objects_to_push.remove(&obj);
+ }
+
+ void balance()
+ {
+ if (unbalanced_times == 0)
+ return;
+
+ unbalanced_times = 0;
+ m_objects.fastClear();
+ m_obj2Idx.getKeys(m_objects);
+ m_objects_to_push.getMembers(m_objects);
+
+ m_tree.build(m_objects, BoundsFunc::getBounds2);
+ }
+
+ template
+ void intersectRay(const Ray& r, RayCallback& intersectCallback, float& maxDist) const
+ {
+ MDLCallback temp_cb(intersectCallback, m_objects.getCArray());
+ m_tree.intersectRay(r, temp_cb, maxDist, true);
+ }
+
+ template
+ void intersectPoint(const Vector3& p, IsectCallback& intersectCallback) const
+ {
+ MDLCallback temp_cb(intersectCallback, m_objects.getCArray());
+ m_tree.intersectPoint(p, temp_cb);
+ }
+};
diff --git a/src/game/vmap/DynamicTree.cpp b/src/game/vmap/DynamicTree.cpp
new file mode 100644
index 000000000..20d405134
--- /dev/null
+++ b/src/game/vmap/DynamicTree.cpp
@@ -0,0 +1,280 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "DynamicTree.h"
+#include "Log.h"
+#include "Timer.h"
+#include "BIHWrap.h"
+#include "RegularGrid.h"
+#include "GameObjectModel.h"
+
+template<> struct HashTrait< GameObjectModel>
+{
+ static size_t hashCode(const GameObjectModel& g) { return (size_t)(void*)&g; }
+};
+
+template<> struct PositionTrait< GameObjectModel>
+{
+ static void getPosition(const GameObjectModel& g, Vector3& p) { p = g.getPosition(); }
+};
+
+template<> struct BoundsTrait< GameObjectModel>
+{
+ static void getBounds(const GameObjectModel& g, G3D::AABox& out) { out = g.getBounds();}
+ static void getBounds2(const GameObjectModel* g, G3D::AABox& out) { out = g->getBounds();}
+};
+
+/*
+static bool operator == (const GameObjectModel& mdl, const GameObjectModel& mdl2){
+ return &mdl == &mdl2;
+}
+*/
+
+// int valuesPerNode = 5, numMeanSplits = 3;
+
+//int UNBALANCED_TIMES_LIMIT = 5;
+int CHECK_TREE_PERIOD = 200;
+
+typedef RegularGrid2D > ParentTree;
+
+struct DynTreeImpl : public ParentTree/*, public Intersectable*/
+{
+ typedef GameObjectModel Model;
+ typedef ParentTree base;
+
+ DynTreeImpl() :
+ rebalance_timer(CHECK_TREE_PERIOD),
+ unbalanced_times(0)
+ {
+ }
+
+ void insert(const Model& mdl)
+ {
+ base::insert(mdl);
+ ++unbalanced_times;
+ }
+
+ void remove(const Model& mdl)
+ {
+ base::remove(mdl);
+ ++unbalanced_times;
+ }
+
+ void balance()
+ {
+ base::balance();
+ unbalanced_times = 0;
+ }
+
+ void update(uint32 difftime)
+ {
+ if (!size())
+ return;
+
+ rebalance_timer.Update(difftime);
+ if (rebalance_timer.Passed())
+ {
+ rebalance_timer.Reset(CHECK_TREE_PERIOD);
+ if (unbalanced_times > 0)
+ balance();
+ }
+ }
+
+ ShortTimeTracker rebalance_timer;
+ int unbalanced_times;
+};
+
+DynamicMapTree::DynamicMapTree() : impl(*new DynTreeImpl())
+{
+}
+
+DynamicMapTree::~DynamicMapTree()
+{
+ delete &impl;
+}
+
+void DynamicMapTree::insert(const GameObjectModel& mdl)
+{
+ impl.insert(mdl);
+}
+
+void DynamicMapTree::remove(const GameObjectModel& mdl)
+{
+ impl.remove(mdl);
+}
+
+bool DynamicMapTree::contains(const GameObjectModel& mdl) const
+{
+ return impl.contains(mdl);
+}
+
+void DynamicMapTree::balance()
+{
+ impl.balance();
+}
+
+int DynamicMapTree::size() const
+{
+ return impl.size();
+}
+
+void DynamicMapTree::update(uint32 t_diff)
+{
+ impl.update(t_diff);
+}
+
+struct DynamicTreeIntersectionCallback
+{
+ bool did_hit;
+ uint32 phase_mask;
+ DynamicTreeIntersectionCallback(uint32 phasemask) : did_hit(false), phase_mask(phasemask) {}
+ bool operator()(const G3D::Ray& r, const GameObjectModel& obj, float& distance)
+ {
+ did_hit = obj.intersectRay(r, distance, true, phase_mask);
+ return did_hit;
+ }
+ bool didHit() const { return did_hit;}
+};
+
+struct DynamicTreeIntersectionCallback_WithLogger
+{
+ bool did_hit;
+ uint32 phase_mask;
+ DynamicTreeIntersectionCallback_WithLogger(uint32 phasemask) : did_hit(false), phase_mask(phasemask)
+ {
+ DEBUG_LOG("Dynamic Intersection log");
+ }
+ bool operator()(const G3D::Ray& r, const GameObjectModel& obj, float& distance)
+ {
+ DEBUG_LOG("testing intersection with %s", obj.name.c_str());
+ bool hit = obj.intersectRay(r, distance, true, phase_mask);
+ if (hit)
+ {
+ did_hit = true;
+ DEBUG_LOG("result: intersects");
+ }
+ return hit;
+ }
+ bool didHit() const { return did_hit;}
+};
+
+//=========================================================
+/**
+If intersection is found within pMaxDist, sets pMaxDist to intersection distance and returns true.
+Else, pMaxDist is not modified and returns false;
+*/
+
+bool DynamicMapTree::getIntersectionTime(const uint32 phasemask, const G3D::Ray& ray, const Vector3& endPos, float& pMaxDist) const
+{
+ float distance = pMaxDist;
+ DynamicTreeIntersectionCallback callback(phasemask);
+ impl.intersectRay(ray, callback, distance, endPos);
+ if (callback.didHit())
+ pMaxDist = distance;
+ return callback.didHit();
+}
+//=========================================================
+
+bool DynamicMapTree::getObjectHitPos(uint32 phasemask, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float& ry, float& rz, float pModifyDist) const
+{
+ Vector3 pos1 = Vector3(x1, y1, z1);
+ Vector3 pos2 = Vector3(x2, y2, z2);
+ Vector3 resultPos;
+ bool result = getObjectHitPos(phasemask, pos1, pos2, resultPos, pModifyDist);
+ rx = resultPos.x;
+ ry = resultPos.y;
+ rz = resultPos.z;
+ return result;
+}
+
+//=========================================================
+/**
+When moving from pos1 to pos2 check if we hit an object. Return true and the position if we hit one
+Return the hit pos or the original dest pos
+*/
+bool DynamicMapTree::getObjectHitPos(const uint32 phasemask, const Vector3& pPos1, const Vector3& pPos2, Vector3& pResultHitPos, float pModifyDist) const
+{
+ bool result = false;
+ float maxDist = (pPos2 - pPos1).magnitude();
+ // valid map coords should *never ever* produce float overflow, but this would produce NaNs too:
+ MANGOS_ASSERT(maxDist < std::numeric_limits::max());
+ // prevent NaN values which can cause BIH intersection to enter infinite loop
+ if (maxDist < 1e-10f)
+ {
+ pResultHitPos = pPos2;
+ return false;
+ }
+ Vector3 dir = (pPos2 - pPos1) / maxDist; // direction with length of 1
+ G3D::Ray ray(pPos1, dir);
+ float dist = maxDist;
+ if (getIntersectionTime(phasemask, ray, pPos2, dist))
+ {
+ pResultHitPos = pPos1 + dir * dist;
+ if (pModifyDist < 0)
+ {
+ if ((pResultHitPos - pPos1).magnitude() > -pModifyDist)
+ {
+ pResultHitPos = pResultHitPos + dir * pModifyDist;
+ }
+ else
+ {
+ pResultHitPos = pPos1;
+ }
+ }
+ else
+ {
+ pResultHitPos = pResultHitPos + dir * pModifyDist;
+ }
+ result = true;
+ }
+ else
+ {
+ pResultHitPos = pPos2;
+ result = false;
+ }
+ return result;
+}
+
+bool DynamicMapTree::isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask) const
+{
+ Vector3 v1(x1, y1, z1), v2(x2, y2, z2);
+
+ float maxDist = (v2 - v1).magnitude();
+
+ if (!G3D::fuzzyGt(maxDist, 0))
+ return true;
+
+ G3D::Ray r(v1, (v2 - v1) / maxDist);
+ DynamicTreeIntersectionCallback callback(phasemask);
+ impl.intersectRay(r, callback, maxDist, v2);
+
+ return !callback.did_hit;
+}
+
+float DynamicMapTree::getHeight(float x, float y, float z, float maxSearchDist, uint32 phasemask) const
+{
+ Vector3 v(x, y, z);
+ G3D::Ray r(v, Vector3(0, 0, -1));
+ DynamicTreeIntersectionCallback callback(phasemask);
+ impl.intersectZAllignedRay(r, callback, maxSearchDist);
+
+ if (callback.didHit())
+ return v.z - maxSearchDist;
+ else
+ return -G3D::inf();
+}
diff --git a/src/game/vmap/DynamicTree.h b/src/game/vmap/DynamicTree.h
new file mode 100644
index 000000000..b035e211c
--- /dev/null
+++ b/src/game/vmap/DynamicTree.h
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef DYNAMICMAP_TREE_H
+#define DYNAMICMAP_TREE_H
+#include "Platform/Define.h"
+namespace G3D
+{
+ class Vector3;
+ class Matrix3;
+ class AABox;
+ class Ray;
+}
+class GameObjectModel;
+
+class DynamicMapTree
+{
+ public:
+ DynamicMapTree();
+ ~DynamicMapTree();
+
+ bool isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask) const;
+ bool getIntersectionTime(uint32 phasemask, const G3D::Ray& ray, const G3D::Vector3& endPos, float& maxDist) const;
+ bool getObjectHitPos(uint32 phasemask, const G3D::Vector3& pPos1, const G3D::Vector3& pPos2, G3D::Vector3& pResultHitPos, float pModifyDist) const;
+ bool getObjectHitPos(uint32 phasemask, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float& ry, float& rz, float pModifyDist) const;
+ float getHeight(float x, float y, float z, float maxSearchDist, uint32 phasemask) const;
+
+ void insert(const GameObjectModel&);
+ void remove(const GameObjectModel&);
+ bool contains(const GameObjectModel&) const;
+ int size() const;
+
+ void balance();
+ void update(uint32 diff);
+ private:
+ struct DynTreeImpl& impl;
+};
+
+#endif
diff --git a/src/game/vmap/GameObjectModel.cpp b/src/game/vmap/GameObjectModel.cpp
new file mode 100644
index 000000000..7377d87e5
--- /dev/null
+++ b/src/game/vmap/GameObjectModel.cpp
@@ -0,0 +1,164 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "VMapFactory.h"
+#include "VMapManager2.h"
+#include "VMapDefinitions.h"
+#include "WorldModel.h"
+
+#include "../GameObject.h"
+#include "../World.h"
+#include "GameObjectModel.h"
+#include "../DBCStores.h"
+#include "../Creature.h"
+
+struct GameobjectModelData
+{
+ GameobjectModelData(const std::string& name_, const G3D::AABox& box) :
+ name(name_), bound(box) {}
+
+ std::string name;
+ G3D::AABox bound;
+};
+
+typedef UNORDERED_MAP ModelList;
+ModelList model_list;
+
+void LoadGameObjectModelList()
+{
+ FILE* model_list_file = fopen((sWorld.GetDataPath() + "vmaps/" + VMAP::GAMEOBJECT_MODELS).c_str(), "rb");
+ if (!model_list_file)
+ return;
+
+ uint32 name_length, displayId;
+ char buff[500];
+ while (!feof(model_list_file))
+ {
+ fread(&displayId, sizeof(uint32), 1, model_list_file);
+ fread(&name_length, sizeof(uint32), 1, model_list_file);
+
+ if (name_length >= sizeof(buff))
+ {
+ sLog.outDebug("File %s seems to be corrupted", VMAP::GAMEOBJECT_MODELS);
+ break;
+ }
+
+ fread(&buff, sizeof(char), name_length, model_list_file);
+ Vector3 v1, v2;
+ fread(&v1, sizeof(Vector3), 1, model_list_file);
+ fread(&v2, sizeof(Vector3), 1, model_list_file);
+
+ model_list.insert(ModelList::value_type(displayId, GameobjectModelData(std::string(buff, name_length), AABox(v1, v2))));
+ }
+ fclose(model_list_file);
+}
+
+GameObjectModel::~GameObjectModel()
+{
+ if (iModel)
+ ((VMAP::VMapManager2*)VMAP::VMapFactory::createOrGetVMapManager())->releaseModelInstance(name);
+}
+
+bool GameObjectModel::initialize(const GameObject* const pGo, const GameObjectDisplayInfoEntry* const pDisplayInfo)
+{
+ ModelList::const_iterator it = model_list.find(pDisplayInfo->Displayid);
+ if (it == model_list.end())
+ return false;
+
+ G3D::AABox mdl_box(it->second.bound);
+ // ignore models with no bounds
+ if (mdl_box == G3D::AABox::zero())
+ {
+ sLog.outDebug("Model %s has zero bounds, loading skipped", it->second.name.c_str());
+ return false;
+ }
+
+ iModel = ((VMAP::VMapManager2*)VMAP::VMapFactory::createOrGetVMapManager())->acquireModelInstance(sWorld.GetDataPath() + "vmaps/", it->second.name);
+
+ if (!iModel)
+ return false;
+
+ name = it->second.name;
+ iPos = Vector3(pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ());
+ phasemask = pGo->GetPhaseMask();
+ iScale = pGo->GetObjectScale();
+ iInvScale = 1.f / iScale;
+
+ G3D::Matrix3 iRotation = G3D::Matrix3::fromEulerAnglesZYX(pGo->GetOrientation(), 0, 0);
+ iInvRot = iRotation.inverse();
+ // transform bounding box:
+ mdl_box = AABox(mdl_box.low() * iScale, mdl_box.high() * iScale);
+ AABox rotated_bounds;
+ for (int i = 0; i < 8; ++i)
+ rotated_bounds.merge(iRotation * mdl_box.corner(i));
+
+ this->iBound = rotated_bounds + iPos;
+
+#ifdef SPAWN_CORNERS
+ // test:
+ for (int i = 0; i < 8; ++i)
+ {
+ Vector3 pos(iBound.corner(i));
+ if (Creature* c = const_cast(pGo)->SummonCreature(24440, pos.x, pos.y, pos.z, 0, TEMPSUMMON_MANUAL_DESPAWN, 0))
+ {
+ c->setFaction(35);
+ c->SetObjectScale(0.1f);
+ }
+ }
+#endif
+
+ return true;
+}
+
+GameObjectModel* GameObjectModel::construct(const GameObject* const pGo)
+{
+ const GameObjectDisplayInfoEntry* info = sGameObjectDisplayInfoStore.LookupEntry(pGo->GetDisplayId());
+ if (!info)
+ return NULL;
+
+ GameObjectModel* mdl = new GameObjectModel();
+ if (!mdl->initialize(pGo, info))
+ {
+ delete mdl;
+ return NULL;
+ }
+
+ return mdl;
+}
+
+bool GameObjectModel::intersectRay(const G3D::Ray& ray, float& MaxDist, bool StopAtFirstHit, uint32 ph_mask) const
+{
+ if (!(phasemask & ph_mask))
+ return false;
+
+ float time = ray.intersectionTime(iBound);
+ if (time == G3D::inf())
+ return false;
+
+ // child bounds are defined in object space:
+ Vector3 p = iInvRot * (ray.origin() - iPos) * iInvScale;
+ Ray modRay(p, iInvRot * ray.direction());
+ float distance = MaxDist * iInvScale;
+ bool hit = iModel->IntersectRay(modRay, distance, StopAtFirstHit);
+ if (hit)
+ {
+ distance *= iScale;
+ MaxDist = distance;
+ }
+ return hit;
+}
diff --git a/src/game/vmap/GameObjectModel.h b/src/game/vmap/GameObjectModel.h
new file mode 100644
index 000000000..97114c905
--- /dev/null
+++ b/src/game/vmap/GameObjectModel.h
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef MANGOSSERVER_GAMEOBJECTMODEL_H
+#define MANGOSSERVER_GAMEOBJECTMODEL_H
+
+#include
+#include
+#include
+#include
+#include "../DBCStructure.h"
+#include "../GameObject.h"
+
+#include "Platform/Define.h"
+
+namespace VMAP
+{
+ class WorldModel;
+}
+
+class GameObjectModel
+{
+ uint32 phasemask;
+ G3D::AABox iBound;
+ G3D::Matrix3 iInvRot;
+ G3D::Vector3 iPos;
+ //G3D::Vector3 iRot;
+ float iInvScale;
+ float iScale;
+ VMAP::WorldModel* iModel;
+
+ GameObjectModel() : phasemask(0), iModel(NULL) {}
+ bool initialize(const GameObject* const pGo, const GameObjectDisplayInfoEntry* info);
+
+ public:
+ std::string name;
+
+ const G3D::AABox& getBounds() const { return iBound; }
+
+ ~GameObjectModel();
+
+ const G3D::Vector3& getPosition() const { return iPos;}
+
+ /** Enables\disables collision. */
+ void disable() { phasemask = 0;}
+ void enable(uint32 ph_mask) { phasemask = ph_mask;}
+
+ bool intersectRay(const G3D::Ray& Ray, float& MaxDist, bool StopAtFirstHit, uint32 ph_mask) const;
+
+ static GameObjectModel* construct(const GameObject* const pGo);
+};
+#endif
diff --git a/src/game/vmap/IVMapManager.h b/src/game/vmap/IVMapManager.h
index 91f728a50..5afa4331e 100644
--- a/src/game/vmap/IVMapManager.h
+++ b/src/game/vmap/IVMapManager.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -95,6 +95,6 @@ namespace VMAP
virtual bool getAreaInfo(unsigned int pMapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const = 0;
virtual bool GetLiquidLevel(uint32 pMapId, float x, float y, float z, uint8 ReqLiquidType, float& level, float& floor, uint32& type) const = 0;
};
-
}
+
#endif
diff --git a/src/game/vmap/MapTree.cpp b/src/game/vmap/MapTree.cpp
index 6e89f7dd2..f864d8e5d 100644
--- a/src/game/vmap/MapTree.cpp
+++ b/src/game/vmap/MapTree.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -82,7 +82,6 @@ namespace VMAP
bool result;
};
-
//=========================================================
std::string StaticMapTree::getTileFileName(uint32 mapID, uint32 tileX, uint32 tileY)
@@ -269,7 +268,7 @@ namespace VMAP
bool StaticMapTree::InitMap(const std::string& fname, VMapManager2* vm)
{
- DEBUG_LOG("Initializing StaticMapTree '%s'", fname.c_str());
+ DEBUG_FILTER_LOG(LOG_FILTER_MAP_LOADING, "Initializing StaticMapTree '%s'", fname.c_str());
bool success = true;
std::string fullname = iBasePath + fname;
FILE* rf = fopen(fullname.c_str(), "rb");
@@ -302,7 +301,7 @@ namespace VMAP
if (!iIsTiled && ModelSpawn::readFromFile(rf, spawn))
{
WorldModel* model = vm->acquireModelInstance(iBasePath, spawn.name);
- DEBUG_LOG("StaticMapTree::InitMap(): loading %s", spawn.name.c_str());
+ DEBUG_FILTER_LOG(LOG_FILTER_MAP_LOADING, "StaticMapTree::InitMap(): loading %s", spawn.name.c_str());
if (model)
{
// assume that global model always is the first and only tree value (could be improved...)
@@ -465,5 +464,4 @@ namespace VMAP
}
iLoadedTiles.erase(tile);
}
-
}
diff --git a/src/game/vmap/MapTree.h b/src/game/vmap/MapTree.h
index 69775b8fe..68e912bf4 100644
--- a/src/game/vmap/MapTree.h
+++ b/src/game/vmap/MapTree.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/game/vmap/ModelInstance.cpp b/src/game/vmap/ModelInstance.cpp
index 8f1201818..0d6eaf409 100644
--- a/src/game/vmap/ModelInstance.cpp
+++ b/src/game/vmap/ModelInstance.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -175,7 +175,7 @@ namespace VMAP
spawn.iBound = G3D::AABox(bLow, bHigh);
}
check += fread(&nameLen, sizeof(uint32), 1, rf);
- if (check != (has_bound ? 17 : 11))
+ if (check != uint32(has_bound ? 17 : 11))
{
ERROR_LOG("Error reading ModelSpawn!");
return false;
@@ -213,10 +213,9 @@ namespace VMAP
}
uint32 nameLen = spawn.name.length();
check += fwrite(&nameLen, sizeof(uint32), 1, wf);
- if (check != (has_bound ? 17 : 11)) return false;
+ if (check != uint32(has_bound ? 17 : 11)) return false;
check = fwrite(spawn.name.c_str(), sizeof(char), nameLen, wf);
if (check != nameLen) return false;
return true;
}
-
}
diff --git a/src/game/vmap/ModelInstance.h b/src/game/vmap/ModelInstance.h
index 1266847ce..308856aca 100644
--- a/src/game/vmap/ModelInstance.h
+++ b/src/game/vmap/ModelInstance.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -56,7 +56,6 @@ namespace VMAP
// temp?
const G3D::AABox& getBounds() const { return iBound; }
-
static bool readFromFile(FILE* rf, ModelSpawn& spawn);
static bool writeToFile(FILE* rw, const ModelSpawn& spawn);
};
diff --git a/src/game/vmap/RegularGrid.h b/src/game/vmap/RegularGrid.h
new file mode 100644
index 000000000..08cc2dbe8
--- /dev/null
+++ b/src/game/vmap/RegularGrid.h
@@ -0,0 +1,239 @@
+/*
+ * This file is part of the Continued-MaNGOS Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef _REGULAR_GRID_H
+#define _REGULAR_GRID_H
+
+#include
+#include
+#include
+#include
+#include
+
+#include "Errors.h"
+
+using G3D::Vector2;
+using G3D::Vector3;
+using G3D::AABox;
+using G3D::Ray;
+
+template
+struct NodeCreator
+{
+ static Node* makeNode(int /*x*/, int /*y*/) { return new Node();}
+};
+
+template < class T,
+ class Node,
+ class NodeCreatorFunc = NodeCreator,
+ /*class BoundsFunc = BoundsTrait,*/
+ class PositionFunc = PositionTrait
+ >
+class RegularGrid2D
+{
+ public:
+
+ enum
+ {
+ CELL_NUMBER = 64,
+ };
+
+#define HGRID_MAP_SIZE (533.33333f * 64.f) // shouldn't be changed
+#define CELL_SIZE float(HGRID_MAP_SIZE/(float)CELL_NUMBER)
+
+ typedef G3D::Table MemberTable;
+
+ MemberTable memberTable;
+ Node* nodes[CELL_NUMBER][CELL_NUMBER];
+
+ RegularGrid2D()
+ {
+ memset(nodes, 0, sizeof(nodes));
+ }
+
+ ~RegularGrid2D()
+ {
+ for (int x = 0; x < CELL_NUMBER; ++x)
+ for (int y = 0; y < CELL_NUMBER; ++y)
+ delete nodes[x][y];
+ }
+
+ void insert(const T& value)
+ {
+ Vector3 pos;
+ PositionFunc::getPosition(value, pos);
+ Node& node = getGridFor(pos.x, pos.y);
+ node.insert(value);
+ memberTable.set(&value, &node);
+ }
+
+ void remove(const T& value)
+ {
+ memberTable[&value]->remove(value);
+ // Remove the member
+ memberTable.remove(&value);
+ }
+
+ void balance()
+ {
+ for (int x = 0; x < CELL_NUMBER; ++x)
+ for (int y = 0; y < CELL_NUMBER; ++y)
+ if (Node* n = nodes[x][y])
+ n->balance();
+ }
+
+ bool contains(const T& value) const { return memberTable.containsKey(&value); }
+ int size() const { return memberTable.size(); }
+
+ struct Cell
+ {
+ int x, y;
+ bool operator == (const Cell& c2) const { return x == c2.x && y == c2.y;}
+
+ static Cell ComputeCell(float fx, float fy)
+ {
+ Cell c = {fx* (1.f / CELL_SIZE) + (CELL_NUMBER / 2), fy* (1.f / CELL_SIZE) + (CELL_NUMBER / 2)};
+ return c;
+ }
+
+ bool isValid() const { return x >= 0 && x < CELL_NUMBER && y >= 0 && y < CELL_NUMBER;}
+ };
+
+ Node& getGridFor(float fx, float fy)
+ {
+ Cell c = Cell::ComputeCell(fx, fy);
+ return getGrid(c.x, c.y);
+ }
+
+ Node& getGrid(int x, int y)
+ {
+ MANGOS_ASSERT(x < CELL_NUMBER && y < CELL_NUMBER);
+ if (!nodes[x][y])
+ nodes[x][y] = NodeCreatorFunc::makeNode(x, y);
+ return *nodes[x][y];
+ }
+
+ template
+ void intersectRay(const Ray& ray, RayCallback& intersectCallback, float max_dist)
+ {
+ intersectRay(ray, intersectCallback, max_dist, ray.origin() + ray.direction() * max_dist);
+ }
+
+ template
+ void intersectRay(const Ray& ray, RayCallback& intersectCallback, float& max_dist, const Vector3& end)
+ {
+ Cell cell = Cell::ComputeCell(ray.origin().x, ray.origin().y);
+ if (!cell.isValid())
+ return;
+
+ Cell last_cell = Cell::ComputeCell(end.x, end.y);
+
+ if (cell == last_cell)
+ {
+ if (Node* node = nodes[cell.x][cell.y])
+ node->intersectRay(ray, intersectCallback, max_dist);
+ return;
+ }
+
+ float voxel = (float)CELL_SIZE;
+ float kx_inv = ray.invDirection().x, bx = ray.origin().x;
+ float ky_inv = ray.invDirection().y, by = ray.origin().y;
+
+ int stepX, stepY;
+ float tMaxX, tMaxY;
+ if (kx_inv >= 0)
+ {
+ stepX = 1;
+ float x_border = (cell.x + 1) * voxel;
+ tMaxX = (x_border - bx) * kx_inv;
+ }
+ else
+ {
+ stepX = -1;
+ float x_border = (cell.x - 1) * voxel;
+ tMaxX = (x_border - bx) * kx_inv;
+ }
+
+ if (ky_inv >= 0)
+ {
+ stepY = 1;
+ float y_border = (cell.y + 1) * voxel;
+ tMaxY = (y_border - by) * ky_inv;
+ }
+ else
+ {
+ stepY = -1;
+ float y_border = (cell.y - 1) * voxel;
+ tMaxY = (y_border - by) * ky_inv;
+ }
+
+ //int Cycles = std::max((int)ceilf(max_dist/tMaxX),(int)ceilf(max_dist/tMaxY));
+ //int i = 0;
+
+ float tDeltaX = voxel * fabs(kx_inv);
+ float tDeltaY = voxel * fabs(ky_inv);
+ do
+ {
+ if (Node* node = nodes[cell.x][cell.y])
+ {
+ //float enterdist = max_dist;
+ node->intersectRay(ray, intersectCallback, max_dist);
+ }
+ if (cell == last_cell)
+ break;
+ if (tMaxX < tMaxY)
+ {
+ tMaxX += tDeltaX;
+ cell.x += stepX;
+ }
+ else
+ {
+ tMaxY += tDeltaY;
+ cell.y += stepY;
+ }
+ //++i;
+ }
+ while (cell.isValid());
+ }
+
+ template
+ void intersectPoint(const Vector3& point, IsectCallback& intersectCallback)
+ {
+ Cell cell = Cell::ComputeCell(point.x, point.y);
+ if (!cell.isValid())
+ return;
+ if (Node* node = nodes[cell.x][cell.y])
+ node->intersectPoint(point, intersectCallback);
+ }
+
+ // Optimized verson of intersectRay function for rays with vertical directions
+ template
+ void intersectZAllignedRay(const Ray& ray, RayCallback& intersectCallback, float& max_dist)
+ {
+ Cell cell = Cell::ComputeCell(ray.origin().x, ray.origin().y);
+ if (!cell.isValid())
+ return;
+ if (Node* node = nodes[cell.x][cell.y])
+ node->intersectRay(ray, intersectCallback, max_dist);
+ }
+};
+
+#undef CELL_SIZE
+#undef HGRID_MAP_SIZE
+
+#endif
diff --git a/src/game/vmap/TileAssembler.cpp b/src/game/vmap/TileAssembler.cpp
index 6bb65c807..198103353 100644
--- a/src/game/vmap/TileAssembler.cpp
+++ b/src/game/vmap/TileAssembler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,7 +16,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "WorldModel.h"
#include "TileAssembler.h"
#include "MapTree.h"
#include "BIH.h"
@@ -71,7 +70,6 @@ namespace VMAP
bool TileAssembler::convertWorld2()
{
- std::set spawnedModelFiles;
bool success = readMapSpawns();
if (!success)
return false;
@@ -178,6 +176,9 @@ namespace VMAP
// break; // test, extract only first map; TODO: remvoe this line
}
+ // add an object models, listed in temp_gameobject_models file
+ exportGameobjectModels();
+
// export objects
std::cout << "\nConverting Model Files" << std::endl;
for (std::set::iterator mfile = spawnedModelFiles.begin(); mfile != spawnedModelFiles.end(); ++mfile)
@@ -248,93 +249,38 @@ namespace VMAP
modelPosition.iScale = spawn.iScale;
modelPosition.init();
- FILE* rf = fopen(modelFilename.c_str(), "rb");
- if (!rf)
- {
- printf("ERROR: Can't open model file: %s\n", modelFilename.c_str());
+ WorldModel_Raw raw_model;
+ if (!raw_model.Read(modelFilename.c_str()))
return false;
- }
+
+ uint32 groups = raw_model.groupsArray.size();
+ if (groups != 1)
+ printf("Warning: '%s' does not seem to be a M2 model!\n", modelFilename.c_str());
AABox modelBound;
bool boundEmpty = true;
- char ident[8];
-
- int readOperation = 1;
-
- // temporary use defines to simplify read/check code (close file and return at fail)
-#define READ_OR_RETURN(V,S) if(fread((V), (S), 1, rf) != 1) { \
- fclose(rf); printf("readfail, op = %i\n", readOperation); return(false); } ++readOperation;
-#define CMP_OR_RETURN(V,S) if(strcmp((V),(S)) != 0) { \
- fclose(rf); printf("cmpfail, %s!=%s\n", V, S);return(false); }
-
- READ_OR_RETURN(&ident, 8);
- CMP_OR_RETURN(ident, RAW_VMAP_MAGIC);
-
- // we have to read one int. This is needed during the export and we have to skip it here
- uint32 tempNVectors;
- READ_OR_RETURN(&tempNVectors, sizeof(tempNVectors));
-
- uint32 groups, wmoRootId;
- char blockId[5];
- blockId[4] = 0;
- int blocksize;
- float* vectorarray = 0;
-
- READ_OR_RETURN(&groups, sizeof(uint32));
- READ_OR_RETURN(&wmoRootId, sizeof(uint32));
- if (groups != 1) printf("Warning: '%s' does not seem to be a M2 model!\n", modelFilename.c_str());
-
for (uint32 g = 0; g < groups; ++g) // should be only one for M2 files...
{
- fseek(rf, 3 * sizeof(uint32) + 6 * sizeof(float), SEEK_CUR);
+ std::vector& vertices = raw_model.groupsArray[g].vertexArray;
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "GRP ");
- READ_OR_RETURN(&blocksize, sizeof(int));
- fseek(rf, blocksize, SEEK_CUR);
-
- // ---- indexes
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "INDX");
- READ_OR_RETURN(&blocksize, sizeof(int));
- fseek(rf, blocksize, SEEK_CUR);
-
- // ---- vectors
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "VERT");
- READ_OR_RETURN(&blocksize, sizeof(int));
- uint32 nvectors;
- READ_OR_RETURN(&nvectors, sizeof(uint32));
-
- if (nvectors > 0)
- {
- vectorarray = new float[nvectors * 3];
- READ_OR_RETURN(vectorarray, nvectors * sizeof(float) * 3);
- }
- else
+ if (vertices.empty())
{
std::cout << "error: model '" << spawn.name << "' has no geometry!" << std::endl;
- return false;
+ continue;
}
- for (uint32 i = 0, indexNo = 0; indexNo < nvectors; ++indexNo, i += 3)
+ uint32 nvectors = vertices.size();
+ for (uint32 i = 0; i < nvectors; ++i)
{
- Vector3 v = Vector3(vectorarray[i + 0], vectorarray[i + 1], vectorarray[i + 2]);
- v = modelPosition.transform(v);
-
+ Vector3 v = modelPosition.transform(vertices[i]);
if (boundEmpty)
modelBound = AABox(v, v), boundEmpty = false;
else
modelBound.merge(v);
}
- delete[] vectorarray;
- // drop of temporary use defines
-#undef READ_OR_RETURN
-#undef CMP_OR_RETURN
}
spawn.iBound = modelBound + spawn.iPos;
spawn.flags |= MOD_HAS_BOUND;
- fclose(rf);
return true;
}
@@ -354,24 +300,217 @@ namespace VMAP
if (filename.length() > 0)
filename.append("/");
filename.append(pModelFilename);
- FILE* rf = fopen(filename.c_str(), "rb");
+ WorldModel_Raw raw_model;
+ if (!raw_model.Read(filename.c_str()))
+ return false;
+
+ // write WorldModel
+ WorldModel model;
+ model.setRootWmoID(raw_model.RootWMOID);
+ if (raw_model.groupsArray.size())
+ {
+ std::vector groupsArray;
+
+ uint32 groups = raw_model.groupsArray.size();
+ for (uint32 g = 0; g < groups; ++g)
+ {
+ GroupModel_Raw& raw_group = raw_model.groupsArray[g];
+ groupsArray.push_back(GroupModel(raw_group.mogpflags, raw_group.GroupWMOID, raw_group.bounds));
+ groupsArray.back().setMeshData(raw_group.vertexArray, raw_group.triangles);
+ groupsArray.back().setLiquidData(raw_group.liquid);
+ }
+
+ model.setGroupModels(groupsArray);
+ }
+
+ success = model.writeFile(iDestDir + "/" + pModelFilename + ".vmo");
+
+ //std::cout << "readRawFile2: '" << pModelFilename << "' tris: " << nElements << " nodes: " << nNodes << std::endl;
+ return success;
+ }
+
+ void TileAssembler::exportGameobjectModels()
+ {
+ FILE* model_list = fopen((iSrcDir + "/" + GAMEOBJECT_MODELS).c_str(), "rb");
+ if (!model_list)
+ return;
+
+ FILE* model_list_copy = fopen((iDestDir + "/" + GAMEOBJECT_MODELS).c_str(), "wb");
+ if (!model_list_copy)
+ {
+ fclose(model_list);
+ return;
+ }
+
+ uint32 name_length, displayId;
+ char buff[500];
+ while (!feof(model_list))
+ {
+ fread(&displayId, sizeof(uint32), 1, model_list);
+ fread(&name_length, sizeof(uint32), 1, model_list);
+
+ if (name_length >= sizeof(buff))
+ {
+ std::cout << "\nFile 'temp_gameobject_models' seems to be corrupted" << std::endl;
+ break;
+ }
+
+ fread(&buff, sizeof(char), name_length, model_list);
+ std::string model_name(buff, name_length);
+
+ WorldModel_Raw raw_model;
+ if (!raw_model.Read((iSrcDir + "/" + model_name).c_str()))
+ continue;
+
+ spawnedModelFiles.insert(model_name);
+
+ AABox bounds;
+ bool boundEmpty = true;
+ for (uint32 g = 0; g < raw_model.groupsArray.size(); ++g)
+ {
+ std::vector& vertices = raw_model.groupsArray[g].vertexArray;
+
+ uint32 nvectors = vertices.size();
+ for (uint32 i = 0; i < nvectors; ++i)
+ {
+ Vector3& v = vertices[i];
+ if (boundEmpty)
+ bounds = AABox(v, v), boundEmpty = false;
+ else
+ bounds.merge(v);
+ }
+ }
+
+ fwrite(&displayId, sizeof(uint32), 1, model_list_copy);
+ fwrite(&name_length, sizeof(uint32), 1, model_list_copy);
+ fwrite(&buff, sizeof(char), name_length, model_list_copy);
+ fwrite(&bounds.low(), sizeof(Vector3), 1, model_list_copy);
+ fwrite(&bounds.high(), sizeof(Vector3), 1, model_list_copy);
+ }
+ fclose(model_list);
+ fclose(model_list_copy);
+ }
+
+ // temporary use defines to simplify read/check code (close file and return at fail)
+#define READ_OR_RETURN(V,S) if(fread((V), (S), 1, rf) != 1) { \
+ fclose(rf); printf("readfail, op = %i\n", readOperation); return(false); }
+#define CMP_OR_RETURN(V,S) if(strcmp((V),(S)) != 0) { \
+ fclose(rf); printf("cmpfail, %s!=%s\n", V, S);return(false); }
+
+ bool GroupModel_Raw::Read(FILE* rf)
+ {
+ char blockId[5];
+ blockId[4] = 0;
+ int blocksize;
+ int readOperation = 0;
+
+ READ_OR_RETURN(&mogpflags, sizeof(uint32));
+ READ_OR_RETURN(&GroupWMOID, sizeof(uint32));
+
+ Vector3 vec1, vec2;
+ READ_OR_RETURN(&vec1, sizeof(Vector3));
+ READ_OR_RETURN(&vec2, sizeof(Vector3));
+ bounds.set(vec1, vec2);
+
+ READ_OR_RETURN(&liquidflags, sizeof(uint32));
+
+ // will this ever be used? what is it good for anyway??
+ uint32 branches;
+ READ_OR_RETURN(&blockId, 4);
+ CMP_OR_RETURN(blockId, "GRP ");
+ READ_OR_RETURN(&blocksize, sizeof(int));
+ READ_OR_RETURN(&branches, sizeof(uint32));
+ for (uint32 b = 0; b < branches; ++b)
+ {
+ uint32 indexes;
+ // indexes for each branch (not used jet)
+ READ_OR_RETURN(&indexes, sizeof(uint32));
+ }
+
+ // ---- indexes
+ READ_OR_RETURN(&blockId, 4);
+ CMP_OR_RETURN(blockId, "INDX");
+ READ_OR_RETURN(&blocksize, sizeof(int));
+ uint32 nindexes;
+ READ_OR_RETURN(&nindexes, sizeof(uint32));
+ if (nindexes > 0)
+ {
+ uint16* indexarray = new uint16[nindexes];
+ if (fread(indexarray, nindexes * sizeof(uint16), 1, rf) != 1)
+ {
+ fclose(rf);
+ delete[] indexarray;
+ printf("readfail, op = %i\n", readOperation);
+ return false;
+ }
+ triangles.reserve(nindexes / 3);
+ for (uint32 i = 0; i < nindexes; i += 3)
+ {
+ triangles.push_back(MeshTriangle(indexarray[i], indexarray[i + 1], indexarray[i + 2]));
+ }
+ delete[] indexarray;
+ }
+
+ // ---- vectors
+ READ_OR_RETURN(&blockId, 4);
+ CMP_OR_RETURN(blockId, "VERT");
+ READ_OR_RETURN(&blocksize, sizeof(int));
+ uint32 nvectors;
+ READ_OR_RETURN(&nvectors, sizeof(uint32));
+
+ if (nvectors > 0)
+ {
+ float* vectorarray = new float[nvectors * 3];
+ if (fread(vectorarray, nvectors * sizeof(float) * 3, 1, rf) != 1)
+ {
+ fclose(rf);
+ delete[] vectorarray;
+ printf("readfail, op = %i\n", readOperation);
+ return false;
+ }
+
+ for (uint32 i = 0; i < nvectors; ++i)
+ {
+ vertexArray.push_back(Vector3(vectorarray + 3 * i));
+ }
+ delete[] vectorarray;
+ }
+
+ // ----- liquid
+ liquid = 0;
+ if (liquidflags & 1)
+ {
+ WMOLiquidHeader hlq;
+ READ_OR_RETURN(&blockId, 4);
+ CMP_OR_RETURN(blockId, "LIQU");
+ READ_OR_RETURN(&blocksize, sizeof(int));
+ READ_OR_RETURN(&hlq, sizeof(WMOLiquidHeader));
+ liquid = new WmoLiquid(hlq.xtiles, hlq.ytiles, Vector3(hlq.pos_x, hlq.pos_y, hlq.pos_z), hlq.type);
+ uint32 size = hlq.xverts * hlq.yverts;
+ READ_OR_RETURN(liquid->GetHeightStorage(), size * sizeof(float));
+ size = hlq.xtiles * hlq.ytiles;
+ READ_OR_RETURN(liquid->GetFlagsStorage(), size);
+ }
+ return true;
+ }
+
+ GroupModel_Raw::~GroupModel_Raw()
+ {
+ delete liquid;
+ }
+
+ bool WorldModel_Raw::Read(const char* path)
+ {
+ FILE* rf = fopen(path, "rb");
if (!rf)
{
- printf("ERROR: Can't open model file in form: %s", pModelFilename.c_str());
- printf("... or form: %s", filename.c_str());
+ printf("ERROR: Can't open raw model file: %s\n", path);
return false;
}
char ident[8];
-
- int readOperation = 1;
-
- // temporary use defines to simplify read/check code (close file and return at fail)
-#define READ_OR_RETURN(V,S) if(fread((V), (S), 1, rf) != 1) { \
- fclose(rf); printf("readfail, op = %i\n", readOperation); return(false); } ++readOperation;
-#define CMP_OR_RETURN(V,S) if(strcmp((V),(S)) != 0) { \
- fclose(rf); printf("cmpfail, %s!=%s\n", V, S);return(false); }
+ int readOperation = 0;
READ_OR_RETURN(&ident, 8);
CMP_OR_RETURN(ident, RAW_VMAP_MAGIC);
@@ -381,116 +520,18 @@ namespace VMAP
READ_OR_RETURN(&tempNVectors, sizeof(tempNVectors));
uint32 groups;
- uint32 RootWMOID;
- char blockId[5];
- blockId[4] = 0;
- int blocksize;
-
READ_OR_RETURN(&groups, sizeof(uint32));
READ_OR_RETURN(&RootWMOID, sizeof(uint32));
- std::vector groupsArray;
+ groupsArray.resize(groups);
+ bool succeed = true;
+ for (uint32 g = 0; g < groups && succeed; ++g)
+ succeed = groupsArray[g].Read(rf);
- for (uint32 g = 0; g < groups; ++g)
- {
- std::vector triangles;
- std::vector vertexArray;
-
- uint32 mogpflags, GroupWMOID;
- READ_OR_RETURN(&mogpflags, sizeof(uint32));
- READ_OR_RETURN(&GroupWMOID, sizeof(uint32));
-
- float bbox1[3], bbox2[3];
- READ_OR_RETURN(bbox1, sizeof(float) * 3);
- READ_OR_RETURN(bbox2, sizeof(float) * 3);
-
- uint32 liquidflags;
- READ_OR_RETURN(&liquidflags, sizeof(uint32));
-
- // will this ever be used? what is it good for anyway??
- uint32 branches;
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "GRP ");
- READ_OR_RETURN(&blocksize, sizeof(int));
- READ_OR_RETURN(&branches, sizeof(uint32));
- for (uint32 b = 0; b < branches; ++b)
- {
- uint32 indexes;
- // indexes for each branch (not used jet)
- READ_OR_RETURN(&indexes, sizeof(uint32));
- }
-
- // ---- indexes
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "INDX");
- READ_OR_RETURN(&blocksize, sizeof(int));
- uint32 nindexes;
- READ_OR_RETURN(&nindexes, sizeof(uint32));
- if (nindexes > 0)
- {
- uint16* indexarray = new uint16[nindexes];
- READ_OR_RETURN(indexarray, nindexes * sizeof(uint16));
- for (uint32 i = 0; i < nindexes; i += 3)
- {
- triangles.push_back(MeshTriangle(indexarray[i], indexarray[i + 1], indexarray[i + 2]));
- }
- delete[] indexarray;
- }
-
- // ---- vectors
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "VERT");
- READ_OR_RETURN(&blocksize, sizeof(int));
- uint32 nvectors;
- READ_OR_RETURN(&nvectors, sizeof(uint32));
-
- if (nvectors > 0)
- {
- float* vectorarray = new float[nvectors * 3];
- READ_OR_RETURN(vectorarray, nvectors * sizeof(float) * 3);
- for (uint32 i = 0; i < nvectors; ++i)
- {
- vertexArray.push_back(Vector3(vectorarray + 3 * i));
- }
- delete[] vectorarray;
- }
- // ----- liquid
- WmoLiquid* liquid = 0;
- if (liquidflags & 1)
- {
- WMOLiquidHeader hlq;
- READ_OR_RETURN(&blockId, 4);
- CMP_OR_RETURN(blockId, "LIQU");
- READ_OR_RETURN(&blocksize, sizeof(int));
- READ_OR_RETURN(&hlq, sizeof(WMOLiquidHeader));
- liquid = new WmoLiquid(hlq.xtiles, hlq.ytiles, Vector3(hlq.pos_x, hlq.pos_y, hlq.pos_z), hlq.type);
- uint32 size = hlq.xverts * hlq.yverts;
- READ_OR_RETURN(liquid->GetHeightStorage(), size * sizeof(float));
- size = hlq.xtiles * hlq.ytiles;
- READ_OR_RETURN(liquid->GetFlagsStorage(), size);
- }
-
- groupsArray.push_back(GroupModel(mogpflags, GroupWMOID, AABox(Vector3(bbox1), Vector3(bbox2))));
- groupsArray.back().setMeshData(vertexArray, triangles);
- groupsArray.back().setLiquidData(liquid);
-
- // drop of temporary use defines
+ fclose(rf);
+ return succeed;
+ }
+ // drop of temporary use defines
#undef READ_OR_RETURN
#undef CMP_OR_RETURN
-
- }
- fclose(rf);
-
- // write WorldModel
- WorldModel model;
- model.setRootWmoID(RootWMOID);
- if (groupsArray.size())
- {
- model.setGroupModels(groupsArray);
- success = model.writeFile(iDestDir + "/" + pModelFilename + ".vmo");
- }
-
- // std::cout << "readRawFile2: '" << pModelFilename << "' tris: " << nElements << " nodes: " << nNodes << std::endl;
- return success;
- }
}
diff --git a/src/game/vmap/TileAssembler.h b/src/game/vmap/TileAssembler.h
index 910b82f03..f29d966e0 100644
--- a/src/game/vmap/TileAssembler.h
+++ b/src/game/vmap/TileAssembler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2012 MaNGOS
+ * This file is part of the Continued-MaNGOS Project
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,8 +22,10 @@
#include
#include
#include