changeset 1619:37a7899e882e

Implement direction translation in default move/peer modes, e.g. n/s/w/e/etc get translated to full word north/south/west/east/etc. commands.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 29 Oct 2016 13:56:58 +0300
parents 2344fa8c992b
children 655fc46ff672
files ggrtf.tf
diffstat 1 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ggrtf.tf	Sat Oct 29 13:55:04 2016 +0300
+++ b/ggrtf.tf	Sat Oct 29 13:56:58 2016 +0300
@@ -988,14 +988,27 @@
 	/gstatus_update%;\
 	/send %*
 
+/set prmove_trans_n=north
+/set prmove_trans_s=south
+/set prmove_trans_e=east
+/set prmove_trans_w=west
+
+/set prmove_trans_ne=northeast
+/set prmove_trans_se=southeast
+/set prmove_trans_nw=northwest
+/set prmove_trans_sw=southwest
+
+
 ;; Normal movement
-/def -i prmove_walk = /set prmove_last=%{1}%;/gstatus_update%;@%{1}
+/def -i prmove_walk = /set prmove_last=%{1}%;/gstatus_update%;\
+	@@$[prgetval(strcat("prmove_trans_",{1}))]
 
 ;; Autopeering
 /def -i prmove_peer =\
-	/set prmove_last=%{1}%;/gstatus_update%;@%{1}%;\
-	/if 	({1}=~"n" | {1}=~"s") /let pd1=w%;/let pd2=e%;\
-	/elseif ({1}=~"w" | {1}=~"e") /let pd1=n%;/let pd2=s%;\
+	/set prmove_last=%{1}%;/gstatus_update%;\
+	@@$[prgetval(strcat("prmove_trans_",{1}))]%;\
+	/if 	({1}=~"n" | {1}=~"s") /let pd1=west%;/let pd2=east%;\
+	/elseif ({1}=~"w" | {1}=~"e") /let pd1=north%;/let pd2=south%;\
 	/else /break%;/endif%;\
 	@@grep '(%{set_peer})' peer %{pd1}%;\
 	@@grep '(%{set_peer})' peer %{pd2}