Tollel
Дело было в чятике #z80. Кто-то спросил, как делается этот эффект из риалтайм Di:Halt 2016, я не успел объяснить…
Да, в чятике всегда происходит нечто интересное. Мы сидели, наблюдали за стримом, в это время была объявлена тема Realtime Coding — «Туннельное безумие».
Идей таковых не было, готового кода тоже. Запилить одну гифку? Неспортивно.
В это время Какос Нонос бросает фразу: сегодня сделаю толлель(или примерно так звучала фраза). И мне попадается на глаза картинка:
Заодно вспомнилось, как ребята из BeerManz на DH:99 усердно агитировали на участие. Поэтому я решил взяться за конкурс, вышло, конечно не 50fps, но попытаться оно стоило.
Первая идея — занять поле 192х192, я описал координаты точек в sjAsm+:
;here is coords
tollel:
x=0
dup 192;r
db x
db 0
x=x+1
edup
y=0
dup 192;d
db 192
db y
y=y+1
edup
x=192
dup 192;l
db x
db 192
x=x-1
edup
y=192
dup 192;u
db 192*0
db y
y=y-1
edup
по идее, вернее по понятиям, нужно написать код, формирующий данные.Но мне так удобнее.
Теперь проще пустить линию по описанным координатам:
;line data
lines:
dw 192
dw 192*3
dw DRAW_R;db 255*0
dw 0;counter
dw 192*2
dw DRAW_R;db 255*0;mask for plot
dw 96
dw 96+192*2
dw DRAW;db 255
dw 96+192
dw 96+192*3
dw DRAW;db 255
В структуре два слова — это номера массива, следующее слово указывает на процедуру:
DRAW_R — рисует линию по точкам
DRAW — стирает точки на линии.
В качестве процедуры рисования линии я взял часть исходников от Bizarre Constructions(Иван поделился).
Сначала было внесено изменение построить точку/стереть точку, я переписал процедуры и разбил их на разные. Простой замер показал полфрейма на процедуру. Поэтому хватит 4х линий. Осталось правильно указать данные в массивах и написать проверку «зацикливание индексов».
Скачать исходники
всем realtime?
28 комментариев
можешь дополнить?
но я рад.
Вы серьёзно?
" … Ну теперь, стало быть, пошло. Пропал дом. Все будет как по маслу: вначале — каждый вечер — пение, затем в сортирах замерзнут трубы, потом лопнет паровое отопление и т.д… "
Он автор чего? Ворованных с интернета гифок? Перекрашенной чужой графики? Автор кода запилятора? Без спроса взятой музыки? Чего он такого произвел на свет, чтобы его вообще стоило поминать всуе?
… в то время как в официальных результатах все совсем по-другому.
Короче, если движок позволит, я прикрываю каменты, кому понадобится, пишите в личку.