Compare commits
10 Commits
7018a9f56e
...
081559f7cc
Author | SHA1 | Date | |
---|---|---|---|
|
081559f7cc | ||
|
3d7dd70f4d | ||
|
11907a61d6 | ||
|
5ad4600533 | ||
|
c9f3249db9 | ||
|
8958af230b | ||
|
20358c5a4f | ||
|
401a04ed40 | ||
|
0c232db32f | ||
|
1abf547018 |
BIN
.cdb-screen1.jpg
Before Width: | Height: | Size: 60 KiB |
BIN
.cdb-screen1.webp
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
.cdb-screen2.jpg
Before Width: | Height: | Size: 106 KiB |
BIN
.cdb-screen2.webp
Normal file
After Width: | Height: | Size: 32 KiB |
@ -30,8 +30,8 @@ return {
|
||||
repo = "https://gitlab.com/sztest/autotrek",
|
||||
long_description = readtext('README.md'),
|
||||
screenshots = {
|
||||
readbinary('.cdb-screen1.jpg'),
|
||||
readbinary('.cdb-screen2.jpg'),
|
||||
readbinary('.cdb-screen1.webp'),
|
||||
readbinary('.cdb-screen2.webp'),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,10 @@ AutoTrek supports the **4 cardinal directions** (North, South, East, West) and t
|
||||
|
||||
Pick one of the supported directions and **walk continuously forward** for a few seconds. You will see a HUD appear with the AutoTrek icon. If you **point directly at this HUD** for a second or so, you will "lock in" your travel direction, and AutoTrek will make fine adjustments to your direction and position to keep you centered on your path (terrain allowing).
|
||||
|
||||
While locked in to a travel direction, players will automatically **swim/climb upward** as necessary to stay afloat and clear simple obstacles such as shores.
|
||||
|
||||
Beware that when traveling diagonally, the player may experience "friction" against the edges of nodes that can push them off course, and the course correction may not always be enough to put the player back on the original path; they can end up on a path alongside the original. You should carefully plan and modify diagonal paths for best reliability.
|
||||
|
||||
### Automatic Turns
|
||||
|
||||
When a player is "locked in" to a travel direction, certain structures, when detected, will cause the player to turn automatically and lock in another path 90 or 45 degrees from the previous one.
|
||||
|
93
init.lua
@ -66,6 +66,7 @@ do
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
hudstate[player:get_player_name()] = nil
|
||||
end)
|
||||
local hud_elem_type = minetest.features.hud_def_type_field and "type" or "hud_elem_type"
|
||||
hudset = function(player, pos, opacity)
|
||||
local pname = player:get_player_name()
|
||||
local state = hudstate[pname]
|
||||
@ -77,7 +78,7 @@ do
|
||||
local img = "autotrek_hud.png^[opacity:" .. (opacity or 255)
|
||||
if not state.id then
|
||||
state.id = player:hud_add({
|
||||
hud_elem_type = "image_waypoint",
|
||||
[hud_elem_type] = "image_waypoint",
|
||||
world_pos = pos,
|
||||
text = img,
|
||||
scale = {x = 0.5, y = 0.5},
|
||||
@ -108,19 +109,33 @@ end
|
||||
------------------------------------------------------------------------
|
||||
-- PARTICLE EFFECTS
|
||||
|
||||
local function particles(pname, vpos, vel)
|
||||
local pos = vector.add(vpos, vel)
|
||||
minetest.add_particlespawner({
|
||||
local oldparticles = {}
|
||||
|
||||
local function particles(player, pname, speed)
|
||||
pname = pname or player:get_player_name()
|
||||
speed = speed or vector.length(player:get_velocity())
|
||||
|
||||
local old = oldparticles[pname]
|
||||
if old then
|
||||
minetest.delete_particlespawner(old, pname)
|
||||
oldparticles[pname] = nil
|
||||
end
|
||||
|
||||
if speed < 2 then return end
|
||||
|
||||
local height = player:get_properties().eye_height
|
||||
oldparticles[pname] = minetest.add_particlespawner({
|
||||
amount = 20,
|
||||
time = 2,
|
||||
size = 1/8,
|
||||
expirationtime = 2,
|
||||
expirationtime = 1,
|
||||
texture = "autotrek_particle.png",
|
||||
playername = pname,
|
||||
attached = player,
|
||||
glow = 14,
|
||||
minpos = vector.add(pos, vector.new(-1, -1, -1)),
|
||||
maxpos = vector.add(pos, vector.new(1, 1, 1)),
|
||||
acceleration = vector.multiply(vel, 0.5),
|
||||
minpos = vector.new(-1, height - 1, 0),
|
||||
maxpos = vector.new(1, height + 1, speed),
|
||||
acceleration = vector.new(0, 0, -speed),
|
||||
})
|
||||
end
|
||||
|
||||
@ -195,7 +210,14 @@ end
|
||||
------------------------------------------------------------------------
|
||||
-- PATH CORRECTION
|
||||
|
||||
local function pathcorrect(player, ppos, bestv)
|
||||
local function isswimmable(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local def = minetest.registered_nodes[node.name] or {}
|
||||
return def.climbable or def.liquid_move_physics or def.liquidtype ~= "none"
|
||||
end
|
||||
|
||||
local vzero = vector.new(0, 0, 0)
|
||||
local function pathcorrect(player, ppos, bestv, swimcheck)
|
||||
-- If the player's yaw is not exact enough, then
|
||||
-- snap it to the exact direction. We have to
|
||||
-- allow for some floating point rounding error here
|
||||
@ -206,6 +228,17 @@ local function pathcorrect(player, ppos, bestv)
|
||||
player:set_look_horizontal(nh)
|
||||
end
|
||||
|
||||
-- Determine if the player needs to or climb up: either
|
||||
-- they are sinking too far into a sinkable/swimmable
|
||||
-- node, or they're in one and the node in front of them
|
||||
-- is one they'd have to climb out for.
|
||||
local addvel = vzero
|
||||
if swimcheck and isswimmable(ppos)
|
||||
and (isswimmable(vector.offset(ppos, 0, 1, 0))
|
||||
or issolid(vector.add(ppos, bestv))) then
|
||||
addvel = vector.new(0, 10, 0)
|
||||
end
|
||||
|
||||
-- Compute how far away from the grid centerline
|
||||
-- the player's path is and nudge them back into
|
||||
-- alignment with the exact centers of nodes.
|
||||
@ -215,20 +248,28 @@ local function pathcorrect(player, ppos, bestv)
|
||||
offs = offs / spacing
|
||||
offs = offs - math_floor(offs)
|
||||
if offs > griderr and offs < 0.5 then
|
||||
player:add_velocity(vector.multiply(across, -gridforce))
|
||||
addvel = vector.add(addvel, vector.multiply(across, -gridforce))
|
||||
elseif offs >= 0.5 and offs < 1 - griderr then
|
||||
player:add_velocity(vector.multiply(across, gridforce))
|
||||
addvel = vector.add(addvel, vector.multiply(across, gridforce))
|
||||
end
|
||||
|
||||
if addvel ~= vzero and not vector.equals(addvel, vzero) then
|
||||
player:add_velocity(addvel)
|
||||
end
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------
|
||||
-- AUTOTREK STATE MACHINE
|
||||
|
||||
local allowkeys = {
|
||||
up = true,
|
||||
jump = true,
|
||||
local disallowkeys = {
|
||||
left = true,
|
||||
right = true,
|
||||
down = true,
|
||||
dig = true,
|
||||
place = true,
|
||||
LMB = true,
|
||||
RMB = true,
|
||||
sneak = true,
|
||||
aux1 = true,
|
||||
}
|
||||
|
||||
local pdata = {}
|
||||
@ -245,8 +286,8 @@ local function checkplayer(player, dtime)
|
||||
-- seconds, otherwise deactivate
|
||||
local ctl = player:get_player_control()
|
||||
local fwd = ctl.up
|
||||
for k, v in pairs(ctl) do
|
||||
if v and not allowkeys[k] then
|
||||
for k in pairs(disallowkeys) do
|
||||
if ctl[k] then
|
||||
fwd = false
|
||||
break
|
||||
end
|
||||
@ -257,9 +298,13 @@ local function checkplayer(player, dtime)
|
||||
while next(data) do
|
||||
data[next(data)] = nil
|
||||
end
|
||||
particles(player, pname, 0)
|
||||
return hudset(player)
|
||||
end
|
||||
if data.runtime < walktime then
|
||||
particles(player, pname, 0)
|
||||
return hudset(player)
|
||||
end
|
||||
if data.runtime < walktime then return hudset(player) end
|
||||
|
||||
-- Figure out which of the [semi-]cardinal directions
|
||||
-- is closest to the one the player is looking at, and
|
||||
@ -279,7 +324,7 @@ local function checkplayer(player, dtime)
|
||||
local ppos = player:get_pos()
|
||||
local vpos = vector.offset(ppos, 0, player:get_properties().eye_height, 0)
|
||||
hudset(player, vector.add(vpos, vector.multiply(bestv, huddist)),
|
||||
bestd < lockmin and 32 or 192)
|
||||
bestd < lockmin and 24 or 192)
|
||||
|
||||
-- The player must lock on close enough to the
|
||||
-- exact direction for a little while to activate
|
||||
@ -295,7 +340,7 @@ local function checkplayer(player, dtime)
|
||||
-- Draw particles.
|
||||
data.fxtime = (data.fxtime or 0) - dtime
|
||||
if data.fxtime <= 0 then
|
||||
particles(pname, vpos, player:get_velocity())
|
||||
particles(player, pname)
|
||||
data.fxtime = 1
|
||||
end
|
||||
|
||||
@ -311,7 +356,13 @@ local function checkplayer(player, dtime)
|
||||
end
|
||||
|
||||
-- Apply path correction if no turns.
|
||||
return pathcorrect(player, ppos, bestv)
|
||||
local swimcheck
|
||||
data.swimtime = (data.swimtime or 0) - dtime
|
||||
if data.swimtime <= 0 then
|
||||
swimcheck = true
|
||||
data.swimtime = 1
|
||||
end
|
||||
return pathcorrect(player, ppos, bestv, swimcheck)
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
74
src/hud.svg
@ -1,74 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="55.098507mm"
|
||||
height="62.478344mm"
|
||||
viewBox="0 0 55.098507 62.478344"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="hud.svg"
|
||||
inkscape:export-filename="../textures/autotrek_hud.png"
|
||||
inkscape:export-xdpi="600.024"
|
||||
inkscape:export-ydpi="600.024"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.1893044"
|
||||
inkscape:cx="137.0549"
|
||||
inkscape:cy="211.88856"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="21"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-58.203284,-74.833742)">
|
||||
<path
|
||||
id="path234"
|
||||
style="opacity:1;fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
inkscape:transform-center-y="-1.7810815e-06"
|
||||
d="m 59.203284,82.953206 13.34817,7.706569 v 30.826275 l -13.34817,7.70657"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
id="path234-3"
|
||||
style="opacity:1;fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
inkscape:transform-center-y="-1.7810815e-06"
|
||||
d="m 112.30179,82.953205 -13.348172,7.706569 v 30.826286 l 13.348172,7.70657"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<g
|
||||
id="g3538">
|
||||
<path
|
||||
id="path234-3-6"
|
||||
style="opacity:1;fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
inkscape:transform-center-y="-1.7810815e-06"
|
||||
d="M 85.752534,74.833742 V 89.676167"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
id="path234-3-6-5"
|
||||
style="opacity:1;fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
inkscape:transform-center-y="-1.7810815e-06"
|
||||
d="m 85.752534,122.46966 v 14.84243"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.9 KiB |
BIN
src/icon.png
Before Width: | Height: | Size: 2.1 KiB |
172
src/icon.svg
@ -1,172 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="81.183311mm"
|
||||
height="81.349937mm"
|
||||
viewBox="0 0 81.183312 81.349936"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="autotrek_hud.svg"
|
||||
inkscape:export-filename="/home/warr/snap/minetest/current/mods/autotrek/textures/autotrek_hud.png"
|
||||
inkscape:export-xdpi="15.02"
|
||||
inkscape:export-ydpi="15.02">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Send"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path850"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="TriangleOutL"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="TriangleOutL"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path959"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
transform="scale(0.8)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path838"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path820"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Send-3"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path850-6"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Send-3-5"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path850-6-3"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="191.51479"
|
||||
inkscape:cy="140.68536"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:snap-global="true"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="718"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="21"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-52.767063,-88.879319)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.52777767;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 113.61792,129.55487 c 0.99446,1.38558 1.65397,2.9313 1.97973,4.52582 -7.22968,0.91869 -12.69542,3.1777 -16.528709,7.4321 -5.277418,5.85718 -6.857462,14.61782 -6.857462,26.83609 H 97.8778 c 0,-11.70368 1.677342,-18.91122 5.40019,-23.04304 2.54678,-2.82655 6.33487,-4.62218 12.04371,-5.47512 -0.36893,1.19278 -0.93561,2.33624 -1.70378,3.38016 l 10.78539,-3.96565 c 0.0418,-6e-5 0.0805,-0.002 0.12248,-0.002 v -0.0439 l 7.66103,-2.81688 z"
|
||||
id="path815-7" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.52777767;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 73.098993,129.72606 -10.794172,3.96978 c -0.03835,-5e-5 -0.07475,-0.002 -0.113173,-0.002 v 0.0429 l -7.661031,2.8174 18.568376,6.82801 c -0.765728,-1.06689 -1.331656,-2.22906 -1.701189,-3.43493 5.706835,0.85309 9.493697,2.64898 12.040092,5.47512 3.722846,4.13181 5.402255,11.33935 5.402255,23.04303 h 5.666321 c 0,-12.21827 -1.58211,-20.97891 -6.859531,-26.83609 -3.833921,-4.2551 -9.299872,-6.51422 -16.530773,-7.43262 0.323993,-1.58501 0.983147,-3.11252 1.982825,-4.47104 z"
|
||||
id="path815-7-5" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.92110443;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 93.330048,90.83929 -6.386703,24.52548 c 1.159108,-1.1747 2.43833,-1.99478 3.762512,-2.46325 v 55.20059 h 5.3001 v -55.20469 c 1.31353,0.46701 2.575233,1.28743 3.710794,2.46735 l -3.710794,-14.24993 v -0.15835 h -0.04109 z"
|
||||
id="path815"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 187 B After Width: | Height: | Size: 193 B |
127
textures/src/hud.svg
Normal file
@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="74.204941mm"
|
||||
height="74.204941mm"
|
||||
viewBox="0 0 74.204941 74.204941"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="hud.svg"
|
||||
inkscape:export-filename="../autotrek_hud.png"
|
||||
inkscape:export-xdpi="600.024"
|
||||
inkscape:export-ydpi="600.024"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.1893044"
|
||||
inkscape:cx="142.09987"
|
||||
inkscape:cy="155.55311"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="723"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="21"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient1082">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0.69701636"
|
||||
id="stop1078" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="0.86410475"
|
||||
id="stop1080" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter1092"
|
||||
inkscape:label="shadow"
|
||||
x="-0.085389339"
|
||||
y="-0.054294029"
|
||||
width="1.1707787"
|
||||
height="1.1085881">
|
||||
<feGaussianBlur
|
||||
stdDeviation="2"
|
||||
id="feGaussianBlur1096"
|
||||
in="SourceAlpha"
|
||||
result="result1" />
|
||||
<feMerge
|
||||
id="feMerge1098">
|
||||
<feMergeNode
|
||||
inkscape:collect="always"
|
||||
id="feMergeNode1100"
|
||||
in="result1" />
|
||||
<feMergeNode
|
||||
inkscape:collect="always"
|
||||
id="feMergeNode1102"
|
||||
in="SourceGraphic" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask1229">
|
||||
<circle
|
||||
style="fill:url(#radialGradient1233);fill-opacity:1;stroke:none;stroke-width:9.99998;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke markers fill;stop-color:#000000"
|
||||
id="circle1231"
|
||||
cx="85.752533"
|
||||
cy="106.07291"
|
||||
r="37.10247" />
|
||||
</mask>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1082"
|
||||
id="radialGradient1233"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0311782,0,0,1.0311782,-2.6736104,-3.3071593)"
|
||||
cx="85.752541"
|
||||
cy="106.07291"
|
||||
fx="85.752541"
|
||||
fy="106.07291"
|
||||
r="40.980656" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-48.650063,-68.970436)">
|
||||
<g
|
||||
id="g499"
|
||||
style="filter:url(#filter1092)"
|
||||
mask="url(#mask1229)">
|
||||
<path
|
||||
id="path234-3"
|
||||
style="opacity:1;fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
inkscape:transform-center-y="-1.7810815e-06"
|
||||
d="M 120.50387,75.810638 98.953618,90.659774 V 121.48606 L 120.50387,136.3352 M 51.001201,75.81064 72.551454,90.659775 v 30.826275 l -21.550253,14.84913"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<g
|
||||
id="g3538">
|
||||
<path
|
||||
id="path234-3-6-5"
|
||||
style="opacity:1;fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
inkscape:transform-center-y="-1.7810815e-06"
|
||||
d="m 85.752534,124.58633 v 25.69034 m 0,-88.407511 V 87.5595"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.2 KiB |