Mercurial > hg > dmlib
changeset 2359:de570106b6cc
Add argument to dmPrintByte() for reversing the bits.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 31 Dec 2019 13:04:13 +0200 |
parents | 8165d0b9892f |
children | 8f015ef431a3 |
files | tools/gfxconv.c |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/tools/gfxconv.c Thu Dec 05 18:26:01 2019 +0200 +++ b/tools/gfxconv.c Tue Dec 31 13:04:13 2019 +0200 @@ -983,15 +983,14 @@ } -void dmPrintByte(FILE *out, int byte, int format, BOOL multicolor) +void dmPrintByte(FILE *out, const Uint8 byte, const int format, const BOOL multicolor, const BOOL dir) { - int i; - if (multicolor) { - for (i = DM_ASC_NBITS; i; i -= 2) + for (int i = 0; i < DM_ASC_NBITS; i += 2) { - int val = (byte & (3ULL << (i - 2))) >> (i - 2); + int k = dir ? i : (DM_ASC_NBITS - i - 1); + Uint8 val = (byte & (3ULL << k)) >> k; char ch; switch (format) { @@ -1008,9 +1007,10 @@ } else { - for (i = DM_ASC_NBITS; i; i--) + for (int i = 0; i < DM_ASC_NBITS; i++) { - int val = (byte & (1ULL << (i - 1))) >> (i - 1); + int k = dir ? i : (DM_ASC_NBITS - i - 1); + Uint8 val = (byte & (1ULL << k)) >> k; switch (format) { case FFMT_ASCII: @@ -1031,7 +1031,7 @@ for (size_t yc = 0; yc < D64_CHR_HEIGHT_UT; yc++) { fprintf(outFile, "%04" DM_PRIx_SIZE_T " : ", offs + yc); - dmPrintByte(outFile, buf[yc], fmt, multicolor); + dmPrintByte(outFile, buf[yc], fmt, multicolor, FALSE); fprintf(outFile, "\n"); } } @@ -1046,7 +1046,7 @@ fprintf(outFile, "%04" DM_PRIx_SIZE_T " ", offs + bufOffs); for (xc = 0; xc < D64_SPR_WIDTH_UT; xc++) { - dmPrintByte(outFile, buf[bufOffs], fmt, multicolor); + dmPrintByte(outFile, buf[bufOffs], fmt, multicolor, FALSE); fprintf(outFile, " "); bufOffs++; }