1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-12 10:03:53 +02:00
Commit Graph

749 Commits

Author SHA1 Message Date
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