From e67791213b2abed60b014366a9a6d887d3d63c2b Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 30 Jul 2015 23:54:14 -0500 Subject: [PATCH] trying to fix!! modified: scroll.exe modified: src/lib/scroll16.c modified: src/lib/scroll16.h modified: src/scroll.c --- scroll.exe | Bin 127007 -> 126692 bytes src/lib/scroll16.c | 57 ++++++++++++++++++++++++++++++++------------- src/lib/scroll16.h | 2 ++ src/scroll.c | 8 ++++++- 4 files changed, 50 insertions(+), 17 deletions(-) diff --git a/scroll.exe b/scroll.exe index c35387abaf88f322aecccc6e1c334fb4e674f19d..c1e26bc0f29577c4e3764f181311919db36c0006 100644 GIT binary patch delta 35785 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%0Agtv1;>0SRklPPQ4f#T$ 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 afdMRd#O~{SBo;XJ?Y`mut@W!ISpNqDPA}{L delta 36161 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 Ud4) player[pn].persist_aniframe = 1; - //right movement switch(player[pn].info.dir) { + //right movement case 3: if(pip[0].tx >= 0 && pip[0].tx+20 < pip[0].map->width && player[pn].tx == pip[0].tx + 10 && !(pip[0].map->data[(player[pn].tx)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx+1 == TRIGGX && player[pn].ty == TRIGGY)) //collision detection! { - modexprint(pip[1].page, 320, (player[pn].q*8), 1, player[pn].q, 0, (byte *)player[pn].q); if(player[pn].q<=(TILEWH/(player[pn].speed))) { INC_PER_FRAME; @@ -59,7 +58,11 @@ void walk(map_view_t *pip, player_t *player, word pn) else { modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x-4, player[pn].y-TILEWH, player[pn].x-4, player[pn].y-TILEWH, 24, 32); +#ifdef SPRITE modexDrawSpriteRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 32, 24, 32, &player[pn].data); +#else + modexClearRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 32, 14); +#endif modexShowPage(pip[1].page); player[pn].info.dir = 2; } @@ -72,7 +75,6 @@ void walk(map_view_t *pip, player_t *player, word pn) if(pip[0].tx > 0 && pip[0].tx+20 <= pip[0].map->width && player[pn].tx == pip[0].tx + 10 && !(pip[0].map->data[(player[pn].tx-2)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx-1 == TRIGGX && player[pn].ty == TRIGGY)) //collision detection! { - modexprint(pip[1].page, 320, (player[pn].q*8), 1, player[pn].q, 0, (byte *)player[pn].q); if(player[pn].q<=(TILEWH/(player[pn].speed))) { INC_PER_FRAME; @@ -85,6 +87,7 @@ void walk(map_view_t *pip, player_t *player, word pn) } else if(player[pn].tx > 1 && !(pip[0].map->data[(player[pn].tx-2)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx-1 == TRIGGX && player[pn].ty == TRIGGY)) { + modexprint(pip[1].page, 320, (player[pn].q*8), 1, player[pn].q, 0, (byte *)(player[pn].q)); if(player[pn].q<=(TILEWH/(player[pn].speed))) { INC_PER_FRAME; @@ -97,7 +100,11 @@ void walk(map_view_t *pip, player_t *player, word pn) else { modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x-4, player[pn].y-TILEWH, player[pn].x-4, player[pn].y-TILEWH, 24, 32); +#ifdef SPRITE modexDrawSpriteRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 96, 24, 32, &player[pn].data); +#else + modexClearRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 32, 10); +#endif modexShowPage(pip[1].page); player[pn].info.dir = 2; } @@ -110,7 +117,6 @@ void walk(map_view_t *pip, player_t *player, word pn) if(pip[0].ty >= 0 && pip[0].ty+15 < pip[0].map->height && player[pn].ty == pip[0].ty + 8 && !(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty))] == 0))//!(player[pn].tx == TRIGGX && player[pn].ty+1 == TRIGGY)) //collision detection! { - modexprint(pip[1].page, 320, (player[pn].q*8), 1, player[pn].q, 0, (byte *)player[pn].q); if(player[pn].q<=(TILEWH/(player[pn].speed))) { INC_PER_FRAME; @@ -135,7 +141,11 @@ void walk(map_view_t *pip, player_t *player, word pn) else { modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x-4, player[pn].y-TILEWH, player[pn].x-4, player[pn].y-TILEWH, 24, 32); +#ifdef SPRITE modexDrawSpriteRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 64, 24, 32, &player[pn].data); +#else + modexClearRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 32, 9); +#endif modexShowPage(pip[1].page); player[pn].info.dir = 2; } @@ -148,7 +158,6 @@ void walk(map_view_t *pip, player_t *player, word pn) if(pip[0].ty > 0 && pip[0].ty+15 <= pip[0].map->height && player[pn].ty == pip[0].ty + 8 && !(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty-2))] == 0))//!(player[pn].tx == TRIGGX && player[pn].ty-1 == TRIGGY)) //collision detection! { - modexprint(pip[1].page, 320, (player[pn].q*8), 1, player[pn].q, 0, (byte *)player[pn].q); if(player[pn].q<=(TILEWH/(player[pn].speed))) { INC_PER_FRAME; @@ -161,6 +170,7 @@ void walk(map_view_t *pip, player_t *player, word pn) } else if(player[pn].ty > 1 && !(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty-2))] == 0))//!(player[pn].tx == TRIGGX && player[pn].ty-1 == TRIGGY)) { + modexprint(pip[1].page, 320, (player[pn].q*8), 1, player[pn].q, 0, (byte *)(player[pn].q)); if(player[pn].q<=(TILEWH/(player[pn].speed))) { INC_PER_FRAME; @@ -173,7 +183,11 @@ void walk(map_view_t *pip, player_t *player, word pn) else { modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x-4, player[pn].y-TILEWH, player[pn].x-4, player[pn].y-TILEWH, 24, 32); +#ifdef SPRITE modexDrawSpriteRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 0, 24, 32, &player[pn].data); +#else + modexClearRegion(pip[1].page, player[pn].x-4, player[pn].y-TILEWH, 24, 32, 12); +#endif modexShowPage(pip[1].page); player[pn].info.dir = 2; } @@ -457,7 +471,7 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) modexDrawBmpRegion(page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data)); break; case 1: - modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, ((word)(t->debug_data))); //currently the over scan color! + modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, (t->debug_data[(x+(t->data->width*y))])); //modexprintbig(page, x, y, 1, 15, 0, (t->debug_data)); /*for(texty=0; texty<2; texty++) { @@ -591,7 +605,7 @@ void animatePlayer(map_view_t *pip, player_t *player, word playnum, sword scroll sword qq; //scroll offset word ls = player[playnum].persist_aniframe; - if(scrollswitch==0) qq = 0; + if(!scrollswitch) qq = 0; else qq = ((ls)*player[playnum].speed); switch (player[playnum].info.dir) { @@ -601,32 +615,43 @@ void animatePlayer(map_view_t *pip, player_t *player, word playnum, sword scroll x-=4; y-=(qq-TILEWH); break; - case 1: + case 3: // right dire*=(player[playnum].info.dir-2); - x+=qq-4; + x+=(qq-4); y-=TILEWH; break; case 2: break; - case 3: + case 4: //down dire*=(player[playnum].info.dir-2); x-=4; y+=(qq-TILEWH); break; - case 4: + case 1: //left dire*=(player[playnum].info.dir+2); - x-=qq-4; + x-=(qq-4); y-=TILEWH; break; } +#ifdef SPRITE +#define FRAME1 modexDrawSpriteRegion(pip[1].page, x, y, 48, dire, 24, 32, &player[playnum].data); +#define FRAME2 modexDrawSpriteRegion(pip[1].page, x, y, 24, dire, 24, 32, &player[playnum].data) +#define FRAME3 modexDrawSpriteRegion(pip[1].page, x, y, 0, dire, 24, 32, &player[playnum].data); +#define FRAME4 modexDrawSpriteRegion(pip[1].page, x, y, 24, dire, 24, 32, &player[playnum].data); +#else +#define FRAME1 modexClearRegion(pip[1].page, x, y, 24, 32, 2+dire); +#define FRAME2 modexClearRegion(pip[1].page, x, y, 24, 32, 1+dire); +#define FRAME3 modexClearRegion(pip[1].page, x, y, 24, 32, dire); +#define FRAME4 modexClearRegion(pip[1].page, x, y, 24, 32, 1+dire); +#endif modexCopyPageRegion(pip[1].page, pip[0].page, x-4, y-4, x-4, y-4, 28, 40); - if(2>ls && ls>=1) { modexDrawSpriteRegion(pip[1].page, x, y, 48, dire, 24, 32, &player[playnum].data); }else - if(3>ls && ls>=2) { modexDrawSpriteRegion(pip[1].page, x, y, 24, dire, 24, 32, &player[playnum].data); }else - if(4>ls && ls>=3) { modexDrawSpriteRegion(pip[1].page, x, y, 0, dire, 24, 32, &player[playnum].data); }else - if(5>ls && ls>=4) { modexDrawSpriteRegion(pip[1].page, x, y, 24, dire, 24, 32, &player[playnum].data); } + if(2>ls && ls>=1) { FRAME1 }else + if(3>ls && ls>=2) { FRAME2 }else + if(4>ls && ls>=3) { FRAME3 }else + if(5>ls && ls>=4) { FRAME4 } //TODO: mask copy //modexCopyPageRegion(dest->page, src->page, x-4, y-4, x-4, y-4, 28, 40); //modexClearRegion(top->page, 66, 66, 2, 40, 0); //modexCopyPageRegion(dest->page, top->page, 66, 66, 66, 66, 2, 40); diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h index 46d1f184..078b27a3 100644 --- a/src/lib/scroll16.h +++ b/src/lib/scroll16.h @@ -31,6 +31,8 @@ #include "src/lib/mapread.h" #include "src/lib/timer.h" +//#define SPRITE + typedef struct { map_t *map; page_t *page; diff --git a/src/scroll.c b/src/scroll.c index 9afbbcd8..726753e1 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -25,6 +25,7 @@ #include "src/lib/wcpu/wcpu.h" //#define FADE +//#define SPRITE //word far *clock= (word far*) 0x046C; /* 18.2hz clock */ @@ -158,6 +159,8 @@ void main() player[0].q=1; player[0].info.dir=2; player[0].hp=4; + player[0].speed=4; + player[0].persist_aniframe=0; //npc /*npc0.tx = bg->tx + 1; npc0.ty = bg->ty + 1; @@ -168,7 +171,11 @@ void main() npc0.q=1; npc0.d=0; modexDrawSpriteRegion(spri->page, npc0.x-4, npc0.y-TILEWH, 24, 64, 24, 32, &npctmp);*/ +#ifdef SPRITE modexDrawSpriteRegion(spri->page, player[0].x-4, player[0].y-TILEWH, 24, 64, 24, 32, &player[0].data); +#else + modexClearRegion(mv[1].page, player[0].x-4, player[0].y-TILEWH, 24, 32, 15); +#endif modexShowPage(spri->page); // printf("Total used @ before loop: %zu\n", oldfreemem-GetFreeSize()); @@ -376,7 +383,6 @@ void main() printf("Screen: %dx", screen.width); printf("%d\n", screen.height); printf("Screen2: %dx", screen2.width); printf("%d\n", screen2.height); printf("map: %dx%d\n", map.width, map.height); - printf("player[0].info.dir: %u\n", player[0].info.dir); //printf("map.width=%d map.height=%d map.data[0]=%d\n", bg->map->width, bg->map->height, bg->map->data[0]); //xmsfree(&map); //xmsfree(bg); -- 2.39.5