NSUNI/NSLAR Library a250670
Loading...
Searching...
No Matches
nnl::action Namespace Reference

Contains structures and functions for working with game actions. More...

Classes

struct  Action
 Represents an action. More...
union  AnimationNode
 A union that represents a function or argument node within an animation playback chain. More...
union  EffectNode
 A union that represents a function or argument node within an auxiliary effect playback chain. More...
struct  Id
 Represents a unique identifier for an action. More...

Typedefs

using ActionConfig = tsl::ordered_map<action::Id, Action>
 Represents a collection of actions associated with an entity.

Enumerations

enum class  AnimationFunction : u16 {
  AnimationFunction::kEnd = 0 , AnimationFunction::kNext = 1 , AnimationFunction::kGoto = 2 , AnimationFunction::kTransitionToAnimation5 = 5 ,
  AnimationFunction::kTransitionToAnimation6 = 6 , AnimationFunction::kEndAnimationPlayback = 7 , AnimationFunction::kInitAnimationPlayback = 8 , AnimationFunction::kSetFlags = 9 ,
  AnimationFunction::kInitCountdown = 0xA , AnimationFunction::kCheckCountdown = 0xB , AnimationFunction::kSetBossHitTarget = 0xC , AnimationFunction::kUnkD = 0xD ,
  AnimationFunction::kSetAnimSpeed = 0xE , AnimationFunction::kPlayAnimation = 0xF , AnimationFunction::kSetAnimStartFrame = 0x10 , AnimationFunction::kUnk11 = 0x11 ,
  AnimationFunction::kUnk12 = 0x12 , AnimationFunction::kUnk13 = 0x13 , AnimationFunction::kSetMeshGroupVisib = 0x14 , AnimationFunction::kWaitAfter = 0x15 ,
  AnimationFunction::kWaitBefore = 0x16 , AnimationFunction::kEnableTextureSwap = 0x17 , AnimationFunction::kDisableTextureSwap = 0x18 , AnimationFunction::kEnableEffect = 0x19 ,
  AnimationFunction::kUnk1A = 0x1A , AnimationFunction::kSetComboTransitFrames = 0x1B
}
 Enumeration for different animation functions. More...
enum class  EffectFunction : u8 {
  EffectFunction::kEnd = 0 , EffectFunction::kSetFlags1 = 1 , EffectFunction::kEnableEffect = 2 , EffectFunction::kOpacityTransition3 = 3 ,
  EffectFunction::kOpacityTransition4 = 4 , EffectFunction::kOpacityTransition6 = 6 , EffectFunction::kPlaySFX = 7 , EffectFunction::kPlaySFXRND = 8 ,
  EffectFunction::kPlayUVAnim = 0xA , EffectFunction::kOpacityTransitionB = 0xB , EffectFunction::kUnkC = 0xC , EffectFunction::kNextD = 0xD ,
  EffectFunction::kNextE = 0xE , EffectFunction::kNextF = 0xF , EffectFunction::kUnk10 = 0x10 , EffectFunction::kUnk11 = 0x11 ,
  EffectFunction::kUnk12 = 0x12 , EffectFunction::kSetFlags13 = 0x13 , EffectFunction::kEnableEffect14 = 0x14 , EffectFunction::kSetFlags15 = 0x15 ,
  EffectFunction::kSetFlags16 = 0x16 , EffectFunction::kUnk17 = 0x17 , EffectFunction::kUnk18 = 0x18 , EffectFunction::kSlowdown = 0x19 ,
  EffectFunction::kEnableDisplayEffect = 0x1A , EffectFunction::kEnableEffect1B = 0x1B , EffectFunction::kUnk1C = 0x1C , EffectFunction::kAnimateCamera = 0x1D ,
  EffectFunction::kMoveRootBone = 0x1E , EffectFunction::kAnimateCamera1F = 0x1F , EffectFunction::kSetMeshGroupVisib = 0x20 , EffectFunction::kEnableJutsuEffect = 0x21 ,
  EffectFunction::kSetTextureSwapStat = 0x22 , EffectFunction::kSetFlags23 = 0x23 , kUnk24 = 0x24 , EffectFunction::kUnk25 = 0x25
}
 Enumeration for different effect functions. More...
enum class  ActionCategory { ActionCategory::kMovement = 0 , ActionCategory::kCombat = 1 , ActionCategory::kDamage = 2 , ActionCategory::kCutscene = 3 }
 Defines the categories of actions. More...

Functions

bool IsOfType (BufferView buffer)
 Tests if the provided file is an action config.
ActionConfig Import (BufferView buffer)
 Parses a binary file and converts it to ActionConfig.
Buffer Export (const ActionConfig &action_config)
 Converts ActionConfig to a binary file representation.
std::map< u16, std::set< std::string > > GetAnimationNames (const ActionConfig &action_config)
 Returns a map of animation IDs and names of all actions in which those animations were used.
template<class... Ts, class Node>
std::tuple< Ts... > ReadArgs (std::size_t main_node_ind, const std::vector< Node > &nodes)
 Extracts arguments from a series of nodes.
template<class... Ts, class Node>
void WriteArgs (std::size_t main_node_ind, std::vector< Node > &nodes, const Ts &&... args)
 Converts arguments to a series of nodes.
template<class Node>
std::size_t NextNodeInd (std::size_t main_node_ind, const std::vector< Node > &nodes)
 Calculates the absolute index of the next main node in a vector.

Variables

constexpr u16 kNumAnimFuncNSUNI = 0x1C
constexpr u16 kNumEffectFuncNSUNI = 0x26
constexpr u16 kNumAnimFuncNSLAR = 0x14
constexpr u16 kNumEffectFuncNSLAR = 0xC
constexpr std::size_t kNumActionCategories = 4
 Defines the number of action categories;.
constexpr std::size_t kMaxActionIndex = 0x3FFF
 Defines the maximum index of an action in a category;.

Detailed Description

Contains structures and functions for working with game actions.

See also
nnl::action::ActionConfig
nnl::action::IsOfType
nnl::action::Import
nnl::action::Export