mirror of
				https://bitbucket.org/mfeemster/fractorium.git
				synced 2025-11-04 02:00:31 -05:00 
			
		
		
		
	--Bug fixes
-Make stagger a double instead of a bool. -Save stagger values to settings. -Random stagger was being set in the wrong place. -Save rotation values as double rather than int.
This commit is contained in:
		@ -706,7 +706,8 @@ void Fractorium::SetTabOrders()
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceStopFlameSpinBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceAllButton);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceRandomizeStaggerCheckBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceStaggerCheckBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceStaggerSpinBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceRandomStaggerMaxSpinBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceRandomizeFramesPerRotCheckBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceFramesPerRotSpinBox);
 | 
			
		||||
	w = SetTabOrder(this, w, ui.SequenceRandomFramesPerRotMaxSpinBox);
 | 
			
		||||
 | 
			
		||||
@ -171,9 +171,12 @@ public slots:
 | 
			
		||||
	void OnSequenceRenderButtonClicked(bool checked);
 | 
			
		||||
	void OnSequenceSaveButtonClicked(bool checked);
 | 
			
		||||
	void OnSequenceOpenButtonClicked(bool checked);
 | 
			
		||||
	void OnSequenceRandomizeStaggerCheckBoxStateChanged(int state);
 | 
			
		||||
	void OnSequenceRandomizeFramesPerRotCheckBoxStateChanged(int state);
 | 
			
		||||
	void OnSequenceRandomizeRotationsCheckBoxStateChanged(int state);
 | 
			
		||||
	void OnSequenceRandomizeBlendFramesCheckBoxStateChanged(int state);
 | 
			
		||||
	void OnSequenceStaggerSpinBoxChanged(double d);
 | 
			
		||||
	void OnSequenceRandomStaggerMaxSpinBoxChanged(double d);
 | 
			
		||||
	void OnSequenceStartFlameSpinBoxChanged(int d);
 | 
			
		||||
	void OnSequenceStopFlameSpinBoxChanged(int d);
 | 
			
		||||
	void OnSequenceFramesPerRotSpinBoxChanged(int d);
 | 
			
		||||
 | 
			
		||||
@ -3513,8 +3513,8 @@
 | 
			
		||||
               <rect>
 | 
			
		||||
                <x>0</x>
 | 
			
		||||
                <y>0</y>
 | 
			
		||||
                <width>263</width>
 | 
			
		||||
                <height>700</height>
 | 
			
		||||
                <width>118</width>
 | 
			
		||||
                <height>672</height>
 | 
			
		||||
               </rect>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="autoFillBackground">
 | 
			
		||||
@ -5581,8 +5581,8 @@
 | 
			
		||||
                  <rect>
 | 
			
		||||
                   <x>0</x>
 | 
			
		||||
                   <y>0</y>
 | 
			
		||||
                   <width>259</width>
 | 
			
		||||
                   <height>652</height>
 | 
			
		||||
                   <width>133</width>
 | 
			
		||||
                   <height>52</height>
 | 
			
		||||
                  </rect>
 | 
			
		||||
                 </property>
 | 
			
		||||
                 <property name="sizePolicy">
 | 
			
		||||
@ -6867,19 +6867,6 @@
 | 
			
		||||
              </property>
 | 
			
		||||
             </widget>
 | 
			
		||||
            </item>
 | 
			
		||||
            <item row="3" column="1" alignment="Qt::AlignLeft">
 | 
			
		||||
             <widget class="QCheckBox" name="SequenceStaggerCheckBox">
 | 
			
		||||
              <property name="sizePolicy">
 | 
			
		||||
               <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
 | 
			
		||||
                <horstretch>0</horstretch>
 | 
			
		||||
                <verstretch>0</verstretch>
 | 
			
		||||
               </sizepolicy>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="text">
 | 
			
		||||
               <string>Stagger</string>
 | 
			
		||||
              </property>
 | 
			
		||||
             </widget>
 | 
			
		||||
            </item>
 | 
			
		||||
            <item row="5" column="1">
 | 
			
		||||
             <widget class="QDoubleSpinBox" name="SequenceRotationsSpinBox">
 | 
			
		||||
              <property name="sizePolicy">
 | 
			
		||||
@ -7186,6 +7173,50 @@
 | 
			
		||||
              </property>
 | 
			
		||||
             </widget>
 | 
			
		||||
            </item>
 | 
			
		||||
            <item row="3" column="1">
 | 
			
		||||
             <widget class="QDoubleSpinBox" name="SequenceStaggerSpinBox">
 | 
			
		||||
              <property name="sizePolicy">
 | 
			
		||||
               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
 | 
			
		||||
                <horstretch>0</horstretch>
 | 
			
		||||
                <verstretch>0</verstretch>
 | 
			
		||||
               </sizepolicy>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="buttonSymbols">
 | 
			
		||||
               <enum>QAbstractSpinBox::NoButtons</enum>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="prefix">
 | 
			
		||||
               <string>Stagger: </string>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="maximum">
 | 
			
		||||
               <double>1.000000000000000</double>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="singleStep">
 | 
			
		||||
               <double>0.100000000000000</double>
 | 
			
		||||
              </property>
 | 
			
		||||
             </widget>
 | 
			
		||||
            </item>
 | 
			
		||||
            <item row="3" column="2">
 | 
			
		||||
             <widget class="QDoubleSpinBox" name="SequenceRandomStaggerMaxSpinBox">
 | 
			
		||||
              <property name="enabled">
 | 
			
		||||
               <bool>false</bool>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="buttonSymbols">
 | 
			
		||||
               <enum>QAbstractSpinBox::NoButtons</enum>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="prefix">
 | 
			
		||||
               <string>Stagger max: </string>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="maximum">
 | 
			
		||||
               <double>1.000000000000000</double>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="singleStep">
 | 
			
		||||
               <double>0.100000000000000</double>
 | 
			
		||||
              </property>
 | 
			
		||||
              <property name="value">
 | 
			
		||||
               <double>1.000000000000000</double>
 | 
			
		||||
              </property>
 | 
			
		||||
             </widget>
 | 
			
		||||
            </item>
 | 
			
		||||
           </layout>
 | 
			
		||||
          </item>
 | 
			
		||||
          <item>
 | 
			
		||||
 | 
			
		||||
@ -7,6 +7,8 @@
 | 
			
		||||
void Fractorium::InitLibraryUI()
 | 
			
		||||
{
 | 
			
		||||
	ui.LibraryTree->SetMainWindow(this);
 | 
			
		||||
	ui.SequenceStaggerSpinBox->setValue(m_Settings->Stagger());
 | 
			
		||||
	ui.SequenceRandomStaggerMaxSpinBox->setValue(m_Settings->StaggerMax());
 | 
			
		||||
	ui.SequenceFramesPerRotSpinBox->setValue(m_Settings->FramesPerRot());
 | 
			
		||||
	ui.SequenceRandomFramesPerRotMaxSpinBox->setValue(m_Settings->FramesPerRotMax());
 | 
			
		||||
	ui.SequenceRotationsSpinBox->setValue(m_Settings->Rotations());
 | 
			
		||||
@ -24,9 +26,12 @@ void Fractorium::InitLibraryUI()
 | 
			
		||||
	connect(ui.SequenceRenderButton,        SIGNAL(clicked(bool)), this, SLOT(OnSequenceRenderButtonClicked(bool)),        Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceSaveButton,          SIGNAL(clicked(bool)), this, SLOT(OnSequenceSaveButtonClicked(bool)),          Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceOpenButton,          SIGNAL(clicked(bool)), this, SLOT(OnSequenceOpenButtonClicked(bool)),          Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceRandomizeStaggerCheckBox,      SIGNAL(stateChanged(int)), this, SLOT(OnSequenceRandomizeStaggerCheckBoxStateChanged(int)),      Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceRandomizeFramesPerRotCheckBox, SIGNAL(stateChanged(int)), this, SLOT(OnSequenceRandomizeFramesPerRotCheckBoxStateChanged(int)), Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceRandomizeRotationsCheckBox,    SIGNAL(stateChanged(int)), this, SLOT(OnSequenceRandomizeRotationsCheckBoxStateChanged(int)),    Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceRandomizeBlendFramesCheckBox,  SIGNAL(stateChanged(int)), this, SLOT(OnSequenceRandomizeBlendFramesCheckBoxStateChanged(int)),  Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceStaggerSpinBox,               SIGNAL(valueChanged(double)), this, SLOT(OnSequenceStaggerSpinBoxChanged(double)),            Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceRandomStaggerMaxSpinBox,      SIGNAL(valueChanged(double)), this, SLOT(OnSequenceRandomStaggerMaxSpinBoxChanged(double)),   Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceStartFlameSpinBox,            SIGNAL(valueChanged(int)),    this, SLOT(OnSequenceStartFlameSpinBoxChanged(int)),            Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceStopFlameSpinBox,             SIGNAL(valueChanged(int)),    this, SLOT(OnSequenceStopFlameSpinBoxChanged(int)),             Qt::QueuedConnection);
 | 
			
		||||
	connect(ui.SequenceFramesPerRotSpinBox,          SIGNAL(valueChanged(int)),    this, SLOT(OnSequenceFramesPerRotSpinBoxChanged(int)),          Qt::QueuedConnection);
 | 
			
		||||
@ -505,7 +510,8 @@ void FractoriumEmberController<T>::SequenceGenerateButtonClicked()
 | 
			
		||||
	bool randFramesRot = ui.SequenceRandomizeFramesPerRotCheckBox->isChecked();
 | 
			
		||||
	bool randRot = ui.SequenceRandomizeRotationsCheckBox->isChecked();
 | 
			
		||||
	bool randBlend = ui.SequenceRandomizeBlendFramesCheckBox->isChecked();
 | 
			
		||||
	bool stagger = ui.SequenceStaggerCheckBox->isChecked();
 | 
			
		||||
	double stagger = ui.SequenceStaggerSpinBox->value();
 | 
			
		||||
	double staggerMax = ui.SequenceRandomStaggerMaxSpinBox->value();
 | 
			
		||||
	double rots = ui.SequenceRotationsSpinBox->value();
 | 
			
		||||
	double rotsMax = ui.SequenceRandomRotationsMaxSpinBox->value();
 | 
			
		||||
	int framesPerRot = ui.SequenceFramesPerRotSpinBox->value();
 | 
			
		||||
@ -529,7 +535,7 @@ void FractoriumEmberController<T>::SequenceGenerateButtonClicked()
 | 
			
		||||
#endif
 | 
			
		||||
	SheepTools<T, float> tools(palettePath, EmberCommon::CreateRenderer<T>(eRendererType::CPU_RENDERER, devices, false, 0, emberReport));
 | 
			
		||||
	tools.SetSpinParams(true,
 | 
			
		||||
						randStagger ? m_Rand.RandBit() : stagger,
 | 
			
		||||
						stagger,//Will be set again below if random is used.
 | 
			
		||||
						0,
 | 
			
		||||
						0,
 | 
			
		||||
						s->Nick().toStdString(),
 | 
			
		||||
@ -601,15 +607,14 @@ void FractoriumEmberController<T>::SequenceGenerateButtonClicked()
 | 
			
		||||
			embers[1] = *(++it2);//Get the next ember to be used with blending below.
 | 
			
		||||
			size_t blendFrames = randBlend ? m_Rand.Frand<double>(framesBlend, framesBlendMax) : framesBlend;
 | 
			
		||||
 | 
			
		||||
			if (randStagger)
 | 
			
		||||
				tools.Stagger(m_Rand.Frand<double>(stagger, staggerMax));
 | 
			
		||||
 | 
			
		||||
			for (frame = 0; frame < blendFrames; frame++)
 | 
			
		||||
			{
 | 
			
		||||
				bool seqFlag = frame == 0 || (frame == blendFrames - 1);
 | 
			
		||||
				blend = frame / double(blendFrames);
 | 
			
		||||
				result.Clear();
 | 
			
		||||
 | 
			
		||||
				if (randStagger)
 | 
			
		||||
					tools.Stagger(m_Rand.RandBit());
 | 
			
		||||
 | 
			
		||||
				tools.SpinInter(&embers[0], nullptr, result, startCount + frameCount++, seqFlag, blend);
 | 
			
		||||
				FormatName(result, os, padding);
 | 
			
		||||
				m_SequenceFile.m_Embers.push_back(result);
 | 
			
		||||
@ -718,6 +723,7 @@ void FractoriumEmberController<T>::SequenceOpenButtonClicked()
 | 
			
		||||
 | 
			
		||||
void Fractorium::OnSequenceOpenButtonClicked(bool checked) { m_Controller->SequenceOpenButtonClicked(); }
 | 
			
		||||
 | 
			
		||||
void Fractorium::OnSequenceRandomizeStaggerCheckBoxStateChanged(int state) { ui.SequenceRandomStaggerMaxSpinBox->setEnabled(state); }
 | 
			
		||||
void Fractorium::OnSequenceRandomizeFramesPerRotCheckBoxStateChanged(int state) { ui.SequenceRandomFramesPerRotMaxSpinBox->setEnabled(state); }
 | 
			
		||||
void Fractorium::OnSequenceRandomizeRotationsCheckBoxStateChanged(int state) { ui.SequenceRandomRotationsMaxSpinBox->setEnabled(state); }
 | 
			
		||||
void Fractorium::OnSequenceRandomizeBlendFramesCheckBoxStateChanged(int state) { ui.SequenceRandomBlendMaxFramesSpinBox->setEnabled(state); }
 | 
			
		||||
@ -725,20 +731,24 @@ void Fractorium::OnSequenceRandomizeBlendFramesCheckBoxStateChanged(int state) {
 | 
			
		||||
/// <summary>
 | 
			
		||||
/// Constrain all min/max spinboxes.
 | 
			
		||||
/// </summary>
 | 
			
		||||
void Fractorium::OnSequenceStartFlameSpinBoxChanged(int d) { ConstrainLow(ui.SequenceStartFlameSpinBox, ui.SequenceStopFlameSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceStopFlameSpinBoxChanged(int d) { ConstrainHigh(ui.SequenceStartFlameSpinBox, ui.SequenceStopFlameSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceFramesPerRotSpinBoxChanged(int d) { if (ui.SequenceRandomizeFramesPerRotCheckBox->isChecked()) ConstrainLow(ui.SequenceFramesPerRotSpinBox, ui.SequenceRandomFramesPerRotMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceStaggerSpinBoxChanged(double d)            { if (ui.SequenceRandomizeStaggerCheckBox->isChecked()) ConstrainLow(ui.SequenceStaggerSpinBox, ui.SequenceRandomStaggerMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRandomStaggerMaxSpinBoxChanged(double d)   { ConstrainHigh(ui.SequenceStaggerSpinBox, ui.SequenceRandomStaggerMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceStartFlameSpinBoxChanged(int d)            { ConstrainLow(ui.SequenceStartFlameSpinBox, ui.SequenceStopFlameSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceStopFlameSpinBoxChanged(int d)             { ConstrainHigh(ui.SequenceStartFlameSpinBox, ui.SequenceStopFlameSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceFramesPerRotSpinBoxChanged(int d)          { if (ui.SequenceRandomizeFramesPerRotCheckBox->isChecked()) ConstrainLow(ui.SequenceFramesPerRotSpinBox, ui.SequenceRandomFramesPerRotMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRandomFramesPerRotMaxSpinBoxChanged(int d) {	ConstrainHigh(ui.SequenceFramesPerRotSpinBox, ui.SequenceRandomFramesPerRotMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRotationsSpinBoxChanged(double d) { if (ui.SequenceRandomizeRotationsCheckBox->isChecked()) ConstrainLow(ui.SequenceRotationsSpinBox, ui.SequenceRandomRotationsMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRotationsSpinBoxChanged(double d)          { if (ui.SequenceRandomizeRotationsCheckBox->isChecked()) ConstrainLow(ui.SequenceRotationsSpinBox, ui.SequenceRandomRotationsMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRandomRotationsMaxSpinBoxChanged(double d) {	ConstrainHigh(ui.SequenceRotationsSpinBox, ui.SequenceRandomRotationsMaxSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceBlendFramesSpinBoxChanged(int d) { if (ui.SequenceRandomizeBlendFramesCheckBox->isChecked()) ConstrainLow(ui.SequenceBlendFramesSpinBox, ui.SequenceRandomBlendMaxFramesSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRandomBlendMaxFramesSpinBoxChanged(int d) { ConstrainHigh(ui.SequenceBlendFramesSpinBox, ui.SequenceRandomBlendMaxFramesSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceBlendFramesSpinBoxChanged(int d)           { if (ui.SequenceRandomizeBlendFramesCheckBox->isChecked()) ConstrainLow(ui.SequenceBlendFramesSpinBox, ui.SequenceRandomBlendMaxFramesSpinBox); }
 | 
			
		||||
void Fractorium::OnSequenceRandomBlendMaxFramesSpinBoxChanged(int d)  { ConstrainHigh(ui.SequenceBlendFramesSpinBox, ui.SequenceRandomBlendMaxFramesSpinBox); }
 | 
			
		||||
 | 
			
		||||
/// <summary>
 | 
			
		||||
/// Save all sequence settings to match the values in the controls.
 | 
			
		||||
/// </summary>
 | 
			
		||||
void Fractorium::SyncSequenceSettings()
 | 
			
		||||
{
 | 
			
		||||
	m_Settings->Stagger(ui.SequenceStaggerSpinBox->value());
 | 
			
		||||
	m_Settings->StaggerMax(ui.SequenceRandomStaggerMaxSpinBox->value());
 | 
			
		||||
	m_Settings->FramesPerRot(ui.SequenceFramesPerRotSpinBox->value());
 | 
			
		||||
	m_Settings->FramesPerRotMax(ui.SequenceRandomFramesPerRotMaxSpinBox->value());
 | 
			
		||||
	m_Settings->Rotations(ui.SequenceRotationsSpinBox->value());
 | 
			
		||||
 | 
			
		||||
@ -138,16 +138,27 @@ void FractoriumSettings::RandomCount(uint i)					 { setValue(RANDOMCOUNT, i);
 | 
			
		||||
/// Sequence generation settings.
 | 
			
		||||
/// </summary>
 | 
			
		||||
 | 
			
		||||
double FractoriumSettings::Stagger()             { return value(STAGGER).toDouble();       }
 | 
			
		||||
void FractoriumSettings::Stagger(double d)       { setValue(STAGGER, d);                   }
 | 
			
		||||
 | 
			
		||||
double FractoriumSettings::StaggerMax()          { return value(STAGGERMAX).toDouble();    }
 | 
			
		||||
void FractoriumSettings::StaggerMax(double d)    { setValue(STAGGERMAX, d);                }
 | 
			
		||||
 | 
			
		||||
uint FractoriumSettings::FramesPerRot()          { return value(FRAMESPERROT).toUInt();    }
 | 
			
		||||
void FractoriumSettings::FramesPerRot(uint i)    { setValue(FRAMESPERROT, i);              }
 | 
			
		||||
 | 
			
		||||
uint FractoriumSettings::FramesPerRotMax()       { return value(FRAMESPERROTMAX).toUInt(); }
 | 
			
		||||
void FractoriumSettings::FramesPerRotMax(uint i) { setValue(FRAMESPERROTMAX, i);           }
 | 
			
		||||
uint FractoriumSettings::Rotations()             { return value(ROTATIONS).toUInt();       }
 | 
			
		||||
void FractoriumSettings::Rotations(uint i)       { setValue(ROTATIONS, i);                 }
 | 
			
		||||
uint FractoriumSettings::RotationsMax()          { return value(ROTATIONSMAX).toUInt();    }
 | 
			
		||||
void FractoriumSettings::RotationsMax(uint i)    { setValue(ROTATIONSMAX, i);              }
 | 
			
		||||
 | 
			
		||||
uint FractoriumSettings::Rotations()             { return value(ROTATIONS).toDouble();     }
 | 
			
		||||
void FractoriumSettings::Rotations(double d)     { setValue(ROTATIONS, d);                 }
 | 
			
		||||
 | 
			
		||||
uint FractoriumSettings::RotationsMax()          { return value(ROTATIONSMAX).toDouble();  }
 | 
			
		||||
void FractoriumSettings::RotationsMax(double d)  { setValue(ROTATIONSMAX, d);              }
 | 
			
		||||
 | 
			
		||||
uint FractoriumSettings::BlendFrames()           { return value(BLENDFRAMES).toUInt();     }
 | 
			
		||||
void FractoriumSettings::BlendFrames(uint i)     { setValue(BLENDFRAMES, i);               }
 | 
			
		||||
 | 
			
		||||
uint FractoriumSettings::BlendFramesMax()        { return value(BLENDFRAMESMAX).toUInt();  }
 | 
			
		||||
void FractoriumSettings::BlendFramesMax(uint i)  { setValue(BLENDFRAMESMAX, i);            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -21,6 +21,8 @@
 | 
			
		||||
#define OPENCLSUBBATCH	     "render/openclsubbatch"
 | 
			
		||||
#define RANDOMCOUNT			 "render/randomcount"
 | 
			
		||||
 | 
			
		||||
#define STAGGER		         "sequence/stagger"
 | 
			
		||||
#define STAGGERMAX		     "sequence/staggermax"
 | 
			
		||||
#define FRAMESPERROT		 "sequence/framesperrot"
 | 
			
		||||
#define FRAMESPERROTMAX		 "sequence/framesperrotmax"
 | 
			
		||||
#define ROTATIONS			 "sequence/rotations"
 | 
			
		||||
@ -133,16 +135,27 @@ public:
 | 
			
		||||
	uint RandomCount();
 | 
			
		||||
	void RandomCount(uint i);
 | 
			
		||||
 | 
			
		||||
	double Stagger();
 | 
			
		||||
	void Stagger(double i);
 | 
			
		||||
 | 
			
		||||
	double StaggerMax();
 | 
			
		||||
	void StaggerMax(double i);
 | 
			
		||||
 | 
			
		||||
	uint FramesPerRot();
 | 
			
		||||
	void FramesPerRot(uint i);
 | 
			
		||||
 | 
			
		||||
	uint FramesPerRotMax();
 | 
			
		||||
	void FramesPerRotMax(uint i);
 | 
			
		||||
 | 
			
		||||
	uint Rotations();
 | 
			
		||||
	void Rotations(uint i);
 | 
			
		||||
	void Rotations(double d);
 | 
			
		||||
 | 
			
		||||
	uint RotationsMax();
 | 
			
		||||
	void RotationsMax(uint i);
 | 
			
		||||
	void RotationsMax(double d);
 | 
			
		||||
 | 
			
		||||
	uint BlendFrames();
 | 
			
		||||
	void BlendFrames(uint i);
 | 
			
		||||
 | 
			
		||||
	uint BlendFramesMax();
 | 
			
		||||
	void BlendFramesMax(uint i);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user