Files

54 lines
1.2 KiB
C++

#pragma once
#include "gamelib/timeline/timelinekeyanimdata.h"
#include "idlib/math/angles.h"
#include "idlib/text/str.h"
class idDeclEnv;
class idSoundShader;
// Local type 14673 is present in tungsten.exe.h without a PDB source path.
class idAnimAliasRef : public idStr {
public:
idAnimAliasRef() = default;
explicit idAnimAliasRef(const char *value) : idStr(value) {}
};
enum tlEventType_t : int {
TL_EVENT_NONE = 0,
TL_EVENT_ANIM = 1,
TL_EVENT_SOUND = 2,
TL_EVENT_TELEPORT = 3,
TL_EVENT_SETKEY = 4,
TL_EVENT_ANIMKEY = 5,
TL_EVENT_ACTIVATE = 6,
TL_EVENT_SETENV = 7,
TL_EVENT_MAX = 8,
};
// Reconstructed from tungsten.exe.h local type 19107 and the constructor in
// timelineeventdata.cpp.
struct tlEventData_t {
tlEventData_t();
int time;
int duration;
tlEventType_t type;
idAnimAliasRef anim;
bool useAnimPos;
const idSoundShader *sound;
idVec3 worldPos;
idAngles worldRot;
tlKeyId_t keyName;
idStr keyValue;
mgTimelineKeyAnimData keyAnimData;
bool activateStart;
bool activateEnd;
const idDeclEnv *env;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(tlEventData_t) == 160,
"Recovered tlEventData_t ABI changed");
#endif