]> 4ch.mooo.com Git - 16.git/blobdiff - scroll.c
modified: BITMAP.C
[16.git] / scroll.c
index fdfd4e9f7b105cdb8741cb20d09b4389d31fd6ec..057a5ee549df0a0edba744805f4e9c7b445d15fd 100644 (file)
--- a/scroll.c
+++ b/scroll.c
@@ -63,7 +63,7 @@ void animatePlayer(map_view_t *src, map_view_t *dest, short d1, short d2, int x,
 #define SWAP(a, b) tmp=a; a=b; b=tmp;\r
 void main() {\r
        bitmap_t ptmp; // player sprite\r
-       int q=0;\r
+       int q=1;\r
        page_t screen, screen2;\r
        map_t map;\r
        map_view_t mv, mv2;\r
@@ -72,7 +72,7 @@ void main() {
 \r
        setkb(1);\r
        /* create the map */\r
-       map = allocMap(MAPX,MAPY); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be bgn properly\r
+       map = allocMap(MAPX,MAPY); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be drawn properly\r
        initMap(&map);\r
        mv.map = ↦\r
        mv2.map = ↦\r
@@ -118,7 +118,7 @@ void main() {
        {\r
                if(bg->tx >= 0 && bg->tx+20 < MAPX && player.tx == bg->tx + 10)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                animatePlayer(bg, spri, 1, 1, player.x, player.y, q, &ptmp);\r
                                mapScrollRight(bg, SPEED);\r
@@ -129,7 +129,7 @@ void main() {
                }\r
                else if(player.tx < MAPX)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                player.x+=SPEED;\r
                                animatePlayer(bg, spri, 1, 0, player.x, player.y, q, &ptmp);\r
@@ -149,7 +149,7 @@ void main() {
        {\r
                if(bg->tx > 0 && bg->tx+20 <= MAPX && player.tx == bg->tx + 10)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                \r
                                animatePlayer(bg, spri, 3, 1, player.x, player.y, q, &ptmp);\r
@@ -161,7 +161,7 @@ void main() {
                }\r
                else if(player.tx > 1)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                player.x-=SPEED;\r
                                animatePlayer(bg, spri, 3, 0, player.x, player.y, q, &ptmp);\r
@@ -181,7 +181,7 @@ void main() {
        {\r
                if(bg->ty >= 0 && bg->ty+15 < MAPY && player.ty == bg->ty + 8)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                animatePlayer(bg, spri, 2, 1, player.x, player.y, q, &ptmp);\r
                                mapScrollDown(bg, SPEED);\r
@@ -192,7 +192,7 @@ void main() {
                }\r
                else if(player.ty < MAPY)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                player.y+=SPEED;\r
                                animatePlayer(bg, spri, 2, 0, player.x, player.y, q, &ptmp);\r
@@ -212,7 +212,7 @@ void main() {
        {\r
                if(bg->ty > 0 && bg->ty+15 <= MAPY && player.ty == bg->ty + 8)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                animatePlayer(bg, spri, 0, 1, player.x, player.y, q, &ptmp);\r
                                mapScrollUp(bg, SPEED);\r
@@ -223,7 +223,7 @@ void main() {
                }\r
                else if(player.ty > 1)\r
                {\r
-                       for(q=0; q<(TILEWH/SPEED); q++)\r
+                       for(q=1; q<=(TILEWH/SPEED); q++)\r
                        {\r
                                player.y-=SPEED;\r
                                animatePlayer(bg, spri, 0, 0, player.x, player.y, q, &ptmp);\r
@@ -238,7 +238,7 @@ void main() {
                        modexShowPage(spri->page);\r
                }\r
        }\r
-       \r
+\r
        }\r
 \r
        modexLeave();\r
@@ -308,7 +308,7 @@ initMap(map_t *map) {
 \r
 void\r
 mapScrollRight(map_view_t *mv, byte offset) {\r
-       word x, y;  /* coordinate for bging */\r
+       word x, y;  /* coordinate for drawing */\r
 \r
        /* increment the pixel position and update the page */\r
        mv->page->dx += offset;\r
@@ -322,7 +322,7 @@ mapScrollRight(map_view_t *mv, byte offset) {
        mv->page->dx = mv->map->tiles->tileWidth;\r
 \r
 \r
-       /* bg the next column */\r
+       /* draw the next column */\r
        x= SCREEN_WIDTH + mv->map->tiles->tileWidth;\r
                mapDrawCol(mv, mv->tx + 20 , mv->ty-1, x);\r
        }\r
@@ -331,7 +331,7 @@ mapScrollRight(map_view_t *mv, byte offset) {
 \r
 void\r
 mapScrollLeft(map_view_t *mv, byte offset) {\r
-       word x, y;  /* coordinate for bging */\r
+       word x, y;  /* coordinate for drawing */\r
 \r
        /* increment the pixel position and update the page */\r
        mv->page->dx -= offset;\r
@@ -345,7 +345,7 @@ mapScrollLeft(map_view_t *mv, byte offset) {
        mv->page->data -= 4;\r
        mv->page->dx = mv->map->tiles->tileWidth;\r
 \r
-       /* bg the next column */\r
+       /* draw the next column */\r
                mapDrawCol(mv, mv->tx-1, mv->ty-1, 0);\r
        }\r
 }\r
@@ -353,7 +353,7 @@ mapScrollLeft(map_view_t *mv, byte offset) {
 \r
 void\r
 mapScrollUp(map_view_t *mv, byte offset) {\r
-       word x, y;  /* coordinate for bging */\r
+       word x, y;  /* coordinate for drawing */\r
 \r
        /* increment the pixel position and update the page */\r
        mv->page->dy -= offset;\r
@@ -367,7 +367,7 @@ mapScrollUp(map_view_t *mv, byte offset) {
        mv->page->dy = mv->map->tiles->tileHeight;\r
 \r
 \r
-       /* bg the next row */\r
+       /* draw the next row */\r
        y= 0;\r
                mapDrawRow(mv, mv->tx-1 , mv->ty-1, y);\r
        }\r
@@ -376,7 +376,7 @@ mapScrollUp(map_view_t *mv, byte offset) {
 \r
 void\r
 mapScrollDown(map_view_t *mv, byte offset) {\r
-       word x, y;  /* coordinate for bging */\r
+       word x, y;  /* coordinate for drawing */\r
 \r
        /* increment the pixel position and update the page */\r
        mv->page->dy += offset;\r
@@ -390,7 +390,7 @@ mapScrollDown(map_view_t *mv, byte offset) {
        mv->page->dy = mv->map->tiles->tileHeight;\r
 \r
 \r
-       /* bg the next row */\r
+       /* draw the next row */\r
        y= SCREEN_HEIGHT + mv->map->tiles->tileHeight;\r
                mapDrawRow(mv, mv->tx-1 , mv->ty+15, y);\r
        }\r
@@ -413,7 +413,7 @@ mapGoTo(map_view_t *mv, int tx, int ty) {
        mv->dxThresh = mv->map->tiles->tileWidth * 2;\r
        mv->dyThresh = mv->map->tiles->tileHeight * 2;\r
 \r
-       /* bg the tiles */\r
+       /* draw the tiles */\r
        modexClearRegion(mv->page, 0, 0, mv->page->width, mv->page->height, 0);\r
        py=0;\r
        i=mv->ty * mv->map->width + mv->tx;\r
@@ -472,11 +472,11 @@ mapDrawCol(map_view_t *mv, int tx, int ty, word x) {
 \r
 void\r
 animatePlayer(map_view_t *src, map_view_t *dest, short d1, short d2, int x, int y, int ls, bitmap_t *bmp)\r
-{\r
+{
        short dire=32*d1;\r
        short qq;\r
        short lo = ((TILEWH / SPEED) / 3);\r
-       short loo = (ls + lo);\r
+       short loo = (ls + lo);
 \r
        if(d2==0) qq = 0;\r
        else qq = ((ls+1)*SPEED);\r
@@ -502,13 +502,15 @@ animatePlayer(map_view_t *src, map_view_t *dest, short d1, short d2, int x, int
                        x=x-qq-4;\r
                        y=y-TILEWH;\r
                break;\r
-       }               //TODO: make flexible animation thingy\r
-                       if(2>ls && ls>=0) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
-                       modexDrawSpriteRegion(dest->page, x, y, 48, dire, 24, 32, bmp); modexWaitBorder();  }else\r
-                       if(4>ls && ls>=2) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
-                       modexDrawSpriteRegion(dest->page, x, y, 24, dire, 24, 32, bmp); modexWaitBorder();  }else\r
-                       if(6>ls && ls>4) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
-                       modexDrawSpriteRegion(dest->page, x, y, 0, dire, 24, 32, bmp); modexWaitBorder();  }else\r
-                       if(8>ls && ls>6) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
-                       modexDrawSpriteRegion(dest->page, x, y, 24, dire, 24, 32, bmp); modexWaitBorder();  }else ls-=ls;\r
+       }
+       //TODO: make flexible animation thingy\r
+       if(2>ls && ls>=1) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
+       modexDrawSpriteRegion(dest->page, x, y, 48, dire, 24, 32, bmp); }else\r
+       if(3>ls && ls>=2) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
+       modexDrawSpriteRegion(dest->page, x, y, 24, dire, 24, 32, bmp); }else\r
+       if(4>ls && ls>=3) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
+       modexDrawSpriteRegion(dest->page, x, y, 0, dire, 24, 32, bmp); }else\r
+       if(5>ls && ls>=4) { modexCopyPageRegion(dest->page, src->page, x-2, y-4, x-2, y-4, 28, 40);\r
+       modexDrawSpriteRegion(dest->page, x, y, 24, dire, 24, 32, bmp); }
+       modexWaitBorder();\r
 }\r