Stop new old sounds from playing during rewinding
This commit is contained in:
+8
-1
@@ -69,10 +69,16 @@ updateRenderSplit w = do
|
||||
update w `par` void (doDrawing (_renderData preData) w)
|
||||
return $ update w
|
||||
|
||||
playSoundUnlessRewinding :: World -> IO (M.Map SoundOrigin Sound)
|
||||
playSoundUnlessRewinding w
|
||||
| _rewinding w = return M.empty
|
||||
| otherwise = playSoundAndUpdate (_soundData $ _preloadData w) (_playingSounds w) (_toPlaySounds w)
|
||||
|
||||
doSideEffects :: World -> IO World
|
||||
doSideEffects w = do
|
||||
let preData = _preloadData w
|
||||
newPlayingSounds <- playSoundAndUpdate (_soundData preData) (_playingSounds w) (_toPlaySounds w)
|
||||
--newPlayingSounds <- playSoundAndUpdate (_soundData preData) (_playingSounds w) (_toPlaySounds w)
|
||||
newPlayingSounds <- playSoundUnlessRewinding w
|
||||
w' <- _sideEffects w w
|
||||
endTicks <- SDL.ticks
|
||||
let lastFrameTicks = _frameTimer preData
|
||||
@@ -86,6 +92,7 @@ doSideEffects w = do
|
||||
& playingSounds .~ newPlayingSounds
|
||||
& toPlaySounds .~ M.empty
|
||||
& sideEffects .~ return
|
||||
& rewinding .~ False -- this is probably not the best place for this
|
||||
|
||||
doPreload :: IO PreloadData
|
||||
doPreload = do
|
||||
|
||||
Reference in New Issue
Block a user