@@ -38,6 +38,9 @@ namespace gdjs {
3838 const options : UpdateFromNetworkSyncDataOptions = {
3939 clearMemory : true ,
4040 keepControl : true ,
41+ syncSounds : true ,
42+ syncTimers : true ,
43+ ignoreVariableOwnership : true ,
4144 } ;
4245
4346 this . _runtimeGame . updateFromNetworkSyncData (
@@ -202,40 +205,42 @@ namespace gdjs {
202205 // Avoid a risk of displaying an intermediate loading screen
203206 // during 1 frame.
204207 if ( this . _runtimeGame . areSceneAssetsReady ( newSceneName ) ) {
205- return this . _loadNewScene (
206- newSceneName ,
207- options || { } ,
208- externalLayoutName
209- ) ;
208+ return this . _loadNewScene ( newSceneName , externalLayoutName , options ) ;
210209 }
211210
212211 this . _isNextLayoutLoading = true ;
213212 this . _runtimeGame . loadSceneAssets ( newSceneName ) . then ( ( ) => {
214- this . _loadNewScene ( newSceneName , options || { } , undefined ) ;
213+ this . _loadNewScene ( newSceneName , undefined , options ) ;
215214 this . _isNextLayoutLoading = false ;
216215 } ) ;
217216 return null ;
218217 }
219218
220219 private _loadNewScene (
221220 newSceneName : string ,
222- options : UpdateFromNetworkSyncDataOptions ,
223- externalLayoutName ?: string
221+ externalLayoutName ?: string ,
222+ options ?: UpdateFromNetworkSyncDataOptions
224223 ) : gdjs . RuntimeScene {
225224 this . _throwIfDisposed ( ) ;
225+ const preventInitialInstancesCreation = ! ! options ;
226+ const preventSoundManagerClearing = ! ! options ;
227+
226228 // Load the new one
227229 const newScene = new gdjs . RuntimeScene ( this . _runtimeGame ) ;
228230 newScene . loadFromScene (
229231 this . _runtimeGame . getSceneAndExtensionsData ( newSceneName ) ,
230- options
232+ {
233+ preventInitialInstancesCreation,
234+ preventSoundManagerClearing,
235+ }
231236 ) ;
232237 this . _wasFirstSceneLoaded = true ;
233238
234239 // Optionally create the objects from an external layout.
235240 if ( externalLayoutName ) {
236241 const externalLayoutData =
237242 this . _runtimeGame . getExternalLayoutData ( externalLayoutName ) ;
238- if ( externalLayoutData && ! options . clearMemory ) {
243+ if ( externalLayoutData && ! preventInitialInstancesCreation ) {
239244 newScene . createObjectsFrom (
240245 externalLayoutData . instances ,
241246 0 ,
0 commit comments