123
This commit is contained in:
69
CryMovie/MusicTrack.cpp
Normal file
69
CryMovie/MusicTrack.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Crytek Engine Source File.
|
||||
// Copyright (C), Crytek Studios, 2002.
|
||||
// -------------------------------------------------------------------------
|
||||
// File name: consoletrack.cpp
|
||||
// Version: v1.00
|
||||
// Created: 12/6/2003 by Timur.
|
||||
// Compilers: Visual Studio.NET
|
||||
// Description:
|
||||
// -------------------------------------------------------------------------
|
||||
// History:
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "MusicTrack.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CMusicTrack::SerializeKey( IMusicKey &key,XmlNodeRef &keyNode,bool bLoading )
|
||||
{
|
||||
if (bLoading)
|
||||
{
|
||||
const char *pStr;
|
||||
int nType;
|
||||
if (!keyNode->getAttr("type", nType))
|
||||
key.eType=eMusicKeyType_SetMood;
|
||||
else
|
||||
key.eType=(EMusicKeyType)nType;
|
||||
pStr=keyNode->getAttr("mood");
|
||||
if (pStr)
|
||||
{
|
||||
strncpy(key.szMood, pStr, sizeof(key.szMood));
|
||||
key.szMood[sizeof(key.szMood)-1]=0;
|
||||
}else
|
||||
{
|
||||
key.szMood[0]=0;
|
||||
}
|
||||
if (!keyNode->getAttr("volramp_time", key.fTime))
|
||||
key.fTime=0.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
keyNode->setAttr("type", key.eType);
|
||||
if (strlen(key.szMood)>0)
|
||||
keyNode->setAttr("mood", key.szMood);
|
||||
keyNode->setAttr("volramp_time", key.fTime);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CMusicTrack::GetKeyInfo( int key,const char* &description,float &duration )
|
||||
{
|
||||
assert( key >= 0 && key < (int)m_keys.size() );
|
||||
CheckValid();
|
||||
description = 0;
|
||||
duration = 0;
|
||||
switch (m_keys[key].eType)
|
||||
{
|
||||
case eMusicKeyType_SetMood:
|
||||
duration=0.0f;
|
||||
description=m_keys[key].szMood;
|
||||
break;
|
||||
case eMusicKeyType_VolumeRamp:
|
||||
duration=m_keys[key].fTime;
|
||||
description="RampDown";
|
||||
break;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user