]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/scroll16.c
showing row and colum drawing i optimized it to only draw at the end of walk. this...
[16.git] / src / lib / scroll16.c
index 42b061d47d771f55cc4fdc0e5f7959a4789cd9c4..7ed269cadbab12a2154455df705eb63802caf17a 100755 (executable)
@@ -428,8 +428,10 @@ void near mapScrollRight(map_view_t *mv, player_t *player, word id, word plid)
 \r
        /* draw the next column */\r
        x= mv[0].page->sw + mv[id].map->tiles->tileWidth;\r
-#ifdef FULLRCREND\r
+#ifndef FULLRCREND\r
        if(player[plid].enti.q%4)\r
+#else\r
+       if(player[plid].enti.q==4)\r
 #endif\r
                if(id==0)\r
                        mapDrawCol(&mv[0], mv[0].tx + mv[0].page->tw, mv[0].ty-1, x, player, DRAWCOLNUM);\r
@@ -460,8 +462,10 @@ void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid)
 \r
        /* draw the next column */\r
        x= 0;\r
-#ifdef FULLRCREND\r
+#ifndef FULLRCREND\r
        if(player[plid].enti.q%4)\r
+#else\r
+       if(player[plid].enti.q==4)\r
 #endif\r
                if(id==0)\r
                        mapDrawCol(&mv[0], mv[0].tx - 1, mv[0].ty-1, x, player, DRAWCOLNUM);\r
@@ -482,9 +486,9 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid)
        /* check to see if this changes the tile */\r
        if(mv[id].page[0].dy == 0 )\r
        {\r
-       /* go down one tile */\r
+       /* go up one tile */\r
        mv[id].ty--;\r
-       /* Snap the origin downward */\r
+       /* Snap the origin upward */\r
        mv[id].page->data -= mv[id].page->pi;\r
 \r
        mv[id].page[0].dy = mv[id].map->tiles->tileHeight;\r
@@ -492,8 +496,10 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid)
 \r
        /* draw the next row */\r
        y= 0;\r
-#ifdef FULLRCREND\r
+#ifndef FULLRCREND\r
        if(player[plid].enti.q%3)\r
+#else\r
+       if(player[plid].enti.q==4)\r
 #endif\r
                if(id==0)\r
                        mapDrawRow(&mv[0], mv[0].tx - 1, mv[0].ty-1, y, player, DRAWCOLNUM);\r
@@ -503,6 +509,7 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid)
        mv[0].video->r=1;\r
 }\r
 \r
+\r
 void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid)\r
 {\r
        word y;//x,  /* coordinate for drawing */\r
@@ -523,8 +530,10 @@ void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid)
 \r
        /* draw the next row */\r
        y= mv[0].page->sh + mv[id].map->tiles->tileHeight;\r
-#ifdef FULLRCREND\r
+#ifndef FULLRCREND\r
        if(player[plid].enti.q%3)\r
+#else\r
+       if(player[plid].enti.q==4)\r
 #endif\r
                if(id==0)\r
                        mapDrawRow(&mv[0], mv[0].tx - 1, mv[0].ty+mv[0].page->th, y, player, DRAWCOLNUM);\r
@@ -756,61 +765,44 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y)
        }\r
 }\r
 \r
-char global_temp_status_textR[512];\r
-char global_temp_status_textC[512];\r
-\r
 void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player, word poopoffset)\r
 {\r
-       int x, i;\r
-if(pagedelayrendermap)\r
-       if(!y)  y+=TILEWH;\r
-       else    y-=TILEWH;\r
-\r
-       poopoffset%=player[0].enti.speed; poopoffset++;\r
+       int i;\r
+if(pagedelayrendermap)         if(!y)  y+=TILEWH;      else    y-=TILEWH;\r
+       poopoffset%=player[0].enti.speed;\r
 //printf("y: %d\n", poopoffset);\r
-       sprintf(global_temp_status_textR, "y:%u", poopoffset); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8), 1, 2, 1, global_temp_status_textR);\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
        /* the position within the map array */\r
        i=ty * mv->map->width + tx;\r
-\r
-\r
-\r
-       for(    x=poopoffset*mv->map->tiles->tileWidth;\r
-               x<(mv->page->sw+mv->dxThresh)/(poopoffset+1) && tx < mv->map->width;\r
-               x+=mv->map->tiles->tileWidth, tx++) {\r
-               if(i>=0) {\r
-                       if(pagedelayrendermap) delay(20);\r
-                       /* we are in the map, so copy! */\r
-                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y);\r
-               }\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
+               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
                i++; /* next! */\r
        }\r
+//if(pagedelayrendermap) delay(200);\r
 }\r
 \r
 void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, word poopoffset)\r
 {\r
-       int y, i;\r
-if(pagedelayrendermap)\r
-       if(!x)  x+=TILEWH;\r
-       else    x-=TILEWH;\r
-\r
-       poopoffset%=player[0].enti.speed; poopoffset++;\r
+       int i;\r
+if(pagedelayrendermap)         if(!x)  x+=TILEWH;              else    x-=TILEWH;\r
+       poopoffset%=player[0].enti.speed;\r
 //printf("x: %d\n", poopoffset);\r
-       sprintf(global_temp_status_textR, "x:%u", poopoffset); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8), 1, 2, 1, global_temp_status_textR);\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
        /* location in the map array */\r
        i=ty * mv->map->width + tx;\r
-\r
        /* We'll copy all of the columns in the screen,\r
           i + 1 row above and one below */\r
-       for(    y=poopoffset*mv->map->tiles->tileHeight;\r
-               y<(mv->page->sh+mv->dyThresh)/(poopoffset+1) && ty < mv->map->height;\r
-               y+=mv->map->tiles->tileHeight, ty++) {\r
-               if(i>=0) {\r
-                       if(pagedelayrendermap) delay(20);\r
-                       /* we are in the map, so copy away! */\r
-                       mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y);\r
-               }\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
+               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
                i += mv->map->width;\r
        }\r
+//if(pagedelayrendermap) delay(200);\r
 }\r
 \r
 void mapDrawWRow(map_view_t *mv, int tx, int ty, word y)\r