]> 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:46:10 +0000 (11:46 -0600)
committersparky4 <sparky4@cock.li>
Thu, 26 Jan 2017 17:46:10 +0000 (11:46 -0600)
src/lib/16_tdef.h
src/lib/scroll16.c
src/lib/scroll16.h

index 278218f793ae2b02a3d723bdd52da7eab0fd0a88..2021b8777f319afb8af1b40956885e4fd0fd5cea 100755 (executable)
@@ -498,8 +498,6 @@ typedef struct
 } global_game_variables_t;\r
 \r
 extern char global_temp_status_text[512];\r
-extern char global_temp_status_textR[512];\r
-extern char global_temp_status_textC[512];\r
 #ifdef __WATCOMC__\r
 #define EINVFMT EMFILE\r
 #endif\r
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
index a32874346daaa4f91347cfe04ac21f4b157d6c88..635f432c9e5e8b2077c657d2b91a0955a6607df7 100755 (executable)
 #define PCXBMPPTR      PCXBMPVAR\r
 \r
 //row and colum drawing routines\r
-//#define FULLRCREND\r
-//#define DRAWCOLNUM mv->page[0].dx\r
-//#define DRAWROLNUM mv->page[0].dy\r
-#define DRAWCOLNUM player[plid].enti.q\r
-#define DRAWROLNUM player[plid].enti.q\r
+#define FULLRCREND\r
+#define DRAWCOLNUM mv->page[0].dx\r
+#define DRAWROLNUM mv->page[0].dy\r
+//#define DRAWCOLNUM player[plid].enti.q\r
+//#define DRAWROLNUM player[plid].enti.q\r
 \r
 typedef struct {\r
        map_t *map;\r