demo time-based: porta el patro de CCAE (multi-set, index = elapsed_s*60, % size per safe loop), substitueix demo.bin per demo1/2/3.bin

This commit is contained in:
2026-05-19 19:16:36 +02:00
parent 748673f41b
commit 63eaaa8b5c
13 changed files with 173 additions and 97 deletions
+17
View File
@@ -0,0 +1,17 @@
#include "core/system/demo.hpp"
#include <cstring> // for memcpy
// Desempaqueta un blob binari amb TOTAL_DEMO_DATA registres consecutius
// de DemoKeys (struct POD de 6 bytes). Si el blob no te la mida esperada,
// torna un vector buit perque el playback el detecti i no peti.
auto loadDemoDataFromBytes(const std::vector<uint8_t> &bytes) -> DemoData {
DemoData dd;
const size_t EXPECTED = sizeof(DemoKeys) * TOTAL_DEMO_DATA;
if (bytes.size() < EXPECTED) {
return dd;
}
dd.resize(TOTAL_DEMO_DATA);
std::memcpy(dd.data(), bytes.data(), EXPECTED);
return dd;
}