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:
2025-11-29 16:24:34 +09:00
commit e067522598
5135 changed files with 1745744 additions and 0 deletions

View 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><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);
}