]> 4ch.mooo.com Git - 16.git/commitdiff
meh i should organize gvar and mv soon and use the memory manager and i cleaned the...
authorsparky4 <sparky4@cock.li>
Wed, 22 Jun 2016 14:50:44 +0000 (09:50 -0500)
committersparky4 <sparky4@cock.li>
Wed, 22 Jun 2016 14:50:44 +0000 (09:50 -0500)
src/lib/modex16.c
src/lib/scroll16.c
src/scroll.c

index eeba90fcfdd295bcc56d73993b3d2563400e9f65..85651baca17a59f73e387b4e38d71a2a7b103d92 100755 (executable)
@@ -307,14 +307,14 @@ modexShowPage(page_t *page) {
     low_address  = LOW_ADDRESS  | (offset << 8);\r
 \r
     /* wait for appropriate timing and then program CRTC */\r
-    //while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE));\r
+    while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE));\r
     outpw(CRTC_INDEX, high_address);\r
     outpw(CRTC_INDEX, low_address);\r
     outp(CRTC_INDEX, 0x13);\r
     outp(CRTC_DATA, crtcOffset);\r
 \r
     /*  wait for one retrace */\r
-    //while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
+    while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
 \r
     /* do PEL panning here */\r
     outp(AC_INDEX, 0x33);\r
index d4082a6c95b97413cbcb2549187bd2f0a356d5f0..c56efd9171b93fa294fd9a42a5d30720ed1af65e 100755 (executable)
@@ -661,7 +661,6 @@ void mapGoTo(map_view_t *mv, int tx, int ty)
        modexCopyPageRegion(mv[3].page, mv[0].page, 0/**/, 0/**/, 32, 16, 16, 32);
 }
 
-
 void near
 mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y)
 {
@@ -794,14 +793,8 @@ void shinku(global_game_variables_t *gv)
 {
        word x = (0) + gv->video.page[/*!*/(gv->video.p)].dx; // follow the screen
        word y = (0) + gv->video.page[/*!*/(gv->video.p)].dy; // follow the screen
-       word w = 64;
-       word h = 8;
-       word col = 7;
-       word bgcol = 0;
-       word type = 1;
+       word w = 64, h = 8, col = 7, bgcol = 0, type = 1;
        byte o,o2,i;
-       //modexClearRegion(&gv->video.page[2], 0, 0, gv->video.page[2].sw, gv->video.page[2].sh, 47);
-       //modexClearRegion(&gv->video.page[3], 0, 0, gv->video.page[3].sw, gv->video.page[3].sh, 45);
        //modexCopyPageRegion(pip[1].page, pip[2].page, 16, 16, 16, 16, (14*8)+4, 8+4);
        /* block copy to visible RAM from offscreen */
 //     vga_setup_wm1_block_copy();
@@ -906,8 +899,6 @@ void near animatePlayer(map_view_t *pip, player_t *player, word pn, sword scroll
                break;
        }
 
-///*!*/(pip->video->p)
-
 #ifdef SPRITE
 /*#define FRAME1 PBUFSFUN(pip[PAGENUMB].page, 0, 0, 32, dire, 16, 32,  PLAYERBMPDATA);
 #define FRAME2 PBUFSFUN(pip[PAGENUMB].page, 0, 0, 16, dire, 16, 32,    PLAYERBMPDATA);
@@ -925,7 +916,7 @@ void near animatePlayer(map_view_t *pip, player_t *player, word pn, sword scroll
        #endif
        if(!pageflipflop)
                modexCopyPageRegion(pip[1].page, pip[0].page, x-4, y-4, x-4, y-4, 28, 36);
-       else    modexCopyPageRegion(pip[3].page, pip[0].page, bx, by, 16, 0, 16, 36);
+       else    modexCopyPageRegion(pip[3].page, pip[0].page, bx, by, 0, 0, 16, 32);
 //modexCopyPageRegion(page_t *dest, page_t *src, word sx, word sy, word dx, word dy, word width, word height);
        //modexCopyPageRegion(pip[3].page, pip[!(pip->video->p)].page, x-4, y-4, 0, 128, 28, 36);
        /*modexCopyPageRegion(pip[pip->video->p].page,
@@ -956,7 +947,4 @@ void near animatePlayer(map_view_t *pip, player_t *player, word pn, sword scroll
 // delay(500);
        //printf("x=%d  y=%d    bx=%d           by=%d\n", x, y, bx, by);
        pip->video->r=1;
-       //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);
 }
index 1490ad0b2b546d5b8778f8af2c50c5c943d603ea..56dd70fc24319b193059b6c33d0652e4a59ca690 100755 (executable)
@@ -28,7 +28,7 @@
 #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];
@@ -113,9 +113,7 @@ 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
 
@@ -151,7 +149,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 +194,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);
@@ -300,7 +298,7 @@ void main(int argc, char *argv[])
        }
        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