mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-13 03:02:22 +01:00
55 lines
2.1 KiB
Dart
55 lines
2.1 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:archive/archive_io.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:reboot_common/common.dart';
|
|
|
|
// TODO: Use github
|
|
const String _baseDownload = "https://cdn.discordapp.com/attachments/1095351875961901057/1110968021373169674/cobalt.dll";
|
|
const String _consoleDownload = "https://cdn.discordapp.com/attachments/1095351875961901057/1110968095033524234/console.dll";
|
|
const String _memoryFixDownload = "https://cdn.discordapp.com/attachments/1095351875961901057/1110968141556756581/memory.dll";
|
|
const String _embeddedConfigDownload = "https://cdn.discordapp.com/attachments/1026121175878881290/1040679319351066644/embedded.zip";
|
|
|
|
Future<void> downloadRequiredDLLs() async {
|
|
stdout.writeln("Downloading necessary components...");
|
|
var consoleDll = File("${dllsDirectory.path}\\console.dll");
|
|
if(!consoleDll.existsSync()){
|
|
var response = await http.get(Uri.parse(_consoleDownload));
|
|
if(response.statusCode != 200){
|
|
throw Exception("Cannot download console.dll");
|
|
}
|
|
|
|
await consoleDll.writeAsBytes(response.bodyBytes);
|
|
}
|
|
|
|
var craniumDll = File("${dllsDirectory.path}\\cobalt.dll");
|
|
if(!craniumDll.existsSync()){
|
|
var response = await http.get(Uri.parse(_baseDownload));
|
|
if(response.statusCode != 200){
|
|
throw Exception("Cannot download cobalt.dll");
|
|
}
|
|
|
|
await craniumDll.writeAsBytes(response.bodyBytes);
|
|
}
|
|
|
|
var memoryFixDll = File("${dllsDirectory.path}\\memory.dll");
|
|
if(!memoryFixDll.existsSync()){
|
|
var response = await http.get(Uri.parse(_memoryFixDownload));
|
|
if(response.statusCode != 200){
|
|
throw Exception("Cannot download memory.dll");
|
|
}
|
|
|
|
await memoryFixDll.writeAsBytes(response.bodyBytes);
|
|
}
|
|
|
|
if(!backendDirectory.existsSync()){
|
|
var response = await http.get(Uri.parse(_embeddedConfigDownload));
|
|
if(response.statusCode != 200){
|
|
throw Exception("Cannot download embedded server config");
|
|
}
|
|
|
|
var tempZip = File("${tempDirectory.path}/reboot_config.zip");
|
|
await tempZip.writeAsBytes(response.bodyBytes);
|
|
await extractFileToDisk(tempZip.path, backendDirectory.path);
|
|
}
|
|
} |