Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/axertheaxe/unitymain-patch
Executable to patch some Windows Unity games on Linux.
https://github.com/axertheaxe/unitymain-patch
linux patch proton reverse1999 steam unity wine
Last synced: 2 months ago
JSON representation
Executable to patch some Windows Unity games on Linux.
- Host: GitHub
- URL: https://github.com/axertheaxe/unitymain-patch
- Owner: AxerTheAxe
- License: unlicense
- Created: 2024-10-09T10:42:49.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-16T21:46:09.000Z (2 months ago)
- Last Synced: 2024-11-16T22:27:57.876Z (2 months ago)
- Topics: linux, patch, proton, reverse1999, steam, unity, wine
- Language: C
- Homepage:
- Size: 20.5 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# UnityMain Patch
Executable to patch some Windows targeted Unity games that fail to call the UnityMain function when run on Linux using Wine / Proton.
Please note that this patch is not guaranteed to fix any Unity game on Proton / Wine. Other issues may require different fixes.
**The original concept and implementation for this patch can be found [here](https://notabug.org/Krock/dawn/issues/454).**
## Games
This patch is currently known to fix the following games on Linux when ran with Proton / Wine.
* Punishing: Gray Raven
* Reverse: 1999## Installation
1. Download the `patch.exe` from [releases](https://github.com/axertheaxe/unitymain-patch/releases) or [compile from source](#Compilation).
2. Move the `patch.exe` to the location of the games executable.
3. Delete or rename the games executable.
4. Rename `patch.exe` to the original name of the games executable.**Note:** Make sure to back up the original game executable before deleting it.
## Compilation
The patch needs to be compiled with a Windows C99 compatible compiler, which can be done on Linux using a cross-compiler like [MinGW](https://www.mingw-w64.org).
### 1. Clone and enter the repository
```sh
git clone https://github.com/axertheaxe/unitymain-patch.git
cd unitymain-patch
```### 2. Compile with a cross-compiler like MinGW
```sh
mkdir -p build && x86_64-w64-mingw32-gcc src/patch.c -municode -o build/patch.exe
# or build automatically with make
make
```The resulting `patch.exe` will be in the `build` directory.
### Nix
Nix users can make use of the included flake.nix as a development shell to automatically obtain MinGW and Make for compilation alongside Wine64 for debugging.
```sh
nix develop
make
# For debugging
wine64 build/patch.exe
```## Contributing
Whether you have code to submit or want to add a game to the list of known fixes, feel free to [open an issue](https://github.com/axertheaxe/unitymain-patch/issues/new)
or [submit a pull request](https://github.com/axertheaxe/unitymain-patch/compare).## Unlicense
This project is under the [Unlicense](UNLICENSE).