Merged from revision: 6912

- Allow reading of language specific *.MercStartingGear.xml Kit names
- Fixed *.Pockets.xml not working
- Reworked a few German texts

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6913 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-02-13 12:57:01 +00:00
parent 11037729f0
commit e6ae03cee3
5 changed files with 62 additions and 41 deletions
+17 -11
View File
@@ -412,7 +412,7 @@ BOOLEAN LoadExternalGameplayData(STR directoryName)
// CHRISL:
strcpy(fileName, directoryName);
strcat(fileName, LOADBEARINGEQUIPMENTFILENAME);
SGP_THROW_IFFALSE(ReadInlbeStats(fileName),LOADBEARINGEQUIPMENTFILENAME);
SGP_THROW_IFFALSE(ReadInLBEStats(fileName),LOADBEARINGEQUIPMENTFILENAME);
// CHRISL:
LBEPocketType.clear();
@@ -420,15 +420,6 @@ BOOLEAN LoadExternalGameplayData(STR directoryName)
strcat(fileName, LBEPOCKETFILENAME);
SGP_THROW_IFFALSE(ReadInLBEPocketStats(fileName,FALSE),LBEPOCKETFILENAME);
// THE_BOB : added for pocket popup definitions
LBEPocketPopup.clear();
strcpy(fileName, directoryName);
strcat(fileName, LBEPOCKETPOPUPFILENAME);
SGP_THROW_IFFALSE(ReadInLBEPocketPopups(fileName),LBEPOCKETPOPUPFILENAME);
//CHRISL: Simple localization
// Same setup as what Madd used for items.xml
#ifndef ENGLISH
AddLanguagePrefix(fileName);
if ( FileExists(fileName) )
@@ -438,6 +429,12 @@ BOOLEAN LoadExternalGameplayData(STR directoryName)
}
#endif
// THE_BOB : added for pocket popup definitions
LBEPocketPopup.clear();
strcpy(fileName, directoryName);
strcat(fileName, LBEPOCKETPOPUPFILENAME);
SGP_THROW_IFFALSE(ReadInLBEPocketPopups(fileName),LBEPOCKETPOPUPFILENAME);
#ifdef JA2UB
strcpy(fileName, directoryName);
@@ -449,7 +446,16 @@ BOOLEAN LoadExternalGameplayData(STR directoryName)
// CHRISL:
strcpy(fileName, directoryName);
strcat(fileName, MERCSTARTINGGEARFILENAME);
SGP_THROW_IFFALSE(ReadInMercStartingGearStats(fileName),MERCSTARTINGGEARFILENAME);
SGP_THROW_IFFALSE(ReadInMercStartingGearStats(fileName, FALSE), MERCSTARTINGGEARFILENAME);
#ifndef ENGLISH
AddLanguagePrefix(fileName);
if ( FileExists(fileName) )
{
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
SGP_THROW_IFFALSE(ReadInMercStartingGearStats(fileName,TRUE), fileName);
}
#endif
#endif
+3 -3
View File
@@ -283,8 +283,8 @@ extern BOOLEAN ReadInArmourStats(STR fileName);
extern BOOLEAN WriteArmourStats();
// CHRISL:
extern BOOLEAN ReadInlbeStats(STR fileName);
extern BOOLEAN WritelbeEquipmentStats();
extern BOOLEAN ReadInLBEStats(STR fileName);
extern BOOLEAN WriteLBEEquipmentStats();
extern BOOLEAN ReadInLBEPocketStats(STR fileName, BOOLEAN localizedVersion);
extern BOOLEAN WriteLBEPocketEquipmentStats();
@@ -292,7 +292,7 @@ extern BOOLEAN WriteLBEPocketEquipmentStats();
// THE_BOB : added for pocket popup definitions
extern BOOLEAN ReadInLBEPocketPopups(STR fileName);
extern BOOLEAN ReadInMercStartingGearStats(STR fileName);
extern BOOLEAN ReadInMercStartingGearStats(STR fileName, BOOLEAN localizedVersion);
extern BOOLEAN WriteMercStartingGearStats();
extern BOOLEAN ReadInExplosiveStats(STR fileName);
+2 -2
View File
@@ -206,7 +206,7 @@ lbeEndElementHandle(void *userData, const XML_Char *name)
BOOLEAN ReadInlbeStats(STR fileName)
BOOLEAN ReadInLBEStats(STR fileName)
{
HWFILE hFile;
UINT32 uiBytesRead;
@@ -268,7 +268,7 @@ BOOLEAN ReadInlbeStats(STR fileName)
return( TRUE );
}
BOOLEAN WritelbeEquipmentStats()
BOOLEAN WriteLBEEquipmentStats()
{
//DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"writelbestats");
HWFILE hFile;
+38 -23
View File
@@ -26,6 +26,8 @@ struct
}
typedef MercStartingGearParseData;
BOOLEAN localizedTextOnly_MercStartingGear;
static void XMLCALL
MercStartingGearStartElementHandle(void *userData, const XML_Char *name, const XML_Char **atts)
{
@@ -154,11 +156,10 @@ MercStartingGearCharacterDataHandle(void *userData, const XML_Char *str, int len
{
MercStartingGearParseData * pData = (MercStartingGearParseData *)userData;
if( (pData->currentDepth <= pData->maxReadDepth) &&
(strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH)
){
if( (pData->currentDepth <= pData->maxReadDepth) && (strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH))
{
strncat(pData->szCharData,str,__min((unsigned int)len,MAX_CHAR_DATA_LENGTH-strlen(pData->szCharData)));
}
}
}
@@ -206,24 +207,32 @@ MercStartingGearEndElementHandle(void *userData, const XML_Char *name)
// Write the gear into memory.
if(pData->curIndex < pData->maxArraySize && pData->curGears < NUM_MERCSTARTINGGEAR_KITS)
{
pData->curArray[pData->curIndex][pData->curGears] = pData->curMercStartingGear; //write the armour into the table
//CHRISL: after writing the gearkit, we need to clear gear data so it won't inadvertantly be reused
pData->curMercStartingGear.PriceModifier = 0;
pData->curMercStartingGear.AbsolutePrice = -1;
pData->curMercStartingGear.mGearKitName[0] = '\0';
UINT32 invsize = pData->curMercStartingGear.inv.size();
for(UINT32 i = 0; i < invsize; ++i)
if (!localizedTextOnly_MercStartingGear)
{
pData->curMercStartingGear.inv[i] = 0;
pData->curMercStartingGear.iStatus[i] = 0;
pData->curMercStartingGear.iDrop[i] = 0;
pData->curMercStartingGear.iNumber[i] = 0;
pData->curArray[pData->curIndex][pData->curGears] = pData->curMercStartingGear; //write the armour into the table
//CHRISL: after writing the gearkit, we need to clear gear data so it won't inadvertantly be reused
pData->curMercStartingGear.PriceModifier = 0;
pData->curMercStartingGear.AbsolutePrice = -1;
pData->curMercStartingGear.mGearKitName[0] = '\0';
UINT32 invsize = pData->curMercStartingGear.inv.size();
for(UINT32 i = 0; i < invsize; ++i)
{
pData->curMercStartingGear.inv[i] = 0;
pData->curMercStartingGear.iStatus[i] = 0;
pData->curMercStartingGear.iDrop[i] = 0;
pData->curMercStartingGear.iNumber[i] = 0;
}
UINT32 lbesize = pData->curMercStartingGear.lbe.size();
for(UINT32 i = 0; i < lbesize; ++i)
{
pData->curMercStartingGear.lbe[i] = 0;
pData->curMercStartingGear.lStatus[i] = 0;
}
}
UINT32 lbesize = pData->curMercStartingGear.lbe.size();
for(UINT32 i = 0; i < lbesize; ++i)
else
{
pData->curMercStartingGear.lbe[i] = 0;
pData->curMercStartingGear.lStatus[i] = 0;
wcscpy(gMercProfileGear[pData->curIndex][pData->curGears].mGearKitName, pData->curMercStartingGear.mGearKitName);
}
}
@@ -567,7 +576,7 @@ MercStartingGearEndElementHandle(void *userData, const XML_Char *name)
BOOLEAN ReadInMercStartingGearStats(STR fileName)
BOOLEAN ReadInMercStartingGearStats(STR fileName, BOOLEAN localizedVersion)
{
HWFILE hFile;
UINT32 uiBytesRead;
@@ -577,6 +586,8 @@ BOOLEAN ReadInMercStartingGearStats(STR fileName)
MercStartingGearParseData pData;
localizedTextOnly_MercStartingGear = localizedVersion;
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading MercStartingGear.xml" );
// Open gMercProfileGear file
@@ -611,13 +622,17 @@ BOOLEAN ReadInMercStartingGearStats(STR fileName)
XML_SetUserData(parser, &pData);
for(int i=0; i<NUM_PROFILES; ++i)
if (!localizedTextOnly_MercStartingGear)
{
for(int i2=0; i2<NUM_MERCSTARTINGGEAR_KITS; ++i2)
for(int i=0; i<NUM_PROFILES; ++i)
{
gMercProfileGear[i][i2].clearInventory();
for(int i2=0; i2<NUM_MERCSTARTINGGEAR_KITS; ++i2)
{
gMercProfileGear[i][i2].clearInventory();
}
}
}
if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE))
{
CHAR8 errorBuf[511];
+2 -2
View File
@@ -6461,10 +6461,10 @@ STR16 New113HAMMessage[] =
// HEADROCK HAM 5: Text dealing exclusively with Item Transformations.
STR16 gzTransformationMessage[] =
{
L"Keine Umwandlung verfügbar",
L"Keine Umgestaltungsmöglichkeit vorhanden",
L"%s wurde in mehrere Teile umgewandelt.",
L"%s wurde in mehrere Teile umgewandelt. Prüfen Sie %s's Inventar für die daraus entstandenen Teile.",
L"Aufgrund des fehlendes Platzes im Inventar nach der Umwandlung wurden einige von %s's Gegenstände auf den Boden abgelegt.",
L"Aufgrund des fehlendes Platzes im Inventar nach der Umgestaltung wurden einige von %s's Gegenstände auf den Boden abgelegt.",
L"%s wurde in mehrere Teile umgewandelt. Durch den Platzmangel im Inventar hat %s ein paar Gegenstände auf den Boden abgelegt.",
L"Möchsten Sie alle %d Gegenstände im Stapel umwandeln? (Um nur einen Gegenstand umzuwandeln, entferenen Sie diesen zuerst vom Stapel)",
// 6 - 10