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

1311 Commits

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