2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
6 // $Header: r:/t2repos/thief2/src/motion/motdb.h,v 1.6 2000/01/29 13:22:13 adurant Exp $
23 typedef enum eMotDBMatchType
33 virtual ~cMotionDatabase();
36 virtual BOOL
GetBestMatch(int actor
, cTagDBInput
*pInput
, cMotionSchema
**ppSchema
,eMotDBMatchType matchType
=kMMT_AbsoluteBest
);
37 virtual BOOL
GetTagKeyID(const Label
*pName
, int *pID
);
39 // get schema by index
40 virtual BOOL
GetSchema(int index
, cMotionSchema
**ppSchema
);
45 virtual BOOL
Load(ITagFile
*pFile
);
47 virtual BOOL
BuildFromAscii();
48 virtual BOOL
Save(ITagFile
*pFile
);
52 virtual void CreateTagDatabase(int nActors
);
53 virtual void RegisterTag(const Label
*pName
, const sTagInfo
*pInfo
);
54 virtual void AddSchema(const sMotSchemaDesc
*pSchema
);
56 // retokenization--these are passed into cTagDBDatabases
57 void TokenGlobalToLocal(cTagDBKey
*pKey
);
58 void TokenLocalToGlobal(cTagDBKey
*pKey
);
62 cNameMap m_TagNameMap
;
64 cMotionSchemaSet m_SchemaSet
;
66 IFancyTagDatabase
*m_pDatabase
;
67 cTagDBOutput m_RawResult
;
70 inline BOOL
cMotionDatabase::GetTagKeyID(const Label
*pName
, int *pID
)
72 int index
=m_TagNameMap
.IDFromName(pName
);
74 if(index
==kNameMapIndexNotFound
)