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,169 @@
//------------------------------------------------------------------------------
// File: Gargle.h
//
// Desc: DirectShow sample code - definition of CGargle class.
//
// Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __GARGLE_H_
#define __GARGLE_H_
#include "resource.h" // main symbols
#include "igargle.h" // interface to us
// {458F93F3-4769-4370-8A7D-D055EE97679C}
DEFINE_GUID(CLSID_Gargle,
0x458f93f3, 0x4769, 0x4370, 0x8a, 0x7d, 0xd0, 0x55, 0xee, 0x97, 0x67, 0x9c);
// {3E7BB80F-2245-4483-ACC5-3A2EFDE0ACA6}
DEFINE_GUID(CLSID_GargDMOProp,
0x3e7bb80f, 0x2245, 0x4483, 0xac, 0xc5, 0x3a, 0x2e, 0xfd, 0xe0, 0xac, 0xa6);
enum GargleFilterParams
{
GFP_Rate = 0,
GFP_Shape,
GFP_MAX
};
/////////////////////////////////////////////////////////////////////////////
// CGargle
class ATL_NO_VTABLE CGargle :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CGargle, &CLSID_Gargle>,
public CPCMDMO,
public ISpecifyPropertyPages,
public IPersistStream,
public IMediaObjectInPlace,
public CParamsManager,
public CParamsManager::UpdateCallback,
public IGargleDMOSample // property page uses this to talk to us
{
public:
CGargle();
HRESULT Init();
DECLARE_REGISTRY_RESOURCEID(IDR_GARGLE)
DECLARE_GET_CONTROLLING_UNKNOWN()
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CGargle)
COM_INTERFACE_ENTRY(IMediaObject)
COM_INTERFACE_ENTRY(IMediaObjectInPlace)
COM_INTERFACE_ENTRY(IMediaParams)
COM_INTERFACE_ENTRY(IMediaParamInfo)
COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
COM_INTERFACE_ENTRY(IPersistStream)
COM_INTERFACE_ENTRY_IID(IID_IGargleDMOSample, IGargleDMOSample)
COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
END_COM_MAP()
HRESULT FinalConstruct()
{
return CoCreateFreeThreadedMarshaler(
GetControllingUnknown(), &m_pUnkMarshaler.p);
}
void FinalRelease()
{
m_pUnkMarshaler.Release();
}
CComPtr<IUnknown> m_pUnkMarshaler;
HRESULT FBRProcess(DWORD cSamples, BYTE *pIn, BYTE *pOut);
// override
HRESULT Discontinuity();
bool m_fDirty;
// IGargleDMOSample
STDMETHOD(SetAllParameters) (THIS_ LPCGargleFX);
STDMETHOD(GetAllParameters) (THIS_ LPGargleFX);
// IMediaObjectInPlace
STDMETHODIMP Process(THIS_ ULONG ulSize, BYTE *pData, REFERENCE_TIME rtStart, DWORD dwFlags);
STDMETHODIMP GetLatency(THIS_ REFERENCE_TIME *prt);
STDMETHODIMP Clone(IMediaObjectInPlace **pp);
// SetParam handling
STDMETHODIMP SetParam(DWORD dwParamIndex,MP_DATA value) { return SetParamInternal(dwParamIndex, value, false); }
HRESULT SetParamUpdate(DWORD dwParamIndex, MP_DATA value) { return SetParamInternal(dwParamIndex, value, true); }
HRESULT SetParamInternal(DWORD dwParamIndex, MP_DATA value, bool fSkipPasssingToParamManager);
// ISpecifyPropertyPages
STDMETHODIMP GetPages(CAUUID * pPages);
/* IPersist */
STDMETHODIMP GetClassID(THIS_ CLSID *pClassID);
// IPersistStream
STDMETHOD(IsDirty)(void) { return m_fDirty ? S_OK : S_FALSE; }
STDMETHOD(Load)(IStream *pStm)
{
ULONG cbRead;
HRESULT hr = S_OK;
if (pStm==NULL)
return E_POINTER;
GargleFX garglefx;
hr = pStm->Read((void *)&garglefx, sizeof(garglefx), &cbRead);
if (hr != S_OK || cbRead < sizeof(garglefx))
return E_FAIL;
hr = SetAllParameters(&garglefx);
m_fDirty = false;
return hr;
}
STDMETHOD(Save)(IStream *pStm, BOOL fClearDirty)
{
HRESULT hr = S_OK;
if (pStm==NULL)
return E_POINTER;
GargleFX garglefx;
hr = GetAllParameters(&garglefx);
if (FAILED(hr))
return hr;
ULONG cbWritten;
hr = pStm->Write((void *)&garglefx, sizeof(garglefx), &cbWritten);
if (hr != S_OK || cbWritten < sizeof(garglefx))
return E_FAIL;
if (fClearDirty)
m_fDirty = false;
return S_OK;
}
STDMETHOD(GetSizeMax)(ULARGE_INTEGER *pcbSize)
{
if (!pcbSize)
return E_POINTER;
pcbSize->QuadPart = sizeof(GargleFX);
return S_OK;
}
private:
// gargle params
ULONG m_ulShape;
ULONG m_ulGargleFreqHz;
// gargle state
ULONG m_ulPeriod;
ULONG m_ulPhase;
BOOL m_bInitialized;
};
#endif //__GARGLE_H_