Merge remote-tracking branch 'remotes/origin/master' into localization
# Conflicts: # src/v_font.cpp
This commit is contained in:
commit
d15e3391a0
11 changed files with 421 additions and 133 deletions
|
|
@ -544,6 +544,11 @@ static void ParseReplies (const char *name, int pos, FStrifeDialogueReply **repl
|
|||
|
||||
// The next node to use when this reply is chosen.
|
||||
reply->NextNode = rsp->Link;
|
||||
if (reply->NextNode < 0)
|
||||
{
|
||||
reply->NextNode *= -1;
|
||||
reply->CloseDialog = false;
|
||||
}
|
||||
|
||||
// The message to record in the log for this reply.
|
||||
reply->LogNumber = rsp->Log;
|
||||
|
|
@ -1090,14 +1095,13 @@ static void HandleReply(player_t *player, bool isconsole, int nodenum, int reply
|
|||
if (reply->NextNode != 0)
|
||||
{
|
||||
int rootnode = npc->ConversationRoot;
|
||||
const bool isNegative = reply->NextNode < 0;
|
||||
const unsigned next = (unsigned)(rootnode + (isNegative ? -1 : 1) * reply->NextNode - 1);
|
||||
const unsigned next = (unsigned)(rootnode + reply->NextNode - 1);
|
||||
|
||||
if (next < Level->StrifeDialogues.Size())
|
||||
{
|
||||
npc->Conversation = Level->StrifeDialogues[next];
|
||||
|
||||
if (isNegative)
|
||||
if (!(reply->CloseDialog))
|
||||
{
|
||||
if (gameaction != ga_slideshow)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue