110 lines
6.0 KiB
Markdown
110 lines
6.0 KiB
Markdown
# Discworld Noir (NQ) — установка и запуск
|
||
|
||
## Структура
|
||
|
||
- **Игра:** `/run/media/bazzite/Data/games/discworld_noir_nq/`
|
||
- `tin3_dxd.exe` — exe из NQ-репака (оригинал, md5: `962c76c5`)
|
||
- `cd1/` — 313 файлов
|
||
- `cd2/` — 313 файлов (мердж через `cp -an` из обоих CD)
|
||
- `cd3`→`cd1`, `cd4`→`cd1` ... `cd8`→`cd1` — симлинки
|
||
- `DN_Setting_*.exe` — конфигуратор
|
||
- `cw3220.dll`, `dwnoir.dll`
|
||
|
||
- **Proton prefix:** `compatdata/2973247222/pfx/` (unsigned от appid `-1321720074`)
|
||
- **Symlink:** `C:\Discworld Noir` → `/run/media/bazzite/Data/games/discworld_noir_nq/`
|
||
|
||
## Steam shortcut
|
||
|
||
- **AppName:** «Discworld Noir (NQ)» (index 108)
|
||
- **AppID:** signed `-1321720074`, unsigned `2973247222`
|
||
- **Exe:** `/run/media/bazzite/Data/games/discworld_noir_nq/tin3_dxd.exe`
|
||
- **StartDir:** `/run/media/bazzite/Data/games/discworld_noir_nq`
|
||
- **CompatToolMapping:** `-1321720074` → `GE-Proton10-34`
|
||
|
||
## Registry (system.reg)
|
||
|
||
Секция `[Software\\Wow6432Node\\Perfect Entertainment\\Discworld Noir]` (в prefix `2973247222`):
|
||
|
||
```
|
||
"HD Path"="C:\\Discworld Noir"
|
||
"Install Path"="C:\\Discworld Noir"
|
||
"Install Type"="Typical"
|
||
"Installed Files"="14"
|
||
"Language"="English"
|
||
"Minimum"="49152"
|
||
"Music Volume"="100"
|
||
"No Sound"="No"
|
||
"Sample Path"="C:\\Discworld Noir\\cd1"
|
||
"SoundFX Volume"="100"
|
||
"Special"="xDM xEDS xPD xMPD NNT"
|
||
"Specify"="Yes"
|
||
"Start Windowed"="No"
|
||
"Subtitles"="No"
|
||
"Verbose"="No"
|
||
"Voice Volume"="100"
|
||
```
|
||
|
||
## Порядок настройки (если переустанавливать)
|
||
|
||
1. Скопировать файлы игры в `/run/media/bazzite/Data/games/discworld_noir_nq/`
|
||
2. Удостовериться что в `cd1/` и `cd2/` по 313 файлов (если нет — скопировать все уникальные в обе папки)
|
||
3. Создать symlink: `ln -sfn /run/media/bazzite/Data/games/discworld_noir_nq $PFX/drive_c/Discworld Noir`
|
||
4. Через `shortcuts.vdf` добавить shortcut с Linux-путями (прямые пути, не `C:\...`)
|
||
5. Добавить `CompatToolMapping` в `config.vdf` для signed appid
|
||
6. Прописать registry entries в `{prefix}/system.reg` (секция Wow6432Node)
|
||
|
||
## Важные моменты
|
||
|
||
- **Пути в shortcuts.vdf должны быть Linux-путями** (напрямую к файлам через `/run/media/...`), не `C:\...`. Proton сам маппит их на `Z:\`.
|
||
- **Symlink** и **registry** на `C:\Discworld Noir` нужны для того, чтобы игра находила registry entries и CD-файлы внутри Proton-окружения.
|
||
- appid в shortcuts.vdf signed, а compatdata создаётся с unsigned значением — надо синхронизировать.
|
||
- Steam может перезаписывать `config.vdf` при старте, восстанавливая старые CompatToolMapping. Нужно удалять дублирующиеся unsigned записи.
|
||
|
||
## Проблемы и решения
|
||
|
||
### 1. Save/Load меню не работает (Load задизейблен)
|
||
|
||
**Симптом:** `sg.1` создаётся физически (30KB, валидный), но меню Load не показывает слоты. Сохранение в новый слот (`sg.5`) не создаётся — перезаписывается `sg.1`.
|
||
|
||
**Решение:** Перемонтировать NTFS-раздел Data через `/etc/fstab` с правильными опциями вместо `udisks2` авто-монтирования.
|
||
|
||
Было (не работало):
|
||
```fstab
|
||
# записи не было — udisks2 монтировал автоматически с default_permissions
|
||
```
|
||
|
||
Стало (работает):
|
||
```fstab
|
||
UUID=01D99C23361E63D0 /run/media/bazzite/Data ntfs-3g uid=1000,gid=1000,fmask=113,dmask=002,noatime,exec 0 2
|
||
```
|
||
|
||
**Почему:** ntfs-3g через udisks2 с `default_permissions` давал неправильные права для Proton/Wine эмуляции файлового ввода-вывода. Явные `uid=1000,gid=1000,fmask=113,dmask=002` исправили это. Также fstab-монтирование делает NTFS регистрозависимым — имена папок должны точно совпадать (`Downloads` vs `downloads`).
|
||
|
||
### 2. `Cannot change directory to c:\Discworld Noir`
|
||
|
||
**Симптом:** игра запускается в Steam, но падает до появления окна.
|
||
|
||
**Причина:** сломанный symlink `C:\Discworld Noir` → `discworld_noir_nq/` в Proton prefix. Возникает при перемонтировании диска (путь меняется или symlink не резолвится после размонтирования).
|
||
|
||
**Решение:** проверить и пересоздать symlink:
|
||
```bash
|
||
PFX=~/.steam/steam/steamapps/compatdata/2973247222/pfx/drive_c
|
||
rm "$PFX/Discworld Noir"
|
||
ln -sf /run/media/bazzite/Data/Games/discworld_noir_nq "$PFX/Discworld Noir"
|
||
```
|
||
Обрати внимание на регистр — `Games` с большой буквы (как на NTFS при fstab-монтировании).
|
||
|
||
### 3. Loma fix не работает под Proton
|
||
|
||
**Симптом:**
|
||
- `tin3_dxd.exe` (Loma patched, 100864 байт) — спиннер Steam, игра не стартует
|
||
- `dn.exe` (Loma launcher) — запускается с кривой палитрой, падает на Continue
|
||
|
||
**Решение:** откатить Loma fix, вернуть оригинальный `tin3_dxd.exe` (560160 байт). Бэкап оригинала: `tin3_dxd.exe.orig-backup` в папке игры.
|
||
|
||
### 4. Dolomite (ddraw.dll) не чинит меню
|
||
|
||
**Симптом:** `ddraw.dll` от nathan-baggs/dolomite v1.0.1 не влияет на работу меню Save/Load.
|
||
|
||
**Вывод:** проблема с меню не в DirectDraw рендеринге, а в файловом вводе-выводе (см. п.1).
|