This document contains proprietary information of Radical Entertainment. The contents are confidential and any disclosure to persons other than
the officers, employees, agents, or subcontractors of the owner or licensee of this document, without prior written consent of Radical
Entertainment is strictly prohibited.
The SoundManager class is responsible for the loading, playing, stopping, and unloading of the sound resources at the lower level. The SoundManager will maintain clip, stream, and dialog players for all of the possible sounds since the players are extremely small compared to the resources that they will be playing. The SoundManager will have a callback that it can access for all of the intermediate classes so that if a load fails the associated class can be informed and if a low priority resource needs to be unloaded so that a higher priority resource can be loaded the callback will be called to inform the appropriate class that its resource has been unloaded.
The intermediate classes provide an interface between the main game and the SoundManager.
The various intermediate classes observe for sound events and based on the events that they
receive they will call the appropriate SoundManager functions.
All of the loading that is done by the SoundManager will go through the Central Loader. The
SoundManager will make sure, prior to loading, that the resource has not been previously
The subsystems that will gain access to the sound system via the intermediate classes and the
events dispatched. The subsystems that will be dispatching the events observed by the
intermediate classes are:
- Collision System
One aspect of the overall sound system that needs to be explored in more detail is the
coordination between the sound and the NISs. The NISs will be synched to the sound, which
means that the NIS will be running off of the clock made available by the sound system. This
has been previously tried in snowboarding and Tim will be consulted on how to create this
system since he created the system for snowboarding. We will also have to look into the NIS
system to see how this will affect the existing code.
This action might not be possible to undo. Are you sure you want to continue?