Update README.md

This commit is contained in:
Dethrace Engineering Department 2025-07-28 12:16:46 +12:00 committed by GitHub
parent fbfcaca66b
commit a88fc9087c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 8 deletions

View File

@ -2,6 +2,11 @@
To run MSVC 4.20 outside of a non-Windows environment, you can use a Docker image and [Wine](https://www.winehq.org/)
## Original binary
We are targetting being accurate to CARM95.EXE.
- Created date: "16 October 1997"
- SHA256 hash: `c6040203856b71e6a22d2a29053a1eadd1a2ab41bce97b6031d745079bc07bdf`
## Build container image
```sh
docker buildx build --platform linux/amd64 -t msvc420-wine .
@ -9,17 +14,18 @@ docker buildx build --platform linux/amd64 -t msvc420-wine .
## Running the container
When running this container, you must pass
1. `CMAKE_FLAGS="-G Ninja -DCMAKE_BUILD_TYPE=Debug -DMSVC_42_FOR_RECCMP=on".
2. Path to the top-level dethrace directory (for example `/code/dethrace`).
3. Path to a msvc420-specific build directory (for example `/code/dethrace/build-msvc420`). This directory must exist but can start off empty. Note that this build directory _cannot be_ the same as your "regular" build directory.
4. Path to a directory with a copy of the original CARM95.EXE file (for example `/games/carma`). CARM95.EXE must match sha256 `c6040203856b71e6a22d2a29053a1eadd1a2ab41bce97b6031d745079bc07bdf`.
When running this container, you must define:
| Name | Example value | Description
|------------|----------|-------|
| `CMAKE_FLAGS` | `-G Ninja -DCMAKE_BUILD_TYPE=Debug -DMSVC_42_FOR_RECCMP=on` | Environment variable |
| `/source` | `/code/dethrace` | Volume mount. Path to the top-level dethrace directory |
| `/build` | `/code/dethrace/build-msvc420` | Volume mount. This directory must exist but can start off empty. Note that this build directory _cannot be_ the same as your "regular" build directory. |
| `/original` | `/games/carma` | Volume mount. Path to a directory with a copy of the original CARM95.EXE file |
### Generating an HTML diff
This is the primary flow for making a change to the code, recompiling it with MSVC, then viewing the diff.
After running, a `diff.html` file will be created in the build-msvc420 directory.
This is the primary flow for making a change to the code and viewing the comparison to the original executable.
```sh
docker run --platform linux/amd64 \
@ -30,3 +36,5 @@ docker run --platform linux/amd64 \
msvc420-wine -- \
reccmp-reccmp --target CARM95 --silent --html diff.html
```
After running, a `diff.html` file will be created in the build-msvc420 directory.