Serious-Engine/Sources/Engine/Classes/MovableEntity.h
2016-03-11 15:57:17 +02:00

177 lines
6.7 KiB
C++

/*
* This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
*/
#ifndef _Engine_Classes_MovableEntity_INCLUDED
#define _Engine_Classes_MovableEntity_INCLUDED 1
extern "C" DECL_DLL CDLLEntityClass CMovableEntity_DLLClass;
class DECL_DLL CMovableEntity : public CRationalEntity {
public:
virtual void SetDefaultProperties(void);
FLOAT3D en_vDesiredTranslationRelative;
ANGLE3D en_aDesiredRotationRelative;
FLOAT3D en_vCurrentTranslationAbsolute;
ANGLE3D en_aCurrentRotationAbsolute;
CEntityPointer en_penReference;
FLOAT3D en_vReferencePlane;
INDEX en_iReferenceSurface;
CEntityPointer en_penLastValidReference;
FLOAT en_tmLastSignificantVerticalMovement;
FLOAT en_tmLastBreathed;
FLOAT en_tmMaxHoldBreath;
FLOAT en_fDensity;
FLOAT en_tmLastSwimDamage;
INDEX en_iUpContent;
INDEX en_iDnContent;
FLOAT en_fImmersionFactor;
FLOAT3D en_vGravityDir;
FLOAT en_fGravityA;
FLOAT en_fGravityV;
FLOAT3D en_vForceDir;
FLOAT en_fForceA;
FLOAT en_fForceV;
FLOAT en_tmJumped;
FLOAT en_tmMaxJumpControl;
FLOAT en_fJumpControlMultiplier;
FLOAT en_fAcceleration;
FLOAT en_fDeceleration;
FLOAT en_fStepUpHeight;
FLOAT en_fStepDnHeight;
FLOAT en_fBounceDampParallel;
FLOAT en_fBounceDampNormal;
FLOAT en_fCollisionSpeedLimit;
FLOAT en_fCollisionDamageFactor;
FLOATaabbox3D en_boxMovingEstimate;
FLOATaabbox3D en_boxNearCached;
FLOAT3D en_vIntendedTranslation;
FLOATmatrix3D en_mIntendedRotation;
CPlacement3D en_plLastPlacement;
CListNode en_lnInMovers;
CBrushPolygon * en_pbpoStandOn;
CStaticStackArray < CBrushPolygon * > en_apbpoNearPolygons;
FLOAT en_tmLastPredictionHead;
FLOAT3D en_vLastHead;
FLOAT3D en_vPredError;
FLOAT3D en_vPredErrorLast;
FLOAT3D en_vNextPosition;
FLOATmatrix3D en_mNextRotation;
FLOAT3D en_vMoveTranslation;
FLOATmatrix3D en_mMoveRotation;
FLOAT3D en_vAppliedTranslation;
FLOATmatrix3D en_mAppliedRotation;
#line 319 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void ResetPredictionFilter(void);
CMovableEntity(void);
~ CMovableEntity(void);
void OnInitialize(const CEntityEvent & eeInput);
void OnEnd(void);
void Copy(CEntity & enOther,ULONG ulFlags);
#line 391 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void ClearTemporaryData(void);
void ChecksumForSync(ULONG & ulCRC,INDEX iExtensiveSyncCheck);
void DumpSync_t(CTStream & strm,INDEX iExtensiveSyncCheck);
void Read_t(CTStream * istr);
void Write_t(CTStream * ostr);
CPlacement3D GetLerpedPlacement(void)const;
void AddToMovers(void);
void AddToMoversDuringMoving(void);
void SetDesiredRotation(const ANGLE3D & aRotation);
const ANGLE3D & GetDesiredRotation(void)const;
void SetDesiredTranslation(const FLOAT3D & vTranslation);
const FLOAT3D & GetDesiredTranslation(void)const;
void GiveImpulseTranslationRelative(const FLOAT3D & vImpulseSpeedRelative);
void GiveImpulseTranslationAbsolute(const FLOAT3D & vImpulseSpeed);
void LaunchAsPropelledProjectile(const FLOAT3D & vImpulseSpeedRelative,
#line 642 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
CMovableEntity * penLauncher);
void LaunchAsFreeProjectile(const FLOAT3D & vImpulseSpeedRelative,
#line 650 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
CMovableEntity * penLauncher);
void ForceStopTranslation(void);
void ForceStopRotation(void);
void ForceFullStop(void);
void FakeJump(const FLOAT3D & vOrgSpeed,const FLOAT3D & vDirection,FLOAT fStrength,
#line 680 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
FLOAT fParallelMultiplier,FLOAT fNormalMultiplier,FLOAT fMaxExitSpeed,TIME tmControl);
ANGLE GetRelativeHeading(const FLOAT3D & vDirection);
ANGLE GetRelativePitch(const FLOAT3D & vDirection);
void GetReferenceHeadingDirection(const FLOAT3D & vReference,ANGLE aH,FLOAT3D & vDirection);
void GetHeadingDirection(ANGLE aH,FLOAT3D & vDirection);
void GetPitchDirection(ANGLE aH,FLOAT3D & vDirection);
#line 781 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
CEntity * MiscDamageInflictor(void);
#line 798 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void UpdateOneSectorForce(CBrushSector & bsc,FLOAT fRatio);
#line 847 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void TestFields(INDEX & iUpContent,INDEX & iDnContent,FLOAT & fImmersionFactor);
#line 990 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void TestBreathing(CContentType & ctUp);
#line 1026 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void TestContentDamage(CContentType & ctDn,FLOAT fImmersion);
#line 1059 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void TestSurfaceDamage(CSurfaceType & stDn);
#line 1085 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void SendTouchEvent(const CClipMove & cmMove);
#line 1100 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void SendBlockEvent(CClipMove & cmMove);
#line 1108 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL IsStandingOnPolygon(CBrushPolygon * pbpo);
#line 1171 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL IsPolygonBelowPoint(CBrushPolygon * pbpo,const FLOAT3D & vPoint,FLOAT fMaxDist);
virtual BOOL AllowForGroundPolygon(CBrushPolygon * pbpo);
#line 1261 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL IsSomeNearPolygonBelowPoint(const FLOAT3D & vPoint,FLOAT fMaxDist);
#line 1268 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL IsSomeSectorPolygonBelowPoint(CBrushSector * pbsc,const FLOAT3D & vPoint,FLOAT fMaxDist);
#line 1284 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL WouldFallInNextPosition(void);
#line 1394 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void ClearNextPosition(void);
#line 1400 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void SetPlacementFromNextPosition(void);
#line 1427 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL TryToGoUpstairs(const FLOAT3D & vTranslationAbsolute,const CSurfaceType & stHit,
#line 1428 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL bHitStairsOrg);
#line 1581 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
BOOL TryToMove(CMovableEntity * penPusher,BOOL bTranslate,BOOL bRotate);
void ClearMovingTemp(void);
void PreMoving(void);
#line 2012 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void PreMovingNew(void);
#line 2428 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
void PreMovingOld(void);
void DoMoving(void);
void PostMoving(void);
void CacheNearPolygons(void);
#line 3091 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
SLONG GetUsedMemory(void);
#define STATE_CMovableEntity_Dummy 0x00010000
BOOL
#line 3105 "D:/SE1_GPL/Sources/Engine/Classes/MovableEntity.es"
Dummy(const CEntityEvent &__eeInput);
};
#endif // _Engine_Classes_MovableEntity_INCLUDED