FalconEntity

Superclasses

VuEntity



FalconEntity

Subclasses: CampBaseClass, SimBaseClass, TeamClass, CampManagerClass
vx

TYPES AND ENUMS
 enum {FalconCampaignEntity = 0x1, FalconSimEntity = 0x2,
                FalconPersistantEntity = 0x8, FalconSimObjective = 0x20};
FUNCTIONS
        FalconEntity(int type);
        FalconEntity(VU_BYTE** stream);
        FalconEntity(FILE* filePtr);
        int Save(VU_BYTE** stream);
        int Save(FILE* filePtr);
        int SaveSize(void);
        virtual ~FalconEntity(void);

        int IsCampaign (void)
                {return (falconType & FalconCampaignEntity) ? TRUE : FALSE;};
        int IsSim (void)
                {return (falconType & FalconSimEntity) ? TRUE : FALSE;};
        int IsSimObjective (void)
                {return (falconType & FalconSimObjective) ? TRUE : FALSE;};
        int IsPersistant (void)
                {return (falconType & FalconPersistantEntity) ? TRUE : FALSE;};
        void SetTypeFlag (int flag)                                     { falconType |= flag; };
        void UnSetTypeFlag (int flag)                           { falconType &= ~flag; };
        void SetFalcFlag (int flag)                                     { falconFlags |= flag; MakeFlagsDirty(); };
        void UnSetFalcFlag (int flag)                           { falconFlags &= ~flag; MakeFlagsDirty (); };
        int IsSetFalcFlag (int flag)                            { return falconFlags & flag; };
        int IsPlayer (void)                                                     { return IsSetFalcFlag(FEC_HASPLAYERS); };

        virtual int Wake (void) = 0;
        virtual int Sleep (void) = 0;
        virtual short GetCampID (void)                          { ShiWarning( "Illegal use of FalconEntity" ); return 0; };
        virtual uchar GetTeam (void)                            { ShiWarning( "Illegal use of FalconEntity" ); return 0; };
        virtual uchar GetCountry (void)                         { ShiWarning( "Illegal use of FalconEntity" ); return 0; };
        virtual uchar GetDomain (void);
        virtual int GetRadarMode (void)                         { return FEC_RADAR_OFF; }
        virtual void SetRadarMode (int)         {};
        virtual void ReturnToSearch (void)                      {};
        virtual void SetSearchMode (int)                {};
        virtual int OnGround (void)                                     { return FALSE; };
        virtual int IsMissile (void)                            { return FALSE; };
        virtual int IsBomb (void)                                       { return FALSE; };
        virtual int IsGun (void)                                        { return FALSE; };
        virtual int IsMover (void)                                      { return FALSE; };
        virtual int IsVehicle (void)                            { return FALSE; };
        virtual int IsStatic (void)                                     { return FALSE; };
        virtual int IsHelicopter (void)                         { return FALSE; };
        virtual int IsEject (void)                                      { return FALSE; };
        virtual int IsAirplane (void)                           { return FALSE; };
        virtual int IsGroundVehicle (void)                      { return FALSE; };
        virtual int IsShip (void)                               { return FALSE; };
        virtual int IsWeapon (void)                             { return FALSE; };
        virtual int IsExploding (void)                          { return FALSE; };
        virtual int IsDead (void)                                       { return FALSE; };
        virtual int IsEmitting (void)                           { return FALSE; };
        virtual float Vt (void)                                         { return 0.0f; };
        virtual float Kias (void)                                       { return 0.0f; };
        virtual MoveType GetMovementType (void)         { return NoMove; };
        virtual int IsUnit (void)                                       { return FALSE; };
        virtual int IsObjective (void)                          { return FALSE; };
        virtual int IsBattalion (void)                          { return FALSE; };
        virtual int IsBrigade (void)                            { return FALSE; };
        virtual int IsFlight (void)                                     { return FALSE; };
        virtual int IsSquadron (void)                           { return FALSE; };
        virtual int IsPackage (void)                            { return FALSE; };
        virtual int IsTeam (void)                                       { return FALSE; };
        virtual int IsTaskForce (void)                          { return FALSE; };
        virtual int IsSPJamming (void)                          { return FALSE; };
        virtual int IsAreaJamming (void)            { return FALSE; };
        virtual int HasSPJamming (void)                         { return FALSE; };
        virtual int HasAreaJamming (void)                       { return FALSE; };
        virtual float GetRCSFactor (void)                       { return 0.0f; };
        virtual float GetIRFactor (void)                        { return 0.0f; };
        virtual int     GetRadarType (void);

        virtual uchar* GetDamageModifiers (void);
        void GetLocation (short* x, short* y);
        int GetAltitude (void)                                          { return FloatToInt32(ZPos() * -1.0F); }

        void SetOwner (FalconSessionEntity* session);
        void SetOwner (VU_ID sessionId);
        void DoFullUpdate (void);

        // Dirty Functions
        void ClearDirty (void);
        void MakeDirty (Dirty_Class bits, Dirtyness score);

        int EncodeDirty (unsigned char **stream);
        int DecodeDirty (unsigned char **stream);

        static void DoSimDirtyData (void);
        static void DoCampaignDirtyData (void);

        void MakeFlagsDirty (void);
        void MakeFalconEntityDirty (Dirty_Falcon_Entity bits, Dirtyness score);
 

DATA
        int                     dirty_falcent;

        int                     dirty_classes;
        int                     dirty_score;

        int calc_dirty_bucket (void);
        uchar           falconFlags;

protected:
        char            falconType;