WwiseResourceCookerImpl.h 5.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*******************************************************************************
  2. The content of this file includes portions of the proprietary AUDIOKINETIC Wwise
  3. Technology released in source code form as part of the game integration package.
  4. The content of this file may not be used without valid licenses to the
  5. AUDIOKINETIC Wwise Technology.
  6. Note that the use of the game engine is subject to the Unreal(R) Engine End User
  7. License Agreement at https://www.unrealengine.com/en-US/eula/unreal
  8. License Usage
  9. Licensees holding valid licenses to the AUDIOKINETIC Wwise Technology may use
  10. this file in accordance with the end user license agreement provided with the
  11. software or, alternatively, in accordance with the terms contained
  12. in a written agreement between you and Audiokinetic Inc.
  13. Copyright (c) 2023 Audiokinetic Inc.
  14. *******************************************************************************/
  15. #pragma once
  16. #include "Wwise/WwiseResourceCooker.h"
  17. class WWISERESOURCECOOKER_API FWwiseResourceCookerImpl : public FWwiseResourceCooker
  18. {
  19. public:
  20. FWwiseResourceCookerImpl();
  21. ~FWwiseResourceCookerImpl() override;
  22. EWwiseExportDebugNameRule ExportDebugNameRule;
  23. FWwiseProjectDatabase* GetProjectDatabase() override;
  24. const FWwiseProjectDatabase* GetProjectDatabase() const override;
  25. void PrepareResourceCookerForPlatform(FWwiseProjectDatabase*&& InProjectDatabaseOverride, EWwiseExportDebugNameRule InExportDebugNameRule) override;
  26. protected:
  27. TUniquePtr<FWwiseCookingCache> CookingCache;
  28. TUniquePtr<FWwiseProjectDatabase> ProjectDatabaseOverride;
  29. FWwiseCookingCache* GetCookingCache() override { return CookingCache.Get(); }
  30. void CookAuxBusToSandbox(const FWwiseAuxBusCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  31. void CookEventToSandbox(const FWwiseEventCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  32. void CookExternalSourceToSandbox(const FWwiseExternalSourceCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  33. void CookInitBankToSandbox(const FWwiseInitBankCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  34. void CookMediaToSandbox(const FWwiseMediaCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  35. void CookShareSetToSandbox(const FWwiseShareSetCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  36. void CookSoundBankToSandbox(const FWwiseSoundBankCookedData& InCookedData, WriteAdditionalFileFunction WriteAdditionalFile) override;
  37. void CookFileToSandbox(const FString& InInputPathName, const FName& InOutputPathName, WriteAdditionalFileFunction WriteAdditionalFile, bool bInStageRelativeToContent = false) override;
  38. bool GetAcousticTextureCookedData(FWwiseAcousticTextureCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  39. bool GetAuxBusCookedData(FWwiseLocalizedAuxBusCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  40. bool GetEventCookedData(FWwiseLocalizedEventCookedData& OutCookedData, const FWwiseEventInfo& InInfo) const override;
  41. bool GetExternalSourceCookedData(FWwiseExternalSourceCookedData& OutCookedData, uint32 InCookie) const override;
  42. bool GetGameParameterCookedData(FWwiseGameParameterCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  43. bool GetInitBankCookedData(FWwiseInitBankCookedData& OutCookedData, const FWwiseObjectInfo& InInfo = FWwiseObjectInfo::DefaultInitBank) const override;
  44. bool GetMediaCookedData(FWwiseMediaCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  45. bool GetShareSetCookedData(FWwiseLocalizedShareSetCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  46. bool GetSoundBankCookedData(FWwiseLocalizedSoundBankCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  47. bool GetStateCookedData(FWwiseGroupValueCookedData& OutCookedData, const FWwiseGroupValueInfo& InInfo) const override;
  48. bool GetSwitchCookedData(FWwiseGroupValueCookedData& OutCookedData, const FWwiseGroupValueInfo& InInfo) const override;
  49. bool GetTriggerCookedData(FWwiseTriggerCookedData& OutCookedData, const FWwiseObjectInfo& InInfo) const override;
  50. virtual bool FillSoundBankBaseInfo(FWwiseSoundBankCookedData& OutSoundBankCookedData,
  51. const FWwiseMetadataPlatformInfo& InPlatformInfo,
  52. const FWwiseMetadataSoundBank& InSoundBank) const;
  53. virtual bool FillMediaBaseInfo(FWwiseMediaCookedData& OutMediaCookedData,
  54. const FWwiseMetadataPlatformInfo& InPlatformInfo,
  55. const FWwiseMetadataSoundBank& InSoundBank,
  56. const FWwiseMetadataMediaReference& InMediaReference) const;
  57. virtual bool FillMediaBaseInfo(FWwiseMediaCookedData& OutMediaCookedData,
  58. const FWwiseMetadataPlatformInfo& InPlatformInfo,
  59. const FWwiseMetadataSoundBank& InSoundBank,
  60. const FWwiseMetadataMedia& InMedia) const;
  61. virtual bool FillExternalSourceBaseInfo(FWwiseExternalSourceCookedData& OutExternalSourceCookedData,
  62. const FWwiseMetadataExternalSource& InExternalSource) const;
  63. virtual bool AddRequirementsForMedia(TSet<FWwiseSoundBankCookedData>& OutSoundBankSet, TSet<FWwiseMediaCookedData>& OutMediaSet,
  64. const FWwiseRefMedia& InMediaRef, const FWwiseSharedLanguageId& InLanguage,
  65. const FWwisePlatformDataStructure& InPlatformData) const;
  66. virtual bool AddRequirementsForExternalSource(TSet<FWwiseExternalSourceCookedData>& OutExternalSourceSet,
  67. const FWwiseRefExternalSource& InExternalSourceRef) const;
  68. };