KDIS  2-8-x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
LandPlatformAppearance.h
Go to the documentation of this file.
1 /*********************************************************************
2 Copyright 2013 Karl Jones
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7 
8 1. Redistributions of source code must retain the above copyright notice, this
9  list of conditions and the following disclaimer.
10 2. Redistributions in binary form must reproduce the above copyright notice,
11  this list of conditions and the following disclaimer in the documentation
12  and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 
25 For Further Information Please Contact me at
26 Karljj1@yahoo.com
27 http://p.sf.net/kdis/UserGuide
28 *********************************************************************/
29 
30 /********************************************************************
31  class: LandPlatformAppearance
32  created: 22/09/2008 - Updated Feb 2012
33  author: Karl Jones
34 
35  purpose: Represents the appearance of a land platform.
36  Implemented as struct so as to prevent the size from
37  changing due to RTTI etc. This struct will be part of a
38  union with all appearance values so it is implemented
39  slightly different.
40  No constructors to prevent C2620 error caused by union of
41  classes/structs.
42  size: 32 Bits / 4 Octet
43 *********************************************************************/
44 
45 #pragma once
46 
47 #include "./../KDefines.h"
48 #include "./Enums/KDISEnums.h"
49 
50 namespace KDIS {
51 namespace DATA_TYPE {
52 
54 {
55 protected:
56  // Bits
57  KUINT32 m_PaintScheme : 1; // 0
58  KUINT32 m_MobilityKill : 1; // 1
59  KUINT32 m_FirePower : 1; // 2
60  KUINT32 m_Damage : 2; // 3-4
61  KUINT32 m_Smoke : 2; // 5-6
62  KUINT32 m_TrailingEffect : 2; // 7-8
63  KUINT32 m_HatchState : 3; // 9-11
64  KUINT32 m_HeadLights : 1; // 12
65  KUINT32 m_TailLights : 1; // 13
66  KUINT32 m_BrakeLights : 1; // 14
67  KUINT32 m_FlamingEffectField : 1; // 15
68  KUINT32 m_Launcher : 1; // 16
69  KUINT32 m_Camouflage : 2; // 17-18
70  KUINT32 m_Concealed : 1; // 19
71  KUINT32 m_Unused : 1; // 20 Unused
72  KUINT32 m_FrozenStatus : 1; // 21
73  KUINT32 m_PowerPlantStatus : 1; // 22
74  KUINT32 m_State : 1; // 23
75  KUINT32 m_Tent : 1; // 24
76  KUINT32 m_Ramp : 1; // 25
77  KUINT32 m_BlackoutLights : 1; // 26
78  KUINT32 m_BlackoutBrakeLights : 1; // 27
79  KUINT32 m_SpotLights : 1; // 28
80  KUINT32 m_InteriorLights : 1; // 29
81  KUINT32 m_SurrenderState : 1; // 30
82  KUINT32 m_MaskedCloaked : 1; // 31
83 
84 public:
85 
86 
87  //************************************
88  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityPaintScheme
89  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntityPaintScheme
90  //!Description: Describes the paint scheme of an entity.
91  // Parameter: EntityPaintScheme EPS
92  //************************************
93  void SetEntityPaintScheme( KDIS::DATA_TYPE::ENUMS::EntityPaintScheme EPS );
94  KDIS::DATA_TYPE::ENUMS::EntityPaintScheme GetEntityPaintScheme() const;
95 
96  //************************************
97  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityMobilityKill
98  // KDIS::DATA_TYPE::LandPlatformAppearance::DoesEntityMobilityKill
99  //!Description: Mobility Kill True/False?
100  // Parameter: KBOOL MK
101  //************************************
102  void SetEntityMobilityKill( KBOOL MK );
103  KBOOL DoesEntityMobilityKill() const;
104 
105  //************************************
106  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityFirePowerKill
107  // KDIS::DATA_TYPE::LandPlatformAppearance::DoesFirePowerKill
108  //!Description: Does Fire Power Kill?
109  // Parameter: KBOOL FP
110  //************************************
111  void SetEntityFirePower( KBOOL FP );
112  KBOOL DoesFirePowerKill() const;
113 
114  //************************************
115  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityDamage
116  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntityDamage
117  //!Description: Entity Damage State
118  // Parameter: EntityDamage ED
119  //************************************
120  void SetEntityDamage( KDIS::DATA_TYPE::ENUMS::EntityDamage ED );
121  KDIS::DATA_TYPE::ENUMS::EntityDamage GetEntityDamage() const;
122 
123  //************************************
124  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntitySmoke,
125  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntitySmoke
126  //!Description: Entity Smoke State
127  // Parameter: EntitySmoke ES
128  //************************************
129  void SetEntitySmoke( KDIS::DATA_TYPE::ENUMS::EntitySmoke ES );
130  KDIS::DATA_TYPE::ENUMS::EntitySmoke GetEntitySmoke() const;
131 
132  //************************************
133  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityTrailingEffect
134  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntityTrailingEffect
135  //!Description: Describes the size of the dust cloud/trailing effect.
136  // Parameter: EntityTrailingEffect ETE
137  //************************************
138  void SetEntityTrailingEffect( KDIS::DATA_TYPE::ENUMS::EntityTrailingEffect ETE );
139  KDIS::DATA_TYPE::ENUMS::EntityTrailingEffect GetEntityTrailingEffect() const;
140 
141  //************************************
142  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityHatchState
143  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntityHatchState
144  //!Description: Entity primary hatch state. Open, closed etc.
145  // Parameter: EntityHatchState EHS
146  //************************************
147  void SetEntityHatchState( KDIS::DATA_TYPE::ENUMS::EntityHatchState EHS );
148  KDIS::DATA_TYPE::ENUMS::EntityHatchState GetEntityHatchState() const;
149 
150  //************************************
151  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityHeadLights
152  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityHeadLightsOn
153  //!Description: Are the vehicles head lights turned on? True = On, False = Off.
154  // Parameter: KBOOL HL
155  //************************************
156  void SetEntityHeadLights( KBOOL HL );
157  KBOOL IsEntityHeadLightsOn() const;
158 
159  //************************************
160  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityHeadLights
161  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntityLights
162  //!Description: Are the vehicles tail lights turned on? True = On, False = Off.
163  // Parameter: KBOOL TL
164  //************************************
165  void SetEntityTailLights( KBOOL TL );
166  KBOOL IsEntityTailLightsOn() const;
167 
168  //************************************
169  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityBrakeLights
170  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityBrakeLightsOn
171  //!Description: Are the vehicles brake lights turned on? True = On, False = Off.
172  // Parameter: KBOOL BL
173  //************************************
174  void SetEntityBrakeLights( KBOOL BL );
175  KBOOL IsEntityBrakeLightsOn() const;
176 
177  //************************************
178  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityFlamingEffect
179  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityFlaming
180  //!Description: Are flames rising from the entity?
181  // Parameter: KBOOL EFE
182  //************************************
183  void SetEntityFlamingEffect( KBOOL EFE );
184  KBOOL IsEntityFlaming() const;
185 
186  //************************************
187  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityLauncher
188  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityLauncherRaised
189  //!Description: Set launcher status. False = Not Raised, True = Raised.
190  // Parameter: KBOOL EL
191  //************************************
192  void SetEntityLauncher( KBOOL EL );
193  KBOOL IsEntityLauncherRaised() const;
194 
195  //************************************
196  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityCamouflage
197  // KDIS::DATA_TYPE::LandPlatformAppearance::GetEntityCamouflage
198  //!Description: Camouflage type worn.
199  // Parameter: EntityCamouflage EC
200  //************************************
201  void SetEntityCamouflage( KDIS::DATA_TYPE::ENUMS::EntityCamouflage EC );
202  KDIS::DATA_TYPE::ENUMS::EntityCamouflage GetEntityCamouflage() const;
203 
204  //************************************
205  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityConcealed
206  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityConcealed
207  //!Description: Is the entity concealed?
208  //! False = Not concealed. True = Entity in a prepared concealed
209  //! position (with netting, etc.)
210  // Parameter: KBOOL EC
211  //************************************
212  void SetEntityConcealed( KBOOL EC );
213  KBOOL IsEntityConcealed() const;
214 
215  //************************************
216  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityFrozenStatus
217  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityFrozen
218  //!Description: Is the entity frozen?
219  //! Note: Frozen entities should not be dead-reckoned, they should remain
220  //! frozen in place. You would likely freeze entites when your application is
221  //! in a paused state.
222  // Parameter: KBOOL EFS
223  //************************************
224  void SetEntityFrozenStatus( KBOOL EFS );
225  KBOOL IsEntityFrozen() const;
226 
227  //************************************
228  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityPowerPlantOn
229  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityPowerPlantOn
230  //!Description: Power Plant On/Off. True = On, False = Off.
231  // Parameter: KBOOL EPPS
232  //************************************
233  void SetEntityPowerPlantOn( KBOOL EPPS );
234  KBOOL IsEntityPowerPlantOn() const;
235 
236  //************************************
237  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityStateActive
238  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityStateActive
239  //!Description: True = Active, False = Deactivated.
240  // Parameter: KBOOL ES
241  //************************************
242  void SetEntityStateActive( KBOOL ES );
243  KBOOL IsEntityStateActive() const;
244 
245  //************************************
246  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityTentExtended
247  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityTentExtended
248  //!Description: Tent status. True = Not extended, False = Extended.
249  // Parameter: KBOOL ET
250  //************************************
251  void SetEntityTentExtended( KBOOL ET );
252  KBOOL IsEntityTentExtended() const;
253 
254  //************************************
255  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityRampDown
256  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityRampDown
257  //!Description: Ramp Status. Up / Down. True = Down, False = Up.
258  // Parameter: KBOOL ER
259  //************************************
260  void SetEntityRampDown( KBOOL ER );
261  KBOOL IsEntityRampDown() const;
262 
263  //************************************
264  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityBlackoutLights
265  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityBlackoutLightsOn
266  //!Description: Are the vehicles blackout lights turned on? True = On, False = Off.
267  // Parameter: KBOOL BL
268  //************************************
269  void SetEntityBlackoutLights( KBOOL BL );
270  KBOOL IsEntityBlackoutLightsOn() const;
271 
272  //************************************
273  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityBlackoutBrakeLights
274  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityBlackoutBrakeLightsOn
275  //!Description: Are the vehicles blackout brake lights turned on? True = On, False = Off.
276  // Parameter: KBOOL BBL
277  //************************************
278  void SetEntityBlackoutBrakeLights( KBOOL BBL );
279  KBOOL IsEntityBlackoutBrakeLightsOn() const;
280 
281  //************************************
282  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityBlackoutBrakeLights
283  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityBlackoutBrakeLightsOn
284  //!Description: Are the vehicles spot lights turned on? True = On, False = Off.
285  // Parameter: KBOOL SL
286  //************************************
287  void SetEntitySpotLights( KBOOL SL );
288  KBOOL IsEntitySpotLightsOn() const;
289 
290  //************************************
291  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntityInteriorLights
292  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityInteriorLightsOn
293  //!Description: Are the vehicles interior lights turned on? True = On, False = Off.
294  // Parameter: KBOOL IL
295  //************************************
296  void SetEntityInteriorLights( KBOOL IL );
297  KBOOL IsEntityInteriorLightsOn() const;
298 
299  //************************************
300  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntitySurrdenderState
301  // KDIS::DATA_TYPE::LandPlatformAppearance::HasEntitySurrendered
302  //!Description: Has the vehicle occupant surrendered?
303  //! True = Surrendered, False = Not Surrendered.
304  // Parameter: KBOOL SS
305  //************************************
306  void SetEntitySurrdenderState( KBOOL SS );
307  KBOOL HasEntitySurrendered() const;
308 
309  //************************************
310  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::SetEntitySurrdenderState
311  // KDIS::DATA_TYPE::LandPlatformAppearance::IsEntityMaskedCloaked
312  //!Description: Is the entity masked/cloaked or not.
313  //! True = Masked/Cloaked, False = Not Masked/Cloaked.
314  // Parameter: KBOOL MC
315  //************************************
316  void SetEntityMaskedCloaked( KBOOL MC );
317  KBOOL IsEntityMaskedCloaked() const;
318 
319  //************************************
320  // FullName: KDIS::DATA_TYPE::LandPlatformAppearance::GetAsString
321  //!Description: Returns a string representation
322  //************************************
323  KString GetAsString() const;
324 
325  KBOOL operator == ( const LandPlatformAppearance & Value ) const;
326  KBOOL operator != ( const LandPlatformAppearance & Value ) const;
327 };
328 
329 } // END namespace DATA_TYPES
330 } // END namespace KDIS
331 
unsigned int KUINT32
Definition: KDefines.h:103
EntityTrailingEffect
Definition: EnumEntityInfoInteraction.h:667
EntityPaintScheme
Definition: EnumEntityInfoInteraction.h:630
EntityCamouflage
Definition: EnumEntityInfoInteraction.h:722
EntityDamage
Definition: EnumEntityInfoInteraction.h:641
Definition: EnumEmitter.h:949
EntitySmoke
Definition: EnumEntityInfoInteraction.h:654
EntityHatchState
Definition: EnumEntityInfoInteraction.h:680
Definition: LandPlatformAppearance.h:53
bool KBOOL
Definition: KDefines.h:119
std::string KString
Definition: KDefines.h:116
#define KDIS_EXPORT
Definition: KDefines.h:82