1
0
mirror of https://github.com/pumpitupdev/pumptools.git synced 2024-12-24 20:24:52 +01:00
pumptools/doc/hook/prihook.md

2.9 KiB

Notable features

  • Runs on recent kernel versions thanks to various fixes
  • Runs on 32-bit and 64-bit distros (64-bit distros require additional 32-bit libs to be installed)
  • Full dongle emulation
  • Remove HDD checks to run this on "non legit" drives
  • Full MK6IO emulation with API hook: Keyboard or your own custom IO
  • Real IO passthrough (for MK6 usb io)

Versions supported

All known versions supported.

Data setup

You are expected to get a clean set of data from a prestine drive. Ensure that the game version matches one of the supported versions listed.

You need two main folders:

  • data
  • settings

Data folder

Contents of the folder:

  • game: The binaries of the custom "AMFS". File names must be lower case.
  • lib: Put any libraries (especially older versions of libraries that can't be installed anymore using the package manager) the game uses and aren't installed on your system in here.
  • piu: The piu executable

Settings folder

The contents of the folder are auto generated if the files don't exist. Otherwise, this folder contains:

  • PIUPRIME.INI
  • RANK.DATA

Executable dependencies

All dependencies must be compiled as 32-bit binaries. Here is a list of dependencies (with versions) required to run the game:

  • libGL.so.1
  • libGLU.so.1
  • libasound.so.2
  • libcurl.so.4
  • libsodium.so.13
  • libusb-0.1.so.4
  • libmad.so.0
  • libmpeg2.so.0
  • libmpeg2convert.so.0
  • libftgl.so.2
  • libstdc++.so.6
  • libgcc_s.so.1
  • libc.so.6
  • libm.so.6
  • libXext.so.6
  • libX11.so.6
  • libpthread.so.0
  • libdl.so.2
  • librt.so.1
  • libnvidia-tls.so.340.96
  • libnvidia-glcore.so.340.96
  • libidn.so.11
  • libssh2.so.1
  • libssl.so.1.0.0
  • libcrypto.so.1.0.0
  • libgssapi_krb5.so.2
  • libkrb5.so.3
  • libk5crypto.so.3
  • libcom_err.so.2
  • libz.so.1
  • libusb-1.0.so.0
  • libfreetype.so.6
  • libxcb.so.1
  • libkrb5support.so.0
  • libkeyutils.so.1
  • libresolv.so.2
  • libudev.so.1
  • libbz2.so.1.0
  • libpng16.so.16
  • libharfbuzz.so.0
  • libXau.so.6
  • libXdmcp.so.6
  • libcap.so.2
  • libglib-2.0.so.0
  • libgraphite2.so.3
  • libpcre.so.1

Hook module configuration file

Checkout the usage information of the hook and set the option values according to your needs. Here is an example option configuration file:

log_file_path=/tmp/pumptools.log
log_level=3
enable_file_monitor=0
enable_io_monitor=0
piuio_emu_lib_path=/pumptools/lib/piuio-emu.so
piuio_exit_test_service=1
game_settings_path=/save/pri
sound_device=hw:0
keyboard_dev=/dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse
halt_on_segv=0

Run the game

Ensure you are running an X screen. Otherwise, you have to start one along with the game. Various library/system-calls require root privileges. Make sure to run the game as root or with sudo (otherwise you get various sorts of errors, typically permission denied). Use the included run.sh file to start the game on a desktop environment.

Further notes

Vsync

The game is required to run with vsync on.