Releases: Norbyte/lslib
Release v1.20.0 Beta 3
NOTE: This is a beta version; for the latest stable release, see v1.19.5 below.
Make sure you have .NET 8.0 installed: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-8.0.3-windows-x64-installer
Collada deprecation notice
Collada support is being deprecated in Blender (see https://devtalk.blender.org/t/moving-collada-i-o-to-legacy-status/34621 ).
LSLib v1.20 adds support for glTF 2.0, a more modern format which will replace Collada as the primary means to import/export Blender model and animation data.
You need to update to the latest version of the BG3 exporter plugin (https://github.com/Norbyte/dos2de_collada_exporter) to use this functionality.
Changes since Beta 2:
- Added support for Osiris v1.14 format (Patch 8 savegames)
- Setting top-level model names is now supported to glTF; this is required to be able to submeshes in resource LSF files
- Added support for meshes that are attached to the skeleton but are not deformed (eg. horns)
- OBBs (bounding boxes) are now automatically calculated for skinned bones
- Fixed bug where the rigid flag was erroneously set on imported meshes
- Fixed bug where skeleton LOD type was not set correctly
- Fixed bug where bone weights would move to a different bone after glTF export
- Fixed erroneous
"GLTF files containing multiple skeletons are not supported"
message when multiple meshes were bound to the same skeleton - Fixed bug where meshes were bound to every bone in the skeleton, not just the ones with vertex influences
Release v1.20.0 Beta 2
NOTE: This is a beta version; for the latest stable release, see v1.19.5 below.
Make sure you have .NET 8.0 installed: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-8.0.3-windows-x64-installer
Collada deprecation notice
Collada support is being deprecated in Blender (see https://devtalk.blender.org/t/moving-collada-i-o-to-legacy-status/34621 ).
LSLib v1.20 adds support for glTF 2.0, a more modern format which will replace Collada as the primary means to import/export Blender model and animation data.
You need to update to the latest version of the BG3 exporter plugin (https://github.com/Norbyte/dos2de_collada_exporter) to use this functionality.
Changes:
- Added support for importing/exporting models, skeletons and animations from glTF 2.0
- Improved detection of dummy skeletons in non-skinned meshes (a fake skeleton will no longer be exported for GR2 files with multiple meshes inside)
- Fixed bug where the sum of all bone influences could exceed 1.0 after exporting
- Fixed bug where exporting a GR2 with non-standard characters in mesh names would crash Blender
- Fixed bug where exporting a GR2 with duplicate mesh names would crash Blender
- Fixed GR2 loader not working for unseekable streams
- Fixed commandline exporter returning status code 0 when incorrect parameters were passed
- Fixed erroneous "Cannot create directory without absolute path" error on Linux
- Deprecated exporter options
ExportNormals
,ExportTangents
,ExportUVs
,ExportColors
,RecalculateNormals
,RecalculateTangents
,RecalculateIWT
,DeduplicateUVs
; these were either never used, or partially defunct - Updated stats functor definitions with newly discovered parameter names
Release v1.19.5
Make sure you have .NET 8.0 installed: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-8.0.3-windows-x64-installer
Changes:
- Fix issues when loading savegames from ZStd streams
- Fix incorrect package metadata being written when creating a V15 package
- Fix LSF serialization not working for LSFv7 without metadata
Release v1.19.4
Changes:
- Add PhysX .bin import/export tool
- Fix .wem/.bnk files being packed incorrectly in .pak files
- Add Zstd compression
- Various code simplifications
- Fix LSF adjacency data not being encoded properly
Release v1.19.3
NOTE: This is a beta version; for the latest stable release, see v1.18.7 below.
Changes:
- Fix resource leak after a failed package read
- Fix package padding logic for v7/v9 packages
- Fix package path canonicalization
- Fix savegame debug dump not working from compressed streams
- Fix NRE when a pak could not be fully loaded
- GR2: Fix QTangent normal reflections being encoded incorrectly
- VT: Fix stitching logic for partial tiles
- Validator: Add support for disabling reference validation
- Validator: Add TreasureTable.txt to parsed stats files
- Validator: General diagnostic message improvement pass
- Validator: Fix incorrect stat enumerations path
- Validator: Fix incorrect line numbers in diagnostic messages
v1.19.2
NOTE: This is a beta version; for the latest stable release, see v1.18.7 below.
Changes:
- Fixed stream truncation on zero-length inputs when using ZLibStream
- VT: Added tile deduplication optimization
- VT: Fixed bug where GTP pages may overflow to next page during build
- VT: Fixed incorrect page count in pagefile metadata
- VT: Fixed tile set being grown asymmetrically
- VT: Fixed incorrect mip count calculation
- Added various optimizations to package build process
- Added support for reading BG3-style LSX vectors/matrices
Release v1.19.0
NOTE: This is a beta version; for the latest stable release, see v1.18.7 below.
Changes:
- Added virtual texture generation; for usage instructions see: https://github.com/Norbyte/bg3se/blob/main/Docs/VirtualTextures.md
- Added stats validator tool
- Fixed game crash when loading exported GR2 animations (thanks @nicoco007)
- Fixed inaccurate vertex weights when converting from Collada to GR2 (thanks @nicoco007)
- Prevent resave of LSX files with old game versions
- Allow usage of both type ids and names when parsing new LSX Files
Release v1.18.7
IMPORTANT CHANGE:
UUID-s in LSX files generated by versions before v1.18.6 had their last 8 bytes swapped (e.g. 00a09d42-c23c-48b0-cc90-7fc6bd6c3d9e
instead of 00a09d42-c23c-48b0-90cc-c67f6cbd9e3d
). This meant that the UUID-s didn't match references found in other files. v1.18.6 changes LSX UUID format so it is now unpacked correctly. It is recommended to delete all LSX files you converted from LSF previously and re-convert them from LSF again using v1.18.6.
Changes:
- Add support for LSF v7
- Fix error when LSJ serializing certain types
Release v1.18.6
IMPORTANT CHANGE:
UUID-s in LSX files generated by versions before v1.18.6 had their last 8 bytes swapped (e.g. 00a09d42-c23c-48b0-cc90-7fc6bd6c3d9e
instead of 00a09d42-c23c-48b0-90cc-c67f6cbd9e3d
). This meant that the UUID-s didn't match references found in other files. v1.18.6 changes LSX UUID format so it is now unpacked correctly. It is recommended to delete all LSX files you converted from LSF previously and re-convert them from LSF again using v1.18.6.
Changes:
- Changed UUID format to match vanilla game
- Add commandline support for package priority (thanks @Baaleos)
- Fixed converter complaining about missing System.Memory assembly
- Fixed null reference issue while GC-ing packages
Release v1.18.5
- Added commandline conversion support for .loca files
- Fixed bugs when serializing TranslatedFSString from LSJ
- Worked around unconvertable characters when exporting to LSX -- fixes some LSF asset files not being convertable to LSX
- Handle missing version tag in XML file when converting to .loca
- Enabled X-flip export options for DAE (thanks @soleera)
- Fixed error when loading story.div.osi