Added capability of playing music tracks in Main menu and Super Melee menu
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1711 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
+27
-1
@@ -1536,6 +1536,12 @@ FreeMeleeInfo (PMELEE_STATE pMS)
|
|||||||
DestroyDirEntryTable (ReleaseDirEntryTable (pMS->TeamDE));
|
DestroyDirEntryTable (ReleaseDirEntryTable (pMS->TeamDE));
|
||||||
pMS->TeamDE = 0;
|
pMS->TeamDE = 0;
|
||||||
|
|
||||||
|
if (pMS->hMusic)
|
||||||
|
{
|
||||||
|
DestroyMusic (pMS->hMusic);
|
||||||
|
pMS->hMusic = 0;
|
||||||
|
}
|
||||||
|
|
||||||
UninitSpace ();
|
UninitSpace ();
|
||||||
|
|
||||||
DestroyDrawable (ReleaseDrawable (MeleeFrame));
|
DestroyDrawable (ReleaseDrawable (MeleeFrame));
|
||||||
@@ -1650,8 +1656,17 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
||||||
if (!pMS->Initialized)
|
if (!pMS->Initialized)
|
||||||
{
|
{
|
||||||
|
if (pMS->hMusic)
|
||||||
|
{
|
||||||
|
StopMusic ();
|
||||||
|
DestroyMusic (pMS->hMusic);
|
||||||
|
pMS->hMusic = 0;
|
||||||
|
}
|
||||||
|
pMS->hMusic = LoadMusicFile ("melee/melemenu.ogg");
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
|
|
||||||
pMS->MeleeOption = START_MELEE;
|
pMS->MeleeOption = START_MELEE;
|
||||||
|
PlayMusic (pMS->hMusic, TRUE, 1);
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
InitMelee (pMS);
|
InitMelee (pMS);
|
||||||
UnlockMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
@@ -1739,11 +1754,20 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
{
|
{
|
||||||
BYTE black_buf[] = {FadeAllToBlack};
|
BYTE black_buf[] = {FadeAllToBlack};
|
||||||
|
|
||||||
|
FadeMusic (0, ONE_SECOND / 2);
|
||||||
SleepThreadUntil (XFormColorMap (
|
SleepThreadUntil (XFormColorMap (
|
||||||
(COLORMAPPTR)black_buf, ONE_SECOND / 2
|
(COLORMAPPTR)black_buf, ONE_SECOND / 2
|
||||||
) + ONE_SECOND / 60);
|
) + ONE_SECOND / 60);
|
||||||
FlushColorXForms ();
|
FlushColorXForms ();
|
||||||
|
StopMusic ();
|
||||||
}
|
}
|
||||||
|
FadeMusic (NORMAL_VOLUME, 0);
|
||||||
|
if (pMS->hMusic)
|
||||||
|
{
|
||||||
|
DestroyMusic (pMS->hMusic);
|
||||||
|
pMS->hMusic = 0;
|
||||||
|
}
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
@@ -1757,7 +1781,8 @@ DoMelee (PMELEE_STATE pMS)
|
|||||||
Battle ();
|
Battle ();
|
||||||
free_gravity_well ();
|
free_gravity_well ();
|
||||||
|
|
||||||
if (GLOBAL (CurrentActivity) & CHECK_ABORT) return (FALSE);
|
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
||||||
|
return (FALSE);
|
||||||
|
|
||||||
{
|
{
|
||||||
BYTE black_buf[] = {FadeAllToBlack};
|
BYTE black_buf[] = {FadeAllToBlack};
|
||||||
@@ -2121,6 +2146,7 @@ Melee (void)
|
|||||||
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
||||||
DoInput ((PVOID)&MenuState, TRUE);
|
DoInput ((PVOID)&MenuState, TRUE);
|
||||||
|
|
||||||
|
StopMusic ();
|
||||||
WaitForSoundEnd (TFBSOUND_WAIT_ALL);
|
WaitForSoundEnd (TFBSOUND_WAIT_ALL);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "libs/tasklib.h"
|
#include "libs/tasklib.h"
|
||||||
#include "libs/gfxlib.h"
|
#include "libs/gfxlib.h"
|
||||||
|
#include "libs/sndlib.h"
|
||||||
#include "libs/reslib.h"
|
#include "libs/reslib.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -97,6 +98,8 @@ typedef struct melee_state
|
|||||||
Task flash_task;
|
Task flash_task;
|
||||||
TEAM_IMAGE FileList[MAX_VIS_TEAMS];
|
TEAM_IMAGE FileList[MAX_VIS_TEAMS];
|
||||||
TEAM_IMAGE PreBuiltList[NUM_PREBUILT];
|
TEAM_IMAGE PreBuiltList[NUM_PREBUILT];
|
||||||
|
|
||||||
|
MUSIC_REF hMusic;
|
||||||
} MELEE_STATE;
|
} MELEE_STATE;
|
||||||
typedef MELEE_STATE *PMELEE_STATE;
|
typedef MELEE_STATE *PMELEE_STATE;
|
||||||
|
|
||||||
|
|||||||
@@ -121,11 +121,23 @@ DWORD InTime;
|
|||||||
static BOOLEAN
|
static BOOLEAN
|
||||||
DoRestart (PMENU_STATE pMS)
|
DoRestart (PMENU_STATE pMS)
|
||||||
{
|
{
|
||||||
|
static DWORD InactTimeOut;
|
||||||
|
|
||||||
/* Cancel any presses of the Pause key. */
|
/* Cancel any presses of the Pause key. */
|
||||||
GamePaused = FALSE;
|
GamePaused = FALSE;
|
||||||
|
|
||||||
if (!pMS->Initialized)
|
if (!pMS->Initialized)
|
||||||
{
|
{
|
||||||
|
if (pMS->hMusic)
|
||||||
|
{
|
||||||
|
StopMusic ();
|
||||||
|
DestroyMusic (pMS->hMusic);
|
||||||
|
pMS->hMusic = 0;
|
||||||
|
}
|
||||||
|
pMS->hMusic = LoadMusicFile ("lbm/mainmenu.ogg");
|
||||||
|
InactTimeOut = (pMS->hMusic ? 120 : 20) * ONE_SECOND;
|
||||||
|
|
||||||
|
PlayMusic (pMS->hMusic, TRUE, 1);
|
||||||
DrawRestartMenu ((BYTE)~0, pMS->CurState, pMS->CurFrame);
|
DrawRestartMenu ((BYTE)~0, pMS->CurState, pMS->CurFrame);
|
||||||
pMS->Initialized = TRUE;
|
pMS->Initialized = TRUE;
|
||||||
|
|
||||||
@@ -152,9 +164,13 @@ else if (InputState & DEVICE_EXIT) return (FALSE);
|
|||||||
PulsedInputState.key[KEY_MENU_SELECT]))
|
PulsedInputState.key[KEY_MENU_SELECT]))
|
||||||
|
|
||||||
{
|
{
|
||||||
if (GetTimeCounter () - InTime < ONE_SECOND * 15)
|
if (GetTimeCounter () - InTime < InactTimeOut)
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
|
|
||||||
|
SleepThreadUntil (FadeMusic (0, ONE_SECOND));
|
||||||
|
StopMusic ();
|
||||||
|
FadeMusic (NORMAL_VOLUME, 0);
|
||||||
|
|
||||||
GLOBAL (CurrentActivity) = (ACTIVITY)~0;
|
GLOBAL (CurrentActivity) = (ACTIVITY)~0;
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
@@ -319,6 +335,13 @@ LastActivity = WON_LAST_BATTLE;
|
|||||||
SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT);
|
||||||
DoInput ((PVOID)&MenuState, TRUE);
|
DoInput ((PVOID)&MenuState, TRUE);
|
||||||
|
|
||||||
|
StopMusic ();
|
||||||
|
if (MenuState.hMusic)
|
||||||
|
{
|
||||||
|
DestroyMusic (MenuState.hMusic);
|
||||||
|
MenuState.hMusic = 0;
|
||||||
|
}
|
||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetFlashRect ((PRECT)0, (FRAME)0);
|
SetFlashRect ((PRECT)0, (FRAME)0);
|
||||||
UnlockMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|||||||
Reference in New Issue
Block a user