| 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();
|