Giter Club home page Giter Club logo

twom_vita's Introduction

TWoM Vita

This is a wrapper/port of This War of Mine and This War Of Mine: Stories - Father's Promise for the PS Vita.

The port works by loading the official Android ARMv7 executables in memory, resolving their imports with native functions and patching them 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.

Notes

This port, as specified before also, can be used to run This War Of Mine: Stories - Father's Promise as well. Check the Setup Instructions paragraph to understand how to set it up. There also is support for all DLCs of base game (Season Pass and The Little Ones). You can find more information regarding this contents in the DLCs Support paragraph.

Changelog

v1.0

  • Initial release.

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 This War of Mine legally for Android in form of an .apk file and one or more .obb files (usually com.elevenbitstudios.twommobile.obb located inside the /sdcard/android/obb/com.elevenbitstudios.twommobile/) 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.
  • Open the apk with your zip explorer and extract the file libAndroidGame.so from the lib/armeabi-v7a folder to ux0:data/twom.
  • Rename com.elevenbitstudios.twommobile.obb to main.obb and place it inside ux0:data/twom.
  • Optional: The vpk supports This War of Mine: Stories - Father's Promise as well. In order to install and play it, open its relative apk and place the file libAndroidGame.so from the lib/armeabi-v7a folder inside ux0:data/twom renamed as libAndroidGameStories.so.

DLCs Support

DLCs for This War of Mine can be enabled by editing a config file named settings.cfg located inside ux0:app/TWOM00000. We strongly encourage to enable support for these contents solely if you possess these contents on your Android device. Sadly, we have no way to propose a license check on Vita against your purchased in-game contents on Android, so show respect and support 11 bit studios first before proceeding. Open the file ux0:app/TWOM00000/settings.cfg and change enable_dlcs=0 to enable_dlcs=1.

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: https://github.com/vitasdk/buildscripts/actions/runs/1102643776.
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
  • kubridge

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

    • make SOFTFP_ABI=1 SAMPLERS_SPEEDHACK=1 SAMPLER_UNIFORMS=1 NO_DEBUG=1 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.
  • gl33ntwine for the Livearea assets.

twom_vita's People

Contributors

rinnegatamante avatar theofficialflow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

twom_vita's Issues

LUA Direct Launch

Hey there.

First of all, I would like to thank you for your work in porting this awesome game to the Vita.
I cannot fathom how hard it must have been and the time it must have took you to do so.

Thank you.

Regarding my issue:
I am currently using a custom launcher - HexFlow Custom (HFC) - which is a continuation of HexFlow and my goal was to have as a clean interface as possible.

Thus, I edited the app.db file and hid all bubbles, apart from HFC.
HFC auto loads the selected game once it's selected and by default, TWOM loads the main executable and NOT TWOM:Stories.

Since I no longer have the TWOM bubble, I do not have a "break" in the main menu that allows me to choose which version (normal or Stories) of the game I launch.

I tried pushing the PSVita button to access the menu and press "Stories" from there, but I keep getting redirected to the main banner.

Most Android ports have more than one banner, but as far as I can tell, they are mostly configuration ones, which I never touch upon, seeing as default options work perfectly for me.
So far, to my knowledge, the only one that has an extra banner which redirects to a whole new game is TWOM.

That being said, I tried to workaround this issue by trying to make a little separate bubble that could launch straight to TWOM:Stories (so it could easily be accessed by HexFlow Launcher) using your Lua Player Plus. I tried this:

System.executeUri("psgm:play?titleid=TWOM00000&param=psla:stories")

but it doesn't seem to work. Do you know what would be able to launch into TWOM:Stories?

Thank you in advance.

Best regards,
Bruno.

Resolution/scaling problem

I downloaded this port and the text in this game is so tiny. How can you change resolution/scaling in such apps?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.