Commit Graph

409 Commits

Author SHA1 Message Date
Shauren
edca91b408 Core/Misc: Add missing virtual destructors
(cherry picked from commit f4297aa3c6)
2023-08-23 14:25:14 +02:00
Shauren
aaa6e73c8c Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api)
(cherry picked from commit d791afae1d)
2023-08-15 20:10:04 +02:00
Shauren
3144566584 Core/Misc: Include cleanup, 2023 edition
(cherry picked from commit 92ed5e8af1)
2023-08-12 17:56:16 +02:00
Shauren
cccc062ea0 Core/Misc: Remove boost::heap::fibonacci_heap from header files
(cherry picked from commit e8e330addd)
2023-08-12 17:56:15 +02:00
Gosha
71b7cc6361 Change Map::Visit to not call EnsureGridLoaded if cell.NoCreate is true (#28884)
Remove Map::setGridObjectDataLoaded/Map::isGridObjectDataLoaded helpers, we have NGridType object to use methods directly
2023-04-13 11:52:34 +02:00
Mikhail Redko
c6cd272505 Core/Misc: Sending player's own auras before all visible objects. (#28450)
* Core/Misc: Sending player's own auras before all visible objects.
This should finally solve the problem of naked characters.
Closes #15159

Many thanks to xvwyh for explaining cause of this bug

* Core/Misc: Force send update auras packet to player when he added to map
2023-02-25 14:18:23 +01:00
Shauren
c029f21f34 Core/Misc: Fix appleclang 12 warnings
(cherry picked from commit 3bf6698116)

# Conflicts:
#	src/server/game/Handlers/BlackMarketHandler.cpp
#	src/server/game/Loot/LootItemStorage.cpp
#	src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
#	src/server/shared/DataStores/DB2DatabaseLoader.cpp
2021-10-06 10:34:20 +02:00
Ovah
48f63eda90 Core/Spawns: prevent spawn groups from bypassing spawnMask restrictions (#26711)
* spawn groups have been able to spawn for all difficulties even when they should be restricted to a single difficulty only
2021-07-24 14:49:21 +02:00
Giacomo Pozzoni
c8ca48823d Core/Pools: Fix pools with 1 member never spawning anything anymore (#26620)
* Core/Pools: Fix pools with 1 member never spawning anything anymore

Attempts to fix a 6 years old bug and never fixed by the original author.

* Remove respawn times from db once a respawn has been handled

* Allow to specify if Despawn1Object() should save or not the respawn time. We don't need to do that when respawning an object.

* Apply the same fix to GameObjects too
2021-06-26 14:21:18 +02:00
HelloKitty
e33c4b8f7f Core/Map: Added Map::SetZoneOverrideLight std::chrono overload (#26486)
* Core/Map: Added Map::SetZoneOverrideLight std::chrono overload

* Scripts: Replace Map::SetZoneOverrideLight usages with new std::chrono overload

* Core/Map: Remove non-chrono Map::SetZoneOverrideLight overload
2021-05-11 12:33:05 +02:00
Mikhail Redko
6c12f45f3b Core/Console: Improve ReadWinConsole logic and cosmetic changes (#26402)
* Core/Console: Improve ReadWinConsole logic and cosmetic changes

* Core/Console: Fixed possible appearance of weird characters in the console when printing the output of child processes

* Fix codestyle

* Removed auto

* Core/Misc: Explicit casting Difficulty values to uint8 before outputting to console

* Core/Misc: Cast Difficulty to uint32 for output to console

Co-authored-by: jackpoz <giacomopoz@gmail.com>
2021-05-11 09:55:57 +02:00
killerwife
00da074109 MapExtraction: Fix water height redundancy algorithm ignoring "no water" (#26324)
* MapExtraction: Fix water height redundancy algorithm ignoring "no water"

* Update MMAP_VERSION

* Change map version

Co-authored-by: jackpoz <giacomopoz@gmail.com>
2021-04-04 21:52:57 +02:00
Giacomo Pozzoni
42877e75e2 Core/Maps: Change .map file version from FourCC to uint32 (#26326) 2021-04-04 21:49:50 +02:00
Giacomo Pozzoni
f96aab2186 Core/Maps: Use a fixed offset instead of full collision height when retrieving floor Z (#26092)
Use a fixed offset 0.5f instead of full collision height when retrieving floor Z as a full collision height ended up on the floor above a few times. It makes more sense to cast the ray just a bit higher up than using a full collision height (which by default is 2.0f)
2021-02-21 17:29:09 +01:00
Kargatum
a32b6b8ac4 Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf
2021-01-03 11:47:07 +01:00
Treeston
94c03b2107 Core/Maps: Move some more Map internals to actually be... internals. 2021-01-01 04:03:52 +01:00
Treeston
803dc789e4 Core/Maps: All RespawnInfo* handed to outside code are now RespawnInfo const*, to signify that outside code has zero business changing these. 2020-12-31 18:57:18 +01:00
Treeston
f8afcec9f3 Core/Maps: move pooling hand-off outside of Map::CheckRespawn (PR#25785)
fixes #25777
2020-12-30 21:08:22 +01:00
Giacomo Pozzoni
aabd2b49e2 Core/Maps: Attempt to fix picking the wrong min height (#25771)
Close #25652
2020-12-28 12:36:52 +01:00
jackpoz
1e3d85e283 Core/Maps: Partially revert 0c69316714
The development will continue in a PR
2020-12-27 19:33:52 +01:00
jackpoz
0c69316714 Core/Maps: Use the same logic to calculate grid coords to avoid mismatches
Use the same logic of (CENTER_GRID_ID - x / SIZE_OF_GRIDS) in GridMap::getMinHeight() as Map::GetGrid() to avoid coord grid mismatches caused by floating point precision, i.e. getting the wrong grid.
Replace defines with constexpr in grids to make debugging easier.

Closes #25652
2020-12-27 18:24:53 +01:00
Gildor
8217519ea2 Core/Visibility: Split BG/Arena visibility settings (#25690) 2020-12-26 23:30:16 +01:00
Shauren
868c82aa6c Dep/Boost: Support for boost 1.74 - heap
Closes #25470
2020-09-27 21:24:38 +02:00
Giacomo Pozzoni
9f0b5526f0 Core/Maps: Fixed map min height calculation (#25449)
(cherry picked from commit f31d907112)

# Conflicts:
#	src/server/game/Maps/Map.h

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-09-11 23:01:24 +02:00
Giacomo Pozzoni
c68faf108e Core/Maps: Always update the grid of player summons even if far away (#25406)
* Core/Maps: Always update the grid of player summons even if far away

* Code cleanup

* Use a vector instead of unordered_set
2020-09-06 21:38:12 +02:00
Giacomo Pozzoni
cfc8f7b442 Core/Misc: Fix issues reported by static analysis (#25351)
* Core/Misc: Fix issues reported by static analysis

* Core/Vmaps: Code cleanup after e777161888
2020-08-29 13:02:42 +02:00
kvipka
5d2780c43c Scripts/InstanceScript: Fix an issue where LoadAllGrids would load creatures before TeamInInstance was properly set (PR #25340) 2020-08-28 19:48:41 +02:00
Giacomo Pozzoni
7cf122fc2a Core/Misc: Fix static analysis issues (#25178) 2020-07-31 22:53:13 +02:00
Peter Keresztes Schmidt
e6e5775be8 Build: Enable -Wimplicit-fallthrough on clang (#25056)
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs

Related: #25006

* Misc: Add some missing breaks (no-ops) to satisfy clang

Related: #25006
Closes #25055

* Build: Enable -Wimplicit-fallthrough on clang

Closes #25006
2020-07-18 20:43:16 +02:00
Peter Keresztes Schmidt
202fd41389 Core/Misc: Replace boost::optional with std::optional (#25047)
C++17 is already mandatory, so it's a safe thing to do
2020-07-15 10:22:29 +02:00
Peter Keresztes Schmidt
c92950b3e1 Core/DataStores: Update DBC field names to generated ones (#24999) 2020-07-12 15:36:55 +02:00
Shauren
0468c70dfe Core/Maps: Implemented getting area id from gameobject spawns
Yes, you can now spawn LK platform anywhere and it will treat you as inside Icecrown Citadel

(cherry picked from commit 42f9deb21e)
2020-06-27 20:23:30 +02:00
jackpoz
54c701cf0d Core/Common: Replace ASSERT(false, "...") with ABORT_MSG("...") 2020-06-26 23:37:52 +02:00
Peter Keresztes Schmidt
b210bb3713 Core/Misc: Replace Trinity::make_unique with std (#24869)
(cherry picked from commit bab5fd87a3)
2020-06-23 18:03:16 +02:00
Giacomo Pozzoni
4e1dbd1cf8 Log number of Creatures and GameObject per map (#24809)
* Shared/Metric: Allow to specify tags in metrics

* Core/Metric: Log number of Creatures and GameObject per map

* Apply feedback

* Codestyle changes

* Codestyle changes

* Remove whitespace

* Update Grafana dashboards to v7.0.3

* Fix missing filter on realm

* Include Creatures and Gameobjects in Maps dashboard

* Show instances with a different color
2020-06-20 00:04:01 +02:00
NoName
5bbab32793 Core/Maps: fix respawn times for manual respawns (#24571)
by joshwhedon
2020-05-05 21:09:50 +02:00
Giacomo Pozzoni
4f33fd3932 Core/Pooling: Remove respawn times from the database when despawning a pool (#24422)
* Core/Pooling: Remove respawn times from the database when despawning a pool

Remove respawn times from the database when despawning a pool. This is needed when a Game Event ends but there are still some respawn times saved in the database.

* Remove respawn time of active pool objects even if they are not spawned
2020-04-11 14:07:57 +02:00
Giacomo Pozzoni
3def52c1c4 Core/Logs: Log full guid instead of just low guid, part 2 2020-04-05 19:10:58 +02:00
Giacomo Pozzoni
468ecb7252 Core/Logs: Log full guid instead of just low guid 2020-04-05 19:10:57 +02:00
Shauren
635b8d52d5 Core/DBLayer: Prevent committing transactions started on a different database
(cherry picked from commit f6e2b8cdc1)

# Conflicts:
#	src/server/bnetserver/REST/LoginRESTService.cpp
#	src/server/database/Database/DatabaseWorkerPool.cpp
#	src/server/database/Database/DatabaseWorkerPool.h
#	src/server/database/Database/Implementation/HotfixDatabase.h
#	src/server/database/Database/MySQLConnection.h
#	src/server/database/Database/Transaction.cpp
#	src/server/database/Database/Transaction.h
#	src/server/game/Achievements/AchievementMgr.cpp
#	src/server/game/Achievements/AchievementMgr.h
#	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
#	src/server/game/AuctionHouse/AuctionHouseMgr.h
#	src/server/game/BattlePets/BattlePetMgr.cpp
#	src/server/game/BattlePets/BattlePetMgr.h
#	src/server/game/BlackMarket/BlackMarketMgr.cpp
#	src/server/game/BlackMarket/BlackMarketMgr.h
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Item/Item.cpp
#	src/server/game/Entities/Item/Item.h
#	src/server/game/Entities/Player/CollectionMgr.cpp
#	src/server/game/Entities/Player/CollectionMgr.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Garrison/Garrison.cpp
#	src/server/game/Garrison/Garrison.h
#	src/server/game/Groups/Group.cpp
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/Guild.h
#	src/server/game/Guilds/GuildFinderMgr.cpp
#	src/server/game/Handlers/BlackMarketHandler.cpp
#	src/server/game/Handlers/CalendarHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/MailHandler.cpp
#	src/server/game/Handlers/PetHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Mails/Mail.cpp
#	src/server/game/Pools/PoolMgr.cpp
#	src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
#	src/server/game/Quests/QuestObjectiveCriteriaMgr.h
#	src/server/game/Scenarios/InstanceScenario.cpp
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/game/Spells/SpellHistory.cpp
#	src/server/game/Support/SupportMgr.cpp
#	src/server/game/Tools/PlayerDump.cpp
#	src/server/scripts/Commands/cs_misc.cpp
2020-03-31 13:42:01 +00:00
Shauren
fe1003bdbd Core/DBLayer: Prevent using prepared statements on wrong database
(cherry picked from commit e8e89f58fb)

# Conflicts:
#	src/server/bnetserver/REST/LoginRESTService.cpp
#	src/server/bnetserver/Server/Session.cpp
#	src/server/database/Database/DatabaseWorkerPool.cpp
#	src/server/database/Database/Implementation/HotfixDatabase.h
#	src/server/database/Database/MySQLConnection.cpp
#	src/server/database/Database/MySQLConnection.h
#	src/server/database/Database/PreparedStatement.cpp
#	src/server/database/Database/PreparedStatement.h
#	src/server/database/Database/QueryHolder.cpp
#	src/server/database/Database/SQLOperation.h
#	src/server/database/Database/Transaction.h
#	src/server/game/Accounts/BattlenetAccountMgr.cpp
#	src/server/game/Achievements/AchievementMgr.cpp
#	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
#	src/server/game/AuctionHouseBot/AuctionHouseBot.cpp
#	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
#	src/server/game/BattlePets/BattlePetMgr.cpp
#	src/server/game/Battlegrounds/ArenaTeam.cpp
#	src/server/game/BlackMarket/BlackMarketMgr.cpp
#	src/server/game/Chat/Channels/Channel.cpp
#	src/server/game/Entities/Corpse/Corpse.cpp
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/Item/Item.cpp
#	src/server/game/Entities/Pet/Pet.cpp
#	src/server/game/Entities/Player/CollectionMgr.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Garrison/Garrison.cpp
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Groups/Group.cpp
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/GuildFinderMgr.cpp
#	src/server/game/Guilds/GuildMgr.cpp
#	src/server/game/Handlers/AuctionHouseHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/ItemHandler.cpp
#	src/server/game/Handlers/MailHandler.cpp
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Handlers/SpellHandler.cpp
#	src/server/game/Handlers/TicketHandler.cpp
#	src/server/game/Loot/Loot.cpp
#	src/server/game/Mails/Mail.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Movement/Waypoints/WaypointManager.cpp
#	src/server/game/OutdoorPvP/OutdoorPvP.cpp
#	src/server/game/Pools/PoolMgr.cpp
#	src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
#	src/server/game/Reputation/ReputationMgr.cpp
#	src/server/game/Scenarios/InstanceScenario.cpp
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSocket.cpp
#	src/server/game/Spells/SpellHistory.cpp
#	src/server/game/Support/SupportMgr.cpp
#	src/server/game/Tools/PlayerDump.cpp
#	src/server/game/World/World.cpp
#	src/server/scripts/Commands/cs_account.cpp
#	src/server/scripts/Commands/cs_ban.cpp
#	src/server/scripts/Commands/cs_battlenet_account.cpp
#	src/server/scripts/Commands/cs_group.cpp
#	src/server/scripts/Commands/cs_lfg.cpp
#	src/server/scripts/Commands/cs_list.cpp
#	src/server/scripts/Commands/cs_message.cpp
#	src/server/scripts/Commands/cs_misc.cpp
#	src/server/scripts/Commands/cs_npc.cpp
#	src/server/scripts/Commands/cs_tele.cpp
#	src/server/scripts/Commands/cs_wp.cpp
#	src/server/shared/DataStores/DB2DatabaseLoader.cpp
#	src/server/shared/Realm/RealmList.cpp
2020-03-31 13:42:01 +00:00
Shauren
e10313b380 Core/Maps: Citizens of Dalaran! Raise your eyes to the skies and observe! Any non-map-default light can now be overriden!
Closes #24250
2020-03-06 17:44:10 +01:00
ForesterDev
5cfce94619 Core/DynamicInfo: rename some parameters according packet definitions (#24192) 2020-02-28 19:23:20 +01:00
Treeston
9304e496cb Core/Misc: Some refactoring, #23603 prep: (#23676)
- Split SpawnMetadata off from SpawnData
- No longer allocate Creature/Gameobject objects in ObjectGridLoader just to check their typeid and delete them afterwards

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-08 20:22:37 +01:00
xvwyh
d4ba47a76e Core/DynamicObjects: Restore the ability of DynamicObjects to be world objects which was accidentally removed in f0f4a620fb breaking Far Sight (#24046)
Fixes #17081
2020-01-14 19:42:30 +01:00
Aokromes
ed93932537 New year
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
jackpoz
afbc478919 Core/Map: Load the grid of TempSummons owned by Players
Ensure to load the grid of TempSummons owned by Players when the relocate to another cell
2019-12-21 16:27:46 +01:00
jackpoz
42ab6010f8 Core/Map: Move a log from ERROR to WARN
Move "Could not load MMAP" log from ERROR to WARN as 99% of times is a false positive
2019-09-21 18:05:19 +02:00
ForesterDev
07e2264964 Core/PacketIO: updated SMSG_PLAY_SOUND, SMSG_PLAY_MUSIC and SMSG_PLAY_OBJECT_SOUND (#23636)
* Core/PacketIO: SMSG_PLAY_SOUND

(cherry picked from commit 82a33c7fa8)

# Conflicts:
#	src/server/game/Battlefield/Battlefield.cpp
#	src/server/game/Battlegrounds/Battleground.cpp
#	src/server/game/Battlegrounds/BattlegroundMgr.cpp
#	src/server/game/Battlegrounds/BattlegroundMgr.h
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Texts/CreatureTextMgr.cpp
#	src/server/game/Texts/CreatureTextMgr.h
#	src/server/scripts/Commands/cs_misc.cpp

* Update for 3.3.5

* Core/PacketIO: updated and enabled SMSG_PLAY_MUSIC

(cherry picked from commit c6718dc120)

# Conflicts:
#	src/server/game/Maps/Map.cpp
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Spells/SpellEffects.cpp

* Core/Packets: added SMSG_PLAY_OBJECT_SOUND packet class

(cherry picked from commit 1272e9eea6)

# Conflicts:
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/MiscPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp

* fic build

* change variable names

* fix build error field will be initialized after
2019-08-23 19:28:21 +02:00
Shauren
7ee0891b0f Warning fix 2019-08-17 22:40:50 +02:00