# HG changeset patch # User Matti Hamalainen # Date 1527508365 -10800 # Node ID ff794644a70acb234dd98e70d59dbbc80329e6e6 # Parent 07f27ec0801e658d6a2a89040f463d5b3f1180d6 Add --formats option to 64vw and remove the format listing from --help. diff -r 07f27ec0801e -r ff794644a70a tools/64vw.c --- a/tools/64vw.c Mon May 28 14:52:24 2018 +0300 +++ b/tools/64vw.c Mon May 28 14:52:45 2018 +0300 @@ -29,8 +29,9 @@ { 1, 'v', "verbose", "Be more verbose", OPT_NONE }, { 2, 0, "fs", "Fullscreen", OPT_NONE }, { 3, 'S', "scale", "Scale image by factor (1-10)", OPT_ARGREQ }, - { 4, 'f', "format", "Force input format (see list below)", OPT_ARGREQ }, - { 5, 'p', "probe", "Probe only (no display)", OPT_NONE }, + { 4, 'f', "format", "Force input format (see --formats)", OPT_ARGREQ }, + { 5, 'F', "formats", "List supported input formats", OPT_NONE }, + { 6, 'p', "probe", "Probe only (no display)", OPT_NONE }, }; const int optListN = sizeof(optList) / sizeof(optList[0]); @@ -43,21 +44,29 @@ } +void argShowFormats() +{ + printf( + "Available C64 bitmap formats (-f ):\n" + " frmt | Type | Description\n" + "------+-----------------+-------------------------------------\n" + ); + for (int i = 0; i < ndmC64ImageFormats; i++) + { + const DMC64ImageFormat *fmt = &dmC64ImageFormats[i]; + char buf[64]; + printf("%-6s| %-15s | %s\n", + fmt->fext, + dmC64GetImageTypeString(buf, sizeof(buf), fmt->type, FALSE), + fmt->name); + } +} + + void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] "); dmArgsPrintHelp(stdout, optList, optListN, 0); - - printf("\nAvailable bitmap formats:\n"); - for (int i = 0; i < ndmC64ImageFormats; i++) - { - const DMC64ImageFormat *fmt = &dmC64ImageFormats[i]; - char buf[64]; - printf(" %-5s | %-15s | %s\n", - fmt->fext, - dmC64GetImageTypeString(buf, sizeof(buf), fmt->type, FALSE), - fmt->name); - } } @@ -120,6 +129,11 @@ break; case 5: + argShowFormats(); + exit(0); + break; + + case 6: if (dmVerbosity < 1) dmVerbosity = 1; optProbeOnly = TRUE;