Fandom

武装突袭 Wiki

User Interface Colors

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 分享

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

Take On Helicopters introduced ability to recolor menu and HUD colors. Community creators can define new presets or use user's colors using following configs and functions.

Presets 编辑

File:UI InterfaceColors.jpg

Presets are avaiable for users in Options > Game Options > Interface Colors menu. Anybody can define new presets and categories.

class CfgUIDefault
{
	//--- Tag
	class IGUI
	{
		//--- Name displayed in menu
		displayName = $STR_HSIM_CfgUIDefault_IGUI_0;
		//--- Color variables
		class Variables
		{
			//--- Identification class ised by presets and scripts
			class TEXT_RGB
			{
				//--- Name displayed in menu
				displayName = $STR_HSIM_CfgUIDefault_IGUI_Variables_TEXT_RGB_0;
				//--- Preview picture background
				previewBackground = "\hsim\UI_H\data\loadscreen_generic_co.paa";
				//--- Preview picture (when 1 instead of String, whole menu is recolored instead)
				preview = "\hsim\UI_H\data\cursor_w_view_gs.paa";
				//--- Preview picture width
				previewW = 4 * GUI_GRID_W;
				//--- Preview picture height
				previewH = 4 * GUI_GRID_H;
			};
		};
		//--- Color presets
		class Presets
		{
			class PresetDefault
			{
				//--- Name displayed in menu
				displayName = $STR_HSIM_CfgUIDefault_IGUI_Presets_PresetGreen_0;
				//--- Class of modified variable (TEXT_RGB) with RGBA values
				TEXT_RGB[] = {0,1,0.05,0.8};
				//--- When 1, preset is used as default
				default = 1;
			};
			class PresetBlue
			{
				displayName = $STR_HSIM_CfgUIDefault_IGUI_Presets_PresetDefault_0;
				TEXT_RGB[] = {0,1,1,0.8};
			};
		};
	};
};


Macros 编辑

Adding new 编辑

System stores preset variables into profileNamespace upon startup. UI controls can link to them using getVariable command.

Using macros helps to keep the code simple and maintain in through development.

#define IGUI_TEXT_RGB_R			"(profileNamespace getVariable ['IGUI_TEXT_RGB_R',0])"
#define IGUI_TEXT_RGB_G			"(profileNamespace getVariable ['IGUI_TEXT_RGB_G',1])"
#define IGUI_TEXT_RGB_B			"(profileNamespace getVariable ['IGUI_TEXT_RGB_B',0.05])"
#define IGUI_TEXT_RGB_A			"(profileNamespace getVariable ['IGUI_TEXT_RGB_A',0.8])"

Explanation:

  • #define IGUI_TEXT_RGB_R - macro name. Can be anything, but naming it based on preset is recommended.
  • "(profileNamespace getVariable ['IGUI_TEXT_RGB_R',0])" - actual value. Must be String, otherwise macro would be terminated after first comma (,)
    • IGUI_TEXT_RGB - variable created by system based on preset. Created from <tag>_<variable>
    • 0 - default value in case variable is not found (used on first game start)


Existing 编辑

Color macros are defined in defineCommon.inc (see User Interface Macros for more details). Following defines are based on user modifiable colors:

  • GUI (menus)
    • GUI_BCG_RGB - menu background RGB
    • GUI_BCG_COLOR - menu background RGBA
    • GUI_BCG_MEDIUM_RGB - button background RGB (darker version of GUI_BCG_RGB)
    • GUI_BCG_MEDIUM_COLOR - button background RGBA
    • GUI_BCG_ACTIVE_RGB - active button background color (e.g. focused buttons) RGB
  • IGUI (HUD)
    • IGUI_TEXT_RGB - HUD color RGB
    • IGUI_TEXT_COLOR - HUD color RGBA


Sample Configs 编辑

Set text/picture color to HUD color

colorText[] = IGUI_TEXT_COLOR;

Set text/picture color to HUD color with fixed alpha (e.g. override user transparency settings)

colorText[] = {IGUI_TEXT_RGB,1};


Functions 编辑

更多维基

随机维基