Changes
- Fixed an issue where
ssbh_data_py.mesh_ex_data.EntryFlags
could not be instantiated from Python.
Changes
- Added field
ssbh_data_py.matl_data.MatlEntryData.uv_transforms
. - Added type
ssbh_data_py.matl_data.UvTransformParam
. - Added type
ssbh_data_py.matl_data.UvTransform
. - Updated ssbh_data to add read and save support for version 1.5 for
ssbh_data_py.matl_data.MatlData
.
Changes
- Updated ssbh_data.
- Added support for Python 3.11 and Python 3.12 for PyPi builds.
Changes
- Updated ssbh_data to fix an issue where some compressed anims would not import/export correctly.
Changes:
- Added field
ssbh_data_py.anim_data.TransformFlags.override_compensate_scale
Breaking Changes:
- Removed
ssbh_data_py.anim_data.ScaleOptions
- Moved field
ssbh_data_py.anim_data.ScaleOptions.compensate_scale
tossbh_data_py.anim_data.TrackData.compensate_scale
- Changed the type of
ssbh_data_py.meshex_data.MeshObjectGroupData.bounding_sphere
tossbh_data_py.meshex_data.BoundingSphere
Changes:
- Added support for nuhlpb files with the
ssbh_data_py.hlpb_data
submodule. - Improved export times when using numpy arrays for mesh attribute data.
- 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:
. - Added field
ssbh_data_py.skel_data.BoneData.billboard_type
of typeBillboardType
. - Added field
ssbh_data_py.anim_data.TrackData.transform_flags
of typeTransformFlags
.
Breaking Changes:
- Renamed
ssbh_data_py.MeshExError
tossbh_data_py.MeshExDataError
- Renamed
ssbh_data_py.mesh_data.MeshObjectData.sub_index
tossbh_data_py.mesh_data.MeshObjectData.subindex
- Renamed
ssbh_data_py.modl_data.ModlEntryData.mesh_object_sub_index
tossbh_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
tossbh_data_py.matl_data.CullMode.Disabled
.
Changes:
- Added support for numshexb files with the
ssbh_data_py.meshex_data
submodule. - Improved type hints.
- Changed classes to support specifying all fields at construction with clear defaults for optional fields.
- Added support for installing from PyPi for Apple M1 processors on Python 3.9.
Breaking Changes: ssbh_data_py.mesh_data
- Removed
ssbh_data_py.mesh_data.read_mesh_numpy
. Useread_mesh(..., use_numpy=True)
instead.
Changes:
- Added
from_str
andfrom_value
static methods to enum types. - Improved type hints.
- Added
ssbh_data_py.mesh_data.read_mesh_numpy
. This is an experimental API and may change in future releases.
Changes:
- Added support for numatb files with the
ssbh_data_py.matl_data
submodule. - Improved the printed output of ssbh_data_py classes when calling
repr()
,str()
, orprint()
. - Removed support for Python 3.6.
Changes:
- Added the
sort_bias
,disable_depth_write
, anddisable_depth_test
fields to toMeshObjectData
. These default to0
,False
, andFalse
. - Types will now display as being a member of their respective module rather than a member of "builtins" when debugging objects.
- Added support for adjb files with the
ssbh_data_py.adj_data
submodule. - Added scale options to
TrackData
. This is accessible astrack.scale_options.inherit_scale
andtrack.scale_options.compensate_scale
.
Breaking Changes: ssbh_data_py.anim_data
- Moved the compensate_scale field to
TrackData
. This now applies to all frames in the track.
Changes:
- 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)
, andattribute_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
andssbh_data_py.anim_data.UvTransform
- Added
ssbh_data_py.mesh_data.calculate_smooth_normals
andssbh_data_py.mesh_data.calculate_tangents_vec4
functions from ssbh_data - Fixed an issue where the 4th value of
Transform.rotation
would sometimes be set toNaN
. - Improved the readability of Python exceptions triggered by panics in Rust code.
Breaking Changes: ssbh_data_py.anim_data
- Renamed all UvTransform fields
- Changed the expected type from float to integer for Transform.compensate_scale
- Added the final_frame_index field to AnimData. This should be set to
frame_count - 1
or0
for empty animations.
Changes:
- Added type stub files (.pyi). This enables type hints and autocompletion in supported IDEs.
Changes:
- Added read only anim support in
ssbh_data_py.anim_data
. Exporting is planned for a future release. - Fixed import and export of version 1.8 and 1.9 mesh files. This mostly applies to games other than Smash Ultimate.
Breaking Changes:
- Renamed
ssbh_data_py.mesh_data.Mesh
tossbh_data_py.mesh_data.MeshData
- Removed
ssbh_data_py.skel_data.calculate_single_bind_transform
.
Usessbh_data_py.skel_data.SkelData.calculate_world_transform
instead.
Changes:
- Added
transform_points
andtransform_vectors
functions tossbh_data_py.mesh_data
- Added
calculate_world_transform
method tossbh_data_py.skel_data.SkelData
- Added
calculate_relative_transform
function tossbh_data_py.skel_data
- Added skel support in
ssbh_data_py.skel_data
- Added modl support in
ssbh_data_py.modl_data
- Added support for creating new meshes and mesh objects to
ssbh_data_py.mesh_data