xranzei 1
xranzei
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle

Altın Konu Extended Affect Flags

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Daha önce paylaşıldıysa RAPOR butonunu kullanarak bildirebilirsiniz.
Sistem bana ait değildir, yabancı forumdan alıntıdır.

Başlıktan da anlaşılacağı gibi, aşağıdaki değişiklikler etki bayrakları sınırını 64'ten 96'ya çıkaracaktır.

Server taraflı uygulanacak değişiklikler;
common/service.h
Kod:
/// 1.
// Add
#define __EXTENDED_AFFECT_FLAG__

game/src/affect_flag.h
Kod:
/// 1.
// Search
    DWORD bits[2];

    inline TAffectFlag() { bits[0] = 0; bits[1] = 0; }
    inline TAffectFlag(DWORD v1, DWORD v2 = 0) { bits[0] = v1; bits[1] = v2; }

// Replace with
#if defined(__EXTENDED_AFFECT_FLAG__)
    DWORD bits[3];

    inline TAffectFlag() { bits[0] = 0; bits[1] = 0; bits[2] = 0; }
    inline TAffectFlag(DWORD v1, DWORD v2 = 0, DWORD v3 = 0) { bits[0] = v1; bits[1] = v2; bits[2] = v3; }
#else
    DWORD bits[2];

    inline TAffectFlag() { bits[0] = 0; bits[1] = 0; }
    inline TAffectFlag(DWORD v1, DWORD v2 = 0) { bits[0] = v1; bits[1] = v2; }
#endif

/// 2.
// Search
        bits[0] = rhs.bits[0];
        bits[1] = rhs.bits[1];

// Add below
#if defined(__EXTENDED_AFFECT_FLAG__)
        bits[2] = rhs.bits[2];
#endif

/// 3.
// Search
    return lhs.bits[0] == rhs.bits[0] && lhs.bits[1] == rhs.bits[1];

// Replace with
#if defined(__EXTENDED_AFFECT_FLAG__)
    return lhs.bits[0] == rhs.bits[0] && lhs.bits[1] == rhs.bits[1] && lhs.bits[2] == rhs.bits[2];
#else
    return lhs.bits[0] == rhs.bits[0] && lhs.bits[1] == rhs.bits[1];
#endif

game/src/building.cpp
Kod:
/// 1.
// Search @ CObject::EncodeInsertPacket
    pack.dwAffectFlag[0] = unsigned(m_data.xRot);
    pack.dwAffectFlag[1] = unsigned(m_data.yRot);

// Add below
#if defined(__EXTENDED_AFFECT_FLAG__)
    pack.dwAffectFlag[2] = unsigned(m_data.zRot);
#endif

game/src/char.cpp
Kod:
/// 1.
// Search @ CHARACTER::EncodeInsertPacket
    pack.dwAffectFlag[0] = m_afAffectFlag.bits[0];
    pack.dwAffectFlag[1] = m_afAffectFlag.bits[1];

// Add below
#if defined(__EXTENDED_AFFECT_FLAG__)
    pack.dwAffectFlag[2] = m_afAffectFlag.bits[2];
#endif

/// 2.
// Search @ CHARACTER::UpdatePacket
    pack.dwAffectFlag[0] = m_afAffectFlag.bits[0];
    pack.dwAffectFlag[1] = m_afAffectFlag.bits[1];

// Add below
#if defined(__EXTENDED_AFFECT_FLAG__)
    pack.dwAffectFlag[2] = m_afAffectFlag.bits[2];
#endif

game/src/packet.h
Kod:
/// 1.
// Search @ struct packet_add_char
    DWORD dwAffectFlag[2];

// Replace with
#if defined(__EXTENDED_AFFECT_FLAG__)
    DWORD dwAffectFlag[3];
#else
    DWORD dwAffectFlag[2];
#endif

/// 2.
// Search @ struct packet_update_char
    DWORD dwAffectFlag[2];

// Replace with
#if defined(__EXTENDED_AFFECT_FLAG__)
    DWORD dwAffectFlag[3];
#else
    DWORD dwAffectFlag[2];
#endif

Client taraflı uygulanacak değişiklikler;

UserInterface/Locale_inc.h
Kod:
/// 1.
// Add
#define ENABLE_EXTENDED_AFFECT_FLAG

UserInterface/AffectFlagContainer.h
Kod:
/// 1.
// Search
        BIT_SIZE = 64,

// Replace with
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
        BIT_SIZE = 96,
#else
        BIT_SIZE = 64,
#endif

UserInterface/Packet.h
Kod:
/// 1.
// Search @ struct packet_add_char
    DWORD dwAffectFlag[2];

// Replace with
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    DWORD dwAffectFlag[3];
#else
    DWORD dwAffectFlag[2];
#endif

/// 2.
// Search @ struct packet_add_char2
    DWORD dwAffectFlag[2];

// Replace with
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    DWORD dwAffectFlag[3];
#else
    DWORD dwAffectFlag[2];
#endif

/// 3.
// Search @ struct packet_update_char
    DWORD dwAffectFlag[2];

// Replace with
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    DWORD dwAffectFlag[3];
#else
    DWORD dwAffectFlag[2];
#endif

/// 4.
// Search @ struct packet_update_char2
    DWORD dwAffectFlag[2];

// Replace with
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    DWORD dwAffectFlag[3];
#else
    DWORD dwAffectFlag[2];
#endif

UserInterface/PythonNetworkStreamPhaseGameActor.cpp
Kod:
/// 1.
// Search @ CPythonNetworkStream::RecvCharacterAppendPacket
    kNetActorData.m_kAffectFlags.CopyData(32, sizeof(chrAddPacket.dwAffectFlag[1]), &chrAddPacket.dwAffectFlag[1]);

// Add below
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    kNetActorData.m_kAffectFlags.CopyData(64, sizeof(chrAddPacket.dwAffectFlag[2]), &chrAddPacket.dwAffectFlag[2]);
#endif

/// 2.
// Search @ CPythonNetworkStream::RecvCharacterAppendPacketNew
    kNetActorData.m_kAffectFlags.CopyData(32, sizeof(chrAddPacket.dwAffectFlag[1]), &chrAddPacket.dwAffectFlag[1]);

// Add below
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    kNetActorData.m_kAffectFlags.CopyData(64, sizeof(chrAddPacket.dwAffectFlag[2]), &chrAddPacket.dwAffectFlag[2]);
#endif

/// 3.
// Search @ CPythonNetworkStream::RecvCharacterUpdatePacket
    kNetUpdateActorData.m_kAffectFlags.CopyData(32, sizeof(chrUpdatePacket.dwAffectFlag[1]), &chrUpdatePacket.dwAffectFlag[1]);

// Add below
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    kNetUpdateActorData.m_kAffectFlags.CopyData(64, sizeof(chrUpdatePacket.dwAffectFlag[2]), &chrUpdatePacket.dwAffectFlag[2]);
#endif

/// 4.
// Search @ CPythonNetworkStream::RecvCharacterUpdatePacketNew
    kNetUpdateActorData.m_kAffectFlags.CopyData(32, sizeof(chrUpdatePacket.dwAffectFlag[1]), &chrUpdatePacket.dwAffectFlag[1]);

// Add below
#if defined(ENABLE_EXTENDED_AFFECT_FLAG)
    kNetUpdateActorData.m_kAffectFlags.CopyData(64, sizeof(chrUpdatePacket.dwAffectFlag[2]), &chrUpdatePacket.dwAffectFlag[2]);
#endif
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst