Russian thread

Нет, в таком случае выдается сообщение что-то про hero already has stack…
Тут что-то другое.
Файлы монстров я проверял на комплектность, все дефы для карты на месте и по правильным путям.
Видно, это что-то при рандомайзе вылезает.

Оно, оно. По крайней мере один раз vcmi упал именно из-за этого. Но подозреваю что это не единственный баг тут.

Хмм… Макрон, а можешь составить список ошибок которые не находит валидатор? Ситуации где именно конфиг неправильный. Пока знаю только о несуществующих файлах и о героях с отдядом в 0 юнитов.

Ну я кроме этой ошибки других особо и не встречал.
Если у героя фракции несуществующий DEF для карты указан, то игра тоже вылетает без расшифровки ошибки или сообщения о нехватке файла. Но видно ты это и подразумевал?

Я могу, впрочем, взять какую-то фракцию и специально поэкперементировать, добавляя ошибки параметров в конфиги.

Ну например, если в SPELL_AFTER_ATTACK указан уровень заклинания не 0,1,2,3, а другой (например 10),то игра замирает, если в сражении выпало заклинание. Валидатор ничего на это не говорит…

Я уже с неделю перешел непосредственно к игре за фракции. Поэтому думаю, что постепенно баги и ошибки буду размещать в bugtracker, если попадется что-то серьезное на моем ходе (изредка игра вылетает на ходе АИ, там я естестественно не могу сказать причину).

Вообще да, но как раз о нехватающих файлах я знаю и так.

Примеры того что можно проверить:

  • список возможных значений. Например alignment может быть good, neutral или evil.
  • ограничения - минимальное/максимальное значение числа, количество элементов в списке.
  • список необходимых полей (это, вроде, уже везде есть)
  • в ближайшее время - добавлю проверки на наличие файлов.

Проверять значения бонусов (по крайней мере как часть проверки json) практически невозможно - она и так слишком долго выполняется.

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

Попался такой баг. У моего героя был навык “тактика”, в самом начале боя, когда я должен был расставить войска, я нажал на автобой (кнопку с мечами), игра намертво зависла, пришлось убивать процесс.

Еще возникла парочка вопросов:

  1. На VCMI работает хот-сит? Начал создавать игру на двоих людей, но в настройках карты второго игрока всегда стоит “компьютер”, и при старте карты в консоле доходит до загрузки АИ, а дальше игра зависает на загрузке без ошибок, приходиться убивать процесс, и возникает второй вопрос

  2. При сворачивании VCMI курсор на рабочем столе дергается в левом верхнем углу, и его невозможно двигать, это можно как-то поправить?

  3. Заметил что при осаде города с фортом, на экране битвы рисуется только стена, цитадель не рисуется, хотя в оригинальных героях цитадель в битве есть всегда, просто если в городе она не построена то на ней нет стрелка. Проверить осаду с построенной цитаделью и замком не получилось, из-за того что не работает хот сит, а АИ постоянно оставляет город без защиты и не атакует чужие замки если в них есть хоть немного войск.

  4. Так же при осаде не работают ворота(должны подниматься и опускаться), даже не могу разглядеть рисуются ли они( Это вы забыли за них, или это сложно реализовать?

Попробовал на “Arrogance (Allies)”, вроде работает. А что за карта? Можешь сделать скриншот настроек?

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

  1. Должно работать.
  2. Не знаю - курсор vcmi никак не контролирует.
  3. Похоже забыл про это когда анимацию битв исправлял. Верну на место :slight_smile:
  4. Довольно сложно реализовать, в итоге - оставили на потом.

Вообще баги лучше выкладывать на багтрекер тут: bugs.vcmi.eu/view_all_bug_page.php
Некоторые такие как #3 я и сам исправить могу, а остальные лучше на багтрекер скопировать.

На счет курсора странно… У меня ХР, VCMI запускаю в полный экран(F4+Enter), и когда сворачиваю окно с игрой, то курсор дергает около верхнего левого угла, и я не могу добраться мышей до менеджера задач или окна брандмауэра. В оконном режиме такого нет, курсор нормально работает.

Немного разобрался с хот-сит. Тогда я выбрал одну из этих карт, просто потом нашел еще две:
-Ключ к победе , рамер маленькая, формат ROE
-Приключения Шареда Харета, , размер маленькая, формат СоД
-Мертвый и похороненный (в другой локализации Умершие и погребенные), размер маленькая, формат СоД

В общем в оригинальных героях этих карт нет вообще в списке хот-сита, только для одиночной игры, в ВЦМИ же они в списке есть. Зависание не повторилось, то наверное был разовый баг, просто запускается карта на одного человека.

  1. Не знаю…Курсором vcmi не управляет, сам под линухой сижу - что может быть не так без понятия. Вроде у нас в команде XP уже ни у кого нет.

  2. Похоже забыли отфильтровать карты для сингла. Постараюсь вечером добавить все эти баги на трекер.

Неверное надоел с багами, но ведь в общих интересах все их выловить и исправить:)
Ivan, если не трудно то выложите их на багтреккер, мне тяжело выражаться на английском

1)иногда при старте карты приложение выдает ошибку, об этом писал ранее.
Перед ошибкой консоль выдает строку:

Assertion failed: hasStackAtSlot"slot", file CCreatureSet.cpp, line 289

вместо 289 еще бывает 375 и 385. Для меня то что выдала консоль непонятно, можете объяснить что обозначает строка? Может достаточно поправить конфиги некоторых модов? Логи:
yadi.sk/d/IxCA_RA6Bhy4S

  1. Не в первый раз зависание при срабатывании удачи, закономерность точно не просек, но последняя ошибка случилась во время убийства последнего отряда врага
    Логи:
    yadi.sk/d/aAWVwhg4BhyU8

  2. Имеется глюк с прорисовкой некоторых существ, наиболее заметный на светлых полях битв ( снег и песок), при котором некоторые части существа становятся полупрозрачными, например деф джагернаута из мода Фордж (тот который злобоглаз на механических лапах), приложил скриншот (графический глюк на лапах):
    yadi.sk/d/dyEPhqf5Bhz3L

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

  1. Один такой случай я уже отловил - в Роще у двух героев минимальный размер отряда - 0 существ.
    Скинь этот файл в папку config/schemas/
    dl.dropboxusercontent.com/u/22372764/hero.json
    Тогда при загрузке vcmi будет в консоли выводить сообщения вида
    Data in <имя героя> is incorrect:
    at /army/2/min:
    value is too small!

Открываешь конфиг героя через какой-нибудь блокнот (папка мода, архив Content.zip, в архиве файл обычно по пути config/<имя мода>/heroes/<имя героя>.json)
В конфиге будет описание армии вида

		"army" :
		
			{
				"creature" : "groveguard",
				"max" : 3,
				"min" : 0
			}
		],

Исправляешь все нули на другое число (например 1) и баг исправлен.
Если все равно будет попадаться - то сбрось файлы логов + дамп (один или два файла, расширение dmp)

  1. Вопросы
  • кто что атаковал?
  • сохраненки остались? 2 файла в папке Saves
  • если нет - то скинь дампы
  1. Что не так я давно знаю, но исправить довольно сложно. Бага есть только в модах, теоретически можно исправить саму анимацию

  2. Вряд ли тут идет к моду привязка. Как вариант - скинуть скриншот/видео и сказать кто кого атакует. Возможно неисправленный баг с анимацией - в 0.93 такого много было.

Исправить анимацию? Это анрил. Вручную перерисовывать на другие цвета? А если еще исходные bmp имели длинные имена?
Нет, это точно именно баг. И его надо когда-нибудь исправить - ведь в оригинальных Heroes все отображается правильно.

В приложении также пример плохого отображения героя и объекта на карте (он тоже полупрозрачен местами).
scrbad.zip (66.4 KB)

Сохранений и дампов не осталось к сожалению, уже затерлись другими. Если попадется еще раз баг с удачей, то уже буду знать про файлы dmp

Бага возникает когда используются первые 8 цветов из палитры дефа - это спеццвета которые используются под тень, обводку и прозрачность. В тройке они опциональны, у нас - всегда включены.

Исправить можно переназначив эти цвета на какие-нибудь другие. Как это сделать - уже не знаю. Но это вполне возможно.

Исправить в коде в ближайшее время точно не выйдет.

Сразу говорю - dmp это на случай когда больше ничего не помогает - инструкции как повторить баг или хотя бы сейв (с которого можно повторить баг) намного лучше.
Логи помогают понять что происходило в игре в самом конце но напрямую на баг показывают редко.

Но ведь эти цвета прописаны в самом DEF, разве нет? Исходников для DEF View нет (чтобы посмотреть, как там решена проблема)?

  1. Нужно смотреть не def view а def tool
  2. В дефтуле вижу галку “стандартные спеццвета” - подозреваю это то, что надо.

Почему в сингле за компьютера невозможно загрузить? Раньше если в настройке карты нет жесткой привязки, что данным цветом играет только комп, то можно было в хотсите загрузить за этот цвет и посмотреть че там делается. Тут же просто заходишь в мультиплеер и даже ничего не предлагает, просто не показывает.

Так задумано или еще нереализовано?

Это не решает проблему DEFов. Даже со стандартными цветами полупрозрачность никуда не девается.
И далеко не все ДЕФы можно пересобрать.

Povelitel, скорее немного того и немного того. Этим никто не занимался (да и не просил никто). Теоретически можно реализовать, но стоит оно того или нет - вопрос.

Создам на трекере запись чтобы не забыть про это, но сомневаюсь что в ближайшее время этим кто-либо займется.

Macron1, ну тогда не знаю. Мне сейчас приритетнее ускорение слишком медленной валидации и кампании.
Исправлять эту багу с анимацией сейчас слишком сложно, да и в троечных дефах этой проблемы нет.