More actions
Line 705: | Line 705: | ||
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 | 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</pre> | make install</pre> | ||
</div></li></ul> | </div></li></ul> | ||
Line 718: | Line 714: | ||
<pre>cd build | <pre>cd build | ||
cmake -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-mfloat-abi=softfp .. && make install</pre> | cmake -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-mfloat-abi=softfp .. && make install</pre> | ||
</div></li></ul> | </div></li></ul> | ||
Line 731: | Line 722: | ||
<pre>make install</pre> | <pre>make install</pre> | ||
</div></li></ul> | </div></li></ul> | ||
Line 744: | Line 730: | ||
<pre>make install</pre> | <pre>make install</pre> | ||
</div></li></ul> | </div></li></ul> | ||
Line 757: | Line 738: | ||
<pre>make install</pre> | <pre>make install</pre> | ||
</div></li></ul> | </div></li></ul> | ||
Line 771: | Line 747: | ||
<pre>mkdir build && cd build | <pre>mkdir build && cd build | ||
cmake .. && make install</pre> | cmake .. && make install</pre> | ||
</div></li></ul> | </div></li></ul> | ||
Line 784: | Line 755: | ||
<pre>make SOFTFP_ABI=1 SHARED_RENDERTARGETS=1 DRAW_SPEEDHACK=1 SAMPLERS_SPEEDHACK=1 NO_DEBUG=1 install</pre> | <pre>make SOFTFP_ABI=1 SHARED_RENDERTARGETS=1 DRAW_SPEEDHACK=1 SAMPLERS_SPEEDHACK=1 NO_DEBUG=1 install</pre> | ||
</div></li></ul> | </div></li></ul> |
Revision as of 12:26, 25 November 2022
GTA: SA Vita | |
---|---|
File:Gtasavita.jpg | |
General | |
Author | TheOfficialFloW |
Type | Action |
Version | 2.1 |
License | MIT License |
Last Updated | 2021/08/28 |
Links | |
Download | |
Source | |
GTA: SA Vita is a port of Grand Theft Auto: San Andreas for PSVITA/PSTV based on the Mobile (Android) version of the game.
Requirements
- libshacccg.suprx (use ShaRKBR33D to install)
- kubridge.skprx v.0.3 or higher
- fd_fix.skprx OR repatch_ex.skprx
- Game Data Files: Android
Description
This is a wrapper/port of Grand Theft Auto: San Andreas Android for the PS Vita with lots of custom patches such as:
- Fixed camera controls for flying vehicles (including the Hydra jet).
- Fixed broken facial expressions.
- Fixed cheats hash key table.
- Removed specular lighting on pedestrians.
- Added PS2-like rendering.
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.
Media
Screenshots
Setup Instructions (For End Users)
(If you have already installed the game and want to update to a newer release, you can simply install GTASA.vpk on your PS Vita).
In order to properly install the game, you'll have to follow these steps precisely:
- Install kubridge.skprx and fd_fix.skprx by copying
kubridge.skprx
andfd_fix.skprx
to your taiHEN plugins folder (usuallyux0:tai
) and adding two entries to yourconfig.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: San Andreas v2.00 legally (
com.rockstargames.gtasager
is not supported!) for Android in form of an.apk
file and one or more.obb
files (usuallymain.8.com.rockstargames.gtasa.obb
andpatch.8.com.rockstargames.gtasa.obb
located inside the/sdcard/android/obb/com.rockstargames.gtasa/
) 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 toux0:data
and rename it togtasa
. The result would beux0:data/gtasa/
. - Still in the apk, extract the file
libGTASA.so
from thelib/armeabi-v7a
folder toux0:data/gtasa
. - Open the
main.8.com.rockstargames.gtasa.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 toux0:data/gtasa
. - Same as before, open the
patch.8.com.rockstargames.gtasa.obb
with the zip explorer and extract the contents inside the zip toux0:data/gtasa
. - Download the gamefiles.zip and extract the contents to
ux0:data/gtasa
(overwrite if asked). - Optional: For a more authentic console experience, copy the file
ux0:data/gtasa/data/360Default1280x720.cfg
toux0:data/gtasa/
and rename it from360Default1280x720.cfg
toAdjustable.cfg
. This file is a leftover from the Xbox 360 version and provides you the console HUD (e.g. radar on bottom left). - Install GTASA.vpk on your PS Vita.
If you have followed the steps correctly, this is how your ux0:data/gtasa
folder should look like.
Configurator App
After fully installing the port, you'll be able to configure it with the Configurator app.
The Configurator app will allow users to enable or disable a set of optimizations, patches and renderer alterations to best match users taste.
You can launch the Configurator app by clicking on the Configuration
button located on the LiveArea section of the port as shown in the following screenshot.
Tips and Tricks
Gameplay
- You can input PC cheats by pressing L + SELECT to open the on-screen keyboard. See CHEATS section for available and unavailable cheats (you can input cheat codes in lowercase as well as uppercase).
- The L2/R2 buttons are mapped to the rear touchpad on the top and the L3/R3 buttons are mapped to the front touchpad on the bottom. With v1.2 and higher, you can map L2/R2 to the front touchpad on the top.
- You can open the map by holding START and then releasing.
- You can get local freeroam coop and rampages working by replacing the main scripts with those of the PS3 version. See COOP dection.
- Due to expired licensing, some songs were cut from the game. See MUSIC section for a list of removed tracks and a guide on how to restore them.
- To properly take off during Learning to Fly mission, retract your landing gear by pressing RIGHT.
Performance
- In order to reduce occasional stutters in-game, delete both
ux0:data/gtasa/scache_small_low.txt
andux0:data/gtasa/scache_small.txt
, then create a copy of theux0:data/gtasa/scache.txt
file to have two version of it. (for examplescache(1).txt
so in the end you end up with bothscache.txt
andscache(1).txt
inside theux0:data/gtasa/
folder), then renamescache.txt
toscache_small.txt
andscache(1).txt
toscache_small_low.txt
. This will however make the loading screen longer since it needs to compile more shaders ahead.- If the folder
ux0:data/gtasa/cache
contains much more than 300 files, it's recommended to delete the folder and have it rebuilt.
- If the folder
- In order to save storage on your Memory Card, you can safely delete all files in sub-folders of
ux0:data/gtasa/texdb
which end with:.dxt.dat
,.dxt.tmb
,dxt.toc
.etc.dat
,.etc.tmb
,etc.toc
Cheats
Available Cheats
You can input PC cheats by pressing L + SELECT to open the on-screen keyboard. You can input cheat codes in lowercase as well as uppercase. Note that a few cheats have been removed from the Android (Vita port) version.
No. | Description | Cheat Code | Hash |
---|---|---|---|
1 | Weapon Set 1 | ThugsArmoury | 0xDE4B237D |
2 | Weapon Set 2 | ProfessionalsKit | 0xB22A28D1 |
3 | Weapon Set 3 | NuttersToys | 0x5A783FAE |
4 | Health, Armor, $250k | INeedSomeHelp | 0xEECCEA2B |
5 | Wanted level 2 stars | TurnUpTheHeat | 0x42AF1E28 |
6 | Clear wanted level | TurnDownTheHeat | 0x555FC201 |
7 | Sunny weather | PleasantlyWarm | 0x2A845345 |
8 | Very sunny weather | TooDamnHot | 0xE1EF01EA |
9 | Overcast weather | DullDullDay | 0x771B83FC |
10 | Rainy weather | StayInAndWatchTV | 0x5BF12848 |
11 | Foggy weather | CantSeeWhereImGoing | 0x44453A17 |
12 | Faster gameplay | SpeedItUp | 0xB69E8532 |
13 | Slower gameplay | SlowItDown | 0x8B828076 |
14 | Peds attack other (+ get golf club) | RoughNeighbourhood | 0xDD6ED9E9 |
15 | Have a bounty on your head | StopPickingOnMe | 0xA290FD8C |
16 | Spawn Rhino | TimeToKickAss | 0x43DB914E |
17 | Spawn Bloodring Banger | OldSpeedDemon | 0xDBC0DD65 |
18 | Spawn Hotring A | NotForPublicRoads | 0xD08A30FE |
19 | Spawn Hotring B | JustTryAndStopMe | 0x37BF1B4E |
20 | Spawn Romero | WheresTheFuneral | 0xB5D40866 |
21 | Spawn Stretch | CelebrityStatus | 0xE63B0D99 |
22 | Spawn Trashmaster | TrueGrime | 0x675B8945 |
23 | Spawn Caddy | 18Holes | 0x4987D5EE |
24 | Blow up all cars | AllCarsGoBoom | 0x2E8F84E8 |
25 | Suicide | GoodbyeCruelWorld | 0x0D5C6A4E |
26 | Pink traffic | PinkIsTheNewCool | 0x66516EBC |
27 | Black traffic | SoLongAsItsBlack | 0x4B137E45 |
28 | Fat player | WhoAteAllThePies | 0x3A577325 |
29 | Max muscle | BuffMeUp | 0xD4966D59 |
30 | Skinny player | LeanAndMean | 0x5FD1B49D |
31 | Elvis is everywhere | BlueSuedeShoes | 0xA7613F99 |
32 | Peds attack you with rockets | AttackOfTheVillagePeople | 0x1792D871 |
33 | Beach party | LifesABeach | 0xCBC579DF |
34 | Gang members everywhere | OnlyHomiesAllowed | 0x4FEDCCFF |
35 | Gangs controls the streets | BetterStayIndoors | 0x44B34866 |
36 | Ninja theme | NinjaTown | 0x2EF877DB |
37 | Slut magnet | LoveConquersAll | 0x2781E797 |
38 | Cheap cars | EveryoneIsPoor | 0x2BC1A045 |
39 | Expensive cars | EveryoneIsRich | 0xB2AFE368 |
40 | Spawn Hydra | JumpJet | 0x1A5526BC |
41 | Spawn Vortex | IWantToHover | 0xA48A770B |
42 | Always midnight | NightProwler | 0x7F80B950 |
43 | Stop game clock orange sky | DontBringOnTheNight | 0x6C0FA650 |
44 | Thunder storm | ScottishSummer | 0xF46F2FA4 |
45 | Sand storm | SandInMyEars | 0x70164385 |
46 | Mega jump | Kangaroo | 0x885D0B50 |
47 | Infinite health | NoOneCanHurtMe | 0x151BDCB3 |
48 | Infinite oxygen | ManFromAtlantis | 0xADFA640A |
49 | Get parachute | LetsGoBaseJumping | 0xE57F96CE |
50 | Get jetpack | Rocketman | 0x040CF761 |
51 | Never wanted | IDoAsIPlease | 0xE1B33EB9 |
52 | Six wanted stars | BringItOn | 0xFEDA77F7 |
53 | Riot mode | StateOfEmergency | 0xF53EF5A5 |
54 | Funhouse theme | CrazyTown | 0xF2AA0C1D |
55 | Adrenaline mode | TakeAChillPill | 0xF36345A8 |
56 | Weapon aiming while driving | IWannaDriveBy | 0xB7013B1B |
57 | Country traffic | HicksVille | 0x31F0C3CC |
58 | Max stamina | ICanGoAllNight | 0xF01286E9 |
59 | Hitman level for all weapons | ProfessionalKiller | 0xA841CC0A |
60 | Max driving skills | NaturalTalent | 0x31EA09CF |
61 | Spawn Hunter | OhDude | 0xE958788A |
62 | Spawn Quad | FourWheelFun | 0x02C83A7C |
63 | Spawn Tanker Truck | HitTheRoadJack | 0xE49C3ED4 |
64 | Spawn Dozer | ItsAllBull | 0x171BA8CC |
65 | Spawn Stunt Plane | FlyingToStunt | 0x86988DAE |
66 | Spawn Monster | MonsterMash | 0x2BDD2FA1 |
And if you are wondering which PC cheats are not available for the Android (Vita port) version, here's a list:
No. | Description | Cheat Code | Hash |
---|---|---|---|
1 | Faster clock | TimeJustFliesBy | 0xFCFF1D08 |
2 | Everyone armed | SurroundedByNutters | 0x3484B5A7 |
3 | Invisible cars | WheelsOnlyPlease | 0x1A9AA3D6 |
4 | Insane handling | StickLikeGlue | 0xE842F3BC |
5 | All green lights | DontTryAndStopMe | 0x74D4FCB1 |
6 | Aggressive drivers | AllDriversAreCriminals | 0xB01D13B8 |
7 | Boats fly | FlyingFish | 0x78520E33 |
8 | Cars fly | ChittyChittyBangBang | 0xFA8DD45B |
9 | Huge bunny hop | CJPhoneHome | 0x8DED75BD |
10 | Smash n' boom | TouchMyCarYouDie | 0xB07D3B32 |
11 | All cars have nitro | SpeedFreak | 0x80C1E54B |
12 | Cars float away when hit | BubbleCars | 0x5DAD0087 |
13 | (Unknown) | JQNTDMH | 0x00000000 |
14 | Mega punch | StingLikeABee | 0x8CA870DD |
15 | Never get hungry | IAmNeverHungry | 0x9A629401 |
16 | Infinite ammo | FullClip | 0x8990D5E1 |
17 | Reduced traffic | GhostTown | 0xCAEC94EE |
18 | Recruit anyone (9mm) | WannaBeInMyGang | 0xB3B3E72A |
19 | Recruit anyone (AK 47) | NoOneCanStopUs | 0xC25CDBFF |
20 | Recruit anyone (rockets) | RocketMayhem | 0xD5CF4EFF |
21 | Lock respect at max | WorshipMe | 0x680416B1 |
22 | Lock sex appeal at max | HelloLadies | 0xCF5FDA18 |
23 | Prostitutes pay you | JQNTDMH | 0x00000000 |
24 | All taxis have nitrous | JQNTDMH | 0x00000000 |
25 | Spawn Rancher | DoughnutHandicap | 0x00000000 |
26 | Cars on water | JQNTDMH | 0x00000000 |
Credits
- gtagmodding who provided the list.
Music
Removed Songs
No. | Station | Song |
---|---|---|
1 | Playback FM | Ultramagnetic MC’s - Critical Beatdown |
2 | Radio Los Santos | 2 Pac - I Don’t Give A f*ck |
3 | Compton’s Most Wanted - Hood Took Me Under | |
4 | NWA - Express Yourself | |
5 | Bounce FM | Fatback - Yum Yum |
6 | Roy Ayers - Running Away | |
7 | The Gap Band - You Dropped A Bomb On Me | |
8 | KDST | Tom Petty - Running Down A Dream |
9 | Joe Cocker - Woman to Woman | |
10 | K-JAH West Radio | Black Harmony - Don’t Let It Go to Your Head |
11 | Blood Sisters - Ring My Bell | |
12 | Radio:X | Ozzy Osbourne - Hellraiser |
13 | Rage Against the Machine - Killing in the Name | |
14 | Master Sounds 98.3 | Charles Wright - Express Yourself |
15 | The Blackbyrds - Rock Creek Park | |
16 | James Brown - Funky President | |
17 | Macer & The Macks | |
18 | James Brown - The Payback | |
19 | The JB’s - Grunt |
Prerequisites
- Firstly, you have to get the missing files. Use a disk version that has the cut songs, or downgrade your Steam/Rockstar Launcher copy. You can find how to do that online.
- Download SAAT 1.10 by alcy and extract it.
- Download SAAF by nick7 build 239 and extract it.
- Download FFMPEG release essentials and extract in your SAAT target directory.
- Download ffmpeg_convert_gtasa.bat (rightclick -> Save as) and copy it to your SAAT target directory.
Restoring The Cut Songs
- Once you have an older version of the game, copy the
STREAMS
audio folder to the saat folder you extracted. - Use the command prompt on the directory you extracted the files to. Hold Shift and right click the saat directory, and choose CMD or Powershell. Then use the command
.\saat_stream.exe -e .\STREAMS\* .\input
in the oppened console. - It will export them as
track_001.ogg
,track_002.ogg
etc, to the input folder our .bat folder will use. - Convert them with the ffmpeg conversion script, by copying both the script and ffmpegs exe files into the SAAT directory, and double clicking the ffmpeg_convert_gtasa.bat file, or running it in the open console window.
- You can change Volume levels and MP3 VBR quality preset by changing
volume=0db
and-q:a 2
in the ffmpeg commands, but the defaults are solid. The mobile game only supports mono mp3s.
- You can change Volume levels and MP3 VBR quality preset by changing
- After the conversion, compress the converted
.mp3
files in the newly created output folder, into.zip
files for each folder meaningCH
,DS
,RJ
, etc, and compression set to "store" with 7z or WinRAR. - Rename the file extension from
.zip
to.osw
for each one of them but leave their original name untouched. For example:DS.osw
,CH.osw
, etc. - Use SAAF by nick7 to open each
.osw
file, it'll create an.osw.idx
file. - Finally, after creating the
.osw.idx
files for each one of them, just copy all of the.osw
with their.osw.idx
files to theSTREAMS
folder on your vita inux0:data/gtasa/audio/STREAMS
and overwrite if asked.
COOP
- To get local freeroam coop and rampages working you will need to replace the main scripts with those of the PS3 version:
- Keep in mind that saves made with the old files will be incompatible with a game using the new files and vice-versa.
- Obtain
mainPS3.scm
andscriptps3.img
from the/PS3_GAME/USRDIR/PS3Data.obb -> /data/script
folder of a PS3 copy. In order to extract the.obb
file rename it to.zip
and use your favorite archive extractor. - Rename the files to
mainV1.scm
andscriptv1.img
and copy them to bothux0:data/gtasa/data/
andux0:data/gtasa/data/script/
replacing both original files in both directories each time. - To use the multiplayer functionality navigate to a corresponding marker (a list can be found here Marker locations ). You will have to have another controller connected via Bluetooth and set up as controller number 2 (you can configure that via the qick menu, accessible by holding the PS-Button on that controller once connected).
- On a PSVita (as opposed to on a PSTV) you will also need to use MiniVitaTV to connect the controller in the first place.
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:
-
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
-
cd build cmake -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-mfloat-abi=softfp .. && make install
-
make install
-
make install
-
make install
-
mkdir build && cd build cmake .. && make install
-
make SOFTFP_ABI=1 SHARED_RENDERTARGETS=1 DRAW_SPEEDHACK=1 SAMPLERS_SPEEDHACK=1 NO_DEBUG=1 install
Finally, in the folder of gtasa_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
Changelog
(v.2.1)
- Changed some button actions to on press (e.g. jump).
- Made minor improvements. Thanks to adjutantt.
- Updated to latest vitaGL.
(v.2.0)
- Fixed original bug where ITB and the gym treadmill could not be used. Thanks to adjutantt.
- Added version to bubble.
(v.1.9)
- Fixed issue where some peds were invisible.
- Improved performance by using a draw speedhack in vitaGL.
(v.1.8)
- Updated to latest vitaGL which fixed a lot of bugs found during Bully development.
(v.1.7)
- Added controls mapping configuration through the companion app. Thanks to Rinnegatamante.
- Updated to latest vitaGL which improved performance.
(v.1.6)
- Added a few optimizations.
- Fixed free aim option.
- Disabled auto landing gear deployment/retraction. Thanks to adjutantt.
- Moved plane rudder control to GetTurret. Thanks to XirXes.
Please remove the ux0:data/gtasa/cache folder (containing .gxp files). Shaders will be recompiled (which will take a few minutes the first launch).
(v.1.5)
- Added option to allow cut radio songs to play.
- See Music Section for how to restore removed songs.
- Added MP3 fuzzy seek option to improve loading speed.
- Added custom codes to activate mobile cheats:
- "THEFLOW" - Invincibility
- "RINNEGATAMANTE" - Weapon set 4
- Fixed mixed cheat codes.
- Fixed plane rudder controls.
- Improved the "Resume" menu entry to load the latest save (manual and auto save).
- Selecting the "Quit Game" menu entry will now create a quick-save which can be loaded via the "Resume" menu entry.
- Improved performance by redirecting mpg123 to our own library.
- Improved performance by using better algorithms in vitaGL.
(v.1.4)
- Updated openal for better performance. Thanks to isage.
- Fixed crash when selecting japanese/russian language. Thanks to adjutantt.
- Improved control scheme. Thanks to XirXes and darthbellic.
(v.1.3)
- Added ability to remap controls with ux0:data/gtasa/controls.txt. Thanks to PoisonPoisonPoison.
- Added default vita-enhanced controls schema by darthbellic.
- Added support for co-op rampage missions when using PS3 scripts. See Tips and Tricks for instructions.
- Added option to enable high detail player textures.
- Switched to OpenAL-SDL for better performance.
(v.1.2)
- Fixed memory leak in vitaGL leading to corrupted textures.
- Added ability to map L2/R2 to the front touchpad on the top. Thanks to adjutantt.
(v.1.1)
- Changed to Xbox 360 buttons mapping (while keeping PS3 icons).
- Fixes fighting moves
- Allows switching target using L2/R2.
- Changes bunny hop from double X to L1.
- Fixed rain and classic shadows rendering.
- Improved loading speed. Thanks to Graphene.
- Fixed thread scheduling. Thanks to Graphene.
- Fixed crash on exit.
- Removed redundant mobile controls menu entries.
(v.1.0)
- First Release.
Credits
- Rinnegatamante for porting the renderer using vitaGL, providing the companion app and making various improvements to the port.
- aap for porting PS2-rendering aka skygfx.
- 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.
- psykana for patching the scripts and making various improvements to the port.
- XirXes and shadowknight for the audio conversion script.
- JonathanERC and gtagmodding for the Cheat List.