29#define BARREL_INDESTRUCTABLE 1
30#define MAX_BARREL_LEAKS 4
39class BarrelObject :
public Entity
44 qboolean m_bLeaksActive[MAX_BARREL_LEAKS];
45 Vector m_vLeaks[MAX_BARREL_LEAKS];
46 Vector m_vLeakNorms[MAX_BARREL_LEAKS];
50 float m_fLastEffectTime;
51 float m_fDamageSoundTime;
54 CLASS_PROTOTYPE(BarrelObject);
58 int PickBarrelLeak(
void);
60 void BarrelSetup(
Event *ev);
61 void BarrelSetType(
Event *ev);
62 void BarrelThink(
Event *ev);
63 void BarrelDamaged(
Event *ev);
64 void BarrelKilled(
Event *ev);
66 void Archive(
Archiver& arc)
override;
69inline void BarrelObject::Archive(
Archiver& arc)
73 arc.ArchiveInteger(&m_iBarrelType);
74 arc.ArchiveFloat(&m_fFluidAmount);
75 arc.ArchiveFloat(&m_fHeightFluid);
76 arc.ArchiveVector(&m_vJitterAngles);
77 arc.ArchiveVector(&m_vStartAngles);
78 arc.ArchiveFloat(&m_fJitterScale);
79 arc.ArchiveFloat(&m_fLastEffectTime);
80 arc.ArchiveFloat(&m_fDamageSoundTime);
82 for (
int i = MAX_BARREL_LEAKS - 1; i >= 0; i--) {
83 arc.ArchiveBoolean(&m_bLeaksActive[i]);
84 arc.ArchiveVector(&m_vLeaks[i]);
85 arc.ArchiveVector(&m_vLeakNorms[i]);
Definition listener.h:246