diff --git a/load/bgm.lua b/load/bgm.lua index 9e28b94..749aed8 100644 --- a/load/bgm.lua +++ b/load/bgm.lua @@ -7,13 +7,15 @@ bgm = { local current_bgm = nil local bgm_locked = false -local unfocused = false function switchBGM(sound, subsound) + if bgm_locked then + return + end if current_bgm ~= nil then current_bgm:stop() end - if bgm_locked or config.bgm_volume <= 0 then + if config.bgm_volume <= 0 then current_bgm = nil elseif sound ~= nil then if subsound ~= nil then @@ -67,24 +69,19 @@ function processBGMFadeout(dt) fadeout_time = 0 fading_bgm = false end - current_bgm:setVolume(fadeout_time * config.bgm_volume / total_fadeout_time) + current_bgm:setVolume( + fadeout_time * config.bgm_volume / total_fadeout_time + ) end end -function pauseBGM(f) - if f then - unfocused = true - end +function pauseBGM() if current_bgm ~= nil then current_bgm:pause() end end -function resumeBGM(f) - if f and scene.paused and unfocused then - unfocused = false - return - end +function resumeBGM() if current_bgm ~= nil then current_bgm:play() end diff --git a/main.lua b/main.lua index d6980eb..31353b1 100644 --- a/main.lua +++ b/main.lua @@ -280,14 +280,6 @@ function love.wheelmoved(x, y) scene:onInputPress({input=nil, type="wheel", x=x, y=y}) end -function love.focus(f) - if f then - resumeBGM(true) - else - pauseBGM(true) - end -end - function love.resize(w, h) GLOBAL_CANVAS:release() GLOBAL_CANVAS = love.graphics.newCanvas(w, h) diff --git a/scene/credits.lua b/scene/credits.lua index f37301d..fdede66 100644 --- a/scene/credits.lua +++ b/scene/credits.lua @@ -16,9 +16,7 @@ function CreditsScene:new() end function CreditsScene:update() - if love.window.hasFocus() then - self.frames = self.frames + 1 - end + self.frames = self.frames + 1 if self.frames >= 2100 * self.scroll_speed then playSE("mode_decide") scene = TitleScene() diff --git a/scene/replay.lua b/scene/replay.lua index d72eed6..cf1cd78 100644 --- a/scene/replay.lua +++ b/scene/replay.lua @@ -37,6 +37,7 @@ function ReplayScene:new(replay, game_mode, ruleset) self.replay = deepcopy(replay) self.replay_index = 1 self.replay_speed = 1 + self.show_invisible = false DiscordRPC:update({ details = "Viewing a replay", state = self.game.name, @@ -92,6 +93,12 @@ function ReplayScene:render() else love.graphics.printf("?? PAUSES (--:--.--)", 0, pauses_y_coordinate, 635, "right") end + if self.show_invisible then + self.game.grid:draw() + love.graphics.setColor(1, 1, 1, 1) + love.graphics.setFont(font_3x5_3) + love.graphics.printf("SHOW INVIS", 64, 60, 160, "center") + end end function ReplayScene:onInputPress(e) @@ -124,6 +131,8 @@ function ReplayScene:onInputPress(e) if self.replay_speed > 99 then self.replay_speed = 99 end + elseif e.input == "hold" then + self.show_invisible = not self.show_invisible end end