Current time: 26.11.2024, 23:36 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 16657
Post: #61

В Эре 3.3 реализована поддержка цветных текстов для всех режимов HD мода. Плагин для китайского языка, использующий свои функции отрисовки, работает по-старому.


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

Posts: 1175
Post: #62

Berserker and Baratorch, thank you so much for improving ERA and HD to the next level!

Speaking of the Chinese plugin for ERA, there is still one major problem for the plugin to work with HD 32-bit modes. For any 32-bit modes, it looks like this with Chinese plugin loaded:
All characters supported by the Chinese plugin can't be correctly displayed with 32-bit modes.

I'd be very grateful if this could be investigated and solved. As far as I know, this Chinese plugin has a large group of users that it is also the only plugin that supports Korean characters in the game.
Unfortunately, the author of the plugin has been retired for long. the only thing I have is the
source and release of WoG CN

Thank you in advance for your kindly reseach to this.


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 27.11.2020 10:36 by Archer30.)
27.11.2020 08:37
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #63

(27.11.2020 01:54)Berserker Wrote:  1) Альтернативы не работают в Typhon 2. Так ведь?

Альтернативы вместе с редактором города убраны начиная с Typhon 3.

Но HD-мод всё равно не видит def-ы добавленных Тифоном монстров, увы. В старой версии HD-мода вылет был напрямую из HD_WOG.dll, поэтому было не понятно из-за чего. Поставив новую версию, вылет ушёл на содовский код, по которому ясно, что на функцию-переходник, рисующую деф, подаются неверные данные. Если её выключить, то ошибка уже не происходит и отрисовка def-а пропускается в диалоге. Думаю, что для ERA+ этот диалог останется таким (т.к. как HD-мод получает и подгружает def - одному Барторчу известно, но он, увы, молчит как партизан 105 ).

Image: f8e6d66c070f.png
(This post was last modified: 27.11.2020 12:04 by XEPOMAHT.)
27.11.2020 12:00
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #64

XEPOMAHT, так ты объясни, как должен читаться деф файл. Код приложи.


game bug fixes extended.dll || My Plugins || My GitHub
27.11.2020 12:05
Visit this user's website Find all posts by this user Quote this message in a reply
PerryR Offline

Posts: 460
Post: #65

Briefly tested the ERA update and I can confirm the colors now work in 16 and 32bit mod.

Thank you baratorch and Berserker 177
Super update
27.11.2020 12:06
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #66

Ещё один баг с видеоRolleyes

До версии hd mod 5.2 RC5 последнее сохранение всегда бралось в фокус. То есть, как я понял, сортировка по дате файла.

Дальше и ныне (RC11) ПОСЛЕ загрузки сохранения оно ствновится единственным в фокусе. И сколько бы сейвов ни сделать, при открытии окна загрзки будет в фокусе тот самый первоначальный сейв (Click to View)
P.S: За видео спасибо Мишган


Image: widget.png?style=banner2

Новейший Heroes Launcher
27.11.2020 12:19
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #67

(27.11.2020 12:05)igrik Wrote:  так ты объясни, как должен читаться деф файл. Код приложи.

Так же как в стандартной игре. Проблема оказалась в самих корявых хотовских дефах нимфы и океаниды. Буду пробовать пересобирать эти дефы так, чтобы HD-мод смог их нормально обработать и послать на рендер содовской функции без косяков.
(This post was last modified: 27.11.2020 13:33 by XEPOMAHT.)
27.11.2020 12:22
Find all posts by this user Quote this message in a reply
baratorch Offline

Posts: 197
Post: #68

(27.11.2020 12:00)XEPOMAHT Wrote:  как HD-мод получает и подгружает def - одному Барторчу известно, но он, увы, молчит как партизан 105 ).

как, как...

#define o_CastleCreatures (*(_int_**)0x47AA82) //hota compatible
#define CREATURE_INFO_OFFSET (*(_ptr_*)0x6747B0)
#define o_CreatureInfo ((_CreatureInfo_*)CREATURE_INFO_OFFSET)

негрейд = o_CastleCreatures[от_0_до_6 + 14 * town->type]
грейд_если_есть = o_CastleCreatures[TownMgr->Field<_byte_>(460 + от_0_до_6)+ 14 * town->type]

o_CreatureInfo[негрейд].def_name
o_CreatureInfo[грейд_если_есть].def_name
27.11.2020 13:40
Find all posts by this user Quote this message in a reply
baratorch Offline

Posts: 197
Post: #69

(27.11.2020 08:37)Archer30 Wrote:  Berserker and Baratorch, thank you so much for improving ERA and HD to the next level!

Speaking of the Chinese plugin for ERA, there is still one major problem for the plugin to work with HD 32-bit modes. For any 32-bit modes, it looks like this with Chinese plugin loaded:
All characters supported by the Chinese plugin can't be correctly displayed with 32-bit modes.

I'd be very grateful if this could be investigated and solved. As far as I know, this Chinese plugin has a large group of users that it is also the only plugin that supports Korean characters in the game.
Unfortunately, the author of the plugin has been retired for long. the only thing I have is the
source and release of WoG CN

Thank you in advance for your kindly reseach to this.

Я бы сам добавил в эти исходники поддержку 32 бит, но мне совершенно не хочется искать, устанавливать и настраивать то, что их может собрать..

Я могу объяснить как сделать поддержку 32 бит. Это не сложно.
Правда на с++ и именах, используемых в ХД:

В 32 битном режиме все структуры _Pcx16_ являются на самом деле "_Pcx32_"
- разница в размере и формате пикселя:
2 байта RGB565 и 4 байта XRGB8888 соответственно.

#define o_BPP (ByteAt(0x5FA228 + 3) << 3)

o_BPP будет равно 16 в оригинальном режиме и равно 32, если режим 32-битный.

вот код некоторой условной функции, который показывает разницу в форматах
и то как можно добавить поддержку 32 бит:

Code:
void _Pcx16_::DrawPcx16(_Pcx16_ *src_pcx, int dst_x, int dst_y)
{
    if (o_BPP == 32)
    {
        _dword_* src_pixels = (_dword_*)(src_pcx->buffer);
        _dword_* dst_pixels = (_dword_*)buffer;

        for (int y = 0; y < src_h; y++)
            for (int x = 0; x < src_w; x++)
                    dst_pixels[dst_x + x + (dst_y + y) * scanline_size * 4] = src_pixels[src_x + x + (src_y + y) * src_pcx->scanline_size * 4)];
    }
    else // 16
    {
        _word_* src_pixels = (_word_*)(src_pcx->buffer);
        _word_* dst_pixels = (_word_*)buffer;

        for (int y = 0; y < src_h; y++)
            for (int x = 0; x < src_w; x++)
                    dst_pixels[dst_x + x + (dst_y + y) * scanline_size * 2] = src_pixels[src_x + x + (src_y + y) * src_pcx->scanline_size * 2)];
    }
}
27.11.2020 14:06
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #70

(27.11.2020 13:40)baratorch Wrote:  #define o_CastleCreatures (*(_int_**)0x47AA82) //hota compatible
#define CREATURE_INFO_OFFSET (*(_ptr_*)0x6747B0)
#define o_CreatureInfo ((_CreatureInfo_*)CREATURE_INFO_OFFSET)

негрейд = o_CastleCreatures[от_0_до_6 + 14 * town->type]
грейд_если_есть = o_CastleCreatures[TownMgr->Field<_byte_>(460 + от_0_до_6)+ 14 * town->type]

o_CreatureInfo[негрейд].def_name
o_CreatureInfo[грейд_если_есть].def_name

Спасибо, это совместимо с Тифоном, оба адреса в нём обрабатываются. Ошибок нет. Хотовские дефы я исправил, всё заработало (вообще странно, что HD-мод их без проблем обрабатывает в самой HoA уже столько лет несмотря на то, что они содержат косяки, видимо, это по-прежнему секрет, который мы никогда не узнаем). Увы, такие нюансы при использовании def-файлов монстров совместно с HD-модом нигде не описаны, приходится познавать методом научного тыка, как это и не печально, но увы.

Image: e651d9b2dd22.png
27.11.2020 14:35
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #71

baratorch, спасибо большое. Китайский патч на цветной текст я адаптировал в своё время. Попробую исправить по примеру. В идеале и вовсе переписать. Исходник в стиле WoG.
Archer30, agree, thanks.


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

Posts: 197
Post: #72

(27.11.2020 14:35)XEPOMAHT Wrote:  Хотовские дефы я исправил, всё заработало (вообще странно, что HD-мод их без проблем обрабатывает в самой HoA уже столько лет несмотря на то, что они содержат косяки, видимо, это по-прежнему секрет, который мы никогда не узнаем). Увы, такие нюансы при использовании def-файлов монстров совместно с HD-модом нигде не описаны, приходится познавать методом научного тыка, как это и не печально, но увы.
Вообще-то были проблемы на этапе разработки этого диалога. Я никак не мог понять почему именно эти дэфы крашат ХД, а в хоте работают нормально. Однако, применил какую-то непонятную магию и все заработало...

Не мог бы ты сказать в чем проблема этих дэфов и как ты их поправил, я бы передал эту инфу команде Хота.
(This post was last modified: 27.11.2020 15:32 by baratorch.)
27.11.2020 15:31
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #73

(27.11.2020 15:31)baratorch Wrote:  Не мог бы ты сказать в чем проблема этих дэфов и как ты их поправил, я бы передал эту инфу команде Хота.

В них отсутствуют кадры анимации движения монстра (по факту, должен быть хотя бы один, как например у Дьяволов/Архидьяволов). Естественно, что Тифон подменяет соотвествующий WoG-хук на монстров-телепортёров своим хуком, давая возможность к телепорту любым монстрам в игре (там пропускается эта анимация и устанавливается допозвучка телепортации), родные содовские диалоги видимо пропускают эту анимацию автоматически, если её нет, поэтому сама игра спокойно воспринимает дефы, в которых присутствует не все типы кадров анимации.

Вот исправленные def'ы: https://vk.com/doc21300829_579054509
27.11.2020 16:49
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 1175
Post: #74

Baratorch, Thanks a lot for the enlightenment!
Although I don't know about coding except for ERM (yet?). For now, I can't test with your code, unfortunately. Dash1

Berserker, thanks a million. You always show your sincere concern to the international community. 112


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 27.11.2020 20:24 by Archer30.)
27.11.2020 20:22
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #75

Бараторч, спасибо. Поддержка 32-битных режимов для плагина азиатских языков добавлена.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.11.2020 21:05
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