rnd-20020810-2-src
authorHolger Schemel <info@artsoft.org>
Sat, 10 Aug 2002 13:37:55 +0000 (15:37 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:38:05 +0000 (10:38 +0200)
src/Makefile
src/conftime.h
src/game.c
src/libgame/misc.c
src/libgame/sound.c
src/libgame/system.c

index c73420b79b3669627f21f723874745e074b09874..9c22aba9ccb2852235cf071626406f93b0f8daba 100644 (file)
@@ -171,7 +171,7 @@ libgame_dir:
 $(LIBGAME):
        @$(MAKE) -C $(LIBDIR)
 
-$(TIMESTAMP_FILE): $(SRCS)
+$(TIMESTAMP_FILE): $(SRCS) $(LIBGAME)
        @date '+"[%Y-%m-%d %H:%M]"' \
        | sed -e 's/^/#define COMPILE_DATE_STRING /' \
        > $(TIMESTAMP_FILE)
index 368b879948d3e9b167bd3a99197bc282dc34a6c4..371d0366b82139b0aa15904f239c69c09c5a1863 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-08-10 13:13]"
+#define COMPILE_DATE_STRING "[2002-08-10 15:36]"
index 4fc13171be985a7b7d2724a7411909d99f424562..bc31c194de0672b1a07164c40710502c6d7562ca 100644 (file)
@@ -1000,20 +1000,12 @@ void InitGame()
 
   OpenDoor(DOOR_OPEN_ALL);
 
-#if 1
-  printf("starting game sound/music...\n");
-#endif
-
   PlaySoundStereo(SND_GAME_STARTING, SOUND_MAX_RIGHT);
   if (setup.sound_music)
     PlayMusic(level_nr);
 
   KeyboardAutoRepeatOff();
 
-#if 1
-  printf("started.\n");
-#endif
-
   if (options.debug)
   {
     for (i=0; i<4; i++)
index acada2472e9754f5e15b775b0e74fae3832823f7..8bc69396cb464a0ad20b666dbced14501277c85e 100644 (file)
@@ -635,7 +635,7 @@ void Error(int mode, char *format, ...)
   if (mode & ERR_WARN && !options.verbose)
     return;
 
-#if !defined(PLATFORM_UNIX)
+#if defined(PLATFORM_MSDOS)
   newline = "\r\n";
 
   if ((error = openErrorFile()) == NULL)
@@ -1265,44 +1265,27 @@ boolean FileIsArtworkType(char *basename, int type)
 
 
 /* ========================================================================= */
-/* functions only needed for non-Unix (non-command-line) systems */
+/* functions only needed for non-Unix (non-command-line) systems             */
+/* (MS-DOS only; SDL/Windows creates files "stdout.txt" and "stderr.txt")    */
 /* ========================================================================= */
 
-#if !defined(PLATFORM_UNIX)
+#if defined(PLATFORM_MSDOS)
 
-#define ERROR_FILENAME         "error.out"
+#define ERROR_FILENAME         "stderr.txt"
 
 void initErrorFile()
 {
-  char *filename;
-
-  InitUserDataDirectory();
-
-  filename = getPath2(getUserDataDir(), ERROR_FILENAME);
-  unlink(filename);
-  free(filename);
+  unlink(ERROR_FILENAME);
 }
 
 FILE *openErrorFile()
 {
-  char *filename;
-  FILE *error_file;
-
-  filename = getPath2(getUserDataDir(), ERROR_FILENAME);
-  error_file = fopen(filename, MODE_APPEND);
-  free(filename);
-
-  return error_file;
+  return fopen(ERROR_FILENAME, MODE_APPEND);
 }
 
 void dumpErrorFile()
 {
-  char *filename;
-  FILE *error_file;
-
-  filename = getPath2(getUserDataDir(), ERROR_FILENAME);
-  error_file = fopen(filename, MODE_READ);
-  free(filename);
+  FILE *error_file = fopen(ERROR_FILENAME, MODE_READ);
 
   if (error_file != NULL)
   {
index cd34b284473e3126a0191fc3074f7005793fd0e0..e7cd64613e149132c4c7d875b8b18b7530543ed5 100644 (file)
@@ -803,11 +803,8 @@ static void Mixer_InsertSound(SoundControl snd_ctrl)
   int i, k;
 
 #if 0
-  printf("NEW SOUND %d HAS ARRIVED [%d]\n", snd_ctrl.nr, num_sounds);
-#endif
-
-#if 0
-  printf("%d ACTIVE CHANNELS\n", mixer_active_channels);
+  printf("NEW SOUND %d ARRIVED [%d] [%d ACTIVE CHANNELS]\n",
+        snd_ctrl.nr, num_sounds, mixer_active_channels);
 #endif
 
   if (IS_MUSIC(snd_ctrl))
@@ -833,10 +830,7 @@ static void Mixer_InsertSound(SoundControl snd_ctrl)
   /* play music samples on a dedicated music channel */
   if (IS_MUSIC(snd_ctrl))
   {
-#if 0
-    printf("PLAY MUSIC WITH VOLUME/STEREO %d/%d\n",
-          snd_ctrl.volume, snd_ctrl.stereo_position);
-#endif
+    Mixer_StopMusicChannel();
 
     mixer[audio.music_channel] = snd_ctrl;
     Mixer_PlayMusicChannel();
@@ -921,12 +915,36 @@ static void Mixer_InsertSound(SoundControl snd_ctrl)
      of the channel's sound sample when compiling with the SDL mixer
      library, we use the current playing time (in milliseconds) instead. */
 
+#if DEBUG
+  /* Channel sanity check -- this should normally not be needed */
+  if (mixer_active_channels ==
+      audio.num_channels - (mixer[audio.music_channel].active ? 0 : 1))
+  {
+    for (i=audio.first_sound_channel; i<audio.num_channels; i++)
+    {
+      if (!mixer[i].active)
+      {
+       Error(ERR_RETURN, "Mixer_InsertSound: Channel %d inactive", i);
+       Error(ERR_RETURN, "Mixer_InsertSound: This should never happen!");
+
+       mixer_active_channels--;
+      }
+    }
+  }
+#endif
+
   if (mixer_active_channels ==
       audio.num_channels - (mixer[audio.music_channel].active ? 0 : 1))
   {
     unsigned long playing_current = Counter();
     int longest = 0, longest_nr = audio.first_sound_channel;
 
+    for (i=audio.first_sound_channel; i<audio.num_channels; i++)
+    {
+      Error(ERR_RETURN, "Mixer_InsertSound: %d [%d]: %ld (%ld)",
+           i, mixer[i].active, mixer[i].data_len, (long)mixer[i].data_ptr);
+    }
+
     for (i=audio.first_sound_channel; i<audio.num_channels; i++)
     {
       int playing_time = playing_current - mixer[i].playing_starttime;
@@ -943,42 +961,24 @@ static void Mixer_InsertSound(SoundControl snd_ctrl)
   }
 
   /* add the new sound to the mixer */
-  for(i=0; i<audio.num_channels; i++)
+  for(i=audio.first_sound_channel; i<audio.num_channels; i++)
   {
 #if 0
     printf("CHECKING CHANNEL %d FOR SOUND %d ...\n", i, snd_ctrl.nr);
 #endif
 
-    /*
-    if (!mixer[i].active ||
-       (IS_MUSIC(snd_ctrl) && i == audio.music_channel))
-    */
-    if ((i == audio.music_channel && IS_MUSIC(snd_ctrl)) ||
-       (i != audio.music_channel && !mixer[i].active))
+    if (!mixer[i].active)
     {
 #if 0
       printf("ADDING NEW SOUND %d TO MIXER\n", snd_ctrl.nr);
 #endif
 
-#if 1
 #if defined(AUDIO_UNIX_NATIVE)
       if (snd_info->data_len == 0)
       {
        printf("THIS SHOULD NEVER HAPPEN! [snd_info->data_len == 0]\n");
       }
 #endif
-#endif
-
-#if 1
-      if (IS_MUSIC(snd_ctrl) && i == audio.music_channel && mixer[i].active)
-      {
-       printf("THIS SHOULD NEVER HAPPEN! [adding music twice]\n");
-
-#if 1
-       Mixer_StopChannel(i);
-#endif
-      }
-#endif
 
       mixer[i] = snd_ctrl;
       Mixer_PlayChannel(i);
index cc7dc2aa33fb4111ff5f737ca76a4a731437960c..5c0b4fbe9aeb81e1602c6bf6bed9efa6ced49d6f 100644 (file)
@@ -94,6 +94,9 @@ void InitPlatformDependantStuff(void)
 
 #if !defined(PLATFORM_UNIX)
   program.userdata_directory = "userdata";
+#endif
+
+#if defined(PLATFORM_MSDOS)
   initErrorFile();
 #endif
 
@@ -105,7 +108,7 @@ void InitPlatformDependantStuff(void)
 
 void ClosePlatformDependantStuff(void)
 {
-#if !defined(PLATFORM_UNIX)
+#if defined(PLATFORM_MSDOS)
   dumpErrorFile();
 #endif
 }