From e81f4b04cf8e2bdaae838c295ff73544a7acb3c0 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 16:27:38 +0200 Subject: [PATCH 01/10] Set 1.4.2 release date to 25th December --- debian/changelog | 2 +- launcher/eu.vcmi.VCMI.metainfo.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8a998c674..2100ab4ad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,7 +2,7 @@ vcmi (1.4.2) jammy; urgency=medium * New upstream release - -- Ivan Savenko Fri, 22 Dec 2023 16:00:00 +0200 + -- Ivan Savenko Mon, 25 Dec 2023 16:00:00 +0200 vcmi (1.4.1) jammy; urgency=medium diff --git a/launcher/eu.vcmi.VCMI.metainfo.xml b/launcher/eu.vcmi.VCMI.metainfo.xml index 63f831ee4..2ddeeb0c6 100644 --- a/launcher/eu.vcmi.VCMI.metainfo.xml +++ b/launcher/eu.vcmi.VCMI.metainfo.xml @@ -76,7 +76,7 @@ - + From 274bd3ac22813f327f7ace2bdc4af902c81dc9f5 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 16:27:51 +0200 Subject: [PATCH 02/10] Add downloads counter for 1.4.2 --- docs/Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Readme.md b/docs/Readme.md index e20c28ee9..ce334ddb5 100644 --- a/docs/Readme.md +++ b/docs/Readme.md @@ -1,6 +1,7 @@ [![GitHub](https://github.com/vcmi/vcmi/actions/workflows/github.yml/badge.svg)](https://github.com/vcmi/vcmi/actions/workflows/github.yml) [![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.4.0/total)](https://github.com/vcmi/vcmi/releases/tag/1.4.0) [![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.4.1/total)](https://github.com/vcmi/vcmi/releases/tag/1.4.1) +[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.4.2/total)](https://github.com/vcmi/vcmi/releases/tag/1.4.2) [![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/total)](https://github.com/vcmi/vcmi/releases) # VCMI Project From 7efb141c509bd4298a45d507e89357759f3800e9 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 16:28:07 +0200 Subject: [PATCH 03/10] Version bump for Android --- android/vcmi-app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/vcmi-app/build.gradle b/android/vcmi-app/build.gradle index da5bbd247..0ade17ddb 100644 --- a/android/vcmi-app/build.gradle +++ b/android/vcmi-app/build.gradle @@ -10,7 +10,7 @@ android { applicationId "is.xyz.vcmi" minSdk 19 targetSdk 33 - versionCode 1420 + versionCode 1421 versionName "1.4.2" setProperty("archivesBaseName", "vcmi") } From 0eb6e8cc2bc3226975ebf3cf39bc5d4744fbf592 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 16:28:20 +0200 Subject: [PATCH 04/10] Updated changelog with latest changes --- ChangeLog.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 8ba2668a2..f55e37766 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -5,6 +5,7 @@ * Restored support for 32-bit builds * Implemented quick backpack window for slot-specific artifact selection, activated via mouse wheel / swipe gesture * Added option to search for specific spell in the spellbook +* Added option to skip fading animation on adventure map * Using alt-tab to switch to another application will no longer activate in-game console/chat * Increased frequency of checks for server startup to improve server connection time * added nwcfollowthewhiterabbit / vcmiluck cheat: the currently selected hero permanently gains maximum luck. @@ -56,6 +57,7 @@ ### Interface * Right-clicking hero icon during levelup dialog will now show hero status window +* Added indicator of current turn to unit turn order panel in battles * Reduces upscaling artifacts on large spellbook * Game will now display correct date of saved games on Android * Fixed black screen appearing during spellbook page flip animation @@ -63,6 +65,7 @@ * Fixed invisible chat text input in game lobby * Fixed positioning of chat history in game lobby * "Infobar Creature Management" option is now enabled by default +* "Large Spellbook" option is now enabled by default ### Mechanics * Anti-magic garrison now actually blocks spell casting From b5f56f29fad88d7af0c68f68638fac19038f42b5 Mon Sep 17 00:00:00 2001 From: Dydzio Date: Sun, 17 Dec 2023 16:47:14 +0100 Subject: [PATCH 05/10] Translate new settings to polish --- Mods/vcmi/config/vcmi/polish.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mods/vcmi/config/vcmi/polish.json b/Mods/vcmi/config/vcmi/polish.json index 1028d8349..533f91c29 100644 --- a/Mods/vcmi/config/vcmi/polish.json +++ b/Mods/vcmi/config/vcmi/polish.json @@ -114,6 +114,8 @@ "vcmi.systemOptions.enableUiEnhancementsButton.help" : "{Ulepszenia interfejsu}\n\nWłącza różne ulepszenia interfejsu poprawiające wygodę rozgrywki. Takie jak przycisk sakwy bohatera itp. Wyłącz jeśli szukasz bardziej klasycznej wersji gry.", "vcmi.systemOptions.enableLargeSpellbookButton.hover" : "Duża księga zaklęć", "vcmi.systemOptions.enableLargeSpellbookButton.help" : "{Duża księga zaklęć}\n\nWłącza dużą księgę czarów, która mieści więcej zaklęć na stronę. Animacja zmiany strony nie działa gdy ta opcja jest włączona.", + "vcmi.systemOptions.audioMuteFocus.hover" : "Wycisz przy zdezaktywowaniu", + "vcmi.systemOptions.audioMuteFocus.help" : "{Wycisz przy zdezaktywowaniu}\n\nWycisz dźwięk gdy okno gry staje się nieaktywne. Wyjątkiem są dźwięki wiadomości i nowej tury.", "vcmi.adventureOptions.infoBarPick.hover" : "Pokaż komunikaty w panelu informacyjnym", "vcmi.adventureOptions.infoBarPick.help" : "{Pokaż komunikaty w panelu informacyjnym}\n\nGdy to możliwe, wiadomości z odwiedzania obiektów będą pokazywane w panelu informacyjnym zamiast w osobnym okienku.", @@ -129,6 +131,8 @@ "vcmi.adventureOptions.infoBarCreatureManagement.help" : "{Zarządzanie armią w panelu informacyjnym}\n\nPozwala zarządzać jednostkami w panelu informacyjnym, zamiast przełączać między domyślnymi informacjami.", "vcmi.adventureOptions.leftButtonDrag.hover" : "Przeciąganie mapy lewym kliknięciem", "vcmi.adventureOptions.leftButtonDrag.help" : "{Przeciąganie mapy lewym kliknięciem}\n\nGdy włączone, umożliwia przesuwanie mapy przygody poprzez przeciąganie myszy z wciśniętym lewym przyciskiem.", + "vcmi.adventureOptions.smoothDragging.hover" : "'Pływające' przeciąganie mapy", + "vcmi.adventureOptions.smoothDragging.help" : "{'Pływające' przeciąganie mapy}\n\nGdy włączone, przeciąganie mapy następuje ze stopniowo zanikającym przyspieszeniem.", "vcmi.adventureOptions.mapScrollSpeed1.hover": "", "vcmi.adventureOptions.mapScrollSpeed5.hover": "", "vcmi.adventureOptions.mapScrollSpeed6.hover": "", From a001f4e407f3f377c88d75f6405d7026d6b67403 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 18:19:05 +0200 Subject: [PATCH 06/10] Fix crash on reveal puzzle cheat --- server/processors/PlayerMessageProcessor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/processors/PlayerMessageProcessor.cpp b/server/processors/PlayerMessageProcessor.cpp index f1821de56..afb331148 100644 --- a/server/processors/PlayerMessageProcessor.cpp +++ b/server/processors/PlayerMessageProcessor.cpp @@ -384,7 +384,7 @@ void PlayerMessageProcessor::cheatPuzzleReveal(PlayerColor player) for(auto & obj : gameHandler->gameState()->map->objects) { - if(obj->ID == Obj::OBELISK) + if(obj && obj->ID == Obj::OBELISK) { gameHandler->setObjPropertyID(obj->id, ObjProperty::OBELISK_VISITED, t->id); for(const auto & color : t->players) From 8c4de0d09369b9d2b78e3a08ee06f7a47be799b5 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 19:29:23 +0200 Subject: [PATCH 07/10] Update Ukrainian localization --- Mods/vcmi/config/vcmi/ukrainian.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mods/vcmi/config/vcmi/ukrainian.json b/Mods/vcmi/config/vcmi/ukrainian.json index c22aebf6e..dd689a9c1 100644 --- a/Mods/vcmi/config/vcmi/ukrainian.json +++ b/Mods/vcmi/config/vcmi/ukrainian.json @@ -54,6 +54,8 @@ "vcmi.radialWheel.moveDown" : "Перемістити вниз", "vcmi.radialWheel.moveBottom" : "Перемістити у кінець", + "vcmi.spellBook.search" : "шукати...", + "vcmi.mainMenu.serverConnecting" : "Підключення...", "vcmi.mainMenu.serverAddressEnter" : "Вкажіть адресу:", "vcmi.mainMenu.serverConnectionFailed" : "Помилка з'єднання", @@ -134,6 +136,8 @@ "vcmi.adventureOptions.leftButtonDrag.help" : "{Переміщення мапи лівою кнопкою}\n\nЯкщо увімкнено, переміщення миші з натиснутою лівою кнопкою буде перетягувати мапу пригод", "vcmi.adventureOptions.smoothDragging.hover" : "Плавне перетягування мапи", "vcmi.adventureOptions.smoothDragging.help" : "{Плавне перетягування мапи}\n\nЯкщо увімкнено, перетягування мапи має сучасний ефект завершення.", + "vcmi.adventureOptions.skipAdventureMapAnimations.hover" : "Вимкнути ефекти зникнення", + "vcmi.adventureOptions.skipAdventureMapAnimations.help" : "{Вимкнути ефекти зникнення}\n\nЯкщо увімкнено, пропускає зникання об'єктів та подібні ефекти (збирання ресурсів, посадка на корабель тощо). У деяких випадках робить інтерфейс більш реактивним за рахунок естетики. Особливо корисно в PvP-іграх. При максимальній швидкості пересування цей параметр увімкнено завжди, незалежно від цього параметра.", "vcmi.adventureOptions.mapScrollSpeed1.hover": "", "vcmi.adventureOptions.mapScrollSpeed5.hover": "", "vcmi.adventureOptions.mapScrollSpeed6.hover": "", From 28a3deb42bd41a1f5829f369fe242963bc950926 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 22:01:22 +0200 Subject: [PATCH 08/10] Do not allow stealing input focus from ourselves --- client/widgets/TextControls.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/widgets/TextControls.cpp b/client/widgets/TextControls.cpp index 33012d758..57d1db55f 100644 --- a/client/widgets/TextControls.cpp +++ b/client/widgets/TextControls.cpp @@ -801,6 +801,9 @@ void CFocusable::moveFocus() if(i == focusables.end()) i = focusables.begin(); + if (*i == this) + return; + if((*i)->isActive()) { (*i)->giveFocus(); From 4835a1f695df5ec11d6911b30de20dfdd46b4bce Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 22:05:47 +0200 Subject: [PATCH 09/10] Fix possible crash on abandoned mine with no valid resources --- lib/mapObjects/MiscObjects.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/mapObjects/MiscObjects.cpp b/lib/mapObjects/MiscObjects.cpp index 0b70fac9c..853466a14 100644 --- a/lib/mapObjects/MiscObjects.cpp +++ b/lib/mapObjects/MiscObjects.cpp @@ -117,7 +117,15 @@ void CGMine::initObj(CRandomGenerator & rand) putStack(SlotID(0), troglodytes); assert(!abandonedMineResources.empty()); - producedResource = *RandomGeneratorUtil::nextItem(abandonedMineResources, rand); + if (!abandonedMineResources.empty()) + { + producedResource = *RandomGeneratorUtil::nextItem(abandonedMineResources, rand); + } + else + { + logGlobal->error("Abandoned mine at (%s) has no valid resource candidates!", pos.toString()); + producedResource = GameResID::GOLD; + } } else { From 0c177ced42ad2ccd69b27a1f60a34702bc33d67c Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 24 Dec 2023 22:31:02 +0200 Subject: [PATCH 10/10] Disable lobby reconnection logic due to deadlock on shutdown --- server/NetPacksLobbyServer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/NetPacksLobbyServer.cpp b/server/NetPacksLobbyServer.cpp index a079309ef..63258d471 100644 --- a/server/NetPacksLobbyServer.cpp +++ b/server/NetPacksLobbyServer.cpp @@ -189,11 +189,11 @@ void ApplyOnServerAfterAnnounceNetPackVisitor::visitLobbyClientDisconnected(Lobb } srv.updateAndPropagateLobbyState(); - if(srv.getState() != EServerState::SHUTDOWN && srv.remoteConnections.count(pack.c)) - { - srv.remoteConnections -= pack.c; - srv.connectToRemote(); - } +// if(srv.getState() != EServerState::SHUTDOWN && srv.remoteConnections.count(pack.c)) +// { +// srv.remoteConnections -= pack.c; +// srv.connectToRemote(); +// } } void ClientPermissionsCheckerNetPackVisitor::visitLobbyChatMessage(LobbyChatMessage & pack)