////////////////////////////////////////////////////////////////////// // // AkFileLocationBase.h // // Basic file location resolving: Uses simple path concatenation logic. // Exposes basic path functions for convenience. // For more details on resolving file location, refer to section "File Location" inside // "Going Further > Overriding Managers > Streaming / Stream Manager > Low-Level I/O" // of the SDK documentation. // // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved // ////////////////////////////////////////////////////////////////////// #ifndef _AK_FILE_LOCATION_BASE_H_ #define _AK_FILE_LOCATION_BASE_H_ struct AkFileSystemFlags; #include class CAkFileLocationBase { public: CAkFileLocationBase(); virtual ~CAkFileLocationBase(); // // Global path functions. // ------------------------------------------------------ // Base path is prepended to all file names. // Audio source path is appended to base path whenever uCompanyID is AK and uCodecID specifies an audio source. // Bank path is appended to base path whenever uCompanyID is AK and uCodecID specifies a sound bank. // Language specific dir name is appended to path whenever "bIsLanguageSpecific" is true. AKRESULT SetBasePath( const AkOSChar* in_pszBasePath ); AKRESULT SetBankPath( const AkOSChar* in_pszBankPath ); AKRESULT SetAudioSrcPath( const AkOSChar* in_pszAudioSrcPath ); // Note: SetLangSpecificDirName() does not exist anymore. See release note WG-19397 (Wwise 2011.2). // // Path resolving services. // ------------------------------------------------------ // String overload. // Returns AK_Success if input flags are supported and the resulting path is not too long. // Returns AK_Fail otherwise. AKRESULT GetFullFilePath( const AkOSChar * in_pszFileName, // File name. AkFileSystemFlags * in_pFlags, // Special flags. Can be NULL. AkOpenMode in_eOpenMode, // File open mode (read, write, ...). AkOSChar * out_pszFullFilePath // Full file path. ); // ID overload. // The name of the file will be formatted as ID.ext. This is meant to be used with options // "Use SoundBank Names" unchecked, and/or "Copy Streamed Files" in the SoundBank Settings. // For more details, refer to the SoundBank Settings in Wwise Help, and to section "Identifying Banks" inside // "Sound Engine Integration Walkthrough > Integrate Wwise Elements into Your Game > Integrating Banks > // Integration Details - Banks > General Information" of the SDK documentation. // Returns AK_Success if input flags are supported and the resulting path is not too long. // Returns AK_Fail otherwise. AKRESULT GetFullFilePath( AkFileID in_fileID, // File ID. AkFileSystemFlags * in_pFlags, // Special flags. AkOpenMode in_eOpenMode, // File open mode (read, write, ...). AkOSChar * out_pszFullFilePath // Full file path. ); protected: // Internal user paths. AkOSChar m_szBasePath[AK_MAX_PATH]; AkOSChar m_szBankPath[AK_MAX_PATH]; AkOSChar m_szAudioSrcPath[AK_MAX_PATH]; }; #endif //_AK_FILE_LOCATION_BASE_H_