Хороший сайтик. Шарился, искал хорошие саги. Нашёл пару штук, буду почаще сюда заходить.
Хех, давненько же я сюда не заходил) Что ли снова взяться за доводку старых карт по Disciples 2 :-)
Почему бы и нет ? :)
Великолепно! И никакого геморроя. Проверил на 6 подготовленных для этого картинках. Заметил вот какой баг: то что на картинке черное в игре отображается как белое... Вот скинул картинки, которыми тестил, они уже "прогнаны" через программу. В игре они отображаются неправильно.
http://7ly.ru/u/kf
http://7ly.ru/u/kf
Выложил доработанную версию D2ImgEncoder. Заодно обновлён и pngquant.
Какие новости на счет импорта графики с диалогом задания прозрачности? Очень надеюсь, что выйдет версия, которая будет сама задавать нужные цвета прозрачности - а то, это отнимает очень много времени и сил...)
В [Файлы] добавил D2ImgEncoder.RC1. Преобразует PNG-изображения (RGB, RGBA, palette, palette+alpha) к palette+alpha с помощью pngquant (в комплекте), позволяет настроить прозрачность (слайдер справа) и сохраняет в PNG-файлы с "правильной" палитрой. Полученное изображение можно загрузить в ресурсы D2 с помощью D2ResExplorer.
На простом примерчике отработало, но требуется более серьёзное тестирование, так что жду отзывов :)
На простом примерчике отработало, но требуется более серьёзное тестирование, так что жду отзывов :)
Как здорово что существуют такие фан - сайты таких шедевральных игр :) Прям слезы на глаза от ностальгии наворчиваются :)
Спасибо за добрые слова!
В общем, кнопка не работает... Работоспособность расы также проверить не получается: так как нет кнопки, а значит нет способа добавить юнитов этой расы на карту (что-бы потом проверить). В принципе в папке Globals, я прописал новую расу везде где видел упоминания о других расах, а именно: Glord.dbf, Grace.dbf, GSubRace.dbf, Lrace.dbf, LSubRace.dbf, Lterrain.dbf и еще в какие-то. Затем я добавил в Gunits.dbf новых юнитов, новой расы. Запустил игру, проверил, работает - ни каких сбоев. Затем добавил в папке Interf в файлы TAppEdit.DBF, ScenEdit.dlg опять же информацию о новой расе и кнопку:) Зачем я дабавил кнопку? Если кнопка заработает, и раса окажется рабочей (я в этом уверен) - возможно с нее можно будет сделать игровую расу. И все! Всеравно, кнопку нужно будет оживлять - мы ведь собрались добавлять новую расу - как без этой кнопки можно будет ей пользоваться? В общем я исследую дальше - сейчас копаюсь в папке Scens, там пока ничего не понятно )
Сегодня добавил новую нейтральную расу, причем не СубРасу а именно расу, т.е. она не является подрассой нейтральной расы - все что их объединяет это то, что и нейтралы и моя новая раса не играбельны (т.е. у нее нет столицы, защитника и тп.). Также отредактировал ScenEdit.exe - теперь там есть кнопка "Каганат". В общем выкладываю 2 скриншота, сами увидите. Вся проблема в том, что, при нажатии на кнопку программа не хочет показывать каганат, то есть кнопка как бы не рабочая....
Скрины:
http://s2.ipicture.ru/uploads/20120217/mgcc7TGI.bmp
http://s2.ipicture.ru/uploads/20120217/fn6G6JDT.bmp
Скрины:
http://s2.ipicture.ru/uploads/20120217/mgcc7TGI.bmp
http://s2.ipicture.ru/uploads/20120217/fn6G6JDT.bmp
Новые кнопки лучше не создавать - для их работы нужно существенно править EXE.
Теперь плохие новости: 1. Я забыл как я сохранял картинку (ибо процедура оказалась очень долгая), 2. Мои картинки для глобальной карты (IsoUnit) вообще не отображаются в игре.
Сдаётся мне, что проще сделать импорт графики с диалогом задания прозрачности...
вот:
http://s2.ipicture.ru/uploads/20120213/DvGtY0jU.png
вот как оно отображает его (скрин с игры):
http://s2.ipicture.ru/uploads/20120213/m9VRQVIB.png
http://s2.ipicture.ru/uploads/20120213/DvGtY0jU.png
вот как оно отображает его (скрин с игры):
http://s2.ipicture.ru/uploads/20120213/m9VRQVIB.png
Подскажите, пожалуйста, ничего не могу сделать - черный цвет в картинках отображается прозрачным, ничего не могу сделать...
Вышли мне картинку - посмотрю, что с ней можно сделать.
Немного не в тему, но вдруг есть опыт: никто графику из Disciples Sacred Lands не потрошил (файлы, кажется, с расширением .dbi)?
Сейчас под рукой DSL нет, но их формат от D2 отличался незначительно. Попробуй их открыть переименовав в *.ff .
2012-02-16 16:21:38
Пробовала переименовывать, бесполезно (у меня). В DSL есть файлы *.ff, они нормально распаковываются тем же
D2ResExplorer''ом, но там только *.bik-файлы (анимации).
Но все равно, спасибо за совет.
D2ResExplorer''ом, но там только *.bik-файлы (анимации).
Но все равно, спасибо за совет.
Ok. Нашёл DSL и в выходные посмотрю.
2012-03-08 00:08:50
О, хорошие новости пошли :). Может быть и про графику в Disciples Sacred Lands что-то стало ясно по результатам исследования? ;)
Большая часть графики прячется в файлах *.ff в видео-файлах *.smk. Их можно просмотреть/сконвертировать с помощью RAD Game Tools. Формат *.dbi понятен, а вот назначение содержимого - пока нет.
2012-03-08 15:08:24
Спасибо, *.ff я переконвертировала. Буду ждать результатов по *.dbi и *.dlg. Предполагаю в первом типе файлов графику, которая картинки-иконки (ищу именно их), а не анимации :)). Второй - вообще без понятия, что такое - то ли диалоги, то ли еще что-то.
В *.dlg описание "экранов" игры. Их можно просмотреть с помощью утилиты из состава D2MOD.Toolset.
2012-03-10 12:31:06
Значит, я таки не умею пользоваться этой программой :)). Буду учиться. Смотрела, ничего не поняла, решила, что не то смотрю или не тем :)). Или не то понимаю под словом "экран". Спасибо.
Графики там точно нет. Только позиции картинки, кнопки, текста и пр. для создания из них "экранов" игры.
2012-03-19 23:27:00
Тогда все правильно, то, что я видела, подходит под описание "только позиции картинки, кнопки, текста и пр." Я считала, что экран - это задник арены, города и т.п.:О
2012-04-07 14:35:50
Перерождение ушло на днях в печать. 18 апреля ждем в магазинах.
Как там шансы найти иконки юнитов в DSL? 0_о
Как там шансы найти иконки юнитов в DSL? 0_о
Извлечь изображения во внутреннем формате DSL не проблема, но вот декодировать их не получается. Использован формат с неочевидной логикой на базе палитр (во второй части от него отказались в пользу png) - во вменяемое время разобраться с ним не удалось.
2012-04-11 15:06:02
Пичаль. Но все равно - спасибо за хлопоты.
А в невменяемое необозримое будущее? :)))
А в невменяемое необозримое будущее? :)))
Есть один способ. Медленный и с большим количеством неудобств, но есть.
2012-04-16 18:39:51
Ня-я. Могу использоваться на подсобных работах: выполнять заданный алгоритм, следить за процессом и пр. :))
Выложил DSLUnpacker. Работает медленно, но зато извлекает все доступные dbi-изображения.
2012-04-30 22:51:38
Ушла изучать ридми. Постараюсь выпотрошить все :))) Результаты доложу :)
2012-05-03 11:16:08
Все замечательно распаковалось. Были проблемы с редактором (потрошила версию от Акеллы), так что мышь в ходе распаковки использовалась активно, но распаковке это не мешало, мне так кажется :)
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!
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!
The maximum DMG value is specified in the exe-file.
Normal, it is out of date.
Normal, it is out of date.
2012-02-10 14:48:58
Hello, Boris, at the expense of reducing max DMG - I think this is impossible, and besides, what''s the point?
2012-02-20 13:52:10
@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.
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.
2012-02-20 20:45:40
@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
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
Новости по просьбам )) ковыряюсь одновременно с дебагером и компилятором. Для того, чтобы код скомпилить его нужно руками поправлять, что нетривиально. Дебагер пока тоже неработает. В дебагере дело в обработчике исключений. Исключения обрабатываются под дебагером некорректно. Правда с VS ситуация немного лучше - там можно приаатачиться к процессу дебагером. В Олли и ИДА этого не получается. Так что, если заставить компилятор заработать, то жить будет можно.
Нашел несколько мест в коде, где нужно прописывать новую расу. Но без решения вопросов выше, это пока чисто теоретическое знание.
Нашел несколько мест в коде, где нужно прописывать новую расу. Но без решения вопросов выше, это пока чисто теоретическое знание.
Сергей, большое спасибо за версию RC11! Теперь гораздо проще стало добавлять анимации и программа заметно быстрее стала работать.
Нашел почему память не читалась и что за процедура, на которой все останавливается. Процедура занимается выгрузкой dll. Похоже, что если какой-то процесс занял память по конкретному адресу, то выгрузить dll неполучается. Я выгрузил из памяти практически все и дебагер прошел дальше и ругался на другой адрес (что кстати не показатель, если они динамически присваиваются). Но все равно он остановился в определенный момент. В дебагере в окне dll каким-то образом отображалась как загруженная dll антивируса, хотя сам антивирус я остановил и процесс его убил. Правда, я это сделал уже после того, как дебагер начал работать. В общем, нужно заставить его как-то заработать ибо иначе будет не посмотреть в реальном времени на изменения в коде.
Кстати, Дисы запускаются, но потом вылетают на первом экране.
Кстати, Дисы запускаются, но потом вылетают на первом экране.
Хорошая новость - я нашел где выбираются расы в коде. Действительно, менеджмент рас прошит в коде, но все не так страшно. Можно проследить, где расы выбираются, где новая раса могла бы быть добавлена и т.д.
Не очень хорошая новость - похоже, что при чтении компилированного кода IDA потеряла кое-какие куски. Ибо имена некоторых фунцкий она не распознает. Это можно будет посмотреть позже. Вообще же ошибок компиляции немного, возможно удастся пофиксить.
Вопрос - как блин править read-only доступ в ассемблере? Т.е. если запускать Дисы под дебагером, то он ругается, что память по определенному адресу доступна только для чтения. Я точно знаю процедуру, которая пытается в память писать. Но дело кажется не в этом, а может быть в том что для этой dll (Shw32.dll) segment permissions по какой-то причине: read. Хмм, это где-то можно поменять?
P.S. Адрес, где программа пытается писать в память - A93B395 если что.
Не очень хорошая новость - похоже, что при чтении компилированного кода IDA потеряла кое-какие куски. Ибо имена некоторых фунцкий она не распознает. Это можно будет посмотреть позже. Вообще же ошибок компиляции немного, возможно удастся пофиксить.
Вопрос - как блин править read-only доступ в ассемблере? Т.е. если запускать Дисы под дебагером, то он ругается, что память по определенному адресу доступна только для чтения. Я точно знаю процедуру, которая пытается в память писать. Но дело кажется не в этом, а может быть в том что для этой dll (Shw32.dll) segment permissions по какой-то причине: read. Хмм, это где-то можно поменять?
P.S. Адрес, где программа пытается писать в память - A93B395 если что.