MSVC 7.1 (cl 13.10.3077) under Wine, PE/COFF matcher with relocation verification, side-by-side diff, progress, Ghidra-seeded symbol map (15,323 functions), and the first three matched functions (/O1). Co-Authored-By: Claude Opus 5.5 <[email protected]>
28 lines
920 B
Bash
Executable File
28 lines
920 B
Bash
Executable File
#!/bin/sh
|
|
# One-time setup: fetch MSVC 7.1 (cl 13.10.3077) and check the original binary.
|
|
# Usage: tools/setup.sh [path/to/eqgame.exe]
|
|
set -e
|
|
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
|
cd "$ROOT"
|
|
|
|
if [ -n "$1" ]; then
|
|
ln -sf "$(realpath "$1")" orig/eqgame.exe
|
|
fi
|
|
|
|
if [ ! -x tools/msvc7.1/Bin/cl.exe ]; then
|
|
# Same package decomp.me uses for its "msvc7.1" compiler (the asset name says 7.0; contents are 7.1).
|
|
URL=https://github.com/OmniBlade/decomp.me/releases/download/msvcwin9x/msvc7.0.tar.gz
|
|
TMP=$(mktemp -d)
|
|
curl -fL -o "$TMP/msvc.tar.gz" "$URL"
|
|
mkdir -p tools/msvc7.1
|
|
tar -xzf "$TMP/msvc.tar.gz" -C tools/msvc7.1
|
|
rm -rf "$TMP"
|
|
fi
|
|
|
|
if ! WINEDEBUG=-all wine tools/msvc7.1/Bin/cl.exe 2>&1 | grep -q "Version 13.10.3077 "; then
|
|
echo "error: tools/msvc7.1/Bin/cl.exe is not cl 13.10.3077 (or wine is missing)" >&2
|
|
exit 1
|
|
fi
|
|
echo "MSVC 7.1 (13.10.3077): OK"
|
|
python3 tools/eq.py verify
|