diff --git a/dist/better-xcloud.lite.user.js b/dist/better-xcloud.lite.user.js index 83a89c3..124b553 100755 --- a/dist/better-xcloud.lite.user.js +++ b/dist/better-xcloud.lite.user.js @@ -1514,6 +1514,9 @@ class GlobalSettingsStorage extends BaseSettingsStore { if (!setting.unsupported) setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(!0), window.addEventListener(BxEvent.GH_PAGES_FORCE_NATIVE_MKB_UPDATED, (e) => { setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(); }); + }, + params: { + size: 6 } }, "nativeMkb.scroll.sensitivityX": { @@ -3741,7 +3744,7 @@ class SettingElement { let $control = CE("select", { multiple: !0, tabindex: 0 - }), size = params.size ? params.size : Object.keys(setting.multipleOptions).length; + }), totalOptions = Object.keys(setting.multipleOptions).length, size = params.size ? Math.min(params.size, totalOptions) : totalOptions; $control.setAttribute("size", size.toString()); for (let value in setting.multipleOptions) { let label = setting.multipleOptions[value], $option = CE("option", { value }, label); @@ -4078,7 +4081,8 @@ class SettingsDialog extends NavigationDialog { "nativeMkb.mode", { pref: "nativeMkb.forcedGames", - multiLines: !0 + multiLines: !0, + note: CE("a", { href: "https://github.com/redphx/better-xcloud/discussions/574", target: "_blank" }, t("unofficial-game-list")) }, "mkb.enabled", "mkb.cursor.hideIdle" @@ -6445,7 +6449,7 @@ window.addEventListener("pagehide", (e) => { BxEvent.dispatch(window, BxEvent.STREAM_STOPPED); }); function main() { - if (GhPagesUtils.fetchLatestCommit(), getPref("nativeMkb.mode") === "on") { + if (GhPagesUtils.fetchLatestCommit(), getPref("nativeMkb.mode") !== "off") { let customList = getPref("nativeMkb.forcedGames"); BX_FLAGS.ForceNativeMkbTitles.push(...customList); } diff --git a/dist/better-xcloud.user.js b/dist/better-xcloud.user.js index 2cafc77..23b2f4a 100755 --- a/dist/better-xcloud.user.js +++ b/dist/better-xcloud.user.js @@ -1589,6 +1589,9 @@ class GlobalSettingsStorage extends BaseSettingsStore { if (!setting.unsupported) setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(!0), window.addEventListener(BxEvent.GH_PAGES_FORCE_NATIVE_MKB_UPDATED, (e) => { setting.multipleOptions = GhPagesUtils.getNativeMkbCustomList(); }); + }, + params: { + size: 6 } }, "nativeMkb.scroll.sensitivityX": { @@ -4871,7 +4874,7 @@ class SettingElement { let $control = CE("select", { multiple: !0, tabindex: 0 - }), size = params.size ? params.size : Object.keys(setting.multipleOptions).length; + }), totalOptions = Object.keys(setting.multipleOptions).length, size = params.size ? Math.min(params.size, totalOptions) : totalOptions; $control.setAttribute("size", size.toString()); for (let value in setting.multipleOptions) { let label = setting.multipleOptions[value], $option = CE("option", { value }, label); @@ -5928,7 +5931,8 @@ class SettingsDialog extends NavigationDialog { "nativeMkb.mode", { pref: "nativeMkb.forcedGames", - multiLines: !0 + multiLines: !0, + note: CE("a", { href: "https://github.com/redphx/better-xcloud/discussions/574", target: "_blank" }, t("unofficial-game-list")) }, "mkb.enabled", "mkb.cursor.hideIdle" @@ -9303,7 +9307,7 @@ window.addEventListener(BxEvent.CAPTURE_SCREENSHOT, (e) => { ScreenshotManager.getInstance().takeScreenshot(); }); function main() { - if (GhPagesUtils.fetchLatestCommit(), getPref("nativeMkb.mode") === "on") { + if (GhPagesUtils.fetchLatestCommit(), getPref("nativeMkb.mode") !== "off") { let customList = getPref("nativeMkb.forcedGames"); BX_FLAGS.ForceNativeMkbTitles.push(...customList); } diff --git a/src/enums/pref-keys.ts b/src/enums/pref-keys.ts index 4062de2..d8988bb 100755 --- a/src/enums/pref-keys.ts +++ b/src/enums/pref-keys.ts @@ -47,7 +47,7 @@ export const enum PrefKey { CONTROLLER_POLLING_RATE = 'controller.pollingRate', NATIVE_MKB_MODE = 'nativeMkb.mode', - FORCE_NATIVE_MKB_GAMES = 'nativeMkb.forcedGames', + NATIVE_MKB_FORCED_GAMES = 'nativeMkb.forcedGames', NATIVE_MKB_SCROLL_HORIZONTAL_SENSITIVITY = 'nativeMkb.scroll.sensitivityX', NATIVE_MKB_SCROLL_VERTICAL_SENSITIVITY = 'nativeMkb.scroll.sensitivityY', diff --git a/src/index.ts b/src/index.ts index f35bbe1..6e2b2fa 100755 --- a/src/index.ts +++ b/src/index.ts @@ -353,8 +353,8 @@ isFullVersion() && window.addEventListener(BxEvent.CAPTURE_SCREENSHOT, e => { function main() { GhPagesUtils.fetchLatestCommit(); - if (getPref(PrefKey.NATIVE_MKB_MODE) === NativeMkbMode.ON) { - const customList = getPref(PrefKey.FORCE_NATIVE_MKB_GAMES); + if (getPref(PrefKey.NATIVE_MKB_MODE) !== NativeMkbMode.OFF) { + const customList = getPref(PrefKey.NATIVE_MKB_FORCED_GAMES); BX_FLAGS.ForceNativeMkbTitles.push(...customList); } diff --git a/src/modules/ui/dialog/settings-dialog.ts b/src/modules/ui/dialog/settings-dialog.ts index 99ceac7..fb3eb51 100755 --- a/src/modules/ui/dialog/settings-dialog.ts +++ b/src/modules/ui/dialog/settings-dialog.ts @@ -231,8 +231,9 @@ export class SettingsDialog extends NavigationDialog { items: [ PrefKey.NATIVE_MKB_MODE, { - pref: PrefKey.FORCE_NATIVE_MKB_GAMES, + pref: PrefKey.NATIVE_MKB_FORCED_GAMES, multiLines: true, + note: CE('a', { href: 'https://github.com/redphx/better-xcloud/discussions/574', target: '_blank' }, t('unofficial-game-list')), }, PrefKey.MKB_ENABLED, diff --git a/src/utils/setting-element.ts b/src/utils/setting-element.ts index a2ec04f..d1574e2 100755 --- a/src/utils/setting-element.ts +++ b/src/utils/setting-element.ts @@ -68,10 +68,11 @@ export class SettingElement { tabindex: 0, }); - const size = params.size ? params.size : Object.keys(setting.multipleOptions!).length; + const totalOptions = Object.keys(setting.multipleOptions!).length; + const size = params.size ? Math.min(params.size, totalOptions) : totalOptions; $control.setAttribute('size', size.toString()); - for (let value in setting.multipleOptions) { + for (const value in setting.multipleOptions) { const label = setting.multipleOptions[value]; const $option = CE('option', {value: value}, label) as HTMLOptionElement; diff --git a/src/utils/settings-storages/global-settings-storage.ts b/src/utils/settings-storages/global-settings-storage.ts index 525f102..f81cac9 100755 --- a/src/utils/settings-storages/global-settings-storage.ts +++ b/src/utils/settings-storages/global-settings-storage.ts @@ -424,7 +424,7 @@ export class GlobalSettingsStorage extends BaseSettingsStorage { }, }, - [PrefKey.FORCE_NATIVE_MKB_GAMES]: { + [PrefKey.NATIVE_MKB_FORCED_GAMES]: { label: t('force-native-mkb-games'), default: [], unsupported: !AppInterface && UserAgent.isMobile(), @@ -437,6 +437,9 @@ export class GlobalSettingsStorage extends BaseSettingsStorage { }); } }, + params: { + size: 6, + }, }, [PrefKey.NATIVE_MKB_SCROLL_HORIZONTAL_SENSITIVITY]: {