UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
save_aircraft.h
Go to the documentation of this file.
1 
6 /*
7 Copyright (C) 2002-2020 UFO: Alien Invasion.
8 
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License
11 as published by the Free Software Foundation; either version 2
12 of the License, or (at your option) any later version.
13 
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17 
18 See the GNU General Public License for more details.
19 
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 */
24 
25 #pragma once
26 
27 #define SAVE_AIRCRAFT_UFOS "UFOs"
28 #define SAVE_AIRCRAFT_PHALANX "aircraft"
29 #define SAVE_AIRCRAFT_NUMAIRCRAFT "numAircraft"
30 
31 #define SAVE_AIRCRAFT_AIRCRAFT "craft"
32 #define SAVE_AIRCRAFT_ID "id"
33 #define SAVE_AIRCRAFT_NAME "name"
34 #define SAVE_AIRCRAFT_IDX "idx"
35 
36 #define SAVE_AIRCRAFT_STATUS "status"
37 #define SAVE_AIRCRAFT_HOMEBASE "homebase"
38 
39 #define SAVE_AIRCRAFT_FUEL "fuel"
40 #define SAVE_AIRCRAFT_DAMAGE "damage"
41 #define SAVE_AIRCRAFT_POS "pos"
42 #define SAVE_AIRCRAFT_DIRECTION "direction"
43 #define SAVE_AIRCRAFT_POINT "point"
44 #define SAVE_AIRCRAFT_TIME "time"
45 
46 #define SAVE_AIRCRAFT_MISSIONID "missionid"
47 #define SAVE_AIRCRAFT_DETECTIONIDX "detectionIDX"
48 #define SAVE_AIRCRAFT_LASTSPOTTED_DATE "lastSpottedDate"
49 
50 #define SAVE_AIRCRAFT_AIRCRAFTTARGET "aircraftTarget"
51 
52 #define SAVE_AIRCRAFT_AIRSTATS "airstats"
53 #define SAVE_AIRCRAFT_AIRSTAT "stat"
54 #define SAVE_AIRCRAFT_AIRSTATID "id"
55 #define SAVE_AIRCRAFT_VAL "val"
56 
57 #define SAVE_AIRCRAFT_DETECTED "detected"
58 #define SAVE_AIRCRAFT_LANDED "landed"
59 
60 #define SAVE_AIRCRAFT_AIRCRAFTTEAM "aircraftTeam"
61 #define SAVE_AIRCRAFT_MEMBER "member"
62 #define SAVE_AIRCRAFT_TEAM_UCN "ucn"
63 
64 #define SAVE_AIRCRAFT_PILOTUCN "pilotUCN"
65 
66 #define SAVE_AIRCRAFT_CARGO "cargo"
67 
68 #define SAVE_AIRCRAFT_ITEM "item"
69 #define SAVE_AIRCRAFT_ITEMID "itemid"
70 #define SAVE_AIRCRAFT_AMOUNT "amount"
71 
72 #define SAVE_AIRCRAFT_ALIENCARGO "alienCargo"
73 
74 #define SAVE_AIRCRAFT_ROUTE "route"
75 #define SAVE_AIRCRAFT_ROUTE_DISTANCE "distance"
76 #define SAVE_AIRCRAFT_ROUTE_POINT "point"
77 
78 #define SAVE_AIRCRAFT_WEAPONS "weapons"
79 #define SAVE_AIRCRAFT_SHIELDS "shields"
80 #define SAVE_AIRCRAFT_ELECTRONICS "electronics"
81 #define SAVE_AIRCRAFT_SLOT "slot"
82 
83 #define SAVE_AIRCRAFT_PROJECTILES "projectiles"
84 
85 #define SAVE_AIRCRAFTSTATUS_NAMESPACE "saveAircraftStatus"
86 #define SAVE_AIRCRAFTSTAT_NAMESPACE "saveAircraftStat"
100 
110 
111  {nullptr, -1}
112 };
113 
114 /*
115 DTD:
116 
117 <!ELEMENT aircraft craft*>
118 <!ELEMENT UFOs craft*>
119 <!ELEMENT craft >
120 <!ATTLIST craft (pos direction weapons shields electronics route lastSpottedDate? airstats aircraftTeam cargo alienCargo)
121  id CDATA #REQUIRED
122  name CDATA #IMPLIED
123  status (none,refuel,home,idle,
124  transit,mission,ufo,
125  drop,intercept,transfer,
126  returning) #REQUIRED
127  homebase CDATA #IMPLIED
128  fuel CDATA '0'
129  damage CDATA '0'
130  point CDATA '0'
131  time CDATA '0'
132  missionid CDATA #IMPLIED
133  detectionIDX CDATA #IMPLIED
134  detected CDATA 'false'
135  landed CDATA 'false'
136  aircraftTarget CDATA #IMPLIED
137 
138  idx CDATA #REQUIRED
139  pilotUCN CDATA #IMPLIED
140 
141  radarRange CDATA '0'
142  radarTrackingRange CDATA '0'
143 >
144 ** Note: idx is required for Phalanx crafts only
145 
146 <!ELEMENT pos EMPTY>
147 <!ATTLIST pos
148  x CDATA '0.0'
149  y CDATA '0.0'
150  z CDATA '0.0'
151 >
152 
153 <!ELEMENT direction EMPTY>
154 <!ATTLIST direction
155  x CDATA '0.0'
156  y CDATA '0.0'
157  z CDATA '0.0'
158 >
159 
160 <!ELEMENT route point*>
161 <!ATTLIST route
162  distance CDATA '0.0'
163 >
164 
165 <!ELEMENT point EMPTY>
166 <!ATTLIST point
167  x CDATA '0.0'
168  y CDATA '0.0'
169 >
170 
171 <!ELEMENT lastSpottedDate EMPTY>
172 <!ATTLIST lastSpottedDate
173  day CDATA '0'
174  sec CDATA '0'
175 >
176 
177 <!ELEMENT weapons slot*>
178 <!ELEMENT shields slot>
179 <!ELEMENT electronics slot*>
180 <!ELEMENT slot EMPTY>
181 **Note: ATTLIST of slot is defined in save_fightequip.h
182 
183 <!ELEMENT airstats airstat*>
184 <!ELEMENT airstat EMPTY>
185 <!ATTLIST airstat
186  id (speed,maxspeed,shield,
187  ecm,damage,accuracy,
188  fuelsize,weaponrange,
189  antimatter) #REQUIRED
190  val CDATA '0'
191 >
192 
193 <!ELEMENT aircraftTeam member*>
194 <!ELEMENT member EMPTY>
195 <!ATTLIST member
196  ucn CDATA #IMPLIED
197 >
198 
199 <!ELEMENT cargo item*>
200 <!ELEMENT item EMPTY>
201 <!ATTLIST item
202  itemid CDATA #REQUIRED
203  amount CDATA '0'
204 >
205 
206 <!ELEMENT alienCargo cargo*>
207 <!ELEMENT cargo EMPTY>
208 <!ATTLIST cargo
209  teamdefid CDATA #REQUIRED
210  alive CDATA '0'
211  dead CDATA '0'
212 >
213 
214 <!ELEMENT projectiles projectile*>
215 **Note: projectile is defined in save_airfight.h
216 
217 */
list of script aliases to register
Definition: scripts.h:232
static const constListEntry_t saveAircraftConstants[]
Definition: save_aircraft.h:87
#define SAVE_AIRCRAFTSTAT_NAMESPACE
Definition: save_aircraft.h:86
#define SAVE_AIRCRAFTSTATUS_NAMESPACE
Definition: save_aircraft.h:85