Enhanced Client Modding


The EC is written in the programming language Lua and uses XML to control interface layout. You do not need special software to interact with either .lua or .xml file types. Notepad or another text editor will work just fine. However, some of the graphics files use Direct Draw Surface format and .dds files may not work with all image processing software. GIMP is recommended for image processing as it is both free and can work with .dds files.


Within the client's installation directory, normally something like

This PC> Local Disk (C:)> Program Files (x86)> Electronic Arts> Ultima Online Enhanced> UserInterface

is a file named Custom_UI_Documentaion.zip

Once unzipped, this file will produce a hyper-linked document providing instructions on how to modify the Enhanced Client. Open the folder the documentation was unzipped into and double-click "index.html" to load the document.


Keep in mind that the Enhanced Client is a derivative of the Kingdom Reborn Client. Kingdom Reborn began development at Electronic Arts (EA) in Redwood City, California in 2005. In 2006, EA purchased Mythic Entertainment and development of Kingdom Reborn was moved across the United States into the new acquisition's location in Virginia. At this time, Mythic Entertainment was already developing Warhammer Age of Reckoning (WAR). Between the move across the country, which caused many developers to leave the UO team, and Mythic's focus on WAR, development of Kingdom Reborn was...altered. As such, much of the "UO Custom UI Documentation" is actually for WAR's custom UI, with UO's Kingdom Reborn piggybacked onto that effort. You'll notice throughout "UO's" Custom UI Documentation references to things, such as Black Orcs, that have nothing to do with UO. These are instead things from WAR.

Since the Enhanced Client's Custom UI Documentation was originally created for Kingdom Reborn, which was built on WAR's documentation, much of the documentation doesn't actually work with the EC. Many of the functions listed simply do not exist for the EC, functions that are present in the EC are not listed, and if a function is listed in the documentation and does actually exist in the EC, that function quite often has to be tweaked to work with the EC. Recognizing all of this, the EC's Custom UI Documentation is still useful as an overview of the client and how it functions, how the client is setup programmatically, and how you can modify the client. You may still find the documentation extremely helpful, just be aware of the documentation's limits.


With the game running, you can make changes to a .lua or .xml file, save the file, and reload your interface from within the game to the see changes you've made. The default key binding to reload the interface is Control+R, but this can be remapped at the bottom of User Settings> Input.

You can also switch entire UI's while the game is running through the User Settings> Options> CustomUI menu.

Finally, you can switch languages while the game is running through the User Settings> Options> Language menu. If you are designing in English, especially .xml buttons, non-English languages may run off, or wrap, on the button. Being able to test .xml code definitions and language positions on the fly, without having to exit and reload the entire client, is a nice boon.


How to


Resources

Color Design


Image Processing Software

  • GIMP The GNU Image Manipulator Program - a free crowdsourced version of photoshop. Works with the .dds files used in UO's EC.
  • GIMP Tutorial Video Davies Media Design 10 Tips for GIMP Beginners


Software


Support


See Also