Difference between revisions of "Gta vc.set"

From GTAMods Wiki
Jump to navigation Jump to search
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:gta_vc.set}}
 
{{DISPLAYTITLE:gta_vc.set}}
The '''gta_vc.set''' file is a binary file that stores the game's configuration [[setting]]s for [[Vice City]]. It is located in the [[User files|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.
+
The '''gta_vc.set''' file is a binary file that stores the game's configuration [[SET|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 ==
 
== 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 [[wikipedia:Notepad (software)|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 <code>[[User files#Vice City|stats.txt/html]]</code> files.
+
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 [[wikipedia:Microsoft Notepad|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 <code>[[User files#Vice City|stats.txt/html]]</code> files.
{| class="wikitable"
+
{|class="wikitable"
! Type || Description
+
!Type ||Description
 
|-
 
|-
| dword || Always 3
+
|dword ||Always 3
 
|-
 
|-
| qword[44] || Primary controls ([[#Controls|see below]])
+
|qword[44] ||Primary controls ([[#Controls|see below]])
 
|-
 
|-
| qword[44] || Secondary controls
+
|qword[44] ||Secondary controls
 
|-
 
|-
| qword[44] || Tertiary controls
+
|qword[44] ||Tertiary controls
 
|-
 
|-
| qword[44] || Quaternary controls
+
|qword[44] ||Quaternary controls
 
|-
 
|-
| char[20] || <code>stuffmorestuffevenmo</code>
+
|char[20] ||<code>stuffmorestuffevenmo</code>
 
|-
 
|-
| char[20] || <code>stuffmorestuffevenmo</code>
+
|char[20] ||<code>stuffmorestuffevenmo</code>
 
|-
 
|-
| char[4] || <code>stuf</code>
+
|char[4] ||<code>stuf</code>
 
|-
 
|-
| char[4] || <code>stuf</code>
+
|char[4] ||<code>stuf</code>
 
|-
 
|-
| char[1] || <code>s</code>
+
|char[1] ||<code>s</code>
 
|-
 
|-
| char[1] || <code>s</code>
+
|char[1] ||<code>s</code>
 
|-
 
|-
| char[1] || <code>s</code>
+
|char[1] ||<code>s</code>
 
|-
 
|-
| byte || ''unknown''
+
|byte ||''unknown''
 
|-
 
|-
| float || Mouse sensitivity
+
|float ||Mouse sensitivity
 
|-
 
|-
| byte || Invert mouse vertically (0 = on, 1 = off)
+
|byte ||Invert mouse vertically (0 = on, 1 = off)
 
|-
 
|-
| byte || Mouse controlled steering (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 ||SFX volume (1 = lowest setting, 65 = highest setting, 49 = default setting)
 
|-
 
|-
| byte || Music 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 ||MP3 volume boost (1 = lowest setting, 65 = highest setting, 0 = default setting)
 
|-
 
|-
| byte || [[List of radio stations (VC)|Radio station]]
+
|byte ||[[List of radio stations (VC)|Radio station]]
 
|-
 
|-
| byte || Speakers configuration (0 = 2 speakers, 1 = headphones, 2 = more than 2 speakers)
+
|byte ||Speakers configuration (0 = 2 speakers, 1 = headphones, 2 = more than 2 speakers)
 
|-
 
|-
| byte || Audio hardware
+
|byte ||Audio hardware
 
|-
 
|-
| byte || Dynamic acoustic modeling (0 = off, 1 = on)
+
|byte ||Dynamic acoustic modeling (0 = off, 1 = on)
 
|-
 
|-
| word || Brightness (6 = lowest setting, 384 = highest setting, 256 = default)
+
|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)
+
|float ||Draw distance (0.925 = lowest setting, 1.80 = highest setting, 1.20 = default setting)
 
|-
 
|-
| byte || Subtitles (0 = off, 1 = on)
+
|byte ||Subtitles (0 = off, 1 = on)
 
|-
 
|-
| byte || Wide screen (0 = off, 1 = on)
+
|byte ||Wide screen (0 = off, 1 = on)
 
|-
 
|-
| byte || Frame limiter (0 = off, 1 = on)
+
|byte ||Frame limiter (0 = off, 1 = on)
 
|-
 
|-
| byte || Screen resolution
+
|byte ||Screen resolution
 
|-
 
|-
| char[256] || Skin name without file extension with null terminator (default skin = <code>$$""\0</code>)
+
|char[256] ||Skin name without file extension with null terminator (default skin = <code>$$""\0</code>)
 
|-
 
|-
| byte || Controls (0 = standard, 1 = classic)
+
|byte ||Controls (0 = standard, 1 = classic)
 
|-
 
|-
| byte || Language (0 = English, 1 = French, 2 = German, 3 = Italian, 4 = Spanish)
+
|byte ||Language (0 = English, 1 = French, 2 = German, 3 = Italian, 4 = Spanish, 5 = Japanese)
 
|-
 
|-
| byte || HUD mode (0 = off, 1 = on)
+
|byte ||HUD mode (0 = off, 1 = on)
 
|-
 
|-
| byte || Radar mode (0 = map & blips, 1 = blips only, 2 = off)
+
|byte ||Radar mode (0 = map & blips, 1 = blips only, 2 = off)
 
|-
 
|-
| byte || ''unknown''
+
|byte ||Map legend (0 = off, 1 = on)
 
|}
 
|}
  

Latest revision as of 14:59, 12 January 2020

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.

See also