• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

yvesp

Colonel
81 Badges
Apr 26, 2005
802
3
  • Europa Universalis IV: Mare Nostrum
  • 500k Club
  • Cities: Skylines
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II: Holy Knight (pre-order)
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Warlock 2: Wrath of the Nagas
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Europa Universalis 4: Emperor
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Deus Vult
  • Europa Universalis III
  • Divine Wind
  • Europa Universalis IV
  • Crusader Kings II
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Heir to the Throne
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
  • Europa Universalis: Rome
  • Rome Gold
  • Victoria 2
  • Rome: Vae Victis
  • Warlock: Master of the Arcane
This utility has been created in order to provide developpers with a high
level tool for analyzing and modifying paradox format save files. On this tools, three example programs, useful in themselves are provided with their full java source.

The tools are:

  • A Collapser that will expose the structure and content of any paradox save file by grouping together all fields belonging to similar structures (identified by name) and printing the found values associated with each field.
  • A Bride finder which will analyze a Crusader Kings save file and output the available brides depending on a set of conditions which you specify on the command line
  • A Trimmer which will purge a Crusader Kings save file from the dead characters that cannot influence the game (the dead branches a families).


The library itself provides:

  • Two parsers
  • A grammatical analyzer for paradox save files
  • Callbacks for the analyzer to filter the data out and/or build the data tree
  • Classes for manipulating the analyzed fields (reading, deleting, modifying) as well as inserting new Fields
  • Possibility to save the modified field tree as a new save file


Please, discuss it here


Version 1.1

CORRECTIONS
-----------
* Fileloader can now correctly read small files (below 8196 bytes)
* Fileloader.BufferReader now correctly reads to the last character of a file
* Fileloader.BufferReader now reads correctly 8bits characters (reminder: no support for mulitbyte character-sets)
* BaseField now writes correctly new fields
* StructField/ListField had a very minor erroneous test when writing
* Crunched a bug that made unclosed structures analyzed (wrongly) with no error

NEW FEATURES
------------
* Parsers can now read files with comments beginning by # to end of line
* When a field is not found in a template (for ordered insertion), the message states which field is missing
* new Template class used to manage the expected field order in a more natural way (that is not static in the library!)
* added constructors for BaseField taking int and float as data parameter
* added method Field.name() to easily recover the name of a field
* added method BaseField.getUnquoted() to get the unquoted value of a quoted string

CHANGES
-------
* removed template loading for class Field, as well as associated methods (see new features)
* removed the useless getSelector method from class Field
* modified method signatures for those methods that used templates


Yves
 

Attachments

  • PX.zip
    182,8 KB · Views: 1.195
Last edited: