mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2025-01-31 18:50:33 +00:00
- fixed: Not all exit conditions in dialogues unset the MF5_INCONVERSATION flag.
SVN r3125 (trunk)
This commit is contained in:
parent
fae8ed444c
commit
e523e12d91
1 changed files with 5 additions and 29 deletions
|
@ -124,7 +124,6 @@ static FStrifeDialogueNode *ReadTeaserNode (FileReader *lump, DWORD &prevSpeaker
|
||||||
static void ParseReplies (FStrifeDialogueReply **replyptr, Response *responses);
|
static void ParseReplies (FStrifeDialogueReply **replyptr, Response *responses);
|
||||||
static bool DrawConversationMenu ();
|
static bool DrawConversationMenu ();
|
||||||
static void PickConversationReply (int replyindex);
|
static void PickConversationReply (int replyindex);
|
||||||
static void CleanupConversationMenu ();
|
|
||||||
static void TerminalResponse (const char *str);
|
static void TerminalResponse (const char *str);
|
||||||
|
|
||||||
static FStrifeDialogueNode *PrevNode;
|
static FStrifeDialogueNode *PrevNode;
|
||||||
|
@ -845,6 +844,7 @@ public:
|
||||||
}
|
}
|
||||||
else if (mkey == MKEY_Back)
|
else if (mkey == MKEY_Back)
|
||||||
{
|
{
|
||||||
|
Net_WriteByte (DEM_CONVNULL);
|
||||||
Close();
|
Close();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1225,13 +1225,15 @@ static void HandleReply(player_t *player, bool isconsole, int nodenum, int reply
|
||||||
node = StrifeDialogues[nodenum];
|
node = StrifeDialogues[nodenum];
|
||||||
for (i = 0, reply = node->Children; reply != NULL && i != replynum; ++i, reply = reply->Next)
|
for (i = 0, reply = node->Children; reply != NULL && i != replynum; ++i, reply = reply->Next)
|
||||||
{ }
|
{ }
|
||||||
|
npc = player->ConversationNPC;
|
||||||
if (reply == NULL)
|
if (reply == NULL)
|
||||||
{
|
{
|
||||||
|
// The default reply was selected
|
||||||
|
npc->angle = player->ConversationNPCAngle;
|
||||||
|
npc->flags5 &= ~MF5_INCONVERSATION;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
npc = player->ConversationNPC;
|
|
||||||
|
|
||||||
// Check if you have the requisite items for this choice
|
// Check if you have the requisite items for this choice
|
||||||
for (i = 0; i < (int)reply->ItemCheck.Size(); ++i)
|
for (i = 0; i < (int)reply->ItemCheck.Size(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -1384,32 +1386,6 @@ static void HandleReply(player_t *player, bool isconsole, int nodenum, int reply
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
|
||||||
//
|
|
||||||
// CleanupConversationMenu
|
|
||||||
//
|
|
||||||
// Release the resources used to create the most recent conversation menu.
|
|
||||||
//
|
|
||||||
//============================================================================
|
|
||||||
|
|
||||||
void CleanupConversationMenu ()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
//============================================================================
|
|
||||||
//
|
|
||||||
// ConversationMenuEscaped
|
|
||||||
//
|
|
||||||
// Called when the user presses escape to leave the conversation menu.
|
|
||||||
//
|
|
||||||
//============================================================================
|
|
||||||
|
|
||||||
void ConversationMenuEscaped ()
|
|
||||||
{
|
|
||||||
CleanupConversationMenu ();
|
|
||||||
Net_WriteByte (DEM_CONVNULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// P_ConversationCommand
|
// P_ConversationCommand
|
||||||
|
|
Loading…
Reference in a new issue