Commit Graph
263 Commits
Author SHA1 Message Date
jackpoz 8927a04253 Core/Movement: Fix LoS issue of NPCs chasing targets
Add Line of Sight checks to WorldObject::GetNearPoint(), fixing to TargetedMovementGenerator not reaching a point with valid LoS to the target and MotionMaster::MoveKnockbackFrom() knocking creatures inside walls.
Remove unused code.
2014-04-07 22:16:31 +02:00
jackpoz 0930482fa4 Core/Misc: Fix uninitialized values
Fix Position members not being always initialized.
Valgrind log:
 at : Position::NormalizeOrientation(float) (Object.h:388)
 by : Position::SetOrientation(float) (Object.h:315)
 by : Position::Relocate(Position const&) (Object.h:310)
 by : spell_ulduar_stone_grip::spell_ulduar_stone_grip_AuraScript::OnRemoveVehicle(AuraEffect const*, AuraEffectHandleModes) (boss_kologarn.cpp:592)
2014-04-02 20:42:46 +02:00
jackpoz f47962f670 Core/Misc: Fix some static analysis issues
Add some asserts and additional NULL checks as sanity checks.
2014-03-31 20:59:33 +02:00
jackpoz 8c44259fae Core/Misc: Fix some static analysis issues
Fix uninitialized values, most of which are false positives, always initialized before being accessed.
Add some asserts and additional NULL checks as sanity checks. Use SpellMgr::EnsureSpellInfo() if the spell id is valid and always supposed to return a valid not-NULL SpellInfo* .
2014-03-27 21:43:59 +01:00
jackpoz 9e99db035f Core/Misc: Fix some static analysis issues
Add some asserts and additional NULL checks as sanity checks.
2014-03-21 22:47:58 +01:00
Shauren 0c3633e775 Core/GameObjects: Added workaround for elevators having different position for every player
Closes #11504
2014-03-21 00:32:03 +01:00
jackpoz 4c27c83efa Core/Misc: Fix some static analysis issues 2014-03-20 21:34:05 +01:00
Shauren 263c5cacf4 Core/Maps: Fixed height calculations used in WorldObject::UpdateGroundPositionZ/WorldObject::UpdateAllowedPositionZ, they will now take vmaps into account. 2014-03-16 20:13:25 +01:00
zengwf 23acf75d3b Core/Movement: Add LOS check for fleeingmovement target point.
Prevents fleeing or feared units from going to upper floor ignoring walls/ceilings with mmaps on(and usually get stucked).

Current implementation just randomly selects a distance and angle against the frighting unit, when in narrow circumstance such as underground caves, such targeting point would be at another floor.

Closes #11300
Ref #9475 (needs fixed confirmation)
2014-01-12 00:33:33 +00:00
Shauren 9d6904f03d Core/Vehicles
* Fixed vehicle orientation on transports
* Fixed exiting vehicles on moving transports
2014-01-02 14:20:05 +01:00
Vincent_Michael 20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
Shauren 1cdc2e8c2a Core/Movement: Fixed creature movement on transports 2013-12-31 14:12:02 +01:00
Shauren 107af52853 Core/Chat: Refactored building chat packets
* Moved everything into one specialized method instead of being scattered all over the place
* Allow localizing creature names in chat messages (when using $N)
* Send SMSG_GM_MESSAGECHAT for gm messages
2013-12-23 14:23:49 +01:00
jackpoz 1c0903e286 Core/Misc: Fix some static analysis issues
Fix some static analysis issues about uninitialized values. Most of them are false positives, always initialized before being accessed, while some of them are real issues spotted by valgrind too.
2013-12-14 18:41:26 +01:00
jackpoz 04cc51a6cf Core/Misc: Fix some static analysis issues
Fix some static analysis issues, mostly false positive about fields not initialized in the constructor. It's good practice anyway to always initialize them.
2013-12-01 16:19:30 +01:00
Spp 94e2b9332a Core/Logging: Remove LOG_FILTER_XXX defines with it's value (remember logger names are case-sensitive) 2013-11-08 10:50:51 +01:00
leguybrush 0a308144a8 Core/Code: Unify [more] codestyle for brackets: )\n{\n} to ) { }. 2013-10-28 14:36:07 -04:00
Ascathor 2607738990 Core/Code: Unify codestyle for brackets: {} to { }.
Also added missing copyright to some files.
2013-10-27 23:46:02 +01:00
Vincent_Michael 47741f4fa6 Core/Object: Added more information for MovePosition log 2013-10-18 12:36:54 +02:00
Shauren ce55647c41 Core/Transports
* Rewritten path generation, now uses splines - timers are a lot more accurate now
* Implemented stopping transports
* Implemented spawning transports in instances
* Implemented spawning gameobjects as transport passengers
* Transport passengers are now stored in creature/gameobject table using gameobject_template.data6 from transport's template as map id
2013-10-16 18:37:29 +02:00
Ellie 1fae858645 Whitespace between string literals and user-defined literals is now mandatory for concatenation in C++11 2013-10-01 01:13:13 -07:00
jackpoz 0450b74e96 Core/Movement: Fix uninitialized MovementInfo fields
Fix uninitialized fallTime and splineElevation fields of MovementInfo.

Valgrind log:
 Conditional jump or move depends on uninitialised value(s)
   at 0x5FBEB50: deflate (in /lib/x86_64-linux-gnu/libz.so.1.2.7)
   by 0x1269883: UpdateData::Compress(void*, unsigned int*, void*, int) (UpdateData.cpp:85)
   by 0x1269BB6: UpdateData::BuildPacket(WorldPacket*) (UpdateData.cpp:133)
   by 0x130E9B3: Trinity::VisibleNotifier::SendToSelf() (GridNotifiers.cpp:68)
   by 0x117A89D: Player::UpdateVisibilityForPlayer() (Player.cpp:22344)
   by 0x117B334: Player::SendInitialPacketsAfterAddToMap() (Player.cpp:22567)
   by 0x15A48BC: WorldSession::HandlePlayerLogin(LoginQueryHolder*) (CharacterHandler.cpp:937)
   by 0x141D04B: WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1106)
   by 0x141994D: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:391)
   by 0x14E289C: World::UpdateSessions(unsigned int) (World.cpp:2629)
   by 0x14E0613: World::Update(unsigned int) (World.cpp:1986)
   by 0x100B37F: WorldRunnable::run() (WorldRunnable.cpp:60)
 Uninitialised value was created by a heap allocation
   at 0x4C286E7: operator new(unsigned long) (vg_replace_malloc.c:287)
   by 0x159E64F: void LoadHelper<Creature>(std::set<unsigned int, std::less<unsigned int>, std::allocator<unsigned int> > const&, CoordPair<512u>&, GridRefManager<Creature>&, unsigned int&, Map*) (ObjectGridLoader.cpp:94)
   by 0x159DECF: ObjectGridLoader::Visit(GridRefManager<Creature>&) (ObjectGridLoader.cpp:150)
   by 0x159F092: void VisitorHelper<ObjectGridLoader, Creature>(ObjectGridLoader&, ContainerMapList<Creature>&) (TypeContainerVisitor.h:64)
   by 0x159EFF5: void VisitorHelper<ObjectGridLoader, Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > >(ObjectGridLoader&, ContainerMapList<TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > >&) (TypeContainerVisitor.h:70)
2013-09-03 23:05:02 +02:00
Shauren f388ceb8bd Merge pull request #10687 from jackpoz/farsight_fix
Core/Spell: Fix farsight log error "Player requests non-existing seer"
2013-09-01 13:52:05 -07:00
jackpoz 1417f62453 Core/Spell: Fix farsight log error "Player requests non-existing seer"
Partially revert 167ca565d0 which wrongly used TYPEMASK_UNIT to denote Creatures and Players, so when a Player sent farsight opcode with another Player as target HandleFarSightOpcode() couldn't find the right Unit filtering by typemask TYPEMASK_SEER.
2013-09-01 22:35:48 +02:00
Shauren e8a566b3b1 Core/Objects: Removed obsolete code 2013-09-01 22:30:07 +02:00
Nay 8eaf763235 Core&Tools: Fix multiple issues found by a static code coverage tool 2013-08-26 02:00:18 +01:00
jackpoz 21459739c6 Fix uninitialized UpdateMask field
Initialized UpdateMask::_bits to NULL in all constructors.
UpdateMask(UpdateMask const& right) constructor sets the field count with SetCount() method before any field initialization. This means that SetCount() will call delete[] on the uninitialized _bits pointer field, leading to undefined behavior.
2013-08-24 17:49:14 +02:00
Vincent-Michael da1e466bd5 Core/Misc: Implemented GetObjectScale function 2013-08-17 23:47:43 +02:00
Shauren 89ec907539 Core/Objects: Refactored MovementInfo structure 2013-06-18 18:15:33 +02:00
Shauren fa75fe78bd Core/Objects
* Split BuildValuesUpdate into separate virtual methods for every object type that does something special with update fields
* Removed _SetCreateBits/_SetUpdateBits to halve the amount of checks if field needs to be sent
2013-06-15 15:16:36 +02:00
Shauren a8a5239aad Core/Objects: Added missed change to 9ec22fffa0 2013-06-15 14:45:28 +02:00
Malcrom 4096c54efa Core: More Function name updates 2013-06-11 22:02:00 -02:30
Malcrom ec474a62e5 Core: More Function Renaming. 2013-06-11 21:25:12 -02:30
Malcrom 66978cfc3b Core: Some function renaming. 2013-06-11 19:54:27 -02:30
Shauren cbd69f12bd Core/Movement: Refactored removing transport part of movement info structure into a separate method. Also corrects seat set after exiting vehicle 2013-06-04 14:52:38 +02:00
Malcrom c238cae7d0 Core: Remove some no longer needed gossip code. 2013-06-03 22:33:26 -02:30
Spp d1677b2db0 Core/Logging: Performance-related tweaks to logging system
All sLog->out* functions (except outCommand atm) are replaced with TC_LOG_* macros.
    Memleak fix
2013-05-13 15:07:36 +02:00
Spp 1a6a23ec96 Core/Misc: Minor optimizations (+code changes to reduce differences with 4.3.4 branch)
Core/Logging: Create new logger type "Cheat". Will be used to log all cheat attempts
2013-03-25 13:26:48 +01:00
Spp 7c36e3a298 Core/Misc: Minor optimizations (+ code changes to reduce differences with 4.3.4 branch) 2013-03-25 10:36:30 +01:00
Spp 69e81d46b1 Core/Misc: Define multiple functions const (+ code cleanup here and there) 2013-03-20 14:20:17 +01:00
Nefarion 49fd11ab5a First step of comment style refactoring to doxygen-style. 2013-03-08 21:55:37 +01:00
Vincent_Michael 5d4e657e91 Core: Whitespace cleanup 2013-03-04 19:14:58 +01:00
QAston 26cbf5f6ba Core/Entities: nullify m_uint32Values after object deletion for better detection of access to deleted objects. 2013-03-04 16:31:24 +01:00
QAston 4eec72c986 Core/Entities: Move complex function implementations from Player.h to Player.cpp 2013-03-04 15:56:00 +01:00
QAston 8012feee16 Fix build. 2013-03-04 13:00:02 +01:00
QAston 9fd6b7ee01 Core/Entities: Move complex function implementations from Creature.h to Creature.cpp 2013-03-04 12:41:17 +01:00
QAston 3439084082 Move complex functions from Object.h to Object.cpp 2013-03-04 11:45:57 +01:00
horn badcce45d8 Core/Summons: Pack the TempSummonGroupKey structure so it is being compared correctly and make the second parameter of SummonCreatureGroup() optional 2013-02-26 02:51:55 +01:00
horn ba549ddc30 Core/Summons: Implement summon groups system to be able to summon multiple NPCs at once without need of hardcoding the positions. Almost all hardcoded positions can now be moved to DB.
Thx to @Shauren for his help.
2013-02-24 17:10:02 +01:00
Shauren 38eb090e9a Core/Objects: Rewritten UpdateMask class to perform bit operations faster at the cost of higher memory use and moved building the mask for packet to a separate method.
Closes #9127
2013-02-09 23:59:09 +01:00