RequireVersions "1.4.20.0", "1.4.7.0", "", "295.5" ; Skyrim version, SKSE version, (no SKGE), Wrye Bash version

DeSelectAll
SelectSubPackage "00 Core"

SelectOne "Choose Installation Options for SkUI", \
    "|Default Options", "These are the default configurations and icons installed by SkUI.", "fomod\\screenshot.png", \
    "Custom Options", "Here you can choose different Icon themes, as well as customize the configuration file for SkyUI.", "fomod\\screenshot.png"

  Case "Custom Options"
      ; Select Icon Theme
      SelectOne "Choose an Icon Theme to use with SkyUI.", \
          "|Straight, by T3T", "Straight themed icons, by T3T.  These are the default icons installed.", "fomod\\t3t_alt_1.png", \
          "Curved, by T3T", "Curved themed icons, by T3T.", "fomod\\t3t_alt_2.png", \
          "Celtic, by GreatClone", "Celtic themed icons, by GreatClone.", "fomod\\celtic.png"
        Case "Curved, by T3T"
            SelectSubPackage "01 Icons - Curved, by T3T"
            Break

        Case "Celtic, by GreatClone"
            SelectSubPackage "01 Icons - Celtic, by GreatClone"
            Break
      EndSelect

      ; What parts of the tweak file need to be written
      bModify_Font = False
      bModify_Ratio = False
      bModify_VW = False

      SelectMany "Modify the configuration file.", \
          "Font Size", "Choose between small (13pt), normal (14pt), and large (18pt) font.", "", \
          "Aspect Ratio", "Choose the aspect ratio to use when displaying, between standard, 5760x1080, and 5760x2160.", "", \
          "Permanent Value/Weight Column", "Choose this to enable a permanently visible Value/Weight column.", ""

        Case "Font Size"
            SelectOne "Choose a font size.", \
                "Small", "Small font sizes.  List items use 13pt font, other items are scalled accordingly.", "", \
                "|Normal", "Standard font sizes.  List items use 14pt font, other items are scalled accordingly.", "", \
                "Large", "Large font sizes.  List items use 18pt font, other items are scalled accordingly.", ""
              Case "Small"
                  bModify_Font = True
                  iFontSize = 13
                  iLabelFontSize = 12
                  iIconSize = 16
                  iEquipIndent = -25
                  sEquipBorder = "<0, 10, 2, 2>"
                  sIconBorder = "<0, 3, 2, 2>"
                  sTextBorder = "<0, 0, 0.3, 0>"
                  Break
              Case "Large"
                  bModify_Font = True
                  iFontSize = 18
                  iLabelFontSize = 14
                  iIconSize = 20
                  iEquipIndent = -30
                  sEquipBorder = "<0, 10, 3.2, 3.2>"
                  sIconBorder = "<0, 4, 3.2, 3.2>"
                  sTextBorder = "<0, 0, 0.4, 0>"
                  Break
            EndSelect
            Break

        Case "Aspect Ratio"
            SelectOne "Choose an aspect ratio.", \
                "|Standard", "Standard aspect ratio.  This should work for most users.", "", \
                "48:9 (5760x1080)", "5760x1080 aspect ratio config by Ismelda.", "", \
                "24:9 (5760x2160)", "5760x2160 aspect ratio config by Ismelda.", ""
              Case "48:9 (5760x1080)"
                  bModify_Ratio = True
                  sAlign = "right"
                  iItemCardXOffset = -60
                  iItemIconXOffset = 50
                  iItemIconYOffset = -12
                  fItemIconYScale = 0.8
                  Break
              Case "24:9 (5760x2160)"
                  bModify_Ratio = True
                  sAlign = "right"
                  iItemCardXOffset = -22
                  iItemIconXOffset = 42
                  iItemIconYOffset = -12
                  fItemIconYScale = 1.5
                  Break
            EndSelect
            Break

        Case "Permanent Value/Weight Column"
            bModify_VW = True
            fValueColWeight = 0.2
            iValueColStates = 2
            sValueCols = "valueColumn, valueWeightColumn"
            Break

      EndSelect

      ; Write the INI Tweak
      If bModify_Font
          EditINI('Interface\\skyui.cfg', 'ItemList', 'entry.format.size', iFontSize)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'label.format.size', iLabelFontSize)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'equipColumn.icon.size', iIconSize)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'iconColumn.icon.size', iIconSize)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'equipColumn.indent', iEquipIndent)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'equipColumn.border', sEquipBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'iconColumn.border', sIconBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'nameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'allNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'awNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'awContNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'allContNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'arColumnBorder', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'damageColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'weightColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'valueColumn.border', sTextBorder)

          EditINI('Interface\\skyui.cfg', 'MagicList', 'entry.format.size', iFontSize)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'label.format.size', iLabelFontSize)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'equipColumn.icon.size', iIconSize)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'iconColumn.icon.size', iIconSize)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'equipColumn.indent', iEquipIndent)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'equipColumn.border', sEquipBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'iconColumn.border', sIconBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'nameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'allNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'powersNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'spellCostColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'word1Column.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'word2Column.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'word3Column.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'schoolColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'levelColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'effNameColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'timeRemainingColumn.border', sTextBorder)
          EditINI('Interface\\skyui.cfg', 'MagicList', 'itemColumn.border', sTextBorder)
      EndIf
      If bModify_Ratio
          EditINI('Interface\\skyui.cfg', 'ItemInfo', 'itemcard.align', sAlign)
          EditINI('Interface\\skyui.cfg', 'ItemInfo', 'itemcard.xOffset', iItemCardXOffset)
          EditINI('Interface\\skyui.cfg', 'ItemInfo', 'itemicon.xOffset', iItemIconXOffset)
          EditINI('Interface\\skyui.cfg', 'ItemInfo', 'itemicon.yOffset', iItemIconYOffset)
          EditINI('Interface\\skyui.cfg', 'ItemInfo', 'itemicon.scale', fItemIconYScale)
      EndIf
      If bModify_VW
          EditINI('Interface\\skyui.cfg', 'ItemList', 'valueColumn.weight', fValueColWeight)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'valueColumn.states', iValueColStates)
          EditINI('Interface\\skyui.cfg', 'ItemList', 'defaultView.columns', \
              "<equipColumn, iconColumn, nameColumn, weightColumn, " + sValueCols + ">")
          EditINI('Interface\\skyui.cfg', 'ItemList', 'weaponView.columns', \
              "<equipColumn, iconColumn, awNameColumn, damageColumn, weightColumn, " + sValueCols + ">")
          EditINI('Interface\\skyui.cfg', 'ItemList', 'armorView.columns', \
              "<equipColumn, iconColumn, awNameColumn, arColumn, weightColumn, " + sValueCols + ">")
          EditINI('Interface\\skyui.cfg', 'ItemList', 'allViews.columns', \
              "<equipColumn, iconColumn, allNameColumn, weightColumn, " + sValueCols + ">")
          EditINI('Interface\\skyui.cfg', 'ItemList', 'contWeaponView.columns', \
              "<equipColumn, iconColumn, awContNameColumn, damageColumn, weightColumn, " + sValueCols + ">")
          EditINI('Interface\\skyui.cfg', 'ItemList', 'contArmorView.column', \
              "<equipColumn, iconColumn, awContNameColumn, arColumn, weightColumn, " + sValueCols + ">")
          EditINI('Interface\\skyui.cfg', 'ItemList', 'contAllView.columns', \
              "<equipColumn, iconColumn, allContNameColumn, weightColumn, " + sValueCols + ">")
      EndIf
      Break
EndSelect