Цитата:
Сообщение от Mayss
По идее должна же быть некая последовательность расшифровки всех их под один "точный" опкод?, или там используется более "продвинутая" система расчета?.
|
А зачем? Запустил специальную программку, программка сгенерила специальный .h файл с данными вида
Код:
#define SMSG_MONSTER_MOVE 0x2367
#define SMSG_COMPRESSED_DATA 0x6812
...
и т.д. Этот файлик подставили в клиентский проект, подставили в проект сервера. Скомпилировали оба проекта, и вуаля. Имеем пару клиент-сервер с рандомным набором опкодов.
ЗЫ: я немного утрирую. В начале клизмы, наверное и сейчас, в клиенте использовался condensedID - порядковый номер опкода, который получался из полного номера опкода по спец. алгоритму. Алгоритм менялся раз в несколько билдов. "Особо умные" могут сказать, что condesedID - это и есть старые опкоды, но нет. Никакой связи между старыми опкодами и новыми - нет. codensedID используется, как индекс для получения указателя на обработчик из массива указателей обратчиков опкодов. Ни более ни менее.