forked from akanyan/STARTLINER
feat: borderless fullscreen
This commit is contained in:
11
README.md
11
README.md
@ -1,18 +1,14 @@
|
||||
## STARTLINER
|
||||
|
||||
wipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwip
|
||||
|
||||
A simple (_not yet_) and easy to use (_not yet_) mod manager for [many games](https://silentblue.remywiki.com/ONGEKI:bright_MEMORY) (_more to come_) using [Rainycolor Watercolor](https://rainy.patafour.zip).
|
||||
A simple and easy to use launcher and mod manager for [many games](https://silentblue.remywiki.com/ONGEKI:bright_MEMORY) (more to come) using [Rainycolor Watercolor](https://rainy.patafour.zip).
|
||||
|
||||
Intended for those who just want a glorified `start.bat` clicker, without VHDs, keychips etc.
|
||||
(for an all-in-one solution, check out the [BlueSteel launcher](https://yozora.bluesteel.737.jp.net/HarmonyPublic/SOS-Kongou)).
|
||||
|
||||
Made with Rust (Tauri) and Vue. Contributions welcome.
|
||||
Made with Rust (Tauri) and Vue. Technically multiplatform. Contributions welcome.
|
||||
|
||||
### Usage
|
||||
|
||||
wipwipwipwipwipwipwipwipwipwipwipwip
|
||||
|
||||
```sh
|
||||
bun install
|
||||
bun run tauri dev
|
||||
@ -43,7 +39,8 @@ Arbitrary scripts are not supported by design and that will probably never chang
|
||||
### Features
|
||||
|
||||
- Clean data modding
|
||||
- Technically multi-platform
|
||||
- Monitor selection
|
||||
- Etc
|
||||
|
||||
### Architecture details
|
||||
|
||||
|
@ -55,6 +55,13 @@ pub async fn prepare_display(p: &Profile) -> Result<Option<DisplayInfo>> {
|
||||
}
|
||||
}
|
||||
|
||||
if p.get_str("display-mode", "borderless") == "borderless" && p.get_bool("borderless-fullscreen", false) {
|
||||
settings.borrow_mut().resolution = Resolution::new(
|
||||
p.get_int("rez-w", 1080).try_into().expect("Negative resolution"),
|
||||
p.get_int("rez-h", 1920).try_into().expect("Negative resolution")
|
||||
);
|
||||
}
|
||||
|
||||
display_set.apply()?;
|
||||
displayz::refresh()?;
|
||||
|
||||
@ -65,7 +72,7 @@ pub async fn prepare_display(p: &Profile) -> Result<Option<DisplayInfo>> {
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
pub async fn undo_display(info: DisplayInfo) -> Result<()> {
|
||||
use displayz::{query_displays, Resolution};
|
||||
use displayz::query_displays;
|
||||
|
||||
let display_set = query_displays()?;
|
||||
|
||||
|
@ -39,6 +39,7 @@ const displayRotationList = [
|
||||
{ title: 'Portrait', value: 90 },
|
||||
{ title: 'Portrait (flipped)', value: 270 },
|
||||
];
|
||||
const cfgBorderlessFullscreen = _cfg('borderless-fullscreen', false);
|
||||
|
||||
const cfgAime = _cfg('aime', false);
|
||||
const aimeCode = ref('');
|
||||
@ -112,7 +113,7 @@ const aimeCodeModel = computed({
|
||||
option-value="value"
|
||||
></Select>
|
||||
</OptionRow>
|
||||
<OptionRow id="resolution" title="Resolution">
|
||||
<OptionRow id="resolution" title="Game resolution">
|
||||
<InputNumber
|
||||
class="shrink"
|
||||
size="small"
|
||||
@ -151,13 +152,24 @@ const aimeCodeModel = computed({
|
||||
:disabled="cfgDisplay === 'default'"
|
||||
/>
|
||||
</OptionRow>
|
||||
<OptionRow
|
||||
title="Match display resolution with the game"
|
||||
v-if="capabilities.includes('display')"
|
||||
>
|
||||
<Toggle
|
||||
:disabled="
|
||||
cfgDisplay === 'default' || cfgDisplayMode != 'borderless'
|
||||
"
|
||||
v-model="cfgBorderlessFullscreen"
|
||||
/>
|
||||
</OptionRow>
|
||||
</OptionCategory>
|
||||
<OptionCategory title="Misc">
|
||||
<OptionRow title="OpenSSL bug workaround for Intel ≥10th gen">
|
||||
<Toggle v-model="cfgIntel" />
|
||||
</OptionRow>
|
||||
<OptionRow title="Aime emulation">
|
||||
<Toggle inputId="switch2" v-model="cfgAime" />
|
||||
<Toggle v-model="cfgAime" />
|
||||
</OptionRow>
|
||||
<OptionRow title="Aime code">
|
||||
<InputText
|
||||
|
Reference in New Issue
Block a user