42 lines
895 B
JavaScript
42 lines
895 B
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const osuEntities = [
|
|
'avcodec-51.dll',
|
|
'avformat-52.dll',
|
|
'avutil-49.dll',
|
|
'bass.dll',
|
|
'bass_fx.dll',
|
|
'collection.db',
|
|
'd3dcompiler_47.dll',
|
|
'Data',
|
|
'Downloads',
|
|
'libEGL.dll',
|
|
'libGLESv2.dll',
|
|
'Logs',
|
|
'Microsoft.Ink.dll',
|
|
'OpenTK.dll',
|
|
'osu!.cfg',
|
|
'osu!.db',
|
|
'osu!.exe',
|
|
'osu!auth.dll',
|
|
'osu!gameplay.dll',
|
|
'osu!seasonal.dll',
|
|
'osu!ui.dll',
|
|
'presence.db',
|
|
'pthreadGC2.dll',
|
|
'scores.db',
|
|
'Skins',
|
|
'Songs'
|
|
]
|
|
|
|
async function isValidOsuFolder(path) {
|
|
const allFiles = await fs.promises.readdir(path);
|
|
let matches = 0;
|
|
for (const file of allFiles) {
|
|
if (osuEntities.includes(file)) matches = matches + 1;
|
|
}
|
|
return Math.round((matches / osuEntities.length) * 100) >= 60;
|
|
}
|
|
|
|
module.exports = { isValidOsuFolder } |