diff --git a/Mods/vcmi/Sprites/mapFormatIcons/vcmi1.png b/Mods/vcmi/Sprites/mapFormatIcons/vcmi1.png index b575cf133..a2d7b1126 100644 Binary files a/Mods/vcmi/Sprites/mapFormatIcons/vcmi1.png and b/Mods/vcmi/Sprites/mapFormatIcons/vcmi1.png differ diff --git a/android/vcmi-app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/vcmi-app/src/main/res/mipmap-hdpi/ic_launcher.png index 0112f0583..4adf6a8e4 100644 Binary files a/android/vcmi-app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/vcmi-app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/vcmi-app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/vcmi-app/src/main/res/mipmap-mdpi/ic_launcher.png index 4c6c239af..1e59f556d 100644 Binary files a/android/vcmi-app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/vcmi-app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/vcmi-app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/vcmi-app/src/main/res/mipmap-xhdpi/ic_launcher.png index 308b6da28..46c1851ea 100644 Binary files a/android/vcmi-app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/vcmi-app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/vcmi-app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/vcmi-app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 03c68efa7..929de2aaf 100644 Binary files a/android/vcmi-app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/vcmi-app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/vcmi-app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/vcmi-app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index ecbf76a7a..5a63d09d6 100644 Binary files a/android/vcmi-app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/vcmi-app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index e67d803e1..81debb398 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -457,6 +457,7 @@ endif() if(NOT WIN32 AND NOT APPLE AND NOT ANDROID) #FIXME: move to client makefile? install(FILES "${CMAKE_SOURCE_DIR}/client/icons/vcmiclient.16x16.png" DESTINATION share/icons/hicolor/16x16/apps RENAME vcmiclient.png) + install(FILES "${CMAKE_SOURCE_DIR}/client/icons/vcmiclient.22x22.png" DESTINATION share/icons/hicolor/22x22/apps RENAME vcmiclient.png) install(FILES "${CMAKE_SOURCE_DIR}/client/icons/vcmiclient.32x32.png" DESTINATION share/icons/hicolor/32x32/apps RENAME vcmiclient.png) install(FILES "${CMAKE_SOURCE_DIR}/client/icons/vcmiclient.48x48.png" DESTINATION share/icons/hicolor/48x48/apps RENAME vcmiclient.png) install(FILES "${CMAKE_SOURCE_DIR}/client/icons/vcmiclient.64x64.png" DESTINATION share/icons/hicolor/64x64/apps RENAME vcmiclient.png) diff --git a/client/CPlayerInterface.cpp b/client/CPlayerInterface.cpp index 4d0e322c8..824b97b07 100644 --- a/client/CPlayerInterface.cpp +++ b/client/CPlayerInterface.cpp @@ -1618,15 +1618,6 @@ void CPlayerInterface::gameOver(PlayerColor player, const EVictoryLossCheckResul if (GH.curInt == this) GH.curInt = nullptr; } - else - { - if (victoryLossCheckResult.loss() && cb->getPlayerStatus(playerID) == EPlayerStatus::INGAME) //enemy has lost - { - MetaString message = victoryLossCheckResult.messageToSelf; - message.appendLocalString(EMetaText::COLOR, player.getNum()); - showInfoDialog(message.toString(), std::vector>(1, std::make_shared(CComponent::flag, player.getNum(), 0))); - } - } } void CPlayerInterface::playerBonusChanged( const Bonus &bonus, bool gain ) @@ -2016,13 +2007,13 @@ void CPlayerInterface::doMoveHero(const CGHeroInstance * h, CGPath path) auto canStop = [&](CGPathNode * node) -> bool { - if (node->layer == EPathfindingLayer::LAND || node->layer == EPathfindingLayer::SAIL) - return true; + if (node->layer != EPathfindingLayer::LAND && node->layer != EPathfindingLayer::SAIL) + return false; - if (node->accessible == EPathAccessibility::ACCESSIBLE) - return true; + if (node->accessible != EPathAccessibility::ACCESSIBLE) + return false; - return false; + return true; }; for (i=(int)path.nodes.size()-1; i>0 && (stillMoveHero.data == CONTINUE_MOVE || !canStop(&path.nodes[i])); i--) diff --git a/client/adventureMap/AdventureMapShortcuts.cpp b/client/adventureMap/AdventureMapShortcuts.cpp index 3fb44f0dc..d72e8e7dc 100644 --- a/client/adventureMap/AdventureMapShortcuts.cpp +++ b/client/adventureMap/AdventureMapShortcuts.cpp @@ -397,7 +397,7 @@ void AdventureMapShortcuts::moveHeroDirectional(const Point & direction) bool AdventureMapShortcuts::optionCanViewQuests() { - return optionInMapView() && CGI->mh->getMap()->quests.empty(); + return optionInMapView() && !CGI->mh->getMap()->quests.empty(); } bool AdventureMapShortcuts::optionCanToggleLevel() diff --git a/client/adventureMap/AdventureMapWidget.cpp b/client/adventureMap/AdventureMapWidget.cpp index b8f50dcd4..65e1230be 100644 --- a/client/adventureMap/AdventureMapWidget.cpp +++ b/client/adventureMap/AdventureMapWidget.cpp @@ -372,11 +372,15 @@ void AdventureMapWidget::setPlayerChildren(CIntObject * widget, const PlayerColo auto container = dynamic_cast(entry); auto icon = dynamic_cast(entry); auto button = dynamic_cast(entry); + auto resDataBar = dynamic_cast(entry); auto texture = dynamic_cast(entry); if(button) button->setPlayerColor(player); + if(resDataBar) + resDataBar->colorize(player); + if(icon) icon->setPlayer(player); diff --git a/client/battle/BattleInterface.cpp b/client/battle/BattleInterface.cpp index 6420cdc77..4159895de 100644 --- a/client/battle/BattleInterface.cpp +++ b/client/battle/BattleInterface.cpp @@ -104,11 +104,9 @@ void BattleInterface::playIntroSoundAndUnlockInterface() { auto onIntroPlayed = [this]() { + boost::unique_lock un(*CPlayerInterface::pim); if(LOCPLINT->battleInt) - { - boost::unique_lock un(*CPlayerInterface::pim); onIntroSoundPlayed(); - } }; int battleIntroSoundChannel = CCS->soundh->playSoundFromSet(CCS->soundh->battleIntroSounds); diff --git a/client/icons/vcmiclient.1024x1024.png b/client/icons/vcmiclient.1024x1024.png index 3d5d93ad8..d21f276ef 100644 Binary files a/client/icons/vcmiclient.1024x1024.png and b/client/icons/vcmiclient.1024x1024.png differ diff --git a/client/icons/vcmiclient.128x128.png b/client/icons/vcmiclient.128x128.png index 5a1457b08..9080c94bc 100644 Binary files a/client/icons/vcmiclient.128x128.png and b/client/icons/vcmiclient.128x128.png differ diff --git a/client/icons/vcmiclient.16x16.png b/client/icons/vcmiclient.16x16.png index a4458bd8c..73ed1df8b 100644 Binary files a/client/icons/vcmiclient.16x16.png and b/client/icons/vcmiclient.16x16.png differ diff --git a/client/icons/vcmiclient.2048x2048.png b/client/icons/vcmiclient.2048x2048.png index 59822f2e5..d0b02502f 100644 Binary files a/client/icons/vcmiclient.2048x2048.png and b/client/icons/vcmiclient.2048x2048.png differ diff --git a/client/icons/vcmiclient.22x22.png b/client/icons/vcmiclient.22x22.png new file mode 100644 index 000000000..4c21a5f6b Binary files /dev/null and b/client/icons/vcmiclient.22x22.png differ diff --git a/client/icons/vcmiclient.256x256.png b/client/icons/vcmiclient.256x256.png index 012cd0999..cc345dd51 100644 Binary files a/client/icons/vcmiclient.256x256.png and b/client/icons/vcmiclient.256x256.png differ diff --git a/client/icons/vcmiclient.32x32.png b/client/icons/vcmiclient.32x32.png index 89819f298..cd849931b 100644 Binary files a/client/icons/vcmiclient.32x32.png and b/client/icons/vcmiclient.32x32.png differ diff --git a/client/icons/vcmiclient.48x48.png b/client/icons/vcmiclient.48x48.png index 4c6c239af..1e59f556d 100644 Binary files a/client/icons/vcmiclient.48x48.png and b/client/icons/vcmiclient.48x48.png differ diff --git a/client/icons/vcmiclient.512x512.png b/client/icons/vcmiclient.512x512.png index 8c0b7e4df..0b8bd58de 100644 Binary files a/client/icons/vcmiclient.512x512.png and b/client/icons/vcmiclient.512x512.png differ diff --git a/client/icons/vcmiclient.64x64.png b/client/icons/vcmiclient.64x64.png index 89865281b..71ae6ca54 100644 Binary files a/client/icons/vcmiclient.64x64.png and b/client/icons/vcmiclient.64x64.png differ diff --git a/client/icons/vcmiclient.svg b/client/icons/vcmiclient.svg index 0d1f01b5b..474c07a1d 100644 --- a/client/icons/vcmiclient.svg +++ b/client/icons/vcmiclient.svg @@ -2,19 +2,22 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + gradientTransform="translate(1.5699347,0.84779727)" /> diff --git a/client/icons/vcmiclient.xpm b/client/icons/vcmiclient.xpm deleted file mode 100644 index ce82b0f95..000000000 --- a/client/icons/vcmiclient.xpm +++ /dev/null @@ -1,238 +0,0 @@ -/* XPM */ -static char *x[] = { -/* columns rows colors chars-per-pixel */ -"32 32 200 2 ", -" c gray11", -". c #161616", -"X c #2C0E00", -"o c #2D1003", -"O c #25140C", -"+ c #28130A", -"@ c #311305", -"# c #331609", -"$ c #34190C", -"% c #391C0D", -"& c #241610", -"* c #241A16", -"= c #251E1A", -"- c #2C1C14", -"; c #391E11", -": c #2A241D", -"> c #20201F", -", c #3D2112", -"< c #38231B", -"1 c #3C351E", -"2 c #242323", -"3 c #2C2B2B", -"4 c #282625", -"5 c #332E20", -"6 c #362D29", -"7 c #302620", -"8 c #363122", -"9 c #3C3521", -"0 c #3E352C", -"q c #36302D", -"w c #353433", -"e c #3D3B3B", -"r c #3B3431", -"t c #412516", -"y c #462A1B", -"u c #492E1E", -"i c #45271B", -"p c #443A1B", -"a c #4A3F1C", -"s c #4A2F20", -"d c #4D3323", -"f c #423B24", -"g c #48372E", -"h c #483F25", -"j c #503627", -"k c #513728", -"l c #543B2C", -"z c #593D2F", -"x c #483D37", -"c c #473C37", -"v c #573E30", -"b c #583F31", -"n c #5A4C1D", -"m c #63531C", -"M c #6F5C18", -"N c #725D13", -"B c #7D6515", -"V c #4E4426", -"C c #514623", -"Z c #44423F", -"A c #5C4234", -"S c #5A4438", -"D c #625220", -"F c #6C5A24", -"G c #6B5A29", -"H c #715E26", -"J c #674D3F", -"K c #604537", -"L c #7A6525", -"P c #746129", -"I c #444242", -"U c #494645", -"Y c #4C4B4A", -"T c #4A4845", -"R c #554A46", -"E c #5B4D45", -"W c #514742", -"Q c #555352", -"! c #595757", -"~ c #5D5B5A", -"^ c #694E40", -"/ c #6B5549", -"( c #775D4F", -") c #705648", -"_ c #6B5F58", -"` c #755E52", -"' c #62605E", -"] c #7E6557", -"[ c #7A665A", -"{ c #666564", -"} c #696766", -"| c #6D6B6A", -" . c #6A6865", -".. c #7B6B62", -"X. c #726D69", -"o. c #7A7674", -"O. c #7D7B7B", -"+. c #767471", -"@. c #95750A", -"#. c #98770A", -"$. c #846B1B", -"%. c #876D17", -"&. c #8E731E", -"*. c #93761D", -"=. c #96781C", -"-. c #9B7B10", -";. c #A07F0F", -":. c #A07D10", -">. c #836C22", -",. c #866F29", -"<. c #8C7324", -"1. c #997D22", -"2. c #967A28", -"3. c #826A5D", -"4. c #80675A", -"5. c #856D60", -"6. c #897164", -"7. c #8C7569", -"8. c #8F786C", -"9. c #927C6F", -"0. c #827D79", -"q. c #937E72", -"w. c #A7840F", -"e. c #AE8A16", -"r. c #A5831A", -"t. c #B08C1C", -"y. c #B79015", -"u. c #BD961A", -"i. c #A88825", -"p. c #B08E23", -"a. c #BB9624", -"s. c #BB9626", -"d. c #C69D1B", -"f. c #C29B22", -"g. c #C29C2A", -"h. c #CCA220", -"j. c #CDA42A", -"k. c #D9AD26", -"l. c #D2A726", -"z. c #E6B726", -"x. c #86827D", -"c. c #8A847F", -"v. c #978175", -"b. c #94867D", -"n. c #9B867A", -"m. c #9E897D", -"M. c #998377", -"N. c #848383", -"B. c #8A8680", -"V. c #8F8B86", -"C. c #9B8D85", -"Z. c #938E89", -"A. c #918984", -"S. c #96928E", -"D. c #9A9693", -"F. c #9C9996", -"G. c #9D9B99", -"H. c #939292", -"J. c #A28E82", -"K. c #A69287", -"L. c #A5948A", -"P. c #AC988D", -"I. c #A9958A", -"U. c #A69C96", -"Y. c #AD9C93", -"T. c #A29D99", -"R. c #A89F99", -"E. c #B19E93", -"W. c #A5A29F", -"Q. c #B3A196", -"!. c #B8A69C", -"~. c #B9A69C", -"^. c #A4A3A2", -"/. c #A9A6A3", -"(. c #ADABA9", -"). c #ABA8A5", -"_. c #BCABA1", -"`. c #B2AEAC", -"'. c #B5A9A3", -"]. c #B3B2AF", -"[. c #B3B2B2", -"{. c #B9B5B3", -"}. c #BAB9B9", -"|. c #BBB9B6", -" X c #C0AFA5", -".X c #C4B3AA", -"XX c #C8B8AE", -"oX c #C1BFBE", -"OX c #CDBDB4", -"+X c #CCC9C7", -"@X c #CFCCCB", -"#X c #C5C3C1", -"$X c #D3D1CF", -"%X c #D6D3D2", -"&X c #DDDBDA", -"*X c #EDECEB", -"=X c #E4E3E3", -"-X c #F3F3F3", -";X c #F9F9F9", -":X c None", -/* pixels */ -":X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X", -":X:X:XO.V.| Q :X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:XZ Q ' T :X:X", -":X:XI G.(.}.}.}.(.^.H.N.O.| } ~ ! ' { { } X.o.0.B.x.x.x.x.x.:X:X", -":X:X3 N.H.^.[.}.}.}.}.}.}.}.}.[.`.(./.^.T.T.D.S.Z.V.B.x.x.o.:X:X", -":X:X:X| O. .^ ..b.D./.[.{.}.}.}.{.[.`.(.^.F.S.D.W.'.'.c.c.' :X:X", -":X:X:X! { c % s b ^ ( 5.7.q.b.C.C.L.L.I.Y.E.~. X XXXOXZ.V.~ :X:X", -":X:X:XU ~ c X @ t j K ) [ 3.6.7.q.b.n.J.L.P.E.E.~. XXXZ.D.Y :X:X", -":X:X:Xw Q Z X X X % y v ^ ( ] 5.6.8.q.M.C.J.I.E.Q.~.~.F.F.:X:X:X", -":X:X:X4 Y U X X X X @ t d A ) ] 3.6.7.9.q.n.J.K.P.E.W.W.D.:X:X:X", -":X:X:X:XI U @ X X X X X % i z ^ ( 4.3.6.8.q.M.n.m.I.U.(.x.:X:X:X", -":X . w 3 * + X + O & & & - d K g x Z ^ 7...U E R N.N.e :X:X", -":XG j.9 2 ,.s.* + = s.j.j.j.P * i F j.j.0 [ R i.l.i.' Y g.2.:X:X", -":XH z.f 2 2.k.* * p.f.,.,.2.l.G X L z.z.8 x q p.z.s.{ Y k.i.:X:X", -":Xh i.f.>.d.L : = h.1.O X : L V X H k.p.a.4 <.f.a.p.{ e h.1.:X:X", -":X:XF d.<.d.w k = d.&.+ X X X X o F d.B d.2 <.t.<.r.{ w u.*.:X:X", -":X:XF y.$.y.I ' : e.$.- # & = * X D y.V =.e.e.D %.=.{ 2 e.$.:X:X", -":X:X9 %.w.n Q G.: -.B : : 1 w.n X n w.: M w.-.2 B %.Y > -.B :X:X", -":X:X:Xm #. -X-X6 a @.@.@.#.M 5 o n @.: 1 a a = N B w @.N :X:X", -":X:X:X8 a #X;XC.7 p p p p 8 , # 8 p * X X X + 1 p p 9 :X:X", -":X:X:X:X:X:XO.*X@Xk d h u u u y t % # o X X X < Q Y :X:X:X:X:X:X", -":X:X:X:X:X:X:X&X*X[ d j j d s u u t , % @ o X r Y 3 :X:X:X:X:X:X", -":X:X:X:X:X:X:XF.&XW.z k k j j s d u y , , # - c I :X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X$X%X/ z l k k d d d u u t , 6 w 3 :X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:XF.@XT.v l l l k d d d d u S .Y :X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:XI |.#X..A z l l k j j d v F.F.! :X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:XO.{.]./ A z l z l j z {.=X}.:X:X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:X:XF.].).` A A z l S `.-X;XO.:X:X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:X:Xe G.).].V.....b.$X=X*X^.:X:X:X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:X:X:XT D.W.(.{.}.+X%X&X/.:X:X:X:X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:X:X:X:Xe x.T./.].|.}.O.:X:X:X:X:X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:X:X:X:X:X:XY | o. .:X:X:X:X:X:X:X:X:X:X:X:X:X:X", -":X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X" -}; diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png index aee9354ef..d575b4b11 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index e5583f4b7..c4c0b80d8 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 6c58aa09f..3071027d3 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png index 045a0bc89..bb0ee71e7 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index 704fc9815..4a306d85d 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 3fb265c48..f50864ce4 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index e5583f4b7..ae4a61187 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 244512b03..220b233b8 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index ca7b489be..1a407db91 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png new file mode 100644 index 000000000..caaf8bc5c Binary files /dev/null and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index ca7b489be..1a407db91 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index aa20b6471..b7d87b2ab 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 1fbffde17..d24e0ddb0 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png index c184e5a54..572699c5f 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index c08e86964..a9bdfe432 100644 Binary files a/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/client/ios/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/client/ios/vcmi_logo.png b/client/ios/vcmi_logo.png index 73d432480..12a7e7f03 100644 Binary files a/client/ios/vcmi_logo.png and b/client/ios/vcmi_logo.png differ diff --git a/client/lobby/CSelectionBase.cpp b/client/lobby/CSelectionBase.cpp index cc1d49ba9..a80a08ffb 100644 --- a/client/lobby/CSelectionBase.cpp +++ b/client/lobby/CSelectionBase.cpp @@ -216,6 +216,10 @@ void InfoCard::changeSelection() flagbox->recreate(); labelDifficulty->setText(CGI->generaltexth->arraytxt[142 + mapInfo->mapHeader->difficulty]); iconDifficulty->setSelected(SEL->getCurrentDifficulty()); + if(SEL->screenType == ESelectionScreen::loadGame || SEL->screenType == ESelectionScreen::saveGame) + for(auto & button : iconDifficulty->buttons) + button.second->setEnabled(button.first == SEL->getCurrentDifficulty()); + const std::array difficultyPercent = {"80%", "100%", "130%", "160%", "200%"}; labelDifficultyPercent->setText(difficultyPercent[SEL->getCurrentDifficulty()]); diff --git a/client/vcmi.ico b/client/vcmi.ico index 2c27331dd..0c431b808 100644 Binary files a/client/vcmi.ico and b/client/vcmi.ico differ diff --git a/client/windows/GUIClasses.cpp b/client/windows/GUIClasses.cpp index e921cdf88..bba9a5d5d 100644 --- a/client/windows/GUIClasses.cpp +++ b/client/windows/GUIClasses.cpp @@ -749,6 +749,9 @@ void CExchangeController::moveStack( SlotID sourceSlot) { auto creature = source->getCreature(sourceSlot); + if(creature == nullptr) + return; + SlotID targetSlot = target->getSlotFor(creature); if(targetSlot.validSlot()) diff --git a/config/objects/generic.json b/config/objects/generic.json index 602f314cc..49c6e01ca 100644 --- a/config/objects/generic.json +++ b/config/objects/generic.json @@ -870,7 +870,15 @@ }, "marketOfTime" : { // Unused/not implemented H3 object present on some RoE maps "index" :50, - "handler": "generic" + "handler": "generic", + "types" : { + "object" : { + "index" : 0, + "aiValue" : 0, + "rmg" : { + } + } + } }, "tavern" : { "index" :95, diff --git a/launcher/VCMI_launcher.ico b/launcher/VCMI_launcher.ico index 40818c464..0c431b808 100644 Binary files a/launcher/VCMI_launcher.ico and b/launcher/VCMI_launcher.ico differ diff --git a/launcher/icons/menu-game.png b/launcher/icons/menu-game.png index 6d2c83cbe..cc345dd51 100644 Binary files a/launcher/icons/menu-game.png and b/launcher/icons/menu-game.png differ diff --git a/mapeditor/icons/menu-game.png b/mapeditor/icons/menu-game.png index 5f632e2b7..71ae6ca54 100644 Binary files a/mapeditor/icons/menu-game.png and b/mapeditor/icons/menu-game.png differ diff --git a/osx/vcmi.icns b/osx/vcmi.icns index 6b11520ec..9e2d82055 100644 Binary files a/osx/vcmi.icns and b/osx/vcmi.icns differ