Mode | Name | Size | |
-rwxr-xr-x | advtrains_across.png | 302 | logplain |
-rwxr-xr-x | advtrains_across_anim.png | 524 | logplain |
-rwxr-xr-x | advtrains_boiler.png | 413 | logplain |
-rwxr-xr-x | advtrains_chimney.png | 309 | logplain |
-rw-r--r-- | advtrains_copytool.png | 779 | logplain |
-rwxr-xr-x | advtrains_couple.png | 339 | logplain |
-rw-r--r-- | advtrains_cpl_lock.png | 209 | logplain |
-rw-r--r-- | advtrains_cpl_unlock.png | 213 | logplain |
-rwxr-xr-x | advtrains_discouple.png | 293 | logplain |
-rwxr-xr-x | advtrains_driver_cab.png | 352 | logplain |
-rwxr-xr-x | advtrains_dtrack_atc_placer.png | 1259 | logplain |
-rwxr-xr-x | advtrains_dtrack_bumper_placer.png | 2213 | logplain |
-rwxr-xr-x | advtrains_dtrack_detector_placer.png | 1253 | logplain |
-rwxr-xr-x | advtrains_dtrack_load_placer.png | 1248 | logplain |
-rwxr-xr-x | advtrains_dtrack_placer.png | 1097 | logplain |
-rwxr-xr-x | advtrains_dtrack_rail.png | 4582 | logplain |
-rwxr-xr-x | advtrains_dtrack_shared.png | 7141 | logplain |
-rwxr-xr-x | advtrains_dtrack_shared_atc.png | 7215 | logplain |
-rwxr-xr-x | advtrains_dtrack_shared_detector_off.png | 7180 | --trainhud.lua: holds all the code for train controlling
advtrains.hud = {}
advtrains.hhud = {}
minetest.register_on_leaveplayer(function(player)
advtrains.hud[player:get_player_name()] = nil
advtrains.hhud[player:get_player_name()] = nil
end)
local mletter={[1]="F", [-1]="R", [0]="N"}
function advtrains.on_control_change(pc, train, flip)
local maxspeed = train.max_speed or 10
if pc.sneak then
if pc.up then
train.tarvelocity = maxspeed
end
if pc.down then
train.tarvelocity = 0
end
if pc.left then
train.tarvelocity = 4
end
if pc.right then
train.tarvelocity = 8
end
--[[if pc.jump then
train.brake = true
--0: released, 1: brake and pressed, 2: released and brake, 3: pressed and brake
if not train.brake_hold_state or train.brake_hold_state==0 then
train.brake_hold_state = 1
elseif train.brake_hold_state==2 then
train.brake_hold_state = 3
end
elseif train.brake_hold_state==1 then
train.brake_hold_state = 2
elseif train.brake_hold_state==3 then
train.brake = false
train.brake_hold_state = 0
end]]
--shift+use:see wagons.lua
else
local act=false
if pc.jump then
train.ctrl_user = 1
act=true
end
-- If atc command set, only "Jump" key can clear command. To prevent accidental control.
if train.tarvelocity or train.atc_command then
return
end
if pc.up then
train.ctrl_user=4
act=true
end
if pc.down then
if train.velocity>0 then
if pc.jump then
train.ctrl_user = 0
else
train.ctrl_user = 2
end
act=true
else
advtrains.invert_train(train.id)
advtrains.atc.train_reset_command(train)
end
end
if pc.left then
if train.door_open ~= 0 then
train.door_open = 0
else
train.door_open = -1
end
end
if pc.right then
if train.door_open ~= 0 then
train.door_open = 0
else
train.door_open = 1
end
end
if not act then
train.ctrl_user = nil
end
end
end
function advtrains.update_driver_hud(pname, train, flip)
local inside=train.text_inside or ""
local ft, ht = advtrains.hud_train_format(train, flip)
advtrains.set_trainhud(pname, inside.."\n"..ft, ht)
end
function advtrains.clear_driver_hud(pname)
advtrains.set_trainhud(pname, "")
end
function advtrains.set_trainhud(name, text, driver)
local hud = advtrains.hud[name]
local player=minetest.get_player_by_name(name)
if not player then
return
end
local driverhud = {
hud_elem_type = "image",
name = "ADVTRAINS_DRIVER",
position = {x=0.5, y=1},
offset = {x=0,y=-170},
text = driver or "",
alignment = {x=0,y=-1},
scale = {x=1,y=1},}
if not hud then
hud = {["driver"]={}}
advtrains.hud[name] = hud
hud.id = player:hud_add({
hud_elem_type = "text",
name = "ADVTRAINS",
number = 0xFFFFFF,
position = {x=0.5, y=1},
offset = {x=0, y=-300},
text = text,
scale = {x=200, y=60},
alignment = {x=0, y=-1},
})
hud.oldText=text
hud.driver = player:hud_add(driverhud)
else
if hud.oldText ~= text then
player:hud_change(hud.id, "text", text)
hud.oldText=text
end
if hud.driver then
player:hud_change(hud.driver, "text", driver or "")
elseif driver then
hud.driver = player:hud_add(driverhud)
end
end
end
function advtrains.set_help_hud(name, text)
local hud = advtrains.hhud[name]
local player=minetest.get_player_by_name(name)
if not player then
return
endase-2.4.3&id=f4e2277f32c5ed2419bed607e0d48a040db8b865'>advtrains_signal_on.png5884 | logplain |
-rwxr-xr-x | advtrains_signal_wall_off.png | 3056 | logplain |
-rwxr-xr-x | advtrains_signal_wall_on.png | 3043 | logplain |
-rwxr-xr-x | advtrains_track_cr.png | 33370 | logplain |
-rwxr-xr-x | advtrains_track_cr_45.png | 33938 | logplain |
-rwxr-xr-x | advtrains_track_placer.png | 32349 | logplain |
-rwxr-xr-x | advtrains_track_st.png | 20405 | logplain |
-rwxr-xr-x | advtrains_track_st_45.png | 39977 | logplain |
-rwxr-xr-x | advtrains_track_swlcr.png | 33378 | logplain |
-rwxr-xr-x | advtrains_track_swlcr_45.png | 45772 | logplain |
-rwxr-xr-x | advtrains_track_swlst.png | 32321 | logplain |
-rwxr-xr-x | advtrains_track_swlst_45.png | 46408 | logplain |
-rwxr-xr-x | advtrains_track_swrcr.png | 33670 | logplain |
-rwxr-xr-x | advtrains_track_swrcr_45.png | 46865 | logplain |
-rwxr-xr-x | advtrains_track_swrst.png | 32654 | logplain |
-rwxr-xr-x | advtrains_track_swrst_45.png | 47636 | logplain |
-rwxr-xr-x | advtrains_trackworker.png | 328 | logplain |
-rw-r--r-- | advtrains_wagon_placeholder.png | 723 | logplain |
-rwxr-xr-x | advtrains_wheel.png | 582 | logplain |
-rwxr-xr-x | drwho_screwdriver.png | 328 | logplain |