X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fscroll.c;h=2746ca4f1cc500316ba210f54ce75dc116b13871;hb=3baebbddf8e57357bc4c5d3e512c91c8e9c84773;hp=cd143846d7992c714ad214751d9ff8ebc7d51d56;hpb=745a019394912141d8dc1e564934098f1423a97e;p=16.git diff --git a/src/scroll.c b/src/scroll.c index cd143846..2746ca4f 100755 --- a/src/scroll.c +++ b/src/scroll.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 + * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -28,21 +28,18 @@ #define MODEX //this is for mode x initiating //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]; -//page_t screen, gvar.video.page[1], gvar.video.page[2]; map_view_t mv[4]; -bitmap_t p; //word pn=0; //i forgot ww -static planar_buf_t huge *pp; float t; sword bakapee; pan_t pan; //debugswitches boolean panswitch=0; -boolean pageflipflop=1; +//extern boolean pageflipflop=1; unsigned int i; const char *cpus; //static int persist_aniframe = 0; /* gonna be increased to 1 before being used, so 0 is ok for default */ @@ -51,7 +48,7 @@ boolean pageflipflop=1; word pg; //#ifdef FADE static word paloffset=0; - byte *dpal, *default_pal; + byte *dpal; //#endif byte *gpal; byte *ptr; @@ -94,13 +91,8 @@ void main(int argc, char *argv[]) _DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U); pan.pn=1; - //player[0].data = &pp; - //printf("starting timer "); start_timer(&gvar); - //printf("ok\n"); - -// atexit(qclean()); /* create the map */ fprintf(stderr, "testing map load~ "); @@ -115,8 +107,8 @@ void main(int argc, char *argv[]) //mappalptr = map.tiles->btdata->palette; /* data */ - //++++p = bitmapLoadPcx("data/ptmp.pcx"); // load sprite - //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite + player[0].data = malloc(48*128); //TODO use exmm + *player[0].data = bitmapLoadPcx("data/chikyuu.pcx"); // load sprite /* create the planar buffer */ ////++++ (player[0].data) = *planar_buf_from_bitmap(&p); @@ -134,8 +126,6 @@ void main(int argc, char *argv[]) #ifdef MODEX #ifdef FADE dpal = modexNewPal(); - default_pal = modexNewPal(); - *default_pal = *dpal; modexPalSave(dpal); modexFadeOff(4, dpal); #endif @@ -150,7 +140,7 @@ void main(int argc, char *argv[]) // printf("Total used @ before palette initiation: %zu\n", oldfreemem-GetFreeSize()); //++++ player[0].data.offset=(paloffset/3); //++++ modexPalUpdate1(&player[0].data, &paloffset, 0, 0); - //modexPalUpdate1(p.palette); + modexPalUpdate1(player[0].data->palette); //++++0000 modexPalUpdate1(map.tiles->btdata->palette); //printf(" %d\n", sizeof(ptmp->data)); //printf("1: %d\n", paloffset); @@ -195,7 +185,7 @@ void main(int argc, char *argv[]) //modexClearRegion(mv[1].page, player[0].x, player[0].y-TILEWH, 16, 32, 15); #else //PBUFSFUN(mv[1].page, player[0].x, player[0].y-TILEWH, 16, 64, 24, 32, PLAYERBMPDATA); - PBUFSFUN(mv[0].page, player[0].x, player[0].y-TILEWH, 16, 64, 16, 32, &pp); + PBUFSFUN(mv[0].page, player[0].x, player[0].y-TILEWH, 16, 64, 16, 32, player[0].data); #endif if(!pageflipflop) modexShowPage(mv[1].page); @@ -262,7 +252,7 @@ void main(int argc, char *argv[]) #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(22)){ - paloffset=0; modexPalBlack(); modexPalUpdate(&player[0].data, &paloffset, 0, 0); + paloffset=0; modexPalBlack(); modexPalUpdate(player[0].data, &paloffset, 0, 0); printf("1paloffset = %d\n", paloffset/3); modexPalUpdate(map.tiles->data, &paloffset, 0, 0); printf("2paloffset = %d\n", paloffset/3); @@ -292,11 +282,17 @@ void main(int argc, char *argv[]) } if(IN_KeyDown(67)) //f9 { -// modexClearRegion(mv[2].page, 0, 0, mv[2].page->width, mv[2].page->height, 47); -// modexClearRegion(mv[3].page, 0, 0, mv[3].page->width, mv[3].page->height, 45); - modexClearRegion(mv[3].page, 0, 128, 28, 36, 15); + modexClearRegion(mv[1].page, 0, 0, mv[1].page->width, mv[1].page->height, 2); + modexClearRegion(mv[2].page, 0, 0, mv[2].page->width, mv[2].page->height, 3); + modexClearRegion(mv[3].page, 0, 0, mv[3].page->width, mv[3].page->height, 4); + modexClearRegion(mv[3].page, 0, 0, 20, 36, 15); //IN_UserInput(1,1); } + if(IN_KeyDown(66)) //f8 + { +// modexDrawSprite(mv[0].page, 16, 16, p); + modexDrawSprite(mv[0].page, 32+48, 16, (player[0].data)); + } //TODO fmemtest into page /*if(IN_KeyDown(4+1)) //4 { @@ -306,7 +302,7 @@ void main(int argc, char *argv[]) }*/ //9 - if(IN_KeyDown(10)){ modexPalOverscan(rand()%56); modexPalUpdate1(default_pal); IN_UserInput(1,1); } + if(IN_KeyDown(10)){ modexPalOverscan(rand()%56); modexPalUpdate1(dpal); IN_UserInput(1,1); } //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! }