Implement sound api and some sounds

- Level crossing bell
- Horns
- Subway train driving and door sounds
...to be continued...
master
orwell96 2017-12-06 13:23:55 +01:00
parent 34429b8154
commit ac3d4dffeb
13 changed files with 28 additions and 6 deletions

View File

@ -39,6 +39,7 @@ advtrains.register_wagon("engine_industrial", {
is_locomotive=true,
collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0},
drops={"default:steelblock 4"},
horn_sound = "advtrains_industrial_horn",
}, S("Industrial Train Engine"), "advtrains_engine_industrial_inv.png")
advtrains.register_wagon("wagon_tank", {
mesh="advtrains_wagon_tank.b3d",

View File

@ -72,6 +72,7 @@ advtrains.register_wagon("engine_japan", {
is_locomotive=true,
collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0},
drops={"default:steelblock 4"},
horn_sound = "advtrains_japan_horn",
}, S("Japanese Train Engine"), "advtrains_engine_japan_inv.png")
advtrains.register_wagon("wagon_japan", {

Binary file not shown.

View File

@ -71,6 +71,7 @@ advtrains.register_wagon("newlocomotive", {
})
end,
drops={"default:steelblock 4"},
horn_sound = "advtrains_steam_whistle",
}, S("Steam Engine"), "advtrains_engine_steam_inv.png")
advtrains.register_wagon("detailed_steam_engine", {
@ -139,6 +140,7 @@ advtrains.register_wagon("detailed_steam_engine", {
})
end,
drops={"default:steelblock 4"},
horn_sound = "advtrains_steam_whistle",
}, S("Detailed Steam Engine"), "advtrains_detailed_engine_steam_inv.png")
advtrains.register_wagon("wagon_default", {

View File

@ -59,11 +59,13 @@ advtrains.register_wagon("subway_wagon", {
doors={
open={
[-1]={frames={x=0, y=20}, time=1},
[1]={frames={x=40, y=60}, time=1}
[1]={frames={x=40, y=60}, time=1},
sound = "advtrains_subway_dopen",
},
close={
[-1]={frames={x=20, y=40}, time=1},
[1]={frames={x=60, y=80}, time=1}
[1]={frames={x=60, y=80}, time=1},
sound = "advtrains_subway_dclose",
}
},
door_entry={-1, 1},
@ -73,10 +75,26 @@ advtrains.register_wagon("subway_wagon", {
collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0},
is_locomotive=true,
drops={"default:steelblock 4"},
--custom_on_activate = function(self, dtime_s)
-- atprint("subway custom_on_activate")
-- self.object:set_animation({x=1,y=80}, 15, 0, true)
--end,
horn_sound = "advtrains_subway_horn",
custom_on_velocity_change = function(self, velocity, old_velocity)
if old_velocity == 0 and velocity > 0 then
minetest.sound_play("advtrains_subway_depart", {object = self.object})
end
if velocity < 2 and (old_velocity >= 2 or old_velocity == velocity) and not self.sound_arrive_handle then
self.sound_arrive_handle = minetest.sound_play("advtrains_subway_arrive", {object = self.object})
elseif (velocity > old_velocity) and self.sound_arrive_handle then
minetest.sound_stop(self.sound_arrive_handle)
self.sound_arrive_handle = nil
end
if velocity > 0 and not self.sound_loop_handle then
self.sound_loop_handle = minetest.sound_play({name="advtrains_subway_loop", gain=0.3}, {object = self.object, loop=true})
elseif velocity==0 then
if self.sound_loop_handle then
minetest.sound_stop(self.sound_loop_handle)
self.sound_loop_handle = nil
end
end
end,
}, S("Subway Passenger Wagon"), "advtrains_subway_wagon_inv.png")
--wagons