Формат противников следующий:
Code
ROM:0000A256 Red_Robot: dc.l sub_13DAA ; AI
ROM:0000A256 ; sub_97BE:off_97D4o ...
ROM:0000A25A dc.l loc_140D6 ; ???
ROM:0000A25E dc.l loc_14430 ; При попадании
ROM:0000A262 dc.l sub_1800C ; ???
ROM:0000A266 dc.w $DC ; ???
ROM:0000A268 dc.w $258 ; Жиз.энергия врага
ROM:0000A26A dc.l off_16F9BA ; Графический пак
Заголовок граф пака:
{количество паков с анимациями (word)}
{поинтер на графику (word)}
{поинтер на паки с анимациями}
Пак состоит из анимаций. Анимация в свою очередь из кадров, каждый кадр это тайловая карта размером $36 байт (BZT) или $26 байт в ZT.
Пак:
{Кол-во анимаций в паке (word)}
[Поинтеры на анимации]
Анимация:
{Кол-во кадров в анимации (word)}
[кадры]
Кадр (тайловая карта+конфиг)
$00 -- коор-та Y кадра
$01 -- коор-та Х кадра
$02 -- масштабирование по Y кадра
$03 -- масштабирование по Х кадра
$04 -- размер по Y кадра (единица - спрайт 4х4 тайла)
$05 -- размер по Х кадра
$06-$15 -- $10 байт задающих отражение спрайтов (1 - отражен, 0 - нет) один спрайт - byte
$16-$35 -- тайловая карта кадра (один спрайт - word)
Отличие ZT от BZT в том, что тайловые карты не используются, размер кадра получается равным $26 байтам
На самом деле тайловые карты используются конечно же, просто один байт соответствует одному тайлу в Zero Tolerance. А в бейонде 2 байта соответсвуют одному тайлу. Сделали это, потому что спрайтов в BZT может быть больше $FF и в байт значение не вмещается, поэтому расширили до ворда. Остальное все тоже самое.