REM Sapphire options macro library -- © 1995 Straylight DEF FNoptions_test=0 DEF FNoption(o%,t%,n$) IF FNalign opt__l=opt__l IF opt__l THEN !(opt__l+O%-P%+4)=P%-opt__l [ opt 4 .opt__l dcd 0 dcd 0 dcd o% dcd t% equs n$+CHR$(0) FNalign ] =0 DEF FNopt__f(f%) !(opt__l+O%-P%)=!(opt__l+O%-P%) OR f% =0 DEF FNoptions_end [ opt 4 FNopt__f(optFlag_last) FNalign ] !(opt__l+O%-P%+4)=P%-opt__l =0 DEF FNoptions_string(o%,n$,s%) [ opt 4 FNoption(o%,optType_string,n$) dcd s% ] =0 DEF FNoptions_integer(o%,n$,b%) IF FNoption(o%,optType_integer,n$) IF b% THEN [opt 4:dcd b%:] =0 DEF FNoptions_literal IF FNoption(0,optType_literal,"") IF FNopt__f(optFlag_ignore) =0 DEF FNoptions_enum(o%,n$)=FNoption(o%,optType_enum,n$) DEF FNoptions_bool(o%,n$,f%) [ opt 4 FNoption(o%,optType_bool,n$) dcd f% ] =0 DEF FNoptions_version(o%,n$)=FNoption(o%,optType_version,n$)