User Tag List

Показано с 1 по 10 из 84

Тема: Коллекция alx, c-jeff & Co и дисковые версии из Йошкар-Олы (+бонус)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #22
    alx
    Гость

    По умолчанию

    Чудило нарисованное danzil'ом к изометрической 3d игре, которую так нифига и не сделали
    Он гонит на меня, что я довольно так и быстро плюнул на написание движка, тогда как сам даже не взялся за дизайнер уровней, хотя структура хранение карт и требования к дизайнеру уровней были придуманны.

    А вот и сам текстовик (и финальная его версия) описывающий требования к дизайнеру уровней и кодировщику графики к игре. Фактически, ему все придумали и "разжевали" ))

    Скрытый текст

    Код:
                            Sprite Converter
    
    Menue:
    
    1. encoder
    2. sprite viewer
    3. load screen 1
    4. load screen 2
    5. save sprites
    6. save sprites with tabl
    7. save sprites tabl
    8. Clear sprite buffer
    9. Setup
    
    ***
    encoder - перекодировка  спрайтов  с одного из загруженных экра-
    нов  в  спрайт буфер, размер которого должен быть не менее 20кб.
    Перемещение  по  экрану  осуществляется  клавишами:  O, P, Q, A,
    Space. Для изменения некоторых редактируемых параметров и вызова
    различных  функций  используются  горячие клавиши. В низу экрана
    распологается служебная строка отображающая текущие режимы:
    
    078 Msk 02x064   Mono Col+m  scr1    000000  addr:23EB free:03E4
    \ / \ /   \ /     \ /  \ /    \ /      \ /      \ /       \ /
     |   |     |       |    |      |        |        |         |
     1   2     3       4    5      6        7        8         9
    
    1 - номер  текущего  спрайта в наборе. Максимальное количество -
        256 включая нулевой (пустой) спрайт.
    
    2 - может иметь вид: Msk - задание маски текущего спрайта, Spr -
        задание самого спрайта.
    
    3 - размер  спрайта  XXxYYY, где X - ширина (в знакоместах), Y -
        высота (в пикселах).
    
    4 - вид спрайта:  Colr - спрайт с атрибутами, Mono - без атрибу-
        тов.
    
    5 - структура спрайта:
        Col+m - спрайт с маской кодирующийся по столбикам и хранящи-
                йся в сл. виде: byte1 - mask,  byte2 - spr,  byte3 -
                Mask, Byte4 - spr и т. д.
        Colmn - спрайт без маски хранящийся постолбиково
        Lin+m - спрайт  с  маской  хранящийся построчно. Чередование
                этого спрайта с его маской аналогично Col+m.
        Lin+M - спрайт с маской хранящийся построчно. Спрайт череду-
                ется с маской сл. образом: line1 - mask
                                           line2 - sprite
                                           line3 - mask
                                           line4 - sprite...
        Line  - спрайт без маски хранящийся построчно.
        Har+m - спрайт с чередующейся маской (чередование аналогично
                Col+m) хранящийся гармошкой.
        Harмо - спрайт без маски хранящийся "гармошкой".
    
    !!!  Впринципе,  пока-что нужны только первые два формата хране-
         ние. На-счет остальных подумаю :)
    
    6 - номер экрана
    
    7 - служебные  флаги  текущего  спрайта (см.  структуру хранения
        спрайтов)
    
    8 - смещение адреса от начала набора для текущего спрайта.
    
    9 - кол-во свободной памяти в спрайт буфере.
    
    
    Горячие клавиши:
    
    W/S - преведущий/следующий спрайт в наборе.
    R/F - уменьшить/увеличить  размер "перемещаемой  рамочки"  (окна
          копирования) по X.
    T/G - уменьшить увеличить резмер "перемещаемой рамочки" по Y.
    1/2/3/4/5/6/7/8/9/0 - size  points.  Переключение  фиксированных
                          размеров "рамочки".  Например:  по 1 будет
                          включаться размер 2x16, 2 - 2x20, 3 - 3x24
                          и т. д.
    Если  будешь  делать произвольное задание окна копирования как в
    BGE (что  очень даже желательно), то кнопици R/F, T/G, 1...0 на-
    фиг не нужны! :)
    C - включение/выключение "цветности" спрайта.
    К - переключение  режимов  кодировки. Сделай переключения на все
        написанные  мной  режимы (по крайней мере, пусть это хотя бы
        только отображается).
    D - удаление  текущего  спрайта из набора. После удаления спрайт
        набор уплотняется.
    
    !!! Обязательно сканируй клавишу D на отпускание (впринципе, все
        остальные лучше тоже). Делается это так:
                                           LOOP XOR A
                                                IN A,(#FE)
                                                CPL
                                                AND #1F
                                                JR NZ,LOOP
    
    Z/X - переключение scr1/scr2
    SS + 1/2/3/4/5/6 - включение/выключение служебных флагов текуще-
                       го спрайта.
    CS + 1 - выход в главное меню
    
    ***
    sprie viwer - просмоторщик  спрайтов.  Внизу  так  же  как  и  в
    encoder'е  распологается служебная строка. В самом просмоторщике
    действуют  следующие клавиши:  W/S, D, SS + 1/2/3/4/5/6 и K.  Их
    предназначение аналогично encoder'у. По нажатию клавиши K проис-
    ходит перекодировка (если она возможна).
    
    !!! Перекодировку делай только если будет более 2 форматов коди-
        ровки, что на данный момент, как мне думается, ненужно. :)
    
    
    ***
    load screen 1 / load screen 2 - загрузки экранов в  экранный бу-
    фер. (Два экрана должно быть на тот случай,  когда группа файлов
    раскидана по экранам, а расположить надо попорядку)  Должно заг-
    ружать  как  стандартные экраны, так и экраны без атрибутов. Так
    что на всякий случай нужно прочищать атрибуты в буфере и устана-
    вливать их в default screen attr (смотри Setup).
    
    ***
    save sprites - сохранение  перекодированного  набора  спрайтов в
    файл без теблицы адресов адресов этих спрайтов.
    
    ***
    save sprites with tabl - сохранение   перекодированного   набора
    спрайтов в файл с таблицей адресов (см. структуру спрайтов)
    
    ***
    save sprites tabl - сохранение таблицы асресов спрайтов
    
    !!! Последние двe опции сохранения можно не делать.
    
    ***
    clear  sprite  buffer - очистка всего набора спрайтов. Предвари-
    тельно должно подтверждаться: "Sure? (y/n)".
    
    ***
    Setup - он и в африке сетуп :)  Здесь  можно  сделать  установку
    size points (1/2/3/4/5/6/7/8/9/0 в encoder'e), установку атрибу-
    тов и прочую...
    
    
                       Формат хранения спрайтов.
    
    Максимальное  кол-во  спрайтов - 255  включая  нулевой.  Нулевой
    спрайт - пустой  спрайт, создается автоматически и не удаляется.
    Кроме того в памяти создается таблица адресов этих спрайтов, или
    точнее, смещений от начала набора. Предположим, спрайт буфер на-
    чинается с адреса #B100, a таблица хранится в #AE00.
    
    #AD00...#ADFF - младший байт смещения для спрайтов  #00...#FF, а
    #AE00...#AEFF - соответственно старший байт.
    
    Таким  образом, такое расположение таблицы ускоряет процесс изв-
    лечения  смещения с програмной точки зрения. Само извлечение ад-
    реса спрайта NN может иметь сл. вид:
             LD L,NN
             CALL COUNT
             ...
    
    COUNT    LD H,#AE
             LD L,(HL)
             INC H
             LD D,(HL)
             LD HL,#B100
             ADD HL,DE
             RET
    
    Кроме  того,  с  адреса  #B000...#B0FF можно расположить таблицу
    служебных  параметров  для  спрайтов  #00...#FF, которая приймет
    следующий вид:
             bit0 - при =1 спрайт с атрибутами
             bit1 - при =1 спрайт с маской
             bit2...bit7 - какие-нибудь служебные фаги
    
    Если  мне понадобится какой-то другой (кроме постолбикового хра-
    нения как с маской, так и без) формат хранения спрайтов, то при-
    йдется пожертвовать некоторыми служебными флагами.
    
    С адреса #B000 располагаются сами спрайты в следующем формате:
    
    addr=адрес нулевого спрайта, т. е. начала всей "спрайтовой обла-
    сти"
    
    addr+1 - ширина спрайта
    addr+2 - высота  спрайта (в  пикселах). Возможно мне понадобятся
    извраты типа: высота/2 или высота/4.
    addr+3...addr+n - собственно, сам спрайт.
    
    В  принципе  саму  подпрограмму перекодировки можешь пока не пи-
    сать,  т.  к.  я тут могу еще кое-что надумать. Пока я не напишу
    подпрограммы вывода перекодировку не пиши :)
    
    
    Собственно, это все.
    [свернуть]




    Два глаза и язык, бражащий слюной, который бы ходил по пазлам а-ля Pentagram, Knight Lore и Head Over Heels.
    Рядом вариант с руками и еще какая-то психоделическая рожа, которая нам тогда нравилась )))

    Игра задумывалась ничуть не менее психоделичной, чем Sweevo's World

    В архив, кстати, будет включена спектрум графика, включая скришноты и компанованую графику из игр (когда-то выдирали - смотрели как нарисовано и все продумано).
    Последний раз редактировалось Shadow Maker; 30.01.2021 в 18:28. Причина: подправь ссылку в посте на веб архив тогда ))))

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. C-jeff — Big Steel Wheels
    от C-jeff в разделе Творчество
    Ответов: 10
    Последнее: 20.11.2013, 01:47
  2. C-jeff & MEgus на 8bit.fm
    от newart в разделе Музыка
    Ответов: 0
    Последнее: 08.10.2011, 17:13
  3. C-jeff - Electric
    от C-jeff в разделе Музыка
    Ответов: 2
    Последнее: 29.08.2009, 11:21
  4. Дисковые утилиты (типа DCU)
    от EEA в разделе Amiga
    Ответов: 5
    Последнее: 10.11.2008, 18:07
  5. Ответов: 9
    Последнее: 07.11.2008, 05:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •