changeset 459:8ca18222db10

Remove the rather useless vview utility.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 04 Nov 2012 12:28:05 +0200
parents 096dae79ce2e
children 0af039b6c0ae
files Makefile.gen vview.c
diffstat 2 files changed, 1 insertions(+), 563 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.gen	Sun Nov 04 12:20:51 2012 +0200
+++ b/Makefile.gen	Sun Nov 04 12:28:05 2012 +0200
@@ -115,7 +115,7 @@
 ifeq ($(DM_BUILD_TESTS),yes)
 ifeq ($(DM_GFX_BLITS),yes)
 ifeq ($(DM_USE_STDIO),yes)
-BINARIES += blittest vview vptest efu
+BINARIES += blittest vptest efu
 endif
 endif
 endif
@@ -325,10 +325,6 @@
 ###
 ### Tests and binaries
 ###
-$(BINPATH)vview$(EXEEXT): $(OBJPATH)vview.o $(DMLIB_A)
-	@echo " LINK $+"
-	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
-
 $(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A)
 	@echo " LINK $+"
 	@$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf
--- a/vview.c	Sun Nov 04 12:20:51 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,558 +0,0 @@
-#include "dmlib.h"
-#include "dmargs.h"
-#include "dmtext.h"
-
-#define DM_COLORS (256)
-
-char *optFilename = NULL, *optFontFile = "font.ttf";
-int optVFlags = SDL_SWSURFACE | SDL_HWPALETTE;
-int optScrWidth = 640, optScrHeight = 480, optFontSize = 20, optScrDepth = 32;
-BOOL optShowSurfaceInfo = FALSE;
-
-DMOptArg optList[] = {
-    { 0, '?', "help",       "Show this help", OPT_NONE },
-    { 2, 'v', "verbose",    "Be more verbose", OPT_NONE },
-    { 3, 'f', "full",       "Fullscreen", OPT_NONE },
-    { 4, 'h', "hw",         "Use SDL hardware surface", OPT_NONE },
-    { 5, 's', "size",       "Initial window size/resolution -s 640x480", OPT_ARGREQ },
-    { 6, 'd', "depth",      "Color depth of mode/window in bits (8/15/16/32)", OPT_ARGREQ },
-    { 7, 'i', "info",       "Print out extra information on used SDL surfaces", OPT_NONE }
-};
-
-const int optListN = sizeof(optList) / sizeof(optList[0]);
-
-
-void argShowHelp()
-{
-    dmPrintBanner(stdout, dmProgName, "[options] <datafile>");
-    dmArgsPrintHelp(stdout, optList, optListN);
-}
-
-
-BOOL argHandleOpt(const int optN, char *optArg, char *currArg)
-{
-    switch (optN) {
-    case 0:
-        argShowHelp();
-        exit(0);
-        break;
-
-    case 2:
-        dmVerbosity++;
-        break;
-    
-    case 3:
-        optVFlags |= SDL_FULLSCREEN;
-        break;
-
-    case 6:
-        if (optArg)
-            optScrDepth = atoi(optArg);
-        break;
-    
-    case 7:
-        optShowSurfaceInfo = TRUE;
-        break;
-
-    case 5:
-        {
-            int w, h;
-            if (sscanf(optArg, "%dx%d", &w, &h) == 2)
-            {
-                if (w < 320 || h < 200 || w > 3200 || h > 3200)
-                {
-                    dmError("Invalid width or height: %d x %d\n", w, h);
-                    return FALSE;
-                }
-                optScrWidth = w;
-                optScrHeight = h;
-            }
-            else 
-            {
-                dmError("Invalid size argument '%s'.\n", optArg);
-                return FALSE;
-            }
-        }
-        break;
-
-    default:
-        dmError("Unknown option '%s'.\n", currArg);
-        return FALSE;
-    }
-    
-    return TRUE;
-}
-
-
-BOOL argHandleFile(char *filename)
-{
-    if (optFilename == NULL)
-    {
-        optFilename = dm_strdup(filename);
-        return TRUE;
-    }
-    else
-    {
-        dmError("Too many filenames specified ('%s')\n", filename);
-        return FALSE;
-    }
-}
-
-void DM_MakePalette(SDL_Color *pal)
-{
-    int n;
-
-    for (n = 0; n < 64; n++)
-    {
-        pal[n].r = n * 2;
-        pal[n].g = 0;
-        pal[n].b = 0;
-    }
-
-    for (n = 64; n < 128; n++)
-    {
-        pal[n].r = n * 2;
-        pal[n].g = (n - 64) * 4;
-        pal[n].b = (n - 64) * 4;
-    }
-
-    for (n = 128; n < 192; n++)
-    {
-        pal[n].r = (255 - n) * 4;
-        pal[n].g = (255 - n) * 2;
-        pal[n].b = (255 - n) * 2;
-    }
-
-    for (n = 192; n < 256; n++)
-    {
-        pal[n].r = 0;
-        pal[n].g = (255 - n) * 2;
-        pal[n].b = (255 - n) * 2;
-    }
-}
-
-
-void DM_CreatePaletteFrom(SDL_Color *pal, Uint8 *buf)
-{
-    int n, offs;
-    for (offs = n = 0; n < DM_COLORS; n++)
-    {
-        pal[n].r = buf[offs++];
-        pal[n].g = buf[offs++];
-        pal[n].b = buf[offs++];
-    }
-}
-
-void printSurface(FILE *f, SDL_Surface *s, const char *name)
-{
-    if (!optShowSurfaceInfo || s == NULL) return;
-    
-    fprintf(f, "\nSDL_Surface[%p]: %s:\n"
-    "  flags   : 0x%08x\n"
-    "  format  : %p\n", s, name, s->flags, s->format);
-    if (s->format != NULL)
-    {
-        SDL_PixelFormat *pf = s->format;
-        fprintf(f,
-        "    palette       : %p\n"
-        "    BitsPerPixel  : %d\n"
-        "    BytesPerPixel : %d\n"
-        "    colorkey      : %d (%08x)\n"
-        "    alpha         : %d\n",
-        pf->palette,
-        pf->BitsPerPixel,
-        pf->BytesPerPixel,
-        pf->colorkey, pf->colorkey,
-        pf->alpha);
-
-        fprintf(f,
-        "    R/G/B/A loss  : %d / %d / %d / %d\n"
-        "    R/G/B/A shift : %d / %d / %d / %d\n"
-        "    R/G/B/A mask  : %08x / %08x / %08x / %08x\n",
-        pf->Rloss  , pf->Gloss  , pf->Bloss  , pf->Aloss,
-        pf->Rshift , pf->Gshift , pf->Bshift , pf->Ashift,
-        pf->Rmask  , pf->Gmask  , pf->Bmask  , pf->Amask
-        );
-    }
-    fprintf(f,
-    "  W x H  : %d x %d\n"
-    "  pitch  : %d bytes\n"
-    "  pixels : %p\n\n",
-    s->w, s->h,
-    s->pitch,
-    s->pixels);
-}
-
-BOOL DM_InitializeVideo(SDL_Surface **screen)
-{
-    *screen = SDL_SetVideoMode(optScrWidth, optScrHeight, optScrDepth, optVFlags | SDL_RESIZABLE);
-    if (*screen == NULL)
-    {
-        dmError("Can't SDL_SetVideoMode(): %s\n", SDL_GetError());
-        return FALSE;
-    }
-    printSurface(stdout, *screen, "screen");
-    return TRUE;
-}
-
-void DM_UnRLE(Uint8 *dst, Uint8 **udata, const Uint8 *dp, const int rleMarker, const Uint8 *de)
-{
-    Uint8 *data = *udata;
-
-    while (data < dp && dst < de)
-    {
-        int c = *data++;
-        if ((c & rleMarker) == rleMarker)
-        {
-            int cnt = c & (0xff ^ rleMarker);
-            c = *data++;
-            while (cnt-- && dst < de)
-                *dst++ = c;
-        }
-        else
-            *dst++ = c;
-    }
-    
-    *udata = data;
-}
-
-void DM_Redraw(SDL_Surface *screen, Uint8 *data, int skip, int useRLE, int rleMarker)
-{
-    Uint8 *pix = screen->pixels;
-    
-    if (useRLE)
-    {
-        const int tmpmax = screen->w * 64;
-        Uint8 *tmp = dmMalloc(tmpmax);
-        const Uint8 *dp = data + (screen->w * screen->h);
-
-        if (skip > tmpmax)
-            skip = tmpmax;
-
-        if (useRLE == 1)
-        {
-            int yc;
-            for (yc = 0; yc < screen->h; yc++)
-            {
-                memset(tmp, 0xff, tmpmax);
-                DM_UnRLE(tmp, &data, dp, rleMarker, tmp + tmpmax);
-                memcpy(pix, tmp, screen->w);
-                pix += screen->pitch;
-            }
-        }
-        else
-        if (useRLE == 2)
-        {
-            int yc;
-            for (yc = 0; yc < screen->h; yc++)
-            {
-                memset(tmp, 0xff, tmpmax);
-                DM_UnRLE(tmp, &data, dp, rleMarker, tmp + skip);
-                memcpy(pix, tmp, screen->w);
-                pix += screen->pitch;
-            }
-        }
-        else
-        {
-            printf("useRLE=%d\n", useRLE);
-        }
-
-        dmFree(tmp);
-    }
-    else
-    {
-        int yc;
-        for (yc = 0; yc < screen->h; yc++)
-        {
-            int xc;
-            for (xc = 0; xc < screen->w; xc++)
-                pix[xc] = *data++;
-            pix += screen->pitch;
-        }
-    }
-}
-
-void DM_Random(SDL_Surface *screen, int q)
-{
-    Uint8 *pix = screen->pixels;
-    int xc, yc;
-    
-    for (yc = 0; yc < screen->h; yc++)
-    {
-        Uint8 *dp = pix;
-
-        for (xc = 0; xc < screen->w; xc++)
-            *dp++ = (xc * q + yc * q);
-
-        pix += screen->pitch;
-    }
-}
-
-void adjustValue(int *val, int min, int max, int delta)
-{
-    *val += delta;
-    if (*val < min) *val = min;
-    else if (*val > max) *val = max;
-}
-
-int main(int argc, char *argv[])
-{
-    SDL_Color pal[256];
-    SDL_Surface *screen = NULL, *bmap = NULL;
-    TTF_Font *font = NULL;
-    SDL_Color fontcol={255,255,255,0};
-    SDL_Event event;
-    Uint8 *scrData = NULL;
-    size_t scrSize = 0;
-    int scrWidth = 128, scrHeight = 128, scrPalOffs = 0, scrOffs = 0, scrSkip = 0;
-    BOOL initSDL = FALSE, initTTF = FALSE,
-         exitFlag, needRedraw, palChanged = FALSE, showTest = FALSE, useRLE = FALSE,
-         showHex = FALSE, scrPalette = FALSE, scrChanged;
-
-    // Initialize
-    dmInitProg("vtest", "vtester", "0.1", NULL, NULL);
-    
-    // Parse arguments
-    if (!dmArgsProcess(argc, argv, optList, optListN,
-        argHandleOpt, argHandleFile, FALSE))
-        exit(1);
-
-
-    if (optFilename == NULL)
-    {
-        dmError("No input file specified.\n");
-        goto error_exit;
-    }
-    else
-    {
-        FILE *f = fopen(optFilename, "rb");
-        if (f == NULL)
-        {
-            dmError("Could not open input file '%s'\n");
-            goto error_exit;
-        }
-        fseek(f, 0L, SEEK_END);
-        scrSize = ftell(f);
-        fseek(f, 0L, SEEK_SET);
-        
-        if ((scrData = malloc(scrSize)) == NULL)
-        {
-            fclose(f);
-            dmError("Error allocating memory for data, %d bytes.\n", scrSize);
-            goto error_exit;
-        }
-        
-        fread(scrData, 1, scrSize, f);
-        fclose(f);
-    }
-
-
-    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) != 0)
-    {
-        dmError("Could not initialize SDL: %s\n", SDL_GetError());
-        goto error_exit;
-    }
-    initSDL = TRUE;
-
-    if (TTF_Init() < 0)
-    {
-        dmError("Could not initialize FreeType/TTF: %s\n", SDL_GetError());
-        goto error_exit;
-    }
-    initTTF = TRUE;
-
-    font = TTF_OpenFont(optFontFile, optFontSize);
-    if (font == NULL)
-    {
-        dmError("Could not load TTF font '%s' (%d): %s\n",
-            optFontFile, optFontSize, SDL_GetError());
-        goto error_exit;
-    }
-    TTF_SetFontStyle(font, TTF_STYLE_NORMAL);
-    
-    if (!DM_InitializeVideo(&screen))
-        goto error_exit;
-
-    SDL_WM_SetCaption("Halleluja", "DMT");
-
-    exitFlag = FALSE;
-    scrChanged = palChanged = TRUE;
-
-    while (!exitFlag)
-    {
-        while (SDL_PollEvent(&event))
-        switch (event.type)
-        {
-            case SDL_KEYDOWN:
-                {
-                int amount = 10;
-                
-                if ((event.key.keysym.mod & KMOD_CTRL))
-                    amount = 50;
-
-                if ((event.key.keysym.mod & KMOD_SHIFT))
-                    amount = 1;
-                
-                switch (event.key.keysym.sym)
-                {
-                    case SDLK_ESCAPE: exitFlag = TRUE; break;
-                    case SDLK_LEFT:  adjustValue(&scrWidth,  0, 1024, -amount); scrChanged = TRUE; break;
-                    case SDLK_RIGHT: adjustValue(&scrWidth,  0, 1024, amount); scrChanged = TRUE; break;
-                    case SDLK_UP:    adjustValue(&scrHeight, 0, 1024, -amount); scrChanged = TRUE; break;
-                    case SDLK_DOWN:  adjustValue(&scrHeight, 0, 1024, amount); scrChanged = TRUE; break;
-
-                    case SDLK_F1:
-                        scrPalette = !scrPalette;
-                        palChanged = TRUE;
-                        break;
-
-                    case SDLK_F2:
-                        showTest = !showTest;
-                        break;
-                    
-                    case SDLK_F3: adjustValue(&scrPalOffs, 0, scrSize - 256 * 3, -amount); palChanged = TRUE; break;
-                    case SDLK_F4: adjustValue(&scrPalOffs, 0, scrSize - 256 * 3, amount); palChanged = TRUE; break;
-
-                    case SDLK_F5: adjustValue(&scrOffs, 0, scrSize, -amount); break;
-                    case SDLK_F6: adjustValue(&scrOffs, 0, scrSize, amount); break;
-
-                    case SDLK_F7: adjustValue(&scrSkip, 0, scrSize, -amount); break;
-                    case SDLK_F8: adjustValue(&scrSkip, 0, scrSize, amount); break;
-
-                    case SDLK_F9:
-                        showHex = !showHex;
-                        break;
-                    
-                    case SDLK_r:
-                        useRLE = (useRLE + 1) % 3;
-                        break;
-                    
-                    default:
-                        break;
-                }
-                }
-
-                needRedraw = TRUE;
-                break;
-            
-            case SDL_VIDEORESIZE:
-                optScrWidth = event.resize.w;
-                optScrHeight = event.resize.h;
-
-                if (!DM_InitializeVideo(&screen))
-                    goto error_exit;
-
-                needRedraw = TRUE;
-                break;
-            
-            case SDL_VIDEOEXPOSE:
-                needRedraw = TRUE;
-                break;
-
-            case SDL_QUIT:
-                exit(0);
-        }
-        
-        if (scrChanged)
-        {
-            SDL_FreeSurface(bmap);
-            bmap = SDL_CreateRGBSurface(SDL_SWSURFACE, scrWidth, scrHeight, 8, 0, 0, 0, 0);
-            printSurface(stdout, bmap, "bmap");
-            needRedraw = TRUE;
-            scrChanged = FALSE;
-            palChanged = TRUE;
-        }
-
-        if (palChanged)
-        {
-            if (scrPalette)
-                DM_CreatePaletteFrom(pal, scrData + scrPalOffs);
-            else
-                DM_MakePalette(pal);
-
-            SDL_SetColors(bmap, pal, 0, DM_COLORS);
-            palChanged = FALSE;
-        }
-
-        if (needRedraw)
-        {
-            if (SDL_MUSTLOCK(screen) != 0 && SDL_LockSurface(screen) != 0)
-            {
-                dmError("Can't lock surface.\n");
-                goto error_exit;
-            }
-
-            dmClearSurface(screen, dmMapRGB(screen, 255, 255, 150));
-            dmFillRect(screen, 0, 0, screen->w, TTF_FontHeight(font) + 10, dmMapRGB(screen, 50, 50, 150));
-            dmDrawTTFText(screen, font, fontcol, 5, 5, "%3d x %3d @ 0x%08x, skip=%d/0x%x",
-                scrWidth, scrHeight, scrOffs, scrSkip, scrSkip);
-
-            dmFillRect(screen, 0, screen->h - TTF_FontHeight(font) - 10, screen->w, screen->h, dmMapRGB(screen, 150, 50, 50));
-            if (scrPalette)
-            {
-                dmDrawTTFText(screen, font, fontcol, 5, screen->h - TTF_FontHeight(font) - 5,
-                "Palette offset 0x%08x/%08x", scrPalOffs, scrSize);
-            }
-            else
-            {
-                dmDrawTTFText(screen, font, fontcol, 5, screen->h - TTF_FontHeight(font) - 5,
-                "Generated palette.");
-            }
-            dmDrawTTFText(screen, font, fontcol, 450, screen->h - TTF_FontHeight(font) - 5,
-                "useRLE=%d", useRLE);
-            
-            
-            if (showTest)
-                DM_Random(bmap, SDL_GetTicks() / 100);
-            else
-                DM_Redraw(bmap, scrData + scrOffs, scrSkip, useRLE, 0xc0);
-
-//            float f = SDL_GetTicks() / 200.0f;
-//            dmScaledBlitSurfaceAny(bmap, sin(f) * 50, 40, screen->w + 100 * cos(f), screen->h - 80, screen, DMD_NONE);
-            dmScaledBlitSurfaceAny(bmap, 5, 40, screen->w - 10, screen->h - 80, screen, DMD_NONE);
-
-            if (showHex)
-            {
-                int w = 350, h = screen->h - 50;
-                int i, x = screen->w - w, y = 25;
-                int fh = TTF_FontHeight(font);
-                
-                dmFillRect(screen, screen->w - 350,  - 5, w, h, dmMapRGB(screen, 50, 50, 50));
-                
-                dmDrawTTFText(screen, font, fontcol, x, y, "Palette hexdump");
-                y += fh + 5;
-                for (i = 0; i < 16; i++)
-                {
-                    int offs = scrPalOffs + i * 3;
-                    dmDrawTTFText(screen, font, fontcol, x, y + fh * i, "%04x: %02x %02x %02x | '%c' '%c' '%c'",
-                        offs, scrData[offs], scrData[offs+1], scrData[offs+2],
-                        scrData[offs], scrData[offs+1], scrData[offs+2]);
-                }
-            }
-
-            if (SDL_MUSTLOCK(screen) != 0)
-                SDL_UnlockSurface(screen);
-
-            SDL_Flip(screen);
-            needRedraw = FALSE;
-        }
-        
-        SDL_Delay(10);
-    }
-
-
-error_exit:
-    if (screen)
-        SDL_FreeSurface(screen);
-
-    if (font)
-        TTF_CloseFont(font);
-
-    if (initSDL)
-        SDL_Quit();
-
-    if (initTTF)
-        TTF_Quit();
-
-    return 0;
-}