Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Because an Audio System Implementation is provided as a separate Engine ENGINE module, it is now possible to create your own implementation of the IAudioSystemImplementation interface and configure CRYENGINE to use it for rendering Audio. This section describes the necessary steps.

...

  • Create a new Visual Studio project inside CryAudio/Implementations. It probably makes sense to create a physical folder inside of Code\CryEngine\CrySoundSystem\implementations and put all of the project files in there. The .vcxproj file needs to use several engine-specific .props files and needs to support the same Platforms and Configurations as the rest of the projects. It is easiest to copy an existing .vcsproj file (for e.g. Code\CryEngine\CrySoundSystem\implementations\CryAudioImplWwise\CryAudioImplWwise.vcxproj) file and adjust it to include the correct files.
  • If you put your project into a folder inside CrySoundSystem\implementations\ ) then add the path to CryAudioCommon files ($(ProjectDir)..\..\common\ in the Additional Include Directories in the project properties.
  • In the References section of the Common Properties of the PCLauncher project replace the existing CryAudioImplWwise with your new project. For building the PCLauncher in Release Configuration you also need to add your project-specific library paths to the AdditionalLibraryDirectories property of PCLauncher project. Do the same for all of the Launcher projects and for the platforms your game supports (DurangoLauncher, OrbisLauncher, etc.)
  • Make sure the Configuration Manager settings of your new project match those of CrySoundSystem project on all platforms and for all configurations. Again, it is easiest to manually copy the configuration lines corresponding to the CrySoundSystem GUID in the .sln file and replace the GUID with the one assigned to your new project.
  • Adjust the BaseAddress.Win32.txt, BaseAddress.x64.txt, BaseAddress.Durango.txt (if needed) and possibly other platform-specific BaseAddress files to make sure that your new module gets enough memory when loaded dynamically.

...

CRYENGINE

In system.cfg set s_AudioImplementationName to the string with the name of the dll generated by your project (usually it is the same as the Visual Studio project name).

...

CryAudioCommon is a header-only project that contains the headers shared between the CrySoundSystem and the all of the Audio Implementations.

...