X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fscroll16.c;h=1780d960d4b6c338383c30f9f69dbdf063e88990;hb=46a8c35140479f5957e35eeb8cd27da9b9da6630;hp=16fd5d0796f9cf18ad6d2a514bb7e66a07caa53d;hpb=7bfb27fa40c79a2faafd96f87e83e86c0ad0bd12;p=16.git diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c index 16fd5d07..1780d960 100755 --- a/src/lib/scroll16.c +++ b/src/lib/scroll16.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669 + * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 * * This file is part of Project 16. * @@ -478,8 +478,8 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) } else { - rx = (((i-1) % ((t->data.width)/t->tileWidth)) * t->tileWidth); - ry = (((i-1) / ((t->data.height)/t->tileHeight)) * t->tileHeight); + rx = (((i-1) % ((t->data->width)/t->tileWidth)) * t->tileWidth); + ry = (((i-1) / ((t->data->height)/t->tileHeight)) * t->tileHeight); ////0000printf("i=%d\n", i); switch(t->debug_text) { @@ -488,8 +488,10 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, ((t->debug_data[i])+1)); //cannot print number value du to it being slow as bakapee #else - PBUFBFUN(page, x, y, rx, ry, t->tileWidth, t->tileHeight, &(t->data)); - //modexDrawBmpRegion(page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->btdata)); + PBUFBFUN (page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data)); + /* then the sprite. note modding ram ptr means we just draw to (x&3,0) */ + //draw_vrl1_vgax_modex(x-rx,y-ry,vrl_header,vrl_lineoffs,buffer+sizeof(*vrl_header),bufsz-sizeof(*vrl_header)); + //modexDrawBmpRegion (page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data)); #endif break; case 1: @@ -584,21 +586,26 @@ void mapDrawWCol(map_view_t *mv, int tx, int ty, word x) //setkb(0); }*/ +unsigned char shinku_fps_indicator_page = 0; + /* sync */ -void shinku(map_view_t *pip, global_game_variables_t *gv) +void shinku(global_game_variables_t *gv) { - //float t; //modexCopyPageRegion(pip[1].page, pip[2].page, 16, 16, 16, 16, (14*8)+4, 8+4); if(elapsed_timer(gv) >= (1.0 / gv->kurokku.frames_per_second)) { - word x = (16); - word y = (8+16); - word col = 15; + word x = (16) + gv->video.page[shinku_fps_indicator_page].dx; // follow the screen + word y = (16) + gv->video.page[shinku_fps_indicator_page].dy; // follow the screen + word col = 7; word bgcol = 0; - word type = 1; + word type = 0; + //t=(((*(gv->clock))-gv->clock_start) /18.2); sprintf(gv->pee, "%f fps", (double)gv->kurokku.tiku/ticktock(gv)); - modexprint(pip[1].page, 16, 16, 1, 15, 0, gv->pee); +// printf("%s\n", gv->pee); + //FIXME PLEASE!! + modexprint(&(gv->video.page[shinku_fps_indicator_page]), x, y, type, col, bgcol, gv->pee); +//++++ modexprint(&(gv->video.page[0]), x, y, type, col, bgcol, gv->pee); //(gv->clock_start)=*(gv->clock); gv->kurokku.tiku=0; } @@ -613,6 +620,7 @@ void shinku(map_view_t *pip, global_game_variables_t *gv) case 1: //turn this off if XT modexWaitBorder(); + //vga_wait_for_vsync(); gv->kurokku.frames_per_second=60; break; } @@ -661,6 +669,10 @@ void near animatePlayer(map_view_t *pip, player_t *player, word pn, sword scroll } #ifdef SPRITE +// #define FRAME1 PBUFSFUN(pip[1].page, x, y, 48, dire, 24, 32, PLAYERBMPDATA); +// #define FRAME2 PBUFSFUN(pip[1].page, x, y, 24, dire, 24, 32, PLAYERBMPDATA); +// #define FRAME3 PBUFSFUN(pip[1].page, x, y, 0, dire, 24, 32, PLAYERBMPDATA); +// #define FRAME4 PBUFSFUN(pip[1].page, x, y, 24, dire, 24, 32, PLAYERBMPDATA); #define FRAME1 PBUFSFUN(pip[1].page, x, y, 48, dire, 24, 32, PLAYERBMPDATA); #define FRAME2 PBUFSFUN(pip[1].page, x, y, 24, dire, 24, 32, PLAYERBMPDATA); #define FRAME3 PBUFSFUN(pip[1].page, x, y, 0, dire, 24, 32, PLAYERBMPDATA);