Giter Site home page Giter Site logo

zeuxdev / paradoxfilecomparer Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.57 MB

Modding Tool for Crusader Kings 3. Fetches every File specified and opens them in VS Code

License: GNU General Public License v3.0

Batchfile 26.30% Python 73.70%
crusader-kings-3 python batch modding-tools

paradoxfilecomparer's Introduction

ParadoxFileComparer

What is this?

A Tool to find probably conflicting Game Files from Paradox' Crusader Kings 3 and open them in VS Code.
Despite the name, it doesn't actually compare any files for you.

This version is Basically fully functional, only things that are missing is some QoL stuff

Features

  • Allows you to find all Files of a specified type (e.g. window_character.gui or descriptor.mod) inside the Steam Workshop Folder
  • Opens those Files in VS Code for you to compare them and find Conflicts

How it Works

The Program will ask the User, which File They want to find, and then crawl through the Mods Folder with a simple .bat Program.

Every time a file matches, its path is attached to the back of a string. When no more matches are found, the String is returned back to the main program.

Then, it uses Regular Expressions to find out wether or not the found file is inside a mod that is currently active. it uses the dlc_load.json file for this.
If it isnt, the part of the string containing the path in question is discarded.

Finally, the String containing the filtered Paths is passed to VS Code to open.

You can find the source code in openfiles.py and findvalidfiles.bat

Currently Supported Games

  • Crusader Kings 3

How to use

First, ParadoxFileComparer will ask you wether or not it should open a new VS Code Instance or 'recycle' the one last used, where the files will just open right behind your last used files.
Then it will ask you for the name of the file you are searching. Please enter the file name together with the extension here.
Now wait until the Program redirects you to VS Code, where your desired files are opened!

ParadoxFileComparer currently only opens all Files in your current CK3 Launcher Playset, and only from Mods from the Steam Workshop for now, so I recommend that you create a new Playset with all those inside.
To change the current Playset, just change the Playset in the Launcher and press the Play Button. It doesn't matter wether or not the Game crashes,but from my observations, the dlc_load.json,
where your "current Playset" is stored, only gets updated when you press said Start Button.

Installation Guide

  1. Navigate to your CK3 Steam Workshop folder.
    You can usually find it inside your Steam Library Folder "SteamLibrary",
    which is usually located in the root folder of your Hard Drive, C:\ for example.
    The Path of CK3s Workshop Folder usually looks like this: .\SteamLibrary\steamapps\workshop\content\1158310\
    where \1158310\ is the Steam ID of CK3.
    You can check the ID of different Games on sites like Steamdb.info. (i wont link there, dont want to be held responsible for any icky stuff that may happen)

  2. Create a new Folder inside the Workshop Folder, you can call it "Script", "ParadoxFileFinder" or "ULMISALMIGHTY!!!", for example

  3. Copy openfiles.exe as well as findvalidfiles.bat to the newly created folder like this:

PDXFCGitExample

  1. Done!

Future Plans

Short Term Goals

  • integrate the findvalidfiles.bat into the main program
    • use paths in mod descriptor files as reference
  • specify multiple files at once to open
  • allow User to switch between "only open mods in current Profile" and "Open every Valid file"

Mid Term Goals

  • find a way to speed the program up, its currently too slow for my taste
  • add support for local mods
  • move everything out of the Steam Workshop Folder into another location
  • create a command line quick access method
    for example openfiles /n window_character.gui to open a new instance, or
    openfiles /r window_character.gui to reuse an existing one

Long Term Goals

  • move Localization to external JSON
  • add German localization

Late Long Term Goals

  • add Support for more Paradox Games in the following Priority:

    1. Stellaris
    2. Victoria 3
    3. Hearts of Iron 4
    4. Europa Universalis 4
  • localize the Program into different Languages besides English and German

What i dont plan to do

  • Automate the Conflict Finding Process. Its just waay too much out of scope for a little, i dont plan to create PDXEdit (yet)

Changelog

30/03/2022: Version 1: Release


Disclaimer

i am neither associated with, nor own any of the Following:

  • Paradox Interactive or its associates
  • Europa Universalis 4
  • Stellaris
  • Victoria 3
  • Hearts of Iron 4
  • Crusader Kings 3

paradoxfilecomparer's People

Contributors

zeuxdev avatar

Watchers

 avatar

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.