/* * 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