[feat] read video config is ok
This commit is contained in:
@@ -2,7 +2,8 @@ import { store } from "@tauri-store/valtio"
|
||||
import { useSnapshot } from "valtio"
|
||||
import { DEFAULT_STORE_CONFIG } from "./config"
|
||||
import { emit } from "@tauri-apps/api/event"
|
||||
import { send } from "process"
|
||||
import { invoke } from "@tauri-apps/api/core"
|
||||
import { steamStore, useSteamStore } from "./steam"
|
||||
|
||||
interface LaunchOption {
|
||||
option: string
|
||||
@@ -10,22 +11,38 @@ interface LaunchOption {
|
||||
}
|
||||
|
||||
export interface VideoSetting {
|
||||
width: number; // 分辨率宽度
|
||||
height: number; // 分辨率高度
|
||||
version: string; // 版本
|
||||
vendor_id: string; // 供应商ID
|
||||
device_id: string; // 设备ID
|
||||
cpu_level: string; // CPU等级
|
||||
gpu_mem_level: string; // GPU内存等级
|
||||
gpu_level: string; // GPU等级
|
||||
knowndevice: string; // 已知设备
|
||||
defaultres: string; // 默认分辨率宽度
|
||||
defaultresheight: string; // 默认分辨率高度
|
||||
refreshrate_numerator: string; // 刷新率分子
|
||||
refreshrate_denominator: string; // 刷新率分母
|
||||
fullscreen: string; // 全屏
|
||||
vsync: string; // 垂直同步
|
||||
enhanceCharacterContrast: string; // 增强角色对比度
|
||||
cmaa2AntiAliasing: string; // CMAA2抗锯齿
|
||||
msaaAntiAliasing: string; // 多重采样抗锯齿
|
||||
globalShadowQuality: string; // 全局阴影效果
|
||||
dynamicShadows: string; // 动态阴影
|
||||
modelTextureDetail: string; // 模型/贴图细节
|
||||
textureFilteringMode: string; // 贴图过滤模式
|
||||
lightShadowDetail: string; // 光影细节
|
||||
particleDetail: string; // 粒子细节
|
||||
ambientOcclusion: string; // 环境光遮蔽
|
||||
hdr: string; // 高动态范围
|
||||
fidelityFxSuperResolution: string; // Fidelity FX 超级分辨率
|
||||
coop_fullscreen: string; // 合作模式全屏
|
||||
nowindowborder: string; // 无窗口边框
|
||||
mat_vsync: string; // 垂直同步
|
||||
fullscreen_min_on_focus_loss: string; // 失去焦点时最小化全屏
|
||||
high_dpi: string; // 高DPI
|
||||
auto_config: string; // 自动配置
|
||||
shaderquality: string; // 着色器质量
|
||||
r_texturefilteringquality: string; // 纹理过滤质量
|
||||
msaa_samples: string; // 多重采样抗锯齿样本数
|
||||
r_csgo_cmaa_enable: string; // CMAA抗锯齿启用
|
||||
videocfg_shadow_quality: string; // 阴影质量
|
||||
videocfg_dynamic_shadows: string; // 动态阴影
|
||||
videocfg_texture_detail: string; // 纹理细节
|
||||
videocfg_particle_detail: string; // 粒子细节
|
||||
videocfg_ao_detail: string; // 环境光遮蔽细节
|
||||
videocfg_hdr_detail: string; // 高动态范围细节
|
||||
videocfg_fsr_detail: string; // FSR细节
|
||||
monitor_index: string; // 显示器索引
|
||||
r_low_latency: string; // 低延迟
|
||||
aspectratiomode: string; // 宽高比模式
|
||||
}
|
||||
|
||||
const defaultValue = {
|
||||
@@ -37,8 +54,38 @@ const defaultValue = {
|
||||
launchIndex: 0,
|
||||
powerPlan: 0,
|
||||
videoSetting: {
|
||||
width: 1920,
|
||||
height: 1080
|
||||
version: "1.0",
|
||||
vendor_id: "0x0000",
|
||||
device_id: "0x0000",
|
||||
cpu_level: "3",
|
||||
gpu_mem_level: "3",
|
||||
gpu_level: "3",
|
||||
knowndevice: "Unknown",
|
||||
defaultres: "1920",
|
||||
defaultresheight: "1080",
|
||||
refreshrate_numerator: "144",
|
||||
refreshrate_denominator: "1",
|
||||
fullscreen: "1",
|
||||
coop_fullscreen: "0",
|
||||
nowindowborder: "1",
|
||||
mat_vsync: "0",
|
||||
fullscreen_min_on_focus_loss: "1",
|
||||
high_dpi: "0",
|
||||
auto_config: "2",
|
||||
shaderquality: "0",
|
||||
r_texturefilteringquality: "3",
|
||||
msaa_samples: "2",
|
||||
r_csgo_cmaa_enable: "0",
|
||||
videocfg_shadow_quality: "0",
|
||||
videocfg_dynamic_shadows: "1",
|
||||
videocfg_texture_detail: "1",
|
||||
videocfg_particle_detail: "0",
|
||||
videocfg_ao_detail: "0",
|
||||
videocfg_hdr_detail: "3",
|
||||
videocfg_fsr_detail: "0",
|
||||
monitor_index: "0",
|
||||
r_low_latency: "1",
|
||||
aspectratiomode: "0",
|
||||
} as VideoSetting,
|
||||
}
|
||||
|
||||
@@ -67,6 +114,7 @@ export const useToolStore = () => {
|
||||
setLaunchIndex,
|
||||
setPowerPlan,
|
||||
setVideoSetting,
|
||||
getVideoConfig,
|
||||
addLaunchOption,
|
||||
resetToolStore,
|
||||
}
|
||||
@@ -104,6 +152,12 @@ const setVideoSetting = (setting: VideoSetting) => {
|
||||
toolStore.state.videoSetting = setting
|
||||
}
|
||||
|
||||
const getVideoConfig = async (steam_dir: string, steam_id32: number) => {
|
||||
const video = await invoke<VideoSetting>("get_cs2_video_config", { steamDir: steam_dir, steamId32: steam_id32 })
|
||||
// console.log(video)
|
||||
setVideoSetting(video)
|
||||
}
|
||||
|
||||
const addLaunchOption = (option: LaunchOption) => {
|
||||
// 限制最高10个
|
||||
if (toolStore.state.launchOptions.length >= 10) {
|
||||
|
||||
Reference in New Issue
Block a user