Commit Graph

218 Commits

Author SHA1 Message Date
Shauren
39175ac680 Core/Transports
* Fixed fall damage on transports while teleporting
* Fixed packets not being received by owner if sent by a controlled minion
* Fixed an issue when a teleporting transport would attempt to reload its creature passengers on old map

Closes #11140
2013-11-02 13:22:14 +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
Shauren
f0794d7585 Core/Transports: Correct path generation for a few transports 2013-10-27 11:15:56 +01:00
Shauren
5259539a5f Core/Transports: Fixed crashes when instance with transports unloads
Closes #11056
2013-10-18 21:17:58 +02:00
Shauren
38b682d7a8 Core/Maps: Added gameobject case for AddObjectToSwitchList and fixed logic in RemoveAllObjectsInRemoveList 2013-10-18 20:12:36 +02:00
Vincent_Michael
77013aa081 Core: Fix warnings 2013-10-18 13:31:09 +02:00
Shauren
565dd4299c Build fix 2013-10-17 00:55:50 +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
Sebastian Valle
24f8b2b994 Core/Misc: Fixed some more issues found by code analysis tools. 2013-09-03 15:09:37 -05:00
jackpoz
2a47b602d7 Core/Aura: Fix SPELL_AURA_BIND_SIGHT invalid read
Mind Vision has Aura Effect SPELL_AURA_BIND_SIGHT which adds the target to a special Map container i_objectsToSwitch, used to switch grid containers for target Creatures of this Aura Effect.

When the target is a Creature, when the Creature is removed from world it's added to i_objectsToSwitch and then to i_objectsToRemove, iterated in this order in Map::RemoveAllObjectsInRemoveList() so the reference in i_objectsToSwitch is valid.
When the target is a Player, when the Player logs out it's added to i_objectsToSwitch but then Map::RemovePlayerFromMap() deletes the Player, leaving an invalid reference in i_objectsToSwitch.

Since the whole point of i_objectsToSwitch is to store Creatures and since the stored references are used only if the condition "GetTypeId() == TYPEID_UNIT" is verified, it's safe to add only objects of TYPEID_UNIT type to the container.

Valgrind log:
 Invalid read of size 4
   at 0xC52332: Object::GetTypeId() const (Object.h:140)
   by 0xF540D3: Map::RemoveAllObjectsInRemoveList() (Map.cpp:2136)
   by 0xF53CD2: Map::DelayedUpdate(unsigned int) (Map.cpp:2087)
   by 0xF639B1: MapManager::Update(unsigned int) (MapManager.cpp:292)
   by 0x107CB40: World::Update(unsigned int) (World.cpp:2025)
   by 0xBEB263: WorldRunnable::run() (WorldRunnable.cpp:60)
   by 0x1213792: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186)
   by 0x515EA35: ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)
   by 0x5F19F8D: start_thread (pthread_create.c:311)
   by 0x6A46E1C: clone (clone.S:113)
 Address 0x401eacac is 12 bytes inside a block of size 11,736 free'd
   at 0x4C2B59C: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0xD80239: Player::~Player() (Player.cpp:915)
   by 0xF4D5A2: void Map::DeleteFromWorld<Player>(Player*) (Map.cpp:319)
   by 0xF4EBBB: Map::RemovePlayerFromMap(Player*, bool) (Map.cpp:687)
   by 0xFCC18D: WorldSession::LogoutPlayer(bool) (WorldSession.cpp:531)
   by 0xF1EDD5: WorldSession::HandleLogoutRequestOpcode(WorldPacket&) (MiscHandler.cpp:403)
   by 0xFCAE37: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:312)
   by 0x107EBC6: World::UpdateSessions(unsigned int) (World.cpp:2615)
   by 0x107C94B: World::Update(unsigned int) (World.cpp:1978)
   by 0xBEB263: WorldRunnable::run() (WorldRunnable.cpp:60)
   by 0x1213792: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186)
   by 0x515EA35: ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)
2013-08-26 16:49:02 +02:00
Mihapro
e00fc19779 Core/SmartScripts 2013-07-08 18:01:41 +02:00
Malcrom
ec474a62e5 Core: More Function Renaming. 2013-06-11 21:25:12 -02:30
Malcrom
047608e7de Core/SAI: Add check so npc will not send text to pet. Also updated isPet() to IsPet(). 2013-06-11 18:39:51 -02:30
Shauren
e21b94c25c Core/Maps: Fixed Map::IsInWater returning true at any height above water 2013-06-07 16:00:44 +02:00
Shauren
7d46703413 Core/Misc: Another batch of fixes for issues found by static analysis 2013-05-17 21:30:02 +02:00
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
xjose93
eb7f0adcb5 Core/Maps: Add mapname when a player is binded to other save. 2013-04-27 01:10:10 +02:00
Nefarion
49fd11ab5a First step of comment style refactoring to doxygen-style. 2013-03-08 21:55:37 +01:00
Nay
03f97f75ec Core/Startup: Write current and expected maps version when there's a version mismatch 2013-02-19 01:16:24 +00:00
Spp
61979f8591 Scripts/Player: Add OnMapChanged to PlayerScripts (after map changed)
Core/Dungeon Finder: Use OnMapChanged script to cast/remove Luck of the draw
- Also move code to force party update to LfgPlayerScript
- Remove some obsolete Lfg code after recent commits
2013-02-04 16:52:43 +01:00
Spp
9bdfc87774 Core/Dungeon Finder: Use lfg namespace to encapsulate all LFG classes, structs and enums 2013-02-04 04:43:50 +01:00
Spp
f753c989f2 Core/Dungeon Finder: Simplify Spell Luck of the draw code
Core/Dungeon Finder: Partial recode of "group list" using existing Lfg functions
2013-02-04 04:43:49 +01:00
Spp
c4e4cb1b5c Core/Misc: Remove using directive from header files (It will eventually lead to name collisions) 2013-01-30 09:06:19 +01:00
Nay
e6a07076c3 Merge remote-tracking branch 'origin/master' into mmaps
Conflicts:
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Movement/MotionMaster.cpp
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
	src/server/game/Movement/Spline/MoveSplineInit.cpp
2013-01-14 13:58:34 +00:00
ille
bb995fcad1 Core/maps: separate mutex for grid 2013-01-11 13:11:08 +01:00
Vincent_Michael
62adbdab99 Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps
Conflicts:
	src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
2013-01-01 23:12:21 +01:00
Vincent_Michael
cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
kaelima
0a88787dfc Merge git://github.com/TrinityCore/TrinityCore into mmaps
Conflicts:
	src/server/game/Entities/Vehicle/Vehicle.cpp
	src/server/game/Movement/MovementGenerator.h
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
	src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
	src/server/game/Movement/Spline/MoveSpline.h
2012-12-21 00:00:16 +01:00
joschiwald
f4e7cde1b5 Core/Misc:
- some simplifications in reputation calculation
- removed aura in SPELL_AURA_LINKED should depends on SpellDifficulty
- remove some unneeded variable declarations when it's already declared
- remove some hacks
- fix some warnings in Lfg stuff
- some codestyle changes
2012-12-19 12:55:51 +01:00
Vincent-Michael
57e9a97bc4 Core/Map: Kill Engrish (thx Takenbacon)
Closes #8574
2012-12-06 11:27:46 +01:00
Spp
2251d1bfae Core/Misc: Set mode 0644 for files 2012-11-27 13:03:12 +01:00
Nay
24cd72c8e1 Merge remote-tracking branch 'origin/master' into mmaps
Conflicts:
	src/server/game/Maps/Map.cpp
	src/server/game/Movement/MovementGenerator.h
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
	src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
	src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
	src/server/game/Spells/SpellEffects.cpp
2012-11-23 23:39:03 +00:00
Spp
b5c9ab8802 Core/Misc: Reduction of header dependencies - Step II 2012-11-20 12:30:30 +01:00
Spp
b99c347747 Core: Remove Player.h dependency from all the possible headers 2012-11-17 05:18:37 +01:00
kaelima
3c13454ad7 Merge git://github.com/TrinityCore/TrinityCore into mmaps
Conflicts:
	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
	src/server/game/Movement/Spline/MoveSplineInit.cpp
2012-11-05 12:02:08 +01:00
ille
9ee32331d7 use Thread-Safe Interface design pattern to allow recursive calls on non windows os
described here http://wiki.hsr.ch/PnProg/files/ThreadSafeInterface.pdf
http://www.aoc.nrao.edu/php/tjuerges/ALMA/ACE-5.5.2/html/ace/classACE__Thread__Mutex.html#_details
recursion in :
EnsureGridCreated() -> LoadMapAndVMap() -> LoadMap() -> EnsureGridCreated()
2012-11-03 15:48:27 +01:00
Spp
013fb1f4d9 Core/Misc: reduced amount of string memory allocations (Step I) 2012-10-24 15:34:48 +02:00
Subv
9dc2b7ecd5 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into mmaps 2012-10-19 17:57:30 -05:00
Spp
67a03027ae Proper naming of LfgDungeon structures 2012-10-19 17:47:51 +02:00
Spp
d0334bf948 Core/Dungeon Finder: Some optimizations.
- Store teleport coordinates to avoid recalculations each time someone has to be teleported
- Correct teleport error msg when player is charming or using vehicle
- Internal changes in storage types
- Proper code for missing achievement lock type
- Better debug msgs
- Trying to get rid of "Player*" and "Group*" inside LFGMgr as much as possible (Step 1)
2012-10-18 09:15:10 +02:00
Nay
972b418103 Merge remote-tracking branch 'origin/master' into mmaps
Conflicts:
	src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
2012-10-07 14:51:21 +01:00
Kandera
21164bd93d Core/Maps: fix being able to be ported to an instance while in a group with a temporary save. was causing some issues. 2012-10-05 13:34:32 -04:00
Nay
4c3266c7af Tools&Core: Whitespace cleanup
No one likes whitespace, right?
2012-09-30 15:52:10 +01:00
Subv
bb6ce2b2c9 Core/MMaps: Only unload the navMeshQuery when instances are unloaded, suggestion by @Vlad852
closes #7631
2012-09-25 12:37:25 -05:00
Nay
b1c4118a33 Merge remote-tracking branch 'origin/master' into mmaps 2012-09-11 01:13:41 +01:00
Vincent-Michael
06eff1644d Core/Vehicles: Fix warnings 2012-09-10 15:44:12 +02:00
Subv
ccdca77740 Core/Mmaps: Fixed unloading mmap tiles, the x and y were swapped. thanks to MaNGOS for original implementation, and thanks to @Chevron for noticing. 2012-09-05 16:05:26 -05:00
Nay
36b3e06a7e Merge remote-tracking branch 'origin/master' into mmaps
Conflicts:
	src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
2012-09-04 19:11:04 +01:00