for (;;);{"error":null,"payload":{"timeline":"\u003cdiv class=\"phui-timeline-shell\" data-sigil=\"transaction anchor-container\" data-meta=\"0_52\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-minor-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/code.wildfiregames.com\/file\/data\/dk74raocc3wxwourpuib\/PHID-FILE-j7ay4wouyevydwpkjbz5\/profile)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/elexis\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003ca name=\"25421\" id=\"25421\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-pencil phui-timeline-icon\" data-meta=\"0_51\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/elexis\/\" class=\"phui-handle phui-link-person\"\u003eelexis\u003c\/a\u003e committed \u003ca href=\"\/rP20552\" class=\"phui-handle\"\u003erP20552: Cleanup mod selection GUI page.\u003c\/a\u003e.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#25421\" data-sigil=\"has-tooltip\" data-meta=\"0_50\"\u003eNov 28 2017, 11:43 PM\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell\" data-sigil=\"transaction anchor-container\" data-meta=\"0_75\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-major-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/code.wildfiregames.com\/file\/data\/dk74raocc3wxwourpuib\/PHID-FILE-j7ay4wouyevydwpkjbz5\/profile)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/elexis\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003cdiv class=\"phui-timeline-inner-content\"\u003e\u003ca name=\"25428\" id=\"25428\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-pencil phui-timeline-icon\" data-meta=\"0_54\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/elexis\/\" class=\"phui-handle phui-link-person\"\u003eelexis\u003c\/a\u003e added inline comments.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#25428\" data-sigil=\"has-tooltip\" data-meta=\"0_53\"\u003eNov 28 2017, 11:55 PM\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-core-content\"\u003e\u003ctable class=\"phabricator-inline-summary-table\"\u003e\u003ctr\u003e\u003cth colspan=\"3\" class=\"inline-comment-summary-table-header\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-file-code-o darkbluetext mmr\" data-meta=\"0_55\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\/ps\/trunk\/binaries\/data\/mods\/mod\/gui\/modmod\/modmod.js\u003c\/th\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1136\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_56\" aria-hidden=\"true\"\u003e\u003c\/span\u003e11\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_0\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003e\u003ctt class=\"remarkup-monospaced\"\u003e==\u003c\/tt\u003eis \u003ctt class=\"remarkup-monospaced\"\u003e=\u003c\/tt\u003e, fixed in the wiki page too\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1140\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_57\" aria-hidden=\"true\"\u003e\u003c\/span\u003e28\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_1\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003edisabled mods are available too, so renamed this to disabled\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1137\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_58\" aria-hidden=\"true\"\u003e\u003c\/span\u003e36\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eunneeded global\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1138\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_59\" aria-hidden=\"true\"\u003e\u003c\/span\u003e48\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_3\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eweird loop\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1139\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_60\" aria-hidden=\"true\"\u003e\u003c\/span\u003e51\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_4\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003ebetter warn so everyone is aware asap\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1141\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_61\" aria-hidden=\"true\"\u003e\u003c\/span\u003e102\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_5\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003es\/existing\/enabled\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1143\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_62\" aria-hidden=\"true\"\u003e\u003c\/span\u003e123\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_6\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003es\/generate\/display\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1142\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_63\" aria-hidden=\"true\"\u003e\u003c\/span\u003e129\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_7\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003e-> trac\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1154\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_64\" aria-hidden=\"true\"\u003e\u003c\/span\u003e137\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_8\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSort order not stable, so if two mods have the exact same label or description, they might have a different order. Still correct sorting.\u003cbr \/\u003e\nIf someone does something about sorting it should be implementation of the COList sorting mechanism.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1145\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_65\" aria-hidden=\"true\"\u003e\u003c\/span\u003e169\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_9\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003ecopypasta switch\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1148\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_66\" aria-hidden=\"true\"\u003e\u003c\/span\u003e169\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_10\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003e\u003ctt class=\"remarkup-monospaced\"\u003epos\u003c\/tt\u003e variable looks like it could be removed in both functions, but didn't want to invest the time necessary\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1144\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_67\" aria-hidden=\"true\"\u003e\u003c\/span\u003e185\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_11\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eWhy is only the folder colored?\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1146\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_68\" aria-hidden=\"true\"\u003e\u003c\/span\u003e191\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_12\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003emap calls to cut it in half, performance negligible\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1147\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_69\" aria-hidden=\"true\"\u003e\u003c\/span\u003e213\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_13\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003ebit ugly to have this global\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1150\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_70\" aria-hidden=\"true\"\u003e\u003c\/span\u003e321\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_14\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eGUIObjects always exist if theyre defined in the XML\u003cbr \/\u003e\n\u003ctt class=\"remarkup-monospaced\"\u003ecaption\u003c\/tt\u003e and \u003ctt class=\"remarkup-monospaced\"\u003ecaption != ""\u003c\/tt\u003e are identical\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1152\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_71\" aria-hidden=\"true\"\u003e\u003c\/span\u003e337\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_15\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eWhy are \u003ctt class=\"remarkup-monospaced\"\u003e-\u003c\/tt\u003e and \u003ctt class=\"remarkup-monospaced\"\u003e_\u003c\/tt\u003e ignored? Can we delete that?\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1151\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_72\" aria-hidden=\"true\"\u003e\u003c\/span\u003e380\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_16\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eThis translate call was broken\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003cth colspan=\"3\" class=\"inline-comment-summary-table-header\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-file-code-o darkbluetext mmr\" data-meta=\"0_73\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\/ps\/trunk\/binaries\/data\/mods\/mod\/gui\/modmod\/modmod.xml\u003c\/th\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1153\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_74\" aria-hidden=\"true\"\u003e\u003c\/span\u003e207\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_17\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eThis button should become enabled dynamically, hence not removed the name now\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell phui-timeline-green\" data-sigil=\"transaction anchor-container\" data-meta=\"0_78\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-minor-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"display: none;\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003ca name=\"25446\" id=\"25446\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill fill-has-color phui-timeline-icon-fill-green\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-check-circle phui-timeline-icon\" data-meta=\"0_77\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/harbormaster\/\" class=\"phui-handle\"\u003eHarbormaster\u003c\/a\u003e completed building \u003ca href=\"\/B3871\" class=\"phui-handle\"\u003eB3871: rP20552: Cleanup mod selection GUI page.\u003c\/a\u003e.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#25446\" data-sigil=\"has-tooltip\" data-meta=\"0_76\"\u003eNov 29 2017, 12:35 AM\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell phui-timeline-red\" data-sigil=\"transaction anchor-container\" data-meta=\"0_120\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-major-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/code.wildfiregames.com\/file\/data\/3a4gjzuc5lvk7hgxwpra\/PHID-FILE-d4ysam54joovdlhdrdmb\/5a623d-alphanumeric_lato-dark_L.png-255%2C255%2C255%2C0.4.png)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/leper\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003cdiv class=\"phui-timeline-inner-content\"\u003e\u003ca name=\"25448\" id=\"25448\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon phui-timeline-title-with-menu\"\u003e\u003cspan class=\"phui-timeline-icon-fill fill-has-color phui-timeline-icon-fill-red\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-times-circle-o phui-timeline-icon\" data-meta=\"0_86\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/leper\/\" class=\"phui-handle handle-availability-disabled phui-link-person\"\u003e\u003cspan class=\"perfect-circle\"\u003e\u2022\u003c\/span\u003e leper\u003c\/a\u003e raised a concern with this commit.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#25448\" data-sigil=\"has-tooltip\" data-meta=\"0_85\"\u003eNov 29 2017, 12:49 AM\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon phui-timeline-title-with-menu\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-user-plus phui-timeline-icon\" data-meta=\"0_87\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/leper\/\" class=\"phui-handle handle-availability-disabled phui-link-person\"\u003e\u003cspan class=\"perfect-circle\"\u003e\u2022\u003c\/span\u003e leper\u003c\/a\u003e added a subscriber: \u003ca href=\"\/p\/leper\/\" class=\"phui-handle handle-availability-disabled phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_49\"\u003e\u003cspan class=\"perfect-circle\"\u003e\u2022\u003c\/span\u003e leper\u003c\/a\u003e.\u003c\/div\u003e\u003ca href=\"#\" class=\"phui-timeline-menu\" aria-haspopup=\"true\" aria-expanded=\"false\" data-sigil=\"phui-dropdown-menu\" data-meta=\"0_83\"\u003e\u003cspan class=\"aural-only\"\u003eComment Actions\u003c\/span\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-caret-down\" data-meta=\"0_84\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-core-content\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_18\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSomething something reviews.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003ctable class=\"phabricator-inline-summary-table\"\u003e\u003ctr\u003e\u003cth colspan=\"3\" class=\"inline-comment-summary-table-header\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-file-code-o darkbluetext mmr\" data-meta=\"0_88\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\/ps\/trunk\/binaries\/data\/mods\/mod\/gui\/modmod\/modmod.js\u003c\/th\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1155\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_89\" aria-hidden=\"true\"\u003e\u003c\/span\u003e11\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_19\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eThanks for fixing the wiki.\u003c\/p\u003e\n\n\u003cp\u003eHowever now there is no documentation about this in this file anymore. That's sort of an important point of how this whole thing works.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1156\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_90\" aria-hidden=\"true\"\u003e\u003c\/span\u003e28\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_20\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eNo. There are no disabled mods (there could be, those would be incompatible with the engine version).\u003c\/p\u003e\n\n\u003cp\u003eThere are only enabled mods and available mods. The total set of mods (barring an addition of incompatible mods that are filtered out) is the union of those (note that it is a disjoint union given how the code works).\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1157\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_91\" aria-hidden=\"true\"\u003e\u003c\/span\u003e34\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_21\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003e\u003ctt class=\"remarkup-monospaced\"\u003econst\u003c\/tt\u003e\u003c\/p\u003e\n\n\u003cp\u003eThis is not meant to be changed. If someone thinks they now better they can replace the whole file.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1159\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_92\" aria-hidden=\"true\"\u003e\u003c\/span\u003e36\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_22\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eTypes are mostly something rada added. I still consider adding that a mistake.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1158\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_93\" aria-hidden=\"true\"\u003e\u003c\/span\u003e42\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_23\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eWhy not have the full color tag, and closing tag here? Someone might want to change other things too, would make this nicer.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1160\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_94\" aria-hidden=\"true\"\u003e\u003c\/span\u003e51\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_24\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eAgreed.\u003c\/p\u003e\n\n\u003cp\u003eTo quote a TODO I have locally "should also check types?", which might help if someone messes up the specification. (So sanity checks and possibly some more (eg name not having whitespace or =<> in it, most likely also no , or anything. basically \u003ctt class=\"remarkup-monospaced\"\u003eA-Za-z_\u003c\/tt\u003e (if you are feeling fancy also \u003ctt class=\"remarkup-monospaced\"\u003e0-9\u003c\/tt\u003e).)\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1161\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_95\" aria-hidden=\"true\"\u003e\u003c\/span\u003e91\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_25\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eHaving this in a function might be nicer.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1162\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_96\" aria-hidden=\"true\"\u003e\u003c\/span\u003e92\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_26\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eAs said, that's a bad name.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1165\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_97\" aria-hidden=\"true\"\u003e\u003c\/span\u003e102\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_27\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eAgreed.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1163\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_98\" aria-hidden=\"true\"\u003e\u003c\/span\u003e112\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_28\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eThe comment might not have been clear enough, but should rather be rephrased ot indicate why we do that.\u003c\/p\u003e\n\n\u003cp\u003eIf we don't the order might violate (it shouldn't but better safe than sorry here) the dependencies specified.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1164\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_99\" aria-hidden=\"true\"\u003e\u003c\/span\u003e119\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_29\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSame as above.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1166\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_100\" aria-hidden=\"true\"\u003e\u003c\/span\u003e129\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_30\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eThat does not mean removing the TODO should be done before the fix is committed.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1167\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_101\" aria-hidden=\"true\"\u003e\u003c\/span\u003e137\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_31\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSorting is pretty much just for user display, and the order in the enabled list is some valid order based on dependencies (see the topological sort for that).\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1170\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_102\" aria-hidden=\"true\"\u003e\u003c\/span\u003e151\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_32\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eI suspect having a GUI scripting thing to handle this would be nice.\u003c\/p\u003e\n\n\u003cp\u003eSo we could just set all lists in one go, but meh.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1172\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_103\" aria-hidden=\"true\"\u003e\u003c\/span\u003e169\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_33\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eI'm not quite sure, since after removing one might run into issues if we removed the last element. Not quite sure, there's a reason why I looked for help with the gui code.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1168\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_104\" aria-hidden=\"true\"\u003e\u003c\/span\u003e185\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_34\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eBecause someone decided that that one is somewhat important, probably.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1169\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_105\" aria-hidden=\"true\"\u003e\u003c\/span\u003e191\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_35\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eIf anything in this file results in a performance issue then someone decided to do tons of work each frame, someone decided to add tons of mods to see what happens, or we got so many mods because we got so successful that someone can probably invest time in fixing that issue.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1173\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_106\" aria-hidden=\"true\"\u003e\u003c\/span\u003e203\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_36\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eCould be changed to \u003ctt class=\"remarkup-monospaced\"\u003ei--\u003c\/tt\u003e and then replace the use of \u003ctt class=\"remarkup-monospaced\"\u003ei\u003c\/tt\u003e above. Would also remove the need for braces.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1171\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_107\" aria-hidden=\"true\"\u003e\u003c\/span\u003e213\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_37\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eNobody should include this file, and if they do they should know what is in here. But yes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1176\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_108\" aria-hidden=\"true\"\u003e\u003c\/span\u003e307\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_38\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSeems like having a function for this formatting, or just g_OpeningTagFoo, g_EndTagFoo as mentioned above would be cleaner.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1177\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_109\" aria-hidden=\"true\"\u003e\u003c\/span\u003e323\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_39\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eWhat is a "mod version comparison"?\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1178\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_110\" aria-hidden=\"true\"\u003e\u003c\/span\u003e327\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_40\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eI'm not sure if having that in a variable really improves anything (talking about the global).\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1179\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_111\" aria-hidden=\"true\"\u003e\u003c\/span\u003e332\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_41\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eMight still work, but this now passes an array as the second parameter instead of a string.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1181\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_112\" aria-hidden=\"true\"\u003e\u003c\/span\u003e337\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_42\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eBecause they are version NUMBERs. Splitting based on that is done to allow for revisions (eg packaging errors (read: forgot a readme, not forgot a sim file)), similar to what most *nix package managers do. (Debian uses ~, but that's a tiny bit different.)\u003cbr \/\u003e\nCould probably be removed, but in that case we should error hard (see comments about sanity checking above).\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1182\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_113\" aria-hidden=\"true\"\u003e\u003c\/span\u003e353\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_43\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eThat's NOT how this should be handled. If you don't understand a TODO either try to figure out what it is about, or ask. Don't do something, just because something must be done and this is something.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1183\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_114\" aria-hidden=\"true\"\u003e\u003c\/span\u003e371\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_44\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eI sort of liked the future change proofing here, because someone accidentally messing something up in a huge commit in the future would at least have a chance of running into this and seeing their mistake.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1175\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_115\" aria-hidden=\"true\"\u003e\u003c\/span\u003e380\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_45\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eNice catch!\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1180\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_116\" aria-hidden=\"true\"\u003e\u003c\/span\u003e424\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_46\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSomething else I should get around to testing that I have as a TODO locally:\u003c\/p\u003e\n\n\u003cp\u003emodmod dependency check: test if requiring ["a>=3", "a<=4"] is accepted if one mod provides "a=2" and another provides "a=5"\u003c\/p\u003e\n\n\u003cp\u003e(This is most likely broken currently.)\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1184\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_117\" aria-hidden=\"true\"\u003e\u003c\/span\u003e483\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_47\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eNow why is that pointless information again?\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003cth colspan=\"3\" class=\"inline-comment-summary-table-header\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-file-code-o darkbluetext mmr\" data-meta=\"0_118\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\/ps\/trunk\/binaries\/data\/mods\/mod\/gui\/modmod\/modmod.xml\u003c\/th\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd class=\"inline-line-number inline-table-dolumn\"\u003e\u003ca href=\"#inline-1185\" class=\"num\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-share darkbluetext mmr\" data-meta=\"0_119\" aria-hidden=\"true\"\u003e\u003c\/span\u003e207\u003c\/a\u003e\u003c\/td\u003e\u003ctd class=\"inline-summary-content inline-table-dolumn\" colspan=\"2\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_48\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eWhy are explicitly named objects a bad thing? If you are splitting things for possible extensibility you are making some things harder by removing them.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell phui-timeline-red\" data-sigil=\"transaction anchor-container\" data-meta=\"0_123\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-minor-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/code.wildfiregames.com\/file\/data\/3a4gjzuc5lvk7hgxwpra\/PHID-FILE-d4ysam54joovdlhdrdmb\/5a623d-alphanumeric_lato-dark_L.png-255%2C255%2C255%2C0.4.png)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/leper\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003ca name=\"25480\" id=\"25480\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill fill-has-color phui-timeline-icon-fill-red\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-times-circle phui-timeline-icon\" data-meta=\"0_122\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003eThis commit now has outstanding concerns.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#25480\" data-sigil=\"has-tooltip\" data-meta=\"0_121\"\u003eNov 29 2017, 12:49 AM\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e"},"javelin_metadata":[{"phid":"PHID-XACT-CMIT-7j3llvs3w6cbbux"},{"phid":"PHID-XACT-CMIT-fki35vttmfqlgjo"},{"phid":"PHID-XACT-CMIT-foret7j4jmntfb6"},{"phid":"PHID-XACT-CMIT-a6fyaa2yclj2g76"},{"phid":"PHID-XACT-CMIT-wfwczr7fbmff4j5"},{"phid":"PHID-XACT-CMIT-72w4slft27frcjt"},{"phid":"PHID-XACT-CMIT-utpzayy6ud3isj6"},{"phid":"PHID-XACT-CMIT-4ffejbiu6df3z7z"},{"phid":"PHID-XACT-CMIT-2sjgtvuukvckxfn"},{"phid":"PHID-XACT-CMIT-nmrerz2kxqbbz2w"},{"phid":"PHID-XACT-CMIT-xq47nc2gns6v6w4"},{"phid":"PHID-XACT-CMIT-yetc4xtplbydszj"},{"phid":"PHID-XACT-CMIT-vlpeivgpborvhvw"},{"phid":"PHID-XACT-CMIT-qrbqdtt5ruzw6uk"},{"phid":"PHID-XACT-CMIT-zh6ffncylfg55p5"},{"phid":"PHID-XACT-CMIT-2iarsjczdoxdd6z"},{"phid":"PHID-XACT-CMIT-buxmpbf2vqnczck"},{"phid":"PHID-XACT-CMIT-rmq5h7hsttkfg5k"},{"phid":"PHID-XACT-CMIT-ip7xcmzys6iyz2x"},{"phid":"PHID-XACT-CMIT-vfl65pd6235zswb"},{"phid":"PHID-XACT-CMIT-otavyp5xvaqadxc"},{"phid":"PHID-XACT-CMIT-ha7maf6w2vpllv6"},{"phid":"PHID-XACT-CMIT-kb7mp6zdmqlkppa"},{"phid":"PHID-XACT-CMIT-vq6m555sclna4lh"},{"phid":"PHID-XACT-CMIT-w4pinqey37243ma"},{"phid":"PHID-XACT-CMIT-xxvlsmrweiaserx"},{"phid":"PHID-XACT-CMIT-j7dza66zduho2sf"},{"phid":"PHID-XACT-CMIT-e25bzlkljdu2kno"},{"phid":"PHID-XACT-CMIT-w3krpat6uzsqvwr"},{"phid":"PHID-XACT-CMIT-yfnp4cuv3ieo6gy"},{"phid":"PHID-XACT-CMIT-xryyolognqtureo"},{"phid":"PHID-XACT-CMIT-iomqiyifeooxuw2"},{"phid":"PHID-XACT-CMIT-ckwvxgpxyikxvkx"},{"phid":"PHID-XACT-CMIT-iwewjkel5svjpsv"},{"phid":"PHID-XACT-CMIT-yfi3y5oaahu6mdq"},{"phid":"PHID-XACT-CMIT-fbjf6qo5rt5i2yy"},{"phid":"PHID-XACT-CMIT-anyqfqwvtgdvwgt"},{"phid":"PHID-XACT-CMIT-spbh45bnitpuap6"},{"phid":"PHID-XACT-CMIT-6onpvefxoh2nx4z"},{"phid":"PHID-XACT-CMIT-tf5l7kddxnhyhqw"},{"phid":"PHID-XACT-CMIT-y5f4s2iwqx3wjfs"},{"phid":"PHID-XACT-CMIT-4oihvuqrqmokvbx"},{"phid":"PHID-XACT-CMIT-4w5xvupgqpzf2as"},{"phid":"PHID-XACT-CMIT-7zvisvuo6iol7el"},{"phid":"PHID-XACT-CMIT-ls2yp2e2vwhxqjo"},{"phid":"PHID-XACT-CMIT-3jbhcn652ajrmjs"},{"phid":"PHID-XACT-CMIT-itg7hrzettsyowp"},{"phid":"PHID-XACT-CMIT-htkb6ooikvmxl5h"},{"phid":"PHID-XACT-CMIT-hj7ahhgwtf43mz5"},{"hoverPHID":"PHID-USER-cyefun3pek5wwfhwullr"},{"tip":"Via Daemon"},[],{"phid":"PHID-XACT-CMIT-cokfxokn6p2u2xx","anchor":"25421"},{"tip":"Via Web"},[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],{"phid":"PHID-XACT-CMIT-7j3llvs3w6cbbux","anchor":"25428"},{"tip":"Via Daemon"},[],{"phid":"PHID-XACT-CMIT-s24ticdxsxan6p3","anchor":"25446"},{"targetID":"UQ0_1","uri":"\/transactions\/quote\/PHID-XACT-CMIT-ip7xcmzys6iyz2x\/","ref":"rP20552#25448"},[],{"anchor":"25448"},[],{"items":"\u003cul class=\"phabricator-action-list-view \"\u003e\u003cli id=\"UQ0_1\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"#\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-quote\" data-meta=\"0_79\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-quote-left phabricator-action-view-icon\" data-meta=\"0_80\" aria-hidden=\"true\"\u003e\u003c\/span\u003eQuote Comment\u003c\/a\u003e\u003c\/li\u003e\u003cli id=\"UQ0_3\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"\/transactions\/raw\/PHID-XACT-CMIT-ip7xcmzys6iyz2x\/\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-raw\" data-meta=\"0_81\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-code phabricator-action-view-icon\" data-meta=\"0_82\" aria-hidden=\"true\"\u003e\u003c\/span\u003eView Raw Remarkup\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e"},[],{"tip":"Via Web"},[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],{"phid":"PHID-XACT-CMIT-wttzauxxtb2wgae","anchor":"25448"},{"tip":"Via Web"},[],{"phid":"PHID-XACT-CMIT-yk5fw5wveaojxab","anchor":"25480"}],"javelin_behaviors":{"phui-hovercards":[],"phabricator-watch-anchor":[],"phabricator-tooltips":[],"phui-dropdown-menu":[]},"javelin_resources":["https:\/\/code.wildfiregames.com\/res\/defaultX\/phabricator\/da792a0f\/core.pkg.css","https:\/\/code.wildfiregames.com\/res\/defaultX\/phabricator\/845355f4\/core.pkg.js","https:\/\/code.wildfiregames.com\/res\/defaultX\/phabricator\/98e6504a\/rsrc\/externals\/javelin\/core\/init.js","https:\/\/code.wildfiregames.com\/res\/defaultX\/phabricator\/5c459f92\/differential.pkg.css"]}