1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

918 Commits

Author SHA1 Message Date
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
Ivan Savenko
5ccf6750ab Fix assertion failure 2024-07-04 08:46:39 +00:00
Ivan Savenko
3bea383b59 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-06-21 12:58:36 +00:00
Ivan Savenko
6a0768aae6 Fix allied towns missing from town portal dialog 2024-06-17 20:46:47 +00:00
Ivan Savenko
b4c6906471 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-06-11 19:22:23 +00:00
Ivan Savenko
6a624cbaf7 Add more symbols to illegal for filenames 2024-06-11 14:30:13 +00:00
Ivan Savenko
16c7063eb4 Add '*' to list of characters banned for save game names 2024-06-04 14:11:22 +00:00
Ivan Savenko
b8beb4fb13 Fixes for various minor issues detected by Sonar Cloud 2024-06-01 11:48:30 +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
Ivan Savenko
5ecb527252
Merge pull request #3997 from IvanSavenko/serialization_refactor
[1.6] Serialization refactor
2024-05-30 19:13:21 +03:00
Ivan Savenko
2aec3cde2c Fix possible crash on replaying combat after manual run 2024-05-23 12:46:28 +00: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
0501073d4c Artifacts altar ctrl+click 2024-05-20 11:47:12 +03:00
Ivan Savenko
d965226cbd Moved Exchange Window to new file, no functionality changes 2024-05-19 10:53:56 +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
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