- Fixed default.cbd and Makefile.mingw for current code state.

- New: Pausing the game (through any means, not just the pause key) now pauses
  sound effects as well as music. "PauseMusicInMenus" has been added as a
  MAPINFO flag to also pause the music when a menu or the console are open.


SVN r134 (trunk)
This commit is contained in:
Randy Heit 2006-05-21 02:10:16 +00:00
commit 62b7dd3efc
19 changed files with 115 additions and 35 deletions

View file

@ -27,12 +27,40 @@
#include "p_acs.h"
#include "c_console.h"
#include "b_bot.h"
#include "s_sound.h"
#include "doomstat.h"
#include "sbar.h"
extern gamestate_t wipegamestate;
//==========================================================================
//
// P_CheckTickerPaused
//
// Returns true if the ticker should be paused. In that cause, it also
// pauses sound effects and possibly music. If the ticker should not be
// paused, then it returns false but does not unpause anything.
//
//==========================================================================
bool P_CheckTickerPaused ()
{
// pause if in menu or console and at least one tic has been run
if ( !netgame
&& gamestate != GS_TITLELEVEL
&& ((menuactive != MENU_Off && menuactive != MENU_OnNoPause) ||
ConsoleState == c_down || ConsoleState == c_falling)
&& !demoplayback
&& !demorecording
&& players[consoleplayer].viewz != 1
&& wipegamestate == gamestate)
{
S_PauseSound (!(level.flags & LEVEL_PAUSE_MUSIC_IN_MENUS));
return true;
}
return false;
}
//
// P_Ticker
//
@ -44,22 +72,10 @@ void P_Ticker (void)
r_NoInterpolate = true;
// run the tic
if (paused)
if (paused || P_CheckTickerPaused())
return;
// pause if in menu or console and at least one tic has been run
if ( !netgame
&& gamestate != GS_TITLELEVEL
&& ((menuactive != MENU_Off && menuactive != MENU_OnNoPause) ||
ConsoleState == c_down || ConsoleState == c_falling)
&& !demoplayback
&& !demorecording
&& players[consoleplayer].viewz != 1
&& wipegamestate == gamestate)
{
return;
}
S_ResumeSound ();
P_ResetSightCounters (false);
// Since things will be moving, it's okay to interpolate them in the renderer.