1. Changes
1.1 The anonymous put/get cells are now initialized to 0 at the start
of every filter run. Previously, they retained any values left
over from a previous run. This may affect the operation of some
filters that depended on such uninitialized values.
1.2 In Advanced Edit Mode, the symbol table dump is now displayed
only if the 'Dump SDL' checkbox is checked during the Codegen
phase.
2. Bug Fixes
2.1 rnd(a,b) can now return any value in the range a to b, inclusive.
Previously, it always returned a value in the range a to b-1. Also,
rnd(a,b) now returns a value in the range [b,a] if a > b.
3. New Features
3.1 The Filter Factory built-in function rst(n) is now implemented in FM.
Calling rst(n) sets the pseudo-random number generator to a new state
which is a function of both the value of 'n' and the previous state of
the pseudo-random number generator. The C run-time library routine
srand(1) is implicitly called at the start of each filter run to set
the pseudo-random number generator to a fixed known state, so the
result of each run with otherwise identical parameters will generally
produce exactly the same result. If you want the result to be different
on each run, then call rst(n) with some unpredictable value of 'n';
e.g., call rst(clock()) to seed the pseudo-random number generator from
the elapsed time clock; or call rst(ctl(k)) to seed the pseudo-random
number generator with the current value of control k; etc.
3.2 When importing a *.8bf file, FM now honors Michael Johannhanwahr's
"Protect" flag in the PARM resource, and will not import the filter
if this flag is set. (Plugin Manager 2.0 uses this flag to prevent
casual users from viewing the filter source code.)