Difference between revisions of "Gta vc.set"

From GTAMods Wiki
Jump to navigation Jump to search
 
(7 intermediate revisions 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 ==
{| class="wikitable"
+
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.
! Offset || Type || Description
+
{|class="wikitable"
 +
!Type ||Description
 
|-
 
|-
| 0x000 || dword || Always 3
+
|dword ||Always 3
 
|-
 
|-
| 0x004 || variable || Controls ([[#Controls|see below]])
+
|qword[44] ||Primary controls ([[#Controls|see below]])
 
|-
 
|-
| colspan="3" | The following offset starts at 0x004 + variable
+
|qword[44] ||Secondary controls
 
|-
 
|-
| 0x000 || char[20] || <code>stuffmorestuffevenmo</code>
+
|qword[44] ||Tertiary controls
 
|-
 
|-
| 0x014 || char[20] || <code>stuffmorestuffevenmo</code>
+
|qword[44] ||Quaternary controls
 
|-
 
|-
| 0x028 || char[4] || <code>stuf</code>
+
|char[20] ||<code>stuffmorestuffevenmo</code>
 
|-
 
|-
| 0x02C || char[4] || <code>stuf</code>
+
|char[20] ||<code>stuffmorestuffevenmo</code>
 
|-
 
|-
| 0x030 || char[1] || <code>s</code>
+
|char[4] ||<code>stuf</code>
 
|-
 
|-
| 0x031 || char[1] || <code>s</code>
+
|char[4] ||<code>stuf</code>
 
|-
 
|-
| 0x032 || char[1] || <code>s</code>
+
|char[1] ||<code>s</code>
 
|-
 
|-
| 0x035 || dword || Mouse sensitivity
+
|char[1] ||<code>s</code>
 
|-
 
|-
| 0x039 || byte || Invert mouse vertically (0 = on, 1 = off)
+
|char[1] ||<code>s</code>
 
|-
 
|-
| 0x03A || byte || Mouse controlled steering (0 = on, 1 = off)
+
|byte ||''unknown''
 
|-
 
|-
| 0x03B || byte || SFX volume (1 = lowest setting, 65 = highest setting, 49 = default setting)
+
|float ||Mouse sensitivity
 
|-
 
|-
| 0x03C || byte || Music volume (1 = lowest setting, 65 = highest setting, 49 = default setting)
+
|byte ||Invert mouse vertically (0 = on, 1 = off)
 
|-
 
|-
| 0x03D || byte || MP3 volume boost (0 = default setting, 1 = lowest setting, 65 = highest setting)
+
|byte ||Mouse controlled steering (0 = on, 1 = off)
 
|-
 
|-
| 0x03E || byte || [[List of radio stations (VC)|Radio station]]
+
|byte ||SFX volume (1 = lowest setting, 65 = highest setting, 49 = default setting)
 
|-
 
|-
| 0x03F || byte || Speaker configuration (0 = 2 speakers, 1 = headphones, 2 = more than 2 speakers)
+
|byte ||Music volume (1 = lowest setting, 65 = highest setting, 49 = default setting)
 
|-
 
|-
| 0x040 || byte || Audio hardware
+
|byte ||MP3 volume boost (1 = lowest setting, 65 = highest setting, 0 = default setting)
 
|-
 
|-
| 0x041 || byte || Dynamic acoustic modeling (0 = off, 1 = on)
+
|byte ||[[List of radio stations (VC)|Radio station]]
 
|-
 
|-
| 0x042 || word || Brightness (6 = lowest setting, 256 = default, 384 = highest setting)
+
|byte ||Speakers configuration (0 = 2 speakers, 1 = headphones, 2 = more than 2 speakers)
 
|-
 
|-
| 0x044 || dword || Draw distance
+
|byte ||Audio hardware
 
|-
 
|-
| 0x048 || byte || Subtitles (0 = off, 1 = on)
+
|byte ||Dynamic acoustic modeling (0 = off, 1 = on)
 
|-
 
|-
| 0x049 || byte || Wide screen (0 = off, 1 = on)
+
|word ||Brightness (6 = lowest setting, 384 = highest setting, 256 = default)
 
|-
 
|-
| 0x04A || byte || Frame limiter (0 = off, 1 = on)
+
|float ||Draw distance (0.925 = lowest setting, 1.80 = highest setting, 1.20 = default setting)
 
|-
 
|-
| 0x04D || 256 bytes || <code>$$""</code> (rest is all '\0')
+
|byte ||Subtitles (0 = off, 1 = on)
 
|-
 
|-
| 0x14D || byte || Controls (0 = standard, 1 = classic)
+
|byte ||Wide screen (0 = off, 1 = on)
 
|-
 
|-
| 0x14E || byte || Language (0 = English, 1 = French, 2 = German, 3 = Italian, 4 = Spanish)
+
|byte ||Frame limiter (0 = off, 1 = on)
 
|-
 
|-
| 0x14F || byte || HUD mode (0 = off, 1 = on)
+
|byte ||Screen resolution
 
|-
 
|-
| 0x150 || byte || Radar mode (0 = map & blips, 1 = blips only, 2 = off)
+
|char[256] ||Skin name without file extension with null terminator (default skin = <code>$$""\0</code>)
 +
|-
 +
|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)
 
|}
 
|}
  
Line 73: Line 84:
 
* Previous weapon
 
* Previous weapon
 
* Forward (on foot)
 
* Forward (on foot)
* Backwards
+
* Backwards (on foot)
 
* Left
 
* Left
 
* Right
 
* Right
Line 105: Line 116:
 
* Target
 
* Target
 
* T key (cannot configure, network talk?)
 
* T key (cannot configure, network talk?)
* Look Up
+
* Look Up (classic)
* Look Down
+
* Look Down (classic)
Each control is between 8 to 9 bytes in size depending on the assigned button. 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. This variation makes the settings file variable in size.
+
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 ==
 
== See also ==
 +
* {{Icon|3}} [[gta3.set]]
 
* {{Icon|SA}} [[gta_sa.set]]
 
* {{Icon|SA}} [[gta_sa.set]]
  
 
{{VC-navi}}
 
{{VC-navi}}
 
[[Category:File Formats]]
 
[[Category:File Formats]]

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