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); }
/* 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(); }