а код вместе с файликами из пары постов сверху - можно перевыложить?
Вид для печати
а код вместе с файликами из пары постов сверху - можно перевыложить?
открываю рабочий репозиторий ;)
пожалуйста пока не публикуйте ссылки за пределы форума
хочется причесать исходники а уж активно продвигать их в приличном виде
https://bitbucket.org/esl/exolon-zx
вопросы - задавайте
буду дописывать ридми, про кишки
ибо сам всё забываеш в процессе и описания рулят.
если кто-то активно опишет graphics_sprites_code_*.asm было бы полезно
это отрисовка спрайтов
16x16 и 24x32 с учётом "непрозрачных" блоков
с 8x8 вроде всё ясно ;)
для ускорения там потенциал .....
открываю рабочий репозиторий ;)
пожалуйста пока не публикуйте ссылки за пределы форума
хочется причесать исходники а уж активно продвигать их в приличном виде
https://bitbucket.org/esl/exolon-zx
вопросы - задавайте
буду дописывать ридми, про кишки
ибо сам всё забываеш в процессе и описания рулят.
если кто-то активно опишет graphics_sprites_code_*.asm было бы полезно
это отрисовка спрайтов
16x16 и 24x32 с учётом "непрозрачных" блоков
с 8x8 вроде всё ясно ;)
для ускорения там потенциал .....
можно сказать что "темных пятен не осталось"
и видимо народу это не нужно ;)
p.s. я не кодер, а особенно на ZX, по этому всё субъективно
забавные факты.
игра - 48к
если пустили на 128 (определили по байтику пзу)
то на заставке или 48 музыка до нажатия, или музыка AY на фоне меню
не по прерываниям ;)
эффекты на AY выводятся не зависимо от его наличия.
синхронизации НЕТ ВООБЩЕ
главный цикл, из него поочереди вызываем всё по кругу
все спрайты выводятся XOR
спрайты игрока 24x32 при повороте право/лево in place "поварачиваются"
большие спрайты (16x16 & 24x32) кое в чём забавно
алгоритм
на вход кроме x,y,spriteid передаем еще адрес буфера
для начала сдвигаем нужный нам спрайт в буфер на нужное кол-во бит
далее на этот буфер накладывем маску видимости побайтно (точнее то что под фоном становится =0)
далее стираем xor старую картинку (из буфера что хранения)
отрисовываем новую из рабочего буфера
копируем рабочий буфер в буфер хранения
вроде так ;)
для мелких спрайтов 8x8 - для начала они preshifted
и выводятся поверх картинки без учёта прозрачночти
пули играка - не спрайты
ню, я не эксперт, для этого и просил посмотреть спецов
но прерывания - запрещены ;)
и другого способа я не заметил,
но повторюсь - я не спец в таких вещах
какие еще способы есть кроме halt и прерываний ?
вот еще, раставил в главном цикле такой код
вот как выглядитКод:;ESLDBG
ld a,4
out (0xfe),a
;ESLDBG
call move_player
;ESLDBG
ld a,0
out (0xfe),a
;ESLDBG
Исходники официально считаю открытыми ;)
https://bitbucket.org/esl/exolon-zx
Еще немного причёсаны.
Если кто чего найдёт - велкам.
На вопросы тоже готов ответить пока помню
Народу это нужно и интересно. Просто я, например, был бы очень рад, если бы кто-то провел работу по оптимизации кода - чтобы не тормозило так яростно при взрыве ракеты и прочих событиях. Игра и без того чудесная, а так стала бы еще лучше.
Но я не кодер (точнее, кодер, но так себе и вообще не под zx), поэтому вынужден ждать и надеяться на лучшее.
А если бы кто-нибудь сделал сиквел или хотя бы портировал уже имеющийся (http://www.zxgames.com/en/exolon.shtml), - было бы вообще шикарно.
Страхолюдная графика какая-то.
Есть уже http://retrospec.sgn.net/game/exolon Не сиквел, но графика ближе к оригинальной.