Laserlicht
822fa61bf2
intro rework
2024-09-12 22:28:45 +02:00
Ivan Savenko
e086ff12b8
Fix crash on accessing hero preview in map setup
2024-09-12 20:13:02 +00:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
...
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
Ivan Savenko
327ff01471
Implemented explicitly visitable town buildings, e.g. hota mana vortex
...
Added flag `manualHeroVisit` flag to town building. If this flag is set,
then building will only be activated on click and will not give its
effect on hero recrutiment, hero visit, or new day.
This allows implementing changes to Mana Vortex from HotA
2024-09-03 16:31:07 +00:00
Ivan Savenko
ed60387041
Try to fix string width computation rounding error
2024-09-02 22:08:59 +00:00
Ivan Savenko
71c7beb7a5
Merge pull request #4533 from IvanSavenko/town_growth
...
Change logic of neutral towns garrisons to match H3
2024-08-31 13:52:36 +03:00
Ivan Savenko
7f926fc30e
Merge pull request #4478 from Laserlicht/resource_generation
...
generate assets to file
2024-08-30 15:36:51 +03:00
Ivan Savenko
7064374d87
Fix visions not working for towns
2024-08-29 15:46:03 +00:00
Laserlicht
c6f0f8de03
generate assets only when necessary
2024-08-29 00:37:39 +02:00
Laserlicht
091523d67b
add missing event
2024-08-28 23:37:38 +02:00
Laserlicht
aa6cbdf13b
make it also usable on android
2024-08-28 23:07:00 +02:00
Laserlicht
8f24778e9d
config for right drag
2024-08-28 22:36:41 +02:00
Laserlicht
be7d27234f
map drag with right mouse
2024-08-28 22:17:05 +02:00
Ivan Savenko
4c84379110
Open thieves guild if building provides corresponding bonus
2024-08-28 14:04:47 +00:00
Ivan Savenko
408a632002
Deprecate artifact-related building types
2024-08-28 13:50:08 +00:00
Ivan Savenko
55fd7bd7aa
Thieves guild information level is now a bonus type
2024-08-28 13:50:07 +00:00
Ivan Savenko
a1a194d904
Allow replacing war machine if hero has a different machine in the slot
2024-08-28 13:49:42 +00:00
Ivan Savenko
8ef8ffa5c4
Implemented configurable blacksmith. Deprecated ballistaYard type
2024-08-28 13:49:42 +00:00
Ivan Savenko
0fd9dbf240
Unified income handling, added IOwnableObject interface
2024-08-28 12:40:44 +00:00
Laserlicht
70190ea1fe
Merge branch 'develop' into resource_generation
2024-08-28 00:03:46 +02:00
Laserlicht
4704e92d98
adjust resource naming
2024-08-28 00:02:29 +02:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
...
IMarket refactoring
2024-08-26 22:48:23 +03:00
Mike
3671079754
Added artifact description
2024-08-24 16:37:11 -07:00
Ivan Savenko
3e605253db
Merge pull request #4481 from Laserlicht/fix_hota
...
fix for 8th creature
2024-08-24 16:06:12 +03:00
SoundSSGood
4035ab1550
added CMarketWindow::getMarketTitle()
2024-08-24 13:52:54 +03:00
Laserlicht
43fc741a15
cleaner
2024-08-21 21:24:06 +02:00
Laserlicht
c36a6427c2
fix
2024-08-21 20:27:39 +02:00
Laserlicht
e19194c3b8
fix for 8th creature
2024-08-21 00:17:25 +02:00
SoundSSGood
2e3e6b1553
market->getObjInstanceID()
2024-08-21 01:01:23 +03:00
Laserlicht
01e55beef1
Merge branch 'develop' into resource_generation
2024-08-20 20:26:52 +02:00
SoundSSGood
58bb2b58e3
IMarket suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
cd7ebea9e3
cleanup unused code
2024-08-20 18:49:47 +03:00
SoundSSGood
fd45b5144d
IMarket serializeable
2024-08-20 18:49:47 +03:00
Ivan Savenko
85f6030c7c
Merge pull request #4318 from IvanSavenko/upscaled_render
...
Support for xBRZ upscaling filter
2024-08-20 14:23:30 +03:00
Laserlicht
c2b181dc0c
Merge branch 'develop' into resource_generation
2024-08-19 23:43:24 +02:00
Laserlicht
fff0159ef6
resource generation
2024-08-19 23:18:14 +02:00
Ivan Savenko
cc5564a7b1
Remove no longer used localization strings
2024-08-19 11:47:13 +00:00
Ivan Savenko
f1e63792f0
Greatly simplify town buildings logic
2024-08-19 11:47:13 +00:00
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