gamelib/README.md
2024-01-11 22:55:42 +05:00

2.7 KiB

gamelib

gamelib is a shell script for gaming on FreeBSD.

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.