Помощь с фиксом заколдованной стрелы. - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Модостроительство В этом разделе можно обсуждать все что касается создания модов для Heroes of Might and Magic V.

Ответ
 
Опции темы
#1
Старый 27.02.2021, 03:06
  #1
^
vasik
📖
Регистрация: 21.10.2017
Сообщения: 349
Регистрация: 21.10.2017
Сообщения: 349
По умолчанию
Помощь с фиксом заколдованной стрелы.

Собственно.
Не нравится, что заколдованная баллиста (поправил) убивает геройскую позицию в атб шкале, превращая его из шикарного навыка в мусор.

Надо исправить.
Используемая версия, NCF обыкновенный (то есть оригинал с 2 изменениями, в данном контексте совершенно не важными).

Ссылка на описание фикса - ыыы
Написанно для обрезанных экзе, но другой информации просто нету.

По файлу нужно изменить 7 мест. Стал проверять все вручную.
Исходные ожидаемые данные совпадают для 6 вхождений.

Исходные ожидаемые данные не совпадают вот тут ыыы
Ожидается 99 нолей, у меня 
52 35 0e 37 59 37 88 37 98 37 28 38 78 38 98 38 cb 38 e4 38 3a 39 8e 39 d3 39 ea 39 ef 39 0f 3a 14 3a 61 3a 78 3a 7d 3a 9d 3a a2 3a ec 3a 14 3b 38 3b 80 3b f0 3b 02 3c 2b 3c 53 3c 77 3c c5 3e ce 3e d3 3e e2 3f 00 00 00 40 00 00 a8 00 00 00 3b 30 40 30 bd 30 c2 30 33 31 8f 31 e6 32 39 33 71 33 76

тыкать наугад не вариант, 99 нолей встречается 939 раз, нужный я не найду.
Как сделать, чтоб работало как надо?
Может кто знает или просто имеет ссылку на правильные изменения?


I want to fix Imbue balista exhausting Hero ATB bug. I have normal NCF exe (Original, that was not modified except the creature's count bytes).
I have only the information "for stripped exe".
The input byte values match 6 offsets. But 7th offset has other bytes than 99 zeros (above).

How to do this properly ? Is there a correct description for the Original?

@dredknight?


А как тут на форуме правильно тегнуть, чтоб увидел
vasik вне форума
Ответить с цитированием
#2
Старый 27.02.2021, 11:51
  #2
^
psatkha
 
Аватар для psatkha
📖
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2472
Отправить сообщение для  psatkha с помощью ICQ
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2472
Отправить сообщение для  psatkha с помощью ICQ
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

@vasik, а по моему тут слово "stripped" следует понимать как "урезанный" или даже "голая", т.е. тут урезанный/голая означает сокращение до самого необходимого - иными словами оригинальная версия без каких-либо правок.
P.S.
Cравнил версию Ubi (у меня дисковая версия + патчик) с Nival/Buka - они одинаковые... так как во всех 6-ти вхождениях всё совпадает и в этих 6-ти правках нет переадресации на адрес 00BD90E0
Поэтому нужно уточнить у уважаемого товарища dredknight'а, что это за версия такая, которую они ковыряли!
Хотя что-то мне подсказывает, что это касалось именно MMH55 ... в общем в .exe RC14_B6 по этому адресу не нули, и даже не
8B 54 24 1C 8D 4C 31 04 56 51 50 89 CE 8B 86 E8
FE FF FF 8B 48 08 8D 8C 31 E8 FE FF FF 2B 49 FC
83 E9 68 8B 41 90 A3 24 61 13 01 8B 40 1C A3 28
61 13 01 58 59 5E C3 90 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50 56 8B 35 24 61 13 01 A1 28 61 13 01 89 46 1C
5E 58 C3
а вот это -
8b 54 24 1c 8d 4c 31 04 51 56 50 2b 49 fc 89 ce
8b 86 ec fe ff ff 8b 48 08 8d 8c 31 ec fe ff ff
2b 49 fc 83 e9 68 90 90 90 8b 41 94 90 90 90 89
c1 a3 24 61 14 01 8b 40 1c a3 28 61 14 01 58 5e
59 c3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50 56 8b 35 24 61 14 01 a1 28 61 14 01 89 46 1c
5e 58 c3
__________________
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
psatkha вне форума
Ответить с цитированием
#3
Старый 27.02.2021, 14:58
  #3
^
vasik
📖
Регистрация: 21.10.2017
Сообщения: 349
Регистрация: 21.10.2017
Сообщения: 349
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

дело в том, что 7я правка нужная.

Я сделал 6, и теперь, если у героя есть навык заколдованная баллиста, при попытке выстрела игра вылетит
Говорит ошибка тута 0x00d360ea
Это число немножко больше, чем размер героев.
Видимо 7я правка правит какую-то ссылку, и без нее никак.

Технически я не знаю смысл данных правок, так что нужно просто правильное число найти
vasik вне форума
Ответить с цитированием
#4
Старый 27.02.2021, 15:25
  #4
^
psatkha
 
Аватар для psatkha
📖
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2472
Отправить сообщение для  psatkha с помощью ICQ
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2472
Отправить сообщение для  psatkha с помощью ICQ
Стрелка
Re: Помощь с фиксом заколдованной стрелы.

vasikдело в том, что 7я правка нужная.

Я сделал 6, и теперь, если у героя есть навык заколдованная баллиста, при попытке выстрела игра вылетит
Говорит ошибка тута 0x00d360ea
Это число немножко больше, чем размер героев.
Видимо 7я правка правит какую-то ссылку, и без нее никак.

Технически я не знаю смысл данных правок, так что нужно просто правильное число найти
Ну так правильно больше, потому что когда запускается .exe то он переадресовывается со сдвигом в ОЗУ на величину 00 40 0с 00 и таким образом получается, что игра фактически сыпится по адресу 00 93 54 ea (это адрес в .exe)

В добавках нет явного указания на адрес с кучей нулей, присутствует только косвенная адресация, но вот относительно чего - это уже другой вопрос!
00D360C4                 loc_D360C4:                             ; CODE XREF: 00D35FD9
00D360C4                 mov     edi, [ebp-0Ch]
00D360C7                 cmp     dword ptr [edi+484h], 0
00D360CE                 jz      short loc_D3610B
00D360D0                 mov     eax, [esi+1Ch]
00D360D3                 add     eax, 36h
00D360D6                 mov     edx, eax
00D360D8                 shl     edx, 4
00D360DB                 sub     edx, eax
00D360DD                 mov     eax, [ebp-18h]
00D360E0                 add     edx, ebx
00D360E2                 mov     ecx, [eax+edx*4]
00D360E5                 mov     edx, [ebp-50h]
00D360E8                 push    ecx
00D360E9                 mov     ecx, [ebp-64h]
00D360EC                 push    edx
00D360ED                 mov     edx, [ebp-24h]
00D360F0                 push    ecx
00D360F1                 mov     ecx, [ebp-14h]
00D360F4                 push    edx
00D360F5                 mov     edx, [esi]
00D360F7                 push    ecx
00D360F8                 mov     ecx, [ebp-10h]
00D360FB                 push    edx
00D360FC                 push    edi
00D360FD                 push    ecx
00D360FE                 lea     edx, [eax+0B34h]
00D36104                 mov     ecx, ebx
00D36106                 call    sub_D1C780

И сыпется игра на var_64 - какая-то переменная в игре, очень может быть, что там прописан адрес процедуры механики заколдованной баллисты!

Попробуй 7-ую правку сделать с адреса - 00 b8 e8 fc (тут как раз таки куча нулей) или с 00 b9 04 fc (а тут нули в черезполосицу с ff)
__________________
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
psatkha вне форума
Ответить с цитированием
#5
Старый 27.02.2021, 16:31
  #5
^
vasik
📖
Регистрация: 21.10.2017
Сообщения: 349
Регистрация: 21.10.2017
Сообщения: 349
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

Пустых нолей по 99 штук там очень много вхождений, наугад не получится.
Если согласно какой-то логики, то не помогает - все тот же результат
vasik вне форума
Ответить с цитированием
#6
Старый 27.02.2021, 16:38
  #6
^
psatkha
 
Аватар для psatkha
📖
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2472
Отправить сообщение для  psatkha с помощью ICQ
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2472
Отправить сообщение для  psatkha с помощью ICQ
Стрелка
Re: Помощь с фиксом заколдованной стрелы.

vasikПустых нолей по 99 штук там очень много вхождений, наугад не получится.
Если согласно какой-то логики, то не помогает - все тот же результат
Не на угад, а по смещению относительно переменной var_64
__________________
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
psatkha вне форума
Ответить с цитированием
#7
Старый 27.02.2021, 16:44
  #7
^
vasik
📖
Регистрация: 21.10.2017
Сообщения: 349
Регистрация: 21.10.2017
Сообщения: 349
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

не помогло
vasik вне форума
Ответить с цитированием
#8
Старый 01.03.2021, 03:25
  #8
^
dredknight
📖
Регистрация: 24.10.2015
Сообщения: 491
dredknight#9852
Регистрация: 24.10.2015
Сообщения: 491
dredknight#9852
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

Hey @Vasik,

Stripped means this is the normal EXE without the debug data.
So if you want to use the patch on ToE exe you need to strip the debug data first and then apply the patch it.
dredknight вне форума
Ответить с цитированием
#9
Старый 01.03.2021, 14:29
  #9
^
vasik
📖
Регистрация: 21.10.2017
Сообщения: 349
Регистрация: 21.10.2017
Сообщения: 349
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

I dont sure that is the best solution - It will change exe a lot and I might have the issues if I want to update something else / play online etc.

If I get know the proper 7th description for normal non-stripped ToE I will replace the bytes manually, I just need a proper information for it.
vasik вне форума
Ответить с цитированием
#10
Старый 01.03.2021, 16:16
  #10
^
dredknight
📖
Регистрация: 24.10.2015
Сообщения: 491
dredknight#9852
Регистрация: 24.10.2015
Сообщения: 491
dredknight#9852
По умолчанию
Re: Помощь с фиксом заколдованной стрелы.

We began using stripped space because there was not enough space within the exe to add new assembly code. It is impossible to implement 7th change without free space.
basically what is done is we tell the code to reroute reading from EXE to the free space below (that is with changes before the 7th).
Then it goes to 7th change location and that code executes the new commands and then go back to the ToE EXE code again.

If all players use the same modification of the EXE multiplayer will work without any problem.
dredknight вне форума
Ответить с цитированием
Ответ


Опции темы



Часовой пояс GMT +4, время: 14:55.


vBulletin v3.5.0, Copyright ©2000-2021, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru