Someone requested it, so here are the instructions.
Use UniWS to patch Kotor to your desired widescreen resolution. For the sake of this example, choose the 1024x768 interface regardless of whether or not it's the best suited to your chosen resolution. It doesn't matter since you'll be completely changing it anyway.
First you need to download two tools:
Kotor Tool (click download on top right of page) and
K-GFF. Kotor Tool requires .NET 1.1, which you can get
here.
1. Install Kotor Tool. K-GFF is just a simple executable, extract it somewhere where it's handy.
2. Run Kotor Tool, it will ask you to locate your Kotor install directory, do so.
3. You'll see a treeview of the files stored in Kotor's content archives. Expand
BIFs, then
gui.bif, then
GUI Elements
4. Highlight the file
mipc210x7.gui and then click the extract button, save it to somewhere handy.
Note: The various mipc2***.gui files are the different HUDs for the different resolutions. In this case, because I specified you choose the 1024x768 interface in UniWS you should extract
mipc210x7.gui. Had you chosen 1280x960 in UniWS, you'd need to extract
mipc212x9.gui, and so on.
5. Run K-GFF and open the exported file. Choose "All Files" in the file type dropdown to access it. What you'll see is a kind of ugly long list of structures with various properties. Each one of these structures corresponds to an element on the HUD. Each structure has an
EXTENT section under which you'll see 4 properties
HEIGHT, LEFT, TOP, WIDTH. These define the position, in plain old pixel values, for the hud element. Here's an example of what you're looking for; you'll be editing a lot of these:
6. Basically now you just have a bunch of busy work ahead of you. First we'll get everything lined up with the bottom of the screen. You need to scroll through the file slowly and look for anything where the
TOP value is greater than 600, which means it's one of the hud elements at the bottom of the screen. You then need to offset this value by the difference in height between the interface resolution and the resolution you're using.
For example, say your resolution is 1680x1050, since we're using the 1024x768 interface, that's a +282 pixel difference in height between the two resolutions. So you just add 282 to anything where the
TOP value is over 600. In the picture above, we'd change the
TOP value to 958 (676 + 282).
Just highlight the entry in the treeview, then type the new value in the section on the right.
7. After editing all the
TOP values you may want to save the file at this point and test it in game. All you need to do is put the file the
Override directory in your Kotor install directory (the Override directory should already exist by default).
8. Next we want to get the menu buttons and action buttons (medkits, etc) lined up with the right side of the screen. Same basic concept. Look for anything where the
LEFT value is greater than 700 and adjust by the difference between the width of the interface resolution and your chosen widescreen resolution.
Again say you're using 1680x1050, that's a +656 width difference with 1024x768. So if the
LEFT value for an entry was 840, you'd change it to 1496 (840 + 656).
9. At this point you can probably save the file and be happy. However, if you want it to be 100% perfect you'll need to adjust the combat command queue which should show up centered. Look for entries where the
LEFT value is between 400 and 600. In this case, you want to adjust by
half the difference in width.
E.g. The width difference for 1680x1050 is 656 as said above, half that is 328. If the original
LEFT value is 498, you'd change it to 826 (498 + 328).
10. Lastly, you'll also want to center the combat message box. There's two structures related to this and they both have
LEFT values of 198. Look for the
TAGs:
LBL_CMBTMSGBG and
LBL_CMBTMODEMSG. These are the first and fourth structures in the file respectively. Adjust these by
half the difference in width as you did in #9.
That's it. As described in #7, just save the file, put it in your Override directory and you'll be good to go.
------
Special notes:
-As far as I know, the interface size that you choose in UniWS affects only this on screen interface that we're editing here. It does not affect the menu screens and other 2D overlays (Pazaak, etc). In fact those are a constant size even in the normal game (and thus are tiny at high resolutions). So, if your editing the interface, it should matter what interface size you choose in UniWS as long as you work off the right interface file.
I suggest you work off the 1024x768 interface just to keep things standard. That way, theoretically, if we get edited interfaces for all the typical widescreen resolutions based on the 1024x768 file, we can just remove all the other interface options from UniWS and instead provide the appropriate files with it.
-This will not fix the missing tooltips. Haven't bothered to go through that yet, I will do so later. AFAIK the tooltips are just for the menu buttons at the top right of the screen, they're easy enough to identify by icon anway. The action buttons still have tooltips regardless.
-This is for Kotor 1 only. Kotor 2 uses dynamic hud placement which should put the icons in the correct positions even for non-standard resolutions (though they do stretch).
-Hardcoding the interface positions and providing a different file for each supported resolution is a really "ghetto" way of doing things, if you'll pardon the vernacular. I'm surprised Bioware programmed it this way. So much more inefficient and inflexible than having one resolution indepedant hud layout which then places the elements dynamically based on the active resolution - that's pretty much how every other game does it.