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

108 lines
2.9 KiB
Markdown
Raw Normal View History

# 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.