Subversion Repositories spk

Rev

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

Rev 86 Rev 87
Line 502... Line 502...
502
	// find the fake patch
502
	// find the fake patch
503
	if ( !ReadyFakePatch() )
503
	if ( !ReadyFakePatch() )
504
		return false;
504
		return false;
505
 
505
 
506
	this->RemoveCreatedFiles();
506
	this->RemoveCreatedFiles();
-
 
507
	this->createPluginManagerOpenText();
507
 
508
 
508
	// match up wares
509
	// match up wares
509
	for ( CListNode<CBaseFile> *node = m_lPackages.Front(); node; node = node->next() )
510
	for ( CListNode<CBaseFile> *node = m_lPackages.Front(); node; node = node->next() )
510
	{
511
	{
511
		if ( node->Data()->GetType() == TYPE_SPK )
512
		if ( node->Data()->GetType() == TYPE_SPK )
Line 5558... Line 5559...
5558
		case GAME_X3AP: return 38;
5559
		case GAME_X3AP: return 38;
5559
		default: return 0;
5560
		default: return 0;
5560
	}
5561
	}
5561
}
5562
}
5562
 
5563
 
-
 
5564
void CPackages::createPluginManagerOpenText()
-
 
5565
{
-
 
5566
	int gameNumber = _gameTextNumber();
-
 
5567
 
-
 
5568
	int lang = m_iLanguage;
-
 
5569
	if ( !lang || lang < 0 )
-
 
5570
		lang = 44;
-
 
5571
 
-
 
5572
	CDirIO Dir(m_sCurrentDir);
-
 
5573
	if ( !Dir.Exists("t") )
-
 
5574
		Dir.Create("t");
-
 
5575
 
-
 
5576
	CyString filename = SPK::FormatTextName(PMTEXTFILE, lang, (m_iGameFlags & EXEFLAG_TCTEXT));
-
 
5577
	CFileIO textFile(m_sCurrentDir + "/t/" + filename + ".xml");
-
 
5578
 
-
 
5579
	std::vector<CyString> writeData;
-
 
5580
 
-
 
5581
	writeData.push_back(CyString("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"));
-
 
5582
	writeData.push_back(CyString("<language id=\"") + CyString::Number(lang) + "\">");
-
 
5583
 
-
 
5584
	if ( !gameNumber )
-
 
5585
		writeData.push_back(CyString("	<page id=\"") + CyString::Number(PMTEXTFILE) + "\" title=\"Plugin Manager Text File\" descr=\"Contains text used for the plugin manager, packages, settings, wares, ship, etc\">");
-
 
5586
	else
-
 
5587
		writeData.push_back(CyString("	<page id=\"") + (long)gameNumber + CyString::Number(PMTEXTFILE).PadNumber(4) + "\" title=\"Plugin Manager Text File\" descr=\"Contains text used for the plugin manager, packages, settings, wares, ship, etc\">");
-
 
5588
 
-
 
5589
	writeData.push_back(CyString("		<t id=\"99998\">[author]Plugin Manager[/author]It appears the plugin manager hasn't been closed properly.  Make sure its closed before running the game otherwise things may not work correctly</t>"));
-
 
5590
	writeData.push_back(CyString("		<t id=\"99999\">2</t>"));
-
 
5591
 
-
 
5592
	writeData.push_back(CyString("	</page>"));
-
 
5593
 
-
 
5594
	writeData.push_back(CyString("</language>"));
-
 
5595
	textFile.WriteFileUTF(&writeData);
-
 
5596
 
-
 
5597
	size_t fileSize;
-
 
5598
	char *fileData = CFileIO(textFile.GetFullFilename()).ReadToData(&fileSize);
-
 
5599
 
-
 
5600
	if ( fileData && fileSize)
-
 
5601
	{
-
 
5602
		size_t newFileSize;
-
 
5603
		unsigned char *pckData = PCKData((unsigned char *)fileData, fileSize, &newFileSize, true);
-
 
5604
		if ( pckData )
-
 
5605
		{
-
 
5606
			CFileIO pckFile(m_sCurrentDir + "/t/" + filename + ".pck");
-
 
5607
			pckFile.WriteData((char *)pckData, newFileSize);
-
 
5608
			this->AddCreatedFile(pckFile.GetFullFilename());
-
 
5609
		}
-
 
5610
	}
-
 
5611
	textFile.remove();
-
 
5612
}
-
 
5613
 
5563
void CPackages::CreatePluginManagerText()
5614
void CPackages::CreatePluginManagerText()
5564
{
5615
{
5565
	int gameNumber = _gameTextNumber();
5616
	int gameNumber = _gameTextNumber();
5566
 
5617
 
5567
	int lang = m_iLanguage;
5618
	int lang = m_iLanguage;
Line 5624... Line 5675...
5624
	writeData.push_back(CyString("		<t id=\"103\">\\033B</t>"));
5675
	writeData.push_back(CyString("		<t id=\"103\">\\033B</t>"));
5625
	writeData.push_back(CyString("		<t id=\"104\">\\033X</t>"));
5676
	writeData.push_back(CyString("		<t id=\"104\">\\033X</t>"));
5626
	writeData.push_back(CyString("		<t id=\"105\">\\033Y</t>"));
5677
	writeData.push_back(CyString("		<t id=\"105\">\\033Y</t>"));
5627
	writeData.push_back(CyString("		<t id=\"106\">\\033C</t>"));
5678
	writeData.push_back(CyString("		<t id=\"106\">\\033C</t>"));
5628
	writeData.push_back(CyString("		<t id=\"108\">\\033</t>"));
5679
	writeData.push_back(CyString("		<t id=\"108\">\\033</t>"));
-
 
5680
 
-
 
5681
	writeData.push_back(CyString("		<t id=\"99998\">[author]Plugin Manager[/author]It appears the plugin manager hasn't been closed properly.  Make sure its closed before running the game otherwise things may not work correctly</t>"));
-
 
5682
	writeData.push_back(CyString("		<t id=\"99999\">1</t>"));
5629
	// now write each package
5683
	// now write each package
5630
	int settingStart = 100000;
5684
	int settingStart = 100000;
5631
	for ( CListNode<CBaseFile> *node = m_lPackages.Front(); node; node = node->next() )
5685
	for ( CListNode<CBaseFile> *node = m_lPackages.Front(); node; node = node->next() )
5632
	{
5686
	{
5633
		CBaseFile *p = node->Data();
5687
		CBaseFile *p = node->Data();