aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared
AgeCommit message (Collapse)Author
2010-10-21Buildsystem: Add initial support for Intel C++ Compiler (patch by Leak)click
Note: Intel C++ Compiler for Windows is not supported in this change Closes issue 4361 --HG-- branch : trunk
2010-10-21Core: optimize string splittinglinencloth
- Mainly affects item loading performance - Reduces guild loading time a lot --HG-- branch : trunk
2010-10-17Core/Utils: Fixed some unsafe calls to utf8 translation functions.Xanadu
--HG-- branch : trunk
2010-10-17Core/Guilds: guild code was completely refactored and rewritten.azazel
* OOP desing and implementation; * all the queries are moved to prepared statements; * guild loading is optimized; * all the possible interaction with guild's data is done inside the guild class; * added more hooks to GuildScript class; WARNING: Make sure you backup your characters database before applying this change (just in case). Known problems with guilds: * when new member is added to the guild, MOTD is not displayed for him in guild tab of social window; * if you add item with random property to guild bank visual representation of item below it becomes wrong (it displays wrong stack number); * packets order differs from official: currently guild bank packet traffic is twice as more than on offy. --HG-- branch : trunk
2010-10-16Fix most of the recently introduced warningsazazel
--HG-- branch : trunk
2010-10-10Core/Entities: Ensure that pets retain their XP-points when dismissed in any ↵click
form or way (outrunning/riding/mounting/flying) Also clean up the logic a bit - pet stats initialization initializes hp/mana/powers on pets, while they should only be initialized/changed on pet call/creation. Fixes issues 4284 --HG-- branch : trunk
2010-10-07REALLY fix the CRLF-crap...click
--HG-- branch : trunk
2010-10-07Remove the accidental additions of CRLF-crap from the header updatesclick
--HG-- branch : trunk
2010-10-07More copyright header updates (will this ever end?)click
--HG-- branch : trunk
2010-10-07Copyright header updates - part 3... (and some whitespace cleanups)click
--HG-- branch : trunk
2010-10-07Yet more copyright header updatesclick
--HG-- branch : trunk
2010-10-07Update copyright headers (following the same standard in all files = good)click
--HG-- branch : trunk
2010-10-01Core: Fix couple of warningsSpp
--HG-- branch : trunk
2010-09-30Remove const from MySQLConnectionInfo, can't use non const functions in a ↵Anubisss
const struct. This fixes the compile error. --HG-- branch : trunk
2010-09-29Buildsystem: Overhaul of the CMake buildsystem:click
- utilize CMake for completely generating revision.h (kills off genrev and revision.h targets): - pull and set correct revision-ID/hash from Mercurial (hg) when using regular repository sourcetree - pull and set correct revision-ID/hash from archived releases (when pulled from googlecode) - set and use _BUILD_DIRECTIVE definition (earlier part of revision.h) as compiletime definition - delete genrev and related buildsystems (now deprecated) - Move some files around to adhere to buildsystem structure Thanks to Shauren for figuring out the definition-behaviour for MSVC while he was in the shower --HG-- branch : trunk rename : cmake_uninstall.cmake.in => cmake/platform/unix/cmake_uninstall.in.cmake
2010-09-29Core/DBLayer: Pass connection info down to lower level class MySQLConnection ↵Machiavelli
and use relevant data in logging messages in its methods --HG-- branch : trunk
2010-09-29Fix linux compile. Thanks to click, hunshijie and tomkuzyno for spotting the ↵Machiavelli
culprits. --HG-- branch : trunk
2010-09-29Core/DBLayer: Store MySQL connection details in a struct and print relevant ↵Machiavelli
data in sql driver messages --HG-- branch : trunk
2010-09-28Core/Commands: Remove all active bans before adding new one, prevents ↵Shauren
multiple active bans for one character/account Core/DBLayer: Converted most of ban related queries into prepared statement (might have missed some) Closes issue #4218. --HG-- branch : trunk
2010-09-28Core/: Fix warningsSpp
--HG-- branch : trunk
2010-09-28Core/DBLayer: Remove obsolete parameter in PreparedResultSet constructor.Machiavelli
Thanks to Spp for pointing out. --HG-- branch : trunk
2010-09-28Magic numbers cleanup:Shocker
- Replace many magic numbers with constants - Use enum for vehicle flags/seat flags - Correct structure for ItemRandomSuffixEntry --HG-- branch : trunk
2010-09-27Core/DBLayer:Machiavelli
- DB Threading model update * Get rid of ThreadBundleMask and bundled connection * Implement configurable amount of Synch threads for databasepools * Use modulus based algorithm to check for free synchronous connections instead of previous ¨get connection by thread key or bundlemask¨ feature * Locks on mysql context objects are now managed outside the mysql query methods Fixes issue #4058 Fixes issue #4059 Introduces a ton of more issues. Use at own risk. You were warned. Really. Don´t forget to update your worldserver.conf --HG-- branch : trunk
2010-09-26Core/Players: Fixed action bar issues when changing active specShauren
--HG-- branch : trunk
2010-09-25Core: Generic cleanup (tab2spaces/whitespace removal)click
--HG-- branch : trunk
2010-09-25Buildsystem: Set revision.h as a required dependency build before building ↵click
game, shared, worldserver and authserver --HG-- branch : trunk
2010-09-25Core/Scripts/SmartAI: added SmartAI filesRat
Core/DBLayer/Texts: added CreatureTextMgr files BuildSystem: added cmake for above files Note: these are still under development and NOT USABLE should not effect anything now --HG-- branch : trunk
2010-09-25Core/SocialMgr: Do not load recently deleted (but existant) characters to ↵Machiavelli
social (friend/ignore) lists. Fixes issue #3870 Fixes issue #3610 --HG-- branch : trunk
2010-09-25Core/DBLayer: Fix a memory leak in Field class, properly clear buffer before ↵Machiavelli
repopulating it. Fixes many issues (from wrong subnames on NPCs to absent GO/Creature spawns) Thanks to Rat for helping find the issue --HG-- branch : trunk
2010-09-25Core/DBLayer:Machiavelli
- Rewrite KeepAlive method for DatabaseWorkerPool. Use mysql_ping instead of explicit select queries, and also schedule KeepAlives for asynchronous threads. NOTE: While the function is implemented and previous keepalive calls were transformed, it´s possible the keepalive call will need to be placed in several other locations in the code. Please leave feedback on whether or not this fixes your timeout issues. Update issue #4062 --HG-- branch : trunk
2010-09-25Core/DBLayer:Machiavelli
- Fix another pesky linux specific compile error. (Thanks to Derex/Aokromes) - Fix a typo in an assertion. (Thanks to Derex/Aokromes) - Add proper zero termination in SetStructuredValue to get rid of memory issues that arose in the last few commits. - Fix a crash caused by vsprintf´ing std::string in SystemMgr::LoadVersion() --HG-- branch : trunk
2010-09-24Core/DBLayer: Return proper connection handle from ↵Machiavelli
DatabaseWorkerPool<T>::GetConnection Updates issue #4062 Updates issue #4058 --HG-- branch : trunk
2010-09-24Core/DBLayer:Machiavelli
- Fix memory leak introduced in previous rev - Fix linux compile, thanks to Playon for reporting --HG-- branch : trunk
2010-09-24Core/DBLayer:Machiavelli
- Rewrite Field class to be able to store both binary prepared statement data and data from adhoc query resultsets - Buffer the data of prepared statements using ResultSet and Field classes and let go of mysql c api structures after PreparedResultSet constructor. Fixes a race condition and thus a possible crash/data corruption (issue pointed out to Derex, basic suggestion by raczman) - Conform PreparedResultSet and ResultSet to the same design standards, and using Field class as data buffer class for both * NOTE: This means the fetching methods are uniform again, using ¨Field* fields = result->Fetch();¨ and access to elements trough fields[x]. * NOTE: for access to the correct row in prepared statements, ¨Field* fields = result->Fetch();¨ must ALWAYS be called inside the do { }while(result->NextRow()) loop. * NOTE: This means that Field::GetString() returns std::string object and Field::GetCString() returns const char* pointer. Still experimental and all that jazz, not recommended for production servers until feedback is given. --HG-- branch : trunk
2010-09-21Core/Items: Implemented trading soulbound loot itemsShauren
Core/DBLayer: Converted more more player-related queries into prepared statements Core/Items: Fixed loading of enchantments Closes issue #4130. --HG-- branch : trunk
2010-09-20Core/DBLayer: Correctly print relevant mysql prepared statement creation ↵Machiavelli
error to give the end-user an idea of what exactly went wrong (missing SQL updates are the culprit of creation failure 99% of the time) --HG-- branch : trunk
2010-09-20Core/DBLayer: Converted player login queries into prepared statementsShauren
Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery --HG-- branch : trunk
2010-09-19Core/DBLayer: Shuffle an #include-statement around (initialize mysql ↵click
connections before working on the rest) - Fixes nonPCH-builds. --HG-- branch : trunk
2010-09-19Core/Players: Added support for single character bansShauren
Core/Commands: Renamed .ban character to .ban playeraccount (.ban character will ban only the player, not account) This revision reaches 10000, congratulations and thanks to everyone who contributed! --HG-- branch : trunk
2010-09-19Core/DBLayer: Correct size for storing MYSQL_TYPE_FLOATMachiavelli
--HG-- branch : trunk
2010-09-19Core/DBLayer:Machiavelli
- Allow storing floats in prepared statements explicitly (previously would be casted to double) - Add GetBool ¨wrapper/hack¨ to PreparedResultset class. --HG-- branch : trunk
2010-09-19Core/DBLayer: Move QueryHolder and BasicStatement operations to their own ↵Machiavelli
file and remove SQLOperation.cpp from revision control --HG-- branch : trunk
2010-09-19Core/DBLayer:Machiavelli
- Declare the datatypes used to determine transaction element data (prepared statement/adhoc query string) on a generic level in SQLOperation.h - Implement variable SQL element data for SQLQueryHolder class so it can execute both prepared statements and adhoc queries - Make MySQLConnection::Query for adhoc queries return pointer to type instead of an autopointer, the autopointer is now applied on higher level code just like the function for querying prepared statements --HG-- branch : trunk
2010-09-19Core/DBLayer: Fix syntax of some recently added prepared statements that ↵Machiavelli
might have caused statement creation failure on certain platforms --HG-- branch : trunk
2010-09-19Core/DBLayer: Add an assert to trace down when a prepared statement creation ↵Machiavelli
has failed (99% it will be because of a bad query) - to prevent crashes at a later stage --HG-- branch : trunk
2010-09-18Core/DBLayer: Some more prepared statements in ObjectMgr.silinoron
Core/ObjectMgr: Some additional cleanup. --HG-- branch : trunk
2010-09-18Core/DBLayer: Change some regular statements to prepared statements.silinoron
Patch by thyros82@gmx.de. Fixes issue #3774 --HG-- branch : trunk
2010-09-18Core/DBLayer: Fix a typo. Author: 41782992@qq.comlinencloth
Fixes issue 4071. --HG-- branch : trunk
2010-09-18Core/Utils: Fix a crash in vutf8printf. Author: VladimirMachiavelli
--HG-- branch : trunk
2010-09-17Core/Pools: Converted quest-related pool queries into prepared statementsShauren
--HG-- branch : trunk