Skip to content

Releases: Dexesttp/hkxpack

Beta 0.1.6

11 Nov 13:10
f2b33e1
Compare
Choose a tag to compare
Beta 0.1.6 Pre-release
Pre-release

Beta 0.1.6

Scope

Fixed issue with Int64 and UInt64 values that couldn't fit into a 32-bit value.

Additions

None

Fixes

  • Long values were truncated on read and write (#21)
  • Missing error message in cases where internal classes are not supported (#19)
  • Codebase updates
    Fixed bitrot, formatted all files using the Eclipse formatter (for consistent styling).

Notes

The project had bitrot on two points :

  • A Maven update broke the versioning system, which has been changed. An explicit maven command is now required to change the version number (see #20 for more details)
  • Part of the Java 8 NIO API had some downcasting issues on .position() and such which need explicit casts on the newer versions. This made it so the project could not be executed on the latest versions

Beta 0.1.5

06 Nov 14:08
Compare
Choose a tag to compare
Beta 0.1.5 Pre-release
Pre-release

Beta 0.1.5

Scope

Fixed issue with hclVolumeConstraintMx, which should be the last remaining known issue in HKXPack.

Additions

None

Fixes

  • Updated hclVolumeConstraintMx to match the actual bloc sizes.

Notes

None

Beta 0.1.4

08 Oct 22:21
Compare
Choose a tag to compare
Beta 0.1.4 Pre-release
Pre-release

Beta 0.1.4

Scope

Some additions to the core of HKXPack, and general codebase improvements, are useful in a stability patch without any changes in the HKXPack tool interface and behavior.

Additions

  • Added HKX file input/output with ByteBuffer
    Philjord, via the Pull Request #11, added a way to read a file given as a java.nio.ByteBuffer the same way an usual RandomAccessFile can be analyzed. This method has been added for all HKX input/output.
  • Added unit and integration tests
    The unit tests and integration tests are mixed in the /src/test folder of each module. Both are launched at compile time, for a total process time of a few seconds only (less than 10 seconds in my tests).
  • General codebase improvements
    The use of PMD as an analysis tool for the codebase showed some inadequate classes (high complexity or high coupling). Refactoring solved most of these issues.
  • Logging improvement
    Logged data from the Command-Line interface should be more consistent now, and using the three logging levels via -d, -v or -q should work as expected.

Fixes

  • Fixed edge case with argument parsing

Notes

  • PMD is now an integral part of deployment, but isn't yet part of the Maven build target.
  • The tool can't handle well hclVolumeConstraintMx or hclBendStiffnessConstraintSet. The reason for this isn't known yet.

Beta 0.1.2

25 Mar 14:25
Compare
Choose a tag to compare
Beta 0.1.2 Pre-release
Pre-release

Beta 0.1.2

Scope

With new discoveries about RelArrays and the way skeletons are handled, there may be an available way to handle skeleton data.

Additions

  • Added support for RelArrays handing, for reading and writing data.

Fixes

  • Fixed : TYPE_TRANSFORM handling

Notes

hclVolumeConstraintMx

There's a remaining problem while handling hclVolumeConstraintMx objects. The cause of this problem is unknown, but the observed effects are projective changes in the binary output and delayed instability while using the file in-game.
This data type is usually found in BSClothExtraData nodes embedded in Nif files.

TYPE_RELARRAY

There seems to still be extra data that isn't handled, consistent with padding, while packing and unpacking RelArrays.
These extra data types doesn't appear to cause any sort of crashes or glitches in-game, so unless it causes a problem down the line no further changes are anticipated.

New released binary

In addition to the usual hkpack-cli.jar released binary, there's a release for the hkxpack-core.jar file.
This file is used as a dependency for projects build on top of the HKXPack core. Feel free to include and use it in your project, as long as you respect the License.

Beta 0.1.0

18 Mar 00:41
Compare
Choose a tag to compare
Beta 0.1.0 Pre-release
Pre-release

Switch to Beta : 0.1.0

Scope

The tool is now leaving its infancy.
With the ironing of the last known bugs and addition of a way to run the tool on directories, it's a good time to officially launch the first set of features.

Additions

  • Added quick launch, routed from the file extension directly.
  • Added directory walking : you can now run the HKXPack tool on directories !
  • Added several logging options.

Improvements

  • Better handling of known errors
  • Better output of most errors, known and unknown.

Fixes

  • Fixed : reading a HKX files ending with an empty string no longer throws an exception
  • Fixed : writing a HKX file ended with an unspecified string no longer throws an exception

Notes

The tool still can't read skeleton data.
The parsing of files takes time and memory, so if you try to run the tool on, let's say, all the files, you're gonna have a bad time (or just heavy disk I/O, CPU usage and RAM usage for a few hours).

Alpha 0.0.91

07 Mar 00:25
Compare
Choose a tag to compare
Alpha 0.0.91 Pre-release
Pre-release

Alpha 0.0.91

Scope

Fixed a critical bug of Alpha 0.0.9, failing on some files

Bug Fixes

  • Fixed a bug where a file ending exactly with the data3 section caused a NullPointerException.

Alpha 0.0.9

06 Mar 19:52
Compare
Choose a tag to compare
Alpha 0.0.9 Pre-release
Pre-release

Update 0.0.9

Notable informations

General improvements to the core.
Output data is now 100% identical to the input data in most cases (exceptions : animation with less padding [no effect on usability] and skeleton files error [see known issues]).
Fixed errors with file output from the 0.0.71 version.

Additions

  • Handles special "direct arrays" members.

Bugfixes

  • Fixed fatal and aesthetic padding issues.
  • Fixed issues reading and writing enumerations.
  • Fixed issues reading and writing Matrix4 values.
  • Fixed issues reading and writing QSTransform values.

Known issues

  • It is impossible to read nor write skeleton files.

Alpha 0.0.71

03 Mar 02:53
Compare
Choose a tag to compare
Alpha 0.0.71 Pre-release
Pre-release

Fixes for patch 1

  • Solved bug where all MATRIX_4 members throwed errors.

Additions

  • Added XML -> HKX conversion (via the pack option)
  • General core improvements

Fixes

  • Fixed tag names being inconsistent with the hkxcmd tool output.

Known bugs

  • The Skeleton files still can't be fully read because of an unknown data structure.
  • Some files can't be fully read or written. An alert will be prompted each time a potential case this would happen is detected. The output file validity can be compromised by this error (all non-handled data should be set to Null in that case).

Alpha 0.0.7

03 Mar 02:15
Compare
Choose a tag to compare
Alpha 0.0.7 Pre-release
Pre-release

Additions

  • Added XML -> HKX conversion (via the pack option)
  • General core improvements

Fixes

  • Fixed tag names being inconsistent with the hkxcmd tool output.

Known bugs

  • The Skeleton files still can't be fully read because of an unknown data structure.
  • Some files can't be fully read or written. An alert will be prompted each time a potential case this would happen is detected. The output file validity can be compromised by this error (all non-handled data should be set to Null in that case).

Alpha 0.0.5

29 Jan 04:14
Compare
Choose a tag to compare
Alpha 0.0.5 Pre-release
Pre-release

Fixed most reading problems with standard files. Still having problems with Skeleton files.

This release has been read-tested on Animations, Behaviors, BSClothExtraData. It has worked for all three types.

  翻译: