From 02f32fc9c90282b01ffde97b18b385f07deca3b4 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Sun, 12 Jul 2026 19:25:01 +0100 Subject: [PATCH] fixes? --- gui/debug/window_component_library.gui | 2491 ----------------- gui/lists.gui | 3563 ------------------------ gui/portraits.gui | 3313 ---------------------- 3 files changed, 9367 deletions(-) delete mode 100644 gui/debug/window_component_library.gui delete mode 100644 gui/lists.gui delete mode 100644 gui/portraits.gui diff --git a/gui/debug/window_component_library.gui b/gui/debug/window_component_library.gui deleted file mode 100644 index 8bb0aec60..000000000 --- a/gui/debug/window_component_library.gui +++ /dev/null @@ -1,2491 +0,0 @@ -window = { - name = "component_library_window" - parentanchor = center - size = { 1400 950 } - layer = windows_layer - - using = Window_Background - using = Window_Decoration - - state = { - name = _show - using = Animation_FadeIn_Quick - - on_start = "[GetVariableSystem.Set( 'ui_library_tabs', 'action_buttons' )]" - } - - vbox = { - using = Window_Margins - - header_pattern = { - layoutpolicy_horizontal = expanding - - blockoverride "header_text" - { - raw_text = "UI Components" - } - - blockoverride "button_close" - { - onclick = "[ExecuteConsoleCommand('gui.clearwidgets')]" - } - - button_checkbox_label = { - parentanchor = vcenter - position = { 10 0 } - - onclick = "[GetVariableSystem.Toggle( 'ui_library_down_state')]" - blockoverride "checkbox" - { - - checked = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - blockoverride "text" - { - raw_text = "Down State" - } - } - - button_tertiary = { - parentanchor = vcenter - position = { 1050 0 } - size = { 200 40 } - layoutpolicy_horizontal = expanding - raw_text = "Spawn a Test Window" - raw_tooltip = "Window for GUI testing (test_gui.gui)" - - onclick = "[ExecuteConsoleCommand('gui.CreateWidget gui/debug/test_gui.gui test_window')]" - } - } - - hbox = { - layoutpolicy_horizontal = expanding - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Action Buttons" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'action_buttons' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'action_buttons' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Other Input" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'other_inputs' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'other_inputs' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "View Controls" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'view_controls' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'view_controls' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Selectors" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'selectors' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'selectors' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - - raw_text = "Separators" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'separators' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'separators' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - - raw_text = "Indicators" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'indicators' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'indicators' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - - raw_text = "Text Formats" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'text_formats' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'text_formats' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Portraits" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'portraits' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'portraits' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Coat of Arms" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'coas' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'coas' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - #button_tab = { - # layoutpolicy_horizontal = expanding - # - # raw_text = "Tooltips" - # - # onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'tooltips' )]" - # down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'tooltips' )]" - #} - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Animations" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'animations' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'animations' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - - button_tab = { - layoutpolicy_horizontal = expanding - raw_text = "Placeholders" - - onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'placeholders' )]" - down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'placeholders' )]" - - blockoverride "icon_visible" - { - visible = no - } - } - } - - scrollbox = { - name = "characters_scroll_area" - layoutpolicy_vertical = expanding - layoutpolicy_horizontal = expanding - - blockoverride "scrollbox_content" { - vbox = { - name = "action_buttons" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'action_buttons' )]" - - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Action buttons represent an action you can DO, that change the game state or applies changes." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Primary Button" - } - - blockoverride "vce_area" - { - button_primary = { - raw_text = "Verb Noun" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - button_primary_big = { - raw_text = "Verb Noun" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "The Primary Action of a View. There should only be at most one of these per view, though not all views need one. It represents the most important action you can take in the view. It should not have an icon, simply a text. The label should contain a verb, and ideally also a noun." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Secondary Button" - } - - blockoverride "vce_area" - { - button_round = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - - button_prison_ransom = { - parentanchor = center - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - button_standard = { - - raw_text = "Verb Noun" - - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - button_standard_big = { - raw_text = "Verb Noun" - - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - } - - blockoverride "vce_desc" - { - raw_text = "Secondary Actions of a View. There can be many of these in a view. To save space, we sometimes use an icon-only version. The label should contain a verb, and ideally also a noun. Currently we use button_standard for this type, but possibly some of the button_standard should really be button_primary or button_tertiary" - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Back Button" - } - - blockoverride "vce_area" - { - button_standard_back = { - raw_text = "Verb Noun" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "This back button type should be used everytime there is a need for a back button, always including the icon to the left." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Tertiary Button" - } - - blockoverride "vce_area" - { - button_me = { - name = "button_me" - block "button_me" { - visible = yes - } - - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - button_tertiary = { - raw_text = "Verb Noun" - - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "Rare and non-recommended Actions. Does not currently have an icon-only version. Could possibly have its own unique look instead of being the same as the frontend button" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Frontend Button" - } - - blockoverride "vce_area" - { - button_frontend = { - raw_text = "Verb Noun" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "Action button for the Main Menu and Ingame Menu parts of the game. The same visual importance as a Secondary Button, but one that looks a bit more flavorful." - } - } - } - - vbox = { - name = "other_inputs" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'other_inputs' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Other forms of input" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "editbox_standard" - } - - blockoverride "vce_area" - { - editbox_standard = {} - } - - blockoverride "vce_desc" - { - raw_text = "Regular editbox, allows entry of text on one or more lines" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "editbox_standard_with_label" - } - - blockoverride "vce_area" - { - editbox_standard_with_label = { - blockoverride "editbox_label" - { - raw_text = "Label:" - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Regular editbox, with a label. This is preferrable if there is space. The label is above to make sure there is maximum room for the text itself" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "editbox_search_field" - } - - blockoverride "vce_area" - { - editbox_search_field = { - } - } - - blockoverride "vce_desc" - { - raw_text = "Editbox for searching/filtering" - } - } - } - - vbox = { - name = "view_controls" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'view_controls' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "View Controls hide or show parts of a UI, but they have no direct effect on the game itself." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Tab" - } - - blockoverride "vce_area" - { - button_tab = { - raw_text = "Noun" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - } - - blockoverride "vce_desc" - { - raw_text = "A tab, gives a mutually exclusive choice of what subview to show. The text on them should simply be a Noun." - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Vertical Tab" - } - - blockoverride "vce_area" - { - button_tab_vertical = { - raw_text = "Noun" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - } - - blockoverride "vce_desc" - { - raw_text = "Works the same as a tab, but the tabs are arranged vertically instead. Currently, the only way to toggle it 'selected' is to change the upframe property, instead of using the down property as you would expect." - } - - } - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Sidepanel Open" - } - - blockoverride "vce_area" - { - button_sidepanel_right = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - - blockoverride "button_text" - { - raw_text = "View Blablablas" - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Opens a sidepanel in a window. Has two versions, one opens a panel to the right, another to the left." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Expand/Collapse Heading" - } - - blockoverride "vce_area" - { - - - } - - blockoverride "vce_desc" - { - raw_text = "A heading you can click to expand/collapse what is under it." - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Window Controls" - } - - blockoverride "vce_area" - { - buttons_window_control = { - blockoverride "button_go_to" { - visible = yes - } - - blockoverride "button_pin" - { - visible = yes - } - - blockoverride "button_me" { - visible = yes - } - - blockoverride "button_back" { - visible = yes - } - - blockoverride "button_minimize" { - visible = yes - } - } - - } - - blockoverride "vce_desc" - { - raw_text = "Controls in top right that acts on the UI itself, such as closing, minimizing, or pinning the UI for opening at a later time." - } - - } - } - - vbox = { - name = "selectors" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'selectors' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Selectors allow the player to choose among a few options. Currently we make no distinction between if this selection affects the gamestate or just what is shown/hidden, or if it is applied immediately or requires some confirmation." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Checkbox" - } - - blockoverride "vce_area" - { - button_checkbox_label = {} - } - - blockoverride "vce_desc" - { - raw_text = "Used to choose between two states. Ideally a checkbox should always have a label, though we sometimes use button_checkbox if there is no room. Some Jomini interfaces do not use button_checkbox_label, mostly because it is too much work to change it." - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Segmented Control" - } - - blockoverride "vce_area" - { - - - } - - blockoverride "vce_desc" - { - text = "" - } - - } - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Radiobutton" - } - - blockoverride "vce_area" - { - button_radio_label = {} - - } - - blockoverride "vce_desc" - { - raw_text = "Used to pick one of many options. We don't use this gui type currently because all our radiobuttons are in jomini" - } - - } - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "dropdown_menu_standard" - } - - blockoverride "vce_area" - { - dropdown_menu_standard = { - - - blockoverride "dropdown_properties" - { - datamodel = "[GetPlayer.GetCourt]" - } - - blockoverride "dropdown_size" - { - size = { 300 32 } - } - - blockoverride "dropdown_list_maxsize" - { - maximumsize = { 291 250 } - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Used to pick one from many options. Use this if space is limited. Note that you NEED a datamodel otherwise it will not even appear" - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "widget_game_rule_option" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "this type spawns errors..." - } - # widget_game_rule_option = { - # } - } - - blockoverride "vce_desc" - { - raw_text = "Stepper only used in game rules, can be used in more places if needed" - } - } - } - - vbox = { - name = "portraits" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'portraits' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Portraits are essentially Object Buttons for Characters, but we use a few different size so it nice to see them all in one place." - } - } - - hbox_text_entry = { - visible = "[Not(IsInGame)]" - blockoverride "hte_text" - { - raw_text = "You have to be in-game to see portraits and coat of arms" - } - } - - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "portrait_head_small" - } - - blockoverride "vce_area" - { - - portrait_head_small = { - datacontext = "[GetPlayer]" - } - } - - blockoverride "vce_desc" - { - raw_text = "Smallest size, for compact list entries" - } - } - - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "portrait_head" - } - - blockoverride "vce_area" - { - portrait_head = { - datacontext = "[GetPlayer.GetPlayerHeir]" - } - - } - - blockoverride "vce_desc" - { - text = "" - } - - } - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "portrait_shoulders" - } - - blockoverride "vce_area" - { - portrait_shoulders = { - datacontext = "[GetPlayer]" - } - - } - - blockoverride "vce_desc" - { - text = "" - } - - } - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "portrait_torso" - } - - blockoverride "vce_area" - { - portrait_torso = { - datacontext = "[GetPlayer.GetPlayerHeir]" - } - - } - - blockoverride "vce_desc" - { - text = "" - } - - } - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "portrait_body" - } - - blockoverride "vce_area" - { - portrait_body = { - datacontext = "[GetPlayer]" - } - - } - - blockoverride "vce_desc" - { - raw_text = "For full flavor where we have the room" - } - - } - - } - - vbox = { - name = "coas" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'coas' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Coat of Arms are essentially Object Buttons for Titles, Realms, Houses and Dynasties, but we use a few different size so it nice to see them all in one place." - } - } - - hbox_text_entry = { - visible = "[Not(IsInGame)]" - blockoverride "hte_text" - { - raw_text = "You have to be in-game to see portraits and coat of arms" - } - } - - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "Realm Coat of Arms" - } - - blockoverride "vce_area" - { - hbox = { - vbox = { - coa_realm_tiny_crown = { - datacontext = "[GetPlayer]" - } - text_single = { - raw_text = "tiny" - } - } - - vbox = { - coa_realm_small_crown = { - datacontext = "[GetPlayer]" - } - text_single = { - raw_text = "small" - } - } - - vbox = { - coa_realm_medium_crown = { - datacontext = "[GetPlayer]" - } - text_single = { - raw_text = "medium" - } - } - - vbox = { - coa_realm_big_crown = { - datacontext = "[GetPlayer]" - } - text_single = { - raw_text = "big" - } - } - - vbox = { - coa_realm_huge_crown = { - datacontext = "[GetPlayer]" - } - text_single = { - raw_text = "huge" - } - } - } - - } - - blockoverride "vce_desc" - { - raw_text = "Represents a Realm. Has an suffix for '_crown' if a crown should be added so that the Rank of the Realm is clearer." - } - - } - - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "Title Coat of Arms" - } - - blockoverride "vce_area" - { - hbox = { - vbox = { - coa_title_tiny_crown = { - datacontext = "[GetPlayer.GetPrimaryTitle]" - } - text_single = { - raw_text = "tiny" - } - } - - vbox = { - coa_title_small_crown = { - datacontext = "[GetPlayer.GetPrimaryTitle]" - } - text_single = { - raw_text = "small" - } - } - - vbox = { - coa_title_medium_crown = { - datacontext = "[GetPlayer.GetPrimaryTitle]" - } - text_single = { - raw_text = "medium" - } - } - - vbox = { - coa_title_big_crown = { - datacontext = "[GetPlayer.GetPrimaryTitle]" - } - text_single = { - raw_text = "big" - } - } - } - - } - - blockoverride "vce_desc" - { - raw_text = "Represents a Title. Has an suffix for '_crown' if a crown should be added so that the Rank of the Title is clearer." - } - - } - - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "House Coat of Arms" - } - - blockoverride "vce_area" - { - hbox = { - vbox = { - coa_house_tiny = { - datacontext = "[GetPlayer.GetHouse]" - } - text_single = { - raw_text = "tiny" - } - } - - vbox = { - coa_house_small = { - datacontext = "[GetPlayer.GetHouse]" - } - text_single = { - raw_text = "small" - } - } - - vbox = { - coa_house_medium = { - datacontext = "[GetPlayer.GetHouse]" - } - text_single = { - raw_text = "medium" - } - } - - vbox = { - coa_house_big = { - datacontext = "[GetPlayer.GetHouse]" - } - text_single = { - raw_text = "big" - } - } - - vbox = { - coa_house_huge = { - datacontext = "[GetPlayer.GetHouse]" - } - text_single = { - raw_text = "huge" - } - } - } - - } - - blockoverride "vce_desc" - { - raw_text = "Represents a House." - } - - } - - vbox_component_entry = { - visible = "[IsInGame]" - blockoverride "vce_name" - { - raw_text = "Dynasty Coat of Arms" - } - - blockoverride "vce_area" - { - hbox = { - - vbox = { - coa_dynasty_tiny = { - datacontext = "[GetPlayer.GetHouse.GetDynasty]" - } - text_single = { - raw_text = "tiny" - } - } - - vbox = { - coa_dynasty_small = { - datacontext = "[GetPlayer.GetHouse.GetDynasty]" - } - text_single = { - raw_text = "small" - } - } - - vbox = { - coa_dynasty_medium = { - datacontext = "[GetPlayer.GetHouse.GetDynasty]" - } - text_single = { - raw_text = "medium" - } - } - - vbox = { - coa_dynasty_big = { - datacontext = "[GetPlayer.GetHouse.GetDynasty]" - } - text_single = { - raw_text = "big" - } - } - - vbox = { - coa_dynasty_huge = { - datacontext = "[GetPlayer.GetHouse.GetDynasty]" - } - text_single = { - raw_text = "huge" - } - } - } - - } - - blockoverride "vce_desc" - { - raw_text = "Represents a Dynasty." - } - - } - - - - - } - - vbox = { - name = "separators" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'separators' )]" - layoutpolicy_horizontal = expanding - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "text_label_center/left/right" - } - - blockoverride "vce_area" - { - text_label_left = { - layoutpolicy_horizontal = expanding - raw_text = "left" - } - text_label_center = { - layoutpolicy_horizontal = expanding - raw_text = "center" - } - text_label_right = { - layoutpolicy_horizontal = expanding - raw_text = "right" - } - } - - blockoverride "vce_desc" - { - raw_text = "Text Labels (left, right center)" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "divider and divider_light" - } - - blockoverride "vce_area" - { - divider_light = { - layoutpolicy_horizontal = expanding - } - divider = { - layoutpolicy_horizontal = expanding - } - } - - blockoverride "vce_desc" - { - raw_text = "Dividers, can be used both vertically and horizontally" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Area" - } - - blockoverride "vce_area" - { - widget = { - size = { 150 150 } - - background = { - using = Background_Area - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Area_Dark" - } - - blockoverride "vce_area" - { - widget = { - size = { 150 150 } - - background = { - using = Background_Area_Dark - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Area_Light" - } - - blockoverride "vce_area" - { - widget = { - size = { 150 150 } - - background = { - using = Background_Area_Light - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Frame" - } - - blockoverride "vce_area" - { - widget = { - size = { 150 150 } - - background = { - using = Background_Frame - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Area_With_Header" - } - - blockoverride "vce_area" - { - widget = { - size = { 250 150 } - - background = { - using = Background_Area_With_Header - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Area_With_Header_Dark" - } - - blockoverride "vce_area" - { - widget = { - size = { 250 150 } - - background = { - using = Background_Area_With_Header_Dark - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Tab_Area" - } - - blockoverride "vce_area" - { - widget = { - size = { 250 150 } - - background = { - using = Background_Tab_Area - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Background for area under tabs." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Letter" - } - - blockoverride "vce_area" - { - widget = { - size = { 250 150 } - - using = Background_Letter - } - } - - blockoverride "vce_desc" - { - raw_text = "Background" - } - } - } - - vbox = { - name = "indicators" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'indicators' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Indicators are visual elements that show a certain value or percentage. They usually do not have a way for the player to perform an action." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Progressbar" - } - - blockoverride "vce_area" - { - progressbar_standard = { - layoutpolicy_horizontal = expanding - value = 40 - } - - progressbar_standard_transparent = { - layoutpolicy_horizontal = expanding - value = 40 - } - - progressbar_red = { - layoutpolicy_horizontal = expanding - value = 40 - } - - progressbar_green = { - layoutpolicy_horizontal = expanding - value = 40 - } - - progressbar_frozen = { - layoutpolicy_horizontal = expanding - value = 40 - } - - progressbar_frozen_transparent = { - layoutpolicy_horizontal = expanding - value = 40 - } - - } - - blockoverride "vce_desc" - { - raw_text = "Various standard progressbars" - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Relative Bar" - } - - blockoverride "vce_area" - { - - - } - - blockoverride "vce_desc" - { - raw_text = "Like a Progressbar, but instead of indication progress towards some end, instead it shows the relative relation between two things, like the two sides in a Battle." - } - - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Indicator backgrounds" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "Status_Good" - - using = Status_Good - } - - text_single = { - raw_text = "Status_Mixed" - - using = Status_Mixed - } - - text_single = { - raw_text = "Status_Bad" - - using = Status_Bad - } - - text_single = { - raw_text = "Status_Highlight" - - using = Status_Highlight - } - } - - blockoverride "vce_desc" - { - raw_text = "Backgrounds that highlights whether a value is positive, negative, or if we just need to highlight something." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Indicator icons" - } - - blockoverride "vce_area" - { - - hbox = { - spacing = 20 - - hbox = { - icon = { - size = { 40 40 } - texture = "gfx/interface/icons/symbols/icon_alert.dds" - } - - warning_icon = { - size = { 40 40 } - } - } - - hbox = { - icon = { - size = { 40 40 } - texture = "gfx/interface/icons/symbols/icon_check.dds" - } - - icon = { - size = { 40 40 } - texture = "gfx/interface/icons/symbols/icon_cross.dds" - } - } - - hbox = { - icon = { - size = { 40 40 } - texture = "gfx/interface/icons/symbols/icon_arrow_green_down.dds" - mirror = vertical - } - - icon = { - size = { 40 40 } - texture = "gfx/interface/icons/symbols/icon_arrow_red_up.dds" - mirror = vertical - } - - icon = { - size = { 40 40 } - texture = "gfx/interface/icons/symbols/icon_arrow_up.dds" - mirror = vertical - } - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Symbols" - } - } - } - - vbox = { - name = "text_formats" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'text_formats' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Text formats are defined in 'gui/textformatting.gui'. They are named based on their use rather than their look, so we can tweak them easily." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "High Contrast (##high)" - } - - blockoverride "vce_area" - { - - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#high" - } - } - - blockoverride "vce_desc" - { - raw_text = "For text that needs to stand out" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Medium Contrast (##medium)" - } - - blockoverride "vce_area" - { - - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#medium" - } - } - - blockoverride "vce_desc" - { - raw_text = "For most regular text" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Low Contrast (##low)" - } - - blockoverride "vce_area" - { - - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#low" - } - } - - blockoverride "vce_desc" - { - raw_text = "For lowest contrast, mostly for short text and UI elements" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Weak (##weak)" - } - - blockoverride "vce_area" - { - - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#weak" - } - } - - blockoverride "vce_desc" - { - raw_text = "Low contrast longer text that explains something that is not very important. For example, filling out an empty state, or instructing how a mechanic works." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Flavor (##flavor, ##F)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#flavor" - } - } - - blockoverride "vce_desc" - { - raw_text = "For Flavor texts for entities such as Faiths, Men-at-Arms types, etc." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Light background (##light_background)" - } - - blockoverride "vce_area" - { - using = Background_Letter - - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#light_background" - } - } - - blockoverride "vce_desc" - { - raw_text = "For light backgrounds like letter events" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Help (##help)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - default_format = "#help" - } - } - - blockoverride "vce_desc" - { - raw_text = "For hints and tips in Alert/Suggestion/Current Situation Tooltips" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Instruction (##instruction, ##I)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "Shift-click to add to selection" - default_format = "#I" - } - } - - blockoverride "vce_desc" - { - raw_text = "For instructions to the Player (not their Character), either referring to the input controls or asking them to make a choice." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Warning (##warning, ##X)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "@warning_icon!You are a Child" - default_format = "#X" - } - } - - blockoverride "vce_desc" - { - raw_text = "For when things are wrong or buttons are disabled. Should always be paired with the Warning Text Icon" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Alert Trial (##alert_trial)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "@alert_icon!Something might happen..." - default_format = "#alert_trial" - } - } - - blockoverride "vce_desc" - { - raw_text = "Trying this out, to show bad things that will happen in future? Or less severe stuff?" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Value (##value, ##V)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "42" - default_format = "#V" - } - } - - blockoverride "vce_desc" - { - raw_text = "For important values that should stand out. Usually it means the value changes. Supports skimming a page for values." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Negative Value (##negative_value, ##N)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "+42" - default_format = "#N" - } - } - - blockoverride "vce_desc" - { - raw_text = "For 'bad' values, for example if a Character gains Stress. Used by code to color the '+/-' number formatting" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Positive Value (##positive_value, ##P)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "42" - default_format = "#P" - } - } - - blockoverride "vce_desc" - { - raw_text = "For 'good' values, for example if a Character gains Gold. Used by code to color the '+/-' number formatting" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Zero Value (##zero_value, ##Z)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "0" - default_format = "#Z" - } - } - - blockoverride "vce_desc" - { - raw_text = "For values that are neither good nor bad. Used by code to color the '+/-' number formatting" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Clickable (##clickable)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "Start Game" - default_format = "#clickable" - } - } - - blockoverride "vce_desc" - { - raw_text = "For interactible elements such as buttons" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Game Object Link (##game_link, ##L)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "House Canossa" - default_format = "#L" - } - } - - blockoverride "vce_desc" - { - raw_text = "For Game Objects (Characters, Titles, Traits, etc). Hover over the text to get a (dynamic) tooltip of this specific instance" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Game Concept Link (##explanation_link, ##E)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "Vassal" - default_format = "#E" - } - } - - blockoverride "vce_desc" - { - raw_text = "Used for Game Concepts, hover over this text to get a (static) explanation of something in the game." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Game Concept Link, Light background (##explanation_link_light_background, B)" - } - - blockoverride "vce_area" - { - using = Background_Letter - - text_single = { - raw_text = "Vassal" - default_format = "#B" - } - } - - blockoverride "vce_desc" - { - raw_text = "Game Concept Link for light backgrounds such as letter events" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Tooltip Heading (##tooltip_heading, ##T)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "North Sea" - default_format = "#T" - } - } - - blockoverride "vce_desc" - { - raw_text = "Used in text tooltips for the heading that tells the player what they have put their mouse on" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Tooltip Subheading (##tooltip_subheading, ##S)" - } - - blockoverride "vce_area" - { - - - text_single = { - raw_text = "Effects" - default_format = "#S" - } - } - - blockoverride "vce_desc" - { - raw_text = "Some text tooltips are split into multiple segments, each headed by a subheading" - } - } - - - } - - vbox = { - name = "animations" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'animations' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "Animations used for window show and hide transitions." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Animation_FadeIn/Out_Standard" - } - - blockoverride "vce_area" - { - - debug_square = { - size = { 100 100 } - - state = { - name = a - next = b - trigger_on_create = yes - - using = Animation_FadeIn_Standard - delay = 1 - } - - state = { - name = b - next = a - - using = Animation_FadeOut_Standard - delay = 1 - } - } - } - - blockoverride "vce_desc" - { - raw_text = "0.25 second duration" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Animation_FadeIn/Out_Quick" - } - - blockoverride "vce_area" - { - - debug_square = { - size = { 100 100 } - - state = { - name = a - next = b - trigger_on_create = yes - - using = Animation_FadeIn_Quick - delay = 1 - } - - state = { - name = b - next = a - - using = Animation_FadeOut_Quick - delay = 1 - } - } - } - - blockoverride "vce_desc" - { - raw_text = "0.15 second duration" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Animation_Tab_Switch" - } - - blockoverride "vce_area" - { - - widget = { - size = { 100 100 } - - debug_square = { - visible = "[GetVariableSystem.Exists( 'ui_library_tab_switch_example' )]" - size = { 100 100 } - - using = Animation_Tab_Switch - } - - debug_square = { - visible = "[Not(GetVariableSystem.Exists( 'ui_library_tab_switch_example' ))]" - size = { 100 100 } - - using = Animation_Tab_Switch - - texture = "gfx/interface/colors/blue.dds" - } - } - - button_tertiary = { - onclick = "[GetVariableSystem.Toggle( 'ui_library_tab_switch_example' )]" - raw_text = "Test" - } - } - - blockoverride "vce_desc" - { - raw_text = "For switching between tabs or other view modes. Has 0 hide duration to prevent overlap." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Animation_Refresh" - } - - blockoverride "vce_area" - { - - widget = { - size = { 100 100 } - - debug_square = { - size = { 100 100 } - - using = Animation_Tab_Switch - - state = { - name = "ui_library_refresh_animation_test" - using = Animation_Refresh_FadeOut - } - - state = { - using = Animation_Refresh_FadeIn - } - } - } - - button_tertiary = { - onclick = "[PdxGuiTriggerAllAnimations('ui_library_refresh_animation_test')]" - raw_text = "Test" - } - } - - blockoverride "vce_desc" - { - raw_text = "For refreshing window content, ie. selecting between different faiths while the Faith Window is open." - } - } - } - - vbox = { - name = "placeholders" - visible = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'placeholders' )]" - layoutpolicy_horizontal = expanding - - hbox_text_entry = { - blockoverride "hte_text" - { - raw_text = "This tab contains our debug and placeholder assets. You can use these whenever there is art missing or in early development to simply wireframe a UI." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "debug_square" - } - - blockoverride "vce_area" - { - debug_square = {} - } - - blockoverride "vce_desc" - { - raw_text = "Our classic vintage debug_square. This shouldn't have to be used as much anymore but it's there if you need it." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "icon_placeholder" - } - - blockoverride "vce_area" - { - icon_placeholder = { - size = { 30 30 } - } - } - - blockoverride "vce_desc" - { - raw_text = "A placeholder version of an icon which can be used when art isn't made yet. When hooking in icons which have not yet been made by art, simply copy the texture in the gfx/interface/_debug-folder and paste it in the correct game folder. Then change the name to the name specified in the related Jira." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "flat_icon_standard_placeholder" - } - - blockoverride "vce_area" - { - icon_flat_standard_placeholder = { - size = { 30 30 } - } - } - - blockoverride "vce_desc" - { - raw_text = "A placeholder version of an icon_flat_standard which can be used when art isn't made yet. This is just a black icon shape with a texture applied on top of it through script. When hooking in icons which have not yet been made by art, simply copy the texture in the gfx/interface/_debug-folder and paste it in the correct game folder. Then change the name to the name specified in the related Jira." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "button_icon_placeholder" - } - - blockoverride "vce_area" - { - button_icon_placeholder = { - size = { 30 30 } - } - } - - blockoverride "vce_desc" - { - raw_text = "A placeholder version of an icon_flat_standard which can be used when art isn't made yet. To find out when to use this button type go to the Action Buttons tab in this window for more information." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "button_round_placeholder" - } - - blockoverride "vce_area" - { - button_round_placeholder = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - - button_icon_placeholder = { - parentanchor = center - size = { 25 25 } - texture = "gfx/interface/_debug/icon_placeholder_01.dds" - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - } - - blockoverride "vce_desc" - { - raw_text = "A placeholder round button icon which can be used when icon isn't made by art yet. This is very similar to the button_icon type but with the addition of a round frame. To find out when to use this button type go to the Action Buttons tab in this window for more information." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "button_primary_placeholder & button_primary_big_placeholder" - } - - blockoverride "vce_area" - { - button_primary_placeholder = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - button_primary_big_placeholder = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "Placeholder version of our primary button. To find out when to use this button type go to the Action Buttons tab in this window for more information." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "button_standard_placeholder & button_standard_big_placeholder" - } - - blockoverride "vce_area" - { - button_standard_placeholder = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - - button_standard_big_placeholder = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "Placeholder version of our standard button. To find out when to use this button type go to the Action Buttons tab in this window for more information." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "button_tertiary_placeholder" - } - - blockoverride "vce_area" - { - button_tertiary_placeholder = { - down = "[GetVariableSystem.Exists('ui_library_down_state')]" - } - } - - blockoverride "vce_desc" - { - raw_text = "Placeholder version of our tertiary button. To find out when to use this button type go to the Action Buttons tab in this window for more information." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Text_Placeholder & Debug Text Format (##D)" - } - - blockoverride "vce_area" - { - text_single = { - raw_text = "Flygande bäckasiner söka hwila på mjuka tuvor" - using = Text_Placeholder - } - } - - blockoverride "vce_desc" - { - raw_text = "Text template format that can be used on texts to make it pink and communicate it's not final. This can be applied to text inside our types: text_single, text_multi etc. To apply this template to text write: using = Text_Placeholder or use ( default_format = ##D )" - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Background_Frame_Placeholder" - } - - blockoverride "vce_area" - { - widget = { - size = { 100 100 } - - hbox = { - background = { - using = Background_Frame_Placeholder - } - } - } - - icon = { - size = { 200 100 } - - background = { - texture = "gfx/interface/illustrations/dlc/dlc_004.dds" - fittype = centercrop - using = Mask_Rough_Edges - } - - background = { - using = Background_Frame_Placeholder - } - } - } - - blockoverride "vce_desc" - { - raw_text = "A placeholder frame in our debug color. This can be put around a widget of most types to communicate it's a placeholder." - } - } - - vbox_component_entry = { - blockoverride "vce_name" - { - raw_text = "Texture_Placeholder" - } - - blockoverride "vce_area" - { - icon = { - size = { 200 100 } - - background = { - texture = "gfx/interface/illustrations/dlc/dlc_004.dds" - fittype = centercrop - using = Mask_Rough_Edges - using = Texture_Placeholder - } - } - } - - blockoverride "vce_desc" - { - raw_text = "Use the template to turn the whole texture pink if the frame isn't enough to communicate an illustration is just a placeholder." - } - } - } - } - } - } -} - -types ComponentLibrary -{ - type vbox_component_entry = vbox { - layoutpolicy_horizontal = expanding - margin_bottom = 10 - - text_single = { - name = "heading" - layoutpolicy_horizontal = expanding - margin = { 10 5 } - - using = Background_Area_Dark - - using = Font_Size_Medium - align = nobaseline - - block "vce_name" - { - raw_text = "vce_name" - } - } - - hbox = { - layoutpolicy_horizontal = expanding - - vbox = { - min_width = 500 - margin ={ 20 20 } - spacing = 10 - - block "vce_area" - { - - } - } - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin = { 15 15 } - - background = { - using = Background_Area - } - - vbox = { - layoutpolicy_vertical = expanding - - text_multi = { - name = "desc" - - autoresize = yes - max_width = 700 - - block "vce_desc" - { - raw_text = "vce_desc" - } - } - - expand = {} - } - - expand = {} - } - } - } - - - type hbox_text_entry = hbox { - layoutpolicy_horizontal = expanding - - margin = { 15 15 } - margin_bottom = 25 - - text_multi = { - block "hte_text" - { - raw_text = "hte_text" - } - align = center - autoresize = yes - default_format = "#I" - max_width = 700 - } - } -} diff --git a/gui/lists.gui b/gui/lists.gui deleted file mode 100644 index c27c42f4e..000000000 --- a/gui/lists.gui +++ /dev/null @@ -1,3563 +0,0 @@ -###################################################### -############## LIST TYPES AND TEMPLATES ############## -###################################################### - -template default_character_list_overlay -{ - modify_texture = { - texture = "gfx/interface/buttons/button_standard_overlay.dds" - spriteType = Corneredstretched - spriteborder = { 3 3 } - blend_mode = overlay - } -} - -template character_age_or_death_text -{ - hbox = { - block "list_layout" { - minimumsize = { 62 0 } - expand = {} - } - - margin_right = 5 - spacing = 2 - - block "character_age" - { - text_single = { - text = "[Character.GetAge]" - align = nobaseline - } - } - - icon = { - visible = "[Not(Character.IsDeadAndValid)]" - size = { 23 23 } - framesize = { 60 60 } - frame = "[Character.GetHealthIconFrame]" - texture = "gfx/interface/icons/character_status/icon_health.dds" - tooltip = "[Character.GetHealthInfo]" - } - - block "is_dead" - { - icon = { - name = "is_dead" - visible = "[Character.IsDeadAndValid]" - size = { 23 23 } - - texture = "[Character.GetDeathReasonIcon]" - tooltip = "CHARACTER_DEAD_TOOLTIP" - } - } - } -} - -types Lists -{ - type character_age_health = hbox - { - spacing = 2 - - text_single = { - text = "[Character.GetAge]" - align = nobaseline - } - - icon = { - visible = "[Not(Character.IsDeadAndValid)]" - size = { 23 23 } - framesize = { 60 60 } - frame = "[Character.GetHealthIconFrame]" - texture = "gfx/interface/icons/character_status/icon_health.dds" - tooltip = "[Character.GetHealthInfo]" - } - - expand = {} - } - - # Implementation details - type character_list_arrow = highlight_icon - { - parentanchor = left|vcenter - position = { -13 0 } - - size = { 14 14 } - framesize = { 14 28 } - texture = "gfx/interface/buttons/button_entry_characterlist_arrow.dds" - - gfxtype = togglepushbuttongfx - effectname = "NoHighlight" - - spriteType = Corneredstretched - spriteborder = { 20 20 } - } - ## Character Skill Value - - type widget_skill_item_no_icon = widget { - tooltip = "SKILL_ITEM_TOOLTIP" - using = tooltip_se - size = { 32 25 } - - text_single = { - name = "value" - parentanchor = center - margin_bottom = 4 - align = center - text = "[SkillItem.GetValue]" - } - - background = { - name = "skill_icon_bg" - texture = "gfx/interface/window_character/character_view_skills_bg.dds" - framesize = { 70 26 } - margin = { 5 0 } - - block "bg" - { - frame = "[SkillItem.GetFrame]" - } - } - } - - ## Character List Items - type widget_character_list_item = widget { - datacontext = "[CharacterListItem.GetCharacter]" - size = { 10 110 } - - block "divider" { - divider = { - parentanchor = bottom|hcenter - size = { 100% 3 } - } - } - - block "widget" {} - - hbox = { - margin = { 0 5 } - spacing = 15 - - portrait_head_small = {} - - button_standard = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - onclick = "[CharacterListItem.OnClick('character')]" - enabled = "[CharacterListItem.IsSelectable]" - tooltip = "[CharacterListItem.GetUnselectableReason]" - - framesize = { 252 80 } - spriteType = Corneredtiled - spriteborder = { 10 30 } - - block "button_texture" - { - texture = "gfx/interface/buttons/button_entry_characterlist.dds" - } - - block "button" {} - - character_list_arrow = { - name = "character_list_arrow" - } - - block "overlay" { - using = default_character_list_overlay - } - - block "button_content" - { - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - # Name - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - # Age & Relation - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin_left = 10 - - min_width = 320 - max_width = 320 - - text_single = { - layoutpolicy_horizontal = expanding - using = Font_Size_Medium - autoresize = no - alwaystransparent = yes - - text = "[Character.GetUINameNoTooltip|U]" - } - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - using = character_age_or_death_text - blockoverride "list_layout" {} - - block "character_relation" - { - text_single = { - name = "character_relation" - layoutpolicy_horizontal = expanding - raw_text = "| [Character.GetRelationToString( GetPlayer )]" - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - default_format = "#low" - autoresize = no - align = nobaseline - visible = "[Character.HasRelationTo( GetPlayer )]" - alwaystransparent = yes - } - - expand = { - visible = "[Not(Character.HasRelationTo( GetPlayer ))]" - } - } - } - - block "character_description_extra" {} - } - - expand = {} - - # Skills - vbox = { - layoutpolicy_vertical = expanding - - hbox = { - name = "skills_grid" - - datamodel = "[CharacterListItem.GetSkillItems]" - margin_right = 3 - margin_top = 3 - - item = { - widget_skill_item_no_icon = {} - } - } - - expand = {} - } - - block "extra_skills" {} - } - - spacer = { - size = { 40 40 } - } - expand = {} - } - - ### Character Selection Bottom - widget = { - size = { 100% 44 } - parentanchor = bottom - - ### Details Box - widget = { - size = { 100% 44 } - parentanchor = left - - block "scissor" - { - scissor = yes - } - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_left = 10 - spacing = 5 - - # Dynasty - widget = { - size = { 35 40 } - - coa_house_tiny = { - datacontext = "[Character.GetHouse]" - parentanchor = center - } - } - - block "bottom_middle_box" { - # Religion & Culture - hbox = { - - # Faith - icon = { - name = "faith_button" - size = { 35 35 } - datacontext = "[Character.GetFaith]" - tooltipwidget = { faith_tooltip = {} } - texture = "[Faith.GetIcon]" - } - - # Culture - - hbox = { - datacontext = "[Character.GetCulture]" - - tooltipwidget = { - culture_tooltip = {} - } - using = tooltip_se - - icon = { - name = "culture" - texture = "gfx/interface/icons/icon_culture.dds" - size = { 30 30 } - } - - text_multi = { - text = "CULTURE_LISTS_WINDOW" - autoresize = yes - max_width = 90 - max_height = 44 - } - } - - block "bottom_middle_box_extra_content" { - - } - } - } - - # Traits - fixedgridbox = { - name = "traits_grid" - datamodel = "[CharacterListItem.GetTraits]" - flipdirection = yes - size = { 150 35 } - addcolumn = 30 - addrow = 35 - block "horizontal_slots" - { - maxhorizontalslots = 8 - } - maxverticalslots = 1 - - item = { - widget = { - visible = "[Trait.IsValid]" - size = { 35 35 } - - icon_trait = { - parentanchor = center - - blockoverride "icon_size" - { - size = { 30 30 } - } - - blockoverride "tooltip_placement" - { - using = tooltip_se - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - } - - vbox = { - datacontext = "[CharacterListItem.GetCharacter]" - margin_right = 5 - } - - expand = {} - block "bottom_right_box" - { - hbox = { - margin_right = 8 - # Realm - widget = { - datacontext = "[CharacterListItem.GetFirstClaim]" - visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" - size = { 55 58 } - - block "claims_visibility" {} - - coa_title_tiny_crown = { - datacontext = "[Claim.GetTitle]" - using = tooltip_ne - - highlight_icon = { - name = "pressed_claim" - visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" - parentanchor = bottom|right - size = { 24 24 } - texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" - } - - highlight_icon = { - name = "unpressed_claim" - visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" - parentanchor = bottom|right - size = { 24 24 } - texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" - } - - highlight_icon = { - name = "implicit_claim" - visible = "[Claim.IsImplicit]" - parentanchor = bottom|right - size = { 24 24 } - texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds" - } - - blockoverride "coa_tooltip" - { - tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" - } - } - - text_single = { - parentanchor = vcenter|right - position = { 0 -6 } - - text = "[CharacterListItem.GetTitleItemCount]" - align = right - minimumsize = { 15 0 } - - tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" - } - } - } - } - } - } - - ### Button Box - - block "button_box" { - widget = { - size = { 100% 40 } - - hbox = { - layoutpolicy_horizontal = expanding - margin_right = 8 - - expand = {} - - hbox = { - background = { - margin_top = 8 - margin_left = 12 - margin_bottom = 2 - - using = Background_Area_Light - using = Mask_Rough_Edges - } - - block "button_box_content" {} - } - } - } - } - } - } - } - } - } - - - type widget_character_list_item_finder = widget { - datacontext = "[CharacterListItem.GetCharacter]" - size = { 200 94 } - - block "divider" {} - - block "widget" {} - - hbox = { - vbox = { - layoutpolicy_vertical = expanding - margin_top = 4 - - portrait_head_small = {} - - block "portrait_head_margin" - { - } - - expand = {} - } - - block "button_content" - { - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_top = 5 - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - # Name and age - hbox = { - layoutpolicy_horizontal = expanding - margin = { 0 3 } - margin_left = 5 - margin_right = 10 - - background = { - using = Background_Area_Characterlist - } - - background = { - using = Background_Area_Dark - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - alpha = 1 - rotate_uv = 90 - mirror = vertical - } - } - - hbox = { - margin_left = 3 - layoutpolicy_horizontal = expanding - maximumsize = { 338 -1 } - - text_single = { - using = Font_Size_Medium - align = nobaseline - text = "[Character.GetUINameNoTooltip|U]" - fontsize_min = 14 - max_width = 300 - } - - block "character_relation" - { - hbox = { - visible = "[And(Character.HasRelationTo( GetPlayer ), Not(Character.IsPlayer))]" - - text_single = { - raw_text = "•" - align = nobaseline - margin = { 5 0 } - } - - text_single = { - name = "character_relation" - text = "[Character.GetRelationToString( GetPlayer )]" - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - default_format = "#low" - align = nobaseline - fontsize_min = 14 - max_width = 180 - } - } - } - - expand = {} - } - - hbox = { - using = character_age_or_death_text - } - - # Skills - hbox_skills_grid = {} - } - - ### BOTTOM ROW ### - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - block "additional_info_kill_list" {} - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - # Dynasty - widget = { - size = { 45 40 } - - coa_house_small = { - datacontext = "[Character.GetHouse]" - parentanchor = center - scale = 0.7 - } - } - - block "left_box" - { - # Traits - hbox = { - layoutpolicy_vertical = expanding - margin = { 10 0 } - minimumsize = { 140 0 } #### needed for prison view - - background = { - using = Background_Area_Dark - alpha = 0.5 - margin = { 0 2 } - } - - - hbox = { - layoutpolicy_horizontal = expanding - - fixedgridbox = { - name = "traits_grid" - datamodel = "[CharacterListItem.GetTraits]" - datamodel_reuse_widgets = yes - flipdirection = yes - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - addcolumn = 30 - addrow = 28 - - block "gridbox_items" - { - min_width = 210 - datamodel_wrap = 7 - maxverticalslots = 2 - } - - item = { - icon_trait = { - visible = "[Trait.IsValid]" - - blockoverride "icon_size" - { - size = { 30 30 } - } - - blockoverride "tooltip_placement" - { - using = tooltip_se - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - } - } - - expand = {} - } - } - } - - vbox = { - datacontext = "[CharacterListItem.GetCharacter]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - block "bottom_right_box" - { - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - block "claims" { # for kill list - widget_list_claims = {} - } - - # Religion and culture - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_left = 8 - margin_right = 4 - spacing = 5 - minimumsize = { 110 0 } - - background = { - using = Background_Area_Dark - alpha = 0.5 - margin = { 0 2 } - } - - icon = { - name = "faith_button" - size = { 38 38 } - datacontext = "[Character.GetFaith]" - tooltipwidget = { faith_tooltip = {} } - using = tooltip_se - - texture = "[Faith.GetIcon]" - } - - hbox = { - datacontext = "[Character.GetCulture]" - layoutpolicy_horizontal = expanding - spacing = 3 - - tooltipwidget = { - culture_tooltip = {} - } - using = tooltip_se - - icon = { - name = "culture" - texture = "gfx/interface/icons/icon_culture.dds" - size = { 24 24 } - } - - text_single = { - layoutpolicy_horizontal = expanding - text = "CULTURE_LISTS_WINDOW" - autoresize = no - align = nobaseline - } - } - } - } - } - } - } - } - } - } - } - } - - type dropdown_menu_standard = dropDown { - block "dropdown_properties" - { - #datamodel = "[GetPlayer.GetCourt]" - } - - block "dropdown_size" - { - size = { 200 32 } - } - - - - active_item = { - container = { - alwaystransparent = no - - button_drop = { - block "dropdown_size" - { - size = { 200 32 } - } - block "dropdown_active_item_properties" - { - raw_text = "#D Current Option#!" - } - button_trigger = none - - - } - } - } - - item = { - container = { - alwaystransparent = no - - button_dropdown = { - block "dropdown_size" - { - size = { 200 32 } - } - button_trigger = none - - block "dropdown_item_properties" - { - raw_text = "#D Option#!" - } - - default_format = "#clickable" - } - } - } - - list = { - scrollarea = { - position = { 5 32 } - block "dropdown_list_maxsize" - { - maximumsize = { 192 250 } - } - - block "dropdown_list_properties" - { - - } - - autoresizescrollarea = yes - scrollbarpolicy_horizontal = always_off - - using = Background_DropDown - - scrollwidget = { - dynamicgridbox = { - alwaystransparent = no - } - } - - scrollbar_vertical = { - using = Scrollbar_Vertical - } - } - } - } - - type dropdown_sort_characterlist = dropDown { - name = "sort_options" - block "size_button_drop" { ########### only used for character finder - size = { 190 33 } - } - - active_item = { - widget = { - alwaystransparent = no - size = { 100% 100% } - - button_drop = { - block "text_button_drop" { - text = "[CharacterListSortItem.GetName]" - } - } - } - } - - item = { - widget = { - alwaystransparent = no - block "size_dropdown" { - size = { 190 33 } - } - - button_normal = { - size = { 100% 30 } - button_trigger = none - gfxtype = framedbuttongfx - effectname = "NoHighlight" - shaderfile = "gfx/FX/pdxgui_pushbutton.shader" - upframe = 1 - overframe = 2 - downframe = 3 - disableframe = 1 - texture = "gfx/interface/buttons/button_interaction_menu.dds" - framesize = { 317 30 } - } - - button_dropdown = { - block "size_dropdown" { - size = { 190 33 } - } - block "text_button_drop" { - text = "[CharacterListSortItem.GetName]" - } - - default_format = "#clickable" - } - } - } - - list = { - scrollarea = { - position = { 5 33 } - maximumsize = { 190 250 } - autoresizescrollarea = yes - scrollbarpolicy_horizontal = always_off - - using = Background_DropDown - - scrollwidget = { - dynamicgridbox = { - alwaystransparent = no - } - } - - scrollbar_vertical = { - using = Scrollbar_Vertical - } - } - } - } - - type widget_list_claims = widget { - datacontext = "[CharacterListItem.GetFirstClaim]" - layoutpolicy_vertical = expanding - size = { 55 0 } - - block "claims_visibility" {} - - coa_title_tiny_crown = { - visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" - parentanchor = center - position = { -10 0 } - scale = 0.8 - - tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" - using = tooltip_ne - - blockoverride "coa_button" { - datacontext = "[Claim.GetTitle]" - onclick = "[DefaultOnCoatOfArmsClick(Title.GetID)]" - onrightclick = "[DefaultOnCoatOfArmsRightClick(Title.GetID)]" - button_ignore = none - } - - highlight_icon = { - name = "pressed_claim" - visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" - texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" - size = { 24 24 } - parentanchor = bottom|right - } - - highlight_icon = { - name = "unpressed_claim" - visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" - texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" - size = { 24 24 } - parentanchor = bottom|right - } - - highlight_icon = { - name = "implicit_claim" - visible = "[Claim.IsImplicit]" - texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds" - size = { 24 24 } - parentanchor = bottom|right - } - } - - text_single = { - visible = "[CharacterListItem.HasTitleItems]" - parentanchor = center - position = { 18 0 } - text = "[CharacterListItem.GetTitleItemCount]" - default_format = "#high" - using = Font_Size_Medium - align = center - } - } - - ## Same as hbox_skills_grid, except taking character instead of character list item - type hbox_skills_grid_character_model = hbox { - name = "hbox_skills_grid_character_model" - minimumsize = { 160 0 } - - widget = { - size = { 32 25 } - - text_single = { - name = "value" - parentanchor = center - margin_bottom = 4 - align = center - text = "[Character.GetSkill('diplomacy')]" - tooltip = "diplomacy_concept" - } - - background = { - name = "skill_icon_bg" - texture = "gfx/interface/window_character/character_view_skills_bg.dds" - framesize = { 70 26 } - margin = { 5 0 } - - frame = 1 - } - } - widget = { - size = { 32 25 } - - text_single = { - name = "value" - parentanchor = center - margin_bottom = 4 - align = center - text = "[Character.GetSkill('martial')]" - tooltip = "martial_concept" - } - - background = { - name = "skill_icon_bg" - texture = "gfx/interface/window_character/character_view_skills_bg.dds" - framesize = { 70 26 } - margin = { 5 0 } - - frame = 2 - } - } - widget = { - size = { 32 25 } - - text_single = { - name = "value" - parentanchor = center - margin_bottom = 4 - align = center - text = "[Character.GetSkill('stewardship')]" - tooltip = "stewardship_concept" - } - - background = { - name = "skill_icon_bg" - texture = "gfx/interface/window_character/character_view_skills_bg.dds" - framesize = { 70 26 } - margin = { 5 0 } - - frame = 3 - } - } - widget = { - size = { 32 25 } - - text_single = { - name = "value" - parentanchor = center - margin_bottom = 4 - align = center - text = "[Character.GetSkill('intrigue')]" - tooltip = "intrigue_concept" - } - - background = { - name = "skill_icon_bg" - texture = "gfx/interface/window_character/character_view_skills_bg.dds" - framesize = { 70 26 } - margin = { 5 0 } - - frame = 4 - } - } - widget = { - size = { 32 25 } - - text_single = { - name = "value" - parentanchor = center - margin_bottom = 4 - align = center - text = "[Character.GetSkill('learning')]" - tooltip = "learning_concept" - } - - background = { - name = "skill_icon_bg" - texture = "gfx/interface/window_character/character_view_skills_bg.dds" - framesize = { 70 26 } - margin = { 5 0 } - - frame = 5 - } - } - } - - type hbox_skills_grid = hbox { - name = "skills_grid" - minimumsize = { 160 0 } - - block "skills_datamodel" - { - datamodel = "[CharacterListItem.GetSkillItems]" - } - - item = { - widget_skill_item_no_icon = {} - } - } - - type hbox_list_sort_buttons = hbox { - name = "sort_buttons" - - block "margins" { - margin_left = 20 - margin_right = 30 - margin_top = 5 - spacing = 5 - } - - button_standard = { - name = "filters" - size = { 25 25 } - - down = "[CharacterSelectionList.FiltersShown]" - frame = "[BoolTo1And2(CharacterSelectionList.IsAllDefault)]" - onclick = "[CharacterSelectionList.OnToggleFilters]" - - tooltip = "TOGGLE_FILTERS" - using = tooltip_nw - - button_search = { - alwaystransparent = yes - parentanchor = center - size = { 20 20 } - } - - block "filters_visible" {} - } - - divider_light = { - size = { 3 20 } - block "filters_visible" {} - } - - block "sort_prefix" {} - - text_single = { - text = "SORT_BY" - align = nobaseline - max_width = 90 - } - - block "sort_dropdown" { - dropdown_sort_characterlist = {} - } - - button_standard = { - name = "sort_order" - size = { 25 25 } - onclick = "[CharacterSelectionList.RevertSortOrder]" - - tooltip = "CHARACTER_SORT_BY" - using = tooltip_nw - - button_icon = { - alwaystransparent = yes - parentanchor = center - size = { 25 25 } - texture = "gfx/interface/icons/flat_icons/sort_icon.dds" - framesize = { 66 66 } - - frame = "[BoolTo1And2(CharacterSelectionList.GetSortOrder)]" - - blockoverride "button_frames" - { - effectname = "NoHighlight" - } - } - } - - expand = {} - - block "skill_sort_buttons" - { - hbox = { - button_standard_hover = { - name = "skill_diplomacy" - size = { 32 32 } - - icon = { - texture = "gfx/interface/icons/icon_skills.dds" - size = { 32 32 } - framesize = { 60 60 } - frame = 1 - } - - onclick = "[CharacterSelectionList.SortBySkill('(int32)0')]" - - tooltip = "SORT_BY_DIPLOMACY" - using = tooltip_ne - - skillitem_sort_icon = { - visible = "[CharacterSelectionList.IsSortingBySkill('(int32)0')]" - } - } - - button_standard_hover = { - name = "skill_martial" - size = { 32 32 } - - icon = { - texture = "gfx/interface/icons/icon_skills.dds" - size = { 32 32 } - framesize = { 60 60 } - frame = 2 - } - - onclick = "[CharacterSelectionList.SortBySkill('(int32)1')]" - - tooltip = "SORT_BY_MARTIAL" - using = tooltip_ne - - skillitem_sort_icon = { - visible = "[CharacterSelectionList.IsSortingBySkill('(int32)1')]" - } - } - - button_standard_hover = { - name = "skill_stewardship" - size = { 32 32 } - - icon = { - texture = "gfx/interface/icons/icon_skills.dds" - size = { 32 32 } - framesize = { 60 60 } - frame = 3 - } - - onclick = "[CharacterSelectionList.SortBySkill('(int32)2')]" - tooltip = "SORT_BY_STEWARDSHIP" - using = tooltip_ne - - skillitem_sort_icon = { - visible = "[CharacterSelectionList.IsSortingBySkill('(int32)2')]" - } - } - - button_standard_hover = { - name = "skill_intrigue" - size = { 32 32 } - - icon = { - texture = "gfx/interface/icons/icon_skills.dds" - size = { 32 32 } - framesize = { 60 60 } - frame = 4 - } - - onclick = "[CharacterSelectionList.SortBySkill('(int32)3')]" - tooltip = "SORT_BY_INTRIGUE" - using = tooltip_ne - - skillitem_sort_icon = { - visible = "[CharacterSelectionList.IsSortingBySkill('(int32)3')]" - } - } - - button_standard_hover = { - name = "skill_learning" - size = { 32 32 } - - icon = { - texture = "gfx/interface/icons/icon_skills.dds" - size = { 32 32 } - framesize = { 60 60 } - frame = 5 - } - - onclick = "[CharacterSelectionList.SortBySkill('(int32)4')]" - tooltip = "SORT_BY_LEARNING" - using = tooltip_ne - - skillitem_sort_icon = { - visible = "[CharacterSelectionList.IsSortingBySkill('(int32)4')]" - } - } - } - } - } - - type skillitem_sort_icon = icon { - frame = "[BoolTo1And2(CharacterSelectionList.GetSortOrder)]" - alwaystransparent = yes - parentanchor = top|hcenter - position = { 0 -14 } - texture = "gfx/interface/buttons/button_sort_toggle.dds" - framesize = { 36 36 } - size = { 18 18 } - - using = Master_Button_Modify_Texture - - blockoverride "master_color_frame" { - frame = 1 - } - } - - type vbox_character_list = vbox { - name = "character_list" - spacing = 3 - - block "sort_buttons" - { - hbox_list_sort_buttons = { - layoutpolicy_horizontal = expanding - - blockoverride "margins" { - margin_left = 20 - margin_right = 23 - margin_top = 5 - spacing = 5 - } - } - } - - block "special_character" {} - - scrollbox = { - - name = "characters_scroll_area" - layoutpolicy_vertical = expanding - layoutpolicy_horizontal = expanding - - block "scrollbox_properties" - { - } - - blockoverride "scrollbox_content" { - - block "container_implementation" { - vbox = { - name = "characters_grid" - datamodel = "[CharacterSelectionList.GetList]" - visible = "[Not(CharacterSelectionList.IsBuildingList)]" - layoutpolicy_horizontal = expanding - - item = { - widget_character_list_item = { - block "item_size" { - size = { 650 110 } - layoutpolicy_horizontal = expanding - } - } - } - } - } - } - - blockoverride "scrollbox_empty" - { - block "scrollbox_empty_visibility" - { - layoutpolicy_vertical = expanding - visible = "[IsDataModelEmpty( CharacterSelectionList.GetList )]" - text = "NO_CHARACTERS_TO_SELECT" - } - } - } - - block "character_count" - { - hbox = { - layoutpolicy_horizontal = growing - margin = { 25 5 } - margin_bottom = 8 - spacing = 5 - - block "bottom_bar" {} - - expand = {} - - widget = { - size = { 20 15 } - - warning_icon = { - size = { 25 25 } - visible = "[Not( CharacterSelectionList.IsAllDefault )]" - tooltip = "CHARACTER_FINDER_FILTER_SET" - position = { -3 -5 } - } - } - - text_single = { - name = "character_count" - datacontext = "[CharacterSelectionList]" - text = "CHARACTER_FINDER_COUNT" - align = center|nobaseline - default_format = "#low" - } - } - } - } - - type fixed_gridbox_character_list = vbox_character_list - { - blockoverride "container_implementation" - { - fixedgridbox = { - name = "characters_grid" - - block "character_gridbox" - { - addcolumn = 650 - addrow = 105 - datamodel_reuse_widgets = yes - } - - datamodel = "[CharacterSelectionList.GetList]" - visible = "[Not(CharacterSelectionList.IsBuildingList)]" - - item = { - widget_character_list_item = { - block "item_size" - { - size = { 650 110 } - } - } - } - } - } - } - - type button_recruit_character = button_round - { - visible = "[Character.IsPlayerInteractionShown('recruit_guest_interaction')]" - enabled = "[Character.IsPlayerInteractionValid('recruit_guest_interaction')]" - onclick = "[Character.OpenPlayerInteraction('recruit_guest_interaction')]" - tooltip = "[Character.GetPlayerInteractionTooltip('recruit_guest_interaction')]" - - button_add_character = { - alwaystransparent = yes - parentanchor = center - } - } - - type widget_courtier_item = widget { - size = { 0 125 } - - hbox = { - spacing = 5 - - background = { - using = Background_Area_With_Header - margin_right = 7 - margin_left = 5 - } - - portrait_head = {} - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_top = 3 - - hbox = { - layoutpolicy_horizontal = expanding - - text_single = { - name = "name" - layoutpolicy_horizontal = expanding - autoresize = no - text = "[Character.GetUINameNoTooltip]" - using = Font_Size_Medium - align = nobaseline - fontsize_min = 14 - margin_right = 10 - } - - hbox_skills_grid = {} - } - - vbox = { - layoutpolicy_horizontal = expanding - margin = { 0 3 } - margin_bottom = 8 - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 3 - - warning_icon = { - visible = "[And( Character.CourtierWantsToLeaveCourt, Not( Character.IsImprisoned))]" - size = { 20 20 } - tooltip = "[Character.GetCourtierLeaveDescription]" - } - - debug_square = { - visible = "[AIWatchWindowsEnabled]" - size = { 20 20 } - raw_tooltip = "#D [Character.GetDebugCourtierLeaveReasons]#!" - } - - text_single = { - name = "relation_to_court_owner" - default_format = "#low" - align = nobaseline - max_width = 370 - visible = "[Not(Character.IsHostage)]" - - block "description_relation_text" { - text = "[Character.GetRelationToString( CharacterWindow.GetCourtOwner )]" - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - } - - background = { - visible = "[Character.IsImprisoned]" - using = Status_Bad - alpha = 0.5 - } - } - - text_single = { - name = "relation_to_court_hostage" - default_format = "#medium" - align = nobaseline - visible = "[Character.IsHostage]" - - block "description_relation_text" { - text = "[Character.GetRelationToString( CharacterWindow.GetCourtOwner )]" - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - } - - background = { - visible = "[Character.IsHostage]" - using = Status_Mixed - alpha = 0.5 - } - } - expand = {} - - text_single = { - name = "has_guardian" - default_format = "#low" - align = nobaseline - max_width = 370 - margin_right = 5 - visible = "[And( Not(Character.IsAdult), Not(Character.HasGuardian) )]" - - text = "COURT_WINDOW_NO_GUARDIAN" - tooltip = "COURT_WINDOW_NO_GUARDIAN_TOOLTIP" - } - } - } - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 5 - margin_bottom = 5 - - block "action_buttons" - { - hbox = { - margin = { 0 3 } - spacing = 5 - - button_recruit_character = {} - } - } - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - minimumsize = { 0 60 } - margin_left = 5 - - background = { - using = Background_Area_Dark - margin = { 3 3 } - alpha = 0.5 - } - - # Dynasty - widget = { - layoutpolicy_vertical = expanding - size = { 45 40 } - - coa_house_small = { - datacontext = "[Character.GetHouse]" - parentanchor = center - scale = 0.7 - } - } - - # Traits - vbox = { - layoutpolicy_vertical = expanding - margin = { 10 0 } - - hbox = { - layoutpolicy_horizontal = expanding - - fixedgridbox = { - name = "traits_grid_four" - datamodel = "[CharacterListItem.GetTraits]" - flipdirection = yes - addcolumn = 30 - addrow = 28 - visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" - - block "gridbox_items" ### for characterview - { - datamodel_wrap = 4 - maxverticalslots = 2 - } - - item = { - icon_trait = { - visible = "[Trait.IsValid]" - - blockoverride "icon_size" - { - size = { 30 30 } - } - - blockoverride "tooltip_placement" - { - using = tooltip_se - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - fixedgridbox = { - name = "traits_grid_five" - datamodel = "[CharacterListItem.GetTraits]" - flipdirection = yes - addcolumn = 30 - addrow = 28 - visible = "[IsDataModelEmpty( CharacterListItem.GetTitleItems )]" - - block "gridbox_items" ### for characterview - { - datamodel_wrap = 5 - maxverticalslots = 2 - } - - item = { - icon_trait = { - visible = "[Trait.IsValid]" - - blockoverride "icon_size" - { - size = { 30 30 } - } - - blockoverride "tooltip_placement" - { - using = tooltip_se - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - - expand = {} - } - } - - expand = {} - - divider_light = { - layoutpolicy_vertical = expanding - alpha = 0.5 - } - - hbox = { - margin = { 3 0 } - - widget_list_claims = { - visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" - } - } - - divider_light = { - visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" - layoutpolicy_vertical = expanding - alpha = 0.5 - } - - hbox = { - margin_right = 5 - - button_religion_icon = { - datacontext = "[Character.GetFaith]" - size = { 40 40 } - } - - vbox = { - datacontext = "[Character.GetCulture]" - - tooltipwidget = { - culture_tooltip = {} - } - using = tooltip_se - - icon = { - name = "culture" - texture = "gfx/interface/icons/icon_culture.dds" - size = { 24 24 } - } - - text_single = { - layoutpolicy_horizontal = expanding - min_width = 60 - align = center|nobaseline - autoresize = no - text = "CULTURE_LISTS_WINDOW" - } - } - } - } - } - } - } - } - - type widget_vassal_list_item = widget { - datacontext = "[CharacterListItem.GetCharacter]" - - vbox = { - margin = { 5 0 } - - background = { - using = Background_Area_With_Header - } - - hbox = { - layoutpolicy_horizontal = expanding - margin = { 5 5 } - - text_single = { - layoutpolicy_horizontal = expanding - text = "[Character.GetUINameNoTooltip|U]" - using = Font_Size_Medium - autoresize = no - fontsize_min = 13 - align = nobaseline - max_width = 340 - } - - expand = {} - - hbox_skills_grid = {} - } - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 5 - - portrait_head_small = {} - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_right = 5 - - hbox = { - layoutpolicy_horizontal = expanding - - vbox = { - layoutpolicy_horizontal = expanding - - margin_top = 3 - - hbox = { - layoutpolicy_horizontal = expanding - - text_single = { - name = "character_relation" - visible = "[Or(Character.GetLiege.IsLocalPlayer, Character.GetSuzerain.IsLocalPlayer)]" - layoutpolicy_horizontal = expanding - text = "[Character.GetRelationToString(GetPlayer)]" - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - default_format = "#low" - autoresize = no - fontsize_min = 13 - align = nobaseline - max_width = 420 - } - - expand = {} - } - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 5 - - text_single = { - visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Character.IsObedientTo( Character.GetOverlord ) ) )]" - - text = "MY_REALM_WINDOW_OBEDIENT" - align = nobaseline - max_width = 170 - - tooltipwidget = widget_obedience_tooltip - } - - text_single = { - visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Not( Character.IsObedientTo( Character.GetOverlord ) ) ) )]" - - text = "MY_REALM_WINDOW_DISOBEDIENT" - align = nobaseline - max_width = 170 - - tooltipwidget = widget_obedience_tooltip - } - - divider_light = { - visible = "[Character.UsesObedience]" - layoutpolicy_vertical = expanding - } - - vassal_stance_icon = { - name = "vassal_stance" - size = { 30 30 } - } - - divider_light = { - visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]" - layoutpolicy_vertical = expanding - } - - vassal_expected_legitimacy_widget = { - name = "legitimacy_expectation" - size = { 30 30 } - } - - block "realm_size_powerful_status" { - flowcontainer = { - spacing = 10 - - text_single = { - visible = "[NotEqualTo_int32(Character.GetPrimaryTitle.GetTierFrame, '(int32)2')]" #nonbaron - layoutpolicy_horizontal = expanding - - text = "REALM_WINDOW_SIZE" - align = nobaseline - max_width = 150 - - tooltip = "REALM_WINDOW_SIZE_TT" - } - } - } - - expand = {} - } - - block "vassal_buttons" { - hbox = { - visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" - layoutpolicy_horizontal = expanding - spacing = 5 - - button_round = { - size = { 30 30 } - - enabled = "[Character.IsPlayerInteractionValid('give_vassal_directive_interaction')]" - onclick = "[Character.OpenPlayerInteraction('give_vassal_directive_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('give_vassal_directive_interaction')]" - using = tooltip_se - - button_give_directive = { - alwaystransparent = yes - parentanchor = center - size = { 24 24 } - } - } - - widget = { - size = { 30 30 } - - text_single = { - parentanchor = vcenter - - text = "[Character.Custom('vassal_directive_icon')]" - align = nobaseline - - tooltip = "VASSAL_DIRECTIVE_ICON_TOOLTIP" - using = tooltip_se - } - } - - divider_light = { - visible = "[Character.IsPowerfulVassal]" - layoutpolicy_vertical = expanding - } - - text_single = { - visible = "[Character.IsPowerfulVassal]" - layoutpolicy_horizontal = expanding - - text = "MY_REALM_WINDOW_POWERFUL_VASSAL" - align = nobaseline - max_width = 200 - } - - expand = {} - } - } - } - - block "own_vassal" { - vbox = { - visible = "[Character.GetLiege.IsLocalPlayer]" - layoutpolicy_vertical = expanding - margin_left = 10 - - hbox = { - coa_title_tiny_crown = { - name = "allegiance_flag" - datacontext = "[SubjectContract.GetTitleAllegiance]" - visible = "[Title.IsValid]" - - tooltip = "MRW_TITLE_ALLEGIANCE" - blockoverride "coa_tooltip" {} - } - } - } - } - } - - hbox_tributary_information = { - visible = "[And(Character.HasSuzerain,GreaterThanOrEqualTo_CFixedPoint(Character.GetSubjectContract.GetSubjectStanding,'(CFixedPoint)0'))]" - blockoverride "tooltip" - { - tooltip = "MY_REALM_WINDOW_SUBJECT_STANDING_TT" - } - - blockoverride "text" - { - text_single = { - layoutpolicy_horizontal = expanding - text = "MY_REALM_WINDOW_SUBJECT_STANDING" - align = left|nobaseline - } - } - } - - hbox_tributary_information = { - visible = "[And(Character.HasSuzerain,Not(GreaterThanOrEqualTo_CFixedPoint(Character.GetSubjectContract.GetSubjectStanding,'(CFixedPoint)0')))]" - } - } - } - - block "own_vassal" - { - vbox_vassal_item_footer = { - datacontext = "[SubjectContract.GetContractGroup]" - } - } - - expand = {} - } - } - - type hbox_tributary_information = hbox { - visible = "[Character.HasSuzerain]" - - layoutpolicy_horizontal = expanding - datacontext = "[Character.GetSubjectContract]" - spacing = 5 - - block "tooltip" { - tooltip = "MY_REALM_WINDOW_CEASE_PAYING_TRIBUTE_CHANCE_TT" - } - - block "text" { - icon_flat_standard = { - size = { 30 30 } - texture = "gfx/interface/icons/flat_icons/cease_paying_tributary.dds" - } - text_single = { - layoutpolicy_horizontal = expanding - text = "MY_REALM_WINDOW_CEASE_PAYING_TRIBUTE_CHANCE" - align = left|nobaseline - max_width = 300 - } - } - - expand = {} - - block "release_tributary_button" { - button_round = { - visible = "[Character.IsPlayerInteractionShown('release_tributary_interaction')]" - enabled = "[Character.IsPlayerInteractionValid('release_tributary_interaction')]" - onclick = "[Character.OpenPlayerInteraction('release_tributary_interaction')]" - tooltip = "[Character.GetPlayerInteractionTooltip('release_tributary_interaction')]" - - button_icon = { - alwaystransparent = yes - parentanchor = center - position = { 1 1 } - size = { 28 28 } - texture = "gfx/interface/icons/flat_icons/release_tributary.dds" - } - } - } - } - - type hbox_vassal_contract_button = hbox { - spacing = 5 - - widget = { - visible = "[Or( SubjectContractGroup.IsType('feudal_vassal'), SubjectContractGroup.IsType('mandala_vassal') )]" - size = { 40 40 } - - button_round = { - parentanchor = center - - enabled = "[Character.IsPlayerInteractionValid('liege_modify_vassal_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('liege_modify_vassal_contract_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('liege_modify_vassal_contract_interaction')]" - - block "feudal_contract_button_round" {} - - button_feudal_contract = { - alwaystransparent = yes - parentanchor = center - } - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - widget = { - visible = "[SubjectContractGroup.IsType('clan_vassal')]" - size = { 40 40 } - - button_round = { - parentanchor = center - onclick = "[ToggleGameViewData( 'tax_slot_assign_vassal', Character.Self )]" - - tooltip = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW" - - icon = { - parentanchor = center - size = { 30 30 } - - texture = "gfx/interface/skinned/hud_maintab/maintab_tax_jurisdictions.dds" - } - } - - warning_icon = { - visible = "[Not( Character.IsAssignedAsTaxpayer )]" - parentanchor = bottom|right - size = { 20 20 } - - tooltip = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW_UNASSIGNED" - } - } - - widget = { - visible = "[And( SubjectContractGroup.IsType('admin_vassal'), Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction') ) ]" - size = { 40 40 } - - button_round = { - parentanchor = center - - enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]" - - block "admin_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - widget = { - visible = "[SubjectContractGroup.IsType('nomad_vassal')]" - size = { 40 40 } - - button_round = { - parentanchor = center - - enabled = "[Character.IsPlayerInteractionValid('nomad_liege_modify_vassal_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('nomad_liege_modify_vassal_contract_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('nomad_liege_modify_vassal_contract_interaction')]" - - block "nomad_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - widget = { - visible = "[Or( SubjectContractGroup.IsType('tributary_nomadic'), SubjectContractGroup.IsType('tributary_settled') )]" - size = { 40 40 } - - button_round = { - parentanchor = center - - enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]" - - block "nomad_tributary_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - button_round = { - visible = "[SubjectContractGroup.IsType('tributary_celestial')]" - enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]" - tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]" - - block "celestial_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - button_round = { - visible = "[SubjectContractGroup.IsType('tributary_steppe')]" - enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]" - tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]" - - block "celestial_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - button_round = { - visible = "[Or( Or( SubjectContractGroup.IsType('celestial_vassal'), SubjectContractGroup.IsType('meritocratic_vassal') ), SubjectContractGroup.IsType('japan_administrative_vassal') )]" - enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]" - onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]" - tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]" - datacontext = "[Character.GetPrimaryTitle]" - tooltip_when_disabled = "ADMIN_WINDOW_NON_ADMIN_THEME_FAIL_DEMAND_INTERACTION" - - block "celestial_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - - icon_vassal_contract_warning_blocked = {} - icon_vassal_contract_warning_default = {} - } - - block "vassal_contract_type_name" - { - text_single = { - text = "[SubjectContractGroup.GetName]" - align = nobaseline - max_width = 130 - } - } - } - - type hbox_vassal_taxes = hbox { - ### FEUDAL ARE SPECIAL - hbox = { - visible = "[SubjectContractGroup.IsType( 'feudal_vassal' )]" - spacing = 15 - - ### FEUDAL GOLD - hbox = { - spacing = 5 - - text_single = { # Display the Tax Level - layoutpolicy_horizontal = expanding - - text = "MY_REALM_WINDOW_VASSAL_FEUDAL_TAX" - align = nobaseline - default_format = "#low" - max_width = 100 - - margin_bottom = 2 - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedTax|=1]" - align = nobaseline - max_width = 50 - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "tax_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetTaxBreakdown]" - - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_TAXES_TO_ME" - } - } - } - using = tooltip_sw - } - - ### FEUDAL LEVIES - hbox = { - visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetLevyRatioForLiege, '(CFixedPoint)0' )]" - spacing = 5 - - text_single = { # Display the Levy Level - layoutpolicy_horizontal = expanding - - text = "MY_REALM_WINDOW_VASSAL_FEUDAL_LEVIES" - align = nobaseline - default_format = "#low" - max_width = 100 - - margin_bottom = 2 - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedLeviesFormatted]" - align = nobaseline - max_width = 50 - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "levy_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetLeviesBreakdown]" - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_LEVIES_TO_ME" - } - } - } - using = tooltip_sw - } - } - - ### THE REST (NON-FEUDAL) - hbox = { - visible = "[Not( SubjectContractGroup.IsType( 'feudal_vassal' ) )]" - spacing = 15 - - ### VASSAL GOLD - hbox = { - # Treasury Vassals don't pay in gold - visible = "[And( Not( SubjectContract.GetLiege.GetGovernment.HasGovernmentFlag( 'government_has_treasury' ) ), GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetTaxRatioForLiege, '(CFixedPoint)0' ))]" - - icon = { - size = { 25 25 } - texture = "gfx/interface/icons/icon_gold.dds" - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedTax|=1]" - align = nobaseline - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "tax_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetTaxBreakdown]" - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_TAXES_TO_ME" - } - } - } - using = tooltip_sw - } - - ### VASSAL LEVIES - hbox = { - visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetLevyRatioForLiege, '(CFixedPoint)0' )]" - spacing = 5 - - icon = { - size = { 25 25 } - texture = "gfx/interface/icons/icon_levies.dds" - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedLeviesFormatted]" - align = nobaseline - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "levy_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetLeviesBreakdown]" - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_LEVIES_TO_ME" - } - } - } - using = tooltip_sw - } - - ### VASSAL PIETY - hbox = { - visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetPietyRatioForLiege, '(CFixedPoint)0' )]" - - icon = { - size = { 30 30 } - texture = "[GetPlayer.GetPietyLevelTexture]" - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedPiety|=1]" - align = nobaseline - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "tax_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetPietyBreakdown]" - - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_PIETY_TO_ME" - } - } - } - using = tooltip_sw - } - - ### VASSAL HERD - hbox = { - visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetHerdRatioForLiege, '(CFixedPoint)0' )]" - - icon = { - size = { 30 30 } - texture = "gfx/interface/icons/icon_herd.dds" - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedHerd|=1]" - align = nobaseline - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "tax_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetHerdBreakdown]" - - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_HERD_TO_ME" - } - } - } - using = tooltip_sw - } - - ### VASSAL BARTER GOODS - hbox = { - visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetBarterGoodsRatioForLiege, '(CFixedPoint)0' )]" - - icon = { - size = { 30 30 } - texture = "gfx/interface/icons/icon_barter.dds" - } - - text_single = { - text = "[MyRealmWindowVassalItem.GetCachedBarterGoods|=1]" - align = nobaseline - } - - tooltipwidget = { - container_my_realm_window_contribution_tooltip = { - block "tax_breakdown" - { - datacontext = "[MyRealmWindowVassalItem.GetBarterGoodsBreakdown]" - - } - blockoverride "contribution_tooltip_header" - { - text = "MRW_TT_BARTER_GOODS_TO_ME" - } - } - } - using = tooltip_sw - } - } - } - - type hbox_vassal_list_icons = hbox { - spacing = 5 - - icon = { - name = "hook" - visible = "[Character.PlayerHasHooksOrHookableSecrets]" - size = { 25 25 } - framesize = { 40 40 } - texture = "gfx/interface/icons/portraits/hook_secret.dds" - - frame = "[Character.GetHookOrHookableSecretsFrame]" - tooltip = "[Character.HookTooltip]" - } - - icon = { - name = "icon_non_dejure" - visible = "[Not( SubjectContract.IsRightfulLiege )]" - size = { 30 30 } - texture = "gfx/interface/icons/levy_tax_reduction.dds" - - using = tooltip_ws - tooltip = "MRW_TT_NOT_RIGHTFUL_LIEGE" - } - } - - type vbox_vassal_item_footer = vbox { - layoutpolicy_horizontal = expanding - - margin_left = 5 - margin_right = 10 - margin_top = 5 - margin_bottom = 5 - spacing = 10 - - hbox = { - name = "subjects_contract_button" - layoutpolicy_horizontal = expanding - spacing = 10 - - background = { - using = Background_Area_Solid - margin = { 10 5 } - alpha = 0.75 - } - - icon = { - visible = "[Or( Character.GetGovernment.HasGovernmentFlag( 'government_is_true_herder' ), Or( Character.IsBaronOrUnlanded, Or( Or( And( Not( SubjectContract.UsesObligationLevels), Not( SubjectContract.IsTributary ) ), Character.GetPrimaryTitle.IsNobleFamilyTitle ) , And( Character.GetGovernment.HasRule( 'administrative' ), LessThanOrEqualTo_int32( Character.GetPrimaryTitle.GetTierFrame, Character.GetGovernment.GetMinAppointmentTier ) ) ) ) ) ]" - size = { 42 42 } - texture = "gfx/interface/icons/symbols/icon_cross.dds" - tooltip = "MY_REALM_WINDOW_NO_FEUDAL_CONTRACT_TT" - enabled = no - } - - hbox_vassal_contract_button = { - visible = "[Not( Or( Character.GetGovernment.HasGovernmentFlag( 'government_is_true_herder' ), Or( Character.IsBaronOrUnlanded, Or( Or( And( Not( SubjectContract.UsesObligationLevels), Not( SubjectContract.IsTributary ) ), Character.GetPrimaryTitle.IsNobleFamilyTitle ) , And( Character.GetGovernment.HasRule( 'administrative' ), LessThanOrEqualTo_int32( Character.GetPrimaryTitle.GetTierFrame, Character.GetGovernment.GetMinAppointmentTier ) ) ) ) ) ) ]" - } - - hbox_vassal_list_icons = {} - - expand = {} - - hbox_vassal_taxes = {} - } - - hbox = { - layoutpolicy_horizontal = expanding - visible = "[SubjectContractGroup.IsType('clan_government')]" - - background = { - using = Background_Area_Dark - margin = { 10 5 } - alpha = 0.75 - } - - spacer = { - size = { 10 0 } - } - - hbox = { - spacing = 20 - - text_single = { - text = "[SubjectContractGroup.GetName]" - align = nobaseline - } - - button_standard = { - size = { 300 36 } - - onclick = "[ToggleGameViewData( 'tax_slot_assign_vassal', Character.Self )]" - - text_single = { - parentanchor = vcenter|left - margin_left = 10 - max_width = 250 - align = nobaseline - - visible = "[Character.IsAssignedAsTaxpayer]" - - text = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW" - } - - text_single = { - parentanchor = vcenter|left - margin_left = 10 - max_width = 250 - align = nobaseline - - visible = "[Not( Character.IsAssignedAsTaxpayer )]" - - text = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW_UNASSIGNED" - } - - icon = { - parentanchor = vcenter|right - size = { 30 30 } - position = { -5 0 } - texture = "gfx/interface/icons/flat_icons/replace.dds" - using = Master_Button_Modify_Texture - } - } - } - - expand = {} - } - } - - type hbox_traits_list = hbox - { - layoutpolicy_horizontal = expanding - - widget = { - layoutpolicy_horizontal = expanding - size = { 0 55 } - - hbox = { - name = "3_personality_traits" - visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" - - fixedgridbox = { - name = "personality_traits" - datamodel = "[TraitArrays.GetPersonalityTraits]" - flipdirection = yes - addcolumn = 54 - addrow = 55 - maxhorizontalslots = 3 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 55 55 } - } - } - } - } - - hbox = { - visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" - layoutpolicy_vertical = expanding - margin = { 5 10 } - - divider_light = { - layoutpolicy_vertical = expanding - } - } - - fixedgridbox = { - name = "traits_big" - datamodel = "[TraitArrays.GetTraits]" - visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5')]" - flipdirection = yes - addcolumn = 54 - addrow = 55 - maxhorizontalslots = 5 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 55 55 } - } - } - } - } - - fixedgridbox = { - name = "traits_medium" - datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'))]" - flipdirection = yes - addcolumn = 39 - addrow = 40 - maxhorizontalslots = 7 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 40 40 } - } - - blockoverride "glow_radius" - { - glow_radius = 4 - } - } - } - } - - fixedgridbox = { - name = "traits_small" - datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10'))]" - flipdirection = yes - addcolumn = 28 - addrow = 29 - maxhorizontalslots = 10 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 29 29 } - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - - fixedgridbox = { - name = "traits_tiny" - datamodel = "[TraitArrays.GetTraits]" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10')]" - flipdirection = yes - addcolumn = 24 - addrow = 25 - maxhorizontalslots = 11 - datamodel_wrap = 11 - maxverticalslots = 2 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 25 25 } - } - - blockoverride "glow_radius" - { - glow_radius = 2 - } - } - } - } - - expand = {} - } - - hbox = { - name = "4_personality_traits" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" - - fixedgridbox = { - name = "personality_traits" - datamodel = "[TraitArrays.GetPersonalityTraits]" - flipdirection = yes - addcolumn = 54 - addrow = 55 - maxhorizontalslots = 4 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 55 55 } - } - } - } - } - - hbox = { - visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" - layoutpolicy_vertical = expanding - margin = { 5 10 } - - divider_light = { - layoutpolicy_vertical = expanding - } - } - - fixedgridbox = { - name = "traits_big" - datamodel = "[TraitArrays.GetTraits]" - visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" - flipdirection = yes - addcolumn = 54 - addrow = 55 - maxhorizontalslots = 5 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 55 55 } - } - } - } - } - - fixedgridbox = { - name = "traits_medium" - datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" - flipdirection = yes - addcolumn = 39 - addrow = 40 - maxhorizontalslots = 7 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 40 40 } - } - - blockoverride "glow_radius" - { - glow_radius = 4 - } - } - } - } - - fixedgridbox = { - name = "traits_small" - datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8'))]" - flipdirection = yes - addcolumn = 28 - addrow = 29 - maxhorizontalslots = 10 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 29 29 } - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - - fixedgridbox = { - name = "traits_tiny" - datamodel = "[TraitArrays.GetTraits]" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8')]" - flipdirection = yes - addcolumn = 24 - addrow = 25 - maxhorizontalslots = 9 - datamodel_wrap = 9 - maxverticalslots = 2 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 25 25 } - } - - blockoverride "glow_radius" - { - glow_radius = 2 - } - } - } - } - - expand = {} - } - } - expand = {} - } - - type hbox_traits_list_small = hbox - { - layoutpolicy_horizontal = expanding - - widget = { - layoutpolicy_horizontal = expanding - size = { 0 55 } - - hbox = { - name = "3_personality_traits" - visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" - - fixedgridbox = { - name = "personality_traits" - datamodel = "[TraitArrays.GetPersonalityTraits]" - flipdirection = yes - addcolumn = 54 - addrow = 55 - maxhorizontalslots = 3 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 55 55 } - } - } - } - } - - hbox = { - visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" - layoutpolicy_vertical = expanding - margin = { 5 10 } - - divider_light = { - layoutpolicy_vertical = expanding - } - } - - fixedgridbox = { - name = "traits_big" - datamodel = "[TraitArrays.GetTraits]" - visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" - flipdirection = yes - addcolumn = 39 - addrow = 40 - maxhorizontalslots = 4 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 40 40 } - } - } - } - } - - fixedgridbox = { - name = "traits_small" - datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" - flipdirection = yes - addcolumn = 28 - addrow = 29 - maxhorizontalslots = 6 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 29 29 } - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - - fixedgridbox = { - name = "traits_tiny" - datamodel = "[TraitArrays.GetTraits]" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6')]" - flipdirection = yes - addcolumn = 24 - addrow = 25 - maxhorizontalslots = 7 - datamodel_wrap = 7 - maxverticalslots = 2 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 25 25 } - } - - blockoverride "glow_radius" - { - glow_radius = 2 - } - } - } - } - - expand = {} - } - - hbox = { - name = "4_personality_traits" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" - - fixedgridbox = { - name = "personality_traits" - datamodel = "[TraitArrays.GetPersonalityTraits]" - flipdirection = yes - addcolumn = 54 - addrow = 55 - maxhorizontalslots = 4 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 55 55 } - } - } - } - } - - hbox = { - visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" - layoutpolicy_vertical = expanding - margin = { 5 10 } - - divider_light = { - layoutpolicy_vertical = expanding - } - } - - fixedgridbox = { - name = "traits_big" - datamodel = "[TraitArrays.GetTraits]" - visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" - flipdirection = yes - addcolumn = 39 - addrow = 40 - maxhorizontalslots = 4 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 40 40 } - } - } - } - } - - fixedgridbox = { - name = "traits_small" - datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" - flipdirection = yes - addcolumn = 28 - addrow = 29 - maxhorizontalslots = 6 - maxverticalslots = 1 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 29 29 } - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - - fixedgridbox = { - name = "traits_tiny" - datamodel = "[TraitArrays.GetTraits]" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6')]" - flipdirection = yes - addcolumn = 24 - addrow = 25 - maxhorizontalslots = 6 - datamodel_wrap = 6 - maxverticalslots = 2 - - item = { - icon_trait = { - blockoverride "icon_size" - { - size = { 25 25 } - } - - blockoverride "glow_radius" - { - glow_radius = 2 - } - } - } - } - - expand = {} - } - } - expand = {} - } -} - -types Vassals -{ - type icon_vassal_contract_warning_blocked = alert_icon { - visible = "[SubjectContract.IsBlockedFromModification]" - parentanchor = bottom|right - size = { 20 20 } - - tooltip = "VASSAL_CONTRACT_IS_BLOCKED" - using = tooltip_sw - } - - type icon_vassal_contract_warning_default = alert_icon { - visible = "[Not( SubjectContract.IsContractDefault )]" - parentanchor = bottom|right - size = { 20 20 } - - tooltip = "VASSAL_CONTRACT_NOT_DEFAULT" - using = tooltip_sw - } - - type vassal_stance_icon = icon { - datacontext = "[Character.GetVassalStance]" - visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]" - - texture = "[VassalStance.GetIcon]" - tooltipwidget = { - using = vassal_stance_tooltip - } - } - - type vassal_expected_legitimacy_widget = widget { - visible = "[And(And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) ), And( GetPlayer.GetGovernment.HasRule( 'legitimacy' ), GetPlayer.GetLegitimacyType.IsValid ) )]" - tooltip = "VASSAL_EXPECTED_LEGITIMACY_TT" - - # A glow if you are below their expectations. Needs to be its own icon since glow generation does not work on frame-based icons - icon = { - name = "below_glow" - size = { 100% 100% } - texture = "[GetPlayer.GetLegitimacyType.GetFlatIcon]" - - visible = "[GreaterThan_int32( Character.GetLegitimacyExpectationsOfLiege, Character.GetLiege.GetLegitimacyLevel.GetIndex )]" - using = Animation_Glow_Pulse - - glow = { - glow_radius = 3 - using = Glow_Standard - using = Color_Red - } - } - - icon = { - name = "tiered_icon" - size = { 100% 100% } - - texture = "[GetPlayer.GetLegitimacyType.GetLevelsIcon]" - framesize = { 70 70 } - frame = "[IntToFrameIndex( Character.GetLegitimacyExpectationsOfLiege )]" - } - } -} - -#################################### -########### SCROLL AREA ############ -#################################### - -## Generic scrollarea. Remember that "scrollbox_content" can only contain one child without siblings. -types Scrollbar -{ - type scrollbox = scrollarea { - size = { 100 100 } - - scrollbarpolicy_horizontal = always_off - - block "scrollbox_scrollbar_vertical" - { - scrollbar_vertical = { - using = Scrollbar_Vertical - } - } - - block "scrollbox_background" - { - background = { - using = Background_Area - } - } - - scrollwidget = { - block "scrollbox_replace_vbox" - { - vbox = { - block "scrollbox_margins" - { - using = Scrollbox_Margins - } - - block "scrollbox_content" - { - debug_square = {} - } - - text_single = { - layoutpolicy_vertical = expanding - default_format = "#weak" - - block "scrollbox_empty" - { - visible = no - } - } - - block "scrollbox_expand" - { - expand = { - layoutpolicy_vertical = growing - } - } - } - } - } - - block "scrollbox_background_fade" { - icon = { - name = "scrollbar_fade" - texture = "gfx/interface/scrollbars/scrollbar_fade.dds" - size = { 100% 100% } - alwaystransparent = yes - - spriteType = Corneredtiled - spriteborder = { 0 30 } - } - } - } -} - -## Vertical scrollbar -template Scrollbar_Vertical -{ - scrollbar = { - name = "vertical_scrollbar" - size = { 12 12 } - wheelstep = 60 - direction = vertical - - track = { - button = { - size = { 12 12 } - gfxtype = buttongfx - - texture = "gfx/interface/scrollbars/scrollbar_track_vertical.dds" - spriteType = Corneredtiled - spriteborder = { 0 3 } - effectname = "NoHighlight" - } - } - - slider = { - button = { - gfxtype = framedbuttongfx - effectname = "NoHighlight" - - texture = "gfx/interface/scrollbars/scrollbar_slider.dds" - spriteType = Corneredtiled - spriteborder = { 0 3 } - framesize = { 12 40 } - minimumsize = { -1 40 } - - upframe = 1 - overframe = 2 - downframe = 2 - - oversound = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over" - - state = { - name = _mouse_press - start_sound = { - soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" - } - } - - state = { - name = _mouse_release - start_sound = { - soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" - } - } - } - } - - dec_button = { - button = { - } - } - - inc_button = { - button = { - } - } - } -} - -## Horizontal scrollbar -template Scrollbar_Horizontal -{ - scrollbar = { - name = "horizontal_scrollbar" - size = { 12 12 } - wheelstep = 60 - direction = horizontal - - track = { - button = { - size = { 12 12 } - gfxtype = buttongfx - - texture = "gfx/interface/scrollbars/scrollbar_track_horizontal.dds" - spriteType = Corneredtiled - spriteborder = { 3 0 } - effectname = "NoHighlight" - intersectionmask = yes - } - } - - slider = { - button = { - gfxtype = framedbuttongfx - effectname = "NoHighlight" - - texture = "gfx/interface/scrollbars/scrollbar_slider_horizontal.dds" - spriteType = Corneredtiled - spriteborder = { 3 0 } - framesize = { 40 12 } - minimumsize = { 15 -1 } - - upframe = 1 - overframe = 2 - downframe = 2 - - intersectionmask = yes - oversound = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over" - - state = { - name = _mouse_press - start_sound = { - soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" - } - } - - state = { - name = _mouse_release - start_sound = { - soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" - } - } - } - } - - dec_button = { - button = { - } - } - - inc_button = { - button = { - } - } - } -} - -types DataModelViewTypes -{ - type data_model_view_options_hbox = hbox - { - spacing = 5 - - button_standard = { - name = "filters" - size = { 25 25 } - - down = "[DataModelView.AreFiltersShown]" - onclick = "[DataModelView.ToggleFiltersShown]" - - tooltip = "TOGGLE_FILTERS" - using = tooltip_nw - - button_search = { - alwaystransparent = yes - parentanchor = center - size = { 20 20 } - } - } - - divider_light = { - size = { 3 20 } - } - - text_single = { - text = "SORT_BY" - align = nobaseline - } - - dropdown_menu_standard = { - name = "sort_options" - - blockoverride "dropdown_properties" - { - datamodel = "[DataModelView.GetSorters]" - selectedindex = "[DataModelView.GetActiveSortIndex]" - onselectionchanged = "[DataModelView.SortBy]" - } - - blockoverride "dropdown_active_item_properties" - { - text = "[DataModelSorter.GetName]" - } - - blockoverride "dropdown_item_properties" - { - text = "[DataModelSorter.GetName]" - } - } - - button_standard = { - name = "sort_order" - size = { 25 25 } - - using = tooltip_ne - onclick = "[DataModelView.ToggleSortOrder]" - - button_icon = { - size = { 25 25 } - texture = "gfx/interface/icons/flat_icons/sort_icon.dds" - framesize = { 66 66 } - frame = "[BoolTo1And2( DataModelView.GetSortOrder )]" - - alwaystransparent = yes - - blockoverride "button_frames" - { - effectname = "NoHighlight" - } - } - } - } - - type data_model_view_toggle_filter = button_checkbox_label - { - layoutpolicy_horizontal = expanding - - onclick = "[DataModelView.ToggleFilter( PdxGuiWidget.GetIndexInDataModel )]" - - block "toggle_onclick" - { - } - - blockoverride "checkbox" - { - checked = "[DataModelFilter.IsEnabled]" - } - - blockoverride "text" - { - text = "[DataModelFilter.GetName]" - } - } - - type data_model_view_dropdown_filter = hbox - { - layoutpolicy_horizontal = expanding - - spacing = 5 - - text_single = { - layoutpolicy_horizontal = expanding - text = "[DataModelGroupedFilter.GetGroupName]" - default_format = "#medium" - align = nobaseline - autoresize = no - } - - dropdown_menu_standard = { - blockoverride "dropdown_properties" - { - datamodel = "[DataModelGroupedFilter.GetFilters]" - selectedindex = "[DataModelGroupedFilter.GetActiveFilter]" - onselectionchanged = "[DataModelView.SelectGroupFilter( PdxGuiWidget.GetIndexInDataModel )]" - - block "dropdown_onselect" - { - } - } - - blockoverride "dropdown_active_item_properties" - { - text = "[CString.GetString]" - } - - blockoverride "dropdown_item_properties" - { - text = "[CString.GetString]" - } - } - } - - type data_model_view_filter_hbox = hbox - { - layoutpolicy_horizontal = expanding - spacing = 10 - - hbox = { - name = "toggle_filters" - layoutpolicy_horizontal = expanding - datamodel = "[DataModelView.GetFilters]" - - item = { - data_model_view_toggle_filter = {} - } - } - - hbox = { - name = "grouped_filters" - layoutpolicy_horizontal = expanding - datamodel = "[DataModelView.GetGroupedFilters]" - - item = { - data_model_view_dropdown_filter = {} - } - } - } - - type data_model_view_filters_window = window - { - visible_at_creation = no - visible = "[DataModelView.AreFiltersShown]" - - parentanchor = top|right - position = { -780 20 } - size = { 510 800 } - focuspolicy = click - - allow_outside = yes - - using = Window_Movable - using = Window_Background_Subwindow - - state = { - name = _show - using = Animation_FadeIn_Quick - } - - state = { - name = _hide - using = Animation_FadeOut_Quick - } - - vbox = { - margin = { 4 4 } - - spacing = 10 - - header_pattern = { - layoutpolicy_horizontal = expanding - - blockoverride "header_text" - { - text = "CHARACTER_LIST_FILTERS" - } - blockoverride "button_close" - { - onclick = "[DataModelView.ToggleSortOrder]" - } - } - - scrollbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - blockoverride "scrollbox_content" - { - vbox = { - name = "toggle_filters" - layoutpolicy_horizontal = expanding - datamodel = "[DataModelView.GetFilters]" - - item = { - data_model_view_toggle_filter = {} - } - } - - vbox = { - name = "grouped_filters" - layoutpolicy_horizontal = expanding - datamodel = "[DataModelView.GetGroupedFilters]" - - item = { - data_model_view_dropdown_filter = {} - } - } - } - } - - hbox = { - layoutpolicy_horizontal = growing - margin_bottom = 10 - - button_standard = { - name = "remove_filters" - raw_text = "Remove Filters" - focuspolicy = click - onclick = "[DataModelView.RemoveAllFilters]" - } - } - } - } -} diff --git a/gui/portraits.gui b/gui/portraits.gui deleted file mode 100644 index 43eafc53b..000000000 --- a/gui/portraits.gui +++ /dev/null @@ -1,3313 +0,0 @@ -###################################################### -################## PORTRAIT TYPES #################### -###################################################### - -types PortraitTypes -{ - - #################################### - ######### MAIN PORTRAITS ########### - #################################### - - type widget_portrait_frame = widget { - size = { 100% 100% } - - background = { - visible = "[Not( Character.IsDiarchOf( Character.GetLiege ) )]" - texture = "gfx/portraits/portrait_rank.dds" - - margin_top = -4 - margin_bottom = -3 - margin_right = -4 - margin_left = -3 - - framesize = { 196 194 } - frame = "[Character.GetPrimaryTitle.GetTierFrame]" - } - - background = { - visible = "[Character.IsDiarchOf( Character.GetLiege )]" - texture = "gfx/portraits/portrait_rank_regency.dds" - - margin_top = 6 - margin_bottom = -3 - margin_right = -4 - margin_left = -3 - - framesize = { 196 210 } - frame = "[Character.GetPrimaryTitle.GetTierFrame]" - } - } - - # The standard portrait types. CoA, opinion and status icons are included by default; use blockoverride to disable them. - - ## Extra small head portrait. These are smaller than we would like, so only use if you really, really have to. - type portrait_head_small = widget { - size = { 85 90 } - - background = { - using = Background_Area_Solid - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - alpha = 0.2 - mirror = vertical - } - } - - background = { - block "empty_character" {} - visible = "[Not( Character.HasLandedTitles )]" - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - margin = { -4 -4 } - alpha = 0.4 - } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - - block "empty_character" {} - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 80 100 } - using = portrait_base - - block "portrait_texture" - { - portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - - mask = "gfx/portraits/portrait_mask_head_small.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 80 88 } - parentanchor = center - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_head.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_head_small.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - widget_portrait_frame = {} - - block "coa" { - coa_realm_tiny = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { 3 -2 } - scale = 0.85 - } - } - - widget = { - size = { 100% 100% } - visible = "[Not( Character.HasLandedTitles )]" - block "empty_character" {} - - background = { - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - margin = { -4 -4 } - alpha = 0.4 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - mirror = vertical - } - } - - background = { - visible = "[Character.IsHovered]" - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - alpha = 0.7 - margin = { -4 -4 } - } - } - - flowcontainer = { - parentanchor = bottom|right - ignoreinvisible = yes - direction = vertical - margin = { 4 0 } - margin_bottom = 5 - - portrait_status_icons_small = { - parentanchor = right - } - - block "opinion_box" - { - portrait_opinion_small = { - name = "tutorial_highlight_character_view_opinion_heir" - } - } - } - - - # Portrait unknown glow - highlight_icon = { - name = "portrait_unknown_head_small_glow" - parentanchor = center - position = { 3 -9 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds" - size = { 80 100 } - framesize = { 384 480 } - upframe = 1 - overframe = 2 - block "glow_visible" { - - visible = "[Not(Character.IsValid)]" - } - - block "glow_flip" {} - - block "onclick" {} - } - } - - ### Portrait used in the relationship tab - # Has extra relationship icon from the view of the current character (not necessarily the player) - type portrait_head_small_relationship = widget { - size = { 85 90 } - - background = { - using = Background_Area_Solid - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - alpha = 0.2 - mirror = vertical - } - } - - background = { - block "empty_character" {} - visible = "[Not( Character.HasLandedTitles )]" - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - margin = { -4 -4 } - alpha = 0.4 - } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - - block "empty_character" {} - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 80 100 } - using = portrait_base - - block "portrait_texture" - { - portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - - mask = "gfx/portraits/portrait_mask_head_small.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 80 88 } - parentanchor = bottom - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_head.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_head_small.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - widget_portrait_frame = {} - - block "coa" { - coa_realm_tiny = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { 3 -2 } - scale = 0.85 - } - } - - widget = { - size = { 100% 100% } - visible = "[Not( Character.HasLandedTitles )]" - block "empty_character" {} - - background = { - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - margin = { -4 -4 } - alpha = 0.4 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - mirror = vertical - } - } - - background = { - visible = "[Character.IsHovered]" - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - alpha = 0.7 - margin = { -4 -4 } - } - } - - flowcontainer = { - visible = "[Character.IsValid]" - ignoreinvisible = yes - parentanchor = top|right - - block "scripted_relation_status_icons" - { - using = Portrait_Relation_Icons_Character_Window - } - - margin_right = 2 - - blockoverride "icon_size" - { - size = { 24 24 } - } - - background = { - using = Background_Area_Dark - margin = { 2 2 } - alpha = 0.8 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_glow.dds" - blend_mode = alphamultiply - } - } - } - - widget = { - size = { 85 68 } - scissor = yes - parentanchor = bottom - - flowcontainer = { - parentanchor = bottom|right - ignoreinvisible = yes - direction = vertical - - margin = { 4 0 } - margin_bottom = 4 - - flowcontainer = { - visible = "[Character.IsValid]" - ignoreinvisible = yes - direction = vertical - parentanchor = right - spacing = 1 - - margin_right = 2 - - background = { - using = Background_Area_Dark - margin = { 2 2 } - } - - # sorted by priority, highest prio at the bottom - block "status_icons" { - - icon = { - name = "relation_icon" - visible = "[LessThan_int32(Character.GetPlayerDynastyRelationFrame, '(int32)9')]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/relation_small.dds" - framesize = { 28 28 } - frame = "[Character.GetPlayerDynastyRelationFrame]" - tooltip = "[Character.GetPlayerDynastyRelationTooltip]" - } - - icon = { - name = "incapable" - visible = "[Character.IsIncapable]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/incapable_small.dds" - tooltip = "trait_incapable" - } - - block "inspiration_status_icons" - { - has_inspiration_status_icon = { - size = { 14 14 } - texture = "gfx/interface/icons/portraits/inspiration_small.dds" - } - - has_completed_inspiration_status_icon = { - size = { 14 14 } - texture = "gfx/interface/icons/portraits/inspiration_complete_small.dds" - } - } - - icon = { - name = "can_be_punished" - visible = "[Character.CanBePunished]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/punishment_small.dds" - tooltip = "[Character.PunishmentTooltip]" - } - - icon = { - name = "hook" - visible = "[Character.PlayerHasHooksOrHookableSecrets]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/hook_secret_small.dds" - framesize = { 28 28 } - frame = "[Character.GetHookOrHookableSecretsFrame]" - tooltip = "[Character.HookTooltip]" - } - - icon = { - name = "powerful_vassal" - visible = "[Character.IsMyPowerfulVassal]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/powerful_vassal_small.dds" - framesize = { 28 28 } - frame = "[Character.GetPowerfulVassalFrame]" - tooltip = "[Character.GetPowerfulVassalTooltip]" - } - - icon = { - name = "tributary" - datacontext = "[Character.GetTributaryContract]" - visible = "[Character.IsTributaryOf(GetPlayer)]" - size = { 14 14 } - - texture = "[Character.GetTributaryContract.GetPortraitIconSmall]" - tooltip = "FRAME_RELATION_TRIBUTARY" - } - - icon = { - name = "obedient_to_someone_else" - visible = "[And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Character.IsObedientTo(Character.GetOverlord)))]" - - size = { 14 14 } - enabled = no - texture = "gfx/interface/icons/portraits/obedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "disobedient_to_me" - visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Not(Character.IsObedientTo(GetPlayer)), Not(Character.IsPlayer))))]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/disobedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "disobedient_to_someone_else" - visible = "[And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Not(Character.IsObedientTo(Character.GetOverlord))))]" - size = { 14 14 } - enabled = no - texture = "gfx/interface/icons/portraits/disobedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - flowcontainer = { - visible = "[And(HasDlcFeature( 'all_under_heaven' ), Character.ShouldShowMovementPower)]" - ignoreinvisible = yes - direction = vertical - datacontext = "[Character]" - datacontext = "[GetSituation('dynastic_cycle')]" - - icon = { - name = "advancement_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('advancement_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_advance_small.dds" - - tooltip = "FRAME_ADVANCEMENT_MOVEMENT" - } - - icon = { - name = "expansion_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('expansion_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_expand_small.dds" - - tooltip = "FRAME_EXPANSION_MOVEMENT" - } - - icon = { - name = "conservative_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('conservative_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_anti_small.dds" - - tooltip = "FRAME_CONSERVATIVE_MOVEMENT" - } - - icon = { - name = "pro_hegemon_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('pro_hegemon_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_pro_small.dds" - - tooltip = "FRAME_PRO_HEGEMON_MOVEMENT" - } - - icon = { - name = "undecided_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('undecided_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_unaligned_small.dds" - - tooltip = "FRAME_UNDECIDED_MOVEMENT" - } - } - - icon = { - name = "unpredictable" - visible = "[Character.IsOtherPlayer]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/unpredictable.dds" - - tooltip = "PLAYER_OBEDIENCE_UNPREDICTABLE" - } - - icon = { - name = "head_icon" - visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)yes'), '(int32)9')]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/relation_small.dds" - framesize = { 28 28 } - frame = "[Character.GetDynastyHeadRelationFrame('(bool)yes')]" - tooltip = "[Character.GetDynastyHeadRelationTooltip]" - } - - icon = { - name = "playable_icon" - visible = "[ObjectsEqual( Character.Self, GetPlayer.GetPlayerHeir )]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/heir_small.dds" - tooltip = "[Character.GetPlayableFrameTooltip]" - } - } - - block "dead_icon" - { - icon = { - name = "is_dead" - visible = "[Character.IsDeadAndValid]" - size = { 14 14 } - - texture = "[Character.GetDeathReasonIcon]" - tooltip = "CHARACTER_DEAD_TOOLTIP" - } - } - } - - block "opinion_box" - { - portrait_opinion_small = { - name = "tutorial_highlight_character_view_opinion_heir" - } - } - } - } - - - # Portrait unknown glow - highlight_icon = { - name = "portrait_unknown_head_small_glow" - parentanchor = center - position = { 3 -9 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds" - size = { 80 100 } - framesize = { 384 480 } - upframe = 1 - overframe = 2 - - block "glow_visible" - { - visible = "[Not(Character.IsValid)]" - } - - block "glow_flip" {} - - block "onclick" {} - } - } - - type portrait_head_small_legend = widget { - size = { 95 120 } - - background = { - texture = "gfx/interface/window_legend_chronicle/marginalia_portrait_gold_bg.dds" - } - - portrait_button = { - datacontext = "[Legend.GetProtagonist]" - parentanchor = bottom|hcenter - size = { 90 120 } - using = portrait_base - - shaderfile = "gfx/FX/gui_painterly_portrait.shader" - pop_out = yes # Painterly shader override for `pop_out` property, it now means "add outline" - pop_out_v = 1.2 # Painterly shader override for `pop_out_v` property, it now means "outline width" - grayscale = no # Dead people should be painted non-gray - - block "portrait_texture" - { - portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - - mask = "gfx/portraits/portrait_mask_head.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 80 88 } - parentanchor = center - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_head.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_head_small.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - } - - icon = { - size = { 95 120 } - texture = "[GetIllustration( 'legend_chronicle_portrait_small_frame' ).GetTexture( Legend.MakeScope )]" - } - - block "coa" { - coa_realm_tiny = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { 3 -2 } - scale = 0.85 - } - } - - widget = { - size = { 100% 100% } - visible = "[Not( Character.HasLandedTitles )]" - block "empty_character" {} - - background = { - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - margin = { -4 -4 } - alpha = 0.4 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - mirror = vertical - } - } - - background = { - visible = "[Character.IsHovered]" - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - alpha = 0.7 - margin = { -4 -4 } - } - } - - flowcontainer = { - parentanchor = bottom|right - ignoreinvisible = yes - direction = vertical - margin = { 4 0 } - margin_bottom = 5 - - portrait_status_icons_small = { - parentanchor = right - } - - block "opinion_box" - { - portrait_opinion_small = { - name = "tutorial_highlight_character_view_opinion_heir" - } - } - } - # Portrait unknown glow - highlight_icon = { - name = "portrait_unknown_head_small_glow" - parentanchor = center - position = { 3 -9 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds" - size = { 80 100 } - framesize = { 384 480 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - visible = "[Not(Character.IsValid)]" - } - - block "glow_flip" {} - - block "onclick" {} - } - } - - ## Standard head portrait - type portrait_head = widget { - size = { 110 120 } - - background = { - using = Background_Area_Solid - } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - - block "empty_character" {} - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 100 125 } - using = portrait_base - - block "portrait_texture" { - portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - - mask = "gfx/portraits/portrait_mask_head.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100 118 } - parentanchor = bottom - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_head.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_head.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - widget_portrait_frame = {} - - portrait_status_icons_small = { - parentanchor = bottom|right - position = { -7 -8 } - } - - block "coa" { - coa_realm_tiny = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { 3 -2 } - } - } - - block "opinion_box" - { - portrait_opinion = { - parentanchor = bottom|hcenter - position = { 1 -4 } - } - } - - widget = { - visible = "[Not( Character.HasLandedTitles )]" - size = { 100% 100%} - - background = { - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - margin = { -4 -4 } - alpha = 0.5 - } - - background = { - visible = "[Character.IsHovered]" - texture = "gfx/portraits/portrait_frame.dds" - using = Color_Grey - alpha = 0.7 - margin = { -4 -4 } - } - } - - - #portrait unknown glow - button = { - name = "portrait_unknown_head_glow" - parentanchor = center - position = { 3 -7 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds" - size = { 98 125 } - framesize = { 384 480 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - visible = "[Not(Character.IsValid)]" - } - - block "glow_flip" {} - - block "onclick" {} - - } - } - - ## Standard portrait from shoulders up - type portrait_shoulders = widget { - - size = { 125 160 } - - widget = { - size = { 100% 100% } - block "portrait_glows" - { - using = Portrait_Background_Glows - } - } - - portrait_button = { - parentanchor = bottom|hcenter - - block "portrait_size" - { - size = { 145 175 } - } - using = portrait_base - - block "portrait_texture" - { - portrait_texture = "[Character.GetPortrait('environment_shoulders', 'camera_shoulders', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - - mask = "gfx/portraits/portrait_mask_shoulders.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_shoulders.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_shoulders.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - block "portrait_status_icons" { - portrait_status_icons = { - parentanchor = bottom|right - position = { 0 -3 } - scale = 0.85 - - background = { - using = Background_Area_Dark - margin = { 2 3 } - alpha = 0.8 - } - } - } - - block "coa" { - coa_realm_small_crown = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { -5 3 } - } - } - - block "opinion_box" - { - portrait_opinion = { - parentanchor = bottom|hcenter - position = { 0 -2 } - } - } - - #portrait unknown glow - button = { - position = { -8 -14 } - size = { 141 174 } - texture = "gfx/portraits/unknown_portraits/button_unknown_shoulders.dds" - framesize = { 471 589 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - upframe = 1 - overframe = 2 - - block "glow_visible" { - - visible = "[Not(Character.IsValid)]" - - } - - block "glow_flip" {} - - block "onclick" {} - } - } - - ## Standard torso from waist up - type portrait_torso = widget { - size = { 165 200 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 195 225 } - using = portrait_base - - block "portrait_texture" - { - portrait_texture = "[Character.GetPortrait('environment_torso', 'camera_torso', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - - block "portrait_mask" - { - mask = "gfx/portraits/portrait_mask_torso.dds" - } - - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_torso.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_torso.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - block "portrait_status_icons" { - portrait_status_icons = { - parentanchor = bottom|left - position = { 43 -6 } - scale = 0.85 - - background = { - using = Background_Area_Dark - margin = { 2 3 } - alpha = 0.8 - } - } - } - - block "coa" { - coa_realm_small_crown = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { -2 1 } - } - } - - block "opinion_box" - { - portrait_opinion = { - parentanchor = bottom|hcenter - position = { 4 -2 } - } - } - - #portrait unknown glow - button = { - name = "portrait_unknown_torso_glow" - parentanchor = center - position = { 0 -12 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown.dds" - size = { 195 225 } - framesize = { 554 780 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - - visible = "[Not(Character.IsValid)]" - - } - - block "glow_flip" {} - - block "onclick" {} - } - } - - ## Standard full body portrait - type portrait_body = widget { - size = { 210 300 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 240 330 } - using = portrait_base - - block "portrait_texture" { - portrait_texture = "[Character.GetPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - block "mask" { - mask = "gfx/portraits/portrait_mask_body.dds" - } - effectname = "NoHighlight" - - block "prison" { - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_body.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_body.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - } - - block "portrait_button" {} - } - - block "portrait_icons" { - portrait_status_icons = { - parentanchor = bottom|left - position = { 60 -5 } - scale = 0.85 - - background = { - using = Background_Area_Dark - margin = { 3 3 } - alpha = 0.8 - } - } - } - - block "coa" { - coa_realm_medium_crown = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { -2 4 } - } - } - - block "opinion_box" - { - portrait_opinion = { - parentanchor = bottom|hcenter - block "position_portrait_opinion_body" { - position = { 0 -2 } - } - } - } - - #portrait unknown glow - button = { - name = "portrait_unknown_body_glow" - parentanchor = center - position = { 0 -15 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds" - size = { 240 330 } - framesize = { 564 780 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - - visible = "[Not(Character.IsValid)]" - - } - - block "glow_flip" {} - - block "onclick" {} - - } - } - - ## Standard full body portrait - type portrait_body_large = widget { - size = { 378 540 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 432 594 } - using = portrait_base - - block "portrait_texture" { - portrait_texture = "[Character.GetPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - block "mask" { - mask = "gfx/portraits/portrait_mask_body.dds" - } - effectname = "NoHighlight" - - block "prison" { - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_body.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_body.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - } - - block "portrait_button" {} - } - - block "portrait_icons" { - portrait_status_icons = { - parentanchor = bottom|left - position = { 64 -4 } - scale = 0.85 - - background = { - using = Background_Area_Dark - margin = { 3 3 } - alpha = 0.8 - } - } - } - - block "coa" { - coa_realm_medium_crown = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { -2 4 } - } - } - - block "opinion_box" - { - portrait_opinion = { - parentanchor = bottom|hcenter - block "position_portrait_opinion_body" { - position = { 0 -2 } - } - } - } - - #portrait unknown glow - button = { - name = "portrait_unknown_body_glow" - parentanchor = center - position = { 0 -15 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds" - size = { 240 330 } - framesize = { 564 780 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - - visible = "[Not(Character.IsValid)]" - - } - - block "glow_flip" {} - - block "onclick" {} - - } - } - - #################################### - ######## SPECIAL PORTRAITS ######### - #################################### - - type portrait_map = widget { - size = { 85 90 } - - portrait_button = { - visible = "[Not(Character.IsImprisoned)]" - parentanchor = bottom|hcenter - size = { 80 100 } - using = portrait_base - portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_head.dds" - effectname = "NoHighlight" - - block "portrait_button" {} - } - } - - type portrait_character_view_main = margin_widget { - size = { 300 300 } - margin = { 3 3 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - blockoverride "glow_local_player" {} - blockoverride "glow_selected" {} - blockoverride "grayscale" {} - - portrait_button = { - size = { 380 421 } - position = { -30 10 } - parentanchor = bottom|hcenter - using = portrait_base - visible = "[Not( And( Character.GetGovernment.HasGovernmentFlag( 'government_is_herder'), Character.HasLandedTitles) )]" - - portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment(Character.Self), 'camera_character_view_main', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_character_view.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - position = { 0 20 } - - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_character_view.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_character_view.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - portrait_button = { - size = { 1000 421 } - position = { -30 10 } - parentanchor = bottom|hcenter - using = portrait_base - tooltip_offset = { -310 0 } - portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment(Character.Self), 'camera_character_view_main', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_character_view.dds" - effectname = "NoHighlight" - visible = "[And(Character.GetGovernment.HasGovernmentFlag( 'government_is_herder'), Character.HasLandedTitles)]" - - block "prison_bars" { - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - position = { 0 20 } - - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_character_view.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_character_view.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - } - - block "portrait_button" {} - } - - portrait_status_icons = { - parentanchor = bottom|right - position = { -60 0 } - - block "portrait_status_icons" {} - } - - block "opinion_box" - { - portrait_opinion = { - position = { -20 0 } - parentanchor = bottom|hcenter - - block "portrait_opinion" {} - } - } - } - - type portrait_character_view_spouse = margin_widget { - size = { 320 300 } - margin = { 3 3 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - portrait_button = { - size = { 350 338 } - position = { 0 10 } - parentanchor = bottom|hcenter - using = portrait_base - - portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment( Character.Self ), 'camera_character_view_spouse', Select_CString( Character.IsDiarchOf( Character.GetLiege ), 'chancellor', 'idle' ), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_character_view.dds" - effectname = "NoHighlight" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - position = { 0 20 } - - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_character_view.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_character_view.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - - portrait_status_icons = { - parentanchor = bottom|right - position = { -53 0 } - } - - coa_realm_small = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|right - position = { 0 5 } - } - } - - type portrait_event = widget { - - widget = { - size = { 500 490 } - parentanchor = bottom - - icon = { - name = "hovered" - parentanchor = bottom|hcenter - size = { 70% 95% } - color = { 0.9 0.8 0.6 0.6 } - - using = Background_Portrait_Glow - - block "highlight_visible" { - visible = no - } - - state = { - name = _show - duration = 0.1 - using = Animation_Curve_Default - alpha = 1 - } - - state = { - name = _hide - duration = 0.3 - using = Animation_Curve_Default - alpha = 0 - delay = 0.05 - } - } - - portrait_button = { - size = { 500 558 } - using = portrait_base - parentanchor = hcenter|bottom - - portrait_texture = "[Character.GetAnimatedPortrait('environment_event_standard', 'environment_event_standard', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - mask = "gfx/portraits/portrait_mask_event.dds" - effectname = "NoHighlight" - - block "portrait_button" {} - } - } - } - - type portrait_event_duel = widget { - - widget = { - size = { 930 490 } - parentanchor = bottom - - icon = { - name = "hovered" - parentanchor = bottom|hcenter - size = { 40% 95% } - color = { 0.9 0.8 0.6 0.6 } - - using = Background_Portrait_Glow - - block "highlight_visible" { - visible = no - } - - state = { - name = _show - duration = 0.1 - using = Animation_Curve_Default - alpha = 1 - } - - state = { - name = _hide - duration = 0.3 - using = Animation_Curve_Default - alpha = 0 - delay = 0.05 - } - } - - portrait_button = { - size = { 930 490 } - using = portrait_base - parentanchor = hcenter|bottom - - portrait_texture = "[Character.GetAnimatedPortrait('environment_event_standard', 'environment_event_standard', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - mask = "gfx/portraits/portrait_mask_event.dds" - effectname = "NoHighlight" - - block "portrait_button" {} - } - } - } - - type portrait_event_tournament = widget { - - widget = { - size = { 500 490 } - parentanchor = bottom - - icon = { - name = "hovered" - parentanchor = bottom|hcenter - size = { 70% 95% } - color = { 0.9 0.8 0.6 0.6 } - - using = Background_Portrait_Glow - - block "highlight_visible" { - visible = no - } - - state = { - name = _show - duration = 0.1 - using = Animation_Curve_Default - alpha = 1 - } - - state = { - name = _hide - duration = 0.3 - using = Animation_Curve_Default - alpha = 0 - delay = 0.05 - } - } - - portrait_button = { - size = { 1150 900 } - using = portrait_base - parentanchor = hcenter|bottom - - portrait_texture = "[Character.GetAnimatedPortrait('environment_event_standard', 'environment_event_standard', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - mask = "gfx/portraits/portrait_mask_event.dds" - effectname = "NoHighlight" - - block "portrait_button" {} - } - - icon = { - visible = "[Character.IsDeadAndValid]" - parentanchor = bottom|right - position = { -80 -30 } - size = { 30 30 } - - texture = "[Character.GetDeathReasonIcon]" - - tooltip = "CHARACTER_DEAD_TOOLTIP" - } - } - } - - type portrait_event_small = widget { - size = { 125 160 } - - icon = { - name = "hovered" - parentanchor = bottom|hcenter - size = { 100% 100% } - color = { 0.9 0.8 0.6 0.6 } - - using = Background_Portrait_Glow - - block "highlight_visible" { - visible = no - } - - state = { - name = _show - duration = 0.1 - using = Animation_Curve_Default - alpha = 1 - } - - state = { - name = _hide - duration = 0.3 - using = Animation_Curve_Default - alpha = 0 - delay = 0.05 - } - } - - portrait_shoulders = { - size = { 100% 100% } - blockoverride "portrait_size" - { - size = { 100% 100% } - } - - blockoverride "portrait_glows" {} - } - } - - type portrait_event_tiny = widget { - - size = { 85 90 } - - icon = { - name = "hovered" - parentanchor = bottom|hcenter - size = { 100% 100% } - color = { 0.9 0.8 0.6 0.6 } - - using = Background_Portrait_Glow - - block "highlight_visible" { - visible = no - } - - state = { - name = _show - duration = 0.1 - using = Animation_Curve_Default - alpha = 1 - } - - state = { - name = _hide - duration = 0.3 - using = Animation_Curve_Default - alpha = 0 - delay = 0.05 - } - } - - portrait_shoulders = { - size = { 100% 100% } - blockoverride "portrait_size" - { - size = { 100% 100% } - } - blockoverride "portrait_glows" {} - blockoverride "coa" {} - } - } - - type portrait_scheme_hud = widget { - size = { 90 112 } - - portrait_button = { - alwaystransparent = yes - parentanchor = center - position = { 0 -9 } - size = { 90 112 } - using = portrait_base - - portrait_texture = "[Character.GetPortrait('environment_shoulders', 'camera_scheme_widget_microscopic', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - - mask = "gfx/portraits/scheme_hud_portrait_mask.dds" - effectname = "NoHighlight" - - tooltip_visible = no - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_shoulders.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_shoulders.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - - block "portrait_button" {} - } - } - - type portrait_council = widget { - size = { 260 285 } - - portrait_button = { - block "portrait_size" - { - size = { 260 285 } - } - parentanchor = bottom|hcenter - using = portrait_base - - portrait_texture = "[Character.GetAnimatedPortrait('environment_council', 'camera_council', CouncilPositionType.GetPortraitAnimation, PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_council.dds" - effectname = "NoHighlight" - - block "mask" { - mask = "gfx/portraits/portrait_mask_council.dds" - } - } - - #portrait unknown glow - button = { - name = "portrait_unknown_council_glow" - visible = "[Not(Character.IsValid)]" - parentanchor = center - position = { 2 -37 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds" - size = { 239 312 } - framesize = { 564 780 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - - visible = "[Not(Character.IsValid)]" - - } - - block "onclick" {} - } - } - - type portrait_regency = widget { - size = { 260 285 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - portrait_button = { - position = { 0 4 } - block "portrait_size" - { - size = { 260 320 } - } - - parentanchor = bottom|hcenter - using = portrait_base - - portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment(Character.Self), 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_torso.dds" - effectname = "NoHighlight" - - block "mask" { - mask = "gfx/portraits/portrait_mask_council.dds" - } - } - - portrait_status_icons = { - parentanchor = bottom|right - position = { -54 -10 } - } - - coa_realm_small_crown = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|right - position = { -4 -4 } - } - - portrait_opinion = { - parentanchor = bottom|hcenter - position = { 0 -10 } - } - } - - type portrait_war_overview = margin_widget { - size = { 240 300 } - allow_outside = yes - - margin = { 3 3 } - - widget = { - using = Portrait_Background_Glows - size = { 320 380 } - - alwaystransparent = yes - parentanchor = bottom|hcenter - } - - - portrait_button = { - size = { 420 632 } - parentanchor = bottom|hcenter - using = portrait_base - - portrait_texture = "[Character.GetAnimatedPortrait('environment_war_overview', 'camera_war_overview', Select_CString(WarParticipantItem.IsAttacker, 'war_attacker', 'war_defender'), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_torso.dds" - effectname = "NoHighlight" - - block "portrait_button" {} - - block "portrait_transformation" - { - portrait_scale = { 1 1 } - } - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 80% } - position = { 30 160 } - - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_body.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_character_view.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - } - } - - ### Bottom left HUD portrait - type portrait_hud = portrait_button { - name = "tutorial_highlight_bottom_left_portrait_button" - visible = "[Not(GetVariableSystem.Exists( 'lifestyle_open' ))]" - size = { 350 350 } - - gfxtype = portraitbuttongfx - shaderfile = "gfx/FX/jomini/gui_portrait.shader" - effectname = "NoHighlight" - - state = { - name = _mouse_enter - on_start = "[Character.OnMouseEnter]" - scale = 1.35 - using = Animation_Curve_Default - duration = 0.05 - } - - state = { - name = _mouse_leave - on_start = "[Character.OnMouseLeave]" - using = Animation_Curve_Default - duration = 0.05 - scale = 1.3 - } - - state = { - name = _mouse_release - start_sound = { - soundeffect = "event:/SFX/UI/Character/sfx_ui_character_portrait_select" - } - } - - onclick = "[DefaultOnCharacterClick(Character.GetID)]" - onrightclick = "[DefaultOnCharacterRightClick(Character.GetID)]" - button_ignore = none - - clicksound = "event:/SFX/UI/Character/sfx_ui_character_portrait_select" - oversound = "event:/SFX/UI/Character/sfx_ui_character_portrait_pointer_over" - - portrait_texture = "[Character.GetAnimatedPortrait('environment_hud', 'camera_hud', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - mask = "gfx/portraits/portrait_mask_blank.dds" - - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_shoulders.dds" - position = { 25 0 } - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_head.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - rotate_uv = 180 - } - } - - using = tooltip_es - # tooltip_visible = "[Not(IsInteractionMenuOpenForCharacter(Character.GetID))]" - tooltip_visible = no - - tooltipwidget = { - cooltip_type = { - blockoverride "interaction_info" - { - text = "CHARACTER_TOOLTIP_INSTRUCTION" - } - } - } - - tooltip_offset = { -10 0 } - tooltip_verticalbehavior = slide - tooltip_horizontalbehavior = mirror - } - - ### Lifestyles portrait - type portrait_lifestyles = portrait_button { - size = { 650 1000 } - - effectname = "NoHighlight" - tooltip_visible = no - - using = portrait_base - - portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_blank.dds" - - state = { - name = _show - using = Animation_Curve_Default - - duration = 0.15 - alpha = 1 - } - - state = { - name = _hide - using = Animation_Curve_Default - - duration = 0.15 - alpha = 0 - } - - background = { - name = "hovered" - visible = "[Character.IsHovered]" - using = Background_Portrait_Glow - color = { 0.9 0.8 0.6 0.6 } - } - } - - ### Intent selection portrait - type portrait_intent_selection = portrait_button { - size = { 450 500 } - - effectname = "NoHighlight" - tooltip_visible = no - - using = portrait_base - - onclick = "[DefaultOnCharacterClick(Character.GetID)]" - - portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', ActivityIntent.GetAnimation( Character.Self ), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - mask = "gfx/portraits/portrait_mask_blank.dds" - - state = { - name = _show - using = Animation_Curve_Default - - duration = 0.15 - alpha = 1 - } - - state = { - name = _hide - using = Animation_Curve_Default - - duration = 0.15 - alpha = 0 - } - - background = { - name = "hovered" - visible = "[Character.IsHovered]" - using = Background_Portrait_Glow - color = { 0.9 0.8 0.6 0.6 } - } - } - - ### Bottom left HUD portrait for the activity planner - type portrait_activity_planner = portrait_button { - size = { 250 500 } - - gfxtype = portraitbuttongfx - shaderfile = "gfx/FX/jomini/gui_portrait.shader" - effectname = "NoHighlight" - - button_ignore = both - - portrait_texture = "[Character.GetAnimatedPortrait('environment_hud', 'camera_event_left', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - mask = "gfx/portraits/portrait_mask_blank.dds" - } - - ### Bottom left HUD portrait for the travel planner (might merge with the activity planner) - type portrait_travel_planner = portrait_button { - size = { 250 500 } - - gfxtype = portraitbuttongfx - shaderfile = "gfx/FX/jomini/gui_portrait.shader" - effectname = "NoHighlight" - - button_ignore = both - - portrait_texture = "[Character.GetAnimatedPortrait('environment_hud', 'camera_event_left', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - mask = "gfx/portraits/portrait_mask_blank.dds" - } - - type portrait_activity_locale_window = widget { - size = { 210 300 } - - widget = { - size = { 100% 100% } - using = Portrait_Background_Glows - } - - portrait_button = { - parentanchor = bottom|hcenter - size = { 240 330 } - using = portrait_base - - block "portrait_texture" { - portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" - } - block "mask" { - mask = "gfx/portraits/portrait_mask_body.dds" - } - effectname = "NoHighlight" - - block "prison" { - highlight_icon = { - name = "prison_bars" - visible = "[Character.IsImprisoned]" - visible_at_creation = no - size = { 100% 100% } - effectname = "NoHighlight" - texture = "gfx/portraits/portrait_prison_body.dds" - - modify_texture = { - name = "mask" - texture = "gfx/portraits/portrait_mask_body.dds" - spriteType = Corneredstretched - blend_mode = alphamultiply - } - } - } - - block "portrait_button" {} - } - - block "coa" { - coa_realm_medium_crown = { - visible = "[Character.HasLandedTitles]" - parentanchor = bottom|left - position = { -2 4 } - } - } - - #portrait unknown glow - button = { - name = "portrait_unknown_body_glow" - parentanchor = center - position = { 0 -15 } - gfxtype = framedbuttongfx - effectname = "NoHighlight" - texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds" - size = { 240 330 } - framesize = { 564 780 } - upframe = 1 - overframe = 2 - - block "glow_visible" { - visible = "[Not(Character.IsValid)]" - } - - block "glow_flip" {} - - block "onclick" {} - } - } - - #################################### - ########### ACCESSORIES ############ - #################################### - - ## Opinion box for portraits - type portrait_opinion = flowcontainer { - name = "tutorial_highlight_portrait_opinion" - visible = "[And(Character.IsValid, And(Character.IsAlive, Not(Character.IsLocalPlayer)))]" - ignoreinvisible = yes - - background = { - name = "portrait_opinion_bg" - texture = "gfx/interface/component_tiles/solid_black_label.dds" - spritetype = Corneredtiled - spriteborder = { 20 20 } - margin = { 3 1 } - texture_density = 2 - } - - icon = { - block "dread_logic" { - visible = "[Character.ShouldShowDreadEffectIcon]" - frame = "[Character.GetPlayerDreadEffectIconFrame]" - tooltip = "[Character.GetPlayerDreadEffectTooltip]" - } - name = "dread" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/dread_values.dds" - framesize = { 40 40 } - } - - icon = { - name = "historical_info_widget" - visible = "[GreaterThan_CFixedPoint( Character.MakeScope.Var('show_historical_gui').GetValue, '(CFixedPoint)0' )]" - size = { 20 20 } - texture = "gfx/interface/icons/historical_character.dds" - tooltip = "HISTORICAL_CHARACTER_TOOLTIP" - } - - text_single = { - name = "tutorial_highlight_character_view_opinion" - visible = "[Character.IsValid]" - max_width = 45 - align = nobaseline - margin = { 3 0 } - tooltipwidget = character_opinion_tooltip - using = tooltip_es - default_format = "#true_white" - - block "opinion_text" { - text = "[Character.GetOpinionOf( GetPlayer )|=]" - fonttintcolor = "[Character.GetOpinionOfTint( GetPlayer )]" - } - } - } - - type portrait_opinion_small = flowcontainer { - #name = "tutorial_highlight_portrait_opinion" - visible = "[And(Character.IsValid, And(Character.IsAlive, Not(Character.IsLocalPlayer)))]" - ignoreinvisible = yes - margin_right = 2 - - background = { - name = "portrait_opinion_bg" - texture = "gfx/interface/component_tiles/solid_black_label.dds" - spritetype = Corneredtiled - spriteborder = { 20 20 } - margin = { 2 2 } - texture_density = 2 - } - - icon = { - name = "dread" - visible = "[Character.ShouldShowDreadEffectIcon]" - size = { 16 16 } - texture = "gfx/interface/icons/portraits/dread_values.dds" - framesize = { 40 40 } - frame = "[Character.GetPlayerDreadEffectIconFrame]" - tooltip = "[Character.GetPlayerDreadEffectTooltip]" - } - - text_single = { - visible = "[Character.IsValid]" - max_width = 45 - align = nobaseline - fontsize = 13 - margin = { 3 0 } - - tooltipwidget = character_opinion_tooltip - using = tooltip_es - default_format = "#true_white" - - block "opinion_text" { - text = "[Character.GetOpinionOf( GetPlayer )|=]" - fonttintcolor = "[Character.GetOpinionOfTint( GetPlayer )]" - } - } - } - - type has_inspiration_status_icon = icon - { - name = "has_inspiration" - visible = "[Character.HasInspiration]" - texture = "gfx/interface/icons/portraits/inspiration.dds" - tooltip = "CHARACTER_HAS_INSPIRATION_TOOLTIP" - } - - type has_completed_inspiration_status_icon = icon - { - name = "has_completed_inspiration" - visible = "[And( Character.HasCompletedAnInspiration, Not( Character.HasInspiration ) )]" # Has an inspiration takes priority - texture = "gfx/interface/icons/portraits/inspiration_complete.dds" - tooltip = "CHARACTER_HAS_COMPLETED_AN_INSPIRATION_TOOLTIP" - } - - ## Status icons, shown in the bottom right on portraits - type portrait_status_icons_small = widget { - size = { 16 60 } - scissor = yes - - flowcontainer = { - visible = "[Character.IsValid]" - ignoreinvisible = yes - direction = vertical - parentanchor = bottom - spacing = 1 - - background = { - using = Background_Area_Dark - margin = { 2 2 } - } - - # sorted by priority, highest prio at the bottom - block "status_icons" { - - block "scripted_relation_status_icons" - { - using = Portrait_Relation_Icons_Small - } - - icon = { - name = "relation_icon" - visible = "[LessThan_int32(Character.GetPlayerDynastyRelationFrame, '(int32)9')]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/relation_small.dds" - framesize = { 28 28 } - frame = "[Character.GetPlayerDynastyRelationFrame]" - tooltip = "[Character.GetPlayerDynastyRelationTooltip]" - } - - icon = { - name = "hostage_icon" - visible = "[Character.IsHostage]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/hostage_small.dds" - tooltip = "[Character.GetHostageTooltip]" - } - - icon = { - name = "traveling_icon" - visible = "[And(Character.IsTraveling, Character.GetTravelPlan.IsInTransit)]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/travel_small.dds" - tooltip = "CHARACTER_TRAVELING_TOOLTIP" - } - - icon = { - name = "incapable" - visible = "[Character.IsIncapable]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/incapable_small.dds" - tooltip = "CHARACTER_INCAPABLE_TOOLTIP" - } - - block "inspiration_status_icons" - { - has_inspiration_status_icon = { - size = { 14 14 } - texture = "gfx/interface/icons/portraits/inspiration_small.dds" - } - - has_completed_inspiration_status_icon = { - size = { 14 14 } - texture = "gfx/interface/icons/portraits/inspiration_complete_small.dds" - } - } - - icon = { - name = "can_be_punished" - visible = "[Character.CanBePunished]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/punishment_small.dds" - tooltip = "[Character.PunishmentTooltip]" - } - - icon = { - name = "hook" - visible = "[Character.PlayerHasHooksOrHookableSecrets]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/hook_secret_small.dds" - framesize = { 28 28 } - frame = "[Character.GetHookOrHookableSecretsFrame]" - tooltip = "[Character.HookTooltip]" - } - - icon = { - name = "powerful_vassal" - visible = "[Character.IsMyPowerfulVassal]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/powerful_vassal_small.dds" - framesize = { 28 28 } - frame = "[Character.GetPowerfulVassalFrame]" - tooltip = "[Character.GetPowerfulVassalTooltip]" - } - - icon = { - name = "tributary" - datacontext = "[Character.GetTributaryContract]" - visible = "[Character.IsTributaryOf(GetPlayer)]" - size = { 14 14 } - - texture = "[Character.GetTributaryContract.GetPortraitIconSmall]" - tooltip = "FRAME_RELATION_TRIBUTARY" - } - - icon = { - name = "obedient_to_me" - visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Character.IsObedientTo(GetPlayer), Not(Character.IsPlayer))))]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/obedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "obedient_to_someone_else" - visible = "[And(Not(Character.IsPlayer),And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Character.IsObedientTo(Character.GetOverlord))))]" - - size = { 14 14 } - enabled = no - texture = "gfx/interface/icons/portraits/obedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "disobedient_to_me" - visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Not(Character.IsObedientTo(GetPlayer)), Not(Character.IsPlayer))))]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/disobedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "disobedient_to_someone_else" - visible = "[And( Not(Character.IsPlayer), And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Not(Character.IsObedientTo(Character.GetOverlord)))))]" - size = { 14 14 } - enabled = no - texture = "gfx/interface/icons/portraits/disobedient_small.dds" - tooltipwidget = widget_obedience_tooltip - } - - flowcontainer = { - visible = "[And(HasDlcFeature( 'all_under_heaven' ), Character.ShouldShowMovementPower)]" - ignoreinvisible = yes - direction = vertical - datacontext = "[Character]" - datacontext = "[GetSituation('dynastic_cycle')]" - - icon = { - name = "advancement_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('advancement_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_advance_small.dds" - - tooltip = "FRAME_ADVANCEMENT_MOVEMENT" - } - - icon = { - name = "expansion_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('expansion_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_expand_small.dds" - - tooltip = "FRAME_EXPANSION_MOVEMENT" - } - - icon = { - name = "conservative_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('conservative_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_anti_small.dds" - - tooltip = "FRAME_CONSERVATIVE_MOVEMENT" - } - - icon = { - name = "pro_hegemon_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('pro_hegemon_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_pro_small.dds" - - tooltip = "FRAME_PRO_HEGEMON_MOVEMENT" - } - - icon = { - name = "undecided_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('undecided_movement').Self)]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_unaligned_small.dds" - - tooltip = "FRAME_UNDECIDED_MOVEMENT" - } - } - - icon = { - name = "unpredictable_small" - visible = "[Character.IsOtherPlayer]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/unpredictable_small.dds" - - tooltip = "PLAYER_OBEDIENCE_UNPREDICTABLE" - } - - icon = { - name = "powerful_family" - visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsPowerful ), Character.IsVassalOf( GetPlayer ) )]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/powerful_family_head_small.dds" - framesize = { 28 28 } - tooltip = "FRAME_RELATION_POWERFUL_FAMILY" - } - - icon = { - name = "dominant_family" - visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsDominant ), Character.IsVassalOf( GetPlayer ) )]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/powerful_family_head_small.dds" - framesize = { 28 28 } - frame = 2 - tooltip = "FRAME_RELATION_DOMINANT_FAMILY" - } - - icon = { - name = "head_icon" - visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)yes'), '(int32)9')]" - size = { 14 14 } - - texture = "gfx/interface/icons/portraits/relation_small.dds" - framesize = { 28 28 } - frame = "[Character.GetDynastyHeadRelationFrame('(bool)yes')]" - tooltip = "[Character.GetDynastyHeadRelationTooltip]" - } - - icon = { - name = "playable_icon" - visible = "[ObjectsEqual( Character.Self, GetPlayer.GetPlayerHeir )]" - size = { 14 14 } - texture = "gfx/interface/icons/portraits/heir_small.dds" - tooltip = "[Character.GetPlayableFrameTooltip]" - } - } - - block "dead_icon" - { - icon = { - name = "is_dead" - visible = "[Character.IsDeadAndValid]" - size = { 14 14 } - - texture = "[Character.GetDeathReasonIcon]" - tooltip = "CHARACTER_DEAD_TOOLTIP" - } - } - } - } - - type portrait_status_icons = flowcontainer { - ignoreinvisible = yes - visible = "[Character.IsValid]" - - block "direction" - { - direction = vertical - } - - # sorted by priority, highest prio at the bottom - block "status_icons" { - - block "scripted_relation_status_icons" - { - using = Portrait_Relation_Icons - } - - icon = { - name = "relation_icon" - visible = "[LessThan_int32(Character.GetPlayerDynastyRelationFrame, '(int32)9')]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/relation.dds" - framesize = { 40 40 } - frame = "[Character.GetPlayerDynastyRelationFrame]" - tooltip = "[Character.GetPlayerDynastyRelationTooltip]" - } - - icon = { - name = "hostage_icon" - visible = "[Character.IsHostage]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/hostage.dds" - tooltip = "[Character.GetHostageTooltip]" - } - - icon = { - name = "traveling_icon" - visible = "[And(Character.IsTraveling, Character.GetTravelPlan.IsInTransit)]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/travel.dds" - tooltip = "CHARACTER_TRAVELING_TOOLTIP" - } - - icon = { - name = "not_at_home_icon" - visible = "[And( Not( Character.IsTraveling ), Character.IsAwayFromHome )]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/travel.dds" - tooltip = "CHARACTER_AWAY_TOOLTIP" - } - - icon = { - name = "incapable" - visible = "[Character.IsIncapable]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/incapable.dds" - tooltip = "CHARACTER_INCAPABLE_TOOLTIP" - } - - block "inspiration_status_icons" - { - has_inspiration_status_icon = { - size = { 20 20 } - } - has_completed_inspiration_status_icon = { - size = { 20 20 } - } - } - - icon = { - name = "can_be_punished" - visible = "[Character.CanBePunished]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/punishment.dds" - tooltip = "[Character.PunishmentTooltip]" - } - - icon = { - name = "hook" - visible = "[Character.PlayerHasHooksOrHookableSecrets]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/hook_secret.dds" - framesize = { 40 40 } - frame = "[Character.GetHookOrHookableSecretsFrame]" - tooltip = "[Character.HookTooltip]" - } - - icon = { - name = "liege_icon" - visible = "[And( ObjectsEqual( GetPlayer.GetLiege, Character.Self ) , Not( GetPlayer.IsIndependentRuler ) ) ]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/liege.dds" - tooltip = "FRAME_RELATION_MY_LIEGE" - } - - icon = { - name = "powerful_vassal" - visible = "[Character.IsMyPowerfulVassal]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/powerful_vassal.dds" - framesize = { 40 40 } - frame = "[Character.GetPowerfulVassalFrame]" - tooltip = "[Character.GetPowerfulVassalTooltip]" - } - - icon = { - name = "tributary" - datacontext = "[Character.GetTributaryContract]" - visible = "[Character.IsTributaryOf(GetPlayer)]" - size = { 20 20 } - - texture = "[Character.GetTributaryContract.GetPortraitIcon]" - tooltip = "FRAME_RELATION_TRIBUTARY" - } - - icon = { - name = "obedient_to_me" - visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Character.IsObedientTo(GetPlayer), Not(Character.IsPlayer))))]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/obedient.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "obedient_to_someone_else" - visible = "[And(Not(Character.IsPlayer),And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Character.IsObedientTo(Character.GetOverlord))))]" - size = { 20 20 } - enabled = no - texture = "gfx/interface/icons/portraits/obedient.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "disobedient_to_me" - visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Not(Character.IsObedientTo(GetPlayer)), Not(Character.IsPlayer))))]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/disobedient.dds" - tooltipwidget = widget_obedience_tooltip - } - - icon = { - name = "disobedient_to_someone_else" - visible = "[And( Not(Character.IsPlayer), And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Not(Character.IsObedientTo(Character.GetOverlord)))))]" - size = { 20 20 } - enabled = no - texture = "gfx/interface/icons/portraits/disobedient.dds" - tooltipwidget = widget_obedience_tooltip - } - - container_dynastic_cycle_group_icons = {} - - icon = { - name = "unpredictable" - visible = "[Character.IsOtherPlayer]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/unpredictable.dds" - - tooltip = "PLAYER_OBEDIENCE_UNPREDICTABLE" - } - - icon = { - name = "powerful_family" - visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsPowerful ), Character.IsVassalOf( GetPlayer ) )]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/powerful_family_head.dds" - framesize = { 40 40 } - tooltip = "FRAME_RELATION_POWERFUL_FAMILY" - } - - icon = { - name = "dominant_family" - visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsDominant ), Character.IsVassalOf( GetPlayer ) )]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/powerful_family_head.dds" - framesize = { 40 40 } - frame = 2 - tooltip = "FRAME_RELATION_DOMINANT_FAMILY" - } - - icon = { - name = "head_icon" - visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)yes'), '(int32)9')]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/relation.dds" - framesize = { 40 40 } - frame = "[Character.GetDynastyHeadRelationFrame('(bool)yes')]" - tooltip = "[Character.GetDynastyHeadRelationTooltip]" - } - - icon = { - name = "favorite_child" - visible = "[Character.IsFavoriteChildOf( GetPlayer )]" - size = { 20 20 } - texture = "gfx/interface/icons/character_interactions/designate_favorite.dds" - tooltip = "SUCCESSION_IS_FAVORITE_CHILD_TT" - } - - icon = { - name = "playable_icon" - visible = "[ObjectsEqual( Character.Self, GetPlayer.GetPlayerHeir )]" - size = { 20 20 } - texture = "gfx/interface/icons/portraits/heir.dds" - tooltip = "[Character.GetPlayableFrameTooltip]" - } - } - - block "dead_icon" - { - icon = { - name = "is_dead" - visible = "[Character.IsDeadAndValid]" - size = { 20 20 } - - texture = "[Character.GetDeathReasonIcon]" - tooltip = "CHARACTER_DEAD_TOOLTIP" - } - } - } -} - -###################################################### -##################### TEMPLATES ###################### -###################################################### - -## BASE TEMPLATE - -template portrait_base -{ - pop_out = no - block "grayscale" { - grayscale = "[Not(Character.IsAlive)]" - } - - gfxtype = portraitbuttongfx - shaderfile = "gfx/FX/jomini/gui_portrait.shader" - - intersectionmask = no - - background_texture = "gfx/portraits/portrait_transparent.dds" - texture = "gfx/portraits/portrait_transparent.dds" - - clicksound = "event:/SFX/UI/Character/sfx_ui_character_portrait_select" - oversound = "event:/SFX/UI/Character/sfx_ui_character_portrait_pointer_over" - - block "portrait_button_template_onmouseenter" - { - state = { - name = _mouse_enter - trigger_when = "[Character.IsValid]" - on_finish = "[Character.OnMouseEnter]" - } - } - block "portrait_button_template_onmouseleave" - { - state = { - name = _mouse_leave - on_start = "[Character.OnMouseLeave]" - } - } - - block "portrait_button_template_onclick" - { - onclick = "[DefaultOnCharacterClick(Character.GetID)]" - } - - block "portrait_button_template_onrightclick" - { - onrightclick = "[DefaultOnCharacterRightClick(Character.GetID)]" - button_ignore = none - } - - filter_mouse = right - - block "portrait_button_template_tooltip" - { - tooltip_visible = "[Not(IsInteractionMenuOpenForCharacter(Character.GetID))]" - - tooltipwidget = { - cooltip_type = { - blockoverride "interaction_info" { - text = "CHARACTER_TOOLTIP_INSTRUCTION" - } - } - } - } - - using = tooltip_es - tooltip_offset = { 0 0 } - tooltip_verticalbehavior = slide - tooltip_horizontalbehavior = mirror - - block "portrait_transformation" - { - portrait_scale = { 1.0 1.0 } - portrait_offset = { 0.0 0.0 } - } -} - -template Portrait_Background_Glows -{ - block "portrait_glow" - { - # Is Local Player - block "glow_local_player" - { - background = { - visible = "[And(Character.IsLocalPlayer, Not(Character.IsHovered))]" - using = Background_Portrait_Glow - color = { 0.5 0.6 0.7 0.6 } - } - } - - block "glow_other_player" - { - # Is Other Player - background = { - visible = "[And(Character.IsOtherPlayer, Not(Character.IsHovered))]" - using = Background_Portrait_Glow - color = { 0.8 0.4 0.55 0.6 } - } - } - - block "glow_selected" - { - background = { - name = "selected" - using = Background_Portrait_Glow - color = { 0.8 0.7 0.5 0.6 } - - block "glow_selected_visible" - { - visible = "[Character.IsSelected]" - } - } - } - - block "glow_hovered" - { - background = { - name = "hovered" - visible = "[Character.IsHovered]" - using = Background_Portrait_Glow - color = { 0.9 0.8 0.6 0.6 } - } - } - } -} - -template Background_Portrait_Glow -{ - texture = "gfx/portraits/portrait_glow.dds" -} - -template Portrait_Relation_Icon_Normal_Size -{ - size = { 20 20 } - framesize = { 40 40 } - - visible = "[ScriptedRelation.HasRelationBetween( GetPlayer, Character.Self )]" - - tooltipwidget = { - scripted_relation_tooltip = { - blockoverride "description_text" - { - text = "[GetScriptedRelationTooltip( ScriptedRelation, GetPlayer, Character )]" - } - } - } -} - -template Portrait_Relation_Icon_Small_Size -{ - size = { 14 14 } - framesize = { 28 28 } - - visible = "[ScriptedRelation.HasRelationBetween( GetPlayer, Character.Self )]" - - tooltipwidget = { - scripted_relation_tooltip = { - blockoverride "description_text" - { - text = "[GetScriptedRelationTooltip( ScriptedRelation, GetPlayer, Character )]" - } - } - } -} - -types portrait_icons -{ - type scripted_relation_tooltip = container - { - alwaystransparent = no - - object_tooltip_pop_out = { - blockoverride "title_text" { - margin = { 0 8 } - text = "[ScriptedRelation.GetName]" - } - - blockoverride "concept_link" { - text = "[relation|E]" - } - } - } - - # Normal size icons - type lover_relation_icon = icon - { - name = "lover" - - datacontext = "[GetRelation( 'lover' )]" - - texture = "gfx/interface/icons/portraits/lover_soulmate.dds" - frame = 1 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type friend_relation_icon = icon - { - name = "friend" - - datacontext = "[GetRelation( 'friend' )]" - - texture = "gfx/interface/icons/portraits/friend_bestfriend.dds" - frame = 1 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type rival_relation_icon = icon - { - name = "rival" - - datacontext = "[GetRelation( 'rival' )]" - - texture = "gfx/interface/icons/portraits/rival_nemesis.dds" - frame = 1 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type soulmate_relation_icon = icon - { - name = "soulmate" - - datacontext = "[GetRelation( 'soulmate' )]" - - texture = "gfx/interface/icons/portraits/lover_soulmate.dds" - frame = 2 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type best_friend_relation_icon = icon - { - name = "best_friend" - - datacontext = "[GetRelation( 'best_friend' )]" - - texture = "gfx/interface/icons/portraits/friend_bestfriend.dds" - frame = 2 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type nemesis_relation_icon = icon - { - name = "nemesis" - - datacontext = "[GetRelation( 'nemesis' )]" - - texture = "gfx/interface/icons/portraits/rival_nemesis.dds" - frame = 2 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type grudge_relation_icon = icon - { - name = "grudge" - - datacontext = "[GetRelation( 'grudge' )]" - - texture = "gfx/interface/icons/portraits/rival_grudge.dds" - frame = 1 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type blood_brother_relation_icon = icon - { - name = "blood_brother" - - datacontext = "[GetRelation( 'blood_brother' )]" - - texture = "gfx/interface/icons/portraits/blood_brother.dds" - frame = 2 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type elder_relation_icon = icon - { - name = "elder" - - datacontext = "[GetRelation( 'elder' )]" - - texture = "gfx/interface/icons/portraits/elder.dds" - frame = 2 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - type disciple_relation_icon = icon - { - name = "disciple" - - datacontext = "[GetRelation( 'disciple' )]" - - texture = "gfx/interface/icons/portraits/disciple.dds" - frame = 2 - - block "icon_template" { - using = Portrait_Relation_Icon_Normal_Size - } - } - - # Small size icons - type lover_relation_icon_small = icon - { - name = "lover" - - datacontext = "[GetRelation( 'lover' )]" - - texture = "gfx/interface/icons/portraits/lover_soulmate_small.dds" - frame = 1 - - using = Portrait_Relation_Icon_Small_Size - } - - type friend_relation_icon_small = icon - { - name = "friend" - - datacontext = "[GetRelation( 'friend' )]" - - texture = "gfx/interface/icons/portraits/friend_bestfriend_small.dds" - frame = 1 - - using = Portrait_Relation_Icon_Small_Size - } - - type rival_relation_icon_small = icon - { - name = "rival" - - datacontext = "[GetRelation( 'rival' )]" - - texture = "gfx/interface/icons/portraits/rival_nemesis_small.dds" - frame = 1 - - using = Portrait_Relation_Icon_Small_Size - } - - type soulmate_relation_icon_small = icon - { - name = "soulmate" - - datacontext = "[GetRelation( 'soulmate' )]" - - texture = "gfx/interface/icons/portraits/lover_soulmate_small.dds" - frame = 2 - - using = Portrait_Relation_Icon_Small_Size - } - - type best_friend_relation_icon_small = icon - { - name = "best_friend" - - datacontext = "[GetRelation( 'best_friend' )]" - - texture = "gfx/interface/icons/portraits/friend_bestfriend_small.dds" - frame = 2 - - using = Portrait_Relation_Icon_Small_Size - } - - type nemesis_relation_icon_small = icon - { - name = "nemesis" - - datacontext = "[GetRelation( 'nemesis' )]" - - texture = "gfx/interface/icons/portraits/rival_nemesis_small.dds" - frame = 2 - - using = Portrait_Relation_Icon_Small_Size - } - - type grudge_relation_icon_small = icon - { - name = "grudge" - - datacontext = "[GetRelation( 'grudge' )]" - - texture = "gfx/interface/icons/portraits/rival_grudge_small.dds" - frame = 1 - - using = Portrait_Relation_Icon_Small_Size - } - - type blood_brother_relation_icon_small = icon - { - name = "blood_brother" - - datacontext = "[GetRelation( 'blood_brother')]" - - texture = "gfx/interface/icons/portraits/blood_brother_small.dds" - frame = 1 - - using = Portrait_Relation_Icon_Small_Size - } - - type elder_relation_icon_small = icon - { - name = "elder" - - datacontext = "[GetRelation( 'elder' )]" - - texture = "gfx/interface/icons/portraits/elder_small.dds" - frame = 1 - - block "icon_template" { - using = Portrait_Relation_Icon_Small_Size - } - } - - type disciple_relation_icon_small = icon - { - name = "disciple" - - datacontext = "[GetRelation( 'disciple' )]" - - texture = "gfx/interface/icons/portraits/disciple_small.dds" - frame = 1 - - block "icon_template" { - using = Portrait_Relation_Icon_Small_Size - } - } - - type container_dynastic_cycle_group_icons = container { - name = "container_dynastic_cycle_group_icons" - visible = "[And(HasDlcFeature( 'all_under_heaven' ), Character.ShouldShowMovementPower)]" - datacontext = "[Character]" - datacontext = "[GetSituation('dynastic_cycle')]" - ignoreinvisible = yes - - icon = { - name = "advancement_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('advancement_movement').Self)]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_advance.dds" - - block "dynastic_cycle_group_icon_tooltip" - { - tooltip = "FRAME_ADVANCEMENT_MOVEMENT" - } - } - - icon = { - name = "expansion_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('expansion_movement').Self)]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_expand.dds" - - block "dynastic_cycle_group_icon_tooltip" - { - tooltip = "FRAME_EXPANSION_MOVEMENT" - } - } - - icon = { - name = "conservative_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('conservative_movement').Self)]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_anti.dds" - - block "dynastic_cycle_group_icon_tooltip" - { - tooltip = "FRAME_CONSERVATIVE_MOVEMENT" - } - } - - icon = { - name = "pro_hegemon_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('pro_hegemon_movement').Self)]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_pro.dds" - - block "dynastic_cycle_group_icon_tooltip" - { - tooltip = "FRAME_PRO_HEGEMON_MOVEMENT" - } - } - - icon = { - name = "undecided_movement" - visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('undecided_movement').Self)]" - size = { 20 20 } - - texture = "gfx/interface/icons/portraits/dynastic_cycle_group_unaligned.dds" - - block "dynastic_cycle_group_icon_tooltip" - { - tooltip = "FRAME_UNDECIDED_MOVEMENT" - } - } - } -} - -template Portrait_Relation_Icons -{ - lover_relation_icon = {} - friend_relation_icon = {} - rival_relation_icon = {} - soulmate_relation_icon = {} - best_friend_relation_icon = {} - nemesis_relation_icon = {} - grudge_relation_icon = {} - blood_brother_relation_icon = {} - elder_relation_icon = {} - disciple_relation_icon = {} -} - -template Portrait_Relation_Icons_Small -{ - lover_relation_icon_small = {} - friend_relation_icon_small = {} - rival_relation_icon_small = {} - soulmate_relation_icon_small = {} - best_friend_relation_icon_small = {} - nemesis_relation_icon_small = {} - grudge_relation_icon_small = {} - blood_brother_relation_icon_small = {} - elder_relation_icon_small = {} - disciple_relation_icon_small = {} -} - -template Portrait_Relation_Icons_Character_Window -{ - lover_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - friend_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - rival_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - soulmate_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - best_friend_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - nemesis_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - grudge_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - blood_brother_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - elder_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } - disciple_relation_icon = { - blockoverride "icon_template" - { - using = Character_Window_Relation_Icon - } - } -}