1\ Copyright (c) 2006-2013 Devin Teske <dteske@FreeBSD.org>
2\ All rights reserved.
3\ 
4\ Redistribution and use in source and binary forms, with or without
5\ modification, are permitted provided that the following conditions
6\ are met:
7\ 1. Redistributions of source code must retain the above copyright
8\    notice, this list of conditions and the following disclaimer.
9\ 2. Redistributions in binary form must reproduce the above copyright
10\    notice, this list of conditions and the following disclaimer in the
11\    documentation and/or other materials provided with the distribution.
12\ 
13\ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14\ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15\ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16\ ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17\ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18\ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19\ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20\ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21\ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23\ SUCH DAMAGE.
24\ 
25\ $FreeBSD$
26
27marker task-version.4th
28
29variable versionX
30variable versionY
31
32\ Default $loader_version value if not overridden or using tribute screen
33: str_loader_version ( -- C-ADDR/U|-1 ) -1 ;
34
35\ Initialize text placement to defaults
3680 versionX !	\ NOTE: this is the ending column (text is right-justified)
3724 versionY !
38
39: print_version ( -- )
40
41	\ Get the text placement position (if set)
42	s" loader_version_x" getenv dup -1 <> if
43		?number drop versionX ! -1
44	then drop
45	s" loader_version_y" getenv dup -1 <> if
46		?number drop versionY ! -1
47	then drop
48
49	\ Default version if none was set
50	s" loader_version" getenv dup -1 = if
51		drop
52		\ Default version if no logo is requested
53		s" loader_logo" getenv dup -1 = if
54			drop str_loader_version
55		else
56			2dup s" tribute" compare-insensitive 0= if
57				2drop
58				s" tribute-logo" sfind if
59					drop exit \ see beastie tribute-text
60				else
61					drop str_loader_version
62				then
63			else 2dup s" tributebw" compare-insensitive 0= if
64				2drop
65				s" tributebw-logo" sfind if
66					drop exit \ see beastie tribute-text
67				else
68					drop str_loader_version
69				then
70			else
71				2drop str_loader_version
72			then then
73		then
74	then dup -1 = if
75		drop exit \ default version (above) is disabled
76	then
77
78	\ Right justify the text
79	dup versionX @ swap - versionY @ at-xy
80
81	\ Print the version (optionally in cyan)
82	loader_color? if
83		." [36m" type ." [37m"
84	else
85		type
86	then
87;
88