Grand Theft Auto: San Andreas Guide

Achieving full XBOX 360 Controller support in San Andreas for Grand Theft Auto: San Andreas

Achieving full XBOX 360 Controller support in San Andreas

Overview

This guide will let you know how to add full (and proper) XInput support to GTA San Andreas! All you need to do is to downgrade and download a modification for the game…

About GInput

Hey, what’s going on? You plugged in your PlayStation or XBOX pad in hopes that you’ll be able to play GTA on your PC just like you used to play on the console, and for some reason you can’t make the controls work properly? You can’t use full possibilities of your brand new, XInput-compatible pad? Maybe you want to refresh your childhood memories after ages of playing IV and you’re sick of the old-fashioned controls?

If any of these apply to you, GInput is the mod you’ve been looking for! This modification completely rewrites San Andreas controls handling and ditches DirectInput in favour of XInput. This way, your PlayStation 3 and XBOX 360 pads will be handled by the game just perfectly, taking advantage of all their features, including analog triggers.

But my pad works fine with latest Steam version already!

Indeed, it does work. However, XInput support introduced in November 2014 is far from perfect. Let’s show it by comparing several features from an unmodded game with features GInput brings:

Stock support
GInput
Button prompts
x (JOYx texts only)
(Xbox and PlayStation prompts)
Vibration
x
Controller remapping
x (2 presets)
Auto Mouse/Gamepad mode switch
x (needs to be switched in menu)
(automatic, seamless switch)
Pressure sensitive triggers
x
Cheats usable from gamepad
x
(all PS2/Xbox cheats present)
2P support
x
(although a 3rd party mod is needed for PS2 2P missions)

On top of that, downgrading the game (required by GInput to work) gives you all removed songs back.

Features

  • Complete XInput support, so pads are mapped to match console versions perfectly
  • Proper vibration support – something that was cut from all PC versions of the game!
  • Two different control mappings – one setup matching PS2 selectable setups and fifth one being a recreation of GTA IV controls!
  • Pad buttons in In-Game helps, replacing PC key names (depending on user’s choice, either PlayStation or XBOX buttons are shown).
  • An INI file with tons of options – including toggleable vibration, selecting controls setup, Invert Look option from console versions, axis inversion options from San Andreas and more!
  • Automatic switching between keyboard & mouse and pad controls, basing on last device input.
  • Support for Guide/PS button. The button is fully functional and can show your Steam Overlay menu if you launched the game via Steam!
  • Cheats input from the pad. Use classic PS2 cheats on PC!
  • Full co-op support in San Andreas – the game can make full use of two pads or bind the first pad to second player, so co-op can be played even if only one pad is connected.
  • Increased support for DualShock 3 controllers and SCP Driver Package – including pressure sensitive buttons and SIXAXIS accelerometers.

Downloading, Installation & Configuration

Downgrading and getting ASI Loader

First things first – in order to use GInput with Steam version, the game needs to be downgraded. Please follow the instructions from this topic in order to downgrade the game to back to 1.0 version properly:
[link]

When the game is downgraded, get the ASI Loader from the very same topic. If you have followed the instructions from forementioned topic, you probably installed it in your game.

After this is done, GInput can be downloaded from my blog:
[link]

Alternately, all downloads are still mirrored on GTAGarage:
[link]

When downloaded, the package contains:

  • models directory – contains two TXD files with PS3/XBOX styled pad buttons
  • docs directory – contains a text file with button mappings (useful if you never played the game on PS2 or never tried playing IV with a pad) and two HTML files with cheats for the pad
  • GInputSA.asicore of the modification
  • GInputSA.ini – configuration file – its possibilities will be discussed later (although they’re described in the file too)
  • ReadMe.txt – just a ReadMe file – if you’ll read this guide carefully, you don’t need to open it 😉

Installation

Easy as pie! You don’t need to do anything fancy, just extract the archive content (except ReadMe.txt and docs directory, which, obviously, aren’t required by the game to work) to your game directory (if you don’t know where your game is, open Steam -> Right click on GTA: San Andreas -> Properties -> Local Files -> Browse Local Files to locate your game directory).

If your pad doesn’t support XInput, you should try downloading any X360 controller emulator (x360ce recommended) and put it in the game folder (GInput makes use of xinput1_3.dll).

INI configuration

The modification is highly configurable. These are all the options available in GInputSA.ini:

General GInput settings:

  • Enable – Well… you shouldn’t ever really need this option, but if you’re too lazy to drag GInput out of your SA directory, you may disable it completely here.
  • DisableOnFocusLost – Setting this to 0 won’t stop the game from registering pad input when not in focus. Best to leave it enabled.
  • Vibration – This option will toggle vibration on/off.
  • CheatsFromPad – Enables cheat input from the pad – see docs/cheat_list_*.html for more info.
  • GuideLaunchesOverlay – This option will make the mod launch Steam Overlay menu by pressing Home/Guide. Has no effect at all if game is not launched by Steam.
  • ApplyMissionSpecificFixes – This option alters some of the SCM scripts so they work properly with all GInput sets It makes several missions use IV controls properly and also corrects a Dancing minigame to use correct face buttons instead of arrow keys
  • ApplyGXTFixes – This options makes GInput alter GXT entries to reflect in-game keys correctly. Without this option, some help boxes (especially when using IV controls mode) will not show correct buttons.
  • PlayStationButtons – This option will replace XBOX pad buttons with PlayStation pad buttons.
  • MapPadOneToPadTwo – Makes the first XInput pad control the second player.
  • FreeAim – Disables lock-on aim when using a pad.
  • EnableSixaxisHack – Global Sixaxis hack toggle – must be enabled for any Sixaxis features to work.

Pad-specific GInput settings:

  • ControlsSet – This option will determine what controls set game will be using. See docs/GAME CONTROLS FULL LIST.txt for available modes and their setups.
  • Southpaw – This swaps all actions bound to analog sticks, similarly to Max Payne 3/GTA V Southpaw option, so everything bound to left analog stick will be controlled by right analog stick and vice versa.
  • InvertLook – This option will invert view controls (1st person aiming and looking around).
  • SwapSticksDuringAiming – This option will switch analog sticks when aiming with a sniper. Takes effect only with IV style controls enabled (ControlsSet=2).
  • InvertLeftXAxis – This option will invert left thumbstick X axis
  • InvertLeftYAxis – This option will invert left thumbstick Y axis
  • SwapLeftAxes – This option will swap left thumbstick axes (so X axis becomes Y and Y becomes X)
  • LeftStickDeadzone – Changes the left stick deadzone – bigger value increases the deadzone.
  • LeftStickSensitivity – Changes the left stick sensitivity (in 0-200 range).
  • InvertRightXAxis – This option will invert right thumbstick X axis
  • InvertRightYAxis – This option will invert right thumbstick Y axis
  • SwapRightAxes – This option will swap right thumbstick axes (so X axis becomes Y and Y becomes X)
  • RightStickDeadzone – Changes the right stick deadzone – bigger value increases the deadzone
  • RightStickSensitivity – Changes the right stick sensitivity (in 0-200 range).

Screenshots & Video

Nines and AKs gameplay:

Dancing with the pad:

SteamSolo.com