LTBOOL CFolderHostLevels::FillLevelList(CListCtrl *pList, char* sDir) { // Sanity checks... if (!pList) return(LTFALSE); if (!sDir) return(LTFALSE); FileEntry* pFiles = g_pLTClient->GetFileList(sDir); if (!pFiles) return(FALSE); FileEntry* ptr = pFiles; // Array of controls to add to the list CMoArray<CString *> m_levels; m_levels.SetSize(0); while (ptr) { if (ptr->m_Type == TYPE_FILE) { if (strnicmp(&ptr->m_pBaseFilename[strlen(ptr->m_pBaseFilename) - 4], ".dat", 4) == 0) { char sLevel[128]; strcpy(sLevel, ptr->m_pBaseFilename); int len = strlen(sLevel); if (len > 4) sLevel[len - 4] = '\0'; CString *pStr = debug_new1(CString, sLevel); m_levels.Add(pStr); } } ptr = ptr->m_pNext; } g_pLTClient->FreeFileList(pFiles); while (m_levels.GetSize()) { uint32 nCur = 0; uint32 nTest = 1; while (nTest < m_levels.GetSize()) { if (m_levels[nTest]->CompareNoCase((char *)(LPCTSTR)(*m_levels[nCur])) < 0) { nCur = nTest; } nTest++; } CStaticTextCtrl *pCtrl = CreateStaticTextItem((char *)(LPCTSTR)(*m_levels[nCur]),LTNULL,LTNULL,(int)pList->GetParam1(),GetSmallFont()->GetHeight(),LTFALSE,GetSmallFont()); pList->AddControl(pCtrl); debug_delete(m_levels[nCur]); m_levels.Remove(nCur); } return (LTTRUE); }
CRagDollConstraint* CRagDollAbovePlaneOnEdgeConstraint::Clone() const { return debug_new1(CRagDollAbovePlaneOnEdgeConstraint, *this); }
CRagDollConstraint* CRagDollDistanceConstraint::Clone() const { return debug_new1(CRagDollDistanceConstraint, *this); }
CRagDollConstraint* CRagDollInPlaneConstraint::Clone() const { return debug_new1(CRagDollInPlaneConstraint, *this); }