The ability to run the KotOR games in custom resolutions has existed for a few years now. Personally, I have patched KotOR I and II to run in a 1920x1080 widescreen resolution, and many other people have done the same, with various resolutions. However, despite these patches, no matter what the game is patched to run in, the games' .bik movies do not run in the patched resolution. They merely upscale to fit the width of the screen. For KotOR II, which is the subject of this post, the vanilla non-HQ movies play in an awful 640x272 and upscale from there, maintaining the 640x272 aspect ratio of ~2.353:1 until they are the width of the screen, with ugly black bars on the top and bottom of the movies.
Late last year, in this LucasForums thread
, I pieced together the method to getting KotOR II to run the .bik movies in different resolutions -- in my case, 1920x1080. This thread will explain that method, and should allow anyone to force the game to run the movies in the same resolution that their game is patched to.
WARNING: This modification requires the hex editing of KotOR II's executable. Also, while it works, it is not without flaws -- frequently, when the game starts to play a movie, it will, for some reason, switch to the desktop, and you'll have to switch back to the game. I am not sure as to why this happens, and don't know of any way to fix it. But, that is the price to be paid if you want better movies. It is a minor inconvenience.
KotOR I suffers from the same problem, but I do not know how to fix that as I do not know the relevant hex values in the executable for the first game. It is possible that they are identical to KotOR II's, in which case these instructions can be applied to KotOR I as well, but I have yet to test that. EDIT: I have confirmed that the values for KotOR I's executable are, unfortunately, not the same as KotOR II's. If anyone has any idea how to go about finding these values, please let me know.
Remember to back up any and all files that you will be altering in case something goes wrong.
Things you'll need:
- The KotOR II no-CD patch -- If you've already patched your game to run in a custom resolution, then you've already gotten the no-CD patch, because the normal executable isn't editable. I can't link to the no-CD patch since it's technically illegal, but it is easily found via Google.
- The official KotOR II HQ movies patch -- I have been told that the Steam version comes with this already installed with the game. I have the Steam version, but I downloaded it anyways. It's available on KotORFiles. Here is part 1. There are 6 parts in total.
- RAD Video Tools -- this program is used to output the HQ movies to your desired resolution. Download here.
- HxD Hex Editor -- You will need a hex editor to edit the game's executable. Any will work, but HxD is the one I used, and it's free. Download here.
Now, the instructions.
Step 1: First, make sure you've backed up everything that you'll be editing. I suggest creating a folder entitled "Backup" inside your KotOR II directory, in which you can put swkotor2.exe and any other important files, although the executable is really the only one that is at risk of being screwed up by a mistake.
Step 2: Create a folder entitled something like "Outputted Movies" and put it somewhere like your desktop. It doesn't really matter where; the desktop is probably the best place. You'll be deleting it once you're finished, as it will no longer be needed.
Step 3: Install the official KotOR II HQ movies patch. This will overwrite many of the files in your \Movies directory with higher quality ones.
Step 4: Get the no-CD patch for KotOR II (can't link here as stated above, use Google) and patch your game to run in whatever resolution you want. Instructions on how to do that can be found online and will not be given here so as to reduce the size of this post. I'm sure most people reading this have already done this step eons ago, anyways.
Step 5: If you haven't already, download and install the RAD Video Tools linked above.
Step 6a: Now, the fun stuff begins. You'll need to use RAD Video Tools to convert all of KotOR II's .bik movies to your desired resolution. Depending on the power of your computer, this can take a significant amount of time. As there are several dozen .bik movies, those of you with weaker computers may have to wait several hours for the video files to be converted. To convert the files, open RAD Video Tools and navigate to your KotOR II installation directory, and then open the Movies subfolder. Select all of the .bik movies. My \Movies subfolder, for example, has 70 files. Some of you may have fewer than that; I have 70 because I have TSLRCM and M4-78EP installed.
Step 6b: Now that you've selected all of the files, click "Bink it!" in the lower left corner of the RAD Video Tools window. A new window should open wherein you can select the output settings. Under "Browse," select the desktop folder we created earlier called "Outputted Movies." All of the converted movies will now be outputted there. Under "Input video settings," enter your desired resolutions. I, for example, put 1920 in the width boxes and 1080 in the height boxes. Unselect "Compress audio;" it's not necessary. Click "Bink" on the right-hand side.
Step 7: Now you play the waiting game. Wait for the movies to be converted.
Step 8: Once the movies have been outputted to your desktop folder, copy and paste them to your KotOR II's Movies folder (e.g. C:\Program Files (x86)\Steam\steamapps\common\Knights of the Old Republic II\Movies). Select yes when asked to overwrite. Once all the files are in place, you can delete the "Outputted Movies" folder from your desktop; it has served its purpose.
Step 9: Install HxD (or any hex editor, really) and open swkotor2.exe, located in your KotOR II installation directory. Here comes the only complex part of these instructions.
You will need to find the following hex values and edit them to match your desired resolution. Change the bolded resolution pairs to your desired widescreen resolution. Remember to flip the order of the hexadecimal values.
For example, 1920 is 0x780 in hexadecimal. I would flip the order (ignoring the x) and enter 1920 as "8007." 1080 is 0x438, and thus, it would be entered as "3804."
The first hex values you must edit are:
00 00 75 15 81 3D E8 C1 80 00 E0 01
The first bolded pair (80 02) corresponds to the resolution width. The second bolded pair (E0 01) corresponds to the resolution height.
So, for example, if I wanted to use a 1920x1080 resolution it would look like this...
00 00 75 15 81 3D E8 C1 80 00 38 04
Now, search again for the following hex values:
00 00 C7 44 24 10 E0 01
Repeat the process detailed in the first part of this step with the bolded pairs.
So, if I am using a 1920x1080 resolution, it would look like this...
00 00 C7 44 24 10 38 04
Step 10: Most people have probably already done this, but if you haven't, it's vital: open the file swkotor2.ini with Notepad in your KotOR II directory and change the width and height under [Display Options] and [Graphics Options] to whatever your custom resolution is.
That's it! Assuming everything worked correctly, your KotOR II movies should now play full-screen, with no ugly black bars on the top and bottom. Enjoy the fixed movies, and leave any questions/comments/concerns/feedback you have below. I will update this thread in the future if I find that these instructions work for KotOR I, or to correct any mistakes.
UPDATE: Thanks to Kainzorus Prime, who found the necessary info to edit the hex of KotOR I:
Originally Posted by Kainzorus Prime
I've been looking into the K1 version of this fix, and found it at a Russian Bioware fansite, and later confirmed it it with WSGF information.
Hex coordinates of default 640x480 forced movie resolution:
80 02 00 00 75 15 81 3D D8 D1 78 00 E0 01
Hex coordinates of modded 1920x1080 movie resolution:
80 07 00 00 75 15 81 3D D8 D1 78 00 38 04
Second default coordinates:
80 02 00 00 C7 44 24 10 E0 01
Second modded coordinates:
80 07 00 00 C7 44 24 10 38 04
Additional: Some people reported the game minimizing during the cinematics with a widescreen resolution. The solution to that is relatively simple - creating a shortcut on the desktop and setting the compatibility mode to "Windows XP with Service Pack 3" will eliminate the minimizing.