Visual
HUD、雷达、雷达选项与画面滤镜。
include/XBase/Visual.h · XBase::Visual
Visual 状态由 XBase 管理。XMenu 只同步菜单状态;支持情况必须通过
FeatureCapability::VisualHudRadar、VisualFilter或VisualRadarOptions判断。
显示控制
bool DisplayHud(bool enable);
bool DisplayRadar(bool enable);DisplayHud— 显示或隐藏 HUDDisplayRadar— 显示或隐藏雷达,退出时恢复进入前的雷达状态
滤镜
bool SetFilter(int id, float strength);id 映射到天气/后处理滤镜条目,strength 控制强度。SA 支持夜视、红外等后处理,VC/III 通过天气类型近似实现,能力报告为 Partial。
雷达选项
struct RadarOptions {
bool square = false;
bool noRadarRot = false;
bool fullscreenMap = false;
bool unfogMap = false;
bool hideAreaNames = false;
bool hideVehicleNames = false;
bool nightVision = false;
bool infrared = false;
};
void SetRadarOptions(const RadarOptions& options);选项按帧持续应用,关闭时恢复原始补丁字节。仅 SA 实现(VisualRadarOptions);VC/III 调用为空操作,页面必须禁用入口。
生命周期
void NotifyGameInit();
void Process();
void Shutdown();Visual::Process() 由 Core::Process() 唯一调用,用于维护持续视觉状态;宿主不得直接调用。NotifyGameInit() 重置滤镜与雷达选项状态,Shutdown() 恢复 HUD、雷达和全部补丁。