From c79e16f394a027db7cc5b6d1ea1e27da0b24bbb6 Mon Sep 17 00:00:00 2001 From: xolatile Date: Wed, 16 Jul 2025 23:08:07 +0200 Subject: Data files, broken... --- data/stdlib.cfg | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 data/stdlib.cfg (limited to 'data/stdlib.cfg') diff --git a/data/stdlib.cfg b/data/stdlib.cfg new file mode 100644 index 0000000..46e2517 --- /dev/null +++ b/data/stdlib.cfg @@ -0,0 +1,59 @@ +// console language standard library + +// creates a macro whose body is a format string +// i.e. macro greet [ say Hi, %1! ] +macro = [ + $arg1 = (concat [format [@@arg2]] (loopconcat i $numargs [concatword " $arg" (+ $i 1)])) +] + +// binds a key so that it will toggle a variable +// i.e. bindvar 9 thirdperson +togglevar = [ + set $arg1 (= $$arg1 0) + if (= $$arg1 0) [echo $arg1 OFF] [echo $arg1 ON] +] +bindvar = [ + if (>= $numargs 3) [ + bind $arg1 [if (@arg3) [togglevar @@arg2]] + ] [ + bind $arg1 [togglevar @arg2] + ] +] +bindvarquiet = [ + bind $arg1 [set @arg2 (= $@arg2 0)] +] + +// same as above, but only binds for edit mode +editbindvar = [ + if (>= $numargs 3) [ + editbind $arg1 [if (@arg3) [togglevar @@arg2]] + ] [ + editbind $arg1 [togglevar @arg2] + ] +] +editbindvarquiet = [ + editbind $arg1 [set @arg2 (= $@arg2 0)] +] + +// binds a key so that it will set a modifier while held down +bindmod = [ + bind $arg1 [set @arg2 1; onrelease [set @@arg2 0]] +] + +// same as above, but only binds for edit mode +editbindmod = [ + editbind $arg1 [set @arg2 1; onrelease [set @@arg2 0]] +] + +quine = [ echo (format "quine = [%1]" $quine) ] + +loadsky = [ + skybox $arg1 + if (> $numargs 1) [ + spinsky $arg2 + ] [ + if (!=f $spinsky 0) [spinsky 0] + ] +] + +mapmsg = [ maptitle $arg1 ] -- cgit v1.2.3