Rocket Forces

Entertainment for 5 minutes, hours, days
  • Ghost
    Вот дублирую: http://depositfiles.com/ru/files/1004309

    camper
    Что-то я не очень понял мысль..
  • Serial все в полном порядке, просто я сокрушался одн время что курсор колибри в окнах обычно мелькает и на медленных компах порой вообще его не видно, в рокетсах курсор-крестик не мелькает и не пропадает, вот бы эту возможность взять и перенести в базовый курсор.
  • camper wrote:Serial все в полном порядке, просто я сокрушался одн время что курсор колибри в окнах обычно мелькает и на медленных компах порой вообще его не видно, в рокетсах курсор-крестик не мелькает и не пропадает, вот бы эту возможность взять и перенести в базовый курсор.
    ага вот это было бы супер!!!
    А то пользуюсь кос 2 час уже глаза из за него болят :(
    в игре понг он вообще пропадает и игра глючит из за него
  • camper

    Хех))
    А в какой версии курсор не мерцает, с индексом "h" или "s"?
  • вроде бы в обеих нормально
  • camper

    Тогда дело в том, что я перерисовываю не всё окно 0-ой функцией, а только движущиеся объекты (и даже фон каждый раз не заливаю).
  • Мне кажется можно всё сделать проще - чтобы функция 0 перерисовывала не всё окно, а только активную область без заголовка. А вот например функция 0, подфункция 1 окно вместе с заголовком. Можно наоборот, но лучше так.

    Это реально сделать?
  • Leency

    Дада.. реально. И было бы довольно таки полезно.
    Но это уже не ко мне. Я с ассемблером на "Вы" разговариваю :)
  • Функция 0 имеет так называемый "флаг C" (EDX). Если он установлен, при вызове функции не закрашивается рабочая область. Используется в Tinypad и KFAR, то есть программах, которые полностью рисуют рабочую область сами.

    Ссылка на описание: http://kolibrios.org/?p=Documentation&s ... 00&lang=ru
  • А сдесь смысл в обратном - чтоб рабочая область перерисовывалась, а заголовок если надо перерисует сам чел.
  • Leency
    Ты, наверное, немного не понимаешь. Единственное место, где должен рисовать программист - это рабочая область. Заголовок в любом случае рисует ядро, и самому ничего на нём рисовать крайне не рекоммендуется, хотя бы потому, что в будущем (не знаю, насколько далёком), программе просто не будет дозволено там рисовать.
    Рисование же рабочей области ядром нужно крайне не всегда, и мерцание объектов при вызове 0-й функции (насколько я понял) происходит из-за того, что ядро зарисовывает рабочую область цветом фона, и после этого на нём рисуются объекты, что есть медленно.
  • Какая, нафиг, "перерисовка только рабочей области"? Она тут явно ни при чём. Мне кажется, дело в следующем. Заслуга программы только в том, что не мигает её окно - это потому что использован идеологически правильный подход (перерисовывать только то, что реально изменилось). Курсор в rforces не пропадает из-за особенностей кода ядра - конкретно, функция 7 (используемая в том же pong, но не в rforces) и функция 38 используют разные методы работы с курсором:

    Code: Select all

    .doit:
            inc     [mouse_pause]
    ...
            dec     [mouse_pause]
    ...
            jmp     [draw_pointer]
    
    versus

    Code: Select all

            call    [disable_mouse]
    ...
            call    [draw_pointer]
            ret
    
  • diamond
    Я уже вот год как жду, как кто-нибудь перепишет код курсора. Текущий вариант дорабатывал я и не спорю, что он мягко выражаясь неоптимален. Однако все почему-то только говорят о проблеме с курсором, но никто не берется...
    Да и потом если сейчас переписать вывод курсора, то вероятность объединения графического ядра и плоского вообще будет стремиться к нулю. Впрочем, оно и сейчас уже близко к нулю.
  • Mario79
    Не так уж много народу действительно могут это сделать, а все, кто могут, заняты более интересными и/или полезными вещами.
  • Who is online

    Users browsing this forum: No registered users and 4 guests