00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00034 #include "../Include/UserVehicles.h"
00035 #include "../Include/Utility.h"
00036
00037
00038 CHelicopter::CHelicopter (const char* nfoFilename)
00039 {
00040
00041 SStream s;
00042 strcpy (s.filename, "World\\");
00043 strcat (s.filename, nfoFilename);
00044 strcpy (s.mode, "r");
00045 if (OpenStream (&s)) {
00046 ReadFrom (this, &s);
00047 } else {
00048 gtfo ("CHelicopter::CHelicopter : Could not open NFO stream");
00049 }
00050 }
00051
00052 int CHelicopter::Read (SStream *stream, Tag tag)
00053 {
00054 int rc = TAG_IGNORED;
00055 char s[256];
00056
00057 switch (tag) {
00058 case 'sign':
00059
00060 ReadString (s, 256, stream);
00061 break;
00062
00063 case 'make':
00064
00065 ReadString (make, sizeof(make), stream);
00066 break;
00067
00068 case 'icon':
00069
00070 ReadString (iconFilename, sizeof(iconFilename), stream);
00071 break;
00072
00073 case 'CLAS':
00074
00075 ReadInt (&classification, stream);
00076 break;
00077
00078 case 'USAG':
00079
00080 ReadInt (&usage, stream);
00081 break;
00082
00083 case '_SVH':
00084
00085 ReadString (svhFilename, sizeof(svhFilename), stream);
00086 break;
00087
00088 case '_GAS':
00089
00090 ReadString (gasFilename, sizeof(svhFilename), stream);
00091 break;
00092
00093 case '_WNG':
00094
00095 ReadString (wngFilename, sizeof(wngFilename), stream);
00096 break;
00097
00098 case '_AMP':
00099
00100 ReadString (ampFilename, sizeof(ampFilename), stream);
00101 break;
00102
00103 case '_PSS':
00104
00105 ReadString (pssFilename, sizeof(pssFilename), stream);
00106 break;
00107
00108 case '_WHL':
00109
00110 ReadString (whlFilename, sizeof(whlFilename), stream);
00111 break;
00112
00113 case '_VLD':
00114
00115 ReadString (vldFilename, sizeof(vldFilename), stream);
00116 break;
00117
00118 case '_PIT':
00119
00120 ReadString (pitFilename, sizeof(pitFilename), stream);
00121 break;
00122
00123 case '_CAM':
00124
00125 ReadString (camFilename, sizeof(camFilename), stream);
00126 break;
00127
00128 case '_LOD':
00129
00130 ReadString (lodFilename, sizeof(lodFilename), stream);
00131 break;
00132
00133 case '_RDO':
00134
00135 ReadString (rdoFilename, sizeof(rdoFilename), stream);
00136 break;
00137
00138 case '_ELT':
00139
00140 ReadString (eltFilename, sizeof(eltFilename), stream);
00141 break;
00142
00143 case '_ENG':
00144
00145 ReadString (engFilename, sizeof(engFilename), stream);
00146 break;
00147
00148 case '_RTR':
00149
00150 ReadString (rtrFilename, sizeof(rtrFilename), stream);
00151 break;
00152
00153 case '_MIX':
00154
00155 ReadString (mixFilename, sizeof(mixFilename), stream);
00156 break;
00157
00158 case '_CKL':
00159
00160 ReadString (cklFilename, sizeof(cklFilename), stream);
00161 break;
00162
00163 case '_FCS':
00164
00165 ReadString (fcsFilename, sizeof(fcsFilename), stream);
00166 break;
00167
00168 case '_SWD':
00169
00170 ReadString (swdFilename, sizeof(swdFilename), stream);
00171 break;
00172
00173 case '_SIT':
00174
00175 ReadString (sitFilename, sizeof(sitFilename), stream);
00176 break;
00177
00178 default:
00179 {
00180 char tagstring[8];
00181 TagToString (tagstring, tag);
00182 gtfo ("CAirplane::Read : Unknown tag %s", tagstring);
00183 }
00184 }
00185
00186 return rc;
00187 }
00188
00189
00190 void CHelicopter::ReadFinished (void)
00191 {
00192 SStream s;
00193
00194
00195 strcpy (s.filename, "World\\");
00196 strcat (s.filename, svhFilename);
00197 strcpy (s.mode, "r");
00198 if (OpenStream (&s)) {
00199
00200 CloseStream (&s);
00201 }
00202
00203
00204 strcpy (s.filename, "World\\");
00205 strcat (s.filename, wngFilename);
00206 if (OpenStream (&s)) {
00207
00208 CloseStream (&s);
00209 }
00210
00211
00212 strcpy (s.filename, "World\\");
00213 strcat (s.filename, ampFilename);
00214 if (OpenStream (&s)) {
00215
00216 CloseStream (&s);
00217 }
00218
00219
00220 strcpy (s.filename, "World\\");
00221 strcat (s.filename, pssFilename);
00222 if (OpenStream (&s)) {
00223 CloseStream (&s);
00224 }
00225
00226
00227 strcpy (s.filename, "World\\");
00228 strcat (s.filename, whlFilename);
00229 if (OpenStream (&s)) {
00230 CloseStream (&s);
00231 }
00232
00233
00234 strcpy (s.filename, "World\\");
00235 strcat (s.filename, vldFilename);
00236 if (OpenStream (&s)) {
00237 CloseStream (&s);
00238 }
00239
00240
00241 strcpy (s.filename, "World\\");
00242 strcat (s.filename, pitFilename);
00243 if (OpenStream (&s)) {
00244 CloseStream (&s);
00245 }
00246
00247
00248 strcpy (s.filename, "World\\");
00249 strcat (s.filename, camFilename);
00250 if (OpenStream (&s)) {
00251 CloseStream (&s);
00252 }
00253
00254
00255 strcpy (s.filename, "World\\");
00256 strcat (s.filename, lodFilename);
00257 if (OpenStream (&s)) {
00258 CloseStream (&s);
00259 }
00260
00261
00262 strcpy (s.filename, "World\\");
00263 strcat (s.filename, rdoFilename);
00264 if (OpenStream (&s)) {
00265 CloseStream (&s);
00266 }
00267
00268
00269 strcpy (s.filename, "World\\");
00270 strcat (s.filename, eltFilename);
00271 if (OpenStream (&s)) {
00272 CloseStream (&s);
00273 }
00274
00275
00276 strcpy (s.filename, "World\\");
00277 strcat (s.filename, engFilename);
00278 if (OpenStream (&s)) {
00279 CloseStream (&s);
00280 }
00281
00282
00283 strcpy (s.filename, "World\\");
00284 strcat (s.filename, mixFilename);
00285 if (OpenStream (&s)) {
00286 CloseStream (&s);
00287 }
00288
00289
00290 strcpy (s.filename, "World\\");
00291 strcat (s.filename, cklFilename);
00292 if (OpenStream (&s)) {
00293 CloseStream (&s);
00294 }
00295
00296
00297 strcpy (s.filename, "World\\");
00298 strcat (s.filename, fcsFilename);
00299 if (OpenStream (&s)) {
00300 CloseStream (&s);
00301 }
00302
00303
00304 strcpy (s.filename, "World\\");
00305 strcat (s.filename, swdFilename);
00306 if (OpenStream (&s)) {
00307 CloseStream (&s);
00308 }
00309 }
00310
00311
00312 void CHelicopter::Write (SStream *stream)
00313 {
00314
00315 }
00316
00317
00318