private static function buildFileList() { self::log(); self::log('reading MPQdata from ' . self::$srcDir . ' to list for first time use...'); $setupDirs = glob('setup/*'); foreach ($setupDirs as $sd) { if (substr(self::$srcDir, -1) == '/') { self::$srcDir = substr(self::$srcDir, 0, -1); } if (substr($sd, -1) == '/') { $sd = substr($sd, 0, -1); } if (strtolower($sd) == strtolower(self::$srcDir)) { self::$srcDir = $sd . '/'; break; } } try { $iterator = new RecursiveDirectoryIterator(self::$srcDir); $iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS); foreach (new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST) as $path) { $_ = str_replace('\\', '/', $path->getPathname()); self::$mpqFiles[strtolower($_)] = $_; } self::log('done'); self::log(); } catch (UnexpectedValueException $e) { self::log('- mpqData dir ' . self::$srcDir . ' does not exist', self::LOG_ERROR); return false; } return true; }