29 ноября 2025
Vintage Software Development
Ответсообщение недоступноЯ так думаю, что владельцы скорпионов привыкли к такому
Ответсообщение недоступно
А ещё, чтобы накопить 11 иконок, нужно оочень долго играть и не тратить. Кто ж так будет делать )
Ответсообщение недоступно
Я поопробую объяснить по другому: весь мульт про БиБ он в такой тёмной палитре, и игра оригинальная тоже. Меня именно это останавливает. Так-то да, с брайтом рельефнее смотрится. Но не аутентично как-то.
Ответсообщение недоступно
Как-то на пьянке один наш кореш борцуха решил показать бросок на жене другого кореша. У неё недели две спина болит, ничего не помогает. Пошла с детьми кататься на ватрушке, подлетела на какой-то ямке, хряснулать жопой об снег - как рукой сняло
Ответсообщение недоступно
Тогда грёбаный флаг будет убого смотреться, квадратьить. Он и так квадратит, когда тачка проезжает, но это ещё терпимо.
Ответсообщение недоступно
Ещё можно читерить, но мне ооочень не хочется. Можно ограничить количество спрайтов на экране. Типа пока едет велек тачка не появляется и наоборот.
Это про такты
30 ноября 2025
Ответсообщение недоступно
Рубрика оптимизация.
У меня в 7й банке лежит эталон игрового экрана, чтобы оттуда восстанавливать фоны за некоторыми спрайтами.
Так я экономлю время при выводе спрайта, не сохраняя фон, а подставляя адрес в экране в функцию восстанавливалки фона.
Эта функция берёт нужную область из 7й банки и копирует 5ю.
Соответственно, нужно синхронно бегать HL по 5й и DE по 7й.
Для этого обычный DOWN_HL переделываем в DOWN_HL_DE, типа так:
macro DownHLDE
inc h : ld a,h : and 7 : jr nz,.downhlde
ld a,l : add a,32 : ld l,a : jr c,.downhlde
ld a,h : sub 8 : ld h,a
.downhlde ld a,h : or #80 : ld d,a : ld e,l
endm
Ответсообщение недоступно
После небольших раздумий правим говонокод:
inc h : ld a,h : and 7 : jr nz,.downhlde
ld a,l : add a,32 : ld l,a : ld e,l : jr c,.downhlde
ld a,h : sub 8 : ld h,a
.downhlde ld d,h : set 7,d
Ответсообщение недоступно
У меня этот макрос используется 104 раза (развёрнутые циклы), то есть экономим примерно 1092 такта, а это 4 пиксельных линии в инте!
Ответсообщение недоступно
Надо бы теперь перетряхнуть саму функцию. Непонятно, почему я изначально сделал DE->HL, а не наоборот. Это значит, что LDI и LDD не используются, а это ламерство.
upd не, всё норм. Это восстановление фона за плевками, они 1 байт в ширину и уже после отрисовки экрана рассчитываю и заполняю адреса для следующего кадра. И там тупо dup 18 : ld a,(bank7) : ld (bank5),a : edup