Форум Dwarf Fortress

Модификации => Обсуждение модов => Тема начата: mialax от 16 Ноябрь 2010, 14:16:11

Название: Сканер переводчик
Отправлено: mialax от 16 Ноябрь 2010, 14:16:11
Версия 0.02.02

Ограничения:
1) Программа поддерживает только оконный, графический режим работы ДФ с тайлами 16х16 (ограничение на размер тайлов планируется убрать в дальгейшем).
2) Программа слабо отлажена и её работа скорее всего будет сопровождаться различными ошибками. Данная версия предназначена только лишь для тестирования.
3) Текста переведено мало.
4) Качество цветопередачи должно быть 32 бита.

Инструкция:

1) Скопируйте содержимое папки df_Shell в папку ДФ.
2) Запустите ДФ
3) Запустите df_shell
4) Наведите курсор мышки на окно ДФ. При этом окно df_shell прикрепится к верхнему правому углу.
5) При наведении мышки на любые фразы, их текст будет появляться в верхнем правом углу в оригенальном или переведённом варианте, взависимости от наличия выбраных слов в словаре.
6) Режим отдельного окна позволяет просматривать изображение окна ДФ с нарисованым поверх него переводом. Для перехода в этот режим нажмите "Отдельное окно". Для закрытия этого режима нажмите "нет".

Переведено:
1) Основное меню режима крепости.
2) Меню строительства.
3) Меню приказов.
4) Меню хранилищ.
5) Меню зон.

Добавлен режим отдельного окна. В этом режиме появляется окно с изображением окна ДФ с нарисованым поверх него переводом. Изменяя размер окна и использую бегунки можно просматривать нужный участок или всё окно ДФ.

(http://clip2net.com/clip/m61438/1290772179-dfshell2-208kb.jpg)

Ссылка на скачивание:
http://rghost.ru/3384334
Название: Re: Сканер переводчик
Отправлено: Krynnit от 16 Ноябрь 2010, 15:02:03
Сделай окно в 2 раза выше и размести второе меню снизу.
Название: Re: Сканер переводчик
Отправлено: Dj007I от 16 Ноябрь 2010, 15:09:41
а можно уже эту версию получить мне и так сойдёт пока потестить (или сделай так выложи в топике файл и обновляй его)
Название: Re: Сканер переводчик
Отправлено: Jesus от 16 Ноябрь 2010, 16:41:06
Сколько времени идет обработка картинки? (примерно попробуй запустить обработку на 1 000 или 1 000 000 раз и засечь среднее время обработки 1 картинки)
Название: Re: Сканер переводчик
Отправлено: mialax от 16 Ноябрь 2010, 16:44:08
Dj007I, подожди, дай хоть потестить прогу чуток и перевода набить. Завтра к вечеру дамаю первый вариант выложу.
Надо хотя бы попробовать её на голой винде запустить.
Название: Re: Сканер переводчик
Отправлено: Dj007I от 16 Ноябрь 2010, 16:47:14
я попробую я всегда мечтал быть альфа тестером!!!
Название: Re: Сканер переводчик
Отправлено: O4epegb от 16 Ноябрь 2010, 19:18:27
Можно делать окно дф такое, чтобы оставалось место для проги, которая бы была такого размера, как блок меню. Я бы так сделал.
Т.е. чтобы рпога переводила весь блок меню сразу, если так можно сделать. Вот)
Название: Re: Сканер переводчик
Отправлено: Jesus от 16 Ноябрь 2010, 19:21:57
а я предлагаю :) если время обработки не более 40 мс (примерно 25 кадров в секунду) рисовать прям на экране, предварительно сохранив кадр для перевода.
ТС на чем пишешь?
Название: Re: Сканер переводчик
Отправлено: mialax от 16 Ноябрь 2010, 22:25:41
Пишу по рабоче крестьянки на Делфи. Студии под рукой не было.
Jesus, можешь подробней изложить механизм, а то под виндой мало пишу. Как узнать момент перерисовки окна? Мне ведь нужно чётко знать этот момент. Сообщение WM_PAINT вроде не подходит. Есть у меня одна идейка, но это уже полнейший изврат.

O4epegb, скажем если войти в окно статус, то переводимая область уже охватывает весь экран. Ограничеваться боковым меню не хочется.
Название: Re: Сканер переводчик
Отправлено: Jesus от 17 Ноябрь 2010, 05:41:47
Пишу по рабоче крестьянки на Делфи. Студии под рукой не было.
Jesus, можешь подробней изложить механизм, а то под виндой мало пишу. Как узнать момент перерисовки окна? Мне ведь нужно чётко знать этот момент. Сообщение WM_PAINT вроде не подходит. Есть у меня одна идейка, но это уже полнейший изврат.

O4epegb, скажем если войти в окно статус, то переводимая область уже охватывает весь экран. Ограничеваться боковым меню не хочется.
Я под XP писал. перерисовку окна хрен отловишь. тут пришла идея :) в левом верхнем углу(в принципе у дварфов есть рамка в пределах которой можно сколько угодно контрольных точек расположить) к примеру рисовать "серо-буро-малиновую" точку :) и в цикле проверять если точка еще на месте значит новых кадров нету :). (я под DirectX в конечном счете, т.к. не смог справится с проблемой вылавливания кадра, нашел DLL-ку которая перехватывает создание D3D и дает возможность мне отслеживать кадры или даже рисовать прям там-же но к OGLу у меня такой штуки нету) винда не сообщает когда окошко реально перерисовалось а WM_PAINT собака имеет низший приоритет (т.е. Виндовс обрабатывает WM_PAINT только тогда когда ей уже совсем нечего обрабатывать, собственно из-за этого :) окошки иногда и подвисают некрасиво не перерисовываясь)
Когда получили новый кадр сразу его скинуть в буфер с помощью BitBlt и далее уже с ним работать (вообще я бы создал еще 1 рабочий буфер в который бы писал новую картинку.).
счас попробую на билдере (Builder C++) :) (лень окошки в коде писать) набросать идею с контрольной точкой :) узнаю выйдет или нет.
Название: Re: Сканер переводчик
Отправлено: mialax от 17 Ноябрь 2010, 08:54:22
Jesus, мы блин мыслим одинаково :) Как раз вчера мне идея с контрольной точкой мне пришла в голову. Я и написал "Есть у меня одна идейка, но это уже полнейший изврат."
Название: Re: Сканер переводчик
Отправлено: Jesus от 17 Ноябрь 2010, 10:18:31
что-то нифига не получилось...
при двойной буферизации по HDC получается доступен тока 1 из буферов даже если каждый раз в цикле выполнять GetDC
и получается каша :( с выключеным двойг\ным буфером картинка выглядит лучше, но есть ощущуние что перерисовывается не все и поэтому точка в районе рамки просто не всегда перкрашивается. без точки получаем еще более страшные глюки. :( надо думать.
Название: Re: Сканер переводчик
Отправлено: mialax от 17 Ноябрь 2010, 10:51:34
Выложил первую версию. Ссылка в первом поcте. Сейчас я попробую поиграться с точкой.
Название: Re: Сканер переводчик
Отправлено: Jesus от 17 Ноябрь 2010, 11:39:41
Получилось! :)
(все-таки не зря я билдер слегка не недолюбливаю... пересобрал в CodeBlocks)
На картинке показано место с точкой :) левый нижний угол чуть выше и правее полоски :) точка розовая (FF00FF)
2-Zip Екзешник :) запускать откуда угодно тока после запуска ДФ, приложение консольное но никакой вывод я не организовывал.
Закрывать :) банально закрыв консольку.
ну Main.zip - исходник на С++ (хотя по сути кроме WinApi там ниче нету)

По сути программа ничего не делает :) просто берет картинку с экрана, смотрит есть ли точка если нету копирут картинку побайтно из источника в приемник и приемник копирует в окошко DF. при некоторых условиях я получал глюки... счас буду дальше Экспериментировать.
Название: Re: Сканер переводчик
Отправлено: Jesus от 17 Ноябрь 2010, 12:02:20
Не все-же хрень получается :( добавил черный квадрат на середину Экрана моргает :( противно моргает при 1 буфере чуток получше при 2-х очень не красиво выглядит :(
Название: Re: Сканер переводчик
Отправлено: mialax от 17 Ноябрь 2010, 12:49:30
У меня тоже с некоторым морганием выходит. Сейчас ещё по экспериментирую.
Название: Re: Сканер переводчик
Отправлено: Dj007I от 22 Ноябрь 2010, 18:23:37
Ура товраищи мы полным ходом движемся к перводу дф!!!!!!! в египте посмотрел чуток в принциве под колу сойдёт. так как не дружу с програмированием буду за вас держыть пальцы!
Название: Re: Сканер переводчик
Отправлено: mialax от 23 Ноябрь 2010, 09:23:10
Всё пытаюсь сделать вывод перевода на окно ДФ, но мерцание побороть не удаётся.
Название: Re: Сканер переводчик
Отправлено: Jesus от 23 Ноябрь 2010, 10:02:47
Всё пытаюсь сделать вывод перевода на окно ДФ, но мерцание побороть не удаётся.
бросай это дело. я знаю что надо сделать :) но геморой огромнейший... надо перехватить SwapBuffers( HDC ) и нарисовать то что хочешь потом переключить буфер самому.

Адд: RSDN подсказывает что без Инжекта не обойтись, но когда я ковырял инжект в D3D я себе мозг сломал :) но там эффекта и не получил... в конечном счете подменил библиотеку. но с D3D все было просто там 1 функция использовалась... а в Gdi32.dll их тонны :) по идеи надо будет всем функциям писать заглушки а если меня не обманывает Борландовский "impdef.exe" то функций в ней 609.

Адд2: а подменить ее еще и фиг получится. эту DLL использует Explorer в своих целях поэтому она практически всегда подгружена в памяти. и DF юзает копию из мамяти а не то что я пытаюсь ему подсунуть :) (кстати наверное та-же проблема ждала меня при попутки подмены D3D в каких нибудь вистах или 7-ках где DirectX используется Экслорером).
Название: Re: Сканер переводчик
Отправлено: mialax от 26 Ноябрь 2010, 14:56:06
Обновил версию.
Добавлен режим отдельного окна. В этом режиме появляется окно с изображением окна ДФ с нарисованым поверх него переводом. Изменяя размер окна и использую бегунки можно просматривать нужный участок или всё окно ДФ.
Добавил немного перевода(хранилища и зоны).
Название: Re: Сканер переводчик
Отправлено: Dj007I от 26 Ноябрь 2010, 16:32:37
может я могу как-то помочь с самим переводом?
Название: Re: Сканер переводчик
Отправлено: mialax от 26 Ноябрь 2010, 16:49:26
Конечно можешь. Написал в аське.
Название: Re: Сканер переводчик
Отправлено: Korvin от 05 Апрель 2011, 06:35:16
Привет всем! Возник вопрос, будет ли продолжаться работа над этой програмкой? :)
На данный момент перевёл:
полностью основное меню,
полностью создание нового мира(Create A World)
полностью Создание новой области (Creating New Region)
полностью Выбор строительства крепости (Choose Fortress Location), со всеми менюшками (Change Mode), только нет перевода для ресурсов.
Почти полностью переведено подготовка к путешествию (Prepare for the Journey to Stintekkud), осталось немного перевести материалов.
+ ко  всему сделал правки уже существующего перевода.

Протестено. Отображается всё корректно.

Я думаю эта программка отличный помощник для новичков. Начал перевод по просьбе своей сестры :)
Название: Re: Сканер переводчик
Отправлено: phoenix от 06 Апрель 2011, 11:32:21
Korvin
крутая у тебя сестра раз играет в дф)
а файлик words.txt с вашим переводом можно заполучить?  ::)
Название: Re: Сканер переводчик
Отправлено: Korvin от 09 Апрель 2011, 15:37:22
Пока выкладывать перевод не буду. Выкладывать стоит то, что действительно стоящее.
На выходных буду править то что переведено. Так как кое какие фразы вовсе не фразы, а так набор слов. А приятней читать когда перевод фразами.
Название: Re: Сканер переводчик
Отправлено: Пещерный человек от 12 Апрель 2011, 09:02:32
Может это как-то поможет http://dffd.wimbli.com/file.php?id=1738
Название: Re: Сканер переводчик
Отправлено: Korvin от 12 Апрель 2011, 12:23:26
Может это как-то поможет http://dffd.wimbli.com/file.php?id=1738
ммм... и какой принцип работы этой програмки? что то я не много не понял как она работает.
Название: Re: Сканер переводчик
Отправлено: Пещерный человек от 12 Апрель 2011, 14:58:07
Как я понял, она тоже работаeт с файлом words.txt.

ХЗ как, я не программист.
Название: Re: Сканер переводчик
Отправлено: Korvin от 02 Июнь 2011, 10:36:29
перевод ДФ останавливается на лето :) Плохо просиживать целые выходные за компьютером, когда прекрасная погода зовёт тебя на природу.

За три месяца работы над переводом было переведено очень много текста. Но ещё не близок к финалу. Беру отдых.
На выходных возможно буду заниматься проверкой/переборкой перевода, где то что переименовать, исправить и т.п.

Дабы мои слова не показались пустыми, mialax может подтвердить мои слова насчёт перевода. Все же надеюсь он продолжит работу над программкой.
Название: Re: Сканер переводчик
Отправлено: Sinigr от 12 Июнь 2011, 04:21:10
Всё пытаюсь сделать вывод перевода на окно ДФ, но мерцание побороть не удаётся.
2йной буфер юзай.
Проэкт ещё жив?
Название: Re: Сканер переводчик
Отправлено: SnaKe от 19 Апрель 2012, 10:22:01
Неужели проект закрылся? Идея была превосходная
Название: Re: Сканер переводчик
Отправлено: Arex от 19 Апрель 2012, 10:43:02
Не совсем. На его основе mialax сделал отображение описания и мыслей  дварфов (http://forum.dfwk.ru/index.php/topic,204.msg14908.html#msg14908) для русской версии DF.
Название: Re: Сканер переводчик
Отправлено: SnaKe от 21 Апрель 2012, 13:35:58
Не совсем. На его основе mialax сделал отображение описания и мыслей  дварфов (http://forum.dfwk.ru/index.php/topic,204.msg14908.html#msg14908) для русской версии DF.
спасибо добрый человек :)