X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fscroll.c;h=716c7dcfb76a13243b890b29b6ae5cb2b5add4ca;hb=c7e6c3d9447e917f4149be3885f0c3bedf9bec67;hp=114cad0f1da08c73362e3139c186d1afa584900e;hpb=658eba1768f70e0ce6cb01bb817709c1caf91834;p=16.git diff --git a/src/scroll.c b/src/scroll.c index 114cad0f..716c7dcf 100755 --- a/src/scroll.c +++ b/src/scroll.c @@ -23,17 +23,13 @@ #include "src/lib/scroll16.h" #include "src/lib/16_timer.h" #include "src/lib/wcpu/wcpu.h" -#include "src/lib/mapread.h" #include "src/lib/16_dbg.h" //#define FADE #define MODEX //this is for mode x initiating -//boolean dbg_noplayerinpu=1; - //word far *clock= (word far*) 0x046C; /* 18.2hz clock */ //bitmap_t *p; -global_game_variables_t gvar; static map_t map; player_t player[MaxPlayers]; map_view_t mv[4]; @@ -60,8 +56,7 @@ boolean panswitch=0;//1 void main(int argc, char *argv[]) { - //byte *mesg=malloc(sizeof(dword)); - + static global_game_variables_t gvar; if(argv[1]) bakapee = atoi(argv[1]); else bakapee = 1; @@ -69,8 +64,6 @@ void main(int argc, char *argv[]) pan.pn=1; - start_timer(&gvar); - /* create the map */ fprintf(stderr, "testing map load~ "); loadmap("data/test.map", &map); @@ -84,7 +77,7 @@ void main(int argc, char *argv[]) //mappalptr = map.tiles->btdata->palette; /* data */ - player[0].data = malloc(48*128); //TODO use exmm + //player[0].data = _fmalloc(48*128); //TODO use exmm *player[0].data = bitmapLoadPcx("data/chikyuu.pcx"); // load sprite /* create the planar buffer */ @@ -95,12 +88,7 @@ void main(int argc, char *argv[]) #endif /* input! */ - if(!dbg_noplayerinpu) - { - IN_Startup(); IN_Default(0,&player,ctrl_Keyboard1); - //IN_Default(1,&player,ctrl_Joystick); - } /* save the palette */ #ifdef MODEX @@ -158,7 +146,6 @@ void main(int argc, char *argv[]) player[0].tx = mv[0].tx + mv[0].page->tilemidposscreenx; player[0].ty = mv[0].ty + mv[0].page->tilemidposscreeny; IN_initplayer(&player, 0); - //IN_initplayer(&player, 1); #ifndef SPRITE modexClearRegion(mv[0].page, player[0].x, player[0].y-TILEWH, 16, 32, 15); @@ -192,7 +179,6 @@ void main(int argc, char *argv[]) modexFadeOn(4, gpal); #endif #endif - if(!dbg_noplayerinpu) while(!IN_KeyDown(sc_Escape) && player[0].hp>0) { shinku(&gvar); @@ -205,7 +191,7 @@ void main(int argc, char *argv[]) if(!panswitch){ walk(mv, &player, 0); }else{ - panpagemanual(mv, player, 0); + panpagemanual(mv, &player, 0); //printf(" player[0].q: %d", player[0].q); printf(" player[0].d: %d\n", player[0].d); } @@ -231,7 +217,8 @@ void main(int argc, char *argv[]) } //p #ifdef MODEX #ifdef FADE - if(IN_KeyDown(24)){ modexPalUpdate0(gpal); paloffset=0; modexpdump(mv[0].page); modexpdump(mv[1].page); IN_UserInput(1,1); } + if(IN_KeyDown(24)){ modexPalUpdate0(gpal); paloffset=0; modexpdump(mv[0].page); modexpdump(mv[1].page); IN_UserInput(1,1); } //p + if(IN_KeyDown(23)){ modexDrawSprite(mv[1].page, 160, 120, player[0].data); IN_UserInput(1,1); } //o if(IN_KeyDown(22)){ paloffset=0; modexPalBlack(); modexPalUpdate(player[0].data, &paloffset, 0, 0); printf("1paloffset = %d\n", paloffset/3); @@ -287,11 +274,6 @@ void main(int argc, char *argv[]) //if(IN_KeyDown(11)){ modexPalOverscan(15); } if((player[0].q==1) && !(player[0].x%TILEWH==0 && player[0].y%TILEWH==0)) break; //incase things go out of sync! } - else - while(!kbhit()) - { - shinku(&gvar); - } /* fade back to text mode */ /* but 1st lets save the game palette~ */ @@ -303,42 +285,10 @@ void main(int argc, char *argv[]) #endif VGAmodeX(0, 1, &gvar); #endif - if(!dbg_noplayerinpu) - IN_Shutdown(); + Shutdown16(&gvar); printf("\nProject 16 scroll.exe. This is just a test file!\n"); printf("version %s\n", VERSION); - printf("tx: %d ", mv[0].tx); - printf("ty: %d\n", mv[0].ty); - printf("\n"); - printf("player vars:\n"); - printf(" x: %d", player[0].x); printf(" y: %d\n", player[0].y); - //if(player[0].hp==0) printf("%d wwww\n", player[0].y+8); - //else printf("\nplayer[0].y: %d\n", player[0].y); - printf(" tx: %d", player[0].tx); printf(" ty: %d\n", player[0].ty); - printf(" triggx: %d", player[0].triggerx); printf(" triggy: %d\n", player[0].triggery); - printf(" hp: %d", (player[0].hp)); printf(" q: %d", player[0].q); printf(" player.info.dir: %d", player[0].info.dir); printf(" player.d: %d ", player[0].d); - printf(" pdir=%d\n", player[0].pdir); - printf(" tile data value at player trigger position: %d\n\n", mv[0].map->data[(player[0].triggerx-1)+(map.width*(player[0].triggery-1))]); -// printf("palette offset: %d\n", paloffset/3); -//++++ printf("Total used: %zu\n", oldfreemem-GetFreeSize()); -//++++ printf("Total free: %zu\n", GetFreeSize()); -//not used now printf("temporary player sprite 0: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=45556867\n"); -//not used now printf("temporary player sprite 1: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44606385\n"); - printf("Virtual Screen: %dx", gvar.video.page[0].width); printf("%d ", gvar.video.page[0].height); - printf("Screen: %dx", gvar.video.page[0].sw); printf("%d\n", gvar.video.page[0].sh); - printf("virtual tile resolution: %dx", gvar.video.page[0].tilesw); printf("%d ", gvar.video.page[0].tilesh); - printf("tile resolution: %dx", gvar.video.page[0].tw); printf("%d\n", gvar.video.page[0].th); - printf("middle tile position: %dx", gvar.video.page[0].tilemidposscreenx); printf("%d\n", gvar.video.page[0].tilemidposscreeny); - modexprintmeminfo(&gvar.video); - //printf("mv[%u].tx: %d", pan.pn, mv[pan.pn].tx); printf(" mv[%u].ty: %d ", pan.pn, mv[pan.pn].ty); - printf("gvar.video.p=%u ", gvar.video.p); printf("gvar.video.r=%u ", gvar.video.r); - printf("pageflipflop=%u\n", pageflipflop); - //0000printf("\ngvar.video.tickclk=%f\n", gvar.video.tickclk); - //0000printf("gvar.video.clk=%f", gvar.video.clk); - printf("\n"); - //printf("map.width=%d map.height=%d map.data[0]=%d\n", mv[0].map->width, mv[0].map->height, mv[0].map->data[0]); - - printf("\n"); + SCROLLEXITMESG; switch(detectcpu()) { case 0: cpus = "8086/8088 or 186/88"; break;