diff --git a/CMakeLists.txt b/CMakeLists.txt index bcf705e248d..e8ed210987f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # For descent FetchContent() cmake_minimum_required(VERSION 3.14) -project(fheroes2 VERSION 0.9.6 LANGUAGES C CXX) +project(fheroes2 VERSION 0.9.7 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 11) include(GNUInstallDirs) diff --git a/Makefile.switch b/Makefile.switch index 6d756cd3f7a..630f02ea046 100644 --- a/Makefile.switch +++ b/Makefile.switch @@ -23,7 +23,7 @@ MAKE := make PROJECT_TITLE := fheroes2 PROJECT_AUTHOR := fheroes2 resurrection team -PROJECT_VERSION := 0.9.6 +PROJECT_VERSION := 0.9.7 PATH := $(PATH):/opt/devkitpro/portlibs/switch/bin/:/opt/devkitpro/tools/bin/ diff --git a/appveyor.yml b/appveyor.yml index befad388cfd..328f1c89d49 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,7 +9,7 @@ skip_commits: skip_tags: true # version format -version: 0.9.6.{build} +version: 0.9.7.{build} # Build worker image (VM template) image: Visual Studio 2015 diff --git a/changelog.txt b/changelog.txt index 6abec462021..7b6585fc958 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,60 @@ +version 0.9.7 (05 September 2021) +- add popup dialogs for buttons in High Scores and save files manipulation windows +- fix Faerie Ring passability +- boat boarding animation speed doesn't depend on hero speed +- add base support of German translation +- fix medium size hero portraits +- fix incorrect object info when a hero stands on it +- remove flags from most of the captured objects for a lost player +- fix alignment of scenario info window +- fix boat froth drawing conditions +- fix Battle Garb of Anduran missing assembly for The Price of Loyalty campaign +- add monsters into High Score dialog +- add short save file description window by right clicking +- add base roles for AI heroes +- restart of the battle should lead to the same results +- fix logic in moral indicator +- AI can capture Haunted mines +- fix scrollbar position in Kingdom Overview dialog +- allow guardian heroes upgrade their troops +- add object count for weekly object income message +- open game settings window while clicking on the main menu door +- fix object passability nearby Hut of Magi +- modify Necromancer Captain Quarters look +- fix Radar appearance while right clicking on hero/castle +- do not show file options window upon file saving +- save Kingdom Overview UI selection in save files +- add missing hotkey for Kingdom Overview +- fix missing mine being drawn in View Mines +- fix incorrect fading of some objects on World Map +- fix AI behaviour during siege +- fix cases of incorrect monster stack splitting logic +- handle Escape/Enter keys in various settings dialogs +- use distinct image for the "Swap heroes" button +- properly restore captain's spell points after quick battle +- remember UI position in Kingdom Overview dialog +- add strict ordering of save files ignoring capitalization of letters +- add popup dialogs in Kingdom Overview UI dialog +- fix missing game resolutions on some machines +- fix incorrect rendering on specific fog tile +- display same name maps in the list of available maps +- improve pathfinding algorithm for AI +- place Ultimate artifact not always in the center of puzzle image +- fix max ballista shots during battle +- update French translation +- add missing Farm sprite in Knight castle +- update every scrollbar logic in the game +- fix a crash while shooting from castle's tower during castle siege +- fix Holy Shout being applied on Dwarves +- properly handle cross-moat attacks during castle siege +- do not let the player get a random artifact that allows him to win the game +- allow player to immediately edit save file name without clicking on the input field +- add few performance optimization in music and audio +- update Polish translation +- not visited obelisk remains not visited after the Ultimate Artifact has been found +- fix polish translation encoding +- game settings dialog: reset current language to English if game resources do not support other languages + version 0.9.6 (06 August 2021) - update status window if troops has fallen overboard - add direct preview of changes in system options dialog diff --git a/script/packaging/debian/changelog b/script/packaging/debian/changelog index 3ea4b19967b..448a322238b 100644 --- a/script/packaging/debian/changelog +++ b/script/packaging/debian/changelog @@ -1,5 +1,5 @@ -fheroes2 (0.9.6-1) UNRELEASED; urgency=medium +fheroes2 (0.9.7-1) UNRELEASED; urgency=medium * Initial release - -- fheroes2 team Sat, 7 Aug 2021 00:00:00 +0000 + -- fheroes2 team Sun, 5 Sep 2021 00:00:00 +0000 diff --git a/sonar-project.properties b/sonar-project.properties index a4ef6c3fe0a..7cb6eca26a1 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -3,7 +3,7 @@ sonar.organization=ihhub # This is the name and version displayed in the SonarCloud UI. sonar.projectName=fheroes2 -sonar.projectVersion=0.9.6 +sonar.projectVersion=0.9.7 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. sonar.sources=. diff --git a/src/fheroes2/game/game_credits.cpp b/src/fheroes2/game/game_credits.cpp index 9398b16943b..c8cc2d758b3 100644 --- a/src/fheroes2/game/game_credits.cpp +++ b/src/fheroes2/game/game_credits.cpp @@ -222,8 +222,8 @@ namespace const std::string contributors( "LeHerosInconnu\n" "undef21\n" "shprotru\n" - "eos428\n" "Arkadiy Illarionov\n" + "eos428\n" "vincent-grosbois\n" "Vasilenko Alexey\n" "Andrii Kurdiumov\n" diff --git a/src/fheroes2/game/game_io.cpp b/src/fheroes2/game/game_io.cpp index 070f82fe118..0851ec45e00 100644 --- a/src/fheroes2/game/game_io.cpp +++ b/src/fheroes2/game/game_io.cpp @@ -219,12 +219,6 @@ fheroes2::GameMode Game::Load( const std::string & fn ) static_assert( LAST_SUPPORTED_FORMAT_VERSION < FORMAT_VERSION_SECOND_PRE_095_RELEASE, "Remove the System::GetUniversalBasename()" ); conf.SetMapsFile( Settings::GetLastFile( "maps", System::GetUniversalBasename( conf.MapsFile() ) ) ); - // TODO: starting from 0.9.5 we do not write any data related to monsters. Remove reading the information for Monsters once minimum supported version is 0.9.5. - static_assert( LAST_SUPPORTED_FORMAT_VERSION < FORMAT_VERSION_PRE_095_RELEASE, "Remove MonsterStaticData usage" ); - if ( binver < FORMAT_VERSION_PRE_095_RELEASE ) { - fz >> MonsterStaticData::Get(); - } - if ( !conf.loadedFileLanguage().empty() && conf.loadedFileLanguage() != "en" && conf.loadedFileLanguage() != conf.getGameLanguage() ) { std::string warningMessage( _( "This saved game is localized to '" ) ); warningMessage.append( conf.loadedFileLanguage() ); diff --git a/src/fheroes2/monster/monster.cpp b/src/fheroes2/monster/monster.cpp index 006c7fe4704..d0787e13f2e 100644 --- a/src/fheroes2/monster/monster.cpp +++ b/src/fheroes2/monster/monster.cpp @@ -37,44 +37,6 @@ #include "speed.h" #include "translations.h" -namespace -{ - struct monstats_t - { - u8 attack; - u8 defense; - u8 damageMin; - u8 damageMax; - u16 hp; - u8 speed; - u8 grown; - u8 shots; - const char * name; - const char * multiname; - cost_t cost; - }; -} - -StreamBase & operator>>( StreamBase & msg, monstats_t & obj ) -{ - static_assert( LAST_SUPPORTED_FORMAT_VERSION < FORMAT_VERSION_PRE_095_RELEASE, "Remove this function as it's not supported from 0.9.5" ); - return msg >> obj.attack >> obj.defense >> obj.damageMin >> obj.damageMax >> obj.hp >> obj.speed >> obj.grown >> obj.shots >> obj.cost; -} - -StreamBase & operator>>( StreamBase & msg, const MonsterStaticData & /*obj*/ ) -{ - static_assert( LAST_SUPPORTED_FORMAT_VERSION < FORMAT_VERSION_PRE_095_RELEASE, "Remove this function as it's not supported from 0.9.5" ); - - u32 monsters_size; - msg >> monsters_size; - - monstats_t dummyMonster = { 0, 0, 0, 0, 0, Speed::VERYSLOW, 0, 0, "", "", { 0, 0, 0, 0, 0, 0, 0 } }; - - for ( u32 ii = 0; ii < monsters_size; ++ii ) - msg >> dummyMonster; - return msg; -} - uint32_t Monster::GetMissileICN( uint32_t monsterID ) { switch ( monsterID ) { @@ -1253,9 +1215,3 @@ int Monster::GetMonsterSprite() const { return fheroes2::getMonsterData( id ).icnId; } - -MonsterStaticData & MonsterStaticData::Get( void ) -{ - static MonsterStaticData mgds; - return mgds; -} diff --git a/src/fheroes2/monster/monster.h b/src/fheroes2/monster/monster.h index cc79ebbf1dd..2b4c7d6f712 100644 --- a/src/fheroes2/monster/monster.h +++ b/src/fheroes2/monster/monster.h @@ -208,13 +208,4 @@ class Monster int id; }; -struct MonsterStaticData -{ - // wrapper for stream - static MonsterStaticData & Get( void ); -}; - -// TODO: starting from 0.9.5 we do not write any data related to monsters. Remove reading the information for Monsters once minimum supported version is 0.9.5. -StreamBase & operator>>( StreamBase &, const MonsterStaticData & ); - #endif diff --git a/src/fheroes2/system/save_format_version.h b/src/fheroes2/system/save_format_version.h index b6f8e2fe133..a4b8b755218 100644 --- a/src/fheroes2/system/save_format_version.h +++ b/src/fheroes2/system/save_format_version.h @@ -29,9 +29,8 @@ enum SaveFileFormat FORMAT_VERSION_095_RELEASE = 9502, FORMAT_VERSION_SECOND_PRE_095_RELEASE = 9501, FORMAT_VERSION_PRE_095_RELEASE = 9500, - FORMAT_VERSION_094_RELEASE = 9400, - LAST_SUPPORTED_FORMAT_VERSION = FORMAT_VERSION_094_RELEASE, + LAST_SUPPORTED_FORMAT_VERSION = FORMAT_VERSION_PRE_095_RELEASE, CURRENT_FORMAT_VERSION = FORMAT_VERSION_097_RELEASE }; diff --git a/src/fheroes2/system/version.h b/src/fheroes2/system/version.h index f0e875876b2..5eb26935202 100644 --- a/src/fheroes2/system/version.h +++ b/src/fheroes2/system/version.h @@ -22,7 +22,7 @@ #define MAJOR_VERSION 0 #define MINOR_VERSION 9 -#define INTERMEDIATE_VERSION 6 +#define INTERMEDIATE_VERSION 7 #ifndef BUILD_VERSION #define BUILD_VERSION 0