Phobos icon indicating copy to clipboard operation
Phobos copied to clipboard

Create a method that allows to inject INI into maps

Open handama opened this issue 3 years ago • 3 comments

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

handama avatar Jun 12 '22 13:06 handama

Aren't you suggesting this Ares feature? https://ares-developers.github.io/Ares-docs/new/misc/include.html

FS-21 avatar Jun 12 '22 14:06 FS-21

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.

handama avatar Jun 12 '22 14:06 handama

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

handama avatar Jun 13 '22 12:06 handama