aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-07-28Core/Networking: Fixed authserver socket read handlers being called on ↵Shauren
incorrect thread
2020-07-28Core/Metric: Add new metric in World::UpdateSessions()jackpoz
Add new metric about how long adding sessions took
2020-07-28Core/CreatureAI: std::chrono-ify DoSummon* methodsCarbenium
2020-07-28Core/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
2020-07-27Core/WorldObject: Replace non-std::chrono SummonGameObject overloadsCarbenium
Also fix intended despawn time of GOs used by the "Engineering a Disaster" quest
2020-07-27Core/WorldObject: Replace non-std::chrono SummonTrigger overloadsCarbenium
2020-07-27Core/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);
2020-07-27Core/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>
2020-07-27Core/Creature: Remove non-std::chrono overload of DespawnOrUnsummonCarbenium
2020-07-27Core/EventProcessor: std::chrono-ify the remaining public APICarbenium
2020-07-27Core/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)
2020-07-26Core/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);
2020-07-26Core/EventMap: Clarify documentation of ScheduleEventCarbenium
2020-07-26Core/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.
2020-07-26EventMap: Change GetTimeUntilEvent to return std::chrono typesCarbenium
2020-07-26EventMap: Switch internal timer over to std::chrono typeCarbenium
Adds the EventMap::Update(Milliseconds time) overload
2020-07-26Scripts/Kalimdor: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
2020-07-26Scripts/World+Outland+Spells: Use std::chrono overload of ↵Carbenium
Creature::DespawnOrUnsummon
2020-07-26Scripts/Northrend: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
2020-07-26Core/Misc: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
2020-07-26Scripts/EasternKingdoms: Use std::chrono overload of Creature::DespawnOrUnsummonCarbenium
2020-07-26how does VC++ never catch these? 5e36bf7 follow-upTreeston
(No more witty one-liners. Let me go to bed please.)
2020-07-26Core/Authserver: Auth cleanup phase 1b, the "I didn't hit Stage All" commit. ↵Treeston
Sorry. (5e36bf7 follow-up)
2020-07-26Core/Authserver: Auth cleanup phase 1a, the "stuff I ran across while making ↵Treeston
phase 2" commit. - Did you know BigNumber quietly assumes every byte array it gets is little-endian, even though openssl bignums use big-endian? Now you do! - In entirely unrelated news, make the above behavior explicit through a default-true boolean, same as existing GetBytes derivatives. - Also, if you are in the enlightened openssl 1.1 crowd, there's no more endian wrangling involved, because openssl now does all of that for us. Progress!
2020-07-26Core/Authserver: Authserver cleanup (PR#25093)Treeston
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber - Get rid of (most of) the C-style arrays in authserver - CryptoRandom as a unified source for cryptographic randomness - Bring our other crypto APIs into 2020 - BigNumber usability improvements - Authserver is now actually readable as a result of all of the above
2020-07-25Core/EscortAI: std::chrono-ify SetPauseTimerCarbenium
2020-07-25Core/EscortAI: std::chrono-ify AddWaypointCarbenium
2020-07-25Core/ScriptedAI: std::chrono-ify DoSpawnCreatureCarbenium
2020-07-25Core/BossAI: Remove _DespawnAtEvade(uint32, Creature*) overloadCarbenium
Use _DespawnAtEvade(Seconds, Creature*) instead
2020-07-25Core/InstanceScript: std::chrono-ify DoRespawnGameObjectCarbenium
2020-07-25Core/Utilities: Add custom _days chrono literalCarbenium
2020-07-25Common/Crypto: #ifdef out unnecessary locking code for OpenSSL 1.1+ (PR #25110)Peter Keresztes Schmidt
2020-07-24Core/Misc: Code cleanupjackpoz
Remove more unused code in UpdateTime class
2020-07-24Scripts/Borean Tundra: duplicate comment text (#25102)Trond B. Krokli
2020-07-24Core/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
2020-07-22Core/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
2020-07-22EventMap: Remove GetNextEventTime and GetTimer methods (PR #25092)Peter Keresztes Schmidt
2020-07-22Core/Authserver: Some safeguards in case anyone (read: me) tweaks these ↵Treeston
files in the future.
2020-07-22Core/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.
2020-07-21Core/PlayerDump: Fixed overwriting cached character data on .pdump load when ↵Shauren
importing a character with duplicate name
2020-07-21TaskScheduler: use randtime instead of custom implementationCarbenium
2020-07-20Core/Players: Use original proc target to update weapon skills, fixes ranged ↵Shauren
weapon skill gains
2020-07-18Core/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
2020-07-18Build: 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
2020-07-18Misc: Use [[fallthrough]] attribute instead of comment to mark intentional ↵Peter Keresztes Schmidt
fallthroughs (#25054) Related: #25006
2020-07-18Core/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
2020-07-18Core/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>
2020-07-17Core/PacketIO: Fix broken CMSG_RESURRECT_RESPONSE structure after ↵Shauren
9fe6756cf26e916d69673879c31e09ee57ef6470
2020-07-17Core/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
2020-07-16Misc: Remove some unneeded/duplicated includes (#25051)Peter Keresztes Schmidt