Subversion Repositories spk

Rev

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

Rev 224 Rev 225
Line 490... Line 490...
490
	void SpkForm::ExtractSelected(System::String ^toDir)
490
	void SpkForm::ExtractSelected(System::String ^toDir)
491
	{
491
	{
492
		if ( !m_pPackage )
492
		if ( !m_pPackage )
493
			return;
493
			return;
494
 
494
 
495
		CyString sToDir = CyStringFromSystemString(toDir);
495
		Utils::WString sToDir = _WS(toDir);
496
 
496
 
497
		CLinkList<C_File> list;
497
		CLinkList<C_File> list;
498
 
498
 
499
		for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
499
		for ( int i = 0; i < this->listView1->SelectedItems->Count; i++ )
500
		{
500
		{
501
			int pos = CyStringFromSystemString(cli::safe_cast<System::String ^>(this->listView1->SelectedItems[i]->Tag)).ToInt();
501
			int pos = _WS(cli::safe_cast<System::String ^>(this->listView1->SelectedItems[i]->Tag)).toInt();
502
			C_File *f = m_pPackage->GetFileList()->Get(pos);
502
			C_File *f = m_pPackage->GetFileList()->Get(pos);
503
			list.push_back(f);
503
			list.push_back(f);
504
		}
504
		}
505
 
505
 
506
		this->DoExtract(&list, toDir, -1);
506
		this->DoExtract(&list, toDir, -1);
Line 510... Line 510...
510
	void SpkForm::ExtractSelectedPackage(System::String ^toDir)
510
	void SpkForm::ExtractSelectedPackage(System::String ^toDir)
511
	{
511
	{
512
		if ( !m_pMultiPackage )
512
		if ( !m_pMultiPackage )
513
			return;
513
			return;
514
 
514
 
515
		CyString sToDir = CyStringFromSystemString(toDir);
515
		Utils::WString sToDir = _WS(toDir);
516
 
516
 
517
		CLinkList<SMultiSpkFile> list;
517
		CLinkList<SMultiSpkFile> list;
518
 
518
 
519
		for ( int i = 0; i < this->listView2->SelectedItems->Count; i++ )
519
		for ( int i = 0; i < this->listView2->SelectedItems->Count; i++ )
520
		{
520
		{
521
			int pos = CyStringFromSystemString(cli::safe_cast<System::String ^>(this->listView2->SelectedItems[i]->Tag)).ToInt();
521
			int pos = _WS(cli::safe_cast<System::String ^>(this->listView2->SelectedItems[i]->Tag)).toInt();
522
			SMultiSpkFile *mp = m_pMultiPackage->GetFileList()->Get(pos);
522
			SMultiSpkFile *mp = m_pMultiPackage->GetFileList()->Get(pos);
523
			if ( mp )
523
			if ( mp )
524
				list.push_back(mp);
524
				list.push_back(mp);
525
		}
525
		}
526
 
526
 
Line 542... Line 542...
542
			ad->AddFile(_US(f->name()), _US(f->dir()), f->GetFileType(), f->GetGame());
542
			ad->AddFile(_US(f->name()), _US(f->dir()), f->GetFileType(), f->GetGame());
543
 
543
 
544
		// remove the dat or cat file as well
544
		// remove the dat or cat file as well
545
		if ( f->GetFileType() == FILETYPE_MOD )
545
		if ( f->GetFileType() == FILETYPE_MOD )
546
		{
546
		{
547
			if ( f->checkFileExt("cat") )
547
			if ( f->checkFileExt(L"cat") )
548
			{
548
			{
549
				C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"dat"), FILETYPE_MOD, L"", f->GetGame());
549
				C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"dat"), FILETYPE_MOD, L"", f->GetGame());
550
				if ( datFile )
550
				if ( datFile )
551
					ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
551
					ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
552
			}
552
			}
553
			else if ( f->checkFileExt("dat") )
553
			else if ( f->checkFileExt(L"dat") )
554
			{
554
			{
555
				C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"cat"), FILETYPE_MOD, L"", f->GetGame());
555
				C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"cat"), FILETYPE_MOD, L"", f->GetGame());
556
				if ( datFile )
556
				if ( datFile )
557
					ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
557
					ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
558
			}
558
			}
Line 576... Line 576...
576
				ad->AddFile(_US(f->name()), _US(f->dir()), f->GetFileType(), f->GetGame());
576
				ad->AddFile(_US(f->name()), _US(f->dir()), f->GetFileType(), f->GetGame());
577
 
577
 
578
			// remove the dat or cat file as well
578
			// remove the dat or cat file as well
579
			if ( f->GetFileType() == FILETYPE_MOD )
579
			if ( f->GetFileType() == FILETYPE_MOD )
580
			{
580
			{
581
				if ( f->checkFileExt("cat") )
581
				if ( f->checkFileExt(L"cat") )
582
				{
582
				{
583
					C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"dat"), FILETYPE_MOD, L"", f->GetGame());
583
					C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"dat"), FILETYPE_MOD, L"", f->GetGame());
584
					if ( datFile )
584
					if ( datFile )
585
						ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
585
						ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
586
				}
586
				}
587
				else if ( f->checkFileExt("dat") )
587
				else if ( f->checkFileExt(L"dat") )
588
				{
588
				{
589
					C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"cat"), FILETYPE_MOD, L"", f->GetGame());
589
					C_File *datFile = m_pPackage->findFile(CFileIO(f).changeFileExtension(L"cat"), FILETYPE_MOD, L"", f->GetGame());
590
					if ( datFile )
590
					if ( datFile )
591
						ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
591
						ad->AddFile(_US(datFile->name()), _US(datFile->dir()), datFile->GetFileType(), datFile->GetGame());
592
				}
592
				}