]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
><
[16.git] / src / lib / modex16.c
index e77d5c1b7ef47c66ae85f5cc47617e7ae1070988..9b7f4c4c57c84fe1bb42002af490ac0c90ecefa6 100755 (executable)
@@ -398,47 +398,29 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte  color) {
 //memory management needs to be added\r
 //void\r
 //modexDrawBmpRegion   (page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp)\r
-void modexDrawPBufRegion       (page_t *page, int x, int y, int rx, int ry, int rw, int rh, planar_buf_t *p, boolean sprite)\r
+void modexDrawPBufRegion        (page_t *page, int x, int y, int rx, int ry, int rw, int rh, planar_buf_t *p, boolean sprite)\r
 {\r
-       int plane;\r
-       int px, py, i;\r
-//     byte near *buff;\r
-       px=x;\r
-       py=y;\r
-//     buff = _nmalloc(p->pwidth+1);\r
-       // TODO Make this fast.  It's SLOOOOOOW\r
-//     for(plane=0; plane < 4; plane++) {\r
-//             i=0;\r
-//             modexSelectPlane(PLANE(plane+x));\r
-//             for(px = plane; px < p->width; px+=4) {\r
-//                     offset=px;\r
-//                     for(py=0; py<p->height/2; py++) {\r
-//                             //SELECT_ALL_PLANES();\r
-//                             if(!sprite || p->plane[offset])\r
-//                                     page->data = &(p->plane[offset][i++]);\r
-//                             offset+=p->width;\r
-//                             offset++;\r
-//                     }\r
-//             }\r
-//     }\r
-       for(plane=0; plane < 4; plane++) {\r
-               i=(rx/4)+((rx/4)*ry);\r
-               modexSelectPlane(PLANE(plane+x));\r
-               for(; y < py+p->height; y++) {\r
-                       //for(px=0; px < p->width; px++) {\r
-                               //printf("%02X ", (int) p->plane[plane][i++]);\r
-//                             _fmemcpy(buff, &(p->plane[plane][i+=p->pwidth]), p->pwidth);\r
-//                             printf("buff %u==%s\n", y, *buff);\r
-//                             _fmemcpy(page->data + (((page->width/4) * (y+page->dy)) + ((x+page->dx) / 4)), buff, p->pwidth);\r
-                               _fmemcpy(page->data + (((page->width/4) * (y+page->dy)) + ((x+page->dx) / 4)), &(p->plane[plane][i+=p->pwidth]), p->pwidth);\r
-                       //}\r
-               }\r
-               x=px;\r
-               y=py;\r
-       }\r
-//     _nfree(buff);\r
+        int plane;\r
+        int px, py, i;\r
+        px=x;\r
+        py=y;\r
+        for(plane=0; plane < 4; plane++) {\r
+                i=(rx/4)+((rx/4)*ry);\r
+                modexSelectPlane(PLANE(plane+x));\r
+                for(; y < py+rh; y++) {\r
+                        //for(px=0; px < p->width; px++) {\r
+                                //printf("%02X ", (int) p->plane[plane][i++]);\r
+//                              _fmemcpy(buff, &(p->plane[plane][i+=p->pwidth]), p->pwidth);\r
+//                              printf("buff %u==%s\n", y, *buff);\r
+                                _fmemcpy(page->data + (((page->width/4) * (y+page->dy)) + ((x+page->dx) / 4)), &(p->plane[plane][i+=rw]), rw/4);\r
+                        //}\r
+                }\r
+                x=px;\r
+                y=py;\r
+        }\r
 }\r
 \r
+\r
 /*temp*/\r
 void\r
 DrawPBuf(page_t *page, int x, int y, planar_buf_t *p, boolean sprite)\r