2026年2月23日 星期一

Steam Tinker Launch

會找到 steamtinkerlaunch 是因為我想安裝 Universal Unreal Engine 4 Unlocker (簡稱 uuu), 本來以為已經知道怎麼用 proton 來安裝 uuu, 不過在 steam deck 沒能順利執行起來, 才改用 steamtinkerlaunch

list 1. UUU3021
 1 UUU3021
 2 ├── ModernWpf.Controls.dll
 3 ├── ModernWpf.dll
 4 ├── Readme.txt
 5 ├── System.ValueTuple.dll
 6 ├── ToastNotifications.dll
 7 ├── UniversalUE4Unlocker.dll
 8 ├── UuuClient.exe
 9 └── UuuClient.exe.config
10
11 1 directory, 8 files

UUU 4 需要付費, uuu 3 先試用看看。

參考 https://github.com/sonic2kk/steamtinkerlaunch/wiki/Installation#steam-deck, 在 steam deck (/home/deck/steamtinkerlaunch-12.12) 執行 ./steamtinkerlaunch compat add 即可, 麻煩的是 steamtinkerlaunch 會先更新到最新版本, 抓到最新版本後, 需要在新的安裝目錄 (/home/deck/stl/prefix) (終端機畫面會提示裝在哪個目錄) 再次執行 ./steamtinkerlaunch compat add 即可。

參考影片, 安裝後怎麼使用 steamtinkerlaunch。



參考 https://github.com/sonic2kk/steamtinkerlaunch/wiki/UniversalUE4Unlocker, 把 uuu 安裝起來, Universal UE4 Unlocker v3.0.21. 解開後安裝在 ~/.config/steamtinkerlaunch/downloads/uuu/, steamtinkerlaunch 用自己的方式 (IGCSInjector) 把 UniversalUE4Unlocker.dll 載入進來, 而不是透過 uuu 自己的執行檔 UuuClient.exe。

原理大概就是用 windowns api 載入 UniversalUE4Unlocker.dll, 透過 Wine 執行迷你的 IGCSInjector.exe。它會模擬 Windows 的 CreateRemoteThread 行為, 這樣就不需要 UuuClient.exe, 也不用 .net, 執行 UuuClient.exe 需要 .net, 我試過把 .net48 安裝起來, 也無法正常執行 UuuClient.exe。

fig 1. 成功啟用 Steam Tinker Launch

選 fig 1. 下方 GAME MENU 進入子選單, 把 uuu 設定起來。
fig 2. 載入 uuu fail。

設定 uuu 失敗後, fig 2 的失敗訊息。劍星有2個 .exe 檔案, dll hook 要找的是 SB-Win64-Shipping.exe, 找到在執行的 SB-Win64-Shipping.exe, 就會把 UniversalUE4Unlocker.dll 載入到這個執行檔的記憶體空間。
./SB.exe
./SB/Binaries/Win64/SB-Win64-Shipping.exe
之後設定 delay time, 讓 Steam Tinker Launch 執行時, 等 SB-Win64-Shipping.exe 跑起來就可以找到 SB-Win64-Shipping.exe。

fig 3. 成功載入 uuu

成功設定 uuu, 成功載入 uuu。這個不知道怎麼分享, 因為我在 GAME MENU 調整很多選項才成功, 也懶的去確認哪一個才是正確的設定。
fig 5. 和 uuu UI 程式溝通失敗

list 2. 和 uuu UI 程式溝通失敗
1 Z:\home\deck\.local\share\Steam\steamapps\common\StellarBlade\SB\Binaries\Win64\SB-Win64-Shipping.exe
2
3 ERROR <<File not found
4
5 >>> ERROR <<Couldn't connect to named pipe DLL client. Please start the client First

uuu dll 成功載入, uuu UI 沒有正確執行, 因為我沒裝 .net, 也沒成功把 uuu ui 程式跑起來過。需要 .net 4.5.2

成功載入 uuu 之後, 要怎麼測試 uuu 的功能, 按下 insert, 可以使用 camear 鏡頭隨意觀察整個遊戲關卡, 就先這樣了。我想要的姿勢調整不知道要怎麼使用。

在 windows 上很容易做的事情, 到 steam deck 就變成很麻煩。

Steam Tinker Launch 還有其他額外功能, 但我不太會用, reshape 好像是比較常用的功能。

GAME MENU 設定在下方影片, 請自行參考。



其實我不太喜歡在 linux 下搞這個, 只想好好玩遊戲, 不想折磨自己, 但無奈目前可以玩遊戲的機器只有 steam deck, 只好硬著頭皮搞。算是失敗了吧, 另外嘗試 uevr 也一樣失敗, 可以開啟 uevr, 但無法開啟遊戲來做 dll 注入, 大概還有什麼祕密沒搞動。之後還是會想買 windows pc, 這也是我不想買 steam machine 的理由之一, 要用這些外掛, 還是用 windows 方便。

ref:
【心得】介紹一個非常強大的付費姿勢軟體Universal Unreal Engine 4 Unlocker (UUU) 拍照玩家必備!!!(更新迅梓

2026年2月6日 星期五

20260130 購入 steam 版 ff7 original, 安裝 7th heaven mod manager on the steam deck

原本有 4cd 的實體版本, 所以一直沒買 steam 版。





後來看到 list 1 的消息, 就購入 steam 版本 ff7, 賭新版本的好處。主要是持有舊版 ff7, 會送新版 ff7 (不是 ff7 remake/rebirth), 是送新版 ff7 original。

list 1. An Update Regarding the Re-Release of FINAL FANTASY VII - 2013 Edition on Steam
To our FINAL FANTASY VII community,

We will be releasing a new version of FINAL FANTASY VII on Steam.

Following the launch of this new version, the current version will be renamed FINAL FANTASY VII – 2013 Edition.

Please review the below information to understand how this update will affect existing owners:

Availability of Versions
  • When the new version launches, FINAL FANTASY VII – 2013 Edition will no longer be available for purchase on the Steam Store.
  • Existing owners will continue to have access to FINAL FANTASY VII – 2013 Edition in their library.
  • The new version will be listed on the Steam Store as FINAL FANTASY VII.
Access for Existing Owners
  • All players who already own the 2013 Edition are eligible to access the new version at no additional cost.
  • Both versions will remain accessible in the owner’s Steam Library once the new version is released.
Save Data Information
  • Save data will not be compatible between the two versions.
  • 2013 Edition saves will only work with the 2013 Edition.
  • New version saves will only work with the new version.
Thank you for your continued support of FINAL FANTASY VII.
fig 1. 20260130 購入 steam 版 ff7 original, 140nt

不過後來發現每次玩都要登入 Square Enix account (購買頁面有注明: 需要第三方帳戶: Requires a Square Enix account), 為此還要註冊一個 Square Enix account, 而 ff8 remaster 卻不需要登錄就能玩。

用 steam deck 執行, 每次玩都要打一次帳號密碼, 蠻麻煩的, steam deck 又沒有實體鍵盤, 不好打字, 而我的環境並不一定會有網路, 如果我在火車上想玩, 但沒有網路, 就不能玩了, 我很厭惡這樣的機制, 一般有這種機制, 就不想買, 這次算中招了, 其他 ff 系列都不需要登錄, 不知道為什麼 ff7 original 會需要登錄, 讓我購買時大意沒看到這點。

用 7th Heaven Mod Manager 解決這問題, 每次都要登錄真的很煩。

麻煩的來了, 在 windows 上很容易安裝 7th Heaven Mod Manager, 在 steam deck/linux 怎麼辦?

事實上安裝 7th Heaven Mod Manager 也真的比我想的還要複雜。

https://github.com/dotaxis/7thDeck 提供了一個 script, 可以輕鬆安裝 7th Heaven Mod Manager, 可惜不知道什麼緣故, 我沒能成功透過這個 script 安裝成功。不過透過安裝一個非 steam 遊戲倒是把 7th Heaven Mod Manager 3.5 成功安裝起來。以下是 debug 安裝 7th Heaven Mod Manager 過程。

以下影片介紹如何用 https://github.com/dotaxis/7thDeck 安裝 7th Heaven Mod Manager, 也成功執行 ff7。



影片很有趣還拿 ff7 重製版當開頭畫面, 都玩 ff7 original, 怎麼不拿 ff7 original 的片頭畫面。

透過安裝一個非 steam 遊戲安裝起來的的 app id 是 4176347364, STEAM_COMPAT_DATA_PATH: /home/deck/.steam/steam/steamapps/compatdata/4176347364。

ff7 是 39140, STEAM_COMPAT_DATA_PATH 有 2 個地方, 我不確定是不是因為把 ff7 安裝在 sd card 的關係。
  • /home/deck/.local/share/Steam/steamapps/compatdata/39140
  • /run/media/deck/SPCC/steamapps/compatdata/39140
而安裝一套遊戲除了建立 compatdata 還有其他目錄, 例如遊戲本身安裝在哪個目錄: "/run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII"

compatdata 是一個 windows 環境, 對應到 windows 那些目錄, 大概像 list 2:
list 2
 1 .
 2 ├── dosdevices
 3 │   ├── c: -> ../drive_c
 4 │   ├── com1 -> /dev/ttyS0
 5 │   ├── com10 -> /dev/ttyS9
 6 │   ├── com11 -> /dev/ttyS10
 7 │   ├── com12 -> /dev/ttyS11
 8 │   ├── com13 -> /dev/ttyS12
 9 │   ├── com14 -> /dev/ttyS13
10 │   ├── com15 -> /dev/ttyS14
11 │   ├── com16 -> /dev/ttyS15
12 │   ├── com17 -> /dev/ttyS16
13 │   ├── com18 -> /dev/ttyS17
14 │   ├── com19 -> /dev/ttyS18
15 │   ├── com2 -> /dev/ttyS1
16 │   ├── com20 -> /dev/ttyS19
17 │   ├── com21 -> /dev/ttyS20
18 │   ├── com22 -> /dev/ttyS21
19 │   ├── com23 -> /dev/ttyS22
20 │   ├── com24 -> /dev/ttyS23
21 │   ├── com25 -> /dev/ttyS24
22 │   ├── com26 -> /dev/ttyS25
23 │   ├── com27 -> /dev/ttyS26
24 │   ├── com28 -> /dev/ttyS27
25 │   ├── com29 -> /dev/ttyS28
26 │   ├── com3 -> /dev/ttyS2
27 │   ├── com30 -> /dev/ttyS29
28 │   ├── com31 -> /dev/ttyS30
29 │   ├── com32 -> /dev/ttyS31
30 │   ├── com4 -> /dev/ttyS3
31 │   ├── com5 -> /dev/ttyS4
32 │   ├── com6 -> /dev/ttyS5
33 │   ├── com7 -> /dev/ttyS6
34 │   ├── com8 -> /dev/ttyS7
35 │   ├── com9 -> /dev/ttyS8
36 │   ├── d: -> /media/9
37 │   ├── d:: -> /dev/loop0
38 │   ├── e:: -> /dev/sr0
39 │   └── z: -> /
40 ├── drive_c
41 │   ├── pm2win
42 │   │   ├── Data
43 │   │   └── uninst.exe
44 │   ├── ProgramData
45 │   │   └── Microsoft
46 │   ├── Program Files
47 │   │   ├── Common Files
48 │   │   ├── Internet Explorer
49 │   │   ├── Windows Media Player
50 │   │   └── Windows NT
51 │   ├── Program Files (x86)
52 │   │   ├── Common Files
53 │   │   ├── directx
54 │   │   ├── Hasbro Interactive
55 │   │   ├── InstallShield Installation Information
56 │   │   ├── Internet Explorer
57 │   │   ├── Kobo
58 │   │   ├── Windows Media Player
59 │   │   └── Windows NT
60 │   ├── users
61 │   │   ├── descent
62 │   │   └── Public
63 │   └── windows
64 │       ├── command
65 │       ├── Directx.log
66 │       ├── DPINST.LOG
67 │       ├── explorer.exe
68 │       ├── Fonts
69 │       ├── help
70 │       ├── hh.exe
71 │       ├── inf
72 │       ├── Installer
73 │       ├── logs
74 │       ├── notepad.exe
75 │       ├── pm2.ini
76 │       ├── regedit.exe
77 │       ├── rundll.exe
78 │       ├── system
79 │       ├── system32
80 │       ├── system.ini
81 │       ├── syswow64
82 │       ├── temp
83 │       ├── twain_32
84 │       ├── twain_32.dll
85 │       ├── twain_64
86 │       ├── twain.dll
87 │       ├── winhelp.exe
88 │       ├── winhlp32.exe
89 │       ├── win.ini
90 │       └── winsxs
91 ├── system.reg
92 ├── userdef.reg
93 ├── user.reg
94 └── winetricks.log
95 
96 40 directories, 53 files

我本來以為遊戲本身會和 wine 一樣, 安裝在 drive_c 裡頭, 不過 proton 看來不是這麼做。需要用 z: 來存取到 linux 根目錄。

這個 z: 不是 windows 磁碟 z 槽, 是一個 symbolic links, 名稱為 z:, 指向 / 。不熟悉 linux 的使用者可能會覺得很奇怪, 不過單純就是這樣。

安裝 7th Heaven Mod Manager 應該要把程式裝到 39140 環境才是, 但透過非 steam 遊戲會有一個新的 app id。

查看 https://github.com/dotaxis/7thDeck install.sh, 改寫為 r7th.sh, 把 7th Heaven Mod Manager 安裝到 39140 環境, 主要是需要 STEAM_COMPAT_DATA_PATH, STEAM_COMPAT_CLIENT_INSTALL_PATH 這2個環境變數, 並透過 proton 9.0 執行 ./7thHeaven-v3.5.1.0_Release.exe, ./7thHeaven-v3.5.1.0_Release.exe 會下載 c++ runtime, .NET Desktop Runtime, 所以省下手動安裝這些 dll 的功夫。當然, 現在我知道怎麼安裝 .NET Desktop Runtime 到特定 app id 了, 甚至只要其中一個 app id 有裝過, 可以透過 symbolic link 就好, 其他 app id 不用重新安裝。

注意: .NET Desktop Runtime 和 .NET Runtime 是 2 套 dll, 不是相同的東西。

r7th.sh
1 #!/bin/sh
2 STEAM_COMPAT_DATA_PATH=/run/media/deck/SPCC/steamapps/compatdata/39140 STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.local/share/Steam /home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run -- /home/deck/.local/share/Steam/steamapps/common/Proton\ 9.0\ \(Beta\)/proton waitforexitandrun ./7thHeaven-v3.5.1.0_Release.exe

裝好之後要怎麼執行 7th Heaven Mod Manager 也是個問題, https://github.com/dotaxis/7thDeck 在安裝後會提供一個 script "7th Heaven.sh" 來執行, 稍微修改一下, 就可以成功執行 7th Heaven Mod Manager。

再來便是把 ./7thHeaven-v3.5.1.0_Release.exe 提供的 ff7.exe 換到 steam ff7, steam ff7 執行檔是 ff7_en.exe, 我的環境在 /run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII, 再來便是透過 7th Heaven Mod Manager 執行這個 ff7.exe。

7th Heaven Mod Manager 提供以下的 exe 檔案。

./SeventhHeavenUI/Resources/WinCDEmu/PortableWinCDEmu.exe
./SeventhHeavenUI/Resources/FF7_1.02_Eng_Patch/FF7Config.exe
./SeventhHeavenUI/Resources/FF7_1.02_Eng_Patch/ff7.exe
./SeventhHeavenUI/Resources/VBusDriver/ScpDriver.exe
./SeventhHeavenUI/Resources/ulgp_v1.3.2/ulgp.exe
./.iss/netcorecheck.exe
./.iss/netcorecheck_x64.exe


成功從 7th Heaven Mod Manager 執行 ff7.exe 之後, 遇到 mount 遊戲光碟失敗問題, list 3 的訊息, 這個是最難的一關, 透過 ai 查詢, 都沒屁用, 還說在 linux 無法透過 powershell mount 光碟。

mount 方法有 3 種, 在 7th Heaven Mod Manager 可以設定, 但都沒用。
https://forums.qhimm.com/index.php?topic=19831.0
1. Mount-DiskImage -ImagePath "C:\7th Heaven\Resources\FF7DISC1.ISO"
2. SeventhHeavenUI/Resources/WinCDEmu/PortableWinCDEmu.exe
第3種應該是程式自己 mount。7th Heaven Mod Manager 是 C# 寫的, 我有去追 7th Heaven Mod Manager source code mount disc 相關部份。

list 3. 無法 mount 遊戲光碟
1 7thWorkshop/applog.txt:75:11:25:59|INFO|_7thHeaven.Code.GameDiscMounter|        attempting to mount iso at Z:\home\deck\7th\Resources\FF7DISC1.ISO

FF7DISC1.ISO 是 7th Heaven Mod Manager 提供的 iso, 主要是騙過 ff7.exe 的檢查光碟機制, FF7DISC1.ISO 裡頭只有一個文字檔案。

最 tricky 的地方來了, 查看 https://github.com/dotaxis/7thDeck install.sh, 有類似 list 5 L1, L2 的修改, 看到後欣喜若狂, 終於被我找到差異點, 補上後, 一樣 mount 不到 FF7DISC1.ISO, 非常洩氣。

後來想到 compatdata 還有另外一個路徑, 就是 list 5 L3, 修改之後, 神奇的事情發生了, 可以 mount FF7DISC1.ISO, 終於可以成功進入 ff7 遊戲畫面, 玩個遊戲好像在 debug, 好累。

list 5.
1 echo "44000000" > /run/media/deck/SPCC/steamapps/compatdata/39140/pfx/drive_c/.windows-serial"
2 echo "FF7DISC1" > /run/media/deck/SPCC/steamapps/compatdata/39140/pfx/drive_c/.windows-label
3 echo "FF7DISC1" > /home/deck/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c/.windows-label
透過 ai 查詢, 大概知道 list 5 的意思:
在 Wine / Proton 的 prefix 裡,.windows-label 是一個非官方但被廣泛使用的慣例檔案。

用途:
👉 指定「虛擬 C: 磁碟的 Volume Label(磁碟標籤)」

在真正的 Windows 裡,你在「本機磁碟 (C:)」看到的那個名字,就是 volume label。

相當於 label C: FF7DISC1

.windows-serial 這個檔案用來指定:

👉 虛擬磁碟的 Volume Serial Number(磁碟序號)

在真正的 Windows 裡,你可以用: vol C:

之前搞不定 wine 執行 4cd ff7 版本, 再透過 winecfg 設定 .windows-label/.windows-serial, 之後, 就可以通過 mount cd 的檢查機制了。

安裝 7th Heaven Mod Manager, 除了移除登錄之外, 主要還可以安裝中文 mod, 成功安裝之後, 把中文 mod 也加入測試, 嘗試一陣子, 還是只能對話中文, 選單指令是英文的結果, 就先這樣吧!
fig 11. 在 steam deck 安裝 7th Heaven Mod Manager 並安裝中文化 mod

https://github.com/auntiepickle/ff7seventhheavensteamdeck 這邊是另外一個安裝文件, 這個我沒看, 步驟太複雜。



steam deck 實機執行

https://github.com/dotaxis/7thDeck install.sh 惠我良多, 讓我知道要設定什麼環境變數才可以正確執行 proton。

自己安裝的 7th heaven 是裝在 STEAM_COMPAT_DATA_PATH: /home/deck/.steam/steam/steamapps/compatdata/4176347364。
相關的目錄
/home/deck/.local/share/Steam/steamapps/shadercache/4176347364
/home/deck/.local/share/Steam/steamapps/compatdata/4176347364
ff7 相關安裝目錄:
(130)(deck@steamdeck ~)$ sudo find / -name 39140
/home/deck/.local/share/Steam/userdata/138196433/760/remote/39140
/home/deck/.local/share/Steam/steamapps/shadercache/39140
/home/deck/.local/share/Steam/steamapps/downloading/39140
/home/deck/.local/share/Steam/steamapps/common/Steam Controller Configs/138196433/config/39140
/home/deck/.local/share/Steam/steamapps/compatdata/39140
/home/deck/.local/share/Steam/appcache/librarycache/39140
/run/media/deck/SPCC/steamapps/temp/39140
/run/media/deck/SPCC/steamapps/compatdata/39140

ff7 dir : /run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII
從 install.sh 挖出來的相關路徑:
ff7 dir : /run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII
ff7 WINEPATH: /run/media/deck/SPCC/steamapps/compatdata/39140/pfx
ff7 RUNTIME: /home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run
ff7 LIBRARY: /home/deck/.local/share/Steam
/home/deck/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c.org

STEAM_COMPAT_DATA_PATH=/run/media/deck/SPCC/steamapps/compatdata/39140 
STEAM_COMPAT_DATA_PATH=/home/deck/.steam/steam/steamapps/compatdata/39140
STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.local/share/Steam

額外一個 pfx
/home/deck/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c.org

STEAM_COMPAT_APP_ID=39140
STEAM_COMPAT_DATA_PATH=/run/media/deck/SPCC/steamapps/compatdata/39140
STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.local/share/Steam 
/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run -- /home/deck/.local/share/Steam/steamapps/common/Proton\ 9.0/proton waitforexitandrun /VERYSILENT /DIR="Z:$INSTALL_PATH" /LOG="7thHeaven.log" # 需要 STEAM_COMPAT_DATA_PATH, STEAM_COMPAT_CLIENT_INSTALL_PATH 才能正確執行
/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run -- /home/deck/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton waitforexitandrun /home/deck/7th/7th Heaven.exe

/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run
 1 #!/bin/sh
 2 # Generated file, do not edit
 3 
 4 set -eu
 5 
 6 me="$(readlink -f "$0")"
 7 here="${me%/*}"
 8 me="${me##*/}"
 9 
10 dir=sniper_platform_3.0.20251216.191774
11 pressure_vessel="${PRESSURE_VESSEL_PREFIX:-"${here}/pressure-vessel"}"
12 
13 export PRESSURE_VESSEL_ARCHITECTURES=x86_64-linux-gnu:i386-linux-gnu
14 export PRESSURE_VESSEL_COPY_RUNTIME=1
15 export PRESSURE_VESSEL_RUNTIME="${dir}"
16 unset PRESSURE_VESSEL_RUNTIME_ARCHIVE
17 export PRESSURE_VESSEL_RUNTIME_BASE="${here}"
18 
19 if [ -z "${PRESSURE_VESSEL_VARIABLE_DIR-}" ]; then
20     export PRESSURE_VESSEL_VARIABLE_DIR="${here}/var"
21 fi
22 
23 exec "${pressure_vessel}/bin/pressure-vessel-unruntime" "$@"

2026年2月4日 星期三

n64/ps2 遊戲重新編譯為 pc 版本

PS2遊戲告別模擬器!神工具PS2Recomp讓經典變原生PC版,效能畫質大躍進!, 嚇了一跳, 竟然還有這種技術可以把主機遊戲放到 pc 玩。

這是參考 https://github.com/N64Recomp/N64Recomp 的作法, 看到這種作法, 我嚇傻了, 這種難度比寫模擬器高很多, 不像模擬器, 寫好後所有的 rom 都可以跑起來, 這是對每一款 rom 都要做 decompile 工程, 太難了。

目前有這幾個成功案例: 下載 release 檔案後 (有 windows, mac, linux 平台, steam deck 下載 linux 版本), 需要載入原版 rom, 就可以把遊戲跑起來, 太神了。主要流程大概是這樣, 把 rom binary data 轉成 c code, 再用 pc/os 編譯器把這個 rom 編譯成執行檔, 然後直接執行這個檔案把遊戲跑起來。steam deck/linux 也可以正常執行。



2013 年就有人針對 nes rom 做這種嘗試, Statically Recompiling NES Games into Native Executables with LLVM and Go, 真是太瘋狂了, 厲害。

https://github.com/andrewrk/jamulator 實用性不高, 但技術含量超高, 也只有針對 Zelda rom 作, 並不是每個 nes rom 都可以。Andrew Kelley 只要拿出這專案, 應該沒有拿不到的工作。

2026年1月25日 星期日

Arkham Knight 中文化 on steam deck

蝙蝠俠阿卡漢系列 各代中文化檔案

在 windows 上就照著操作, 選擇 Arkham Knight 的遊戲目錄, 沒什麼問題, 在 steam deck 上該怎麼辦?

本來想用 proton 在 steam deck 執行這中文 patch 執行檔, 可惜失敗了。沒什麼好辦法, 最後把 steam deck 的 Arkham Knight 檔案複製到 windows, 在 windows 上執行中文 patch 檔案, 再把所有檔案覆蓋回 steam deck 的 Arkham Knight 目錄, 看起來好像有成功中文化, 不過開啟字幕時, dlc 的故事的提示畫面是中文, 但是字幕還是英文; 主故事的字幕則是有正常中文, 看懂劇情後終於知道要怎麼玩, 推進到其他故事章節。

看 youtube 影片, 有中文化成功應該是連 dlc 的故事的字幕也是中文, 不知道是那出問題。

2026年1月20日 星期二

20251204 民進黨政府封鎖小紅書一年

由於民進黨政府對小紅書發出一年的限制令, 理由是該平台「詐騙案數量攀升」, 且未回覆台灣當局的資訊安全改善建議。20251204 起點選小紅書應用程式頁面, 將會呈現網路轉圈圈或連結不上的狀態。

ref:
  1. 台灣以「打擊詐騙」為由封鎖小紅書一年,為何引發爭議?
  2. 中天新聞台不予換照事件
  3. 衛廣法修法助中天復台? NCC:要回到52台頻道幾乎不可能

2026年1月15日 星期四

FF7 remake/rebirth/Crisis Core reunion 和諧蒂法牛仔服飾

tifa 牛仔服飾的黑色內衣出現在以下遊戲, 本篇會提到如何用 mod 修正回無黑色內衣版本。
ff7 remake              2020/04/10 ps4
ff7 crisis core reunion 2022/12/13 ps4
ff7 rebirth             2024/02/29 ps5
2024/2/26 ff7 remake 1.003 有一個 8G 大小的更新, tifa 牛仔服飾更新為 fig 12, 那時我剛好玩到這, 已經是更新後 (和諧) 的畫面, 覺得很不爽, 這個更新很神祕, 只寫了如 list 1 的內容, 但是高達 8G 更新。

而正是因為這種事後更新, 讓玩家更害怕原本沒 dei 的內容會被更新為 dei, 這樣玩家根本拿廠商沒辦法, 算詐騙了吧!

list 1. 公開1.003版
《FINAL FANTASY VII REMAKE INTERGRADE》已推出更新。

【更新內容】
‧ 修正了數個錯誤。

fig 11. 和諧前 fig 12. 和諧後

fig 11, fig 12 展示了更新後的差異。





遊戲內容在 CHAPTER7-伍號魔晄爐的陷阱 (A Trap Is Sprung), 抵達伍號魔晄爐之前, 從 CHAPTER7 開始沒多久就會遇到這個場景了。

維持一致性?《FF7重製版》最新更新和諧牛仔蒂法 關鍵PC模組無法使用, 目前可以用 Uncensored Nibelheim Flashback 改回來, 這不是 mod 是, ff7 remake 1.002 版的影片檔案。

ff7 rebirth 可以用 Cowboy Tifa Uncensored 1.0 mod 改回來, 2 部曲終於一致了。

回顧:牛仔 Tifa 服裝現在可以玩了!

CowGirl Tifa - 3DM - DELETED at Final Fantasy VII Remake Nexus - Mods and community

真的有病, 連這個 mod 也要刪除, 感覺只要和原公司作對的 mod 都會被刪除。好消息是這個 mod 被備份在 https://basedmods.org/mod/de128a0f-3b71-44e8-b6b5-417ca19c34c4 這是區塊鍊, 應該無法被刪除了。

這裡也有備份: 《最终幻想7:重制版》蒂法少女牛仔装MOD

核心危機 - Final Fantasy VII Crisis Core reunion 也有 tifa cowboy outfit, 一樣被和諧, Remake_Tifa 可以還原, 不過這個 mod 就沒有被刪除, 奇怪, 標準是怎麼定的?

fig 21. Crisis Core reunion: Final Fantasy VII tifa

Crisis Core reunion 之前 tifa 牛仔服正常, Crisis Core reunion 之後, 就變成多加一件黑色內衣。
ff7 crisis core         2007/09/13 psp
ff7 remake              2020/04/10 ps4
ff7 crisis core reunion 2022/12/13 ps4
ff7 rebirth             2024/02/29 ps5
整理了一下 ff7 系列出版時間線, SE 從 ff7 crisis core reunion 2022/12/13 開始崩壞, 後面的作品就有多加一件黑色內衣。

fig 22. Crisis Core: Final Fantasy VII tifa

fig 22 Crisis Core: Final Fantasy VII 的牛仔服裝和 Crisis Core reunion 有所不同, 但也沒有黑色內衣打底。



2 版比較圖。

se 真有心, 還記得要把 ff7 remake 改成黑色內衣版本, ff7 crisis core 如果還在, 大概也會修正吧。

Crisis Core reunion, 使用 Remake_Tifa 還原。

fig 31. 原本黑色內衣 fig 32. 無黑色內衣
這個場景在 Crisis Core reunion chapter 8 一開始就會遇到。





NGplus chapter select 是每個章節的存檔。

2026年1月13日 星期二

[pc games] Lunar Eclipse

Lunar Eclipse

這是一個有點色色的解謎類遊戲, 不過難度蠻高, 提示太少, 第1個關卡就難倒我, 想了很久才知道怎麼解, 終於知道密碼打開門。第一次玩的時候還是看別人解開密碼, 照著按, 但不知道原因, 不過看著女主的身形移動, 也別有一番樂趣。