ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Difference between revisions of "Priority"

From ModEnc
Jump to: navigation, search
(Correcting ([SoundList] enumerates VocClass objects, so I guess VocTypes... stupid naming))
Line 1: Line 1:
 
{{flag|name=Priority|files=eva(md).ini, sound(md).ini|values=<dl><dt>Ra2/YR<dd><dl><dt>Eva(md).ini: (case-insensitive, ''default'')<dd>LOW, ''NORMAL'', IMPORTANT, CRITICAL<dt>Sound(md).ini: (case-insensitive, ''default'')<dd>LOWEST, LOW, ''NORMAL'', HIGH, CRITICAL</dl><dt>TS/FS<dd>15, 50, 75, 100</dl>|default=NORMAL|types={{Categ|DialogList|VoxTypes}}, {{Categ|SoundList|VocTypes}}|ts=yes|fs=yes|ets=yes|ra2=yes|yr=yes|rp=yes}}
 
{{flag|name=Priority|files=eva(md).ini, sound(md).ini|values=<dl><dt>Ra2/YR<dd><dl><dt>Eva(md).ini: (case-insensitive, ''default'')<dd>LOW, ''NORMAL'', IMPORTANT, CRITICAL<dt>Sound(md).ini: (case-insensitive, ''default'')<dd>LOWEST, LOW, ''NORMAL'', HIGH, CRITICAL</dl><dt>TS/FS<dd>15, 50, 75, 100</dl>|default=NORMAL|types={{Categ|DialogList|VoxTypes}}, {{Categ|SoundList|VocTypes}}|ts=yes|fs=yes|ets=yes|ra2=yes|yr=yes|rp=yes}}
 +
==For Sound==
 +
 
<tt>Priority=</tt> is used in eva(md).ini and sound(md).ini to set how important a sound overlay is compared to other currently playing sounds, in order to decide when/how to play it. The available values are a ranking, from lowest importance to highest, with higher priorities overruling the lower ones (obviously).
 
<tt>Priority=</tt> is used in eva(md).ini and sound(md).ini to set how important a sound overlay is compared to other currently playing sounds, in order to decide when/how to play it. The available values are a ranking, from lowest importance to highest, with higher priorities overruling the lower ones (obviously).
 
===eva(md).ini===
 
===eva(md).ini===
Line 13: Line 15:
 
#HIGH
 
#HIGH
 
#CRITICAL
 
#CRITICAL
 
  
 
<!-- Note that, while they are written in all-caps in the comments, the actual values in sound(md) vary in their capitalization. In eva(md), they're allways all-caps. In addition, there sometimes is a blank space between the <tt>Priority=</tt> flag and the actual value (e.g. <tt>Priority= normal</tt>) - whether this makes a difference to the non-spaced version is unknown. // DC: comparison is case-insensitive, leading and trailing spaces are trimmed by the INI parser on _all_ flags -->
 
<!-- Note that, while they are written in all-caps in the comments, the actual values in sound(md) vary in their capitalization. In eva(md), they're allways all-caps. In addition, there sometimes is a blank space between the <tt>Priority=</tt> flag and the actual value (e.g. <tt>Priority= normal</tt>) - whether this makes a difference to the non-spaced version is unknown. // DC: comparison is case-insensitive, leading and trailing spaces are trimmed by the INI parser on _all_ flags -->
 
 
<!-- The default value in sound(md).ini is NORMAL, and although not explicitly stated in it, it is highly probable that eva(md).ini's default is the same (see note on STANDARD below).
 
<!-- The default value in sound(md).ini is NORMAL, and although not explicitly stated in it, it is highly probable that eva(md).ini's default is the same (see note on STANDARD below).
 
 
'''Important:''' DeeZire's INI Guide lists the follow flags for <tt>Priority</tt> in eva(md): IMPORTANT, QUEUED_INTERRUPT, STANDARD, QUEUE or CRITICAL. Neither QUEUE, nor QUEUED_INTERRUPT, nor STANDARD can be found in the actual eva(md), and it is probable that these values were fetched directly from the exe, which suggests they are parsed. That does not change the fact that the INI uses NORMAL again and again and again, while never mentioning STANDARD. Although this doesn't make it wrong, it means that you're on the safer side by using NORMAL, especially considering that sound(md) uses it as well – that's two files using NORMAL vs. no mention of STANDARD. However, if STANDARD is parsed, it is entirely possible that this is the standard value in eva(md), rather than NORMAL. Whether it's priority is equal to NORMAL is unknown.
 
'''Important:''' DeeZire's INI Guide lists the follow flags for <tt>Priority</tt> in eva(md): IMPORTANT, QUEUED_INTERRUPT, STANDARD, QUEUE or CRITICAL. Neither QUEUE, nor QUEUED_INTERRUPT, nor STANDARD can be found in the actual eva(md), and it is probable that these values were fetched directly from the exe, which suggests they are parsed. That does not change the fact that the INI uses NORMAL again and again and again, while never mentioning STANDARD. Although this doesn't make it wrong, it means that you're on the safer side by using NORMAL, especially considering that sound(md) uses it as well – that's two files using NORMAL vs. no mention of STANDARD. However, if STANDARD is parsed, it is entirely possible that this is the standard value in eva(md), rather than NORMAL. Whether it's priority is equal to NORMAL is unknown.
 +
'''On a closer look''', it is undeniable that three of four used values in eva(md) are also used in sound(md); given that both files use the same flag, and both files are dealing with sound overlay, one cannot deny the chance that it's the same function for both files. This would suggest that the values are interchangeable, meaning that IMPORTANT is also valid in sound(md), while LOWEST and HIGH can also be used in eva(md). This is, however, purely theoretical and has not been tested. // DC: flag template update should clear this up, but leaving in just in case -->
  
'''On a closer look''', it is undeniable that three of four used values in eva(md) are also used in sound(md); given that both files use the same flag, and both files are dealing with sound overlay, one cannot deny the chance that it's the same function for both files. This would suggest that the values are interchangeable, meaning that IMPORTANT is also valid in sound(md), while LOWEST and HIGH can also be used in eva(md). This is, however, purely theoretical and has not been tested. // DC: flag template update should clear this up, but leaving in just in case -->
+
'''In Tiberian Sun'''
  
==In Tiberian Sun==
 
 
In TibSun and Firestorm, the usage of Priority is the same, with the exceptions that
 
In TibSun and Firestorm, the usage of Priority is the same, with the exceptions that
 
#TS/FS does not have an eva.ini, and
 
#TS/FS does not have an eva.ini, and
 
#The priorities are measured by an integer value, with 100 being the highest used in the INI and the other used values being 15, 50 and 75. (It's highly possible that the values are not limited to these, but information about this is not stated in the file.)
 
#The priorities are measured by an integer value, with 100 being the highest used in the INI and the other used values being 15, 50 and 75. (It's highly possible that the values are not limited to these, but information about this is not stated in the file.)
 +
 +
==In [[TeamTypes]]==
 +
 +
Used values range from 0 to 50. AI(md).ini has values in multiples of 4 (TS) or 5 or 7 (RA2/YR). Other numbers are used in single player maps which gives granular control of the priority status.
 +
 +
 +
A TeamType with higher Priority value can recruit team members from a TeamType with lower Priority value, even if the lower Priority value team hasn't yet completed its script actions. TeamTypes with equal Priority values cannot recruit from one another. Also a lower Priority TeamType cannot recruit from a TeamType with higher Priority value.
 +
 +
 +
Recruitment needs the following conditions to be met. The TeamType should allow recruitment of its members with [[AreTeamMembersRecruitable]]=yes. When [[Recruiter]]=no, then their Group IDs should match. Check [[Group]] for the exception case of ID with value -2. When [[Recruiter]]=yes, inter-Group recruitment is allowed.
 +
 
[[Category:INI Flags]]
 
[[Category:INI Flags]]
 
[[Category:sound(md).ini Flags]]
 
[[Category:sound(md).ini Flags]]
 
[[Category:eva(md).ini Flags]]
 
[[Category:eva(md).ini Flags]]

Revision as of 08:58, 29 June 2017

Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
Flag: Priority
File(s): eva(md).ini, sound(md).ini
Values:
Ra2/YR
Eva(md).ini: (case-insensitive, default)
LOW, NORMAL, IMPORTANT, CRITICAL
Sound(md).ini: (case-insensitive, default)
LOWEST, LOW, NORMAL, HIGH, CRITICAL
TS/FS
15, 50, 75, 100
Default: NORMAL
Applicable to: VoxTypes, VocTypes


For Sound

Priority= is used in eva(md).ini and sound(md).ini to set how important a sound overlay is compared to other currently playing sounds, in order to decide when/how to play it. The available values are a ranking, from lowest importance to highest, with higher priorities overruling the lower ones (obviously).

eva(md).ini

  1. LOW
  2. NORMAL
  3. IMPORTANT
  4. CRITICAL

sound(md).ini

  1. LOWEST
  2. LOW
  3. NORMAL
  4. HIGH
  5. CRITICAL


In Tiberian Sun

In TibSun and Firestorm, the usage of Priority is the same, with the exceptions that

  1. TS/FS does not have an eva.ini, and
  2. The priorities are measured by an integer value, with 100 being the highest used in the INI and the other used values being 15, 50 and 75. (It's highly possible that the values are not limited to these, but information about this is not stated in the file.)

In TeamTypes

Used values range from 0 to 50. AI(md).ini has values in multiples of 4 (TS) or 5 or 7 (RA2/YR). Other numbers are used in single player maps which gives granular control of the priority status.


A TeamType with higher Priority value can recruit team members from a TeamType with lower Priority value, even if the lower Priority value team hasn't yet completed its script actions. TeamTypes with equal Priority values cannot recruit from one another. Also a lower Priority TeamType cannot recruit from a TeamType with higher Priority value.


Recruitment needs the following conditions to be met. The TeamType should allow recruitment of its members with AreTeamMembersRecruitable=yes. When Recruiter=no, then their Group IDs should match. Check Group for the exception case of ID with value -2. When Recruiter=yes, inter-Group recruitment is allowed.