1 /** 2 * @file 3 * @brief XML tag constants for savegame. 4 */ 5 6 /* 7 Copyright (C) 2002-2011 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" 87 static const constListEntry_t saveAircraftConstants[] = { 88 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::none", AIR_NONE}, 89 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::refuel", AIR_REFUEL}, 90 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::home", AIR_HOME}, 91 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::idle", AIR_IDLE}, 92 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::transit", AIR_TRANSIT}, 93 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::mission", AIR_MISSION}, 94 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::ufo", AIR_UFO}, 95 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::drop", AIR_DROP}, 96 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::intercept", AIR_INTERCEPT}, 97 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::transfer", AIR_TRANSFER}, 98 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::returning", AIR_RETURNING}, 99 {SAVE_AIRCRAFTSTATUS_NAMESPACE"::crashed", AIR_CRASHED}, 100 101 {SAVE_AIRCRAFTSTAT_NAMESPACE"::speed", AIR_STATS_SPEED}, 102 {SAVE_AIRCRAFTSTAT_NAMESPACE"::maxspeed", AIR_STATS_MAXSPEED}, 103 {SAVE_AIRCRAFTSTAT_NAMESPACE"::shield", AIR_STATS_SHIELD}, 104 {SAVE_AIRCRAFTSTAT_NAMESPACE"::ecm", AIR_STATS_ECM}, 105 {SAVE_AIRCRAFTSTAT_NAMESPACE"::damage", AIR_STATS_DAMAGE}, 106 {SAVE_AIRCRAFTSTAT_NAMESPACE"::accuracy", AIR_STATS_ACCURACY}, 107 {SAVE_AIRCRAFTSTAT_NAMESPACE"::fuelsize", AIR_STATS_FUELSIZE}, 108 {SAVE_AIRCRAFTSTAT_NAMESPACE"::weaponrange", AIR_STATS_WRANGE}, 109 {SAVE_AIRCRAFTSTAT_NAMESPACE"::antimatter", AIR_STATS_ANTIMATTER}, 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 */ 218