gta_vc.set
The gta_vc.set file is a binary file that stores the game's configuration settings for Vice City. It is located in the User Files directory. The game automatically generates this file with default settings if it is missing. Each time a setting has been changed within the game menu, the file changes immediately.
Format
Oddly, any settings that begins with a value of 0x0A will be padded with the prefix 0x0D. This means that the settings file can vary in size. For example, if a screen resolution is 0x0A, then the game will prefix and save the value as 0x0D0A. Even with floating-point values which are in little-endian order, if it starts with 0x0A it will still be prefixed, e.g. 0x0AD7233B (0.0025 in little-endian order) will be prefixed and saved as 0x0D0AD7233B. This is most likely a programming quirk. On some text editing programs like Notepad, a carriage return character (0x0D) followed by a line feed character (0x0A) is required in a plain text file to view newlines in those programs. Notepad cannot view the settings file anyways so this prefixing is useless. An example of this not being a quirk is in Vice City's stats.txt/html
files.
Type | Description |
---|---|
dword | Always 3 |
qword[44] | Primary controls (see below) |
qword[44] | Secondary controls |
qword[44] | Tertiary controls |
qword[44] | Quaternary controls |
char[20] | stuffmorestuffevenmo
|
char[20] | stuffmorestuffevenmo
|
char[4] | stuf
|
char[4] | stuf
|
char[1] | s
|
char[1] | s
|
char[1] | s
|
byte | unknown |
float | Mouse sensitivity |
byte | Invert mouse vertically (0 = on, 1 = off) |
byte | Mouse controlled steering (0 = on, 1 = off) |
byte | SFX volume (1 = lowest setting, 65 = highest setting, 49 = default setting) |
byte | Music volume (1 = lowest setting, 65 = highest setting, 49 = default setting) |
byte | MP3 volume boost (1 = lowest setting, 65 = highest setting, 0 = default setting) |
byte | Radio station |
byte | Speakers configuration (0 = 2 speakers, 1 = headphones, 2 = more than 2 speakers) |
byte | Audio hardware |
byte | Dynamic acoustic modeling (0 = off, 1 = on) |
word | Brightness (6 = lowest setting, 384 = highest setting, 256 = default) |
float | Draw distance (0.925 = lowest setting, 1.80 = highest setting, 1.20 = default setting) |
byte | Subtitles (0 = off, 1 = on) |
byte | Wide screen (0 = off, 1 = on) |
byte | Frame limiter (0 = off, 1 = on) |
byte | Screen resolution |
char[256] | Skin name without file extension with null terminator (default skin = $$""\0 )
|
byte | Controls (0 = standard, 1 = classic) |
byte | Language (0 = English, 1 = French, 2 = German, 3 = Italian, 4 = Spanish, 5 = Japanese) |
byte | HUD mode (0 = off, 1 = on) |
byte | Radar mode (0 = map & blips, 1 = blips only, 2 = off) |
byte | Map legend (0 = off, 1 = on) |
Controls
This is a list of all controls in order of appearance in the settings file. The names are taken from the game menu.
- Fire
- Next weapon
- Previous weapon
- Forward (on foot)
- Backwards (on foot)
- Left
- Right
- Zoom in
- Zoom out
- Enter+exit
- Change camera
- Jump
- Sprint
- Look behind
- Crouch
- Action
- Forward (in car)
- Backwards (in car)
- Radio
- Horn
- Submission
- Handbrake
- Look left (on foot, classic)
- Look right (on foot, classic)
- Look left (in car)
- Look right (in car)
- ? (cannot configure)
- Look left+Turret L
- Look right+Turret R
- Turret + Lean Up
- Turret + Lean Down
- Next target (classic)
- Previous target (classic)
- Center camera (classic)
- Target
- T key (cannot configure, network talk?)
- Look Up (classic)
- Look Down (classic)
Each control is between 8 to 9 bytes in size depending on the prefixing of 0x0D to 0x0A. There are a total of four sections for primary, secondary, tertiary, and quaternary controls, and each section has a total of 44 possible controls, although there are only 38 contiguous controls listed above.