123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #ifndef OBJECTAPPEARANCE_H
- #define OBJECTAPPEARANCE_H
- /*************************************************************************************************\
- ObjectAppearance.h : Interface for the ObjectAppearance component, building and tree appearance
- keep their common elements here
- //---------------------------------------------------------------------------//
- // Copyright (C) Microsoft Corporation. All rights reserved. //
- //===========================================================================//
- \*************************************************************************************************/
- #ifndef APPEARANCE_H
- #include "Appear.h"
- #endif
- #ifndef DSTD_H
- #include "dstd.h"
- #endif
- #ifndef OBJSTATUS_H
- #include "objstatus.h"
- #endif
- //*************************************************************************************************
- // WEAPON TYPES
- #define MECH3D_WEAPONTYPE_NONE -1
- #define MECH3D_WEAPONTYPE_ANY 0
- #define MECH3D_WEAPONTYPE_MISSILE 1
- #define MECH3D_WEAPONTYPE_BALLISTIC 2
- #define MECH3D_WEAPONTYPE_NONENERGY 3
- #define MECH3D_WEAPONTYPE_ENERGY 4
- #define MECH3D_WEAPONTYPE_DIRECT 5
- // NOTES:
- // Each mech MUST have a place for each kind of weapon to fire.
- // I.e. There must be at least one zero OR at least a 3 and 4 OR at least a 1, 2 and 4 or its an ERROR!!!!!!!!
- typedef struct _NodeData
- {
- char *nodeId; //Used to determine where jumpjets, smoke and weapon fire come from.
- long weaponType; //What kind of weapon can use this node
- bool isRArmNode; //Used to stop firing from node when RArm is gone.
- bool isLArmNode; //Used to stop firing from node when LArm is gone.
- } NodeData;
- /**************************************************************************************************
- CLASS DESCRIPTION
- ObjectAppearance:
- **************************************************************************************************/
- class ObjectAppearance: public Appearance
- {
- public:
- float lightIntensity;
-
- Stuff::Vector2DOf<long> shapeMin;
- Stuff::Vector2DOf<long> shapeMax;
- Stuff::Vector3D position;
- float rotation;
- long selected; // actually a bit field...
- long teamId;
- long homeTeamRelationship;
- float actualRotation;
- long objectNameId;
- long damage;
- long pilotNameID;
- char pilotName[32];
- long paintScheme;
- MemoryPtr fadeTable;
- void setDamage( int Damage ) // editor uses this... nobody else should
- {
- damage = Damage;
- barStatus = Damage ? 0 : 1;
- if (Damage)
- setObjStatus(OBJECT_STATUS_DESTROYED); //Change the shape!!
- else
- setObjStatus(OBJECT_STATUS_NORMAL); //Change the shape!!
- }
- virtual void setHighlightColor( long argb )
- {
- highlightColor = argb;
- }
-
- virtual long getObjectNameId ()
- {
- return objectNameId;
- }
- virtual ~ObjectAppearance(){}
-
- protected:
-
- long highlightColor;
- ObjectAppearance(){ highlightColor = 0; damage = 0; lightIntensity = rotation = 0.0; selected = 0; pilotName[0] = 0;}
- /*
- private:
- ObjectAppearance( const ObjectAppearance& bjectAppearance );
- ObjectAppearance& operator=( const ObjectAppearance& bjectAppearance );
- */
- };
- //*************************************************************************************************
- #endif // end of file ( ObjectAppearance.h )
|