mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-05-30 00:41:19 +00:00
* Updated to ZDoom r2569:
- Removed FActorInfo::ConversationID which was development garbage of the USDF branch. - Fixed: The USDF CheckActorType function did not return the class object for ZDoom namespace. - Fixed: The binary check for dialogue lumps must only rewind the file by 4 bytes, not completely to the start. - Added UMDF property to assign conversation dialogues to mapthings. git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@903 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
da09f94592
commit
d900641e08
11 changed files with 27 additions and 7 deletions
|
@ -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
|
||||
===============================================================================
|
||||
|
|
|
@ -317,7 +317,6 @@ PClass *PClass::CreateDerivedClass (FName name, unsigned int size)
|
|||
info->DamageFactors = NULL;
|
||||
info->PainChances = NULL;
|
||||
info->ColorSets = NULL;
|
||||
info->ConversationID = -1;
|
||||
m_RuntimeActors.Push (type);
|
||||
}
|
||||
return type;
|
||||
|
@ -412,7 +411,6 @@ void PClass::InitializeActorInfo ()
|
|||
info->DamageFactors = NULL;
|
||||
info->PainChances = NULL;
|
||||
info->ColorSets = NULL;
|
||||
info->ConversationID = -1;
|
||||
m_RuntimeActors.Push (this);
|
||||
}
|
||||
|
||||
|
|
|
@ -340,6 +340,7 @@ struct FMapThing
|
|||
DWORD flags;
|
||||
int special;
|
||||
int args[5];
|
||||
int Conversation;
|
||||
|
||||
void Serialize (FArchive &);
|
||||
};
|
||||
|
|
|
@ -203,7 +203,6 @@ struct FActorInfo
|
|||
BYTE GameFilter;
|
||||
BYTE SpawnID;
|
||||
SWORD DoomEdNum;
|
||||
int ConversationID;
|
||||
FStateLabels *StateList;
|
||||
DmgFactors *DamageFactors;
|
||||
PainChanceList *PainChances;
|
||||
|
|
|
@ -383,6 +383,7 @@ xx(Firstsideonly)
|
|||
xx(Transparent)
|
||||
xx(Passuse)
|
||||
xx(Repeatspecial)
|
||||
xx(Conversation)
|
||||
|
||||
xx(Playercross)
|
||||
xx(Playeruse)
|
||||
|
|
|
@ -266,7 +266,7 @@ static bool LoadScriptFile(int lumpnum, FileReader *lump, int numnodes, bool inc
|
|||
char buffer[4];
|
||||
|
||||
lump->Read(buffer, 4);
|
||||
lump->Seek(0, SEEK_SET);
|
||||
lump->Seek(-4, SEEK_CUR);
|
||||
|
||||
// The binary format is so primitive that this check is enough to detect it.
|
||||
bool isbinary = (buffer[0] == 0 || buffer[1] == 0 || buffer[2] == 0 || buffer[3] == 0);
|
||||
|
|
|
@ -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))
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -71,6 +71,7 @@ class USDFParser : public UDMFParserBase
|
|||
sc.ScriptMessage("'%s' is not an actor type", key);
|
||||
return NULL;
|
||||
}
|
||||
return cls;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
// This file was automatically generated by the
|
||||
// updaterevision tool. Do not edit by hand.
|
||||
|
||||
#define ZD_SVN_REVISION_STRING "2563"
|
||||
#define ZD_SVN_REVISION_NUMBER 2563
|
||||
#define ZD_SVN_REVISION_STRING "2569"
|
||||
#define ZD_SVN_REVISION_NUMBER 2569
|
||||
|
|
|
@ -257,7 +257,6 @@ DEFINE_INFO_PROPERTY(conversationid, IiI, Actor)
|
|||
|
||||
}
|
||||
|
||||
bag.Info->ConversationID = convid;
|
||||
if (convid <= 0) return; // 0 is not usable because the dialogue scripts use it as 'no object'.
|
||||
SetStrifeType(convid, info->Class);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue