mirror of
https://gitlab.com/the-no-frauds-club/cosmonarchy-bw-prerelease.git
synced 2026-09-17 01:01:12 +00:00
Ported from cosmonarchy-bw-release 46d191e, minus plugins/gptp.qdp:
this repo's gptp.qdp is its own newer build (last rebuilt in c7cee7f7)
and the release binary would regress it.
56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# Linux / Wine setup
|
||
|
||
Cosmonarchy runs under Wine, but a stock prefix gets four things wrong. Each one
|
||
fails in a way that does not name its own cause, so they are collected here.
|
||
|
||
```sh
|
||
tools/linux/setup-bottle.sh --check # report, change nothing
|
||
tools/linux/setup-bottle.sh # apply
|
||
```
|
||
|
||
Defaults to the Bottles bottle named `Blizzard`. Use `--bottle NAME` for a
|
||
different bottle, `--prefix PATH` for a plain `WINEPREFIX`, and `--game-dir PATH`
|
||
if the StarCraft directory cannot be read from the prefix's registry.
|
||
|
||
Every change is backed up next to the file it modifies. `--check` exits non-zero
|
||
when something is missing, so it works in a pre-flight.
|
||
|
||
## What it fixes
|
||
|
||
| Symptom | Cause | Fix |
|
||
| --- | --- | --- |
|
||
| Fraud Launcher 2 exits instantly | .NET 8 loads `icu.dll`, which Wine forwards to a nonexistent `icuuc68.dll` | `DOTNET_SYSTEM_GLOBALIZATION_USENLS=1` |
|
||
| `Fonts could not be loaded` | `aize_debug.qdp` opens `lucon.ttf` / `arialuni.ttf` with FreeType; Wine ships neither | drop DejaVu in under those filenames |
|
||
| Entirely black screen | Wine loads its own `ddraw.dll`, ignoring cnc-ddraw, so StarCraft does a real 640×480 fullscreen mode switch | `ddraw=native,builtin` |
|
||
| Black window, correct size | cnc-ddraw's `renderer=auto` draws black here | `renderer=gdi` |
|
||
|
||
### Notes
|
||
|
||
- The launcher failure shows up in Wine's output as
|
||
`err:module:find_forwarded_export module not found for forward
|
||
'icuuc68.u_charsToUChars_68'`. `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1` also
|
||
works but discards culture support, so NLS is preferred.
|
||
- FreeType opens fonts by path, not by name, so any monospace / wide-coverage
|
||
TTF under those two filenames satisfies it. Needs `fonts-dejavu` (or
|
||
Liberation / Noto, which the script also accepts).
|
||
- `renderer=gdi` and clearing `shader=` were changed together, so which one
|
||
mattered is not isolated. The bundled GLSL shader only applies to the OpenGL
|
||
renderer, so it is inert under GDI either way — if you want it back, try
|
||
`renderer=opengl` first.
|
||
- Only the global `[ddraw]` section of `ddraw.ini` is touched; the per-game
|
||
preset sections below it are left alone, and CRLF endings are preserved.
|
||
- The `ddraw` override is written to `user.reg` directly, so close the game
|
||
first — Wine rewrites that file from memory when the last process exits.
|
||
|
||
## Verified on
|
||
|
||
Bottles `Blizzard` bottle, runner **GE-Proton10-25**, X11, dual 2560×1440.
|
||
Plain system wine 10.0 could not boot even vanilla StarCraft here (null call
|
||
through `storm.dll` ordinal 313 during 640×480 init), so GE-Proton is the
|
||
supported runner.
|
||
|
||
Fraud Launcher 2 installs to `C:\Cosmonarchy\`: `Starcraft\` is a stock 1.16.1
|
||
install, `Release\` is a git clone of this repo. The game runs from
|
||
`Release\Cosmonarchy BW.exe`, and `_qdp-hotloader.qdp` packs `Release\mpq\` into
|
||
`Release\temp.mpq` and loads it alongside the plugins.
|