mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-16 00:01:53 +02:00
75 lines
2.3 KiB
C++
75 lines
2.3 KiB
C++
|
|
#ifndef __DECLLIPSYNC_H__
|
|
#define __DECLLIPSYNC_H__
|
|
|
|
// A way of cross referencing strings and sound shaders
|
|
// RAVEN BEGIN
|
|
// jsinger: added to support serialization/deserialization of binary decls
|
|
#ifdef RV_BINARYDECLS
|
|
class rvDeclLipSync : public idDecl, public Serializable<'RDLS'>
|
|
{
|
|
public:
|
|
virtual void Write(SerialOutputStream& stream) const;
|
|
virtual void AddReferences() const;
|
|
rvDeclLipSync(SerialInputStream& stream);
|
|
#else
|
|
class rvDeclLipSync : public idDecl
|
|
{
|
|
#endif
|
|
// RAVEN END
|
|
public:
|
|
rvDeclLipSync(void) {}
|
|
~rvDeclLipSync(void) {}
|
|
|
|
void SetDescription(const char* desc) { mDescription = desc; }
|
|
const idStr& GetDescription(void) const { return(mDescription); }
|
|
|
|
void SetHMM(idStr& hmm) { mHMM = hmm; }
|
|
const idStr& GetHMM(void) const { return(mHMM); }
|
|
|
|
void SetTranscribeText(const char* text) { mTranscribeText = text; }
|
|
const char* GetTranscribeText(int langIndex = -1) const { return(common->GetLocalizedString(mTranscribeText, langIndex)); }
|
|
const char* GetRawTranscribeText(void) const { return(mTranscribeText.c_str()); }
|
|
|
|
void SetLipSyncData(const char* lsd, const char* lang);
|
|
const char* GetLipSyncData(int langIdx = -1) const;
|
|
|
|
virtual const char* DefaultDefinition(void) const;
|
|
virtual bool Parse(const char* text, const int textLength) override;
|
|
virtual void FreeData(void);
|
|
//virtual bool RebuildTextSource( void );
|
|
virtual size_t Size(void) const;
|
|
|
|
// scork: for detailed error-reporting
|
|
//virtual bool Validate( const char *psText, int iTextLength, idStr &strReportTo ) const;
|
|
|
|
private:
|
|
idStr mDescription;
|
|
idStr mTranscribeText;
|
|
idStr mHMM;
|
|
idDict mLipSyncData;
|
|
};
|
|
|
|
ID_INLINE const char* rvDeclLipSync::GetLipSyncData(int langIdx) const
|
|
{
|
|
//if( common->LanguageHasVO( langIdx ) )
|
|
//{
|
|
// return( mLipSyncData.GetString( common->GetLanguage( langIdx ) ) );
|
|
//}
|
|
|
|
return(mLipSyncData.GetString("english"));
|
|
}
|
|
|
|
class rvDeclLipSyncEdit
|
|
{
|
|
public:
|
|
virtual ~rvDeclLipSyncEdit() {}
|
|
virtual void SetLipSyncDescription(rvDeclLipSync* edit, const char* desc) = 0;
|
|
virtual void SetLipSyncTranscribeText(rvDeclLipSync* edit, const char* text) = 0;
|
|
virtual void SetLipSyncData(rvDeclLipSync* edit, const char* lsd, const char* lang) = 0;
|
|
};
|
|
|
|
extern rvDeclLipSyncEdit* declLipSyncEdit;
|
|
|
|
#endif // __DECLLIPSYNC_H__
|