madmouse

...
  • Очень хороший код, так держать!
    И с комментариями всё в порядке - программа отлично читается.

    Теперь попробуй запустить одновременно 2 (лучше 3) раза эту программу - нет будет ли между ними конфликта ?
    И еще надо продумать как удобнее выключать этот режим (иногда нужна "твёрдая" граница экрана).
    Может повесить какую-нибудь кнопку на панель задач?
  • Я вообще считаю что этот функционал надо встроить в драйвер мышки, и уже от туда включать или выключать, просто реально удобно и когда привыкаешь садишься за чужой компьютер так этого не хватает...

    Надо попробовать, я как-то не думал над тем что кому-то захочется запустить несколько экземпляров...:)

    В программе используется 1 переменная, можно ли от неё как-то избавиться, например хранить данные в стеке? Что можно посоветовать, думаю что 1 переменная на такую программу слишком расточительно :)
  • На панель задач сейчас лучше ничего не навешивать (я имею в виду кнопки). Код там и так запутанный... Хотя можно дописать обработчик ещё одной горячей клавиши, при нажатии на которую данная программа либо запускается, либо завершается.
  • Ну так это в коде самой программы же?Я ничего не путаю?
  • Можно и в коде самой программы. Но тогда её нужно запускать либо вручную, либо из авторана.
  • popovpa,
    молодец! Для начала очень хорошо.

    Рекомендую обратить внимание на файл /programs/macros.inc. Там есть много удобных и полезных фич. Например, такой код:

    Code: Select all

    mov     eax,5
    mov     ebx,1
    int     0x40
    можно заменить таким:

    Code: Select all

    mcall   5,1
    Удачи в дальнейшей разработке!
  • В первоначальном коде Sourcerer были макросы, но у меня к ним что-то не лежит душа, может со временем конечно же буду пользоваться, но сейчас...

    У меня в Windows тоже есть madmouse в нём тоже нет интерфейса и за много лет эксплуатации ни разу не понадобился, да и отключать приходилось всего 1 раз когда играл в Сибирь, там какой-то глюк был уже и не припомню...а так всётаки я склоняюсь к внедрению такой фичи в драйвер в котором уже и регулировать включение через галочку или ini файл...
  • Программа перекидывает только по горизонтали (между крайним левым и крайним правым положением), если сделать прекидывание по вертикали (между крайним верхним и крайним нижним положением), то программ будет полноценной и ее можно будет залить на SVN и включить в сборку.
  • Хорошо, постараюсь сделать!
  • Ну вот, благодаря Марату (Mario)...новая версия программы. Нумерацию не ввожу..думаю это излишнее. Прошу более опытных программистов взглянуть на код, если будет время, и дать рекомендации по оптимизации...СПАСИБО!
    Attachments
    madmouse.7z (1.81 KiB)
    Downloaded 416 times
  • Насчёт оптимизации я увидел вот: mov ebx,0 -> xor ebx,ebx
    Никогда до этого подобной программой не пользовался, но по ощущениям весьма приятно, хоть и не обычно. На больших мониторах может быть неплохой профит.
    Из хаоса в космос
  • Можно сделать так:

    Code: Select all

    cmp	ecx,0 можно заменить на test  ecx,ecx

    Code: Select all

    mov	ebx,1 можно заменить на xor  ebx,ebx
                                  inc   bl

    Code: Select all

    mov	eax,37 можно заменить на xor  eax,eax
                                   mov  al,37
    Так, код будет быстрее и короче.
  • Короче? Возможно! Быстрее? Не факт. А вообще - преждевременная оптимизация корень многих бед.
  • Вообще скорость зависит от проц-а, но то, что данные инстр. короче - факт (сам проверял).

    Code: Select all

    mov	ebx,eax можно заменить на push eax
                                    pop  ebx
    
  • Who is online

    Users browsing this forum: No registered users and 5 guests