Files

73 lines
3.2 KiB
C++
Raw Permalink Normal View History

2026-08-23 03:30:31 +03:00
#pragma once
#include <QString>
// Пути к данным лаунчера. Собственная папка galeonLauncher лежит рядом со
// стандартной .minecraft, а не в системном каталоге приложения.
namespace LauncherPaths {
// Родительская папка, в которой лежит .minecraft (и наша galeonLauncher).
QString containerDir();
// <containerDir>/galeonLauncher — корень данных лаунчера.
QString rootDir();
// Стандартная папка игры.
QString defaultMinecraftDir();
QString settingsFile();
QString profilesFile();
// <root>/customBuilds.json — пользовательские сборки.
QString customBuildsFile();
// <root>/versions.json — как сборки назывались до переименования. Читается
// один раз при миграции и больше ни для чего не нужен.
QString legacyCustomBuildsFile();
// <root>/builds — архивы содержимого .minecraft по одному на сборку.
QString buildStorageDir();
2026-08-23 03:30:31 +03:00
2026-08-31 00:59:14 +03:00
// <root>/builds/<id> — папка одной сборки: её архив и, у сезонных, скачанный
// пак с описанием установленной ревизии.
QString buildDir(int buildId);
// <root>/builds/<id>/season.json — какая ревизия сезонной сборки установлена и
// какие файлы она принесла. Список нужен, чтобы при обновлении убрать те, что
// из сборки ушли.
QString seasonalStateFile(int buildId);
2026-08-23 03:30:31 +03:00
// Сюда качается authlib-injector.
QString runtimeDir();
2026-08-27 19:35:11 +03:00
// <root>/java — сборки Java, скачанные лаунчером. Каждая в своей подпапке,
// имя подпапки — идентификатор сборки из каталога.
QString javaDir();
// Слепок каталога доступных сборок Java с отметкой времени.
QString javaCatalogFile();
// Сюда качаются архивы Temurin до распаковки.
QString javaDownloadDir();
2026-08-24 21:09:52 +03:00
// <root>/cache — данные, которые можно удалить без потерь.
QString cacheDir();
// Слепок манифеста версий Mojang с отметкой времени.
QString versionManifestFile();
2026-08-31 00:59:14 +03:00
// Слепок каталога сезонных сборок с отметкой времени.
QString seasonalCatalogFile();
// Слепок списка версий одного модлоадера: loaderKey — forge|fabric|neoforge|quilt.
QString loaderCacheFile(const QString &loaderKey);
// Сюда качаются installer.jar модлоадеров.
QString loaderDownloadDir();
2026-08-23 03:30:31 +03:00
// Создаёт папку лаунчера, если её нет. Вызывается при каждом запуске и перед
// каждой записью. false и текст в error, если папки нет или в неё не пишется.
bool ensureRootExists(QString *error = nullptr);
} // namespace LauncherPaths