- fixed: The UDMF check for dialogues without owning class needs to be relaxed. A dialogue with an id and no class is a valid construct.

- fixed: Trying to assign a non-existent dialogue to an actor in UDMF partially overwrote the default dialogue.


SVN r2579 (trunk)
This commit is contained in:
Christoph Oelckers 2010-08-24 13:57:17 +00:00
parent f08c66d664
commit 6c57441bcd
2 changed files with 5 additions and 3 deletions

View file

@ -4398,9 +4398,11 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
// Check if this actor's mapthing has a conversation defined
if (mthing->Conversation > 0)
{
mobj->ConversationRoot = GetConversation(mthing->Conversation);
if (mobj->ConversationRoot != -1)
// Make sure that this does not partially overwrite the default dialogue settings.
int root = GetConversation(mthing->Conversation);
if (root != -1)
{
mobj->ConversationRoot = root;
mobj->Conversation = StrifeDialogues[mobj->ConversationRoot];
}
}

View file

@ -407,7 +407,7 @@ class USDFParser : public UDMFParserBase
}
}
}
if (type == NULL)
if (type == NULL && dlgid == 0)
{
sc.ScriptMessage("No valid actor type defined in conversation.");
return false;