Ported from cosmonarchy-bw-release 46d191e, minus plugins/gptp.qdp:
this repo's gptp.qdp is its own newer build (last rebuilt in
|
||
|---|---|---|
| .. | ||
| add-dll-override.py | ||
| patch-ddraw-ini.py | ||
| README.md | ||
| setup-bottle.sh | ||
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.
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=1also 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=gdiand clearingshader=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, tryrenderer=openglfirst.- Only the global
[ddraw]section ofddraw.iniis touched; the per-game preset sections below it are left alone, and CRLF endings are preserved. - The
ddrawoverride is written touser.regdirectly, 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.