changeset 989:80fadb0faa34

Compute easy a easy to check against TF version identifier, to check for features; Use the version identifier in TF5 module.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 01 Apr 2009 19:53:25 +0000
parents 930c1485903f
children 43998c8c3724
files ggrtf.tf gm-tf5.tf
diffstat 2 files changed, 33 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/ggrtf.tf	Wed Apr 01 02:35:48 2009 +0000
+++ b/ggrtf.tf	Wed Apr 01 19:53:25 2009 +0000
@@ -1,8 +1,8 @@
 ;;
-;; GgrTF v0.6.11.5-svn - TinyFugue script for BatMUD
+;; GgrTF v0.6.11.6-svn - TinyFugue script for BatMUD
 ;; (C) Copyright 2004-2009 Matti Hämäläinen (Ggr Pupunen)
 ;;
-/set ggrtf_ver=0.6.11.5-svn
+/set ggrtf_ver=0.6.11.6-svn
 ;;
 ;; This triggerset is Free Software distributed under
 ;; GNU General Public License version 2.
@@ -18,10 +18,11 @@
 ;; The actual scriptcode starts here: initialize, load prereqs
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 /set warn_status=off
+/set status_pad=_
 /require map.tf
 
-/set status_pad=_
 
+;; Reset GgrTF internals
 /def -i greset =\
 	/prdefivar cnt_date $[time()]%;\
 	/prdefivar cnt_casts 0%;\
@@ -156,6 +157,31 @@
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Get and check TinyFugue version
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+/set gtf_version=0
+/set gtf_ver_minor=0
+/set gtf_ver_major=0
+/set gtf_ver_extra=0
+
+/def gcheck_tf_version =\
+	/if (regmatch("^([0-9]+)\.([0-9]+)", ver()))\
+		/set gtf_ver_major=%{P1}%;\
+		/set gtf_ver_minor=%{P2}%;\
+		/set gtf_version=$[{P1}*10000 + {P2}*100]%;\
+	/endif%;\
+	/if (regmatch("^([0-9]+)\.([0-9]+) beta ([0-9]+)", ver()))\
+		/set gtf_ver_extra=%{P3}%;\
+		/set gtf_version=$[gtf_version + {P3}]%;\
+	/endif%;\
+	/if (gtf_ver_major < 5)\
+		/gerror @{BCwhite}GgrTF requires TinyFugue version 5.0 or later!@{n}%;\
+	/endif
+
+/gcheck_tf_version
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Helper macros/functions
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 /def -i prconvto = /return tolower(replace(" ","_",{1}))
--- a/gm-tf5.tf	Wed Apr 01 02:35:48 2009 +0000
+++ b/gm-tf5.tf	Wed Apr 01 19:53:25 2009 +0000
@@ -5,12 +5,13 @@
 ;; This file (triggerset) is Free Software distributed under
 ;; GNU General Public License version 2.
 ;;
-;; NOTICE! This file requires GgrTF (version 0.6.2 or later) to be loaded.
+;; NOTICE! This file requires GgrTF (version 0.6.11.6 or later) to be loaded.
 ;;
 /loaded GgrTF:TF5
+/set gmodule=TF5
 
-/if (!regmatch("5\.[0-9]+", ver()))\
-	/gerror This module is designed for TinyFugue v5.0 or later, it does not work in older versions of TF%;\
+/if (gtf_version < 50007)\
+	/gerror This module is designed for TinyFugue v5.0 beta 7 or later, it does not work in older versions of TF%;\
 	/exit%;\
 /endif