Ivan Savenko
1c552ba9d9
Remove unused code
2023-08-21 17:55:49 +03:00
Ivan Savenko
013417fb7e
Code cleanup
2023-08-21 17:55:49 +03:00
Ivan Savenko
6297140bf5
Start of stabilization - battles now start correctly
2023-08-21 17:55:49 +03:00
Ivan Savenko
44832f3797
Split BattleProcessor into few more parts
2023-08-21 17:55:49 +03:00
Dydzio
6bfbe80cc9
Allow toggling quick combat spells usage
2023-08-19 17:23:55 +02:00
Ivan Savenko
f13a53c1d9
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-12 17:28:47 +03:00
Ivan Savenko
8ba3f771be
Merge pull request #2529 from IvanSavenko/hero_defeat_fix
...
Fix potential access to empty std function on hero vs hero combat
2023-08-11 11:37:12 +03:00
Ivan Savenko
dc2135da7f
Fix potential access to empty std function on hero vs hero combat
2023-08-09 00:46:55 +03:00
Ivan Savenko
62a5eeebbc
Fixed rendering priority of battlefield background obstacles
2023-08-07 21:18:43 +03:00
Ivan Savenko
537f9fa048
Merged master into develop
2023-08-03 23:38:32 +03:00
Ivan Savenko
3213800097
Fix assertion failure on teleport cast
2023-08-03 14:20:54 +03:00
Ivan Savenko
791eb1a37b
Added workaround for running game with outdated extras mod from 1.2
2023-08-01 14:47:17 +03:00
Ivan Savenko
43795c39a5
Replaced all usage of SDL_Color outside of render with ColorRGBA
2023-07-31 21:07:30 +03:00
Ivan Savenko
aed8c411fc
Minor rework & cleanup of combat replays
2023-07-27 19:25:55 +03:00
Ivan Savenko
32f7a95e38
Use capture by value since thread might start after local method returns
2023-07-25 22:33:59 +03:00
Ivan Savenko
a280cc8845
Merge pull request #2384 from IvanSavenko/bugfixing_beta
...
Bugfixing iteration
2023-07-24 00:49:34 +03:00
Dydzio
47b6358e6e
Improve feature by triggering hero window refresh in response to netpack
2023-07-22 21:51:14 +02:00
Ivan Savenko
5be4f6ec2f
Fix visibility of creature amount label after casting spell before turn
2023-07-22 22:49:48 +03:00
Dydzio
05735a20e1
Fix for hero info window mana points not getting spent on spellcast
2023-07-22 15:32:00 +02:00
Ivan Savenko
e6d8b65e2c
Fix toggling of auto combat
2023-07-22 12:15:27 +03:00
Ivan Savenko
cefbe5152e
Merge pull request #2359 from IvanSavenko/crashfixing
...
Fix crashes from 1.2.1 statistics on Google Play
2023-07-21 15:44:37 +03:00
Ivan Savenko
9e58f67ab5
Fix autocombat AI threading
2023-07-19 12:09:03 +03:00
Ivan Savenko
556763fb7b
Fixed handling of tactics
2023-07-18 22:02:35 +03:00
Ivan Savenko
1bf6bbd9b6
Significantly simplified threading model in battles
2023-07-18 19:55:59 +03:00
Ivan Savenko
5e8a778e7d
Attempt to fix / trace crashes from Google Play statistics
2023-07-18 17:31:21 +03:00
Dydzio
f4f789804d
Update client/battle/BattleWindow.cpp
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-07-18 15:15:58 +02:00
Dydzio
48a72f90f7
Add option for persistent hero info window as in HD mod
2023-07-17 23:25:16 +02:00
Michael
4e242f98fd
Battleintro: Skip with mouse button
2023-07-15 21:18:04 +02:00
Ivan Savenko
18db944083
Replaced clickReleased with clickPressed where applicable in H3
2023-07-09 17:48:25 +03:00
Ivan Savenko
ca889a5c2a
Replaced clickLeft with clickPressed clickReleased methods
2023-07-08 14:33:04 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
a84ccb37c2
Merge pull request #2250 from IvanSavenko/event_handling_fixes
...
Slider input event fix
2023-06-25 17:39:55 +03:00
krs
27c488e62f
Small changes after review.
2023-06-23 20:05:15 +03:00
krs
afe0146021
Renamed settings option to reflect that same option is used for both ranges.
2023-06-23 19:50:39 +03:00
krs
b6ab1e1505
Removed #regions
2023-06-23 19:13:39 +03:00
krs
1cba41a3c3
IsHexInRangeLimit() is now a common function
...
Plus some minor rearranging of code.
2023-06-23 19:13:39 +03:00
krs
1ba9a2a42a
calculateRangeLimitAndHighlightImages() is now separate function
2023-06-23 19:13:39 +03:00
krs
e668ea3a03
A common function is used for getting hexes in a certain range
...
getRangeHexes()
2023-06-23 19:13:39 +03:00
krs
192f82152d
A common function is used to get range limit hexes
...
getRangeLimitHexes()
2023-06-23 19:13:39 +03:00
krs
33bbbefdeb
First working prototype that mimics rangedFullDamageLimit code
...
Next step is to create more generic functions that can be shared between the 2.
2023-06-23 19:13:39 +03:00
Ivan Savenko
4e7412faa6
Split mouseDragged event from mouseMoved
2023-06-22 22:11:48 +03:00
Ivan Savenko
967dc95867
Rename panning->gesturing for consistency
2023-06-20 19:58:05 +03:00
Ivan Savenko
0be9aff99f
Fix battle queue stack highlighting
2023-06-20 19:58:05 +03:00
Ivan Savenko
06437cbde6
Renamed gesture-related methods, remove unused code
2023-06-20 19:58:05 +03:00
Ivan Savenko
563d7dd41f
Renamed RCLICK -> SHOW_POPUP
2023-06-20 19:58:05 +03:00
Ivan Savenko
8ad577255f
Replaced isMouseButtonPressed with isMouseLeftButtonPressed
2023-06-20 19:58:05 +03:00
Ivan Savenko
d4aa778547
Replaced clickRight event with showPopupWindow/closePopupWindow
2023-06-20 19:58:05 +03:00
Ivan Savenko
8614419954
Merge pull request #2208 from IvanSavenko/obstacles_foreground
...
Implemented foreground/background obstacles
2023-06-14 15:49:08 +03:00
krs
5158a5f7db
Fix After Merge
2023-06-11 19:31:50 +03:00
krs
0a8daf4d02
Now less source images are used. Flipped versions will be calculated.
2023-06-11 18:46:38 +03:00
krs
21306b9097
Fixed a glitch when only top and bottom were needed.
2023-06-11 18:45:14 +03:00
krs
a8a82e89ea
Some renamings for consistency
2023-06-11 18:45:14 +03:00
krs
4a3426bb70
Hex Edge Highlight Images moved to VCMI mod
2023-06-11 18:44:42 +03:00
krs
56b8fb39f3
Removed neighbouringTilesWithDirection and using
...
allNeighbouringTiles
2023-06-11 18:40:47 +03:00
krs
b8ad5b41f3
UnitState has getRangedFullDamageDistance()
2023-06-11 18:40:47 +03:00
krs
c562ce9c06
Using hex.isAvailable() instead of battleFieldWithoutSideColumns
2023-06-11 18:40:47 +03:00
krs
c0591573bf
Working Version
2023-06-11 18:40:47 +03:00
Ivan Savenko
428fb832c6
Implemented foreground/background obstacles:
...
- obstacles now have "foreground" field
- if "foreground" field set, obstacle will appear on top of other
objects, such as units
- if "foreground" is not set, obstacle will appear below units
- updated schema and cleared up obstacles config
2023-06-06 15:53:14 +03:00
Ivan Savenko
4e834db017
Fix relative cursor mode
2023-06-05 19:28:29 +03:00
Ivan Savenko
238a02eb5e
It is now possible to cancel attack-via-swiping by moving finger away
2023-06-05 19:20:20 +03:00
Ivan Savenko
ec55ec76b6
Show cursor (including attack direction) when swiping in battle
2023-06-05 19:20:18 +03:00
Ivan Savenko
84934d931a
Minor improvements to swipe in battle
2023-06-05 19:20:08 +03:00
Ivan Savenko
b20109c830
Test version of swipe gesture for in-combat attacks
2023-06-05 19:20:08 +03:00
Ivan Savenko
1cec6918a0
Fix spellcast cancelation in battle
2023-06-05 19:20:06 +03:00
Ivan Savenko
360bf48031
Implemented panning/swiping gesture for sliders
2023-06-05 19:09:56 +03:00
Ivan Savenko
8ea0ecaec1
show/showAll methods now use Canvas instead of SDL_Surface
...
- added compatibility method to Canvas to allow SDL_Surface access
- added drawBorder method to Canvas to replace CSDL_Ext method
- added drawColor method to Canvas to replace CSDL_Ext method
- minor changes to Tavern and Trade windows to adapt to new API
2023-06-02 16:42:18 +03:00
Ivan Savenko
867c5355da
Fix tower shooters animation updates
2023-05-20 13:11:52 +03:00
Ivan Savenko
0e70f2998f
SDL event handling is now done exclusively in input handler
2023-05-20 01:51:49 +03:00
Ivan Savenko
1f513fd280
Extracted event management from GuiHandler and CIntObject
2023-05-20 01:51:49 +03:00
Ivan Savenko
ad3e54e6c0
Reduced usage of topWindow() method
2023-05-16 21:57:45 +03:00
Ivan Savenko
e2ef136003
Renamed "Int" -> "Window" in WindowHandler API
2023-05-16 19:10:22 +03:00
Ivan Savenko
7838190ef4
Moved window stack management from GuiHandler to new class
2023-05-16 19:10:21 +03:00
Ivan Savenko
8a31aeb94b
Battle animations use tick() for updates
2023-05-14 22:23:00 +03:00
Ivan Savenko
03df274450
Framerate manager is now in a separate file and private member of GH
2023-05-14 22:22:37 +03:00
Ivan Savenko
64cc246358
Fix positioning of console log overlay
2023-05-13 18:00:14 +03:00
Ivan Savenko
243773b6ef
Renamed some adventure map files & classes
2023-05-09 13:10:33 +03:00
Ivan Savenko
ecff5f3d12
Do not trigger multiple hotkeys when battle window wait for any key
2023-05-09 13:10:33 +03:00
Ivan Savenko
342ea138f9
Fix remaining graphical artifacts on switching from world view
2023-05-09 13:10:33 +03:00
Ivan Savenko
d4098059b8
Proper support for player-colored buttons in UI
2023-05-09 13:10:33 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
fbc05c70ac
vcmi: camelCase methods of new classes
...
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Ivan Savenko
6c637dd8e6
Integrated hotkeys with InterfaceObjectConfigurable
2023-05-01 17:59:21 +03:00
Ivan Savenko
dea10e6091
Use more descriptive names for hotkeys
2023-05-01 17:59:20 +03:00
Ivan Savenko
832e56e005
Implementation of (very basic) shortcuts system
...
- Added EShortcut enumeration that contains all in-game shortcuts
- CIntObject::keyPressed now receive values from hotkey enumeration
- On keypress, SDL key code will be translated to shortcut ID
- Removed access to SDL key codes from most of engine
2023-05-01 17:58:17 +03:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
Konstantin P
b472c89276
vcmi: make some CStack properties private
...
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
Ivan Savenko
fb739e7186
Merge beta -> develop
2023-04-26 22:48:08 +03:00
krs
e348193f7e
Tactics movement is limited to movement range
2023-04-26 21:56:20 +04:00
Ivan Savenko
4a169972f0
Further refactoring to cleanup code of advmap and locplint
2023-04-20 22:04:24 +03:00
Ivan Savenko
4ec32e4dcd
Renamed CAdvMapInt to its proper full name
2023-04-20 22:04:24 +03:00
Ivan Savenko
6df85be4b3
Fixed death animation of Efreeti killed by petrification attack
2023-04-20 18:13:01 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Ivan Savenko
e3ed728193
Merge pull request #1932 from rilian-la-te/proper-teleport
...
VCMI: teleport redesign
2023-04-16 22:52:01 +03:00
Ivan Savenko
1704fab3a2
Fix assertion failure on fighting against AI with tactics
2023-04-15 17:20:38 +03:00
Ivan Savenko
3738171b21
Refactoring of H3M loader to make HotA format support easier
...
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
Ivan Savenko
b354f99cc3
Merge pull request #1936 from IvanSavenko/cpp_17_upgrade
...
Upgrade c++ standard to c++17
2023-04-14 19:21:17 +03:00
Ivan Savenko
128764b1c9
Merge pull request #1968 from rilian-la-te/fix-caster-tactics
...
Fix caster tactics
2023-04-14 18:59:03 +03:00
Ivan Savenko
44b83b2e11
Merge master -> develop
2023-04-14 16:51:35 +03:00
Ivan Savenko
1978e6f8e8
Do not show unit information on dead creatures
2023-04-13 21:16:55 +03:00
Konstantin P
384ee99834
vcmi: configurable teleport v2
...
1. Redesign wall and teleport penalty using shortest path
This will avoid OH3 exploits with teleport inside walls
2. Teleport is now configurable
2023-04-13 11:24:19 +03:00
Konstantin
bc1aad3b26
vcmi: remove deprecated CStack::getCreature()
...
Function battle::Unit::unitType() does the same.
2023-04-13 11:24:19 +03:00
Konstantin
8397bd91fb
BattleActionsController: do not pass unused caster
...
This is unused, so, remove this parameter to prepare for teleport action
2023-04-13 11:24:19 +03:00
Konstantin
15031d2e16
vcmi: do not block interface on setup spells
2023-04-13 01:06:36 +03:00
Ivan Savenko
506c3d29bc
Replaced vstd clamp with std version
2023-04-12 01:03:14 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
...
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
nordsoft
bfc75ccd39
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 02:22:42 +04:00
Ivan Savenko
02c9a3f3d8
Correctly reset UI on aborting Clone/Sacrifice
2023-04-10 14:33:24 +03:00
krs
7eda4b6c1e
replaced SDLK_LSHIFT check with GH.isKeyboardShiftDown()
2023-04-08 20:42:37 +03:00
krs
3194999809
Add SHIFT + hover shortcut to show movement highlight while pressed.
2023-04-08 20:42:37 +03:00
krs
aba5840a6f
Removed Max Movement Highlight stubs
2023-04-08 20:40:30 +03:00
krs
1644cab938
Added combat option Highlight Movement on Hover
2023-04-08 20:40:30 +03:00
krs
9012a25276
Stub For Max Movement Range highlight
...
When a creature is hovered., besides movement, for max possible movement, a hex in center of map is now highlighted.
2023-04-08 20:39:59 +03:00
krs
51ad49532b
Fix for wrong merge :(
2023-04-08 20:39:59 +03:00
krs
dab07bdef9
Now unit range is shown in Tactics phase as well
...
A new parameter: isActiveStack was needed in battleGetAvailableHexes, so that we show the propper Tactics range.
2023-04-08 20:39:59 +03:00
krs
e1c388465a
HD mod highlighting of movement for hovered stack.
...
Does not work as intended in tactics mode.
2023-04-08 20:39:59 +03:00
Ivan Savenko
e35a1ba471
Merge pull request #1876 from rilian-la-te/refactoring-v1
...
VCMI Refactoring
2023-04-08 11:14:05 +03:00
nordsoft
52b53ab307
Feature and setting implemented
2023-04-08 01:49:59 +04:00
nordsoft
b1d06b6141
Complete quick combat feature
2023-04-06 22:49:38 +04:00
nordsoft
ce3028bd73
Intermediate commit
2023-04-06 19:34:07 +04:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Ivan Savenko
a3c5f75600
Fix visibility of alternative actions button in tactics stage
2023-04-05 18:36:10 +03:00
Ivan Savenko
cf966015bb
Correctly update battle queue state after changing its state
2023-04-05 18:35:45 +03:00
Konstantin
e0715a76c8
vcmi: reduce CStack usage a little bit
2023-04-04 23:02:54 +03:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Ivan Savenko
e9aed2761c
Fix target selection for teleport
2023-03-31 23:18:45 +03:00
Konstantin
d83e58f948
vcmi: use new animation functions in client
2023-03-31 01:01:25 +03:00
Konstantin
eff41f66ed
vcmi: now obstacles can have disappearing anim
...
It is a reverse version of appearingAnimation.
2023-03-31 01:01:25 +03:00
Konstantin
7543fdf787
vcmi: add reverse effect animation type
...
To be used later with obstacle removal
2023-03-31 01:01:25 +03:00
Konstantin
c4d5a7a2d6
vcmi:towns now can choose if moat render is needed
...
Using invalid points. Also removed unused variable.
2023-03-31 01:01:25 +03:00
Ivan Savenko
484f0a175a
Blocked movement of war machines in tactics phase
2023-03-30 12:20:13 +03:00
Ivan Savenko
974be97e6d
Merge pull request #1792 from IvanSavenko/happy_dydzio
...
Fixes for beta - graphical artifacts
2023-03-30 00:11:19 +03:00
Ivan Savenko
a42dc923e4
Remove hardcoded constant
2023-03-29 14:33:44 +03:00
Ivan Savenko
1fcaeba8e0
Fix stack amount boxes flickering between actions
2023-03-29 13:21:43 +03:00
Ivan Savenko
3af829e6af
Fix stack label position updates
2023-03-29 13:03:40 +03:00
Ivan Savenko
06f9759aee
Fix crash on using Teleport/Sacrifice spells
2023-03-28 23:50:42 +03:00
Ivan Savenko
0ce06e0f30
Improved rendering of stack amount boxes
2023-03-28 23:50:22 +03:00
Ivan Savenko
238de8a5d7
Properly disable combat panel during spell targeting
2023-03-28 18:14:09 +03:00
Ivan Savenko
fd3f80e860
Fix game hang on invalid shooter animation config
2023-03-28 17:04:18 +03:00
Konstantin
1b893fa525
client: do not show obstacles placed by another player
2023-03-26 21:23:54 +03:00
Ivan Savenko
da3a05bc8b
Fix special colors in battle
2023-03-26 00:46:21 +02:00
Ivan Savenko
4c311da21b
Clamp potential kills tooltip to target unit size
2023-03-26 00:07:21 +02:00
Ivan Savenko
4eed0b2c9e
Added workaround for Dungeon towers
2023-03-25 23:54:51 +02:00
Ivan Savenko
49fa628e9b
Turret creature cutoff position should match H3
2023-03-25 23:54:51 +02:00
Ivan Savenko
dcff463d36
Fixed handling of special palette colors in palette transformations
...
Fixes black color turning semi-transparent in some creatures from mods
2023-03-25 23:54:51 +02:00
Ivan Savenko
2167cb2a68
Fix battle startup with "no intro sound" mod
2023-03-25 23:54:51 +02:00
Ivan Savenko
5288e3761e
Merge pull request #1764 from IvanSavenko/selectable_spellcaster
...
Implemented support for multi-spell casters
2023-03-25 20:08:47 +02:00
Ivan Savenko
6f631a0aa7
Merge pull request #1759 from IvanSavenko/kills_in_tooltip
...
Show potential kill amount in attack tooltip
2023-03-25 20:03:27 +02:00
Ivan Savenko
9a19feaf4a
Fix spellcasters with massive spells
2023-03-25 01:23:49 +02:00
Ivan Savenko
dc099b2a35
Implemented support for multi-spell casters
2023-03-25 00:48:14 +02:00