[00:32:29] <TRUE> классный способ дать нагрузку на сердце - прокатиться на велосипеде. http://www.robertwechsler.com/wp-content/uploads/2012/10/the_best_circular_bike1434.jpg
[00:52:09] <valexey> догоняй её!
[10:00:32] <valexey> клеветы! http://forum.oberoncore.ru/viewtopic.php?p=81028#p81028
[10:11:14] <Kemet> valexey: что это за оператор bool operator () (const vertex_dist& val)
[10:11:52] <valexey> перегруженный оператор (), а что?
[10:12:10] <valexey> можно переменной данного типа сказать так: my_cool_val(arg);
[10:12:38] <valexey> получаем функтор.
[10:13:28] <Kemet> извращенцы
[10:13:40] <valexey> удобнор.
[10:13:49] <valexey> в ряде случаев
[10:14:07] <Kemet> глядя на кот хрен поймешь что происходит
[10:14:16] <valexey> мысли выше :-)
[10:14:33] <valexey> class/struct в с++ оно не для ООП.
[10:14:42] <Kemet> это надо исходники рыть
[10:14:47] <valexey> точнее далеко не только для.
[10:15:14] <valexey> зачем тебе исходники рыть? val(arg); // это ж по сути вызов функции.
[10:15:18] <valexey> как ни смотри
[10:15:38] <Kemet> так нах тогда оператор
[10:15:41] <valexey> а вот какой именно - тебе в любом случае придется на спеки смотреть.
[10:16:15] <valexey> ну, вот смотри. знаешь ключевое слово static для переменных в Си?
[10:16:33] <valexey> (объявленных внутри функции)
[10:16:41] <Kemet> хорошо что этих функторов в АО нету, с другой стороны придется вдумчиво кот переносить
[10:17:47] <valexey> перегрузка оператора () по сути позволяет сделать экземпляр функции с такими вот переменными, независимыми от других экземпляров.
[10:18:07] <Kemet> ыыы, такого оператора наверно в обероне не будет, потому что () уже используется как оператор приведения
[10:18:33] <valexey> да, синтаксис приведения типов у Оберона абсолютно долбанутый.
[10:20:11] <Kemet> ну он там разный можно LONGINT(1 ) и SameType(AsType)
[10:20:46] <valexey> ну, в Виртовском обероне, и всяких там КП, вроде бы только второй вариант. var(Type)
[10:20:59] <Kemet> угу
[10:21:10] <Kemet> в этом тоже есть свои плюшки
[10:22:04] <valexey> а то! даешь заворот мозгов на ровном месте! переменная выступает в качеству функции которая принимает в качестве аргумента тип!
[10:22:04] <Kemet> мемберы лучше воспринимаются - рядом стоит тип
[10:22:38] <Kemet> не всякая переменная, а структурная!
[10:24:06] <valexey> да, для остальных там замечательные приведения типа SHORT(SHORT(var))
[10:24:55] <Kemet> ну дак - приведение же зло!
[22:36:19] <jordan36957> Возможно вопрос странный, но как на приставках типа денди, сега мега 16 бит, реализовывали анимацию? Там был фиксированный фпс, к примеру 30 или отрисовывали точечно, обновляли часть экрана. Или подсчитывали обновляемый размер экрана, пример если нужно обновить только 20 на 20 пикселей, отрисовывать весь экран, незачем. Где об этом почитать? Или почитать об общих механизмах отрисовки анимации.
[22:38:02] <valexey> ой, полагаю там вообще было весело.
[22:38:10] <TRUE> там телик
[22:38:16] <TRUE> 24 кадра в секунду
[22:38:20] <valexey> там же аналоговое управление. соответственно понятия "пиксель" там не особо стояло.
[22:38:57] <valexey> ну и там была соответствующая железяка которая за это дело отвечала
[22:39:24] <jordan36957> То есть 24 раза в секунду обновляли экран?
[22:39:35] <TRUE> экран сам обновлялся
[22:39:49] <valexey> вопрос только чем :-)
[22:39:56] <TRUE> провод, которым соединялся экран с приставкой - это практически антенна
[22:41:09] <valexey> ну, вообще, да. управляющие сигналы приставка слала постоянно.
[22:41:26] <valexey> при этом никто не заставляет держать фреймбуфер.
[22:41:39] <jordan36957> Найти бы хоть какой исходник и посмотреть. Так как без фрембуфера?
[22:41:50] <valexey> а зачем он тебе? :-)
[22:41:55] <jordan36957> Перегонять по пикселю, дорого.
[22:42:05] <valexey> э?
[22:42:18] <valexey> ты в любом случае ПОСТОЯННО гонишь данные по аналогу
[22:42:26] <valexey> полную информацию по каждому сканлайну
[22:42:38] <valexey> генерить оную информацию можно на месте.
[22:43:22] <valexey> это ж не цифра.
[22:43:32] <valexey> грубо говоря, ты управляешь лучиком осцилографа
[22:43:45] <valexey> (очень грубо говоря)
[22:44:24] <valexey> впрочем, я все эти тонкости радостно забыл, надо погуглить чо и как там было :-)
[22:45:00] <jordan36957> Не тот пример привёл. Как в далекие времена в гуи, на вин 3.1 выводил анимацию? Типа вращающие значки и т.д?
[22:45:33] <jordan36957> 30 фпс вроде жирно.
[22:46:55] <valexey> я не помню особой анимации в вин 3.1 :-)
[22:47:06] <valexey> ну, то есть с анимацией в 3.1 было ОЧЕНЬ плохо
[22:47:10] <valexey> и в вин 95 тоже
[22:47:27] <valexey> поэтому и появился Game SDK, в последствии превратившийся в DirectX
[22:47:51] <jordan36957> Как сделать плавную анимацию, без рендера в 30 фпс? Такое завязано на таймере?
[22:47:57] <valexey> по сути Game SDK это хак, позволяющий приложению покласть болт на все виндовозные абстракции, и напрямую работать с видеокартой.
[22:48:26] <valexey> Ну, ваще, для 2Д анимации 30 fps - это мало. Очень мало
[22:48:29] <valexey> Нужно минимум 60
[22:48:48] <valexey> (60 это на tft мониторах, на элт, неплохо бы повыше)
[22:49:30] <valexey> С другой стороны. смотри. Если у тебя анимированный значок 16x16 пикселей, то для ПЛАВНОЙ анимации тебе вполне хватит 5 кадров в секунду
[22:49:35] <valexey> То есть можно и по таймеру.
[22:50:54] <jordan36957> То есть нужно создать список событий, и проходить по нему замеряя время от предыдущего, после чего перерисовывать если время пришло? Так?
[22:53:01] <valexey> Дак, банально вешаешься на виндовозный таймер и отрисовываешь по кругу кадры.
[22:56:13] <jordan36957> Вроде в теории понятно.
[23:06:08] <jordan36957> Скачал пару исходников игр для денди, оно там всё на асме.
[23:06:33] <valexey> естественно
[23:06:39] <valexey> иначе не уложиться
[23:06:49] <valexey> не на обероне же писать :-)
[23:07:16] <jordan36957> Для меня это каракули :-)
[23:07:32] <valexey> да ладно. асм штука простая
[23:07:47] <valexey> всяко проще оберона :-)
[23:07:53] <valexey> нужно только доку прочесть :-)
[23:10:43] <jordan36957> Ну незнаю, даже мой гуманитарный мозг, на си наваяет больше, чем на асме. :-)
[23:11:02] <jordan36957> И я хотя бы буду понимать, что я делаю.
[23:11:27] <valexey> Ну, это не отменяет факта, что асм как язык проще и сей и оберонов :-)
[23:11:49] <valexey> алсо на си у тебя будет лучше проще и быстрее потому, что ты его уже знаешь
[23:11:52] <valexey> а тот асм - еще нет
[23:11:53] <jordan36957> Это ни те исходники, ромы пропустили через декомпилятор и получили асм код с комментариями.
[23:13:03] <jordan36957> Написаны игры на асм 6502
[23:14:32] <jordan36957> Ух ты даже учебники есть на русском.
[23:14:47] <valexey> дык, проц то широко применялся (а может еще и применяется)
[23:14:53] <valexey> оно ж не только в денди было
[23:18:14] <jordan36957> Частота (для версии PAL) – 1.79 МГц
[23:18:30] <jordan36957> Теперь понятно, почему ассемблер.
[23:19:02] <jordan36957> Это частота процессора денди.
[23:20:45] <valexey> угу
[23:20:53] <valexey> там еще и с памятью все печально
[23:22:50] <jordan36957> Интересно, зачем в денди заморачивались с картриджами, можно было игры и с дискетки пускать.
[23:23:01] <valexey> нельзя
[23:23:14] <valexey> картриджи в том числе дополнительную ОЗУ держали
[23:23:19] <valexey> например
[23:23:27] <jordan36957> Ну, так это дороже.
[23:23:43] <jordan36957> Удоражает картридж
[23:23:45] <valexey> ну дык они и не бесплатно продавались :-)
[23:23:59] <valexey> хорошая игра продается дороже.
[23:24:06] <valexey> хорошая игра требует больше ОЗУ
[23:24:15] <valexey> озу для игры идет вместе с игрой
[23:24:18] <valexey> по моему, логично.
[23:24:28] <jordan36957> Понял.
[23:27:06] <jordan36957> На си под такие процессоры писали? Или слишком высок уровень абстракции?
[23:27:28] <valexey> Думаю писали.
[23:27:51] <valexey> Пишут же сейчас под более хилые процессоры на С++
[23:28:25] <jordan36957> На уровне си? Без стл и других фич?
[23:29:15] <valexey> Ну, с шаблонами. stl там нинужен в силу нинужности кучи. то есть память обычно статически распределяют.
[23:29:46] <valexey> то есть new/delete в микроконтроллерах это моветон обычо.
[23:29:49] <valexey> *обычно
[23:30:07] <valexey> память там вся как на ладони.
[23:34:05] <valexey> более того, там иногда и использование стека (размещение переменных на стеке) считается моветоном.
[23:34:47] <jordan36957> Я читал в книге, в разделе встраиваемые системы.