用户界面特性

此页面列出了所有 Phobos 关于用户界面的添加、更改及修复的功能。

Bug 修复与各类杂项

  • 支持加载任何位数的全彩非索引色 PCX 图像。这适用于加载的每个 PCX 文件,包括 Ares 所提供的 PCX 文件使用方式。

  • 你可以通过 -icon 命令行参数(例如 gamemd.exe -icon Resources/clienticon.ico )指定自定义一个绝对或相对路径中的 *.ico 文件作为 gamemd.exe 的图标。

  • 修复了由 Blowfish.dll 导致的 ***FATAL*** String Manager failed to initialize properly 错误,该错误发生在 Blowfish.dll 无法在操作系统中注册时,例如玩家没有管理员权限的情况。在 Phobos 中,如果游戏在系统中找不到已注册的文件,它将不再尝试注册该文件,而是绕过注册直接加载。

  • 修复了非输入法键盘输入以使基础拉丁或拉丁 -1 以外的语言/键盘布局可以正常工作。

  • 修复了被选中建筑上信息提示和显示生产图标的位置和图层问题。

  • 可以通过设置 [AudioVisual] -> TimerBlinkColorScheme 来自定义计时器(超级武器、任务计时等)交替闪烁的配色方案。默认使用 [Colors] 中列出的第三种配色方案。

备注

你可在 Phobos 补充资源库 中找到并使用相对原本那个而言拥有更多 Unicode 字符的改进版原版字体。

音频

  • 现在你可以指定在胜利或失败时播放哪些音轨的主题曲。

rulesmd.ini

[SOMESIDE]             ; Side
IngameScore.WinTheme=  ; Soundtrack theme ID
IngameScore.LoseTheme= ; Soundtrack theme ID

战斗界面 UI/UX

数字化显示

图像 使用来自 Phobos 补充仓库 示例 Shape 文件的默认配置。

  • 现在你可以配置各种类型的数字化计数器来显示科技类型的属性,例如生命值或护盾值,并且可以通过一个新的快捷键开启或关闭。

    • Anchor.HorizontalAnchor.Vertical 设置显示位置相对于单位中心/选择框的锚点(取决于 Align)。建筑使用 Anchor.Building

      • OffsetOffset.ShieldDelta(后者在护盾激活时使用)可用于进一步修改位置。

    • 默认情况下,值以 当前值/最大值 的格式显示(例如 20/40)。

      • HideMaxValue=yes 将使计数器仅显示当前值(例如 20),默认值取决于科技类型是否为步兵。

      • Percentage=yes 将格式更改为 百分比 %(例如 50%)。

    • VisibleToHousesVisibleToHouses.Observer 可以限定特定玩家可见。

    • 数字可以是自定义的 Shape(.shp) 或使用游戏字体绘制的文本。这取决于是否设置了 Shape

      • Text.ColorText.Color.ConditionYellowText.Color.ConditionRed 允许自定义颜色。Text.Background=yes 将绘制黑色矩形背景。

      • 当使用 Shape时,可以通过 Palette 指定自定义色盘。Shape.Spacing 控制字符之间以像素为单位的间隔。

      • 当所有者的血量为健康状态时使用 0-9 帧的数字,黄血时使用 10-19 帧,红血时使用 20-29 帧。对于 /% 符号,帧序号索引分别为 30-31、32-33、34-35。

    • 对于 InfoType=Shield 其默认为 Offset.ShieldDelta0,-10,其他为 0,0

    • 建筑的 Shape.Spacing 默认为 4,-2,其他为 4,0

    • ValueScaleDivisor 可用于调整显示值的缩放比例。如果给定的整数大于 1 那么当前值和最大值都将除以该整数。

rulesmd.ini

[DigitalDisplayTypes]
0=SOMEDIGITALDISPLAYTYPE

[AudioVisual]
Buildings.DefaultDigitalDisplayTypes=   ; List of DigitalDisplayTypes
Infantry.DefaultDigitalDisplayTypes=    ; List of DigitalDisplayTypes
Vehicles.DefaultDigitalDisplayTypes=    ; List of DigitalDisplayTypes
Aircraft.DefaultDigitalDisplayTypes=    ; List of DigitalDisplayTypes

[SOMEDIGITALDISPLAYTYPE]                ; DigitalDisplayType
; Generic
InfoType=Health                         ; Displayed value enumeration (health|shield|ammo|mindcontrol|spawns|passengers|tiberium|experience|occupants|gattlingstage)
Offset=0,0                              ; integers - horizontal, vertical
Offset.ShieldDelta=                     ; integers - horizontal, vertical
Align=right                             ; Text alignment enumeration (left|right|center/centre)
Anchor.Horizontal=right                 ; Horizontal position enumeration (left|center/centre|right)
Anchor.Vertical=top                     ; Vertical position enumeration (top|center/centre|bottom)
Anchor.Building=top                     ; Hexagon vertex enumeration (top|lefttop|leftbottom|bottom|rightbottom|righttop)
Percentage=false                        ; boolean
HideMaxValue=false                      ; boolean
VisibleToHouses=owner                   ; Affected house enumeration (none|owner/self|allies/ally|team|enemies/enemy|all)
VisibleToHouses.Observer=true           ; boolean
ValueScaleDivisor=1                     ; integer
; Text
Text.Color=0,255,0                      ; integers - Red, Green, Blue
Text.Color.ConditionYellow=255,255,0    ; integers - Red, Green, Blue
Text.Color.ConditionRed=255,0,0         ; integers - Red, Green, Blue
Text.Background=false                   ; boolean
; Shape
Shape=                                  ; filename with .shp extension, if not present, game-drawn text will be used instead
Palette=palette.pal                     ; filename with .pal extension
Shape.Spacing=                          ; integers - horizontal, vertical spacing between digits

[SOMETECHNO]                            ; TechnoType
DigitalDisplay.Disable=false            ; boolean
DigitalDisplayTypes=                    ; List of DigitalDisplayTypes

RA2MD.INI

[Phobos]
DigitalDisplay.Enable=false             ; boolean

备注

可以在 Phobos 补充仓库 找到数字化显示的示例 Shape 文件。

闪烁选中的科技类型

  • 现在可以通过设置 SelectionFlashDuration 来让由玩家控制的单位在被选中时可以出现闪烁效果。或 SelectionFlashDuration=0 以禁用。

rulesmd.ini

[AudioVisual]
SelectionFlashDuration=0    ; integer, number of frames

隐藏血条

图像 CnC: Final War 中的隐藏血条使用实例

  • 现在可以根据需要关闭血条显示,这会隐藏血条框和生命值点数。

rulesmd.ini

[SOMENAME]            ; TechnoType
HealthBar.Hide=false  ; boolean

闪光效果切换

  • 可以关闭某些闪光效果。这些闪光效果包括:

    • 战斗闪光效果(Bright=true)以及使用相同逻辑的所有效果,例如铁幕/力场护盾受击闪光。

    • 如果 [AudioVisual] -> WarheadParticleAlphaImageIsLightFlash 或弹头 Particle.AlphaImageIsLightFlash 设为 true,那么计入那些附加在由弹头 Particle 生成的粒子系统或粒子上的 AlphaImage 光效。

      • 此外如果 [AudioVisual] -> LightFlashAlphaImageDetailLevel 高于当前画质级别,那么无论 HideLightFlashEffects 设置如何,这些 AlphaImage 都不会被创建。

rulesmd.ini

[AudioVisual]
WarheadParticleAlphaImageIsLightFlash=false  ; boolean
LightFlashAlphaImageDetailLevel=0            ; integer

[SOMEWARHEAD]                                ; WarheadType
Particle.AlphaImageIsLightFlash=             ; boolean

RA2MD.INI

[Phobos]
HideLightFlashEffects=false  ; boolean

低优先级框选

智能矿车 东方崛起 中的矿车不会与作战单位一同被选中

  • 现在你可以为游戏中的对象设置较低的优先级(目前主要影响单位),这意味着如果框选区域内至少有一个正常优先级的单位,则该对象将被排除在框选结果之外。否则它会被正常地选中。适用于带类型选择框选(类型选择快捷键 + 拖动)和普通框选。如果要添加的单位中不存在正常优先级的单位那么 Shift 框选时正常将低优先级单位添加到选中的组中。

rulesmd.ini

[SOMETECHNO]                ; TechnoType
LowSelectionPriority=false  ; boolean
  • 此行为设计为可由用户切换。目前你只能通过客户端或进行手动设置。

RA2MD.INI

[Phobos]
PrioritySelectionFiltering=true  ; boolean

放置预览

放置预览 东方崛起 中使用 50% 透明度的建筑放置预览

  • 现在放置建筑进行建造时可以启用建筑预览。这可以通过在全局设置 [AudioVisual] -> PlacementPreview 和每个建筑上设置 [BuildingType] -> PlacementPreview 来进一步自定义开启。

  • 如果 PlacementPreview 被禁用,PlacementGrid.Translucency 可以调整建筑放置网格(place.shp)的透明度,如果 PlacementPreview 被启用,那么由 PlacementGrid.TranslucencyWithPreview 来进行调整。

  • 如果不希望使用建筑的 Buildup,那也允许你使用 PlacementPreview.ShapePlacementPreview.ShapeFramePlacementPreview.Palette 来选择你希望显示的确切 Shape 文件和帧。

    • 你可以通过在文件名的特定部分添加三个 ~ 标记来指定特定气候的色盘和 Shape 文件。~~~ 将被替换为气候的三字母扩展名。

  • PlacementPreview.ShapeFrame 标签默认为建筑 artmd.iniBuildup 条目的最后一个非阴影帧。如果没有指定 Buildup 那么它会尝试使用建筑本体的第一帧(动画帧和 Bib 不包括在此预览效果中)作为默认值。

rulesmd.ini

[AudioVisual]
PlacementPreview=no                     ; boolean
PlacementPreview.Translucency=75        ; translucency level (0/25/50/75)
PlacementGrid.Translucency=0            ; translucency level (0/25/50/75)
PlacementGrid.TranslucencyWithPreview=  ; translucency level (0/25/50/75), defaults to [AudioVisual] -> PlacementGrid.Translucency

[SOMEBUILDING]                          ; BuildingType
PlacementPreview=yes                    ; boolean
PlacementPreview.Shape=                 ; filename - including the .shp extension. If not set uses building's artmd.ini Buildup SHP (based on Building's Image)
PlacementPreview.ShapeFrame=            ; integer, zero-based frame index used for displaying the preview
PlacementPreview.Offset=0,-15,1         ; integer, expressed in X,Y,Z used to alter position preview
PlacementPreview.Remap=yes              ; boolean, does this preview use player remap colors
PlacementPreview.Palette=               ; filename - including the .pal extension
PlacementPreview.Translucency=          ; translucency level (0/25/50/75), defaults to [AudioVisual] -> PlacementPreview.Translucency

备注

PlacementPreview.Remap 设为 yes 时 PlacementPreview.Palette 不会被使用。这在未来可能进行更改。

  • 此行为设计为可由用户切换。目前你只能通过客户端或进行手动设置。

RA2MD.INI

[Phobos]
ShowPlacementPreview=yes   ; boolean

实时计时器

  • 计时器现在可以实时显示值,同时考虑游戏速度。这可以通过 RealTimeTimers=true 来启用。

  • 默认情况下,时间是根据期望的帧率计算的。当启用 RealTimeTimers.Adaptive(对于无限制 FPS 和自定义速度始终为 true)时,时间将根据 当前 FPS 计算,同时考虑延迟。

    • 在使用无限制 FPS(或自定义速度高于 60 FPS)时,计时器可能会因为不稳定而不断改变数值。

  • 此选项尊重自定义游戏速度。

  • 此行为设计为可由用户切换。目前你只能通过客户端或进行手动设置。

RA2MD.INI

[Phobos]
RealTimeTimers=false            ; boolean
RealTimeTimers.Adaptive=false   ; boolean

显示指示者和抑制者范围

  • 现在可以在超级武器瞄准模式下显示指示者和抑制者单位的范围。每个玩家拥有的、列在 [SuperWeapon] -> SW.Designators 中的科技类型将显示一个半径由 [TechnoType] -> DesignatorRangeSight 设置的圆。

    • 类似的,每个敌方拥有的、列在 [SuperWeapon] -> SW.Inhibitors 中的科技类型将显示一个半径由 [TechnoType] -> InhibitorRangeSight 设置的圆。

  • 可以通过全局的 [AudioVisual] -> ShowDesignatorRange=false 或超级武器类型上的 [SuperWeapon] -> ShowDesignatorRange=false 来禁用此功能。

  • 此功能可以 由玩家 通过在 RA2MD.INI 中设置 ShowDesignatorRange 或 “界面” 类别中的 “开启指示者范围显示” 快捷键来切换(如果在 mod 中启用)。

rulesmd.ini

[AudioVisual]
ShowDesignatorRange=true    ; boolean

[SOMESW]                    ; SuperWeaponType
ShowDesignatorRange=true    ; boolean

RA2MD.INI

[Phobos]
ShowDesignatorRange=false             ; boolean

超级武器计时器优先级

  • 现在你可以根据给定的优先级数值将超级武器的计时器从上到下按升序排列。

rulesmd.ini

[SOMESW]              ; SuperWeaponType, with ShowTimer=yes
ShowTimer.Priority=0  ; integer

从回收站和矿场获得收入的视觉提示

  • DisplayIncome 可以设置为显示建筑在回收单位或从矿车或奴隶接受矿石时获得的资金点数。

  • 在游戏内不到一秒的时间内多次收入的金额将会合并成一个来显示。

    • DisplayIncome.Houses 决定哪些所属方可以看到资金点数显示。

      • 例如如果你不希望玩家看到 AI 如何通过 VirtualPurifiers 作弊,可以将 DisplayIncome.AllowAI 设为 false 以禁用。覆盖上一条选项。

    • DisplayIncome.Offset 是资金点数显示中心以像素为单位的额外偏移,默认 0,0 即建筑的中心。

    • [AudioVisual] -> DisplayIncome 还允许在维修厂出售单位时显示资金点数。

rulesmd.ini

[AudioVisual]
DisplayIncome=false       ; boolean
DisplayIncome.Houses=All  ; Affected House Enumeration (none|owner/self|allies/ally|team|enemies/enemy|all)
DisplayIncome.AllowAI=yes ; boolean

[SOMEBUILDING]            ; BuildingType
DisplayIncome=            ; boolean, defaults to [AudioVisual] -> DisplayIncome
DisplayIncome.Houses=     ; Affected House Enumeration, defaults to [AudioVisual] -> DisplayIncome.Houses
DisplayIncome.Offset=0,0  ; X,Y, pixels relative to default

快捷键命令

[ ] 显示伤害数字

  • 切换在造成杀伤时显示/隐藏浮动数字。详见 此处 以了解。

  • 为了本地化请将 TXT_DISPLAY_DAMAGETXT_DISPLAY_DAMAGE_DESC 添加到你的 .csf 文件。

[ ] 输出对象信息

  • 将当前悬停或最后选中的对象的信息写入日志并显示消息。详见 此处 以了解。

  • 为了本地化请将 TXT_DUMP_OBJECT_INFOTXT_DUMP_OBJECT_INFO_DESC 添加到你的 .csf 文件。

[ ] 开关逐帧模式

  • 开关逐帧模式

  • 为了本地化,请将 TXT_FRAME_BY_FRAMETXT_FRAME_BY_FRAME_DESC 添加到你的 .csf 文件中。

[ ] 保存变量

  • 将局部变量和全局变量保存到一个 INI 文件。参见 此处 以了解。

  • 为了本地化,请将 TXT_SAVE_VARIABLESTXT_SAVE_VARIABLES_DESC 添加到你的 .csf 文件中。

[ ] 切换指示范围

  • 切换超级武器指示者范围指示器开关。参见 此处 以了解。

  • 为了本地化,请将 TXT_DESIGNATOR_RANGETXT_DESIGNATOR_RANGE_DESC 添加到你的 .csf 文件中。

[ ] 开关数字化显示

  • 开关数字化显示类型

  • 为了本地化,请将 TXT_DIGITAL_DISPLAYTXT_DIGITAL_DISPLAY_DESC 添加到你的 .csf 文件中。

[ ] 下一个空闲矿车

  • 选择并将镜头中心转移到下一个被 矿车计数器 计入且处于空闲状态的科技类型。

  • 为了本地化请将 TXT_NEXT_IDLE_HARVESTERTXT_NEXT_IDLE_HARVESTER_DESC 添加到你的 .csf 文件。

[ ] 快速保存

  • 保存当前游戏

备注

要让此命令用于多人游戏,你必须使用支持多人存档后的 YRpp spawner 版本。

  • 为了本地化,请将 TXT_QUICKSAVETXT_QUICKSAVE_DESCTXT_QUICKSAVE_SUFFIXMSG:NotAvailableInMultiplayer 添加到你的 .csf 文件中。

    • 这些原有 CSF 条目将会被使用:TXT_SAVING_GAMETXT_GAME_WAS_SAVEDTXT_ERROR_SAVING_GAME

    • 保存的文件名应当类似于 Allied Mission 25: Esther's Money - QuickSaved

载入图

  • 现在可以使用 PCX 文件作为载入图图像。

    • 你可以使用 Ares 标签 File.LoadScreen 指定自定义载入图。

    • 战役载入图(missionmd.ini -> [LS800BkgdName]) 也可以使用 PCX 图像。

    • 观察者载入图可以使用 ls800obs.pcx(当屏幕宽度为 640 时使用 ls640obs.pcx)。

  • 载入图的大小现在可以与默认的 800x600 不同;如果图像比屏幕大,它将被居中并裁剪。

    • 此功能与 CnCNet5 Spawner DLL 相结合,它将把载入界面固定为当前游戏分辨率大小并把载入图置于中间。如果没有 CnCNet5 Spanwer,那么载入分辨率将被锁定为 800x600

    • 同样适用于战役载入图(missionmd.ini -> [LS800BkgdName])。

  • 现在你可以禁用 YR 引擎在空置出生点显示的黑点,这允许使用由地图渲染器生成的更没关且位置正确的标记。

uimd.ini

[LoadingScreen]
DisableEmptySpawnPositions=false  ; boolean

杂项

开始新战役时跳过保存游戏

在开始新战役时游戏会自动保存游戏。现在你可以自行决定是否要进行保存。

RA2MD.INI

[Phobos]
SaveGameOnScenarioStart=true ; boolean

拓展工具条

图像 CnC: Final War 中的拓展拓展工具条

  • 现在当鼠标悬停在图标上时侧边栏拓展工具条提示可以显示关于科技类型/超级武器类型的拓展信息。此外当通过相应标签启用此功能时低字符限制将被取消从而允许长达 1024 字符长度的工具提示信息。

  • 科技类型的拓展工具条将显示其名称、成本、电力、建造时间和描述(如果适用)。

  • 超级武器类型的拓展工具条将显示其名称、成本和充能时间(如果适用)。

    • 如果使用了 Ares 的 SW.Shots,那么将会附加一个 C 语言风格的格式化字符,默认为 Shots: %d。格式可以在 csf 中自定义。如果使用双参数格式(例如 还剩 %d/%d ),第二个整数是 SW.Shots

  • 拓展拓展工具条不会使用 TXT_MONEY_FORMAT_1TXT_MONEY_FORMAT_2。但你可以使用对应的标签指定成本、电力和时间标签(在对应值前显示)。默认为 $ U+0024 U+26A1 U+231A

  • 修复了一个通过 QWER 切换建造队列标签时拓展工具条没有消失的问题,这导致拓展工具条卡住。

  • 现在拓展工具条可以超出侧边栏边界以容纳更长的内容。你可以使用新增的标签控制最大文本宽度(不包括边框)。

  • AnchoredToolTips 将拓展工具条始终定到侧边栏左侧,仅在 ExtendedToolTips 设置为 true 且用户启用时生效。

uimd.ini

[ToolTips]
ExtendedToolTips=false     ; boolean
AnchoredToolTips=false     ; boolean
CostLabel=<none>           ; CSF entry key
PowerLabel=<none>          ; CSF entry key
PowerBlackoutLabel=<none>  ; CSF entry key
TimeLabel=<none>           ; CSF entry key
SWShotsFormat=<none>       ; CSF entry key
MaxWidth=0                 ; integer, pixels

rulesmd.ini

[SOMENAME]            ; TechnoType or SWType
UIDescription=<none>  ; CSF entry key
  • 描述设计可由用户自行切换。目前你只能通过客户端或进行手动设置。

RA2MD.INI

[Phobos]
ToolTipDescriptions=true  ; boolean

备注

与矿车计数器相同,你可以下载改进的字体(v4 或更高版本;可以在 Phobos 补充仓库 中找到)否则你需要自己编辑字库文件。

  • 现在可以全局或按阵营自定义拓展工具条的背景色和不透明度。

rulesmd.ini

[SOMESIDE]                          ; Side
ToolTip.Background.Color=0,0,0      ; integer - R,G,B, defaults to [AudioVisual] -> ToolTip.Background.Color, which defaults to 0,0,0
ToolTip.Background.Opacity=100      ; integer, ranged in [0, 100], defaults to [AudioVisual] -> ToolTip.Background.Opacity, which defaults to 100
ToolTip.Background.BlurSize=0.0     ; float, defaults to [AudioVisual] -> ToolTip.Background.BlurSize, which defaults to 0.0

备注

模糊效果非常占用资源,请确保你的确想要启用此效果,否则请保持 0.0 以禁用。

RA2MD.INI

[Phobos]
ToolTipBlur=false  ; boolean, whether the blur effect of tooltips will be enabled.