-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Right now, HAT installation is done through simple scripts (batch script for Windows, shell script for Linux). These script have some issues due to lacking functionalities (export to default MONOMODDED_FEZ.exe, or even lack of proper game launching without further tinkering, as it is explained by #22). On top of expanding those scripts, I think it would be best to develop a standalone multi-platform executable for handling the entire installation process, as well as handling all of potential edge cases.
Here's what I'm thinking - the installer will be mainly delivered as a single executable for target platform, optionally including its dependencies if someone wants to have an offline installation. Once it's launched, it does the following:
- Attempts to find FEZ installation directory (where
FEZ.exeis located). If path could not be located, return an error. In the future, external application could use that error to ask user for specific path. Following paths should be considered, in given order:- Path given as a command line parameter
- Current working directory (launching installer in FEZ directory should point to it)
- Search in
steamapps/common - Search in default installation directory for all platforms.
- Checks if dependencies (HAT binaries, MonoMod, Mono dependencies for Linux) are available, and if not, downloads them.
- Patch game's executable with MonoMod.
MONOMODDED_FEZ.exeshould be the output of that operation. - Rename
MONOMODDED_FEZ.exetoHAT.exeand change its icon. - For Linux, modify launch scripts and create a MonoKickstart copy for HAT launching purposes.
I imagine it could land into a separate repository. Once it's done and functional, scripts from this repository could be removed, and instead replaced with a detailed manual installation process one can follow if they decide not to use automated installer.