1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-27 00:41:08 +02:00
Commit Graph

200 Commits

Author SHA1 Message Date
96d691b40c Fix crash on closing game during background image upscaling 2025-03-12 14:18:44 +00:00
948abfb04c AI now uses std::thread, added custom thread interruption logic 2025-03-02 14:33:11 +00:00
33468f21ff Remove custom implementation of threadpool from rmg in favor of TBB 2025-03-01 21:16:03 +00:00
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
70891b0304 portmaster support 2025-02-16 22:29:07 +01:00
df99645eca Merge pull request #5301 from IvanSavenko/map_loading_fix
Map loading fixes
2025-01-25 17:23:54 +02:00
09db3e4bef Reworked resource piles loading to fix wog maps with mithril 2025-01-25 11:40:21 +00:00
32391dc7a9 Pathfinder cache is now stored separately per playerBlocked
- human player will now use pathfinder settings from config (as before)
- nullkiller AI will now use its own, modified settings
- added option to configure NKAI usage of monolith to config
- fixed pathfinder costs not updating on receiving levelup
2025-01-23 15:28:44 +00:00
a99274d72e BattleHexArray - new container for BattleHexes 2025-01-06 23:18:18 +01:00
39d2f27589 Remove remaining usages of CCheckProxy class 2025-01-04 15:09:50 +00:00
16cfb51f3e Initial version of new bonus caching system 2025-01-04 15:09:50 +00:00
f893c80192 Move UpgradeInfo class to header and source files 2024-12-19 14:13:09 +01:00
ba9e3dca9d Mod management rework, part 1
- Replaced CModInfo class with constant ModDescription class
- Simplified mod loading logic
- Extracted some functionality from ModHandler into separate classes for
future reuse by Launcher
2024-11-26 13:55:46 +00:00
1fc04f5ea8 Updated out-of-date comment 2024-11-17 00:14:54 +01:00
dc1908ad2a Use -Wa,-mbig-obj instead of -Og to retain debuggability in SerializerReflection.cpp and IGameCallback.cpp files 2024-11-16 22:46:27 +01:00
89d7776775 fix compilation error due to 'too many sections' for MinGW debug builds on Windows 2024-11-16 22:41:05 +01:00
8a5ac73438 Basic support for configurable flaggable objects
Converted CGLighthouse class into FlaggableMapObject

Bonus provided by Lighthouse/Flaggable is now defined in config and is
accessible to mods.
2024-10-25 16:48:10 +00:00
10ad0fc760 Split CHeroHandler.cpp/.h into 1 file per class
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
679181c103 Implemented serialization of local player state in json form 2024-10-08 20:04:32 +00:00
2fe54504ab Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone
# Conflicts:
#	lib/rmg/CRmgTemplate.cpp
2024-09-14 10:19:22 +02:00
9591ce1ab4 Move CompoundMapObjectID to separate file 2024-09-14 08:55:28 +02:00
e89649ec1c Move ObjectConfig to separate file 2024-09-14 08:41:00 +02:00
39a2c29c97 Removed creatureBank flag from battle, battles now receive BattleLayout
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
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
81af66d35b Move visit query to a separate class, remove no longer needed Cast.h 2024-09-04 14:32:36 +00:00
36c1ed670f Support for configurable town fortifications
Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.

It is now possible to define which parts of town fortifications are
provided by town buildings

Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".

Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
2024-08-28 19:42:14 +00:00
0fd9dbf240 Unified income handling, added IOwnableObject interface 2024-08-28 12:40:44 +00:00
77faa14119 Added explicit indexing of type indexes for serialization 2024-08-26 20:06:35 +00:00
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
85ee859b6e First version that works - banning objects is possible 2024-08-21 20:16:41 +02:00
85f6030c7c Merge pull request #4318 from IvanSavenko/upscaled_render
Support for xBRZ upscaling filter
2024-08-20 14:23:30 +03:00
2f3f3c21df Rename town building types to more clear names 2024-08-19 11:47:13 +00:00
f0448acaa3 TBB is now a dependency of lib. Implemented multithreaded xBRZ scale 2024-08-17 15:25:26 +00:00
2a05fbdd50 Unified handling of battle sides ID's
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00:00
9ceb1c567d highscore refactoring 2024-08-02 19:37:46 +02:00
fb171ab3a2 statisic basic 2024-08-01 21:36:00 +02:00
53c0d20a57 fix campaign highscores 2024-07-26 20:36:52 +02:00
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00:00
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
d2839c8e52 Rewardable object randomization is now always server-sided 2024-07-16 13:13:39 +00:00
5178e4842e Moved generation of new rumors to server 2024-07-16 13:13:39 +00:00
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
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
84bc6c42db Added 'Serializeable' base class for classes serializeable by pointer 2024-05-16 18:40:59 +00:00
95d761bbb8 Handle corrupted H3 data - show message box instead of silent crash 2024-05-13 15:41:47 +00:00
6ba6e0d55b Moved serialization of ModCompatibilityInfo from MapFormat 2024-04-23 17:15:59 +03:00
b1a5693612 Proof of concept with OH3 obstacles 2024-04-04 21:39:01 +02:00
675e7c3110 Move files that are not needed for lobby to main part of vcmi_lib 2024-03-29 15:02:14 +02:00
39da7b3e32 Added option to build minimal vcmi library as needed by lobby 2024-03-28 12:07:49 +02:00
dd785d71c9 Fix linking when using static libraries without client 2024-03-28 12:07:49 +02:00