流分辨率 - 分辨率热键及月光-阳光自动切换

流分辨率 - 分辨率热键及月光-阳光自动切换

使用快捷键或手柄组合键切换分辨率,并在通过Moonlight/Sunshine串流时自动切换(例如720p掌机模式、1080p电视模式,断开连接后恢复至显示器分辨率)。选项菜单。重制版5.0+。

[center][size=6][b]Stream Res[/b][/size]
分辨率快捷键 + 使用 Moonlight / Sunshine 串流时自动切换分辨率[/center]

[line]

使用按键或手柄组合键实时切换游戏分辨率,无需打开选项菜单,并让它在串流(Moonlight + Sunshine)时[b]自动[/b]切换。会显示简短通知提示新分辨率,每次更改都会像在视频菜单中操作一样被完整保存。

[size=4][b]功能[/b][/size]
[list]
[][b]手动切换[/b](默认为键盘 [b]F11[/b] 和手柄 [b]LB + Start[/b]):720p > 1080p > 1440p > 2160p,只会在你于菜单中勾选且显示器支持的分辨率之间循环。显示例如 "1080p - 1920x1080"。[/]
[][b]串流时自动切换:[/b]当你通过 Moonlight 连接时,游戏会切换到 Moonlight 请求的分辨率(例如掌机设备上为 720p,电视上为 1080p),并显示 "Streaming: 720p - 1280x720"。断开连接后,会回到你的[b]显示器分辨率[/b](在菜单中选择,默认 1440p)。仅在游戏运行时生效。[/]
[][b]通过标志轮盘使用手柄组合键:[/b]按住 [b]LB[/b](轮盘打开)并按 R3、L3、Y、RB、Start 或 Select。轮盘打开时游戏不会使用这些按钮,因此该组合键永远不会触发游戏操作。[/]
[][b]选项菜单[/b](选项 > Mods > Stream Res):按键、组合键、循环哪些分辨率、自动开关以及显示器分辨率。[/]
[]可在拍照模式中使用。支持英语和巴西葡萄牙语。[/]
[/list]
[size=4][b]要求[/b][/size]
[list]
[]《巫师 3:狂猎》[b]次世代版(5.0 或更新)[/b],DirectX 12,[b]全屏[/b]模式(在“无边框”模式下游戏使用桌面分辨率,因此切换几乎不会改变任何内容)。[/]
[]仅自动部分需要:PC 上的 [url=https://github.com/LizardByte/Sunshine]Sunshine[/url] 和客户端上的 [url=https://moonlight-stream.org]Moonlight[/url]。已在 Nintendo Switch 上的 Moonlight 测试。[/]
[/list]
[size=4][b]文件[/b][/size]
[list]
[][b]Stream Res[/b](主文件):模组本体。使用按键和组合键手动切换,选项菜单。[b]无脚本[/b]。[/]
[][b]Sunshine automation[/b](可选):用于串流时自动切换的两个脚本。仅在你使用 Sunshine + Moonlight 时需要。[/]
[][b]Key installer[/b](可选):为你将按键添加到 [i]input.settings[/i]。[/]
[/list]
[size=4][b]安装[/b][/size]
[list=1]
[]关闭游戏。[/]
[]将主文件解压到游戏文件夹(包含 [i]bin[/i]、[i]content[/i] 和 [i]mods[/i] 的那个文件夹),或使用 Vortex 安装。[/]
[]将按键添加到 [i]Documents\The Witcher 3\input.settings[/i](在游戏关闭时):下载 [b]Key installer[/b](可选文件)并运行 [i]install-keys.bat[/i],[b]或者[/b]手动添加这些行(见下文)。Vortex 不会执行此步骤。[/]
[](可选,自动部分)同时将 [b]Sunshine automation[/b] 解压到游戏文件夹(它会创建 [i]mods\modStreamRes\sunshine\[/i])并设置 Sunshine(见下文)。[/]
[/list]
[b]不想运行脚本?[/b]手动切换(按键和组合键)完全无需运行任何 .bat、.ps1 或 .vbs 文件:主文件不包含任何脚本。只需解压并手动添加这些行即可。脚本仅存在于两个可选文件中。

[spoiler]
[b]手动添加这些行(无需脚本)[/b]
在游戏关闭时,用记事本打开 [i]Documents\The Witcher 3\input.settings[/i](先复制一份以防万一)。

1) 在以下每个标题下方添加这些行:[i][Exploration], [Exploration_Replacer_Ciri], [Combat], [Combat_Replacer_Ciri], [Horse], [Horse_Replacer_Ciri], [Boat], [BoatPassenger], [Swimming], [Diving], [Scene], [ScriptedAction], [BASE_PanelsShortcuts], [Photomode][/i]
[code]IK_F2=(Action=ModSRKey_F2)
IK_F3=(Action=ModSRKey_F3)
IK_F4=(Action=ModSRKey_F4)
IK_F5=(Action=ModSRKey_F5)
IK_F6=(Action=ModSRKey_F6)
IK_F7=(Action=ModSRKey_F7)
IK_F8=(Action=ModSRKey_F8)
IK_F9=(Action=ModSRKey_F9)
IK_F10=(Action=ModSRKey_F10)
IK_F11=(Action=ModSRKey_F11)
IK_F12=(Action=ModSRKey_F12)
IK_Insert=(Action=ModSRKey_Insert)
IK_Delete=(Action=ModSRKey_Delete)
IK_Home=(Action=ModSRKey_Home)
IK_End=(Action=ModSRKey_End)
IK_PageUp=(Action=ModSRKey_PageUp)
IK_PageDown=(Action=ModSRKey_PageDown)
IK_NumPad5=(Action=ModSR_Set720)
IK_NumPad6=(Action=ModSR_Set1080)
IK_NumPad7=(Action=ModSR_Set1440)
IK_NumPad8=(Action=ModSR_Set2160)
IK_NumPad9=(Action=ModSR_Monitor)[/code]2) 在 [i][RadialMenu][/i] 标题下方添加这些行(手柄组合键):
[code]IK_Pad_RightThumb=(Action=ModSRPad_R3)
IK_Pad_LeftThumb=(Action=ModSRPad_L3)
IK_Pad_Y_TRIANGLE=(Action=ModSRPad_Y)
IK_Pad_RightShoulder=(Action=ModSRPad_RB)
IK_Pad_Start=(Action=ModSRPad_Start)
IK_Pad_Back_Select=(Action=ModSRPad_Select)[/code]小键盘 5-9 仅由自动部分使用(游戏不使用它们)。
手动卸载:删除所有包含 [i]ModSR[/i] 的行。[/spoiler]

[size=4][b]Sunshine 设置(自动部分)[/b][/size]
需要将可选的 [b]Sunshine automation[/b] 文件解压到游戏文件夹。然后,在 Sunshine 网页界面 > [b]Configuration > General > Command Preparations[/b] > 添加:
[code]Do: wscript.exe "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\mods\modStreamRes\sunshine\streamres.vbs" Connect
Undo: wscript.exe "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\mods\modStreamRes\sunshine\streamres.vbs" Disconnect[/code]保持 [b]Elevated[/b] 未勾选,如果你的游戏在其他位置请调整路径,然后点击 [b]Apply[/b]。Sunshine 仅在启动时读取这些命令,因此在它重启之前不会发生任何事。

[b]工作原理:[/b]Sunshine 会传递 Moonlight 请求的分辨率。在游戏运行且处于前台时,脚本会按下模组监听的按键(小键盘 5-9,游戏未使用),并在 [i]dx12user.settings[/i] 中检查分辨率是否已更改。模组会在菜单和加载界面中忽略该按键,因此脚本每 4 秒重试一次直到成功(30 分钟后放弃)。如果你连接时游戏尚未运行,它会在会话持续期间等待游戏。如果在游戏关闭时断开连接,它不会执行任何操作。

[size=4][b]关于脚本(病毒扫描)[/b][/size]
主文件不包含脚本。两个可选文件包含小型纯文本脚本(未编译),这就是自动化扫描器可能会标记它们的原因。你可以用记事本打开它们全部。
[list]
[][i]streamres.vbs[/i] 仅以隐藏方式启动 [i]streamres.ps1[/i],因此不会有控制台窗口从游戏抢走焦点。[/]
[][i]streamres.ps1[/i] 读取 [i]dx12user.settings[/i],在游戏窗口位于前台时按下小键盘 5-9,并写入一个小日志([i]Documents\The Witcher 3\modStreamRes.log[/i])。它不会更改任何文件,不使用互联网,也不需要管理员权限。[/]
[]Key installer 仅编辑 [i]input.settings[/i],会先备份([i]input.settings.modStreamRes.bak[/i]),并且不会在游戏打开时运行。[i]remove-keys.bat[/i] 可撤销。[/]
[/list]
[size=4][b]兼容性[/b][/size]
该脚本仅使用注解(针对 [i]CPlayerInput.Initialize[/i] 和 [i]CR4IngameMenu.OnOptionValueChanged[/i]),因此不需要 Script Merger。可与 [url=https://www.nexusmods.com/witcher3/mods/13422]RT Toggle[/url] 一起使用(如果两者使用相同的按键或组合键,菜单会发出警告)。直接编辑这些原版函数(旧式,无注解)的模组仍可能冲突。

[size=4][b]已知限制[/b][/size]
[list]
[]在加载界面、黑屏或菜单打开时不会发生切换;自动脚本会重试直到成功。[/]
[]自动脚本仅在游戏窗口位于前台时按下按键。[/]
[]返回显示器分辨率取决于 Sunshine 在断开连接时执行 Undo 命令。已使用 "Desktop" 应用测试。如果未生效,请从 Moonlight 结束会话("Quit")或使用手动按键。[/]
[]如果你选择的按键游戏也在使用(例如 F5 = 快速保存,Home = 切换 HUD),两个操作都会发生。[/]
[]已在 Steam 次世代版(5.0)、NVIDIA GPU、Sunshine 2026.914 和 Nintendo Switch 上的 Moonlight 测试。未测试 AMD/Intel GPU。[/]
[/list]
[size=4][b]卸载[/b][/size]
在游戏关闭时:运行 [i]remove-keys.bat[/i](或删除 [i]input.settings[/i] 中所有包含 [i]ModSR[/i] 的行),移除两个 Sunshine 命令,然后删除 [i]mods\modStreamRes[/i] 和 [i]bin\config\r4game\user_config_matrix\pc\streamres.xml[/i]。你的存档中不会存储任何内容。

[size=4][b]AI 披露[/b][/size]
本模组的代码(WitcherScript、PowerShell 和 VBScript)是在 AI 助手(Anthropic 的 Claude)的帮助下编写的,并由我在游戏内测试。

[size=4][b]致谢[/b][/size]
[list]
[]《巫师 3》及其所有资源归 CD PROJEKT RED 所有。[/]
[][url=https://www.nexusmods.com/witcher3/mods/13422]RT Toggle[/url] 由 guighfunky 制作,提供了按键和选项菜单布局的创意。[/]
[]Sunshine 由 LizardByte 制作;Moonlight 由 Moonlight Game Streaming 项目制作。[/]
[/list]
[line]

[size=4][b]Português (Brasil)[/b][/size]
Troca a resolução do jogo com uma tecla (padrão [b]F11[/b]) ou um combo no controle (padrão [b]LB + Start[/b]), sem abrir o menu, e troca [b]sozinha[/b] no streaming: ao conectar pelo Moonlight o jogo vai para a resolução pedida pelo Moonlight (ex.: 720p no portátil, 1080p na TV) e, ao desconectar, volta para a resolução do monitor escolhida no menu. Só age com o jogo aberto.
[list]
[][b]Arquivos:[/b] [b]Stream Res[/b] (principal, sem scripts), [b]Sunshine automation[/b] (opcional, só para o automático) e [b]Key installer[/b] (opcional).[/]
[][b]Instalação:[/b] extraia o principal na pasta do jogo (ou use o Vortex) e, com o jogo fechado, rode o [i]install-keys.bat[/i] do [b]Key installer[/b] (arquivos opcionais) [b]ou[/b] adicione as linhas à mão (veja o bloco "Adding the lines by hand" acima, ou o [i]LEIAME.md[/i]).[/]
[][b]Sem scripts:[/b] a troca manual (tecla e combo) funciona 100% sem rodar nenhum .bat, .ps1 ou .vbs. O arquivo principal não tem scripts; eles ficam só nos dois arquivos opcionais.[/]
[][b]Automático:[/b] extraia também o [b]Sunshine automation[/b] na pasta do jogo e, no Sunshine, em Configuration > General > Command Preparations, adicione os comandos Do/Undo acima, deixe "Elevated" desmarcado e clique em [b]Apply[/b].[/]
[][b]Opções:[/b] Opções > Mods > Stream Res.[/]
[]Documentação completa em português no [i]LEIAME.md[/i], dentro da pasta do mod.[/]
[/list]