Dreher 
Сегодня добавил новую нейтральную расу, причем не СубРасу а именно расу, т.е. она не является подрассой нейтральной расы - все что их объединяет это то, что и нейтралы и моя новая раса не играбельны (т.е. у нее нет столицы, защитника и тп.). Также отредактировал ScenEdit.exe - теперь там есть кнопка "Каганат". В общем выкладываю 2 скриншота, сами увидите. Вся проблема в том, что, при нажатии на кнопку программа не хочет показывать каганат, то есть кнопка как бы не рабочая....
Скрины:
http://s2.ipicture.ru/uploads/20120217/mgcc7TGI.bmp
http://s2.ipicture.ru/uploads/20120217/fn6G6JDT.bmp
HSerg
Новые кнопки лучше не создавать - для их работы нужно существенно править EXE.
Dreher 
Да, это было бы очень хорошо.
Dreher 
Теперь плохие новости: 1. Я забыл как я сохранял картинку (ибо процедура оказалась очень долгая), 2. Мои картинки для глобальной карты (IsoUnit) вообще не отображаются в игре.
HSerg
Сдаётся мне, что проще сделать импорт графики с диалогом задания прозрачности...
Dreher 
Все, я понял как сделать такое в GIMP 2.6!
Dreher 
вот:
http://s2.ipicture.ru/uploads/20120213/DvGtY0jU.png

вот как оно отображает его (скрин с игры):
http://s2.ipicture.ru/uploads/20120213/m9VRQVIB.png
Dreher 
Подскажите, пожалуйста, ничего не могу сделать - черный цвет в картинках отображается прозрачным, ничего не могу сделать...
HSerg
Вышли мне картинку - посмотрю, что с ней можно сделать.
Alba 
Немного не в тему, но вдруг есть опыт: никто графику из Disciples Sacred Lands не потрошил (файлы, кажется, с расширением .dbi)?
HSerg
Сейчас под рукой DSL нет, но их формат от D2 отличался незначительно. Попробуй их открыть переименовав в *.ff .
Alba
Пробовала переименовывать, бесполезно (у меня). В DSL есть файлы *.ff, они нормально распаковываются тем же
D2ResExplorer''ом, но там только *.bik-файлы (анимации).
Но все равно, спасибо за совет.
HSerg
Ok. Нашёл DSL и в выходные посмотрю.
Alba
О, хорошие новости пошли :). Может быть и про графику в Disciples Sacred Lands что-то стало ясно по результатам исследования? ;)
HSerg
Большая часть графики прячется в файлах *.ff в видео-файлах *.smk. Их можно просмотреть/сконвертировать с помощью RAD Game Tools. Формат *.dbi понятен, а вот назначение содержимого - пока нет.
Alba
Спасибо, *.ff я переконвертировала. Буду ждать результатов по *.dbi и *.dlg. Предполагаю в первом типе файлов графику, которая картинки-иконки (ищу именно их), а не анимации :)). Второй - вообще без понятия, что такое - то ли диалоги, то ли еще что-то.
HSerg
В *.dlg описание "экранов" игры. Их можно просмотреть с помощью утилиты из состава D2MOD.Toolset.
Alba
Значит, я таки не умею пользоваться этой программой :)). Буду учиться. Смотрела, ничего не поняла, решила, что не то смотрю или не тем :)). Или не то понимаю под словом "экран". Спасибо.
HSerg
Графики там точно нет. Только позиции картинки, кнопки, текста и пр. для создания из них "экранов" игры.
Alba
Тогда все правильно, то, что я видела, подходит под описание "только позиции картинки, кнопки, текста и пр." Я считала, что экран - это задник арены, города и т.п.:О
Alba
Перерождение ушло на днях в печать. 18 апреля ждем в магазинах.
Как там шансы найти иконки юнитов в DSL? 0_о
HSerg
Извлечь изображения во внутреннем формате DSL не проблема, но вот декодировать их не получается. Использован формат с неочевидной логикой на базе палитр (во второй части от него отказались в пользу png) - во вменяемое время разобраться с ним не удалось.
Alba
Пичаль. Но все равно - спасибо за хлопоты.
А в невменяемое необозримое будущее? :)))
HSerg
Есть один способ. Медленный и с большим количеством неудобств, но есть.
Alba
Ня-я. Могу использоваться на подсобных работах: выполнять заданный алгоритм, следить за процессом и пр. :))
HSerg
Выложил DSLUnpacker. Работает медленно, но зато извлекает все доступные dbi-изображения.
Alba
Ушла изучать ридми. Постараюсь выпотрошить все :))) Результаты доложу :)
Alba
Все замечательно распаковалось. Были проблемы с редактором (потрошила версию от Акеллы), так что мышь в ходе распаковки использовалась активно, но распаковке это не мешало, мне так кажется :)
boris 
Hello, first I want to congratulate about th great effort for these modding tools, and esp. the Unit Stats Editor, thus and my request: is there a possibility to add a "tunning" option for the max damage of the units and the heroes? I want to tone down the wizard heroes max DMG from 300 to like 200 (I think it''s too powerful, dammit).

And one other thing - this Editor is not opening the Elven heroes and creatures from the Elves expansion. Is this normal or I am doing something wrong?

One more time - keep up the good work.

Cheers!
HSerg
The maximum DMG value is specified in the exe-file.

Normal, it is out of date.
Dreher
Hello, Boris, at the expense of reducing max DMG - I think this is impossible, and besides, what''s the point?
boris
@Dreher, the point of reducing the min/max damage (for me), is to make the choosing of the hero class even more harder, as I am finding it kinda ridiculous (and boring) the Magic heroes to do 300 DMG at 6 positions, just like the Archers are doing 300 DMG at one position (the Might heroes MAX DMG is 400, which is kinda cool). Now, if the Magicians get 200 DMG (or even 150) in the 6 positions with the 300 for the Archer? This will bring a lot of diversity in choosing the type of heroes (esp. imported ones or the ones you play with in the Large maps), as I find the choosing of heroes to be the weakest part of the game - basically they are all the same for the different factions.

Another problem I have is, I put secondary attacks on few creatures (like poison DMG to the Flame Casters (trying to imply it like the Blister abillity, but find out that if I change the source of the DMG (Death to Fire) this will also change the source of the DMG that the abillity was "borrowed"... find out about the "borrowing" part later, so, basically it will change the "borrowed" ability and from the creature attack it is borrowed (lets say Imperial Assassins)), so, I put this secondary attack on the Flame Caster and Modeus and when I try to remove them (the secondary attacks) the game (and the Map Editor) crashes at start.
Any Idea how to fix that?


Thanks in advance.
Dreher
@Boris
On account of the first (increase / decrease max DMG) - again I do not consider this a problem :) If level 30 mage will beat 300 for all - is not it strange? In my opinion - it is quite logical. And Archer is also still attack items such as HP and initiative - and they will be more than a magician. I would have canceled all max DMG - let the characters up to level 99 are developing, that''s bad?
You see some attacks can not be combined - perhaps you''re a magician tried to put a secondary attack asasina naturally the program refused to play these things.
What I can advise you: 1. delete a secondary attack. 2. Create a new attack on a secondary basis asasina attack, only in the "REACH" put 1. 3. attach a secondary attack your mage. 4. try it should work!

PS Sorry if I do not understand how it explains - I do not know English and translate with the help of Google Translate
Vadzra 
Новости по просьбам )) ковыряюсь одновременно с дебагером и компилятором. Для того, чтобы код скомпилить его нужно руками поправлять, что нетривиально. Дебагер пока тоже неработает. В дебагере дело в обработчике исключений. Исключения обрабатываются под дебагером некорректно. Правда с VS ситуация немного лучше - там можно приаатачиться к процессу дебагером. В Олли и ИДА этого не получается. Так что, если заставить компилятор заработать, то жить будет можно.

Нашел несколько мест в коде, где нужно прописывать новую расу. Но без решения вопросов выше, это пока чисто теоретическое знание.
Dreher 
Vadzra, огласи новости плиз :)
Dreher 
Сергей, большое спасибо за версию RC11! Теперь гораздо проще стало добавлять анимации и программа заметно быстрее стала работать.
Vadzra 
Нашел почему память не читалась и что за процедура, на которой все останавливается. Процедура занимается выгрузкой dll. Похоже, что если какой-то процесс занял память по конкретному адресу, то выгрузить dll неполучается. Я выгрузил из памяти практически все и дебагер прошел дальше и ругался на другой адрес (что кстати не показатель, если они динамически присваиваются). Но все равно он остановился в определенный момент. В дебагере в окне dll каким-то образом отображалась как загруженная dll антивируса, хотя сам антивирус я остановил и процесс его убил. Правда, я это сделал уже после того, как дебагер начал работать. В общем, нужно заставить его как-то заработать ибо иначе будет не посмотреть в реальном времени на изменения в коде.

Кстати, Дисы запускаются, но потом вылетают на первом экране.
Vadzra 
Хорошая новость - я нашел где выбираются расы в коде. Действительно, менеджмент рас прошит в коде, но все не так страшно. Можно проследить, где расы выбираются, где новая раса могла бы быть добавлена и т.д.

Не очень хорошая новость - похоже, что при чтении компилированного кода IDA потеряла кое-какие куски. Ибо имена некоторых фунцкий она не распознает. Это можно будет посмотреть позже. Вообще же ошибок компиляции немного, возможно удастся пофиксить.

Вопрос - как блин править read-only доступ в ассемблере? Т.е. если запускать Дисы под дебагером, то он ругается, что память по определенному адресу доступна только для чтения. Я точно знаю процедуру, которая пытается в память писать. Но дело кажется не в этом, а может быть в том что для этой dll (Shw32.dll) segment permissions по какой-то причине: read. Хмм, это где-то можно поменять?
P.S. Адрес, где программа пытается писать в память - A93B395 если что.
Vadzra 
Понял, спасибо. Нашел где прописаны ярлыки для кнопок в редакторе, про которые я говорил ниже. Теперь могу визуально заменять например Империю на Зеленокожих :) Также при выборе расы на экране компании могу теперь сделать так, что вместо Империи или любой другой расы будут Зеленокожие. Кстати вся эта информация содержится в папке Interf, что логично. ;) Там еще есть два .dlg файла, это просто парсеры, которыми определяется интерфейс, насколько я вижу.

Нашел файл, где прописаны столицы разных рас - в папке Imgs. Файл Capital.dat. Надо будет попробовать вставить туда столицу. Но сначала, основное, что хочу найти, как происходит выбор количества рас на экране их выбора для конкретной компании.
Vadzra 
Пара находок по поводу новой расы - почти уверен, что старую расу можно заменить на новую. Что касается возможности вставить новую расу в добавок к существующим, то пока не получилось и похоже, что количество рас забито где-то на програмном уровне. К этому выводу приводит экран Scenario Editor(a). Когда выбираешь, какие расы должны присутствовать в новом квесте, то там есть 5 кнопок, по одной на каждую из рас. У меня описания стоят русские в игре, но эти кнопки не переведены и я не смог их найти в ресурсах игры. Похоже, что они зашиты где-то. Аналогично в игре на экране выбора рас выбор происходит по тому же принципу. Сейчас ковыряю все это дебагером.

В связи с этим вопрос - Сергей, когда я запускаю Scenario Editor под дебагером в IDA, то он (Editor) зависает на экране, где нужно выбрать, что делать дальше - создавать новый квест, загружать старый и т.д. Если едитор убить из Task Managerа, то в IDA виден exception, что memory ... can''t be read... Как настроить IDA так, чтобы мозно было бы выполнять определенные действия в редакторе и IDA их бы отслеживал?
HSerg
Запускай редактор в окне, тогда будет возможность переключиться в IDA и нажать кнопку. Для отслеживания нужно знать функцию или какой-либо ресурс и использовать (напр.) breakpoint-ы.
Dreher 
Точнее 0 идет перед 1 и после Z.
to Vadzra: спасибо за детальную инструкцию.
Dreher 
to HSerg, немог бы ты добавить поиск в редактор анимаций? Ну там где список изображений по алфавиту. Дело в том, что - все анимации в IsoUnit состоят из последовательных картинок: только последовательность эта немного странная. Например, первая картинка анимации называется TCE тогда дальше идет UCE, VCE и тп. Тоесть, у последовательных картинок изменяется не последний символ (как-бы это было логично) а первый. Первая картинка, первый символ A потом все буквы латинского алфавита (последняя Z), потом цифры от 1 до 9 потом 0 и знак "_". Потом изменяется 2 символ (средний), и только потом последний. В последовательных анимациях картинки так-же идут друг за другом в таком порядке. То есть если анимация G000UUXXXXMOVE0 начинается с HBE то закончится она на WBE(в каждой анимации или 16 или 1 картинка). А G000UUXXXXMOVE1 (следующая за ней анимация) будет начинаться на XBE а заканчиваться BCE. Суть в том, что если я хочу повторить уже существующую анимацию (для последующей замены) мне придется вручную искать каждую картинку в разных частях списка (т.к. В списке они все по алфавиту, по первому символу) - а это 272 картинки (я посчитал).
HSerg
Ok, добавлю фильтр или сортировку.
Vadzra 
To Dreher: Ответил о том, как вставлять анимации здесь: http://nevendaar.com/forum/27-1670-2#87813

Да, последняя версия RC10 стала дольше обрабатывать запросы.
Dreher 
Извлечь в GIF я могу, но при открытии этой GIF-ки пишет: "Ошибка при построении изображения". И у меня почему-то последняя версия RC10 виснет сильно....
Dreher 
Help me! Please! Пожалуйста распишите как добавлять в IsoUnit и BatUnit картинки для моего нового юнита.