1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Commit Graph

119 Commits

Author SHA1 Message Date
Laserlicht
4fc45a44cc fix underground toggle 2025-08-29 19:46:41 +02:00
Laserlicht
ecfe09f6b1 multilevel support 2025-08-01 02:21:44 +02:00
Ivan Savenko
f58d08e563 Support for banned game entities in random map templates
The following entities can now be banned in a random map template
definition:
- Hero
- Artifact
- Spell
- Secondary skill

The ban follows the same rules as banning via the map settings in the
map editor.

It is also now possible to bypass dependencies and access identifiers
from mods that are not dependencies when defining:
- Banned entities in random map templates
- the chance of a hero class appearing in a tavern of a specific faction
- the chance of a spell appearing in a mage guild of a specific faction
- the chance of a hero class receiving a secondary skill

For this to work, the identifier must be specified in full, e.g.
`modName:objectName`. If the specified mod is not active, the game will
silently ignore this entry.

This behaviour is not affected by mod load order. It is possible to use
this format to access a mod that has not yet been loaded.
2025-07-14 00:18:11 +03:00
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko
156de5b17e Added GameInstance class
- available as global GAME
- integrates LOCPLINT (CPlayerInterface)
- integrates CGI->mh (CMapHandler)
- integrates CSH (CServerHandler)
2025-02-21 16:54:06 +00:00
Ivan Savenko
ffd37a8fa8 Removed CGI in favor of VLC. Map handle is for now global variable 2025-02-21 16:53:14 +00:00
Ivan Savenko
cacceda950 Renamed CGuiHandler to GameEngine
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
2025-02-21 16:53:13 +00:00
Ivan Savenko
fe2f765322 Merge pull request #4981 from mikeiit/random_map_player_count
Random map gen com only player count fix
2024-11-27 16:41:18 +02:00
mikeiit
a4db80671a call getPlayerLimit 2024-11-24 19:50:47 -08:00
Laserlicht
5e5a854180 fix misaligned button in randommap 2024-11-23 02:33:25 +01:00
void
de4f63da90 RMG: Enable only those roads, that are enabled in persistentStorage.json 2024-09-04 08:37:45 +09:00
Ivan Savenko
9fba3d97f1 Renamed & unified OBJECT_CONSTRUCTION macro set 2024-08-09 15:30:04 +00:00
Ivan Savenko
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
Alexander Wilms
31e1d39f92 Fix issues introduced by fixing typos 2024-06-27 08:38:04 +00:00
Alexander Wilms
02e429e973 Fix typos using https://github.com/crate-ci/typos
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
7461df161c lib now uses shared_ptr for entities. Removed manual memory management. 2024-05-17 15:04:05 +00:00
DjWarmonger
2c9b7089ad Merge pull request #3645 from vcmi/save_rmg_options
Save rmg options
2024-03-14 19:54:08 +01:00
Tomasz Zieliński
e7af9d5607 Code review fixes, Sonarcloud fixes 2024-03-04 21:23:17 +01:00
Tomasz Zieliński
b7320bbc8a Cleanup 2024-02-29 13:04:48 +01: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
ef8eb330d6 Merge branch 'develop' into random_template_description 2024-02-11 17:54:18 +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
Tomasz Zieliński
b7df6064cd Add random map description and display it in RMG menu 2024-02-03 16:23:56 +01:00
Ivan Savenko
37a8c8db8d Workaround for vcmi-extras bug 2023-12-22 18:40:29 +02:00
Tomasz Zieliński
6e7b68d0e6 Unused variable, unused code 2023-10-30 21:33:49 +01:00
Tomasz Zieliński
e105b23a37 Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
# Conflicts:
#	Mods/vcmi/config/vcmi/rmg/heroes3/newcomers.JSON
#	Mods/vcmi/config/vcmi/rmg/heroes3/southOfHell.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/2sm0k.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/2sm2i(2).JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/3sb0b.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/3sb0c.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/5sb0a.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/5sb0b.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/7sb0b.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/7sb0c.JSON
#	client/lobby/RandomMapTab.cpp
2023-10-30 20:08:13 +01:00
Tomasz Zieliński
f39edf9413 Update ally and enemy flags when selecting new template 2023-10-30 07:48:51 +01:00
Tomasz Zieliński
4f2cde018c Fixed most of reported issues, removed unused code. 2023-10-29 21:25:39 +01:00
Tomasz Zieliński
368a185008 Cleaning up the code 2023-10-29 10:05:24 +01:00
Tomasz Zieliński
07dac8b6d4 Works more or less 2023-10-28 20:30:38 +02:00
Tomasz Zieliński
a817e481d0 Merge fix 2023-10-26 10:46:04 +02:00
Tomasz Zieliński
36911d1e0a Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
# Conflicts:
#	client/lobby/RandomMapTab.cpp
2023-10-26 10:31:41 +02:00
Laserlicht
abb279f5b4 use config 2023-10-24 18:51:58 +02:00
Laserlicht
b67548e7cf format 2023-10-22 15:06:12 +02:00
Laserlicht
7b370d1967 fix team alignments 2023-10-22 15:00:04 +02:00
Laserlicht
0eba0ee686 show random maps 2023-10-21 02:12:34 +02:00
nordsoft
03c099d4fd First steps 2023-09-27 22:53:13 +02:00
Ivan Savenko
6f0108e462 Use ResourcePath for referencing texts and json's 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
nordsoft
c064b805c2 Refactor combo box 2023-08-28 17:10:52 +04:00
nordsoft
b8ab64f448 Make options tab configurable 2023-08-23 19:29:50 +04:00
Tomasz Zieliński
c59014ce18 Merge remote-tracking branch 'origin/beta' into fix_rmg_teams 2023-08-14 18:59:45 +02:00
Ivan Savenko
f13a53c1d9 Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-12 17:28:47 +03:00
Ivan Savenko
9d7f46f985 Fix crash on right-clicking player flags in RMG UI 2023-08-11 18:50:39 +03:00
Ivan Savenko
723c674d81 Merge pull request #2447 from IvanSavenko/modding_handler_refactoring
(develop) Modding handler refactoring
2023-08-02 21:26:05 +03:00
Ivan Savenko
43795c39a5 Replaced all usage of SDL_Color outside of render with ColorRGBA 2023-07-31 21:07:30 +03:00
Ivan Savenko
62fddca21e Split massive CModHandler class/file into multiple parts:
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Tomasz Zieliński
d26e46ddfe Remove old id, replace with randomTemplate 2023-07-24 17:39:32 +02:00