MR-2: Realtime character level updates + Macros removed
This commit is contained in:
@@ -362,10 +362,22 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
BOOL IsActEmotion();
|
||||
DWORD GetComboIndex();
|
||||
float GetAttackingElapsedTime();
|
||||
#ifdef FIX_POS_SYNC
|
||||
void SetBlendingPosition(const TPixelPosition& c_rPosition, float fBlendingTime = 1.0f);
|
||||
#else
|
||||
void SetBlendingPosition(const TPixelPosition & c_rPosition, float fBlendingTime = 1.0f);
|
||||
#endif
|
||||
void ResetBlendingPosition();
|
||||
void GetBlendingPosition(TPixelPosition * pPosition);
|
||||
|
||||
#ifdef FIX_POS_SYNC
|
||||
struct BlendingPosition {
|
||||
D3DXVECTOR3 source;
|
||||
D3DXVECTOR3 dest;
|
||||
float duration;
|
||||
};
|
||||
#endif
|
||||
|
||||
BOOL NormalAttack(float fDirRot, float fBlendTime = 0.1f);
|
||||
BOOL ComboAttack(DWORD wMotionIndex, float fDirRot, float fBlendTime = 0.1f);
|
||||
|
||||
@@ -479,6 +491,13 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
void RenderCollisionData();
|
||||
void RenderToShadowMap();
|
||||
|
||||
#ifdef FIX_POS_SYNC
|
||||
void ClientAttack(DWORD dwVID);
|
||||
void ServerAttack(DWORD dwVID);
|
||||
bool ProcessingClientAttack(DWORD dwVID);
|
||||
bool ServerAttackCameFirst(DWORD dwVID);
|
||||
#endif
|
||||
|
||||
protected:
|
||||
void __AdjustCollisionMovement(const CGraphicObjectInstance * c_pGraphicObjectInstance);
|
||||
|
||||
@@ -496,9 +515,7 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
float GetHeight();
|
||||
void ShowAllAttachingEffect();
|
||||
void HideAllAttachingEffect();
|
||||
#ifdef __ENABLE_STEALTH_FIX__ //EXP
|
||||
void HideAllAttachingEffectForEunhyeong();
|
||||
#endif
|
||||
void ClearAttachingEffect();
|
||||
|
||||
// Fishing
|
||||
@@ -605,6 +622,10 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
void __ClearCombo();
|
||||
void __OnEndCombo();
|
||||
|
||||
#ifdef FIX_POS_SYNC
|
||||
void __Push(const TPixelPosition& c_rkPPosDst, unsigned int unDuration);
|
||||
#endif
|
||||
|
||||
void __ProcessDataAttackSuccess(const NRaceData::TAttackData & c_rAttackData, CActorInstance & rVictim, const D3DXVECTOR3 & c_rv3Position, UINT uiSkill = 0, BOOL isSendPacket = TRUE);
|
||||
void __ProcessMotionEventAttackSuccess(DWORD dwMotionKey, BYTE byEventIndex, CActorInstance & rVictim);
|
||||
void __ProcessMotionAttackSuccess(DWORD dwMotionKey, CActorInstance & rVictim);
|
||||
@@ -612,7 +633,11 @@ class CActorInstance : public IActorInstance, public IFlyTargetableObject
|
||||
|
||||
void __HitStone(CActorInstance& rVictim);
|
||||
void __HitGood(CActorInstance& rVictim);
|
||||
#ifdef FIX_POS_SYNC
|
||||
void __HitGreate(CActorInstance& rVictim, UINT uiSkill);
|
||||
#else
|
||||
void __HitGreate(CActorInstance& rVictim);
|
||||
#endif
|
||||
|
||||
void __PushDirect(CActorInstance & rVictim);
|
||||
void __PushCircle(CActorInstance & rVictim);
|
||||
|
||||
@@ -580,10 +580,7 @@ void CActorInstance::ShowAllAttachingEffect()
|
||||
{
|
||||
CEffectManager::Instance().SelectEffectInstance(it->dwEffectIndex);
|
||||
CEffectManager::Instance().ShowEffect();
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
CEffectManager::Instance().ReleaseAlwaysHidden();
|
||||
//CEffectManager::Instance().Update();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -595,13 +592,10 @@ void CActorInstance::HideAllAttachingEffect()
|
||||
{
|
||||
CEffectManager::Instance().SelectEffectInstance(it->dwEffectIndex);
|
||||
CEffectManager::Instance().HideEffect();
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
CEffectManager::Instance().ApplyAlwaysHidden();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __ENABLE_STEALTH_FIX__ //EXP
|
||||
void CActorInstance::HideAllAttachingEffectForEunhyeong()
|
||||
{
|
||||
std::list<TAttachingEffect>::iterator it;
|
||||
@@ -652,7 +646,6 @@ void CActorInstance::HideAllAttachingEffectForEunhyeong()
|
||||
CEffectManager::Instance().ApplyAlwaysHidden();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void CActorInstance::__ClearAttachingEffect()
|
||||
{
|
||||
|
||||
@@ -448,11 +448,7 @@ BOOL CInstanceBase::IsMovieMode()
|
||||
|
||||
BOOL CInstanceBase::IsInvisibility()
|
||||
{
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
if (IsAffect(AFFECT_INVISIBILITY) || IsAffect(AFFECT_EUNHYEONG) || IsAffect(AFFECT_REVIVE_INVISIBILITY))
|
||||
#else
|
||||
if (IsAffect(AFFECT_INVISIBILITY))
|
||||
#endif
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -1560,7 +1556,11 @@ void CInstanceBase::StateProcess()
|
||||
SetAdvancingRotation(fRotDst);
|
||||
SetRotation(fRotDst);
|
||||
|
||||
#ifdef FIX_POS_SYNC
|
||||
NEW_UseSkill(1, eFunc& FUNC_SKILL - 1, uArg & 0x0f, (uArg >> 4) ? true : false);
|
||||
#else
|
||||
NEW_UseSkill(0, eFunc & 0x7f, uArg&0x0f, (uArg>>4) ? true : false);
|
||||
#endif
|
||||
//Tracen("가깝기 때문에 워프 공격");
|
||||
}
|
||||
}
|
||||
@@ -1738,7 +1738,11 @@ void CInstanceBase::MovementProcess()
|
||||
{
|
||||
SetAdvancingRotation(m_fDstRot);
|
||||
BlendRotation(m_fDstRot);
|
||||
#ifdef FIX_POS_SYNC
|
||||
NEW_UseSkill(1, m_kMovAfterFunc.eFunc& FUNC_SKILL - 1, m_kMovAfterFunc.uArg & 0x0f, (m_kMovAfterFunc.uArg >> 4) ? true : false);
|
||||
#else
|
||||
NEW_UseSkill(0, m_kMovAfterFunc.eFunc & 0x7f, m_kMovAfterFunc.uArg&0x0f, (m_kMovAfterFunc.uArg>>4) ? true : false);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1794,11 +1798,7 @@ void CInstanceBase::MovementProcess()
|
||||
m_GraphicThingInstance.SetRotation(fRotation);
|
||||
}
|
||||
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
if (__IsInDustRange() && !IsAffect(AFFECT_INVISIBILITY) && !IsAffect(AFFECT_EUNHYEONG) && !IsAffect(AFFECT_REVIVE_INVISIBILITY))
|
||||
#else
|
||||
if (__IsInDustRange())
|
||||
#endif
|
||||
{
|
||||
float fDustDistance = NEW_GetDistanceFromDestPixelPosition(m_kPPosDust);
|
||||
if (IsMountingHorse())
|
||||
@@ -1978,7 +1978,6 @@ void CInstanceBase::Render()
|
||||
m_kHorse.Render();
|
||||
m_GraphicThingInstance.Render();
|
||||
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
CPythonCharacterManager& rkChrMgr = CPythonCharacterManager::Instance();
|
||||
|
||||
for (auto ptr = rkChrMgr.CharacterInstanceBegin(); ptr != rkChrMgr.CharacterInstanceEnd(); ++ptr)
|
||||
@@ -1999,7 +1998,6 @@ void CInstanceBase::Render()
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (CActorInstance::IsDirLine())
|
||||
{
|
||||
|
||||
@@ -160,11 +160,7 @@ void CInstanceBase::ProcessDamage()
|
||||
|
||||
m_bDamageEffectType = !m_bDamageEffectType;
|
||||
}
|
||||
#ifdef __ENABLE_STEALTH_FIX__ //EXP
|
||||
else if (!bTarget || ((IsAffect(AFFECT_INVISIBILITY) || IsAffect(AFFECT_EUNHYEONG)) && bTarget))
|
||||
#else
|
||||
else if (bTarget == false)
|
||||
#endif
|
||||
{
|
||||
strDamageType = "nontarget_";
|
||||
rdwCRCEft = EFFECT_DAMAGE_NOT_TARGET;
|
||||
@@ -802,31 +798,23 @@ void CInstanceBase::__SetReviveInvisibilityAffect(bool isVisible)
|
||||
if (IsWearingDress())
|
||||
return;
|
||||
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
if (__IsMainInstance() || __MainCanSeeHiddenThing())
|
||||
{
|
||||
#endif
|
||||
m_GraphicThingInstance.BlendAlphaValue(0.5f, 1.0f);
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
}
|
||||
else
|
||||
{
|
||||
m_GraphicThingInstance.BlendAlphaValue(0.0f, 1.0f);
|
||||
m_GraphicThingInstance.HideAllAttachingEffect();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
if (!IsAffect(AFFECT_EUNHYEONG) && !IsAffect(AFFECT_INVISIBILITY))
|
||||
{
|
||||
#endif
|
||||
m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
m_GraphicThingInstance.ShowAllAttachingEffect();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -846,26 +834,20 @@ void CInstanceBase::__Assassin_SetEunhyeongAffect(bool isVisible)
|
||||
{
|
||||
// 2004.10.16.myevan.은형법 완전 투명
|
||||
m_GraphicThingInstance.BlendAlphaValue(0.0f, 1.0f);
|
||||
#ifdef __ENABLE_STEALTH_FIX__ //EXP
|
||||
if (!IsAffect(AFFECT_INVISIBILITY) && !IsAffect(AFFECT_REVIVE_INVISIBILITY))
|
||||
m_GraphicThingInstance.HideAllAttachingEffectForEunhyeong();
|
||||
else
|
||||
#endif
|
||||
m_GraphicThingInstance.HideAllAttachingEffect();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
if (!IsAffect(AFFECT_REVIVE_INVISIBILITY) && !IsAffect(AFFECT_INVISIBILITY))
|
||||
{
|
||||
#endif
|
||||
m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
|
||||
m_GraphicThingInstance.ShowAllAttachingEffect();
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
ProcessDamage();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -944,11 +926,7 @@ void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
|
||||
return;
|
||||
break;
|
||||
case AFFECT_REVIVE_INVISIBILITY:
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
__SetReviveInvisibilityAffect(isVisible);
|
||||
#else
|
||||
__Assassin_SetEunhyeongAffect(isVisible);
|
||||
#endif
|
||||
break;
|
||||
case AFFECT_EUNHYEONG:
|
||||
__Assassin_SetEunhyeongAffect(isVisible);
|
||||
@@ -964,28 +942,16 @@ void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
|
||||
// 2004.07.17.levites.isShow를 ViewFrustumCheck로 변경
|
||||
if (isVisible)
|
||||
{
|
||||
#ifndef __ENABLE_STEALTH_FIX__
|
||||
m_GraphicThingInstance.ClearAttachingEffect();
|
||||
__EffectContainer_Destroy();
|
||||
DetachTextTail();
|
||||
#else
|
||||
m_GraphicThingInstance.HideAllAttachingEffect();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef __ENABLE_STEALTH_FIX__
|
||||
if (!IsAffect(AFFECT_EUNHYEONG) && !IsAffect(AFFECT_REVIVE_INVISIBILITY))
|
||||
{
|
||||
m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
|
||||
m_GraphicThingInstance.ShowAllAttachingEffect();
|
||||
ProcessDamage();
|
||||
}
|
||||
#else
|
||||
m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
|
||||
AttachTextTail();
|
||||
RefreshTextTail();
|
||||
#endif
|
||||
}
|
||||
return;
|
||||
break;
|
||||
|
||||
@@ -6,12 +6,3 @@
|
||||
#define ENABLE_DRAGON_SOUL_SYSTEM
|
||||
#define ENABLE_NEW_EQUIPMENT_SYSTEM
|
||||
//#define ENABLE_DISCORD_RPC
|
||||
|
||||
#define FIX_SEQ_254
|
||||
#define __ENABLE_STEALTH_FIX__
|
||||
#define __BL_LEVEL_FIX__
|
||||
// #define FIX_POS_SYNC
|
||||
// #define TW1X1_TEST
|
||||
|
||||
// Python-only
|
||||
#define FIX_HORSE_SKILLS_TAB
|
||||
|
||||
@@ -662,14 +662,10 @@ bool CPythonNetworkStream::RecvPingPacket()
|
||||
if (!Send(sizeof(TPacketCGPong), &kPacketPong))
|
||||
return false;
|
||||
|
||||
#ifdef FIX_SEQ_254
|
||||
return SendSequence();
|
||||
#else
|
||||
if (IsSecurityMode())
|
||||
return SendSequence();
|
||||
else
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool CPythonNetworkStream::RecvDefaultPacket(int header)
|
||||
|
||||
Reference in New Issue
Block a user