Used for Fallout 4 to fix 21:9 (or any other than 16:9) resolution problems
You will need .swf files that have already been changed (resolution wise) to look correct
For 21:9 I recommend using these: https://www.nexusmods.com/fallout4/mods/24630
The other thing that is required, is knowing which .swf files get replaced by a mod (that is not just there to fix resolution problems)
For that you should take a look in your Mod Manager and see which .swf files get replaced by mods like Horizon or FallUI and so on - copy all of these in a new folder which you will use later on as the directory for the files that need to be changed
Other mods (like Horizon, BetterConsole, ...) add additional functionalities in these files (like tags / icons)
Unless the 21:9 resolution mod is very recently built (and has compatibility with these mods) it will remove these new functionalities
There are three directories:
- Reference: The reference .swf files (for example from Truby9s mod)
- To Change: The .swf files that are loaded in your game, that have the correct functionality (but wrong resolution)
- Output: The output (as in new files with the functionality and correct resolution)
As a first step the program copies the header values for maximum y and x (which determines the resolution of the .swf file)
After that it goes through every frame of the .swf file and copies the matrix values of the objects inside those frames
(these often have changed translateX values due to the wider screen - sometimes some other stuff is changed as well)
Starting the application: java -jar SWFCopyValues.jar
Important:
Currently it requires Java 8
since at some point (Java 11
?) the JavaFX
dependency was removed and has to be added as a dependency
If your Java version is higher install Java 8
additionally and reference it directly
In my case it would then look like this: "C:\Program Files\Java\jre1.8.0_311\bin\java" -jar SWFCopyValues.jar
This is how the actual application looks like
You can see that you will have to select three directories - these are explained above
Here is an example on how it would like
This is how you decide which .swf files to change
In here you can see that the mod organizer tool shows which .swf files (stored in /interface/
) are provided by various mods (e. g. Horizon
)
Adding a mod that fixes the resoultion problems shows that it overrides these .swf files (if the load order is properly configured)
This would fix the resolution problems but remove the added features from the mods (e. g. Horizon
)
That is why these .swf files will have to be changed by this application
In this project I use the SWF-Library from https://github.com/jindrapetrik/jpexs-decompiler
If you wish to run this locally (not using the .jar in 'Releases') you will need to grab the following libraries from the project linked above:
- avi
- cmykjpeg
- flashdebugger
- gif
- gnujpdf
- graphs
- jl1.0.1
- jpacker
- LZMA
- nellymoser
- sfntly
- ttf