Create a method that allows to inject INI into maps
First check
- [X] The suggestion is NOT related to functionality of Ares, HAres, Kratos or any other YR engine extension.
- [X] The suggested feature / enhancement is NOT implemented in Ares/Phobos yet and the existing possibilites are not viable or good enough to achieve the wanted result.
- [X] I agree to elaborate the details if requested and provide thorough testing if the feature is implemented.
- [X] I added a very descriptive title to this issue.
- [X] I used the GitHub search and read the issue list to find a similar issue and didn't find it.
- [X] I thought out how the feature / enhancement should work and described it in the most detailed and clear way.
Description
In DTA client, Game Option INIs directly write into spawnmap.ini (for example, if i check Ingame Allying, there will be
[MultiplayerDialogSettings] AllyChangeAllowed=yes AlliesAllowed=yes
in the top of spawnmap.
There are several advantages:
- ai and rules can be written in the same file (for example, I could add an game mode Brutal AI, enable AllowParallelAIQueues and write some aitriggertypes in brutalai.ini)
- triggers can be added in any maps. (for example, event 75 and 74 can be used to clear AI trigger sequence, make AI more responsive; event 4 can force AI to build a team, event 6 can make a bombard and eliminate jams.)
- it can override all the ini settings, even those written in the map.
INI code
;In rulesmd.ini:
[#MapINIInjection]
0=BrutalAI.ini
;In BrutalAI.ini
[GlobalControls]
AllowParallelAIQueues=yes
[AI]
AIBaseSpacing=2
BuildConst=GACNST,NACNST,YACNST,GACNST2,NACNST2,YACNST2
......
[AITriggerTypes]
SA-AG-18-G=Soviet bombard,ST-AG-18-G,<all>,1,1,ZEP,0800000003000000000000000000000000000000000000000000000000000000,1000.000000,30.000000,1000.000000,1,0,2,0,ST-AG-11-G,0,0,1
......
Additional context
No response
Aren't you suggesting this Ares feature? https://ares-developers.github.io/Ares-docs/new/misc/include.html
Aren't you suggesting this Ares feature? https://ares-developers.github.io/Ares-docs/new/misc/include.html
they are similar, but [#include] cannot change the farmework of INIs (for example, #include in rules cannot affect aimd.ini), while ini sections in maps can include rules, ai, triggers, etc.( we can even change [Header] to hide spawn previews) one scenario of this function is, a modder wants to make Meat Grinder usable in skirmish, but the majority of his AI teams includes high-tech tanks. an AI cannot create the whole team if any of it exceed maximum techlevel. so almost all of his AI triggers are not functional. mp****md.ini can only control rulesmd.ini, so he cannot have access to aimd.ini in this gamemode.
this is a land rush mode with triggers injected (so AI can move their mcv) https://user-images.githubusercontent.com/55939089/173350596-44750da7-9097-4c4f-af3a-ec135599f047.mp4