-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblend_stack.h
More file actions
31 lines (25 loc) · 816 Bytes
/
blend_stack.h
File metadata and controls
31 lines (25 loc) · 816 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once
#include "basic_data_structures.h"
#include "anim.h"
struct blend_in_info
{
// Refreshed at frame start
Anim::animation* Animation;
// Stored Permanently
int32_t IndexInSet;
float GlobalAnimStartTime;
float GlobalBlendStartTime;
float BlendDuration;
bool Mirror;
bool Loop;
};
typedef circular_stack<blend_in_info, ANIM_PLAYER_MAX_ANIM_COUNT> blend_stack;
struct playback_info
{
const Anim::skeleton_mirror_info* MirrorInfo;
const blend_stack* BlendStack;
};
void PlayAnimation(blend_stack* BlendStack, Anim::animation* NewAnim, int32_t IndexInSet,
float LocalStartTime, float GlobalTime, float BlendInTime, bool Mirror,
bool Loop = false);
void BlendStackBlendFunc(Anim::animation_player* P, void* UserData);