Ivan Savenko
f29a687234
Clean up scaling code, implemented image size optimization
2024-08-17 15:25:26 +00:00
Ivan Savenko
000af42fcb
Fix spellbook page flip scaling
2024-08-17 15:25:26 +00:00
Ivan Savenko
85bb133561
Fix transparency on dialog box corners when xBRZ is in use
2024-08-17 15:25:26 +00:00
Ivan Savenko
748a3a1b64
Fixed minimap generation when upscaled mode is used
2024-08-17 15:25:26 +00:00
Ivan Savenko
5c7c4a7810
Merge pull request #4443 from IvanSavenko/fix_sonar
...
Fix miscellaneous issues discovered by Sonar
2024-08-14 17:12:27 +03:00
Ivan Savenko
38311244a4
Merge pull request #4402 from Laserlicht/8th_creature
...
support for 8th creature (Factory)
2024-08-14 17:04:32 +03:00
Ivan Savenko
97f1a310df
Fix miscellaneous issues discovered by Sonar
2024-08-12 18:26:30 +00:00
Ivan Savenko
79c55bc898
Merge pull request #4425 from IvanSavenko/ui_cleanup
...
Remove old code from UI system
2024-08-12 17:16:03 +03:00
Laserlicht
170f375179
code review
2024-08-10 00:29:30 +02:00
Laserlicht
b4c25a148a
Merge branch 'develop' into bank_support
2024-08-09 23:36:59 +02:00
Laserlicht
5c2523219c
code review
2024-08-09 23:35:47 +02:00
Ivan Savenko
220c5cb1d7
Remove no longer used DISPOSE flag from CIntObject
2024-08-09 15:50:37 +00:00
Ivan Savenko
9fba3d97f1
Renamed & unified OBJECT_CONSTRUCTION macro set
2024-08-09 15:30:04 +00:00
Ivan Savenko
00605b5129
Remove largely unused defActions member from CIntObject
2024-08-09 14:26:53 +00:00
Ivan Savenko
3f9e57d3f3
Merge pull request #4334 from Laserlicht/quickspell_improve
...
quickspell improvements
2024-08-07 13:08:13 +03:00
Laserlicht
14bcfad7b0
fix upgrade
2024-08-06 23:28:45 +02:00
Laserlicht
abd1a1940a
fix recruitment & icons
2024-08-06 01:02:38 +02:00
Laserlicht
ebeeff5aa3
abstraction layer
2024-08-05 23:51:07 +02:00
Laserlicht
3afddbbf29
replaced constant
2024-08-05 23:03:19 +02:00
Laserlicht
1a06a2cc44
basic 8th creature support
2024-08-05 21:15:47 +02:00
Laserlicht
a15cd05da3
gui stuff for bank
2024-08-04 18:25:21 +02:00
Laserlicht
47327e1642
backend
2024-08-04 17:52:40 +02:00
Laserlicht
072af5bd6d
basic support for bank
2024-08-04 15:44:57 +02:00
Laserlicht
136f33f950
quickspell improvements
2024-07-26 20:11:14 +02:00
Laserlicht
bfd1e8a7c8
calculate income
2024-07-25 02:51:00 +02:00
Ivan Savenko
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
Ivan Savenko
4533271692
Merge pull request #4312 from IvanSavenko/texthandler_split
...
Split CGeneralTextHandler file into 1 file per class form
2024-07-21 13:49:14 +03:00
Ivan Savenko
1aa391fdf8
Split CGeneralTextHandler file into 1 file per class form
...
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes
Moved without changes:
Languages.h -> texts/Languages.h
MetaString.* -> texts/MetaString.*
TextOperations.* -> texts/TextOperations.*
Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
-> texts/CLegacyConfigParser.*
-> texts/TextLocalizationContainer.*
-> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
Ivan Savenko
3c611ffa5b
Merge pull request #4307 from IvanSavenko/misc_fixes
...
Miscellaneous fixes
2024-07-20 12:56:10 +03:00
Ivan Savenko
08a6b859d2
Merge pull request #4304 from Laserlicht/quickspell-option
...
option to enable quickspell
2024-07-20 12:53:36 +03:00
Ivan Savenko
d59a5dad7d
Merge pull request #4299 from Laserlicht/input_modi_detection
...
input mode detection
2024-07-20 12:51:08 +03:00
Ivan Savenko
34204d5898
Merge pull request #4305 from Laserlicht/fix_search
...
fix search in quick spell spellbook
2024-07-20 12:50:43 +03:00
Ivan Savenko
75fd67a921
Fix mouse scroll not working in right-click popups
2024-07-19 19:36:05 +00:00
Laserlicht
598f1b0738
fix search in quick spell spellbook
2024-07-19 19:49:21 +02:00
Laserlicht
ee0cf58395
option to enable quickspell
2024-07-19 19:43:22 +02:00
Ivan Savenko
c40eea6e10
Fix fade-in animation - per-surface alpha was not set correctly
2024-07-19 10:46:20 +00:00
Ivan Savenko
0d6ec0d224
Reviewed usage of EBlitMode, now specified clearly in all cases
2024-07-19 10:08:50 +00:00
Ivan Savenko
f11c5f62e1
Remove no longer needed code
2024-07-19 10:08:50 +00:00
Ivan Savenko
230add02e4
Remove no longer used code
2024-07-19 10:08:50 +00:00
Ivan Savenko
920a39844b
Unified naming of method to recolor UI element to current player scheme
2024-07-19 10:08:50 +00:00
Ivan Savenko
fcafe53da9
Restored previously disabled University code, add interface to notify
...
market-like objects
2024-07-19 10:08:50 +00:00
Ivan Savenko
a8a330f39f
Remove unused code and no longer needed caching
2024-07-19 10:08:50 +00:00
Ivan Savenko
47de9a62dc
Created separate classes for shared, unchangeable image and image
...
manipulators owned by UI elements
2024-07-19 10:08:50 +00:00
Ivan Savenko
a1fb3b8b01
Reduce direct access to CAnimation, removed various caching schemes
2024-07-19 10:08:50 +00:00
Ivan Savenko
56f1725234
All images are now loaded via RenderHandler class
2024-07-19 10:08:50 +00:00
Ivan Savenko
2020d96070
Merge pull request #4071 from IvanSavenko/fix_rng_syncronization
...
[1.6] Fix potential desync if client uses different stdlib with different random number generators
2024-07-19 13:08:09 +03:00
Laserlicht
ac30f7757b
changed naming
2024-07-19 11:41:00 +02:00
Laserlicht
68213eb5a0
touch tutorial only if touch used
2024-07-19 04:16:43 +02:00
Laserlicht
9ac7db24ca
Merge branch 'develop' into quickspell
2024-07-18 21:24:42 +02:00
Ivan Savenko
d55c4e3973
Merge pull request #4275 from IvanSavenko/music_modding
...
Additional options for music modding
2024-07-18 21:28:04 +03:00
Laserlicht
4415f645a7
lambda -> function; fix color
2024-07-17 18:07:45 +02:00
Ivan Savenko
662254155a
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-07-17 13:57:36 +00:00
Laserlicht
f54b84ead9
use spellbook to select
2024-07-17 13:20:17 +02:00
Ivan Savenko
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
Ivan Savenko
ad9750ed3e
Merge pull request #4186 from SoundSSGood/end-of-battle-artifacts-transfer
...
End of battle artifacts transfer
2024-07-16 12:45:13 +03:00
Ivan Savenko
f920e94366
Merge pull request #4210 from Laserlicht/graphics_improvements
...
[1.6] Graphics improvements
2024-07-16 12:17:39 +03:00
Ivan Savenko
3134d8383c
Merge pull request #4207 from Laserlicht/map_format_additional
...
[1.6] Map format additional infos
2024-07-16 12:15:58 +03:00
Ivan Savenko
358008fca9
It is now possible to define multiple town themes
2024-07-15 21:45:51 +00:00
SoundSSGood
ff5ddd76b7
suggestions
2024-07-16 00:03:06 +03:00
Dydzio
037ee4395e
Allow opening single hero when two heroes in town via shift+click
2024-07-15 20:22:19 +02:00
Ivan Savenko
6b8f94e6e7
Merge remote-tracking branch 'vcmi/master' into develop
2024-07-11 17:43:44 +00:00
SoundSSGood
b42c6dbf44
fixed regressions
2024-07-09 14:27:05 +03:00
SoundSSGood
ef1fbffad4
ArtifactsUIController class
2024-07-09 14:27:05 +03:00
Laserlicht
3f0be7e904
invite hero scroll
2024-07-06 13:04:00 +02:00
Ivan Savenko
38bcc1e475
Restored logic of up/down key in town interface
2024-07-04 08:46:39 +00:00
Laserlicht
02bd52041b
extend map format
2024-06-29 13:13:59 +02:00
Ivan Savenko
2eeb6510c1
Warn in log instead of crash on invalid building ID from mod
2024-06-27 09:58:53 +00:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
3bea383b59
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-21 12:58:36 +00:00
Ivan Savenko
0d3408ee68
Add better runtime error on invalid building ID
2024-06-20 10:08:49 +00:00
Ivan Savenko
0af2f6d8dc
Fix crash on opening tavern window on some localizations
2024-06-17 17:09:42 +00:00
Ivan Savenko
b4c6906471
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-11 19:22:23 +00:00
Ivan Savenko
861ed7667d
Merge pull request #4095 from vcmi/master
...
Merge master -> beta
2024-06-05 23:54:21 +03:00
Ivan Savenko
a8dcbd8ff9
Merge pull request #4061 from Laserlicht/hota_buildings
...
Support HotA thives guild
2024-06-05 12:41:35 +03:00
SoundSSGood
a7239a6fcc
fix
2024-06-05 09:52:16 +03:00
Ivan Savenko
6c25552f84
Fix crash on closing game with open levelup dialog
2024-06-04 19:16:05 +00:00
Ivan Savenko
2288acef69
Merge pull request #4083 from IvanSavenko/recruitment_fix
...
[1.6] Fixes crash on accessing recruitment window via click on creature icon
2024-06-04 17:53:53 +03:00
Ivan Savenko
62dd5681f5
Fixes crash on accessing recruitment window via click on creature icon
2024-06-03 13:37:35 +00:00
Ivan Savenko
b8beb4fb13
Fixes for various minor issues detected by Sonar Cloud
2024-06-01 11:48:30 +00:00
Ivan Savenko
6b336b454e
Less ambiguous names for buttons in exchange window. Fixes swapped
...
button functions.
2024-06-01 07:39:43 +00:00
Ivan Savenko
df83fa33a1
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-05-31 09:34:21 +00:00
Ivan Savenko
adc3441bda
Merge pull request #3998 from IvanSavenko/refactor_sdl_media
...
[1.6] Reorganize SDL sound/music/video handling
2024-05-31 12:02:55 +03:00
Laserlicht
9c1ce214fc
thievesGuild support
2024-05-30 21:58:35 +02:00
Ivan Savenko
5d6470e527
Merge pull request #4025 from IvanSavenko/shared_ptr_lib
...
[1.6] Use shared_ptr for library entities
2024-05-30 19:14:06 +03:00
SoundSSGood
07239dcfb5
artifact parts calc
2024-05-24 21:22:08 +02:00
Ivan Savenko
d1aa4ecd10
Merge pull request #4013 from IvanSavenko/shortcuts_additions
...
[1.5.2] Shortcuts additions
2024-05-21 14:18:55 +03:00
SoundSSGood
3692ca25ed
CArtifactsOfHeroBase refactoring
2024-05-21 12:05:07 +03:00
SoundSSGood
03aaf849f0
CWindowWithArtifacts remove std::variant
2024-05-20 15:15:46 +03:00
SoundSSGood
0501073d4c
Artifacts altar ctrl+click
2024-05-20 11:47:12 +03:00
Ivan Savenko
5feef488e3
Added Ctrl & Shift versions for swap artifacts shortcut. Exchange window
...
shortcuts now work even without vcmi extras
2024-05-19 12:28:03 +00:00
Ivan Savenko
d965226cbd
Moved Exchange Window to new file, no functionality changes
2024-05-19 10:53:56 +00:00
Ivan Savenko
6ba36cf6c0
Add separate shortcuts for adventure map and settings window
2024-05-19 09:12:36 +00:00
Ivan Savenko
0db8266495
Implemented some of the requested shortcuts
2024-05-19 09:12:36 +00:00
Ivan Savenko
88fbb7ee71
Most of buttons created in cpp now have assigned shortcut
2024-05-19 09:12:36 +00:00
Ivan Savenko
9bfe000724
Added semi-workaround method for network thread shutdown:
...
Currently closing game while network thread is waiting for something is
very bug-prone, since network thread may resume during shutdown and
access partially destroyed client state.
Now if exit has been requested, the very first step would be semi-
graceful shutdown of network thread (via exception throwing). This may
in theory skip some cleanup in non-RAII code, but since game is shutting
down this does not matters much.
This logic applies to:
- shutting down while network thread is waiting for dialogs
- shuttind down while network thread waiting for animations in combat
2024-05-18 11:04:10 +00:00
Ivan Savenko
7461df161c
lib now uses shared_ptr for entities. Removed manual memory management.
2024-05-17 15:04:05 +00:00
SoundSSGood
09bb9895ce
refactoring
2024-05-17 14:59:54 +03:00
SoundSSGood
6a1a6b6864
weak_ptr removed
2024-05-17 14:59:54 +03:00
SoundSSGood
7abfa7b42a
ArtifactPosition::TRANSITION_POS now is simple ArtSlotInfo
2024-05-17 14:59:51 +03:00
Ivan Savenko
540bd16e7b
Fixed video widget playback
2024-05-16 16:50:36 +00:00
Ivan Savenko
661a66121b
Cleaned up IVideoPlayed API to remove global state
2024-05-15 17:05:17 +00:00
Ivan Savenko
d08c7b7b8f
Added VideoWidget to hide implementation details
2024-05-15 17:05:16 +00:00
Ivan Savenko
d27b854cb1
Reorganized music, video and sound players:
...
- All XXXplayers are now in client/media directory
- Reogranized code on one class per file basis
- Extracted interfaces from handlers. Handlers now implement
corresponding interface.
- CCS now only stores pointer to an interface
2024-05-15 17:05:12 +00:00
Ivan Savenko
7790b8969d
Simplify TextInput constructor
2024-05-15 12:45:45 +00:00
Ivan Savenko
93c3cf372b
Reworked TextInput to allow text overflow support
2024-05-15 12:45:45 +00:00
Ivan Savenko
1abe9007bc
Moved CTextInput to a separate file. No changes in logic
2024-05-15 12:45:45 +00:00
Ivan Savenko
da9d82b697
Merge pull request #3973 from vcmi/master
...
Merge master -> beta
2024-05-14 16:59:10 +03:00
Ivan Savenko
0aa7362adf
Fix possible crash on accessing faction description
2024-05-12 20:24:09 +00:00
Ivan Savenko
7267e02b8d
Better handling of Ctrl / Cmd modifier keys on Apple systems:
...
- Test only for Cmd modifier key when processing mouse clicks
- Test both Ctrl and Cmd modifier key when processing keyboard input
- This logic is now used for all Apple systems - macOS and iOS
2024-05-12 17:09:31 +00:00
Ivan Savenko
64d6e48540
Fixed mouse double-click handling in some widgets.
...
Now double-click when 1st click was not inside widget should work as
expected:
- scenario list: 2nd click on non-selected scenario will select it
instead of starting unselected map
- component selection: 2nd click on non-selected component would select
it instead of confirming choice
- town portal dialog: 2nd click on non-selected town would only select
it
- tavern window: right-click would now also select this hero (h3 logic)
2024-05-10 16:05:59 +00:00
DjWarmonger
4949b98ed3
Merge pull request #3759 from Laserlicht/bio
...
Let's try this
2024-05-07 09:05:14 +02:00
SoundSSGood
03c6684622
Cosmetic market window fix
2024-05-03 12:36:13 +03:00
Ivan Savenko
74d3b4ab43
Added block for several more actions outside of our turn
2024-04-30 17:51:32 +03:00
Ivan Savenko
d53082e1c1
Block few more cases of access during another player turn in UI
2024-04-30 17:51:32 +03:00
SoundSSGood
7543e26d42
dismiss hero with fix
2024-04-28 19:01:14 +03:00
SoundSSGood
ce68b3f45d
class CArtifactsOfHeroMain : public CKeyShortcut
2024-04-27 21:35:38 +03:00
SoundSSGood
ce9d2d8ab8
Switching costume
2024-04-27 21:35:37 +03:00
SoundSSGood
25dea7e364
Saving costume
2024-04-27 21:35:37 +03:00
Laserlicht
ab50bf9198
biography to description
2024-04-27 18:41:21 +02:00
SoundSSGood
c9a8f8e855
Sonarcloud warnings
2024-04-23 22:21:46 +03:00
SoundSSGood
20471c9c2f
virtual CWindowObject
2024-04-23 18:58:41 +03:00
SoundSSGood
25d2b468c3
CWindowWithArtifacts preparations
2024-04-23 16:06:58 +03:00
Ivan Savenko
0824f50367
Merge pull request #3779 from SoundSSGood/backpackWindow-art-transfer-fix
...
Backpack window cursor fix
2024-04-18 15:18:36 +03:00
Ivan Savenko
3724742247
Merge pull request #3774 from Laserlicht/fix_city_gate
...
fix city gate
2024-04-18 15:09:53 +03:00
SoundSSGood
e8eb638bf1
backpack window cursor fix
2024-04-17 16:11:33 +03:00
Laserlicht
f847068e92
fix city gate
2024-04-16 00:54:04 +02:00
Dydzio
b351946afd
Add some utility bonuses for player resources boosting
2024-04-15 21:18:45 +02:00
Ivan Savenko
8003d0d7ca
Restore handling of double-clicks in message boxes
2024-04-14 13:09:39 +03:00
Ivan Savenko
ae8779779b
Fix typo in file names
2024-04-14 13:09:11 +03:00
Laserlicht
e4b60baa3b
creature/town biography/description
2024-04-12 23:35:39 +02:00
Ivan Savenko
a7d47cd3d2
Merge pull request #3742 from IvanSavenko/adventure_map_spellcast_fixes
...
Adventure map spellcasting fixes
2024-04-12 11:17:19 +03:00
SoundSSGood
6a0e8b0cab
Junkyard crash fixed
2024-04-11 01:44:15 +03:00
Ivan Savenko
8353bca34f
Small refactoring of adventure map spell casting:
...
- Removed duplicated checks for DD possibility
- Moved most of spell-specific code from AdventureMapInterface to library
code
- AdventureSpellMechanics class now provides methods to check whether
spellcast is possible, similarly to battle spells
- If it is not possible to cast adventure map spell (e.g. no mana or no
move points) game will show infowindow immediately on clicking spellbook
instead of on cast attempt
- If hero does not have movement points for a DD, game will show correct
error message
- Added game settings 'dimensionDoorFailureSpendsPoints' due to
discovered H3 logic
2024-04-10 20:04:08 +03:00
SoundSSGood
39a0e56169
suggested changes
2024-04-08 14:57:58 +03:00
SoundSSGood
2cdf2b4083
fixed missed trader text
2024-03-25 17:38:43 +02:00
SoundSSGood
c6c213c454
CMarketBase::hRight CMarketBase::hLeft removed. Final changes
2024-03-25 12:56:46 +02:00
SoundSSGood
cc14f85445
Refactoring. Regressions fixing.
2024-03-25 12:55:05 +02:00
SoundSSGood
433d55cac3
Market window unified
2024-03-25 12:44:34 +02:00
SoundSSGood
ae8d70748b
Altar artifacts widget refactoring
2024-03-25 12:44:33 +02:00
SoundSSGood
4839891de4
Cleanup & refactoring
2024-03-25 12:44:33 +02:00
SoundSSGood
f3fa6714dc
Artifacts selling widget
2024-03-25 12:44:33 +02:00
SoundSSGood
bb7137545f
Artifacts market widget
2024-03-25 12:44:33 +02:00
SoundSSGood
4e0ea7355b
Transfer resources widget
2024-03-25 12:44:33 +02:00
SoundSSGood
4d3bf882ed
market resources widget
2024-03-25 12:44:33 +02:00
SoundSSGood
6b658bf9c1
freelancer guild widget
2024-03-25 12:44:33 +02:00
SoundSSGood
0813fdbf8c
market window
2024-03-25 12:44:33 +02:00
Ivan Savenko
4b2cba96cc
Merge pull request #3646 from IvanSavenko/configurable_button
...
Configurable buttons
2024-03-04 13:34:40 +02:00
Ivan Savenko
83eb0ea28f
Merge pull request #3625 from IvanSavenko/exchange_in_town
...
Better hero exchange in town
2024-03-04 13:34:15 +02:00
Ivan Savenko
22f23ba6f8
Restore previously disabled functionality
2024-02-29 16:47:44 +02:00
Ivan Savenko
ddb2acb9c2
Code cleanup
2024-02-29 15:39:13 +02:00