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

913 Commits

Author SHA1 Message Date
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
Adriankhl
76a71226a2 Deactivate activeStack during spellCast 2023-03-24 22:43:41 +01:00
Ivan Savenko
970981cfc9 Show information on potential kills in attack tooltip 2023-03-24 17:18:47 +02:00
Adriankhl
49662f6f36 Deactivate activeStack when auto combat starts 2023-03-23 22:37:39 +01:00
Ivan Savenko
31147ac83b refactoring: TDmgRange pair -> DamageRange struct 2023-03-23 17:49:33 +02:00
Ivan Savenko
4968ac58b4 Do not abort battle opening sound, only allow actions 2023-03-21 13:49:19 +02:00
Ivan Savenko
4919550a19 Show a message that battle intro can be skipped 2023-03-20 21:58:32 +02:00
Ivan Savenko
2864a04bda Minor refactoring 2023-03-20 20:19:05 +02:00
Ivan Savenko
31b718898a Fix playback of shooter animations at max speed 2023-03-20 20:19:05 +02:00
Ivan Savenko
688b8db3eb Removed delays due to thread waits from battle animations 2023-03-20 20:19:05 +02:00
Adriankhl
4718396f5f Prevent crashing when pressing auto-combat button on enemy turn 2023-03-17 15:40:14 +01:00
Konstantin
9205ef2c91 vcmi: skill-agnostic ballistics
Made ballistics by using spell action and more code is shared now.
2023-03-16 16:46:41 +03:00
Konstantin
84f53485e2 vcmi: skill-agnostic first aid
Now first aid is passive battle spell, and skill just bumps
specific spell power for this spell. Everything about healing
is handled into Heal spell effect.
2023-03-16 16:46:41 +03:00
Konstantin
5366f9190e vcmi: reduce boost::lexical_cast usage 2023-03-09 16:36:46 +03:00
Ivan Savenko
7030fa8fe7 Allow changing queue size instantly on option toggle 2023-03-05 19:55:38 +02:00
Ivan Savenko
f09897b2b4 Remove unnecessary redraws 2023-03-05 19:51:42 +02:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Ivan Savenko
b57a07b10f Restored ambient sounds functionality 2023-03-05 18:02:59 +02:00
Ivan Savenko
7df5c612f7 Fix battle rendering 2023-03-05 17:48:02 +02:00
Ivan Savenko
acdb8d6e06 renamed Unicode -> TextOperations, to use for all text processing 2023-03-05 17:39:23 +02:00
Dydzio
6bd4eac27a Rename settings files 2023-02-18 17:58:22 +01:00
Dydzio
7e409df3cb Apply manual changes from code review 2023-02-18 16:35:07 +01:00
Dydzio
9101f05835 Fixes for new battle settings 2023-02-15 22:38:41 +01:00
Dydzio
be9c71934c Merge remote-tracking branch 'origin/develop' into settings-rework 2023-02-14 21:00:17 +01:00
Ivan Savenko
91b17bed79 Partial encapsulation of AdvMapInt 2023-02-14 11:18:42 +02:00
Dydzio
7430616ada Move settings to separate subfolder 2023-02-12 17:29:23 +01:00
Dydzio
34227a0dab Integrate new settings with battle UI 2023-02-12 15:49:17 +01:00
Dydzio
fc7d2b9778 Merge remote-tracking branch 'origin/develop' into settings-rework 2023-02-12 11:55:21 +01:00
Ivan Savenko
4a0a82ceb4
Merge pull request #1553 from IvanSavenko/sdl_cleanup
SDL usage cleanup
2023-02-08 18:14:15 +02:00
Ivan Savenko
ab8b407294 Style cleanup 2023-02-08 13:56:09 +02:00
nordsoft
fd6987ea0a Fix alternative actions button redraw 2023-02-05 03:29:50 +04:00
Ivan Savenko
34dcb4127a Removed text utilities from SDL_Extensions 2023-02-03 18:55:25 +02:00
Ivan Savenko
7c58a46279 Removed some instances of access to screen surface 2023-02-03 18:23:53 +02:00
Ivan Savenko
ae9f040abf removed unused method 2023-02-03 11:42:27 +02:00
Ivan Savenko
3fef2a5e1f Moved Colors to a separate file, updated includes 2023-02-03 11:39:40 +02:00
Ivan Savenko
cfcaf5cbb6 renamed keyDown -> keyPressed 2023-02-03 11:39:40 +02:00
Ivan Savenko
d4fba3787c Removed usage of SDL_KeyboardEvent from UI code 2023-02-03 11:39:40 +02:00
Ivan Savenko
6669ffd4b3 Moved input-related code from SDL_Extensions to GuiHandler 2023-02-03 11:39:40 +02:00
Ivan Savenko
214fc19e74 CIntObject now receives mouse position as point instead of SDL event 2023-02-03 11:39:39 +02:00
Ivan Savenko
64faa13b6d
Merge pull request #1487 from IvanSavenko/battle_actions_refactoring
Battle actions refactoring
2023-02-03 11:28:14 +02:00
Dydzio
2ef33d54ab Merge branch 'develop' into battle-queue-improvement 2023-02-02 18:26:31 +01:00
Dydzio
5a08ec04fe Initial split of BattleOptionsWindow 2023-02-02 17:17:16 +01:00
Ivan Savenko
2ac997d8a9 Fix "holding" animation speed 2023-02-02 14:37:34 +02:00
Ivan Savenko
731f7b0578 Fix opening spellbook via clicking on hero 2023-02-02 14:37:16 +02:00
Ivan Savenko
1e09c39c0e Fix battle cursor after attack command 2023-02-02 14:36:58 +02:00
Ivan Savenko
3c8a0b9e70 Add missing text 2023-02-02 13:43:20 +02:00
Ivan Savenko
9678296875 Hero interaction is now battle action 2023-02-02 13:43:19 +02:00
Ivan Savenko
d3c85a19cb Merged CClickableHex class into BattleFieldController 2023-02-02 13:35:57 +02:00
Ivan Savenko
c3b79c786b Spellcasters UI now shares handling with hero spellcasting 2023-02-02 13:25:55 +02:00
Ivan Savenko
f150ced14c All spellcasters should work correctly now 2023-02-02 13:25:55 +02:00
Ivan Savenko
55a58596bc Mostly finished refactoring of BattleActionsController
TODO: test actions
TODO: test casters
TODO: fix random casters
2023-02-02 13:25:55 +02:00
Ivan Savenko
a2035122e1 Removed makingTurn variable 2023-02-02 13:25:55 +02:00
Ivan Savenko
4d62bf22f2 Removed no longer used code 2023-02-02 13:25:55 +02:00
Dydzio
d04c53e7e0 Merge branch 'develop' into settings-rework 2023-02-02 11:55:13 +01:00
Ivan Savenko
108a42e4ba Reorganized includes for new layout. New class - IImageLoader 2023-02-01 20:42:06 +02:00
Ivan Savenko
0ba74fea73
Merge pull request #1515 from IvanSavenko/time_based_animations
Time based animations
2023-02-01 12:25:54 +02:00
Ivan Savenko
bf343126c4 Fix Hero animation speed in battles 2023-01-31 00:42:50 +02:00
Dydzio
cc9d65a341 Make battle settings callable without battle, save last settings tab 2023-01-30 22:15:37 +01:00
Ivan Savenko
9c3030603d Removed most SDL includes from headers, removed SDL int's 2023-01-30 19:55:32 +02:00
Ivan Savenko
e14290fde0 Removed loading of images from file into SDL_Surface 2023-01-30 18:25:47 +02:00
Ivan Savenko
42df5626d9 Added Color class to replace SDL_Color 2023-01-30 00:12:43 +02:00
Andrey Filipenkov
07dc2e1c48
Merge pull request #1496 from kambala-decapitator/resurrect-message
show resurrect message in the battle log
2023-01-29 22:18:32 +03:00
Ivan Savenko
3749074a4d Renamed speed setting name to force-reset it to new scale 2023-01-28 16:49:35 +02:00
Ivan Savenko
9d1a075806 Fix battle speed selector in settings 2023-01-28 14:00:49 +02:00
Ivan Savenko
d34efaeb81 All battle effects now use time-based timings 2023-01-28 13:19:35 +02:00
Ivan Savenko
4d1c338503
Merge pull request #1498 from rilian-la-te/conan-v2
Conan as MXE replacement
2023-01-27 23:14:37 +02:00
Konstantin
cf56f7ccce vcmi: remove unused-but-set-variables 2023-01-26 23:49:00 +03:00
Andrey Filipenkov
a2ac189e03 fix typo 2023-01-25 18:13:11 +03:00
Dydzio
68be7643f1 Remove redundant method - code review suggestion 2023-01-25 13:06:13 +01:00
Dydzio
4a23f93754 Give thicker frame to highlighted queue boxes 2023-01-23 12:32:20 +01:00
Dydzio
aa18118df0 Add simple cyan color frame on highlight + mouse right-click for mobile 2023-01-23 11:34:21 +01:00
Dydzio
bd1bd5064a Highlight logic for queue icon on stack hover, lacks visual representation 2023-01-22 20:06:10 +01:00
Dydzio
92754e22f0 Highlight stack on queue icon hovered 2023-01-22 20:03:11 +01:00
Andrey Filipenkov
6f0cd37e8f limit displayed units number to 4 digits in battle
- unit box
- turn queue
2023-01-20 20:38:54 +03:00
Ivan Savenko
8ed115a628 Fix ios compile 2023-01-20 16:11:43 +02:00
Ivan Savenko
9be38780cd Removed remaining parts of Geomeotries.h/cpp 2023-01-20 16:11:43 +02:00
Ivan Savenko
46931a0ecf Bugfixing 2023-01-20 16:11:43 +02:00
Ivan Savenko
ee7a573cb8 Refactoring of SDL API usage:
- Rect no longer inherits from SDL_Rect
- renamed vcmi functions that used SDL naming format
- moved all functions in SDL_Extensions file into CSDL_Ext namespace
- SDL_Rect is now used only by SDL_Extensions, all other code uses Rect
2023-01-20 16:11:43 +02:00
Ivan Savenko
05a1d7c6e3 All text for factions/towns/building are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d All artifact strings now pass through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116 All creature-related texts go through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822 All spell texts are now passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
fb3c3a4636 Provide distance information fo Jousting ability 2023-01-20 15:18:10 +02:00
Ivan Savenko
785a9aadcd
Do not consider corpses for movement range display (#1476) 2023-01-20 15:16:28 +02:00
Ivan Savenko
b8c5a32b9b Fix attack targeting selection for double-wide units 2023-01-20 15:15:44 +02:00
Ivan Savenko
17fc9d8d8f Merge with vcmi/develop 2023-01-18 01:04:34 +02:00
Ivan Savenko
05ac217b0f Merge with vcmi/develop 2023-01-17 23:02:25 +02:00
Ivan Savenko
0a858d9a7c
Upgrade msvc to include enet and qt translator (#1436)
- Updated MSVC prebuilt package
- Fixed build warnings
2023-01-15 23:55:24 +02:00
Ivan Savenko
0e8ee929df Renamed CCursorHandler -> CursorHandler 2023-01-15 21:18:34 +02:00
Ivan Savenko
1d7f004658 Implemented reinforced walls in towns with Castle 2023-01-13 01:09:24 +02:00
Ivan Savenko
500cf7f15d EWallPart & EWallState are now enum class 2023-01-13 00:35:58 +02:00
Ivan Savenko
4f3ea0d1d9 Renamed Terrain.h/cpp -> TerrainHandler.h/cpp 2023-01-10 00:01:35 +02:00
Ivan Savenko
f51b3bca57 use JsonKey or NameTranslated instead of ambiguos Name 2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67 Map/Road/River identifiers are now private members 2023-01-10 00:01:35 +02:00
Ivan Savenko
3e0bb3a7cc Fixed copy-paste error 2023-01-09 19:14:21 +02:00
Ivan Savenko
f155a35378 Fix positioning of UI elements in BattleWindow 2023-01-09 17:25:49 +02:00
Ivan Savenko
c63e79fb28 Fix multi-line texts in combat log 2023-01-09 17:25:18 +02:00
Ivan Savenko
205beb96ed Fix petrification effect 2023-01-08 16:25:47 +02:00
Ivan Savenko
9895dca615 Play sound if spell was resisted 2023-01-07 14:27:12 +02:00
Ivan Savenko
4ca22e652d All projectile animations now use time-based speed 2023-01-05 15:26:29 +02:00
Ivan Savenko
a25214ae71 Fixes graphical artifacts on toggling stack queue visibility
Battlefield rendering now uses local coordinates
2023-01-05 14:16:01 +02:00
Ivan Savenko
c6c6d9e58e Redraw battle log on sending chat message 2023-01-05 13:05:16 +02:00
Ivan Savenko
428fe0406b Fix visibility of embedded battle queue 2023-01-05 12:57:34 +02:00
Ivan Savenko
d8a70de068 Improved ordering of movement animation, fixes potential visual artifact 2023-01-04 23:04:48 +02:00
Ivan Savenko
e422fcd092 Play spell sound on Lich/Magog attack 2023-01-04 21:55:15 +02:00
Ivan Savenko
d2fe31e224 Fix obstacles (e.g. Quicksands) animation speed 2023-01-04 21:39:32 +02:00
Ivan Savenko
6b2490903d Fix casting of massive spells by creatures 2023-01-04 21:26:13 +02:00
Ivan Savenko
21196e822f Fixed blue tint for clones 2023-01-04 19:36:18 +02:00
Ivan Savenko
d157735846 Initialize new animations if current one is over 2023-01-04 18:15:26 +02:00
Ivan Savenko
397ea90040 Do not show selection highlight during stack teleporting 2023-01-04 17:45:08 +02:00
Ivan Savenko
d712a6b896 Do not play mouse-over animation on petrified creatures 2023-01-04 17:23:13 +02:00
Ivan Savenko
d8c4209ded Movement animation is now more smooth at high animation speeds 2023-01-04 17:21:40 +02:00
Ivan Savenko
7657115c5a Fix battleQueue positioning on toggling hotkey 2023-01-04 16:40:38 +02:00
Ivan Savenko
d3ecd43aba Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2023-01-04 16:20:53 +02:00
nordsoft
e8845244f7 Fix tactic button 2023-01-03 13:02:54 +04:00
nordsoft
660d25a335 Make control panel configurable 2023-01-03 13:02:54 +04:00
nordsoft
87c47fff1d Business logic of alternative actions 2023-01-03 13:02:54 +04:00
Ivan Savenko
4bfdb44c78 Restore status bar on BattleWindow reactivation 2022-12-30 12:32:36 +02:00
Ivan Savenko
a9808a6541 Fix battle start when hero has tactics and no battle sounds mod is on 2022-12-30 11:55:22 +02:00
Ivan Savenko
5d80457eda Merge with vcmi/develop branch 2022-12-30 00:52:23 +02:00
Ivan Savenko
c8cd8aaf10 merge fix - do not attempt to display multiple dialogs at once 2022-12-29 22:11:47 +02:00
Ivan Savenko
7a5258853a Fix potential access violation due to iterator invalidation 2022-12-29 14:28:38 +02:00
Ivan Savenko
da7766e90b Fix battle start with disabled opening sounds 2022-12-28 16:51:44 +02:00
Ivan Savenko
ae3f6c5e79 Renamed PointEffectAnimation -> EffectAnimation 2022-12-25 21:39:55 +02:00
Ivan Savenko
5b41ced427 Removed sound playback from PointEffectAnimation 2022-12-25 21:35:13 +02:00
Ivan Savenko
7e3cd7db51 Fix for missing Death Blow sound 2022-12-25 20:11:22 +02:00
Ivan Savenko
5a7eed01da Made BattleInterface class less friendly 2022-12-25 17:44:40 +02:00
Ivan Savenko
4b3d93f378 Minor cleanup 2022-12-25 17:43:55 +02:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +02:00
Ivan Savenko
9248e06ae0 Demon summon is now a spell. DEMON_SUMMONING bonus has been removed 2022-12-22 23:11:55 +02:00
Ivan Savenko
5b453bf530 Stack amount boxes visibility now follows H3 rules 2022-12-22 11:49:40 +02:00
Ivan Savenko
8b207fae63 ECreatureAnimType enum -> enum class 2022-12-22 01:04:58 +02:00
Ivan Savenko
bab5922951 Spells can now define color muxer effect (e.g. Bloodlust & Petrify) 2022-12-22 00:25:35 +02:00
Ivan Savenko
41b87088d5 Color muxer effects can now be (partially) configured by user.
TODO: move color muxer effects from spells into spell config
2022-12-21 23:29:56 +02:00
Ivan Savenko
8a9a7b9650 Fix UI on battle start if hero has tactics 2022-12-21 20:01:50 +02:00
Ivan Savenko
b423b3fa6b Fix dragon breath & fire shield 2022-12-21 18:04:54 +02:00
Ivan Savenko
d0f259bbf7 Fix battle shutdown 2022-12-21 18:04:19 +02:00
Ivan Savenko
541d98143b Renamed BattleControlPanel -> BattleWindow 2022-12-21 17:06:47 +02:00
Ivan Savenko
c835a84051 Moved all GUI handling from BattleInterface to BattleControlPanel 2022-12-21 17:02:53 +02:00
Ivan Savenko
822df113f3 Fix formatting 2022-12-21 13:18:16 +02:00
Ivan Savenko
6138ff1670 Minor refactoring of BattleHero class 2022-12-21 01:08:56 +02:00
Ivan Savenko
b373c4a2b6 Fix Status Bar & In-game console activation 2022-12-19 22:53:31 +02:00
Ivan Savenko
a75b437fef Disable text input on window deactivation 2022-12-19 22:06:01 +02:00
Ivan Savenko
a57eec23e6 Refactoring of setBattleCursor & fromWhichHexAttack methods 2022-12-19 01:12:26 +02:00
Ivan Savenko
e2cc73d67b Fix fire shield sounds 2022-12-18 22:43:13 +02:00
Ivan Savenko
16c4851d3b Animated cursor for spell selection, removed hardcoded cursor ID's 2022-12-18 22:32:07 +02:00
Ivan Savenko
53f6b7bd32 Fix Ice Ring target selection 2022-12-18 20:23:19 +02:00
Ivan Savenko
e9e549148d Implemented teleportation animation effect 2022-12-18 18:26:43 +02:00
Ivan Savenko
45aa841fb6 Stack reversing logic now matches H3 2022-12-18 11:42:02 +02:00
Ivan Savenko
52fc5b3c39 Exploded mines now send ACTIVATE flag to client to play effect 2022-12-17 19:37:00 +02:00
Ivan Savenko
deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +02:00
Ivan Savenko
70eac47f08 Fixes #1051, #1042 - highlight creatures that will be affected by spell 2022-12-17 00:10:12 +02:00
Ivan Savenko
4d5311789e Fixes #831 - do not process any incoming Packs until opening is over 2022-12-16 23:22:04 +02:00
Ivan Savenko
9e5f72166b Fix animation ordering for moving with rotation 2022-12-16 22:38:14 +02:00
Ivan Savenko
bbabc991ee Clean up logging 2022-12-16 22:37:44 +02:00
Ivan Savenko
6c04581655 Fix stack rendering order during movement 2022-12-16 22:07:46 +02:00
Ivan Savenko
733f21f8dc Petrify will freeze stack animations 2022-12-16 18:34:35 +02:00
Ivan Savenko
4d628a8ba1 Fixed several assertion failures on shutting down game 2022-12-16 16:19:57 +02:00
Ivan Savenko
864990db13 Implemented Bloodlust & Petrification effect
- ColorFilter is now in separate file
- Moved lerp function into global.h
- Bloodlust visuals mostly matches H3
- Petrify visual matches H3
- TODO: Adjust timing of all ColorFilter efects to match H3
- TODO: Petrify should pause stack animations
- TODO: ColorFilter-powered effects should be configurable in Spell system
2022-12-15 23:24:03 +02:00
Ivan Savenko
7e35a96055 Changed ColorPutter in preparation for Bloodlust & Petrify effects 2022-12-14 15:17:38 +02:00
Ivan Savenko
3693184e51 Fix cast animation for Genie and heroes 2022-12-14 14:48:02 +02:00
Ivan Savenko
7857668158 Implemented group attack animations for dragons/Hydras/etc 2022-12-14 14:21:58 +02:00
Ivan Savenko
814f6ed684 Made Clone color filter identical to H3 2022-12-14 13:00:40 +02:00
Ivan Savenko
fb3a08e0a6 Added fading animation for fade-in effect for summons 2022-12-14 12:04:37 +02:00
Ivan Savenko
b2f5a87a0f Spell animation will now wait for hero animation before playing 2022-12-13 21:31:49 +02:00
Ivan Savenko
e7206cb759 Cleaned up BattleHero class 2022-12-13 21:31:49 +02:00
Ivan Savenko
c172e3c8e0 Cleaned up BattleAnimationClasses file 2022-12-13 21:31:49 +02:00
Ivan Savenko
776d00d901 Cleaned up UI blocking conditions 2022-12-13 21:31:49 +02:00
Ivan Savenko
e791323502 Implemented placement sound for obstacles 2022-12-13 21:31:49 +02:00
Ivan Savenko
2148b76911 Fix lambda captures lifetime 2022-12-13 21:31:49 +02:00
Ivan Savenko
60a00b450e Multiple fixes & improvements to animation ordering 2022-12-13 21:31:49 +02:00
Ivan Savenko
0020d76d1d Introduced animation phases for beter ordering of visuals in battles 2022-12-13 21:31:49 +02:00
Ivan Savenko
c79634b6a7 Moved all animation ordering logic to callers
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Ivan Savenko
e750bd2713 Reverse death animation for resurrection spells 2022-12-13 21:31:49 +02:00
Ivan Savenko
1dea1854ae Moved battle animation enum's into new file 2022-12-13 21:31:49 +02:00
Ivan Savenko
55d0f0ad9f Fixed infinite loop 2022-12-13 15:17:42 +02:00
Ivan Savenko
99e5569ab5 Changes according to review 2022-12-13 15:10:31 +02:00
Ivan Savenko
264f5c91e8 Applied suggestions from review 2022-12-13 13:58:16 +02:00
Ivan Savenko
602e52127b Cleaned up forward declarations 2022-12-12 18:26:04 +02:00
Ivan Savenko
d40d5250b7 changes to status bar according to review comments:
- renamed IStatusBar API to more clear names
- removed "locking" of status bar
- added comments for IStatusBar API
- removed dynamic_casts to CGStatusBar, now IStatusBar API is fully
sufficient
2022-12-12 18:23:41 +02:00
Ivan Savenko
1558c28c0a Fix obstacle rendering 2022-12-12 00:05:00 +02:00
Ivan Savenko
ac839ad26a Changes to rest of the code according to review:
- renamed status bar method clearMatching -> clearIfMatching
- renamed class ColorShifterAddMul -> ColorShifterMultiplyAndAdd
- fixed missing return from function
- fixed potential access to deleted object
2022-12-11 23:43:43 +02:00
Ivan Savenko
49a6d056d9 Changes for BattleInterface classes according to code review:
- added documentation comments for classes, members and methods
- added const specifier to methods where applicable
- renamed some methods with more clear name
- removed some commented-out or unused code
2022-12-11 23:16:23 +02:00
Ivan Savenko
7f5e5259c8 Changes to Canvas class according to review:
- renamed CCanvas -> Canvas.cpp
- replaced shared_ptr<Canvas> with Canvas&
- removed getSurface method
2022-12-11 22:09:57 +02:00
Ivan Savenko
c855823528 Renamed files in client/battle to match new names of classes 2022-12-09 13:38:46 +02:00
Ivan Savenko
3f9a0a855e Renamed most of classes in client/battle directory to match current code
style
2022-12-09 13:26:17 +02:00
Ivan Savenko
facf77b3ae vstd::unique -> std::unique 2022-12-07 23:36:20 +02:00
Ivan Savenko
2855606a88 Enabled & fixed -Woverloaded-virtual warning from gcc/cland
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00