init offset = -1 screen mods(): tag menu use game_menu("Mods"): default selection = next(iter(mods_list.keys())) default checkbox_enabled = gui.theme("check_true") default checkbox_disabled = gui.theme("check_false") default mods_enabled_now = set(persistent.mods_enabled) $ awaits_restart = bool(mods_enabled_now != persistent.mods_enabled) fixed: ## The grid of file slots. hbox: spacing 5 vpgrid: cols 1 scrollbars "vertical" mousewheel True draggable True pagekeys True side_yfill True spacing gui.slot_spacing style_prefix gui.theme("slot") for mod in mods_list.values(): $ name = mod["Name"] $ desc = mod["Description"] $ author = mod["Author"] $ version = mod["Version"] $ compat = version_float(mod["GameVer"]) #$ order = mod["LoadOrder"] $ logo = mod["Logo"] $ enabled = bool(name in persistent.mods_enabled) $ selected = (name == selection) if selected: $ action = ToggleMod(name) else: $ action = SetScreenVariable("selection", name) button: action action selected selected sensitive main_menu has fixed add logo pos (0, 0) size (70, 50) vbox: xpos config.thumbnail_width xsize gui.slot_width - config.thumbnail_width - gui.slot_height yalign 0.5 text "[name]": style "mods_text" size 16 if not compat >= mods_compatible: color "#ff8000" text "[version]": style "mods_text" if enabled: add checkbox_enabled align (0.95, 0.5) else: add checkbox_disabled align (0.95, 0.5) if awaits_restart: text "Awaiting game restart to apply changes..." frame: style gui.theme("frame") xfill True ymaximum 400 $ name = mods_list[selection]["Name"] $ desc = mods_list[selection]["Description"] $ author = mods_list[selection]["Author"] $ version = mods_list[selection]["Version"] $ compat = version_float(mods_list[selection]["GameVer"]) #$ order = mods_list[selection]["LoadOrder"] $ logo = mods_list[selection]["Logo"] vbox: spacing 3 xpos 3 frame: style gui.theme("frame") xoffset -3 ysize 252 add logo xalign 0.5 size (320, 240) text "[name]\n[version]" offset (6, 6) if not compat >= mods_compatible: text "{color=#ff8000}[compat]{/color}" align (1.0, 1.0) offset (-6, -3) else: text "{color=#228B22}[compat]{/color}" align (1.0, 1.0) offset (-6, -3) text _("Author:\n{size=-4}[author]{/size}") size 14 text _("Description:\n{size=-4}[desc]{/size}") size 14 style mods_text is slot_button_text: selected_color "#000" style mods_text_desc: xalign 0.5