X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fscroll.c;h=2746ca4f1cc500316ba210f54ce75dc116b13871;hb=ef7fe6b87569e53e6b5a15098b5a0807c465b62e;hp=1490ad0b2b546d5b8778f8af2c50c5c943d603ea;hpb=c7481b62edaba1c082c34d0e2c999c0a10367604;p=16.git diff --git a/src/scroll.c b/src/scroll.c index 1490ad0b..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,19 +28,18 @@ #define MODEX //this is for mode x initiating //word far *clock= (word far*) 0x046C; /* 18.2hz clock */ -bitmap_t *p; +//bitmap_t *p; global_game_variables_t gvar; static map_t map; player_t player[MaxPlayers]; map_view_t mv[4]; //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 */ @@ -49,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; @@ -92,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~ "); @@ -113,11 +107,8 @@ void main(int argc, char *argv[]) //mappalptr = map.tiles->btdata->palette; /* data */ - p = malloc(48*128); //TODO use exmm - player[0].data = p; - *p = bitmapLoadPcx("data/chikyuu.pcx"); // load sprite + player[0].data = malloc(48*128); //TODO use exmm *player[0].data = bitmapLoadPcx("data/chikyuu.pcx"); // load sprite - //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite /* create the planar buffer */ ////++++ (player[0].data) = *planar_buf_from_bitmap(&p); @@ -135,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 @@ -151,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); @@ -196,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, p); + 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); @@ -293,14 +282,15 @@ 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, 16, 16, p); modexDrawSprite(mv[0].page, 32+48, 16, (player[0].data)); } //TODO fmemtest into page @@ -312,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! }