Line 14... |
Line 14... |
14 |
|
14 |
|
15 |
|
15 |
|
16 |
Utils::WString CShipData::createData() const
|
16 |
Utils::WString CShipData::createData() const
|
17 |
{
|
17 |
{
|
18 |
Utils::WString data = this->sModel;
|
18 |
Utils::WString data = this->sModel;
|
19 |
data.addToken(L";", Utils::WString::Number(this->iPictureID));
|
19 |
data = data.addToken(L";", Utils::WString::Number(this->iPictureID));
|
20 |
data.addToken(L";", Utils::WString::FromFloat(this->fRotX, -1));
|
20 |
data = data.addToken(L";", Utils::WString::FromFloat(this->fRotX, -1));
|
21 |
data.addToken(L";", Utils::WString::FromFloat(this->fRotY, -1));
|
21 |
data = data.addToken(L";", Utils::WString::FromFloat(this->fRotY, -1));
|
22 |
data.addToken(L";", Utils::WString::FromFloat(this->fRotZ, -1));
|
22 |
data = data.addToken(L";", Utils::WString::FromFloat(this->fRotZ, -1));
|
23 |
data.addToken(L";", CShipData::ConvertShipSubType(this->iSubType));
|
23 |
data = data.addToken(L";", CShipData::ConvertShipSubType(this->iSubType));
|
24 |
data.addToken(L";", Utils::WString::Number(this->iDesc));
|
24 |
data = data.addToken(L";", Utils::WString::Number(this->iDesc));
|
25 |
data.addToken(L";", Utils::WString::Number(this->iSpeed));
|
25 |
data = data.addToken(L";", Utils::WString::Number(this->iSpeed));
|
26 |
data.addToken(L";", Utils::WString::Number(this->iAccel));
|
26 |
data = data.addToken(L";", Utils::WString::Number(this->iAccel));
|
27 |
data.addToken(L";", Utils::WString::Number(this->iEngineSound));
|
27 |
data = data.addToken(L";", Utils::WString::Number(this->iEngineSound));
|
28 |
data.addToken(L";", Utils::WString::Number(this->iReactionDelay));
|
28 |
data = data.addToken(L";", Utils::WString::Number(this->iReactionDelay));
|
29 |
data.addToken(L";", Utils::WString::Number(this->iEngineEffect));
|
29 |
data = data.addToken(L";", Utils::WString::Number(this->iEngineEffect));
|
30 |
data.addToken(L";", Utils::WString::Number(this->iEngineGlow));
|
30 |
data = data.addToken(L";", Utils::WString::Number(this->iEngineGlow));
|
31 |
data.addToken(L";", Utils::WString::Number(this->iPower));
|
31 |
data = data.addToken(L";", Utils::WString::Number(this->iPower));
|
32 |
data.addToken(L";", Utils::WString::Number(this->iSoundMin));
|
32 |
data = data.addToken(L";", Utils::WString::Number(this->iSoundMin));
|
33 |
data.addToken(L";", Utils::WString::Number(this->iSoundMax));
|
33 |
data = data.addToken(L";", Utils::WString::Number(this->iSoundMax));
|
34 |
data.addToken(L";", this->sModelScene);
|
34 |
data = data.addToken(L";", this->sModelScene);
|
35 |
data.addToken(L";", this->sCockpitScene);
|
35 |
data = data.addToken(L";", this->sCockpitScene);
|
36 |
data.addToken(L";", Utils::WString::Number(this->iLaserMask));
|
36 |
data = data.addToken(L";", Utils::WString::Number(this->iLaserMask));
|
37 |
data.addToken(L";", Utils::WString::Number(this->iGunCount));
|
37 |
data = data.addToken(L";", Utils::WString::Number(this->iGunCount));
|
38 |
data.addToken(L";", Utils::WString::Number(this->iLaserEnergy));
|
38 |
data = data.addToken(L";", Utils::WString::Number(this->iLaserEnergy));
|
39 |
data.addToken(L";", Utils::WString::FromFloat(this->fLaserRecharge, -1));
|
39 |
data = data.addToken(L";", Utils::WString::FromFloat(this->fLaserRecharge, -1));
|
40 |
data.addToken(L";", Utils::WString::Number(this->iShieldType));
|
40 |
data = data.addToken(L";", Utils::WString::Number(this->iShieldType));
|
41 |
data.addToken(L";", Utils::WString::Number(this->iMaxShields));
|
41 |
data = data.addToken(L";", Utils::WString::Number(this->iMaxShields));
|
42 |
data.addToken(L";", Utils::WString::Number(this->iMissileMask));
|
42 |
data = data.addToken(L";", Utils::WString::Number(this->iMissileMask));
|
43 |
data.addToken(L";", Utils::WString::Number(this->iMissileCount));
|
43 |
data = data.addToken(L";", Utils::WString::Number(this->iMissileCount));
|
44 |
data.addToken(L";", Utils::WString::Number(this->iSpeedExtension));
|
44 |
data = data.addToken(L";", Utils::WString::Number(this->iSpeedExtension));
|
45 |
data.addToken(L";", Utils::WString::Number(this->iSteeringExtension));
|
45 |
data = data.addToken(L";", Utils::WString::Number(this->iSteeringExtension));
|
46 |
data.addToken(L";", Utils::WString::Number(this->iCargoMin));
|
46 |
data = data.addToken(L";", Utils::WString::Number(this->iCargoMin));
|
47 |
data.addToken(L";", Utils::WString::Number(this->iCargoMax));
|
47 |
data = data.addToken(L";", Utils::WString::Number(this->iCargoMax));
|
48 |
data.addToken(L";", Utils::WString::Number(this->iWareListID));
|
48 |
data = data.addToken(L";", Utils::WString::Number(this->iWareListID));
|
49 |
|
49 |
|
50 |
// 6 turrets next
|
50 |
// 6 turrets next
|
51 |
for ( int i = 0; i < 6; i++ )
|
51 |
for ( int i = 0; i < 6; i++ )
|
52 |
{
|
52 |
{
|
53 |
if ( this->cockpits[i].sCockpit.empty() )
|
53 |
if ( this->cockpits[i].sCockpit.empty() )
|
54 |
data.addToken(L";", Utils::WString::Number(this->cockpits[i].iCockpit));
|
54 |
data = data.addToken(L";", Utils::WString::Number(this->cockpits[i].iCockpit));
|
55 |
else
|
55 |
else
|
56 |
{
|
56 |
{
|
57 |
if ( this->cockpits[i].iCockpit > -1 )
|
57 |
if ( this->cockpits[i].iCockpit > -1 )
|
58 |
data.addToken(L";", this->cockpits[i].sCockpit + L"(" + (long)this->cockpits[i].iCockpit + L")");
|
58 |
data = data.addToken(L";", this->cockpits[i].sCockpit + L"(" + (long)this->cockpits[i].iCockpit + L")");
|
59 |
else
|
59 |
else
|
60 |
data.addToken(L";", this->cockpits[i].sCockpit);
|
60 |
data = data.addToken(L";", this->cockpits[i].sCockpit);
|
61 |
}
|
61 |
}
|
62 |
data.addToken(L";", Utils::WString::Number(this->cockpits[i].iPos));
|
62 |
data = data.addToken(L";", Utils::WString::Number(this->cockpits[i].iPos));
|
63 |
}
|
63 |
}
|
64 |
|
64 |
|
65 |
data.addToken(L";", Utils::WString::Number(this->iDocking));
|
65 |
data = data.addToken(L";", Utils::WString::Number(this->iDocking));
|
66 |
data.addToken(L";", Utils::WString::Number(this->iCargoClass));
|
66 |
data = data.addToken(L";", Utils::WString::Number(this->iCargoClass));
|
67 |
data.addToken(L";", Utils::WString::Number(this->iRace));
|
67 |
data = data.addToken(L";", Utils::WString::Number(this->iRace));
|
68 |
data.addToken(L";", Utils::WString::Number(this->iHull));
|
68 |
data = data.addToken(L";", Utils::WString::Number(this->iHull));
|
69 |
data.addToken(L";", Utils::WString::Number(this->iExplosionDef));
|
69 |
data = data.addToken(L";", Utils::WString::Number(this->iExplosionDef));
|
70 |
data.addToken(L";", Utils::WString::Number(this->iExplosionBody));
|
70 |
data = data.addToken(L";", Utils::WString::Number(this->iExplosionBody));
|
71 |
data.addToken(L";", Utils::WString::Number(this->iParticle));
|
71 |
data = data.addToken(L";", Utils::WString::Number(this->iParticle));
|
72 |
data.addToken(L";", Utils::WString::Number(this->iVariation));
|
72 |
data = data.addToken(L";", Utils::WString::Number(this->iVariation));
|
73 |
data.addToken(L";", Utils::WString::Number(this->iRotationAccel));
|
73 |
data = data.addToken(L";", Utils::WString::Number(this->iRotationAccel));
|
74 |
data.addToken(L";", Utils::WString::Number(this->iClass));
|
74 |
data = data.addToken(L";", Utils::WString::Number(this->iClass));
|
75 |
data.addToken(L";", Utils::WString::Number(this->iTurretCount));
|
75 |
data = data.addToken(L";", Utils::WString::Number(this->iTurretCount));
|
76 |
|
76 |
|
77 |
// now do the turrets
|
77 |
// now do the turrets
|
78 |
for ( int i = 0; i < this->iTurretCount; i++ )
|
78 |
for ( int i = 0; i < this->iTurretCount; i++ )
|
79 |
{
|
79 |
{
|
80 |
STurretEntry *t = this->lTurrets[i];
|
80 |
STurretEntry *t = this->lTurrets[i];
|
81 |
data.addToken(L";", Utils::WString::Number(t->iIndex));
|
81 |
data = data.addToken(L";", Utils::WString::Number(t->iIndex));
|
82 |
data.addToken(L";", Utils::WString::Number(t->iTurret));
|
82 |
data = data.addToken(L";", Utils::WString::Number(t->iTurret));
|
83 |
data.addToken(L";", t->sModel);
|
83 |
data = data.addToken(L";", t->sModel);
|
84 |
data.addToken(L";", Utils::WString::Number(t->iSceneNode));
|
84 |
data = data.addToken(L";", Utils::WString::Number(t->iSceneNode));
|
85 |
}
|
85 |
}
|
86 |
|
86 |
|
87 |
// the gun entries next
|
87 |
// the gun entries next
|
88 |
data.addToken(L";", Utils::WString::Number(this->iGunsCount));
|
88 |
data = data.addToken(L";", Utils::WString::Number(this->iGunsCount));
|
89 |
for ( int i = 0; i < this->iGunsCount; i++ )
|
89 |
for ( int i = 0; i < this->iGunsCount; i++ )
|
90 |
{
|
90 |
{
|
91 |
SGunGroup *g = this->lGuns[i];
|
91 |
SGunGroup *g = this->lGuns[i];
|
92 |
data.addToken(L";", Utils::WString::Number(g->iGunIndex));
|
92 |
data = data.addToken(L";", Utils::WString::Number(g->iGunIndex));
|
93 |
data.addToken(L";", Utils::WString::Number(g->iLaserCount));
|
93 |
data = data.addToken(L";", Utils::WString::Number(g->iLaserCount));
|
94 |
data.addToken(L";", Utils::WString::Number(g->iIndex));
|
94 |
data = data.addToken(L";", Utils::WString::Number(g->iIndex));
|
95 |
data.addToken(L";", Utils::WString::Number(g->iWeaponCount));
|
95 |
data = data.addToken(L";", Utils::WString::Number(g->iWeaponCount));
|
96 |
for ( int j = 0; j < g->iWeaponCount; j++ )
|
96 |
for ( int j = 0; j < g->iWeaponCount; j++ )
|
97 |
{
|
97 |
{
|
98 |
SWeaponGroup *w = g->lWeapons[j];
|
98 |
SWeaponGroup *w = g->lWeapons[j];
|
99 |
data.addToken(L";", Utils::WString::Number(w->iGunIndex));
|
99 |
data = data.addToken(L";", Utils::WString::Number(w->iGunIndex));
|
100 |
data.addToken(L";", Utils::WString::Number(w->iLaser));
|
100 |
data = data.addToken(L";", Utils::WString::Number(w->iLaser));
|
101 |
data.addToken(L";", w->sModel1);
|
101 |
data = data.addToken(L";", w->sModel1);
|
102 |
data.addToken(L";", Utils::WString::Number(w->iNode1));
|
102 |
data = data.addToken(L";", Utils::WString::Number(w->iNode1));
|
103 |
data.addToken(L";", w->sModel2);
|
103 |
data = data.addToken(L";", w->sModel2);
|
104 |
data.addToken(L";", Utils::WString::Number(w->iNode2));
|
104 |
data = data.addToken(L";", Utils::WString::Number(w->iNode2));
|
105 |
}
|
105 |
}
|
106 |
}
|
106 |
}
|
107 |
|
107 |
|
108 |
// now the rest of the data
|
108 |
// now the rest of the data
|
109 |
data.addToken(L";", Utils::WString::Number(this->iVolumn));
|
109 |
data = data.addToken(L";", Utils::WString::Number(this->iVolumn));
|
110 |
data.addToken(L";", Utils::WString::Number(this->iRelVal));
|
110 |
data = data.addToken(L";", Utils::WString::Number(this->iRelVal));
|
111 |
data.addToken(L";", Utils::WString::Number(this->iPriceMod1));
|
111 |
data = data.addToken(L";", Utils::WString::Number(this->iPriceMod1));
|
112 |
data.addToken(L";", Utils::WString::Number(this->iPriceMod2));
|
112 |
data = data.addToken(L";", Utils::WString::Number(this->iPriceMod2));
|
113 |
data.addToken(L";", Utils::WString::Number(this->iSize));
|
113 |
data = data.addToken(L";", Utils::WString::Number(this->iSize));
|
114 |
data.addToken(L";", Utils::WString::Number(this->iRelValPlayer));
|
114 |
data = data.addToken(L";", Utils::WString::Number(this->iRelValPlayer));
|
115 |
data.addToken(L";", Utils::WString::Number(this->iMinNoto));
|
115 |
data = data.addToken(L";", Utils::WString::Number(this->iMinNoto));
|
116 |
data.addToken(L";", Utils::WString::Number(this->iVideoID));
|
116 |
data = data.addToken(L";", Utils::WString::Number(this->iVideoID));
|
117 |
data.addToken(L";", Utils::WString::Number(this->iSkin));
|
117 |
data = data.addToken(L";", Utils::WString::Number(this->iSkin));
|
118 |
data.addToken(L";", this->sID);
|
118 |
data = data.addToken(L";", this->sID);
|
119 |
data += L";"; // add the end ;
|
119 |
data += L";"; // add the end ;
|
120 |
|
120 |
|
121 |
return data;
|
121 |
return data;
|
122 |
}
|
122 |
}
|
123 |
|
123 |
|