forked from Mirrorlandia_minetest/minetest
Add sound.dig
This commit is contained in:
parent
74780134f2
commit
06e93f8d95
@ -656,8 +656,10 @@ function default.node_sound_sand_defaults(table)
|
|||||||
table = table or {}
|
table = table or {}
|
||||||
table.footstep = table.footstep or
|
table.footstep = table.footstep or
|
||||||
{name="default_grass_footstep", gain=0.25}
|
{name="default_grass_footstep", gain=0.25}
|
||||||
|
--table.dug = table.dug or
|
||||||
|
-- {name="default_dirt_break", gain=0.25}
|
||||||
table.dug = table.dug or
|
table.dug = table.dug or
|
||||||
{name="default_dirt_break", gain=0.25}
|
{name="", gain=0.25}
|
||||||
default.node_sound_defaults(table)
|
default.node_sound_defaults(table)
|
||||||
return table
|
return table
|
||||||
end
|
end
|
||||||
@ -674,6 +676,8 @@ function default.node_sound_leaves_defaults(table)
|
|||||||
table = table or {}
|
table = table or {}
|
||||||
table.footstep = table.footstep or
|
table.footstep = table.footstep or
|
||||||
{name="default_grass_footstep", gain=0.25}
|
{name="default_grass_footstep", gain=0.25}
|
||||||
|
table.dig = table.dig or
|
||||||
|
{name="default_dig_crumbly", gain=0.4}
|
||||||
table.dug = table.dug or
|
table.dug = table.dug or
|
||||||
{name="", gain=1.0}
|
{name="", gain=1.0}
|
||||||
default.node_sound_defaults(table)
|
default.node_sound_defaults(table)
|
||||||
@ -727,7 +731,7 @@ minetest.register_node("default:dirt_with_grass", {
|
|||||||
groups = {crumbly=3},
|
groups = {crumbly=3},
|
||||||
drop = 'default:dirt',
|
drop = 'default:dirt',
|
||||||
sounds = default.node_sound_dirt_defaults({
|
sounds = default.node_sound_dirt_defaults({
|
||||||
footstep = {name="default_grass_footstep", gain=0.5},
|
footstep = {name="default_grass_footstep", gain=0.4},
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -738,7 +742,7 @@ minetest.register_node("default:dirt_with_grass_footsteps", {
|
|||||||
groups = {crumbly=3},
|
groups = {crumbly=3},
|
||||||
drop = 'default:dirt',
|
drop = 'default:dirt',
|
||||||
sounds = default.node_sound_dirt_defaults({
|
sounds = default.node_sound_dirt_defaults({
|
||||||
footstep = {name="default_grass_footstep", gain=0.5},
|
footstep = {name="default_grass_footstep", gain=0.4},
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -763,8 +767,8 @@ minetest.register_node("default:gravel", {
|
|||||||
tile_images = {"default_gravel.png"},
|
tile_images = {"default_gravel.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {crumbly=2},
|
groups = {crumbly=2},
|
||||||
sounds = default.node_sound_sand_defaults({
|
sounds = default.node_sound_dirt_defaults({
|
||||||
footstep = {name="default_gravel_footstep", gain=0.5}
|
footstep = {name="default_gravel_footstep", gain=0.45},
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
16
src/game.cpp
16
src/game.cpp
@ -2250,10 +2250,18 @@ void the_game(
|
|||||||
params = getDigParams(nodedef->get(n).groups, tp);
|
params = getDigParams(nodedef->get(n).groups, tp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(params.main_group != ""){
|
SimpleSoundSpec sound_dig = nodedef->get(n).sound_dig;
|
||||||
soundmaker.m_player_leftpunch_sound.gain = 0.5;
|
if(sound_dig.exists()){
|
||||||
soundmaker.m_player_leftpunch_sound.name =
|
if(sound_dig.name == "__group"){
|
||||||
std::string("default_dig_") + params.main_group;
|
if(params.main_group != ""){
|
||||||
|
soundmaker.m_player_leftpunch_sound.gain = 0.5;
|
||||||
|
soundmaker.m_player_leftpunch_sound.name =
|
||||||
|
std::string("default_dig_") +
|
||||||
|
params.main_group;
|
||||||
|
}
|
||||||
|
} else{
|
||||||
|
soundmaker.m_player_leftpunch_sound = sound_dig;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float dig_time_complete = 0.0;
|
float dig_time_complete = 0.0;
|
||||||
|
@ -156,6 +156,7 @@ void ContentFeatures::reset()
|
|||||||
legacy_facedir_simple = false;
|
legacy_facedir_simple = false;
|
||||||
legacy_wallmounted = false;
|
legacy_wallmounted = false;
|
||||||
sound_footstep = SimpleSoundSpec();
|
sound_footstep = SimpleSoundSpec();
|
||||||
|
sound_dig = SimpleSoundSpec("__group");
|
||||||
sound_dug = SimpleSoundSpec();
|
sound_dug = SimpleSoundSpec();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -204,6 +205,7 @@ void ContentFeatures::serialize(std::ostream &os)
|
|||||||
writeU8(os, legacy_facedir_simple);
|
writeU8(os, legacy_facedir_simple);
|
||||||
writeU8(os, legacy_wallmounted);
|
writeU8(os, legacy_wallmounted);
|
||||||
serializeSimpleSoundSpec(sound_footstep, os);
|
serializeSimpleSoundSpec(sound_footstep, os);
|
||||||
|
serializeSimpleSoundSpec(sound_dig, os);
|
||||||
serializeSimpleSoundSpec(sound_dug, os);
|
serializeSimpleSoundSpec(sound_dug, os);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,6 +260,7 @@ void ContentFeatures::deSerialize(std::istream &is)
|
|||||||
legacy_wallmounted = readU8(is);
|
legacy_wallmounted = readU8(is);
|
||||||
try{
|
try{
|
||||||
deSerializeSimpleSoundSpec(sound_footstep, is);
|
deSerializeSimpleSoundSpec(sound_footstep, is);
|
||||||
|
deSerializeSimpleSoundSpec(sound_dig, is);
|
||||||
deSerializeSimpleSoundSpec(sound_dug, is);
|
deSerializeSimpleSoundSpec(sound_dug, is);
|
||||||
}catch(SerializationError &e) {};
|
}catch(SerializationError &e) {};
|
||||||
}
|
}
|
||||||
|
@ -203,6 +203,7 @@ struct ContentFeatures
|
|||||||
|
|
||||||
// Sound properties
|
// Sound properties
|
||||||
SimpleSoundSpec sound_footstep;
|
SimpleSoundSpec sound_footstep;
|
||||||
|
SimpleSoundSpec sound_dig;
|
||||||
SimpleSoundSpec sound_dug;
|
SimpleSoundSpec sound_dug;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1062,6 +1062,9 @@ static ContentFeatures read_content_features(lua_State *L, int index)
|
|||||||
lua_getfield(L, -1, "footstep");
|
lua_getfield(L, -1, "footstep");
|
||||||
read_soundspec(L, -1, f.sound_footstep);
|
read_soundspec(L, -1, f.sound_footstep);
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
|
lua_getfield(L, -1, "dig");
|
||||||
|
read_soundspec(L, -1, f.sound_dig);
|
||||||
|
lua_pop(L, 1);
|
||||||
lua_getfield(L, -1, "dug");
|
lua_getfield(L, -1, "dug");
|
||||||
read_soundspec(L, -1, f.sound_dug);
|
read_soundspec(L, -1, f.sound_dug);
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user