diff options
Diffstat (limited to 'src/crepe')
| -rw-r--r-- | src/crepe/system/AudioSystem.cpp | 36 | 
1 files changed, 1 insertions, 35 deletions
| diff --git a/src/crepe/system/AudioSystem.cpp b/src/crepe/system/AudioSystem.cpp index 6c30b85..f90132a 100644 --- a/src/crepe/system/AudioSystem.cpp +++ b/src/crepe/system/AudioSystem.cpp @@ -14,41 +14,7 @@ void AudioSystem::update() {  		AudioSource & component = component_ref.get();  		if (!component.active) continue; -		/** -		 * How this is supposed to work: -		 * - Get an instance of Sound for this resource/component combo (Sound -		 *   instance is supposed to be unique per component, even if they use the -		 *   same underlying asset). -		 * OR -		 * - Use the same instance of Sound if this is what the cache returns -		 *   (= what the game programmer's wishes to do). -		 * -		 * NOT supposed to happen but still the case: -		 * - Below function call causes assets to be cached unintentionally -		 * - Cached assets are deleted at the end of a scene (i think?) -		 * - I'm not sure if the ResourceManager is even supposed to have a public -		 *   `.clear()` method since the control over resource lifetime is -		 *   explicitly handed over to the game programmer by using ResourceManager -		 *   to cache/uncache. I believe the proper methods are supposed to be: -		 * -		 *   - get()       get a reference to resource (used here) -		 *   - clear()     clears NON-cached assets -		 *   - cache()     marks asset as "do not delete at end of scene" -		 *   - uncache()   undoes the above -		 * -		 *   I think somewhere in the above function calls a unique identifier for -		 *   the Asset/GameObject should be given to make sure the unique instance -		 *   shit works as intended. The resource manager is also used for things -		 *   other than sounds. -		 * -		 * Also need to check: -		 * - Is it an issue if there are multiple AudioSource components playing -		 *   the same sample (= identical Asset), while they are all triggered -		 *   using the same underlying instance of Sound (esp. w/ -		 *   play/pause/retrigger behavior). -		 */ -		// Sound & sound = this->resource_manager.get<Sound>(component); - +		Sound & sound = this->resource_manager.get<Sound>(component.source);  		// TODO: lots of state diffing  	}  } |