changeset 99:7a59611f9d4f

Various minor improvements in PPL.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 02 Oct 2012 20:26:08 +0300
parents 82b825bb08b0
children f16d102dbbac
files ppl.c
diffstat 1 files changed, 41 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/ppl.c	Tue Oct 02 20:25:04 2012 +0300
+++ b/ppl.c	Tue Oct 02 20:26:08 2012 +0300
@@ -175,12 +175,12 @@
         return FALSE;
     }
 
-    col.inboxBg    = dmCol(0.7, 0.55, 0.1);
-    col.boxBg      = dmCol(0.8, 0.65, 0.15);
-    col.box1       = dmCol(0.95, 0.95, 0.8);
+    col.inboxBg    = dmCol(0.6, 0.5, 0.2);
+    col.boxBg      = dmCol(0.7, 0.6, 0.3);
+    col.box1       = dmCol(1.0, 0.9, 0.6);
     col.box2       = dmCol(0.3, 0.3, 0.15);
     col.viewDiv    = dmCol(0,0,0);
-    col.activeRow  = dmCol(150,80,0);
+    col.activeRow  = dmCol(0.5,0.4,0.1);
 
     return TRUE;
 }
@@ -269,7 +269,7 @@
     else
         sprintf(ptr, "..");
 
-    dmDrawBMTextConst(screen, font, DMD_SATURATE, xc, yc, text);
+    dmDrawBMTextConst(screen, font, DMD_TRANSPARENT, xc, yc, text);
 }
 
 
@@ -279,36 +279,37 @@
         lwidth = 6 + font->width * 3,
         qwidth  = ((x1 - x0 - lwidth) / cwidth),
         qheight = ((y1 - y0 - 4) / (font->height + 1)),
-        nrow, nchannel,
+        nrow, nchannel, yc,
         midrow = qheight / 2;
     
     dmDrawBox3D(screen, x0 + lwidth, y0, x1, y1,
         col.inboxBg, col.box2, col.box1);
 
+    yc = y0 + 2 + (font->height + 1) * midrow;
+    dmFillRect(screen, x0 + lwidth + 1, yc - 1, x1 - 1, yc + font->height, col.activeRow);
+
     for (nchannel = 1; nchannel < qwidth; nchannel++)
     {
         dmDrawVLine(screen, y0 + 1, y1 - 1, x0 + lwidth + 1 + nchannel * cwidth, col.viewDiv);
     }
     
-
     for (nrow = 0; nrow < qheight; nrow++)
     {
-        int yc = y0 + 2 + (font->height + 1) * nrow;
+        int crow = nrow - midrow + row;
+        yc = y0 + 2 + (font->height + 1) * nrow;
         
-        dmDrawBMText(screen, font, DMD_SATURATE, x0, yc, "%03d", nrow);
-
-        if (nrow == row)
+        if (crow >= 0 && crow < pat->nrows)
         {
-            dmFillRect(screen, x0 + lwidth + 1, yc - 1, x1 - 1, yc + font->height, col.activeRow);
-        }
+            dmDrawBMText(screen, font, DMD_TRANSPARENT, x0, yc, "%03d", crow);
 
-        for (nchannel = 0; nchannel < qwidth; nchannel++)
-        {
-            if (choffs + nchannel >= pat->nchannels)
-                break;
+            for (nchannel = 0; nchannel < qwidth; nchannel++)
+            {
+                if (choffs + nchannel >= pat->nchannels)
+                    break;
 
-            dmPrintNote(screen, x0 + lwidth + 4 + nchannel * cwidth, yc,
-                pat->data + (pat->nchannels * nrow) + choffs + nchannel);
+                dmPrintNote(screen, x0 + lwidth + 4 + nchannel * cwidth, yc,
+                    pat->data + (pat->nchannels * crow) + choffs + nchannel);
+            }
         }
     }
 }
@@ -407,6 +408,7 @@
         goto error_exit;
     }
 
+#if 0
     if ((file = dmf_create_stdio(optFontFilename, "rb")) == NULL)
     {
         dmError("Error opening font file '%s', %d: %s\n",
@@ -420,7 +422,7 @@
         dmError("Could not load image file '%s'.\n", optFontFilename);
         goto error_exit;
     }
-    
+
     if ((result = dmCreateBitmapFontFromImage(fontbmap, 8, 8, &font)) != DMERR_OK)
     {
         dmError("Could not create a font from image, %d: %s\n",
@@ -428,7 +430,22 @@
         goto error_exit;
     }
     SDL_FreeSurface(fontbmap);
-
+#else
+    if ((file = dmf_create_stdio("fnsmall.fnt", "rb")) == NULL)
+    {
+        dmError("Error opening font file '%s', %d: %s\n",
+            optFontFilename, errno, strerror(errno));
+        goto error_exit;
+    }
+    result = dmLoadBitmapFont(file, &font);
+    dmf_close(file);
+    if (result != DMERR_OK)
+    {
+        dmError("Could not load font from file, %d: %s\n",
+            result, dmErrorStr(result));
+        goto error_exit;
+    }
+#endif
 
     // Initialize SDL components
     if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER) != 0)
@@ -543,14 +560,14 @@
         dmDrawBox3D(engine.screen, 0, 0, engine.screen->w - 1, engine.screen->h - 1,
             col.boxBg, col.box1, col.box2);
         
-        dmDrawBMText(engine.screen, font, DMD_SATURATE, 5, 5, "%s v%s by ccr/TNSP - (c) Copyright 2012 TNSP", dmProgDesc, dmProgVersion);
+        dmDrawBMText(engine.screen, font, DMD_TRANSPARENT, 5, 5, "%s v%s by ccr/TNSP - (c) Copyright 2012 TNSP", dmProgDesc, dmProgVersion);
 
 
         JSS_LOCK(dev);
         JSS_LOCK(plr);
 
-        dmDrawBMText(engine.screen, font, DMD_SATURATE, 5, 5 + 9,
-            "Tempo %3d | Speed: %3d | Row: %3d | Order: %d",
+        dmDrawBMText(engine.screen, font, DMD_TRANSPARENT, 5, 5 + 12,
+            "Tempo: %3d | Speed: %3d | Row: %3d | Order: %d",
             plr->tempo, plr->speed, plr->row, plr->order
             );