Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko 6a5696604e Merge pull request #3656 from SoundSSGood/backpack-management
Backpack management init
2024-03-24 19:09:32 +02:00
Ivan Savenko 94ecef748b Merge pull request #3654 from IvanSavenko/lobby_protocol
Lobby protocol documentation and fixes
2024-03-11 18:07:57 +02:00
Ivan Savenko c21e5bb0fb Always validate messages in debug mode. Fixes for schemas 2024-03-08 16:32:40 +02:00
Ivan Savenko efe10b05e9 Load virtual filesystem on lobby start to access schemas 2024-03-08 16:32:40 +02:00
Ivan Savenko 456dfd9e3d Added debug validation of lobby protocol on every send/receive 2024-03-08 16:32:40 +02:00
Ivan Savenko c9604f3dc1 Fix json formatting 2024-03-08 16:32:40 +02:00
Ivan Savenko 0946f5e690 Fix file name in header 2024-03-08 16:32:40 +02:00
Ivan Savenko b628a2460c Initial version of networking docs 2024-03-08 16:32:40 +02:00
Ivan Savenko ea04a84812 Added initial versions of schemas for lobby protocol 2024-03-08 16:32:40 +02:00
Ivan Savenko 6120fd2faa Lobby server will now validate incoming messages 2024-03-08 16:32:39 +02:00
Ivan Savenko 5b1549200a Renamed openGameRoom to more clear activateGameRoom 2024-03-08 16:32:39 +02:00
Ivan Savenko 2c1b142d68 Added support for 'const' field to json validator 2024-03-08 16:32:39 +02:00
Ivan Savenko bea80a60fb Merge pull request #3644 from Laserlicht/fix_castle_replay
fix castle quick combat
2024-03-07 10:21:19 +02:00
Ivan Savenko 4b2cba96cc Merge pull request #3646 from IvanSavenko/configurable_button
Configurable buttons
2024-03-04 13:34:40 +02:00
Ivan Savenko 83eb0ea28f Merge pull request #3625 from IvanSavenko/exchange_in_town
Better hero exchange in town
2024-03-04 13:34:15 +02:00
Ivan Savenko 9d65148717 Merge pull request #3651 from vcmi/launcher-settings-unused-slot
remove no longer used slot
2024-03-04 13:08:14 +02:00
Ivan Savenko 7f6072c569 Merge pull request #3650 from Alexander-Wilms/type-traits
Fix SonarCloud issues
2024-03-04 13:06:18 +02:00
Ivan Savenko 00058ea609 Merge pull request #3649 from godric3/map-editor-fix-owner-selection
Map editor fix owner selection
2024-03-01 13:34:47 +02:00
Ivan Savenko ce44f581fb Merge pull request #3648 from IvanSavenko/fix_json_from_const_char
Add additional constructor to JsonNode from const char *
2024-02-29 19:22:14 +02:00
Ivan Savenko d5a96a122a Add additional constructor to JsonNode from const char *
Fixes an issue where due to implicit conversion JsonNode(bool) will be
called instead of expected JsonNode(std::string)
2024-02-29 17:33:00 +02:00
Ivan Savenko 22f23ba6f8 Restore previously disabled functionality 2024-02-29 16:47:44 +02:00
Ivan Savenko ddb2acb9c2 Code cleanup 2024-02-29 15:39:13 +02:00
Ivan Savenko a2b51323b1 Fix json format 2024-02-29 14:20:11 +02:00
Ivan Savenko 20008cd5a5 Replaced premade buttons on hero screen with generated ones 2024-02-29 13:57:25 +02:00
Ivan Savenko e89835779b Replaced custom buttons in options window with runtime-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
Ivan Savenko 850af00303 Merge pull request #3641 from IvanSavenko/messagebox_refactor
Messagebox code refactor
2024-02-29 13:57:06 +02: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 54fefd34c7 Merge pull request #3618 from IvanSavenko/json_refactor
Json refactor
2024-02-26 15:42:17 +02:00
Ivan Savenko 2549f62661 Added missing field to schema 2024-02-26 14:57:23 +02:00
Ivan Savenko 57eece233b Ignore BOM at the start of json file 2024-02-26 12:55:49 +02:00
Ivan Savenko f86708bf37 Fix json5 parsing 2024-02-26 12:55:49 +02:00
Ivan Savenko 5901bf2190 Replace old 'defFile' format with animationFile 2024-02-26 12:55:49 +02:00
Ivan Savenko c90fb47c23 Converted json validator into a class 2024-02-26 12:55:49 +02:00
Ivan Savenko d2844a5eeb Cleared up code 2024-02-26 12:55:49 +02:00
Ivan Savenko 08deae4186 Moved static methods outside of vcmi namespace 2024-02-26 12:55:49 +02:00
Ivan Savenko 757f77378d Remove unused code 2024-02-26 12:55:49 +02:00
Ivan Savenko 29860848a5 Cleanup 2024-02-26 12:55:49 +02:00
Ivan Savenko 18bbccd167 Unify formatting 2024-02-26 12:55:49 +02:00
Ivan Savenko 2632ab04f5 Partial support for json5 2024-02-26 12:55:49 +02:00
Ivan Savenko 41493d6f67 Implemented 'strict' json support 2024-02-26 12:55:49 +02:00
Ivan Savenko d1c274f93f Replaced vector of strings with simple bool for flag 2024-02-26 12:55:49 +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 e73516b7d1 Simplified template magic in JsonNode 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 a2b8eaf7fb Do not escape '/' when writing json 2024-02-26 12:55:49 +02:00
Ivan Savenko 25146bfa93 Replace custom class with string_view 2024-02-26 12:55:49 +02:00
Ivan Savenko ca9a16e30e Partially updated schema validation to draft v6 2024-02-26 12:55:49 +02:00
Ivan Savenko cda6899ee2 Merge pull request #3640 from IvanSavenko/fix_thread_race
Fix thread race
2024-02-25 21:03:41 +02:00
Ivan Savenko bc9e961252 Better checks for incoming data 2024-02-25 20:05:52 +02:00
Ivan Savenko 6901945b6e Fix possible thread race on sending packet from two threads 2024-02-25 20:05:28 +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 7b6b64894c Merge pull request #3624 from IvanSavenko/fix_crash
Fix crash on using heal in SPELL_AFTER_ATTACK bonus
2024-02-25 15:01:32 +02:00
Ivan Savenko 7c843ff0f7 Merge pull request #3627 from IvanSavenko/random_town_names
Town names randomization fix
2024-02-25 15:01:22 +02:00
Ivan Savenko b2be1fe75d Merge pull request #3633 from Alexander-Wilms/appstream-1.0
Update metainfo to conform to AppStream 1.0 spec
2024-02-25 15:00:55 +02:00
Ivan Savenko 8b3f558113 Merge pull request #3634 from Laserlicht/fw_rules
firewall rules for client
2024-02-25 15:00:34 +02:00
Ivan Savenko 5053500965 Fix json formatting 2024-02-19 18:02:44 +02:00
Ivan Savenko 8d86216332 Merge pull request #3626 from Alexander-Wilms/float-comparison
Fix float comparison
2024-02-19 17:19:53 +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 c513dc1bc7 Fix code style & formatting 2024-02-19 15:59:55 +02:00
Ivan Savenko 7c221e2327 Merge pull request #3628 from IvanSavenko/fix_network_crash
Fix network crash
2024-02-19 15:51:35 +02:00
Ivan Savenko 779625415f Guard against concurrent writes on same asio::socket instance 2024-02-19 13:47:06 +02:00
Ivan Savenko f620a07389 Add protocol validation 2024-02-19 13:46:07 +02:00
Ivan Savenko 81e44711a2 Remove no longer needed workaround 2024-02-19 13:45:50 +02:00
Ivan Savenko fe918de2df Remove invalid assertion 2024-02-19 00:36:21 +02:00
Ivan Savenko fc252bb9eb Random town names are now guaranteed to be unique on the map 2024-02-19 00:36:08 +02:00
Ivan Savenko 10b35ceecb Replaced assertions with exceptions for invalid input in RNG 2024-02-19 00:35: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 c0dc1040c2 Fixes crash on attempt to dynamic_cast AbilityCaster to Unit 2024-02-18 20:06:07 +02:00
Ivan Savenko 868b41c8ee Merge pull request #3615 from Alexander-Wilms/cmake-sdl2
Fix SDL2MAIN_LIBRARY CMake warning
2024-02-18 20:05:50 +02:00
Ivan Savenko 6329d54296 Merge pull request #3619 from Alexander-Wilms/sonarcloud-fixes
Fix float comparisons
2024-02-18 20:05:26 +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 3ea29a9656 Merge pull request #3616 from IvanSavenko/json_split
Move & split files related to json
2024-02-14 16:40:03 +02:00
Ivan Savenko 3740f8b02f Moved bonus parsing to a new file 2024-02-14 15:48:06 +02:00
Ivan Savenko 0b7bf56597 Remove old files 2024-02-14 14:02:41 +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 0d74959a33 Better float comparison 2024-02-14 12:07:07 +02:00
Ivan Savenko 6d6137accc Simplified code 2024-02-14 12:07:07 +02:00
Ivan Savenko 45c971a405 Replace throws() with nothrow 2024-02-14 12:07:07 +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
Ivan Savenko 77e8d61755 Build lobby on Linux CI 2024-02-13 22:20:30 +02:00
Ivan Savenko a9dc03e6e3 Merge pull request #3613 from Alexander-Wilms/redundant-override
Remove more redundant virtual specifiers
2024-02-13 18:03:19 +02:00
Ivan Savenko 7cf5e317a4 Merge pull request #3612 from IvanSavenko/demon_summon_fix
Fixes demon summoning
2024-02-13 16:05:13 +02: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 76b4a4c297 Merge pull request #3610 from IvanSavenko/sonarcloud_fixes
Sonarcloud fixes
2024-02-13 15:30:11 +02:00