7 #ifndef physicalEntityDecoder_H_
8 #define physicalEntityDecoder_H_
32 class DT_DLL_VL DtPhysicalEntityDecoder :
public DtBaseEntityDecoder
37 DtPhysicalEntityDecoder(
39 DtObjClassDesc* classDesc);
42 virtual ~DtPhysicalEntityDecoder();
45 DtPhysicalEntityDecoder(
const DtPhysicalEntityDecoder& orig);
48 DtPhysicalEntityDecoder& operator=(
const DtPhysicalEntityDecoder& orig);
54 static DtHlaStateDecoder* create(
56 DtObjClassDesc* classDesc);
72 DtDECLARE_ENTITY_ATTR_DECODER(DamageState);
73 DtDECLARE_ENTITY_ATTR_DECODER(EngineSmokeOn);
74 DtDECLARE_ENTITY_ATTR_DECODER(FlamesPresent);
75 DtDECLARE_ENTITY_ATTR_DECODER(HasFuelSupplyCap);
76 DtDECLARE_ENTITY_ATTR_DECODER(HasRecoveryCap);
77 DtDECLARE_ENTITY_ATTR_DECODER(HasRepairCap);
78 DtDECLARE_ENTITY_ATTR_DECODER(Immobilized);
79 DtDECLARE_ENTITY_ATTR_DECODER(Marking);
80 DtDECLARE_ENTITY_ATTR_DECODER(PowerPlantOn);
81 DtDECLARE_ENTITY_ATTR_DECODER(SmokePlumePresent);
82 DtDECLARE_ENTITY_ATTR_DECODER(TentDeployed);
85 DtDECLARE_ENTITY_ATTR_DECODER(ArticulatedParametersArrayPre09);
86 DtDECLARE_ENTITY_ATTR_DECODER(TrailState);
87 DtDECLARE_ENTITY_ATTR_DECODER(HatchState);
88 DtDECLARE_ENTITY_ATTR_DECODER(LifeformState);
89 DtDECLARE_ENTITY_ATTR_DECODER(LightsState);
90 DtDECLARE_ENTITY_ATTR_DECODER(RampDeployed);
93 DtDECLARE_ENTITY_ATTR_DECODER(ArticulatedParametersArray);
94 DtDECLARE_ENTITY_ATTR_DECODER(TrailingEffectsCode);
95 DtDECLARE_ENTITY_ATTR_DECODER(AlternateEntityType);
96 DtDECLARE_ENTITY_ATTR_DECODER(CamouflageType);
97 DtDECLARE_ENTITY_ATTR_DECODER(FirePowerDisabled);
98 DtDECLARE_ENTITY_ATTR_DECODER(ForceIdentifier);
99 DtDECLARE_ENTITY_ATTR_DECODER(IsConcealed);
100 DtDECLARE_ENTITY_ATTR_DECODER(HasAmmunitionSupplyCap);
103 DtDECLARE_ENTITY_ATTR_DECODER(AcousticSignatureIndex);
104 DtDECLARE_ENTITY_ATTR_DECODER(InfraredSignatureIndex);
105 DtDECLARE_ENTITY_ATTR_DECODER(PropulsionSystemsData);
106 DtDECLARE_ENTITY_ATTR_DECODER(RadarCrossSectionSignatureIndex);
107 DtDECLARE_ENTITY_ATTR_DECODER(VectoringNozzleSystemData);
108 DtDECLARE_ENTITY_ATTR_DECODER(LiveEntityMeasuredSpeed);
111 DtDECLARE_ENTITY_ATTR_DECODER(DIGuyAction);
112 DtDECLARE_ENTITY_ATTR_DECODER(DIGuyAppearance);
113 DtDECLARE_ENTITY_ATTR_DECODER(DIGuyArc);
114 DtDECLARE_ENTITY_ATTR_DECODER(DIGuyType);
115 DtDECLARE_ENTITY_ATTR_DECODER(DIGuyParent);
119 static void decodeAttParts(
int numParams,
123 static void convertFromRPR1_0(
134 #define DtDEFINE_SIMPLE_PHYS_ENTITY_ATTR_DECODER_WITH_CAST( \
135 attrName, netType, mutator, castExpr) \
136 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
137 DtPhysicalEntityDecoder, DtEntityStateRepository, \
138 attrName, netType, mutator, castExpr)
140 #define DtDEFINE_SIMPLE_PHYS_ENTITY_ATTR_DECODER( \
141 attrName, netType, mutator) \
142 DtDEFINE_SIMPLE_ATTR_DECODER_MUTATOR( \
143 DtPhysicalEntityDecoder, DtEntityStateRepository, \
144 attrName, netType, mutator)
146 #define DtDEFINE_LIGHT_ATTR_DECODER( \
147 decClass, attrName, arg1) \
148 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST_AND_PARAM( \
149 decClass, DtEntityStateRepository, attrName, DtNetBoolean, setLightState, arg1, (bool) (DtU32))