diff --git a/.github/en.md b/.github/en.md index 5d1a8e2..02744e9 100644 --- a/.github/en.md +++ b/.github/en.md @@ -274,7 +274,8 @@ All skills can be customized in the **`config.cfg`** / **`skillsInfo.json`** fil "SummaryAfterTheRound": true, // Show summary of the last round "EnableBotSkills": true, // Enable skills for bots "EnableBotKickDebug": false, // Kick a random bot every 45s (for debug/testing) - "DebugMode": false, // Write activity to the ‘Debug’ folder + "DebugMode": false, // Save debug logs (player events and plugin activity) to the Debug folder + "PerfMode": false, // Save performance measurements to the logs folder "AlternativeSkillButton": null, // Possible buttons: // null, "Attack", "Jump", "Duck", "Forward", "Back", // "Use", "Cancel", "Left", "Right", "Moveleft", @@ -357,6 +358,29 @@ This plugin uses content from the following projects: ## 📋 Changelog +
+v1.2.2.b6 + +- #### General: + - ###### Performance: much faster round changes - only skills that were actually active in the previous round are reset, instead of every loaded skill (`DisableAll` dropped from ~89ms to ~5ms on a full server). [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Performance & memory: removed per-tick LINQ and skill-name allocations in the tick loop, made HUD skill lookups O(1), and moved translation color/button substitutions to load time. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### `ForceFullUpdate` now creates the network service once per broadcast, and the round-start view-angle guard only skips a genuine (0, 0, 0) spawn placeholder instead of over-skipping valid angles. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Debug logging is only installed when `DebugMode` is enabled and writes through a single reused writer instead of reopening the file for every line. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Player skill state unified to a single collection (removed a duplicate list), closing a rare desync/race on player disconnect. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Gamedata signatures are now resolved lazily and in isolation, so one broken signature after a CS2 update no longer takes down the whole utility layer. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Hardened many tick/transmit code paths against invalid player handles to prevent rare crashes. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### The skill description HUD honours "always show" / `-1` duration consistently across every assignment path. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + +- #### Skill improvements: + - ###### Jester (Joker): + - ###### Fixed the no-damage effect leaking onto a player after their skill was changed mid-round (e.g. stolen by Thief or removed by Deactivator) - the internal state is now cleared when the skill is disabled. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Jackal: + - ###### Fixed trail entities piling up over a round - the previous trail is now removed before a new one is spawned. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Falcon Eye / Third Eye / Spectator: + - ###### Camera state is now fully cleared when the skill is disabled. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + +
+
v1.2.2.b5 diff --git a/.github/pl.md b/.github/pl.md index a8e2a11..2c8dfee 100644 --- a/.github/pl.md +++ b/.github/pl.md @@ -272,7 +272,8 @@ Wszystkie sypermoce można dostosować w pliku **`config.cfg`** / **`skillsInfo. "SummaryAfterTheRound": true, // Pokazuj podsumowanie z ostatniej rundy "EnableBotSkills": true, // Włącz umiejętności dla botów "EnableBotKickDebug": false, // Co 45 sekund wyrzuć losowego bota (do celów debugowania/testowania) - "DebugMode": false, // Zapisuj aktywność do folderu 'Debug' + "DebugMode": false, // Zapisuje logi debugowania (zdarzenia graczy i działanie pluginu) do folderu Debug + "PerfMode": false, // Zapisuje pomiary wydajności pluginu do folderu logs "AlternativeSkillButton": null, // Możliwe przyciski: // null, "Attack", "Jump", "Duck", "Forward", "Back", // "Use", "Cancel", "Left", "Right", "Moveleft", @@ -355,6 +356,29 @@ Plugin korzysta z zawartości następujących projektów: ## 📋 Lista Zmian +
+v1.2.2.b6 + +- #### Ogólne: + - ###### Wydajność: znacznie przyspieszono zmianę rundy - resetowane są tylko moce, które były aktywne w poprzedniej rundzie, zamiast wszystkich załadowanych (DisableAll skrócono z ok. 89 ms do ok. 5 ms na pełnym serwerze). [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Wydajność i zużycie pamięci: usunięto alokacje LINQ oraz nazw mocy wykonywane przy każdym ticku, przyspieszono wyszukiwanie nazw mocy w HUD do złożoności O(1), a podstawianie kolorów i przycisków w tłumaczeniach przeniesiono do etapu ich wczytywania. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### `ForceFullUpdate` tworzy teraz usługę sieciową tylko raz na każde rozgłoszenie, a zabezpieczenie kątów widoku na początku rundy pomija wyłącznie rzeczywistą wartość zastępczą (0, 0, 0), zamiast błędnie pomijać również poprawne kąty. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Logowanie debugowania jest aktywowane tylko wtedy, gdy włączony jest DebugMode, a wpisy są zapisywane przy użyciu jednego, ponownie wykorzystywanego strumienia zamiast każdorazowego otwierania pliku. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Stan mocy gracza został ujednolicony do jednej kolekcji (usunięto zduplikowaną listę), eliminując rzadkie problemy z desynchronizacją podczas rozłączenia gracza. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Sygnatury Gamedata są teraz wczytywane leniwie i niezależnie od siebie, dzięki czemu uszkodzona sygnatura po aktualizacji CS2 nie powoduje już awarii całej warstwy narzędziowej. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Zabezpieczono wiele ścieżek wykonywanych przy tickach i transmisji przed nieprawidłowymi uchwytami graczy, co zapobiega rzadkim awariom. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### HUD z opisem mocy poprawnie obsługuje opcję "zawsze pokazuj" (-1) we wszystkich ścieżkach przypisywania mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + +- #### Poprawki mocy: + - ###### Błazen: + - ###### Naprawiono błąd, przez który efekt braku obrażeń pozostawał na graczu po zmianie jego mocy w trakcie rundy (np. po kradzieży przez Złodzieja lub usunięciu przez Dezaktywatora) - stan wewnętrzny jest teraz poprawnie czyszczony po wyłączeniu mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Stópkarz: + - ###### Naprawiono problem z gromadzeniem się śladów w trakcie rundy - poprzedni ślad jest teraz usuwany przed utworzeniem nowego. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Oko Sokoła / Trzecie Oko / Obserwator: + - ###### Stan kamery jest teraz całkowicie resetowany po wyłączeniu mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + +
+
v1.2.2.b5 diff --git a/README-PL.md b/README-PL.md index 66ffc44..a51fe30 100644 --- a/README-PL.md +++ b/README-PL.md @@ -272,7 +272,8 @@ Wszystkie sypermoce można dostosować w pliku **`config.cfg`** / **`skillsInfo. "SummaryAfterTheRound": true, // Pokazuj podsumowanie z ostatniej rundy "EnableBotSkills": true, // Włącz umiejętności dla botów "EnableBotKickDebug": false, // Co 45 sekund wyrzuć losowego bota (do celów debugowania/testowania) - "DebugMode": false, // Zapisuj aktywność do folderu 'Debug' + "DebugMode": false, // Zapisuje logi debugowania (zdarzenia graczy i działanie pluginu) do folderu Debug + "PerfMode": false, // Zapisuje pomiary wydajności pluginu do folderu logs "AlternativeSkillButton": null, // Możliwe przyciski: // null, "Attack", "Jump", "Duck", "Forward", "Back", // "Use", "Cancel", "Left", "Right", "Moveleft", @@ -372,6 +373,29 @@ Plugin korzysta z zawartości następujących projektów: ## 📋 Lista Zmian +
+v1.2.2.b6 + +- #### Ogólne: + - ###### Wydajność: znacznie przyspieszono zmianę rundy - resetowane są tylko moce, które były aktywne w poprzedniej rundzie, zamiast wszystkich załadowanych (DisableAll skrócono z ok. 89 ms do ok. 5 ms na pełnym serwerze). [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Wydajność i zużycie pamięci: usunięto alokacje LINQ oraz nazw mocy wykonywane przy każdym ticku, przyspieszono wyszukiwanie nazw mocy w HUD do złożoności O(1), a podstawianie kolorów i przycisków w tłumaczeniach przeniesiono do etapu ich wczytywania. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### `ForceFullUpdate` tworzy teraz usługę sieciową tylko raz na każde rozgłoszenie, a zabezpieczenie kątów widoku na początku rundy pomija wyłącznie rzeczywistą wartość zastępczą (0, 0, 0), zamiast błędnie pomijać również poprawne kąty. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Logowanie debugowania jest aktywowane tylko wtedy, gdy włączony jest DebugMode, a wpisy są zapisywane przy użyciu jednego, ponownie wykorzystywanego strumienia zamiast każdorazowego otwierania pliku. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Stan mocy gracza został ujednolicony do jednej kolekcji (usunięto zduplikowaną listę), eliminując rzadkie problemy z desynchronizacją podczas rozłączenia gracza. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Sygnatury Gamedata są teraz wczytywane leniwie i niezależnie od siebie, dzięki czemu uszkodzona sygnatura po aktualizacji CS2 nie powoduje już awarii całej warstwy narzędziowej. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Zabezpieczono wiele ścieżek wykonywanych przy tickach i transmisji przed nieprawidłowymi uchwytami graczy, co zapobiega rzadkim awariom. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### HUD z opisem mocy poprawnie obsługuje opcję "zawsze pokazuj" (-1) we wszystkich ścieżkach przypisywania mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + +- #### Poprawki mocy: + - ###### Błazen: + - ###### Naprawiono błąd, przez który efekt braku obrażeń pozostawał na graczu po zmianie jego mocy w trakcie rundy (np. po kradzieży przez Złodzieja lub usunięciu przez Dezaktywatora) - stan wewnętrzny jest teraz poprawnie czyszczony po wyłączeniu mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Stópkarz: + - ###### Naprawiono problem z gromadzeniem się śladów w trakcie rundy - poprzedni ślad jest teraz usuwany przed utworzeniem nowego. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + - ###### Oko Sokoła / Trzecie Oko / Obserwator: + - ###### Stan kamery jest teraz całkowicie resetowany po wyłączeniu mocy. [by: [@ByDexterTR](https://github.com/ByDexterTR)] + +
+
v1.2.2.b5 diff --git a/README.md b/README.md index 271a267..5d92f2c 100644 --- a/README.md +++ b/README.md @@ -274,7 +274,8 @@ All skills can be customized in the **`config.cfg`** / **`skillsInfo.json`** fil "SummaryAfterTheRound": true, // Show summary of the last round "EnableBotSkills": true, // Enable skills for bots "EnableBotKickDebug": false, // Kick a random bot every 45s (for debug/testing) - "DebugMode": false, // Write activity to the ‘Debug’ folder + "DebugMode": false, // Save debug logs (player events and plugin activity) to the Debug folder + "PerfMode": false, // Save performance measurements to the logs folder "AlternativeSkillButton": null, // Possible buttons: // null, "Attack", "Jump", "Duck", "Forward", "Back", // "Use", "Cancel", "Left", "Right", "Moveleft",