杂项

此页面列出了未分类的杂项内容。

Player colors

Unlimited skirmish colors

  • It is now possible to have an unlimited number of skirmish/multiplayer player colors, as opposed to 8 in Yuri’s Revenge and 16 with Ares.

  • This feature must be enabled with SkirmishUnlimitedColors=true in [General] section of game rules.

  • When enabled, the game will treat color indices passed from spawner as indices for [Colors] section entries.

    • In example, with original rules, index 6 will correspond to color Orange=25,230,255.

  • Phobos writes additional information to the SYNC#.txt log files when a desynchronization occurs such as calls to random number generator functions, facing / target / destination changes etc.

注解

This feature should only be used if you use a spawner/outside client (i.e. CNCNet client). Using it in the original YR launcher will produce undesireable effects.

警告

Due to technical incompatibilities, enabling this feature disables Ares’ Customizable Dropdown Colors.

In rulesmd.ini:

[General]
SkirmishUnlimitedColors=false	; boolean

开发者工具

Additional sync logging

  • Phobos writes additional information to the SYNC#.txt log files when a desynchronization occurs such as calls to random number generator functions, facing / target / destination changes etc.

输出目标信息

image
目标信息输出,来自CnC: Reloaded

  • 用以输出选择/悬浮目标信息的快捷键。仅当debug标签开启时启用。

显示伤害数字

  • 一个新的快捷键用以显示精确的伤害数字。伤害数字固定显示为红色(对护盾为蓝色),治疗数字显示为绿色(对护盾为青色)。数字将显示在单位上,然后缓慢向上移动。此功能仅当开发者功能启用时有效。

Frame Step In

  • There’s a new hotkey to execute the game frame by frame for development usage.

    • You can switch to frame by frame mode and then use frame step in command to forward 1, 5, 10, 15, 30 or 60 frames by one hit.

Save variables to file

  • There’s a new hotkey to write all local variables to locals.ini and all global variables to globals.ini. Available only if DebugKeysEnabled under [GlobalControls] is set to true in rulesmd.ini.

  • Variables will be also automatically saved to file on scenario end if [General]SaveVariablesOnScenarioEnd=true is set in rulesmd.ini.

  • Variable section will use the same name as the mission file name in capital letters, i.e. [MYCAMPAIGN.MAP].

    • Variables will be written as key-value pairs, i.e. MyVariable=1

  • If an INI file with the same name (locals.ini/globals.ini) doesn’t exist, it will be created. If it exists, all sections will be preserved.

In rulesmd.ini:

[General]
SaveVariablesOnScenarioEnd=false    ; boolean

运动模式别称

  • 现在可以用指定的文字代替原本的CLSID,可以更加一目了然的编辑Locomotor

别称

CLSID

Drive

{4A582741-9839-11d1-B709-00A024DDAFD1}

Jumpjet

{92612C46-F71F-11d1-AC9F-006008055BB5}

Hover

{4A582742-9839-11d1-B709-00A024DDAFD1}

Rocket

{B7B49766-E576-11d3-9BD9-00104B972FE8}

Tunnel

{4A582743-9839-11d1-B709-00A024DDAFD1}

Walk

{4A582744-9839-11d1-B709-00A024DDAFD1}

DropPod

{4A582745-9839-11d1-B709-00A024DDAFD1}

Fly

{4A582746-9839-11d1-B709-00A024DDAFD1}

Teleport

{4A582747-9839-11d1-B709-00A024DDAFD1}

Mech

{55D141B8-DB94-11d1-AC98-006008055BB5}

Ship

{2BEA74E1-7CCA-11d3-BE14-00104B62A16C}

Game Speed

Single player game speed

  • It is now possible to change the default (GS4/Fast/30FPS) campaign game speed with CampaignDefaultGameSpeed.

  • It is now possible to change the values of single player game speed, by inputing a pair of values. This feature must be enabled with CustomGS=true. Only values between 10 and 60 FPS can be consistently achieved.

    • Custom game speed is achieved by periodically manipulating the delay between game frames, thus increasing or decreasing FPS.

    • CustomGSN.ChangeInterval describes the frame interval between applying the effect. A value of 2 means “every other frame”, 3 means “every 3 frames” etc. Increase of speedup/slowdown is approximately logarithmic.

    • CustomGSN.ChangeDelay sets the delay (game speed number) to use every CustomGSN.ChangeInterval frames.

    • CustomGSN.DefaultDelay sets the delay (game speed number) to use on other frames.

    • Using game speed 6 (Fastest) in either CustomGSN.ChangeDelay or CustomGSN.DefaultDelay allows to set FPS above 60. However, the resulting FPS may vary on different machines.

注解

Currently there is no way to set desired FPS directly. Use the generator below to get required values. The generator supports values from 10 to 60.

In rulesmd.ini:

[General]
CustomGS=false              ; boolean
CustomGSN.ChangeInterval=-1 ; integer >= 1
CustomGSN.ChangeDelay=N     ; integer between 0 and 6
CustomGSN.DefaultDelay=N    ; integer between 0 and 6
; where N = 0, 1, 2, 3, 4, 5, 6

In RA2MD.ini:

[Phobos]
CampaignDefaultGameSpeed=4  ; integer
Click to show the generator

Results (remember to replace N with your game speed number!):

INI

Include files

注解

This feature must be enabled via a command line argument -Include.

  • INI files can now include other files (merge them into self) using [$Include] section.

    • [$Include] section contains a list of files to read and include. Files can be directly in the Red Alert 2 directory or in a loaded MIX file.

    • Files will be added in the same order they are defined. Index of each file must be unique among all included files.

    • Inclusion can be nested recursively (included files can include files further). Recursion is depth-first (before including next file, check if the current one includes anything).

    • When the same entry exists in two files, then the one read later will overwrite the value.

    • This feature can be used in any INI file, be it rulesmd.ini, artmd.ini, soundmd.ini, map file or anything else.

警告

Due to a technical issue, there is a chance that the first line of a included file will be skipped! To prevent this, included files should start with an empty line or a comment.

警告

When this feature is enabled, the Ares equivalent of [$Include] is disabled!

In any file:

[$Include]
0=somefile.ini	; file name

Section inheritance

注解

This feature must be enabled via a command line argument -Inheritance.

  • You can now make sections (children) inherit entries from other sections (parents) with $Inherits entry.

    • When a section has no value set for an entry (or an entry is missing), the game will attempt to use parent’s value. If no value is found, only then the default will be used.

    • When multiple parents are specified, the order of inheritance is “first come, first served”, looking up comma separated parents from left to right.

    • Inheritance can be nested recursively (parent sections can have their own parents). Recursion is depth-first (before inheriting from the next parent, check if the current parent has parents).

    • This feature can be used in any INI file, be it rulesmd.ini, artmd.ini, soundmd.ini, map file or anything else.

警告

When this feature is enabled, the Ares equivalent of $Inherits (undocumented) is disabled!

警告

This feature may noticeably increase game loading time, depending on the size of game rules and used hardware.

In any file:

[PARENT1SECTION]

[PARENT2SECTION]

[CHILDSECTION]
$Inherits=PARENT1SECTION,PARENT2SECTION...  ; section names