]> 4ch.mooo.com Git - 16.git/blobdiff - src/fonttes0.c
ansii rendering is working ^^
[16.git] / src / fonttes0.c
index 411abe17112f689bb897027be37dea16533e96fb..4365b812ca68a4d4e68807e2c4dc61ebf0ca7598 100644 (file)
 #include "lib/16text.h"
 #include "lib/modex16.h"\r
 \r
-void main(int argc, char *argv[])\r
+void main(int argc, char near *argv[])\r
 {\r
-    int i;\r
+    int i, xp;\r
     int j;\r
        char l[16];\r
-    char c;\r
+    char c,ct;\r
     word s, o, t, w;\r
     word addr = (word) l;
-    byte *pal, *pal2;
+    //byte *pal, *pal2, fond;
+       //bitmap_t fontdata;
        page_t page;\r
     textInit();\r
 \r
@@ -43,37 +44,46 @@ void main(int argc, char *argv[])
        printf("%d: %x:%x\n", i, romFonts[i].seg, romFonts[i].off);\r
     }\r
 \r
-       printf("*argv[1]=%d\n", *argv[1]);\r
+//     printf("*argv[1]=%d\n", *argv[1]);\r
+
+       printf("Font type: ");\r
+       gets(&ct);
 \r
-    printf("Character: ");\r
-    scanf("%c", &c);\r
+       printf("Character: ");\r
+       gets(&c);\r
 \r
-       if(*argv[1]!=1)\r
-       switch(*argv[1])\r
+       if(ct!=1)\r
+       switch(ct)\r
        {\r
-               case 48:\r
+               case 48:
+                       printf("type 0\n");\r
                        t=0;\r
                        w=14;\r
                break;\r
-               case 49:\r
+               case 49:
+                       printf("type 1\n");\r
                        t=1;\r
                        w=8;\r
                break;\r
-               case 50:\r
+               case 50:
+                       printf("type 2\n");\r
                        t=2;\r
                        w=8;\r
                break;\r
-               case 51:\r
+               case 51:
+                       printf("type 3\n");\r
                        t=3;\r
                        w=16;\r
                break;\r
-               default:\r
+               default:
+                       printf("type 3\n");\r
                        t=3;\r
                        w=16;\r
                break;\r
        }\r
        else\r
-       {\r
+       {
+               printf("type 3\n");\r
                t=3;\r
                w=16;   \r
        }\r
@@ -98,44 +108,104 @@ void main(int argc, char *argv[])
                INC DI\r
                DEC CX\r
                JNZ L1\r
-    }\r
-    /* load our palette */\r
-    modexLoadPalFile("data/default.pal", &pal2);\r
+    }
+
+    //load our palette\r
+    //modexLoadPalFile("data/default.pal", &pal2);
+
+       /*fontdata.width=8;
+       fontdata.height=w;
+       fontdata.palette=pal2;
+
+       fontdata.data=malloc(256);
+
+       for(i=0; i<w; i++)
+       {\r
+               j=1<<8;\r
+               while(j)
+               {
+                       fond=(byte)l[i] & j ? '1':'0';
+                       fontdata.data=&(fond);
+                       printf("%02x ", *(fontdata.data));\r
+                       j>>=1;\r
+               }
+               printf("\n");\r
+       }
+
+       printf("\n\nok hit a key~\n");
+       while(!getch())\r
+       {\r
+               //DrawPBuf(&page, 0, 0, p, 0);\r
+       }*/\r
 \r
-    /* save the palette */\r
-    pal  = modexNewPal();\r
+    // save the palette\r
+    /*pal  = modexNewPal();\r
     modexPalSave(pal);\r
-    modexFadeOff(1, pal);\r
+    modexFadeOff(4, pal);\r
     modexPalBlack();\r
-\r
+*/\r
     modexEnter();\r
-    modexPalBlack();\r
+/*    modexPalBlack();*/\r
 \r
-    /* set up the page, but with 16 pixels on all borders in offscreen mem */\r
+    // set up the page, but with 16 pixels on all borders in offscreen mem\r
     page=modexDefaultPage();\r
-    page.width += 32;\r
-    page.height += 32;
+    //page.width += 32;\r
+    //page.height += 32;
        modexShowPage(&page);
-       /* fade in */\r
-       modexFadeOn(1, pal2);
+       modexClearRegion(&page, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 1);
+       // fade in\r
+       //modexFadeOn(4, pal2);
 
        //render the letter in ascii art\r
-       for(i=0; i<w; i++) {\r
-       j=1<<8;\r
-       while(j) {\r
-           //printf("%c", l[i] & j ? '*':' ');
-           //====printf("%02x ", l[i] & j/* ? '*':' '*/);
-               modexClearRegion(&page, 4, 4, 1, 1, l[i] & j);\r
-           j>>=1;\r
-       }\r
-       printf("\n");\r
-    }
+       for(i=0; i<w; i++)
+       {\r
+               j=1<<8;
+               xp=0;\r
+               while(j)
+               {
+                       //printf("j=%d\n", j);\r
+                       //printf("%c", l[i] & j ? '*':' ');
+                       //====printf("%02x ", l[i] & j);
+                       //printf("l[i]=%d       ", l[i]);
+                       //printf("j=%d  ", j);
+                       //printf("%02x\n", l[i] & j);
+                               //modexPutPixel(xp, i, l[i] & j ? 15:0);
+                               //modexpixelwr(xp, i, 0, l[i] & j ? 15:0);
+                               modexputPixel(xp, i, l[i] & j ? 15:0);
+                               //modexClearRegion(&page, xp*4, i*4, 4, 4, l[i] & j ? 15:0);
+//while(!getch());
+                       xp++;
+                       j>>=1;
+               }\r
+               //====
+               //printf("\n");
+       }
+       //modexDrawSprite(&page, 0, 0, &fontdata);
+       while(!getch())\r
+       {\r
+               //DrawPBuf(&page, 0, 0, p, 0);\r
+       }
 
-       /* fade back to text mode */\r
-       modexFadeOff(1, pal2);\r
-       modexPalBlack();\r
+       // fade back to text mode\r
+       /*modexFadeOff(4, pal2);\r
+       modexPalBlack();*/\r
        modexLeave();\r
-       modexPalBlack();\r
-       modexFadeOn(1, pal);
+       /*modexPalBlack();\r
+       modexFadeOn(4, pal);*/
+       //render the letter in ascii art\r
+       for(i=0; i<w; i++)
+       {\r
+               j=1<<8;\r
+               while(j)
+               {
+                       printf("%c", l[i] & j ? '*':' ');
+                       //====printf("%02x ", l[i] & j);
+//while(!getch());
+               j>>=1;
+               }\r
+               printf("\n");
+       }
+       printf("\ni=%d\n", i);
+       printf("j=%d\n", j);
 
 }\r