Initial gamelib integration AAS2 with some animation and physics and another integration pass on idLib.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user