aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-01-24Core/Networking: Fixed authserver socket read handlers being called on ↵Shauren
incorrect thread (cherry picked from commit 3ad05386c844438af0dda56bbb46fa665d870c5c)
2022-01-24Core/Metric: Add new metric in World::UpdateSessions()jackpoz
Add new metric about how long adding sessions took (cherry picked from commit 5cd93df9eec1d1b310916fefecc9282e02e9cf2d)
2022-01-24Core/CreatureAI: std::chrono-ify DoSummon* methodsCarbenium
(cherry picked from commit 1245833cdd9988a2ac9c3a9374b40e76a53d889a)
2022-01-24Core/Metric: Log detailed metrics about each opcode handler (#25153)Giacomo Pozzoni
* Core/Metric: Log detailed metrics about each opcode handler * Add new panel to Performance profiling dashboard and use fill(0) instead of fill(none) * Add new settings Metric.Threshold.* to be able to specify the minimum threshold for the specified metrics * Update dashboard * Change thresholds to be required to send the metrics. A TC_METRIC_DETAILED_TIMER metric with an expected threshold not configured will be ignored * Use typedef Milliseconds * Refresh realms on load (cherry picked from commit 8a2c79c850199a73fd431d04f83d6aa89733060d)
2022-01-24Core/WorldObject: std::chrono-ify SummonPersonalCloneShauren
2022-01-24Core/WorldObject: Replace non-std::chrono SummonGameObject overloadsCarbenium
Also fix intended despawn time of GOs used by the "Engineering a Disaster" quest (cherry picked from commit 8642aaaf9268364454b409db7eb62f31210e6d6c)
2022-01-24Core/WorldObject: Replace non-std::chrono SummonTrigger overloadsCarbenium
(cherry picked from commit 3620b47c412d88cc2e0ab10e2654913e5487c8ac)
2022-01-24Core/WorldObject: Remove non-std::chrono SummonCreature overloadCarbenium
Remove TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0); (cherry picked from commit a41f599be72ccc88b13c1cf725f20cee4a5335d7)
2022-01-24Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more ↵Giacomo Pozzoni
metrics (#25136) * Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics Add more detailed metrics in World::UpdateSessions(). * Attempt using C++17 features * Fix cmake typo Co-authored-by: NoName <322016+Faq@users.noreply.github.com> * Fix build with WITHOUT_METRICS * Update Performance profiling dashboard with Update sessions panel * Add panel to show sessions with update time above 100 ms * Move legends on the right and add max update time diff in the legend of sessions Co-authored-by: NoName <322016+Faq@users.noreply.github.com> (cherry picked from commit 36ef487a90d0d14c4da8ce7e19b5916b8b15056c)
2022-01-24Core/Creature: Remove non-std::chrono overload of DespawnOrUnsummonCarbenium
(cherry picked from commit 480dee3125929181b7004810516ea673c61f5811)
2022-01-24Core/EventProcessor: std::chrono-ify the remaining public APICarbenium
(cherry picked from commit 1d8782e3566393f71fbc091de57c96a9a15972cb)
2022-01-24Core/EventProcessor: std::chrono-ify CalculateTimeCarbenium
uint64 CalculateTime(uint64 t_offset) has been replaced with Milliseconds CalculateTime(Milliseconds t_offset). Also add the std::chrono-ified overload void AddEvent(BasicEvent*, Milliseconds, bool) (cherry picked from commit 92a02a5c8750913f596d7e3b58bf8439cb770c28)
2022-01-24Core/WorldObject: Partially std::chrono-ify SummonCreature overloadsCarbenium
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); (cherry picked from commit 1131229ee9c43704b11187f0b11c327db92018b6)
2022-01-24Core/EventMap: Clarify documentation of ScheduleEventCarbenium
(cherry picked from commit 7865c1c197f4eb9165ef3ab26eb4f750a5b58960)
2022-01-24Core/EventMap: Unify semantics of DelayEventsCarbenium
DelayEvents(Milliseconds delay) had different semantics than DelayEvents(Milliseconds delay, uint32 group). The first method delayed the events only in the case the internal timer already ticked at least for the amount of delay. In contrast the latter method delayed events regardless of the internal timer value. Use the latter semantics for DelayEvents(Milliseconds delay) as well which makes the outcome more predictable. Adapt tests accordingly. (cherry picked from commit 4470b9122379dc846b322a441951a03913912b71)
2022-01-23EventMap: Change GetTimeUntilEvent to return std::chrono typesCarbenium
(cherry picked from commit 8cb35b0d5f1462387033e6bd2f99d0ea829fdcd8)
2022-01-23EventMap: Switch internal timer over to std::chrono typeCarbenium
Adds the EventMap::Update(Milliseconds time) overload (cherry picked from commit b9795e44824c7cab58445e4a72d2113ddb451caa)
2022-01-23Scripts/Kalimdor: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
(cherry picked from commit 40efda9726dce4fc6f432852f8d41bee606872b7)
2022-01-23Scripts/World+Outland+Spells: Use std::chrono overload of ↵Carbenium
Creature::DespawnOrUnsummon (cherry picked from commit 5832790428b124876ba48eacaf47806fd10a3c47)
2022-01-23Scripts/Northrend: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
(cherry picked from commit fc9e7226c0785fd12b01b724ed3666e6c08dd017)
2022-01-23Core/Misc: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
(cherry picked from commit c39eb9b5041950ce3af89f82848bd3e1f3a6e0af)
2022-01-23Scripts/EasternKingdoms: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
(cherry picked from commit d1a39a2ebf3bb55998696c424cd58f3fcdedd66a)
2022-01-23Core/Crypto: c++17-ify crypto code cherry picked earlier that was downgraded ↵Shauren
to c++14
2022-01-23Core/EscortAI: std::chrono-ify SetPauseTimerCarbenium
(cherry picked from commit cdaf890af4b5bb7ce256752b49bba2c0f3ed9264)
2022-01-23Core/EscortAI: std::chrono-ify AddWaypointCarbenium
(cherry picked from commit 4b9fdc5d3d1278269aaf218cea94f23688e4bca1)
2022-01-23Core/ScriptedAI: std::chrono-ify DoSpawnCreatureCarbenium
(cherry picked from commit f5076112cb25bff877a450a14fe20172e9044081)
2022-01-23Core/BossAI: Remove _DespawnAtEvade(uint32, Creature*) overloadCarbenium
Use _DespawnAtEvade(Seconds, Creature*) instead (cherry picked from commit 27229c10cd6813e69ea6db69384312b1854b2b57)
2022-01-23Core/InstanceScript: std::chrono-ify DoRespawnGameObjectCarbenium
(cherry picked from commit d7ff8c272ad016296e1eed5aae325e4e5058ddd8)
2022-01-23Core/Utilities: Add custom _days chrono literalCarbenium
(cherry picked from commit d5de96e46bf52ccb2fffe01c0709f9238977a80e)
2022-01-23Common/Crypto: #ifdef out unnecessary locking code for OpenSSL 1.1+ (PR #25110)Peter Keresztes Schmidt
(cherry picked from commit 7ea33120a03d70aaa856c2c66f183d684131746e)
2022-01-23Core/Misc: Code cleanupjackpoz
Remove more unused code in UpdateTime class (cherry picked from commit 6c4f71c84b292fd86da0d061d774a7f3629f6d85)
2022-01-23Scripts/Borean Tundra: duplicate comment text (#25102)Trond B. Krokli
(cherry picked from commit ebb9e1b4de23a069e97d2c6134349935b8a47c59)
2022-01-23Core/Metric: Add more metrics about World::Update() loop (#25098)Giacomo Pozzoni
* Core/Metric: Add more metrics about World::Update() loop * Add new Performance profiling grafana dashboard * Add new cmake setting WITHOUT_METRICS that disables all metrics As new metrics are added, someone might want to disable them if unused. * Add more metrics about World::Update() loop * Remove old performance profiling features Remove "server set difftime" command, "-RecordUpdateTimeDiffInterval" and "MinRecordUpdateTimeDiff" worldserver config settings and their related code. The whole UpdateTime class could be removed too. * Update and rename 2020_07_99_99_world.sql to 2020_07_24_00_world.sql (cherry picked from commit 3c0ac7302f902d1811d2c215217a3d701f8b5b19)
2022-01-23Core/Combat: Disable triggers entering combat (#25086)Giacomo Pozzoni
* Core/Combat: Disable triggers entering combat * Move check to database flags_extra flag in creature_template with value 0x00002000 * Fix Rotface puddle stalker too * Rename 9999_99_99_99_world.sql to 2020_07_22_00_world.sql (cherry picked from commit 6440c3bcac85a40de5c34aef1d8a8856966cc140)
2022-01-23EventMap: Remove GetNextEventTime and GetTimer methods (PR #25092)Peter Keresztes Schmidt
(cherry picked from commit 6ab9922171cf6e2877c39f503bcf987dd9faa898)
2022-01-23Core/Scripts: Fix timing issue of EVENT_FLY_TO_RANDOM_PILLAR during Illidan ↵Carbenium
encounter The intention here is to add additional 30 seconds of delay to the current delay of EVENT_FLY_TO_RANDOM_PILLAR. Instead of EventMap::GetNextEventTime, EventMap::GetTimeUntilEvent has to be used which returns the currently scheduled delay until the event occurs. EventMap::GetNextEventTime instead exposes the timer value internal to EventMap at which the event should occur. (cherry picked from commit f1f251eb381bccc9164e29a81da9e013090543a4)
2022-01-23TaskScheduler: use randtime instead of custom implementationCarbenium
(cherry picked from commit f773bf68e0f96a97b706f366da4071ba28060b04)
2022-01-23Core/Threads: Replace Boost TLS with C++11 one (#15782)Giacomo Pozzoni
* Core/Threads: Replace Boost TLS with C++11 one Replace boost::thread_specific_ptr<T> thread-local storage with C++11 thread_local to remove libboost_thread dependency from common project * Fix no-pch build (cherry picked from commit 00b16992f1ae3bf14ab5fe6366028a2b8648bfa0)
2022-01-23Build: Enable -Wimplicit-fallthrough on clang (#25056)Peter Keresztes Schmidt
* 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
2022-01-23Misc: Use [[fallthrough]] attribute instead of comment to mark intentional ↵Peter Keresztes Schmidt
fallthroughs (#25054) Related: #25006 (cherry picked from commit 85b5b842ca6c05d4e51081e6c3282940a80f3761)
2022-01-23Core/Misc: Replace boost::shared_mutex with std::shared_mutex (#24328)Giacomo Pozzoni
* Core/Misc: Replace boost::shared_mutex with std::shared_mutex * Remove std forward declarations (cherry picked from commit 7032ee0bdb47c995dfd89bce3d5b6fad13ec6d73)
2022-01-23Core/Metric: Log Map::Update() times (#25067)Giacomo Pozzoni
* 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> (cherry picked from commit 5eb742ee6a892b684b0c4cbde9f02f838b8300e5)
2022-01-23Core/Time: Rename GetGameTime{System, Steady}Point methodsTreeston
The names are a bit unhandy. Rename them (shorter but still meaningful). GetGameTimeSystemPoint() -> GetSystemTime() GetGameTimeSteadyPoint() -> Now() Also add 2 new typedefs: typedef std::chrono::steady_clock::time_point TimePoint; typedef std::chrono::system_clock::time_point SystemTimePoint; Closes #25042 (cherry picked from commit 896b68d5c297b06587645caebc98b704978ecaa7)
2022-01-23Misc: Remove some unneeded/duplicated includes (#25051)Peter Keresztes Schmidt
(cherry picked from commit ddf16ae4d9eff6e849618bb6c5a00603f26daa93)
2022-01-23Nopch fixShauren
(cherry picked from commit c0ade2e98fbc6cc129b4725d2216016f90996e8b)
2022-01-23Dep: Switch to boost process instead of old standalone versionShauren
(cherry picked from commit 524d16739861d0b2279e2270e319b0c77ec9b03b)
2022-01-23Core/Misc: Replace boost::optional with std::optional part 2Shauren
2022-01-23Core/Misc: Replace boost::optional with std::optional (#25047)Peter Keresztes Schmidt
C++17 is already mandatory, so it's a safe thing to do (cherry picked from commit 202fd41389973322f63186fd8e5a368fce3e1b04)
2022-01-23Core/Util: Remove EventMap's non-std::chrono::duration based interface (#25049)Peter Keresztes Schmidt
Closes #25012 (cherry picked from commit ce1e2c0f9b4f80e1fa5c448ee12fec43204a3634)
2022-01-23Scripts/World: Use std::chrono::duration overloads of EventMapShauren