Commit Graph

581 Commits

Author SHA1 Message Date
funjoker
ad44ddab34 Dep/Boost: Drop windows boost hacks (#29358)
(cherry picked from commit 17c69368a3)
2024-02-26 12:29:16 +01:00
Shauren
16f555f79e Core/MMAPs: Sprinkle master branch thread safety on mmap loading code 2024-02-13 23:49:51 +01:00
Shauren
45a5b6a9f0 Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427

(cherry picked from commit b888b1b09f)
2023-12-02 15:57:03 +01:00
Shauren
d5b64a0bb2 Core/Misc: Remove incorrect (and unused) equality operator overloads from LinkedListHead::Iterator class
(cherry picked from commit a3702cc526)
2023-10-18 20:21:53 +02:00
Shauren
163c674adb Core/Objects: Remove restriction on what object types can be set as active
(cherry picked from commit 3031fbb63b)
2023-10-13 23:03:06 +02:00
Shauren
8e7b6c54e4 Core/Logging: Fixed missing log format changes
(cherry picked from commit 150ba27eb1)
2023-08-27 12:51:53 +02:00
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
Shauren
b7287e85e4 Core/Misc: Fixed deprecation warnings for c++20
(cherry picked from commit ba9bbbc9d0)
2023-08-12 14:24:24 +02:00
Shauren
aa96aa4783 Core/Misc: Cleanup Expression is converted to bool and can be replaced with 'boolean constant' 2023-05-07 18:52:34 +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
d611925dc7 Core/Units: Reduce differences between branches part 1 - unit updatefield accessors 2022-03-29 11:30:49 +02: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
jackpoz
d0231c5a8f Scripts/Commands: Improve ".debug objectcount"
Include the number of SetActive objects in ".debug objectcount" command
2021-01-23 15:54:25 +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
Giacomo Pozzoni
3b2c878dd0 Core/Spells: Implemented personal summons (#19231) (#25765)
* Core/Spells: Implemented personal summons (#19231)

* By default determined by summon property flag SUMMON_PROP_FLAG_PERSONAL_SPAWN

Closes #18254

(cherry picked from commit b7bb5e6a98)

# Conflicts:
#	src/server/game/Combat/ThreatManager.cpp
#	src/server/game/DataStores/DBCEnums.h
#	src/server/game/Entities/Creature/TemporarySummon.cpp
#	src/server/game/Entities/Creature/TemporarySummon.h
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Entities/Object/Object.h
#	src/server/game/Maps/Map.h
#	src/server/game/Spells/SpellEffects.cpp

* Build fix

* Implement feedback

* Fix parameters passed in wrong order
2020-12-26 22:32:01 +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
Shauren
b928955185 Core/Misc: Use "proper" type for respawn info map key 2020-08-28 23:41:30 +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
Treeston
91744de316 Common/Utilities: Move EnumUtils' implementation struct from Trinity::Impl to Trinity::Impl::EnumUtilsImpl. This avoids confusing name clashes for other implementations in sub-namespaces of Trinity::Impl. 2020-08-23 15:05:04 +02:00
Peter Keresztes Schmidt
4286e7aa02 Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285) 2020-08-20 00:46:52 +02:00
Peter Keresztes Schmidt
6c7837f947 Core/Unit: Make HandleEmoteCommand typesafe (#25249)
* Scripts/ScarletMonastery: Fix wrong emote during Headless Horseman encounter

* Scripts/HoR: Fix wrong emote during escape event

* Core/Unit: Make improve type safety of HandleEmoteCommand

Change argument type to the expected enum type Emote

* Scripts/CoS: Use SetUInt32Value to set UNIT_NPC_EMOTESTATE

UNIT_NPC_EMOTESTATE is no flag field
2020-08-15 15:29:43 +02:00
Giacomo Pozzoni
7cf122fc2a Core/Misc: Fix static analysis issues (#25178) 2020-07-31 22:53:13 +02:00
Giacomo Pozzoni
deceb11b5f Log sync db queries in World::Update() loop (#25174)
* Core/Misc: Log sync queries on critical path

* Fix build

* Rename

* Fix warning

* Fix no-pch

* Change WarnAboutSyncQueries() to be header-only
2020-07-30 21:42:27 +02:00
Carbenium
1131229ee9 Core/WorldObject: Partially std::chrono-ify SummonCreature overloads
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0);
to
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime = 0s);
2020-07-26 23:30:32 +02:00
Carbenium
c39eb9b504 Core/Misc: Use std::chrono overload of Creature::DespawnOrUnsummon 2020-07-26 22:17:36 +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
Giacomo Pozzoni
5eb742ee6a Core/Metric: Log Map::Update() times (#25067)
* Core/Metric: Log Map::Update() times

* Add more performant version to reduce allocations when metrics are disabled

* Linux build fix

* Add metric stopwatch version that doesnt let users forget to _END it

* Fix linux build

* Code cleanup

* Add Map updates panel to General dashboard

* Add "Recent events" panel to General dashboard

* Apply latest codestyle changes

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-07-18 00:52:01 +02:00
Peter Keresztes Schmidt
ddf16ae4d9 Misc: Remove some unneeded/duplicated includes (#25051) 2020-07-16 14:14:01 +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