More macro type checking. 94% of calls in mainline are now checked.
This commit is contained in:
parent
98d9afa496
commit
0fd8975c94
4 changed files with 30 additions and 31 deletions
|
@ -2,38 +2,38 @@
|
|||
## These macros support a fourth (actually zeroth) difficulty level, NEWBIE.
|
||||
|
||||
#macro to define a 'quantity' differently based on difficulty levels
|
||||
#define QUANTITY4 ATTRIBUTE ON_NEWBIE ON_EASY ON_NORMAL ON_HARD
|
||||
#define QUANTITY4 NAME NEWBIE_AMOUNT EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
#ifdef NEWBIE
|
||||
{ATTRIBUTE}={ON_NEWBIE}
|
||||
{NAME}={NEWBIE_AMOUNT}
|
||||
#endif
|
||||
|
||||
#ifdef EASY
|
||||
{ATTRIBUTE}={ON_EASY}
|
||||
{NAME}={EASY_AMOUNT}
|
||||
#endif
|
||||
|
||||
#ifdef NORMAL
|
||||
{ATTRIBUTE}={ON_NORMAL}
|
||||
{NAME}={NORMAL_AMOUNT}
|
||||
#endif
|
||||
|
||||
#ifdef HARD
|
||||
{ATTRIBUTE}={ON_HARD}
|
||||
{NAME}={HARD_AMOUNT}
|
||||
#endif
|
||||
#enddef
|
||||
|
||||
#macro to define number of turns for different difficulty levels
|
||||
#define TURNS4 ON_NEWBIE ON_EASY ON_NORMAL ON_HARD
|
||||
{QUANTITY4 turns {ON_NEWBIE} {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
#define TURNS4 NEWBIE_AMOUNT EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
{QUANTITY4 turns {NEWBIE_AMOUNT} {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
#macro which will let you go {GOLD x y z} to set
|
||||
#the gold depending on easy/medium/hard - x/y/z
|
||||
#macro which will let you go {GOLD w/x y z} to set
|
||||
#the gold depending on newbie/easy/medium/hard - w/x/y/z
|
||||
|
||||
#define GOLD4 ON_NEWBIE ON_EASY ON_NORMAL ON_HARD
|
||||
{QUANTITY4 gold {ON_NEWBIE} {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
#define GOLD4 NEWBIE_AMOUNT EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
{QUANTITY4 gold {NEWBIE_AMOUNT} {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
#define INCOME4 ON_NEWBIE ON_EASY ON_NORMAL ON_HARD
|
||||
{QUANTITY4 income {ON_NEWBIE} {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
#define INCOME4 NEWBIE_AMOUNT EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
{QUANTITY4 income {NEWBIE_AMOUNT} {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
## These are campaign-specific.
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
[/terrain]
|
||||
#enddef
|
||||
|
||||
#define MODIFY_TERRAIN_MASK X Y MASK RULES
|
||||
#define MODIFY_TERRAIN_MASK X Y MASK_VALUE RULES_WML
|
||||
# Changes the terrain for a given area
|
||||
[terrain_mask]
|
||||
x={X}
|
||||
y={Y}
|
||||
mask={MASK}
|
||||
{RULES}
|
||||
mask={MASK_VALUE}
|
||||
{RULES_WML}
|
||||
[/terrain_mask]
|
||||
#enddef
|
||||
|
|
|
@ -4,42 +4,41 @@
|
|||
# Later macros in this file are built using earlier ones, which
|
||||
# is why they live hear rather than being broken out into topic-specific files.
|
||||
|
||||
# ! in comments is used in generating HTML documentation, ignore it otherwise.
|
||||
|
||||
#define QUANTITY ATTRIBUTE ON_EASY ON_NORMAL ON_HARD
|
||||
# ! in comments is used in generating HTML documentation, ignore it otherwise.
|
||||
#define QUANTITY NAME EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
# Macro to define a 'quantity' differently based on difficulty levels.
|
||||
#ifdef EASY
|
||||
{ATTRIBUTE}={ON_EASY}
|
||||
{NAME}={EASY_AMOUNT}
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
{ATTRIBUTE}={ON_NORMAL}
|
||||
{NAME}={NORMAL_AMOUNT}
|
||||
#endif
|
||||
#ifdef HARD
|
||||
{ATTRIBUTE}={ON_HARD}
|
||||
{NAME}={HARD_AMOUNT}
|
||||
#endif
|
||||
#enddef
|
||||
|
||||
#define TURNS ON_EASY ON_NORMAL ON_HARD
|
||||
#define TURNS EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
# Macro to define number of turns for different difficulty levels.
|
||||
{QUANTITY turns {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
{QUANTITY turns {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
#define GOLD ON_EASY ON_NORMAL ON_HARD
|
||||
#define GOLD EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
# Macro which will let you say {GOLD x y z} to set
|
||||
# starting gold depending on easy/medium/hard - x/y/z
|
||||
{QUANTITY gold {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
{QUANTITY gold {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
#define INCOME ON_EASY ON_NORMAL ON_HARD
|
||||
#define INCOME EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
# Macro which will let you say {GOLD x y z} to set
|
||||
# per-turn income depending on easy/medium/hard - x/y/z
|
||||
{QUANTITY income {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
{QUANTITY income {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
#define ATTACK_DEPTH ON_EASY ON_NORMAL ON_HARD
|
||||
#define ATTACK_DEPTH EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
|
||||
# Macro to define AI attack depth for different difficulty levels
|
||||
# (set it to 1-6)
|
||||
{QUANTITY attack_depth {ON_EASY} {ON_NORMAL} {ON_HARD}}
|
||||
{QUANTITY attack_depth {EASY_AMOUNT} {NORMAL_AMOUNT} {HARD_AMOUNT}}
|
||||
#enddef
|
||||
|
||||
#define NO_SCOUTS
|
||||
|
|
|
@ -63,7 +63,7 @@ def isresource(filename):
|
|||
|
||||
def formaltype(f):
|
||||
# Deduce the expected type of the formal
|
||||
if f in ("SIDE", "X", "Y", "AMOUNT", "RED", "GREEN", "BLUE", "TURN", "RADIUS") or f.endswith("NUMBER") or f.endswith("_X") or f.endswith("_Y"):
|
||||
if f in ("SIDE", "X", "Y", "RED", "GREEN", "BLUE", "TURN", "RADIUS") or f.endswith("NUMBER") or f.endswith("AMOUNT") or f.endswith("_X") or f.endswith("_Y"):
|
||||
ftype = "numeric"
|
||||
elif f in ("POSITION",):
|
||||
ftype = "position"
|
||||
|
|
Loading…
Add table
Reference in a new issue