Total Annihilation
http://totalannihilation.getbb.ru/

Программа Total Annihilation Plus (TAP)...
http://totalannihilation.getbb.ru/viewtopic.php?f=16&t=1430
Страница 8 из 10

Автор:  [bl] [ 18 апр 2013 09:28 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

Об этой проблеме предупреждал последний пункт Рекомендаций из первого сообщения.
Пока не удалось найти место, где сохраняется статус открытого диалога для ввода сообщения. Как только найду - сразу реализую возможность. Но ещё будет проблема с вводом текста для маркера, который ставится через DemoRecorder, его диалоги существует вне кода Total Annihilation.
Пока могу посоветовать только отключение Activation Key или снятие выделения с активного юнита.

Автор:  Norfolk [ 18 апр 2013 19:01 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

А нельзя сделать так что бы хоткей не съедал букву? Допустим он срабатывает, но в чат тоже пускай пишется - во время диалога ведь кнопки строительства недоступны, так что по идее не сработает даже быстрая постройка=) Ну или даже если сработает, это не страшно.

Автор:  [bl] [ 19 апр 2013 14:32 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

Обновлённая версия 0.5.2:
  • Добавлена возможность запуска программы в системный трей, без отображения окна. Для этого в командной строке к программе надо добавить параметр tray. Например: "D:\Games\TotalA\TAP.exe" tray. Можно использовать для установки программы в автозагрузку (идея Norfolk).
  • Обновлен редактор настроек, картинки из Escalation 6.6.

Norfolk писал(а):
А нельзя сделать так что бы хоткей не съедал букву? Допустим он срабатывает, но в чат тоже пускай пишется - во время диалога ведь кнопки строительства недоступны, так что по идее не сработает даже быстрая постройка=) Ну или даже если сработает, это не страшно.

Первоначально, пока идея отлаживалась, была реализация с пропусканием нажатой кнопки в ТА для обработки. После этого всё переставало нормально работать. Если назначенная кнопка совпадёт с одной из игровых кнопок, например M, то после выбора строительства, игра обрабатывала эту кнопку и включала Move order юниту. Что тут же отменяло предыдущую операцию строительства. Поэтому на данный момент могу дать только такие рекомендации перед набором сообщения:
  • Отключить Activation key
  • Убрать выделение с юнита

Пока мне не удалось найти место в программе, где происходит переключение на ввод сообщения в чат. Как только будет найдено - тут же будет сделана новая версия.

PS: Не откажусь от помощи в разборе кода, поэтому согласен поделиться наработками по дизассемблированию TotalA.exe. Вся работа ведётся в программе IDA Pro 6.1.

Автор:  Norfolk [ 19 апр 2013 21:12 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

А на ТАУ не интересовался?

Автор:  Norfolk [ 19 апр 2013 21:19 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

Цитата:
О: Если ActivationKey отключена - все кнопки обрабатываются игрой. Если включена - то у игры забираются назначенные кнопки. Те кнопки, которые не были назначены для выделенногго юнита, передаются на обработку в игру.

Я заметил что не забираются хоткеи, или по крайней мере не все, у меня на Z выставлена постройка экстрактора, одновременно с постройкой меню перелистывается на первую страницу, особо но мешает, но факт.

Автор:  [bl] [ 22 апр 2013 09:56 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

Да, с кнопкой Z есть проблема, она как-то иначе обрабатывается игрой. Ну что ж, будем искать...

Автор:  gBopKuH [ 10 июн 2013 10:19 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

Можно в этой проге переназначить ctrl+B (и вообще все кривые хоткеи из та-демо) на одну дурую более удобную кнопку?

Автор:  Norfolk [ 10 июн 2013 14:44 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

У меня треёная версия не работает, звук есть но ниче не работает, пишет что чего-то там не хватает вроде, точно не помню.

Автор:  [bl] [ 10 июн 2013 16:56 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

gBopKuH
Переназначить кнопки Demo Recorder я не смогу, поскольку это уже совсем другая программа. Как вариант, можно попробовать на TAUniverse просить у разработчиков вынести кнопки в отдельный файл настроек или добавить возможность их редактирования во время игры (расширить диалог по Ctrl+F2).

Norfolk
Проверил на доступных сейчас компьютерах - работает после запуска в трей :(

Немного поясню принцип работы программы:
  • TAP - это просто оболочка, которая запускается и ждёт появление totala.exe в запущенных процессах. Ничего больше не делает.
  • После появления в процессах totala.exe делается небольшая пауза, после чего происходит внедрение своего кода в код игры. Внедрённый код запускается как отдельный поток в игре, поэтому повлиять на работу самой игры не может.
  • Внедрённый поток так же делает паузу в 10 секунд и потом начинает подготовку данных к работе, читает файл настроек и перехватывает WndProc игры. Это та самая функция, которая в игре отвечает за обработку всех событий от клавиатуры, мышки и прочего. Тут стоит как раз остановиться на моменте загрузки настроек. Поскольку код внедрён в totala.exe, то и работает он от имени этого процесса. Поэтому и читается файл TAP.ini именно из директории, где находится сама игра. Если во время загрузки настроек удалось успешно прочитать файл настроек, то воспроизведётся системный Стандартный звук. Звук Критической ошибки говорит о том, что не удалось перехватить WndProc (что, в принипе, не случается) в игре или не удалось прочитать файл с настройками. Поэтому я и рекомендую держать все файлы программы TAP в директории с игрой - так будет проще.

Если что-то мешает работать, значит это надо искать. Я всегда проверяю TAP на трех компьютерах с абсолютно различной начинкой. С видеокартами трёх основных вендоров, с процессорами разных поколений и производителей. Имеется дополнительная клавиатура, чтобы проверять даже вариант с двумя клавиатурами. Но я не могу абсолютно точно воспроизвести все нюансы вашего окружения в системе. Поэтому, пожалуйста, сообщайте о том, какие фоновые программы у вас запущены (PuntoSwitcher, может ещё что нибудь для работы с клавиатурой). Вполне может быть, что ddraw.dll из свежей версии мода что-то своё добавил и теперь мешает.

Если бы у меня программа не работала хотя бы по какому-то одному пункту - я бы её не выкладывал в общее пользование. Поэтому я и прошу вашей помощи в этом деле. :)

Сегодня или завтра выложу обновлённую версию.

Автор:  gBopKuH [ 10 июн 2013 17:07 ]
Заголовок сообщения:  Re: Программа Total Annihilation Plus (TAP)...

[bl] писал(а):
gBopKuH
Переназначить кнопки Demo Recorder я не смогу, поскольку это уже совсем другая программа. Как вариант, можно попробовать на TAUniverse просить у разработчиков вынести кнопки в отдельный файл настроек или добавить возможность их редактирования во время игры (расширить диалог по Ctrl+F2).

Наверно можно сделать что бы прога отслеживала клавиатуру и при нажатии на заданную клавишу посылала в totala.exe уже любую другую комбинацию, например ctrl+B.

Страница 8 из 10 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/