155bool IsOfType(
const std::filesystem::path& path);
236 u16 num_animations = 0;
237 u16 flags_disable_left_channel = 0b0000000000000000;
238 u16 flags_disable_right_channel = 0b0000000000000000;
241static_assert(
sizeof(RHeader) == 0x8);
244 u32 offset_keyframes = 0;
245 u16 num_left_channel_keyframes = 0;
246 u16 num_right_channel_keyframes = 0;
249static_assert(
sizeof(RAnimation) == 0x8);
253 u16 flags_enable_groups = 0b0000000000000000;
256static_assert(
sizeof(RKeyFrame) == 0x4);
258struct RAnimationContainer {
260 std::vector<RAnimation> animations;
263 std::map<u32, std::vector<RKeyFrame>> keyframes;
266AnimationContainer Convert(
const RAnimationContainer& rsubanim);
268RAnimationContainer Parse(Reader& f);
Contains macros and definitions for fixed-width types.
std::uint16_t u16
16-bit unsigned integer
Definition fixed_type.hpp:62
std::uint32_t u32
32-bit unsigned integer
Definition fixed_type.hpp:60
#define NNL_PACK(...)
A structure packing directive.
Definition fixed_type.hpp:41
Represents a visibility animation of mesh groups.
Definition sanimation.hpp:149
std::vector< Animation > animations
Definition visanimation.hpp:111
u16 flags_disable_left_channel
Definition visanimation.hpp:105
u16 flags_disable_right_channel
Definition visanimation.hpp:108
std::vector< KeyFrame > right_channel
Keyframes for the right channel of the animation.
Definition visanimation.hpp:68
u16 flags_enable_groups
Definition visanimation.hpp:51
u16 time_tick
Definition visanimation.hpp:49
std::vector< KeyFrame > left_channel
Keyframes for the left channel of the animation.
Definition visanimation.hpp:67
Holds a collection of visibility animations.
Definition visanimation.hpp:104
Represents a keyframe in a visibility animation.
Definition visanimation.hpp:48
Represents a single visibility animation.
Definition visanimation.hpp:66
AnimationContainer Convert(std::vector< SVisibilityAnimation > &&sanimations)
Converts multiple simple visibility animations to the in-game format.
Buffer Export(const AnimationContainer &animation_container)
Exports animations to a binary file format.
bool IsOfType(BufferView buffer)
Tests if the provided file is a visibility animation.
AnimationContainer Import(BufferView buffer)
Imports animations from a binary file.
constexpr u16 kMagicBytes
Magic bytes (?)
Definition visanimation.hpp:232
Provides classes for reading and writing binary data to and from various sources.
Contains functions and structures for working with in-game skeletal animations.
Definition animation.hpp:30
Contains functions and structures for working with "sub" animations that control the visibility of me...
Definition visanimation.hpp:34
Definition exception.hpp:56
Provides data structures for representing various animation types and their essential components.