gamelib ======= `gamelib` is a shell script for gaming on [FreeBSD](https://www.freebsd.org). ## Supported emulators: - amd64 - dolphin - dosbox - gzdoom - pcsxr - renpy - wine - wine32 (lib32 required) - i386 **\[UNTESTED\]** - dolphin - dosbox - gzdoom - pcsxr - renpy - wine ## Pre-requirements: - Running X11. - `pkg` (any version with `fetch` subcommand but **not** 1.13.1, it's broken!) installed; - Binary repo(s) with supported emulators/engines enabled; - No need to install any packages (except `pkg` itself), they'll never be used; - **\[OPTIONAL\]** amd64 with lib32 support (used by `i386-wine`); ## Setup games: ### The structure of the directory with games: - `$GAMELIB_GAMES_DIR` - `gamename/` (without spaces) - `gamelib.conf` (see below) - `game/` (place here game files) - `prefix/` (do **not** create it manually!) ### The structure of `gamelib.conf`: | Function | Description | | :---: | --- | | `prerun()` | Function that triggered any time before game run | | `prerun_first()` | Function that triggered after prefix was created | These functions available for all supported emulators/engines, even if `gamelib.conf` does not required. #### dolphin | Variable | Description | | :---: | --- | | `dolphin_file=` | GameCube/Wii disk image file (relative from the `game/`, see above) | #### dosbox | Variable | Description | | :---: | --- | | `dosbox_file=` | MS-DOS executable (relative from the `game/`, see above) | #### gzdoom | Variable | Description | | :---: | --- | | `gzdoom_file=` | WAD file (relative from the `game/`, see above) | #### pcsxr | Variable | Description | | :---: | --- | | `pcsxr_file=` | Sony PlayStation (PSX) image file (relative from the `game/`, see above) | | `pcsxr_plugins_dir=` | Absolute path to the directory with plugins, they will be symlinked to the prefix | | `pcsxr_bios_dir=` | Absolute path to the directory with bios, they will be symlinked to the prefix | #### renpy No `gamelib.conf` required. #### wine (any arch) | Variable | Description | | :---: | --- | | `wine_file=` | Microsoft Windows executable (PE32/PE32+) (relative from the `game/`, see above) | | `wine_args=` | Additional arguments for the executable | | `wine_dlls=` | Space-separated dlls that will be installed by winetricks | | `wine_settings=` | Space-separated settings that will be configured by winetricks | ## Pre-run: ``` export GAMELIB_GAMES_DIR="${HOME}/games" ``` Optional, you can set `GAMELIB_DEBUG` to enable stdout/stderr (in any case, everything will be logged to `$GAMELIB_GAMES_DIR/.gamelib/gamelib.log`): ``` export GAMELIB_DEBUG=1 ``` Then run gamelib: ``` /path/to/gamelib/gamelib help ``` ## License: This project is licensed under the terms of [2-Clause BSD](./LICENSE).