Giter VIP home page Giter VIP logo

crschnick / pdx_unlimiter Goto Github PK

View Code? Open in Web Editor NEW
220.0 8.0 23.0 182.02 MB

A smart savegame manager, editor, and toolbox for all current major Paradox Grand Strategy games.

Home Page: https://discord.gg/BVE4vxqFpU

License: GNU General Public License v3.0

Java 97.88% CSS 1.37% HTML 0.12% Shell 0.25% Batchfile 0.01% Smarty 0.32% AMPL 0.06%
eu4 paradox-games paradox-interactive europa-universalis-4 europa-universalis-iv gaming ck3 stellaris crusader-kings-3 hearts-of-iron-4

pdx_unlimiter's Introduction

Discord CI

Logo

The Pdx-Unlimiter is a tool for all major Paradox Grand Strategy games that provides a powerful and smart savegame manager to quickly organize and play all of your savegames with ease. Furthermore, it also comes with an Ironman converter, a powerful savegame editor, some savescumming tools, integrations for various other great community-made tools, and full support for the following games:

  • Victoria III
  • Europa Universalis IV
  • Crusader Kings III
  • Hearts of Iron IV
  • Stellaris
  • Crusader Kings II
  • Victoria II

Download

Note that there might be some issues with Windows SmartScreen blocking the executable after downloading. If you are facing these issues, click on "More info" and then "Run anyway". You can read this StackExchange post if you want to understand why this warning pops up.

Installers

Installers are the easiest way to get started. They set up everything automatically and also come with an automatic update feature, which you can also disable in the settings if you want.

Standalone

If you don't like installers, you can also use a standalone version, which is packaged in a .zip archive. This version does not come with an update functionality, so you have to manually download new releases if you want to update.

Note that if you utilize any accessibility software, you should use the standalone version.

Features

The main components of the Pdx-Unlimiter are:

If you want to know how to use a certain feature, you can read about it in the Pdx-Unlimiter Guide. There is also a short FAQ page to answer some of your questions. If you like videos, there's now also a tutorial video on YouTube.

Savegame manager

Since keeping track of all your savegames is getting more complicated with every new savegame you start or backup you revert to, the Pdx-Unlimiter provides you with an easy-to-use interface for choosing the right save file of a campaign. This is done by collecting all savegames and creating a browsable and editable savegame history so you can load any prior saved version of a campaign. All types of savegames are supported, including Ironman and modded savegames. The smart launcher also allows you instantly continue a savegame without having to visit the Paradox Launcher or main menu.

Example

ExampleCK3

Usage guide: Savegame management

Smart launcher

The problem of playing modded savegames it that you always need to enable the right mods in the Paradox Launcher. It can become tedious to always keep track of which mods are required by which savegame. The solution to this problem is that the Pdx-Unlimiter is a smart launcher that is fully aware of which mods and DLCs are needed for a certain savegame, before you start the game.

All savegames can be launched directly from within the Pdx-Unlimiter without needing to visit the in-game main menu ever again. When you directly launch a savegame from within the Pdx-Unlimiter, the required mods and DLCs are automatically enabled without having to use Paradox launcher configurations. It is also checked whether a mod is missing or incompatible with the current version, so that nothing can potentially corrupt your savegames. This means that you never have to worry about keeping track of your mod configurations if you regularly switch between them. Skipping the main menu also saves a lot of time when loading a savegame.

Usage guide: Launching savegames

Savegame editor

The Pdx-Unlimiter also comes with a savegame editor, which can also be used as a savegame navigator to quickly find certain entries in a savegame. With this editor you can edit any file that is saved in a Paradox text format. This includes EU4 and CK3 non-ironman savegames, all Stellaris savegames, and any game data files for mods and other purposes. You can use the included Ironman converter to also edit converted Ironman savegames.

Editor

The editor supports multiple different styles of editing savegame files. The first one, the more simple version, allows you to edit already existing values for entries. It is meant for users that are new to savegame editing, is relatively user-friendly, and tries to prevent users from making savegames invalid or corrupt. The second editing style allows you to use your favourite text-editor and to completely change the data structure if wanted. Using the Pdx-Unlimiter editor has the following benefits:

  • You don't have to deal with compressed savegames, the editor does all the extracting and repackaging of zipped savegame files for you

  • The editing process is broken down into editing smaller parts of the savegame. You can still use your favourite text editor to edit smaller parts of the savegame and therefore don't have to open and edit >50 MB files in your text-editor

  • You can easily navigate the hierarchical data with filters compared to the laborious process of locating a specific entry with a text editor search function

  • The editor can visualize certain data entries and provide more context. The most prominent example would be the coat of arms preview for CK3 savegames

Usage guide: Editing savegames

Ironman converter

Internally, the Pdx-Unlimiter uses the pdx.tools melter to convert any ironman savegame into a text-based, non-ironman savegame. It provides an easy-to-use frontend for the pdx.tools Ironman converter, i.e. a graphical user interface to convert your own ironman savegames into playable and editable non-ironman savegames.

This is useful if you have ever encountered a situation in which you wanted to create a non-ironman copy of an ironman savegame, but couldn't because the games don't let you do it. You can for example use the included ironman converter to first create a non-ironman savegame and then edit it using the Savegame editor. Moreover, you can also use the in-game console when playing converted savegames.

Usage guide: Ironman Converter

Savescumming tools

The Pdx-Unlimiter allows you to create savegame checkpoints using the GUI or keyboard shortcuts while being ingame. Having a history of previous savegames of your campaign available protects you against bugs, glitches, and terrible luck that can easily ruin campaigns. You can also enable a timed checkpoint option in the settings that will automatically create a campaign checkpoint every x minutes.

If you want to load a previous savegame checkpoint, you can also kill the currently running Paradox game and load the latest save using a keystroke. This feature also allows you to easily savescum, which is kinda necessary for hard achievements.

Usage guide: Savescumming

Third party tool integration

The Pdx-Unlimiter is also built as an application that gives you easy access to many other great community-made tools. The supported tools are:

  • PDX Tools, a website to analyze and share your eu4 achievements and compete against other players. It is possible to analyze your EU4 savegames on PDX Tools with just one click without having to upload them.

  • Skanderbeg, a website to generate maps and statistics for your savegames. It is possible to upload your EU4 savegames to skanderbeg with just one click.

  • The CK3 to EU4 converter. This means that you can interact with the converter from within the Pdx-Unlimiter and basically convert any managed savegame with just one click as well.

  • The Irony Mod Manager, which can replace the mod-management capabilities of the Paradox launcher, can be designated to be used as the default launcher instead of the Paradox launcher.

Usage guide: Savegame tools

Community and Support

If you have suggestions, need help, ran into any issues or just want to talk to other friendly people, you can join the Pdx-Unlimiter Discord.

Banner

Development

To build this project, a JDK for at least Java 21 is required. You can then build the gradle project using the gradle wrapper with ./gradle/gradlew build or .\gradle\gradlew.bat build. For running, you can use ./gradle/gradlew run. Note here that the gradle wrapper has been moved into the gradle subdirectory. You can use the automatically generated file pdxu.properties, which is created when gradle is run the first time, to set some useful development options when needed.

Further, note that as this is a pretty complicated Java project that fully utilizes modularity, many IDEs still have problems building this project properly. For example, you can't build this project in eclipse or vscode as it will complain about missing modules. The tested and recommended IDE is intellij.

Any contribution is welcomed! There are no real formal contribution guidelines right now, they will maybe come later.

pdx_unlimiter's People

Contributors

crschnick avatar enzomaitan avatar hartmark avatar ikumyon avatar impo997 avatar ititus avatar l3ktro avatar sunxyw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pdx_unlimiter's Issues

Stellaris tag icon display

Since Stellaris savegames do not contain any mod information, stellaris tags that come from mods are currently not displayed.

Ctrl-Shift-I while the game is running did not import the latest saved game while the game was running

I imported a single save from a current patch game as france and decided to try out the feature. I saved manually in the game and then hit ctrl-shift-I and then went to look at the tool the see what happened and I noticed that nothing had changed about my france game... but a new game had appeared on the list on the left... an ancient save from an old incompatible patch as Desmond. I don't even know where that save resides on my hard drive, but I recall playing games as them several years ago.

Add support to change the associated text-editor in the savegame editor

Right now, the button in the savegame editor at Editor -> Change Text Editor does nothing. It should make it possible for the user to change the text editor with which they edit the .pdxt files on all supported platforms.

This can either be done with some operating system specific mechanism or alternatively allowing the user to point to the executable of the editor they want to use.

Exception while trying to trash CK3 save

Fresh install and first-run. Only CK3 (steam version) is installed and the folder was auto-detected correctly.

Repro:

  1. Click "Import Savegames"
  2. Click the bin / trash icon next to a savegame
java.lang.IllegalStateException: Not on FX application thread; currentThread = com.crschnick.pdx_unlimiter.app.game.Ck3Installation savegame watcher
	at javafx.graphics/com.sun.javafx.tk.Toolkit.checkFxUserThread(Unknown Source)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(Unknown Source)
	at javafx.graphics/javafx.scene.Parent$3.onProposedChange(Unknown Source)
	at javafx.base/com.sun.javafx.collections.VetoableListDecorator.remove(Unknown Source)
	at javafx.base/com.sun.javafx.collections.VetoableListDecorator.remove(Unknown Source)
	at javafx.controls/javafx.scene.control.DialogPane$5.invalidated(Unknown Source)
	at javafx.base/javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
	at javafx.base/javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
	at javafx.base/javafx.beans.property.ObjectProperty.setValue(Unknown Source)
	at javafx.controls/javafx.scene.control.DialogPane.setContent(Unknown Source)
	at [email protected]/com.crschnick.pdx_unlimiter.app.gui.GuiImporter.lambda$createImporterDialog$2(Unknown Source)
	at javafx.base/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source)
	at javafx.base/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
	at javafx.base/javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(Unknown Source)
	at javafx.base/javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
	at javafx.base/javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
	at [email protected]/com.crschnick.pdx_unlimiter.app.game.GameInstallation.lambda$initOptional$0(Unknown Source)
	at [email protected]/com.crschnick.pdx_unlimiter.app.util.WatcherHelper.lambda$startWatcher$3(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

Add savegame reminders

Reminders should be short notes written by the player and attached to a savegame to remind them, what to think about and what to do when resuming the savegame.

Mods marked as missing even though they're not (Option to reload mods or check them in the app)

Hello,
Thanks for the great tool here! I've loved it and I'm using it for EU4 currently. I've only had an issue regarding the mods loading in the savefile manager. The mod button in my current savefile is red, mentioning I'm missing 6 mods (all part of the Dynamic Themed Music collection); but I have them in my mod/ dir, as well can load them normally with both Irony and the PDX launcher.
I tried to:

-Uninstall and install the mods again with Steam
-Delete the mod/ folder so it gets created again by loading the PDX launcher
-And loading said campaign with the PDX launcher, to import it again in the PDX_Unlimiter app, with no success

I was wondering if there's anyway to make the PDX_Unlimiter to reload said mods or reload the savefile in order to make it work as intended. Thanks for the great work and keep it up! Let me know if I can be of help with this issue. Attached are images of the issue:
bug1
bug2

HOI4 Interface

What information should be displayed when viewing a hoi4 save?
There is a lot of space to fill and in theory everything is possible.

It currently looks like this:
hoi4_interface

Wanted: HOI4 Savegames

Here you can share your HOI4 savegames. Either upload it here in a zip or share a link to a cloud storage. You can also share these links with me on reddit.

Clarify dev build instructions

Since someone is somehow spamming my issue tracker with a misconfigured dev config, I should clarify this part more.

(If you are that person, its not your fault, its mine for not documenting better)

Update moved install location

I had PDX Unlimiter installed under D:\ProgramsHDD\

When PDX Unlimiter asked to update just now, I was first surprised that it asked for Admin confirmation, given that the folder it was in is in userland, and then after the install it was no longer there, but in C:\Program Files\ instead.

Also, it added a Desktop shortcut without asking.

Looking for someone who is interested in porting this to Mac

Note that this would be a little bit more work than just running gradle build, especially generating the installers with jlink and jpackage, adapting the file paths, and detecting and fixing platform specific issues/bugs. The Linux port had countless problems with GTK and crashes, so I don't expect everything to work smoothly on Mac.

But if you are still interested, I can assist you with basically everything listed here.

Add mod support

Currently, there is no mod support or even checking if mods are installed

Question: Aggressive expansion

I've been working on something that reads eu4 save files for a completely different purpose. I was wondering if you figured out how Aggressive Expansion was saved? I couldn't find anything online. I thought maybe in opinion_cache but if so I can't seem to figure it out.

Thanks.

Windows SmartScreen

Windows SmartScreen blocks the pdxu installer even though I signed it.

Solution: ?

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.