home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 March / Gamestar_82_2006-03_dvd.iso / DVDStar / Editace / quake4_sdkv10.exe / source / framework / declLipSync.h < prev    next >
C/C++ Source or Header  |  2005-11-14  |  2KB  |  74 lines

  1.  
  2. #ifndef __DECLLIPSYNC_H__
  3. #define __DECLLIPSYNC_H__
  4.  
  5. // A way of cross referencing strings and sound shaders
  6. // RAVEN BEGIN
  7. // jsinger: added to support serialization/deserialization of binary decls
  8. #ifdef RV_BINARYDECLS
  9. class rvDeclLipSync : public idDecl, public Serializable<'RDLS'>
  10. {
  11. public:
  12.     virtual void        Write( SerialOutputStream &stream ) const;
  13.     virtual void        AddReferences() const;
  14.                         rvDeclLipSync( SerialInputStream &stream );
  15. #else
  16. class rvDeclLipSync : public idDecl
  17. {
  18. #endif
  19. // RAVEN END
  20. public:
  21.                         rvDeclLipSync( void ) {}
  22.                         ~rvDeclLipSync( void ) {}
  23.  
  24.     void                SetDescription( const char *desc ) { mDescription = desc; }
  25.     const idStr            &GetDescription( void ) const { return( mDescription ); }
  26.  
  27.     void                SetHMM( idStr &hmm ) { mHMM = hmm; }
  28.     const idStr            &GetHMM( void ) const { return( mHMM ); }
  29.  
  30.     void                SetTranscribeText( const char *text ) { mTranscribeText = text; }
  31.     const char            *GetTranscribeText( int langIndex = -1 ) const { return( common->GetLocalizedString( mTranscribeText, langIndex ) ); }
  32.     const char            *GetRawTranscribeText( void ) const { return( mTranscribeText.c_str() ); }
  33.  
  34.     void                SetLipSyncData( const char *lsd, const char *lang );
  35.     const char            *GetLipSyncData( int langIdx = -1 ) const;
  36.  
  37.     virtual const char    *DefaultDefinition( void ) const;
  38.     virtual bool        Parse( const char *text, const int textLength, bool noCaching );
  39.     virtual void        FreeData( void );
  40.     virtual    bool        RebuildTextSource( void );
  41.     virtual size_t        Size( void ) const;
  42.  
  43.     // scork: for detailed error-reporting
  44.     virtual bool        Validate( const char *psText, int iTextLength, idStr &strReportTo ) const;
  45.  
  46. private:
  47.     idStr                mDescription;
  48.     idStr                mTranscribeText;
  49.     idStr                mHMM;
  50.     idDict                mLipSyncData;
  51. };
  52.  
  53. ID_INLINE const char *rvDeclLipSync::GetLipSyncData( int langIdx ) const 
  54.     if( common->LanguageHasVO( langIdx ) )
  55.     {
  56.         return( mLipSyncData.GetString( common->GetLanguage( langIdx ) ) ); 
  57.     }
  58.  
  59.     return( mLipSyncData.GetString( "english" ) ); 
  60. }
  61.  
  62. class rvDeclLipSyncEdit
  63. {
  64. public:
  65.     virtual void            SetLipSyncDescription( rvDeclLipSync *edit, const char *desc ) = 0;
  66.     virtual void            SetLipSyncTranscribeText( rvDeclLipSync *edit, const char *text ) = 0;
  67.     virtual void            SetLipSyncData( rvDeclLipSync *edit, const char *lsd, const char *lang ) = 0;
  68. };
  69.  
  70. extern rvDeclLipSyncEdit    *declLipSyncEdit;
  71.  
  72. #endif // __DECLLIPSYNC_H__
  73.