Current time: 27.11.2024, 02:02 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
HD-mod. Баги и доработки
Author Message
baratorch Offline

Posts: 197
Post: #46

(26.11.2020 09:47)Berserker Wrote:  Мне часто нужно, если вне тегов, использовать цвет по умолчанию. То есть не менять его. Цвет по умолчанию — тот, что задан для элемента в диалоге, может быть не белый. Что посоветуешь здесь? HD-мод сам устанавливает HotA.FontColor динамически?
HD-мод устанавливает HotA.FontColor != 0 , когда нужно что-то нарисовать особым цветом и равным нулю, когда нужно использовать цвет по-умолчанию (тот что зависит от аргумента color в N_font_DrawCharacter_4B4F00(font* this_, _dword_ edx, int c, _Pcx16_* bmp, int x, int y, int color).
26.11.2020 15:45
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #47

Спасибо, попробую.

Возник вопрос по моду на расширенные жилища. В диалоге быстрого найма ты получаешь настройки существ по жилищам? Люди пишут, что нет:

Воint *MonInTownBase(int Town){
    #include "templ.h"
    RETURN((int *)(0x6747B4+Town*14*4))
}



Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
26.11.2020 16:40
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #48

(26.11.2020 16:40)Berserker Wrote:  Воint *MonInTownBase(int Town){
    #include "templ.h"
    RETURN((int *)(0x6747B4+Town*14*4))
}

Это не будет работать.

В Тифоне 1-2 вместо 6747B4 используется своя самопальная таблица - TownCreatures, к которой через простыню хуков привязан диалог города с наймом. HD-мод читает только содовскую и не умеет читать тифоновскую, увы (там и адрес таблицы не получишь просто так) в найме будут только то, что прописано в 6747B4.

В Тифоне 3 таблица монстров городов уже перенесена полностью, без использования хуков, соотвественно, для Тифона 3 получение адреса - только по условному базовому адресу (который HD-мод возможно и понимает, но... для новых фракций HD-мод считывает только задний план, на саму структуру монстров новых фракций он перейти не может, увы - итог вылет).

(This post was last modified: 26.11.2020 17:42 by XEPOMAHT.)
26.11.2020 17:32
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #49

HD читает таблицу городских монстров через двойной указатель (*(_int_**)0x47AA82). Он то меняется в Тифоне? А в Аметисте?
Положите туда указатель на таблицу, и всё будет работать.

Насколько я понимаю, HD в Хоте читает именно так. И у них всё работает.

Code:
#define o_CastleCreatures (*(_int_**)0x47AA82)
o_CastleCreatures[dwelling_type + 14 * town->type];


game bug fixes extended.dll || My Plugins || My GitHub
26.11.2020 18:10
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #50

(26.11.2020 18:10)igrik Wrote:  Насколько я понимаю HD читает таблицу городских монстров через двойной указатель (*(_int_**)0x47AA82). Он то меняется в Тифоне?

Конечно меняется и в Тифоне (без этого ничего работать не будет).

(26.11.2020 18:10)igrik Wrote:  А в Аметисте?

Нет, в Аметисте только увеличено количество монстров. Новых фракций там нет.

(26.11.2020 18:10)igrik Wrote:  HD в Хоте читает именно так.

Знаю, что советую и Берсеркеру так же делать в ЭРЕ. Для совместимости.

(26.11.2020 18:10)igrik Wrote:  
Code:
#define o_CastleCreatures (*(_int_**)0x47AA82)
o_CastleCreatures[dwelling_type + 14 * town->type];

Это как раз и работает. Оно даже номер фракции получает и отрисовывает бэкграунд 10-й фракции, но с получением самой структуры монстров для новых фракций в HD-моде какие-то непонятки (возможно, там просто не выделена память под них где-нибудь в HD_WOG.dll).
(This post was last modified: 26.11.2020 18:27 by XEPOMAHT.)
26.11.2020 18:19
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #51

TyphonZ точно не записывает сюда адрес новой таблицы.
Code:
Выдержка из Олли:
0047AA82  MOV EDI,DWORD PTR DS:[ESI*4+6747B4]


game bug fixes extended.dll || My Plugins || My GitHub
26.11.2020 18:25
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #52

(26.11.2020 18:25)igrik Wrote:  TyphonZ точно не записывает сюда адрес новой таблицы.
Code:
Выдержка из Олли:
0047AA82  MOV EDI,DWORD PTR DS:[ESI*4+6747B4]

(26.11.2020 17:32)XEPOMAHT Wrote:  В Тифоне 1-2 вместо 6747B4 используется своя самопальная таблица - TownCreatures, к которой через простыню хуков привязан диалог города с наймом. HD-мод читает только содовскую и не умеет читать тифоновскую, увы (там и адрес таблицы не получишь просто так) в найме будут только то, что прописано в 6747B4.
26.11.2020 18:30
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #53

Так а как известить HD, что таблица перемещена? Если вы указатель не меняете 96-copy

Проверил сейчас - Аметист тоже не удосужился исправить указатель.

Поэтому и не работает правильно быстрая покупка существ в HD.


game bug fixes extended.dll || My Plugins || My GitHub
26.11.2020 18:34
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #54

(26.11.2020 18:34)igrik Wrote:  Так а как известить HD, что таблица перемещена? Если вы указатель не меняете 96-copy

А уже никак, старые версии Тифона всё равно не поддерживаются (а новые нахрен никому не нужны, поэтому я временно положил болт с резьбой на Тифон до релиза MoP 2.19). Нанимайте монстров стандартными содовскими диалогами и не включайте диалог найма в HD-моде. Из-за того, что приходится всё время что-то клянчить у авторов ERA/HD-мода, я выбираю MoP, где могу всё сделать сам вместо уже бесконечного попрошайничества, которое мне давно надоело (Бараторч всё равно давно записал меня в вечный игнор после того, как мне нечем было задонатить за мою первую и последнюю просьбу к нему).

(26.11.2020 18:34)igrik Wrote:  Проверил сейчас - Аметист тоже не удосужился исправить указатель.

Вы хоть знаете ЧТО это за таблица? Её указатель и не должен изменяться в Аметисте, т.к. таблица не меняется при добавлении новых монстров в игру. Её и WoG не меняет, вообще есть только 2 мода, совместимые с HD-модом, увеличивающие размер данной таблицы.
(This post was last modified: 26.11.2020 19:01 by XEPOMAHT.)
26.11.2020 18:50
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #55

(26.11.2020 18:50)XEPOMAHT Wrote:  
(26.11.2020 18:34)igrik Wrote:  Проверил сейчас - Аметист тоже не удосужился исправить указатель.

Вы хоть знаете ЧТО это за таблица? Её указатель и не должен изменяться в Аметисте, т.к. таблица не меняется при добавлении новых монстров в игру. Её и WoG не меняет, вообще есть только 2 мода, совместимые с HD-модом, увеличивающие размер данной таблицы.
Хорошо, тогда не Аметист, а мод на расширенные жилища:

(26.11.2020 16:40)Berserker Wrote:  Возник вопрос по моду на расширенные жилища. В диалоге быстрого найма ты получаешь настройки существ по жилищам? Люди пишут, что нет:

Воint *MonInTownBase(int Town){
    #include "templ.h"
    RETURN((int *)(0x6747B4+Town*14*4))
}



game bug fixes extended.dll || My Plugins || My GitHub
26.11.2020 19:02
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #56

baratorch, записал тебе на видео демонстрацию бага hd mod, который бесит чуть ли не всех стримеров Хоты. Может, о нём уже и сообщали, но данный баг всё ещё есть, и есть на всех версиях героев, поддерживаемых hd mod'ом. На разных настройках разрешения поведение отличается, но суть та же. (Click to View)

Чаще всего на стримах видел проблему, когда пытаются закрыть окно встречи, но вылезает артефакт "в руку" - на турнирных играх с таймером довольно критично. (Click to View)


Image: widget.png?style=banner2

Новейший Heroes Launcher
26.11.2020 20:58
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #57

Quote:
Из-за того, что приходится всё время что-то клянчить у авторов ERA/HD-мода, я выбираю MoP, где могу всё сделать сам вместо уже бесконечного попрошайничества, которое мне давно надоело (Бараторч всё равно давно записал меня в вечный игнор после того, как мне нечем было задонатить за мою первую и последнюю просьбу к нему).
Это всё, конечно, хорошо и похвально, но здесь техническая тема, в которой мы ищем сотрудничества и по возможности решаем вопросы. Просто жалобы в воздух никак в этом процессе не помогают.

В данном случае, судя по всему, проблему прежде всего в необъяснимой на первой взгляд необходимости в Тифоне вообще эту таблицу трогать.
Тут бы ответ от МОРа не помешал. Я пока не до конца понимаю. Играю с HD модом, установка монстров по городам работает, картинки существ отрисовываются. Монстры в жилищах нанимаются. Что и зачем сделано в Typhon 2 со структурой пока не ясно.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.11.2020 00:29
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #58

(27.11.2020 00:29)Berserker Wrote:  здесь техническая тема, в которой мы ищем сотрудничества и по возможности решаем вопросы. Просто жалобы в воздух никак в этом процессе не помогают.

Да, исправление EXCEPTION_ACCESS_VIOLATION в HD_WOG.dll при использовании ERA+ - дело добровольное и наверное нужное только мне (ERA+ всё равно наверно останется экспериментальным модом навечно). Может быть меня забанят на этом форуме наконец-то, тогда перестану докучать "жалобами в воздух". Но если ошибки есть, то я считаю долгом описывать их на форуме при каждом удобном случае.

(27.11.2020 00:29)Berserker Wrote:  Я пока не до конца понимаю. Играю с HD модом, установка монстров по городам работает, картинки существ отрисовываются. Монстры в жилищах нанимаются. Что и зачем сделано в Typhon 2 со структурой пока не ясно.

Там для найма добавлена поддержка альтернативных монстров. Соответственно, таблица монстров городов увеличилась в 2 раза - стандартная и альтернативная массивы с номерами монстров. HD-мод понимает только стандартный массив и считывает его по старому адресу, т.к. физически таблица перенесена в Тифоне 2 не была. Всё просто.
(This post was last modified: 27.11.2020 01:36 by XEPOMAHT.)
27.11.2020 01:34
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #59

XEPOMAHT,
1) Альтернативы не работают в Typhon 2. Так ведь?
2) Мод на расширенные жилища меняет через UN:T существ в основной таблице, если изменить существо в 1-м или 2-м слотах. Раз поменялась картинка, значит изменено в 1-м и 2-м слотах. А 3-й и 4-й в моде виртуальные, хранятся в ЕРМ массивах.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.11.2020 01:54
Find all posts by this user Quote this message in a reply
V_Maiko Offline

Posts: 610
Post: #60

Berserker, Extended Dwellings works fine with Typhon when I was using it. Clearly there are confusions, Typhon also has a sub-tool called "Town Editor" that allows you to choose the type of creature to recruit, this was used in The Tides of War port for ERA.
Image: Screenshot-1.png

And Extended Dwellings is for new slots for recruit creatures or alternatives (this is used by me in Third Upgrades Mod).
But in both the problem is the same with HD mod.
27.11.2020 02:45
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group