| Commit message (Collapse) | Author | Age |
|
|
|
| |
Add comment that explains why fix was necessary
|
| |
|
|
|
|
|
|
| |
nil/false)
Fixes H#72
|
| |
|
|
|
|
| |
(prevent flickering view when atc battles against lzb)
|
|
|
|
|
|
|
| |
duplicate "message" to "msg"
make operation panel "cracky"
remove inexistent dtime_s parameter
add bones:bones to the list of not_blocking_trains nodes
|
| |
|
|
|
|
| |
+ Fix lzb oncoming item deletion/speed restriction
|
| |
|
| |
|
|
|
|
| |
Solves problem of wagon being unloaded while player sitting inside it because of network lag
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Missing: ATC stuff, yaw problems
|
| |
|
|
|
|
| |
system
|
|
|
|
|
|
|
|
| |
wagons
The occupation system as it is now will change. For each position, I will save the index in the train's path,
and implement a callback system. I need this because the occupation window system will not be enough to cover all use cases
(e.g. to make a train stop with it's center or back at a certain position, I need 3 different brake distances, which doesn't fit into the scheme)
|
|
|
|
| |
There's something wrong with the new paths, next time build a path validity checker to trace the issue
|
| |
|
|
|
|
| |
Still outstanding: trains
|
|
|
|
| |
The changes to the path system have not yet been integrated...
|
|
|
|
|
|
|
|
| |
Features:
- couple/decouple trains from a driver stand
- new couple lock system (owner based, overridable by 'train_remove' privilege)
- all train operators can now change the inside/outside text, allows for multilines
Accessible via right-click menu or by pressing Sneak+Jump keys
|
| |
|
| |
|
|
|
|
|
| |
Caused problems on multiple detector rails in a row, because paths got cleared in-between a train step
Also optimize some code
|
|
|
|
|
|
| |
off_track
The off-track warning has moved into the info text of wagons
|
|
|
|
|
|
|
|
|
| |
...to support an arbitrary number of connections for rails, which leads to these new features:
- switches now get recognized by the trackworker correctly
- ability to add real rail crosses
During this, I also rewrote the rail registering system and the conway function (important part of path prediction)
Note, developers: the track preset format changed, you might need to rewrite them according to the presets in tracks.lua if you wrote your own
(possibly breaks advcarts)
|
|
|
|
| |
... from update_trainpart_properties call
Prohibits flipping of all wagons when extent_h wasn't set
|
|
|
|
| |
This will be required for advcarts
|
|
|
|
|
|
|
| |
Bug was caused by the drives_on table of every train and advtrains.all_tracktypes
sharing the same reference, which caused advtrains.all_tracktypes to become the
intersection of all train drives_on's in the world.
However, this did become empty, causing nothing to work anymore.
|
|
|
|
| |
For some reason, a sign text gets removed by a train when it drives by.
This shou-- Minetest: builtin/item.lua
local function copy_pointed_thing(pointed_thing)
return {
type = pointed_thing.type,
above = vector.new(pointed_thing.above),
under = vector.new(pointed_thing.under),
ref = pointed_thing.ref,
}
end
--
-- Item definition helpers
--
function core.inventorycube(img1, img2, img3)
img2 = img2 or img1
img3 = img3 or img1
return "[inventorycube"
.. "{" .. img1:gsub("%^", "&")
.. "{" .. img2:gsub("%^", "&")
.. "{" .. img3:gsub("%^", "&")
end
function core.get_pointed_thing_position(pointed_thing, above)
if pointed_thing.type == "node" then
if above then
-- The position where a node would be placed
return pointed_thing.above
else
-- The position where a node would be dug
return pointed_thing.under
end
elseif pointed_thing.type == "object" then
obj = pointed_thing.ref
if obj ~= nil then
return obj:getpos()
else
return nil
end
else
return nil
end
end
function core.dir_to_facedir(dir, is6d)
--account for y if requested
if is6d and math.abs(dir.y) > math.abs(dir.x) and math.abs(dir.y) > math.abs(dir.z) then
--from above
if dir.y < 0 then
if math.abs(dir.x) > math.abs(dir.z) then
if dir.x < 0 then
return 19
else
return 13
end
else
if dir.z < 0 then
return 10
else
return 4
end
end
--from below
else
if math.abs(dir.x) > math.abs(dir.z) then
if dir.x < 0 then
return 15
else
return 17
end
else
if dir.z < 0 then
return 6
else
return 8
end<
|
|
|