Wake of Gods Forum | Форум Во Имя Богов

Full Version: HD-mod. Общая тема
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
(23.06.2011 15:40)Berserker Wrote: [ -> ]Кнопки ниже 600 писков некоторые не работают

Ниже чего? Rolleyes
Кто чем меряет Mad
Пикселей.
При переключении героев моргает лошадка (M). Enter первый раз открывает окно героя, второй раз нажимает кнопку лошадка. Режим отрисовки GDI.
ПКМ на отряде в окне героя - центрирование диалога по 800х600.
4 Berserker
я это заметил для диалога РЕЗЕРВ в ФМ. Неужели и в обычном режиме окна тоже не по центру?
лучше бы они были вообще где-то сбоку
Quote:ПКМ на отряде в окне героя - центрирование диалога по 800х600.
Не так. В оригинале они тоже не по центру. Ну а в хайрезе это окно сдвинуто на стандартное для ХД смещение: (HD::RezX - 800) / 2, (HD::RezY - 600) / 2.
Ряд окон, которые в оригинале не по центру, в ХД сделал по центру но не это | окно.
Quote:Последний хайрез, 1024х768, оконный режим, отрисовка gdi, режим экрана 1024х768 (16 бит). Кнопки ниже 600 писков некоторые не работают, например BEGIN - начать карту.
повторить не удалось 105
Quote:Потому что опыт стёков ДО СИХ ПОР НЕ ПОДДЕРЖИВАЕТСЯ. Бараторчу разобраться с ним было бы, имхо, максимум пол дня.
пытался разобраться несколько раз. не получилось. плюнул на это дело.
вот у нас есть структура "Армия" : кричеры[7]; количества[7]; ХД работает исключительно с этой структурой при быстрых операциях. Как привязан опыт к абстрактной(отделенной от родителя) структуре - ХЗ. Наверное можно найти привязанность. Но в любом случае - эта привязанность мутная. Вообще реверсить Вог - считаю извращением, особенно в поисках мутных зависимостей. Я понимаю оригинал реверсить, где исходников нет в принципе. Да и обмен войсками ведь выходит за рамки именно ХайРеза..
Глянул я ВоГ.
10000 структур тип Опыт для монстров где угодно и 42 для боя. В принципе, манипулирование элементами массива не сильно сложно, если не считать того, что нужно производить поиск. Могу найти адреса для ТЕ, если интересно. И даже для 3.58f, но:

Quote:Да и обмен войсками ведь выходит за рамки именно ХайРеза..

Кстати, не знаю, в ходе каких операций в Фениксе при игре в хосите с героя внезапно все арты снимались в рюкзак. Так и не понял, как повторять осознанно.
   BuggyBoy (01:32:04 7/08/2011)
1. Когда используешь рынок,вызванный через клавишу Би или через среднюю кнопку мыши,то строка ресурсов не обновляется сразу

   BuggyBoy (01:34:42 7/08/2011)
2. Если играть в полном режиме экрана,и игра выдаст своё окно о нехватке какого то ресурса,например не найден файл портрета,то дальше играть не представляется возможным.. В выскочившем окошке ничего не нажимается,точнее оно всегда пассивно
А зачем хайрез тысячи раз читает файлы по 4 байта? Бряк на readfile вечный.
Х.з. Sm
Вот что заметил играя в ФМ с HD
Если загрузить карту, и первым делом открыть ДЛ-диалог "Вторичные навыки", или же "Выбор спецухи воина" (когда 8 картинок замков в ряд), то подложка диалога не окрашивается в цвет игрока.. стоит лишь совершить какое-либо действие с появлением игровых подсказок через ПКМ, то цвет подложки исправляется..
На чистом ФМ, без HD, окраска ведёт себя нормальноSorry
Quote:На чистом ФМ, без HD, окраска ведёт себя нормально
а у меня точно так же не раскрашивается (если до этого небыло вызвано ни одного окна сообщения).
ой, и впрямь, извините..
Прогресс в работе над ХД 3.0 можно смотреть здесь:
http://sites.google.com/site/heroes3hd/rus/changelog

Некоторая техническая информация:

HiRez.dll внедряется в экзешник новым способом. В екзе меняется всего 5 байт по адресу 0x25c6dc: "Mss32" на "HiRez"
То есть HiRez.dll притворяется Sm библиотекой Mss32.dll.
Загрузившись, HiRez.dll может патчить екзе, еще до того как выполнение перейдет к entry point, поэтому обладает приоритетом "before era" ("before before wog"), однако как и раньше вносит практически все изменения after after wog (когда выполнение переходит к WinMain)

HiRez.dll определяет что за процесс ее грузит, и если это не герои хд 3, то она патчить ничего не будет. В перспективе ХД будет экспортировать ряд инфо-функций (понятно - разрешение, и еще чего-нибудь там)...

В ХД 3 будет добавлена запись крэшлога. Кроме стандартной инфы об исключении и контексте, будет писАться специфическая инфа по выполнению хд-кода, версия винды, версия ос режима совместимости.
Что сильно облегчит мне жизнь и скорость исправления багов.

Сейчас бьюсь над новой системой опций. Поскольку теперь ХД будет разделен на несколько модулей, то все "внешние" опции теперь не смогут храниться в одном файле (вообще можно конечно сделать и в 1ом, но не нужно). Возникает проблема управления опциями простым пользователем игры. Хочу сделать следующее: каждый модуль (по сути крупный плагин с опциями, который потенциально сможет работать и с эрой без хд) будет экспортировать единообразный интерфейс своих опций для утилиты Heroes3HDSetup.exe. Таким образом все опции будут как и раньше в одном месте, причем с графическим интерфейсом (таблица по типу таблицы свойств диалогового окна в визуальных редакторах).

В делении ХД на модули я сильно усердствовать не буду. То есть модулей будет не много.
Однако новая платформа ХД, новый подход к кодингу ХД позволяет довольно легко выделить какую-либо мелочь в отдельный плагин, независящий от хд и не конфликтующий с ним, чего не было раньше.
Суть нового подхода в хуках, которые смотрят актуальный на момент патча код ехе, с учетом внесения изменений предыдущими хуками. В ХД 3 реализован дизассемблерный движок (дизасм длин опкодов + детект ряда нужных опкодов). Что позволяет активно использовать сплайсинг и сабклассинг. А сабклассинг и дает нам дружбу между модулями, когда независимые изменения одной и той же функции мирно дополняют друг-друга. Все изменения в коде я стараюсь делать посредством именно сабклассинга (либо сплайсинг, либо call поверх call); низкоуровневых хуков (типа мост, с правкой регистров) – в игре минимум. И их количество я постоянно стараюсь уменьшать.
Правда бин-патч остается основным инструмнтом непосредственно смены разрешений, но не смотря на объем бин-патча в хд, он все же преимущественно не меняет логику в коде. Короче навык “потенциальная совместимость” в ХД 3 уже не хило прокачан и будет совершенствоваться дальше.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Reference URL's