Subversion Repositories spk

Rev

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

Rev 158 Rev 160
Line 258... Line 258...
258
			}
258
			}
259
		}
259
		}
260
		else if ( System::IO::File::Exists(filename) )
260
		else if ( System::IO::File::Exists(filename) )
261
		{
261
		{
262
			CyString sF = CyStringFromSystemString(filename);
262
			CyString sF = CyStringFromSystemString(filename);
263
			if ( CFileIO(sF).CheckFileExtension("bmp") )
263
			if ( CFileIO(sF).isFileExtension("bmp") )
264
			{
264
			{
265
				list->Images->Add(key, Bitmap::FromFile(filename));
265
				list->Images->Add(key, Bitmap::FromFile(filename));
266
				added = true;
266
				added = true;
267
			}
267
			}
268
			else
268
			else
Line 535... Line 535...
535
			return;
535
			return;
536
 
536
 
537
		AddDialog ^ad = gcnew AddDialog(m_pPackage, m_pMultiPackage);
537
		AddDialog ^ad = gcnew AddDialog(m_pPackage, m_pMultiPackage);
538
		ad->SetRemove();
538
		ad->SetRemove();
539
 
539
 
540
		int pos = CyStringFromSystemString(cli::safe_cast<System::String ^>(item->Tag)).ToInt();
540
		int pos = _S(cli::safe_cast<System::String ^>(item->Tag)).toInt();
541
		C_File *f = m_pPackage->GetFileList()->Get(pos);
541
		C_File *f = m_pPackage->GetFileList()->Get(pos);
542
		if ( f )
542
		if ( f )
543
			ad->AddFile(SystemStringFromCyString(f->GetName()), SystemStringFromCyString(f->GetDir()), f->GetFileType(), f->GetGame());
543
			ad->AddFile(_US(f->name()), _US(f->dir()), f->GetFileType(), f->GetGame());
544
 
544
 
545
		// remove the dat or cat file as well
545
		// remove the dat or cat file as well
546
		if ( f->GetFileType() == FILETYPE_MOD )
546
		if ( f->GetFileType() == FILETYPE_MOD )
547
		{
547
		{
548
			if ( f->CheckFileExt("cat") )
548
			if ( f->CheckFileExt("cat") )
549
			{
549
			{
550
				C_File *datFile = m_pPackage->FindFile(CFileIO(f).ChangeFileExtension("dat"), FILETYPE_MOD, "", f->GetGame());
550
				C_File *datFile = m_pPackage->FindFile(CFileIO(f).changeFileExtension("dat"), FILETYPE_MOD, "", f->GetGame());
551
				if ( datFile )
551
				if ( datFile )
552
					ad->AddFile(SystemStringFromCyString(datFile->GetName()), SystemStringFromCyString(datFile->GetDir()), datFile->GetFileType(), datFile->GetGame());
552
					ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
553
			}
553
			}
554
			else if ( f->CheckFileExt("dat") )
554
			else if ( f->CheckFileExt("dat") )
555
			{
555
			{
556
				C_File *datFile = m_pPackage->FindFile(CFileIO(f).ChangeFileExtension("cat"), FILETYPE_MOD, "", f->GetGame());
556
				C_File *datFile = m_pPackage->FindFile(CFileIO(f).changeFileExtension("cat"), FILETYPE_MOD, "", f->GetGame());
557
				if ( datFile )
557
				if ( datFile )
558
					ad->AddFile(SystemStringFromCyString(datFile->GetName()), SystemStringFromCyString(datFile->GetDir()), datFile->GetFileType(), datFile->GetGame());
558
					ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
559
			}
559
			}
560
		}
560
		}
561
		ad->ShowDialog(this);
561
		ad->ShowDialog(this);
562
		this->UpdateView(true);
562
		this->UpdateView(true);
563
	}
563
	}
Line 569... Line 569...
569
		AddDialog ^ad = gcnew AddDialog(m_pPackage, m_pMultiPackage);
569
		AddDialog ^ad = gcnew AddDialog(m_pPackage, m_pMultiPackage);
570
		ad->SetRemove();
570
		ad->SetRemove();
571
 
571
 
572
		for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
572
		for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
573
		{
573
		{
574
			int pos = CyStringFromSystemString(cli::safe_cast<System::String ^>(this->listView1->SelectedItems[i]->Tag)).ToInt();
574
			int pos = _S(cli::safe_cast<System::String ^>(this->listView1->SelectedItems[i]->Tag)).toInt();
575
			C_File *f = m_pPackage->GetFileList()->Get(pos);
575
			C_File *f = m_pPackage->GetFileList()->Get(pos);
576
			if ( f )
576
			if ( f )
577
				ad->AddFile(SystemStringFromCyString(f->GetName()), SystemStringFromCyString(f->GetDir()), f->GetFileType(), f->GetGame());
577
				ad->AddFile(_US(f->name()), _US(f->dir()), f->GetFileType(), f->GetGame());
578
 
578
 
579
			// remove the dat or cat file as well
579
			// remove the dat or cat file as well
580
			if ( f->GetFileType() == FILETYPE_MOD )
580
			if ( f->GetFileType() == FILETYPE_MOD )
581
			{
581
			{
582
				if ( f->CheckFileExt("cat") )
582
				if ( f->CheckFileExt("cat") )
583
				{
583
				{
584
					C_File *datFile = m_pPackage->FindFile(CFileIO(f).ChangeFileExtension("dat"), FILETYPE_MOD, "", f->GetGame());
584
					C_File *datFile = m_pPackage->FindFile(CFileIO(f).changeFileExtension("dat"), FILETYPE_MOD, "", f->GetGame());
585
					if ( datFile )
585
					if ( datFile )
586
						ad->AddFile(SystemStringFromCyString(datFile->GetName()), SystemStringFromCyString(datFile->GetDir()), datFile->GetFileType(), datFile->GetGame());
586
						ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
587
				}
587
				}
588
				else if ( f->CheckFileExt("dat") )
588
				else if ( f->CheckFileExt("dat") )
589
				{
589
				{
590
					C_File *datFile = m_pPackage->FindFile(CFileIO(f).ChangeFileExtension("cat"), FILETYPE_MOD, "", f->GetGame());
590
					C_File *datFile = m_pPackage->FindFile(CFileIO(f).changeFileExtension("cat"), FILETYPE_MOD, "", f->GetGame());
591
					if ( datFile )
591
					if ( datFile )
592
						ad->AddFile(SystemStringFromCyString(datFile->GetName()), SystemStringFromCyString(datFile->GetDir()), datFile->GetFileType(), datFile->GetGame());
592
						ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
593
				}
593
				}
594
			}
594
			}
595
		}
595
		}
596
 
596
 
597
		ad->ShowDialog(this);
597
		ad->ShowDialog(this);
Line 709... Line 709...
709
				for ( SStringList *str = fileList.Head(); str; str = str->next )
709
				for ( SStringList *str = fileList.Head(); str; str = str->next )
710
				{
710
				{
711
					if ( str->data != "-1" )
711
					if ( str->data != "-1" )
712
						continue;
712
						continue;
713
 
713
 
714
					CyString ext = CFileIO(str->str).GetFileExtension();
714
					Utils::String ext = CFileIO(str->str).extension();
715
					if ( !ext.Compare("xsp") && !ext.Compare("spk") )
715
					if ( !ext.Compare("xsp") && !ext.Compare("spk") )
716
						continue;
716
						continue;
717
					
717
					
718
					ad->AddFile(SystemStringFromCyString(str->str), "", -1, 0);
718
					ad->AddFile(SystemStringFromCyString(str->str), "", -1, 0);
719
				}
719
				}
Line 1004... Line 1004...
1004
				case FILETYPE_MOD:
1004
				case FILETYPE_MOD:
1005
					if ( m_pPackage->ExtractFile(f, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1005
					if ( m_pPackage->ExtractFile(f, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1006
					{
1006
					{
1007
						if ( f->CheckFileExt("cat") )
1007
						if ( f->CheckFileExt("cat") )
1008
						{
1008
						{
1009
							C_File *datFile = m_pPackage->FindFile(CFileIO(f).ChangeFileExtension("dat"), FILETYPE_MOD, "");
1009
							C_File *datFile = m_pPackage->FindFile(CFileIO(f).changeFileExtension("dat"), FILETYPE_MOD, "");
1010
							if ( datFile )
1010
							if ( datFile )
1011
							{
1011
							{
1012
								if ( m_pPackage->ExtractFile(datFile, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1012
								if ( m_pPackage->ExtractFile(datFile, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1013
									process->StartInfo->FileName = IO::Path::GetTempPath() + "\\" + SystemStringFromCyString(f->GetName());
1013
									process->StartInfo->FileName = IO::Path::GetTempPath() + "\\" + _US(f->name());
1014
							}
1014
							}
1015
						}
1015
						}
1016
						else if ( f->CheckFileExt("dat") )
1016
						else if ( f->CheckFileExt("dat") )
1017
						{
1017
						{
1018
							C_File *catFile = m_pPackage->FindFile(CFileIO(f).ChangeFileExtension("cat"), FILETYPE_MOD, "");
1018
							C_File *catFile = m_pPackage->FindFile(CFileIO(f).changeFileExtension("cat"), FILETYPE_MOD, "");
1019
							if ( catFile )
1019
							if ( catFile )
1020
							{
1020
							{
1021
								if ( m_pPackage->ExtractFile(catFile, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1021
								if ( m_pPackage->ExtractFile(catFile, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1022
									process->StartInfo->FileName = IO::Path::GetTempPath() + "\\" + SystemStringFromCyString(catFile->GetName());
1022
									process->StartInfo->FileName = IO::Path::GetTempPath() + "\\" + _US(catFile->name());
1023
							}
1023
							}
1024
						}
1024
						}
1025
					}
1025
					}
1026
					break;
1026
					break;
1027
 
1027
 
1028
				case FILETYPE_MAP:
1028
				case FILETYPE_MAP:
1029
					break;
1029
					break;
1030
 
1030
 
1031
				default:
1031
				default:
1032
					if ( m_pPackage->ExtractFile(f, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1032
					if ( m_pPackage->ExtractFile(f, CyStringFromSystemString(IO::Path::GetTempPath()), false) )
1033
						process->StartInfo->FileName = IO::Path::GetTempPath() + "\\" + SystemStringFromCyString(f->GetName());
1033
						process->StartInfo->FileName = IO::Path::GetTempPath() + "\\" + _US(f->name());
1034
			}
1034
			}
1035
 
1035
 
1036
			if ( process->StartInfo->FileName && process->StartInfo->FileName->Length )
1036
			if ( process->StartInfo->FileName && process->StartInfo->FileName->Length )
1037
			{
1037
			{
1038
				process->StartInfo->CreateNoWindow = true;
1038
				process->StartInfo->CreateNoWindow = true;