Usunięto TUI, Zmieniono strukturę PAK... agan, Rezygnacja z FNV hash jako referencji, Zmieana wartości flag na maski
This commit is contained in:
parent
a84a69cbd6
commit
91aaa279ec
16 changed files with 86 additions and 575 deletions
|
|
@ -40,7 +40,7 @@ std::vector<char> ChunkManager::chunked(const std::vector<char>& raw, const bool
|
|||
const size_t maxBlockSize = BLOCK_SIZE;
|
||||
const size_t rawSize = raw.size();
|
||||
|
||||
uint16_t blockLen = 0;
|
||||
uint32_t blockLen = 0;
|
||||
uint32_t lastChunkRawSize;
|
||||
std::vector<char> compressedBlocks;
|
||||
for (size_t offset = 0; offset < rawSize; offset += maxBlockSize)
|
||||
|
|
@ -68,8 +68,8 @@ std::vector<char> ChunkManager::chunked(const std::vector<char>& raw, const bool
|
|||
outChunk = encrypt ? eman.encrypt(chunk) : std::move(chunk);
|
||||
}
|
||||
|
||||
uint32_t chs = chunk.size();
|
||||
uint32_t zch = outChunk.size();
|
||||
uint32_t chs = static_cast<uint32_t>(chunk.size());
|
||||
uint32_t zch = static_cast<uint32_t>(outChunk.size());
|
||||
|
||||
//addIntToVector<uint32_t>(compressedBlocks, chs);
|
||||
lastChunkRawSize = chs;
|
||||
|
|
@ -83,7 +83,7 @@ std::vector<char> ChunkManager::chunked(const std::vector<char>& raw, const bool
|
|||
// Wstaw liczbê o iloœci bloków do vectora;
|
||||
// Przekonpwertuj usigned int32 na ci¹g znkaów
|
||||
// uint16_t blockLen = blockSizes .size();
|
||||
addIntToVector<uint16_t>(zip, blockLen);
|
||||
addIntToVector<uint32_t>(zip, blockLen);
|
||||
addIntToVector<uint32_t>(zip, maxBlockSize);
|
||||
addIntToVector<uint32_t>(zip, lastChunkRawSize);
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ std::vector<char> ChunkManager::chunked(const std::vector<char>& raw, const bool
|
|||
std::vector<char> ChunkManager::dechunked(const std::vector<char>& zip, const bool& compress, const bool& encrypt)
|
||||
{
|
||||
size_t offset = 0;
|
||||
const uint16_t chunkLen = getIntFromVector<uint16_t>(zip, offset);
|
||||
const uint32_t chunkLen = getIntFromVector<uint32_t>(zip, offset);
|
||||
const uint32_t chunkBeforeSize = getIntFromVector<uint32_t>(zip, offset);
|
||||
const uint32_t chunkLastSize = getIntFromVector<uint32_t>(zip, offset);
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ CreateCargo::~CreateCargo() {
|
|||
//-----------------------------------------------------------------------------
|
||||
// Punk wejścia do tworzenia archivum
|
||||
//-----------------------------------------------------------------------------
|
||||
bool CreateCargo::Create(const std::string& path, const short& flag)
|
||||
bool CreateCargo::Create(const std::string& path, const uint8_t& flag)
|
||||
{
|
||||
cargoFile = path + "." + extension;
|
||||
catalogPath = path;
|
||||
|
|
@ -88,9 +88,9 @@ bool CreateCargo::Create(const std::string& path, const short& flag)
|
|||
}
|
||||
|
||||
// Zapisywanie klucza szyfrującego
|
||||
if (flag == 2 || flag == 3 || encList.size() > 0)
|
||||
if (flag == FILE_FLAG_ENCRYPT || flag == FILE_FLAG_ZIPENC || encList.size() > 0)
|
||||
{
|
||||
crypt.saveKey(catalogPath, hppKey);
|
||||
eman.saveKey(catalogPath, hppKey);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -119,7 +119,7 @@ bool CreateCargo::GetFileList(const std::string& path)
|
|||
else
|
||||
{
|
||||
PathConf pc;
|
||||
if (methodFlags > -1)
|
||||
if (methodFlags != 0xAB)
|
||||
{
|
||||
pc.path = PathToUnixLike(tmpPath);
|
||||
pc.parameter = methodFlags;
|
||||
|
|
@ -184,9 +184,8 @@ CargoHead CreateCargo::CreateCargoHead(const uint32_t& filesLen, const uint64_t&
|
|||
CargoHead ch;
|
||||
|
||||
ch.signature = signature;
|
||||
ch.version = version;
|
||||
ch.files = filesLen;
|
||||
ch.table = table;
|
||||
ch.files = filesLen;
|
||||
|
||||
return ch;
|
||||
}
|
||||
|
|
@ -194,11 +193,11 @@ CargoHead CreateCargo::CreateCargoHead(const uint32_t& filesLen, const uint64_t&
|
|||
//-----------------------------------------------------------------------------
|
||||
// Sprawdza czy plik znajduje się na liście
|
||||
//-----------------------------------------------------------------------------
|
||||
void CreateCargo::computingBytes(const int8_t& flag, std::vector<char>& input, std::vector<char>& output)
|
||||
void CreateCargo::computingBytes(const uint8_t& flag, std::vector<char>& input, std::vector<char>& output)
|
||||
{
|
||||
//Flaga aktywna sprawdza czy plik jest na liście. Jeśli jest to zwraca surowedane
|
||||
//Przeciwnie kompresuje dane
|
||||
ChunkManager cm(crypt);
|
||||
ChunkManager cm(eman);
|
||||
|
||||
switch (flag)
|
||||
{
|
||||
|
|
@ -214,10 +213,6 @@ void CreateCargo::computingBytes(const int8_t& flag, std::vector<char>& input, s
|
|||
output = cm.chunked(input, true, true);
|
||||
break;
|
||||
|
||||
case FILE_FLAG_RAW:
|
||||
output = cm.chunked(input, false, false);
|
||||
break;
|
||||
|
||||
default:
|
||||
output = std::move(input);
|
||||
break;
|
||||
|
|
@ -231,13 +226,12 @@ std::vector<FilesTable> CreateCargo::ComputingHeadFiles()
|
|||
{
|
||||
//Utwórz header TMP. Zabezpiecza Pierwsze bajty na właściwy nagłówek
|
||||
CargoHead cargoHead = CreateCargoHead(0, 0);
|
||||
offset += cargoHead.signature.length() + sizeof(cargoHead.version) + sizeof(cargoHead.files) + sizeof(cargoHead.table);
|
||||
offset += cargoHead.signature.length() + sizeof(cargoHead.files) + sizeof(cargoHead.table);
|
||||
|
||||
//Zapisanie tymczasowego nagłowka jako rezerwacja miejsca
|
||||
cargo.write(cargoHead.signature.data(), cargoHead.signature.length());
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.version), sizeof(cargoHead.version));
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.files), sizeof(cargoHead.files));
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.table), sizeof(cargoHead.table));
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.files), sizeof(cargoHead.files));
|
||||
|
||||
std::vector<FilesTable> filesTable;
|
||||
|
||||
|
|
@ -269,13 +263,14 @@ std::vector<FilesTable> CreateCargo::ComputingHeadFiles()
|
|||
std::vector<char> pakBuffer;
|
||||
computingBytes(file.parameter, buffer, pakBuffer);
|
||||
|
||||
std::cout << static_cast<int>(file.parameter) << std::endl;
|
||||
|
||||
FilesTable ft;
|
||||
ft.nameFile = path;
|
||||
ft.nameLen = path.length();
|
||||
ft.hashName = fnv64(path);
|
||||
ft.offset = offset;
|
||||
ft.size = pakBuffer.size();
|
||||
ft.flag = static_cast<int8_t>(file.parameter);
|
||||
ft.flag = file.parameter;
|
||||
ft.crc = crc;
|
||||
|
||||
cargo.write(reinterpret_cast<const char*>(pakBuffer.data()), pakBuffer.size());
|
||||
|
|
@ -358,24 +353,6 @@ std::string CreateCargo::UpperString(std::string s) {
|
|||
return s;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Wygenerój FNV-1a HASH
|
||||
//-----------------------------------------------------------------------------
|
||||
uint64_t CreateCargo::fnv64(const std::string& data)
|
||||
{
|
||||
const uint64_t fnvOffset = 14695981039346656037u;
|
||||
const uint64_t fnvPrime = 1099511628211u;
|
||||
|
||||
uint64_t hash = fnvOffset;
|
||||
for (unsigned char c : data)
|
||||
{
|
||||
hash ^= c;
|
||||
hash *= fnvPrime;
|
||||
}
|
||||
|
||||
return hash;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Trworzenie archiwum
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -402,7 +379,6 @@ bool CreateCargo::WriteCargo()
|
|||
cargo.write(reinterpret_cast<const char*>(&head.nameLen), sizeof(head.nameLen));
|
||||
cargo.write(head.nameFile.data(), head.nameLen);
|
||||
|
||||
cargo.write(reinterpret_cast<const char*>(&head.hashName), sizeof(head.hashName));
|
||||
cargo.write(reinterpret_cast<const char*>(&head.offset), sizeof(head.offset));
|
||||
cargo.write(reinterpret_cast<const char*>(&head.size), sizeof(head.size));
|
||||
cargo.write(reinterpret_cast<const char*>(&head.crc), sizeof(head.crc));
|
||||
|
|
@ -417,9 +393,8 @@ bool CreateCargo::WriteCargo()
|
|||
|
||||
//Nadpisz tymczasowy nagłówek
|
||||
cargo.write(cargoHead.signature.data(), cargoHead.signature.length());
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.version), sizeof(cargoHead.version));
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.files), sizeof(cargoHead.files));
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.table), sizeof(cargoHead.table));
|
||||
cargo.write(reinterpret_cast<const char*>(&cargoHead.files), sizeof(cargoHead.files));
|
||||
|
||||
cargo.close();
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
struct PathConf
|
||||
{
|
||||
std::string path;
|
||||
int8_t parameter;
|
||||
uint8_t parameter;
|
||||
};
|
||||
|
||||
class CreateCargo {
|
||||
|
|
@ -56,14 +56,14 @@ public:
|
|||
virtual ~CreateCargo();
|
||||
|
||||
// Punk wejœcia do tworzenia archivum
|
||||
bool Create(const std::string&, const short&);
|
||||
bool Create(const std::string&, const uint8_t&);
|
||||
|
||||
private:
|
||||
const std::string signature;
|
||||
const std::string extension;
|
||||
const signed char version;
|
||||
|
||||
short methodFlags;
|
||||
uint8_t methodFlags;
|
||||
|
||||
|
||||
std::string catalogPath;
|
||||
|
|
@ -72,7 +72,7 @@ private:
|
|||
|
||||
std::vector<std::string> filesList;
|
||||
|
||||
EncryptionManager crypt;
|
||||
EncryptionManager eman;
|
||||
bool hppKey;
|
||||
|
||||
// listy wyj¹tków
|
||||
|
|
@ -110,7 +110,7 @@ private:
|
|||
void GetFilters(const std::string&);
|
||||
|
||||
// Sprawdza czy plik znajduje siê na liœcie
|
||||
void computingBytes(const int8_t&, std::vector<char>&, std::vector<char>&);
|
||||
void computingBytes(const uint8_t&, std::vector<char>&, std::vector<char>&);
|
||||
|
||||
// Sprawdzanie rozsze¿eñ plików
|
||||
bool CheckFileExtension(const std::string&, const std::vector<std::string>&);
|
||||
|
|
@ -118,9 +118,6 @@ private:
|
|||
// Zamieñ ca³y ci¹g na du¿e litery
|
||||
std::string UpperString(std::string);
|
||||
|
||||
// Wygenerój FNV-1a HASH
|
||||
uint64_t fnv64(const std::string& data);
|
||||
|
||||
// ZnajdŸ wskazany element na liœcie
|
||||
bool FindOnTheList(const std::vector<std::string>&, const std::string&);
|
||||
};
|
||||
|
|
|
|||
29
DataStruct.h
29
DataStruct.h
|
|
@ -34,27 +34,19 @@
|
|||
#define CHUNK_STREAM_16MB 16777216 // 16MB
|
||||
#define CHUNK_STREAM_256MB 268435456 // 256MB
|
||||
|
||||
enum StoreMethod
|
||||
{
|
||||
FILTERING = -1,
|
||||
RAW = 0,
|
||||
COMPRESS = 1,
|
||||
ENCRYPT = 2,
|
||||
COMPRESSxENCRYPT = 3
|
||||
};
|
||||
#define FILE_FLAG_RAW 0x00
|
||||
#define FILE_FLAG_COMPRESS 0x0F
|
||||
#define FILE_FLAG_ENCRYPT 0xF0
|
||||
#define FILE_FLAG_ZIPENC 0xFF
|
||||
|
||||
#define FILE_FLAG_RAW 0x00
|
||||
#define FILE_FLAG_COMPRESS 0x01
|
||||
#define FILE_FLAG_ENCRYPT 0x02
|
||||
#define FILE_FLAG_ZIPENC 0x03
|
||||
#define FILE_FLAG_CHUNK 0x04
|
||||
#define FILE_FLAG_FILTERING 0xAB
|
||||
|
||||
|
||||
//Prgoram title
|
||||
#define PROGRAM_TITLE "eXtendet PAK"
|
||||
#define PROGRAM_VERSION "v0.4"
|
||||
#define PROGRAM_VERSION "v0.5"
|
||||
#define PROGRAM_AUTHOR "Yanczi"
|
||||
#define PROGRAM_COMPILING "12 December 2025"
|
||||
#define PROGRAM_COMPILING "19 December 2025"
|
||||
#define PROGRAM_LICENSE "GNU LGPL v3"
|
||||
|
||||
//Limity
|
||||
|
|
@ -64,18 +56,17 @@ enum StoreMethod
|
|||
struct CargoHead
|
||||
{
|
||||
std::string signature;
|
||||
int8_t version;
|
||||
uint32_t files;
|
||||
uint8_t version;
|
||||
uint64_t table;
|
||||
uint32_t files;
|
||||
};
|
||||
|
||||
struct FilesTable
|
||||
{
|
||||
uint8_t nameLen;
|
||||
std::string nameFile;
|
||||
uint64_t hashName;
|
||||
uint64_t offset;
|
||||
uint64_t size;
|
||||
uint64_t crc;
|
||||
int8_t flag;
|
||||
uint8_t flag;
|
||||
};
|
||||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -76,6 +76,6 @@ private:
|
|||
void CreateDirections(std::filesystem::path);
|
||||
|
||||
// Magiczna funkcja do dekompresji i deszyfracji danych
|
||||
void computingBytes(const std::vector<char>&, std::vector<char>&, const int8_t&);
|
||||
void computingBytes(const std::vector<char>&, std::vector<char>&, const uint8_t&);
|
||||
|
||||
};
|
||||
|
|
|
|||
113
ViewCargo.cpp
113
ViewCargo.cpp
|
|
@ -20,14 +20,7 @@
|
|||
#include "ViewCargo.h"
|
||||
|
||||
ViewCargo::ViewCargo()
|
||||
:signature(SIGNATURE)
|
||||
, version(VERSION)
|
||||
, filesLen(0)
|
||||
, tablePos(0)
|
||||
{
|
||||
std::vector<std::string> header = {"Comress", "Encrypt", "Path", "RefHASH"};
|
||||
list.push_back(header);
|
||||
}
|
||||
{}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Wywoływanie
|
||||
|
|
@ -49,26 +42,24 @@ bool ViewCargo::View(const std::string& path)
|
|||
}
|
||||
|
||||
//Sprawdź czy kontener jest prawidłowy
|
||||
if (!CheckCargoFile(path))
|
||||
if (!ViewFiles(path))
|
||||
{
|
||||
std::cerr << "Nie prawidlowa struktura kontenera Void" << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
//Pobieranie listy plików
|
||||
GetFileList(path);
|
||||
|
||||
//Renderowanie listy plików
|
||||
RenderList();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Sprawdzenie poprawności kontenera
|
||||
//-----------------------------------------------------------------------------
|
||||
bool ViewCargo::CheckCargoFile(const std::string& path)
|
||||
bool ViewCargo::ViewFiles(const std::string& path)
|
||||
{
|
||||
uint64_t tabPos = 0;
|
||||
uint32_t tabSize = 0;
|
||||
|
||||
const std::string signature = SIGNATURE;
|
||||
std::vector<char> magic(signature.length());
|
||||
int8_t cargoVer = 0;
|
||||
|
||||
|
|
@ -81,15 +72,14 @@ bool ViewCargo::CheckCargoFile(const std::string& path)
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Odczytywanie pierwszych 11 bajtów nag³ówka pliku
|
||||
// 6 pierwszych to sygnatura
|
||||
// 1 wersja kontenera
|
||||
// 4 iloœæ plików w kontenerze
|
||||
// Odczytywanie pierwszych 16 bajtów nag³ówka pliku
|
||||
// 4 Sygnatura kontenera XPAK
|
||||
// 8 Offset tablicy plików
|
||||
// 4 Rozmiar tablicy plików
|
||||
//---------------------------------------------------------------
|
||||
cargo.read(magic.data(), magic.size());
|
||||
cargo.read(reinterpret_cast<char*>(&cargoVer), sizeof(cargoVer));
|
||||
cargo.read(reinterpret_cast<char*>(&filesLen), sizeof(filesLen));
|
||||
cargo.read(reinterpret_cast<char*>(&tablePos), sizeof(tablePos));
|
||||
cargo.read(reinterpret_cast<char*>(&tabPos), sizeof(tabPos));
|
||||
cargo.read(reinterpret_cast<char*>(&tabSize), sizeof(tabSize));
|
||||
|
||||
//Sprawdź czy kontener ma poprawną sygnature
|
||||
if (std::string(magic.begin(), magic.end()) != signature)
|
||||
|
|
@ -99,28 +89,13 @@ bool ViewCargo::CheckCargoFile(const std::string& path)
|
|||
return false;
|
||||
}
|
||||
|
||||
//SprawdŸ spójnoœæ wersji kontenera
|
||||
if (cargoVer != version)
|
||||
{
|
||||
std::cerr << "Error: Wrong cargo version" << std::endl;
|
||||
cargo.close();
|
||||
return false;
|
||||
}
|
||||
std::cout << "ZIP" << " " << "ENC" << " " << "Path" << std::endl;
|
||||
|
||||
cargo.close();
|
||||
// Przeskocz do tablicy plików
|
||||
cargo.seekg(tabPos);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Pobieranie listy plików z kontenera
|
||||
//-----------------------------------------------------------------------------
|
||||
void ViewCargo::GetFileList(const std::string& path)
|
||||
{
|
||||
std::ifstream cargo(path, std::ios::binary);
|
||||
cargo.seekg(tablePos);
|
||||
|
||||
for (uint32_t i = 0; i < filesLen; ++i)
|
||||
// Za³aduj dane o plikach
|
||||
for (uint32_t i = 0; i < tabSize; ++i)
|
||||
{
|
||||
FilesTable fhTmp;
|
||||
cargo.read(reinterpret_cast<char*>(&fhTmp.nameLen), sizeof(fhTmp.nameLen));
|
||||
|
|
@ -129,74 +104,50 @@ void ViewCargo::GetFileList(const std::string& path)
|
|||
cargo.read(nameBuffor.data(), fhTmp.nameLen);
|
||||
fhTmp.nameFile = std::string(nameBuffor.begin(), nameBuffor.end());
|
||||
|
||||
cargo.read(reinterpret_cast<char*>(&fhTmp.hashName), sizeof(fhTmp.hashName));
|
||||
cargo.read(reinterpret_cast<char*>(&fhTmp.offset), sizeof(fhTmp.offset));
|
||||
cargo.read(reinterpret_cast<char*>(&fhTmp.size), sizeof(fhTmp.size));
|
||||
cargo.read(reinterpret_cast<char*>(&fhTmp.crc), sizeof(fhTmp.crc));
|
||||
cargo.read(reinterpret_cast<char*>(&fhTmp.flag), sizeof(fhTmp.flag));
|
||||
|
||||
//Tworzenie wierszy tabeli
|
||||
CreateTableRow(fhTmp.nameFile, fhTmp.flag, fhTmp.hashName);
|
||||
ShowFile(fhTmp.nameFile, fhTmp.flag);
|
||||
}
|
||||
|
||||
cargo.close();
|
||||
tui.table(list);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Generowanie wierszy do tabeli
|
||||
//-----------------------------------------------------------------------------
|
||||
void ViewCargo::CreateTableRow(const std::string& file, const uint8_t& flag, const uint64_t& hash)
|
||||
void ViewCargo::ShowFile(const std::string& file, const uint8_t& flag)
|
||||
{
|
||||
//Zamiania crc liczbowej na hex string
|
||||
std::stringstream ss;
|
||||
ss << "0x" << std::hex << std::uppercase << hash;
|
||||
|
||||
//Lista
|
||||
std::vector<std::string> tmpList = { "[ ]", "[ ]", file, ss.str() };
|
||||
|
||||
std::vector<ftxui::Element> cell;
|
||||
|
||||
ftxui::Element eZip;
|
||||
ftxui::Element eEnc;
|
||||
std::string compresedCheck = "[ ]";
|
||||
std::string encryptedCheck = "[ ]";
|
||||
|
||||
// Ustawianie checkboxów
|
||||
switch (flag)
|
||||
{
|
||||
case FILE_FLAG_COMPRESS:
|
||||
//eZip = ftxui::text(" [x] ") | ftxui::color(ftxui::Color::Cyan);
|
||||
//eEnc = ftxui::text(" [ ] ") | ftxui::color(ftxui::Color::White);
|
||||
tmpList[0] = "[x]";
|
||||
compresedCheck = "[x]";
|
||||
break;
|
||||
|
||||
case FILE_FLAG_ENCRYPT:
|
||||
tmpList[1] = "[x]";
|
||||
encryptedCheck = "[x]";
|
||||
break;
|
||||
|
||||
case FILE_FLAG_ZIPENC:
|
||||
tmpList[0] = "[x]";
|
||||
tmpList[1] = "[x]";
|
||||
compresedCheck = "[x]";
|
||||
encryptedCheck = "[x]";
|
||||
break;
|
||||
|
||||
default:
|
||||
tmpList[0] = "[ ]";
|
||||
tmpList[1] = "[ ]";
|
||||
compresedCheck = "[ ]";
|
||||
encryptedCheck = "[ ]";
|
||||
break;
|
||||
}
|
||||
|
||||
//Dodanie wiersza do listy
|
||||
list.push_back(tmpList);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Renderowanie listy plików
|
||||
//-----------------------------------------------------------------------------
|
||||
void ViewCargo::RenderList()
|
||||
{
|
||||
//Dodawanie wierszy do kolumn
|
||||
ftxui::Element table = ftxui::vbox(std::move(filesList));
|
||||
|
||||
auto screen = ftxui::Screen::Create(ftxui::Dimension::Fit(table));
|
||||
ftxui::Render(screen, table);
|
||||
screen.Print();
|
||||
// Wyœwietlanie
|
||||
std::cout << compresedCheck << " " << encryptedCheck << " " << file << std::endl;
|
||||
}
|
||||
|
|
|
|||
16
ViewCargo.h
16
ViewCargo.h
|
|
@ -30,7 +30,6 @@
|
|||
#include <ftxui/dom/table.hpp>
|
||||
|
||||
#include "DataStruct.h"
|
||||
#include "Tui.h"
|
||||
|
||||
class ViewCargo {
|
||||
public:
|
||||
|
|
@ -40,19 +39,8 @@ public:
|
|||
bool View(const std::string&);
|
||||
|
||||
private:
|
||||
Tui tui;
|
||||
const std::string signature;
|
||||
const uint16_t version;
|
||||
|
||||
uint32_t filesLen;
|
||||
uint64_t tablePos;
|
||||
std::vector<ftxui::Element> filesList;
|
||||
std::vector<std::vector<std::string>> list;
|
||||
|
||||
bool CheckCargoFile(const std::string&);
|
||||
void GetFileList(const std::string&);
|
||||
void RenderList();
|
||||
void CreateTableRow(const std::string&, const uint8_t&, const uint64_t&);
|
||||
bool ViewFiles(const std::string&);
|
||||
void ShowFile(const std::string&, const uint8_t&);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,251 +1,126 @@
|
|||
Nam strzelać nie kazano. - Wstąpiłem na działo
|
||||
|
||||
I spójrzałem na pole; dwieście armat grzmiało.
|
||||
|
||||
Artyleryi ruskiej ciągną się szeregi,
|
||||
|
||||
Prosto, długo, daleko, jako morza brzegi;
|
||||
|
||||
I widziałem ich wodza: przybiegł, mieczem skinął
|
||||
|
||||
I jak ptak jedno skrzydło wojska swego zwinął;
|
||||
|
||||
Wylewa się spod skrzydła ściśniona piechota
|
||||
|
||||
Długą czarną kolumną, jako lawa błota,
|
||||
|
||||
Nasypana iskrami bagnetów. Jak sępy
|
||||
|
||||
Czarne chorągwie na śmierć prowadzą zastępy.
|
||||
|
||||
|
||||
|
||||
Przeciw nim sterczy biała, wąska, zaostrzona,
|
||||
|
||||
Jak głaz bodzący morze, reduta Ordona.
|
||||
|
||||
Sześć tylko miała armat; wciąż dymią i świecą;
|
||||
|
||||
I nie tyle prędkich słów gniewne usta miecą,
|
||||
|
||||
Nie tyle przejdzie uczuć przez duszę w rozpaczy,
|
||||
|
||||
Ile z tych dział leciało bomb, kul i kartaczy.
|
||||
|
||||
Patrz, tam granat w sam środek kolumny się nurza,
|
||||
|
||||
Jak w fale bryła lawy, pułk dymem zachmurza;
|
||||
|
||||
Pęka śród dymu granat, szyk pod niebo leci
|
||||
|
||||
I ogromna łysina śród kolumny świeci.
|
||||
|
||||
|
||||
|
||||
Tam kula, lecąc, z dala grozi, szumi, wyje.
|
||||
|
||||
Ryczy jak byk przed bitwą, miota się, grunt ryje; -
|
||||
|
||||
Już dopadła; jak boa śród kolumn się zwija,
|
||||
|
||||
Pali piersią, rwie zębem, oddechem zabija.
|
||||
|
||||
Najstraszniejszej nie widać, lecz słychać po dźwięku,
|
||||
|
||||
Po waleniu się trupów, po ranionych jęku:
|
||||
|
||||
Gdy kolumnę od końca do końca przewierci,
|
||||
|
||||
Jak gdyby środkiem wojska przeszedł anioł śmierci.
|
||||
|
||||
|
||||
|
||||
Gdzież jest król, co na rzezie tłumy te wyprawia?
|
||||
|
||||
Czy dzieli ich odwagę, czy pierś sam nadstawia?
|
||||
|
||||
Nie, on siedzi o pięćset mil na swej stolicy,
|
||||
|
||||
Król wielki, samowładnik świata połowicy;
|
||||
|
||||
Zmarszczył brwi, - i tysiące kibitek wnet leci;
|
||||
|
||||
Podpisał, - tysiąc matek opłakuje dzieci;
|
||||
|
||||
Skinął, - padają knuty od Niemna do Chiwy.
|
||||
|
||||
Mocarzu, jak Bóg silny, jak szatan złośliwy,
|
||||
|
||||
Gdy Turków za Bałkanem twoje straszą spiże,
|
||||
|
||||
Gdy poselstwo paryskie twoje stopy liże, -
|
||||
|
||||
Warszawa jedna twojej mocy się urąga,
|
||||
|
||||
Podnosi na cię rękę i koronę ściąga,
|
||||
|
||||
Koronę Kazimierzów, Chrobrych z twojej głowy,
|
||||
|
||||
Boś ją ukradł i skrwawił, synu Wasilowy!
|
||||
|
||||
|
||||
|
||||
Car dziwi się - ze strachu. drzą Petersburczany,
|
||||
|
||||
Car gniewa się - ze strachu mrą jego dworzany;
|
||||
|
||||
Ale sypią się wojska, których Bóg i wiara
|
||||
|
||||
Jest Car. - Car gniewny: umrzem, rozweselim Cara.
|
||||
|
||||
Posłany wódz kaukaski z siłami pół-świata,
|
||||
|
||||
Wierny, czynny i sprawny - jak knut w ręku kata.
|
||||
|
||||
|
||||
|
||||
Ura! ura! Patrz, blisko reduty, już w rowy
|
||||
|
||||
Walą się, na faszynę kładąc swe tułowy;
|
||||
|
||||
Już czernią się na białych palisadach wałów.
|
||||
|
||||
Jeszcze reduta w środku, jasna od wystrzałów,
|
||||
|
||||
Czerwieni się nad czernią: jak w środek mrowiaka
|
||||
|
||||
Wrzucony motyl błyska, - mrowie go naciska, -
|
||||
|
||||
Zgasł - tak zgasła reduta. Czyż ostatnie działo
|
||||
|
||||
Strącone z łoża w piasku paszczę zagrzebało?
|
||||
|
||||
Czy zapał krwią ostatni bombardyjer zalał?
|
||||
|
||||
Zgasnął ogień. - Już Moskal rogatki wywalał.
|
||||
|
||||
|
||||
|
||||
Gdzież ręczna broń? - Ach, dzisiaj pracowała więcej
|
||||
|
||||
Niż na wszystkich przeglądach za władzy książęcej;
|
||||
|
||||
Zgadłem, dlaczego milczy, - bo nieraz widziałem
|
||||
|
||||
Garstkę naszych walczącą z Moskali nawałem.
|
||||
|
||||
Gdy godzinę wołano dwa słowa: pal, nabij;
|
||||
|
||||
Gdy oddechy dym tłumi, trud ramiona słabi;
|
||||
|
||||
A wciąż grzmi rozkaz wodzów, wre żołnierza czynność;
|
||||
|
||||
Na koniec bez rozkazu pełnią swą powinność,
|
||||
|
||||
Na koniec bez rozwagi, bez czucia, pamięci,
|
||||
|
||||
Żołnierz jako młyn palny nabija - grzmi - kręci
|
||||
|
||||
Broń od oka do nogi, od nogi na oko:
|
||||
|
||||
Aż ręka w ładownicy długo i głęboko
|
||||
|
||||
Szukała, nie znalazła - i żołnierz pobladnął,
|
||||
|
||||
Nie znalazłszy ładunku, już bronią nie władnął;
|
||||
|
||||
I uczuł, że go pali strzelba rozogniona;
|
||||
|
||||
Upuścił ją i upadł; - nim dobiją, skona.
|
||||
|
||||
Takem myślił, - a w szaniec nieprzyjaciół kupa
|
||||
|
||||
Już łazła, jak robactwo na świeżego trupa.
|
||||
|
||||
|
||||
|
||||
Pociemniało mi w oczach - a gdym łzy ocierał,
|
||||
|
||||
Słyszałem, że coś do mnie mówił mój Jenerał.
|
||||
|
||||
On przez lunetę wspartą na moim ramieniu
|
||||
|
||||
Długo na szturm i szaniec poglądał w milczeniu.
|
||||
|
||||
Na koniec rzekł; "Stracona". - Spod lunety jego
|
||||
|
||||
Wymknęło się łez kilka, - rzekł do mnie: "Kolego,
|
||||
|
||||
Wzrok młody od szkieł lepszy; patrzaj, tam na wale,
|
||||
|
||||
Znasz Ordona, czy widzisz, gdzie jest?" - "Jenerale,
|
||||
|
||||
Czy go znam? - Tam stał zawsze, to działo kierował.
|
||||
|
||||
Nie widzę - znajdę - dojrzę! - śród dymu się schował:
|
||||
|
||||
Lecz śród najgęstszych kłębów dymu ileż razy
|
||||
|
||||
Widziałem rękę jego, dającą rozkazy. -
|
||||
|
||||
Widzę go znowu, - widzę rękę - błyskawicę,
|
||||
|
||||
Wywija, grozi wrogom, trzyma palną świécę,
|
||||
|
||||
Biorą go - zginął - o nie, - skoczył w dół, - do lochów"!
|
||||
|
||||
"Dobrze - rzecze Jenerał - nie odda im prochów".
|
||||
|
||||
|
||||
|
||||
Tu blask - dym - chwila cicho - i huk jak stu gromów.
|
||||
|
||||
Zaćmiło się powietrze od ziemi wylomów,
|
||||
|
||||
Harmaty podskoczyły i jak wystrzelone
|
||||
|
||||
Toczyły się na kołach - lonty zapalone
|
||||
|
||||
Nie trafiły do swoich panew. I dym wionął
|
||||
|
||||
Prosto ku nam; i w gęstej chmurze nas ochłonął.
|
||||
|
||||
I nie było nic widać prócz granatów blasku,
|
||||
|
||||
I nie było nic widać prócz granatów blasku
|
||||
I powoli dym rzedniał, opadał deszcz piasku.
|
||||
|
||||
Spojrzałem na redutę; - wały, palisady,
|
||||
|
||||
Działa i naszych garstka, i wrogów gromady;
|
||||
|
||||
Wszystko jako sen znikło. - Tylko czarna bryła
|
||||
|
||||
Ziemi niekształtnej leży - rozjemcza mogiła.
|
||||
|
||||
Tam i ci, co bronili, -i ci, co się wdarli,
|
||||
|
||||
Pierwszy raz pokój szczery i wieczny zawarli.
|
||||
|
||||
Choćby cesarz Moskalom kazał wstać, już dusza
|
||||
|
||||
Moskiewska. tam raz pierwszy, cesarza nie słusza.
|
||||
|
||||
Tam zagrzebane tylu set ciała, imiona:
|
||||
|
||||
Dusze gdzie? nie wiem; lecz wiem, gdzie dusza Ordona.
|
||||
|
||||
On będzie Patron szańców! - Bo dzieło zniszczenia
|
||||
|
||||
W dobrej sprawie jest święte, Jak dzieło tworzenia;
|
||||
|
||||
Bóg wyrzekł słowo stań się, Bóg i zgiń wyrzecze.
|
||||
|
||||
Kiedy od ludzi wiara i wolność uciecze,
|
||||
|
||||
Kiedy ziemię despotyzm i duma szalona
|
||||
|
||||
Obleją, jak Moskale redutę Ordona -
|
||||
|
||||
Karząc plemię zwyciężców zbrodniami zatrute,
|
||||
|
||||
Bóg wysadzi tę ziemię, jak on swą redutę.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 851 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 MiB |
Binary file not shown.
|
|
@ -1,251 +0,0 @@
|
|||
Nam strzelać nie kazano. - Wstąpiłem na działo
|
||||
|
||||
I spójrzałem na pole; dwieście armat grzmiało.
|
||||
|
||||
Artyleryi ruskiej ciągną się szeregi,
|
||||
|
||||
Prosto, długo, daleko, jako morza brzegi;
|
||||
|
||||
I widziałem ich wodza: przybiegł, mieczem skinął
|
||||
|
||||
I jak ptak jedno skrzydło wojska swego zwinął;
|
||||
|
||||
Wylewa się spod skrzydła ściśniona piechota
|
||||
|
||||
Długą czarną kolumną, jako lawa błota,
|
||||
|
||||
Nasypana iskrami bagnetów. Jak sępy
|
||||
|
||||
Czarne chorągwie na śmierć prowadzą zastępy.
|
||||
|
||||
|
||||
|
||||
Przeciw nim sterczy biała, wąska, zaostrzona,
|
||||
|
||||
Jak głaz bodzący morze, reduta Ordona.
|
||||
|
||||
Sześć tylko miała armat; wciąż dymią i świecą;
|
||||
|
||||
I nie tyle prędkich słów gniewne usta miecą,
|
||||
|
||||
Nie tyle przejdzie uczuć przez duszę w rozpaczy,
|
||||
|
||||
Ile z tych dział leciało bomb, kul i kartaczy.
|
||||
|
||||
Patrz, tam granat w sam środek kolumny się nurza,
|
||||
|
||||
Jak w fale bryła lawy, pułk dymem zachmurza;
|
||||
|
||||
Pęka śród dymu granat, szyk pod niebo leci
|
||||
|
||||
I ogromna łysina śród kolumny świeci.
|
||||
|
||||
|
||||
|
||||
Tam kula, lecąc, z dala grozi, szumi, wyje.
|
||||
|
||||
Ryczy jak byk przed bitwą, miota się, grunt ryje; -
|
||||
|
||||
Już dopadła; jak boa śród kolumn się zwija,
|
||||
|
||||
Pali piersią, rwie zębem, oddechem zabija.
|
||||
|
||||
Najstraszniejszej nie widać, lecz słychać po dźwięku,
|
||||
|
||||
Po waleniu się trupów, po ranionych jęku:
|
||||
|
||||
Gdy kolumnę od końca do końca przewierci,
|
||||
|
||||
Jak gdyby środkiem wojska przeszedł anioł śmierci.
|
||||
|
||||
|
||||
|
||||
Gdzież jest król, co na rzezie tłumy te wyprawia?
|
||||
|
||||
Czy dzieli ich odwagę, czy pierś sam nadstawia?
|
||||
|
||||
Nie, on siedzi o pięćset mil na swej stolicy,
|
||||
|
||||
Król wielki, samowładnik świata połowicy;
|
||||
|
||||
Zmarszczył brwi, - i tysiące kibitek wnet leci;
|
||||
|
||||
Podpisał, - tysiąc matek opłakuje dzieci;
|
||||
|
||||
Skinął, - padają knuty od Niemna do Chiwy.
|
||||
|
||||
Mocarzu, jak Bóg silny, jak szatan złośliwy,
|
||||
|
||||
Gdy Turków za Bałkanem twoje straszą spiże,
|
||||
|
||||
Gdy poselstwo paryskie twoje stopy liże, -
|
||||
|
||||
Warszawa jedna twojej mocy się urąga,
|
||||
|
||||
Podnosi na cię rękę i koronę ściąga,
|
||||
|
||||
Koronę Kazimierzów, Chrobrych z twojej głowy,
|
||||
|
||||
Boś ją ukradł i skrwawił, synu Wasilowy!
|
||||
|
||||
|
||||
|
||||
Car dziwi się - ze strachu. drzą Petersburczany,
|
||||
|
||||
Car gniewa się - ze strachu mrą jego dworzany;
|
||||
|
||||
Ale sypią się wojska, których Bóg i wiara
|
||||
|
||||
Jest Car. - Car gniewny: umrzem, rozweselim Cara.
|
||||
|
||||
Posłany wódz kaukaski z siłami pół-świata,
|
||||
|
||||
Wierny, czynny i sprawny - jak knut w ręku kata.
|
||||
|
||||
|
||||
|
||||
Ura! ura! Patrz, blisko reduty, już w rowy
|
||||
|
||||
Walą się, na faszynę kładąc swe tułowy;
|
||||
|
||||
Już czernią się na białych palisadach wałów.
|
||||
|
||||
Jeszcze reduta w środku, jasna od wystrzałów,
|
||||
|
||||
Czerwieni się nad czernią: jak w środek mrowiaka
|
||||
|
||||
Wrzucony motyl błyska, - mrowie go naciska, -
|
||||
|
||||
Zgasł - tak zgasła reduta. Czyż ostatnie działo
|
||||
|
||||
Strącone z łoża w piasku paszczę zagrzebało?
|
||||
|
||||
Czy zapał krwią ostatni bombardyjer zalał?
|
||||
|
||||
Zgasnął ogień. - Już Moskal rogatki wywalał.
|
||||
|
||||
|
||||
|
||||
Gdzież ręczna broń? - Ach, dzisiaj pracowała więcej
|
||||
|
||||
Niż na wszystkich przeglądach za władzy książęcej;
|
||||
|
||||
Zgadłem, dlaczego milczy, - bo nieraz widziałem
|
||||
|
||||
Garstkę naszych walczącą z Moskali nawałem.
|
||||
|
||||
Gdy godzinę wołano dwa słowa: pal, nabij;
|
||||
|
||||
Gdy oddechy dym tłumi, trud ramiona słabi;
|
||||
|
||||
A wciąż grzmi rozkaz wodzów, wre żołnierza czynność;
|
||||
|
||||
Na koniec bez rozkazu pełnią swą powinność,
|
||||
|
||||
Na koniec bez rozwagi, bez czucia, pamięci,
|
||||
|
||||
Żołnierz jako młyn palny nabija - grzmi - kręci
|
||||
|
||||
Broń od oka do nogi, od nogi na oko:
|
||||
|
||||
Aż ręka w ładownicy długo i głęboko
|
||||
|
||||
Szukała, nie znalazła - i żołnierz pobladnął,
|
||||
|
||||
Nie znalazłszy ładunku, już bronią nie władnął;
|
||||
|
||||
I uczuł, że go pali strzelba rozogniona;
|
||||
|
||||
Upuścił ją i upadł; - nim dobiją, skona.
|
||||
|
||||
Takem myślił, - a w szaniec nieprzyjaciół kupa
|
||||
|
||||
Już łazła, jak robactwo na świeżego trupa.
|
||||
|
||||
|
||||
|
||||
Pociemniało mi w oczach - a gdym łzy ocierał,
|
||||
|
||||
Słyszałem, że coś do mnie mówił mój Jenerał.
|
||||
|
||||
On przez lunetę wspartą na moim ramieniu
|
||||
|
||||
Długo na szturm i szaniec poglądał w milczeniu.
|
||||
|
||||
Na koniec rzekł; "Stracona". - Spod lunety jego
|
||||
|
||||
Wymknęło się łez kilka, - rzekł do mnie: "Kolego,
|
||||
|
||||
Wzrok młody od szkieł lepszy; patrzaj, tam na wale,
|
||||
|
||||
Znasz Ordona, czy widzisz, gdzie jest?" - "Jenerale,
|
||||
|
||||
Czy go znam? - Tam stał zawsze, to działo kierował.
|
||||
|
||||
Nie widzę - znajdę - dojrzę! - śród dymu się schował:
|
||||
|
||||
Lecz śród najgęstszych kłębów dymu ileż razy
|
||||
|
||||
Widziałem rękę jego, dającą rozkazy. -
|
||||
|
||||
Widzę go znowu, - widzę rękę - błyskawicę,
|
||||
|
||||
Wywija, grozi wrogom, trzyma palną świécę,
|
||||
|
||||
Biorą go - zginął - o nie, - skoczył w dół, - do lochów"!
|
||||
|
||||
"Dobrze - rzecze Jenerał - nie odda im prochów".
|
||||
|
||||
|
||||
|
||||
Tu blask - dym - chwila cicho - i huk jak stu gromów.
|
||||
|
||||
Zaćmiło się powietrze od ziemi wylomów,
|
||||
|
||||
Harmaty podskoczyły i jak wystrzelone
|
||||
|
||||
Toczyły się na kołach - lonty zapalone
|
||||
|
||||
Nie trafiły do swoich panew. I dym wionął
|
||||
|
||||
Prosto ku nam; i w gęstej chmurze nas ochłonął.
|
||||
|
||||
I nie było nic widać prócz granatów blasku,
|
||||
|
||||
I powoli dym rzedniał, opadał deszcz piasku.
|
||||
|
||||
Spojrzałem na redutę; - wały, palisady,
|
||||
|
||||
Działa i naszych garstka, i wrogów gromady;
|
||||
|
||||
Wszystko jako sen znikło. - Tylko czarna bryła
|
||||
|
||||
Ziemi niekształtnej leży - rozjemcza mogiła.
|
||||
|
||||
Tam i ci, co bronili, -i ci, co się wdarli,
|
||||
|
||||
Pierwszy raz pokój szczery i wieczny zawarli.
|
||||
|
||||
Choćby cesarz Moskalom kazał wstać, już dusza
|
||||
|
||||
Moskiewska. tam raz pierwszy, cesarza nie słusza.
|
||||
|
||||
Tam zagrzebane tylu set ciała, imiona:
|
||||
|
||||
Dusze gdzie? nie wiem; lecz wiem, gdzie dusza Ordona.
|
||||
|
||||
On będzie Patron szańców! - Bo dzieło zniszczenia
|
||||
|
||||
W dobrej sprawie jest święte, Jak dzieło tworzenia;
|
||||
|
||||
Bóg wyrzekł słowo stań się, Bóg i zgiń wyrzecze.
|
||||
|
||||
Kiedy od ludzi wiara i wolność uciecze,
|
||||
|
||||
Kiedy ziemię despotyzm i duma szalona
|
||||
|
||||
Obleją, jak Moskale redutę Ordona -
|
||||
|
||||
Karząc plemię zwyciężców zbrodniami zatrute,
|
||||
|
||||
Bóg wysadzi tę ziemię, jak on swą redutę.
|
||||
|
|
@ -110,7 +110,7 @@ int main(int argc, char* argv[]) {
|
|||
|
||||
if (!EmptyPath(path)) { return 1; }
|
||||
|
||||
if (!cargo.Create(path, 0x01))
|
||||
if (!cargo.Create(path, 0x0F))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -130,7 +130,7 @@ int main(int argc, char* argv[]) {
|
|||
if (arg == "-e" && i + 1 < argc)
|
||||
{
|
||||
path = argv[i + 1];
|
||||
if (!cargo.Create(path, 0x02))
|
||||
if (!cargo.Create(path, 0xF0))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -140,7 +140,7 @@ int main(int argc, char* argv[]) {
|
|||
if (arg == "-s" && i + 1 < argc)
|
||||
{
|
||||
path = argv[i + 1];
|
||||
if (!cargo.Create(path, 0x03))
|
||||
if (!cargo.Create(path, 0xFF))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -151,7 +151,7 @@ int main(int argc, char* argv[]) {
|
|||
{
|
||||
path = argv[i + 1];
|
||||
if (!EmptyPath(path)) { return 1; }
|
||||
if (!cargo.Create(path, 0xFF))
|
||||
if (!cargo.Create(path, 0xAB))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,13 +104,13 @@
|
|||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions);SODIUM_STATIC</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>3rd\ftxui\include;3rd\libsodium\include;3rd\json\include;3rd\zstd\include;3rd\xxhash\include;3rd\xxhash\include</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>3rd\libsodium\include;3rd\json\include;3rd\zstd\include;3rd\xxhash\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>3rd\zstd\lib\Debug;3rd\ftxui\Debug;3rd\xxhash\lib\Debug;3rd\libsodium\x64\Debug\v143\static</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>ftxui-component.lib;ftxui-dom.lib;ftxui-screen.lib;libsodium.lib;zstd_static.lib;xxhash.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>3rd\zstd\lib\Debug;3rd\xxhash\lib\Debug;3rd\libsodium\x64\Debug\v143\static</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libsodium.lib;zstd_static.lib;xxhash.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
|
|
@ -122,13 +122,13 @@
|
|||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions);SODIUM_STATIC</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>3rd\ftxui\include;3rd\libsodium\include;3rd\json\include;3rd\zstd\include;3rd\xxhash\include;</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>3rd\libsodium\include;3rd\json\include;3rd\zstd\include;3rd\xxhash\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>3rd\zstd\lib\Release;3rd\libsodium\x64\Release\v143\static;3rd\xxhash\lib\Release;3rd\ftxui\Release</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>ftxui-component.lib;ftxui-dom.lib;ftxui-screen.lib;libsodium.lib;zstd_static.lib;xxhash.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>3rd\zstd\lib\Release;3rd\libsodium\x64\Release\v143\static;3rd\xxhash\lib\Release</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libsodium.lib;zstd_static.lib;xxhash.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
|
@ -137,7 +137,6 @@
|
|||
<ClCompile Include="CreateCargo.cpp" />
|
||||
<ClCompile Include="EncryptionManager.cpp" />
|
||||
<ClCompile Include="ExtractCargo.cpp" />
|
||||
<ClCompile Include="Tui.cpp" />
|
||||
<ClCompile Include="ViewCargo.cpp" />
|
||||
<ClCompile Include="voidcmd.cpp" />
|
||||
</ItemGroup>
|
||||
|
|
@ -148,7 +147,6 @@
|
|||
<ClInclude Include="DataStruct.h" />
|
||||
<ClInclude Include="EncryptionManager.h" />
|
||||
<ClInclude Include="ExtractCargo.h" />
|
||||
<ClInclude Include="Tui.h" />
|
||||
<ClInclude Include="ViewCargo.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -27,9 +27,6 @@
|
|||
<ClCompile Include="ViewCargo.cpp">
|
||||
<Filter>Pliki źródłowe</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Interface.cpp">
|
||||
<Filter>Pliki źródłowe</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ChunkManager.cpp">
|
||||
<Filter>Pliki źródłowe</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -53,9 +50,6 @@
|
|||
<ClInclude Include="DataStruct.h">
|
||||
<Filter>Pliki nagłówkowe</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Interface.h">
|
||||
<Filter>Pliki nagłówkowe</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ChunkManager.h">
|
||||
<Filter>Pliki nagłówkowe</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue