unlimited-storage

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit db362f5b03be6a846abcd0a556511d5bee178cb9
parent 15f9bf9a7e30b67f7fb91f2c470f3fcccd14e880
Author: Andrew Laack <andrew@laack.co>
Date:   Thu, 10 Jul 2025 23:51:19 -0500

Verified encoder portion of the system

Diffstat:
Msrc/chunk.cpp | 19+++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/chunk.cpp b/src/chunk.cpp @@ -142,6 +142,7 @@ void Chunk::writeVideo(std::string filename){ +// HEADER: // - chunk number 4 bytes // - characters 4 bytes // - fnamelen 4 bytes @@ -154,15 +155,18 @@ void Chunk::writeImage(std::string filename, uint chunkNumber, std::string origi std::vector<char> data = chunk.getChunk(); + // todo: + // update to take into account header information if (x * y < data.size() * 8){ throw std::invalid_argument("x and y dimensions are too small for the chunk."); } - std::string header = "P1\n"; + std::string firstLine = "P1\n"; std::string comment = "# Encoded with Andrew's awesome .tga encoder.\n"; std::string chunkNumberEncoded = std::bitset<8*4>(chunkNumber).to_string(); std::string charactersEncoded = std::bitset<8*4>(data.size()).to_string(); + std::cout << data.size() << std::endl; std::string dims = std::to_string(x); @@ -176,14 +180,25 @@ void Chunk::writeImage(std::string filename, uint chunkNumber, std::string origi { filenameEncoded += std::bitset<8>(filename.c_str()[i]).to_string(); } + std::cout << filenameEncoded << std::endl; dims += " "; dims += std::to_string(y); dims += ("\n"); + std::string filenameLengthEncoded = std::bitset<8*4>(filenameEncoded.size()).to_string(); + + + std::string image = firstLine + comment + dims; + + std::string header = chunkNumberEncoded + charactersEncoded + filenameLengthEncoded + filenameEncoded; - std::string image = header + comment + dims; + std::cout << chunkNumberEncoded.size() << " - " << chunkNumberEncoded << std::endl; + std::cout << charactersEncoded.size() << " - " << charactersEncoded << std::endl; + std::cout << filenameLengthEncoded.size() << " - " << filenameLengthEncoded << std::endl; + std::cout << filenameEncoded.size() << " - " << filenameEncoded << std::endl; + std::cout << "HEADER: " << header << std::endl; int target = x * y;