aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorywang <yw05@forksworld.de>2020-12-23 11:14:18 +0100
committerywang <yw05@forksworld.de>2020-12-23 11:14:18 +0100
commitf4e2277f32c5ed2419bed607e0d48a040db8b865 (patch)
tree8154e774fb8921d9d537e28f67af3e1896ab47b0
parent749edd62d118362d3fed865bbe5c0c41b314a3d0 (diff)
downloadadvtrains-f4e2277f32c5ed2419bed607e0d48a040db8b865.tar.gz
advtrains-f4e2277f32c5ed2419bed607e0d48a040db8b865.tar.bz2
advtrains-f4e2277f32c5ed2419bed607e0d48a040db8b865.zip
Improve speed indication
-rw-r--r--advtrains/textures/advtrains_hud_arrow.pngbin0 -> 92 bytes
-rw-r--r--advtrains/trainhud.lua39
2 files changed, 20 insertions, 19 deletions
diff --git a/advtrains/textures/advtrains_hud_arrow.png b/advtrains/textures/advtrains_hud_arrow.png
new file mode 100644
index 0000000..51f5b42
--- /dev/null
+++ b/advtrains/textures/advtrains_hud_arrow.png
Binary files differ
diff --git a/advtrains/trainhud.lua b/advtrains/trainhud.lua
index ec64ec9..b1683b8 100644
--- a/advtrains/trainhud.lua
+++ b/advtrains/trainhud.lua
@@ -191,7 +191,7 @@ function advtrains.hud_train_format(train, flip)
local st = {}
if train.debug then st = {train.debug} end
- local ht = {"[combine:300x130:0,0=(advtrains_hud_bg.png^[resize\\:300x130)"}
+ local ht = {"[combine:300x150:0,0=(advtrains_hud_bg.png^[resize\\:300x150)"}
ht[#ht+1] = "100,0=(advtrains_hud_" .. (flip and "reverse" or "forward") .. ".png^[resize\\:100x20)"
ht[#ht+1] = "200,0=(advtrains_hud_" .. (levers[tlev] or "bg") .. ".png^[resize\\:100x20^[multiply\\:" .. (lvrcolor[tlev] or "#000000") .. ")"
if train.tarvelocity or train.atc_command then
@@ -208,20 +208,6 @@ function advtrains.hud_train_format(train, flip)
elseif train.door_open == 1 then
ht[#ht+1] = "200,60=(advtrains_hud_right_door.png^[resize\\:100x24)"
end
- local lzb = train.lzb
- if lzb and lzb.oncoming then
- for i = 1, #lzb.oncoming do
- local k = lzb.oncoming[i]
- if not k.spd then
- ht[#ht+1] = "203,43=(advtrains_hud_bg.png^[resize\\:14x14^[colorize\\:lime\\:255)"
- elseif k.spd == 0 then
- ht[#ht+1] = "283,43=(advtrains_hud_bg.png^[resize\\:14x14^[colorize\\:red\\:255)"
- else
- ht[#ht+1] = "243,43=(advtrains_hud_bg.png^[resize\\:14x14^[colorize\\:orange\\:255)"
- end
- break
- end
- end
-- speed indication(s)
local function sevenseg(digit, x, y, w, h, m)
--[[
@@ -261,15 +247,30 @@ function advtrains.hud_train_format(train, flip)
end
sevenseg(math.floor(vel/10), 5, 5, 20, 10, "[colorize\\:red\\:255")
sevenseg(vel%10, 55, 5, 20, 10, "[colorize\\:red\\:255")
- ht[#ht+1] = ("10,100=(advtrains_hud_bg.png^[resize\\:%dx10^[colorize\\:white\\:255)"):format(vel*14)
+ ht[#ht+1] = ("10,100=(advtrains_hud_bg.png^[resize\\:%dx30^[colorize\\:white\\:255)"):format(vel*14)
if max < 20 then
- ht[#ht+1] = ("%d,100=(advtrains_hud_bg.png^[resize\\:%dx10^[colorize\\:gray\\:255)"):format(10+max*14, 280-max*14)
+ ht[#ht+1] = ("%d,100=(advtrains_hud_bg.png^[resize\\:%dx30^[colorize\\:gray\\:255)"):format(10+max*14, 280-max*14)
end
if res and res > 0 then
- ht[#ht+1] = ("10,85=(advtrains_hud_bg.png^[resize\\:%dx10^[colorize\\:red\\:255)"):format(res*14)
+ ht[#ht+1] = ("%d,95=(advtrains_hud_bg.png^[resize\\:3x40^[colorize\\:red\\:255)"):format(9+res*14)
end
if train.tarvelocity then
- ht[#ht+1] = ("10,115=(advtrains_hud_bg.png^[resize\\:%dx10^[colorize\\:cyan\\:255)"):format(train.tarvelocity*14)
+ ht[#ht+1] = ("%d,130=(advtrains_hud_arrow.png^[multiply\\:cyan^[transformFY)"):format(2+train.tarvelocity*14)
+ end
+ local lzb = train.lzb
+ if lzb and lzb.oncoming then
+ for i = 1, #lzb.oncoming do
+ local k = lzb.oncoming[i]
+ if not k.spd then
+ ht[#ht+1] = "203,43=(advtrains_hud_bg.png^[resize\\:14x14^[colorize\\:lime\\:255)"
+ elseif k.spd == 0 then
+ ht[#ht+1] = "283,43=(advtrains_hud_bg.png^[resize\\:14x14^[colorize\\:red\\:255)"
+ else
+ ht[#ht+1] = "243,43=(advtrains_hud_bg.png^[resize\\:14x14^[colorize\\:orange\\:255)"
+ ht[#ht+1] = ("%d,85=(advtrains_hud_arrow.png^[multiply\\:red)"):format(2+k.spd*14)
+ end
+ break
+ end
end
if res and res == 0 then