Skip to content

frangarcj/ff3_vita

Repository files navigation

Final Fantasy 3 Vita

This is a wrapper/port of Final Fantasy 3 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.

Setup Instructions (For End Users)

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 Final Fantasy 3 legally from the Google Play store in form of an .apk file and one or more .obb files (usually located inside the /sdcard/android/obb/com.square_enix.android_googleplay.FFIII_GP/) 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.
  • Copy the .obb file to ux0:data/ff3 and rename it to main.obb
  • Open the apk and extract libff3.so from the lib/armeabi-v7a folder to ux0:data/ff3.
  • Install FF3.vpk on your PS Vita.
  • Optional (Opening Video Playback): Extract from the apk, the file res/raw/opening.mp4 and convert it to 1280x720 (ffmpeg can be used for this task with the command ffmpeg -i opening.mp4 -vf scale=1280x720 output.mp4). Once converted, copy it to ux0:data/ff3 named as opening.mp4.

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:

  • libmathneon

    • make install
  • vitaShaRK

    • make install
  • kubridge

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

    • make SOFTFP_ABI=1 NO_DEBUG=1 NO_TEX_COMBINER=1 MATH_SPEEDHACK=1 PHYCONT_ON_DEMAND=1 install
  • opensles

    • cd libopensles
      make install

Finally, you'll need these libraries recompiled with -mfloat-abi=softfp from vitasdk/packages:

  • sndfile
  • SDL
  • icu4c

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

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

You can also use vitasdk/vitasdk-softfp with Docker. See compilation.yml.

Credits

  • TheFloW for the initial arm elf loader.
  • Rinnegatamante for vitaGL, companion app and fixes.
  • Darthbellic for providing LiveArea assets.