//
// Created by Tristan on 11/12/2025.
//

#ifndef MPQ_H
#define MPQ_H

#include <StormLib.h>

/*
typedef struct {
    HANDLE backup_enUS_MPQ;
    HANDLE base_enUS_MPQ;
    HANDLE expansion_locale_enUS_MPQ;
    HANDLE expansion_speech_enUS_MPQ;
    HANDLE lichking_locale_enUS_MPQ;
    HANDLE lichking_speech_enUS_MPQ;
    HANDLE locale_enUS_MPQ;
    HANDLE patch_enUS_2_MPQ;
    HANDLE patch_enUS_3_MPQ;
    HANDLE speech_enUS_MPQ;
} LocaleArchives;

typedef struct {
    HANDLE common_MPQ;
    HANDLE common_2_MPQ;
    HANDLE expansion_MPQ;
    HANDLE lichking_MPQ;
    HANDLE patch_MPQ;
    HANDLE patch_2_MPQ;
    HANDLE patch_3_MPQ;
    HANDLE patch_4_MPQ;
    LocaleArchives;
} ArchiveManager; */

typedef struct {
    HANDLE *archives; // array of handles pointing to archives
    size_t count; // num of handles
    size_t capacity; // size of array

    char root_path[MAX_PATH]; // might need this for reconstruction of filepaths
} ArchiveManager;

typedef struct {
    char path[MAX_PATH];
    int load_order_score;
} ArchiveEntry;

#endif //MPQ_H
