forked from MoonsideGames/FAudioGMS
				
			add 3d orientation API
							parent
							
								
									90250633de
								
							
						
					
					
						commit
						30cb6959e0
					
				
							
								
								
									
										
											BIN
										
									
								
								gamemaker/extensions/FAudioGMS/FAudioGMS.dll (Stored with Git LFS)
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								gamemaker/extensions/FAudioGMS/FAudioGMS.dll (Stored with Git LFS)
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -181,6 +181,24 @@ | |||
|             2, | ||||
|           ],"resourceVersion":"1.0","name":"FAudioGMS_SoundInstance_QueueSyncPlay","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|         {"externalName":"FAudioGMS_SoundInstance_SyncPlay","kind":1,"help":"FAudioGMS_SoundInstance_SyncPlay()","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"FAudioGMS_SoundInstance_SyncPlay","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|         {"externalName":"FAudioGMS_SoundInstance_Set3DOrientation","kind":1,"help":"FAudioGMS_SoundInstance_Set3DOrientation(soundInstanceID, xFront, yFront, zFront, xTop, yTop, zTop)","hidden":false,"returnType":2,"argCount":0,"args":[ | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|           ],"resourceVersion":"1.0","name":"FAudioGMS_SoundInstance_Set3DOrientation","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|         {"externalName":"FAudioGMS_SetListenerOrientation","kind":1,"help":"FAudioGMS_SetListenerOrientation(soundInstanceID, xFront, yFront, zFront, xTop, yTop, zTop)","hidden":false,"returnType":2,"argCount":0,"args":[ | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|             2, | ||||
|           ],"resourceVersion":"1.0","name":"FAudioGMS_SetListenerOrientation","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|       ],"constants":[],"ProxyFiles":[ | ||||
|         {"TargetMask":7,"resourceVersion":"1.0","name":"libFAudioGMS.so","tags":[],"resourceType":"GMProxyFile",}, | ||||
|         {"TargetMask":3,"resourceVersion":"1.0","name":"FAudioGMSAndroidDummy.ext","tags":[],"resourceType":"GMProxyFile",}, | ||||
|  | @ -202,6 +220,7 @@ | |||
|         {"name":"FAudioGMS_SoundInstance_SetVolume","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SoundInstance_Set3DPosition","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SoundInstance_Set3DVelocity","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SoundInstance_Set3DOrientation","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SoundInstance_SetTrackPositionInSeconds","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SoundInstance_SetPlayRegion","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SoundInstance_SetVolumeOverTime","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|  | @ -225,6 +244,7 @@ | |||
|         {"name":"FAudioGMS_SetMasteringEffectGain","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SetListenerPosition","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SetListenerVelocity","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SetListenerOrientation","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_ResumeAll","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_PauseAll","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_StopAll","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|  |  | |||
|  | @ -1391,7 +1391,37 @@ void FAudioGMS_SoundInstance_Set3DVelocity( | |||
|     } | ||||
| } | ||||
| 
 | ||||
| /* FIXME: this will die horribly if position is greater than total length */ | ||||
| void FAudioGMS_SoundInstance_Set3DOrientation( | ||||
|     double soundInstanceID, | ||||
|     double xFront, | ||||
|     double yFront, | ||||
|     double zFront, | ||||
|     double xTop, | ||||
|     double yTop, | ||||
|     double zTop) | ||||
| { | ||||
|     RETURN_ON_NULL_DEVICE_VOID | ||||
|     FAudioGMS_SoundInstance *instance = | ||||
|         FAudioGMS_INTERNAL_LookupSoundInstance((uint32_t)soundInstanceID); | ||||
| 
 | ||||
|     if (instance != NULL) | ||||
|     { | ||||
|         if (!instance->is3D) | ||||
|         { | ||||
|             Log("Not a 3D sound!"); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         instance->emitter->OrientFront.x = xFront; | ||||
|         instance->emitter->OrientFront.y = yFront; | ||||
|         instance->emitter->OrientFront.z = zFront; | ||||
| 
 | ||||
|         instance->emitter->OrientTop.x = xTop; | ||||
|         instance->emitter->OrientTop.y = yTop; | ||||
|         instance->emitter->OrientTop.z = zTop; | ||||
|     } | ||||
| } | ||||
|     /* FIXME: this will die horribly if position is greater than total length */ | ||||
| void FAudioGMS_SoundInstance_SetTrackPositionInSeconds( | ||||
|     double soundInstanceID, | ||||
|     double trackPositionInSeconds) | ||||
|  | @ -1618,7 +1648,25 @@ void FAudioGMS_SetListenerVelocity(double xVelocity, double yVelocity, double zV | |||
|     device->listener.Velocity.z = zVelocity; | ||||
| } | ||||
| 
 | ||||
| static void FAudioGMS_INTERNAL_SoundInstance_Destroy(FAudioGMS_SoundInstance *instance) | ||||
| void FAudioGMS_SetListenerOrientation( | ||||
|     double soundInstanceID, | ||||
|     double xFront, | ||||
|     double yFront, | ||||
|     double zFront, | ||||
|     double xTop, | ||||
|     double yTop, | ||||
|     double zTop) | ||||
| { | ||||
|     RETURN_ON_NULL_DEVICE_VOID | ||||
|     device->listener.OrientFront.x = xFront; | ||||
|     device->listener.OrientFront.y = yFront; | ||||
|     device->listener.OrientFront.z = zFront; | ||||
|     device->listener.OrientTop.x = xTop; | ||||
|     device->listener.OrientTop.y = yTop; | ||||
|     device->listener.OrientTop.z = zTop; | ||||
| } | ||||
| 
 | ||||
|  static void FAudioGMS_INTERNAL_SoundInstance_Destroy(FAudioGMS_SoundInstance *instance) | ||||
| { | ||||
|     uint32_t i; | ||||
| 
 | ||||
|  |  | |||
|  | @ -78,6 +78,14 @@ extern "C" | |||
|         double xVelocity, | ||||
|         double yVelocity, | ||||
|         double zVelocity); | ||||
|     FAUDIOGMSAPI void FAudioGMS_SoundInstance_Set3DOrientation( | ||||
|         double soundInstanceID, | ||||
|         double xFront, | ||||
|         double yFront, | ||||
|         double zFront, | ||||
|         double xTop, | ||||
|         double yTop, | ||||
|         double zTop); | ||||
|     FAUDIOGMSAPI void FAudioGMS_SoundInstance_SetTrackPositionInSeconds( | ||||
|         double soundInstanceID, | ||||
|         double trackPositionInSeconds); | ||||
|  | @ -151,6 +159,14 @@ extern "C" | |||
|         double xVelocity, | ||||
|         double yVelocity, | ||||
|         double zVelocity); | ||||
|     FAUDIOGMSAPI void FAudioGMS_SetListenerOrientation( | ||||
|         double soundInstanceID, | ||||
|         double xFront, | ||||
|         double yFront, | ||||
|         double zFront, | ||||
|         double xTop, | ||||
|         double yTop, | ||||
|         double zTop); | ||||
| 
 | ||||
|     FAUDIOGMSAPI void FAudioGMS_PauseAll();  /* useful for mobile platforms, etc
 | ||||
|                                               */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue