Commit | Line | Data |
---|---|---|
c1b567d8 MW |
1 | REM Sapphire options macro library -- © 1995 Straylight |
2 | ||
3 | DEF FNoptions_test=0 | |
4 | ||
5 | DEF FNoption(o%,t%,n$) | |
6 | IF FNalign | |
7 | opt__l=opt__l | |
8 | IF opt__l THEN !(opt__l+O%-P%+4)=P%-opt__l | |
9 | [ opt 4 | |
10 | .opt__l | |
11 | dcd 0 | |
12 | dcd 0 | |
13 | dcd o% | |
14 | dcd t% | |
15 | equs n$+CHR$(0) | |
16 | FNalign | |
17 | ] | |
18 | =0 | |
19 | ||
20 | DEF FNopt__f(f%) | |
21 | !(opt__l+O%-P%)=!(opt__l+O%-P%) OR f% | |
22 | =0 | |
23 | ||
24 | DEF FNoptions_end | |
25 | [ opt 4 | |
26 | FNopt__f(optFlag_last) | |
27 | FNalign | |
28 | ] | |
29 | !(opt__l+O%-P%+4)=P%-opt__l | |
30 | =0 | |
31 | ||
32 | DEF FNoptions_string(o%,n$,s%) | |
33 | [ opt 4 | |
34 | FNoption(o%,optType_string,n$) | |
35 | dcd s% | |
36 | ] | |
37 | =0 | |
38 | ||
39 | DEF FNoptions_integer(o%,n$,b%) | |
40 | IF FNoption(o%,optType_integer,n$) | |
41 | IF b% THEN [opt 4:dcd b%:] | |
42 | =0 | |
43 | ||
44 | DEF FNoptions_literal | |
45 | IF FNoption(0,optType_literal,"") | |
46 | IF FNopt__f(optFlag_ignore) | |
47 | =0 | |
48 | ||
49 | DEF FNoptions_enum(o%,n$)=FNoption(o%,optType_enum,n$) | |
50 | ||
51 | DEF FNoptions_bool(o%,n$,f%) | |
52 | [ opt 4 | |
53 | FNoption(o%,optType_bool,n$) | |
54 | dcd f% | |
55 | ] | |
56 | =0 | |
57 | ||
58 | DEF FNoptions_version(o%,n$)=FNoption(o%,optType_version,n$) |