rnd-20020810-2-src
[rocksndiamonds.git] / src / libgame / system.c
index 0499199253932189b2aea2da1fcf49f3e651c1bf..5c0b4fbe9aeb81e1602c6bf6bed9efa6ced49d6f 100644 (file)
@@ -1,7 +1,7 @@
 /***********************************************************
 * Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-* (c) 1994-2001 Artsoft Entertainment                      *
+* (c) 1994-2002 Artsoft Entertainment                      *
 *               Holger Schemel                             *
 *               Detmolder Strasse 189                      *
 *               33604 Bielefeld                            *
@@ -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
 }
@@ -742,13 +745,14 @@ inline void OpenAudio(void)
   audio.sound_enabled = FALSE;
   audio.sound_deactivated = FALSE;
 
-  audio.soundserver_pipe[0] = audio.soundserver_pipe[1] = 0;
-  audio.soundserver_pid = -1;
+  audio.mixer_pipe[0] = audio.mixer_pipe[1] = 0;
+  audio.mixer_pid = -1;
   audio.device_name = NULL;
-  audio.device_fd = 0;
+  audio.device_fd = -1;
 
-  audio.channels = 0;
+  audio.num_channels = 0;
   audio.music_channel = 0;
+  audio.first_sound_channel = 0;
 
 #if defined(TARGET_SDL)
   SDLOpenAudio();
@@ -780,15 +784,6 @@ inline void SetAudioMode(boolean enabled)
   audio.sound_enabled = enabled;
 }
 
-#if 0
-inline void SetAudioReloadFunctions(void (*func_reload_sounds)(void),
-                                   void (*func_reload_music)(void))
-{
-  audio.func_reload_sounds = func_reload_sounds;
-  audio.func_reload_music = func_reload_music;
-}
-#endif
-
 
 /* ========================================================================= */
 /* event functions                                                           */
@@ -830,7 +825,9 @@ inline Key GetEventKey(KeyEvent *event, boolean with_modifiers)
         (int)SDL_GetModState());
 #endif
 
-  if (with_modifiers && event->keysym.unicode != 0)
+  if (with_modifiers &&
+      event->keysym.unicode > 0x0000 &&
+      event->keysym.unicode < 0x2000)
     return event->keysym.unicode;
   else
     return event->keysym.sym;