Releases: rquinio/PortraitBuilder
Releases · rquinio/PortraitBuilder
v3.0-RC.2
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
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
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
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
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
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
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
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