Subversion Repositories spk

Rev

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

Rev 165 Rev 170
Line 4237... Line 4237...
4237
			}
4237
			}
4238
			m_pSelectedItem = item;
4238
			m_pSelectedItem = item;
4239
			e->Cancel = false;
4239
			e->Cancel = false;
4240
		 }
4240
		 }
4241
private: System::Void clearAllToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {
4241
private: System::Void clearAllToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {
4242
			 m_pPackage->ClearNames();
4242
			 m_pPackage->clearNames();
4243
			 this->UpdatePackageNames();
4243
			 this->UpdatePackageNames();
4244
			 this->UpdateChanged();
4244
			 this->UpdateChanged();
4245
		 }
4245
		 }
4246
private: System::Void addToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
4246
private: System::Void addToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
4247
			 InputBox ^input = gcnew InputBox("Enter the language id (ie 44)", "");
4247
			 InputBox ^input = gcnew InputBox("Enter the language id (ie 44)", "");
4248
			if ( input->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4248
			if ( input->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4249
			{
4249
			{
4250
				InputBox ^input2 = gcnew InputBox("Enter the package name (Language: " + input->GetInput() + ")", "");
4250
				InputBox ^input2 = gcnew InputBox("Enter the package name (Language: " + input->GetInput() + ")", "");
4251
				if ( input2->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4251
				if ( input2->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4252
				{
4252
				{
4253
					m_pPackage->AddLanguageName(Convert::ToInt32(input->GetInput()), _S(input2->GetInput()));
4253
					m_pPackage->addName(Convert::ToInt32(input->GetInput()), _S(input2->GetInput()));
4254
					this->UpdateChanged();
4254
					this->UpdateChanged();
4255
					this->UpdatePackageNames();
4255
					this->UpdatePackageNames();
4256
				}
4256
				}
4257
			}
4257
			}
4258
		 }
4258
		 }
4259
private: System::Void ContextRemoveName_Click(System::Object^  sender, System::EventArgs^  e) {
4259
private: System::Void ContextRemoveName_Click(System::Object^  sender, System::EventArgs^  e) {
4260
			if ( m_pSelectedItem )
4260
			if ( m_pSelectedItem )
4261
			{
4261
			{
4262
				m_pPackage->RemoveLanguageName(Convert::ToInt32(m_pSelectedItem->Text));
4262
				m_pPackage->removeName(Convert::ToInt32(m_pSelectedItem->Text));
4263
				this->UpdatePackageNames();
4263
				this->UpdatePackageNames();
4264
				this->UpdateChanged();
4264
				this->UpdateChanged();
4265
			}
4265
			}
4266
		 }
4266
		 }
4267
private: System::Void ContextEditName_Click(System::Object^  sender, System::EventArgs^  e) {
4267
private: System::Void ContextEditName_Click(System::Object^  sender, System::EventArgs^  e) {
4268
			InputBox ^input = gcnew InputBox("Enter the package name (Language: " + m_pSelectedItem->Text + ")", m_pSelectedItem->SubItems[1]->Text);
4268
			InputBox ^input = gcnew InputBox("Enter the package name (Language: " + m_pSelectedItem->Text + ")", m_pSelectedItem->SubItems[1]->Text);
4269
			if ( input->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4269
			if ( input->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4270
			{
4270
			{
4271
				m_pPackage->AddLanguageName(Convert::ToInt32(m_pSelectedItem->Text), _S(input->GetInput()));
4271
				m_pPackage->addName(Convert::ToInt32(m_pSelectedItem->Text), _S(input->GetInput()));
4272
				m_pSelectedItem->SubItems[1]->Text = input->GetInput();
4272
				m_pSelectedItem->SubItems[1]->Text = input->GetInput();
4273
				this->UpdateChanged();
4273
				this->UpdateChanged();
4274
			}
4274
			}
4275
		 }
4275
		 }
4276
private: System::Void ButPicAdd_Click(System::Object^  sender, System::EventArgs^  e) {
4276
private: System::Void ButPicAdd_Click(System::Object^  sender, System::EventArgs^  e) {
Line 4298... Line 4298...
4298
private: System::Void ButPicNext_Click(System::Object^  sender, System::EventArgs^  e) {
4298
private: System::Void ButPicNext_Click(System::Object^  sender, System::EventArgs^  e) {
4299
			 m_pDisplayFile = m_pPackage->GetNextFile(m_pDisplayFile);
4299
			 m_pDisplayFile = m_pPackage->GetNextFile(m_pDisplayFile);
4300
			 this->UpdateDisplayPic();
4300
			 this->UpdateDisplayPic();
4301
		 }
4301
		 }
4302
private: System::Void ButIconDel_Click(System::Object^  sender, System::EventArgs^  e) {
4302
private: System::Void ButIconDel_Click(System::Object^  sender, System::EventArgs^  e) {
4303
			 m_pPackage->SetIcon(NULL, NullString);
4303
			 m_pPackage->setIcon(NULL, Utils::String::Null());
4304
			 this->UpdateDisplayIcon();
4304
			 this->UpdateDisplayIcon();
4305
			 this->UpdateChanged();
4305
			 this->UpdateChanged();
4306
		 }
4306
		 }
4307
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
4307
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
4308
			 this->AddDisplayIcon();
4308
			 this->AddDisplayIcon();
Line 4919... Line 4919...
4919
			 {
4919
			 {
4920
				 ListViewItem ^item = this->ListNames->SelectedItems[0];
4920
				 ListViewItem ^item = this->ListNames->SelectedItems[0];
4921
				InputBox ^input = gcnew InputBox("Enter the package name (Language: " + item->Text + ")", item->SubItems[1]->Text);
4921
				InputBox ^input = gcnew InputBox("Enter the package name (Language: " + item->Text + ")", item->SubItems[1]->Text);
4922
				if ( input->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4922
				if ( input->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
4923
				{
4923
				{
4924
					m_pPackage->AddLanguageName(Convert::ToInt32(item->Text), _S(input->GetInput()));
4924
					m_pPackage->addName(Convert::ToInt32(item->Text), _S(input->GetInput()));
4925
					item->SubItems[1]->Text = input->GetInput();
4925
					item->SubItems[1]->Text = input->GetInput();
4926
					this->UpdateChanged();
4926
					this->UpdateChanged();
4927
				}
4927
				}
4928
			 }
4928
			 }
4929
		 }
4929
		 }
Line 5057... Line 5057...
5057
					break;
5057
					break;
5058
				case 3:
5058
				case 3:
5059
					xsp->clearCutData();
5059
					xsp->clearCutData();
5060
					break;
5060
					break;
5061
				case 4:
5061
				case 4:
5062
					xsp->GetBodies()->Clear();
5062
					xsp->clearBodies();
5063
					break;
5063
					break;
5064
				case 5:
5064
				case 5:
5065
					xsp->GetAnimations()->Clear();
5065
					xsp->clearAnimations();
5066
					break;
5066
					break;
5067
			 }
5067
			 }
5068
 
5068
 
5069
			 this->UpdateShipPartList();
5069
			 this->UpdateShipPartList();
5070
			 this->UpdateChanged();
5070
			 this->UpdateChanged();
Line 5072... Line 5072...
5072
private: System::Void ContextShipPartRemove_Click(System::Object^  sender, System::EventArgs^  e) {
5072
private: System::Void ContextShipPartRemove_Click(System::Object^  sender, System::EventArgs^  e) {
5073
			 CXspFile *xsp = (CXspFile *)m_pPackage;
5073
			 CXspFile *xsp = (CXspFile *)m_pPackage;
5074
			 switch ( this->ComboShipPart->SelectedIndex )
5074
			 switch ( this->ComboShipPart->SelectedIndex )
5075
			 {
5075
			 {
5076
				case 0:
5076
				case 0:
5077
					if ( xsp->RemoveComponent(_S(m_pSelectedItem->Text), _S(m_pSelectedItem->SubItems[1]->Text), _S(m_pSelectedItem->SubItems[2]->Text)) )
5077
					if ( xsp->removeComponent(_S(m_pSelectedItem->Text), _S(m_pSelectedItem->SubItems[1]->Text), _S(m_pSelectedItem->SubItems[2]->Text)) )
5078
						this->UpdateShipPartList();
5078
						this->UpdateShipPartList();
5079
					break;
5079
					break;
5080
				case 1:
5080
				case 1:
5081
					if ( xsp->RemoveDummy(_S(m_pSelectedItem->Text), _S(m_pSelectedItem->SubItems[1]->Text)) )
5081
					if ( xsp->removeDummy(_S(m_pSelectedItem->Text), _S(m_pSelectedItem->SubItems[1]->Text)) )
5082
						this->UpdateShipPartList();
5082
						this->UpdateShipPartList();
5083
					break;
5083
					break;
5084
				case 2:
5084
				case 2:
5085
					if ( xsp->RemoveCockpit(_S(m_pSelectedItem->Text)) )
5085
					if ( xsp->removeCockpit(_S(m_pSelectedItem->Text)) )
5086
						this->UpdateShipPartList();
5086
						this->UpdateShipPartList();
5087
					break;
5087
					break;
5088
				case 3:
5088
				case 3:
5089
					if ( xsp->removeCutData(_S(m_pSelectedItem->Text)) )
5089
					if ( xsp->removeCutData(_S(m_pSelectedItem->Text)) )
5090
						this->UpdateShipPartList();
5090
						this->UpdateShipPartList();
5091
					break;
5091
					break;
5092
				case 4:
5092
				case 4:
5093
					if ( xsp->RemoveBodies(_S(m_pSelectedItem->Text + ";" + m_pSelectedItem->SubItems[1]->Text)) )
5093
					if ( xsp->removeBodies(_S(m_pSelectedItem->Text + ";" + m_pSelectedItem->SubItems[1]->Text)) )
5094
						this->UpdateShipPartList();
5094
						this->UpdateShipPartList();
5095
					break;
5095
					break;
5096
				case 5:
5096
				case 5:
5097
					if ( xsp->RemoveAnimation(_S(m_pSelectedItem->Text)) )
5097
					if ( xsp->removeAnimation(_S(m_pSelectedItem->Text)) )
5098
						this->UpdateShipPartList();
5098
						this->UpdateShipPartList();
5099
					break;
5099
					break;
5100
			 }		
5100
			 }		
5101
			 this->UpdateChanged();
5101
			 this->UpdateChanged();
5102
		 }
5102
		 }
Line 5120... Line 5120...
5120
			for(i = 0; i < a->Length; i++)
5120
			for(i = 0; i < a->Length; i++)
5121
			{
5121
			{
5122
				if ( IO::DirectoryInfo(a[i]).Exists )
5122
				if ( IO::DirectoryInfo(a[i]).Exists )
5123
					this->DropGetDirectories(a[i], &fileList, false);
5123
					this->DropGetDirectories(a[i], &fileList, false);
5124
				else
5124
				else
5125
					fileList.PushBack(CyStringFromSystemString(a[i]), CyString::Number(SPK::GetAutomaticFiletype(CyStringFromSystemString(a[i]), NULL, false)));
5125
					fileList.PushBack(CyStringFromSystemString(a[i]), CyString::Number(SPK::GetAutomaticFiletype(_S(a[i]), NULL, false)));
5126
			}
5126
			}
5127
 
5127
 
5128
			SPK::AssignAutomaticFiletypes(&fileList);
5128
			SPK::AssignAutomaticFiletypes(&fileList);
5129
 
5129
 
5130
			if ( !fileList.Empty() )
5130
			if ( !fileList.Empty() )
Line 5132... Line 5132...
5132
				SpkExplorer::DropFileDialog ^dropType = gcnew SpkExplorer::DropFileDialog(&fileList);
5132
				SpkExplorer::DropFileDialog ^dropType = gcnew SpkExplorer::DropFileDialog(&fileList);
5133
				if ( dropType->ShowDialog(this) == Windows::Forms::DialogResult::OK )
5133
				if ( dropType->ShowDialog(this) == Windows::Forms::DialogResult::OK )
5134
				{
5134
				{
5135
					for ( SStringList *str = fileList.Head(); str; str = str->next )
5135
					for ( SStringList *str = fileList.Head(); str; str = str->next )
5136
					{
5136
					{
5137
						int type = str->data.GetToken(" ", 1, 1).ToInt();
5137
						FileType type = static_cast<FileType>(str->data.GetToken(" ", 1, 1).ToInt());
5138
						if ( type == -1 )
5138
						if ( type == FileType::FILETYPE_UNKNOWN)
5139
							continue;
5139
							continue;
5140
 
5140
 
5141
						int filetype = m_pP->AdjustFileType(str->str, type);
5141
						FileType filetype = m_pP->adjustFileType(str->str.ToString(), type);
5142
						CyString dir = (filetype == FILETYPE_EXTRA) ? "PluginManager/Extras/$scriptname" : "";
5142
						Utils::String dir = (filetype == FILETYPE_EXTRA) ? "PluginManager/Extras/$scriptname" : "";
5143
						CyString checkDir = CFileIO(str->str).dir().token("/", -1);
5143
						Utils::String checkDir = CFileIO(str->str).dir().token("/", -1);
5144
						if ( checkDir.Compare("types") )
5144
						if ( checkDir.Compare("types") )
5145
							dir = checkDir;
5145
							dir = checkDir;
5146
 
5146
 
5147
						C_File *f = m_pPackage->AddFile(str->str, dir, filetype);
5147
						C_File *f = m_pPackage->addFile(str->str.ToString(), dir, filetype);
5148
						if ( filetype == FILETYPE_MOD && CFileIO(str->str).isFileExtension("cat"))
5148
						if ( filetype == FILETYPE_MOD && CFileIO(str->str).isFileExtension("cat"))
5149
							m_pPackage->AddFile(CFileIO(str->str).changeFileExtension("dat"), "", filetype);
5149
							m_pPackage->addFile(CFileIO(str->str).changeFileExtension("dat"), "", filetype);
5150
						else if ( filetype == FILETYPE_MOD && CFileIO(str->str).isFileExtension("dat"))
5150
						else if ( filetype == FILETYPE_MOD && CFileIO(str->str).isFileExtension("dat"))
5151
							m_pPackage->AddFile(CFileIO(str->str).changeFileExtension("cat"), "", filetype);
5151
							m_pPackage->addFile(CFileIO(str->str).changeFileExtension("cat"), "", filetype);
5152
					}
5152
					}
5153
					this->UpdateFileList();
5153
					this->UpdateFileList();
5154
					this->UpdateDisplayPic();
5154
					this->UpdateDisplayPic();
5155
					this->UpdateChanged();
5155
					this->UpdateChanged();
5156
				}
5156
				}
Line 5294... Line 5294...
5294
				{
5294
				{
5295
					bool added = false;
5295
					bool added = false;
5296
					array <System::String ^> ^Files = System::IO::Directory::GetFiles(fbd->SelectedPath, "*.xml");
5296
					array <System::String ^> ^Files = System::IO::Directory::GetFiles(fbd->SelectedPath, "*.xml");
5297
					for ( int i = 0; i < Files->Length; i++ )
5297
					for ( int i = 0; i < Files->Length; i++ )
5298
					{
5298
					{
5299
						CyString file = CyStringFromSystemString(Files[i]);
5299
						Utils::String file = _S(Files[i]);
5300
						if ( m_pP->AdjustFileType(file, -1) == FILETYPE_TEXT )
5300
						if ( m_pP->adjustFileType(file, FileType::FILETYPE_UNKNOWN) == FILETYPE_TEXT )
5301
						{
5301
						{
5302
							if ( ((CXspFile *)m_pPackage)->AddTextFromFile(file.ToString()) )
5302
							if ( ((CXspFile *)m_pPackage)->AddTextFromFile(file) )
5303
								added = true;
5303
								added = true;
5304
						}
5304
						}
5305
					}
5305
					}
5306
					Files = System::IO::Directory::GetFiles(fbd->SelectedPath, "*.pck");
5306
					Files = System::IO::Directory::GetFiles(fbd->SelectedPath, "*.pck");
5307
					for ( int i = 0; i < Files->Length; i++ )
5307
					for ( int i = 0; i < Files->Length; i++ )
5308
					{
5308
					{
5309
						CyString file = CyStringFromSystemString(Files[i]);
5309
						Utils::String file = _S(Files[i]);
5310
						if ( m_pP->AdjustFileType(file, -1) == FILETYPE_TEXT )
5310
						if ( m_pP->adjustFileType(file, FileType::FILETYPE_UNKNOWN) == FILETYPE_TEXT )
5311
						{
5311
						{
5312
							if ( ((CXspFile *)m_pPackage)->AddTextFromFile(file.ToString()) )
5312
							if ( ((CXspFile *)m_pPackage)->AddTextFromFile(file) )
5313
								added = true;
5313
								added = true;
5314
						}
5314
						}
5315
					}
5315
					}
5316
 
5316
 
5317
					if ( added )
5317
					if ( added )
Line 5472... Line 5472...
5472
			 int id = Convert::ToInt32(m_pSelectedItem->Tag);
5472
			 int id = Convert::ToInt32(m_pSelectedItem->Tag);
5473
			 C_File *f = m_pPackage->GetFileList()->Get(id);
5473
			 C_File *f = m_pPackage->GetFileList()->Get(id);
5474
 
5474
 
5475
			 if ( f )
5475
			 if ( f )
5476
			 {
5476
			 {
5477
				 m_pPackage->ConvertFakePatch(f);
5477
				 m_pPackage->convertFakePatch(f);
5478
				 this->UpdateFileList();
5478
				 this->UpdateFileList();
5479
			 }
5479
			 }
5480
		 }
5480
		 }
5481
private: System::Void convertToNormalModToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
5481
private: System::Void convertToNormalModToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
5482
			 if ( !m_pSelectedItem ) return;
5482
			 if ( !m_pSelectedItem ) return;
Line 5489... Line 5489...
5489
				 InputBox ^input = gcnew InputBox("Enter the name you want the mod to be called");
5489
				 InputBox ^input = gcnew InputBox("Enter the name you want the mod to be called");
5490
				 if ( input->ShowDialog(this) == Windows::Forms::DialogResult::OK )
5490
				 if ( input->ShowDialog(this) == Windows::Forms::DialogResult::OK )
5491
				 {
5491
				 {
5492
					 if ( input->GetInput()->Length )
5492
					 if ( input->GetInput()->Length )
5493
					 {
5493
					 {
5494
						 m_pPackage->ConvertNormalMod(f, CyStringFromSystemString(input->GetInput()));
5494
						 m_pPackage->convertNormalMod(f, _S(input->GetInput()));
5495
						 this->UpdateFileList();
5495
						 this->UpdateFileList();
5496
					 }
5496
					 }
5497
				 }
5497
				 }
5498
			 }
5498
			 }
5499
		 }
5499
		 }
Line 5508... Line 5508...
5508
				 InputBox ^input = gcnew InputBox("Enter the new file name to change to", SystemStringFromCyString(f->GetBaseName()));
5508
				 InputBox ^input = gcnew InputBox("Enter the new file name to change to", SystemStringFromCyString(f->GetBaseName()));
5509
				 if ( input->ShowDialog(this) == Windows::Forms::DialogResult::OK )
5509
				 if ( input->ShowDialog(this) == Windows::Forms::DialogResult::OK )
5510
				 {
5510
				 {
5511
					 if ( input->GetInput()->Length )
5511
					 if ( input->GetInput()->Length )
5512
					 {
5512
					 {
5513
						 m_pPackage->RenameFile(f, CyStringFromSystemString(input->GetInput()));
5513
						 m_pPackage->renameFile(f, _S(input->GetInput()));
5514
						 this->UpdateFileList();
5514
						 this->UpdateFileList();
5515
					 }
5515
					 }
5516
				 }
5516
				 }
5517
			 }
5517
			 }
5518
		 }
5518
		 }
Line 5521... Line 5521...
5521
				 MessageBox::Show(this, "You dont have a primary web address set, you need an address for automatic updates to work", "No Web Address", MessageBoxButtons::OK, MessageBoxIcon::Asterisk);
5521
				 MessageBox::Show(this, "You dont have a primary web address set, you need an address for automatic updates to work", "No Web Address", MessageBoxButtons::OK, MessageBoxIcon::Asterisk);
5522
			 else
5522
			 else
5523
			 {
5523
			 {
5524
				FolderBrowserDialog ^fbd = gcnew FolderBrowserDialog;
5524
				FolderBrowserDialog ^fbd = gcnew FolderBrowserDialog;
5525
				fbd->Description = "Select the path to save the update file to";
5525
				fbd->Description = "Select the path to save the update file to";
5526
				fbd->SelectedPath = SystemStringFromCyString(CFileIO(m_pPackage->filename()).dir().findReplace("/", "\\"));
5526
				fbd->SelectedPath = _US(CFileIO(m_pPackage->filename()).dir().findReplace("/", "\\"));
5527
				if ( fbd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
5527
				if ( fbd->ShowDialog(this) == System::Windows::Forms::DialogResult::OK )
5528
				{
5528
				{
5529
					Utils::String file = m_pPackage->createUpdateFile(_S(fbd->SelectedPath));
5529
					Utils::String file = m_pPackage->createUpdateFile(_S(fbd->SelectedPath));
5530
					if ( !file.empty() )
5530
					if ( !file.empty() )
5531
						MessageBox::Show(this, "Update file has been created\n" + _US(file) + "\n\nRemember to upload it your web server so its accessable\n" + _US(m_pPackage->webAddress()), "Update File Created", MessageBoxButtons::OK, MessageBoxIcon::Information);
5531
						MessageBox::Show(this, "Update file has been created\n" + _US(file) + "\n\nRemember to upload it your web server so its accessable\n" + _US(m_pPackage->webAddress()), "Update File Created", MessageBoxButtons::OK, MessageBoxIcon::Information);
Line 5554... Line 5554...
5554
			 int id = Convert::ToInt32(m_pSelectedItem->Tag);
5554
			 int id = Convert::ToInt32(m_pSelectedItem->Tag);
5555
			 C_File *f = m_pPackage->GetFileList()->Get(id);
5555
			 C_File *f = m_pPackage->GetFileList()->Get(id);
5556
 
5556
 
5557
			 if ( f )
5557
			 if ( f )
5558
			 {
5558
			 {
5559
				 m_pPackage->ConvertAutoText(f);
5559
				 m_pPackage->convertAutoText(f);
5560
				 this->UpdateFileList();
5560
				 this->UpdateFileList();
5561
			 }
5561
			 }
5562
		 }
5562
		 }
5563
private: System::Void ButGameAdd_Click(System::Object^  sender, System::EventArgs^  e) {
5563
private: System::Void ButGameAdd_Click(System::Object^  sender, System::EventArgs^  e) {
5564
			 if ( ButGame->ImageIndex < 0 )
5564
			 if ( ButGame->ImageIndex < 0 )