# ============================================================================= # Giga + Age of Wonder Compatibility Patch — persistent megastructure-filter bar # Shown via a diplomatic custom_gui country_event (events/zzzz_compat_megatab_events.txt). # # IMPORTANT: a `diplomatic = yes` event REQUIRES its custom_gui window to contain # the full diplomatic-event element skeleton (EVENT_DIPLO/option_list, portrait, # empire_* info, etc.) or the engine access-violates on open. So the skeleton below # is copied from AoW's own working AOW_main_ui and parked at position 9999,9999 # (offscreen) — only the three mode-cycle buttons are visible. Tune the window # position after seeing it in game (it is moveable). # ============================================================================= guiTypes = { containerWindowType = { name = "compat_megatab_bar" # Placement: top-right area, shifted LEFT of the outliner (the right-hand # info panel) so it doesn't land inside it. Senate button is at { -168, 72 }; # the outliner sits below it, so we move further left. Nudge x toward 0 to # slide right (back under the Senate button), more negative to go further left. orientation = upper_right origo = upper_left position = { x = -471 y = 95 } size = { width = 70 height = 28 } moveable = yes # ---------- VISIBLE: the mode-cycle button (3 overlapping variants) ------- effectButtonType = { name = "compat_megatab_show_all" spriteType = "GFX_standard_button_142_34_button" position = { x = 0 y = 0 } size = { x = 70 y = 28 } buttonText = "compat_megatab_btn_all" buttonFont = "cg_16b" format = center effect = compat_megatab_show_all pdx_tooltip = "compat_megatab_btn_tt" } effectButtonType = { name = "compat_megatab_show_giga" spriteType = "GFX_standard_button_142_34_button" position = { x = 0 y = 0 } size = { x = 70 y = 28 } buttonText = "compat_megatab_btn_giga" buttonFont = "cg_16b" format = center effect = compat_megatab_show_giga pdx_tooltip = "compat_megatab_btn_tt" } effectButtonType = { name = "compat_megatab_show_aow" spriteType = "GFX_standard_button_142_34_button" position = { x = 0 y = 0 } size = { x = 70 y = 28 } buttonText = "compat_megatab_btn_aow" buttonFont = "cg_16b" format = center effect = compat_megatab_show_aow pdx_tooltip = "compat_megatab_btn_tt" } # ---------- HIDDEN: required diplomatic-event skeleton (all at 9999,9999) -- containerWindowType = { name = "EVENT_DIPLO" position = { x = 9999 y = 9999 } size = { width = 180 height = 50 } moveable = no instantTextBoxType = { name = "action_title" font = "malgun_goth_24" position = { x = 9999 y = 9999 } maxWidth = 400 alwaysTransparent = yes } instantTextBoxType = { name = "action_desc" font = "malgun_goth_24" position = { x = 9999 y = 9999 } maxWidth = 500 maxHeight = 180 Orientation = "UPPER_LEFT" format = center alwaysTransparent = yes text_color_code = "H" } listboxType = { name = "option_list" position = { x = 9999 y = 9999 } size = { width = 280 height = 40 } spacing = 1 scrollbartype = "standardlistbox_slider" borderSize = { x = 0 y = 0 } } } instantTextBoxType = { name = "alien_message" font = "malgun_goth_24" position = { x = 9999 y = 9999 } maxWidth = 1220 maxHeight = 30 format = left alwaysTransparent = yes scrollbartype = "standardtext_slider" } buttonType = { name = "focus_button" position = { x = 9999 y = 9999 } orientation = "UPPER_RIGHT" spriteType = "GFX_fleetview_focus" buttonFont = "cg_16b" } buttonType = { name = "tts_button" position = { x = 9999 y = 9999 } orientation = "UPPER_RIGHT" spriteType = "GFX_fleetview_focus" buttonFont = "cg_16b" } instantTextBoxType = { name = "heading" font = "malgun_goth_24" text = "DIPLOMACY" position = { x = 9999 y = 9999 } maxWidth = 543 maxHeight = 22 fixedSize = yes alwaysTransparent = yes } buttonType = { name = "confirm_button" quadTextureSprite = "GFX_standard_button_142_34_button" position = { x = 9999 y = 9999 } Orientation = "UPPER_RIGHT" font = "cg_16b" text = "MESSAGE_OK" clicksound = "confirmation" } containerWindowType = { name = "portrait_background" position = { x = 9999 y = 9999 } size = { width = 964 height = 350 } clipping = yes iconType = { name = "event_picture" spriteType = "GFX_diplomacy_portrait_frame" position = { x = -6 y = -5 } } iconType = { name = "portrait" position = { x = 250 y = 0 } spriteType = "GFX_portrait_character" } } containerWindowType = { name = "portrait" position = { x = 9999 y = 9999 } size = { width = 964 height = 350 } clipping = yes iconType = { name = "portrait" spriteType = "GFX_portrait_gamesetup_mask" alwaysTransparent = yes } iconType = { name = "black_frame" spriteType = "GFX_diplomacy_portrait_shadow_frame" position = { x = -4 y = -5 } alwaysTransparent = yes } iconType = { name = "stripes_1" spriteType = "GFX_diplomacy_stripes_2" alwaysTransparent = yes } iconType = { name = "city_frame" spriteType = "GFX_diplomacy_portrait_frame_trader" position = { x = -6 y = -5 } alwaysTransparent = yes } } iconType = { name = "empire_info_bg" spriteType = "GFX_diplomacy_dark_fade_bg" position = { x = 9999 y = 9999 } alwaysTransparent = yes } instantTextBoxType = { name = "empire_name" font = "malgun_goth_24" text = "Empire" position = { x = 9999 y = 9999 } maxWidth = 450 maxHeight = 16 format = LEFT text_color_code = "E" fixedsize = yes } instantTextBoxType = { name = "empire_government_type" font = "cg_16b" text = "Government" position = { x = 9999 y = 9999 } maxWidth = 250 maxHeight = 16 format = LEFT fixedsize = yes text_color_code = "Y" } instantTextBoxType = { name = "empire_personality_type" font = "cg_16b" text = "Personality" position = { x = 9999 y = 9999 } maxWidth = 250 maxHeight = 16 format = LEFT fixedsize = yes } OverlappingElementsBoxType = { name = "empire_ethics_icons" position = { x = 9999 y = 9999 } size = { x = 240 y = 30 } spacing = 2.0 format = left } buttonType = { name = "empire_flag" quadTextureSprite = "GFX_empire_flag_128_trader" position = { x = 9999 y = 9999 } orientation = UPPER_LEFT } containerWindowType = { name = "leader_details" position = { x = 9999 y = 9999 } containerWindowType = { name = "empire_traits_box" position = { x = 0 y = -5 } size = { width = 210 height = 75 } background = { name = "ethics_bg" spriteType = "GFX_tiles_dark_area_cut_8" } } instantTextBoxType = { name = "empire_traits_label" position = { x = 214 y = 37 } font = "cg_16b" maxWidth = 230 maxHeight = 20 fixedSize = yes format = left text = "RULER_TRAITS" alwaysTransparent = yes } overlappingElementsBoxType = { name = "leader_traits" position = { x = 215 y = 55 } size = { x = 125 y = 330 } } instantTextBoxType = { name = "leader_name" position = { x = 10 y = 0 } font = "cg_16b" maxWidth = 330 maxHeight = 20 fixedSize = yes format = left text = "Leader Name" text_color_code = "E" } instantTextBoxType = { name = "leader_species" position = { x = 10 y = 18 } font = "cg_16b" maxWidth = 330 maxHeight = 20 fixedSize = yes text = "Leader Species" format = left } } containerWindowType = { name = "opinion_window" position = { x = 9999 y = 9999 } size = { width = 94 height = 30 } background = { name = "opinion_bg" spriteType = "GFX_tiled_window_transparent" } iconType = { name = "their_opinion_icon" spriteType = "GFX_diplomacy_opinion" position = { x = 7 y = 4 } alwaysTransparent = yes } instantTextBoxType = { name = "their_opinion" font = "cg_16b" maxWidth = 40 position = { x = 40 y = 7 } format = left text = "100" alwaysTransparent = yes } } } }