Хочу сделать красивейшую интру к Saboteur 2 на базе исключительно ее собственной картинки. Для этого необходим хороший упаковщик (желательно -- по выбору для окошка, а не всего экрана).
Вид для печати
Хочу сделать красивейшую интру к Saboteur 2 на базе исключительно ее собственной картинки. Для этого необходим хороший упаковщик (желательно -- по выбору для окошка, а не всего экрана).
накидай спрайты на экраны, а потом пожми их LaserCompact'ом =)
Сэнкс, конечно, но надо пакдепак для окошек. Хотя бы знакоместных.
Попробуй мой плагин к bge для вырезания спрайтов с упаковкой. Нативное сжатие в нем не очень, но файл может содержать несколько спрайтов и хорошо жмется обычными упаковщиками для кода
Спасибо, попробую. А инструкции по вызову этого на экран в пакете с BGE?
http://zxdocs.fatal.ru/formats/B/BIT.zip
Если надо, могу кинуть исходы плагина, там выводилка имеется
ага, вроде понятно все. Только байт разницы -- не меняется, пока маска не укажет? или кроме XOR для получения данных еще что-то надо?..
Нет не меняется. Вот исходник, может придется чтото подправить для оптимизации. Начальный байт данных и разница равны нулю, т.е. одним нулевым байтом кодируется пустое знакоместо. Может быть другое направление распаковки маски (придется заменить RR C на RL C).
;распаковка одного знакоместа
;HL- адрес в памяти
;DE- адрес первой строки знакоместа
DEPACKPLC ;HL->DE
LD C,(HL) ;взяли маску знакоместа
INC HL
EX AF,AF'
XOR A ;начальный байт
LD B,A ;начальная разница
MCO EX AF,AF'
RR C ;выделяем очередной бит
JR NC,OLBB
LD B,(HL) ;новая разница- обновляем
INC HL
OLBB ;выводим данные
XOR B
LD (DE),A
INC D
EX AF,AF'
LD A,D
AND 7
JR NZ,MCO
RET
брр...
запутался теперь что-то
это A, которое кладется в DE, нигде не сохраняется? получается, лучше всего пакуются байты 255-0-255-0, или 130-125-130-125, т.е. негатив-позитив-негатив? Разве такие последовательности часто встречаются? Странно как-то, если на код смотреть. Или я плохо врубился... А он работает?
Да, и входное значение A -- никак не влияет?