3

» WarCraft 3 / Логер JASS для WC3

2 ADOLF: Нашел отладчиком место, где проскакивает исходный код. Повесил хук на это место. Зачем - написано в начале. Близзарды явно не предполагали настолько интенсивное использование их скриптов и редактора и разобраться в причине вылета часто невозможно. Иногда помогает анализ крэшлога (там можно иногда увидеть код абилки или юнита, вызвавшего вылет)
2 ScorpioT1000: grimoir логгер не работает с последним патчем вроде.
3

» WarCraft 3 / Логер JASS для WC3

Добавлена обновленная версия с улучшенной производительностью (файл записывается после фатальной ошибки\завершения war3.exe)
3

» WarCraft 3 / Логер JASS для WC3

Размер файла лога ограничен. Лог пишется СРАЗУ на диск (ведь я не могу предсказать когда произойдет фатал), что дает притормаживание при большой интенсивности выполнения скриптов.
Так что требования к памяти у этого логгера минимальны.
3

» WarCraft 3 / Логер JASS для WC3

Нет, vcredist не нужен (не на С написано). Может мешает какой то современный механизм защиты вроде ASLR.
Еще можно проверить что сам варкрафт совпадает (хотя бы файлы war3.exe, storm.dll и game.dll)
Вот, немного оптимизировал код на скорость, лог пишется теперь только при включенном ScrollLock.
Загруженные файлы
3

» WarCraft 3 / Логер JASS для WC3

"под Windows 8 x64" не могу - не охота ее ставить ради проверки. Как вариант предлагаю установить виртуальную ХР и попробовать под ней.
"код обваливает варкрафт" - не сталкивался с таким, значит и исправить не смогу(.
3

» WarCraft 3 / Юнит принадлежит игроку, но не контролируем.

Если делаешь свой "Castle Fight" - то лучше сделай чтобы юнит НЕ принадлежал игроку. Потому что в КФ-е все же частично можно управлять юнитами.
3

» WarCraft 3 / Логер JASS для WC3

перезаписывает предыдущие функции новыми - так сделано потому что для идентификации куска кода, на котором происходит вылет, достаточно нескольких строк, потому ненужные(старые) строки перезаписываются. Лагать особо не должно, если, конечно, скрипт не очень интенсивно что то выполняет.
3

» WarCraft 3 / Логер JASS для WC3

На реплее фатал на 40 минуте
-я для отладки делал переключатель - кнопку CapsLock; пока не нажмешь - не логирует
можно добавить в исходник, отключил тк боролся с непредсказуемыми вылетами
3

» WarCraft 3 / Логер JASS для WC3

Может быть, я не проверял работоспособность на других версиях WC3 (кроме 1.26), так же может антивирус молча убивать то, что для него подозрительно.
3

» WarCraft 3 / Логер JASS для WC3

Да не за что. Пришлось поковыряться дебагером и изобрести эту прогу из-за того, что в дампе близардов мало кто сможет что-то понять(кроме самих близардов), в лучшем случае там проскакивает код абилки\юнита, который вызвал фатал.
3

» WarCraft 3 / Логер JASS для WC3

Я то туда ничего не вшивал ) В первоначальном варианте все работало без претензий от антивируса, но нужно было вручную переименовывать game.dll Могу выложить исходник для желающих собрать\поковыряться самомтоятельно
3

» WarCraft 3 / Логер JASS для WC3

Увы - в логе не будет имен функций, только отрывочные данные выполняемого кода, где конкретно находится косяк, возможно, прийдется и поискать.
3

» WarCraft 3 / Логер JASS для WC3

Прога логирует выполнение джасс-скрипта и предназначена всего лишь для того что бы узнать - КАКОЙ код выполнялся перед фатальной ошибкой.
3

» WarCraft 3 / Логер JASS для WC3

Пришлось родить это подобие логгера т.к нет каких-либо других способов разобраться, какой код обваливает варкрафт. В моем случае это был код вида
group G1
group G2
...
function SwapGroups()
group G
G = G1
G1 = G2
G2 = G
endfunction
который ИНОГДА вызывал фатал.
3

» WarCraft 3 / MDLVis 1.40 (исправлен баг графики)

Обновил файл архива, предыдущая версия фикса была совсем мало работоспособной.
3

» WarCraft 3 / MDLVis 1.40 (исправлен баг графики)

"После просмотра или редактирования текстуры, перестает работать всё" - значит фикс не удался ( Ну это исправимо, если что.
"Все работает на честном слове" - это уже не раз почувствовал. Может наваяю что то похожее по его мотивам, ежели ничего не помешает.
3

» WarCraft 3 / MDLVis 1.40 (исправлен баг графики)

Насчет примитивов примерно ясно, это относительно несложно.
Но пристойный моделер вряд ли выйдет, это туча работы, а исходники там того...для себя делались.
3

» WarCraft 3 / MDLVis 1.40 (исправлен баг графики)

это 1.40. "добавь что ли примитивы тогда в виз и адекватную работу с текстурами" - а чего там не хватает? я не особо в теме моделинга.