]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
wwww
[16.git] / src / lib / modex16.c
index 5248a6b3b25d29c574072a3975ca75b061deeb70..97b894f4ea734459a6829f7b35046eac4dea70b1 100755 (executable)
@@ -952,47 +952,26 @@ void modexhlin(page_t *page, word xl, word xh, word y, word color)
        //modexputPixel(page, x+xl, y, color);\r
 }\r
 \r
-void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str)\r
+void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str, boolean q)\r
 {\r
-       word i, s, o, w, j, xp;\r
-       byte l[1024];\r
-       word addr = (word) l;\r
-       word chw=0;\r
+       word s, o, w;\r
+       word addr = (word) romFontsData.l;\r
        byte c;\r
-       //byte near *bakapee;\r
-\r
-       switch(t)\r
-       {\r
-               case 0:\r
-                       w=14;\r
-               break;\r
-               case 1:\r
-                       w=8;\r
-               break;\r
-               case 2:\r
-                       w=8;\r
-               break;\r
-               case 3:\r
-                       w=16;\r
-               break;\r
-               default:\r
-                       t=3;\r
-                       w=16;\r
-               break;\r
-       }\r
 \r
        s=romFonts[t].seg;\r
        o=romFonts[t].off;\r
+       w=romFonts[t].charSize;\r
+       romFontsData.chw=0;\r
 \r
        for(; *str != '\0'; str++)\r
        {\r
        c = (*str);\r
        if((c=='\n'/* || c=="\\r
-"*/) || chw\r
+"*/) || romFontsData.chw\r
 >=page->width)\r
        {\r
-               chw=0;\r
-               y+=w;\r
+               romFontsData.chw=0;\r
+               y+=romFonts[t].charSize;\r
                continue;\r
        }\r
        //load the letter 'A'\r
@@ -1012,26 +991,11 @@ void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, cons
                DEC CX\r
                JNZ L1\r
        }\r
-       //bakapee = _nmalloc(sizeof(byte)*8);\r
 //TODO: OPTIMIZE THIS!!!!\r
-               for(i=0; i<w; i++)\r
-               {\r
-                       /*modexSelectPlane(PLANE(x));\r
-                       j=1<<8;\r
-                       *bakapee=(l[i] & j ? col:bgcol);\r
-                       _fmemcpy(page->data + (((page->width/4) * (y+page->dy+i)) + ((x+page->dx+chw) / 4)), bakapee, 8);*/\r
-                       j=1<<8;\r
-                       xp=0;\r
-                       while(j)\r
-                       {\r
-                               modexputPixel(page, x+xp+chw, y+i, l[i] & j ? col:bgcol);\r
-                               xp++;\r
-                               j>>=1;\r
-                       }\r
-               }\r
-               chw += xp;\r
+               modexDrawCharPBuf(page, x, y, t, col, bgcol, q);\r
+\r
+               //if(!q) getch();\r
        }\r
-       //_nfree(bakapee);\r
 }\r
 \r
 void modexprintbig(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str)\r
@@ -1136,7 +1100,7 @@ void cls(page_t *page, byte color, byte *Where)
        /* set map mask to all 4 planes */\r
        outpw(SC_INDEX, 0xff02);\r
        //_fmemset(VGA, color, 16000);\r
-       _fmemset(Where, color, page->width*(page->height));\r
+       _fmemset(Where, color, page->width*(page->height)/4);\r
 }\r
 \r
 void\r