Difference between revisions of "User Files"
m |
m |
||
Line 11: | Line 11: | ||
This is a plain text file and can be viewed in any text editing program. | This is a plain text file and can be viewed in any text editing program. | ||
==== Header ==== | ==== Header ==== | ||
− | {{Pre | + | {{Pre|1= |
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n | -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n | ||
\t\t\tGTA VICE CITY {{Hint|STATS|FEH_STA}}\n | \t\t\tGTA VICE CITY {{Hint|STATS|FEH_STA}}\n | ||
Line 28: | Line 28: | ||
==== Body ==== | ==== Body ==== | ||
This format is outputted for each stat that is displayed in the menu. The first string placeholder is the stat name and the second one is the stat value or content. | This format is outputted for each stat that is displayed in the menu. The first string placeholder is the stat name and the second one is the stat value or content. | ||
− | {{Pre | + | {{Pre|1= |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n | ||
\n | \n | ||
Line 45: | Line 45: | ||
This is an HTML document and can be viewed on any web browser and edited by any text editing program. | This is an HTML document and can be viewed on any web browser and edited by any text editing program. | ||
==== Header ==== | ==== Header ==== | ||
− | + | {{Pre|1= | |
<title>Grand Theft Auto Vice City Stats</title>\n | <title>Grand Theft Auto Vice City Stats</title>\n | ||
<body bgcolor="#FF00CC" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10">\n | <body bgcolor="#FF00CC" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10">\n | ||
Line 63: | Line 63: | ||
<td height="20" colspan="2"><font color="#FF00CC" size="2" face="Arial, Helvetica, sans-serif"><strong>{{Hint|Criminal rating:|CRIMRA}}</strong>\n | <td height="20" colspan="2"><font color="#FF00CC" size="2" face="Arial, Helvetica, sans-serif"><strong>{{Hint|Criminal rating:|CRIMRA}}</strong>\n | ||
%s (%d)</font></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"><td height="10" colspan="2"></td> </tr>\n | %s (%d)</font></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"><td height="10" colspan="2"></td> </tr>\n | ||
− | + | }} | |
==== Body ==== | ==== Body ==== | ||
This format is outputted for each stat that is displayed in the menu. The first string placeholder is the stat name and the second one is the stat value or content. | This format is outputted for each stat that is displayed in the menu. The first string placeholder is the stat name and the second one is the stat value or content. | ||
− | + | {{Pre|1= | |
</font></strong></div></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="10" colspan="2"></td> </tr>\n | </font></strong></div></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="10" colspan="2"></td> </tr>\n | ||
<tr align="left" valign="top"><td width="500" height="22" bgcolor="#FFCCFF"><font color="#FF00CC" size="2" face="Arial, Helvetica, sans-serif"><strong>\n | <tr align="left" valign="top"><td width="500" height="22" bgcolor="#FFCCFF"><font color="#FF00CC" size="2" face="Arial, Helvetica, sans-serif"><strong>\n | ||
%s</strong></font></td> <td width="500" align="right" valign="middle" bgcolor="#FFCCFF"> <div align="right"><strong><font color="#FF00CC">\n | %s</strong></font></td> <td width="500" align="right" valign="middle" bgcolor="#FFCCFF"> <div align="right"><strong><font color="#FF00CC">\n | ||
%s | %s | ||
− | + | }} | |
==== Footer ==== | ==== Footer ==== | ||
− | + | {{Pre|1= | |
</font></strong></div></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="10" colspan="2"></td> </tr>\n | </font></strong></div></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="10" colspan="2"></td> </tr>\n | ||
</table><br><table width="560" border="0" align="center" cellspacing="0" cellpadding="5"><tr align="center" valign="middle" bgcolor="#FFCCFF"><td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><a href="http://www.rockstargames.com/vicecity">rockstargames.com/vicecity</a></font></td>\n | </table><br><table width="560" border="0" align="center" cellspacing="0" cellpadding="5"><tr align="center" valign="middle" bgcolor="#FFCCFF"><td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><a href="http://www.rockstargames.com/vicecity">rockstargames.com/vicecity</a></font></td>\n | ||
Line 82: | Line 82: | ||
</table>\n | </table>\n | ||
</body>\n | </body>\n | ||
− | + | }} | |
== San Andreas == | == San Andreas == | ||
Line 90: | Line 90: | ||
After the directory got scanned by the game the file <code>'''sa-ufiles.dat'''</code> gets created. It holds an list of unterminated strings where each represents a absolute file path of an audio file. The following C++ code snippet demonstrates an easy way to parse this file: | After the directory got scanned by the game the file <code>'''sa-ufiles.dat'''</code> gets created. It holds an list of unterminated strings where each represents a absolute file path of an audio file. The following C++ code snippet demonstrates an easy way to parse this file: | ||
− | < | + | <syntaxhighlight lang="c++">// parse sa-ufiles.dat |
void parseFile(std::string &fileName) | void parseFile(std::string &fileName) | ||
{ | { | ||
Line 131: | Line 131: | ||
return fileNames; | return fileNames; | ||
− | }</ | + | }</syntaxhighlight> |
Also there is an file called <code>sa-utrax.dat</code>, but it appears to be unused. | Also there is an file called <code>sa-utrax.dat</code>, but it appears to be unused. |
Latest revision as of 03:35, 10 July 2017
User Files is a directory created by each GTA PC game. It usually is the location of setting files, replays and savegames. The User Files directory usually is located inside the My Documents directory of the Microsoft Windows operating system:
-
%USERPROFILE%\My Documents\GTA3 User Files
or%USERPROFILE%\Documents\GTA3 User Files
-
%USERPROFILE%\My Documents\GTA Vice City User Files
or%USERPROFILE%\Documents\GTA Vice City User Files
-
%USERPROFILE%\My Documents\GTA San Andreas User Files
or%USERPROFILE%\Documents\GTA San Andreas User Files
Contents
Vice City
Vice City stores two additional files, the stats.html
and stats.txt
, that contains a dump of all statistics that can be seen in the menu. The file can be generated from the stats menu by pressing the S key. For the following formats, "\n" denotes a newline and "\t" denotes a tab character. Internally, all newline characters (0x0A) are prefixed by a carriage return character (0x0D) in order for them to be viewable on some text editing programs like Notepad. "%s" denotes a string placeholder that can change depending on the text and "%d" denotes an integer placeholder. Some text can change depending on the GXT entry. They are denoted by dotted underlines that you can hover your mouse over and see the GXT key.
stats.txt
This is a plain text file and can be viewed in any text editing program.
Header
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n \t\t\tGTA VICE CITY STATS\n -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n \n \n LAST MISSION PASSED: %s\n DATE: %s\n \n \n Criminal rating: %s (%d)\n \n \n
Body
This format is outputted for each stat that is displayed in the menu. The first string placeholder is the stat name and the second one is the stat value or content.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n \n %s\n %s\n \n
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n \n
stats.html
This is an HTML document and can be viewed on any web browser and edited by any text editing program.
Header
<title>Grand Theft Auto Vice City Stats</title>\n <body bgcolor="#FF00CC" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10">\n <table width="560" align="center" border="0" cellpadding="5" cellspacing="0">\n <tr align="center" valign="top"> \n <td height="59" colspan="2" bgcolor="#FFCCFF"><div align="center"><font color="#FF00CC" size="3" face="Arial, \n Helvetica, sans-serif">-------------------------------------------------------------------------</font><font \n size="3" face="Arial, Helvetica, sans-serif"><br>\n <strong><font color="#000000">GRAND THEFT AUTO VICE CITY STATS</font></strong><br><font\n color="#FF00CC">-------------------------------------------------------------------------</font></font></div></td> </tr>\n <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="22" colspan="2"> </td> </tr>\n <tr align="left" valign="top" bgcolor="#FFFFFF"> \n <td height="40" colspan="2"> <p><font color="#00CC00" size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#009900" size="1">DATE: \n %s</font><br> LAST MISSION PASSED: </strong>%s<strong><br></strong> </font></p></td></tr>\n <tr align="left" valign="top" bgcolor="#CCCCCC"> <td height="5" colspan="2"></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> \n <td height="10" colspan="2"></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> \n <td height="20" colspan="2"><font color="#FF00CC" size="2" face="Arial, Helvetica, sans-serif"><strong>Criminal rating:</strong>\n %s (%d)</font></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"><td height="10" colspan="2"></td> </tr>\n
Body
This format is outputted for each stat that is displayed in the menu. The first string placeholder is the stat name and the second one is the stat value or content.
</font></strong></div></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="10" colspan="2"></td> </tr>\n <tr align="left" valign="top"><td width="500" height="22" bgcolor="#FFCCFF"><font color="#FF00CC" size="2" face="Arial, Helvetica, sans-serif"><strong>\n %s</strong></font></td> <td width="500" align="right" valign="middle" bgcolor="#FFCCFF"> <div align="right"><strong><font color="#FF00CC">\n %s
</font></strong></div></td> </tr> <tr align="left" valign="top" bgcolor="#FFFFFF"> <td height="10" colspan="2"></td> </tr>\n </table><br><table width="560" border="0" align="center" cellspacing="0" cellpadding="5"><tr align="center" valign="middle" bgcolor="#FFCCFF"><td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><a href="http://www.rockstargames.com/vicecity">rockstargames.com/vicecity</a></font></td>\n <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><a href="http://www.rockstargames.com">rockstargames.com</a></font></td>\n <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"> <a href="http://www.rockstarnorth.com">rockstarnorth.com</a></font></td></tr>\n </table>\n </body>\n
San Andreas
San Andreas does also store user track information and ingame screenshots there. Also the stats.html file gets exported to this location. The user tracks themselves can be stored as shortcuts, files or subdirectories inside the directory My Documents/GTA San Andreas User Files/User Tracks
.
After the directory got scanned by the game the file sa-ufiles.dat
gets created. It holds an list of unterminated strings where each represents a absolute file path of an audio file. The following C++ code snippet demonstrates an easy way to parse this file:
// parse sa-ufiles.dat
void parseFile(std::string &fileName)
{
// open the file with reading rights and search the end of the file
std::fstream stream(fileName.c_str(), std::ios::in | std::ios::ate);
// allocate an array of characters to read the whole file content
int size = static_cast<int>(stream->tellg());
char* buffer = new char[size];
// search the start of the file and read it's content
stream->seekg(0);
stream->read(buffer, size);
// parse the content, return value is an vector of strings containing the file names
std::string str(buffer);
parseContent(str);
// delete the memory for buffering and close the stream
delete[] buffer;
stream->close();
}
// parse the content of a sa-ufiles.dat file
std::vector<std::string> parseContent(std::string& buffer)
{
// vector for the file names
std::vector<std::string> fileNames;
// search for the partition letter until there is no one left
std::size_t found;
while ((found = (buffer.find_last_of(":") - 1)) != npos)
{
// push file name to the vector
fileNames.pus_back(buffer.substr(found));
// erase this file name from the file.
buffer.erase(found);
}
return fileNames;
}
Also there is an file called sa-utrax.dat
, but it appears to be unused.
The player is able to create screenshots from the game using an camera. Those screenshots get stored as jpeg compressed images inside the directory My Documents/GTA San Andreas User Files/Gallery
.