Subversion Repositories spk

Rev

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

Rev 1 Rev 94
Line 2... Line 2...
2
#include "CustomiseShip.h"
2
#include "CustomiseShip.h"
3
 
3
 
4
#include "Form1.h"
4
#include "Form1.h"
5
 
5
 
6
namespace Creator {
6
namespace Creator {
7
	CyStringList *CustomiseShip::GetShields()
7
	CustomiseShip::CustomiseShip(CXspFile *shipFile, Windows::Forms::Form ^mainForm, CPackages *p, ImageList ^imagesSmall, ImageList ^imagesLarge, CGameDirectories *gameDir)
8
	{
8
	{
-
 
9
		InitializeComponent();
-
 
10
 
-
 
11
		m_bUpdateing = false;
-
 
12
		m_pPackages = p;
-
 
13
		m_pMainForm = mainForm;
-
 
14
		m_pShipFile = shipFile;
-
 
15
		m_pShipData = new CShipData(m_pShipFile->GetShipData());
-
 
16
		m_pWeapons = new CLinkList<SWeaponMasks>;
9
		return ((Form1 ^)m_pMainForm)->GetShields();
17
		m_pModels = m_pShipFile->ReadSceneModels();
-
 
18
 
-
 
19
		this->Text = "Customise Ship: " + SystemStringFromCyString(m_pShipData->sID);
-
 
20
 
-
 
21
		m_pCustomiseInfo = gcnew CustomiseInfo(this, m_pShipData);
-
 
22
		this->tabPage1->Controls->Add(m_pCustomiseInfo);
-
 
23
		m_pCustomisePerformance = gcnew CustomisePerformance(m_pShipData);
-
 
24
		this->tabPage2->Controls->Add(m_pCustomisePerformance);
-
 
25
		m_pCustomiseWeapons1 = gcnew CustomiseWeapons1(this, m_pShipData);
-
 
26
		this->tabPage3->Controls->Add(m_pCustomiseWeapons1);
-
 
27
		m_pCustomiseModel = gcnew CustomiseModel(m_pShipData);
-
 
28
		this->tabPage4->Controls->Add(m_pCustomiseModel);
-
 
29
		m_pCustomiseWeapons = gcnew CustomiseWeapons(this, m_pWeapons, m_pShipData);
-
 
30
		this->tabPage5->Controls->Add(m_pCustomiseWeapons);
-
 
31
		m_pCustomiseGuns = gcnew CustomiseGuns(this, imagesSmall, imagesLarge, m_pShipData, m_pModels);
-
 
32
		this->tabPage7->Controls->Add(m_pCustomiseGuns);
-
 
33
		m_pCustomiseTurret = gcnew CustomiseTurret(this, imagesSmall, imagesLarge, m_pModels, m_pShipData, m_pShipFile);
-
 
34
		this->tabPage6->Controls->Add(m_pCustomiseTurret);
-
 
35
 
-
 
36
		_pGameDir = gameDir;
-
 
37
 
-
 
38
		this->SetupControls();
10
	}
39
	}
11
 
40
 
12
	CyStringList *CustomiseShip::GetLasers(int game)
41
	void CustomiseShip::SetupControls()
13
	{
42
	{
-
 
43
		this->ComboGame->Enabled = true;
-
 
44
		this->ComboGame->Items->Clear();
-
 
45
 
-
 
46
		int selectedGame = 0;
-
 
47
		int highestGame = 0;
-
 
48
		for ( Utils::String dir = _pGameDir->first(); !dir.empty(); dir = _pGameDir->next() ) {
-
 
49
			if ( _pGameDir->currentGame() > highestGame ) {
-
 
50
				selectedGame = this->ComboGame->Items->Count;
-
 
51
				highestGame = _pGameDir->currentGame();
-
 
52
			}
-
 
53
			this->ComboGame->Items->Add(_US(_pGameDir->currentName() + " [" + dir + "]"));
-
 
54
		}
-
 
55
 
14
		return ((Form1 ^)m_pMainForm)->GetLasers(game);
56
		((Form1 ^)m_pMainForm)->LoadText();
-
 
57
 
-
 
58
		for ( int i = 1; i < m_pPackages->GetGameExe()->GetNumGames(); i++ )
-
 
59
		{
-
 
60
			SGameExe *gameExe = m_pPackages->GetGameExe()->GetGame(i);
-
 
61
			if ( gameExe )
-
 
62
			{
-
 
63
				//this->ComboGame->Items->Add(SystemStringFromCyString(gameExe->sName));
-
 
64
				m_pCustomiseTurret->AddGameEntry(SystemStringFromCyString(gameExe->sName));
-
 
65
				m_pCustomiseWeapons->AddGameEntry(SystemStringFromCyString(gameExe->sName));
-
 
66
			}
-
 
67
			SWeaponMasks *m = m_pWeapons->push_back(new SWeaponMasks);
-
 
68
			m->iGame = i;
-
 
69
			m->iLaserMask = m_pShipFile->GetLaserMask(i, true);
-
 
70
			m->iMissileMask = m_pShipFile->GetMissileMask(i, true);	
-
 
71
		}
-
 
72
 
-
 
73
		// find heighest game we have added
-
 
74
		if ( !this->ComboGame->Items->Count ) {
-
 
75
			this->ComboGame->Items->Add(":: None Found ::");	
-
 
76
			this->ComboGame->Enabled = false;
-
 
77
		}
-
 
78
		this->ComboGame->SelectedIndex = selectedGame;
-
 
79
 
-
 
80
		m_pCustomiseWeapons->SetupControlsEnd();
-
 
81
		m_pCustomiseTurret->SetupControlsEnd();
15
	}
82
	}
16
 
83
 
17
	CyStringList *CustomiseShip::GetMissiles(int game)
-
 
18
	{
-
 
19
		return ((Form1 ^)m_pMainForm)->GetMissiles(game);
-
 
20
	}
-
 
21
 
-
 
22
	CyStringList *CustomiseShip::GetCockpits()
-
 
23
	{
-
 
24
		return ((Form1 ^)m_pMainForm)->GetCockpits(this->ComboGame->SelectedIndex + 1);
-
 
25
	}
-
 
26
 
84
 
27
 
85
 
28
	String ^CustomiseShip::FindText(int game, int page, int id)
86
	CGameDirectories *CustomiseShip::gameDirectories()
29
	{
87
	{
30
		return ((Form1 ^)m_pMainForm)->FindText((game == -1) ? (this->ComboGame->SelectedIndex + 1) : game, page, id);
88
		return _pGameDir;
31
	}
89
	}
32
}
90
}