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
 
(Split and moved the flag section under the subheaders)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{flag|name=Priority|values=LOWEST, LOW, NORMAL, HIGH, IMPORTANT, CRITICAL|special=None|default=NORMAL|games=RA2, YR}}
+
==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).
+
{{flag|name=Priority|files={{Categ|ini=eva}}, {{Categ|ini=sound}}|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>{{Values|unsigned integer|0–100}}</dl>|default=NORMAL (RA2), 10 (TS))|types={{Categ|DialogList|VoxTypes}}, {{Categ|SoundList|VocTypes}}|ts=yes|fs=yes|ets=yes|ra2=yes|yr=yes|rp=yes}}
 +
 
 +
{{f|Priority}} is used in {{ini|eva}} and {{ini|sound}} 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===
 
#LOW
 
#LOW
Line 14: Line 16:
 
#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 -->
 +
<!-- 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.
 +
'''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====
  
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).
+
In {{ts}} and {{fs}}, the usage of {{f|Priority}} is the same, with the exceptions that
 +
#TS/FS does not have an {{ini|eva}}, and
 +
#The priorities are measured by an integer value, with 100 being the highest.
  
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.
+
==In [[TeamTypes]]==
 +
{{Flag
 +
|name={{PAGENAME}}
 +
|files={{Categ|ini=ai}}, {{Categ|maps}}
 +
|values={{Values|unsigned integer}}
 +
|types={{Categ|TeamTypes}}
 +
|ts=yes
 +
|fs=yes
 +
|hp=yes
 +
|ra2=yes
 +
|yr=yes
 +
|ares=yes
 +
}}
  
 +
A [[TeamTypes|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 [[ScriptTypes|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.
  
'''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.
+
Used values range from 0 to 50. Unmodified {{ini|ai}} files use 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.
  
 +
Recruitment needs the following conditions to be met: The TeamType should allow recruitment of its members with {{f|AreTeamMembersRecruitable|yes|link}}. When {{f|Recruiter|no|link}}, then their [[Group|group IDs]] should match. Check {{f|Group|link}} for the exception case of ID with value -2. When {{f|Recruiter|yes}}, inter-group recruitment is allowed.
  
'''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.
+
When the team members finish their script actions, they lose their Priority value and can be recruited into teams with any Priority value.

Latest revision as of 00:21, 6 September 2020

For Sound

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:
Red Alert 2/Yuri's Revenge
Eva(md).ini: (case-insensitive, default)
LOW, NORMAL, IMPORTANT, CRITICAL
Sound(md).ini: (case-insensitive, default)
LOWEST, LOW, NORMAL, HIGH, CRITICAL
Tiberian Sun/Firestorm
Unsigned integers: All non-negative whole numbers from 0 to either 32767, 2147483647 or 4294967295. (Limited to: 0–100)
Default: NORMAL (RA2), 10 (TS))
Applicable to: VoxTypes, VocTypes


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 Tiberian Sun and Firestorm, the usage of Priority is the same, with the exceptions that

  1. TS/FS does not have an eva(md).ini, and
  2. The priorities are measured by an integer value, with 100 being the highest.

In TeamTypes

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): ai(md).ini, maps
Values: Unsigned integers: All non-negative whole numbers from 0 to either 32767, 2147483647 or 4294967295.
Applicable to: TeamTypes


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.

Used values range from 0 to 50. Unmodified ai(md).ini files use 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.

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.

When the team members finish their script actions, they lose their Priority value and can be recruited into teams with any Priority value.