Commit Graph

16424 Commits

Author SHA1 Message Date
Warpten
fa31b161cc Merge pull request #12102 from Trisjdc/achievements
Core/Achievements: Fixed ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS in case killed creature has a loot recipient (Credit would be granted to loot recipient rather than killing blow lander)
2014-05-22 20:04:27 +02:00
Trisjdc
4793f20506 Core/Spells: Nitro Boost should not fail in dungeon maps 2014-05-22 14:40:21 +01:00
Trisjdc
4d3156e0b8 Core/Achievements: Fix ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS 2014-05-21 15:10:15 +01:00
jackpoz
1083dbb993 Core/Misc: Remove Unit::Get* wrappers for ObjectAccessor::Get* 2014-05-20 21:21:33 +02:00
jackpoz
d36ecbf4a3 Merge pull request #12076 from Trisjdc/even_more_sai
Core/SAI: Clear UNIT_STATE_EVADE immediately if we're about to follow a target on EnterEvadeMode
2014-05-19 22:00:48 +02:00
jackpoz
0166d9bf89 Merge pull request #12083 from Trisjdc/pet_combat
Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat
2014-05-19 21:44:15 +02:00
jackpoz
35d5e63258 Merge pull request #12018 from Foereaper/master
Core/Misc: Fixed SendAddonMessage issue.
2014-05-19 21:33:08 +02:00
Shauren
b83cff2a85 Core/Vehicles: Set proper power type using PowerDisplay.dbc
Original commit by Xfurry - cmangos/mangos-wotlk/bef8c99cc07c96d4e2f45e0ff6bc107068555ffb
2014-05-19 15:42:51 +02:00
Shauren
b41de6cb38 Core/Misc: Removed remnants of old db threading model 2014-05-19 14:48:10 +02:00
joschiwald
37073a8817 Merge pull request #12082 from MitchesD/misc_2
Scripts/Krystallus: converted to EventMap, removed useless code
2014-05-19 02:48:41 +02:00
jackpoz
7228bd3664 Revert "Core/Logging: Use logger cache for speed up logger filter search"
This reverts commit 39331ea7b9.
This is required to fix a race condition introduced with the logger cache. Adding a locking mechanism might make worthless the speed gain added by the cache itself, push a proper thread-safe implementation if it's worth it.

Helgrind log:
Possible data race during write of size 8 at 0x736F428 by thread #1
Locks held: none
   at 0x11872DF: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1196)
   by 0x11865A1: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1342)
   by 0x1185A48: std::__detail::_Map_base<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[](std::string const&) (hashtable_policy.h:496)
   by 0x1184F3A: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::operator[](std::string const&) (unordered_map.h:596)
   by 0x1184495: Log::GetLoggerByType(std::string const&) (Log.h:106)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x16E7121: World::LoadConfigSettings(bool) (World.cpp:909)
   by 0x16EB623: World::SetInitialWorldSettings() (World.cpp:1276)
   by 0x118F0EC: Master::Run() (Master.cpp:169)
   by 0x1196AFF: main (Main.cpp:142)

This conflicts with a previous read of size 8 by thread #3
Locks held: none
   at 0x1186EA6: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:1162)
   by 0x1186263: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:604)
   by 0x11857B9: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::string const&) (hashtable.h:1025)
   by 0x1184DE2: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::find(std::string const&) (unordered_map.h:543)
   by 0x11842EF: Log::GetLoggerByType(std::string const&) (Log.h:84)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x189AACA: MySQLConnection::Execute(char const*) (MySQLConnection.cpp:175)
   by 0x18A3225: BasicStatementTask::Execute() (AdhocStatement.cpp:56)

Address 0x736F428 is 120 bytes inside a block of size 184 alloc'd
   at 0x4C2AE3A: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:350)
   by 0x1185046: ACE_Singleton<Log, ACE_Thread_Mutex>::instance() (Singleton.cpp:91)
   by 0x11968E2: main (Main.cpp:135)
2014-05-18 16:53:29 +02:00
jackpoz
0904858624 Revert "Core/Logging: store loggers in cache correctly"
This reverts commit c6a4d5a1de.
2014-05-18 16:04:59 +02:00
jackpoz
a83c315771 Core/Calendar: Fix warning
Fix warning added b6048f89f7 about signed/unsigned comparison mismatch
2014-05-18 14:41:11 +02:00
MitchesD
fa1358afce Scripts/Krystallus: converted to EventMap, removed useless code 2014-05-18 13:48:09 +02:00
Shauren
f9c7bb4171 Partially revert f296095191 "Fix various warnings. The core, the scripts and the tools now compile without warnings with -Wall -Wextra -pedantic."
Visual studio does not support constexpr
Made semicolon after "Prepare*Script" mandatory - workaround for dumb IDEs inserting extra indentation level after newline
2014-05-18 12:50:10 +02:00
Trisjdc
8aee9dd948 Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat 2014-05-18 11:00:48 +01:00
Sebastian Valle Herrera
b70edf7bca Merge pull request #12071 from Praetonus/warnings
Fix various warnings.
2014-05-17 18:40:23 -05:00
Sebastian Valle Herrera
d76da63a5a Merge pull request #12070 from Trisjdc/more_sai
Core/SAI: Prevent nullifying damage, because of player damage requirements
2014-05-17 18:37:50 -05:00
jackpoz
5e86dea0b0 Shared/Packets: Handle crash by throwing an exception instead
Throw a ByteBufferException when trying to access the first element of an empty ByteBuffer class
2014-05-18 00:51:40 +02:00
jackpoz
c200d2c8cc Core/Warden: Fix crash
Fix crash with empty CMSG_WARDEN_DATA packets
2014-05-18 00:29:00 +02:00
jackpoz
03f16d2e90 Shared/Database: Increase Database Worker Pool queue size
Increase DatabaseWorkerPool queue size from the default 16KB to 8MB to avoid blocking the caller thread when queuing an async statement/transaction.
2014-05-17 23:48:32 +02:00
Shauren
8eeec647d1 Fixed build without pch 2014-05-17 21:35:39 +02:00
jackpoz
b6048f89f7 Core/Calendar: Align max amount of Players to be invited to Client limits
Limit the max amount of Players to be invited to a Calendar event to 100, same limit as the one in the Client
2014-05-17 21:22:28 +02:00
Shauren
a62f95e4c2 Core/Calendar: Use single database transaction for adding multiple invites when creating new event 2014-05-17 21:02:01 +02:00
joschiwald
1dbc943297 Core/GameObjects: fixed instant reset of gameobjects after activation 2014-05-17 20:05:43 +02:00
Trisjdc
9bad26fc88 Core/SAI: Clear UNIT_STATE_EVADE immediately if we're about to follow a target on EnterEvadeMode (MoveFollow does not clear evade) 2014-05-16 19:46:02 +01:00
Praetonus
f296095191 Fix various warnings. The core, the scripts and the tools now compile without warnings with -Wall -Wextra -pedantic.
-Fix warnings from -Woverflow on implicit constant conversion.
-Fix warnings from -pedantic.
-Fix warnings from -pedantic.
-Fix warnings from -Wformat.

Two minor changes in addition :

-Replace a defined value equal to 2^31 - 1 by std::numeric_limits<int>::max().
-Remove useless null-check on pointer returned by new. New doesn't returns nullptr on failure, it throws std::bad_alloc.
2014-05-15 21:32:47 +02:00
Trisjdc
50336af1c7 Core/SAI: Prevent nullifying damage, because of player damage requirements 2014-05-15 17:05:02 +01:00
jackpoz
9d760098a5 Core/Misc: Fix crash in ticket creation
Fix a crash happening with malicious CMSG_GMTICKET_CREATE packets.
2014-05-14 22:07:20 +02:00
jackpoz
32386be8e7 Merge pull request #12021 from Trisjdc/spell_target_dest
Core/Spells: Replace MovePosition by MovePositionToFirstCollision in spell dest target handling.
2014-05-13 21:02:07 +02:00
jackpoz
d32180df17 Merge pull request #12058 from Trisjdc/sunwell
Scripts/SWP: Sathrovarr will no longer cause player teleports on grid load
2014-05-13 20:48:23 +02:00
Trisjdc
593fb9b68a Scripts/SWP: Sathrovarr will no longer cause player teleports on grid load 2014-05-13 11:32:56 +01:00
jackpoz
db2593f41d Core/Arena: Fix exploit in arena team
Fix exploit that allowed anyone to add a target Player to any arena team.
2014-05-12 22:40:55 +02:00
jackpoz
b17e3246fe Core/Misc: Fix static analysis issues
Fix uninitialized values spotted by coverity.
Remove unused "dynamic analysis" code, use Valgrind or another dynamic analysis tool instead if needed.
2014-05-12 21:18:59 +02:00
Discover-
da50b92cdf Merge pull request #12050 from Trisjdc/u_liek_fish_questionmark
Core/Spells: Fix fishing on areas with liquid data but no valid height
2014-05-12 06:34:52 +02:00
joschiwald
de6eddaa35 Scripts/HoR: fixed conflict between multiple classes with same name
Closes #12051
2014-05-11 18:13:02 +02:00
Trisjdc
11f6eb91c0 Core/Spells: Fix fishing on areas with liquid data but no valid height 2014-05-11 14:43:12 +01:00
Gacko
b76bcad46e Script/ICC: Use existing method for getting GO auto-close-time 2014-05-11 15:15:43 +02:00
Gacko
39410b35a4 Merge branch 'master' of github.com:TrinityCore/TrinityCore 2014-05-11 12:37:29 +02:00
Gacko
dabbe38022 Core/GameObject: Set trap type 0 back to GO_READY after activation.
Otherwise it would be activated again on every update. My fault, moving the activation code to GO_ACTIVATED skips the cooldown check.

Closes #12047
2014-05-11 12:35:40 +02:00
Kinzcool
392e045bda DB: Changed WDBVerified startdard to VerifiedBuild 2014-05-11 03:15:31 -04:00
MitchesD
8e7cf15dd1 Scripts/HallsOfReflection: Major changes
* corrections to Intro Event (Falric, Marwyn etc.)
* fixed issues with Frostsworn General
* improved the whole Wrath of the Lich King event
* implemented outro gunship
* optimalization code and cleanup and fixed some typos
* Big thanks to @joschiwald, he is author too ;-)
2014-05-10 21:37:33 +02:00
Discover-
71795bf977 Core/Trade: It's no longer possible to fake the amount of gold put into the trade window. It's only visual but still an exploit, allowing scamming. 2014-05-09 17:58:04 +02:00
MitchesD
eabec73d98 Scripts/Duskwood: prevention to spawn multiple Twilight Corrupter and fixed some issues there 2014-05-09 16:59:55 +02:00
Trisjdc
cb7668ab5a Core/Spells: Replace MovePosition by MovePositionToFirstCollision in spell dest target handling.
- Solves issues such as being able to summon creatures inside terrain/gameobjects, being able to fall through terrain by using Shadowstep/Feral Charge (Cat), and much more
2014-05-07 11:58:08 +01:00
Foereaper
9de1d43132 Fixed SendAddonMessage issue.
This fixes GM's not being able to send/receive addon messages through the whisper channel while accepting whispers are turned off.
2014-05-06 23:12:35 +02:00
Gacko
111bbb3620 Remove unnecessary check in previous fix 2014-05-06 19:06:59 +02:00
Gacko
41d9364b16 Core/GameObject: Fix crash added in c6bf7e0b1d
Thanks @jackpoz
2014-05-06 18:46:08 +02:00
Gacko
b48879ab79 Core/GameObject: Finish moving activation code of traps to GO_ACTIVATED
Fixing #6388 should be easier now...
2014-05-05 22:28:45 +02:00
jackpoz
2878b0d105 Core/Misc: Fix enchants broken in 3aca9e64b3
Compare cast item entry instead of checking cast item spells to fix the exploit mentioned in 3aca9e64b3 without breaking any functionality.
2014-05-05 20:05:33 +02:00