- move conversation ID definition to MAPINFO as well. Uses the newly added filter feature to handle the teaser differences.

This commit is contained in:
Christoph Oelckers 2015-04-05 00:31:15 +02:00
commit b6a4511dd1
46 changed files with 709 additions and 374 deletions

View file

@ -404,11 +404,11 @@ DEFINE_INFO_PROPERTY(game, S, Actor)
DEFINE_INFO_PROPERTY(spawnid, I, Actor)
{
PROP_INT_PARM(id, 0);
if (id<0 || id>255)
if (id<0 || id>65535)
{
I_Error ("SpawnID must be in the range [0,255]");
I_Error ("SpawnID must be in the range [0,65535]");
}
else info->SpawnID=(BYTE)id;
else info->SpawnID=(WORD)id;
}
//==========================================================================
@ -420,20 +420,8 @@ DEFINE_INFO_PROPERTY(conversationid, IiI, Actor)
PROP_INT_PARM(id1, 1);
PROP_INT_PARM(id2, 2);
// Handling for Strife teaser IDs - only of meaning for the standard items
// as PWADs cannot be loaded with the teasers.
if (PROP_PARM_COUNT > 1)
{
if ((gameinfo.flags & (GI_SHAREWARE|GI_TEASER2)) == (GI_SHAREWARE))
convid=id1;
if ((gameinfo.flags & (GI_SHAREWARE|GI_TEASER2)) == (GI_SHAREWARE|GI_TEASER2))
convid=id2;
}
if (convid <= 0) return; // 0 is not usable because the dialogue scripts use it as 'no object'.
SetStrifeType(convid, info->Class);
if (convid <= 0 || convid > 65535) return; // 0 is not usable because the dialogue scripts use it as 'no object'.
else info->ConversationID=(WORD)convid;
}
//==========================================================================