Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
11-26-2012, 03:27 PM
(Сообщение последний раз редактировалось: 01-05-2013, 12:14 PM Hint.)
Оригинальный l2disasm не работает с armorgrp.dat от Glory Days (клиент с l2.ru от 26.11.2012). Проблема в том, что в l2disasm есть проверка на значение счетчика cntt в структуре MTX3 (если значение больше 8, то выводится ошибка, процесс разбора прерывается). В пропатченном l2disasm лимит повышен с 8 до 16.
http://hauthd.org/files/l2disasm_patched.zip
Для тех, кто хочет пропатчить свой файл самостоятельно: замените 1C83F80877 на 1C83F81077.
P. S. Лимит повышен для MTX3. С другими структурами проблем пока что не возникает.
Обновление от 05.01.2013:
Исправлена аналогичная проблема с L2asm.
Исправленные ошибки (для поиска):
Read CNT in MESHTEX3 field 'm_HumnFigh_add' too high.
Internal soft mesh or tex limit for MTX[123] field 'm_HumnFigh_add' set too high or to zero.
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 406
Тем: 10
Зарегистрирован: Jun 2008
Репутация:
2,862
Еше можно сделать хардкодом =)
а так именно из за таких багов пришлось свой декодер делать.
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
Да у меня уже тоже свой есть, вот только все парсеры l2on используют стандартный вывод l2disasm. Нет никакого желания переписывать десятки скриптов, как и генерировать идентичный вывод в своей утилите
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 3,968
Тем: 90
Зарегистрирован: Nov 2010
Репутация:
15,337
А патча нет, случаем под глори)? Пропатченного.
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
Ro_0TT Написал:А патча нет, случаем под глори)? Пропатченного.
Нет, этим не занимаюсь, мне только декодированные данные нужны
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
В l2asm тоже есть данная проблема...
Код: L2 asm 1.4.1 by M.Soltys (aka DStuff).
Internal soft mesh or tex limit for MTX[123] field 'm_HumnFigh_add' set too high or to zero (6 / 9).
Sanity check failed (check ddf file 'ArmorGrp.ddf').
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
Поправил l2asm (ошибка пропала, но результат не проверял). Обновил архив.
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 2,102
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
А что случилось с NpcGrp в GD?
Сообщений: 220
Тем: 19
Зарегистрирован: Oct 2011
Репутация:
2,462
KilRoy Написал:А что случилось с NpcGrp в GD? Немного изменился:
Код: // Tauti (06.07.2012). Editors: Anonymous, Allen (L2Sexi), Hint.
FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;
{
UINT tag;
UNICODE class;
UNICODE mesh;
UINT cnt_tex1;
UNICODE tex1[cnt_tex1];
UINT cnt_tex2;
UNICODE tex1[cnt_tex2];
CNTR cnt_dtab1;
UINT dtab1[cnt_dtab1];
FLOAT npc_speed;
UINT unk0_cnt;
UNICODE unk0_tab[unk0_cnt];
CNTR cnt_snd1;
UNICODE snd1[cnt_snd1];
CNTR cnt_snd2;
UNICODE snd2[cnt_snd2];
CNTR cnt_snd3;
UNICODE snd3[cnt_snd3];
UINT rb_effect_on;
UNICODE rb_effect_1; ENBBY = [(rb_effect_on,1)]; ENBBY = [(rb_effect_on,2)];
FLOAT rb_effect_fl_1; ENBBY = [(rb_effect_on,1)]; ENBBY = [(rb_effect_on,2)];
UNICODE rb_effect_2; ENBBY = [(rb_effect_on,2)];
FLOAT rb_effect_fl_2; ENBBY = [(rb_effect_on,2)];
CNTR quests_cnt;
UINT quests[quests_cnt];
CNTR unk2_cnt;
UINT unk2_tab[unk2_cnt];
UNICODE effect;
UINT UNK_3;
FLOAT sound_rad;
FLOAT sound_vol;
FLOAT sound_rnd;
UINT quest_be;
UINT class_lim_?;
UINT npcend_cnt;
ASCF npcend[npcend_cnt];
UINT unk1[4];
UINT unk_glory; // BF800000 (>99%), 3F333333 (>10), 3F000000 (1)
ASCF icon;
UINT unk_glory_null; // always 0
}
hLaPEx, Evermore, hAuthD, L2on, ...
Сообщений: 19
Тем: 8
Зарегистрирован: Aug 2013
Репутация:
227
It still can not open armorgrp.dat in Lindvior client
|