Skip to content

Instantly share code, notes, and snippets.

@shmerl
shmerl / wine_env.sh
Last active November 3, 2023 05:15
Environment setting for custom Wine usage
#!/bin/bash
# Helper script for wine_run.sh / winetricks_run.sh
# Sets environment. See wine_run.sh for details on
# configurable variables usage.
# $wine variable is a shortcut, setting /opt/$wine for $wine_path
# But explicitly set $wine_path takes priority.
if [[ "${wine+isset}" ]] && ! [[ "${wine_path+isset}" ]]; then
wine_path="/opt/${wine}"
@shmerl
shmerl / mesa_debian_build.sh
Last active March 10, 2024 19:35
For building Mesa on Debian
#!/bin/bash
# Notes:
#
# 1. Works for tags and specific hash commits too (override mesa_branch variable with needed value).
#
# 2. By default builds for /opt/mesa-<branch> and places the result in ${HOME}/mnt/vmshare/mesa-<branch>
# You can override the build deployment location by setting dest_dir. For example this should put it right away
# in /opt/mesa-<branch>
#
@shmerl
shmerl / wine_build.sh
Last active March 21, 2024 08:22
For building Wine
#!/bin/bash
# Builds Wine
# Notes:
# 1. Targeted for usage inside a VM (use shared directory $HOME/mnt/vmshare between host and guest).
# 2. You'd need to separately push the result on the host to whatever location you want (like to /opt).
# 3. Place any manual patches in ${HOME}/build/patches
# 4 You can override the Wine repo. For example, to build Wine-wayland:
#
#!/bin/bash
# Fixing Saboteur to run on CPUs with more than 4 cores.
# Thanks to jackfuste from WSGF, who found the fix.
# Make sure you have xxd installed
game_dir="$1"
game_binary="${game_dir}/Saboteur.exe"
gog_ver_sha512='d53682d0a0973cd1dfef97d3a2b55204298b89f16ac400e29aebb6b2143903758bbbb15c82de28ef0586dbfac7fb7a407f1c7c547419602ae1e9e0e601262c8e'
patched_sha512='884df371f4ec7c6cc79d5d1e2b37191b01db7e3f66c3ed5621e54f6164b3188b66b82eba833377924388e94a53886290b50613635bc889ae46c4fac2191ad443'
#!/bin/bash
# Usage: gog_tw3_extract_music.sh <game_dir>
#
# The script relies on these utilities:
# 1. QuickBMS extractor (quickbms)
# See http://aluigi.altervista.org/quickbms.htm
# Source: http://aluigi.altervista.org/papers/quickbms_src.zip
#
# 2. Witcher 3 BMS script to be used with QuickBMS (witcher3.bms)
#!/bin/bash
# Usage: gog_system_shock_demo_extract_music.sh <data_dir>
#
# The script relies on these utilities:
# 1. Wwise BNK File Extractor.
# Source: https://github.com/eXpl0it3r/bnkextr
#
# 2. sox
#
#!/bin/bash
# Usage: gog_dex_extract_music.sh <data_dir>
#
# The script relies on these utilities:
# 1. QuickBMS extractor (quickbms)
# See http://aluigi.altervista.org/quickbms.htm
# Source: http://aluigi.altervista.org/papers/quickbms_src.zip
#
# 2. Unity BMS script to be used with QuickBMS (unity.bms)
#!/bin/bash
# Shows status of selected wine dlls (like for DX11).
# Inspired by https://www.winehq.org/winapi_stats.
# The script works best in terminals with true color support,
# but it should work with less colors as well.
function no_clr()
{
printf '\x1b[0m'
#!/bin/bash
# Analysis of obfsuscated KoTOR II audio
#
# *** Stock mp3 encoded with lame
# position of LAME : 0x09c (156)
# position of Info : 0x024 (36)
#
# *** KoTOR II obfuscated audio (using bed_001ebo.wav)
# position of LAME : 0xc7 (199)
#!/bin/bash
# Run from location where you have audio
# from the <game-dir>/streammusic directory
mp3s=(
[0-5]*.wav
mus_{a,b,t}*.wav
evil_ending.wav
credits.wav