Leo's Fortune Vita: Difference between revisions
More actions
No edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 2: | Line 2: | ||
|title=Leo's Fortune Vita | |title=Leo's Fortune Vita | ||
|image=LeosFortuneVita.png | |image=LeosFortuneVita.png | ||
|description=Port of Leo's Fortune for | |description=Port of Leo's Fortune for PS Vita. | ||
|author=stoicpingu | |author=stoicpingu | ||
|lastupdated=2026/05/06 | |lastupdated=2026/05/06 | ||
| Line 19: | Line 19: | ||
|image_alt=Leo's Fortune Vita | |image_alt=Leo's Fortune Vita | ||
}} | }} | ||
Loader of the Leo's Fortune Android release that allows to run it on the PS Vita. | |||
== Installation == | == Installation == | ||
=== Requirements === | === Requirements === | ||
* libshacccg.suprx | |||
* kubridge.skprx | |||
* Android game files | |||
=== Instructions === | |||
* Install [[Kubridge Vita|Kubridge]] and [[FdFix Vita|FdFix]] by copying <code>kubridge.skprx</code> and <code>fd_fix.skprx</code> to your taiHEN plugins folder (usually <code>ur0:tai</code>) and adding two entries to your <code>config.txt</code> under <code>*KERNEL</code>: | * Install [[Kubridge Vita|Kubridge]] and [[FdFix Vita|FdFix]] by copying <code>kubridge.skprx</code> and <code>fd_fix.skprx</code> to your taiHEN plugins folder (usually <code>ur0:tai</code>) and adding two entries to your <code>config.txt</code> under <code>*KERNEL</code>: | ||
<pre> *KERNEL | |||
ur0:tai/kubridge.skprx | ur0:tai/kubridge.skprx | ||
ur0:tai/fd_fix.skprx | ur0:tai/fd_fix.skprx</pre> | ||
* Note: Do not install <code>fd_fix.skprx</code> if you are using the rePatch plugin. | |||
* Make sure you have <code>libshacccg.suprx</code> in the <code>ur0:/data/</code> folder on your console. If you don't, follow [https://samilops2.gitbook.io/vita-troubleshooting-guide/shader-compiler/extract-libshacccg.suprx this guide] to extract it. | * Make sure you have <code>libshacccg.suprx</code> in the <code>ur0:/data/</code> folder on your console. If you don't, follow [https://samilops2.gitbook.io/vita-troubleshooting-guide/shader-compiler/extract-libshacccg.suprx this guide] to extract it. | ||
* Legally obtain your copy of Leo's Fortune for Android. You will need both the <code>.apk</code> and the matching expansion file (<code>main.<ver>.<package>.obb</code>). The loader is built against version 1.0.5 - that is the last release that ships an ARMv7 binary. Newer versions on the Play Store are 64-bit only and will not work. | |||
* Open the <code>.apk</code> with any zip explorer (such as [https://www.7-zip.org/ 7-Zip]) and copy the following files into <code>ux0:data/leosfortune/</code>: | |||
** <code>lib/armeabi-v7a/libLeos_fortune.so</code> > <code>ux0:data/leosfortune/libLeos_fortune.so</code> | |||
** <code>assets/pak0.pak.jet</code> > <code>ux0:data/leosfortune/pak0.pak.jet</code> | |||
* Copy the OBB expansion file and rename it to <code>main.obb</code>: | |||
** <code>main.<version>.<package>.obb</code> > <code>ux0:data/leosfortune/main.obb</code> | |||
* Install <code>leosfortune.vpk</code> from the [https://github.com/stoicpingu/leos-fortune-vita/releases Releases]. | |||
The final layout under <code>ux0:data/leosfortune/</code> should look like this: | The final layout under <code>ux0:data/leosfortune/</code> should look like this: | ||
ux0:data/leosfortune/ | ux0:data/leosfortune/ | ||
├── libLeos_fortune.so | ├── libLeos_fortune.so | ||
| Line 55: | Line 49: | ||
=== Getting the ARMv7 Build (v1.0.5) === | === Getting the ARMv7 Build (v1.0.5) === | ||
The Play Store will normally serve the 64-bit-only build, which the Vita loader cannot run. Aurora Store's device-spoofing feature can be used to force-download the older ARMv7 build. | The Play Store will normally serve the 64-bit-only build, which the Vita loader cannot run. Aurora Store's device-spoofing feature can be used to force-download the older ARMv7 build. | ||
| Line 63: | Line 56: | ||
'''Steps:''' | '''Steps:''' | ||
* Purchase Leo's Fortune on the Google Play Store using your normal Google account. | |||
* Install Aurora Store onto your Android device. | |||
* Launch Aurora Store, accept the recommended settings, and log in using the same Google Account used to buy the game. | |||
* Open the side menu in Aurora Store and select '''Spoof Manager'''. Pick an ARMv7 device from the list (the Realme 5 Pro profile works well). | |||
* Log out of your Google Account in Aurora Store, then log back in so the spoof takes effect. | |||
* Search for "Leo's Fortune" in Aurora Store and install it. Because an ARMv7 device was spoofed, Google will serve version 1.0.5 with the 32-bit <code>libLeos_fortune.so</code>. | |||
* Install an APK extractor to pull both the <code>.apk</code> and the matching OBB from your device. | |||
* Rename the <code>.apk</code> extension to <code>.zip</code>, open it, and extract <code>lib/armeabi-v7a/libLeos_fortune.so</code> and <code>assets/pak0.pak.jet</code>. | |||
* Copy those two files plus the OBB (renamed to <code>main.obb</code>) to your Vita as described above. | |||
=== Optional: Customize Language === | |||
Leo's Fortune normally follows the Vita's system language. To force a specific locale, place a one-line text file at <code>ux0:data/leosfortune/language.txt</code> containing one of: | |||
en_US ja_JP de_DE es_ES fr_FR it_IT ko_KR pt_BR ru_RU zh_CN zh_TW | |||
The short form (e.g. <code>fr</code>, <code>de</code>, <code>ja</code>) also works. Delete the file to fall back to the system language. | |||
=== Optional: Customize Controls === | |||
You can rebind any Vita button by placing a <code>controls.txt</code> file at <code>ux0:data/leosfortune/controls.txt</code>. | |||
== | Format: | ||
<pre># Comments start with # | |||
# vita_button = action | |||
cross = jump | |||
square = dive | |||
triangle = none | |||
circle = none | |||
l = none | |||
r = none | |||
start = pause | |||
select = pause</pre> | |||
'''Vita buttons:''' <code>up</code>, <code>down</code>, <code>left</code>, <code>right</code>, <code>cross</code>, <code>circle</code>, <code>square</code>, <code>triangle</code>, <code>l</code>, <code>r</code>, <code>start</code>, <code>select</code>. | |||
'''Actions:''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Action | |||
! Notes | |||
|- | |- | ||
| | | <code>jump</code> (alias <code>a</code>) | ||
| Android <code>BUTTON_A</code> — Leo's jump / confirm | |||
|- | |- | ||
| | | <code>dive</code> (alias <code>x</code>) | ||
| Android <code>BUTTON_X</code> — Leo's dive | |||
|- | |- | ||
| | | <code>b</code>, <code>y</code>, <code>l1</code>, <code>r1</code> | ||
| Other Android face / shoulder buttons (no in-game action, but can be hooked) | |||
|- | |- | ||
| | | <code>start</code>, <code>back</code>, <code>menu</code> | ||
| Standard Android system buttons | |||
|- | |- | ||
| | | <code>up</code>, <code>down</code>, <code>left</code>, <code>right</code> | ||
| D-pad keycodes — useful for mapping a face button to a direction | |||
|- | |- | ||
| | | <code>pause</code> | ||
| Opens the pause menu (calls <code>nativeBackPressed</code> directly) | |||
|- | |- | ||
| | | <code>none</code> | ||
| Disables the button entirely | |||
|} | |} | ||
== Controls == | |||
Left Analog/D-Pad - Move Leo | |||
Cross - Jump, Confirm | |||
Square - Dive | |||
Start/Select - Pause | |||
Circle - Unused in-game (rebindable) | |||
Triangle - Unused in-game (rebindable) | |||
L/R - Unused in-game (rebindable) | |||
The entire game (gameplay and menus) can be played with the Vita's front touch panel, exactly as on the original Android release. | |||
==Screenshots== | ==Screenshots== | ||
| Line 123: | Line 145: | ||
https://dlhb.gamebrew.org/vitahomebrews/images/LeosFortuneVita-04.png | https://dlhb.gamebrew.org/vitahomebrews/images/LeosFortuneVita-04.png | ||
=== Known | ==Media== | ||
* | '''Leo's Fortune - Launch Trailer''' ([https://www.youtube.com/watch?v=uXX98NbdhR0 Leo's Fortune]) <br> | ||
* | <youtube width="640">uXX98NbdhR0</youtube> | ||
* | |||
* | == Known issues == | ||
* Frame drops in some areas. The framerate dips from 60 to ~40 fps in a few "tunnel" sections. | |||
* Do not tap "Login with Google" on the title screen - it will freeze the game. Online accounts and cloud saves are not wired up on the Vita port. | |||
* Slow boot. Initial startup can take up to ~2 minutes. | |||
* Original achievements not implemented. | |||
==Changelog== | ==Changelog== | ||
| Line 143: | Line 169: | ||
== External links == | == External links == | ||
* | * GitHub - https://github.com/stoicpingu/leos-fortune-vita | ||
* VitaDB - https://www.rinnegatamante.eu/vitadb/#/info/1396 | * VitaDB - https://www.rinnegatamante.eu/vitadb/#/info/1396 | ||
[[Category:Mobile game ports on Vita]] | |||
[[Category:Vita game ports]] | |||
Latest revision as of 03:48, 14 May 2026
| Leo's Fortune Vita | |
|---|---|
| General | |
| Author | stoicpingu |
| Type | Platform |
| Version | 1.0 |
| License | MIT License |
| Last Updated | 2026/05/06 |
| Links | |
| Download | |
| Website | |
| Source | |
Loader of the Leo's Fortune Android release that allows to run it on the PS Vita.
Installation
Requirements
- libshacccg.suprx
- kubridge.skprx
- Android game files
Instructions
- Install Kubridge and FdFix by copying
kubridge.skprxandfd_fix.skprxto your taiHEN plugins folder (usuallyur0:tai) and adding two entries to yourconfig.txtunder*KERNEL:
*KERNEL ur0:tai/kubridge.skprx ur0:tai/fd_fix.skprx
- Note: Do not install
fd_fix.skprxif you are using the rePatch plugin. - Make sure you have
libshacccg.suprxin theur0:/data/folder on your console. If you don't, follow this guide to extract it. - Legally obtain your copy of Leo's Fortune for Android. You will need both the
.apkand the matching expansion file (main.<ver>.<package>.obb). The loader is built against version 1.0.5 - that is the last release that ships an ARMv7 binary. Newer versions on the Play Store are 64-bit only and will not work. - Open the
.apkwith any zip explorer (such as 7-Zip) and copy the following files intoux0:data/leosfortune/:lib/armeabi-v7a/libLeos_fortune.so>ux0:data/leosfortune/libLeos_fortune.soassets/pak0.pak.jet>ux0:data/leosfortune/pak0.pak.jet
- Copy the OBB expansion file and rename it to
main.obb:main.<version>.<package>.obb>ux0:data/leosfortune/main.obb
- Install
leosfortune.vpkfrom the Releases.
The final layout under ux0:data/leosfortune/ should look like this:
ux0:data/leosfortune/ ├── libLeos_fortune.so ├── pak0.pak.jet └── main.obb
Getting the ARMv7 Build (v1.0.5)
The Play Store will normally serve the 64-bit-only build, which the Vita loader cannot run. Aurora Store's device-spoofing feature can be used to force-download the older ARMv7 build.
You will need:
- An Android device (phone, tablet, or emulator).
- The Aurora Store APK, or the F-Droid client which can install Aurora Store.
Steps:
- Purchase Leo's Fortune on the Google Play Store using your normal Google account.
- Install Aurora Store onto your Android device.
- Launch Aurora Store, accept the recommended settings, and log in using the same Google Account used to buy the game.
- Open the side menu in Aurora Store and select Spoof Manager. Pick an ARMv7 device from the list (the Realme 5 Pro profile works well).
- Log out of your Google Account in Aurora Store, then log back in so the spoof takes effect.
- Search for "Leo's Fortune" in Aurora Store and install it. Because an ARMv7 device was spoofed, Google will serve version 1.0.5 with the 32-bit
libLeos_fortune.so. - Install an APK extractor to pull both the
.apkand the matching OBB from your device. - Rename the
.apkextension to.zip, open it, and extractlib/armeabi-v7a/libLeos_fortune.soandassets/pak0.pak.jet. - Copy those two files plus the OBB (renamed to
main.obb) to your Vita as described above.
Optional: Customize Language
Leo's Fortune normally follows the Vita's system language. To force a specific locale, place a one-line text file at ux0:data/leosfortune/language.txt containing one of:
en_US ja_JP de_DE es_ES fr_FR it_IT ko_KR pt_BR ru_RU zh_CN zh_TW
The short form (e.g. fr, de, ja) also works. Delete the file to fall back to the system language.
Optional: Customize Controls
You can rebind any Vita button by placing a controls.txt file at ux0:data/leosfortune/controls.txt.
Format:
# Comments start with # # vita_button = action cross = jump square = dive triangle = none circle = none l = none r = none start = pause select = pause
Vita buttons: up, down, left, right, cross, circle, square, triangle, l, r, start, select.
Actions:
| Action | Notes |
|---|---|
jump (alias a)
|
Android BUTTON_A — Leo's jump / confirm
|
dive (alias x)
|
Android BUTTON_X — Leo's dive
|
b, y, l1, r1
|
Other Android face / shoulder buttons (no in-game action, but can be hooked) |
start, back, menu
|
Standard Android system buttons |
up, down, left, right
|
D-pad keycodes — useful for mapping a face button to a direction |
pause
|
Opens the pause menu (calls nativeBackPressed directly)
|
none
|
Disables the button entirely |
Controls
Left Analog/D-Pad - Move Leo
Cross - Jump, Confirm
Square - Dive
Start/Select - Pause
Circle - Unused in-game (rebindable)
Triangle - Unused in-game (rebindable)
L/R - Unused in-game (rebindable)
The entire game (gameplay and menus) can be played with the Vita's front touch panel, exactly as on the original Android release.
Screenshots
Media
Leo's Fortune - Launch Trailer (Leo's Fortune)
Known issues
- Frame drops in some areas. The framerate dips from 60 to ~40 fps in a few "tunnel" sections.
- Do not tap "Login with Google" on the title screen - it will freeze the game. Online accounts and cloud saves are not wired up on the Vita port.
- Slow boot. Initial startup can take up to ~2 minutes.
- Original achievements not implemented.
Changelog
v1.0
- First Release.
Credits
- Andy "The FloW" Nguyen - original .so loader
- Rinnegatamante - VitaGL and reference ports
- Volodymyr Atamanenko - soloader-boilerplate
- GrapheneCt - PVR_PSP2, sfp2hfp, and pthread wrapper functions
- Rocroverss - vitasoguide
- codefl0w - play testing
- CatoTheYounger97 - Aurora Store ARMv7 download guide