@@ -364,22 +364,24 @@ public ICheckpoint CreateCheckpoint(CheckpointType type, Vector3 pos, Vector3 ne
364364 return PoolManager . Checkpoint . Create ( this , ptr , id ) ;
365365 }
366366
367- public IntPtr CreateAudioPtr ( out uint id , string source , float volume )
367+ public IntPtr CreateAudioPtr ( out uint id , string source , float volume , bool isRadio = false , string basePath = "" )
368368 {
369369 unsafe
370370 {
371371 uint pId = default ;
372372 var sourcePtr = MemoryUtils . StringToHGlobalUtf8 ( source ) ;
373- var ptr = Library . Client . Core_CreateAudio ( NativePointer , sourcePtr , volume , Resource . NativePointer , & pId ) ;
373+ var basePathPtr = MemoryUtils . StringToHGlobalUtf8 ( basePath ) ;
374+ var ptr = Library . Client . Core_CreateAudio ( NativePointer , sourcePtr , volume , isRadio ? ( byte ) 1 : ( byte ) 0 , basePathPtr , Resource . NativePointer , & pId ) ;
374375 id = pId ;
376+ Marshal . FreeHGlobal ( basePathPtr ) ;
375377 Marshal . FreeHGlobal ( sourcePtr ) ;
376378 return ptr ;
377379 }
378380 }
379381
380- public IAudio CreateAudio ( string source , float volume )
382+ public IAudio CreateAudio ( string source , float volume , bool isRadio = false , string basePath = "" )
381383 {
382- var ptr = CreateAudioPtr ( out var id , source , volume ) ;
384+ var ptr = CreateAudioPtr ( out var id , source , volume , isRadio , basePath ) ;
383385 if ( ptr == IntPtr . Zero ) return null ;
384386 return PoolManager . Audio . Create ( this , ptr , id ) ;
385387 }
0 commit comments