means that EventOrder needs to be specified if either MaxEvents or MaxDestroyerEvents are specified.
Generators have predefined values for some parameters. E.g., GenerateSingleHistory sets MaxDestroyerEvents -> 1, which can no longer be changed.
Comments
Apologies for a huge PR. There is a lot of refactoring here as all instances of GenerateMultihistory had to be changed.
Ordering functions page is deleted for now but should return as a page for the EventOrder parameter once it is used somewhere.
@daneelsan, unfortunately, it will break #643, but on the flip side, it should make it a lot easier to define parameters (as one does not need to think where to put them anymore).
Changes
This is a complete rewrite of the generator system.
Old
GenerateMultihistory
syntax is removed.Instead, all generators have the format
Note that
param1
, etc. are symbols rather than strings. They have usage messages, etc. Also, one can use lists or associations instead, e.g.,Parameters are now declared separately from systems and generators.
Systems need to declare a logical expression specifying which parameters can be specified. For example,
means that
EventOrder
needs to be specified if eitherMaxEvents
orMaxDestroyerEvents
are specified.Generators have predefined values for some parameters. E.g.,
GenerateSingleHistory
setsMaxDestroyerEvents -> 1
, which can no longer be changed.Comments
GenerateMultihistory
had to be changed.EventOrder
parameter once it is used somewhere.Examples
GenerateSingleHistory
:GenerateAllHistories
:This change is