Ssbh-data-py

Latest version: v0.9.0

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.7.1

Added
- Added support for nuhlpb files with the `ssbh_data_py.hlpb_data` submodule.
- Added field `ssbh_data_py.skel_data.BoneData.billboard_type` of type `BillboardType`.
- Added field `ssbh_data_py.anim_data.TrackData.transform_flags` of type `TransformFlags`.

Changed
- Improved export times when using numpy arrays for mesh attribute data.
- Renamed `ssbh_data_py.MeshExError` to `ssbh_data_py.MeshExDataError`
- Renamed `ssbh_data_py.mesh_data.MeshObjectData.sub_index` to `ssbh_data_py.mesh_data.MeshObjectData.subindex`
- Renamed `ssbh_data_py.modl_data.ModlEntryData.mesh_object_sub_index` to `ssbh_data_py.modl_data.ModlEntryData.mesh_object_subindex`
- Adjusted matrices to use column-major order instead of row-major order.
- Renamed enum variant `ssbh_data_py.matl_data.CullMode.None` to `ssbh_data_py.matl_data.CullMode.Disabled`.

Fixed
- Fixed comparison operators not working as expected for enum types. Enum variants are equal if their `value` field is equal.
- Fixed an issue where error types couldn't be matched on in exception handling like `except ssbh_data_py.MeshDataError as e:`.

0.6.2

Added
- Added support for numshexb files with the `ssbh_data_py.meshex_data` submodule.
- Added support for installing from PyPi for Apple M1 processors on Python 3.9.

Changed
- Improved type hints.
- Changed classes to support specifying all fields at construction with clear defaults for optional fields.

Removed
- Removed `ssbh_data_py.mesh_data.read_mesh_numpy`. Use `read_mesh(..., use_numpy=True)` instead.

0.5.3

Added
- Added `from_str` and `from_value` static methods to enum types.
- Added `ssbh_data_py.mesh_data.read_mesh_numpy`. This is an experimental API and may change in future releases.

Changed
- Improved type hints.

0.5.2

Added
- Added support for numatb files with the `ssbh_data_py.matl_data` submodule.

Changed
- Improved the printed output of ssbh_data_py classes when calling `repr()`, `str()`, or `print()`.

Removed
- Removed support for Python 3.6.

0.5.1

Added
- Added the `sort_bias`, `disable_depth_write`, and `disable_depth_test` fields to to `MeshObjectData`. These default to `0`, `False`, and `False`.
- Added support for adjb files with the `ssbh_data_py.adj_data` submodule.
- Added scale options to `TrackData`. This is accessible as `track.scale_options.inherit_scale` and
`track.scale_options.compensate_scale`.

Changed
- Types will now display as being a member of their respective module rather than a member of "builtins" when debugging objects.
- Moved the compensate_scale field to `TrackData`. This now applies to all frames in the track.

0.4.0

Added
- Added `ssbh_data_py.mesh_data.calculate_smooth_normals` and `ssbh_data_py.mesh_data.calculate_tangents_vec4` functions from ssbh_data
- Added the final_frame_index field to AnimData. This should be set to `frame_count - 1` or `0` for empty animations.

Changed
- Fields and function parameters that used to only accept lists of floats or ints now accept sequences such as tuples or numpy arrays. For example, `bone.transform = numpy.zeros((4,4))`, `mesh_object_data.vertex_indices = numpy.arange(12)`, and `attribute_data.data = [(1,0,0), (0,1,0)]` now work as expected without requiring any conversions.
- Improved the printed representation of `ssbh_data_py.anim_data.Transform` and `ssbh_data_py.anim_data.UvTransform`
- Improved the readability of Python exceptions triggered by panics in Rust code.
- Renamed all UvTransform fields
- Changed the expected type from float to integer for Transform.compensate_scale

Fixed
- Fixed an issue where the 4th value of `Transform.rotation` would sometimes be set to `NaN`.

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.