This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/csgo/sdk/baseanimating.h
2020-08-04 13:13:01 -04:00

51 lines
1.4 KiB
C++

#include "sdk.h"
#ifndef BASEANIMATING_H
#define BASEANIMATING_H
#ifdef _WIN32
#pragma once
#endif
struct animevent_t;
struct matrix3x4_t;
class CIKContext;
class KeyValues;
#define BCF_NO_ANIMATION_SKIP \
(1 << 0) // Do not allow PVS animation skipping (mostly for attachments
// being critical to an entity)
#define BCF_IS_IN_SPAWN \
(1 << 1) // Is currently inside of spawn, always evaluate animations
class CBaseAnimating : public C_BaseEntity {
public:
CBaseAnimating();
~CBaseAnimating();
enum { NUM_POSEPAREMETERS = 24, NUM_BONECTRLS = 4 };
virtual CBaseAnimating* GetBaseAnimating() { return this; }
private:
// FIXME: necessary so that cyclers can hack m_bSequenceFinished
friend class CFlexCycler;
friend class CCycler;
friend class CBlendingCycler;
};
#define ANIMATION_SEQUENCE_BITS 12 // 4096 sequences
#define ANIMATION_SKIN_BITS \
10 // 1024 body skin selections FIXME: this seems way high
#define ANIMATION_BODY_BITS 32 // body combinations
#define ANIMATION_HITBOXSET_BITS 2 // hit box sets
#if defined(TF_DLL)
#define ANIMATION_POSEPARAMETER_BITS 8 // pose parameter resolution
#else
#define ANIMATION_POSEPARAMETER_BITS 11 // pose parameter resolution
#endif
#define ANIMATION_PLAYBACKRATE_BITS \
8 // default playback rate, only used on leading edge detect sequence
// changes
#endif // BASEANIMATING_H