1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
Commit Graph

7765 Commits

Author SHA1 Message Date
laikh
92e3eb38e7 Fix bcrypt dependency for MINGW build 2020-07-05 21:10:29 +08:00
Alexander Shishkin
8c77f0488c
Merge pull request #644 from nullkiller/optimize-a-few-bonus-requests
hacks to optimize a few bonus requests
2020-07-05 05:39:40 +03:00
Andrii Danylchenko
d782ee39df hacks to optimize a few bonus requests 2020-07-04 17:52:22 +03:00
Alexander Shishkin
cc75b859d4
Merge pull request #609 from viciious/improve_battleai
Improve battle AI
2020-05-25 05:50:40 +03:00
Victor Luchits
2727958a63 Tweak Battle AI damage prioritization score logic 2020-05-23 13:38:24 +03:00
Victor Luchits
f68b449e5e More formatting 2020-05-17 11:21:49 +03:00
Victor Luchits
b4025fa1d6 More formatting 2020-05-16 16:14:58 +03:00
Alexander Shishkin
710b7c5f5b
Merge pull request #633 from hwiorn/develop
Add Korean encoding(CP949)
2020-05-11 21:20:12 +03:00
Alexander Shishkin
f05d2b6586
Merge pull request #643 from viciious/fix_cmp_stack
Fix CMP_stack to follow strict weak ordering of elements
2020-05-11 20:04:54 +03:00
Victor Luchits
618d521407 Fix CMP_stack to follow strict weak ordering of elements 2020-05-11 18:14:36 +03:00
Victor Luchits
d4cc005882 Address various issues pointed out by reviewers 2020-05-09 14:09:32 +03:00
Victor Luchits
59c39527c5 Formatting 2020-05-09 13:51:00 +03:00
Alexander Shishkin
8871368c5b
Merge pull request #642 from vcmi/issue3112
Fixed Gargoyles immunity, issue 3112.
2020-05-09 07:04:46 +03:00
Andruids
728ee73612 Fixed Gargoyles immunity, issue 3112.
Gargoyles should be resistant to the same effects that NON_LIVING creature are, minus mind spells. It also shouldn't be affected by Resurrection and Sacrifice spells, and Elixir of Life.
2020-05-07 21:20:36 +03:00
Victor Luchits
be10694b73 Some changes to make the battle AI smarter
- the AI will now consider attacking multiple units
- the preferred strategy now is to minimize collateral damage rather than to maximize damage to enemy units alone
- attacks that block enemy shooters will be prioritized over other attacks in cases when shooters have weaker melee attacks
2020-05-05 17:53:03 +03:00
Victor Luchits
604246bc7a VS 2019/Windows 10 Kit fix 2020-05-05 15:25:07 +03:00
Victor Luchits
febbeaeeed Close the global log targets on exit, flushing log files to disk 2020-05-05 15:25:07 +03:00
Victor Luchits
d6e6182e65 Close the target file in CLogFileTarget's destructor 2020-05-05 15:25:02 +03:00
Alexander Shishkin
b6ee5d09bc
Merge pull request #641 from runlevel5/patch-1
Update RPM spec
2020-05-05 14:31:29 +03:00
Trung Lê
3338e4b855
Update RPM spec
* Update instructions to fetch 0.99 tarball
* Remove missing README.linux file
* Add postinstall to create symlink to libvcmi.so
2020-05-05 18:44:42 +10:00
Victor Luchits
0fe71b7c44 Add CBasicLogConfigurator::deconfigure method to clear the global log targets 2020-05-04 18:56:15 +03:00
Arseniy Lartsev
fca9bcdd7f
Fixed possible freezes while dragging visible area on minimap (#638) 2020-05-03 01:26:30 +03:00
Jacob Lundgren
cfe33e6b6e 3117: Fix crash after AI revisits teleporter
**	Behavioral change: Fix AI heroes sometimes attempting to probe
teleport exits using data from a previously processed hero, causing
nullptr dereferences.

VCAI::moveHeroToTile has special case logic for revisiting tiles. This
logic could cause teleport exits to be stored in
teleportChannelProbingList, without the list subsequently being
cleared. If the processing of that hero ended immediately after that,
the next hero would believe that the list is accurate for them and
attempt to teleport while not standing on a teleporter.
2020-05-01 06:33:06 +03:00
hwiorn
0c3be77e78 Add Korean encoding(CP949) 2020-03-19 16:11:55 +09:00
AlexVinS
55b54024a8 Cherry-picked essential fix from #631. This fixes https://bugs.vcmi.eu/view.php?id=3074. 2020-03-18 00:06:07 +03:00
Toney Sui
dca5d86e7a
Fix bug: LandMine is not exploding to enemies. (#630)
* The reason is,

the mine has attribute hidden=true;
when enemy unit moves, the code in BattleInfo.cpp MoveUnit() (line 817) will update the revealed to true;
then in the CGameHandler.cpp handleDamageFromObstacle() (line 4846) is checking , and the condition battleIsObstacleVisibleForSide() will return true, so the effect will not be triggerred.

Resolution:
1. Remove the "revealed=true" in moveUnit(), and in handleDamageFromObstacle, remove the "const" restrict for obstacle, and then update revealed to true;
2. After the takeDamage function, add a pack "BattleObstaclesChanged" to update the obstacle to be "revealed=true".
2020-02-12 20:12:12 +03:00
Alexander Shishkin
0f7de511be
Merge pull request #626 from nullkiller/fix-quest
Fix quest handling
2020-01-31 10:24:04 +03:00
Andrii Danylchenko
42cab00c38 Fix quest handling 2020-01-31 00:48:01 +02:00
Alexander Shishkin
00de1fd734
Merge pull request #625 from Toneyisnow/toneyisnow/Battle_Clone_Effect
Implement the Clone Effect in battle.
2020-01-27 13:42:58 +03:00
toneyisnow
1319175bdc Removed the create functions in the ColorShifter classes. 2020-01-27 00:34:59 -08:00
toneyisnow
a03e696ec0 Updated const. 2020-01-26 16:18:07 -08:00
toneyisnow
8db638c054 Fix tiny space issue and remove reference of SDL.h 2020-01-26 00:05:38 -08:00
toneyisnow
468584d469 Update the originalPalette, and use SDL_Palette methods to improve memory management. 2020-01-26 00:01:48 -08:00
toneyisnow
0f4a9e5106 Updated resolved some issues. 2020-01-25 18:49:53 -08:00
toneyisnow
0f3dabab9a Initialize the change:
1. Make color shifter for CAnimation, and use that in the clone effect.
2. Update the original position of the cloned object.
2020-01-25 01:21:26 -08:00
Alexander Shishkin
304b6e2fb2
Merge pull request #624 from Toneyisnow/toneyisnow/Fixbug_LobbyScreen_LoadGame
Fix bug: LobbyScreen UI has a bug on the Difficulty toggle group.
2020-01-23 16:13:51 +03:00
toneyisnow
8341ba3c27 Update according to comments. 2020-01-22 23:07:20 -08:00
toneyisnow
01ca21ae67 Fix bug: LobbyScreen UI has a bug on the Difficulty toggle group.
Scenario: In LoadGame Lobby screen, the difficulty toggle group is showing multiple choices, but actually only one valid is working.

The reason is, in the Lobby screen Initialization code will set the difficulty = 0, and each time the player changes a map in the selection, the toggle group control is not resetting the difficulty buttons to disabled state.

How fix:
Add a new method to ToggleGroup class: setSelectedOnly, which will disable all other buttons and then set the selected button.

Note:
During the game loading time, the client is loading the map, and send a NetPack to server: LobbySetMap, and send a NetPack to Interface: LobbyUpdateState.
In the LobbyUpdateState it sets the map difficulty.
2020-01-21 01:09:08 -08:00
krkos
ac81d0f7b4 Fix build with Boost versioni >= 1.70 (#615) 2020-01-21 11:55:28 +03:00
toneyisnow
8bfe510e9c Fix one space issue. 2020-01-19 04:12:59 +00:00
toneyisnow
a1ea72d84a Update according to comments. 2020-01-19 04:12:59 +00:00
toneyisnow
0fe3c0a569 Initialize the change. 2020-01-19 04:12:59 +00:00
Arseniy Shestakov
905d31b8d7 CModHandler: remove hardcoded wog mod integrity check
Now we have unpacked WoG mod version that dont need specific data files.
As far as I can tell only texts for commanders not going through proper mod system
2020-01-15 18:20:51 +00:00
Alexander Shishkin
5afcb070fa
Merge pull request #621 from sztupy/android_fix_sdl_letterboxing
Fix SDL letterboxing on Android builds
2020-01-08 10:17:03 +03:00
Zsolt Sz. Sztupák
e6f1ab6539 Fix SDL letterboxing on Android builds
On Android calling `SDL_RenderSetLogicalSize` with dimensions having a different aspect ratio than the screen will cause letterboxing with blinking garbage data in that areas (instead of having black bars). This is annoying and makes the game really hard to play.

This change will make sure that on Android `SDL_RenderSetLogicalSize` will always be called with dimensions where the aspect ratio is the same as the screen to make sure there is no letterboxing.

The only problem with this is that during drawing the adventure map nothing will clear out the areas that would have been letterboxes, so there is an added explicit clear screen command for `totalRedraw()`.

The changes are only applied to Android builds in order not to affect PC builds - but some changes, especially clearing the screen could be easily added to the PC builds as well
2020-01-06 18:46:56 +00:00
Alexander Shishkin
d81940d3b0
Merge pull request #620 from sztupy/android_campaing_fix
Add support for the Android App to notify if the server has been closed
2020-01-06 20:40:25 +03:00
Zsolt Sz. Sztupák
3c5194a232 Add support for the Android App to notify if the server has been closed
When winning the campaign there is a lock that waits for the old server to stop before allowing to continue with restarting the server. While the lock was released on PC builds as the server runs differently on Android this was missed making campaigns always hang the app when you win.

This change adds a new native method that can be called from the Android app to signal that the server has stopped, so the client can continue with requesting a new server and showing the new campaign scenatio screen.

Note: this change alone doesn't fix the bug but it's required for a fix on vcmi-android's side. It doesn't break anything and can be merged before the vcmi-android changes
2020-01-06 16:43:02 +00:00
Alexander Shishkin
c538705fcd
Merge pull request #619 from JakubK44/more_mouse_scroll_fixes
More mouse scrolling fixes
2020-01-06 08:42:25 +03:00
JakubK
a8d5081895 More mouse scrolling fixes
Defect:
After my previous change that enabled map layer (`CAdvMapInt`) to listen to all mouse move events via `strongInterest` bool, I noticed that there are a few scenario that start scrolling the map unexpectedly. The two that were the easiest to reproduce were using keyboard arrows to move the hero or dimissing a popup dialog.

I traced this down to unexpected mouse move event (`SDL_MouseMotionEvent`) that SDL seems to dispatch in this situation. The windowID that comes with the event in this scenario is 0 (so no window with mouse focus). I don't know why SDL dispatches this mysterious (to me) mouse move event in that case (note that there is no actual mouse movement in either repro case).

Fix:
Don't handle the mouse move event if the windowID of the mouse motion event is 0.

Notes:
Impacts scrolling of the game map. Did some play testing and didn't notice the scrolling not working when expected. The two specific cases where the map would scroll unexpectedly (move a hero with keyboard arrows or dismiss a popup dialog) no longer move the map.
2020-01-04 22:45:33 -08:00
Alexander Shishkin
98e2d177c0
Merge pull request #618 from vcmi/dydzio0614-patch-1
Update year to 2020
2020-01-01 18:11:21 +03:00