X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fbakapee.c;h=c7e43966bda4816e9e8dadd153fc25829589c70a;hb=a565be31ce92d6168ae6983042da75b0b683e52b;hp=26d7c8026d7685ca4920726a5893b64f93d5a533;hpb=cc968ea5d3917827472954028d2d7efe742d4a2b;p=16.git diff --git a/src/lib/bakapee.c b/src/lib/bakapee.c index 26d7c802..c7e43966 100755 --- a/src/lib/bakapee.c +++ b/src/lib/bakapee.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * Copyright (C) 2012-2019 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -22,10 +22,9 @@ #include "src/lib/bakapee.h" -struct glob_game_vars *ggvv; //static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */ -char global_temp_status_text[512]; -char global_temp_status_text2[512]; +//char global_temp_status_text[512]; +//char global_temp_status_text2[512]; //========================================================================== @@ -54,40 +53,45 @@ char global_temp_status_text2[512]; */ //extern ControlInfo c; -#define PIXPOSX gvar->video.page[0].sw/2 -#define PIXPOSY gvar->video.page[0].sh/2 +//#define PIXPOSX gvar->video.page[0].sw/2 +//#define PIXPOSY gvar->video.page[0].sh/2 #ifdef BAKAFIZZUNSIGNED boolean baka_FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar) { word p,pixperframe; unsigned drawofs,pagedelta; byte mask,maskb[8] = {1,2,4,8}; - unsigned x,y,frame ,esorig,q; - dword rndval; - word screenseg = SCREENSEG; + unsigned x,y,frame; + long rndval; + word screenseg; +#ifdef __WATCOMC__ + unsigned esorig;//,q; +#endif pagedelta = dest-source; - rndval = 1; esorig = 0; q = 16; + rndval = 1; +#ifdef __WATCOMC__ + esorig = 0;// q = 16; +#endif x = y = 0; - pixperframe = /*64000*/76800/(dword)frames; - -// IN_StartAck (); + pixperframe = (dword)(gvar->video.page[0].width*gvar->video.page[0].height)/frames;//64000/(dword)frames; + screenseg = SCREENSEG; -// VL_ShowPage(&(gvar->video.page[0]), 1, 0); -// VL_ShowPage(&(gvar->video.page[1]), 1, 0); +// IN_StartAck (gvar); // modexClearRegion(&(gvar->video.page[0]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 0); // modexClearRegion(&(gvar->video.page[1]), 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 15); -// VL_SetLineWidth(44, gvar); +#ifdef __WATCOMC__ __asm { mov [esorig],es } +#endif // TimeCount= frame=0; do // while (1) { - if (abortable && kbhit())//IN_CheckAck () ) + if (abortable && kbhit())//IN_CheckAck (gvar) ) return true; __asm { @@ -128,12 +132,10 @@ noxor: mov [WORD PTR rndval+2],dx } -// if (x>destpage->width || y>destpage->height) -// if (xsw || ysh) - if ((x>width || y>height) && (xwidth || y>height) +// if ((x>width || y>height) && (xvideo.ofs.ylookup[y]) + (x>>2); - //drawofs = source+((y+1)*gvar->video.page[0].stridew) + (x>>2); +// drawofs = source+(gvar->video.ofs.ylookup[y]) + (x>>2); drawofs = source+(y*gvar->video.page[0].stridew) + (x>>2); /* sprintf(global_temp_status_text, "draw - %Fp", drawofs); @@ -166,15 +168,17 @@ modexprint(&(gvar->video.page[0]), PIXPOSX, q+PIXPOSY, 1, 0, 47, 0, 1, global_te } frame++; //-- while (TimeCountDLStarted) + return; + + // DOSLIB: check our environment + probe_dos(); + + // DOSLIB: what CPU are we using? + // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS. + // So this code by itself shouldn't care too much what CPU it's running on. Except that other + // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for + // the CPU to carry out tasks. --J.C. + cpu_probe(); + + // DOSLIB: check for VGA + if (!probe_vga()) { + printf("VGA probe failed\n"); + return; + } + // hardware must be VGA or higher! + if (!(vga_state.vga_flags & VGA_IS_VGA)) { + printf("This program requires VGA or higher graphics hardware\n"); + return; + } + + textInit(); + gvar->DLStarted = true; +} + //color ‚Ä‚·‚Æ void colortest(page_t *page, bakapee_t *pee) {