Commit Graph

12694 Commits

Author SHA1 Message Date
leak a14aa37585 Core/DBLayer: Fix value list from recent changes 2012-03-28 21:34:26 +02:00
leak 7309ee5621 SQL: Auth db data type cleanup logs, realmcharacters, realmlist, uptime / Storage engine switched to InnoDB Note:
As for the redundant `uptime`.`startstring` being removed, this page might be of interest how to generate time strings from unix timestamps
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime
2012-03-28 19:46:38 +02:00
click 6237ddac34 Partially revert a36a0a77ef.
Cleaning databases for old/deprecated and expired quests should never be a
developers choice specifically. This should be done by admins, not developers,
through the use of the already existing paramters found in the worldserver config :
CleanCharacterDB / PersistentCharacterCleanFlags

An adjustment to the respective questloader prepared statement has been done to
accomodate for the earlier change (by not loading such quests into memory at all).

Documentation for how this cleanup-procedures work already exists in the core :
doc/CharacterDBCleanup.txt.
2012-03-28 19:31:06 +02:00
Nay 007e9269fe Core/GameEventMgr: Fix a compile warning 2012-03-28 18:56:22 +02:00
Kandera 6763c23777 Core/Spells: attempt to fix penance doing nothing on "friendly" non faction targets. should return invalid targets 2012-03-28 08:29:42 -04:00
Machiavelli e95d614f52 Core/Misc: Prevent calling ACE_Task_Base::wait() on an invalid handle. WorldSocketMgr::Wait is already called in WorldRunnable post-service hook 2012-03-28 12:50:02 +02:00
Machiavelli cc0448a017 Core/Battleground/SOTA: Initialize uninitialized variables.
Fixes:

==8111== Conditional jump or move depends on uninitialised value(s)
==8111==    at 0x12B542C: BattlegroundSA::FillInitialWorldStates(WorldPacket&) (BattlegroundSA.cpp:421)
==8111==    by 0xF93CD9: Player::SendInitWorldStates(unsigned int, unsigned int) (Player.cpp:9664)'

And similar.
2012-03-28 13:17:45 +03:00
Machiavelli 91228d2711 Core/Player: Similarly initialize m_SeasonalQuestChanged
Fixes:

==8111== Conditional jump or move depends on uninitialised value(s)
==8111==    at 0xFB7C42: Player::_SaveSeasonalQuestStatus(Trinity::AutoPtr<Transaction, ACE_Thread_Mutex>&) (Player.cpp:19375)
==8111==    by 0xFB56BA: Player::SaveToDB(bool) (Player.cpp:18898)
2012-03-28 13:07:37 +03:00
Machiavelli c3db19b80b Core/Player: Initialize m_WeeklyQuestChanged
Fixes:

==8111== Conditional jump or move depends on uninitialised value(s)
==8111==    at 0xFB7AD2: Player::_SaveWeeklyQuestStatus(Trinity::AutoPtr<Transaction, ACE_Thread_Mutex>&) (Player.cpp:19352)
2012-03-28 13:06:02 +03:00
kaelima 6613cbafa6 Core/Protocol:
- Correct the use of first byte in SMSG_NAME_QUERY_RESPONSE
- Send guid and name in SMSG_CHAR_RENAME for failing results too
2012-03-28 04:02:02 +02:00
kaelima 820f45c424 Core/Protocol:
- Correct and rename response message from creating/updating a ticket
- Prevent some trailing data in CMSG_GMTICKET_CREATE and add comment on stuff missing from its structure.
- Random cleanup
2012-03-28 03:59:03 +02:00
kaelima f9caf79b16 Core/Grid: Fix crashes when closing up to the edge of a map.
Closes #5085
2012-03-28 02:38:16 +02:00
Nay ff070bd17e Core/LFG: (Config) Enable DungeonFinder by default, it was proven to be stable and working.
It is still not perfect and that's why we are waiting for feedback (a.k.a guinea pigs)
2012-03-28 00:43:59 +01:00
Nay f44e6834df Core/DBLayer: Fix remaining errors in loading world tables and a couple of them in characters database
Also removed World::LoadIp2nation(), it was not doing anything.
Closes #5897
2012-03-28 00:38:24 +01:00
Shauren 76397cf931 Core/Grids: Removed unsafe substraction, fixes possible freezes 2012-03-28 01:26:45 +02:00
Shauren ae0511a2a4 Core/Spells: Fix DynamicObject AoE effects for invisible targets e.g Flare. Original patch by Elron
Closes #5898
2012-03-28 01:13:58 +02:00
Shocker b4f9cb6aa8 Core/Spells: Correct diminishing returns for Horror category 2012-03-28 01:30:12 +03:00
Shauren 697fda7d27 Core/Players: Fixed copy paste mistake 2012-03-28 00:03:11 +02:00
click ef3835655c Core. Fix a mishap in the ObjectMgr after the recent changes 2012-03-27 23:12:01 +02:00
Nay 729f419af1 Core/DBLayer: Correct few more wrong read types (No. 4)
DB/World: Some consistency in the ints "length" field (not really a length)

All world dbs checked
2012-03-27 21:36:16 +01:00
Nay 8e87fe2744 Typo 2012-03-27 19:29:54 +01:00
Nay ead019b061 Core/DBLayer: Correct few more wrong read types (No. 3)
DB/World: Some consistency in the ints "length" field (not really a length)

From A to G world tables verified; missing all the others
2012-03-27 19:26:58 +01:00
kandera def4643896 Core/Spells: correctly fix the issue with dispel over time auras. thx shauren 2012-03-27 14:46:19 -03:00
Shauren 38deaa5dba Core/Players: Fixed saving glyphs to database
Closes #5909
2012-03-27 19:00:41 +02:00
Nay e40eb4bfbc Core/DBLayer: Correct few more wrong read types (No. 2)
DB/World: Some consistency in the ints "length" field (not really a length)

From A to G world tables verified; missing all the others
2012-03-27 15:47:40 +01:00
click 13757731b7 Merge pull request #5811 from Elron103/pull-requests3
Core/Units: Fix issues with threat management on phase changes
This is the cleaner version of the two suggested on pull-requests, and handles the threatlist correctly as well.
2012-03-27 07:08:03 -07:00
Kandera 0550f1dc05 Core/Spells: fix the issue with dispel auras. (thx warpten) closes #5902 2012-03-27 08:42:54 -04:00
Machiavelli 79a782f143 Core/Misc: Make World::m_stopEvent thread-safe. Note that the 'virtual' keyword in C/C++ is pretty useless for multithreading 2012-03-27 13:19:27 +02:00
Machiavelli 1ee7196ec0 Core/DB Layer: Fix helgrind errors on some concurrent access to resultset auto pointers.
Example:
==8753== Possible data race during read of size 8 at 0x2e803e60 by thread #8
==8753==    at 0xDD0FFC: PreparedResultSet::operator[](unsigned int) const (QueryResult.h:83)
==8753==    by 0x131D82D: WorldSession::HandleCharEnum(Trinity::AutoPtr<PreparedResultSet, ACE_Null_Mutex>) (CharacterHandler.cpp:217)
==8753==    by 0x118F8C3: WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1087)
{..}
==8753==  Address 0x2e803e60 is 0 bytes inside a block of size 16 alloc'd
==8753==    at 0x4C28B75: operator new(unsigned long) (vg_replace_malloc.c:261)
==8753==    by 0x137D515: __gnu_cxx::new_allocator<Field*>::allocate(unsigned long, void const*) (new_allocator.h:92)
==8753==    by 0x137D378: std::_Vector_base<Field*, std::allocator<Field*> >::_M_allocate(unsigned long) (in /home/aokromes/bin/bin/worldserver)
==8753==    by 0x137CEC6: std::vector<Field*, std::allocator<Field*> >::_M_fill_insert(__gnu_cxx::__normal_iterator<Field**, std::vector<Field*, std::allocator<Field*> > >, unsigned long, Field* const&) (vector.tcc:416)
==8753==    by 0x137CB27: std::vector<Field*, std::allocator<Field*> >::insert(__gnu_cxx::__normal_iterator<Field**, std::vector<Field*, std::allocator<Field*> > >, unsigned long, Field* const&) (stl_vector.h:944)
==8753==    by 0x137C964: std::vector<Field*, std::allocator<Field*> >::resize(unsigned long, Field*) (stl_vector.h:632)
==8753==    by 0x137BFCA: PreparedResultSet::PreparedResultSet(st_mysql_stmt*, st_mysql_res*, unsigned long, unsigned int) (QueryResult.cpp:98)
==8753==    by 0x137A12B: MySQLConnection::Query(PreparedStatement*) (MySQLConnection.cpp:493)
==8753==    by 0x137F663: PreparedStatementTask::Execute() (PreparedStatement.cpp:412)

Have a feeling this is a false positive, though. Nevertheless good to get rid of.
2012-03-27 13:33:02 +03:00
Machiavelli 88d81d27cf Core/DB Layer: - Fix "Thread #1 unlocked a not-locked lock at 0x6D56E90" helgrind error (thanks to Aokromes for logs). Cause was unlocking MySQL connection on shutdown, but concurrent access at this point is not required.
- Remove redundant locking in PingOperation. Since these are delayed to async threads with their own MySQL connection, no concurrent access here either.
- Codestyle cleanup
- Documentation refining
2012-03-27 11:50:03 +02:00
Shocker 13e071195d Core/Groups: Remove redundant check in WorldSession::HandleLootRoll 2012-03-27 03:50:53 +03:00
click 6afaed4a02 Core: Remove the MersenneTwiser-library (SFMT is now considered stable enough for full deployment) 2012-03-27 02:27:12 +02:00
Nay a92820b51c Core/DBLayer: Correct few more wrong read types (No. 1)
DB/World: Some consistency in the ints "length" field (not really a length)

From A to D world tables verified; missing all the others

int(11) -> int32
unsigned int(10) -> uint32
mediumint(8) -> int32
unsigned mediumint(8) -> uint32
smallint(6) -> int16
unsigned smallint(5) -> uint16
tinyint(4) -> int8
unsigned tinyint(3) -> uint8
2012-03-27 00:43:56 +01:00
Nay 8f365de4b2 Core/DBLayer: Fix creature and spell_rank loading 2012-03-26 21:06:50 +01:00
kandera 613d5368a5 Core/Spells: and another mistake from the misdirection fix >.> 2012-03-26 15:15:06 -03:00
leak 89f31f3cba Core/DBLayer: Typo from prev. commit 2012-03-26 19:05:51 +02:00
leak 830a7fb08b Core/DBLayer: Restore pet loading
closes #5878
2012-03-26 18:58:24 +02:00
Kandera 522dfa8e0c Core/Spells: one more miss from misdirection fix 2012-03-26 12:24:11 -04:00
Kandera da540d5584 Core/Spells: Fix Necrotic Touch proc closes #538 2012-03-26 12:05:27 -04:00
Kandera 7b357a5028 Core/Spells: Fix Misdirection (thx to elron) closes #5869, #4343 2012-03-26 11:37:03 -04:00
leak b1ca1ee5ec Core/DBLayer: Convert PAppend() queries to prepared statements No.4 NOTE:
Most of the cores queries have been converted to prepared statements now. If your code contains queries, please either use the exiting or implement new statements.
The only exclusions are one-time queries (e.g. for core startup) and queries that can't be prepared due to limitations.
2012-03-26 15:47:37 +02:00
Machiavelli e960016dc4 Partial revert of "Core/DB Layer: Fix a memory leak.", mysql library related stuff. Original memory leak fix is still in place. 2012-03-26 13:33:47 +02:00
Machiavelli 70ee37f3b4 Core/DB Layer: Fix a memory leak for synchronously executed prepared statements. 2012-03-26 08:58:21 +02:00
Machiavelli 43048afc7e Core/DB Layer: Fix a memory leak. 2012-03-26 08:29:41 +02:00
kaelima 19f821d00a Auth/Realmlist: Make use of RealmFlags and rename color to flag (core- and dbwise)
Also fix connecting with realmflag & 4
2012-03-26 05:14:10 +02:00
kaelima c38bf4498a Fix compile and fix a possible crash for mob_kiljaeden_controller 2012-03-26 03:12:56 +02:00
kaelima 786c226b74 Core/CombatLog:
- Send more proper hitinfo values in SMSG_ATTACKERSTATEUPDATE (still lot of research todo)
- Some renaming and commenting

- Minor cleanup in Player::UpdateZone
2012-03-26 02:16:19 +02:00
Shocker fab1944ae4 Core/Spells: Don't remove summoned gameobjects for non-channeled spells when spell cast was canceled
Fixes issues like Demonic Circle: Summon removing the last summoned circle when the new cast was canceled
2012-03-26 03:03:32 +03:00
Machiavelli 3f61bd0a26 Core/DB Layer: Make SQLTransaction AutoPtr thread safe (valgrind caught a race condition) 2012-03-26 02:56:43 +03:00
Shocker 48dc9313b9 Core/Misc: Fix logic for owner check in Unit::RemoveGameObject 2012-03-26 02:50:08 +03:00