]> 4ch.mooo.com Git - 16.git/blobdiff - src/fonttes0.c
Merge remote-tracking branch 'upstream/master'
[16.git] / src / fonttes0.c
old mode 100644 (file)
new mode 100755 (executable)
index d45039d..30229da
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669\r
+ * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123\r
  *\r
  * This file is part of Project 16.\r
  *\r
 #include <conio.h>\r
 #include "lib/types.h"\r
 #include "lib/16text.h"\r
+#include "lib/modex16.h"\r
 \r
-void main(int argc, char *argv[])\r
+global_game_variables_t gvar;\r
+\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;\r
+    //byte *pal, *pal2, fond;\r
+       //bitmap_t fontdata;\r
+       page_t page;\r
     textInit();\r
 \r
     //print the addresses of the fonts\r
@@ -40,39 +46,48 @@ 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
+\r
+       printf("Font type: ");\r
+       gets(&ct);\r
 \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
+                       printf("type 0\n");\r
                        t=0;\r
                        w=14;\r
                break;\r
                case 49:\r
+                       printf("type 1\n");\r
                        t=1;\r
                        w=8;\r
                break;\r
                case 50:\r
+                       printf("type 2\n");\r
                        t=2;\r
                        w=8;\r
                break;\r
                case 51:\r
+                       printf("type 3\n");\r
                        t=3;\r
                        w=16;\r
                break;\r
                default:\r
+                       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
+               w=16;\r
        }\r
 \r
 \r
@@ -97,16 +112,102 @@ void main(int argc, char *argv[])
                JNZ L1\r
     }\r
 \r
-    //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 ? '*':' '*/);
-           //printf("%02x ", /*l[i] & */j/* ? '*':' '*/);
-           printf("%02x ", l[i] & j/* ? '*':' '*/);\r
-           j>>=1;\r
+    //load our palette\r
+    //modexLoadPalFile("data/default.pal", &pal2);\r
+\r
+       /*fontdata.width=8;\r
+       fontdata.height=w;\r
+       fontdata.palette=pal2;\r
+\r
+       fontdata.data=malloc(256);\r
+\r
+       for(i=0; i<w; i++)\r
+       {\r
+               j=1<<8;\r
+               while(j)\r
+               {\r
+                       fond=(byte)l[i] & j ? '1':'0';\r
+                       fontdata.data=&(fond);\r
+                       printf("%02x ", *(fontdata.data));\r
+                       j>>=1;\r
+               }\r
+               printf("\n");\r
        }\r
-       printf("\n");\r
-    }\r
+\r
+       printf("\n\nok hit a key~\n");\r
+       while(!getch())\r
+       {\r
+               //DrawPBuf(&page, 0, 0, p, 0);\r
+       }*/\r
+\r
+    // save the palette\r
+    /*pal  = modexNewPal();\r
+    modexPalSave(pal);\r
+    modexFadeOff(4, pal);\r
+    modexPalBlack();\r
+*/\r
+    VGAmodeX(1, &gvar);\r
+/*    modexPalBlack();*/\r
+\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;\r
+       modexShowPage(&page);\r
+       modexClearRegion(&page, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 1);\r
+       // fade in\r
+       //modexFadeOn(4, pal2);\r
+\r
+       //render the letter in ascii art\r
+       for(i=0; i<w; i++)\r
+       {\r
+               j=1<<8;\r
+               xp=0;\r
+               while(j)\r
+               {\r
+                       //printf("j=%d\n", j);\r
+                       //printf("%c", l[i] & j ? '*':' ');\r
+                       //====printf("%02x ", l[i] & j);\r
+                       //printf("l[i]=%d       ", l[i]);\r
+                       //printf("j=%d  ", j);\r
+                       //printf("%02x\n", l[i] & j);\r
+                               //modexPutPixel(xp, i, l[i] & j ? 15:0);\r
+                               //modexpixelwr(xp, i, 0, l[i] & j ? 15:0);\r
+                               modexputPixel(&page, xp, i, l[i] & j ? 15:0);\r
+                               //modexClearRegion(&page, xp*4, i*4, 4, 4, l[i] & j ? 15:0);\r
+//while(!getch());\r
+                       xp++;\r
+                       j>>=1;\r
+               }\r
+               //====\r
+               //printf("\n");\r
+       }\r
+       //modexDrawSprite(&page, 0, 0, &fontdata);\r
+       while(!getch())\r
+       {\r
+               //DrawPBuf(&page, 0, 0, p, 0);\r
+       }\r
+\r
+       // fade back to text mode\r
+       /*modexFadeOff(4, pal2);\r
+       modexPalBlack();*/\r
+       VGAmodeX(0, &gvar);\r
+       /*modexPalBlack();\r
+       modexFadeOn(4, pal);*/\r
+       //render the letter in ascii art\r
+       for(i=0; i<w; i++)\r
+       {\r
+               j=1<<8;\r
+               while(j)\r
+               {\r
+                       printf("%c", l[i] & j ? '*':' ');\r
+                       //====printf("%02x ", l[i] & j);\r
+//while(!getch());\r
+               j>>=1;\r
+               }\r
+               printf("\n");\r
+       }\r
+       printf("\ni=%d\n", i);\r
+       printf("j=%d\n", j);\r
+\r
 }\r