(20.08.2012 00:02)Berserker Wrote: [ -> ]Спасибо, красиво. А кто автор?
Не знаю, если уж очень интересно можно в нете поискать...
Bes Wrote:Berserker, вот деф для Воодушевления http;//h3disk.narod.ru/PM/C09SPW0.def
Я посмотрел в игре - плохо, на этот закл бы полупрозрачность как у страха реализовать, тогда возможно лучше станет. Дымок на заднем фоне вообще не смотрится (на тёмных задниках игры)
Я так понимаю, у вас для проигрывания заменяется def боевой анимации и играется через BM:V? Тогда можно заменять у страха, будет полупрозрачной. Если нужно, чтобы анимация была именно над головой, то можно добавить полупрозрачность, заменив её свойства, могу рассказать, как.
Sav, а вот это уже интересно. Как сделать деф, чтобы при замене дефа страха он проигрывался полупрозрачным?
Если можно будет сделать деф с 32-битными кадрами, то можно будет сделать и их поддержку.
На крайняк, через альфа-плагин, это уже сейчас можно делать.
Я уже делал, если что.
а def-makerэ'ы же автоматом ужимают кадры до 8 бит

нужно новую версию deftool у Сергея выпрашивать

Berserker Wrote:Sav, а вот это уже интересно. Как сделать деф, чтобы при замене дефа страха он проигрывался полупрозрачным?
Специального дефа не нужно, полупрозрачность работает с любым. Это параметр у функции, которая отрисовывает анимации, (0x47BA90) любую анимацию можно отрисовывать полупрозрачно. Ну, разумеется, полупрозрачность не регулируемая, одинакова для каждого пикселя.
Вот, как устроена таблица боевых анимаций.
PHP Code:
// Структура боевой анимации.
NOALIGN struct _BattleAnim_
{
_cstr_ DefName; // Имя def`а анимации
_cstr_ TouchEffect_Name; // Имя тактильного эффекта анимации (для его воспроизведения на нестандартных элементах управления с помощью IFC20.dll)
_dword_ Properties; // Свойства боевой анимации (по несколько битов)
// ***
// Начало описания свойств анимации
// ***
// (сдвиг - размер в битах - значение)
// 0 - 4 - Позиция отображения (0 - от земли на стеке или гексе, 1 - посередине гекса или стека, 2 - выше стека, 3 - перед стеком, 4 - с нижней и левой границы гекса, -1 - нет позиции)
// 4 - 4 - Не используется
// 8 - 1 - Прозрачность (0 - нет, 1 - есть)
// 9 - 23 - Не используется
// ***
// Конец описания свойств анимации
// ***
};
PHP Code:
_BattleAnim_* o_BattleAnimation = ((_BattleAnim_*)0x641E18);
_int_ BattleAnims_Count = 83;
В Воге таблица, перенесена на адрес 0x7B6980. Номера анимаций соответствую номерам в таблице BM:V в ERM-help. С помощью UN:C можно легко на время изменить параметры любой анимации.
Нам проще RedirectFile до и после анимации вызвать, наверное. Спасибо.
Для дефа проще, а вот параметры анимации, в которых есть полупрозрачность, из-за которой весь сыр-бор, им не поменять, т. к. с def`ом они не связаны.
Деф заменяется на лету, затем проигрывается якобы анимация страха. Что не так?
Всё так, если анимация страха удовлетворяет по двум параметрам: положение относительно стека и полупрозрачность. Инфа, которую я дал, и UN:C пригодится, если по какому-то из этих параметров анимация страха не будет удовлетворять (насколько я понимаю, анимация воодушевления должна быть над головой стека, а страх рисуется по центру). В общем-то, я с самого начала это и имел в виду.
Понял, спасибо. Продублирую в инженерной теме.
а разьве чтобы анимация была НАД стэком нужно некие параметры анимации выставлять?
Это не достигается нужной ВЫСОТОЙ кадров?

Сравни def благословения и страха, а так же то, как они проигрываются в игре. Про высоту кадров ничего не знаю, но есть подозрение, что вся лишняя прозрачная часть там всё равно обрезается, поэтому видимое изображение будет центрировано одинаково вне зависимости от того, в середине ли оно общего изображения def`а или наверху. А вот относительно какой точки оно будет центрировано, зависит от параметров анимации.
Подтверждаю

Часть кадров, особенно с большими зонами фонового цвета, часто обрезается перед отрисовкой.