/* Project 16 Source Code~\r
- * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2018 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
#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
\r
-#define FUNCTIONKEYFUNCTIONS \\r
- if(IN_KeyDown(88)){ panswitch=!panswitch; IN_UserInput(1,1); } \\r
- FUNCTIONKEYFUNCTIONS0EXE\r
+#ifdef __WATCOMC__\r
+#include <hw/cpu/cpu.h>\r
+#include <hw/dos/dos.h>\r
+#include <hw/vga/vga.h>\r
+#include <hw/vga/vrl.h>\r
+#include <hw/vga/vrs.h>\r
+#endif\r
\r
-#define FUNCTIONKEYFUNCTIONS0EXE \\r
- if(IN_KeyDown(sc_F4)){ turboXT(12); IN_UserInput(1,1); } \\r
- if(IN_KeyDown(87/*sc_F11*/)){ pagedelayrendermap=!pagedelayrendermap; IN_UserInput(1,1); } \\r
- if(IN_KeyDown(68/*sc_F10*/)){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap; IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_F9)){ pagenorendermap=!pagenorendermap; IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_F8)){ gvar.video.bgps=!gvar.video.bgps; IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_F7)){ ZC_ShowMV(&mv, 0, 1); IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_F6)){ ZC_ShowMV(&mv, 0, 0); IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_T)){ gvar.video.rss=!gvar.video.rss; IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_P)){ modexpdump(&gvar.video.page[0]); IN_UserInput(1,1); }\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
+320,240,true, &gvar); IN_UserInput(1, &gvar); } \\r
\r
-#define PANKEYFUN \\r
- PANKEYFUNZC \\r
- FUNCTIONKEYDRAWJUNK\r
+#define TAIL_FUNCTIONKEYFUNCTIONS \\r
+ if(gvar.in.inst->Keyboard[88]){ panswitch=!panswitch; IN_UserInput(1, &gvar); } \\r
+ TAIL_FUNCTIONKEYFUNCTIONS0EXE\r
\r
-#define PANKEYFUNZC \\r
- ZC_panPageManual(&mv, &player, 0);\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
+#endif\r
+\r
+/*#define MAPDEBUGFUNCTIONS\r
+#ifdef __DEBUG_MAP__\r
+#undef MAPDEBUGFUNCTIONS\r
+#define MAPDEBUGFUNCTIONS \\r
+ if(gvar.in.inst->Keyboard[sc_F12]){ dbg_maptext!=dbg_maptext; IN_UserInput(1, &gvar); }\r
+#endif*/\r
+\r
+/*#define SPRIDEBUGFUNCTIONS\r
+#ifdef __DEBUG_SPRI__\r
+#undef SPRIDEBUGFUNCTIONS\r
+#define SPRIDEBUGFUNCTIONS \\r
+ if(gvar.in.inst->Keyboard[sc_Y]){ dbg_delayanimation=!dbg_delayanimation; 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]){ VL_ShowPage(&gvar.video.page, 0, 1); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_F6]){ VL_ShowPage(&gvar.video.page, 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(0, &gvar); 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
+ if(gvar.in.inst->Keyboard[sc_LBrkt]){ ShowPalVal (&gvar); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_M]){ MM_ShowMemory(&gvar); MM_DumpData (&gvar); IN_UserInput(1, &gvar); } \\r
+ RFDEBUGFUNCTIONS\r
+//FIZZLEFADEFUNCTION\r
+\r
+#define TAIL_PANKEYFUN \\r
+ TAIL_PANKEYFUNZC \\r
+ TAIL_FUNCTIONKEYDRAWJUNK\r
+\r
+#define TAIL_PANKEYFUNZC \\r
+ ZC_panPageManual(&gvar.mv, &gvar.player, 0);\r
\r
#define FUNCTIONKEYSHOWMV \\r
- if(IN_KeyDown(1+1)){ gvar.video.sp=0; ZC_ShowMV(&mv, 0, 0); } \\r
- if(IN_KeyDown(2+1)){ gvar.video.sp=1; ZC_ShowMV(&mv, 0, 0); } \\r
- if(IN_KeyDown(3+1)){ gvar.video.sp=2; ZC_ShowMV(&mv, 0, 1); } \\r
- if(IN_KeyDown(4+1)){ gvar.video.sp=3; ZC_ShowMV(&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 FUNCTIONKEYDRAWJUNK \\r
+#define TAIL_FUNCTIONKEYDRAWJUNK \\r
FUNCTIONKEYSHOWMV \\r
- FUNCTIONKEYDRAWJUNKNOMV\r
+ TAIL_FUNCTIONKEYDRAWJUNKNOMV\r
\r
-#define FUNCTIONKEYDRAWJUNKNOMV \\r
- if(IN_KeyDown(sc_A)) modexClearRegion(&gvar.video.page[2], 0, 0, gvar.video.page[2].sw, gvar.video.page[2].sh, 3); \\r
- if(IN_KeyDown(sc_S)) modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 4); \\r
+#define TAIL_FUNCTIONKEYDRAWJUNKNOMV \\r
+ if(gvar.in.inst->Keyboard[sc_A]){ modexClearRegion(&gvar.video.page[2], 0, 0, gvar.video.page[2].sw, gvar.video.page[2].sh, 3); } \\r
+ if(gvar.in.inst->Keyboard[sc_S]){ modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 4); } \\r
\\r
- if(IN_KeyDown(sc_Z)){ DRAWCORNERBOXES } \\r
- if(IN_KeyDown(sc_X)){ TESTBG12 } \\r
- if(IN_KeyDown(sc_C)){ TESTBG34 } \\r
- if(IN_KeyDown(sc_V)) VL_PatternDraw(&gvar.video, 0, 1, 1); \\r
- if(IN_KeyDown(sc_I)){ dbg_maptext=!dbg_maptext; IN_UserInput(1,1); }\r
-/* if(IN_KeyDown(sc_PgDn)){ \\r
+ if(gvar.in.inst->Keyboard[sc_Z]){ DRAWCORNERBOXES } \\r
+ if(gvar.in.inst->Keyboard[sc_X]){ TESTBG12 } \\r
+ if(gvar.in.inst->Keyboard[sc_C]){ TESTBG34 } \\r
+ if(gvar.in.inst->Keyboard[sc_V]){ VL_PatternDraw(&gvar.video, 0, 1, 1); } \\r
+ 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); IN_UserInput(1,1); } \\r
- if(IN_KeyDown(sc_PgUp)){ \\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); IN_UserInput(1,1); }*/\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
+#endif\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 Shutdown16(global_game_variables_t *gvar);\r
-void Startup16(global_game_variables_t *gvar);\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