]> 4ch.mooo.com Git - 16.git/commitdiff
remove wraparound check in modex print, add addr adjust for newline.
authorJonathan Campbell <jonathan@castus.tv>
Wed, 20 Apr 2016 11:34:10 +0000 (04:34 -0700)
committerJonathan Campbell <jonathan@castus.tv>
Wed, 20 Apr 2016 11:34:10 +0000 (04:34 -0700)
FONTGFX.EXE now prints the ascii rose in mode X, though the ASCII art
is too wide for 320x240 mode.

pcx2vrl
pcxsscut
src/fontgfx.c
src/lib/doslib
src/lib/modex16.c
vrl2vrs
vrsdump

diff --git a/pcx2vrl b/pcx2vrl
index bd947e55158b82b4f9d900234745aca806cde60e..06179c758ee3353a54ef7bc76b2422c342d53dd7 100755 (executable)
Binary files a/pcx2vrl and b/pcx2vrl differ
index 1deec74dc0487422bfdb03acb381df671e83a049..2ce56d285d26ddb8a30e5f7bf2839df2bde1fa75 100755 (executable)
Binary files a/pcxsscut and b/pcxsscut differ
index 0c300aa3efd77c06bbc9adc6428212e808e903ac..954416d58b68437ff650431200b2f6f850298d61 100755 (executable)
@@ -122,7 +122,7 @@ IIIIIII  BBBBBBBBB    MMMM    M    MMMM\n\
                if(colpee>=32+24) colpee=32;\r
        }\r
        getch();\r
-       modexprint(&gvar.video.page[0], 0, 0, 1, 0, colpee, &rose);\r
+       modexprint(&gvar.video.page[0], gvar.video.page[0].width - (8*16)/*HACK: The rose ASCII is too wide for 320x240 so offset it to make sure the petals are visible*/, 8, 1, 32, 0, &rose);\r
        getch();\r
        //modexprint(100, 100, 1, 47, 0, "wwww");\r
 //     modexprint(0, 0, 1, 0, colpee, &rose);\r
index f7f22a8e03568d3de5174df096ce3bccec5b5d53..ef2fcb68ef3c2f9ab023bd455acf488fda73c6eb 160000 (submodule)
@@ -1 +1 @@
-Subproject commit f7f22a8e03568d3de5174df096ce3bccec5b5d53
+Subproject commit ef2fcb68ef3c2f9ab023bd455acf488fda73c6eb
index 2246595c58dbb7d73e5f974a2f6d1a975544f3bc..2d018dc12f190f5abff840fd1cb0e020ac850e2f 100755 (executable)
@@ -880,8 +880,10 @@ byte modexgetPixel(page_t *page, int x, int y)
 void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str)\r
 {\r
        word s, o, w;\r
+       word x_draw = x;\r
        word addr = (word) romFontsData.l;\r
        word addrq = (page->width/4) * y + (x / 4) + ((word)page->data);\r
+       word addrr = addrq;\r
        byte c;\r
 \r
        s=romFonts[t].seg;\r
@@ -892,12 +894,13 @@ void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, cons
        for(; *str != '\0'; str++)\r
        {\r
        c = (*str);\r
-       if((c=='\n'/* || c=="\\r
-"*/) || romFontsData.chw\r
->=page->width)\r
+       if(c=='\n')\r
        {\r
-               romFontsData.chw=0;\r
-               y+=romFonts[t].charSize;\r
+               x = x_draw;\r
+               romFontsData.chw = 0;\r
+               addrq += (page->width / 4) * 8;\r
+               addrr = addrq;\r
+               y += 8;\r
                continue;\r
        }\r
        //load the letter 'A'\r
@@ -918,10 +921,9 @@ void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, cons
                JNZ L1\r
        }\r
 //TODO: OPTIMIZE THIS!!!!\r
-               modexDrawChar(page, x/*for mode X planar use*/, t, col, bgcol, addrq);\r
-               addrq += 2; /* move 8 pixels over (2 x 4 planar pixels per byte) */\r
-\r
-               //if(!q) getch();\r
+               modexDrawChar(page, x_draw/*for mode X planar use*/, t, col, bgcol, addrr);\r
+               x_draw += 8; /* track X for edge of screen */\r
+               addrr += 2; /* move 8 pixels over (2 x 4 planar pixels per byte) */\r
        }\r
 }\r
 \r
diff --git a/vrl2vrs b/vrl2vrs
index b67956b7baa37941b88ad79da1a2ff49c0c435a0..cee2d1d5ec2093825ded51e0e6c9b8b836e38ee9 100755 (executable)
Binary files a/vrl2vrs and b/vrl2vrs differ
diff --git a/vrsdump b/vrsdump
index dbaba30e42b8639969d3bdd4433243eb338adcbe..a75a903a84ae3d98973e3aecab4a6c08fce8a764 100755 (executable)
Binary files a/vrsdump and b/vrsdump differ