Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,197 @@
// RainParticle.cpp: implementation of the CRainParticle class.
//
//////////////////////////////////////////////////////////////////////
#include "RainParticle.h"
#include "SceneManager.h"
#include "SceneStateMgr.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRainParticle::CRainParticle()
{
m_pVertexBuffer = NULL;
m_pIndexBuffer = NULL;
}
CRainParticle::~CRainParticle()
{
if(m_pVertexBuffer != NULL) {
m_pVertexBuffer->Release();
m_pVertexBuffer= NULL;
}
if(m_pIndexBuffer != NULL) {
m_pIndexBuffer->Release();
m_pIndexBuffer = NULL;
}
}
void CRainParticle::Init(int iNodesNum,char *strTexture) {
int i;
m_pDevice = CSceneManager::GetDevice();
InitParticle(iNodesNum,strTexture);
m_pDevice->CreateVertexBuffer(sizeof(CRainParticleVertex) * m_iVertexBufferNum,D3DUSAGE_WRITEONLY,dwRainParticleVertexDecl,D3DPOOL_DEFAULT,&m_pVertexBuffer);
m_pDevice->CreateIndexBuffer(sizeof(WORD) * m_iIndexBufferNum,D3DUSAGE_WRITEONLY,D3DFMT_INDEX16 ,D3DPOOL_DEFAULT,&m_pIndexBuffer);
WORD *pIndex = NULL;
m_pIndexBuffer->Lock(0,0,(BYTE **)&pIndex,0);
for( i= 0 ; i < m_iNodesNum; i++ ) {
pIndex[(i*6)] = (i * 4)+2;
pIndex[(i*6)+1] = (i * 4);
pIndex[(i*6)+2] = (i * 4)+3;
pIndex[(i*6)+3] = (i * 4)+3;
pIndex[(i*6)+4] = (i * 4);
pIndex[(i*6)+5] = (i * 4)+1;
//pIndex+=6;
}
m_pIndexBuffer->Unlock();
}
/*
0 ---- 1
| |
| |
2 ---- 3
Index : 203 , 301
*/
void CRainParticle::UpdateBuffer(float fStep) {
Update(fStep);
int i;
D3DXMATRIX matWorldView;
D3DXMATRIX matWorld,matView;
D3DXVECTOR3 vecRight,vecUp;
D3DXVECTOR3 vecPos,vecSize;
DWORD dwColor;
D3DXVECTOR3 vecTmp;
m_pDevice->GetTransform(D3DTS_VIEW,&matView);
vecRight = D3DXVECTOR3(matView._11,matView._21,matView._31);
D3DXVec3Normalize(&vecRight,&vecRight);
vecUp = D3DXVECTOR3(matView._12,matView._22,matView._32);
D3DXVec3Normalize(&vecUp,&vecUp);
m_iScreenNodesNum = 0;
CRainParticleVertex *pVertex = NULL;
m_pVertexBuffer->Lock(0,0,(BYTE **)&pVertex,0);
for(i = 0; i < m_iNodesNum; i++ ) {
if( m_pNodes[i].m_fLife>0.0f ) {
vecPos = m_pNodes[i].m_vecPos;
vecSize = D3DXVECTOR3(m_pNodes[i].m_vecSize.x,m_pNodes[i].m_vecSize.z,0.0f);
vecSize.z = (vecSize.x + vecSize.z) /2.0f;
dwColor = D3DCOLOR_COLORVALUE(m_pNodes[i].m_vecColor.x,m_pNodes[i].m_vecColor.y,m_pNodes[i].m_vecColor.z,m_pNodes[i].m_fVisible);
pVertex[m_iScreenNodesNum].m_dwColor = dwColor;
pVertex[m_iScreenNodesNum + 1].m_dwColor = dwColor;
pVertex[m_iScreenNodesNum + 2].m_dwColor = dwColor;
pVertex[m_iScreenNodesNum + 3].m_dwColor = dwColor;
pVertex[m_iScreenNodesNum].m_vecTexcoord = D3DXVECTOR2(0.0f,1.0f);
pVertex[m_iScreenNodesNum + 1].m_vecTexcoord = D3DXVECTOR2(1.0f,1.0f);
pVertex[m_iScreenNodesNum + 2].m_vecTexcoord = D3DXVECTOR2(0.0f,0.0f);
pVertex[m_iScreenNodesNum + 3].m_vecTexcoord = D3DXVECTOR2(1.0f,0.0);
vecTmp = (vecUp - vecRight);
vecTmp.x *= vecSize.x;
vecTmp.y *= vecSize.y;
vecTmp.z *= vecSize.z;
pVertex[m_iScreenNodesNum].m_vecPos = ( vecTmp )+vecPos;
vecTmp = (vecRight + vecUp);
vecTmp.x *= vecSize.x;
vecTmp.y *= vecSize.y;
vecTmp.z *= vecSize.z;
pVertex[m_iScreenNodesNum+1].m_vecPos = ( vecTmp )+vecPos;
vecTmp = (vecRight + vecUp);
vecTmp.x *= -vecSize.x;
vecTmp.y *= -vecSize.y;
vecTmp.z *= -vecSize.z;
pVertex[m_iScreenNodesNum+2].m_vecPos = ( vecTmp )+vecPos;
vecTmp = (vecRight - vecUp);
vecTmp.x *= vecSize.x;
vecTmp.y *= vecSize.y;
vecTmp.z *= vecSize.z;
pVertex[m_iScreenNodesNum+3].m_vecPos = ( vecTmp )+vecPos;
m_iScreenNodesNum += 4;
}
}
m_pVertexBuffer->Unlock();
}
void CRainParticle::Render() {
D3DXMATRIX matWorld;
D3DXMatrixIdentity(&matWorld);
CSceneStateMgr::_SetD3DRenderState(D3DRS_LIGHTING,FALSE);
m_pDevice->SetStreamSource(0,m_pVertexBuffer,sizeof(CRainParticleVertex));
m_pDevice->SetIndices(m_pIndexBuffer,0);
m_pDevice->SetTexture(0,m_pParticleTexture->GetTexture());
m_pDevice->SetVertexShader(dwRainParticleVertexDecl);
m_pDevice->SetPixelShader(NULL);
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE);
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE );
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_TEXTURE );
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
CSceneStateMgr::_SetD3DTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE );
CSceneStateMgr::_SetD3DTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_MINFILTER, D3DTEXF_LINEAR );
CSceneStateMgr::_SetD3DTextureStageState(0, D3DTSS_MAGFILTER, D3DTEXF_LINEAR );
CSceneStateMgr::_SetD3DRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
CSceneStateMgr::_SetD3DRenderState(D3DRS_ZWRITEENABLE, FALSE);
CSceneStateMgr::_SetD3DRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
CSceneStateMgr::_SetD3DRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE );
CSceneStateMgr::_SetD3DRenderState(D3DRS_CULLMODE,D3DCULL_NONE);
m_pDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0,m_iScreenNodesNum,
0,(m_iScreenNodesNum / 2));
CSceneStateMgr::_SetD3DRenderState(D3DRS_ALPHABLENDENABLE,FALSE);
CSceneStateMgr::_SetD3DRenderState(D3DRS_ZWRITEENABLE, TRUE);
CSceneStateMgr::_SetD3DRenderState(D3DRS_CULLMODE,D3DCULL_CCW);
}