Ivan Savenko
f3de2cfe1c
Removed broken & unused serialization of player interface and AI
2024-05-17 16:35:53 +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
1bc7c29111
Add workaround for visiting Altar of Sacrifice on 1.4 saves
2024-05-11 13:19:07 +00:00
Ivan Savenko
49691ef743
Unblock interface during turn of another human player
2024-04-30 17:51:31 +03:00
Ivan Savenko
26ffa3342b
Fix locked UI on starting multiplayer game
2024-04-29 17:02:27 +03:00
Ivan Savenko
b54eede01c
Always show dialog when player starts turn in multiplayer
2024-04-26 15:59:44 +03:00
SoundSSGood
25d2b468c3
CWindowWithArtifacts preparations
2024-04-23 16:06:58 +03:00
Dydzio
19453aab41
Add handling for yes/no dialogs that can be safely skipped by player
2024-04-17 01:08:27 +02:00
Ivan Savenko
b0334b381e
Merge pull request #3724 from IvanSavenko/fix_server_shutdown
...
Simplified and fixed server restart procedure
2024-04-09 16:13:19 +03:00
Ivan Savenko
f73243eb1c
Merge pull request #3669 from SoundSSGood/market-window-unified
...
Market window and widgets
2024-04-09 12:48:25 +03:00
Ivan Savenko
80acd7e77c
Simplified and fixed server restart procedure:
...
- Replaced several assertions with runtime_error's to detect them in
release builds
- Removed multiple dispatchMainThread calls in server shutdown code to
simplify debugging and code flow
- Moved handling of gameplay shutdown and score calculation from
PlayerInterface to ServerHandler (not perfect, but better than before)
2024-04-07 14:19:57 +03:00
Andrii Danylchenko
c7b5d254d7
Fix castel interface closing by turn timer
2024-04-06 11:42:39 +03:00
SoundSSGood
433d55cac3
Market window unified
2024-03-25 12:44:34 +02:00
SoundSSGood
0813fdbf8c
market window
2024-03-25 12:44:33 +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
d4bedd8d8d
Fixed handling of match server crash
2024-02-04 19:58:09 +02:00
Laserlicht
9e7fbc3ca2
use localstate
2024-01-31 21:29:04 +01:00
Laserlicht
ebb2cce8b8
rework town portal
2024-01-31 02:30:10 +01:00
Laserlicht
cad0d5db16
consider unlimited replay (or not)
2024-01-27 15:02:03 +01: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
2c4cad7d9c
Slight simplification of bonus system node class
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
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
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
Alexander Wilms
ccac73fb69
Remove trailing semicolons from more macros
2024-01-16 19:46:21 +00:00
Laserlicht
f7a31865f3
basic touch introduction implementation
2023-11-14 21:52:30 +01:00
Ivan Savenko
07472d3b05
Merge pull request #3147 from IvanSavenko/serialization_refactor
...
Serialization refactor - remove VLC from saved games
2023-11-11 17:35:01 +02:00
Ivan Savenko
864462b84a
Reduce excessive updates of garrisons. Fixes selection reset in simturns
2023-11-09 00:01:48 +02:00
Ivan Savenko
4a7fa9bf8c
Simplified CTypeList class
2023-11-08 22:05:36 +02:00
Ivan Savenko
0b4fa20bdc
Merge pull request #3152 from SoundSSGood/CAltar-widget
...
Altar rework
2023-11-08 13:42:00 +02:00
Ivan Savenko
86a3806bec
MetaString refactor to eliminate integer usage for identifiers
...
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
SoundSSGood
75ebd954af
Creatures altar & Artifacts altar
2023-11-06 14:31:32 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
SoundSSGood
ab2f6abb87
ArtifactLocation now use ID for artHolder identification part2
2023-10-29 17:46:13 +02:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
...
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.
This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.
Files that are Windows specific like *.vcxproj and *.props files were
not converted.
Closes : #3073
2023-10-19 16:23:21 +02:00
Laserlicht
f6071ed181
fix
2023-10-15 00:09:32 +02:00
Laserlicht
c96cc405ed
town now updates
2023-10-14 23:41:12 +02:00
nordsoft
d7d435dcb7
Add game pause
2023-10-08 16:03:57 +02:00
Ivan Savenko
39a92cdde3
Add query for dwellings dialog
2023-10-04 17:47:12 +03:00
Ivan Savenko
898733eed7
Added Query to track visit duration for Taverns and Markets
2023-10-04 17:47:12 +03:00
Ivan Savenko
e322d0a084
Merge pull request #2966 from IvanSavenko/simplify_ui_lock
...
Simplified locking of game UI state
2023-10-04 16:50:23 +03:00
Nordsoft91
c57d5545c2
Merge pull request #2971 from Nordsoft91/translations
...
Multi-language support for network game and for VMAPs
2023-10-02 20:41:42 +02:00
nordsoft
03c099d4fd
First steps
2023-09-27 22:53:13 +02:00
Ivan Savenko
71ad9d6707
Fix crash on starting map as non-red player
2023-09-27 21:23:54 +03:00
Ivan Savenko
195320dcf2
Removed remaining references to 'pim' name
2023-09-27 18:50:01 +03:00
Ivan Savenko
0dcfd6e65c
Removed optional locking in waitWhileDialog method
2023-09-27 18:44:08 +03:00
Ivan Savenko
d6b9fa8fbd
Replaced CPlayerInterface::pim with CGuiHandler::interfaceLock
...
- Removed CPlayerInterface::pim since this lock does not actually
protects LOCPLINT but rather entire game UI state
- added more logical CGuiHandler::interfaceLock
- interface lock is now non-recursive and is locked only once by initial
caller that want to access GUI
2023-09-27 18:33:52 +03:00
Ivan Savenko
71a1ed816a
Merge pull request #2892 from Laserlicht/highscore_menu
...
Highscore Menu & end video
2023-09-27 15:48:47 +03:00
Laserlicht
242e0ffa4a
fix playername
2023-09-26 22:06:04 +02:00
Ivan Savenko
42030ed10f
Fix hotseat
2023-09-26 17:28:50 +03:00
Ivan Savenko
49c148502b
Correctly close dialogs on end of turn
2023-09-26 15:54:24 +03:00
Ivan Savenko
d257fb37f0
Use optional instead of Json for queries
2023-09-26 13:42:20 +03:00
Ivan Savenko
64c82c9133
Fixed UI locking in simturns
2023-09-26 13:42:20 +03:00
Laserlicht
c3373ea34c
code review
2023-09-25 18:06:40 +02:00
Laserlicht
8a0565eb9b
use vector
2023-09-23 22:15:05 +02:00
Laserlicht
c49d38b855
cheats + grail in town
2023-09-23 21:37:40 +02:00
Laserlicht
6f8b62d77d
codereview
2023-09-23 20:41:30 +02:00
Laserlicht
d2398b804a
implement adding
2023-09-23 13:14:45 +02:00
Laserlicht
d3f007453d
win screen ready
2023-09-23 01:36:01 +02:00
Laserlicht
1a0f5cf159
calc preperation
2023-09-23 00:21:36 +02:00
Laserlicht
30c6cf3b98
video & audio correction; win/lose
2023-09-22 21:45:12 +02:00
Laserlicht
a4cb74f0dc
highscore input window
2023-09-22 20:39:20 +02:00
Ivan Savenko
2af7d7c085
Ignore garrison update events of another towns for our castleInt
2023-09-19 19:24:35 +03:00
Ivan Savenko
8c0d78f1d9
Added initiator-player to packs that add/remove/move objects
2023-09-19 19:24:34 +03:00
Ivan Savenko
219f81d28b
Added explicit "PlayerEndsTurn" netpack
...
- PlayerEndsTurn pack is now sent when player ends turn
- YourTurn pack has been renamed to PlayerStartsTurn for consistency
- PlayerStartsTurn will no longer replace list of acting players
- PlayerEndsGame and PlayerEndsTurn will remove player from acting list
2023-09-18 20:55:01 +03:00
Ivan Savenko
f1c40466d3
Changes according to review
2023-09-18 18:17:26 +03:00
Ivan Savenko
b7de685483
Fixed paths through teleport, formatting cleanup
2023-09-16 20:35:04 +03:00
Ivan Savenko
c8e6a7cd27
Fixed most common cases of movement actions
2023-09-16 20:07:26 +03:00
Ivan Savenko
80b80a0ae6
Minor cleanup of hero movemen code
2023-09-16 20:07:26 +03:00
Ivan Savenko
347ce01dbe
Moved hero movement logic to a new class from PlayerInterface
2023-09-16 20:07:26 +03:00
SoundSSGood
1b810b5b93
combined arts assembling fixed
2023-09-07 11:54:52 +03:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
...
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
41210c1dbf
Client-side support for multiple battles
2023-09-06 16:03:47 +03:00
Ivan Savenko
036df2e0ad
Support multiple battles in AI
2023-09-06 16:03:46 +03:00
Ivan Savenko
86a7f5f5cd
Removed getStr(bool), replaced with similar toString()
2023-09-04 22:21:02 +03:00
Ivan Savenko
8dfdfffd87
Use ResourcePath for audio files
2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
Nordsoft91
c45ab07d0b
Merge pull request #2698 from Nordsoft91/turn-timer
...
Turn timer fixes
2023-09-01 00:31:52 +04:00
Ivan Savenko
2e411eca19
Do not allow stopping movement while using water walk over water
2023-08-31 01:38:16 +03:00
nordsoft
9a42abe2a7
Extended timer info to exhange between client and server
2023-08-30 03:11:46 +04:00
Ivan Savenko
695a51d8c8
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-28 21:19:53 +03:00
nordsoft
b5417c667c
Hold timer client counter
2023-08-28 19:46:09 +04:00
nordsoft
71cbb0e2e7
Change query reply method
2023-08-28 18:56:36 +04:00
nordsoft
98f7ed9dfd
Implement player start turn query
2023-08-28 18:56:36 +04:00
Dydzio
207a73b9de
Fix mana drain not refreshing battle hero window mana
2023-08-27 18:58:07 +02:00
Ivan Savenko
edd029c79c
Replace "currentPlayer" from gamestate with "activePlayers"
...
- Allows multiple active players at once, e.g. simturns
- Cleared up validation of netpacks by server, e.g. always check for
pack sender
2023-08-25 18:56:15 +03:00
Ivan Savenko
b61c9a9e35
Fix build
2023-08-25 13:46:42 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Ivan Savenko
43096f0ed1
Merge pull request #2617 from dydzio0614/configurable-autobattle-spells
...
Configurable autobattle spells usage
2023-08-25 01:29:16 +03:00
Ivan Savenko
97ef69c9ab
Remove incorrect message on another player defeat
2023-08-24 23:34:33 +03:00
Michael
37e2292720
count unicode chars to extra function
2023-08-24 18:34:00 +02:00
Michael
e6f1677d3a
missing header...
2023-08-23 23:34:33 +02:00
Michael
9f68a0bf49
avoid destroing utf-8; no extra Autosave text
2023-08-23 23:25:48 +02:00
Michael
485af4b4b5
avoid forbidden chars in path
2023-08-23 22:23:05 +02:00
Michael
b22a9ff2d0
Merge branch 'develop' into autosave
2023-08-23 21:39:04 +02:00
Michael
1586b9fbd1
possibility to restart
2023-08-23 21:37:44 +02:00
Ivan Savenko
a5501abd01
Fix skipping battle intro via click
2023-08-23 18:46:56 +03:00