feat: chuniio

This commit is contained in:
2025-04-15 13:12:12 +00:00
parent ac18c34895
commit b82fcc942f
20 changed files with 150 additions and 61 deletions

View File

@ -11,7 +11,10 @@ const prf = usePrfStore();
<template>
<OptionCategory title="Keyboard">
<OptionRow title="Enable">
<OptionRow
title="Enable"
tooltip="Only applicable if the IO module is set to segatools built-in (keyboard) or a compatible third-party module (like mu3io.NET)"
>
<ToggleSwitch v-model="prf.current!.data.keyboard!.data.enabled" />
</OptionRow>
<OptionRow
@ -30,6 +33,7 @@ const prf = usePrfStore();
/>
</OptionRow>
<div
v-if="prf.current!.data.keyboard!.data.enabled"
:style="`position: relative; height: ${prf.current!.data.keyboard!.game === 'Ongeki' ? 400 : 250}px`"
>
<div

View File

@ -126,17 +126,28 @@ const checkSegatoolsIni = async (target: string) => {
</OptionRow>
<OptionRow
:title="names.io"
v-if="prf.current?.meta.game === 'ongeki'"
tooltip="IO plugins can be downloaded from the package store."
>
<Select
v-model="prf.current!.data.sgt.io"
placeholder="segatools built-in"
v-model="prf.current!.data.sgt.io2"
:options="[
{ title: 'segatools built-in', value: null },
...pkgs.byFeature(Feature.Mu3IO).map((p) => {
return { title: pkgKey(p), value: pkgKey(p) };
}),
{ title: 'native io4', value: 'hardware' },
{
title: 'segatools built-in (keyboard)',
value: 'segatools_built_in',
},
...pkgs
.byFeature(
prf.current?.meta.game === 'ongeki'
? Feature.Mu3IO
: Feature.ChuniIO
)
.map((p) => {
return {
title: pkgKey(p),
value: { custom: pkgKey(p) },
};
}),
]"
option-label="title"
option-value="value"

View File

@ -66,7 +66,7 @@ export interface ProfileData {
export interface SegatoolsConfig {
target: string;
hook: string | null;
io: string | null;
io2: 'segatools_built_in' | 'hardware' | { custom: string };
amfs: string;
option: string;
appdata: string;