Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Копаем клиент (http://mangos.ytdb.ru/forumdisplay.php?f=35)
-   -   Гуиды (http://mangos.ytdb.ru/showthread.php?t=7900)

SeT 15.03.2014 04:07

Гуиды
 
Давно хотел спросить, кто может подсказать, почему с версии 4.х так странно читаются\пишутся гуиды?

например (TC):
Код:

    uint8 bitOrder[8] = {2, 3, 7, 4, 0, 5, 6, 1};
    recvData.ReadBitInOrder(guid, bitOrder);

    uint8 byteOrder[8] = {0, 2, 6, 1, 7, 3, 4, 5};
    recvData.ReadBytesSeq(guid, byteOrder);

Причём между битами, может происходить чтение других данных. Зачем такие сложности сделали близы? Почему для каждого опкода свой порядок чтения гуида?

Lordronn 15.03.2014 13:13

А зачем солдату подметать плац фомкой? Чтобы задолбаться

mityada 15.03.2014 16:56

Да что гуиды? В SMSG_UPDATE_OBJECT вообще все данные о движении в хрен знает каком порядке идут. И видимо этот порядок еще периодически меняется.

SeT 15.03.2014 17:02

Цитата:

Сообщение от Lordronn (Сообщение 32568)
А зачем солдату подметать плац фомкой? Чтобы задолбаться

А близы сами не задалбливаются менять и поддерживать это в актуальном состоянии (между сервером и клиентом)? Может есть какая то рациональная причина.

TOM_RUS 15.03.2014 18:07

Цитата:

Сообщение от SeT (Сообщение 32570)
А близы сами не задалбливаются менять и поддерживать это в актуальном состоянии (между сервером и клиентом)? Может есть какая то рациональная причина.

А вам не приходило в голову что этот код генерируется автоматически?

SeT 15.03.2014 20:10

Цитата:

Сообщение от TOM_RUS (Сообщение 32571)
А вам не приходило в голову что этот код генерируется автоматически?

Приходило, но зачем, что это дает, кроме запутывания нас.

То-есть это все же случайный порядок последовательности, который ни от чего не зависит?

RomanRom2 15.03.2014 21:24

именно так.

LordJZ 17.03.2014 23:14

Летом 2012-го я писал плагины для IDA для распаковки таких опкодов. Курсор, кажется, должен стоять на первой инструкции «чтения» пакета.
Простой: https://gist.github.com/LordJZ/9607042
Для мувмент пакетов: https://gist.github.com/LordJZ/9607344


Текущее время: 14:51. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS