Subversion Repositories spk

Rev

Rev 211 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 211 Rev 216
Line 70... Line 70...
70
			this->ComboCockpitStd->Items->Add(_US(cockpit));
70
			this->ComboCockpitStd->Items->Add(_US(cockpit));
71
		}
71
		}
72
 
72
 
73
		this->ComboCockpitCustom->Items->Clear();
73
		this->ComboCockpitCustom->Items->Clear();
74
		for ( SCockpit *c = m_pShipFile->GetCockpits()->First(); c; c = m_pShipFile->GetCockpits()->Next() )
74
		for ( SCockpit *c = m_pShipFile->GetCockpits()->First(); c; c = m_pShipFile->GetCockpits()->Next() )
75
			this->ComboCockpitCustom->Items->Add(_US(c->sCockpit.token(";", 19)));
75
			this->ComboCockpitCustom->Items->Add(_US(c->sCockpit.token(L";", 19)));
76
	}
76
	}
77
 
77
 
78
	void CustomiseTurret::UpdateTurrets()
78
	void CustomiseTurret::UpdateTurrets()
79
	{
79
	{
80
		this->ListTurret->Items->Clear();
80
		this->ListTurret->Items->Clear();
Line 128... Line 128...
128
	void CustomiseTurret::UpdateCockpitDisplay2()
128
	void CustomiseTurret::UpdateCockpitDisplay2()
129
	{
129
	{
130
		m_pCurrentCockpit = m_pShipFile->FindCockpit(_S(ComboCockpitCustom->Text));
130
		m_pCurrentCockpit = m_pShipFile->FindCockpit(_S(ComboCockpitCustom->Text));
131
		if ( m_pCurrentCockpit )
131
		if ( m_pCurrentCockpit )
132
		{
132
		{
133
			this->TextCockpitScene->Text = _US(m_pCurrentCockpit->sCockpit.token(";", 8));
133
			this->TextCockpitScene->Text = _US(m_pCurrentCockpit->sCockpit.token(L";", 8));
134
			this->UpdateCockpitWeaponsList();
134
			this->UpdateCockpitWeaponsList();
135
		}
135
		}
136
	}
136
	}
137
	void CustomiseTurret::UpdateCockpitWeaponsList()
137
	void CustomiseTurret::UpdateCockpitWeaponsList()
138
	{
138
	{
Line 144... Line 144...
144
		bool oldUpdate = m_bUpdateing;
144
		bool oldUpdate = m_bUpdateing;
145
		m_bUpdateing = true;
145
		m_bUpdateing = true;
146
 
146
 
147
		bool added = false;
147
		bool added = false;
148
 
148
 
149
		CyStringList List;
149
		Utils::WStringList List;
150
		int mask = -1;
150
		int mask = -1;
151
		if ( this->ComboGameCockpit->SelectedIndex > 0 )
151
		if ( this->ComboGameCockpit->SelectedIndex > 0 )
152
		{
152
		{
153
			this->CheckWeaponDefaultCockpit->Visible = true;
153
			this->CheckWeaponDefaultCockpit->Visible = true;
154
			for ( SWeaponMask *m = m_pCurrentCockpit->lWeaponMask.First(); m; m = m_pCurrentCockpit->lWeaponMask.Next() )
154
			for ( SWeaponMask *m = m_pCurrentCockpit->lWeaponMask.First(); m; m = m_pCurrentCockpit->lWeaponMask.Next() )
Line 161... Line 161...
161
			}
161
			}
162
			this->CheckWeaponDefaultCockpit->Checked = (mask == -1) ? true : false;
162
			this->CheckWeaponDefaultCockpit->Checked = (mask == -1) ? true : false;
163
		}
163
		}
164
		else
164
		else
165
		{
165
		{
166
			mask = m_pCurrentCockpit->sCockpit.token(";", 9);
166
			mask = m_pCurrentCockpit->sCockpit.token(L";", 9);
167
			this->CheckWeaponDefaultCockpit->Visible = false;
167
			this->CheckWeaponDefaultCockpit->Visible = false;
168
			this->CheckWeaponDefaultCockpit->Checked = false;
168
			this->CheckWeaponDefaultCockpit->Checked = false;
169
		}
169
		}
170
		if ( mask == -1 ) mask = 0;
170
		if ( mask == -1 ) mask = 0;
171
		
171
		
Line 173... Line 173...
173
		{
173
		{
174
			CGameDirectories *gameDir = ((CustomiseShip ^)m_pParent)->gameDirectories();
174
			CGameDirectories *gameDir = ((CustomiseShip ^)m_pParent)->gameDirectories();
175
			gameDir->setSelectedGameDirectory(this->ComboGameCockpit->SelectedIndex, true);
175
			gameDir->setSelectedGameDirectory(this->ComboGameCockpit->SelectedIndex, true);
176
			for ( std::pair<Utils::WString, Utils::WString> laser = gameDir->firstLaser(); !laser.first.empty(); laser = gameDir->nextLaser() ) {
176
			for ( std::pair<Utils::WString, Utils::WString> laser = gameDir->firstLaser(); !laser.first.empty(); laser = gameDir->nextLaser() ) {
177
				Utils::WString group = laser.first.token(L";", 6);
177
				Utils::WString group = laser.first.token(L";", 6);
178
				SStringList *found = List.FindString(group.toString());
178
				Utils::WStringNode *found = List[group];
179
				if ( found ) {
179
				if ( found ) {
180
					found->data += ", ";
180
					found->data += L", ";
181
					found->data += laser.second.toString();
181
					found->data += laser.second;
182
				}
182
				}
183
				else
183
				else
184
					List.PushBack(CyString(group.toString()), CyString(laser.second.toString()));
184
					List.pushBack(group, laser.second);
185
			}
185
			}
186
			gameDir->reselectTemporaryDirectory();
186
			gameDir->reselectTemporaryDirectory();
187
		}
187
		}
188
 
188
 
189
		for ( int i = 0; i < 32; i++ )
189
		for (size_t i = 0; i < 32; i++ )
190
		{
190
		{
191
			if ( List.Count() > i )
191
			if ( List.size() > i )
192
			{
192
			{
193
				ListViewItem ^item = gcnew ListViewItem(_US(List.GetAt(i)->str.ToString()));
193
				ListViewItem ^item = gcnew ListViewItem(_US(List[i]->str));
194
				item->SubItems->Add(_US(List.GetAt(i)->data.ToString()));
194
				item->SubItems->Add(_US(List[i]->data));
195
				this->ListWeaponCockpit->Items->Add(item);
195
				this->ListWeaponCockpit->Items->Add(item);
196
				item->Tag = i;
196
				item->Tag = i;
197
				if ( mask & (1 << i) )
197
				if ( mask & (1 << i) )
198
					item->Checked = true;
198
					item->Checked = true;
199
				added = true;
199
				added = true;
Line 264... Line 264...
264
			mask += (1 << Convert::ToInt32(item->Tag));
264
			mask += (1 << Convert::ToInt32(item->Tag));
265
		}
265
		}
266
 
266
 
267
		// edit the default lasers
267
		// edit the default lasers
268
		if ( !this->ComboGameCockpit->SelectedIndex )
268
		if ( !this->ComboGameCockpit->SelectedIndex )
269
			m_pCurrentCockpit->sCockpit = m_pCurrentCockpit->sCockpit.replaceToken(";", 9, (long)mask);
269
			m_pCurrentCockpit->sCockpit = m_pCurrentCockpit->sCockpit.replaceToken(L";", 9, (long)mask);
270
		// otherwise adjust for the game
270
		// otherwise adjust for the game
271
		else
271
		else
272
		{
272
		{
273
			bool found = false;
273
			bool found = false;
274
			for ( SWeaponMask *m = m_pCurrentCockpit->lWeaponMask.First(); m; m = m_pCurrentCockpit->lWeaponMask.Next() )
274
			for ( SWeaponMask *m = m_pCurrentCockpit->lWeaponMask.First(); m; m = m_pCurrentCockpit->lWeaponMask.Next() )