| 597 |
|
else if(splitInstances == false){ |
| 598 |
|
directory_iterator end_iter; |
| 599 |
|
|
| 600 |
< |
for ( directory_iterator dir_itr( vanilla_dir ); |
| 601 |
< |
dir_itr != end_iter; |
| 602 |
< |
++dir_itr ) |
| 603 |
< |
{ |
| 604 |
< |
if ( is_directory( dir_itr->status() ) ) |
| 605 |
< |
{ |
| 606 |
< |
numberOfDats++; |
| 600 |
> |
|
| 601 |
> |
char levelnums[256] = {0}; |
| 602 |
> |
|
| 603 |
> |
|
| 604 |
> |
|
| 605 |
> |
for(int k = 0; k < 256; k++) { |
| 606 |
> |
if( exists( (path)("./VanillaDats/level" + lexical_cast<std::string>(k) + "_final/") ) ) { |
| 607 |
> |
levelnums[k] = 1; |
| 608 |
> |
|
| 609 |
|
} |
| 610 |
|
} |
| 611 |
< |
|
| 611 |
> |
|
| 612 |
> |
for (int i = installedMods.size() - 1; i >= 0; i--) { //Iterates through the installed mods (backwards :P) |
| 613 |
> |
for (unsigned int j = 0; j < globalPackages.size(); ++j) { //looking in the global packages |
| 614 |
> |
if (globalPackages[j].modStringName == installedMods[i]) { //for a mod that has BSL in it |
| 615 |
> |
for(int k = 0; k < 256; k++) { |
| 616 |
> |
if( globalPackages[j].hasOnis && |
| 617 |
> |
exists( (path)("packages/" + globalPackages[j].modStringName + "/oni/level" + lexical_cast<std::string>(k) + "_final/") ) ) { |
| 618 |
> |
levelnums[k] = 1; |
| 619 |
> |
|
| 620 |
> |
} |
| 621 |
> |
} |
| 622 |
> |
} |
| 623 |
> |
} |
| 624 |
> |
} |
| 625 |
> |
for (int levelnum = 0; levelnum < 256; levelnum++) |
| 626 |
> |
if (levelnums[levelnum]) |
| 627 |
> |
numberOfDats++; |
| 628 |
> |
|
| 629 |
|
out << numberOfDats; |
| 630 |
|
datString = out.str(); |
| 631 |
< |
|
| 632 |
< |
for ( directory_iterator dir_itr( vanilla_dir ); |
| 614 |
< |
dir_itr != end_iter; |
| 615 |
< |
++dir_itr ) |
| 616 |
< |
{ |
| 631 |
> |
|
| 632 |
> |
for(int levelnum = 0; levelnum < 256; levelnum++) { |
| 633 |
|
try |
| 634 |
|
{ |
| 635 |
< |
if ( is_directory( dir_itr->status() ) ) |
| 635 |
> |
if ( levelnums[levelnum] ) |
| 636 |
|
{ |
| 637 |
< |
importCommand = strOniSplit + " " + strImportOption + " " + vanilla_dir.string() + dir_itr->path().filename() + " "; |
| 637 |
> |
importCommand = strOniSplit + " " + strImportOption + " " + vanilla_dir.string() + "level" + lexical_cast<std::string>(levelnum) + "_Final "; |
| 638 |
|
for (unsigned int i = 0; i < installedMods.size(); ++i) { |
| 639 |
< |
if (exists("packages/" + installedMods[i] + "/oni/" + dir_itr->path().filename() )) |
| 640 |
< |
importCommand += " packages/" + installedMods[i] + "/oni/" + dir_itr->path().filename(); |
| 639 |
> |
if (exists((path)("packages/" + installedMods[i] + "/oni/level" + lexical_cast<std::string>(levelnum) + "_final") )) |
| 640 |
> |
importCommand += " packages/" + installedMods[i] + "/oni/level" + lexical_cast<std::string>(levelnum) + "_Final"; |
| 641 |
|
} |
| 642 |
< |
importCommand += " ../GameDataFolder/" + dir_itr->path().filename() + ".dat >> Install.log"; |
| 642 |
> |
importCommand += " ../GameDataFolder/level" + lexical_cast<std::string>(levelnum) + "_Final.dat >> Install.log"; |
| 643 |
|
|
| 644 |
|
setProgressBar( (int)(1000 * (float)(j-1) / (float)numberOfDats) ); //100% * dat we're on / total dats |
| 645 |
|
setStatusArea("Step " + lexical_cast<std::string>(j) + '/' + lexical_cast<std::string>(numberOfDats)+ ": Importing " + |
| 646 |
< |
dir_itr->path().filename() + " "); |
| 646 |
> |
"level" + lexical_cast<std::string>(levelnum) + "_Final"+ " "); |
| 647 |
|
system(importCommand.c_str()); |
| 648 |
|
j++; |
| 649 |
|
} |