- changed Strife dialogue setup so that STRIFE00 is being processed and the random texts explicitly excluded.

This fixes the stray "Peasant" in this file.
(patch by Graf)
This commit is contained in:
drfrag 2019-04-11 21:57:10 +02:00
parent bcb595002d
commit 18a17c4e1f

View file

@ -246,7 +246,6 @@ bool LoadScriptFile (const char *name, bool include, int type)
auto fn = Wads.GetLumpFile(lumpnum);
auto wadname = Wads.GetWadName(fn);
if (stricmp(wadname, "STRIFE0.WAD") && stricmp(wadname, "STRIFE1.WAD") && stricmp(wadname, "SVE.WAD")) name = nullptr; // Only localize IWAD content.
if (name && !stricmp(name, "SCRIPT00")) name = nullptr; // This only contains random string references which already use the string table.
bool res = LoadScriptFile(name, lumpnum, lump, Wads.LumpLength(lumpnum), include, type);
return res;
@ -374,7 +373,7 @@ static FStrifeDialogueNode *ReadRetailNode (const char *name, FileReader &lump,
// Convert the rest of the data to our own internal format.
if (name)
if (name && strncmp(speech.Dialogue, "RANDOM_", 7))
{
FStringf label("$TXT_DLG_%s_d%d_%s", name, int(pos), TokenFromString(speech.Dialogue).GetChars());
node->Dialogue = GStrings.exists(label.GetChars()+1)? label : FString(speech.Dialogue);
@ -470,7 +469,7 @@ static FStrifeDialogueNode *ReadTeaserNode (const char *name, FileReader &lump,
}
// Convert the rest of the data to our own internal format.
if (name)
if (name && strncmp(speech.Dialogue, "RANDOM_", 7))
{
FStringf label("$TXT_DLG_%s_d%d_%s", name, pos, TokenFromString(speech.Dialogue).GetChars());
node->Dialogue = GStrings.exists(label.GetChars() + 1)? label : FString(speech.Dialogue);
@ -496,7 +495,7 @@ static FStrifeDialogueNode *ReadTeaserNode (const char *name, FileReader &lump,
// The speaker's name, if any.
speech.Dialogue[0] = 0; //speech.Name[16] = 0;
if (name && speech.Name[0])
if ((name && speech.Name[0]))
{
FString label = speech.Name;
label.ReplaceChars(' ', '_');