aboutsummaryrefslogtreecommitdiff
path: root/advtrains/textures
--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()] =nilend)local mletter={[1]="F", [-1]="R", [0]="N"}function advtrains.on_control_change(pc, train, flip)local maxspeed = train.max_speed or10if pc.sneak thenif pc.up then train.tarvelocity = maxspeed endif pc.down then train.tarvelocity =0endif pc.left then train.tarvelocity =4endif pc.right then train.tarvelocity =8end--[[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.luaelselocal act=falseif pc.jump then train.ctrl_user =1 act=trueend-- If atc command set, only "Jump" key can clear command. To prevent accidental control.if train.tarvelocity or train.atc_command thenreturnendif pc.up then train.ctrl_user=4 act=trueendif pc.down thenif train.velocity>0thenif pc.jump then train.ctrl_user =0else train.ctrl_user =2end act=trueelse advtrains.invert_train(train.id) advtrains.atc.train_reset_command(train)endendif pc.left thenif train.door_open ~=0then train.door_open =0else train.door_open = -1endendif pc.right thenif train.door_open ~=0then train.door_open =0else train.door_open =1endendif not act then train.ctrl_user =nilendendendfunction 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)endfunction advtrains.clear_driver_hud(pname) advtrains.set_trainhud(pname,"")endfunction advtrains.set_trainhud(name, text, driver)local hud = advtrains.hud[name]local player=minetest.get_player_by_name(name)if not player thenreturnendlocal 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)elseif hud.oldText ~= text then player:hud_change(hud.id,"text", text) hud.oldText=text endif hud.driver then player:hud_change(hud.driver,"text", driver or"")elseif driver then hud.driver = player:hud_add(driverhud)endendendfunction advtrains.set_help_hud(name, text)local hud = advtrains.hhud[name]local player=minetest.get_player_by_name(name)if not player thenreturnendase-2.4.3&id=f4e2277f32c5ed2419bed607e0d48a040db8b865'>advtrains_signal_on.png
ModeNameSize
-rwxr-xr-xadvtrains_across.png302logplain
-rwxr-xr-xadvtrains_across_anim.png524logplain
-rwxr-xr-xadvtrains_boiler.png413logplain
-rwxr-xr-xadvtrains_chimney.png309logplain
-rw-r--r--advtrains_copytool.png779logplain
-rwxr-xr-xadvtrains_couple.png339logplain
-rw-r--r--advtrains_cpl_lock.png209logplain
-rw-r--r--advtrains_cpl_unlock.png213logplain
-rwxr-xr-xadvtrains_discouple.png293logplain
-rwxr-xr-xadvtrains_driver_cab.png352logplain
-rwxr-xr-xadvtrains_dtrack_atc_placer.png1259logplain
-rwxr-xr-xadvtrains_dtrack_bumper_placer.png2213logplain
-rwxr-xr-xadvtrains_dtrack_detector_placer.png1253logplain
-rwxr-xr-xadvtrains_dtrack_load_placer.png1248logplain
-rwxr-xr-xadvtrains_dtrack_placer.png1097logplain
-rwxr-xr-xadvtrains_dtrack_rail.png4582logplain
-rwxr-xr-xadvtrains_dtrack_shared.png7141logplain
-rwxr-xr-xadvtrains_dtrack_shared_atc.png7215logplain
-rwxr-xr-xadvtrains_dtrack_shared_detector_off.png7180 5884logplain
-rwxr-xr-xadvtrains_signal_wall_off.png3056logplain
-rwxr-xr-xadvtrains_signal_wall_on.png3043logplain
-rwxr-xr-xadvtrains_track_cr.png33370logplain
-rwxr-xr-xadvtrains_track_cr_45.png33938logplain
-rwxr-xr-xadvtrains_track_placer.png32349logplain
-rwxr-xr-xadvtrains_track_st.png20405logplain
-rwxr-xr-xadvtrains_track_st_45.png39977logplain
-rwxr-xr-xadvtrains_track_swlcr.png33378logplain
-rwxr-xr-xadvtrains_track_swlcr_45.png45772logplain
-rwxr-xr-xadvtrains_track_swlst.png32321logplain
-rwxr-xr-xadvtrains_track_swlst_45.png46408logplain
-rwxr-xr-xadvtrains_track_swrcr.png33670logplain
-rwxr-xr-xadvtrains_track_swrcr_45.png46865logplain
-rwxr-xr-xadvtrains_track_swrst.png32654logplain
-rwxr-xr-xadvtrains_track_swrst_45.png47636logplain
-rwxr-xr-xadvtrains_trackworker.png328logplain
-rw-r--r--advtrains_wagon_placeholder.png723logplain
-rwxr-xr-xadvtrains_wheel.png582logplain
-rwxr-xr-xdrwho_screwdriver.png328logplain