Tomasz Zieliński
b7320bbc8a
Cleanup
2024-02-29 13:04:48 +01:00
Ivan Savenko
20008cd5a5
Replaced premade buttons on hero screen with generated ones
2024-02-29 13:57:25 +02:00
Ivan Savenko
0051ffa7a9
Implemented configurable buttons. Replaced 'animateLonelyFrame' logic.
2024-02-29 13:57:25 +02:00
Ivan Savenko
07d201502e
Refactoring of button class to prepare for configurable button
2024-02-29 13:57:25 +02:00
Tomasz Zieliński
2c32c770f7
First version that works in lobby
2024-02-29 12:45:08 +01:00
Ivan Savenko
658747d342
Code cleanup
2024-02-27 14:45:15 +02:00
Ivan Savenko
99cb1df91d
Fixes for positioning on popups with components
2024-02-27 13:15:16 +02:00
Ivan Savenko
93b3cb3af5
Better size & positioning of infoboxes
2024-02-26 22:04:30 +02:00
Ivan Savenko
ec159f2fdd
Fixed bad line breaks in starting faction description popup
2024-02-26 22:04:02 +02:00
Ivan Savenko
4b4dedeab9
Code formatting
2024-02-26 18:53:12 +02:00
Ivan Savenko
e6b339448f
Refactoring & deduplication of infowindow code
2024-02-26 18:32:15 +02:00
Ivan Savenko
658cc14cd0
Removed direct usage of SDL_Surface in info windows
2024-02-26 15:49:27 +02:00
Ivan Savenko
5419df1140
Removed no longer used class
2024-02-26 15:49:27 +02:00
Ivan Savenko
922966dcf8
Renamed JsonNode::meta to more logical modScope. Member is now private
2024-02-26 12:55:49 +02:00
Ivan Savenko
08a27663f9
Reworked JsonNode constructors to more logical form
2024-02-26 12:55:49 +02:00
Ivan Savenko
54796c7c56
Rename toJson to toString/toCompactString for consistency
2024-02-26 12:55:49 +02:00
Ivan Savenko
8647abb94b
Merge pull request #3629 from IvanSavenko/ui_generation
...
Unify graphical primitives elements
2024-02-25 15:02:06 +02:00
Ivan Savenko
bd901cb001
Replaced lines in settings with primitives
2024-02-19 16:55:07 +02:00
Ivan Savenko
82eea1abc1
Remove unused variable
2024-02-19 16:49:59 +02:00
Ivan Savenko
fe918de2df
Remove invalid assertion
2024-02-19 00:36:21 +02:00
Ivan Savenko
ef8ff00973
Unified common primitive-based UI elements
2024-02-18 22:15:31 +02:00
Ivan Savenko
14e3c762c0
Fix slot selection in markets
2024-02-18 21:18:55 +02:00
Ivan Savenko
8b60275a6e
Hero exchange in town is now activated by clicking on hero portrait
2024-02-18 21:02:24 +02:00
Ivan Savenko
af671d109f
Made graphical primitive-based UI more configurable
2024-02-18 20:48:45 +02:00
Ivan Savenko
110ef5f66e
Merge pull request #3614 from IvanSavenko/sonarcloud_fixes_2
...
Sonarcloud fixes 2
2024-02-14 16:44:58 +02:00
Ivan Savenko
c3957c2c2a
Moved json files to new directory, split on per-class basis
2024-02-14 13:08:24 +02:00
Ivan Savenko
c23953eac5
Remove custom casts
2024-02-14 12:56:37 +02:00
Ivan Savenko
7359b66f99
Do not use floating point equality checks
2024-02-14 12:07:07 +02:00
Ivan Savenko
9ebd194ab1
Merge pull request #3609 from IvanSavenko/single_process
...
Allow running server as part of client process
2024-02-14 12:06:22 +02:00
Alexander Wilms
c65794b9e3
Fix typos
2024-02-13 15:23:30 +01:00
Ivan Savenko
bfdb9a85f0
Merge pull request #3611 from IvanSavenko/lobby_fixes
...
Networking code fixes
2024-02-13 15:30:26 +02:00
Ivan Savenko
7c34d48258
Minor fixes and corrections to network-related code. No functionality
...
changes.
2024-02-12 18:57:20 +02:00
Ivan Savenko
74f9b03516
Fix crash on closing client while server is active
2024-02-12 16:36:13 +02:00
Ivan Savenko
62148e1506
Fix build
2024-02-12 15:08:46 +02:00
Ivan Savenko
4c70abbeb5
Reduced usage of global variables - removed or made const / constexpr
2024-02-12 13:49:45 +02:00
Ivan Savenko
6e399eb21a
Make some non-const static variables const or constexpr
2024-02-12 13:22:54 +02:00
Ivan Savenko
392c360f88
Replaced some usages of void * with more clear CPack *
2024-02-12 12:53:10 +02:00
Ivan Savenko
b796ed8626
Fix undefined behavior
2024-02-12 12:33:09 +02:00
Ivan Savenko
c577ea3e8d
Fix potentially uninitialized values
2024-02-12 12:31:27 +02:00
Ivan Savenko
a909d7ddde
Removed cmake_modules/VCMI_lib macro, use it directly in place
2024-02-11 20:38:24 +02:00
Ivan Savenko
19ccef7131
Fix build
2024-02-11 19:54:30 +02:00
Ivan Savenko
cded8b1999
Show human-readable thread name in log
2024-02-11 17:55:02 +02:00
Ivan Savenko
0fc0ad238b
Fixes for server shutdown logic, implemented connection aborting for
...
local server
2024-02-11 17:55:02 +02:00
Ivan Savenko
f08c9f4d59
Renamed ENABLE_STATIC_AI_LIBS option to match its actual effect
2024-02-11 17:55:02 +02:00
Ivan Savenko
0d263c5571
Implemented option to run server as a thread with shared VLC
2024-02-11 17:55:02 +02:00
Ivan Savenko
ef8eb330d6
Merge branch 'develop' into random_template_description
2024-02-11 17:54:18 +02:00
Ivan Savenko
38ba42ef7a
Rename 'c' to 'logicConnection'
2024-02-11 16:26:27 +02:00
Ivan Savenko
f2ecd4cf11
Merge branch 'develop' into 'lobby'
2024-02-11 16:13:13 +02:00
Ivan Savenko
a3462acac3
Merge pull request #3602 from Laserlicht/campaignExtraButton
...
Campaign extra options button
2024-02-11 12:27:14 +02:00
Alexander Wilms
522cb571b3
Remove redundant virtual
specifiers
...
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":")
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-10 20:46:13 +01:00
Ivan Savenko
1a144fc516
Some progress on private rooms support
2024-02-10 19:02:25 +02:00
Ivan Savenko
4a0dd2da2c
Added option to create new account even if player already have one
2024-02-09 23:02:41 +02:00
Laserlicht
4e8152f268
reorder gui
2024-02-07 22:04:50 +01:00
Laserlicht
c8b6d6a684
add extra button for campaigns
2024-02-07 21:40:56 +01:00
Ivan Savenko
b319d16de6
Merge pull request #3597 from IvanSavenko/bugfixing
...
Fixes for map/save loading
2024-02-07 00:16:43 +02:00
Ivan Savenko
c068c92c92
Merge pull request #3201 from Alexander-Wilms/fix-huge-texture-crash
...
Fix broken intro and crash when resizing window
2024-02-07 00:16:15 +02:00
Ivan Savenko
87059be67b
Added range checks to values read from h3m.
...
Fixes reading of morale/luck values (-3..3) as unsigned leading to
overflow.
2024-02-05 21:27:55 +02:00
Alexander Wilms
0495c52cf4
Don't call ScreenHandler::onScreenResize() when the window has been (un)maximized to avoid creating a huge texture and crashing
2024-02-05 18:59:55 +01:00
Ivan Savenko
156f1d9311
Merge pull request #3589 from Laserlicht/queue_adjust
...
adjustable queue size for embedded queue
2024-02-05 18:44:45 +02:00
Ivan Savenko
8cd6832297
Handle errors from global lobby on client
2024-02-04 21:23:21 +02:00
Ivan Savenko
d4bedd8d8d
Fixed handling of match server crash
2024-02-04 19:58:09 +02:00
Ivan Savenko
7dee24edae
Cleanup
2024-02-03 23:30:16 +02:00
Ivan Savenko
1b6ac1052a
Properly lock UI mutex on accessing GUI state from network thread
2024-02-03 22:24:32 +02:00
Ivan Savenko
80fc2bb695
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-02-03 21:11:34 +02:00
Ivan Savenko
bd4c7e3ac0
Added LobbyPrepareStartGame pack to replace old workarounds
2024-02-03 19:57:23 +02:00
Ivan Savenko
2c2bec791c
Fixes and cleanup of game client network shutdown and restart
2024-02-03 19:27:04 +02:00
Tomasz Zieliński
b7df6064cd
Add random map description and display it in RMG menu
2024-02-03 16:23:56 +01:00
Ivan Savenko
03fcfe3392
Use std::byte in serializer
2024-02-02 13:09:12 +02:00
Alexander Wilms
caa22ad9d8
Don't call recreateWindowAndScreenBuffers() in ScreenHandler::onScreenResize() to fix crash due to a huge texture being created
2024-02-02 08:52:59 +01:00
Ivan Savenko
29c0989849
Use std::byte to manage network data
2024-02-02 02:02:09 +02:00
Ivan Savenko
c12558bf8a
Simplified code
2024-02-02 01:26:53 +02:00
Ivan Savenko
c9ebf32efd
Send error messages if operation fails
2024-02-02 00:12:30 +02:00
Ivan Savenko
58ee72f684
Merge pull request #3588 from IvanSavenko/fix_regressions
...
Fix regressions
2024-02-01 22:27:52 +02:00
Ivan Savenko
7247038458
Merge pull request #3574 from SoundSSGood/altar-fixes
...
Artifacts altar related fixes
2024-02-01 22:27:41 +02:00
Laserlicht
5e3f0e631c
possibility to show small queue outside
2024-02-01 21:17:08 +01:00
Laserlicht
25188aead8
change config name
2024-02-01 20:50:58 +01:00
Laserlicht
aa2fc4b88a
adjustable queue size for embedded queue
2024-02-01 20:38:38 +01:00
Ivan Savenko
46fe6c1b09
Fixed crash on missing campaign audio files
2024-02-01 18:08:01 +02:00
SoundSSGood
a42b60feb9
suggested changes
2024-02-01 13:28:08 +02:00
Ivan Savenko
facdc9f993
Merge pull request #3583 from Laserlicht/town_portal
...
town portal dialog adjustments
2024-02-01 11:30:51 +02:00
Laserlicht
9e7fbc3ca2
use localstate
2024-01-31 21:29:04 +01:00
Laserlicht
9cd6a6838b
fix
2024-01-31 11:32:35 +01:00
Laserlicht
ebb2cce8b8
rework town portal
2024-01-31 02:30:10 +01:00
Ivan Savenko
a9866bb5c6
Added RandomGeneratorUtil::nextItemWeighted convenience method
2024-01-31 00:17:40 +02:00
Ivan Savenko
7992144763
Gem class is now Sorceress
2024-01-30 23:34:27 +02:00
Ivan Savenko
3abc26e789
Moved checks for campaign heroes to CGHeroInstance class
2024-01-30 23:33:58 +02:00
Ivan Savenko
c5c46a7c9a
Implemented connecting to server via proxy
2024-01-30 21:31:41 +02:00
Ivan Savenko
5d8b65befd
Merge pull request #3575 from Laserlicht/infobox_pos
...
fix infobox position while disabling
2024-01-30 17:36:30 +02:00
Ivan Savenko
26703af8b0
Merge pull request #3576 from Alexander-Wilms/conditional-screen-clearing
...
CVideoHandler: Call SDL_RenderClear() when playing intro, call SDL_Re…
2024-01-30 17:36:18 +02:00
Ivan Savenko
9051cd9654
Merge pull request #3569 from Laserlicht/end_autocombat
...
instant finish of battle with autocombat
2024-01-30 17:34:56 +02:00
Ivan Savenko
48006307e1
Merge pull request #3563 from Laserlicht/quick_combat
...
quick combat vs ai
2024-01-30 17:33:34 +02:00
SoundSSGood
d16632b54c
cleanup & fix build & sonarcloud fixes
2024-01-30 01:23:50 +02:00
Laserlicht
1124b43d91
check tactic side
2024-01-29 21:52:11 +01:00
Laserlicht
4aaebc834e
Merge branch 'develop' into end_autocombat
2024-01-29 21:36:11 +01:00
Laserlicht
7cc004e139
code review
2024-01-29 21:33:20 +01:00
Laserlicht
7ddc87f4a2
removed unused param; optimized pos
2024-01-29 21:11:18 +01:00
Alexander Wilms
6085893c0d
CVideoPlayer: Make overlay an argument of playVideo() instead of an attribute
2024-01-29 20:27:00 +01:00
Alexander Wilms
70ce090bc4
CVideoHandler: Use EVideoType::INTRO and EVideoType::SPELLBOOK
2024-01-29 16:08:53 +01:00
Ivan Savenko
dc2f8cb81d
Merge pull request #3553 from Laserlicht/sync_subtitle
...
sync subtitle with audio
2024-01-29 12:54:43 +02:00
Alexander Wilms
33e170d562
CVideoHandler: Call SDL_RenderClear() when playing intro, call SDL_RenderFillRect() for spellbook animation
2024-01-28 22:53:51 +01:00
Ivan Savenko
bed05eb52d
WIP: Implemented joining public rooms
2024-01-28 00:04:54 +02:00
Laserlicht
36881c226f
fix infobox position while disabling
2024-01-27 22:08:15 +01:00
SoundSSGood
c6ca6ad835
sacrifice routine
2024-01-27 23:01:57 +02:00
Laserlicht
0225590bb5
add info for not implemented replay; reorder button code; fix exit position
2024-01-27 17:36:19 +01:00
Laserlicht
cad0d5db16
consider unlimited replay (or not)
2024-01-27 15:02:03 +01:00
Laserlicht
3e71cbcc39
Block feature is battle against human
2024-01-27 14:35:54 +01:00
SoundSSGood
f66918ea14
bulk move to altar
2024-01-27 15:28:23 +02:00
SoundSSGood
652f009181
arts altar - arts holder
2024-01-27 15:28:21 +02:00
Laserlicht
a2fd5039ab
setting
2024-01-27 01:16:55 +01:00
Laserlicht
e8c541f873
end with auto combat
2024-01-26 23:15:56 +01:00
Laserlicht
d53dd83466
fix; cleanup; optimized times
2024-01-26 21:58:39 +01:00
Laserlicht
6e957d4913
fix build
2024-01-26 20:31:57 +01:00
Laserlicht
3d57437e52
move logic to tick
2024-01-26 20:13:02 +01:00
Laserlicht
c426382687
Apply suggestions from code review
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-01-26 20:09:17 +01:00
Ivan Savenko
eaca128c99
Code cleanup
2024-01-26 19:15:57 +02:00
Ivan Savenko
322c5faf63
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-26 16:52:23 +02:00
Ivan Savenko
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +02:00
Ivan Savenko
4d0c0f10a9
Merge pull request #3530 from Laserlicht/tavern
...
Invite hero
2024-01-26 13:12:55 +02:00
Laserlicht
28c6385211
fix
2024-01-26 11:17:38 +01:00
Laserlicht
7f58333ef9
quick combat vs ai
2024-01-25 23:44:41 +01:00
Laserlicht
c2c86ec278
fix
2024-01-25 21:11:42 +01:00
Laserlicht
3b9372c51c
Code review
2024-01-25 20:49:59 +01:00
Laserlicht
e434d5c0b7
Apply suggestions from code review
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-01-25 20:35:30 +01:00
Ivan Savenko
891d25a634
Merge pull request #3552 from Laserlicht/video_button
...
video button
2024-01-25 16:31:24 +02:00
Ivan Savenko
2a193effcc
Merge branch 'master' into 'develop'
2024-01-25 16:23:13 +02:00
Laserlicht
e3acb92863
codestyle
2024-01-24 20:32:39 +01:00
Ivan Savenko
2f5bf64340
Do not crash on attempt to load campaign with unsupported maps
2024-01-24 13:44:22 +02:00
Laserlicht
8870547d02
simplyfied
2024-01-24 01:23:35 +01:00
Laserlicht
e59078320c
format fix
2024-01-24 01:22:34 +01:00
Laserlicht
134eaa1583
sync subtitle
2024-01-24 01:17:23 +01:00
Laserlicht
56db0e06cf
fix render artefacts remaining after video playback
2024-01-24 00:04:56 +01:00
Laserlicht
0df4f9bda5
video button
2024-01-23 23:45:31 +01:00
Ivan Savenko
ea439ad175
Dispatch text input SDL calls in main thread on all platforms
2024-01-22 22:19:52 +02:00
Laserlicht
7d1553bc29
fix build
2024-01-22 20:56:35 +01:00
Ivan Savenko
6a42494b12
Merge CKeyboardFocusListener and IFocusListener into CFocusable
2024-01-22 21:48:03 +02:00
Laserlicht
9b2908d464
Apply suggestions from code review
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-01-22 20:19:49 +01:00
Ivan Savenko
284273379e
Merge pull request #3536 from IvanSavenko/serialization_refactor
...
Refactoring of serialization versioning handling
2024-01-22 19:49:24 +02:00
Laserlicht
0a4b5dbe10
code review
2024-01-21 18:12:46 +01:00
Andrii Danylchenko
33f8f6dc53
Merge pull request #3409 from vcmi/fix-headless
...
Fix headless
2024-01-21 14:51:10 +02:00
Ivan Savenko
d8a96066c6
Merge pull request #3533 from Laserlicht/battle_text
...
fix battle text position
2024-01-21 10:10:26 +02:00
Ivan Savenko
9e62eb28c5
Fix merge
2024-01-21 00:53:22 +02:00
Ivan Savenko
fc4ae3bd8c
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-20 23:01:49 +02:00
Andrii Danylchenko
0c1664dbe7
NKAI: various AI fixes after tests in headless
2024-01-20 22:55:30 +02:00
Andrii Danylchenko
cc7fc4a2c6
Fix headless mode
2024-01-20 22:55:27 +02:00
Ivan Savenko
0c07384293
Refactoring of serialization versioning handling
...
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum
Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
Ivan Savenko
6b760089a4
Merge pull request #3473 from IvanSavenko/const_lib
...
[1.5] Remove non-const global variables from library
2024-01-20 19:22:46 +02:00
Laserlicht
883ea23495
moved to gameconfig
2024-01-20 17:54:15 +01:00
Ivan Savenko
9920783628
Avoid crash on invalid H3 data
2024-01-20 18:50:59 +02:00
Ivan Savenko
24d25730ad
Changed checks for null with checks for hasValue
2024-01-20 16:41:10 +02:00
Laserlicht
3084cb2e46
fix battle text position
...
fix space
2024-01-20 14:35:21 +01:00
Laserlicht
d6172a9c4c
disable buttons while loading (not changable)
2024-01-20 13:42:37 +01:00
Laserlicht
a0098eb065
Gui for hero invite
2024-01-20 12:54:06 +01:00
Laserlicht
4813179abb
Invite hero setting
2024-01-20 01:24:34 +01:00
Laserlicht
346beea49c
invite hero backend
2024-01-20 01:09:55 +01:00
Laserlicht
1fb2a026ec
enable doubleclick
2024-01-19 23:31:21 +01:00
Ivan Savenko
baa73f5433
Code cleanup
2024-01-20 00:26:25 +02:00
Ivan Savenko
709905b1a0
Simplified networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
80e960bc8e
Finalized new TCP networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
476a05fed3
Formatting
2024-01-19 23:52:28 +02:00
Ivan Savenko
ffa58152ac
Client-side support for hosting game server via lobby
2024-01-19 23:49:59 +02:00
Ivan Savenko
47f72af556
Client-side update, adapted and fixed login and chat
2024-01-19 23:49:59 +02:00
Ivan Savenko
461bca73f3
Minor cleanup - move reinterpret_cast to jsonNode
2024-01-19 23:49:59 +02:00
Ivan Savenko
55b504792e
Implemented basic version of login window and persistent connection on
...
client
2024-01-19 23:49:59 +02:00
Ivan Savenko
78833a1015
Split LobbyWindow file into one file per class
2024-01-19 23:49:59 +02:00
Ivan Savenko
20a38d8514
Renamed new LobbyXXX classes to GlobaLobbyXXX
2024-01-19 23:49:59 +02:00
Ivan Savenko
78b7d9e726
Replaced open port check with server crash check
2024-01-19 23:49:59 +02:00
Ivan Savenko
0196707083
Fix UUID initialization on client
2024-01-19 23:49:59 +02:00
Ivan Savenko
2396c14114
Fixed logic for reconnection attempts to local server. Cleanup.
...
Added distinct fields in config for local and remote connection.
Removed code for restoring last session since it does not works as
intended and often triggers after crash
2024-01-19 23:49:59 +02:00
Ivan Savenko
a3639e77b1
Fixed handling of connection failure on client
2024-01-19 23:49:59 +02:00
Ivan Savenko
a50cdbda0c
Added timer functionality to NetworkServer
...
Might not be related to networking strictly speaking, but useful to have
functionality for network thread
2024-01-19 23:49:59 +02:00
Ivan Savenko
5694777a96
Simplified connection logic
2024-01-19 23:49:59 +02:00
Ivan Savenko
8ea69e457a
Simplified applying of lobby packs
2024-01-19 23:49:59 +02:00
Ivan Savenko
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
Ivan Savenko
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
Ivan Savenko
de5227142b
Implemented message receiving / broadcasting
2024-01-19 23:49:59 +02:00
Ivan Savenko
07fb313765
Implemented loading of latest messages on joining chat
2024-01-19 23:49:59 +02:00
Ivan Savenko
f10b6df989
Implemented messages sending and storing in database
2024-01-19 23:49:59 +02:00
Ivan Savenko
dff9cf39c0
Implemented connection handling
2024-01-19 23:49:59 +02:00
Ivan Savenko
c2c43602ea
Initial version of global lobby server available in client
2024-01-19 23:49:59 +02:00
Ivan Savenko
d04241b10a
Code cleanup
2024-01-19 23:02:00 +02:00
Ivan Savenko
1f7e53a609
Code style fixes
2024-01-19 21:21:23 +02:00
Ivan Savenko
6e629a6a5f
split getBonusLocalFirst into two distinct method:
...
- const method getFirstBonus that returns single matching bonusToString
- non-const method getLocalBonus that returns bonus from current node
2024-01-19 13:56:06 +02:00
Ivan Savenko
496c13b34a
Stabilization
2024-01-19 13:56:06 +02:00
Ivan Savenko
9af7c63a26
Fix build
2024-01-19 13:56:05 +02:00
Ivan Savenko
ea1f05d15a
Stabilization
2024-01-19 13:55:22 +02:00
Ivan Savenko
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
Ivan Savenko
2c4cad7d9c
Slight simplification of bonus system node class
2024-01-19 13:54:49 +02:00
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Ivan Savenko
b2527c3775
Do not attempt to answer non-existing query
2024-01-18 22:21:07 +02:00
Ivan Savenko
3e8f110482
Merge pull request #3515 from SoundSSGood/backpack-statusbar
...
Backpack statusbar
2024-01-18 16:05:42 +02:00
Ivan Savenko
b698b6e79d
Merge pull request #3512 from Alexander-Wilms/use-auto-with-template-factory-functions-for-smart-pointers
...
Use auto with template factory functions for smart pointers
2024-01-18 16:05:05 +02:00
Ivan Savenko
9025744cc5
Merge pull request #3510 from Alexander-Wilms/remove-semicolons-from-macros
...
Remove trailing semicolons from more macros
2024-01-18 16:03:55 +02:00
SoundSSGood
a753319ad0
backpack window statusbar
2024-01-18 15:55:54 +02:00
Laserlicht
a1f4fcb78a
hide adventuremap
2024-01-18 00:47:18 +01:00
Alexander Wilms
b364f707cd
Fix issues introduced by automated replacement of redundant types
2024-01-17 20:12:57 +00:00
Alexander Wilms
7a1cee1a60
Fix error: 'auto' not allowed in non-static struct member
2024-01-17 14:49:28 +00:00
Alexander Wilms
73019c204d
Replace redundant types with auto
for the lvalues of template factory functions for smart pointers
...
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = ":".join(line.split(":")[1:]).strip()
print()
print(path)
print(original_code)
prefix = "auto "
if original_code.startswith("static"):
static = True
else:
static = False
cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
print(cpp_type)
if static:
new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
else:
new_code = "auto "+ " ".join(original_code.split(" ")[1:])
print(new_code)
if True:
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-17 12:50:00 +00:00
Ivan Savenko
e849e4170a
Merge pull request #3486 from Alexander-Wilms/replace-redundant-types-with-auto
...
Replace redundant types with `auto`
2024-01-17 13:31:05 +02:00
Alexander Wilms
1b85abb508
Use auto instead of redundant type in initializations using new
...
grep -r --include \*.h --include \*.cpp "=" * | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return\|{\|}\|= \"\|= tr(\|virtual\|void" | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "float\|nullptr" | grep "new" | grep -v "AI/FuzzyLite" | grep \( | grep "= new" > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = line.split(":")[1].strip()
if "new " in original_code:
cpp_type = original_code.split(" ")[0]
if original_code.count(cpp_type) == 2:
print()
print(path)
print(original_code)
new_code = "auto "+" ".join(original_code.split(" ")[1:])
print(new_code)
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-16 21:40:53 +00:00
Alexander Wilms
ccac73fb69
Remove trailing semicolons from more macros
2024-01-16 19:46:21 +00:00
Alexander Wilms
cca08e29da
Remove duplicate semicolons
2024-01-16 19:02:39 +00:00
Ivan Savenko
6270c81c1a
Add logging to trace crash
2024-01-16 15:21:49 +02:00
Ivan Savenko
b9f4c557fa
Fix cursor on visiting sea objects from land
2024-01-16 00:12:51 +02:00
Ivan Savenko
c21913f661
Fixed initialization of move points and mana for dismissed heroes
2024-01-15 23:16:48 +02:00
Ivan Savenko
a582cb554e
Merge pull request #3500 from IvanSavenko/fix_dendroid_bind
...
[1.4.3] Fix handling of Dendroid's Bind ability
2024-01-15 12:02:06 +02:00
Ivan Savenko
b4a1a755a4
Merge pull request #3498 from IvanSavenko/simturns_pathfinder
...
[1.4.3] Fixes for simultaneous turns
2024-01-15 12:00:54 +02:00
Ivan Savenko
0d0d3d8c80
Renamed speed -> getMovementRange, remove misleading default parameter
2024-01-14 17:14:36 +02:00
Ivan Savenko
d3a1cdb97a
Merge pull request #3485 from Laserlicht/fix_selection
...
fix buggy multiplayer selection
2024-01-14 14:23:32 +02:00
Ivan Savenko
b453b9d6d0
Fix UI lock on ending turn while simturns are active
2024-01-13 23:38:43 +02:00
Laserlicht
e25c8c21e0
fix buggy multiplayer selection
2024-01-13 21:51:56 +01:00
Ivan Savenko
fc163898d9
Fixed delayed updates in timer editing, limited to 24 hours at most
2024-01-13 22:31:26 +02:00
Laserlicht
2d511ecf1c
console fix
2024-01-13 18:59:59 +01:00
Ivan Savenko
f6e0f46040
Merge pull request #3467 from dydzio0614/hota-fixes
...
Fix HotA creature abilities (add bonuses allowing implementing them)
2024-01-12 21:55:18 +02:00
Ivan Savenko
7cf738b20e
Merge pull request #3462 from Laserlicht/trim_text
...
limit textboxes
2024-01-12 21:53:30 +02:00
Ivan Savenko
019a4151b9
Merge pull request #3258 from SoundSSGood/trade-panels
...
Market rework
2024-01-12 21:53:13 +02:00
SoundSSGood
4df7de36c1
fixed regression
2024-01-11 14:51:42 +02:00
SoundSSGood
b840cf3650
suggested changes
2024-01-11 12:46:32 +02:00
M
815fa26fb3
Change nix rounding, revert assert comment
2024-01-10 22:18:53 +01:00
Ivan Savenko
d6224eef5b
Merge pull request #3457 from Laserlicht/queue
...
make queue interactable
2024-01-10 15:51:13 +02:00
Alexander Wilms
781328f282
Convert C-style casts to the more verbose C++ style
2024-01-10 00:30:35 +00:00
Alexander Wilms
5e9f98b15c
Resolve intentionality issues
2024-01-10 00:23:24 +00:00
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
SoundSSGood
fdf60b2151
moved to widgets/markets
2024-01-09 20:21:09 +02:00
Ivan Savenko
eae3d806db
Merge pull request #3460 from Laserlicht/changedate_sort
...
add sort for changedate
2024-01-09 12:43:01 +02:00
Ivan Savenko
0d47c01de7
Merge pull request #3458 from Laserlicht/sel_window_bonus
...
correct starting bonus in selection windows
2024-01-09 12:41:55 +02:00
SoundSSGood
d0ca63d2c9
subclasses for market composition
2024-01-08 16:24:47 +02:00
SoundSSGood
50a5c72d1b
Creatures trade panel
2024-01-08 16:24:47 +02:00
SoundSSGood
791ee78cc4
players trade panel
2024-01-08 16:24:47 +02:00
SoundSSGood
f043c417a1
Artifacts trade panel
2024-01-08 16:24:47 +02:00
SoundSSGood
b246e24811
reworking slot selection
2024-01-08 16:24:47 +02:00
SoundSSGood
6c828d1be9
Resources trade panel
2024-01-08 16:24:47 +02:00
Ivan Savenko
6641418218
Merge pull request #3452 from IvanSavenko/glibc_assertions
...
Enable & fix glibc assertions
2024-01-08 11:08:37 +02:00
Laserlicht
056dccda30
different max width
2024-01-08 00:08:05 +01:00
Laserlicht
24d4816a36
trim text
2024-01-07 23:42:48 +01:00
Dydzio
d309a00025
Extra fix: fix amount position in battle creature labels
2024-01-07 21:45:39 +01:00
Ivan Savenko
ae79c5e953
Merge pull request #3397 from Laserlicht/cheat_allow
...
option for disabling cheats
2024-01-07 21:42:02 +02:00
Laserlicht
8b262e49a6
add sort for changedate
2024-01-07 20:17:44 +01:00
Dydzio
bb925e4cb0
First version of sea witch / sorceress ability
2024-01-07 19:27:32 +01:00
Laserlicht
7a6722bc45
fix spell hover
2024-01-07 18:12:17 +01:00
Laserlicht
8f2f5344a9
correct starting bonus in selection windows
2024-01-07 17:25:33 +01:00
Laserlicht
f4bff876d5
make queue interactable
2024-01-07 16:38:37 +01:00
Laserlicht
c635ca562e
fix campaign completion
2024-01-07 14:36:07 +01:00
Ivan Savenko
a2f603ac02
Fixed some cases of illegal access to std::array::operator[]
2024-01-07 12:45:02 +02:00
Ivan Savenko
9cf5c6a6c1
Merge pull request #3438 from IvanSavenko/select_renderer
...
Select sdl renderer in Launcher
2024-01-06 13:06:50 +02:00
Ivan Savenko
cf47fbb729
Merge pull request #3435 from IvanSavenko/bugfixing
...
[1.4.3] Bugfixing
2024-01-06 13:06:07 +02:00
Ivan Savenko
3383221f0b
Show error message on failure to create renderer
2024-01-05 21:46:44 +02:00
Ivan Savenko
fd85d93a00
Fixed video playback framerate for intro videos
2024-01-05 14:37:33 +02:00
Ivan Savenko
edb2ecd751
Fix possible overflow errors on leveling up beyond int64_t limit
...
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
Ivan Savenko
8037d575ad
Fix crash on attempt to access not visible tile
2024-01-04 23:54:06 +02:00
Ivan Savenko
63a2ed7cf8
Replace vector[] with range-checking vector.at()
2024-01-04 23:52:57 +02:00
Ivan Savenko
ef5686634d
Removed no longer used code
2024-01-04 23:48:58 +02:00
Ivan Savenko
121ef77440
Merge pull request #3416 from Laserlicht/video_campaign_fix
...
video position for campaigns
2024-01-03 12:32:40 +02:00
Joakim Thorén
100664e019
Fix compilation error where gcc 12.1.0 (MinGW) errors with "writing 1 byte into a region of size 0"
2024-01-02 01:43:49 +01:00
Laserlicht
63ee20de6c
video campaign fix
2024-01-01 15:25:42 +01:00
Laserlicht
9066dbcbd4
spellbook fix pages
2024-01-01 14:57:55 +01:00
Laserlicht
cb9c4bbaf0
unlimited replay option
2023-12-28 20:48:19 +01:00
Laserlicht
a3e27b859e
extra option tab
2023-12-28 19:41:01 +01:00
Laserlicht
f577f4cf6b
bugfix: enable first, then set text
2023-12-28 17:17:01 +01:00
Ivan Savenko
a9005da01e
Merge pull request #3366 from Laserlicht/battle_informations
...
Battle stacks informations
2023-12-28 12:39:26 +02:00
Laserlicht
c471b626a2
code review
2023-12-27 15:26:08 +01:00
Laserlicht
fc4827c89c
option for allowing cheats
2023-12-27 14:39:35 +01:00
Ivan Savenko
28a3deb42b
Do not allow stealing input focus from ourselves
2023-12-24 22:01:22 +02:00
Dydzio
046d3abee4
Add new setting for instant adventure map fade in / fadeout effects
2023-12-24 17:18:48 +01:00
Ivan Savenko
172e385f67
Merge pull request #3375 from Laserlicht/round_counter
...
turn indicator
2023-12-24 16:25:04 +02:00
Ivan Savenko
85d930bbd0
Merge pull request #3374 from dydzio0614/default-large-spellbook
...
Default large spellbook
2023-12-24 16:23:29 +02:00
Ivan Savenko
2b495a9679
Merge pull request #3379 from IvanSavenko/fix_genie_spellcasting
...
Fix genie spellcasting
2023-12-24 13:29:05 +02:00
Laserlicht
4f8dcb0f33
fix wrong value if unit dead
2023-12-24 01:06:02 +01:00
Laserlicht
39c58a9d94
disable animation button
2023-12-24 00:41:29 +01:00
Ivan Savenko
85de3143ff
Fixed Genie spellcasting logic to account for spell immunities
2023-12-24 01:13:19 +02:00
Ivan Savenko
bcbd708fa7
Added more checks to detect illegal access in CList's class
2023-12-24 00:16:29 +02:00
Laserlicht
fe8bf92a20
only a bar in small mode
2023-12-23 22:00:28 +01:00
Laserlicht
c540dd1183
round_counter
2023-12-23 19:57:19 +01:00
Ivan Savenko
a08546e964
Correctly update hero list on reordering via radial menu
2023-12-23 18:13:55 +02:00
Ivan Savenko
50536e28da
Fixed invalid text ID in description of "start with hero" campaign bonus
2023-12-23 18:13:31 +02:00
Ivan Savenko
ec1aee68d5
Fix invisible chat in pregame. Fixed positioning of chat box
2023-12-23 18:12:55 +02:00
Laserlicht
f0c97b344a
add duration + morale/luck
2023-12-23 16:07:12 +01:00
Laserlicht
7a541c7a42
implement spells
2023-12-23 14:51:26 +01:00
Laserlicht
8c14509d72
spell area
2023-12-23 03:32:42 +01:00
Laserlicht
0b4cf14a3d
basic functionality
2023-12-23 03:06:48 +01:00
Laserlicht
56e1265097
use stacks
2023-12-22 22:26:35 +01:00
Ivan Savenko
9bf1e72a19
Merge pull request #3346 from IvanSavenko/better_timers
...
[1.4.2] Better timers
2023-12-22 23:19:20 +02:00
Ivan Savenko
5d7901cd8c
Fixed timer countdown sound playback
2023-12-22 22:46:29 +02:00
Ivan Savenko
0a8b81b2c4
Fix deactivation of current stack if player does not acts in time
2023-12-22 22:46:09 +02:00
Laserlicht
72911ec9a3
Army window
2023-12-22 21:26:40 +01:00
Ivan Savenko
ebbba0029f
Fix positioning and size of turn timers widget with English fonts
2023-12-22 18:40:29 +02:00
Ivan Savenko
d8c69d39d8
Restored sound notifications
2023-12-22 18:40:29 +02:00
Ivan Savenko
37a8c8db8d
Workaround for vcmi-extras bug
2023-12-22 18:40:29 +02:00
Ivan Savenko
fe5918ebf5
Clients will now switch to turn options when host does so
2023-12-22 18:40:28 +02:00
Ivan Savenko
241add394c
Fixed timer widget in pvp battle
2023-12-22 18:40:28 +02:00
Ivan Savenko
fc595c5d84
propagate turn timer state every second to ensure correct UI
2023-12-22 18:40:28 +02:00
Ivan Savenko
f834cb3d99
Display different timers separately when applicable
2023-12-22 18:40:28 +02:00
Ivan Savenko
da9c0feebc
Reworked timer widget to show timers for all players
2023-12-22 18:40:28 +02:00
Ivan Savenko
c8d024ae11
Merge pull request #3354 from dydzio0614/antimagic-garrison
...
Add missing antimagic functionality to antimagic garrisons
2023-12-22 16:33:39 +02:00
Ivan Savenko
70ee87e1d1
Merge pull request #3356 from Laserlicht/hero_info_levelup
...
[1.4.2?] Possibility to show hero info in levelup window
2023-12-22 16:33:31 +02:00
Ivan Savenko
4ed283a357
Merge pull request #3359 from IvanSavenko/crashfixes
...
Crashfixes
2023-12-22 15:17:59 +02:00
Ivan Savenko
d8b601e759
Fix crash on disconnecting
2023-12-22 14:03:05 +02:00
Ivan Savenko
ee976d676d
Fix crash on closing vcmi while opening is playing
2023-12-22 14:03:05 +02:00
Laserlicht
c20f0bdc3e
using CHeroArea
2023-12-22 01:30:41 +01:00
Laserlicht
f75ccc308b
right click opens hero info
2023-12-22 00:07:41 +01:00
Dydzio
39c3db04f3
Add missing antimagic functionality to antimagic garrisons
2023-12-21 18:09:33 +01:00
Ivan Savenko
27d2fc0a13
Merge pull request #3186 from SoundSSGood/quick-backpack-part1
...
Quick backpack window
2023-12-21 17:10:15 +02:00
Laserlicht
c6434c31fb
small fix
2023-12-20 20:34:57 +01:00
Laserlicht
1dd2a28760
small fix
2023-12-20 20:23:35 +01:00
Laserlicht
ed671fa2fa
big spellbook optimize
2023-12-20 20:16:23 +01:00
SoundSSGood
e5c532beb4
gesture for quick backpack window
2023-12-20 16:55:38 +02:00
Ivan Savenko
fee0e0f9a0
Merge pull request #3348 from dydzio0614/no-alttab-console
...
No alt-tab console
2023-12-20 16:29:23 +02:00
Dydzio
83c2c22a6d
Change client's polling rate for server startup to 200 ms
2023-12-19 22:02:26 +01:00
Dydzio
30a9a32549
Do not trigger console via alt->tab
2023-12-19 20:02:45 +01:00
SoundSSGood
5099b52a4f
Quick backpack. Spells on scrolls view
2023-12-19 19:01:56 +02:00
SoundSSGood
21b02414bf
Refactoring. Callbacks have been encapsulated. Added cursorPosition
2023-12-19 19:01:56 +02:00
SoundSSGood
29b61081f3
Quick backpack
2023-12-19 19:01:56 +02:00
Ivan Savenko
103151f1f7
Merge pull request #3343 from IvanSavenko/fix_spellbook_animation
...
Fix spellbook page flip animation
2023-12-18 13:32:30 +02:00
Ivan Savenko
732cdfec73
Merge pull request #3254 from Laserlicht/spell_search
...
search spells
2023-12-18 13:23:06 +02:00
Ivan Savenko
44a79c1ff4
Merge pull request #3327 from Laserlicht/datetime
...
date time format
2023-12-18 13:21:01 +02:00
Ivan Savenko
f575e46ba0
Clear only part of screen covered by video - required for spellbook
2023-12-18 01:01:02 +02:00
Laserlicht
77505af71b
remove removefoucs
2023-12-17 22:17:32 +01:00
Laserlicht
9299eaed36
code review
2023-12-16 21:10:27 +01:00
Laserlicht
56562ad8dc
date time format
2023-12-16 18:57:38 +01:00
Ivan Savenko
9f8a5119f9
Less strict check for Armageddon's Blade data files presence
2023-12-16 15:04:41 +02:00
Ivan Savenko
5f4608c9f0
Fixed memory corruption on usage of radial wheel to reorder towns/heroes
2023-12-16 13:46:29 +02:00
Ivan Savenko
16e845e1c8
- Check for presence of AB files on startup
2023-12-16 13:46:29 +02:00
Ivan Savenko
a1f34e059a
Fix possible crash on starting 2nd battle while intro sound from 1st one
...
is still playing
2023-12-13 19:35:02 +02:00
Ivan Savenko
873fd33e7a
Workaround for mingw and armeabi Android build
2023-12-13 19:23:32 +02:00
Ivan Savenko
76cb5387c5
Access CHero in a way that will throw exception on invalid access
...
instead of crash
2023-12-13 16:50:56 +02:00
Ivan Savenko
0dce278a3b
Attempt to fix crash on app exit on Android
2023-12-13 16:50:13 +02:00
Ivan Savenko
4fa33c8d2e
Merge pull request #3279 from Laserlicht/smooth_scroll_fix
...
smooth scroll fix and gui option to disable
2023-12-10 22:49:43 +02:00
Ivan Savenko
e44a8ebfd9
Merge pull request #3291 from Laserlicht/audio_mute_setting
...
audio mute on focus lost setting
2023-12-10 22:48:52 +02:00
Laserlicht
df2a5f05d8
audio mute on focus lost setting
2023-12-10 14:49:27 +01:00
Laserlicht
e74c2262c3
add option to gui to disable smooth dragging
2023-12-10 13:38:58 +01:00
Laserlicht
b8e40978a0
stop smooth scroll when using window borders to scroll
2023-12-09 17:29:57 +01:00
Ivan Savenko
902db091da
Simple fix for slider activation when clicking on left/right buttons
2023-12-09 18:09:10 +02:00
Laserlicht
dfb10bdfcb
search rectangle
2023-12-08 22:52:34 +01:00
Laserlicht
95ff89f622
search spells
2023-12-08 22:46:05 +01:00
Ivan Savenko
edbe25b33a
Updated layout and localizations
2023-12-07 16:36:44 +02:00
Ivan Savenko
861c53059e
Added callbacks for preset dropdowns
2023-12-07 13:57:16 +02:00
Ivan Savenko
653304b004
Implemented accumulating timers, rename creature timer to unit timer
2023-12-07 13:57:16 +02:00
Ivan Savenko
1f0bcbc194
Added option to configure dropdown position
2023-12-07 13:57:16 +02:00
Ivan Savenko
0fd966818f
Remove 'visible' property from images, replaced with enable/disabled
...
call
2023-12-07 13:57:16 +02:00
Ivan Savenko
3b3c4860b2
Avoid creation of new threads without mutex protection
2023-12-03 15:58:03 +02:00
Andrii Danylchenko
26b6d1cf74
NKAI: fix capturing shipyards
2023-12-02 14:03:54 +02:00
Ivan Savenko
be9c7f2099
Merge pull request #3239 from IvanSavenko/pathfinder_fixes
...
Pathfinder fixes
2023-12-02 12:20:44 +02:00
Ivan Savenko
d919cb0eac
Merge pull request #3240 from IvanSavenko/bugfixing
...
[1.4.0] Bugfixing for beta
2023-12-02 12:20:37 +02:00
Ivan Savenko
55ad903ffb
Merge pull request #3231 from dydzio0614/large-spellbook-setting
...
Split large spellbook from UI enhancements setting
2023-12-02 12:13:06 +02:00
Dydzio
fc035b1b55
Change large spellbook config section to gameTweaks
2023-11-28 22:30:50 +01:00
Ivan Savenko
ea8995e901
Fixed check for free slots when recruiting in towns
2023-11-28 16:25:11 +02:00
Ivan Savenko
42ad860850
Merge pull request #3230 from dydzio0614/connection-button-fix
...
Display disabled connect button on server autojoin
2023-11-28 12:37:18 +02:00
Ivan Savenko
a7c45d8ec8
Remove assert - confirmed to be legal scenario
2023-11-28 12:32:24 +02:00
Ivan Savenko
48907f5e8b
Merge pull request #3237 from IvanSavenko/regressions_fix
...
Fixes for unresolved regressions
2023-11-28 12:24:24 +02:00