]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
p16 is being worked on a bunch by me wwww [16_ca needs huge amounts of work and I...
[16.git] / src / lib / 16_tail.c
index ec7023c8e47c0fba9c013f629551f88a693dad8e..6b08e0fb9180cd4e7fac221625cc7aba8ecf455b 100755 (executable)
@@ -243,27 +243,38 @@ void Shutdown16(global_game_variables_t *gvar)
 ===================\r
 */\r
 \r
-#define PIXPERFRAME     1600\r
-\r
 boolean FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar)\r
 {\r
        word            p,pixperframe;\r
        unsigned        drawofs,pagedelta;\r
        byte            mask,maskb[8] = {1,2,4,8};\r
-       unsigned        x,y,frame               ,esorig,q;\r
-       dword           rndval;\r
-       word screenseg = SCREENSEG;\r
+       unsigned        x,y,frame;\r
+       long            rndval;\r
+       word            screenseg;\r
+#ifdef __WATCOMC__\r
+       unsigned        esorig;//,q;\r
+#endif\r
 \r
        pagedelta = dest-source;\r
-       rndval = 1;     esorig = 0; q = 16;\r
+       rndval = 1;\r
+#ifdef __WATCOMC__\r
+       esorig = 0;// q = 16;\r
+#endif\r
        x = y = 0;\r
-       pixperframe = 76800/(dword)frames;\r
+       pixperframe = (dword)(gvar->video.page[0].width*gvar->video.page[0].height)/frames;\r
+       screenseg = SCREENSEG;\r
 \r
        IN_StartAck (gvar);\r
 \r
+//     modexClearRegion(&(gvar->video.page[0]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 0);\r
+//     modexClearRegion(&(gvar->video.page[1]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 15);\r
+\r
+#ifdef __WATCOMC__\r
        __asm {\r
                mov     [esorig],es\r
        }\r
+#endif\r
+//     TimeCount=\r
        frame=0;\r
        do      // while (1)\r
        {\r
@@ -308,22 +319,19 @@ noxor:
                                mov     [WORD PTR rndval+2],dx\r
                        }\r
 \r
-                       if ((x>width || y>height) && (x<width*2 && y<height*2))\r
+                       if (x>width || y>height)\r
+//                     if ((x>width || y>height) && (x<width*2 && y<height*2))\r
                                continue;\r
-                       //drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2);\r
+//                     drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2);\r
                        drawofs = source+(y*gvar->video.page[0].stridew) + (x>>2);\r
 \r
                        //\r
                        // copy one pixel\r
                        //\r
-//*\r
                        mask = x&3;\r
                        VGAREADMAP(mask);\r
                        mask = maskb[mask];\r
                        VGAMAPMASK(mask);\r
-//*/\r
-//                     modexputPixel(&(gvar->video.page[0]), x, y, rand()%8);\r
-//                     VL_Plot (x, y, 15, &(gvar->video.ofs));\r
 \r
                        __asm {\r
                                mov     di,[drawofs]\r
@@ -337,11 +345,14 @@ noxor:
                }\r
                frame++;\r
 //--           while (TimeCount<frame){}//;            // don't go too fast\r
+               delay(1);\r
        } while (1);\r
+#ifdef __WATCOMC__\r
        __asm {\r
                mov     es,[esorig]\r
        }\r
        return false;\r
+#endif\r
 }\r
 \r
 //===========================================================================\r