OSDN Git Service

updated copyleft and need to test and fix newer version of open watcom
[proj16/16.git] / src / lib / 16_tail.h
index 5f1683d..8fa138c 100755 (executable)
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2022 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
  *\r
  * This file is part of Project 16.\r
  *\r
@@ -29,6 +29,7 @@
 #include "src/lib/16_mm.h"\r
 #include "src/lib/16_ca.h"\r
 #include "src/lib/16_in.h"\r
+#include "src/lib/16_sd.h"\r
 #include "src/lib/16_dbg.h"\r
 #include "src/lib/16_vl.h"\r
 #include "src/lib/testpatt.h"\r
@@ -41,8 +42,7 @@
 #include <hw/vga/vrs.h>\r
 #endif\r
 \r
-extern struct glob_game_vars   *ggvv;\r
-\r
+//gvar.video.ofs.bufferofs,gvar.video.ofs.displayofs,\r
 #define FIZZLEFADEFUNCTION \\r
        if(gvar.in.inst->Keyboard[sc_F]){ FizzleFade(\\r
        atoi(gvar.video.page[0].data),atoi(gvar.video.page[1].data),\\r
@@ -52,12 +52,20 @@ extern struct glob_game_vars        *ggvv;
        if(gvar.in.inst->Keyboard[88]){ panswitch=!panswitch;                                                   IN_UserInput(1, &gvar); } \\r
        TAIL_FUNCTIONKEYFUNCTIONS0EXE\r
 \r
+\r
 #define RFDEBUGFUNCTIONS\r
 #ifdef __DEBUG_RF__\r
 #undef RFDEBUGFUNCTIONS\r
 #define RFDEBUGFUNCTIONS \\r
-       if(gvar.in.inst->Keyboard[sc_F11]){ dbg_pagedelayrendermap=!dbg_pagedelayrendermap;             IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_F9]){ dbg_pagenorendermap=!dbg_pagenorendermap;                    IN_UserInput(1, &gvar); }\r
+       switch(gvar.in.inst->CurCode) \\r
+       { \\r
+               case sc_F11: \\r
+                       dbg_pagedelayrendermap=!dbg_pagedelayrendermap;         IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_F9: \\r
+                       dbg_pagenorendermap=!dbg_pagenorendermap;                       IN_UserInput(1, &gvar); \\r
+               break; \\r
+       }\r
 #endif\r
 \r
 /*#define MAPDEBUGFUNCTIONS\r
@@ -72,22 +80,50 @@ extern struct glob_game_vars        *ggvv;
 #undef SPRIDEBUGFUNCTIONS\r
 #define SPRIDEBUGFUNCTIONS \\r
        if(gvar.in.inst->Keyboard[sc_Y]){ dbg_delayanimation=!dbg_delayanimation;                               IN_UserInput(1, &gvar); }\r
-//     if(gvar.in.inst->Keyboard[sc_F9]){ dbg_pagenorendermap=!dbg_pagenorendermap;                    IN_UserInput(1, &gvar); }\r
 #endif*/\r
 \r
 #define TAIL_FUNCTIONKEYFUNCTIONS0EXE \\r
-       if(gvar.in.inst->Keyboard[sc_F4]){ turboXT(12);                                                                 IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[68/*sc_F10*/]){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap;                     IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_F8]){ gvar.video.vga_state.bgps=!gvar.video.vga_state.bgps;                IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_F7]){ ZC_ShowMV(&gvar.mv, 0, 1);                                           IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_F6]){ ZC_ShowMV(&gvar.mv, 0, 0);                                           IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_T]){ gvar.video.vga_state.rss=!gvar.video.vga_state.rss;                   IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_P]){ modexpdump(&gvar.video.page[0]);                                      IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_Y]){ dbg_delayanimation=!dbg_delayanimation;                               IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_Q]){ VL_modexPrintTextBox(&gvar);                                          IN_UserInput(1, &gvar); } \\r
-       if(gvar.in.inst->Keyboard[sc_W]){ VL_MemToScreen((byte __far *)&gvar, 64, 64, 16, 16, &gvar);   IN_UserInput(1, &gvar); } \\r
+       switch(gvar.in.inst->CurCode) \\r
+       { \\r
+               case sc_F4: \\r
+                       turboXT(12);                                                                                            IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_F10: \\r
+                       gvar.kurokku.fpscap=!gvar.kurokku.fpscap;                                       IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_F8: \\r
+                       gvar.video.vga_state.bgps=!gvar.video.vga_state.bgps;           IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_F7: \\r
+                       VL_ShowPage(&gvar.video.page, 0, 1);                                            IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_F6: \\r
+                       VL_ShowPage(&gvar.video.page, 0, 0);                                            IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_T: \\r
+                       gvar.video.vga_state.rss=!gvar.video.vga_state.rss;                     IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_P: \\r
+                       modexpdump(0, &gvar);                                                                           IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_Y: \\r
+                       dbg_delayanimation=!dbg_delayanimation;                                         IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_Q: \\r
+                       VL_modexPrintTextBox(&gvar);                                                            IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_W: \\r
+                       VL_MemToScreen((byte __far *)&gvar, 64, 64, 16, 16, &gvar);     IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_LBrkt: \\r
+                       ShowPalVal (&gvar);                                                                                     IN_UserInput(1, &gvar); \\r
+               break; \\r
+               case sc_M: \\r
+                       MM_ShowMemory(&gvar);           MM_DumpData (&gvar);                    IN_UserInput(1, &gvar); \\r
+               break; \\r
+       } \\r
        RFDEBUGFUNCTIONS\r
-//FIZZLEFADEFUNCTION\r
+       //FIZZLEFADEFUNCTION\r
 \r
 #define TAIL_PANKEYFUN \\r
        TAIL_PANKEYFUNZC \\r
@@ -97,10 +133,10 @@ extern struct glob_game_vars       *ggvv;
        ZC_panPageManual(&gvar.mv, &gvar.player, 0);\r
 \r
 #define FUNCTIONKEYSHOWMV \\r
-       if(gvar.in.inst->Keyboard[1+1]){ gvar.video.sp=0; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
-       if(gvar.in.inst->Keyboard[2+1]){ gvar.video.sp=1; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
-       if(gvar.in.inst->Keyboard[3+1]){ gvar.video.sp=2; ZC_ShowMV(&gvar.mv, 0, 1); } \\r
-       if(gvar.in.inst->Keyboard[4+1]){ gvar.video.sp=3; ZC_ShowMV(&gvar.mv, 0, 1); }\r
+       if(gvar.in.inst->Keyboard[1+1]){ gvar.video.sp=0; VL_ShowPage(&gvar.video.page, 0, 0); } \\r
+       if(gvar.in.inst->Keyboard[2+1]){ gvar.video.sp=1; VL_ShowPage(&gvar.video.page, 0, 0); } \\r
+       if(gvar.in.inst->Keyboard[3+1]){ gvar.video.sp=2; VL_ShowPage(&gvar.video.page, 0, 1); } \\r
+       if(gvar.in.inst->Keyboard[4+1]){ gvar.video.sp=3; VL_ShowPage(&gvar.video.page, 0, 1); }\r
 \r
 #define TAIL_FUNCTIONKEYDRAWJUNK \\r
        FUNCTIONKEYSHOWMV \\r
@@ -117,28 +153,30 @@ extern struct glob_game_vars      *ggvv;
        if(gvar.in.inst->Keyboard[sc_I]){ dbg_maptext=!dbg_maptext; IN_UserInput(1, &gvar); } \\r
        if(gvar.in.inst->Keyboard[sc_PgDn]){ \\r
                rotateR(gvar.video.palette, sizeof(gvar.video.palette)/sizeof(gvar.video.palette[0])); \\r
-               VL_UpdatePaletteWrite(&gvar.video.palette, 0, &gvar);           IN_UserInput(1, &gvar); } \\r
+               VL_UpdatePaletteWrite(&gvar.video.palette, 0, 255, &gvar);              IN_UserInput(1, &gvar); } \\r
        if(gvar.in.inst->Keyboard[sc_PgUp]){ \\r
                rotateL(gvar.video.palette, sizeof(gvar.video.palette)/sizeof(gvar.video.palette[0])); \\r
-               VL_UpdatePaletteWrite(&gvar.video.palette, 0, &gvar);           IN_UserInput(1, &gvar); }\r
+               VL_UpdatePaletteWrite(&gvar.video.palette, 0, 255, &gvar);              IN_UserInput(1, &gvar); }\r
 #ifdef __BORLANDC__\r
 #define PAL_WRITE_REG             0x03C8   /* Color register, write address */\r
 #define PAL_DATA_REG                   0x03C9   /* Color register, data port */\r
-word modexPalOverscan(word col);\r
 #endif\r
 \r
+extern char global_temp_status_text[512];\r
+\r
 void   Shutdown16(global_game_variables_t *gvar),\r
        Startup16(global_game_variables_t *gvar),\r
        StartupCAMMPM (global_game_variables_t *gvar),\r
        ShutdownCAMMPM (global_game_variables_t *gvar);\r
+void MU_IntroScreen(global_game_variables_t *gvar);\r
 void TL_DosLibStartup(global_game_variables_t *gvar);\r
 void TL_VidInit(global_game_variables_t *gvar);\r
 boolean FizzleFade (unsigned source, unsigned dest, unsigned width, unsigned height, unsigned frames, boolean abortable, global_game_variables_t *gvar);\r
+void PL_StartMusic(global_game_variables_t *gvar);\r
+void PL_StopMusic(global_game_variables_t *gvar);\r
 void DebugMemory_(global_game_variables_t *gvar, boolean q);\r
 void ClearMemory (global_game_variables_t *gvar);\r
 void Quit (global_game_variables_t *gvar, char *error);\r
 void turboXT(byte bakapee);\r
-void nibbletest();\r
-void booleantest();\r
 \r
 #endif /*__16_TAIL__ */\r