Expand local_machine docs and automation for connectivity, games, and ops.
Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs; document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
48
scripts/games/gog/install-corefonts.sh
Executable file
48
scripts/games/gog/install-corefonts.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
GOG_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
# shellcheck source=config.sh
|
||||
source "${GOG_DIR}/config.sh"
|
||||
# shellcheck source=wine-fonts.sh
|
||||
source "${GOG_DIR}/wine-fonts.sh"
|
||||
|
||||
CACHE="${GAMES_CACHE_DIR}/corefonts"
|
||||
FONTS="${BOTTLE_DIR}/drive_c/windows/Fonts"
|
||||
|
||||
cmd_fetch() {
|
||||
local name="$1" url="$2"
|
||||
mkdir -p "${CACHE}"
|
||||
if [[ -f "${CACHE}/${name}" ]] && [[ "$(wc -c <"${CACHE}/${name}")" -gt 10000 ]]; then
|
||||
return 0
|
||||
fi
|
||||
echo "Скачиваю ${name}…"
|
||||
curl -fsSL --retry 3 -o "${CACHE}/${name}" "${url}" || return 1
|
||||
}
|
||||
|
||||
cmd_extract_cab() {
|
||||
local cab="$1" out="${CACHE}/extract-${2:-x}"
|
||||
rm -rf "${out}"
|
||||
mkdir -p "${out}"
|
||||
cabextract -d "${out}" "${cab}"
|
||||
find "${out}" -iname '*.ttf' -exec cp -n {} "${FONTS}/" \;
|
||||
}
|
||||
|
||||
gog_wine_check
|
||||
command -v cabextract >/dev/null || { echo "brew install cabextract"; exit 1; }
|
||||
mkdir -p "${FONTS}" "${CACHE}"
|
||||
|
||||
cmd_fetch andale32.exe "https://downloads.sourceforge.net/corefonts/andale32.exe" \
|
||||
|| cmd_fetch andale32.exe "https://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/andale32.exe" || true
|
||||
cmd_fetch arial32.exe "https://downloads.sourceforge.net/corefonts/arial32.exe" \
|
||||
|| cmd_fetch arial32.exe "https://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/arial32.exe" || true
|
||||
cmd_fetch times32.exe "https://downloads.sourceforge.net/corefonts/times32.exe" \
|
||||
|| cmd_fetch times32.exe "https://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/times32.exe" || true
|
||||
|
||||
for cab in andale32.exe arial32.exe times32.exe; do
|
||||
[[ -f "${CACHE}/${cab}" ]] && [[ "$(wc -c <"${CACHE}/${cab}")" -gt 10000 ]] \
|
||||
&& cmd_extract_cab "${CACHE}/${cab}" "${cab%.exe}" || true
|
||||
done
|
||||
|
||||
gog_wine_ensure_fonts 1
|
||||
touch "${BOTTLE_DIR}/.gog_corefonts_installed"
|
||||
echo "OK: corefonts в GOG bottle ($(ls "${FONTS}" | wc -l | tr -d ' ') файлов)"
|
||||
Reference in New Issue
Block a user