Skip to content

Releases: rquinio/PortraitBuilder

v3.0-RC.2

03 Sep 20:54
Compare
Choose a tag to compare

This is another work-in-progress to add support for Mono runtime (in addition to .NET runtime) #3

  • Fix some hardcoded Windows path separtors for portability to Linux/Mac
  • Fix MacOS determination, as C# API isn't reliable
  • Fix log4net console appender failing on Unix
  • Upgrade SharpZipLib to 1.0-rc2 #11
  • Fix duplicated custom characteristics
  • Exclude some vanilla gfx files with known parsing errors (mapitems.gfx, fonts.gfx, ...)
  • Switch gamedir (binary) to gamedir.txt (text format) for easy edition

v3.0-RC.1

03 Sep 20:54
Compare
Choose a tag to compare

This is a work-in-progress to add support for Mono runtime (in addition to .NET runtime). #3

  • Switch from CSharpImageLibrary (incompatible with Mono) to dds-reader (a C# rewrite of DevIL)
  • Remove Costura/Fody (incompatible with Mono), and use a lib sub-folder to group dlls
  • Fix some hardcoded Windows path separtors for portability to Linux/Mac
  • Support CK2 binary lookup with names ck2.app (Mac) and ck2 (Linux)
  • Support CK2 default user directories on Linux/Mac
  • Upgrade target to .NET 4.6

v2.5.0

27 Jan 18:21
Compare
Choose a tag to compare

This release is a minor update for CK2 2.8, and includes a new selective randomization feature.

  • Add labels for new vanilla 2.8 properties (p14 makeup, p15 makeup2, p16 jewelry and p17 immortality)
  • Add new 2.8 government frames
  • Allow selection of characteristics to update when clicking randomize button
  • Read mod directory from userdir.txt file in Steam CK2 folder, if any
  • Prevent crash when mod directory doesn't exist
  • Support unquoted values for spriteType name and texturefile
  • Show incompatible mods as disabled in the list, with the reason in tooltip (archived mods, no portrait data or invalid path)

v2.4.0

07 Mar 22:25
Compare
Choose a tag to compare

This release adds support for clothing propertyType override used for societies in CK2 2.7

  • Support for clothing propertyType override, replacing sprites used by culture-indexed layers (c0->c5)
  • Support for a variable number of properties, with dynamic creation of characteristic combo-boxes in the UI #1
  • Improve error reporting when parsing portraits.gfx when parsing string into integer or byte
  • Allow non-ordered flags in propertyType layers
  • Fix randomization that was never using the last frame
  • Solve some eye-related rendering issues caused by attempting to read pixels outside of the width/height of the source image #4

v2.3.0

03 Sep 20:14
Compare
Choose a tag to compare

This release adds support for the new maimed traits properties from CK2 2.6.1

  • Support for mask (p12) and eyepatch (p13) new characteristics
  • Add dropdowns for head (p2), d5 and d10 characteristics, in case used by mods
  • Disable dropdown if sprite has only 1 frame (e.g. p2)
  • Remove randomization when dna/properties 'letter' is 0 , and use index 0 instead
  • 'letter' 0 is now used in output dna/properties strings with index 0, instead of (max - 1)

v2.2.0

03 Jul 17:56
Compare
Choose a tag to compare

This release adds governments support, as well as file watchers on mod files.

UI:

  • Add government dropdown
  • Add some tooltips to UI controls

Engine:

  • Implement override logic for religious and merchant special sprites
  • Add file watchers to mod content, in order to auto-refresh in case of changes
  • Add some safeties to .mod file parsing
  • Add unhandled exceptions handlers in application

Code re-factoring:

  • Upgrade dependencies and use NuGet to retrieve them
  • Switch DDS lib from DevIL to CSharpImageLibrary
  • Generate .pdb to always have line numbers for exceptions
  • Use Costura.Fody to embed dependencies in assembly

v2.1.0

25 Jun 16:18
Compare
Choose a tag to compare

This release adds mods support.

UI:

  • Use better icon
  • Add DLC/mod tabs
  • Add "Toggle All" and "Reload" buttons for content.
  • Keep selected portraitType when enabling DLC/mod
  • Use 2 tabs instead of 3, and move hair/eye color to DNA tab
  • Move PORTRAIT_ prefix as a label for portraitType dropdown
  • Add d/p codes in labels
  • Add warning for properties overridden via portrait_properties.txt
  • Rename Earl to Count
  • Add dropdown for Player (p11), used in certain mods
  • Disable dropdown when a dna/property is not used by any portraitType layer, rather than adding index 0-26.

Engine:

  • Split DLCs so they can be activated separately
  • Support rendering from multiple mods
  • Parse vanilla/DLCs/mods portrait data only once during startup
  • Avoid unzipping DLCs at startup if not needed (use Reload button to force refresh)
  • Filter files to unzip from DLC, to reduce loading time & size.
  • Allow content to only contain sprites in gfx/characters/, without portraitTypes
  • Fix bug were duplicate portraitType definition would not override previous one (byzantinegfx)
  • Fix load order of assets that was using vanilla instead of mod
  • Optimize memory usage, by unloading assets when reloading/unchecking content
  • Catch parsing failures at spriteType / portraitType level

Code re-factoring:

  • Simplify code structure within a single project
  • Separate class concerns to have smaller files
  • Adapt class namespaces to match new folder structure
  • Replace redundant CustomFlags by proper characteristics

v2.0.0

25 Jun 16:16
Compare
Choose a tag to compare

This release brings compatibility with vanilla changes on portraits since 2012.

  • Compatibility with vanilla 2.5.2
  • Update lookup of ck2.exe to CK2game.exe
  • Support for offsets (inline and external)
  • Support for extra proprty p11 (player overlay)
  • Support for DLCs. Disable buggy mod loading, for now.
  • Replace poorly usable BrowseFolderDialog by an OpenFileDialog, to locate CK2 .exe
  • Rework the logging, using log4net, with various log levels
  • Append the version to the window title
  • Add an icon to the .exe
  • Remove code duplication, and general cleanup of the code
  • Fix some gfx parsing errors
  • Try/catch around some bad .dds files like western_male_eyes2.dds that cause exceptions