Git Product home page Git Product logo

swfcopyvalues's Introduction

SWFCopyValues

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

Reason why we can't just use old mods that fix the resolution

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

How it works

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)

Example

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

Additional Info

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.