From a831b4822563bfc635d84fde0a5709b39528c42b Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Mon, 5 Apr 2010 01:20:34 +0000 Subject: [PATCH] music maestro! and sounds git-svn-id: http://svn.net-core.org/repos/t-engine4@506 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engine/interface/GameMusic.lua | 12 +++- game/engine/interface/GameSound.lua | 11 +++- game/modules/tome/class/Game.lua | 7 ++- game/modules/tome/data/birth/classes/mage.lua | 44 +------------- game/modules/tome/data/general/npcs/wight.lua | 8 +-- game/modules/tome/data/talents/spells/air.lua | 40 ++++++------- .../tome/data/talents/spells/arcane.lua | 3 + .../modules/tome/data/talents/spells/fire.lua | 4 ++ .../tome/data/talents/spells/water.lua | 54 ++++++++++++------ game/modules/tome/data/zones/maze/grids.lua | 3 +- .../tome/data/zones/sandworm-lair/npcs.lua | 1 + .../tome/data/zones/tol-falas/zone.lua | 1 + .../tome/data/zones/trollshaws/zone.lua | 1 + .../tome/data/zones/wilderness/zone.lua | 1 + ideas/spells.ods | Bin 24609 -> 24227 bytes src/music.c | 32 +++++++++-- 16 files changed, 123 insertions(+), 99 deletions(-) diff --git a/game/engine/interface/GameMusic.lua b/game/engine/interface/GameMusic.lua index 194e0537db..5477d3caea 100644 --- a/game/engine/interface/GameMusic.lua +++ b/game/engine/interface/GameMusic.lua @@ -41,14 +41,22 @@ function _M:playMusic(name) m = self.loaded_musics[name] end if not m then return end + if self.current_music == name and self.playing_music then return end if self.current_music then - self:stopMusic() + core.sound.musicStop() end m:play() self.current_music = name + self.playing_music = true end function _M:stopMusic() if not self.loaded_musics[self.current_music] then return end - self.loaded_musics[self.current_music]:stop() + core.sound.musicStop() + self.current_music = nil + self.playing_music = false +end + +function _M:volumeMusic(vol) + core.sound.musicVolume(vol or 100) end diff --git a/game/engine/interface/GameSound.lua b/game/engine/interface/GameSound.lua index 994b6ec49c..fd1c9ea0e9 100644 --- a/game/engine/interface/GameSound.lua +++ b/game/engine/interface/GameSound.lua @@ -34,9 +34,16 @@ end function _M:playSound(name) local s = self.loaded_sounds[name] if not s then - self.loaded_sounds[name] = core.sound.newSound("/data/sound/"..name) + local f = loadfile("/data/sound/"..name..".lua") + setfenv(f, setmetatable({}, {__index=_G})) + local def = f() + print("[SOUND] loading from", "/data/sound/"..name..".lua", ":=:", def.file) + def.file = core.sound.newSound("/data/sound/"..def.file) + if def.volume then def.file:setVolume(def.volume) end + + self.loaded_sounds[name] = def s = self.loaded_sounds[name] end if not s then return end - s:play() + s.file:play(s.loop, s.timed) end diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index f839e1a087..98ff001d60 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -98,6 +98,7 @@ function _M:run() self:setCurrent() -- Run the current music if any + self:volumeMusic(30) self:playMusic() if self.level then self:setupDisplayMode() end @@ -253,7 +254,11 @@ function _M:changeLevel(lev, zone) end if self.level.data.ambiant_music then - self:playMusic(self.level.data.ambiant_music) + if self.level.data.ambiant_music ~= "last" then + self:playMusic(self.level.data.ambiant_music) + end + else + self:stopMusic() end end diff --git a/game/modules/tome/data/birth/classes/mage.lua b/game/modules/tome/data/birth/classes/mage.lua index c27ff96b2f..731a2f7815 100644 --- a/game/modules/tome/data/birth/classes/mage.lua +++ b/game/modules/tome/data/birth/classes/mage.lua @@ -67,7 +67,7 @@ newBirthDescriptor{ talents = { [ActorTalents.T_MANATHRUST] = 1, [ActorTalents.T_FLAME] = 1, - [ActorTalents.T_FREEZE] = 1, + [ActorTalents.T_CORROSIVE_VAPOUR] = 1, [ActorTalents.T_PHASE_DOOR] = 1, }, copy = { @@ -132,45 +132,3 @@ newBirthDescriptor{ }, }, } - -newBirthDescriptor{ - type = "subclass", - name = "Necromancer", - desc = { - "Their most important stats are: Magic and Willpower", - }, - stats = { mag=3, wil=2, cun=1, }, - talents_types = { - ["spell/arcane"]={true, 0.3}, - ["spell/fire"]={true, 0.3}, - ["spell/earth"]={true, 0.3}, - ["spell/water"]={true, 0.3}, - ["spell/air"]={true, 0.3}, - ["spell/phantasm"]={true, 0.3}, - ["spell/temporal"]={false, 0.3}, - ["spell/meta"]={false, 0.3}, - ["spell/divination"]={true, 0.3}, - ["spell/conveyance"]={true, 0.3}, - ["spell/nature"]={true, 0.3}, - ["spell/necromancy"]={true, 0.3}, - ["cunning/survival"]={false, -0.1}, - }, - talents = { - [ActorTalents.T_ABSORB_SOUL] = 1, - [ActorTalents.T_FLAME] = 1, - [ActorTalents.T_FREEZE] = 1, - [ActorTalents.T_PHASE_DOOR] = 1, - }, - copy = { - max_life = 80, - life_rating = 7, - resolvers.equip{ id=true, - {type="weapon", subtype="staff", name="elm staff", autoreq=true}, - {type="armor", subtype="cloth", name="robe", autoreq=true} - }, - resolvers.inventory{ id=true, - {type="potion", subtype="potion", name="potion of lesser mana"}, - {type="potion", subtype="potion", name="potion of lesser mana"}, - }, - }, -} diff --git a/game/modules/tome/data/general/npcs/wight.lua b/game/modules/tome/data/general/npcs/wight.lua index 69e9afaa2d..0fc1a2d281 100644 --- a/game/modules/tome/data/general/npcs/wight.lua +++ b/game/modules/tome/data/general/npcs/wight.lua @@ -63,7 +63,7 @@ newEntity{ base = "BASE_NPC_WIGHT", combat_armor = 7, combat_def = 6, resolvers.talents{ - [Talents.T_FLAMESHOCK]=1, [Talents.T_LIGHTNING]=1, [Talents.T_NOXIOUS_CLOUD]=1, + [Talents.T_FLAMESHOCK]=1, [Talents.T_LIGHTNING]=1, [Talents.T_CORROSIVE_VAPOUR]=1, [Talents.T_MIND_DISRUPTION]=1, }, } @@ -76,7 +76,7 @@ newEntity{ base = "BASE_NPC_WIGHT", max_life = resolvers.rngavg(70,80), combat_armor = 9, combat_def = 6, - resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAMESHOCK]=2, [Talents.T_LIGHTNING]=2, [Talents.T_NOXIOUS_CLOUD]=2, + resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAMESHOCK]=2, [Talents.T_LIGHTNING]=2, [Talents.T_CORROSIVE_VAPOUR]=2, [Talents.T_MIND_DISRUPTION]=2, }, } @@ -89,7 +89,7 @@ newEntity{ base = "BASE_NPC_WIGHT", max_life = resolvers.rngavg(80,90), combat_armor = 10, combat_def = 8, - resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAMESHOCK]=3, [Talents.T_LIGHTNING]=3, [Talents.T_NOXIOUS_CLOUD]=3, + resolvers.talents{ [Talents.T_MANA_POOL]=1, [Talents.T_FLAMESHOCK]=3, [Talents.T_LIGHTNING]=3, [Talents.T_CORROSIVE_VAPOUR]=3, [Talents.T_MIND_DISRUPTION]=3, }, } @@ -101,7 +101,7 @@ newEntity{ base = "BASE_NPC_WIGHT", rarity = 9, max_life = resolvers.rngavg(100,150), combat_armor = 12, combat_def = 10, - resolvers.talents{ [Talents.T_MANA_POOL]=3, [Talents.T_FLAMESHOCK]=3, [Talents.T_LIGHTNING]=4, [Talents.T_NOXIOUS_CLOUD]=3, [Talents.T_THUNDERSTORM]=2, + resolvers.talents{ [Talents.T_MANA_POOL]=3, [Talents.T_FLAMESHOCK]=3, [Talents.T_LIGHTNING]=4, [Talents.T_CORROSIVE_VAPOUR]=3, [Talents.T_THUNDERSTORM]=2, [Talents.T_MIND_DISRUPTION]=4, }, } diff --git a/game/modules/tome/data/talents/spells/air.lua b/game/modules/tome/data/talents/spells/air.lua index 9147b1c37a..52885eec63 100644 --- a/game/modules/tome/data/talents/spells/air.lua +++ b/game/modules/tome/data/talents/spells/air.lua @@ -34,6 +34,7 @@ newTalent{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, DamageType.LIGHTNING, rng.avg(1, self:spellCrit(20 + self:combatSpellpower(0.8) * self:getTalentLevel(t)), 3), {type="lightning"}) + game:playSound("talents/lightning") return true end, info = function(self, t) @@ -86,6 +87,7 @@ newTalent{ end fork(fx, fy) + game:playSound("talents/lightning") return true end, @@ -101,38 +103,27 @@ newTalent{ } newTalent{ - name = "Noxious Cloud", + name = "Wings of Wind", type = {"spell/air",3}, require = spells_req3, points = 5, - mana = 25, - cooldown = 8, + mode = "sustained", + sustain_mana = 100, tactical = { - ATTACKAREA = 10, + MOVEMENT = 10, }, - range = 15, - action = function(self, t) - local duration = self:getTalentLevel(t) + 2 - local radius = 3 - local dam = 4 + self:combatSpellpower(0.17) * self:getTalentLevel(t) - local tg = {type="ball", range=self:getTalentRange(t), radius=radius} - local x, y = self:getTarget(tg) - if not x or not y then return nil end - local _ _, x, y = self:canProject(tg, x, y) - -- Add a lasting map effect - game.level.map:addEffect(self, - x, y, duration, - DamageType.NATURE, dam, - radius, - 5, nil, - engine.Entity.new{alpha=100, display='', color_br=30, color_bg=180, color_bb=60}, - nil, self:spellFriendlyFire() - ) + activate = function(self, t) + return { + fly = self:addTemporaryValue("fly", math.floor(self:getTalentLevel(t))), + } + end, + deactivate = function(self, t, p) + self:removeTemporaryValue("fly", p.fly) return true end, info = function(self, t) - return ([[Noxious fumes rises from the ground doing %0.2f nature damage in a radius of 3 each turn for %d turns. - The damage and duration will increase with the Magic stat]]):format(4 + self:combatSpellpower(0.17) * self:getTalentLevel(t), self:getTalentLevel(t) + 2) + return ([[Grants the caster a pair of wings made of pure wind, allowing her to fly up to %d height.]]): + format(math.floor(self:getTalentLevel(t))) end, } @@ -174,6 +165,7 @@ newTalent{ table.remove(tgts, id) self:project(tg, a.x, a.y, DamageType.LIGHTNING, rng.avg(1, self:spellCrit(20 + self:combatSpellpower(0.2) * self:getTalentLevel(t)), 3), {type="lightning"}) + game:playSound("talents/lightning") end end, activate = function(self, t) diff --git a/game/modules/tome/data/talents/spells/arcane.lua b/game/modules/tome/data/talents/spells/arcane.lua index 818ebe712a..46283a9002 100644 --- a/game/modules/tome/data/talents/spells/arcane.lua +++ b/game/modules/tome/data/talents/spells/arcane.lua @@ -35,6 +35,7 @@ newTalent{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, DamageType.ARCANE, self:spellCrit(20 + self:combatSpellpower(0.5) * self:getTalentLevel(t)), {type="manathrust"}) + game:playSound("talents/arcane") return true end, info = function(self, t) @@ -57,6 +58,7 @@ newTalent{ action = function(self, t) if not self:hasEffect(self.EFF_MANAFLOW) then self:setEffect(self.EFF_MANAFLOW, 10, {power=5+self:combatSpellpower(0.06) * self:getTalentLevel(t)}) + game:playSound("talents/arcane") end return true end, @@ -96,6 +98,7 @@ newTalent{ activate = function(self, t) local power = math.max(0.8, 3 - (self:combatSpellpower(1) * self:getTalentLevel(t)) / 280) self.disruption_shield_absorb = 0 + game:playSound("talents/arcane") return { shield = self:addTemporaryValue("disruption_shield", power), } diff --git a/game/modules/tome/data/talents/spells/fire.lua b/game/modules/tome/data/talents/spells/fire.lua index 7adc7edab8..683ed48912 100644 --- a/game/modules/tome/data/talents/spells/fire.lua +++ b/game/modules/tome/data/talents/spells/fire.lua @@ -34,6 +34,7 @@ newTalent{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, DamageType.FIREBURN, self:spellCrit(25 + self:combatSpellpower(1.2) * self:getTalentLevel(t)), {type="flame"}) + game:playSound("talents/fire") return true end, info = function(self, t) @@ -58,6 +59,7 @@ newTalent{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, DamageType.FLAMESHOCK, {dur=self:getTalentLevelRaw(t) + 2, dam=self:spellCrit(10 + self:combatSpellpower(0.6) * self:getTalentLevel(t))}, {type="flame"}) + game:playSound("talents/fire") return true end, info = function(self, t) @@ -82,6 +84,7 @@ newTalent{ local x, y = self:getTarget(tg) if not x or not y then return nil end self:project(tg, x, y, DamageType.FIRE, self:spellCrit(28 + self:combatSpellpower(0.6) * self:getTalentLevel(t)), {type="flame"}) + game:playSound("talents/fireflash") return true end, info = function(self, t) @@ -118,6 +121,7 @@ newTalent{ engine.Entity.new{alpha=100, display='', color_br=180, color_bg=30, color_bb=60}, nil, self:spellFriendlyFire() ) + game:playSound("talents/fire") return true end, info = function(self, t) diff --git a/game/modules/tome/data/talents/spells/water.lua b/game/modules/tome/data/talents/spells/water.lua index b6d5a909c2..4916ff33e0 100644 --- a/game/modules/tome/data/talents/spells/water.lua +++ b/game/modules/tome/data/talents/spells/water.lua @@ -18,44 +18,64 @@ -- darkgod@te4.org newTalent{ - name = "Freeze", - type = {"spell/water", 1}, + name = "Corrosive Vapour", + type = {"spell/water",1}, require = spells_req1, points = 5, - mana = 14, - cooldown = 3, + mana = 25, + cooldown = 8, tactical = { - ATTACK = 10, + ATTACKAREA = 10, }, - range = 20, - reflectable = true, + range = 15, action = function(self, t) - local tg = {type="hit", range=self:getTalentRange(t), talent=t} + local duration = self:getTalentLevel(t) + 2 + local radius = 3 + local dam = 4 + self:combatSpellpower(0.17) * self:getTalentLevel(t) + local tg = {type="ball", range=self:getTalentRange(t), radius=radius} local x, y = self:getTarget(tg) if not x or not y then return nil end - self:project(tg, x, y, DamageType.COLD, self:spellCrit(12 + self:combatSpellpower(0.25) * self:getTalentLevel(t)), {type="freeze"}) - self:project(tg, x, y, DamageType.FREEZE, 3 + math.floor(self:getTalentLevel(t) / 3)) + local _ _, x, y = self:canProject(tg, x, y) + -- Add a lasting map effect + game.level.map:addEffect(self, + x, y, duration, + DamageType.ACID, dam, + radius, + 5, nil, + engine.Entity.new{alpha=100, display='', color_br=30, color_bg=180, color_bb=60}, + nil, self:spellFriendlyFire() + ) return true end, info = function(self, t) - return ([[Condenses ambient water on a target, freezing it for a short while and damaging it for %0.2f. - The damage will increase with the Magic stat]]):format(12 + self:combatSpellpower(0.25) * self:getTalentLevel(t)) + return ([[Corrosive fumes rises from the ground doing %0.2f acid damage in a radius of 3 each turn for %d turns. + The damage and duration will increase with the Magic stat]]):format(4 + self:combatSpellpower(0.17) * self:getTalentLevel(t), self:getTalentLevel(t) + 2) end, } newTalent{ - name = "Ent-draught", + name = "Freeze", type = {"spell/water", 2}, require = spells_req2, points = 5, - mana = 30, - cooldown = 100, + mana = 14, + cooldown = 3, + tactical = { + ATTACK = 10, + }, + range = 20, + reflectable = true, action = function(self, t) - self:setEffect(self.EFF_ALL_STAT, 20, {power=1+self:combatSpellpower(0.01) * self:getTalentLevel(t)}) + local tg = {type="hit", range=self:getTalentRange(t), talent=t} + local x, y = self:getTarget(tg) + if not x or not y then return nil end + self:project(tg, x, y, DamageType.COLD, self:spellCrit(12 + self:combatSpellpower(0.25) * self:getTalentLevel(t)), {type="freeze"}) + self:project(tg, x, y, DamageType.FREEZE, 3 + math.floor(self:getTalentLevel(t) / 3)) return true end, info = function(self, t) - return ([[Confures some Ent-draught to fill your stomach and boost your stats by %d for 20 turns.]]):format(1+self:combatSpellpower(0.01) * self:getTalentLevel(t)) + return ([[Condenses ambient water on a target, freezing it for a short while and damaging it for %0.2f. + The damage will increase with the Magic stat]]):format(12 + self:combatSpellpower(0.25) * self:getTalentLevel(t)) end, } diff --git a/game/modules/tome/data/zones/maze/grids.lua b/game/modules/tome/data/zones/maze/grids.lua index 9298da7a74..b95cbc50fe 100644 --- a/game/modules/tome/data/zones/maze/grids.lua +++ b/game/modules/tome/data/zones/maze/grids.lua @@ -36,7 +36,8 @@ newEntity{ define_as = "MAZE_WALL", name = "wall", image = "terrain/granite_wall_lichen.png", display = '#', color_r=255, color_g=255, color_b=255, - block_move = true, + always_remember = true, + does_block_move = true, block_sight = true, air_level = -20, } diff --git a/game/modules/tome/data/zones/sandworm-lair/npcs.lua b/game/modules/tome/data/zones/sandworm-lair/npcs.lua index 1b5b2112fa..c55af857fc 100644 --- a/game/modules/tome/data/zones/sandworm-lair/npcs.lua +++ b/game/modules/tome/data/zones/sandworm-lair/npcs.lua @@ -57,6 +57,7 @@ newEntity{ define_as = "SANDWORM_QUEEN", stats = { str=25, dex=10, cun=8, mag=20, wil=20, con=20 }, stun_immune = 1, + no_breath = 1, resists = { [DamageType.FIRE] = 30, [DamageType.COLD] = -30 }, diff --git a/game/modules/tome/data/zones/tol-falas/zone.lua b/game/modules/tome/data/zones/tol-falas/zone.lua index 0994c4339f..1509ea9570 100644 --- a/game/modules/tome/data/zones/tol-falas/zone.lua +++ b/game/modules/tome/data/zones/tol-falas/zone.lua @@ -28,6 +28,7 @@ return { -- all_remembered = true, -- all_lited = true, persistant = "zone", + ambiant_music = "cirith-ungol.ogg", generator = { map = { class = "engine.generator.map.Roomer", diff --git a/game/modules/tome/data/zones/trollshaws/zone.lua b/game/modules/tome/data/zones/trollshaws/zone.lua index 321a2c5e79..6ea04dea56 100644 --- a/game/modules/tome/data/zones/trollshaws/zone.lua +++ b/game/modules/tome/data/zones/trollshaws/zone.lua @@ -28,6 +28,7 @@ return { -- all_remembered = true, all_lited = true, persistant = "zone", + ambiant_music = "elven_town.ogg", generator = { map = { class = "engine.generator.map.Roomer", diff --git a/game/modules/tome/data/zones/wilderness/zone.lua b/game/modules/tome/data/zones/wilderness/zone.lua index d1bd4725b7..84a62f91ff 100644 --- a/game/modules/tome/data/zones/wilderness/zone.lua +++ b/game/modules/tome/data/zones/wilderness/zone.lua @@ -25,6 +25,7 @@ return { all_remembered = true, all_lited = true, persistant = "memory", + ambiant_music = "last", generator = { map = { class = "mod.class.generator.map.Wilderness", diff --git a/ideas/spells.ods b/ideas/spells.ods index 771a50e5ccac91382bcd87ab54ecd1f8c0394cb6..6070efe67da9c7787041e3ebf65af4dd2607526b 100644 GIT binary patch delta 21891 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ÐJ%dXEyWDVI|`ki2n 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 bgN8==&#=3U+!PE4QiBPelVC%Ezwi7DA=MfP delta 22263 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 be{MQ$eNyB&orE{qgb7jlU{o^QzoP#Kd^hXQ diff --git a/src/music.c b/src/music.c index 9c8c7fa301..4bc376d34f 100644 --- a/src/music.c +++ b/src/music.c @@ -66,12 +66,19 @@ static int music_play(lua_State *L) static int music_stop(lua_State *L) { - Mix_Music **m = (Mix_Music**)auxiliar_checkclass(L, "core{music}", 1); - int fadeout = lua_isnumber(L, 2) ? lua_tonumber(L, 2) : 0; + int fadeout = lua_isnumber(L, 1) ? lua_tonumber(L, 1) : 0; Mix_FadeOutMusic(fadeout); return 0; } +static int music_volume(lua_State *L) +{ + int vol = lua_isnumber(L, 1) ? lua_tonumber(L, 1) : 100; + + Mix_VolumeMusic(SDL_MIX_MAXVOLUME * vol / 100); + return 0; +} + static int sound_new(lua_State *L) { const char *name = luaL_checkstring(L, 1); @@ -86,7 +93,7 @@ static int sound_new(lua_State *L) } *m = Mix_LoadWAV_RW(rops, 1); if (!*m) return 0; - Mix_VolumeChunk(m, SDL_MIX_MAXVOLUME); + Mix_VolumeChunk(*m, SDL_MIX_MAXVOLUME); return 1; } @@ -102,7 +109,20 @@ static int sound_free(lua_State *L) static int sound_play(lua_State *L) { Mix_Chunk **m = (Mix_Chunk**)auxiliar_checkclass(L, "core{sound}", 1); - Mix_PlayChannel(-1, m, 0); + int loop = lua_isnumber(L, 2) ? lua_tonumber(L, 2) : 0; + int ms = lua_isnumber(L, 3) ? lua_tonumber(L, 3) : 0; + if (!ms) + Mix_PlayChannel(-1, *m, loop); + else + Mix_PlayChannelTimed(-1, *m, loop , ms); + return 0; +} + +static int sound_volume(lua_State *L) +{ + Mix_Chunk **m = (Mix_Chunk**)auxiliar_checkclass(L, "core{sound}", 1); + int vol = lua_isnumber(L, 2) ? lua_tonumber(L, 2) : 100; + Mix_VolumeChunk(*m, SDL_MIX_MAXVOLUME * vol / 100); return 0; } @@ -110,6 +130,8 @@ static const struct luaL_reg soundlib[] = { {"newMusic", music_new}, {"newSound", sound_new}, + {"musicStop", music_stop}, + {"musicVolume", music_volume}, {NULL, NULL}, }; @@ -117,7 +139,6 @@ static const struct luaL_reg music_reg[] = { {"__gc", music_free}, {"play", music_play}, - {"stop", music_stop}, {NULL, NULL}, }; @@ -125,6 +146,7 @@ static const struct luaL_reg sound_reg[] = { {"__gc", sound_free}, {"play", sound_play}, + {"setVolume", sound_volume}, {NULL, NULL}, }; -- GitLab