Files
Client/GameTools/Effect/X3DEffect.h
LGram16 dd97ddec92 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>
2025-11-29 20:17:20 +09:00

145 lines
4.2 KiB
C++

// X3DEffect.h: interface for the CX3DEffect class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_X3DEFFECT_H__36D22C0B_3861_4B57_B539_4E4BFAD198C1__INCLUDED_)
#define AFX_X3DEFFECT_H__36D22C0B_3861_4B57_B539_4E4BFAD198C1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma warning(disable:4786) // don't warn about browse name overflow.
#include <list>
#include "z3dmath.h"
#include "X3DEffectBase.h"
using namespace std;
class CX3DEffect
{
protected:
list<CX3DEffectBase *> m_lstEffect;
LPDIRECT3DDEVICE8 m_lpD3DDevice;
matrix *m_lpViewMatrix;
unsigned long m_dwFrameTick;
float m_fFrame;
float m_fBeforeFrame;
float m_fIncFrame;
unsigned long m_dwMaxFrame;
unsigned long m_dwMinFrame;
// 이펙트 이동 중인지
bool m_MoveState;
BOOL m_bLoop;
unsigned long m_dwKindMove;
vector3 m_vecDest;
vector3 m_vecPower;
vector3 m_vecEForce;
unsigned long m_dwCount;
unsigned long m_dwOldTick;
BOOL m_bImportCenter;
vector3 *m_lpCenter;
BOOL m_bImportAxis;
quaternion *m_lpAxis;
color m_lFlash;
//scale value
float m_GemScale[3];
// effect가 시작 되었는지
bool m_StartEffect;
bool m_Mine;
CKeyList<ColorKeyList> m_lstFlash;
bool m_bLight;
public:
bool map_effect;
int m_SectorX;
int m_SectorY;
CX3DEffect();
virtual ~CX3DEffect();
void SetMine(bool b);
void SetCenter(vector3 *pCenter) { m_bImportCenter = TRUE; m_lpCenter = pCenter; }
void SetCenter(float fX, float fY, float fZ)
{
m_bImportCenter = FALSE;
if(!m_lpCenter) m_lpCenter = new vector3;
m_lpCenter->x = fX;
m_lpCenter->y = fY;
m_lpCenter->z = fZ;
}
vector3 *GetCenter(void) { return m_lpCenter; }
void SetAxis(quaternion *pAxis);
void SetAxis(float fAxisX, float fAxisY, float fAxisZ);
quaternion *GetAxis(void) { return m_lpAxis; }
void SetFlash(unsigned long dwTick, color lColor)
{
SetKey(dwTick, m_lstFlash, lColor);
}
BOOL GetFlash(unsigned long dwTick, color &lColor)
{
return m_lstFlash.Find(dwTick, lColor);
}
void SetDevice(LPDIRECT3DDEVICE8 lpD3DDevice) { m_lpD3DDevice = lpD3DDevice; }
LPDIRECT3DDEVICE8 GetDevice(void) { return m_lpD3DDevice; }
void SetViewMatrix(matrix *pViewMatrix) { m_lpViewMatrix = pViewMatrix; }
matrix *GetViewMatrix(void) { return m_lpViewMatrix; }
void SetFrameTick(unsigned long dwFrameTick) { m_dwFrameTick = dwFrameTick; }
unsigned long GetFrameTick(void) { return m_dwFrameTick; }
void SetTick(unsigned long dwTick) { m_dwOldTick = dwTick; }
unsigned long GetTick(void) { return m_dwOldTick; }
void SetMaxFrame(unsigned long dwMaxFrame) { m_dwMaxFrame = dwMaxFrame - 1; }
void SetMinFrame(unsigned long dwMinFrame) {m_dwMinFrame = dwMinFrame;}
void SetStopParticle(int t);
unsigned long GetMaxFrame(void) { return m_dwMaxFrame; }
void SetFrame(float fFrame) { m_fBeforeFrame = m_fFrame; m_fFrame = fFrame; }
float GetBeforeFrame(void) { return m_fBeforeFrame;}
float GetFrame(void) { return m_fFrame; }
void SetIncFrame(float fIncFrame) { m_fIncFrame = fIncFrame; }
float GetIncFrame(void) { return m_fIncFrame; }
void SetLoop(BOOL bLoop);
BOOL GetLoop(void) { return m_bLoop; }
//effect 시작
void SetEffectStart(bool t) {m_StartEffect = t;}
bool GetEffectStart() { return m_StartEffect;}
unsigned long AddEffect(CX3DEffectBase *pNewEffect);
CX3DEffectBase *GetEffect(unsigned long dwEffectNumber);
BOOL DeleteEffect(unsigned long dwEffectNumber);
void SetEffectSetting(void);
void SetFreezeMove(void) { m_dwKindMove = 0; }
void SetDirectMove(vector3 &vecDest, vector3 &vecPower, vector3 &vecEForce);
void SetMoveState(bool t){ m_MoveState = t;}
bool GetMoveState() {return m_MoveState;}
void SetScale(float x,float y,float z); //{m_GemScale[0] = x;m_GemScale[1] = y;m_GemScale[2] = z;}
void Render(void);
void SetWorldEffect(bool t);
void SetLight(bool b) { m_bLight = b;}
BOOL Interpolation(unsigned long dwTick, float fFrame = -1.0f);
void Load(const char *strFilePath, const char *strFileName,bool bLoad = true);
void Save(const char *strFilePath, const char *strFileName);
void SetStart(bool bStart) { m_StartEffect = bStart;}
void SetVisibility(bool bVis);
};
#endif // !defined(AFX_X3DEFFECT_H__36D22C0B_3861_4B57_B539_4E4BFAD198C1__INCLUDED_)