1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Merge pull request #3386 from IvanSavenko/release_142

Release 1.4.2
This commit is contained in:
Ivan Savenko 2023-12-24 23:53:05 +02:00 committed by GitHub
commit 03e3e28b65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 33 additions and 10 deletions

View File

@ -5,6 +5,7 @@
* Restored support for 32-bit builds * Restored support for 32-bit builds
* Implemented quick backpack window for slot-specific artifact selection, activated via mouse wheel / swipe gesture * 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 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 * 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 * Increased frequency of checks for server startup to improve server connection time
* added nwcfollowthewhiterabbit / vcmiluck cheat: the currently selected hero permanently gains maximum luck. * added nwcfollowthewhiterabbit / vcmiluck cheat: the currently selected hero permanently gains maximum luck.
@ -56,6 +57,7 @@
### Interface ### Interface
* Right-clicking hero icon during levelup dialog will now show hero status window * 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 * Reduces upscaling artifacts on large spellbook
* Game will now display correct date of saved games on Android * Game will now display correct date of saved games on Android
* Fixed black screen appearing during spellbook page flip animation * Fixed black screen appearing during spellbook page flip animation
@ -63,6 +65,7 @@
* Fixed invisible chat text input in game lobby * Fixed invisible chat text input in game lobby
* Fixed positioning of chat history in game lobby * Fixed positioning of chat history in game lobby
* "Infobar Creature Management" option is now enabled by default * "Infobar Creature Management" option is now enabled by default
* "Large Spellbook" option is now enabled by default
### Mechanics ### Mechanics
* Anti-magic garrison now actually blocks spell casting * Anti-magic garrison now actually blocks spell casting

View File

@ -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.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.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.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.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.", "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.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.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.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.mapScrollSpeed1.hover": "",
"vcmi.adventureOptions.mapScrollSpeed5.hover": "", "vcmi.adventureOptions.mapScrollSpeed5.hover": "",
"vcmi.adventureOptions.mapScrollSpeed6.hover": "", "vcmi.adventureOptions.mapScrollSpeed6.hover": "",

View File

@ -54,6 +54,8 @@
"vcmi.radialWheel.moveDown" : "Перемістити вниз", "vcmi.radialWheel.moveDown" : "Перемістити вниз",
"vcmi.radialWheel.moveBottom" : "Перемістити у кінець", "vcmi.radialWheel.moveBottom" : "Перемістити у кінець",
"vcmi.spellBook.search" : "шукати...",
"vcmi.mainMenu.serverConnecting" : "Підключення...", "vcmi.mainMenu.serverConnecting" : "Підключення...",
"vcmi.mainMenu.serverAddressEnter" : "Вкажіть адресу:", "vcmi.mainMenu.serverAddressEnter" : "Вкажіть адресу:",
"vcmi.mainMenu.serverConnectionFailed" : "Помилка з'єднання", "vcmi.mainMenu.serverConnectionFailed" : "Помилка з'єднання",
@ -134,6 +136,8 @@
"vcmi.adventureOptions.leftButtonDrag.help" : "{Переміщення мапи лівою кнопкою}\n\nЯкщо увімкнено, переміщення миші з натиснутою лівою кнопкою буде перетягувати мапу пригод", "vcmi.adventureOptions.leftButtonDrag.help" : "{Переміщення мапи лівою кнопкою}\n\nЯкщо увімкнено, переміщення миші з натиснутою лівою кнопкою буде перетягувати мапу пригод",
"vcmi.adventureOptions.smoothDragging.hover" : "Плавне перетягування мапи", "vcmi.adventureOptions.smoothDragging.hover" : "Плавне перетягування мапи",
"vcmi.adventureOptions.smoothDragging.help" : "{Плавне перетягування мапи}\n\nЯкщо увімкнено, перетягування мапи має сучасний ефект завершення.", "vcmi.adventureOptions.smoothDragging.help" : "{Плавне перетягування мапи}\n\nЯкщо увімкнено, перетягування мапи має сучасний ефект завершення.",
"vcmi.adventureOptions.skipAdventureMapAnimations.hover" : "Вимкнути ефекти зникнення",
"vcmi.adventureOptions.skipAdventureMapAnimations.help" : "{Вимкнути ефекти зникнення}\n\nЯкщо увімкнено, пропускає зникання об'єктів та подібні ефекти (збирання ресурсів, посадка на корабель тощо). У деяких випадках робить інтерфейс більш реактивним за рахунок естетики. Особливо корисно в PvP-іграх. При максимальній швидкості пересування цей параметр увімкнено завжди, незалежно від цього параметра.",
"vcmi.adventureOptions.mapScrollSpeed1.hover": "", "vcmi.adventureOptions.mapScrollSpeed1.hover": "",
"vcmi.adventureOptions.mapScrollSpeed5.hover": "", "vcmi.adventureOptions.mapScrollSpeed5.hover": "",
"vcmi.adventureOptions.mapScrollSpeed6.hover": "", "vcmi.adventureOptions.mapScrollSpeed6.hover": "",

View File

@ -10,7 +10,7 @@ android {
applicationId "is.xyz.vcmi" applicationId "is.xyz.vcmi"
minSdk 19 minSdk 19
targetSdk 33 targetSdk 33
versionCode 1420 versionCode 1421
versionName "1.4.2" versionName "1.4.2"
setProperty("archivesBaseName", "vcmi") setProperty("archivesBaseName", "vcmi")
} }

View File

@ -801,6 +801,9 @@ void CFocusable::moveFocus()
if(i == focusables.end()) if(i == focusables.end())
i = focusables.begin(); i = focusables.begin();
if (*i == this)
return;
if((*i)->isActive()) if((*i)->isActive())
{ {
(*i)->giveFocus(); (*i)->giveFocus();

2
debian/changelog vendored
View File

@ -2,7 +2,7 @@ vcmi (1.4.2) jammy; urgency=medium
* New upstream release * New upstream release
-- Ivan Savenko <saven.ivan@gmail.com> Fri, 22 Dec 2023 16:00:00 +0200 -- Ivan Savenko <saven.ivan@gmail.com> Mon, 25 Dec 2023 16:00:00 +0200
vcmi (1.4.1) jammy; urgency=medium vcmi (1.4.1) jammy; urgency=medium

View File

@ -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](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.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.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) [![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/total)](https://github.com/vcmi/vcmi/releases)
# VCMI Project # VCMI Project

View File

@ -76,7 +76,7 @@
</screenshot> </screenshot>
</screenshots> </screenshots>
<releases> <releases>
<release version="1.4.2" date="2023-12-22" type="stable"/> <release version="1.4.2" date="2023-12-25" type="stable"/>
<release version="1.4.1" date="2023-12-12" type="stable"/> <release version="1.4.1" date="2023-12-12" type="stable"/>
<release version="1.4.0" date="2023-12-08" type="stable"/> <release version="1.4.0" date="2023-12-08" type="stable"/>
<release version="1.3.2" date="2023-09-15" type="stable"/> <release version="1.3.2" date="2023-09-15" type="stable"/>

View File

@ -117,7 +117,15 @@ void CGMine::initObj(CRandomGenerator & rand)
putStack(SlotID(0), troglodytes); putStack(SlotID(0), troglodytes);
assert(!abandonedMineResources.empty()); 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 else
{ {

View File

@ -189,11 +189,11 @@ void ApplyOnServerAfterAnnounceNetPackVisitor::visitLobbyClientDisconnected(Lobb
} }
srv.updateAndPropagateLobbyState(); srv.updateAndPropagateLobbyState();
if(srv.getState() != EServerState::SHUTDOWN && srv.remoteConnections.count(pack.c)) // if(srv.getState() != EServerState::SHUTDOWN && srv.remoteConnections.count(pack.c))
{ // {
srv.remoteConnections -= pack.c; // srv.remoteConnections -= pack.c;
srv.connectToRemote(); // srv.connectToRemote();
} // }
} }
void ClientPermissionsCheckerNetPackVisitor::visitLobbyChatMessage(LobbyChatMessage & pack) void ClientPermissionsCheckerNetPackVisitor::visitLobbyChatMessage(LobbyChatMessage & pack)

View File

@ -384,7 +384,7 @@ void PlayerMessageProcessor::cheatPuzzleReveal(PlayerColor player)
for(auto & obj : gameHandler->gameState()->map->objects) 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); gameHandler->setObjPropertyID(obj->id, ObjProperty::OBELISK_VISITED, t->id);
for(const auto & color : t->players) for(const auto & color : t->players)