示例#1
0
void LocationDlg::UpdateEnabling()
{
	GetAnimPos()->Enable(m_iAnim != -1);
	GetSaveAnim()->Enable(m_iAnim != -1);
	GetActive()->Enable(m_iAnim != -1);
	GetSpeed()->Enable(m_iAnim != -1);
	GetReset()->Enable(m_iAnim != -1);
	GetPlay()->Enable(m_iAnim != -1);
	GetRecord1()->Enable(m_iAnim != -1);
	GetStop()->Enable(m_iAnim != -1);
	GetLoop()->Enable(m_iAnim != -1);
	GetContinuous()->Enable(m_iAnim != -1);
	GetSmooth()->Enable(m_iAnim != -1 && GetAnim(m_iAnim)->NumPoints() > 2);
	GetPosOnly()->Enable(m_iAnim != -1);

	GetRecordInterval()->Enable(m_iAnim != -1);
	GetRecordLinear()->Enable(m_iAnim != -1);

	GetRecordSpacing()->Enable(m_bRecordInterval);
	GetPlayToDisk()->Enable(m_iAnim != -1);
}
示例#2
0
/* Stores move in Hash Table */
void SaveMove(Reset *CurrentReset)
{
  Reset **ptr;
  Reset *MyCopy;

  MyCopy = GetReset();
  DuplicateReset(MyCopy,CurrentReset);
  MyCopy->HashCount = 0;

  ptr = &(HashTable[CurrentReset->HashValue % HASH_TABLE_SIZE]);
  while ((*ptr != NULLRESET) && ((*ptr)->HashValue < CurrentReset->HashValue))
    ptr = &((*ptr)->Sibling);

  /* Insert this reset BEFORE the reset *ptr is pointing to */
  MyCopy->Sibling = *ptr;
  *ptr = MyCopy;

  HashEntryCount++;
  if (HashEntryCount > MaxHashEntryCount)
    ReduceHashEntries();
}