UO : KR - User Data

- The replacement for the Desktop folder explained

Guide Written By Gildar

In older version of UO, there was a folder located within your UO folder that was called the "Desktop" folder. This folder contained details about macros, gump positionings, and other character-specific settings. There was also a file called "UO.cfg" located in the UO folder that contained more general settings. All this information has now moved to a new folder within your "My Documents Folder".


Here is the layout:



Lets go through the files:

1. \badwords.lst
This is a file that lists all the words that the profanity filter will catch. Acts the same as the old badwords.lst file.

2. \ignore.lst
This is a file that lists the players you are ignoring. Acts the same as the old ignore.lst file.

3. \ChatWindowData.xml
This is a file that gives details on how your chat windows are setup.

4. \User Data\UserSettings.xml
This is a file that gives details on settings that are universal across all characters (such as window size). This is similar in function to the old UO.cfg file.

5. \User Data\(shard)\friends.lst
This is a file that lists the friends (with both their ID and their character name) you have on each shard.

6. \User Data\(shard)\(character name)
This is a file that lists character-specific settings (such as hotbar configuration).


Now then... lets tackle the file structure.
All of the ".lst" files list individual items on their own lines, and separate each readable character with a null character (or some other system character that shows as a box in WordPad but as nothing in Notepad - I haven't checked it thoroughly).
I don't know the specifics on the ignore.lst file, as that feature isn't yet fully implemented (never saves).
The badwords.lst simply lists the word to be filtered.
The friends.lst file lists the character's ID, followed by a comma, followed by their name.

All of the other files are XML, including the ones that are named after characters and have no extension.


I'll start with the ChatWindowData.xml file...
Here is my ChatWindowData file:



In this example, I have 2 chat "windows". The first chat window has the 2 default tabs in it, System and Chat, but with a few changes to what the Chat tab displays. The Chat tab is the active tab in the first chat window.

The second window only has 1 tab - a new one I labeled "Group". Group shows all guild, party, alliance, and faction text... which are no longer displayed in the default Chat tab.


We'll go through it piece by piece..



This simply says what version of ChatWindows was being used when this file was generated. It's there for 2 reasons -

1. XML specifications dictate there has to be a root node - for this file, this is the root node.
2. Backwards compatibility - if the reader for the file can know what version it is, it will be able to read it even if there is a different layout for later versions.

Don't touch these lines - they're important, and won't help you if you change them.



All pretty straightforward. 'x="#"' defines the x position (horizontal); the higher the value, the more right it will be. 'y="#"' defines the y position (vertical); the higher the value, the lower it will be. 'activeTab="#"' says which tab is currently active (which one you can see) for the window. The number of the activeTab is the ID of the tab, not the position of the tab that is active.

We'll drill into the second chat window now...



The 'id="#"' part gives a numerical identifier to the chat tab. Chat tabs are ordered (when there are more than one in a window) by their IDs. The ID of the ChatTab must be unique. The 'name="xxx"' part says what text is shown on the tab. Inside each tab are a series of "<ChatChannel id="#" /> lines - these say which chat channels are displayed in the tab. The game prevents you from having one chat channel displayed in two tabs at the moment, and from hiding a chat channel - I don't know if that is intentional or not, nor do I know what will happen if you violate that rule. I don't know the numbers for the chat channel IDs currently, but you get the name of the channel when you adjust it in game.

On to UserSettings.xml -
Anything between asterixs (*stuff*) is details I added to explain the file, not what is in the file. Any area with "..." means there is more of the same in the file.



Ok... onto the <charactername> ones: