forked from metin2/client
convert comments in h files to utf8
This commit is contained in:
@ -2,8 +2,8 @@
|
||||
|
||||
// class CActorInstance
|
||||
|
||||
// Note : ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Lighting, Local Point Light, Weapon Trace <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȿ<><C8BF><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ,
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD> <20><EFBFBD><DFBB><EFBFBD>, <20><>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>̴<EFBFBD>.
|
||||
// Note : 캐릭터의 Lighting, Local Point Light, Weapon Trace 등의 효과와 콤보 데이타, 사운드 데이타,
|
||||
// 모션 데이타 들을 추상적, 총체적으로 관리하는 개별 매니저가 될 것이다.
|
||||
|
||||
#include "FlyTarget.h"
|
||||
#include "RaceData.h"
|
||||
@ -64,7 +64,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
virtual void OnChangeShape() = 0;
|
||||
};
|
||||
|
||||
// 2004.07.05.myevan.<EFBFBD>ý<EFBFBD>ź<EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD>
|
||||
// 2004.07.05.myevan.궁신탄영 맵에 끼이는 문제해결
|
||||
private:
|
||||
static IBackground& GetBackground();
|
||||
|
||||
@ -217,7 +217,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
CActorInstance();
|
||||
virtual ~CActorInstance();
|
||||
|
||||
// 20041201.myevan.<EFBFBD>ν<EFBFBD><EFBFBD>Ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||
// 20041201.myevan.인스턴스베이스용 함수
|
||||
void INSTANCEBASE_Transform();
|
||||
void INSTANCEBASE_Deform();
|
||||
|
||||
@ -294,13 +294,13 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// Motion Queueing System
|
||||
void SetMotionMode(int iMotionMode); // FIXME : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰԲ<CFB0> <20>Ѵ<EFBFBD>.
|
||||
void SetMotionMode(int iMotionMode); // FIXME : 모드의 시간차 적용이 가능하게끔 한다.
|
||||
int GetMotionMode();
|
||||
void SetLoopMotion(DWORD dwMotion, float fBlendTime = 0.1f, float fSpeedRatio=1.0f);
|
||||
bool InterceptOnceMotion(DWORD dwMotion, float fBlendTime = 0.1f, UINT uSkill=0, float fSpeedRatio=1.0f);
|
||||
bool InterceptLoopMotion(DWORD dwMotion, float fBlendTime = 0.1f);
|
||||
bool PushOnceMotion(DWORD dwMotion, float fBlendTime = 0.1f, float fSpeedRatio=1.0f); // FIXME : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰԲ<CFB0> <20>Ѵ<EFBFBD>.
|
||||
bool PushLoopMotion(DWORD dwMotion, float fBlendTime = 0.1f, float fSpeedRatio=1.0f); // FIXME : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰԲ<CFB0> <20>Ѵ<EFBFBD>.
|
||||
bool PushOnceMotion(DWORD dwMotion, float fBlendTime = 0.1f, float fSpeedRatio=1.0f); // FIXME : 모드의 시간차 적용이 가능하게끔 한다.
|
||||
bool PushLoopMotion(DWORD dwMotion, float fBlendTime = 0.1f, float fSpeedRatio=1.0f); // FIXME : 모드의 시간차 적용이 가능하게끔 한다.
|
||||
void SetMotionLoopCount(int iCount);
|
||||
|
||||
bool IsPushing();
|
||||
@ -346,9 +346,9 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
// Battle
|
||||
// Input
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ű<EFBFBD> <20><><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD> <20>ִ<EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD>
|
||||
// <EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7>̾ <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ܼ<EFBFBD><DCBC><EFBFBD> Showing Type<EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˻簡 <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
// 하위로 옮길 가능성이 있는 코드들
|
||||
// 네트웍 연동시 전투 관련은 플레이어를 제외하곤 단순히 Showing Type이기 때문에
|
||||
// 조건 검사가 필요 없다.
|
||||
void InputNormalAttackCommand(float fDirRot); // Process input - Only used by player's character
|
||||
bool InputComboAttackCommand(float fDirRot); // Process input - Only used by player's character
|
||||
|
||||
@ -524,7 +524,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
void ClearFlyEventHandler();
|
||||
void SetFlyEventHandler(IFlyEventHandler * pHandler);
|
||||
|
||||
// 2004. 07. 07. [levites] - <EFBFBD><EFBFBD>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ذ<EFBFBD><D8B0><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
|
||||
// 2004. 07. 07. [levites] - 스킬 사용중 타겟이 바뀌는 문제 해결을 위한 코드
|
||||
bool CanChangeTarget();
|
||||
|
||||
protected:
|
||||
@ -567,7 +567,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
void CurrentMotionProcess();
|
||||
MOTION_KEY GetRandomMotionKey(MOTION_KEY dwMotionKey);
|
||||
|
||||
float GetLastMotionTime(float fBlendTime); // NOTE : <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BlendTime<EFBFBD><EFBFBD>ŭ<EFBFBD><EFBFBD> <20>մ<EFBFBD><D5B4><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
float GetLastMotionTime(float fBlendTime); // NOTE : 자동으로 BlendTime만큼을 앞당긴 시간을 리턴
|
||||
float GetMotionDuration(DWORD dwMotionKey);
|
||||
|
||||
bool InterceptMotion(EMotionPushType iMotionType, WORD wMotion, float fBlendTime = 0.1f, UINT uSkill=0, float fSpeedRatio=1.0f);
|
||||
@ -637,31 +637,31 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
|
||||
protected:
|
||||
float __GetAttackSpeed();
|
||||
DWORD __SetMotion(const SSetMotionData& c_rkSetMotData, DWORD dwRandMotKey=0); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
DWORD __SetMotion(const SSetMotionData& c_rkSetMotData, DWORD dwRandMotKey=0); // 모션 데이터 설정
|
||||
void __ClearMotion();
|
||||
|
||||
bool __BindMotionData(DWORD dwMotionKey); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ε<EFBFBD>
|
||||
void __ClearHittedActorInstanceMap(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
bool __BindMotionData(DWORD dwMotionKey); // 모션 데이터를 바인딩
|
||||
void __ClearHittedActorInstanceMap(); // 때려진 액터 인스턴스 맵을 지운다
|
||||
|
||||
UINT __GetMotionType(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>
|
||||
UINT __GetMotionType(); // 모션 타입 얻기
|
||||
|
||||
bool __IsNeedFlyTargetMotion(); // FlyTarget <EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>?
|
||||
bool __HasMotionFlyEvent(); // <EFBFBD><EFBFBD><EFBFBD>𰡸<EFBFBD> <20><><EFBFBD>°<EFBFBD>?
|
||||
bool __IsWaitMotion(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ΰ<EFBFBD>?
|
||||
bool __IsMoveMotion(); // <EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ΰ<EFBFBD>?
|
||||
bool __IsAttackMotion(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ΰ<EFBFBD>?
|
||||
bool __IsComboAttackMotion(); // <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ΰ<EFBFBD>?
|
||||
bool __IsDamageMotion(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>?
|
||||
bool __IsKnockDownMotion(); // <EFBFBD>˴ٿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>?
|
||||
bool __IsDieMotion(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ΰ<EFBFBD>?
|
||||
bool __IsStandUpMotion(); // <EFBFBD>Ͼ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>?
|
||||
bool __IsNeedFlyTargetMotion(); // FlyTarget 이 필요한 모션인가?
|
||||
bool __HasMotionFlyEvent(); // 무언가를 쏘는가?
|
||||
bool __IsWaitMotion(); // 대기 모션 인가?
|
||||
bool __IsMoveMotion(); // 이동 모션 인가?
|
||||
bool __IsAttackMotion(); // 공격 모션 인가?
|
||||
bool __IsComboAttackMotion(); // 콤보 공격 모션 인가?
|
||||
bool __IsDamageMotion(); // 데미지 모션인가?
|
||||
bool __IsKnockDownMotion(); // 넉다운 모션인가?
|
||||
bool __IsDieMotion(); // 사망 모션 인가?
|
||||
bool __IsStandUpMotion(); // 일어서기 모션인가?
|
||||
bool __IsMountingHorse();
|
||||
|
||||
bool __CanAttack(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҽ<EFBFBD> <20>ִ°<D6B4>?
|
||||
bool __CanNextComboAttack(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>?
|
||||
bool __CanAttack(); // 공격 할수 있는가?
|
||||
bool __CanNextComboAttack(); // 다음 콤보 어택이 가능한가?
|
||||
|
||||
bool __IsComboAttacking(); // <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>?
|
||||
void __CancelComboAttack(); // <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool __IsComboAttacking(); // 콤보 공격중인가?
|
||||
void __CancelComboAttack(); // 콤보 공격 취소
|
||||
|
||||
WORD __GetCurrentMotionIndex();
|
||||
DWORD __GetCurrentMotionKey();
|
||||
@ -683,9 +683,9 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
D3DXVECTOR3 __GetFlyTargetPosition();
|
||||
|
||||
protected:
|
||||
void __DestroyWeaponTrace(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ܻ<EFBFBD><DCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>
|
||||
void __ShowWeaponTrace(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ܻ<EFBFBD><DCBB><EFBFBD> <20><><EFBFBD>δ<EFBFBD>
|
||||
void __HideWeaponTrace(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ܻ<EFBFBD><DCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void __DestroyWeaponTrace(); // 무기 잔상을 제거한다
|
||||
void __ShowWeaponTrace(); // 무기 잔상을 보인다
|
||||
void __HideWeaponTrace(); // 무기 잔상을 감춘다
|
||||
|
||||
protected:
|
||||
// collision data
|
||||
@ -705,7 +705,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
// For Collision Detection
|
||||
TCollisionPointInstanceList m_BodyPointInstanceList;
|
||||
TCollisionPointInstanceList m_DefendingPointInstanceList;
|
||||
SSplashArea m_kSplashArea; // TODO : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE>Ѵ<EFBFBD> - [levites]
|
||||
SSplashArea m_kSplashArea; // TODO : 복수에 대한 고려를 해야한다 - [levites]
|
||||
CAttributeInstance * m_pAttributeInstance;
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -736,7 +736,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
float m_fInvisibleTime;
|
||||
BOOL m_isHiding;
|
||||
|
||||
// TODO : State<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ų <20><> <20>ִ<EFBFBD><D6B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// TODO : State로 통합 시킬 수 있는지 고려해 볼것
|
||||
BOOL m_isResistFallen;
|
||||
BOOL m_isSleep;
|
||||
BOOL m_isFaint;
|
||||
@ -822,7 +822,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
void __InitializeRotationData();
|
||||
void __InitializePositionData();
|
||||
|
||||
public: // InstanceBase <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ӽ÷<D3BD> public
|
||||
public: // InstanceBase 통합전 임시로 public
|
||||
IEventHandler* __GetEventHandlerPtr();
|
||||
IEventHandler& __GetEventHandlerRef();
|
||||
|
||||
|
@ -157,7 +157,7 @@ class CArea
|
||||
typedef std::vector<CDungeonBlock *> TDungeonBlockInstanceVector;
|
||||
typedef std::vector<TObjectInstance *> TObjectInstanceVector;
|
||||
typedef std::vector<TAmbienceInstance *> TAmbienceInstanceVector;
|
||||
typedef std::map<CGraphicThingInstance *, DWORD> TGraphicThingInstanceCRCMap; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD> by <20><><EFBFBD><EFBFBD>
|
||||
typedef std::map<CGraphicThingInstance *, DWORD> TGraphicThingInstanceCRCMap; // 최적화용 by 동현
|
||||
typedef std::set<int> TShowingPortalIDSet;
|
||||
|
||||
typedef struct SCRCWithNumber
|
||||
@ -264,7 +264,7 @@ class CArea
|
||||
|
||||
protected:
|
||||
// Static Data
|
||||
TObjectDataVector m_ObjectDataVector; // Area <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>
|
||||
TObjectDataVector m_ObjectDataVector; // Area 상에 있는 오브젝트들
|
||||
|
||||
// Rendering Instances
|
||||
TObjectInstanceVector m_ObjectInstanceVector;
|
||||
@ -280,7 +280,7 @@ class CArea
|
||||
TCRCWithNumberVector m_kRenderedThingInstanceCRCWithNumberVector;
|
||||
TThingInstanceVector m_kRenderedGrapphicThingInstanceVector;
|
||||
|
||||
// <EFBFBD><EFBFBD>ǥ : <20>ɸ<EFBFBD><C9B8><EFBFBD> <20><> <20><>ü <20>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD> <20><>ǥ... <EFBFBD>Ѵ<EFBFBD> 0~999
|
||||
// 좌표 : 심리스 맵 전체 중에서의 좌표... 둘다 0~999
|
||||
WORD m_wX;
|
||||
WORD m_wY;
|
||||
|
||||
|
@ -11,8 +11,8 @@ class CActorInstance;
|
||||
class CFlyingInstance
|
||||
{
|
||||
public:
|
||||
// 2004. 3. 26. myevan. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD> <20>ʿ<EFBFBD>. <20><><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´ٸ<C2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ӹ<D3B9> <20><><EFBFBD>鵵<EFBFBD><E9B5B5> <20><><EFBFBD><EFBFBD>
|
||||
void Clear(); // Destroy<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// 2004. 3. 26. myevan. 적절한 네이밍이 필요. 게임에서 사용하지 않는다면 툴에서 툴 전용으로 상속받아 만들도록 하자
|
||||
void Clear(); // Destroy와 같다
|
||||
void SetDataPointer(CFlyingData * pData, const D3DXVECTOR3 & v3StartPosition);
|
||||
void SetFlyTarget(const CFlyTarget & cr_Target); // Shot at Target
|
||||
|
||||
@ -56,7 +56,7 @@ public:
|
||||
void SetOwner(IActorInstance * pOwner) { m_pOwner = pOwner; }
|
||||
void SetSkillIndex(DWORD dwIndex) { m_dwSkillIndex = dwIndex; }
|
||||
|
||||
// FIXME : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ӽ÷<D3BD> <20><><EFBFBD><EFBFBD>.. - [levites]
|
||||
// FIXME : 툴에서 사용하고 있습니다. 임시로 위로.. - [levites]
|
||||
void __Explode(bool bBomb=true);
|
||||
void __Bomb();
|
||||
|
||||
@ -67,7 +67,7 @@ protected:
|
||||
|
||||
void __SetDataPointer(CFlyingData * pData, const D3DXVECTOR3 & v3StartPosition);
|
||||
void __SetTargetDirection(const CFlyTarget& c_rkTarget);
|
||||
void __SetTargetNormalizedDirection(const D3DXVECTOR3 & v3NormalizedDirection ); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void __SetTargetNormalizedDirection(const D3DXVECTOR3 & v3NormalizedDirection ); // 시작 타겟 방향 설정
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -6,10 +6,10 @@
|
||||
//
|
||||
// CGameEventManager
|
||||
//
|
||||
// Note : Game<EFBFBD><EFBFBD> <20>Ͼ<CFBE><EEB3AA> <20><><EFBFBD><EFBFBD>, ȭ<><C8AD> <20><><EFBFBD>鸲, Range <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> Event
|
||||
// <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>. - [levites]
|
||||
// Note : Game상에서 일어나는 폭발, 화면 흔들림, Range 무기들의 움직임과 타격 등의 Event
|
||||
// 를 종합적으로 관리하는 클래스. - [levites]
|
||||
//
|
||||
// Note : <EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><EFBFBD><EFBFBD> Cinematic Event <EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD>ϴ<EFBFBD> <20>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. 2004.07.19 - [levites]
|
||||
// Note : 게임상의 Cinematic Event 를 컨트롤하는 매니져로 사용한다. 2004.07.19 - [levites]
|
||||
//
|
||||
|
||||
class CGameEventManager : public CSingleton<CGameEventManager>, public CScreen
|
||||
|
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
// 2004.07.05.myevan.<EFBFBD>ý<EFBFBD>ź<EFBFBD><EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD>
|
||||
// 2004.07.05.myevan.궁신탄영 맵에 끼이는 문제해결
|
||||
class IBackground : public CSingleton<IBackground>
|
||||
{
|
||||
public:
|
||||
|
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
// NOTE : Item<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
// NOTE : Item의 통합 관리 클래스다.
|
||||
// Icon, Model (droped on ground), Game Data
|
||||
|
||||
#include "../eterLib/GrpSubImage.h"
|
||||
@ -22,18 +22,18 @@ class CItemData
|
||||
enum EItemType
|
||||
{
|
||||
ITEM_TYPE_NONE, //0
|
||||
ITEM_TYPE_WEAPON, //1//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_ARMOR, //2//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_USE, //3//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_WEAPON, //1//무기
|
||||
ITEM_TYPE_ARMOR, //2//갑옷
|
||||
ITEM_TYPE_USE, //3//아이템 사용
|
||||
ITEM_TYPE_AUTOUSE, //4
|
||||
ITEM_TYPE_MATERIAL, //5
|
||||
ITEM_TYPE_SPECIAL, //6 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_SPECIAL, //6 //스페셜 아이템
|
||||
ITEM_TYPE_TOOL, //7
|
||||
ITEM_TYPE_LOTTERY, //8//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_ELK, //9//<EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_LOTTERY, //8//복권
|
||||
ITEM_TYPE_ELK, //9//돈
|
||||
ITEM_TYPE_METIN, //10
|
||||
ITEM_TYPE_CONTAINER, //11
|
||||
ITEM_TYPE_FISH, //12//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_FISH, //12//낚시
|
||||
ITEM_TYPE_ROD, //13
|
||||
ITEM_TYPE_RESOURCE, //14
|
||||
ITEM_TYPE_CAMPFIRE, //15
|
||||
@ -41,21 +41,21 @@ class CItemData
|
||||
ITEM_TYPE_SKILLBOOK, //17
|
||||
ITEM_TYPE_QUEST, //18
|
||||
ITEM_TYPE_POLYMORPH, //19
|
||||
ITEM_TYPE_TREASURE_BOX, //20//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_TREASURE_KEY, //21//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_TREASURE_BOX, //20//보물상자
|
||||
ITEM_TYPE_TREASURE_KEY, //21//보물상자 열쇠
|
||||
ITEM_TYPE_SKILLFORGET, //22
|
||||
ITEM_TYPE_GIFTBOX, //23
|
||||
ITEM_TYPE_PICK, //24
|
||||
ITEM_TYPE_HAIR, //25//<EFBFBD>Ӹ<EFBFBD>
|
||||
ITEM_TYPE_TOTEM, //26//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_BLEND, //27//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20>ٴ<EFBFBD> <20>
|
||||
ITEM_TYPE_COSTUME, //28//<EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2011<31><31> 8<><38> <20>߰<EFBFBD><DFB0><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
ITEM_TYPE_DS, //29 //<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>
|
||||
ITEM_TYPE_SPECIAL_DS, //30 // Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5> (DS_SLOT<4F><54> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> UNIQUE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><>)
|
||||
ITEM_TYPE_EXTRACT, //31 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
ITEM_TYPE_SECONDARY_COIN, //32 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
ITEM_TYPE_RING, //33 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>ũ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
ITEM_TYPE_BELT, //34 <EFBFBD><EFBFBD>Ʈ
|
||||
ITEM_TYPE_HAIR, //25//머리
|
||||
ITEM_TYPE_TOTEM, //26//토템
|
||||
ITEM_TYPE_BLEND, //27//생성될때 랜덤하게 속성이 붙는 약물
|
||||
ITEM_TYPE_COSTUME, //28//코스츔 아이템 (2011년 8월 추가된 코스츔 시스템용 아이템)
|
||||
ITEM_TYPE_DS, //29 //용혼석
|
||||
ITEM_TYPE_SPECIAL_DS, //30 // 특수한 용혼석 (DS_SLOT에 착용하는 UNIQUE 아이템이라 생각하면 됨)
|
||||
ITEM_TYPE_EXTRACT, //31 추출도구.
|
||||
ITEM_TYPE_SECONDARY_COIN, //32 명도전.
|
||||
ITEM_TYPE_RING, //33 반지 (유니크 슬롯이 아닌 순수 반지 슬롯)
|
||||
ITEM_TYPE_BELT, //34 벨트
|
||||
|
||||
ITEM_TYPE_MAX_NUM,
|
||||
};
|
||||
@ -63,7 +63,7 @@ class CItemData
|
||||
enum EWeaponSubTypes
|
||||
{
|
||||
WEAPON_SWORD,
|
||||
WEAPON_DAGGER, //<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>
|
||||
WEAPON_DAGGER, //이도류
|
||||
WEAPON_BOW,
|
||||
WEAPON_TWO_HANDED,
|
||||
WEAPON_BELL,
|
||||
@ -100,8 +100,8 @@ class CItemData
|
||||
|
||||
enum ECostumeSubTypes
|
||||
{
|
||||
COSTUME_BODY, //0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(main look)
|
||||
COSTUME_HAIR, //1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Ż<><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
COSTUME_BODY, //0 갑옷(main look)
|
||||
COSTUME_HAIR, //1 헤어(탈착가능)
|
||||
COSTUME_NUM_TYPES,
|
||||
};
|
||||
|
||||
@ -136,8 +136,8 @@ class CItemData
|
||||
USE_UNBIND,
|
||||
USE_TIME_CHARGE_PER,
|
||||
USE_TIME_CHARGE_FIX, // 28
|
||||
USE_PUT_INTO_BELT_SOCKET, // 29 <EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USE_PUT_INTO_RING_SOCKET, // 30 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
USE_PUT_INTO_BELT_SOCKET, // 29 벨트 소켓에 사용할 수 있는 아이템
|
||||
USE_PUT_INTO_RING_SOCKET, // 30 반지 소켓에 사용할 수 있는 아이템 (유니크 반지 말고, 새로 추가된 반지 슬롯)
|
||||
};
|
||||
|
||||
enum EDragonSoulSubType
|
||||
@ -168,16 +168,16 @@ class CItemData
|
||||
LIMIT_CON,
|
||||
LIMIT_PCBANG,
|
||||
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ǽð<C7BD><C3B0><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> (socket0<74><30> <20>Ҹ<EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>: unix_timestamp Ÿ<EFBFBD><EFBFBD>)
|
||||
/// 착용 여부와 상관 없이 실시간으로 시간 차감 (socket0에 소멸 시간이 박힘: unix_timestamp 타입)
|
||||
LIMIT_REAL_TIME,
|
||||
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ó<><C3B3> <20><><EFBFBD><EFBFBD>(Ȥ<><C8A4> <20><><EFBFBD><EFBFBD>) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ÿ<≯<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket0<74><30> <20><><EFBFBD>밡<EFBFBD>ɽð<C9BD>(<28>ʴ<EFBFBD><CAB4><EFBFBD>, 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> limit value<75><65> <20><><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ִٰ<D6B4>
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket1<74><31> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket0<EFBFBD><EFBFBD> unix_timestamp Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҹ<EFBFBD><D2B8>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
/// 아이템을 맨 처음 사용(혹은 착용) 한 순간부터 리얼타임 타이머 시작
|
||||
/// 최초 사용 전에는 socket0에 사용가능시간(초단위, 0이면 프로토의 limit value값 사용) 값이 쓰여있다가
|
||||
/// 아이템 사용시 socket1에 사용 횟수가 박히고 socket0에 unix_timestamp 타입의 소멸시간이 박힘.
|
||||
LIMIT_REAL_TIME_START_FIRST_USE,
|
||||
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// socket0<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20>ʴ<EFBFBD><CAB4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> limit value<EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket0<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
/// 아이템을 착용 중일 때만 사용 시간이 차감되는 아이템
|
||||
/// socket0에 남은 시간이 초단위로 박힘. (아이템 최초 사용시 해당 값이 0이면 프로토의 limit value값을 socket0에 복사)
|
||||
LIMIT_TIMER_BASED_ON_WEAR,
|
||||
|
||||
LIMIT_MAX_NUM
|
||||
@ -185,41 +185,41 @@ class CItemData
|
||||
|
||||
enum EItemAntiFlag
|
||||
{
|
||||
ITEM_ANTIFLAG_FEMALE = (1 << 0), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_MALE = (1 << 1), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_WARRIOR = (1 << 2), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_ASSASSIN = (1 << 3), // <EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_SURA = (1 << 4), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_SHAMAN = (1 << 5), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_GET = (1 << 6), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_DROP = (1 << 7), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_SELL = (1 << 8), // <EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_EMPIRE_A = (1 << 9), // A <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_EMPIRE_B = (1 << 10), // B <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_EMPIRE_R = (1 << 11), // C <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_SAVE = (1 << 12), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_GIVE = (1 << 13), // <EFBFBD>ŷ<EFBFBD> <20>Ұ<EFBFBD>
|
||||
ITEM_ANTIFLAG_PKDROP = (1 << 14), // PK<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_STACK = (1 << 15), // <EFBFBD><EFBFBD>ĥ <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_MYSHOP = (1 << 16), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_ANTIFLAG_FEMALE = (1 << 0), // 여성 사용 불가
|
||||
ITEM_ANTIFLAG_MALE = (1 << 1), // 남성 사용 불가
|
||||
ITEM_ANTIFLAG_WARRIOR = (1 << 2), // 무사 사용 불가
|
||||
ITEM_ANTIFLAG_ASSASSIN = (1 << 3), // 자객 사용 불가
|
||||
ITEM_ANTIFLAG_SURA = (1 << 4), // 수라 사용 불가
|
||||
ITEM_ANTIFLAG_SHAMAN = (1 << 5), // 무당 사용 불가
|
||||
ITEM_ANTIFLAG_GET = (1 << 6), // 집을 수 없음
|
||||
ITEM_ANTIFLAG_DROP = (1 << 7), // 버릴 수 없음
|
||||
ITEM_ANTIFLAG_SELL = (1 << 8), // 팔 수 없음
|
||||
ITEM_ANTIFLAG_EMPIRE_A = (1 << 9), // A 제국 사용 불가
|
||||
ITEM_ANTIFLAG_EMPIRE_B = (1 << 10), // B 제국 사용 불가
|
||||
ITEM_ANTIFLAG_EMPIRE_R = (1 << 11), // C 제국 사용 불가
|
||||
ITEM_ANTIFLAG_SAVE = (1 << 12), // 저장되지 않음
|
||||
ITEM_ANTIFLAG_GIVE = (1 << 13), // 거래 불가
|
||||
ITEM_ANTIFLAG_PKDROP = (1 << 14), // PK시 떨어지지 않음
|
||||
ITEM_ANTIFLAG_STACK = (1 << 15), // 합칠 수 없음
|
||||
ITEM_ANTIFLAG_MYSHOP = (1 << 16), // 개인 상점에 올릴 수 없음
|
||||
};
|
||||
|
||||
enum EItemFlag
|
||||
{
|
||||
ITEM_FLAG_REFINEABLE = (1 << 0), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_FLAG_REFINEABLE = (1 << 0), // 개량 가능
|
||||
ITEM_FLAG_SAVE = (1 << 1),
|
||||
ITEM_FLAG_STACKABLE = (1 << 2), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ĥ <20><> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_FLAG_COUNT_PER_1GOLD = (1 << 3), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ITEM_FLAG_SLOW_QUERY = (1 << 4), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD> SQL<51><4C> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ITEM_FLAG_STACKABLE = (1 << 2), // 여러개 합칠 수 있음
|
||||
ITEM_FLAG_COUNT_PER_1GOLD = (1 << 3), // 가격이 개수 / 가격으로 변함
|
||||
ITEM_FLAG_SLOW_QUERY = (1 << 4), // 게임 종료시에만 SQL에 쿼리함
|
||||
ITEM_FLAG_RARE = (1 << 5),
|
||||
ITEM_FLAG_UNIQUE = (1 << 6),
|
||||
ITEM_FLAG_MAKECOUNT = (1 << 7),
|
||||
ITEM_FLAG_IRREMOVABLE = (1 << 8),
|
||||
ITEM_FLAG_CONFIRM_WHEN_USE = (1 << 9),
|
||||
ITEM_FLAG_QUEST_USE = (1 << 10), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
ITEM_FLAG_QUEST_USE_MULTIPLE= (1 << 11), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
ITEM_FLAG_QUEST_USE = (1 << 10), // 퀘스트 스크립트 돌리는지?
|
||||
ITEM_FLAG_QUEST_USE_MULTIPLE= (1 << 11), // 퀘스트 스크립트 돌리는지?
|
||||
ITEM_FLAG_UNUSED03 = (1 << 12), // UNUSED03
|
||||
ITEM_FLAG_LOG = (1 << 13), // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>?
|
||||
ITEM_FLAG_LOG = (1 << 13), // 사용시 로그를 남기는 아이템인가?
|
||||
ITEM_FLAG_APPLICABLE = (1 << 14),
|
||||
};
|
||||
|
||||
@ -319,17 +319,17 @@ class CItemData
|
||||
APPLY_ATT_BONUS_TO_SURA, // 61
|
||||
APPLY_ATT_BONUS_TO_SHAMAN, // 62
|
||||
APPLY_ATT_BONUS_TO_MONSTER, // 63
|
||||
APPLY_MALL_ATTBONUS, // 64 <EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD> +x%
|
||||
APPLY_MALL_DEFBONUS, // 65 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
||||
APPLY_MALL_EXPBONUS, // 66 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ +x%
|
||||
APPLY_MALL_ITEMBONUS, // 67 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<EFBFBD><EFBFBD>
|
||||
APPLY_MALL_GOLDBONUS, // 68 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<EFBFBD><EFBFBD>
|
||||
APPLY_MAX_HP_PCT, // 69 <EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
||||
APPLY_MAX_SP_PCT, // 70 <EFBFBD>ִ<EFBFBD> <20><><EFBFBD>ŷ<EFBFBD> +x%
|
||||
APPLY_SKILL_DAMAGE_BONUS, // 71 <EFBFBD><EFBFBD>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * (100+x)%
|
||||
APPLY_NORMAL_HIT_DAMAGE_BONUS, // 72 <EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * (100+x)%
|
||||
APPLY_SKILL_DEFEND_BONUS, // 73 <EFBFBD><EFBFBD>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> * (100-x)%
|
||||
APPLY_NORMAL_HIT_DEFEND_BONUS, // 74 <EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> * (100-x)%
|
||||
APPLY_MALL_ATTBONUS, // 64 공격력 +x%
|
||||
APPLY_MALL_DEFBONUS, // 65 방어력 +x%
|
||||
APPLY_MALL_EXPBONUS, // 66 경험치 +x%
|
||||
APPLY_MALL_ITEMBONUS, // 67 아이템 드롭율 x/10배
|
||||
APPLY_MALL_GOLDBONUS, // 68 돈 드롭율 x/10배
|
||||
APPLY_MAX_HP_PCT, // 69 최대 생명력 +x%
|
||||
APPLY_MAX_SP_PCT, // 70 최대 정신력 +x%
|
||||
APPLY_SKILL_DAMAGE_BONUS, // 71 스킬 데미지 * (100+x)%
|
||||
APPLY_NORMAL_HIT_DAMAGE_BONUS, // 72 평타 데미지 * (100+x)%
|
||||
APPLY_SKILL_DEFEND_BONUS, // 73 스킬 데미지 방어 * (100-x)%
|
||||
APPLY_NORMAL_HIT_DEFEND_BONUS, // 74 평타 데미지 방어 * (100-x)%
|
||||
APPLY_EXTRACT_HP_PCT, //75
|
||||
APPLY_PC_BANG_EXP_BONUS, //76
|
||||
APPLY_PC_BANG_DROP_BONUS, //77
|
||||
@ -338,17 +338,17 @@ class CItemData
|
||||
APPLY_RESIST_SURA, //80
|
||||
APPLY_RESIST_SHAMAN, //81
|
||||
APPLY_ENERGY, //82
|
||||
APPLY_DEF_GRADE, // 83 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. DEF_GRADE_BONUS<EFBFBD><EFBFBD> Ŭ<><EFBFBD> <20>ι<EFBFBD><CEB9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǵ<EFBFBD><C7B5><EFBFBD> <20><><EFBFBD><EFBFBD>(...)<29><> <20>ִ<EFBFBD>.
|
||||
APPLY_COSTUME_ATTR_BONUS, // 84 <EFBFBD>ڽ<EFBFBD>Ƭ <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD>ġ <20><><EFBFBD>ʽ<EFBFBD>
|
||||
APPLY_MAGIC_ATTBONUS_PER, // 85 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD> +x%
|
||||
APPLY_MELEE_MAGIC_ATTBONUS_PER, // 86 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20>и<EFBFBD> <20><><EFBFBD>ݷ<EFBFBD> +x%
|
||||
APPLY_DEF_GRADE, // 83 방어력. DEF_GRADE_BONUS는 클라에서 두배로 보여지는 의도된 버그(...)가 있다.
|
||||
APPLY_COSTUME_ATTR_BONUS, // 84 코스튬 아이템에 붙은 속성치 보너스
|
||||
APPLY_MAGIC_ATTBONUS_PER, // 85 마법 공격력 +x%
|
||||
APPLY_MELEE_MAGIC_ATTBONUS_PER, // 86 마법 + 밀리 공격력 +x%
|
||||
|
||||
APPLY_RESIST_ICE, // 87 <EFBFBD>ñ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_EARTH, // 88 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_DARK, // 89 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_RESIST_ICE, // 87 냉기 저항
|
||||
APPLY_RESIST_EARTH, // 88 대지 저항
|
||||
APPLY_RESIST_DARK, // 89 어둠 저항
|
||||
|
||||
APPLY_ANTI_CRITICAL_PCT, //90 ũ<EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_ANTI_PENETRATE_PCT, //91 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
APPLY_ANTI_CRITICAL_PCT, //90 크리티컬 저항
|
||||
APPLY_ANTI_PENETRATE_PCT, //91 관통타격 저항
|
||||
|
||||
MAX_APPLY_NUM, //
|
||||
};
|
||||
|
@ -22,13 +22,13 @@ class CMapBase : public CScreen
|
||||
virtual bool Update(float fX, float fY, float fZ) = 0;
|
||||
virtual void UpdateAroundAmbience(float fX, float fY, float fZ) = 0;
|
||||
virtual float GetHeight(float fx, float fy) = 0;
|
||||
virtual void OnBeginEnvironment() = 0; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⼭ Environment<6E><74> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>͵<EFBFBD><CDB5><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
|
||||
virtual void OnBeginEnvironment() = 0; // 렌더링 할 때 불려지며 여기서 Environment에 관련 있는 것들을 셋팅 한다.
|
||||
|
||||
virtual void ApplyLight(DWORD dwVersion, const D3DLIGHT9& c_rkLight) = 0;
|
||||
|
||||
protected:
|
||||
virtual void OnRender() = 0;
|
||||
virtual void OnSetEnvironmentDataPtr() = 0; // Environment <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD>.
|
||||
virtual void OnSetEnvironmentDataPtr() = 0; // Environment 데이터가 설정될 때 불려진다.
|
||||
virtual void OnResetEnvironmentDataPtr() = 0;
|
||||
|
||||
public:
|
||||
@ -50,14 +50,14 @@ class CMapBase : public CScreen
|
||||
const std::string & GetName() const { return m_strName; }
|
||||
void SetName(const std::string & cr_strName) { m_strName = cr_strName; }
|
||||
|
||||
bool IsCopiedMap() const { return m_strParentMapName.length() > 0; } // "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD>" <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ΰ<EFBFBD>?
|
||||
const std::string& GetParentMapName() const { return m_strParentMapName; } // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʼ<EFBFBD><CABC><EFBFBD> <20><><EFBFBD>õǾ<C3B5><C7BE><EFBFBD> <20><>)
|
||||
bool IsCopiedMap() const { return m_strParentMapName.length() > 0; } // "원본 데이터는 따로 있는" 복사 맵인가?
|
||||
const std::string& GetParentMapName() const { return m_strParentMapName; } // 원본 데이터를 갖고있는 맵의 이름을 리턴 (복사맵의 경우 필수로 세팅되어야 함)
|
||||
const std::string& GetMapDataDirectory() const { return IsCopiedMap() ? m_strParentMapName : m_strName; }
|
||||
|
||||
protected:
|
||||
EMAPTYPE m_eType; // <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Indoor<EFBFBD><EFBFBD> Ourdoor<EFBFBD><EFBFBD> <20>ִ<EFBFBD>.
|
||||
std::string m_strName; // <EFBFBD><EFBFBD> <20≯<EFBFBD>. <20><> <20≯<EFBFBD><CCB8><EFBFBD> <20><> <20>ĺ<EFBFBD><C4BA>ڰ<EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
std::string m_strParentMapName; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>. <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>õǾ<C3B5> <20>ִٸ<D6B4> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> ParentMap/* <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD> <20>о<EFBFBD><D0BE>´<EFBFBD>. <20><><EFBFBD><EFBFBD> <20>Ϻθ<CFBA> <20>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD>뼭 <20>н<EFBFBD>.
|
||||
EMAPTYPE m_eType; // 맵 종류... 현재는 Indoor와 Ourdoor가 있다.
|
||||
std::string m_strName; // 맵 이름. 맵 이름이 맵 식별자가 될 수 있을까?
|
||||
std::string m_strParentMapName; // 원본 맵의 이름. 이 값이 세팅되어 있다면 실제 모든 맵 데이터는 ParentMap/* 경로에서 읽어온다. 맵의 일부만 읽어오는 기능은 필요없대서 패스.
|
||||
bool m_bReady;
|
||||
|
||||
const TEnvironmentData * mc_pEnvironmentData;
|
||||
|
@ -27,13 +27,13 @@ class CMapManager : public CScreen, public IPhysicsWorld
|
||||
void Initialize();
|
||||
void Destroy();
|
||||
|
||||
void Create(); // AllocMap ȣ<EFBFBD><EFBFBD> <20>ؼ<EFBFBD> m_pMap <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void Create(); // AllocMap 호출 해서 m_pMap 을 만듬
|
||||
|
||||
virtual void Clear();
|
||||
virtual CMapBase * AllocMap();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Map <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||
// Map 관리 함수
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
bool IsMapReady();
|
||||
|
||||
@ -51,9 +51,9 @@ class CMapManager : public CScreen, public IPhysicsWorld
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Environment
|
||||
///
|
||||
// NOTE : <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Environment<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ų<EFBFBD><C5B2>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><> <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD> Protected<EFBFBD><EFBFBD> <20>ְ<EFBFBD>,
|
||||
// MapManager<EFBFBD><EFBFBD> TimeControl <EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20>Ѵ<EFBFBD>. - [levites]
|
||||
// NOTE : 다음 Environment로 서서히 블렌딩 시킨다
|
||||
// 아직 세부 구현은 되어있지 않음. 이 함수들은 Protected로 넣고,
|
||||
// MapManager에 TimeControl 부분을 구현하도록 한다. - [levites]
|
||||
void SetEnvironmentDataPtr(const TEnvironmentData * c_pEnvironmentData);
|
||||
void ResetEnvironmentDataPtr(const TEnvironmentData * c_pEnvironmentData);
|
||||
void SetEnvironmentData(int nEnvDataIndex);
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
typedef struct SOutdoorMapCoordinate
|
||||
{
|
||||
short m_sTerrainCoordX; // Terrain <EFBFBD><EFBFBD>ǥ
|
||||
short m_sTerrainCoordX; // Terrain 좌표
|
||||
short m_sTerrainCoordY;
|
||||
} TOutdoorMapCoordinate;
|
||||
|
||||
@ -161,7 +161,7 @@ class CMapOutdoor : public CMapBase
|
||||
bool isTerrainLoaded(WORD wX, WORD wY);
|
||||
bool isAreaLoaded(WORD wX, WORD wY);
|
||||
|
||||
void AssignTerrainPtr(); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(ex. 3x3)<29><> <20>ִ<EFBFBD> <20>͵<EFBFBD><CDB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><> <20>ҷ<EFBFBD><D2B7><EFBFBD>)
|
||||
void AssignTerrainPtr(); // 현재 좌표에서 주위(ex. 3x3)에 있는 것들의 포인터를 연결한다. (업데이트 시 불려짐)
|
||||
|
||||
void SaveAlphaFogOperation();
|
||||
void RestoreAlphaFogOperation();
|
||||
@ -169,7 +169,7 @@ class CMapOutdoor : public CMapBase
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// New
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʵ<EFBFBD><CAB5><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
||||
// 여러가지 맵들을 얻는다.
|
||||
void GetHeightMap(const BYTE & c_rucTerrainNum, WORD ** pwHeightMap);
|
||||
void GetNormalMap(const BYTE & c_rucTerrainNum, char ** pucNormalMap);
|
||||
|
||||
@ -182,19 +182,19 @@ class CMapOutdoor : public CMapBase
|
||||
// Terrain
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
protected:
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 데이터
|
||||
CTerrain * m_pTerrain[AROUND_AREA_NUM]; // Terrain
|
||||
CTerrainPatchProxy * m_pTerrainPatchProxyList; // CTerrain<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1>... Seamless Map <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CTerrain<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>...
|
||||
CTerrainPatchProxy * m_pTerrainPatchProxyList; // CTerrain을 랜더링 할때 실제로 랜더링하는 폴리곤 패치들... Seamless Map 을 위해 CTerrain으로부터 독립...
|
||||
|
||||
long m_lViewRadius; // <EFBFBD>þ<EFBFBD> <20>Ÿ<EFBFBD>.. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..
|
||||
float m_fHeightScale; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... 1.0<EFBFBD>϶<EFBFBD> 0~655.35<EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5> <20><><EFBFBD><EFBFBD>.
|
||||
long m_lViewRadius; // 시야 거리.. 셀단위임..
|
||||
float m_fHeightScale; // 높이 스케일... 1.0일때 0~655.35미터까지 표현 가능.
|
||||
|
||||
short m_sTerrainCountX, m_sTerrainCountY; // seamless map <EFBFBD>ȿ<EFBFBD> <20><><EFBFBD><EFBFBD><EEB0A1> Terrain<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
short m_sTerrainCountX, m_sTerrainCountY; // seamless map 안에 들어가는 Terrain개수
|
||||
|
||||
TOutdoorMapCoordinate m_CurCoordinate; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǥ
|
||||
TOutdoorMapCoordinate m_CurCoordinate; // 현재의 좌표
|
||||
|
||||
long m_lCurCoordStartX, m_lCurCoordStartY;
|
||||
TOutdoorMapCoordinate m_PrevCoordinate; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǥ
|
||||
TOutdoorMapCoordinate m_PrevCoordinate; // 현재의 좌표
|
||||
TOutdoorMapCoordinateMap m_EntryPointMap;
|
||||
|
||||
WORD m_wPatchCount;
|
||||
@ -316,7 +316,7 @@ class CMapOutdoor : public CMapBase
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// New
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
long m_lCenterX, m_lCenterY; // Terrain <EFBFBD><EFBFBD>ǥ <20><><EFBFBD><EFBFBD> <20><> <20><>ǥ...
|
||||
long m_lCenterX, m_lCenterY; // Terrain 좌표 내의 셀 좌표...
|
||||
long m_lOldReadX, m_lOldReadY; /* Last center */
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
@ -182,7 +182,7 @@ typedef struct SEnvironmentData
|
||||
std::string strMainFlareTextureFileName;
|
||||
float fMainFlareSize;
|
||||
|
||||
BOOL bReserve; // <EFBFBD>ܺο<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD>
|
||||
BOOL bReserve; // 외부에서 설정을 고치지 않음
|
||||
} TEnvironmentData;
|
||||
|
||||
typedef std::map<DWORD, TEnvironmentData*> TEnvironmentDataMap;
|
||||
|
@ -89,17 +89,17 @@ protected:
|
||||
protected:
|
||||
EMonsterAreaInfoType m_eMonsterAreaInfoType;
|
||||
|
||||
// Group Type <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// Group Type 정보
|
||||
DWORD m_dwGroupID;
|
||||
std::string m_strGroupName;
|
||||
std::string m_strLeaderName;
|
||||
DWORD m_dwFollowerCount;
|
||||
|
||||
// Monster Type <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// Monster Type 정보
|
||||
DWORD m_dwVID;
|
||||
std::string m_strMonsterName;
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// 공통 정보
|
||||
DWORD m_dwMonsterCount;
|
||||
EMonsterDir m_eMonsterDir;
|
||||
D3DXVECTOR2 m_v2Monsterdirection;
|
||||
|
@ -29,8 +29,8 @@ private:
|
||||
};
|
||||
|
||||
class CActorInstance;
|
||||
//NOTE : <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD> Dependency Inversion<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> interface<63><65> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20>̹<EFBFBD><CCB9>Ĵ<EFBFBD><C4B4><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>踦 <20>Ѵٸ<D1B4> world<EFBFBD><EFBFBD> live object<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݴ<EFBFBD> base project<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (gamelib<EFBFBD>̳<EFBFBD> <20><> base project<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD> <20>Ѵ<EFBFBD> )
|
||||
//NOTE : 맘에 안들지만 Dependency Inversion을 막고 이전과 동일한 interface를 유지하기 위해서 이방식대로 간다
|
||||
//하지만 제대로 설계를 한다면 world와 live object들의 관리는 조금더 base project에서 (gamelib이나 더 base project에서 해야 한다 )
|
||||
class IObjectManager
|
||||
{
|
||||
public:
|
||||
|
@ -16,8 +16,8 @@ class CRaceData
|
||||
enum EParts
|
||||
{
|
||||
// Share index with server
|
||||
// ECharacterEquipmentPart<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>.
|
||||
//<EFBFBD><EFBFBD>Ŷ ũ<>Ⱑ <20><><EFBFBD>մϴ<D5B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>.
|
||||
// ECharacterEquipmentPart도 수정해주세요.
|
||||
//패킷 크기가 변합니다 서버와 상의후 추가해주세요.
|
||||
PART_MAIN,
|
||||
PART_WEAPON,
|
||||
PART_HEAD,
|
||||
|
@ -56,41 +56,41 @@ class CRaceMotionData
|
||||
|
||||
enum EName
|
||||
{
|
||||
NAME_NONE, // 0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NAME_WAIT, // 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (00.msa)
|
||||
NAME_WALK, // 2 <EFBFBD>ȱ<EFBFBD> (02.msa)
|
||||
NAME_RUN, // 3 <EFBFBD>ٱ<EFBFBD> (03.msa)
|
||||
NAME_CHANGE_WEAPON, // 4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٲٱ<EFBFBD>
|
||||
NAME_DAMAGE, // 5 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD> (30.msa)
|
||||
NAME_DAMAGE_FLYING, // 6 <EFBFBD><EFBFBD><EFBFBD>鳯<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD> (32.msa)
|
||||
NAME_STAND_UP, // 7 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><EFBFBD> (33.msa)
|
||||
NAME_DAMAGE_BACK, // 8 <EFBFBD>ĸ<EFBFBD><EFBFBD>±<EFBFBD> (34.msa)
|
||||
NAME_DAMAGE_FLYING_BACK, // 9 <EFBFBD>ĸ鳯<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD> (35.msa)
|
||||
NAME_STAND_UP_BACK, // 10 <EFBFBD>ĸ<EFBFBD><EFBFBD>Ͼ<EFBFBD><EFBFBD> (36.msa)
|
||||
NAME_DEAD, // 11 <EFBFBD>ױ<EFBFBD> (31.msa)
|
||||
NAME_DEAD_BACK, // 12 <EFBFBD>ĸ<EFBFBD><EFBFBD>ױ<EFBFBD> (37.msa)
|
||||
NAME_NORMAL_ATTACK, // 13 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (20.msa)
|
||||
NAME_COMBO_ATTACK_1, // 14 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_2, // 15 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_3, // 16 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_4, // 17 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_5, // 18 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_6, // 19 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_7, // 20 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_COMBO_ATTACK_8, // 21 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_INTRO_WAIT, // 22 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_INTRO_SELECTED, // 23 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_INTRO_NOT_SELECTED, // 24 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NAME_SPAWN, // 25 <EFBFBD><EFBFBD>ȯ
|
||||
NAME_FISHING_THROW, // 26 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NAME_FISHING_WAIT, // 27 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_FISHING_STOP, // 28 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><D7B8>α<EFBFBD>
|
||||
NAME_FISHING_REACT, // 29 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_FISHING_CATCH, // 30 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_FISHING_FAIL, // 31 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
NAME_STOP, // 32 <EFBFBD><EFBFBD> <20><><EFBFBD>߱<EFBFBD>
|
||||
NAME_SPECIAL_1, // 33 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/NPC Ư<><C6AF> <20><><EFBFBD><EFBFBD> (24.msa)
|
||||
NAME_SPECIAL_2, // 34 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/NPC Ư<><C6AF> <20><><EFBFBD><EFBFBD> (25.msa)
|
||||
NAME_NONE, // 0 없음
|
||||
NAME_WAIT, // 1 대기 (00.msa)
|
||||
NAME_WALK, // 2 걷기 (02.msa)
|
||||
NAME_RUN, // 3 뛰기 (03.msa)
|
||||
NAME_CHANGE_WEAPON, // 4 무기바꾸기
|
||||
NAME_DAMAGE, // 5 정면맞기 (30.msa)
|
||||
NAME_DAMAGE_FLYING, // 6 정면날아가기 (32.msa)
|
||||
NAME_STAND_UP, // 7 정면일어나기 (33.msa)
|
||||
NAME_DAMAGE_BACK, // 8 후면맞기 (34.msa)
|
||||
NAME_DAMAGE_FLYING_BACK, // 9 후면날아가기 (35.msa)
|
||||
NAME_STAND_UP_BACK, // 10 후면일어나기 (36.msa)
|
||||
NAME_DEAD, // 11 죽기 (31.msa)
|
||||
NAME_DEAD_BACK, // 12 후면죽기 (37.msa)
|
||||
NAME_NORMAL_ATTACK, // 13 공격 (20.msa)
|
||||
NAME_COMBO_ATTACK_1, // 14 콤보 공격
|
||||
NAME_COMBO_ATTACK_2, // 15 콤보 공격
|
||||
NAME_COMBO_ATTACK_3, // 16 콤보 공격
|
||||
NAME_COMBO_ATTACK_4, // 17 콤보 공격
|
||||
NAME_COMBO_ATTACK_5, // 18 콤보 공격
|
||||
NAME_COMBO_ATTACK_6, // 19 콤보 공격
|
||||
NAME_COMBO_ATTACK_7, // 20 콤보 공격
|
||||
NAME_COMBO_ATTACK_8, // 21 콤보 공격
|
||||
NAME_INTRO_WAIT, // 22 선택화면 대기
|
||||
NAME_INTRO_SELECTED, // 23 선택화면 선택
|
||||
NAME_INTRO_NOT_SELECTED, // 24 선택화면 비선택
|
||||
NAME_SPAWN, // 25 소환
|
||||
NAME_FISHING_THROW, // 26 낚시 던지기
|
||||
NAME_FISHING_WAIT, // 27 낚시 대기
|
||||
NAME_FISHING_STOP, // 28 낚시 그만두기
|
||||
NAME_FISHING_REACT, // 29 낚시 반응
|
||||
NAME_FISHING_CATCH, // 30 낚시 잡기
|
||||
NAME_FISHING_FAIL, // 31 낚시 실패
|
||||
NAME_STOP, // 32 말 멈추기
|
||||
NAME_SPECIAL_1, // 33 몬스터/NPC 특수 동작 (24.msa)
|
||||
NAME_SPECIAL_2, // 34 몬스터/NPC 특수 동작 (25.msa)
|
||||
NAME_SPECIAL_3,
|
||||
NAME_SPECIAL_4,
|
||||
NAME_SPECIAL_5,
|
||||
@ -139,7 +139,7 @@ class CRaceMotionData
|
||||
NAME_DANCE_3,
|
||||
NAME_DANCE_4,
|
||||
NAME_DANCE_5,
|
||||
NAME_DANCE_6, // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD>
|
||||
NAME_DANCE_6, // 강남스타일
|
||||
|
||||
NAME_DANCE_END = NAME_DANCE_1 + 16,
|
||||
|
||||
@ -210,8 +210,8 @@ class CRaceMotionData
|
||||
|
||||
void SetName(UINT eName);
|
||||
|
||||
UINT GetType() const; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>
|
||||
bool IsLock() const; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ΰ<EFBFBD>? (<28>ٸ<EFBFBD> <20><><EFBFBD>ǿ<EFBFBD> ĵ<><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
UINT GetType() const; // 모션 타입 얻기
|
||||
bool IsLock() const; // 락된 모션 인가? (다른 모션에 캔슬되지 않음)
|
||||
|
||||
int GetLoopCount() const;
|
||||
|
||||
@ -225,7 +225,7 @@ class CRaceMotionData
|
||||
void SetAccumulationPosition(const TPixelPosition & c_rPos);
|
||||
const TPixelPosition & GetAccumulationPosition() { return m_accumulationPosition; }
|
||||
|
||||
BOOL IsComboInputTimeData() const; // <EFBFBD><EFBFBD> <20>Է<EFBFBD> Ÿ<>̹<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20>ִ°<D6B4>?
|
||||
BOOL IsComboInputTimeData() const; // 콤보 입력 타이밍 데이터가 있는가?
|
||||
|
||||
float GetComboInputStartTime() const;
|
||||
float GetNextComboTime() const;
|
||||
|
@ -6,7 +6,7 @@
|
||||
#endif
|
||||
|
||||
#pragma warning(disable:4710) // not inlined
|
||||
#pragma warning(disable:4786) // character 255 <EFBFBD>Ѿ<EFBFBD>°<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
#pragma warning(disable:4786) // character 255 넘어가는거 끄기
|
||||
#pragma warning(disable:4244) // type conversion possible lose of data
|
||||
|
||||
#pragma warning(disable:4018)
|
||||
|
Reference in New Issue
Block a user