mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-10 14:51:51 +00:00
Merge branch 'maint'
This commit is contained in:
commit
5b228ae5a7
5 changed files with 52 additions and 17 deletions
|
@ -51,6 +51,7 @@
|
|||
|
||||
#include "i_system.h"
|
||||
|
||||
#include "doomerrors.h"
|
||||
#include "doomstat.h"
|
||||
#include "gstrings.h"
|
||||
#include "s_sound.h"
|
||||
|
@ -342,6 +343,8 @@ CCMD (changemap)
|
|||
}
|
||||
|
||||
if (argv.argc() > 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!P_CheckMapData(argv[1]))
|
||||
{
|
||||
|
@ -361,6 +364,12 @@ CCMD (changemap)
|
|||
Net_WriteString (argv[1]);
|
||||
}
|
||||
}
|
||||
catch(CRecoverableError &error)
|
||||
{
|
||||
if (error.GetMessage())
|
||||
Printf("%s", error.GetMessage());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Printf ("Usage: changemap <map name> [position]\n");
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "s_sound.h"
|
||||
#include "d_event.h"
|
||||
#include "m_random.h"
|
||||
#include "doomerrors.h"
|
||||
#include "doomstat.h"
|
||||
#include "wi_stuff.h"
|
||||
#include "w_wad.h"
|
||||
|
@ -169,6 +170,8 @@ CCMD (map)
|
|||
return;
|
||||
}
|
||||
if (argv.argc() > 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!P_CheckMapData(argv[1]))
|
||||
{
|
||||
|
@ -179,6 +182,12 @@ CCMD (map)
|
|||
G_DeferedInitNew (argv[1]);
|
||||
}
|
||||
}
|
||||
catch(CRecoverableError &error)
|
||||
{
|
||||
if (error.GetMessage())
|
||||
Printf("%s", error.GetMessage());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Printf ("Usage: map <map name>\n");
|
||||
|
|
|
@ -1152,7 +1152,7 @@ void P_StartConversation (AActor *npc, AActor *pc, bool facetalker, bool saveang
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (jump)
|
||||
if (jump && CurNode->ItemCheckNode > 0)
|
||||
{
|
||||
int root = pc->player->ConversationNPC->ConversationRoot;
|
||||
CurNode = StrifeDialogues[root + CurNode->ItemCheckNode - 1];
|
||||
|
|
|
@ -329,7 +329,15 @@ MapData *P_OpenMapData(const char * mapname)
|
|||
// Since levels must be stored in WADs they can't really have full
|
||||
// names and for any valid level lump this always returns the short name.
|
||||
const char * lumpname = Wads.GetLumpFullName(lump_name + i);
|
||||
index = GetMapIndex(mapname, index, lumpname, i != 1 || Wads.LumpLength(lump_name + i) == 0);
|
||||
try
|
||||
{
|
||||
index = GetMapIndex(mapname, index, lumpname, true);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
delete map;
|
||||
throw;
|
||||
}
|
||||
if (index == ML_BEHAVIOR) map->HasBehavior = true;
|
||||
|
||||
// The next lump is not part of this map anymore
|
||||
|
@ -460,8 +468,16 @@ MapData *P_OpenMapData(const char * mapname)
|
|||
}
|
||||
|
||||
if (i>0)
|
||||
{
|
||||
try
|
||||
{
|
||||
index = GetMapIndex(maplabel, index, lumpname, true);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
delete map;
|
||||
throw;
|
||||
}
|
||||
if (index == ML_BEHAVIOR) map->HasBehavior = true;
|
||||
|
||||
// The next lump is not part of this map anymore
|
||||
|
|
|
@ -288,6 +288,7 @@ class USDFParser : public UDMFParserBase
|
|||
//node->ItemCheckCount[0] = node->ItemCheckCount[1] = node->ItemCheckCount[2] = -1;
|
||||
|
||||
node->ThisNodeNum = StrifeDialogues.Push(node);
|
||||
node->ItemCheckNode = -1;
|
||||
|
||||
FString SpeakerName;
|
||||
FString Dialogue;
|
||||
|
|
Loading…
Reference in a new issue