Version 0.92
1,070 downloads
This mod fixes UI stretching that happens when playing K2 on ultrawide resolutions (21:9). In addition, even after patching the game .exe with UniWS to play in ultrawide, your character's replies are invisible, making the game impossible to play. I provide a method to fix this issue (using Hex editing).
Simply fixing the UI stretching is unsatisfactory, as the game UI is not adapted for ultrawide screens. This results in an elongated, ugly and impractical UI. The text boxes are too large,the buttons too wide and too spread out on the screen. As a result, interacting with the UI is tiresome and requires way too much eye and mouse motion. Therefore I opted to redesign the game UI so that everything is centered on the screen and easier to access. The downside is that many spots are left black, which is not visually pleasing.
I believe the letterboxing fix can be useful to people running 1366x768 and who cannot see dialogs.
Disclaimer:
This mod was only tested with the GoG version of the game (i.e. without the Aspyr patch), upscaled using UniWS to 3440x1440. I do not know how the UI files would look using either Flawless Widescreen or the Aspyr version. I have not tried any other ultrawide resolution.
The UI fix is not fully tested, and some parts of the game may still contain some stretched elements.
Installation instructions - stretched UI:
Simply download and extract ultrawide_ui_fixes.zip, then copy the files from the downloaded override folder into your game override folder.
Installation instructions - letterboxing fix:
Here is the entire procedure to properly patch your game exe so that it runs in ultrawide. We are aiming at doing 3 things:
1. Use UniWS to automatically patch your swkotor2.exe to the right resolution, following this video
2. Manually Hex edit your swkotor2.exe to play movies in your native resolution, following this video. The hidden benefit is that it will speed up your game loading because you will not have to change resolutions to play the logos movie.
3. Manually Hex edit the game to change the letterboxing scaling, restoring your ability to see dialog options in game. In K1, this was done by the excellent KotOR High Resolution Menus, but there seems to be no equivalent for K2.
Before doing any of this, backup your game exe !!
1. I will not provide any instruction for step 1 because UniWS is pretty straightforward.
2. Even though step 2 is well explaines in Xuul's video, I will provide here text instructions.
Once you have performed step 1, you need to download and install a hex editor (such as HxD). Open your swkotor2.exe with your hexadecimal editor, and look for the Hex strings:
80 02 00 00 75 15 81 3D E8 C1 80 00 E0 01
80 02 00 00 C7 44 24 10 E0 01
In both these lines, 80 02 and E0 01 are the width (respectively height) at which videos are played, in hexadecimal. You need to change them with your desired width and height.
First, use a hexadecimal converter to convert your desired width and height into hexadecimal. For the hexadecimal values to be read by the game, you need to swap the digits pair-wise for each value (if that is not clear, an example is provided below). Finally, you can replace 80 02 and E 01 by your own values in the lines above.
Example: for 3440x1440. First you convert them to hexadecimal, giving 0D 70 and 05 A0. Then you swap the two pairs of figures, giving 70 0D and A0 05. Then you just need to replace 80 02 by 70 0D, and E0 01 by A0 05. The resulting lines should look like:
70 0D 00 00 75 15 81 3D E8 C1 80 00 A0 05
70 0D 00 00 C7 44 24 10 A0 05
That was step 2. Don't close the hex editor, we still have one step to do.
3. For step 3, we need to locate the letterbox scaling value into the game exe. You need to locate the hex string
5F 70 00 00 B9 6D DB 3E 20 EE 70 00 00 A7 40 00
The value of the letterbox scaling is B9 6D DB 3E. This is too small, making the bottom part of the letterbox -hence your dialog options- invisible on ultrawide. You need to replace it with a higher value ( 4A 92 A4 3E, as suggested for widescreen by K1 HR Menus works fine, but feel free to enter your own value). You need to replace B9 6D DB 3E with 4A 92 A4 3E, giving:
5F 70 00 00 4A 92 A4 3E 20 EE 70 00 00 A7 40 00
Now save and enjoy !
Known issues:
the feat/power selection tree, at character creation or levelling up doesn't look nice and there's too much space between the icons. Unfortunately, it doesn't seem to scale like the rest of the UI, and I don't know how to fix it for now
loading screens still look stretched, the solution here is to edit the loading screens directly and not the UI
I did not rescale the pazaak screen, as I would also need to rescale the background pazaak texture for it not to be ugly
Incompatibilities:
This mod will not be compatible with any mod that alters the UI. The only I can think of right now is TSL galaxy map fix pack, at least the version which changes the planet position. My mod will put the planet positions to their vanilla spot.
Credits:
Visual KOTOR Gui Editor, an awesome tool for gui editing
KOTOR Tool, to extract game files
tpcview
KotOR High Resolution Menu for finding the letterboxing fix in K1,