mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-24 18:08:44 +00:00
another merge from mainline
This commit is contained in:
commit
a920c7e261
6 changed files with 102 additions and 116 deletions
|
@ -41,10 +41,10 @@ using namespace CLFECOMMON;
|
||||||
* t| /
|
* t| /
|
||||||
* a| /
|
* a| /
|
||||||
* n| /
|
* n| /
|
||||||
* c|45ー /
|
* c|45 /
|
||||||
* e| /
|
* e| /
|
||||||
* |/
|
* |/
|
||||||
* ー
|
* o
|
||||||
* Observer
|
* Observer
|
||||||
*
|
*
|
||||||
* If Delta exceeds Distance/2, the priority shelf (bucket) is the highest one (H)
|
* If Delta exceeds Distance/2, the priority shelf (bucket) is the highest one (H)
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace NLOLDGEORGES
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
// La classe CFormFile représente un fichier composé d'un ensemble de fiches représentés par des fiches CForm.
|
// CFormFile class represents a file with a set of CForm sheets.
|
||||||
class CFormFile
|
class CFormFile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
namespace NLOLDGEORGES
|
namespace NLOLDGEORGES
|
||||||
{
|
{
|
||||||
|
|
||||||
// La classe CFormHead comprend trois strings: le nom de l'utilisateur, la date de dernière modif et la version.
|
// CFormHead class provides three strings: user name, last modification date and version.
|
||||||
class CFormHead
|
class CFormHead
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
namespace NLOLDGEORGES
|
namespace NLOLDGEORGES
|
||||||
{
|
{
|
||||||
|
|
||||||
// La classe CFormLoader est le point d'entrée des classes CForm pour charger une fiche.
|
// CFormLoader class is CForm entry point to load a sheet.
|
||||||
// Il y a deux fonctions load:
|
// There are two load functions:
|
||||||
// Sans date: donne directement la dernière fiche historiquement parlant
|
// Without date: give directly the last sheet
|
||||||
// Avec date: donne une fiche composée de la dernière additionnés des historiques postérieurs ou égaux à la date.
|
// With date: give a sheet and all previous ones until this date
|
||||||
class CFormLoader
|
class CFormLoader
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -28,10 +28,10 @@ CSString GroupTypContent;
|
||||||
CSString WKContent;
|
CSString WKContent;
|
||||||
|
|
||||||
|
|
||||||
// Assigne une nouvelle MP à une creature
|
// Assign a new raw mat to a creature
|
||||||
void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
||||||
{
|
{
|
||||||
// on regarde si la créature est dégénérée ou non
|
// we check if a creature is degenerated or not
|
||||||
if ( ( creatureName.c_str()[3] != 'c' ) && ( creatureName.c_str()[3] != 'd' )
|
if ( ( creatureName.c_str()[3] != 'c' ) && ( creatureName.c_str()[3] != 'd' )
|
||||||
&& ( creatureName.c_str()[3] != 'f' ) && ( creatureName.c_str()[3] != 'j' )
|
&& ( creatureName.c_str()[3] != 'f' ) && ( creatureName.c_str()[3] != 'j' )
|
||||||
&& ( creatureName.c_str()[3] != 'l' ) && ( creatureName.c_str()[3] != 'p' ) )
|
&& ( creatureName.c_str()[3] != 'l' ) && ( creatureName.c_str()[3] != 'p' ) )
|
||||||
|
@ -43,7 +43,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
||||||
CSString fileName = toString( "%s//_%s_mp.creature", RAW_MATERIAL_ASSIGN.c_str(), creatureName.c_str() );
|
CSString fileName = toString( "%s//_%s_mp.creature", RAW_MATERIAL_ASSIGN.c_str(), creatureName.c_str() );
|
||||||
CSString data;
|
CSString data;
|
||||||
|
|
||||||
// création si le fichier n'existe pas
|
// create file if not exists
|
||||||
if(!CFile::fileExists(fileName))
|
if(!CFile::fileExists(fileName))
|
||||||
{
|
{
|
||||||
CSString str;
|
CSString str;
|
||||||
|
@ -66,7 +66,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
||||||
|
|
||||||
if ( !data.contains( materialName.c_str() ) )
|
if ( !data.contains( materialName.c_str() ) )
|
||||||
{
|
{
|
||||||
// on recherche le premier numéro de MP non utilisé
|
// look for first number of unused raw mat
|
||||||
CSString str = data;
|
CSString str = data;
|
||||||
int nb= 0;
|
int nb= 0;
|
||||||
while ( str.contains( "Name=\"MP" ) )
|
while ( str.contains( "Name=\"MP" ) )
|
||||||
|
@ -75,7 +75,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
||||||
nb = str.firstWord().atoi();
|
nb = str.firstWord().atoi();
|
||||||
}
|
}
|
||||||
|
|
||||||
// on insère la nouvelle MP
|
// insert new raw mat
|
||||||
str = " <STRUCT Name=\"MP";
|
str = " <STRUCT Name=\"MP";
|
||||||
str += toString( "%d\">\r\n <ATOM Name=\"AssociatedItem\"", nb+1 );
|
str += toString( "%d\">\r\n <ATOM Name=\"AssociatedItem\"", nb+1 );
|
||||||
str += toString( " Value=\"%s\"/>\r\n </STRUCT>\r\n </STRUCT>\r\n </STRUCT>\r\n", materialName.c_str() );
|
str += toString( " Value=\"%s\"/>\r\n </STRUCT>\r\n </STRUCT>\r\n </STRUCT>\r\n", materialName.c_str() );
|
||||||
|
@ -87,8 +87,7 @@ void AssignerMP( const CSString& creatureName, const CSString& materialName )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// enregistrement des differentes
|
// save stats for each craft part
|
||||||
// caractéristiques de chaque craft part
|
|
||||||
void LoadCraftParts()
|
void LoadCraftParts()
|
||||||
{
|
{
|
||||||
CSString data, ligne, info;
|
CSString data, ligne, info;
|
||||||
|
@ -117,7 +116,7 @@ void LoadCraftParts()
|
||||||
{
|
{
|
||||||
ligne = data.splitTo( "\n", true );
|
ligne = data.splitTo( "\n", true );
|
||||||
|
|
||||||
// on recherche la ligne correspondant à notre craft part
|
// look for line concerning our craft part
|
||||||
info = ligne.splitTo( ";", true );
|
info = ligne.splitTo( ";", true );
|
||||||
if ( !info.empty() )
|
if ( !info.empty() )
|
||||||
{
|
{
|
||||||
|
@ -126,13 +125,12 @@ void LoadCraftParts()
|
||||||
for ( int i=0; i<6; i++ )
|
for ( int i=0; i<6; i++ )
|
||||||
ligne.splitTo( ";", true );
|
ligne.splitTo( ";", true );
|
||||||
|
|
||||||
// parcours des différentes caractèristiques
|
// browse each characteristics
|
||||||
for ( int i=0; i<NumMPStats; i++ )
|
for ( int i=0; i<NumMPStats; i++ )
|
||||||
{
|
{
|
||||||
info = ligne.splitTo( ";", true ).left(1);
|
info = ligne.splitTo( ";", true ).left(1);
|
||||||
|
|
||||||
// si la cellule n'est pas vide, cette caractèristique
|
// if the cell is not empty, this characteristic is generated by craft part
|
||||||
// est générée par la craft part
|
|
||||||
if ( ( info == "C" ) || ( info == "D" ) || ( info == "X" ) )
|
if ( ( info == "C" ) || ( info == "D" ) || ( info == "X" ) )
|
||||||
craftParts[index].Carac[i] = true;
|
craftParts[index].Carac[i] = true;
|
||||||
else
|
else
|
||||||
|
@ -143,7 +141,7 @@ void LoadCraftParts()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enregistre les noms des différents fichiers de creature dans le bestiaire
|
// Save creatures filenames in bestiary
|
||||||
void LoadCreatureFiles()
|
void LoadCreatureFiles()
|
||||||
{
|
{
|
||||||
printf( "-- REGISTERING CREATURE FILES --\n" );
|
printf( "-- REGISTERING CREATURE FILES --\n" );
|
||||||
|
@ -163,8 +161,7 @@ void LoadCreatureFiles()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enregistre pour chaque créature la liste des différents
|
// Save items levels list to generate for each creature
|
||||||
// niveaux d'item à générer
|
|
||||||
void InitCreatureMP()
|
void InitCreatureMP()
|
||||||
{
|
{
|
||||||
CSString data, ligneN, ligneM;
|
CSString data, ligneN, ligneM;
|
||||||
|
@ -184,12 +181,12 @@ void InitCreatureMP()
|
||||||
ligneN = data.splitTo( "\n", true );
|
ligneN = data.splitTo( "\n", true );
|
||||||
ligneM = data.splitTo( "\n", true );
|
ligneM = data.splitTo( "\n", true );
|
||||||
|
|
||||||
// on vérifie que la ligne est valide
|
// check if line is valid
|
||||||
if ( !ligneN.splitTo( ";", true ).empty() )
|
if ( !ligneN.splitTo( ";", true ).empty() )
|
||||||
{
|
{
|
||||||
ligneM.splitTo( ";", true );
|
ligneM.splitTo( ";", true );
|
||||||
|
|
||||||
// on se déplace jusqu'au données
|
// move until data
|
||||||
ligneN.splitTo( ";", true );
|
ligneN.splitTo( ";", true );
|
||||||
ligneM.splitTo( ";", true );
|
ligneM.splitTo( ";", true );
|
||||||
ligneN.splitTo( ";", true );
|
ligneN.splitTo( ";", true );
|
||||||
|
@ -211,8 +208,7 @@ void InitCreatureMP()
|
||||||
ligneN = "";
|
ligneN = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
// pour chaque nouveau nom de créature trouvé,
|
// save items to generate for each new creature name found
|
||||||
// on enregistre les items à générer
|
|
||||||
for ( char eco='a'; eco<='z'; eco++ )
|
for ( char eco='a'; eco<='z'; eco++ )
|
||||||
{
|
{
|
||||||
for ( int level=0; level<10; level++ )
|
for ( int level=0; level<10; level++ )
|
||||||
|
@ -221,12 +217,12 @@ void InitCreatureMP()
|
||||||
{
|
{
|
||||||
CSString fileName = toString( "c%s%c%c%d", code.toLower().c_str(), eco,
|
CSString fileName = toString( "c%s%c%c%d", code.toLower().c_str(), eco,
|
||||||
'a' + level, creatureLevel );
|
'a' + level, creatureLevel );
|
||||||
// on recherche si une créature correspond à ces données
|
// look for corresponding creature
|
||||||
it = creatureFiles.find( fileName );
|
it = creatureFiles.find( fileName );
|
||||||
|
|
||||||
if ( it != creatureFiles.end() )
|
if ( it != creatureFiles.end() )
|
||||||
{
|
{
|
||||||
// si oui, on signale que cet item devra être généré
|
// if yes, this item should be generated
|
||||||
CreatureMPItem* creatureMP = new CreatureMPItem;
|
CreatureMPItem* creatureMP = new CreatureMPItem;
|
||||||
creatureMP->creatureLevel = creatureLevel;
|
creatureMP->creatureLevel = creatureLevel;
|
||||||
creatureMP->eco = eco;
|
creatureMP->eco = eco;
|
||||||
|
@ -246,7 +242,7 @@ void InitCreatureMP()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Retourne la qualité maximum pour un level d'item
|
// Return quality maximum foran item level
|
||||||
int GetMaxQuality( int level )
|
int GetMaxQuality( int level )
|
||||||
{
|
{
|
||||||
if ( level == 0 )
|
if ( level == 0 )
|
||||||
|
@ -256,7 +252,7 @@ int GetMaxQuality( int level )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Retourne l'énergie maximum pour un level d'item
|
// Return energy maximum for an item level
|
||||||
int GetStatEnergy( int level )
|
int GetStatEnergy( int level )
|
||||||
{
|
{
|
||||||
if ( level == 0 )
|
if ( level == 0 )
|
||||||
|
@ -266,7 +262,7 @@ int GetStatEnergy( int level )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Retourne le nom de classe de l'item selon ses caractèristiques
|
// Return item class name depending on its characteristics
|
||||||
void GetItemClass( int level, bool mission, bool creature, CSString& outClassName )
|
void GetItemClass( int level, bool mission, bool creature, CSString& outClassName )
|
||||||
{
|
{
|
||||||
static CSString missionClasses[] = { "Plain", "Average", "Prime", "Select",
|
static CSString missionClasses[] = { "Plain", "Average", "Prime", "Select",
|
||||||
|
@ -308,7 +304,7 @@ bool endsWith( const CSString& s, const CSString& substring )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Génére les noms d'un item
|
// Generate item names
|
||||||
void GenerateItemNames( const CSString& nomMP, char eco, int level, bool mission, bool creature, CSString& outStr )
|
void GenerateItemNames( const CSString& nomMP, char eco, int level, bool mission, bool creature, CSString& outStr )
|
||||||
{
|
{
|
||||||
CSString itemClass, prefix, singularWithNoPrefix;
|
CSString itemClass, prefix, singularWithNoPrefix;
|
||||||
|
@ -411,7 +407,7 @@ void GenerateItemNames( const CSString& nomMP, char eco, int level, bool mission
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Retourne le numéro de la famille passée en paramètre
|
// Return number of specified family
|
||||||
int GetNumeroMP( const CSString& nomMP )
|
int GetNumeroMP( const CSString& nomMP )
|
||||||
{
|
{
|
||||||
CSString result;
|
CSString result;
|
||||||
|
@ -420,27 +416,25 @@ int GetNumeroMP( const CSString& nomMP )
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
// *** Get the family number, and add it to faimly.typ if not already done
|
// *** Get the family number, and add it to faimly.typ if not already done
|
||||||
// on recherche si la MP est présente
|
// look for raw mat existence in item_mp_family.typ file
|
||||||
// dans le fichier item_mp_family.typ
|
|
||||||
sprintf( buffer, "%s\" Value=\"", nomMP.c_str() );
|
sprintf( buffer, "%s\" Value=\"", nomMP.c_str() );
|
||||||
result = FamilyTypContent.splitFrom( buffer );
|
result = FamilyTypContent.splitFrom( buffer );
|
||||||
|
|
||||||
// si oui, on retourne son numéro de MP
|
// if yes, return raw mat number
|
||||||
if ( !result.empty() )
|
if ( !result.empty() )
|
||||||
res = result.splitTo( "\"" ).atoi();
|
res = result.splitTo( "\"" ).atoi();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// sinon, on génère un nouveau numéro :
|
// else, generate a new number:
|
||||||
// on recupère le dernier numéro de MP (le max)
|
// get last raw mat number (the max)
|
||||||
result = FamilyTypContent.splitTo( "<LOG>" ).right(10);
|
result = FamilyTypContent.splitTo( "<LOG>" ).right(10);
|
||||||
result.splitTo( "\"", true );
|
result.splitTo( "\"", true );
|
||||||
result = result.splitTo( "\"" );
|
result = result.splitTo( "\"" );
|
||||||
|
|
||||||
// on ajoute 1 pour avoir un numéro non utilisé
|
// increase by 1 to get the unused number
|
||||||
res = result.atoi() + 1;
|
res = result.atoi() + 1;
|
||||||
|
|
||||||
// on ajoute la nouvelle MP :
|
// add new raw mat in file item_mp_family.typ
|
||||||
// dans le fichier item_mp_family.typ
|
|
||||||
sprintf( buffer, " <DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", nomMP.c_str(), res );
|
sprintf( buffer, " <DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", nomMP.c_str(), res );
|
||||||
FamilyTypContent= FamilyTypContent.replace( "<LOG>", buffer );
|
FamilyTypContent= FamilyTypContent.replace( "<LOG>", buffer );
|
||||||
FamilyTypContent.writeToFile( ITEM_MP_FAMILY_TYP );
|
FamilyTypContent.writeToFile( ITEM_MP_FAMILY_TYP );
|
||||||
|
@ -463,7 +457,7 @@ int GetNumeroMP( const CSString& nomMP )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Retourne le numéro du groupe passé en paramètre
|
// Return number from specified group
|
||||||
int GetNumeroGroupe( const CSString& groupe )
|
int GetNumeroGroupe( const CSString& groupe )
|
||||||
{
|
{
|
||||||
CSString result;
|
CSString result;
|
||||||
|
@ -472,27 +466,25 @@ int GetNumeroGroupe( const CSString& groupe )
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
// *** Get the group number, and add it to group.typ if not already done
|
// *** Get the group number, and add it to group.typ if not already done
|
||||||
// on recherche si le groupe est présent
|
// look for group existence in item_mp_group.typ file
|
||||||
// dans le fichier item_mp_group.typ
|
|
||||||
sprintf( buffer, "%s\" Value=\"", groupe.c_str() );
|
sprintf( buffer, "%s\" Value=\"", groupe.c_str() );
|
||||||
result = GroupTypContent.splitFrom( buffer );
|
result = GroupTypContent.splitFrom( buffer );
|
||||||
|
|
||||||
// si oui, on retourne son numéro de groupe
|
// if yes, return its group number
|
||||||
if ( !result.empty() )
|
if ( !result.empty() )
|
||||||
res = result.splitTo( "\"" ).atoi();
|
res = result.splitTo( "\"" ).atoi();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// sinon, on génère un nouveau numéro :
|
// else, generate a new number :
|
||||||
// on recupère le dernier numéro de groupe (le max)
|
// get the last group number (the max)
|
||||||
result = GroupTypContent.splitTo( "<LOG>" ).right(10);
|
result = GroupTypContent.splitTo( "<LOG>" ).right(10);
|
||||||
result.splitTo( "\"", true );
|
result.splitTo( "\"", true );
|
||||||
result = result.splitTo( "\"" );
|
result = result.splitTo( "\"" );
|
||||||
|
|
||||||
// on ajoute 1 pour avoir un numéro non utilisé
|
// increase by 1 to get the unused number
|
||||||
res = result.atoi() + 1;
|
res = result.atoi() + 1;
|
||||||
|
|
||||||
// on ajoute la nouvelle MP :
|
// add new raw mat in file item_mp_group.typ
|
||||||
// dans le fichier item_mp_group.typ
|
|
||||||
sprintf( buffer, "<DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", groupe.c_str(), res );
|
sprintf( buffer, "<DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", groupe.c_str(), res );
|
||||||
GroupTypContent= GroupTypContent.replace( "<LOG>", buffer );
|
GroupTypContent= GroupTypContent.replace( "<LOG>", buffer );
|
||||||
GroupTypContent.writeToFile( ITEM_MP_GROUPE_TYP );
|
GroupTypContent.writeToFile( ITEM_MP_GROUPE_TYP );
|
||||||
|
@ -516,7 +508,7 @@ int GetNumeroGroupe( const CSString& groupe )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Génère l'item parent pour une MP
|
// Generate parent item for a raw mat
|
||||||
void CreateParentSItem( int numMP,
|
void CreateParentSItem( int numMP,
|
||||||
const CSString& nomMP,
|
const CSString& nomMP,
|
||||||
const CSString& groupe,
|
const CSString& groupe,
|
||||||
|
@ -527,10 +519,10 @@ void CreateParentSItem( int numMP,
|
||||||
CSString output;
|
CSString output;
|
||||||
CSString outputFileName;
|
CSString outputFileName;
|
||||||
|
|
||||||
// nom du fichier de sortie
|
// output filename
|
||||||
outputFileName = toString( "%s_parent\\_m%04d.sitem", MP_DIRECTORY.c_str(), numMP );
|
outputFileName = toString( "%s_parent\\_m%04d.sitem", MP_DIRECTORY.c_str(), numMP );
|
||||||
|
|
||||||
// entete xml
|
// xml header
|
||||||
output = "<?xml version=\"1.0\"?>\n<FORM Version=\"0.0\" State=\"modified\">\n";
|
output = "<?xml version=\"1.0\"?>\n<FORM Version=\"0.0\" State=\"modified\">\n";
|
||||||
|
|
||||||
// basics
|
// basics
|
||||||
|
@ -538,15 +530,15 @@ void CreateParentSItem( int numMP,
|
||||||
output += " <ATOM Name=\"Drop or Sell\" Value=\"";
|
output += " <ATOM Name=\"Drop or Sell\" Value=\"";
|
||||||
|
|
||||||
if ( !dropOrSell )
|
if ( !dropOrSell )
|
||||||
// il s'agit d'un item de mission, non vendable
|
// mission items can't be sold
|
||||||
output += "false\"/>\n";
|
output += "false\"/>\n";
|
||||||
else
|
else
|
||||||
// sinon, on peut le vendre
|
// the others, yes
|
||||||
output += "true\"/>\n";
|
output += "true\"/>\n";
|
||||||
|
|
||||||
output += " <ATOM Name=\"Bulk\" Value=\"0.5\"/>\n </STRUCT>\n";
|
output += " <ATOM Name=\"Bulk\" Value=\"0.5\"/>\n </STRUCT>\n";
|
||||||
|
|
||||||
// mp
|
// raw mat
|
||||||
output += " <STRUCT Name=\"mp\">\n";
|
output += " <STRUCT Name=\"mp\">\n";
|
||||||
output += " <ATOM Name=\"Family\" Value=\"";
|
output += " <ATOM Name=\"Family\" Value=\"";
|
||||||
output += nomMP;
|
output += nomMP;
|
||||||
|
@ -573,16 +565,16 @@ void CreateParentSItem( int numMP,
|
||||||
|
|
||||||
output += " </STRUCT>\n </STRUCT>\n";
|
output += " </STRUCT>\n </STRUCT>\n";
|
||||||
|
|
||||||
// fin du fichier
|
// end of file
|
||||||
output += " <STRUCT/>\n <STRUCT/>\n <STRUCT/>\n <STRUCT/>\n</FORM>\n";
|
output += " <STRUCT/>\n <STRUCT/>\n <STRUCT/>\n <STRUCT/>\n</FORM>\n";
|
||||||
|
|
||||||
// écriture finale
|
// final write
|
||||||
output.writeToFile( outputFileName );
|
output.writeToFile( outputFileName );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Remplit les différents informations concernant le craft par un item
|
// Fill information related to craft with an item
|
||||||
void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
int worstStat1, int worstStat2, CSString& outStr )
|
int worstStat1, int worstStat2, CSString& outStr )
|
||||||
{
|
{
|
||||||
|
@ -630,8 +622,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
|
|
||||||
currentDocItem.push( DtCraftSlotName, craftParts[index].Desc.splitFrom( "(" ).splitTo( ")" ) );
|
currentDocItem.push( DtCraftSlotName, craftParts[index].Desc.splitFrom( "(" ).splitTo( ")" ) );
|
||||||
|
|
||||||
// enregistrements des stats de chaque
|
// save stats for each characteristic
|
||||||
// caractèristique
|
|
||||||
for ( int i=0; i<NumMPStats; i++ )
|
for ( int i=0; i<NumMPStats; i++ )
|
||||||
{
|
{
|
||||||
if ( craftParts[index].Carac[i] )
|
if ( craftParts[index].Carac[i] )
|
||||||
|
@ -641,7 +632,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
else
|
else
|
||||||
stat = mediumStatsByStatQuality[ level ];
|
stat = mediumStatsByStatQuality[ level ];
|
||||||
|
|
||||||
// gestion des points forts/faibles de la MP
|
// manage weak/strong points of a raw mat
|
||||||
if ( i == bestStat )
|
if ( i == bestStat )
|
||||||
{
|
{
|
||||||
if ( worstStat2 == -1 )
|
if ( worstStat2 == -1 )
|
||||||
|
@ -651,8 +642,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
|
|
||||||
if ( stat > 100 )
|
if ( stat > 100 )
|
||||||
{
|
{
|
||||||
// si une des stats dépasse 100, les autres
|
// if a stat exceeds 100, other are increased
|
||||||
// stats sont augmentées
|
|
||||||
remaining = stat - 100;
|
remaining = stat - 100;
|
||||||
stat = 100;
|
stat = 100;
|
||||||
}
|
}
|
||||||
|
@ -661,7 +651,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
{
|
{
|
||||||
stat -= 20;
|
stat -= 20;
|
||||||
|
|
||||||
// durabilité minimum
|
// minimum durability
|
||||||
if ( ( i == 0 ) && ( stat < 1 ) )
|
if ( ( i == 0 ) && ( stat < 1 ) )
|
||||||
stat = 1;
|
stat = 1;
|
||||||
}
|
}
|
||||||
|
@ -677,7 +667,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
if ( nbToRaise != 0 )
|
if ( nbToRaise != 0 )
|
||||||
ajout = remaining/nbToRaise;
|
ajout = remaining/nbToRaise;
|
||||||
|
|
||||||
// ajout des informations pour chaque carac
|
// add information for each characteristic
|
||||||
for ( int i=0; i<NumMPStats; i++ )
|
for ( int i=0; i<NumMPStats; i++ )
|
||||||
{
|
{
|
||||||
if ( stats[i] != -1 )
|
if ( stats[i] != -1 )
|
||||||
|
@ -696,7 +686,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CraftCivSpec en fonction de l'écosystème
|
// CraftCivSpec depending on ecosystem
|
||||||
outStr += " <ATOM Name=\"CraftCivSpec\" Value=\"";
|
outStr += " <ATOM Name=\"CraftCivSpec\" Value=\"";
|
||||||
CSString craftCiv;
|
CSString craftCiv;
|
||||||
|
|
||||||
|
@ -739,7 +729,7 @@ void FillCraftData( char craft, int eco, int level, bool creature, int bestStat,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Création d'une fiche d'item
|
// Create item sheets
|
||||||
void CreateSheet( int numMP, const CSString& nomMP,
|
void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
const CSString& code, char eco,
|
const CSString& code, char eco,
|
||||||
int level, const MPCraftStats& craftStats,
|
int level, const MPCraftStats& craftStats,
|
||||||
|
@ -801,7 +791,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
else
|
else
|
||||||
currentDocItem.push( DtLevelZone, "-" );
|
currentDocItem.push( DtLevelZone, "-" );
|
||||||
|
|
||||||
// remplissage des informations de la fiche
|
// fill sheets information
|
||||||
output = "<?xml version=\"1.0\"?>\n<FORM Version=\"0.0\" State=\"modified\">\n";
|
output = "<?xml version=\"1.0\"?>\n<FORM Version=\"0.0\" State=\"modified\">\n";
|
||||||
output += " <PARENT Filename=\"_m";
|
output += " <PARENT Filename=\"_m";
|
||||||
output += eco;
|
output += eco;
|
||||||
|
@ -809,7 +799,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
output += chaineNum;
|
output += chaineNum;
|
||||||
output += ".sitem\"/>\n";
|
output += ".sitem\"/>\n";
|
||||||
|
|
||||||
// le code est celui d'une créature, on doit donc rajouter le parent
|
// if a creature code, add it its parent
|
||||||
if ( creature )
|
if ( creature )
|
||||||
{
|
{
|
||||||
output += " <PARENT Filename=\"_m";
|
output += " <PARENT Filename=\"_m";
|
||||||
|
@ -824,7 +814,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
output += " <STRUCT Name=\"mp\">\n";
|
output += " <STRUCT Name=\"mp\">\n";
|
||||||
output += " <ATOM Name=\"MpColor\" Value=\"";
|
output += " <ATOM Name=\"MpColor\" Value=\"";
|
||||||
|
|
||||||
// materiaux de missions toujours Beige
|
// mission materials always Beige
|
||||||
if ( craftStats.Craft.empty() )
|
if ( craftStats.Craft.empty() )
|
||||||
{
|
{
|
||||||
output += "Beige\"/>\n";
|
output += "Beige\"/>\n";
|
||||||
|
@ -833,14 +823,14 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// on récupère la couleur
|
// get the color
|
||||||
GetItemColor( craftStats.color, eco, level, color );
|
GetItemColor( craftStats.color, eco, level, color );
|
||||||
output += color;
|
output += color;
|
||||||
output += "\"/>\n";
|
output += "\"/>\n";
|
||||||
|
|
||||||
currentDocItem.push( DtColor, color );
|
currentDocItem.push( DtColor, color );
|
||||||
|
|
||||||
// on ajoute les données de craft
|
// add craft data
|
||||||
output += " <STRUCT Name=\"MpParam\">\n";
|
output += " <STRUCT Name=\"MpParam\">\n";
|
||||||
for ( uint i=0; i<craftStats.Craft.size(); i++ )
|
for ( uint i=0; i<craftStats.Craft.size(); i++ )
|
||||||
{
|
{
|
||||||
|
@ -906,7 +896,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
|
|
||||||
output.writeToFile( toString( "%s%s\\%s", MP_DIRECTORY.c_str(), directory.c_str(), outputFileName.c_str() ) );
|
output.writeToFile( toString( "%s%s\\%s", MP_DIRECTORY.c_str(), directory.c_str(), outputFileName.c_str() ) );
|
||||||
|
|
||||||
// Génération des noms
|
// Generate names
|
||||||
if ( !specialItem )
|
if ( !specialItem )
|
||||||
{
|
{
|
||||||
outputFileName = toString( "m%04d%s%c%c%02d", numMP, code.c_str(), eco, 'a' + level, variation );
|
outputFileName = toString( "m%04d%s%c%c%02d", numMP, code.c_str(), eco, 'a' + level, variation );
|
||||||
|
@ -934,7 +924,7 @@ void CreateSheet( int numMP, const CSString& nomMP,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Pour une MP se trouvant dans des déposits, génération de ses items
|
// Generate deposits items for harvested raw mats
|
||||||
void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats& craftStats, const CSString& loc )
|
void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats& craftStats, const CSString& loc )
|
||||||
{
|
{
|
||||||
CSString code;
|
CSString code;
|
||||||
|
@ -959,11 +949,11 @@ void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats&
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 2 items dans common
|
// 2 items in common
|
||||||
CreateSheet( numMP, nomMP, code, 'c', 1, craftStats );
|
CreateSheet( numMP, nomMP, code, 'c', 1, craftStats );
|
||||||
CreateSheet( numMP, nomMP, code, 'c', 2, craftStats );
|
CreateSheet( numMP, nomMP, code, 'c', 2, craftStats );
|
||||||
|
|
||||||
// 3 items par zone
|
// 3 items per zone
|
||||||
for ( int i=0; i<3; i++ )
|
for ( int i=0; i<3; i++ )
|
||||||
{
|
{
|
||||||
CreateSheet( numMP, nomMP, code, 'd', 3+i, craftStats );
|
CreateSheet( numMP, nomMP, code, 'd', 3+i, craftStats );
|
||||||
|
@ -976,24 +966,24 @@ void GenerateDepositItems( int numMP, const CSString& nomMP, const MPCraftStats&
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Pour une MP se trouvant sur un créature, génération de ses items
|
// Generate creatures items for a looted raw mat
|
||||||
void GenerateCreatureItems( int numMP, CSString& nomMP, const MPCraftStats& craftStats )
|
void GenerateCreatureItems( int numMP, CSString& nomMP, const MPCraftStats& craftStats )
|
||||||
{
|
{
|
||||||
map<CSString, ListeCreatureMP>::const_iterator itLCMP;
|
map<CSString, ListeCreatureMP>::const_iterator itLCMP;
|
||||||
int quality;
|
int quality;
|
||||||
static int statQuality[] = { 0, 1, 0, 1, 3, 6, 4, 2 };
|
static int statQuality[] = { 0, 1, 0, 1, 3, 6, 4, 2 };
|
||||||
|
|
||||||
// On obtient la liste des niveau d'item à generer pour la créature
|
// Get items levels to generate for the creature
|
||||||
itLCMP = itemsAGenerer.find( nomMP.firstWord() );
|
itLCMP = itemsAGenerer.find( nomMP.firstWord() );
|
||||||
|
|
||||||
if ( itLCMP != itemsAGenerer.end() )
|
if ( itLCMP != itemsAGenerer.end() )
|
||||||
{
|
{
|
||||||
ListeCreatureMP::const_iterator itMP = (*itLCMP).second.begin();
|
ListeCreatureMP::const_iterator itMP = (*itLCMP).second.begin();
|
||||||
|
|
||||||
// pour chaque niveau d'item à générer
|
// for each level of an item to generate
|
||||||
while ( itMP != (*itLCMP).second.end() )
|
while ( itMP != (*itLCMP).second.end() )
|
||||||
{
|
{
|
||||||
// on enregistre ses caractéristiques
|
// save its stats
|
||||||
char eco = (*itMP)->eco;
|
char eco = (*itMP)->eco;
|
||||||
int creatureLevel = (*itMP)->creatureLevel;
|
int creatureLevel = (*itMP)->creatureLevel;
|
||||||
int itemLevel = (*itMP)->itemLevel;
|
int itemLevel = (*itMP)->itemLevel;
|
||||||
|
@ -1043,7 +1033,7 @@ void GenerateCreatureItems( int numMP, CSString& nomMP, const MPCraftStats& craf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Génération d'un item spécial
|
// Generate special item
|
||||||
void GenerateSpecialItem( int numMP, const CSString& nomMP, const MPCraftStats& craftStats,
|
void GenerateSpecialItem( int numMP, const CSString& nomMP, const MPCraftStats& craftStats,
|
||||||
const CSString& loc,CSString& itemData, int variation )
|
const CSString& loc,CSString& itemData, int variation )
|
||||||
{
|
{
|
||||||
|
@ -1060,15 +1050,15 @@ void GenerateSpecialItem( int numMP, const CSString& nomMP, const MPCraftStats&
|
||||||
CreateSheet( numMP, nomMP, code, info.c_str()[0], info.c_str()[1]-'a', craftStats, true, variation );
|
CreateSheet( numMP, nomMP, code, info.c_str()[0], info.c_str()[1]-'a', craftStats, true, variation );
|
||||||
|
|
||||||
name = toString( "m%04d%s%s%02d\t", numMP, code.c_str(), info.c_str(), variation );
|
name = toString( "m%04d%s%s%02d\t", numMP, code.c_str(), info.c_str(), variation );
|
||||||
name += itemData.splitTo( "/", true ); // singulier
|
name += itemData.splitTo( "/", true ); // singular
|
||||||
name += "\t";
|
name += "\t";
|
||||||
name += itemData.splitTo( "/", true ); // article indéfini
|
name += itemData.splitTo( "/", true ); // undefined article
|
||||||
name += "\t";
|
name += "\t";
|
||||||
name += itemData.splitTo( "/", true ); // article défini
|
name += itemData.splitTo( "/", true ); // defined article
|
||||||
name += "\t";
|
name += "\t";
|
||||||
name += itemData.splitTo( "/", true ); // pluriel
|
name += itemData.splitTo( "/", true ); // plural
|
||||||
name += "\t\t";
|
name += "\t\t";
|
||||||
name += itemData.splitTo( "/", true ); // article pluriel
|
name += itemData.splitTo( "/", true ); // plural article
|
||||||
|
|
||||||
itemNames.insert( name );
|
itemNames.insert( name );
|
||||||
}
|
}
|
||||||
|
@ -1095,7 +1085,7 @@ void parseSpecialAttributes(const CSString &specialAttributes, MPCraftStats &cra
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Nouvelle MP à traiter
|
// New raw mat to process
|
||||||
void NewMP( CSString& ligne )
|
void NewMP( CSString& ligne )
|
||||||
{
|
{
|
||||||
CSString nomMP, groupe, loc, icon, overlay, special, stat, specialAttributes;
|
CSString nomMP, groupe, loc, icon, overlay, special, stat, specialAttributes;
|
||||||
|
@ -1113,7 +1103,7 @@ void NewMP( CSString& ligne )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// récupération des infos
|
// get information
|
||||||
groupe = ligne.splitTo( ";", true );
|
groupe = ligne.splitTo( ";", true );
|
||||||
craftStats.Craft = ligne.splitTo( ";", true );
|
craftStats.Craft = ligne.splitTo( ";", true );
|
||||||
specialAttributes= ligne.splitTo( ";" , true );
|
specialAttributes= ligne.splitTo( ";" , true );
|
||||||
|
@ -1189,7 +1179,7 @@ void NewMP( CSString& ligne )
|
||||||
currentDocItem.push( DtRMFamily, nomMP );
|
currentDocItem.push( DtRMFamily, nomMP );
|
||||||
currentDocItem.push( DtGroup, groupe );
|
currentDocItem.push( DtGroup, groupe );
|
||||||
|
|
||||||
// récupréation du numéro de MP
|
// get raw mat number
|
||||||
numMP = GetNumeroMP( nomMP );
|
numMP = GetNumeroMP( nomMP );
|
||||||
printf( " Processing Family %d : %s\n", numMP, nomMP.c_str() );
|
printf( " Processing Family %d : %s\n", numMP, nomMP.c_str() );
|
||||||
|
|
||||||
|
@ -1203,12 +1193,12 @@ void NewMP( CSString& ligne )
|
||||||
MPFamilies[numMP].Icon= icon;
|
MPFamilies[numMP].Icon= icon;
|
||||||
|
|
||||||
|
|
||||||
// MP trouvées dans les déposits ou dans la goo
|
// raw mats found in deposits or goo
|
||||||
if ( loc.left(1) != "C" )
|
if ( loc.left(1) != "C" )
|
||||||
{
|
{
|
||||||
if ( !specialOnly )
|
if ( !specialOnly )
|
||||||
{
|
{
|
||||||
// Génération des items
|
// Generate items
|
||||||
GenerateDepositItems( numMP, nomMP, craftStats, loc );
|
GenerateDepositItems( numMP, nomMP, craftStats, loc );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1221,14 +1211,14 @@ void NewMP( CSString& ligne )
|
||||||
|
|
||||||
overlay = nomMP.firstWord().toUpper().left(6);
|
overlay = nomMP.firstWord().toUpper().left(6);
|
||||||
}
|
}
|
||||||
// MP trouvées sur les creature
|
// looted raw mats
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GenerateCreatureItems( numMP, nomMP, craftStats );
|
GenerateCreatureItems( numMP, nomMP, craftStats );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// items spéciaux
|
// special items
|
||||||
CSString codeSpecial, nouveauCode;
|
CSString codeSpecial, nouveauCode;
|
||||||
int variation = 1;
|
int variation = 1;
|
||||||
CSortedStringSet::const_iterator it = specialNames.begin();
|
CSortedStringSet::const_iterator it = specialNames.begin();
|
||||||
|
@ -1250,7 +1240,7 @@ void NewMP( CSString& ligne )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Création de la fiche parente pour la MP
|
// Create parent sheet for raw mat
|
||||||
CreateParentSItem( numMP, nomMP, groupe, extraInfo.DropOrSell, icon, overlay );
|
CreateParentSItem( numMP, nomMP, groupe, extraInfo.DropOrSell, icon, overlay );
|
||||||
|
|
||||||
currentDocItem.reset( DtRMFamily );
|
currentDocItem.reset( DtRMFamily );
|
||||||
|
@ -1260,7 +1250,7 @@ void NewMP( CSString& ligne )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Génération du Primitive Necklace (objet particulier)
|
// Generate Primitive Necklace (special object)
|
||||||
void CreatePrimitiveNecklace()
|
void CreatePrimitiveNecklace()
|
||||||
{
|
{
|
||||||
CSString output;
|
CSString output;
|
||||||
|
@ -1282,7 +1272,7 @@ void CreatePrimitiveNecklace()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enregistre les différents noms
|
// Save names
|
||||||
void ItemNamesSave()
|
void ItemNamesSave()
|
||||||
{
|
{
|
||||||
printf( "-- SAVING ITEM NAMES --\n");
|
printf( "-- SAVING ITEM NAMES --\n");
|
||||||
|
@ -1325,8 +1315,7 @@ void ItemNamesSave()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Charge les différentes Customized Properties
|
// Load Customized Properties defined in raw_material_generation.cfg
|
||||||
// définies dans raw_material_generation.cfg
|
|
||||||
void LoadCustomizedProperties()
|
void LoadCustomizedProperties()
|
||||||
{
|
{
|
||||||
CSString data, name, prop, val;
|
CSString data, name, prop, val;
|
||||||
|
@ -1356,7 +1345,7 @@ void LoadCustomizedProperties()
|
||||||
CSString fileName, str, output;
|
CSString fileName, str, output;
|
||||||
fileName = CPath::lookup( name, false, false, true );
|
fileName = CPath::lookup( name, false, false, true );
|
||||||
|
|
||||||
// on vérifie que le fichier concerné existe
|
// check if file exists
|
||||||
if ( !fileName.empty() )
|
if ( !fileName.empty() )
|
||||||
{
|
{
|
||||||
CSString zone = prop.splitTo( ".", true );
|
CSString zone = prop.splitTo( ".", true );
|
||||||
|
@ -1368,7 +1357,7 @@ void LoadCustomizedProperties()
|
||||||
output += toString( "%s\">\n <ATOM Name=\"", zone.c_str() );
|
output += toString( "%s\">\n <ATOM Name=\"", zone.c_str() );
|
||||||
output += toString( "%s\" Value=\"%s\"/>\n </STRUCT>", prop.c_str(), val.c_str() );
|
output += toString( "%s\" Value=\"%s\"/>\n </STRUCT>", prop.c_str(), val.c_str() );
|
||||||
|
|
||||||
// on vérifie que la propriétés n'a pas déjà été insérée
|
// check if property is not already inserted
|
||||||
if ( !str.contains( output.c_str() ) )
|
if ( !str.contains( output.c_str() ) )
|
||||||
{
|
{
|
||||||
str = str.replace( "<STRUCT>", output.c_str() );
|
str = str.replace( "<STRUCT>", output.c_str() );
|
||||||
|
@ -1381,7 +1370,7 @@ void LoadCustomizedProperties()
|
||||||
output += toString( " <ATOM Name=\"" );
|
output += toString( " <ATOM Name=\"" );
|
||||||
output += toString( "%s\" Value=\"%s\"/>\n", prop.c_str(), val.c_str() );
|
output += toString( "%s\" Value=\"%s\"/>\n", prop.c_str(), val.c_str() );
|
||||||
|
|
||||||
// on vérifie que la propriétés n'a pas déjà été insérée
|
// check if property is not already inserted
|
||||||
if ( !str.contains( toString( "%s\" Value=\"%s\"/>\n", prop.c_str(), val.c_str() ).c_str() ) )
|
if ( !str.contains( toString( "%s\" Value=\"%s\"/>\n", prop.c_str(), val.c_str() ).c_str() ) )
|
||||||
{
|
{
|
||||||
str = str.replace( toString( " <STRUCT Name=\"%s\">\n", zone.c_str() ).c_str(), output.c_str() );
|
str = str.replace( toString( " <STRUCT Name=\"%s\">\n", zone.c_str() ).c_str(), output.c_str() );
|
||||||
|
@ -1422,7 +1411,7 @@ void SaveFamiliesForageSource()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Génère la documentation
|
// Generate documentation
|
||||||
void GenerateDoc()
|
void GenerateDoc()
|
||||||
{
|
{
|
||||||
CProducedDocHtml MainDoc;
|
CProducedDocHtml MainDoc;
|
||||||
|
@ -1470,7 +1459,7 @@ void GenerateDoc()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Initialise les repertoires à partir de raw_material_generation.cfg
|
// Initialize directories from raw_material_generation.cfg
|
||||||
void SetupDirectories()
|
void SetupDirectories()
|
||||||
{
|
{
|
||||||
CSString data;
|
CSString data;
|
||||||
|
@ -1503,8 +1492,7 @@ void SetupDirectories()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Parcours les différentes familles de MP pour effectuer
|
// Browse all raw mats families to do all related processes
|
||||||
// les traitements nécessaires
|
|
||||||
void LoadFamillesMP()
|
void LoadFamillesMP()
|
||||||
{
|
{
|
||||||
printf( "-- LOADING RAW MATERIAL FAMILIES --\n" );
|
printf( "-- LOADING RAW MATERIAL FAMILIES --\n" );
|
||||||
|
@ -1530,14 +1518,13 @@ void LoadFamillesMP()
|
||||||
|
|
||||||
ligne = fileData.splitTo( "\n", true );
|
ligne = fileData.splitTo( "\n", true );
|
||||||
|
|
||||||
while ( ligne != "" )
|
while ( !ligne.empty() )
|
||||||
{
|
{
|
||||||
NewMP( ligne );
|
NewMP( ligne );
|
||||||
ligne = fileData.splitTo( "\n", true );
|
ligne = fileData.splitTo( "\n", true );
|
||||||
}
|
}
|
||||||
|
|
||||||
// le Primitive Necklace n'étant pas spécifié dans la liste des MP
|
// we manually add Primitive Necklace because it's not specified in raw mats list
|
||||||
// on le rajoute à la main
|
|
||||||
CreatePrimitiveNecklace();
|
CreatePrimitiveNecklace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,20 +105,19 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
// VARIABLES GLOBALES //
|
// GLOBAL VARIABLES //
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
|
|
||||||
// Liste des différentes Craft parts
|
// Craft parts list
|
||||||
CraftPart craftParts[NumMPCraftParts];
|
CraftPart craftParts[NumMPCraftParts];
|
||||||
|
|
||||||
// Liste des fichiers .creature
|
// .creature files list
|
||||||
map<string, string> creatureFiles;
|
map<string, string> creatureFiles;
|
||||||
|
|
||||||
// noms générés pour chaque item
|
// generated names for each item
|
||||||
CSortedStringSet itemNames;
|
CSortedStringSet itemNames;
|
||||||
|
|
||||||
// Liste des items à generer
|
// Items list to generate for each creature code
|
||||||
// pour chaque code de créature
|
|
||||||
map<CSString, ListeCreatureMP> itemsAGenerer;
|
map<CSString, ListeCreatureMP> itemsAGenerer;
|
||||||
|
|
||||||
// MP Family list
|
// MP Family list
|
||||||
|
@ -133,7 +132,7 @@ public:
|
||||||
std::vector<CMPFamily> MPFamilies;
|
std::vector<CMPFamily> MPFamilies;
|
||||||
|
|
||||||
|
|
||||||
// chemin des différents repertoires
|
// directories pathes
|
||||||
CSString LEVEL_DESIGN_PATH;
|
CSString LEVEL_DESIGN_PATH;
|
||||||
CSString TRANSLATION_PATH;
|
CSString TRANSLATION_PATH;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue