From e3ae5541ba56d1429a8d04c210d09d91ed61912c Mon Sep 17 00:00:00 2001 From: Mind Rapist Date: Sun, 14 Dec 2025 06:39:06 +0200 Subject: [PATCH] MRMJ-1: Messenger & Skills fixes --- src/GameLib/ActorInstance.h | 27 ---- src/GameLib/ActorInstanceBattle.cpp | 119 +----------------- src/GameLib/PhysicsObject.cpp | 27 ---- src/GameLib/PhysicsObject.h | 11 +- src/UserInterface/InstanceBase.cpp | 8 -- src/UserInterface/InstanceBase.h | 5 - src/UserInterface/InstanceBaseBattle.cpp | 12 -- src/UserInterface/Locale_inc.h | 1 - src/UserInterface/NetworkActorManager.cpp | 35 ------ src/UserInterface/NetworkActorManager.h | 4 - src/UserInterface/Packet.h | 22 ---- src/UserInterface/PythonNetworkStream.h | 11 -- .../PythonNetworkStreamPhaseGame.cpp | 52 -------- .../PythonPlayerEventHandler.cpp | 20 --- src/UserInterface/PythonPlayerEventHandler.h | 4 - 15 files changed, 6 insertions(+), 352 deletions(-) diff --git a/src/GameLib/ActorInstance.h b/src/GameLib/ActorInstance.h index dbc8d71..dc49f3d 100644 --- a/src/GameLib/ActorInstance.h +++ b/src/GameLib/ActorInstance.h @@ -362,22 +362,10 @@ 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); @@ -491,13 +479,6 @@ 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); @@ -624,10 +605,6 @@ 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); @@ -635,11 +612,7 @@ 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); diff --git a/src/GameLib/ActorInstanceBattle.cpp b/src/GameLib/ActorInstanceBattle.cpp index 326f0ce..6f236e7 100644 --- a/src/GameLib/ActorInstanceBattle.cpp +++ b/src/GameLib/ActorInstanceBattle.cpp @@ -314,76 +314,6 @@ void CActorInstance::__ClearCombo() m_pkCurRaceMotionData = NULL; } -#ifdef FIX_POS_SYNC -void CActorInstance::__Push(const TPixelPosition& c_rkPPosDst, unsigned int unDuration) -{ - DWORD dwVID = GetVirtualID(); - Tracenf("VID %d SyncPixelPosition %f %f", dwVID, c_rkPPosDst.x, c_rkPPosDst.y); - - if (unDuration == 0) - unDuration = 1000; - - const D3DXVECTOR3& c_rv3Src = GetPosition(); - const D3DXVECTOR3 c_v3Delta = c_rkPPosDst - c_rv3Src; - - SetBlendingPosition(c_rkPPostDst, float(unDuration) / 1000); - - if (!IsUsingSkill() && !IsResistFallen()) - { - int len = sqrt(c_v3Delta.x * c_v3Delta.x + c_v3Delta.y * c_v3Delta.y); - if (len > 150.0f) - { - InterceptOnceMotion(CRaceMotionData::NAME_DAMAGE_FLYING); - PushOnceMotion(CRaceMotionData::NAME_STAND_UP); - } - } -} - -void CActorInstance::ClientAttack(DWORD dwVID) -{ - if (m_mapAttackSync.find(dwVID) == m_mapAttackSync.end()) { - m_mapAttackSync.insert(std::make_pair(dwVID, -1)); - } - else - { - if (m_mapAttackSync[dwVID] == 1) - { - m_mapAttackSync.erase(dwVID); - return; - } - m_mapAttackSync[dwVID]--; - } -} - -// server attack increases -void CActorInstance::ServerAttack(DWORD dwVID) -{ - if (m_mapAttackSync.find(dwVID) == m_mapAttackSync.end()) { - m_mapAttackSync.insert(std::make_pair(dwVID, 1)); - } - else - { - if (m_mapAttackSync[dwVID] == -1) - { - m_mapAttackSync.erase(dwVID); - return; - } - m_mapAttackSync[dwVID]++; - } -} - -bool CActorInstance::ProcessingClientAttack(DWORD dwVID) -{ - return m_mapAttackSync.find(dwVID) != m_mapAttackSync.end() && m_mapAttackSync[dwVID] < 0; -} - -// -bool CActorInstance::ServerAttackCameFirst(DWORD dwVID) -{ - return m_mapAttackSync.find(dwVID) != m_mapAttackSync.end() && m_mapAttackSync[dwVID] > 0; -} -#endif - //////////////////////////////////////////////////////////////////////////////////////////////////////// BOOL CActorInstance::isAttacking() @@ -680,33 +610,14 @@ void CActorInstance::__ProcessDataAttackSuccess(const NRaceData::TAttackData & c InsertDelay(c_rAttackData.fStiffenTime); -#ifdef FIX_POS_SYNC - BlendingPosition sBlending; - memset(&sBlending, 0, sizeof(sBlending)); - sBlending.source = rVictim.NEW_GetCurPixelPositionRef(); -#endif - if (__CanPushDestActor(rVictim) && c_rAttackData.fExternalForce > 0.0f) { -#ifdef FIX_POS_SYNC - const bool bServerAttackAlreadyCame = rVictim.ServerAttackCameFirst(GetVirtualID()); - rVictim.ClientAttack(GetVirtualID()); + __PushCircle(rVictim); - if (!bServerAttackAlreadyCame) - { -#endif - __PushCircle(rVictim); - - // VICTIM_COLLISION_TEST - const D3DXVECTOR3& kVictimPos = rVictim.GetPosition(); - rVictim.m_PhysicsObject.IncreaseExternalForce(kVictimPos, c_rAttackData.fExternalForce); //*nForceRatio/100.0f); - // VICTIM_COLLISION_TEST_END - -#ifdef FIX_POS_SYNC - rVictim.GetBlendingPosition(&(sBlending.dest)); - sBlending.duration = rVictim.m_PhysicsObject.GetRemainingTime(); - } -#endif + // VICTIM_COLLISION_TEST + const D3DXVECTOR3& kVictimPos = rVictim.GetPosition(); + rVictim.m_PhysicsObject.IncreaseExternalForce(kVictimPos, c_rAttackData.fExternalForce); //*nForceRatio/100.0f); + // VICTIM_COLLISION_TEST_END } // Invisible Time @@ -778,11 +689,7 @@ void CActorInstance::__ProcessDataAttackSuccess(const NRaceData::TAttackData & c } else if (NRaceData::HIT_TYPE_GREAT == c_rAttackData.iHittingType) { -#ifdef FIX_POS_SYNC - __HitGreate(rVictim, uiSkill); -#else __HitGreate(rVictim); -#endif } else { @@ -912,18 +819,10 @@ void CActorInstance::__HitGood(CActorInstance& rVictim) } } -#ifdef FIX_POS_SYNC -void CActorInstance::__HitGreate(CActorInstance& rVictim, UINT uiSkill) -#else void CActorInstance::__HitGreate(CActorInstance& rVictim) -#endif { // DISABLE_KNOCKDOWN_ATTACK -#ifdef FIX_POS_SYNC - if (!uiSkill && rVictim.IsKnockDown()) -#else if (rVictim.IsKnockDown()) -#endif return; if (rVictim.__IsStandUpMotion()) return; @@ -1007,24 +906,16 @@ void CActorInstance::GetBlendingPosition(TPixelPosition * pPosition) { if (m_PhysicsObject.isBlending()) { -#ifdef FIX_POS_SYNC - m_PhysicsObject.GetFinalPosition(pPosition); -#else m_PhysicsObject.GetLastPosition(pPosition); pPosition->x += m_x; pPosition->y += m_y; pPosition->z += m_z; -#endif } else { -#ifdef FIX_POS_SYNC - GetPixelPosition(pPosition); -#else pPosition->x = m_x; pPosition->y = m_y; pPosition->z = m_z; -#endif } } diff --git a/src/GameLib/PhysicsObject.cpp b/src/GameLib/PhysicsObject.cpp index e3f1744..ab2fa8f 100644 --- a/src/GameLib/PhysicsObject.cpp +++ b/src/GameLib/PhysicsObject.cpp @@ -107,32 +107,6 @@ void CPhysicsObject::IncreaseExternalForce(const D3DXVECTOR3 & c_rvBasePosition, } } -#ifdef FIX_POS_SYNC -void CPhysicsObject::SetLastPosition(const TPixelPosition& c_rPosition, const TPixelPosition& c_rDeltaPosition, float fBlendingTime) -{ - m_v3FinalPosition.x = float(c_rPosition.x + c_rDeltaPosition.x); - m_v3FinalPosition.y = float(c_rPosition.y + c_rDeltaPosition.y); - m_v3FinalPosition.z = float(c_rPosition.z + c_rDeltaPosition.z); - m_v3DeltaPosition.x = float(c_rDeltaPosition.x); - m_v3DeltaPosition.y = float(c_rDeltaPosition.y); - m_v3DeltaPosition.z = float(c_rDeltaPosition.z); - m_xPushingPosition.Setup(0.0f, c_rDeltaPosition.x, fBlendingTime); - m_yPushingPosition.Setup(0.0f, c_rDeltaPosition.y, fBlendingTime); -} -void CPhysicsObject::GetFinalPosition(TPixelPosition* pPosition) -{ - pPosition->x = (m_v3FinalPosition.x); - pPosition->y = (m_v3FinalPosition.y); - pPosition->z = (m_v3FinalPosition.z); -} - -void CPhysicsObject::GetDeltaPosition(TPixelPosition* pPosition) -{ - pPosition->x = (m_v3DeltaPosition.x); - pPosition->y = (m_v3DeltaPosition.y); - pPosition->z = (m_v3DeltaPosition.z); -} -#else void CPhysicsObject::SetLastPosition(const TPixelPosition & c_rPosition, float fBlendingTime) { m_v3LastPosition.x = float(c_rPosition.x); @@ -141,7 +115,6 @@ void CPhysicsObject::SetLastPosition(const TPixelPosition & c_rPosition, float f m_xPushingPosition.Setup(0.0f, c_rPosition.x, fBlendingTime); m_yPushingPosition.Setup(0.0f, c_rPosition.y, fBlendingTime); } -#endif void CPhysicsObject::GetLastPosition(TPixelPosition * pPosition) { diff --git a/src/GameLib/PhysicsObject.h b/src/GameLib/PhysicsObject.h index 62f30fb..4a69ce0 100644 --- a/src/GameLib/PhysicsObject.h +++ b/src/GameLib/PhysicsObject.h @@ -71,13 +71,7 @@ class CPhysicsObject void SetDirection(const D3DXVECTOR3 & c_rv3Direction); void IncreaseExternalForce(const D3DXVECTOR3 & c_rvBasePosition, float fForce); -#ifdef FIX_POS_SYNC - void SetLastPosition(const TPixelPosition& c_rPosition, const TPixelPosition& c_rDeltaPosition, float fBlendingTime); - void GetFinalPosition(TPixelPosition* pPosition); - void GetDeltaPosition(TPixelPosition* pPosition); -#else void SetLastPosition(const TPixelPosition& c_rPosition, float fBlendingTime); -#endif void GetLastPosition(TPixelPosition * pPosition); float GetXMovement(); @@ -98,10 +92,7 @@ class CPhysicsObject D3DXVECTOR3 m_v3Velocity; D3DXVECTOR3 m_v3LastPosition; -#ifdef FIX_POS_SYNC - D3DXVECTOR3 m_v3FinalPosition; - D3DXVECTOR3 m_v3DeltaPosition; -#endif + CEaseOutInterpolation m_xPushingPosition; CEaseOutInterpolation m_yPushingPosition; diff --git a/src/UserInterface/InstanceBase.cpp b/src/UserInterface/InstanceBase.cpp index 498da52..0537f24 100644 --- a/src/UserInterface/InstanceBase.cpp +++ b/src/UserInterface/InstanceBase.cpp @@ -1560,11 +1560,7 @@ 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("가깝기 때문에 워프 공격"); } } @@ -1742,11 +1738,7 @@ 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 { diff --git a/src/UserInterface/InstanceBase.h b/src/UserInterface/InstanceBase.h index 18de58d..cf2418a 100644 --- a/src/UserInterface/InstanceBase.h +++ b/src/UserInterface/InstanceBase.h @@ -633,11 +633,6 @@ class CInstanceBase bool NEW_AttackToDestInstanceDirection(CInstanceBase& rkInstDst, IFlyEventHandler* pkFlyHandler); bool NEW_AttackToDestInstanceDirection(CInstanceBase& rkInstDst); -#ifdef FIX_POS_SYNC - void ServerAttack(DWORD dwVID); - bool ProcessingClientAttack(DWORD dwVID); -#endif - bool NEW_MoveToDestPixelPositionDirection(const TPixelPosition& c_rkPPosDst); void NEW_MoveToDestInstanceDirection(CInstanceBase& rkInstDst); void NEW_MoveToDirection(float fDirRot); diff --git a/src/UserInterface/InstanceBaseBattle.cpp b/src/UserInterface/InstanceBaseBattle.cpp index d768ab7..ba810ed 100644 --- a/src/UserInterface/InstanceBaseBattle.cpp +++ b/src/UserInterface/InstanceBaseBattle.cpp @@ -410,18 +410,6 @@ bool CInstanceBase::NEW_AttackToDestInstanceDirection(CInstanceBase& rkInstDst) return true; } -#ifdef FIX_POS_SYNC -void CInstanceBase::ServerAttack(DWORD dwVID) -{ - m_GraphicThingInstance.ServerAttack(dwVID); -} - -bool CInstanceBase::ProcessingClientAttack(DWORD dwVID) -{ - return m_GraphicThingInstance.ProcessingClientAttack(dwVID); -} -#endif - void CInstanceBase::AttackProcess() { if (!m_GraphicThingInstance.CanCheckAttacking()) diff --git a/src/UserInterface/Locale_inc.h b/src/UserInterface/Locale_inc.h index dd635cd..9c2653c 100644 --- a/src/UserInterface/Locale_inc.h +++ b/src/UserInterface/Locale_inc.h @@ -13,7 +13,6 @@ #define FIX_SEQ_254 #define CHAR_SELECT_STATS_IMPROVEMENT // Improve stats values in character select screen #define __ENABLE_STEALTH_FIX__ -//#define FIX_POS_SYNC // Python-only #define FIX_HORSE_SKILLS_TAB diff --git a/src/UserInterface/NetworkActorManager.cpp b/src/UserInterface/NetworkActorManager.cpp index e87b27f..7b7806c 100644 --- a/src/UserInterface/NetworkActorManager.cpp +++ b/src/UserInterface/NetworkActorManager.cpp @@ -536,41 +536,6 @@ void CNetworkActorManager::MoveActor(const SNetworkMoveActorData& c_rkNetMoveAct rkNetActorData.m_fRot=c_rkNetMoveActorData.m_fRot; } -#ifdef FIX_POS_SYNC -void CNetworkActorManager::AttackActor(DWORD dwVID, DWORD dwAttacakerVID, LONG lDestPosX, LONG lDestPosY, const TPixelPosition& k_pSyncPos, DWORD dwBlendDuration) -{ - std::map::iterator f = m_kNetActorDict.find(dwVID); - if (m_kNetActorDict.end() == f) - { - return; - } - - SNetworkActorData& rkNetActorData = f->second; - - if (k_pSyncPos.x && k_pSyncPos.y) { - CInstanceBase* pkInstFind = __FindActor(rkNetActorData); - - if (pkInstFind) - { - const bool bProcessingClientAttack = pkInstFind->ProcessingClientAttack(dwAttacakerVID); - pkInstFind->ServerAttack(dwAttacakerVID); - - // if already blending, update - if (bProcessingClientAttack && pkInstFind->IsPushing() && pkInstFind->GetBlendingRemainTime() > 0.15) { - pkInstFind->SetBlendingPosition(k_pSyncPos, pkInstFind->GetBlendingRemainTime()); - } - else { - // otherwise sync - //pkInstFind->SCRIPT_SetPixelPosition(k_pSyncPos.x, k_pSyncPos.y); - pkInstFind->NEW_SyncPixelPosition(k_pSyncPos, dwBlendDuration); - } - } - - rkNetActorData.SetPosition(long(k_pSyncPos.x), long(k_pSyncPos.y)); - } -} -#endif - void CNetworkActorManager::SyncActor(DWORD dwVID, LONG lPosX, LONG lPosY) { std::map::iterator f=m_kNetActorDict.find(dwVID); diff --git a/src/UserInterface/NetworkActorManager.h b/src/UserInterface/NetworkActorManager.h index 4168e7c..577feba 100644 --- a/src/UserInterface/NetworkActorManager.h +++ b/src/UserInterface/NetworkActorManager.h @@ -127,10 +127,6 @@ class CNetworkActorManager : public CReferenceObject void UpdateActor(const SNetworkUpdateActorData& c_rkNetUpdateActorData); void MoveActor(const SNetworkMoveActorData& c_rkNetMoveActorData); -#ifdef FIX_POS_SYNC - void AttackActor(DWORD dwVID, DWORD dwAttacakerVID, LONG lDestPosX, LONG lDestPosY, const TPixelPosition& k_pSyncPos, DWORD dwBlendDuration); -#endif - void SyncActor(DWORD dwVID, LONG lPosX, LONG lPosY); void SetActorOwner(DWORD dwOwnerVID, DWORD dwVictimVID); diff --git a/src/UserInterface/Packet.h b/src/UserInterface/Packet.h index 67c2413..9d7f5de 100644 --- a/src/UserInterface/Packet.h +++ b/src/UserInterface/Packet.h @@ -516,18 +516,6 @@ typedef struct command_attack uint32_t dwVictimVID; // 적 VID uint8_t bCRCMagicCubeProcPiece; uint8_t bCRCMagicCubeFilePiece; -#ifdef FIX_POS_SYNC - BOOL bPacket; - LONG lSX; - LONG lSY; - LONG lX; - LONG lY; - float fSyncDestX; - float fSyncDestY; - DWORD dwBlendDuration; - DWORD dwComboMotion; - DWORD dwTime; -#endif } TPacketCGAttack; typedef struct command_chat @@ -1882,16 +1870,6 @@ typedef struct packet_attack uint32_t dwVID; uint32_t dwVictimVID; // 적 VID uint8_t bType; // 공격 유형 -#ifdef FIX_POS_SYNC - BOOL bPacket; - LONG lSX; - LONG lSY; - LONG lX; - LONG lY; - float fSyncDestX; - float fSyncDestY; - DWORD dwBlendDuration; -#endif } TPacketGCAttack; typedef struct packet_c2c diff --git a/src/UserInterface/PythonNetworkStream.h b/src/UserInterface/PythonNetworkStream.h index 66b0c09..7568c6f 100644 --- a/src/UserInterface/PythonNetworkStream.h +++ b/src/UserInterface/PythonNetworkStream.h @@ -8,10 +8,6 @@ #include "packet.h" -#ifdef FIX_POS_SYNC -#include -#endif - class CInstanceBase; class CNetworkActorManager; struct SNetworkActorData; @@ -140,11 +136,7 @@ class CPythonNetworkStream : public CNetworkStream, public CSingletonAttackActor(kPacket.dwVID, kPacket.dwVictimVID, kPacket.lX, kPacket.lY, tSyncPosition, kPacket.dwBlendDuration); - - return true; -} -#endif - bool CPythonNetworkStream::RecvTargetPacket() { TPacketGCTarget TargetPacket; @@ -2544,20 +2520,11 @@ bool CPythonNetworkStream::RecvChangeSpeedPacket() /////////////////////////////////////////////////////////////////////////////////////////////////// // Recv -#ifdef FIX_POS_SYNC -bool CPythonNetworkStream::SendAttackPacket(UINT uMotAttack, DWORD dwVIDVictim, BOOL bPacket, CActorInstance::BlendingPosition& sBlending) -#else bool CPythonNetworkStream::SendAttackPacket(UINT uMotAttack, DWORD dwVIDVictim) -#endif { if (!__CanActMainInstance()) return true; -#ifdef FIX_POS_SYNC - CPythonCharacterManager& rkChrMgr = CPythonCharacterManager::Instance(); - CInstanceBase* pkInstMain = rkChrMgr.GetMainInstancePtr(); -#endif - #ifdef ATTACK_TIME_LOG static DWORD prevTime = timeGetTime(); DWORD curTime = timeGetTime(); @@ -2570,25 +2537,6 @@ bool CPythonNetworkStream::SendAttackPacket(UINT uMotAttack, DWORD dwVIDVictim) kPacketAtk.header = HEADER_CG_ATTACK; kPacketAtk.bType = uMotAttack; kPacketAtk.dwVictimVID = dwVIDVictim; -#ifdef FIX_POS_SYNC - kPacketAtk.bPacket = bPacket; - kPacketAtk.lX = (long)sBlending.dest.x; - kPacketAtk.lY = (long)sBlending.dest.y; - kPacketAtk.lSX = (long)sBlending.source.x; - kPacketAtk.lSY = (long)sBlending.source.y; - kPacketAtk.fSyncDestX = sBlending.dest.x; - // sources and dest are normalized with both coordinates positive - // since fSync are ment to be broadcasted to other clients, the Y has to preserve the negative coord - kPacketAtk.fSyncDestY = -sBlending.dest.y; - kPacketAtk.dwBlendDuration = (unsigned int)(sBlending.duration * 1000); - kPacketAtk.dwComboMotion = pkInstMain->GetComboMotion(); - kPacketAtk.dwTime = ELTimer_GetServerMSec(); - - if (kPacketAtk.lX && kPacketAtk.lY) - __LocalPositionToGlobalPosition(kPacketAtk.lX, kPacketAtk.lY); - - __LocalPositionToGlobalPosition(kPacketAtk.lSX, kPacketAtk.lSY); -#endif if (!SendSpecial(sizeof(kPacketAtk), &kPacketAtk)) { diff --git a/src/UserInterface/PythonPlayerEventHandler.cpp b/src/UserInterface/PythonPlayerEventHandler.cpp index 067402b..676caad 100644 --- a/src/UserInterface/PythonPlayerEventHandler.cpp +++ b/src/UserInterface/PythonPlayerEventHandler.cpp @@ -132,26 +132,10 @@ void CPythonPlayerEventHandler::OnChangeShape() CPythonPlayer::Instance().NEW_Stop(); } -#ifdef FIX_POS_SYNC -void CPythonPlayerEventHandler::OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket, CActorInstance::BlendingPosition* sBlending) -#else void CPythonPlayerEventHandler::OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket) -#endif { DWORD dwVIDVictim=rkActorVictim.GetVirtualID(); -#ifdef FIX_POS_SYNC - CPythonCharacterManager::Instance().AdjustCollisionWithOtherObjects(&rkActorVictim); - CActorInstance::BlendingPosition kBlendingPacket; - memset(&kBlendingPacket, 0, sizeof(kBlendingPacket)); - - kBlendingPacket.source = rkActorVictim.NEW_GetCurPixelPositionRef(); - if (rkActorVictim.IsPushing()) { - kBlendingPacket.dest = rkActorVictim.NEW_GetLastPixelPositionRef(); - kBlendingPacket.duration = sBlending->duration; - } -#endif - // Update Target CPythonPlayer::Instance().SetTarget(dwVIDVictim, FALSE); // Update Target @@ -181,11 +165,7 @@ void CPythonPlayerEventHandler::OnHit(UINT uSkill, CActorInstance& rkActorVictim s_prevTimed[dwVIDVictim] = curTime; #endif CPythonNetworkStream& rkStream=CPythonNetworkStream::Instance(); -#ifdef FIX_POS_SYNC - rkStream.SendAttackPacket(uSkill, dwVIDVictim, isSendPacket, kBlendingPacket); -#else rkStream.SendAttackPacket(uSkill, dwVIDVictim); -#endif } if (!rkActorVictim.IsPushing()) diff --git a/src/UserInterface/PythonPlayerEventHandler.h b/src/UserInterface/PythonPlayerEventHandler.h index ad0902a..ca24462 100644 --- a/src/UserInterface/PythonPlayerEventHandler.h +++ b/src/UserInterface/PythonPlayerEventHandler.h @@ -27,11 +27,7 @@ class CPythonPlayerEventHandler : public CActorInstance::IEventHandler virtual void OnUseSkill(const SState& c_rkState, UINT uMotSkill, UINT uArg); virtual void OnUpdate(); virtual void OnChangeShape(); -#ifdef FIX_POS_SYNC - virtual void OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket, CActorInstance::BlendingPosition* sBlending); -#else virtual void OnHit(UINT uSkill, CActorInstance& rkActorVictim, BOOL isSendPacket); -#endif void FlushVictimList();