///////////////////////////////////////////////////////////////////////////////
//
// File   : Asura_Platform_FMV.cpp
// Author : Jason Turner
//
// Copyright (C) 2009 Rebellion, All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////////

//Asura main header
#include "Core/Asura.h"

// independent includes
#include "Core/Asura_UserInput.h"
#include "FMV/Asura_FMV.h"

#ifndef ASURA_SUPPORT_DYNAMIC_MUSIC_SYSTEM
#include "Sound/Asura_Music.h"
#endif

//Asura Xbox360 specific
#include "Core/Asura_XBox360_Notifications.h"
#include "Input/Asura_PlatformInput.h"
#include "Rendering/Asura_Xbox360_Graphics.h"

// External
#include <Xmp.h>

////////////////////////////////////////////////////////////////////////////////
//  Asura_FMV::Platform_Update
////////////////////////////////////////////////////////////////////////////////

bool Asura_FMV::Platform_Update()
{
	#ifndef ASURA_SUPPORT_DYNAMIC_MUSIC_SYSTEM
	Asura_Music_System::Update(); // to ensure music gets stopped.
	#endif
	Asura_XBox360_Notifications::Update();	// notifications are important too

	return true;
}

////////////////////////////////////////////////////////////////////////////////
//  Asura_FMV::Platform_CheckForFMVSkip
////////////////////////////////////////////////////////////////////////////////

bool Asura_FMV::Platform_CheckForFMVSkip()
{
	if(		Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD1_START )	
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD1_A		)
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD2_START )	
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD2_A		)
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD3_START )	
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD3_A		)
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD4_START )	
		||	Asura_UserInput::DebouncedKeyPressed( ASURA_XBOX360_KEYID_PAD4_A		) )
	{
		return true;
	}

	return false;
}

////////////////////////////////////////////////////////////////////////////////
//  Asura_FMV::Platform_PrePlay
////////////////////////////////////////////////////////////////////////////////

void Asura_FMV::Platform_PrePlay()
{
	XMPOverrideBackgroundMusic();
}

////////////////////////////////////////////////////////////////////////////////
//  Asura_FMV::Platform_PostPlay
////////////////////////////////////////////////////////////////////////////////

void Asura_FMV::Platform_PostPlay()
{
	XMPRestoreBackgroundMusic();
}

////////////////////////////////////////////////////////////////////////////////
