]> 4ch.mooo.com Git - 16.git/commitdiff
disabled drawing of rows and colums in the scroll functions with a page.id
authorsparky4 <sparky4@cock.li>
Fri, 19 Jun 2015 02:03:56 +0000 (21:03 -0500)
committersparky4 <sparky4@cock.li>
Fri, 19 Jun 2015 02:03:56 +0000 (21:03 -0500)
modified:   src/lib/modex16.c
modified:   src/lib/modex16.h
modified:   src/scroll.c

src/lib/modex16.c
src/lib/modex16.h
src/scroll.c

index ba09a8344ff415efa95240c1be388fba916baceb..2988f27d0a0b6819d5394b9c03ff6e887d757a53 100644 (file)
@@ -9,9 +9,9 @@
 
 byte far* VGA=(byte far*) 0xA0000000;  /* this points to video memory. */
 /*word text_mask[16] = {
-       0x0002, 0x0102, 0x0202, 0x0302,\r
-       0x0402, 0x0502, 0x0602, 0x0702,\r
-       0x0802, 0x0902, 0x0A02, 0x0B02,\r
+       0x0002, 0x0102, 0x0202, 0x0302,
+       0x0402, 0x0502, 0x0602, 0x0702,
+       0x0802, 0x0902, 0x0A02, 0x0B02,
        0x0C02, 0x0D02, 0x0E02, 0x0F02
 };*/
 
@@ -97,6 +97,7 @@ modexDefaultPage() {
     page.dy = 0;
     page.width = SCREEN_WIDTH;
     page.height = SCREEN_HEIGHT;
+       page.id = 0;
 
     return page;
 }
@@ -113,6 +114,7 @@ modexNextPage(page_t *p) {
     result.dy = 0;
     result.width = p->width;
     result.height = p->height;
+       result.id = p->id+1;
 
     return result;
 }
@@ -128,6 +130,7 @@ modexNextPage0(page_t *p, word x, word y)
        result.dy = 0;
        result.width = x;
        result.height = y;
+       result.id = p->id+1;
 
     return result;
 }
@@ -236,25 +239,25 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte  color) {
 }
 
 
-void\r
+void
 oldDrawBmp(byte far* page, int x, int y, bitmap_t *bmp, byte sprite)
-{\r
-       byte plane;\r
-       word px, py;\r
-       word offset;\r
-\r
-       /* TODO Make this fast.  It's SLOOOOOOW */\r
-       for(plane=0; plane < 4; plane++) {\r
-               modexSelectPlane(PLANE(plane+x));\r
-               for(px = plane; px < bmp->width; px+=4) {\r
-                       offset=px;\r
-                       for(py=0; py<bmp->height; py++) {\r
-                       if(!sprite || bmp->data[offset])\r
-                               page[PAGE_OFFSET(x+px, y+py)] = bmp->data[offset];\r
-                       offset+=bmp->width;\r
-                       }\r
-               }\r
-       }\r
+{
+       byte plane;
+       word px, py;
+       word offset;
+
+       /* TODO Make this fast.  It's SLOOOOOOW */
+       for(plane=0; plane < 4; plane++) {
+               modexSelectPlane(PLANE(plane+x));
+               for(px = plane; px < bmp->width; px+=4) {
+                       offset=px;
+                       for(py=0; py<bmp->height; py++) {
+                       if(!sprite || bmp->data[offset])
+                               page[PAGE_OFFSET(x+px, y+py)] = bmp->data[offset];
+                       offset+=bmp->width;
+                       }
+               }
+       }
 }
 
 
@@ -935,51 +938,51 @@ modexWaitBorder() {
     }
 }
 
-/*****************************************************************************\r
-find 8x8 font in VGA BIOS ROM\r
-*****************************************************************************/\r
-byte far *bios_8x8_font(void)\r
-{\r
+/*****************************************************************************
+find 8x8 font in VGA BIOS ROM
+*****************************************************************************/
+byte far *bios_8x8_font(void)
+{
        byte far *font;
        regs_t regs;
-\r
-/* use BIOS INT 10h AX=1130h to find font #3 (8x8) in ROM */\r
-       memset(&regs, 0, sizeof(regs)); /* for Watcom C */\r
-       regs.w.ax = 0x1130;\r
-       regs.w.bx = 0x0300;\r
-       intr(0x10, &regs);\r
-       font = (byte far *)MK_FP(regs.w.es, regs.w.bp);\r
-       return font;\r
-}
-
-/*****************************************************************************\r
-*****************************************************************************/\r
-void bputs(page_t *pee, int x, int y, const byte far *s)\r
+
+/* use BIOS INT 10h AX=1130h to find font #3 (8x8) in ROM */
+       memset(&regs, 0, sizeof(regs)); /* for Watcom C */
+       regs.w.ax = 0x1130;
+       regs.w.bx = 0x0300;
+       intr(0x10, &regs);
+       font = (byte far *)MK_FP(regs.w.es, regs.w.bp);
+       return font;
+}
+
+/*****************************************************************************
+*****************************************************************************/
+void bputs(page_t *pee, int x, int y, const byte far *s)
 {
-       //int i, skip;\r
+       //int i, skip;
        byte far *font;
        byte far *font_pntr;
        //byte c, temp;
-\r
+
        font = bios_8x8_font();
        //skip = 2 - ((pee->width/4) << 3);
-       //printf("font=%Fp\n", font);\r
-       for(; *s != '\0'; s++)\r
-       {\r
+       //printf("font=%Fp\n", font);
+       for(; *s != '\0'; s++)
+       {
                //src.raster = font + 8 * (*s);
                //BLOODY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111111111111!!!11!!11!111!11!!1111!!111!11!!1!!!11!11!!1!!111!11!!
 //             (*(bmp->data)) = (*(font + 8 * (*s)));
                font_pntr = font + 8 * (*s);
 //             font_pntr = font + (c << 3);
-//             i=8;\r
-//             while (i--) {\r
-//                     temp = *font_pntr++;\r
-//                     outpw(SC_INDEX, text_mask[temp & 0x0F]);\r
-                       //*vga_ptr++ = color;\r
-\r
-//                     outpw(SC_INDEX, text_mask[temp >> 4]);\r
-                       //*vga_ptr-- = color;\r
-                       //vga_ptr += widthBytes;\r
+//             i=8;
+//             while (i--) {
+//                     temp = *font_pntr++;
+//                     outpw(SC_INDEX, text_mask[temp & 0x0F]);
+                       //*vga_ptr++ = color;
+
+//                     outpw(SC_INDEX, text_mask[temp >> 4]);
+                       //*vga_ptr-- = color;
+                       //vga_ptr += widthBytes;
 //             }
 
                //printf("fontoffset=%Fp\n", font + 8 * (*s));
@@ -994,7 +997,7 @@ void bputs(page_t *pee, int x, int y, const byte far *s)
                //draw text?!?! wwww
 
                modexClearRegion(pee, x, y, 8, 8, 4);
-//             x += 8;\r
+//             x += 8;
        }
-//     printf("\n");\r
+//     printf("\n");
 }
index bc23ee3e4b614465013cbc41cad1d53d8ee430ce..7df4e9b01764732f813fde8a218ea025239f9925 100644 (file)
@@ -16,6 +16,7 @@
 #define SELECT_ALL_PLANES() outpw(0x03c4, 0xff02)
 
 typedef struct {
+       word id;        /* the Identification number of the page~ For layering~ */
     byte far* data;    /* the data for the page */
     word dx;           /* col we are viewing on the virtual screen */
     word dy;           /* row we are viewing on the virtual screen */
index 2164ca4c897d9d8ab20eb7278216409feaa1c2ff..29d7037dc14813b1f0697c73987d0ca23eb4bf17 100644 (file)
@@ -719,6 +719,7 @@ mapScrollRight(map_view_t *mv, byte offset) {
 \r
        /* draw the next column */\r
        x= SCREEN_WIDTH + mv->map->tiles->tileWidth;\r
+               if(mv->page->id==0)\r
                mapDrawCol(mv, mv->tx + 20 , mv->ty-1, x);\r
        }\r
 }\r
@@ -741,6 +742,7 @@ mapScrollLeft(map_view_t *mv, byte offset) {
        mv->page->dx = mv->map->tiles->tileWidth;\r
        //}\r
        /* draw the next column */\r
+               if(mv->page->id==0)\r
                mapDrawCol(mv, mv->tx-1, mv->ty-1, 0);\r
        }\r
 }\r
@@ -764,6 +766,7 @@ mapScrollUp(map_view_t *mv, byte offset) {
 \r
        /* draw the next row */\r
        y= 0;\r
+               if(mv->page->id==0)\r
                mapDrawRow(mv, mv->tx-1 , mv->ty-1, y);\r
        }\r
 }\r
@@ -787,6 +790,7 @@ mapScrollDown(map_view_t *mv, byte offset) {
 \r
        /* draw the next row */\r
        y= SCREEN_HEIGHT + mv->map->tiles->tileHeight;\r
+               if(mv->page->id==0)\r
                mapDrawRow(mv, mv->tx-1 , mv->ty+15, y);\r
        }\r
 \r