Subversion Repositories spk

Rev

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

Rev 56 Rev 57
Line 638... Line 638...
638
CyString CPackages::GetLogDirectory(CyString gameExe)
638
CyString CPackages::GetLogDirectory(CyString gameExe)
639
{
639
{
640
	CyString logDir = m_sCurrentDir;
640
	CyString logDir = m_sCurrentDir;
641
	if ( m_iGameFlags & EXEFLAG_MYDOCLOG )
641
	if ( m_iGameFlags & EXEFLAG_MYDOCLOG )
642
	{
642
	{
643
		SGameExe *exe = m_gameExe.GetGameExe(CFileIO(gameExe).filename());
643
		SGameExe *exe = m_gameExe.gameExe(CFileIO(gameExe).filename());
644
		if ( exe )
644
		if ( exe )
645
		{
645
		{
646
			if ( !exe->sMyDoc.empty() )
646
			if ( !exe->sMyDoc.empty() )
647
				logDir = m_sMyDoc + "/" + exe->sMyDoc;
647
				logDir = m_sMyDoc + "/" + exe->sMyDoc;
648
		}
648
		}
Line 7630... Line 7630...
7630
			// is a text file
7630
			// is a text file
7631
			sF = sF.FindReplace("\\", "/");
7631
			sF = sF.FindReplace("\\", "/");
7632
			if ( !sF.GetToken("/", 1, 1).Compare("t") )
7632
			if ( !sF.GetToken("/", 1, 1).Compare("t") )
7633
				continue;
7633
				continue;
7634
 
7634
 
7635
			CyString baseFile = CFileIO(sF).GetBaseName();
7635
			CyString baseFile = CFileIO(sF.ToString()).baseName();
7636
			// check language
7636
			// check language
7637
			int lang = 0;
7637
			int lang = 0;
7638
			if ( baseFile.FindPos("-L") != -1 ) // new language file
7638
			if ( baseFile.FindPos("-L") != -1 ) // new language file
7639
				lang = baseFile.Right(3).ToInt();
7639
				lang = baseFile.Right(3).ToInt();
7640
			else
7640
			else
Line 7645... Line 7645...
7645
 
7645
 
7646
			if ( lang != m_iLanguage )
7646
			if ( lang != m_iLanguage )
7647
				continue;
7647
				continue;
7648
 
7648
 
7649
			// now extract and parse
7649
			// now extract and parse
7650
			if ( cat.ExtractFile(f->sFile, m_sTempDir + "/" + CFileIO(f->sFile).GetBaseName() + ".xml") )
7650
			if ( cat.ExtractFile(f->sFile, m_sTempDir + "/" + CFileIO(f->sFile).baseName() + ".xml") )
7651
			{
7651
			{
7652
				if ( this->ReadTextPage(m_sTempDir + "/" + CFileIO(f->sFile).GetBaseName() + ".xml", list, search, page) )
7652
				if ( this->ReadTextPage(m_sTempDir + "/" + CFileIO(f->sFile).baseName() + ".xml", list, search, page) )
7653
					done = true;
7653
					done = true;
7654
			}
7654
			}
7655
		}
7655
		}
7656
 
7656
 
7657
		return done;
7657
		return done;
Line 7762... Line 7762...
7762
 
7762
 
7763
int CPackages::AdjustFileType(CyString file, int filetype)
7763
int CPackages::AdjustFileType(CyString file, int filetype)
7764
{
7764
{
7765
	CFileIO File(file);
7765
	CFileIO File(file);
7766
	CyString dir = File.GetDirIO().TopDir();
7766
	CyString dir = File.GetDirIO().TopDir();
7767
	CyString basename = File.GetBaseName();
7767
	CyString basename = File.baseName();
7768
 
7768
 
7769
	// mod files
7769
	// mod files
7770
	if ( File.CheckFileExtension("cat") || File.CheckFileExtension("dat") )
7770
	if ( File.CheckFileExtension("cat") || File.CheckFileExtension("dat") )
7771
		return FILETYPE_MOD;
7771
		return FILETYPE_MOD;
7772
	// check for text files
7772
	// check for text files
7773
	if ( File.GetFilename().IsIn("-L") && File.GetFilename().Left(4).ToInt() )
7773
	if ( File.GetFilename().IsIn("-L") && File.GetFilename().Left(4).ToInt() )
7774
		return FILETYPE_TEXT;
7774
		return FILETYPE_TEXT;
7775
	if ( File.GetBaseName().Compare("conversations") )
7775
	if ( File.baseName().Compare("conversations") )
7776
		return FILETYPE_TEXT;
7776
		return FILETYPE_TEXT;
7777
	if ( basename.Length() <= 4 && basename.IsNumber() && (File.CheckFileExtension("xml") || File.CheckFileExtension("pck")) )
7777
	if ( basename.Length() <= 4 && basename.IsNumber() && (File.CheckFileExtension("xml") || File.CheckFileExtension("pck")) )
7778
		return FILETYPE_TEXT;
7778
		return FILETYPE_TEXT;
7779
	// X2/X3 text file
7779
	// X2/X3 text file
7780
	if ( basename.Length() >= 5 && basename.Length() <= 8 && File.GetBaseName().ToInt() )
7780
	if ( basename.Length() >= 5 && basename.Length() <= 8 && ((int)File.baseName()) )
7781
		return FILETYPE_TEXT;
7781
		return FILETYPE_TEXT;
7782
	if ( filetype == FILETYPE_TEXT ) // should no longer be anything text
7782
	if ( filetype == FILETYPE_TEXT ) // should no longer be anything text
7783
		return FILETYPE_SCRIPT;
7783
		return FILETYPE_SCRIPT;
7784
	if ( File.CheckFileExtension("wav") || File.CheckFileExtension("mp3") )
7784
	if ( File.CheckFileExtension("wav") || File.CheckFileExtension("mp3") )
7785
		return FILETYPE_SOUND;
7785
		return FILETYPE_SOUND;
Line 8609... Line 8609...
8609
		archive = this->_archive_fromZip(filename, toInstall);
8609
		archive = this->_archive_fromZip(filename, toInstall);
8610
 
8610
 
8611
	if ( archive ) {
8611
	if ( archive ) {
8612
		archive->setFilename(CFileIO(filename).ChangeFileExtension("spk").ToString());
8612
		archive->setFilename(CFileIO(filename).ChangeFileExtension("spk").ToString());
8613
		if ( toInstall )
8613
		if ( toInstall )
8614
			archive->setName(CFileIO(filename).GetFilename().ToString());
8614
			archive->setName(CFileIO(filename).filename());
8615
		else
8615
		else
8616
			archive->setName(CFileIO(filename).GetBaseName().ToString());
8616
			archive->setName(CFileIO(filename).baseName());
8617
	}
8617
	}
8618
 
8618
 
8619
	return archive;
8619
	return archive;
8620
}
8620
}
8621
 
8621