flash: fix & simplify post-logo filling

This commit is contained in:
Philippe Teuwen 2024-08-17 21:26:32 +02:00
commit 957db7cb53

View file

@ -635,11 +635,7 @@ static const char ice[] =
"...................................................................\n @@@ @@@@@@@ @@@@@@@@ @@@@@@@@@@ @@@@@@ @@@ @@@\n" "...................................................................\n @@@ @@@@@@@ @@@@@@@@ @@@@@@@@@@ @@@@@@ @@@ @@@\n"
" @@! !@@ @@! @@! @@! @@! @@! @@@ @@!@!@@@\n !!@ !@! @!!!:! @!! !!@ @!@ @!@!@!@! @!@@!!@!\n" " @@! !@@ @@! @@! @@! @@! @@! @@@ @@!@!@@@\n !!@ !@! @!!!:! @!! !!@ @!@ @!@!@!@! @!@@!!@!\n"
" !!: :!! !!: !!: !!: !!: !!! !!: !!!\n : :: :: : : :: ::: : : : : : :: : \n" " !!: :!! !!: !!: !!: !!: !!! !!: !!!\n : :: :: : : :: ::: : : : : : :: : \n"
_RED_(" . .. .. . . .. ... . . . . . .. . ") _RED_(" . .. .. . . .. ... . . . . . .. . ");
"\n...................................................................\n"
"...................................................................\n"
"...................................................................\n"
;
// Write a file's segments to Flash // Write a file's segments to Flash
int flash_write(flash_file_t *ctx) { int flash_write(flash_file_t *ctx) {
@ -651,6 +647,7 @@ int flash_write(flash_file_t *ctx) {
char ice3[sizeof(ice)] = {0}; char ice3[sizeof(ice)] = {0};
memcpy_filter_ansi(ice2, ice, sizeof(ice), !g_session.supports_colors); memcpy_filter_ansi(ice2, ice, sizeof(ice), !g_session.supports_colors);
memcpy_filter_emoji(ice3, ice2, sizeof(ice2), g_session.emoji_mode); memcpy_filter_emoji(ice3, ice2, sizeof(ice2), g_session.emoji_mode);
size_t ice3len = strlen(ice3);
for (int i = 0; i < ctx->num_segs; i++) { for (int i = 0; i < ctx->num_segs; i++) {
flash_seg_t *seg = &ctx->segments[i]; flash_seg_t *seg = &ctx->segments[i];
@ -679,10 +676,14 @@ int flash_write(flash_file_t *ctx) {
baddr += block_size; baddr += block_size;
length -= block_size; length -= block_size;
block++; block++;
if (len < strlen(ice3)) { if (len < ice3len) {
fprintf(stdout, "%c", ice3[len++]); fprintf(stdout, "%c", ice3[len++]);
} else { } else {
if ((len - ice3len) % 67 == 0) {
fprintf(stdout, "\n");
}
fprintf(stdout, "."); fprintf(stdout, ".");
len++;
} }
fflush(stdout); fflush(stdout);
} }