From 69ba50e49f09db31c44dd032362f362fe20fad1b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sun, 6 Mar 2022 16:38:57 +0100 Subject: [PATCH] Silent ambience in editor --- mods/lzr_ambience/init.lua | 12 ++++++++---- mods/lzr_editor/init.lua | 2 +- mods/lzr_levels/init.lua | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/mods/lzr_ambience/init.lua b/mods/lzr_ambience/init.lua index 3acdbb5..1846ff3 100644 --- a/mods/lzr_ambience/init.lua +++ b/mods/lzr_ambience/init.lua @@ -7,7 +7,7 @@ local ambiences = {} local current_singleplayer_ambience = nil local current_singleplayer_ambience_id = nil -lzr_ambience.add_ambience = function(id, soundname, gain) +lzr_ambience.register_ambience = function(id, soundname, gain) ambiences[id] = { soundname = soundname, gain = gain } end @@ -30,13 +30,17 @@ function lzr_ambience.set_ambience(id) return true end lzr_ambience.stop_ambience() - current_singleplayer_ambience = minetest.sound_play({name=ambience.soundname}, {gain = ambience.gain, to_player="singleplayer", loop=true}) + if id ~= "none" then + current_singleplayer_ambience = minetest.sound_play({name=ambience.soundname}, {gain = ambience.gain, to_player="singleplayer", loop=true}) + end current_singleplayer_ambience_id = id return true end -lzr_ambience.add_ambience("ocean", "lzr_ambience_ocean", 0.08) -lzr_ambience.add_ambience("temple", "lzr_ambience_temple", 1.0) +lzr_ambience.register_ambience("ocean", "lzr_ambience_ocean", 0.08) +lzr_ambience.register_ambience("temple", "lzr_ambience_temple", 1.0) +-- Special ambience that is completely silent +lzr_ambience.register_ambience("none") local setting = minetest.settings:get_bool("lzr_ambience_start_with_ambience") if setting == nil then setting = true end diff --git a/mods/lzr_editor/init.lua b/mods/lzr_editor/init.lua index 345bddc..cae3ab8 100644 --- a/mods/lzr_editor/init.lua +++ b/mods/lzr_editor/init.lua @@ -159,6 +159,6 @@ lzr_gamestate.register_on_enter_state(function(state) local player = minetest.get_player_by_name("singleplayer") lzr_player.set_editor_inventory(player) lzr_gui.set_editor_gui(player) - lzr_ambience.set_ambience("ocean") + lzr_ambience.set_ambience("none") end end) diff --git a/mods/lzr_levels/init.lua b/mods/lzr_levels/init.lua index e6ff8be..5b00315 100644 --- a/mods/lzr_levels/init.lua +++ b/mods/lzr_levels/init.lua @@ -307,8 +307,8 @@ function lzr_levels.start_level(level) reset_inventory(player, needs_rotate) if lzr_gamestate.get_state() ~= lzr_gamestate.EDITOR then lzr_gamestate.set_state(lzr_gamestate.LEVEL) + lzr_ambience.set_ambience(level_data[level].ambience) end - lzr_ambience.set_ambience(level_data[level].ambience) minetest.log("action", "[lzr_levels] Starting level "..level) end