From 84f17afead759712b32393435d6d74afcffc6dbb Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Thu, 29 Mar 2018 00:16:04 -0400 Subject: [PATCH] Schema: Use the new globbing feature to improve [aspect] definition Also fix [engine] switch --- data/schema/ai/aspect_complex.cfg | 28 +++++++++++++++++++--------- data/schema/ai/engine.cfg | 2 +- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/data/schema/ai/aspect_complex.cfg b/data/schema/ai/aspect_complex.cfg index 8580ac856b19..28959df6f2e9 100644 --- a/data/schema/ai/aspect_complex.cfg +++ b/data/schema/ai/aspect_complex.cfg @@ -1,9 +1,15 @@ +#define AI_FILTER_KEY_MISSING KEY + [not] + glob_on_{KEY}=* + [/not] +#enddef + #define AI_ASPECT_FILTER_STANDARD engine=cpp name=standard_aspect [or] - engine= + {AI_FILTER_KEY_MISSING engine} name=standard_aspect [/or] #enddef @@ -12,7 +18,7 @@ engine=cpp name=composite_aspect [or] - engine= + {AI_FILTER_KEY_MISSING engine} name=composite_aspect [/or] #enddef @@ -20,7 +26,11 @@ #define AI_ASPECT_FILTER_DEFAULT [or] engine=cpp - name= + {AI_FILTER_KEY_MISSING name} + [/or] + [or] + {AI_FILTER_KEY_MISSING engine} + {AI_FILTER_KEY_MISSING name} [/or] #enddef @@ -29,18 +39,18 @@ name=ai_default_rca::aspect_attacks id=attacks [or] - engine= + {AI_FILTER_KEY_MISSING engine} name=ai_default_rca::aspect_attacks id=attacks [/or] [or] engine=cpp - name= + {AI_FILTER_KEY_MISSING name} id=attacks [/or] [or] - engine= - name= + {AI_FILTER_KEY_MISSING engine} + {AI_FILTER_KEY_MISSING name} id=attacks [/or] #enddef @@ -50,10 +60,10 @@ name=lua_aspect [or] engine=lua - name= + {AI_FILTER_KEY_MISSING name} [/or] [or] - engine= + {AI_FILTER_KEY_MISSING engine} name=lua_aspect [/or] #enddef diff --git a/data/schema/ai/engine.cfg b/data/schema/ai/engine.cfg index aac034f27236..b64c53372ca5 100644 --- a/data/schema/ai/engine.cfg +++ b/data/schema/ai/engine.cfg @@ -3,7 +3,7 @@ name="engine" super="$ai/$component" [switch] - key=engine + key=name [case] value=fai # TODO: FIll this in (which is difficult since it's not documented)