From bb469ec3b28468c0370f4fce239fad4375850a8d Mon Sep 17 00:00:00 2001 From: sparky4 <sparky4@cock.li> Date: Mon, 1 Dec 2014 00:37:08 -0600 Subject: [PATCH] deleted: makefile~ modified: scroll.exe modified: src/scroll.c --- makefile~ | 37 ----------------- scroll.exe | Bin 48784 -> 49398 bytes src/scroll.c | 111 +++++++++++++++++++++++++++++++++++---------------- 3 files changed, 77 insertions(+), 71 deletions(-) delete mode 100644 makefile~ diff --git a/makefile~ b/makefile~ deleted file mode 100644 index 6ef7ecd1..00000000 --- a/makefile~ +++ /dev/null @@ -1,37 +0,0 @@ -FLAGS=-0 -d2 -all: test.exe pcxtest.exe test2.exe scroll.exe - -scroll.exe: scroll.obj modex16.obj dos_kb.obj bitmap.obj - wcl $(FLAGS) scroll.obj modex16.obj dos_kb.obj bitmap.obj -scroll.obj: src\scroll.c - wcl $(FLAGS) -c src\scroll.c -test.exe: test.obj modex16.obj bitmap.obj - wcl $(FLAGS) test.obj modex16.obj bitmap.obj - -test2.exe: test2.obj modex16.obj bitmap.obj - wcl $(FLAGS) test2.obj modex16.obj bitmap.obj - -pcxtest.exe: pcxtest.obj modex16.obj bitmap.obj - wcl $(FLAGS) pcxtest.obj modex16.obj bitmap.obj - -test.obj: src\test.c src\lib\modex16.h - wcl $(FLAGS) -c src\test.c - -test2.obj: src\test2.c src\lib\modex16.h - wcl $(FLAGS) -c src\test2.c - -pcxtest.obj: src\pcxtest.c src\lib\modex16.h - wcl $(FLAGS) -c src\pcxtest.c - -modex16.obj: src\lib\modex16.h src\lib\modex16.c - wcl $(FLAGS) -c src\lib\modex16.c - -dos_kb.obj: src\lib\dos_kb.h src\lib\dos_kb.c - wcl $(FLAGS) -c src\lib\dos_kb.c - -bitmap.obj: src\lib\bitmap.h src\lib\bitmap.c - wcl $(FLAGS) -c src\lib\bitmap.c - -clean: - del *.obj -# del *.exe diff --git a/scroll.exe b/scroll.exe index beb750e10bff701c878770117947e1dcc1df9742..afcb2529dc09cc400a98509575218a0daea3f278 100644 GIT binary patch delta 23422 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 delta 22916 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 a^BQ&u2x(~dfo+Ia_HO&wC`p+HLjE7MbYi>! diff --git a/src/scroll.c b/src/scroll.c index 3ce484db..12230d94 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -46,14 +46,16 @@ struct { map_t allocMap(int w, int h); void initMap(map_t *map); -void mapScrollRight(map_view_t *mv, byte offset); -void mapScrollLeft(map_view_t *mv, byte offest); -void mapScrollUp(map_view_t *mv, byte offset); -void mapScrollDown(map_view_t *mv, byte offset); +void mapScrollRight(map_view_t *mv, byte offset, short lp); +void mapScrollLeft(map_view_t *mv, byte offest, short lp); +void mapScrollUp(map_view_t *mv, byte offset, short lp); +void mapScrollDown(map_view_t *mv, byte offset, short lp); void mapGoTo(map_view_t *mv, int tx, int ty); void mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y); -void mapDrawRow(map_view_t *mv, int tx, int ty, word y); -void mapDrawCol(map_view_t *mv, int tx, int ty, word x); +void mapDrawRow(map_view_t *mv, int tx, int ty, word y, word poopoffset); +void mapDrawCol(map_view_t *mv, int tx, int ty, word x, word poopoffset); +void mapDrawWRow(map_view_t *mv, int tx, int ty, word y); +void mapDrawWCol(map_view_t *mv, int tx, int ty, word x); void animatePlayer(map_view_t *src, map_view_t *dest, /*map_view_t *top, */short d1, short d2, int x, int y, int ls, int lp, bitmap_t *bmp); #define TILEWH 16 @@ -172,8 +174,8 @@ break; INC_PER_FRAME; //animatePlayer(bg, spri, mask, 1, 1, player.x, player.y, persist_aniframe, q, &ptmp); animatePlayer(bg, spri, 1, 1, player.x, player.y, persist_aniframe, q, &ptmp); - mapScrollRight(bg, SPEED); - mapScrollRight(spri, SPEED); + mapScrollRight(bg, SPEED, q); + mapScrollRight(spri, SPEED, q); //mapScrollRight(mask, SPEED); modexShowPage(spri->page); } @@ -210,8 +212,8 @@ break; INC_PER_FRAME; //animatePlayer(bg, spri, mask, 3, 1, player.x, player.y, persist_aniframe, q, &ptmp); animatePlayer(bg, spri, 3, 1, player.x, player.y, persist_aniframe, q, &ptmp); - mapScrollLeft(bg, SPEED); - mapScrollLeft(spri, SPEED); + mapScrollLeft(bg, SPEED, q); + mapScrollLeft(spri, SPEED, q); //mapScrollLeft(mask, SPEED); modexShowPage(spri->page); } @@ -248,8 +250,8 @@ break; INC_PER_FRAME; //animatePlayer(bg, spri, mask, 2, 1, player.x, player.y, persist_aniframe, q, &ptmp); animatePlayer(bg, spri, 2, 1, player.x, player.y, persist_aniframe, q, &ptmp); - mapScrollDown(bg, SPEED); - mapScrollDown(spri, SPEED); + mapScrollDown(bg, SPEED, q); + mapScrollDown(spri, SPEED, q); //mapScrollDown(mask, SPEED); modexShowPage(spri->page); } @@ -286,8 +288,8 @@ break; INC_PER_FRAME; //animatePlayer(bg, spri, mask, 0, 1, player.x, player.y, persist_aniframe, q, &ptmp); animatePlayer(bg, spri, 0, 1, player.x, player.y, persist_aniframe, q, &ptmp); - mapScrollUp(bg, SPEED); - mapScrollUp(spri, SPEED); + mapScrollUp(bg, SPEED, q); + mapScrollUp(spri, SPEED, q); //mapScrollUp(mask, SPEED); modexShowPage(spri->page); } @@ -408,7 +410,7 @@ initMap(map_t *map) { void -mapScrollRight(map_view_t *mv, byte offset) { +mapScrollRight(map_view_t *mv, byte offset, short lp) { word x, y; /* coordinate for drawing */ /* increment the pixel position and update the page */ @@ -421,17 +423,18 @@ mapScrollRight(map_view_t *mv, byte offset) { /* Snap the origin forward */ mv->page->data += 4; mv->page->dx = mv->map->tiles->tileWidth; - + } /* draw the next column */ x= SCREEN_WIDTH + mv->map->tiles->tileWidth; - mapDrawCol(mv, mv->tx + 20 , mv->ty-1, x); - } + if(lp%2) + mapDrawCol(mv, mv->tx + 20 , mv->ty-1, x, mv->page->dx); + //} } void -mapScrollLeft(map_view_t *mv, byte offset) { +mapScrollLeft(map_view_t *mv, byte offset, short lp) { word x, y; /* coordinate for drawing */ /* increment the pixel position and update the page */ @@ -445,15 +448,16 @@ mapScrollLeft(map_view_t *mv, byte offset) { /* Snap the origin backward */ mv->page->data -= 4; mv->page->dx = mv->map->tiles->tileWidth; - - /* draw the next column */ - mapDrawCol(mv, mv->tx-1, mv->ty-1, 0); } + /* draw the next column */ + if(lp%2) + mapDrawCol(mv, mv->tx-1, mv->ty-1, 0, mv->page->dx); + //} } void -mapScrollUp(map_view_t *mv, byte offset) { +mapScrollUp(map_view_t *mv, byte offset, short lp) { word x, y; /* coordinate for drawing */ /* increment the pixel position and update the page */ @@ -466,17 +470,18 @@ mapScrollUp(map_view_t *mv, byte offset) { /* Snap the origin downward */ mv->page->data -= mv->page->width*4; mv->page->dy = mv->map->tiles->tileHeight; - + } /* draw the next row */ y= 0; - mapDrawRow(mv, mv->tx-1 , mv->ty-1, y); - } + if(lp%3) + mapDrawRow(mv, mv->tx-1 , mv->ty-1, y, mv->page->dy); + //} } void -mapScrollDown(map_view_t *mv, byte offset) { +mapScrollDown(map_view_t *mv, byte offset, short lp) { word x, y; /* coordinate for drawing */ /* increment the pixel position and update the page */ @@ -489,12 +494,13 @@ mapScrollDown(map_view_t *mv, byte offset) { /* Snap the origin downward */ mv->page->data += mv->page->width*4; mv->page->dy = mv->map->tiles->tileHeight; - + } /* draw the next row */ y= SCREEN_HEIGHT + mv->map->tiles->tileHeight; - mapDrawRow(mv, mv->tx-1 , mv->ty+15, y); - } + if(lp%3) + mapDrawRow(mv, mv->tx-1 , mv->ty+15, y, mv->page->dy); + //} } @@ -519,7 +525,7 @@ mapGoTo(map_view_t *mv, int tx, int ty) { py=0; i=mv->ty * mv->map->width + mv->tx; for(ty=mv->ty-1; py < SCREEN_HEIGHT+mv->dyThresh && ty < mv->map->height; ty++, py+=mv->map->tiles->tileHeight) { - mapDrawRow(mv, tx-1, ty, py); + mapDrawWRow(mv, tx-1, ty, py); i+=mv->map->width - tx; } } @@ -536,13 +542,14 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) { void -mapDrawRow(map_view_t *mv, int tx, int ty, word y) { +mapDrawRow(map_view_t *mv, int tx, int ty, word y, word poopoffset) { word x; int i; + poopoffset%=6; /* the position within the map array */ i=ty * mv->map->width + tx; - for(x=0; x<SCREEN_WIDTH+mv->dxThresh && tx < mv->map->width; x+=mv->map->tiles->tileWidth, tx++) { + for(x=poopoffset; x<(SCREEN_WIDTH+mv->dxThresh)/(poopoffset+1) && tx < mv->map->width; x+=mv->map->tiles->tileWidth, tx++) { if(i>=0) { /* we are in the map, so copy! */ mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y); @@ -553,7 +560,43 @@ mapDrawRow(map_view_t *mv, int tx, int ty, word y) { void -mapDrawCol(map_view_t *mv, int tx, int ty, word x) { +mapDrawCol(map_view_t *mv, int tx, int ty, word x, word poopoffset) { + int y; + int i; + poopoffset%=4; + + /* location in the map array */ + i=ty * mv->map->width + tx; + + /* We'll copy all of the columns in the screen, + i + 1 row above and one below */ + for(y=poopoffset; y<(SCREEN_HEIGHT+mv->dyThresh)/(poopoffset+1) && ty < mv->map->height; y+=mv->map->tiles->tileHeight, ty++) { + if(i>=0) { + /* we are in the map, so copy away! */ + mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y); + } + i += mv->map->width; + } +} + +void +mapDrawWRow(map_view_t *mv, int tx, int ty, word y) { + word x; + int i; + + /* the position within the map array */ + i=ty * mv->map->width + tx; + for(x=0; x<SCREEN_WIDTH+mv->dxThresh && tx < mv->map->width; x+=mv->map->tiles->tileWidth, tx++) { + if(i>=0) { + /* we are in the map, so copy! */ + mapDrawTile(mv->map->tiles, mv->map->data[i], mv->page, x, y); + } + i++; /* next! */ + } +} + +void +mapDrawWCol(map_view_t *mv, int tx, int ty, word x) { int y; int i; -- 2.39.5