Usunięto TUI, Zmieniono strukturę PAK... agan, Rezygnacja z FNV hash jako referencji, Zmieana wartości flag na maski

This commit is contained in:
yanczi 2025-12-19 11:33:03 +01:00
parent a84a69cbd6
commit 91aaa279ec
16 changed files with 86 additions and 575 deletions

View file

@ -98,9 +98,10 @@ bool ExtractCargo::CheckCargoFile()
}
cargoFile.read(magic.data(), magic.size());
cargoFile.read(reinterpret_cast<char*>(&cargoVer), sizeof(cargoVer));
cargoFile.read(reinterpret_cast<char*>(&filesLen), sizeof(filesLen));
// Pobierz pozycjê tablicy plików i jej rozmiar
cargoFile.read(reinterpret_cast<char*>(&tablePosition), sizeof(tablePosition));
cargoFile.read(reinterpret_cast<char*>(&filesLen), sizeof(filesLen));
if (std::string(magic.begin(), magic.end()) != signature)
{
@ -108,12 +109,6 @@ bool ExtractCargo::CheckCargoFile()
return false;
}
if (cargoVer != version)
{
std::cerr << "Error: Wrong cargo version" << std::endl;
return false;
}
filesHeadsOffset = signature.length() + sizeof(cargoVer) + sizeof(filesLen);
return true;
@ -137,9 +132,11 @@ bool ExtractCargo::HashValid(const std::vector<char>& data, const uint64_t& crc)
//-----------------------------------------------------------------------------
// Magiczna funkcja do dekompresji i deszyfracji danych
//-----------------------------------------------------------------------------
void ExtractCargo::computingBytes(const std::vector<char>& input, std::vector<char>& output, const int8_t& flag)
void ExtractCargo::computingBytes(const std::vector<char>& input, std::vector<char>& output, const uint8_t& flag)
{
ChunkManager cm(eman);
std::cout << static_cast<int>(flag) << std::endl;
switch (flag)
{
@ -153,10 +150,7 @@ void ExtractCargo::computingBytes(const std::vector<char>& input, std::vector<ch
case FILE_FLAG_ZIPENC:
output = cm.dechunked(input, true, true);
break;
case FILE_FLAG_CHUNK:
output = cm.dechunked(input, false, false);
std::cout << "DENC" << std::endl;
break;
default:
@ -180,7 +174,6 @@ void ExtractCargo::LoadFilesTable()
cargoFile.read(nameBuffor.data(), fhTmp.nameLen);
fhTmp.nameFile = std::string(nameBuffor.begin(), nameBuffor.end());
cargoFile.read(reinterpret_cast<char*>(&fhTmp.hashName), sizeof(fhTmp.hashName));
cargoFile.read(reinterpret_cast<char*>(&fhTmp.offset), sizeof(fhTmp.offset));
cargoFile.read(reinterpret_cast<char*>(&fhTmp.size), sizeof(fhTmp.size));
cargoFile.read(reinterpret_cast<char*>(&fhTmp.crc), sizeof(fhTmp.crc));