]> 4ch.mooo.com Git - 16.git/commitdiff
showing row and colum drawing i optimized it to only draw at the end of walk. this...
authorsparky4 <sparky4@cock.li>
Thu, 26 Jan 2017 17:56:53 +0000 (11:56 -0600)
committersparky4 <sparky4@cock.li>
Thu, 26 Jan 2017 17:56:53 +0000 (11:56 -0600)
src/lib/scroll16.c
src/lib/scroll16.h

index 7ed269cadbab12a2154455df705eb63802caf17a..21c3d7415369ef0aa20727b6d4db0a2adb714423 100755 (executable)
@@ -771,14 +771,12 @@ void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player, w
 if(pagedelayrendermap)         if(!y)  y+=TILEWH;      else    y-=TILEWH;\r
        poopoffset%=player[0].enti.speed;\r
 //printf("y: %d\n", poopoffset);\r
-if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->drawx); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 2, 1, global_temp_status_text); }\r
+if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dx); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 2, 1, global_temp_status_text); }\r
        /* the position within the map array */\r
        i=ty * mv->map->width + tx;\r
-       for(    mv->drawx=poopoffset;\r
-               mv->drawx<(mv->page->sw+mv->dxThresh)/(poopoffset+1) && tx < mv->map->width;\r
-               mv->drawx+=mv->map->tiles->tileWidth, tx++) {\r
+       for(    mv->dx=poopoffset;      mv->dx<(mv->page->sw+mv->dxThresh)/(poopoffset+1) && tx < mv->map->width;       mv->dx+=mv->map->tiles->tileWidth, tx++) {\r
                if(i>=0)        /* we are in the map, so copy away! */\r
-                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, mv->drawx, y);\r
+                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, mv->dx, y);\r
                i++; /* next! */\r
        }\r
 //if(pagedelayrendermap) delay(200);\r
@@ -790,16 +788,14 @@ void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, w
 if(pagedelayrendermap)         if(!x)  x+=TILEWH;              else    x-=TILEWH;\r
        poopoffset%=player[0].enti.speed;\r
 //printf("x: %d\n", poopoffset);\r
-if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->drawy); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 2, 1, global_temp_status_text); }\r
+if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dy); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 2, 1, global_temp_status_text); }\r
        /* location in the map array */\r
        i=ty * mv->map->width + tx;\r
        /* We'll copy all of the columns in the screen,\r
           i + 1 row above and one below */\r
-       for(    mv->drawy=poopoffset;\r
-               mv->drawy<(mv->page->sh+mv->dyThresh)/(poopoffset+1) && ty < mv->map->height;\r
-               mv->drawy+=mv->map->tiles->tileHeight, ty++) {\r
+       for(    mv->dy=poopoffset;      mv->dy<(mv->page->sh+mv->dyThresh)/(poopoffset+1) && ty < mv->map->height;      mv->dy+=mv->map->tiles->tileHeight, ty++) {\r
                if(i>=0)        /* we are in the map, so copy away! */\r
-                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, mv->drawy);\r
+                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, mv->dy);\r
                i += mv->map->width;\r
        }\r
 //if(pagedelayrendermap) delay(200);\r
@@ -807,23 +803,19 @@ if(pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->drawy); mod
 \r
 void mapDrawWRow(map_view_t *mv, int tx, int ty, word y)\r
 {\r
-       word x;\r
        int i;\r
 \r
        /* the position within the map array */\r
        i=ty * mv->map->width + tx;\r
-       for(x=0; x<mv->page->sw+mv->dxThresh && tx < mv->map->width; x+=mv->map->tiles->tileWidth, tx++) {\r
-       if(i>=0) {\r
-               /* we are in the map, so copy! */\r
-               mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y);\r
-       }\r
-       i++; /* next! */\r
+       for(mv->dx=0; mv->dx<mv->page->sw+mv->dxThresh && tx < mv->map->width; mv->dx+=mv->map->tiles->tileWidth, tx++) {\r
+               if(i>=0)        /* we are in the map, so copy! */\r
+                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, mv->dx, y);\r
+               i++; /* next! */\r
        }\r
 }\r
 \r
 void mapDrawWCol(map_view_t *mv, int tx, int ty, word x)\r
 {\r
-       int y;\r
        int i;\r
 \r
        /* location in the map array */\r
@@ -831,12 +823,10 @@ void mapDrawWCol(map_view_t *mv, int tx, int ty, word x)
 \r
        /* We'll copy all of the columns in the screen,\r
           i + 1 row above and one below */\r
-       for(y=0; y<mv->page->sh+mv->dyThresh && ty < mv->map->height; y+=mv->map->tiles->tileHeight, ty++) {\r
-       if(i>=0) {\r
-               /* we are in the map, so copy away! */\r
-               mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y);\r
-       }\r
-       i += mv->map->width;\r
+       for(mv->dy=0; mv->dy<mv->page->sh+mv->dyThresh && ty < mv->map->height; mv->dy+=mv->map->tiles->tileHeight, ty++) {\r
+               if(i>=0)        /* we are in the map, so copy away! */\r
+                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, mv->dy);\r
+               i += mv->map->width;\r
        }\r
 }\r
 \r
index 635f432c9e5e8b2077c657d2b91a0955a6607df7..af4858c9d82e3452d0babe95784f1bbcb71a2711 100755 (executable)
@@ -70,9 +70,9 @@ typedef struct {
        word dyThresh; //Threshold for physical tile switch\r
        video_t *video; //pointer to game variables of the video\r
        nibble *panp;   // pointer to video's pan page num\r
-       int drawx, drawy;       // draw row and col var\r
+       int dx, dy;     // draw row and col var\r
 //newer vars!\r
-       int dx, dy, delta, d;\r
+       int delta, d;\r
 } map_view_t;\r
 /* Map is presumed to:\r
  * 1. Have all the required layers and tilesets within itself\r