Initial commit

This commit is contained in:
2026-06-07 21:19:01 -04:00
commit f241504004
43 changed files with 19184 additions and 0 deletions
@@ -0,0 +1,306 @@
# =============================================================================
# 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
}
}
}
}