]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
no idea how to get sdtest to play music. i got math homework and work work to do 1st
[16.git] / src / lib / 16_tail.c
index e9b0be9ad9b0ad9f7b4a7750777bf4c82d516859..4d6040cb640fcbb51a9907bf805aeb7998b76c3d 100755 (executable)
@@ -149,25 +149,25 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
 =\r
 ====================\r
 */\r
-\r
-/*void ReadConfig(void)\r
+#if 0\r
+void ReadConfig(void)\r
 {\r
        int                                      file;\r
-       SDMode            sd;\r
-       SMMode            sm;\r
-       SDSMode          sds;\r
+//     SDMode            sd;\r
+//     SMMode            sm;\r
+//     SDSMode          sds;\r
 \r
 \r
-       if ( (file = open(configname,O_BINARY | O_RDONLY)) != -1)\r
+       if ( (file = open(CONFIGNAME,O_BINARY | O_RDONLY)) != -1)\r
        {\r
        //\r
        // valid config file\r
        //\r
-               read(file,Scores,sizeof(HighScore) * MaxScores);\r
+//             read(file,Scores,sizeof(HighScore) * MaxScores);\r
 \r
-               read(file,&sd,sizeof(sd));\r
-               read(file,&sm,sizeof(sm));\r
-               read(file,&sds,sizeof(sds));\r
+//             read(file,&sd,sizeof(sd));\r
+//             read(file,&sm,sizeof(sm));\r
+//             read(file,&sds,sizeof(sds));\r
 \r
                read(file,&mouseenabled,sizeof(mouseenabled));\r
                read(file,&joystickenabled,sizeof(joystickenabled));\r
@@ -185,7 +185,7 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
 \r
                close(file);\r
 \r
-               if (sd == sdm_AdLib && !AdLibPresent && !SoundBlasterPresent)\r
+               /*if (sd == sdm_AdLib && !AdLibPresent && !SoundBlasterPresent)\r
                {\r
                        sd = sdm_PC;\r
                        sd = smm_Off;\r
@@ -193,7 +193,7 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
 \r
                if ((sds == sds_SoundBlaster && !SoundBlasterPresent) ||\r
                        (sds == sds_SoundSource && !SoundSourcePresent))\r
-                       sds = sds_Off;\r
+                       sds = sds_Off;*/\r
 \r
                if (!MousePresent)\r
                        mouseenabled = false;\r
@@ -208,7 +208,7 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
        //\r
        // no config file, so select by hardware\r
        //\r
-               if (SoundBlasterPresent || AdLibPresent)\r
+/*             if (SoundBlasterPresent || AdLibPresent)\r
                {\r
                        sd = sdm_AdLib;\r
                        sm = smm_AdLib;\r
@@ -224,7 +224,7 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
                else if (SoundSourcePresent)\r
                        sds = sds_SoundSource;\r
                else\r
-                       sds = sds_Off;\r
+                       sds = sds_Off;*/\r
 \r
                if (MousePresent)\r
                        mouseenabled = true;\r
@@ -241,7 +241,7 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
        SD_SetMusicMode (sm);\r
        SD_SetSoundMode (sd);\r
        SD_SetDigiDevice (sds);\r
-}*/\r
+}\r
 \r
 \r
 /*\r
@@ -252,20 +252,20 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
 ====================\r
 */\r
 \r
-/*void WriteConfig(void)\r
+void WriteConfig(void)\r
 {\r
        int                                      file;\r
 \r
-       file = open(configname,O_CREAT | O_BINARY | O_WRONLY,\r
+       file = open(CONFIGNAME,O_CREAT | O_BINARY | O_WRONLY,\r
                                S_IREAD | S_IWRITE | S_IFREG);\r
 \r
        if (file != -1)\r
        {\r
-               write(file,Scores,sizeof(HighScore) * MaxScores);\r
+//             write(file,Scores,sizeof(HighScore) * MaxScores);\r
 \r
-               write(file,&SoundMode,sizeof(SoundMode));\r
-               write(file,&MusicMode,sizeof(MusicMode));\r
-               write(file,&DigiMode,sizeof(DigiMode));\r
+//             write(file,&SoundMode,sizeof(SoundMode));\r
+//             write(file,&MusicMode,sizeof(MusicMode));\r
+//             write(file,&DigiMode,sizeof(DigiMode));\r
 \r
                write(file,&mouseenabled,sizeof(mouseenabled));\r
                write(file,&joystickenabled,sizeof(joystickenabled));\r
@@ -278,13 +278,13 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
                write(file,&buttonmouse,sizeof(buttonmouse));\r
                write(file,&buttonjoy,sizeof(buttonjoy));\r
 \r
-               write(file,&viewsize,sizeof(viewsize));\r
+//             write(file,&viewsize,sizeof(viewsize));\r
                write(file,&mouseadjustment,sizeof(mouseadjustment));\r
 \r
                close(file);\r
        }\r
-}*/\r
-\r
+}\r
+#endif\r
 //===========================================================================\r
 \r
 /*\r
@@ -409,6 +409,69 @@ noxor:
 \r
 //===========================================================================\r
 \r
+/*\r
+=============================================================================\r
+\r
+                                               MUSIC STUFF\r
+\r
+=============================================================================\r
+*/\r
+\r
+\r
+/*\r
+=================\r
+=\r
+= StopMusic\r
+=\r
+=================\r
+*/\r
+\r
+void TL_StopMusic(global_game_variables_t *gvar)\r
+{\r
+       int     i;\r
+\r
+       SD_MusicOff();\r
+       for (i = 0;i < LASTMUSIC;i++)\r
+               if (gvar->ca.audiosegs[STARTMUSIC + i])\r
+               {\r
+                       MM_SetPurge(MEMPTRCONV gvar->ca.audiosegs[STARTMUSIC + i],3, gvar);\r
+                       MM_SetLock(MEMPTRCONV gvar->ca.audiosegs[STARTMUSIC + i],false, gvar);\r
+               }\r
+}\r
+\r
+//==========================================================================\r
+\r
+\r
+/*\r
+=================\r
+=\r
+= StartMusic\r
+=\r
+=================\r
+*/\r
+\r
+void TL_StartMusic(global_game_variables_t *gvar)\r
+{\r
+       musicnames      chunk;\r
+\r
+       SD_MusicOff();\r
+       chunk = 0;//++++songs[gamestate.mapon+gamestate.episode*10];\r
+\r
+//     if ((chunk == -1) || (MusicMode != smm_AdLib))\r
+//DEBUG control panel          return;\r
+\r
+//++++ MM_BombOnError (false,gvar);\r
+//++++ CA_CacheAudioChunk(STARTMUSIC + chunk, gvar);\r
+//++++ MM_BombOnError (true,gvar);\r
+//++++ if (gvar->mm.mmerror)\r
+//++++         gvar->mm.mmerror = false;\r
+//++++ else\r
+//++++ {\r
+               MM_SetLock(MEMPTRCONV gvar->ca.audiosegs[STARTMUSIC + chunk],true, gvar);\r
+               SD_StartMusic((MusicGroup far *)gvar->ca.audiosegs[STARTMUSIC + chunk]);\r
+//++++ }\r
+}\r
+\r
 /*\r
 ==================\r
 =\r
@@ -450,6 +513,128 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 //     if(q) MM_ShowMemory (gvar);\r
 }\r
 \r
+/*\r
+===================\r
+=\r
+= TestSprites\r
+=\r
+===================\r
+*/\r
+\r
+#if 0\r
+#define DISPWIDTH      110\r
+#define        TEXTWIDTH   40\r
+void TestSprites(void)\r
+{\r
+       int hx,hy,sprite,oldsprite,bottomy,topx,shift;\r
+       spritetabletype far *spr;\r
+       spritetype _seg *block;\r
+       unsigned        mem,scan;\r
+\r
+\r
+       VW_FixRefreshBuffer ();\r
+       US_CenterWindow (30,17);\r
+\r
+       US_CPrint ("Sprite Test");\r
+       US_CPrint ("-----------");\r
+\r
+       hy=PrintY;\r
+       hx=(PrintX+56)&(~7);\r
+       topx = hx+TEXTWIDTH;\r
+\r
+       US_Print ("Chunk:\nWidth:\nHeight:\nOrgx:\nOrgy:\nXl:\nYl:\nXh:\nYh:\n"\r
+                         "Shifts:\nMem:\n");\r
+\r
+       bottomy = PrintY;\r
+\r
+       sprite = STARTSPRITES;\r
+       shift = 0;\r
+\r
+       do\r
+       {\r
+               if (sprite>=STARTTILE8)\r
+                       sprite = STARTTILE8-1;\r
+               else if (sprite<STARTSPRITES)\r
+                       sprite = STARTSPRITES;\r
+\r
+               spr = &spritetable[sprite-STARTSPRITES];\r
+               block = (spritetype _seg *)grsegs[sprite];\r
+\r
+               VWB_Bar (hx,hy,TEXTWIDTH,bottomy-hy,WHITE);\r
+\r
+               PrintX=hx;\r
+               PrintY=hy;\r
+               US_PrintUnsigned (sprite);US_Print ("\n");PrintX=hx;\r
+               US_PrintUnsigned (spr->width);US_Print ("\n");PrintX=hx;\r
+               US_PrintUnsigned (spr->height);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->orgx);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->orgy);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->xl);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->yl);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->xh);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->yh);US_Print ("\n");PrintX=hx;\r
+               US_PrintSigned (spr->shifts);US_Print ("\n");PrintX=hx;\r
+               if (!block)\r
+               {\r
+                       US_Print ("-----");\r
+               }\r
+               else\r
+               {\r
+                       mem = block->sourceoffset[3]+5*block->planesize[3];\r
+                       mem = (mem+15)&(~15);           // round to paragraphs\r
+                       US_PrintUnsigned (mem);\r
+               }\r
+\r
+               oldsprite = sprite;\r
+               do\r
+               {\r
+               //\r
+               // draw the current shift, then wait for key\r
+               //\r
+                       VWB_Bar(topx,hy,DISPWIDTH,bottomy-hy,WHITE);\r
+                       if (block)\r
+                       {\r
+                               PrintX = topx;\r
+                               PrintY = hy;\r
+                               US_Print ("Shift:");\r
+                               US_PrintUnsigned (shift);\r
+                               US_Print ("\n");\r
+                               VWB_DrawSprite (topx+16+shift*2,PrintY,sprite);\r
+                       }\r
+\r
+                       VW_UpdateScreen();\r
+\r
+                       scan = IN_WaitForKey ();\r
+\r
+                       switch (scan)\r
+                       {\r
+                       case sc_UpArrow:\r
+                               sprite++;\r
+                               break;\r
+                       case sc_DownArrow:\r
+                               sprite--;\r
+                               break;\r
+                       case sc_LeftArrow:\r
+                               if (--shift == -1)\r
+                                       shift = 3;\r
+                               break;\r
+                       case sc_RightArrow:\r
+                               if (++shift == 4)\r
+                                       shift = 0;\r
+                               break;\r
+                       case sc_Escape:\r
+                               return;\r
+                       }\r
+\r
+               } while (sprite == oldsprite);\r
+\r
+  } while (1);\r
+\r
+\r
+}\r
+\r
+#endif\r
+\r
 /*\r
 ==========================\r
 =\r
@@ -475,13 +660,12 @@ void ClearMemory (global_game_variables_t *gvar)
 ==========================\r
 */\r
 \r
-void Quit (char *error)\r
+void Quit (global_game_variables_t *gvar, char *error)\r
 {\r
-\r
        //unsigned              finscreen;\r
        memptr  screen=0;\r
 \r
-       ClearMemory (ggvv);\r
+       ClearMemory (gvar);\r
        if (!*error)\r
        {\r
 // #ifndef JAPAN\r
@@ -495,7 +679,7 @@ void Quit (char *error)
 //             CA_CacheGrChunk (ERRORSCREEN);\r
 //             screen = grsegs[ERRORSCREEN];\r
        }\r
-       Shutdown16(ggvv);\r
+       Shutdown16(gvar);\r
 \r
        if (error && *error)\r
        {\r
@@ -525,10 +709,7 @@ void Quit (char *error)
 \r
 //===========================================================================\r
 \r
-#ifndef __WATCOMC__\r
-char global_temp_status_text[512];\r
-char global_temp_status_text2[512];\r
-#else\r
+#ifdef __WATCOMC__\r
 //\r
 // for mary4 (XT)\r
 // this is from my XT's BIOS\r