foxygit / doom Log in
commit 1b53d785acee74cfb4a5d9e08ca27f25d07e9b14
Merge: 031dbfb4 51b9d1fc
Author:     Fabian Greffrath <fabian@greffrath.com>
AuthorDate: Mon Sep 21 07:46:37 2015 +0200
Commit:     Fabian Greffrath <fabian@greffrath.com>
CommitDate: Mon Sep 21 07:46:37 2015 +0200

    Merge branch 'master' into sdl2-branch

 Makefile.am                     |   6 +
 NEWS                            |  44 ++++-
 README.Strife                   |  70 +-------
 codeblocks/config.h             |   6 +-
 codeblocks/game-res.rc          |  10 +-
 codeblocks/setup-res.rc         |   8 +-
 configure.ac                    |  20 ++-
 man/Makefile.am                 |   1 +
 man/doom.template               |   2 +
 man/environ.man                 |   5 +-
 man/heretic.template            |   2 +
 man/hexen.template              |   2 +
 man/iwad_paths.man              |  48 +++++
 man/strife.template             |   2 +
 msvc/config.h                   |   6 +-
 msvc/win32.rc                   |   8 +-
 opl/dbopl.h                     |   1 +
 opl/opl.c                       |  43 +++--
 opl/opl.h                       |  13 +-
 pkg/osx/Info.plist.in           |   6 +
 src/.gitignore                  |   1 +
 src/Makefile.am                 |  19 ++
 src/d_iwad.c                    | 209 ++++++++++++++--------
 src/d_mode.c                    |   3 +
 src/deh_io.c                    |   2 +-
 src/doom.appdata.xml.in         |  45 +++++
 src/doom/d_main.c               |  78 ++++++---
 src/doom/g_game.c               |  20 +--
 src/doom/hu_stuff.c             |  61 ++++++-
 src/doom/m_menu.c               |   5 +-
 src/doom/p_doors.c              |   6 +
 src/doom/r_data.c               |   6 +-
 src/doom/r_things.c             |  14 +-
 src/doom/s_sound.c              |  94 +++++++---
 src/doom/st_stuff.c             |  22 ++-
 src/doomtype.h                  |   8 +-
 src/gusconf.c                   |   1 +
 src/heretic.appdata.xml.in      |  44 +++++
 src/heretic/d_main.c            |   3 +-
 src/heretic/g_game.c            |   1 -
 src/heretic/r_data.c            |   6 +-
 src/heretic/r_things.c          |  12 +-
 src/heretic/s_sound.c           |  19 +-
 src/hexen.appdata.xml.in        |  44 +++++
 src/hexen/g_game.c              |   1 -
 src/hexen/h2_main.c             |  30 ++--
 src/hexen/h2def.h               |   2 +-
 src/hexen/r_data.c              |   6 +-
 src/hexen/r_things.c            |  12 +-
 src/hexen/s_sound.c             |  24 ++-
 src/i_oplmusic.c                | 158 ++++++++++++-----
 src/i_pcsound.c                 |   3 +-
 src/i_sdlmusic.c                |   2 +-
 src/i_sdlsound.c                | 168 ++++++++++++++----
 src/i_sound.c                   |  16 +-
 src/i_sound.h                   |  22 ++-
 src/m_config.c                  |  20 ++-
 src/setup/display.h             |   1 +
 src/setup/joystick.c            |  76 ++++----
 src/setup/keyboard.c            |  98 ++++++-----
 src/setup/mainmenu.c            |   2 +
 src/setup/mode.c                |   3 +
 src/setup/mouse.c               |  39 ++---
 src/setup/multiplayer.c         | 138 ++++++++-------
 src/setup/setup-manifest.xml.in |   1 +
 src/setup/setup.desktop.in      |   3 +-
 src/setup/sound.c               | 153 ++++++++++------
 src/setup/sound.h               |   2 +
 src/setup/txt_joyaxis.c         |   4 +-
 src/setup/txt_joybinput.c       |   7 +-
 src/strife.appdata.xml.in       |  45 +++++
 src/strife/d_main.c             |   2 +-
 src/strife/g_game.c             |   1 -
 src/strife/r_data.c             |   6 +-
 src/strife/r_things.c           |  14 +-
 src/strife/s_sound.c            |  19 +-
 src/v_video.c                   |  31 +++-
 src/w_checksum.c                |   8 +-
 src/w_main.c                    |  44 ++++-
 src/w_main.h                    |   3 +
 src/w_merge.c                   |  65 ++++---
 src/w_wad.c                     | 238 +++++++++----------------
 src/w_wad.h                     |  32 ++--
 textscreen/examples/guitest.c   |  15 +-
 textscreen/txt_checkbox.c       |   2 +-
 textscreen/txt_scrollpane.c     |   3 +-
 textscreen/txt_table.c          | 379 ++++++++++++++++++++++++++++++++++------
 textscreen/txt_table.h          |  52 +++++-
 textscreen/txt_window.c         |  21 ++-
 89 files changed, 2076 insertions(+), 921 deletions(-)

diff --cc src/setup/sound.c
index aeb52d1c,7001907c..5d179f1a
--- a/src/setup/sound.c
+++ b/src/setup/sound.c
@@@ -57,8 -58,16 +57,15 @@@ static char *musicmode_strings[]
      "OPL (Adlib/SB)",
      "GUS (emulated)",
      "Native MIDI",
 -    "CD audio"
  };

+ typedef enum
+ {
+     OPLMODE_OPL2,
+     OPLMODE_OPL3,
+     NUM_OPLMODES,
+ } oplmode_t;
+
  static char *opltype_strings[] =
  {
      "OPL2",
@@@ -133,7 -144,42 +142,39 @@@ static void UpdateSndDevices(TXT_UNCAST
          case MUSICMODE_GUS:
              snd_musicdevice = SNDDEVICE_GUS;
              break;
 -        case MUSICMODE_CD:
 -            snd_musicdevice = SNDDEVICE_CD;
 -            break;
      }
+
+     switch (snd_oplmode)
+     {
+         default:
+         case OPLMODE_OPL2:
+             snd_dmxoption = "";
+             break;
+
+         case OPLMODE_OPL3:
+             snd_dmxoption = "-opl3";
+             break;
+     }
+ }
+
+ static txt_dropdown_list_t *OPLTypeSelector(void)
+ {
+     txt_dropdown_list_t *result;
+
+     if (snd_dmxoption != NULL && strstr(snd_dmxoption, "-opl3") != NULL)
+     {
+         snd_oplmode = OPLMODE_OPL3;
+     }
+     else
+     {
+         snd_oplmode = OPLMODE_OPL2;
+     }
+
+     result = TXT_NewDropdownList(&snd_oplmode, opltype_strings, 2);
+
+     TXT_SignalConnect(result, "changed", UpdateSndDevices, NULL);
+
+     return result;
  }

  static void UpdateExtraTable(TXT_UNCAST_ARG(widget),
@@@ -279,11 -340,14 +321,14 @@@ void ConfigSound(void
                     TXT_NewLabel("Music"),
                     music_mode_control = TXT_NewDropdownList(&snd_musicmode,
                                                              musicmode_strings,
 -                                                            num_music_modes),
 +                                                            NUM_MUSICMODES),
                     TXT_NewLabel("Music volume"),
                     TXT_NewSpinControl(&musicVolume, 0, 15),
+                    extra_table = TXT_NewTable(2),
+                    TXT_TABLE_OVERFLOW_RIGHT,
                     NULL);

+     TXT_SetColumnWidths(extra_table, 19, 15);

      TXT_SignalConnect(sfx_mode_control, "changed", UpdateSndDevices, NULL);
      TXT_SignalConnect(music_mode_control, "changed", UpdateSndDevices, NULL);