- added UMDF property to assign conversation dialogues to mapthings.

SVN r2567 (trunk)
This commit is contained in:
Christoph Oelckers 2010-08-22 17:18:46 +00:00
parent 96a8f1ceee
commit 883510efe2
5 changed files with 23 additions and 0 deletions

View File

@ -180,6 +180,8 @@ Note: All <bool> fields default to false unless mentioned otherwise.
class# = <bool> // Unlike the base spec, # can range from 1-8.
// 8 is the maximum amount of classes the class
// menu can display.
conversation = <int> // Assigns a conversation dialogue to this thing.
// Parameter is the conversation ID, 0 meaning none.
}
@ -268,6 +270,9 @@ Added 'playeruseback' line trigger flag.
1.11 07.08.2010
Added 'soundsequnce' sector property.
1.12 22.08.2010
Added 'conversation' thing property.
===============================================================================
EOF
===============================================================================

View File

@ -340,6 +340,7 @@ struct FMapThing
DWORD flags;
int special;
int args[5];
int Conversation;
void Serialize (FArchive &);
};

View File

@ -383,6 +383,7 @@ xx(Firstsideonly)
xx(Transparent)
xx(Passuse)
xx(Repeatspecial)
xx(Conversation)
xx(Playercross)
xx(Playeruse)

View File

@ -4394,6 +4394,17 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
mobj->AddToHash ();
mobj->PrevAngle = mobj->angle = (DWORD)((mthing->angle * UCONST64(0x100000000)) / 360);
// Check if this actor's mapthing has a conversation defined
if (mthing->Conversation > 0)
{
mobj->ConversationRoot = GetConversation(mthing->Conversation);
if (mobj->ConversationRoot != -1)
{
mobj->Conversation = StrifeDialogues[mobj->ConversationRoot];
}
}
mobj->BeginPlay ();
if (!(mobj->ObjectFlags & OF_EuthanizeMe))
{

View File

@ -493,6 +493,11 @@ public:
th->type = (short)CheckInt(key);
break;
case NAME_Conversation:
CHECK_N(Zd | Zdt)
th->Conversation = CheckInt(key);
break;
case NAME_Special:
CHECK_N(Hx | Zd | Zdt | Va)
th->special = CheckInt(key);