Subversion Repositories spk

Rev

Rev 197 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 197 Rev 216
Line 8... Line 8...
8
 
8
 
9
		this->ComboGameLaser->Items->Clear();
9
		this->ComboGameLaser->Items->Clear();
10
		this->ComboGameLaser->Items->Add("- Default -");
10
		this->ComboGameLaser->Items->Add("- Default -");
11
	}
11
	}
12
 
12
 
13
	void _addToList(CyStringList *list, std::pair<Utils::WString, Utils::WString> &pair, int idPos)
13
	void _addToList(Utils::WStringList &list, std::pair<Utils::WString, Utils::WString> &pair, int idPos)
14
	{
14
	{
15
		Utils::WString group = pair.first.token(L";", idPos);
15
		Utils::WString group = pair.first.token(L";", idPos);
16
		SStringList *found = list->FindString(group.toString());
16
		if (list.contains(group))
17
		if ( found ) {
17
		{
18
			found->data += ", ";
18
			Utils::WString data = list.findString(group);
19
			found-&gt;data += pair.second.toString();
19
			list.changeData(group, data + L", &quot; + pair.second);
20
		}
20
		}
21
		else
21
		else
22
			list->PushBack(CyString(group.toString()), CyString(pair.second.toString()));
22
			list.pushBack(group, pair.second);
23
	}
23
	}
24
 
24
 
25
	void CustomiseWeapons::UpdateWeaponsList()
25
	void CustomiseWeapons::UpdateWeaponsList()
26
	{
26
	{
27
		m_bUpdating = true;
27
		m_bUpdating = true;
28
 
28
 
29
		this->ListWeapons->Items->Clear();
29
		this->ListWeapons->Items->Clear();
30
		bool added = false;
30
		bool added = false;
31
 
31
 
32
		CyStringList List;
32
		Utils::WStringList List;
33
		int idPos = 23;
33
		int idPos = 23;
34
 
34
 
35
		int mask = 0;
35
		int mask = 0;
36
		int defaultMask = 0;
36
		int defaultMask = 0;
37
 
37
 
Line 80... Line 80...
80
				((CustomiseShip ^)m_pParent)->LoadText(gameDir->selectedVFS());
80
				((CustomiseShip ^)m_pParent)->LoadText(gameDir->selectedVFS());
81
		}
81
		}
82
 
82
 
83
		if ( !this->RadioMissiles->Checked ) {
83
		if ( !this->RadioMissiles->Checked ) {
84
			for ( std::pair<Utils::WString, Utils::WString> laser = gameDir->firstLaser(); !laser.first.empty(); laser = gameDir->nextLaser() ) {
84
			for ( std::pair<Utils::WString, Utils::WString> laser = gameDir->firstLaser(); !laser.first.empty(); laser = gameDir->nextLaser() ) {
85
				_addToList(&List, laser, 6);
85
				_addToList(List, laser, 6);
86
			}
86
			}
87
		}
87
		}
88
		else {
88
		else {
89
			for ( std::pair<Utils::WString, Utils::WString> missile = gameDir->firstMissile(); !missile.first.empty(); missile = gameDir->nextMissile() ) {
89
			for ( std::pair<Utils::WString, Utils::WString> missile = gameDir->firstMissile(); !missile.first.empty(); missile = gameDir->nextMissile() ) {
90
				_addToList(&List, missile, 6);
90
				_addToList(List, missile, 6);
91
			}
91
			}
92
		}
92
		}
93
		if ( this->ComboGameLaser->SelectedIndex > 0 )
93
		if ( this->ComboGameLaser->SelectedIndex > 0 )
94
			gameDir->reselectTemporaryDirectory();
94
			gameDir->reselectTemporaryDirectory();
95
 
95
 
96
		if ( this->ComboGameLaser->SelectedIndex > 0 && this->CheckWeaponDefault->Checked )
96
		if ( this->ComboGameLaser->SelectedIndex > 0 && this->CheckWeaponDefault->Checked )
97
			mask = defaultMask;
97
			mask = defaultMask;
98
 
98
 
99
		for ( int i = 0; i < 32; i++ )
99
		for (size_t i = 0; i < 32; i++ )
100
		{
100
		{
101
			if ( List.Count() > i )
101
			if ( List.size() > i )
102
			{
102
			{
103
				ListViewItem ^item = gcnew ListViewItem(_US(List.GetAt(i)->str.ToString()));
103
				ListViewItem ^item = gcnew ListViewItem(_US(List[i]->str));
104
				item->SubItems->Add(_US(List.GetAt(i)->data.ToString()));
104
				item->SubItems->Add(_US(List[i]->data));
105
				this->ListWeapons->Items->Add(item);
105
				this->ListWeapons->Items->Add(item);
106
				if ( this->RadioMissiles->Checked )
106
				if ( this->RadioMissiles->Checked )
107
				{
107
				{
108
					if ( List.GetAt(i)->str.IsNumber() )
108
					if ( List[i]->str.isNumber())
109
						item->Tag = List.GetAt(i)->str.ToInt();
109
						item->Tag = List[i]->str.toInt();
110
					else
110
					else
111
						item->Tag = CShipData::ConvertMissileGroupToID(List.GetAt(i)->str.ToString());
111
						item->Tag = CShipData::ConvertMissileGroupToID(List[i]->str);
112
				}
112
				}
113
				else
113
				else
114
					item->Tag = i;
114
					item->Tag = i;
115
 
115
 
116
				int flag = (1 << Convert::ToInt32(item->Tag));
116
				int flag = (1 << Convert::ToInt32(item->Tag));