Subversion Repositories spk

Rev

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

Rev 1 Rev 94
Line 6... Line 6...
6
	{
6
	{
7
		this->Dock = System::Windows::Forms::DockStyle::Fill;
7
		this->Dock = System::Windows::Forms::DockStyle::Fill;
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
	}
-
 
12
 
-
 
13
	void _addToList(CyStringList *list, std::pair<Utils::String, Utils::String> &pair, int idPos)
-
 
14
	{
-
 
15
		Utils::String group = pair.first.token(";", idPos);
-
 
16
		SStringList *found = list->FindString(group);
-
 
17
		if ( found ) {
-
 
18
			found->data += ", ";
-
 
19
			found->data += pair.second;
-
 
20
		}
-
 
21
		else
-
 
22
			list->PushBack(CyString(group), CyString(pair.second));
11
	}
23
	}
12
 
24
 
13
	void CustomiseWeapons::UpdateWeaponsList()
25
	void CustomiseWeapons::UpdateWeaponsList()
14
	{
26
	{
15
		m_bUpdating = true;
27
		m_bUpdating = true;
16
 
28
 
17
		this->ListWeapons->Items->Clear();
29
		this->ListWeapons->Items->Clear();
18
		bool added = false;
30
		bool added = false;
19
 
31
 
20
		CyStringList List;
32
		CyStringList List;
21
		CyStringList *list = NULL;
-
 
22
		int idPos = 23;
33
		int idPos = 23;
23
 
34
 
24
		int mask = 0;
35
		int mask = 0;
25
 
36
 
-
 
37
		CGameDirectories *gameDir = ((CustomiseShip ^)m_pParent)->gameDirectories();
-
 
38
 
26
		if ( this->ComboGameLaser->SelectedIndex > 0 )
39
		if ( this->ComboGameLaser->SelectedIndex > 0 )
27
		{
40
		{
28
			this->CheckWeaponDefault->Visible = true;
41
			this->CheckWeaponDefault->Visible = true;
29
			this->ButCopyDefault->Visible = true;
42
			this->ButCopyDefault->Visible = true;
30
			if ( this->RadioMissiles->Checked )
-
 
31
			{
-
 
32
				list = ((CustomiseShip ^)m_pParent)->GetMissiles(this->ComboGameLaser->SelectedIndex);
-
 
33
				idPos = 37;
-
 
34
			}
-
 
35
			else
-
 
36
				list = ((CustomiseShip ^)m_pParent)->GetLasers(this->ComboGameLaser->SelectedIndex);
-
 
37
 
43
 
38
			for ( SWeaponMasks *m = m_pWeapons->First(); m; m = m_pWeapons->Next() )
44
			for ( SWeaponMasks *m = m_pWeapons->First(); m; m = m_pWeapons->Next() )
39
			{
45
			{
40
				if ( m->iGame == this->ComboGameLaser->SelectedIndex )
46
				if ( m->iGame == this->ComboGameLaser->SelectedIndex )
41
				{
47
				{
42
					if ( this->RadioMissiles->Checked )
48
					if ( this->RadioMissiles->Checked )
43
						mask = m->iMissileMask;
49
						mask = m->iMissileMask;
44
					else
50
					else
45
						mask = m->iLaserMask;
51
						mask = m->iLaserMask;
46
					break;
52
					break;
47
				}
53
				}
48
			}
54
			}
49
			this->CheckWeaponDefault->Checked = (mask == -1) ? true : false;
55
			this->CheckWeaponDefault->Checked = (mask == -1) ? true : false;
50
		}
56
		}
51
		else
57
		else
52
		{
58
		{
53
			this->ButCopyDefault->Visible = false;
59
			this->ButCopyDefault->Visible = false;
Line 59... Line 65...
59
				mask = m_pShipData->iLaserMask;
65
				mask = m_pShipData->iLaserMask;
60
		}
66
		}
61
 
67
 
62
		if ( mask == -1 ) mask = 0;
68
		if ( mask == -1 ) mask = 0;
63
 
69
 
64
		if ( list )
70
		if ( this->ComboGameLaser->SelectedIndex > 0 )
65
		{
71
		{
66
			for ( SStringList *strNode = list->Head(); strNode; strNode = strNode->next )
-
 
67
			{
72
			
68
				CyString id = strNode-&gt;str.GetToken(&quot;;";, 6, 6);
73
			gameDir-&gt;setSelectedGameDirectory(this-&gt;ComboGameLaser->SelectedIndex, true);
69
				SStringList *found = List.FindString(id);
74
			if ( !this->RadioMissiles->;Checked ) {
70
				CyString str = (strNode->data.Empty()) ? strNode->str.GetToken(";", idPos, idPos) : strNode->data;
75
				for ( std::pair<Utils::String, Utils::String> laser = gameDir->firstLaser(); !laser.first.empty(); laser = gameDir->nextLaser() ) {
71
				if ( found )
76
					_addToList(&List, laser, 6);
72
				{
77
				}
-
 
78
			}
73
					found->data += ", ";
79
			else {
-
 
80
				for ( std::pair<Utils::String, Utils::String> missile = gameDir->firstMissile(); !missile.first.empty(); missile = gameDir->nextMissile() ) {
74
					found-&gt;data += str;
81
					_addToList(&amp;List, missile, 6);
75
				}
82
				}
76
				else
-
 
77
					List.PushBack(id, str);
-
 
78
			}
83
			}
-
 
84
			gameDir->reselectTemporaryDirectory();
79
		}
85
		}
80
 
86
 
81
		for ( int i = 0; i < 32; i++ )
87
		for ( int i = 0; i < 32; i++ )
82
		{
88
		{
83
			if ( List.Count() > i )
89
			if ( List.Count() > i )