Skip to content

Latest commit

 

History

History
121 lines (82 loc) · 5.53 KB

README.md

File metadata and controls

121 lines (82 loc) · 5.53 KB

GTA: CTW Vita

This is a wrapper/port of Grand Theft Auto: Chinatown Wars Android for the PS Vita. The port works by loading the official Android ARMv7 executable in memory, resolving its imports with native functions and patching it in order to properly run. By doing so, it's basically as if we emulate a minimalist Android environment in which we run natively the executable as is.

Changelog

v1.2

  • Fixed issue where characters were sometimes invisible during cutscenes.
  • Improved performance by updating to latest vitaGL.

v1.1

  • Added support for different languages based on the system settings (French, German, Italian, Spanish and Japanese).
  • Reduced memory usage in order to support multitasking with System Applications.

v1.0

  • Initial release.

Setup Instructions (For End Users)

(If you have already installed the game and want to update to a newer release, you can simply install GTACTW.vpk on your PS Vita).

In order to properly install the game, you'll have to follow these steps precisely:

  • Install kubridge and FdFix by copying kubridge.skprx and fd_fix.skprx to your taiHEN plugins folder (usually ux0:tai) and adding two entries to your config.txt under *KERNEL:
  *KERNEL
  ux0:tai/kubridge.skprx
  ux0:tai/fd_fix.skprx

Note Don't install fd_fix.skprx if you're using repatch plugin

  • Optional: Install PSVshell to overclock your device to 500Mhz.
  • Install libshacccg.suprx, if you don't have it already, by following this guide.
  • Obtain your copy of Grand Theft Auto: Chinatown Wars v1.04 legally for Android in form of an .apk file and one or more .obb files (usually main.4.com.rockstargames.gtactw.obb located inside the /sdcard/android/obb/com.rockstargames.gtactw/) folder. You can get all the required files directly from your phone or by using an apk extractor you can find in the play store. The apk can be extracted with whatever Zip extractor you prefer (eg: WinZip, WinRar, etc...) since apk is basically a zip file. You can rename .apk to .zip to open them with your default zip extractor.
  • Open the apk with your zip explorer, extract the assets folder from your .apk file to ux0:data and rename it to gtactw. The result would be ux0:data/gtactw/
  • Still in the apk, extract the file libCTW.so from the lib/armeabi-v7a folder to ux0:data/gtactw.
  • Open the main.4.com.rockstargames.gtactw.obb with your zip explorer (.obb files are zip files just like .apk files so just rename the .obb to .zip) and extract the contents to ux0:data/gtactw.
  • Install GTACTW.vpk on your PS Vita.

Build Instructions (For Developers)

In order to build the loader, you'll need a vitasdk build fully compiled with softfp usage.
You can find a precompiled version here: Linux / Windows.
Additionally, you'll need these libraries to be compiled as well with -mfloat-abi=softfp added to their CFLAGS:

  • mpg123

    • Apply mpg123.patch using patch -Np0 -i mpg123.patch.

    • autoreconf -fi
      CFLAGS="-DPSP2 -mfloat-abi=softfp" ./configure --host=arm-vita-eabi --prefix=$VITASDK/arm-vita-eabi --disable-shared --enable-static --enable-fifo=no --enable-ipv6=no --enable-network=no --enable-int-quality=no --with-cpu=neon --with-default-audio=dummy --with-optimization=3
      make install
  • openal-soft

    • cd build
      cmake -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-mfloat-abi=softfp .. && make install
  • libmathneon

    • make install
  • vitaShaRK

    • make install
  • imgui-vita

    • make install
  • kubridge

    • mkdir build && cd build
      cmake .. && make install
  • vitaGL

    • make SOFTFP_ABI=1 install

Finally, in the folder of gtactw_vita, install SceLibc stubs using:

make -C libc_bridge install

After all these requirements are met, you can compile the loader with the following commands:

mkdir build && cd build
cmake .. && make

Credits

  • Rinnegatamante for porting the renderer using vitaGL and making various improvements to the port.
  • Freakler for providing LiveArea assets.
  • frangarcj, fgsfds and Bythos for graphics-related stuff.
  • CBPS/SonicMastr for PIB, which was used on earlier stages of development.
  • isage for the native audio backend for OpenAL-Soft.