1 // This file is part of Golly. 2 // See docs/License.html for the copyright notice. 3 4 #ifndef _CONTROL_H_ 5 #define _CONTROL_H_ 6 7 #include "bigint.h" // for bigint 8 #include "algos.h" // for algo_type 9 10 #include <string> // for std::string 11 #include <list> // for std::list 12 13 // Data and routines for generating patterns: 14 15 extern bool generating; // currently generating pattern? 16 extern int minexpo; // step exponent at maximum delay (must be <= 0) 17 18 bool StartGenerating(); 19 void StopGenerating(); 20 void NextGeneration(bool useinc); 21 void ResetPattern(bool resetundo = true); 22 void RestorePattern(bigint& gen, const char* filename, 23 bigint& x, bigint& y, int mag, int base, int expo); 24 void SetMinimumStepExponent(); 25 void SetStepExponent(int newexpo); 26 void SetGenIncrement(); 27 const char* ChangeGenCount(const char* genstring, bool inundoredo = false); 28 void ClearOutsideGrid(); 29 void ReduceCellStates(int newmaxstate); 30 void ChangeRule(const std::string& rulestring); 31 void ChangeAlgorithm(algo_type newalgotype, const char* newrule = "", bool inundoredo = false); 32 std::string CreateRuleFiles(std::list<std::string>& deprecated, 33 std::list<std::string>& keeprules); 34 35 #endif 36