Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
128
Engine/Zalla3D Scene Class/SceneEventMgr.cpp
Normal file
128
Engine/Zalla3D Scene Class/SceneEventMgr.cpp
Normal file
@@ -0,0 +1,128 @@
|
||||
#include ".\sceneeventmgr.h"
|
||||
#include "AmbienceManager.h"
|
||||
#include "BgmManager.h"
|
||||
#include "SoundMgr.h"
|
||||
#include "GMMemory.h"
|
||||
|
||||
CSceneEventMgr::CSceneEventMgr(void)
|
||||
{
|
||||
m_bEventMusic = false;
|
||||
memset( m_strEventMusicName, 0, sizeof(m_strEventMusicName) );
|
||||
}
|
||||
|
||||
CSceneEventMgr::~CSceneEventMgr(void)
|
||||
{
|
||||
}
|
||||
|
||||
bool CSceneEventMgr::IsEnableStructCamp()
|
||||
{
|
||||
DWORD dwColor = CBgmManager::_GetInstance()->m_EventTable.dwColor;
|
||||
dwColor = dwColor >> 24;
|
||||
|
||||
if( dwColor & EB1_DISABLE_CAMP )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CSceneEventMgr::IsSafetyZone()
|
||||
{
|
||||
switch( CBgmManager::_GetInstance()->m_EventTable.nEvent )
|
||||
{
|
||||
case EK_BGM_LOOP_SAFE:
|
||||
case EK_BGM_ONCE_SAFE:
|
||||
case EK_NOTBGM_SAFE:
|
||||
case EK_BGM_TURN_AMB_SAFE:
|
||||
case EK_ESF_SAFE:
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void CSceneEventMgr::PlayEventMusic( char* strFileName, bool bLoop )
|
||||
{
|
||||
CStreamingSound* pSound = NULL;
|
||||
CSoundMgr::_GetInstance()->GetStreamingSound( pSound, strFileName );
|
||||
if( pSound )
|
||||
{
|
||||
pSound->SetLooping( bLoop );
|
||||
pSound->SetVolume( CBgmManager::_GetInstance()->m_fMasterVolume );
|
||||
pSound->Play();
|
||||
m_bEventMusic = true;
|
||||
strcpy( m_strEventMusicName, strFileName );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void CSceneEventMgr::PlayEvent3DMusic( char* strFileName, bool bLoop, D3DXVECTOR3& vPos, float fMinDist, float fMaxDist )
|
||||
{
|
||||
CStreamingSound3D* pSound = NULL;
|
||||
CSoundMgr::_GetInstance()->GetStreamingSound3D( pSound, strFileName );
|
||||
if( pSound )
|
||||
{
|
||||
pSound->SetLooping( bLoop );
|
||||
pSound->SetMaxDistance( fMaxDist );
|
||||
pSound->SetMinDistance( fMinDist );
|
||||
pSound->SetPosition( vPos );
|
||||
pSound->SetVolume( CAmbienceManager::_GetInstance()->m_fMasterVolume );
|
||||
pSound->Play();
|
||||
m_bEventMusic = true;
|
||||
strcpy( m_strEventMusicName, strFileName );
|
||||
}
|
||||
else
|
||||
{
|
||||
char buf[MAX_PATH];
|
||||
sprintf( buf, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : %s\n<>̺<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1ä<31><C3A4>, ogg<67><67><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE>߸<EFBFBD> <20>մϴ<D5B4>", strFileName );
|
||||
MessageBox( 0, buf, "<22><><EFBFBD><EFBFBD><EFBFBD>忡<EFBFBD><E5BFA1>", 0 );
|
||||
}
|
||||
}
|
||||
|
||||
void CSceneEventMgr::StopEvent3DMusic( char* strFileName )
|
||||
{
|
||||
|
||||
CStreamingSound3D* pSound = NULL;
|
||||
CSoundMgr::_GetInstance()->GetStreamingSound3D( pSound, strFileName );
|
||||
if( pSound )
|
||||
{
|
||||
pSound->Stop();
|
||||
m_bEventMusic = false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void CSceneEventMgr::StopEventMusic( char* strFileName )
|
||||
{
|
||||
|
||||
CStreamingSound* pSound = NULL;
|
||||
CSoundMgr::_GetInstance()->GetStreamingSound( pSound, strFileName );
|
||||
if( pSound )
|
||||
{
|
||||
pSound->Stop();
|
||||
m_bEventMusic = false;
|
||||
}
|
||||
}
|
||||
|
||||
void CSceneEventMgr::Update()
|
||||
{
|
||||
|
||||
if( m_bEventMusic )
|
||||
{
|
||||
CStreamingSound* pSound = NULL;
|
||||
CSoundMgr::_GetInstance()->GetStreamingSound( pSound, m_strEventMusicName );
|
||||
if( pSound )
|
||||
{
|
||||
if( !pSound->IsPlaying() )
|
||||
{
|
||||
m_bEventMusic = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CSceneEventMgr::IsVillage()
|
||||
{
|
||||
return (CBgmManager::_GetInstance()->m_EventTable.nEvent >= 0);
|
||||
}
|
||||
Reference in New Issue
Block a user