\r
#include "src/lib/bakapee.h"\r
\r
-struct glob_game_vars *ggvv;\r
//static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */\r
-char global_temp_status_text[512];\r
-char global_temp_status_text2[512];\r
+//char global_temp_status_text[512];\r
+//char global_temp_status_text2[512];\r
\r
//==========================================================================\r
\r
*/\r
\r
//extern ControlInfo c;\r
-#define PIXPOSX gvar->video.page[0].sw/2\r
-#define PIXPOSY gvar->video.page[0].sh/2\r
+//#define PIXPOSX gvar->video.page[0].sw/2\r
+//#define PIXPOSY gvar->video.page[0].sh/2\r
#ifdef BAKAFIZZUNSIGNED\r
boolean baka_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 = /*64000*/76800/(dword)frames;\r
-\r
-// IN_StartAck ();\r
+ pixperframe = (dword)(gvar->video.page[0].width*gvar->video.page[0].height)/frames;//64000/(dword)frames;\r
+ screenseg = SCREENSEG;\r
\r
-// VL_ShowPage(&(gvar->video.page[0]), 1, 0);\r
-// VL_ShowPage(&(gvar->video.page[1]), 1, 0);\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
-// VL_SetLineWidth(44, gvar);\r
\r
+#ifdef __WATCOMC__\r
__asm {\r
mov [esorig],es\r
}\r
+#endif\r
// TimeCount=\r
frame=0;\r
do // while (1)\r
{\r
- if (abortable && kbhit())//IN_CheckAck () )\r
+ if (abortable && kbhit())//IN_CheckAck (gvar) )\r
return true;\r
\r
__asm {\r
mov [WORD PTR rndval+2],dx\r
}\r
\r
-// if (x>destpage->width || y>destpage->height)\r
-// if (x<destpage->sw || y<destpage->sh)\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+((y+1)*gvar->video.page[0].stridew) + (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
sprintf(global_temp_status_text, "draw - %Fp", drawofs);\r
}\r
frame++;\r
//-- while (TimeCount<frame){}//; // don't go too fast\r
- delay(10);\r
+ delay(1);\r
} while (1);\r
+#ifdef __WATCOMC__\r
__asm {\r
mov es,[esorig]\r
}\r
return false;\r
+#endif\r
}\r
-\r
-#else\r
+#endif\r
+#if 0\r
boolean baka_FizzleFade (page_t *sourcepage, page_t *destpage, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar)\r
{\r
word p,pixperframe;\r
return false;\r
}\r
#endif\r
-/* clrstdin() clear any leftover chars tha may be in stdin stream */\r
+// clrstdin() clear any leftover chars tha may be in stdin stream //\r
void clrstdin()\r
{\r
int ch = 0;\r
while( ( ch = getchar() ) != '\n' && ch != EOF );\r
}\r
\r
+//===========================================================================\r
+\r
+/*\r
+====================\r
+=\r
+= TL_DosLibStartup\r
+=\r
+====================\r
+*/\r
+\r
+void TL_DosLibStartup(global_game_variables_t *gvar)\r
+{\r
+ if(gvar->DLStarted)\r
+ return;\r
+\r
+ // DOSLIB: check our environment\r
+ probe_dos();\r
+\r
+ // DOSLIB: what CPU are we using?\r
+ // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.\r
+ // So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
+ // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
+ // the CPU to carry out tasks. --J.C.\r
+ cpu_probe();\r
+\r
+ // DOSLIB: check for VGA\r
+ if (!probe_vga()) {\r
+ printf("VGA probe failed\n");\r
+ return;\r
+ }\r
+ // hardware must be VGA or higher!\r
+ if (!(vga_state.vga_flags & VGA_IS_VGA)) {\r
+ printf("This program requires VGA or higher graphics hardware\n");\r
+ return;\r
+ }\r
+\r
+ textInit();\r
+ gvar->DLStarted = true;\r
+}\r
+\r
//color \82Ä\82·\82Æ\r
void colortest(page_t *page, bakapee_t *pee)\r
{\r