feat: display module for chunithm

Also make the progress bar all shiny
This commit is contained in:
2025-04-12 17:33:39 +00:00
parent 7db36b7bc0
commit 6270fce05f
17 changed files with 188 additions and 83 deletions

View File

@ -63,6 +63,11 @@ const loadDisplays = () => {
};
loadDisplays();
const game = prf.current!.meta.game;
const isVertical = game === 'ongeki';
const adjustableRez = game === 'ongeki';
const canSkipPrimarySwitch = game === 'ongeki';
</script>
<template>
@ -80,7 +85,11 @@ loadDisplays();
@show="loadDisplays"
></Select>
</OptionRow>
<OptionRow class="number-input" title="Game resolution">
<OptionRow
class="number-input"
title="Game resolution"
v-if="adjustableRez"
>
<InputNumber
class="shrink"
size="small"
@ -118,12 +127,18 @@ loadDisplays();
>
<SelectButton
v-model="prf.current!.data.display.rotation"
:options="[
{ title: 'Unchanged', value: 0 },
{ title: 'Portrait', value: 90 },
{ title: 'Portrait (flipped)', value: 270 },
]"
:allow-empty="false"
:options="
isVertical
? [
{ title: 'Portrait', value: 90 },
{ title: 'Portrait (flipped)', value: 270 },
]
: [
{ title: 'Landscape', value: 0 },
{ title: 'Landscape (flipped)', value: 180 },
]
"
:allow-empty="true"
option-label="title"
option-value="value"
:disabled="extraDisplayOptionsDisabled"
@ -135,6 +150,7 @@ loadDisplays();
title="Refresh Rate"
>
<InputNumber
v-if="game === 'ongeki'"
class="shrink"
size="small"
:min="60"
@ -143,6 +159,18 @@ loadDisplays();
v-model="prf.current!.data.display.frequency"
:disabled="extraDisplayOptionsDisabled"
/>
<SelectButton
v-if="game === 'chunithm'"
v-model="prf.current!.data.display.frequency"
:options="[
{ title: '60Hz (CVT)', value: 60 },
{ title: '120Hz (SP)', value: 120 },
]"
:allow-empty="false"
option-label="title"
option-value="value"
:disabled="extraDisplayOptionsDisabled"
/>
</OptionRow>
<OptionRow
title="Borderless fullscreen"
@ -163,7 +191,8 @@ loadDisplays();
capabilities.includes('display') &&
prf.current?.data.display.target !== 'default' &&
(prf.current!.data.display.dont_switch_primary ||
displayList.length > 2)
displayList.length > 2) &&
canSkipPrimarySwitch
"
dangerous-tooltip="Only enable this option if switching the primary display causes issues. The monitors must have a matching refresh rate."
>
@ -173,7 +202,7 @@ loadDisplays();
/>
</OptionRow>
<OptionRow
title="Unity display index"
title="Display index"
class="number-input"
v-if="
capabilities.includes('display') &&
@ -184,7 +213,7 @@ loadDisplays();
<InputNumber
class="shrink"
size="small"
:min="1"
:min="game === 'chunithm' ? 0 : 1"
:max="32"
:use-grouping="false"
v-model="prf.current!.data.display.monitor_index_override"