You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
2.8 KiB
119 lines
2.8 KiB
2 years ago
|
//---------------------------------------------------------
|
||
|
//---------------------------------------------------------
|
||
|
//- ---
|
||
|
//- music.cpp ---
|
||
|
//- ---
|
||
|
//---------------------------------------------------------
|
||
|
//---------------------------------------------------------
|
||
|
//- by Roy, based on the code by -----------
|
||
|
//- by JujU -----------
|
||
|
//- julien.lecorre@free.fr -----------
|
||
|
//---------------------------------------------------------
|
||
|
//- fake and null mp3 player code for HL mod -----------
|
||
|
//---------------------------------------------------------
|
||
|
|
||
|
/*//---------------
|
||
|
|
||
|
This code is a placeholder for system that support neither gstreamer nor fmod.
|
||
|
|
||
|
*///---------------
|
||
|
|
||
|
#ifdef USE_GSTREAMER
|
||
|
#include "musicgstreamer.cpp"
|
||
|
#elif defined(USE_FMOD)
|
||
|
#include "musicfmod.cpp"
|
||
|
#else
|
||
|
|
||
|
//---------------------------------------------------------
|
||
|
// inclusions
|
||
|
|
||
|
#include "extdll.h"
|
||
|
#include "util.h"
|
||
|
#include "cbase.h"
|
||
|
|
||
|
#include "music.h"
|
||
|
|
||
|
CMusic g_MusicPlayer;
|
||
|
|
||
|
|
||
|
//Fake functions to have something to work with on Linux
|
||
|
//---------------------------------------------------------
|
||
|
|
||
|
void CMusic :: Init ( void ){}
|
||
|
void CMusic :: OpenFile ( const char *filename, int repeat ){}
|
||
|
void CMusic :: OpenList ( const char *filename ){}
|
||
|
signed char EndCallback ( void *stream, void *buff, int len, int param )
|
||
|
{
|
||
|
return TRUE;
|
||
|
}
|
||
|
void CMusic :: Play ( void ){}
|
||
|
void CMusic :: Stop ( void ){}
|
||
|
void CMusic :: Reset ( void ){}
|
||
|
|
||
|
//---------------------------------------------------------
|
||
|
// The actual game entity
|
||
|
|
||
|
|
||
|
|
||
|
class CTriggerMusic : public CPointEntity
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
void Spawn ( void );
|
||
|
|
||
|
void KeyValue ( KeyValueData *pkvd );
|
||
|
void Use ( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
||
|
|
||
|
|
||
|
virtual int Save ( CSave &save );
|
||
|
virtual int Restore ( CRestore &restore );
|
||
|
|
||
|
static TYPEDESCRIPTION m_SaveData[];
|
||
|
|
||
|
|
||
|
string_t m_iFileName; // chemin du fichier
|
||
|
int m_iFileType; // fichier texte ( liste ) ou fichier audio
|
||
|
|
||
|
};
|
||
|
|
||
|
LINK_ENTITY_TO_CLASS( trigger_music, CTriggerMusic );
|
||
|
|
||
|
|
||
|
|
||
|
TYPEDESCRIPTION CTriggerMusic::m_SaveData[] =
|
||
|
{
|
||
|
DEFINE_FIELD( CTriggerMusic, m_iFileType, FIELD_INTEGER ),
|
||
|
DEFINE_FIELD( CTriggerMusic, m_iFileName, FIELD_STRING ),
|
||
|
};
|
||
|
|
||
|
IMPLEMENT_SAVERESTORE( CTriggerMusic, CPointEntity );
|
||
|
|
||
|
|
||
|
|
||
|
void CTriggerMusic :: Spawn( void )
|
||
|
{
|
||
|
pev->solid = SOLID_NOT;
|
||
|
pev->effects = EF_NODRAW;
|
||
|
}
|
||
|
|
||
|
void CTriggerMusic :: KeyValue( KeyValueData *pkvd )
|
||
|
{
|
||
|
if (FStrEq(pkvd->szKeyName, "filetype"))
|
||
|
{
|
||
|
m_iFileType = atoi(pkvd->szValue);
|
||
|
pkvd->fHandled = TRUE;
|
||
|
}
|
||
|
else if (FStrEq(pkvd->szKeyName, "filename"))
|
||
|
{
|
||
|
m_iFileName = ALLOC_STRING(pkvd->szValue);
|
||
|
pkvd->fHandled = TRUE;
|
||
|
}
|
||
|
else
|
||
|
CPointEntity::KeyValue( pkvd );
|
||
|
}
|
||
|
|
||
|
void CTriggerMusic :: Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
#endif
|