21.09.2022, 05:24
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
21.09.2022, 05:32
(21.09.2022 05:24)daemon_n Wrote: [ -> ]На ХР не работала никогда.
Это обсуждалось несколько раз
Почему же у меня тогда ERA+ вместе с этим плагином работает? Отрицательная удача срабатывает и отображается на монстрах на Windows XP и 2003. У меня далеко не Windows 7. А если badluck.era поставить, например, на ERA 2.46, то будет работать вообще без каких-либо манипуляций с папкой EraPlugins
21.09.2022, 05:34
XEPOMAHT, ну, у тебя и не XP
21.09.2022, 05:40
(21.09.2022 05:34)daemon_n Wrote: [ -> ]ну, у тебя и не XP
У меня на работе старенький ПК с XP, где я и...
Spoiler (Click to View)
занимаюсь разработкой ERA+ в тихаря от начальства, т.к. работы стало совсем мало, особенно сейчас...
21.09.2022, 13:16
(21.09.2022 05:06)daemon_n Wrote: [ -> ]myoffice91, badluck только windows 7+badluck.dll, Battle_AI.dll, emerald_v202a.dll, InstantAnim.dll - импорт библиотека KERNEL32.DLL, MSVCR90.DLL.
Насчёт остального - вероятно, не хватает библиотек msvsrxx.dll
Однако, папка "Heroes III ERA" уже есть наличие файлы "msvcr90.dll", "msvcr100.dll", "msvcr110.dll", "msvcr120.dll".
В Windows 7 x64, посмотрел отладка, увидел игра ЭРА3 используется C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll , главный вопрос почему не выбрал библиотека из "Heroes III ERA".
В "msvcr90.dll" версия 9.00.30729.9247 из "Heroes III ERA"
9.00.30729.6161 из "C:\Windows\winsxs\...."
Попробовал файл msvcr90.dll копировал "C:\Windows\winsxs\...." из компьютер Windows 7 в нетбуке Windows XP, но не помогло.
(21.09.2022 05:10)XEPOMAHT Wrote: [ -> ]Не помогло!(21.09.2022 04:56)myoffice91 Wrote: [ -> ]Если 4 удалил DLL, то игра заработал. А если Windows 7 x64, то работает мод ERA+ с 4 DLL.
Это давно известный баг самой ЭРЫ в загрузчике плагинов, который Берсеркер не хочет/не может исправить, т.к. проявляется он только на Windows 5.ХХ. Лечится созданием пустой папки EraPlugins в директории с игрой.
(21.09.2022 05:24)daemon_n Wrote: [ -> ]XEPOMAHT, не соглашусь. На ХР не работала никогда.1.Если "msvcr90.dll", то причем тут XP, только заставить установить "vcredist_x86.exe", а не корневую папку "Heroes 3 ERA" - но я не проверил, не хотел.
Это обсуждалось несколько раз
2.Это обсуждение http://wforum.heroes35.net/showthread.ph...#pid103141 ?
(21.09.2022 05:10)XEPOMAHT Wrote: [ -> ]1.Очевидное, "c:\Users\Sergey\Documents\Visual Studio 2008\Projects\Battle_AI\Release\Battle_AI.pdb" - тоже свойство msvcrt90.dll поля "Название продукта" Visual Studio 2008.(21.09.2022 04:56)myoffice91 Wrote: [ -> ]Посмотрел Windows XP отладка с включил "Точка входа DLL", дальше-дальше, но не дает посмотреть отладка "Badluck.era". Значит программирование не правильно написано в коде DLL.
Решил посмотрел диззассемблер в"badluck.era", заметил вообще зачем 5 нужен вызов
GetSystemTImeAsFileTime
GetCurrentProcessID
GetCurrentThreadID
GetTIckCount
QueryPerformanceCounter
В главная процедура отсутствует защита от многораз вызов MAIN.
Эти феаноровские плагины не могут быть пересобраны с исправлением ошибок компиляции в них, т.к. сделать это бесплатно просто нечем (да и в СИ я ничего не понимаю и не знаю как на нём правильно написать плагин).
Так же все феаноровские плагины тащат за собой ненужные си-шные дополнительные библиотеки, которые должны быть установлены в виндовозе (благо они довольно старые, поэтому проблем с ними на Windows XP нету - находятся и устанавливаются без проблем).
После завершения работ над переписыванием кривостей воговского кода в рамках Тифона, функционал феаноровских плагинов так же будет импортирован в Тифон, а сами плагины будут убраны из ERA+.
Однажды "MLS (Monster Model Script) Editor 1.1b" пробовал переписывал C# на C++, результат там запуск экзешник из С++, странный поведение проверка строка и сгенерирование вывод текст - не похож как C#. Немного поменял код и условия, теперь точность поведение как C#.
2.Помню, прошлый год, пробовал скачал открытий исходный код "LuaJIT" и компиляция, узнал зависимость слишком много библиотеки имена файлы "api-ms-win-core-" например "api-ms-win-core-string-l1-1-0.dll" это вообще не правильно и не нужные хлами, был Visual Studio 2017, решил выбрал 2012, компиляция С++ теперь один зависимость "MSVCRT.DLL" это все верно.3.После завершение...., а потом лучше сначала побольше реализовать новведение и новые фичи, а потом поглощение феаноровские плагины. Иначе другие платформа развивается тоже так реализовать фичи и новые... =).
---
Решил удалить ресурсы манифет изнутри "InstantAnim.dll"
Code:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
в Windows 7 запуск ЭРА, появился ошибка окно "Microsoft Visual C++ Runtime Library" xD!

Почему есть библиотека "msvcr90.dll"" в "Heroes 3 ERA", "InstantAnim.dll" как будто отказ принимать.
Решил в отладка в "msvcr90.dll", аналогично всплывается окно "Microsoft Visual C++ Runtime Library" 0_О. Решил поменял условия, модифицировал библиотека. Затем модифицировал 4 библиотека DLL удалить из ресурсы и секция ".rsrc". Игра заработал - ура!. Вот и всё! Не надо выдумываешь Windows XP, что не работает.
Вот скачать файл https://disk.yandex.ru/d/X3CP4DBZRuutAQ (EraPlugins 4 DLL FIX+ MSVCR90 FIX +XP.rar)
Кто-то автор ЭРА и Сборка, возьми модификация "msvcr90.dll" для себя.
21.09.2022, 13:20
Большую работу проделал, уважуха ) Я верно понял, что после правки библиотеки работают и на xp и на win7?
21.09.2022, 13:21
(21.09.2022 13:20)Berserker Wrote: [ -> ]Большую работу проделал, уважуха ) Я верно понял, что после правки библиотеки работают и на xp и на win7?Да

21.09.2022, 15:12
(21.09.2022 13:16)myoffice91 Wrote: [ -> ]Вот скачать файл https://disk.yandex.ru/d/X3CP4DBZRuutAQ (EraPlugins 4 DLL FIX+ MSVCR90 FIX +XP.rar)
Кто-то автор ЭРА и Сборка, возьми модификация "msvcr90.dll" для себя.
Спасибо! Добавил в базовую версию ЭРЫ+ модифицированный msvcr90.dll и 4 обновлённых плагина. Теперь можно запускать ЭРУ+ без обязательной пустой папки EraPlugins под Windows XP и 2003.

Spoiler (Click to View)
Всё проклятущий Майкрософт со своим проклятущим Microsoft Visual C++ Runtime Library, с которым я в своё время порядком намучился...
03.10.2022, 12:19
(22.08.2022 07:59)Berserker Wrote: [ -> ]Джеддит и Нагаш в Эре 3 стандартные, не воговские.Проверил, не работал код. Посмотрел отладка, читает путь файл "Show Intro"
XEPOMAHT,
push адрес буфера, желательно байт так 250+
push "Show Intro"
push "Settings"
push "heroes3.ini"
call ReadStrFromIni

Искал, нашел:
(27.08.2019 20:43)Berserker Wrote: [ -> ]XEPOMAHT, на что жаловаться? )Это работает выходные данные из INI.
ReadStrFromIni (Key, SectionName, FilePath, Res: pchar); stdcall;
Ключ, Имя секции, Путь к файлу, Адрес буфера, куда поместить результат.
Если файл лежит в Mods\Heromant\Data\test.ini, то путь — 'Data\test.ini'.
Пример ini файла:
[имя секции]
ключ=значение
---
Мой полноценный рабочий ассемблер FASM:
Code:
mov eax,dword[63A230h];GetModuleHandleA
.if eax
push String_era_dll;db 'era.dll',0
call eax
.if eax
mov ecx,dword[63A22Ch]
.if ecx
push StringGetERA_API_ReadStrFromIni;db 'ReadStrFromIni',0
push eax
call ecx
.if eax
sub esp,400h
mov edx,esp
push edx
push edx;Buffer
push Stringheroes3_INI;"heroes3.ini"
push StringSettings;Settings
push StringBinkSoundType;BinkSoundType
call eax
pop eax
add esp,400h
.if word[eax] = 31h; 1
mov dword[BinkSoundType_Bool],1
.endif;edi
.endif;eax
.endif;ecx
.endif;eax
.endif;eax
18.10.2022, 16:28
Мод ERA+ обновлён до версии 3.55.
Что нового: Добавлена поддержка опции опыта монстров.

Скачать:
Часть 1: vk.com/s/v1/doc/EdCHBaaoP8gBKyjwi003EIKkus_GVKk3EUE9h-O0LNWizbN7vfc
Часть 2 (можно не скачивать, если была установлена предыдущая версия): vk.com/s/v1/doc/3w2yuWKsNQHMDA8c9e4ARuoaFmstdtK2GERmMRO7RKHpXcco6tQ
Небольшие новости по ERA+ 3.56:
1. Воговская опция кидания артефактов на карту полностью переписана. Сброс происходит из окна героя с помощью перетаскивания ненужного артефакта на стрелочку "вниз" (из MoP). Артефакт появляется под лошадкой героя (аналогично моповскому мешку).
2. Заодно простое нажатие на стрелке разденет куклу героя и положит все шмотки в рюкзак (порт с MoP).

Что нового: Добавлена поддержка опции опыта монстров.

Скачать:
Часть 1: vk.com/s/v1/doc/EdCHBaaoP8gBKyjwi003EIKkus_GVKk3EUE9h-O0LNWizbN7vfc
Часть 2 (можно не скачивать, если была установлена предыдущая версия): vk.com/s/v1/doc/3w2yuWKsNQHMDA8c9e4ARuoaFmstdtK2GERmMRO7RKHpXcco6tQ
Небольшие новости по ERA+ 3.56:
1. Воговская опция кидания артефактов на карту полностью переписана. Сброс происходит из окна героя с помощью перетаскивания ненужного артефакта на стрелочку "вниз" (из MoP). Артефакт появляется под лошадкой героя (аналогично моповскому мешку).
2. Заодно простое нажатие на стрелке разденет куклу героя и положит все шмотки в рюкзак (порт с MoP).

21.10.2022, 05:58
Есть защита от случайного нажатия по стрелке? Например диалог "точно снять все?"
21.10.2022, 06:00
(21.10.2022 05:58)Elmore Wrote: [ -> ]Есть защита от случайного нажатия по стрелке? Например диалог "точно снять все?"
Если надо, то могу добавить. В данный момент игра ничего не спрашивает при нажатии.
Инфа по кнопке - как обычно по нажатию ПКМ по ней.
21.10.2022, 06:15
Я считаю надо.
И так же жизненно необходимо убирать из игры ВСЕ важные подсказки по ПКМ, реализовывая по другому (всегда можно сделать иначе). Подавляющее кол-во проблем и недопониманий возникает из-за ПКМ-подсказок/описаний в модах, о которых игроки понятия не имеют.
И так же жизненно необходимо убирать из игры ВСЕ важные подсказки по ПКМ, реализовывая по другому (всегда можно сделать иначе). Подавляющее кол-во проблем и недопониманий возникает из-за ПКМ-подсказок/описаний в модах, о которых игроки понятия не имеют.
21.10.2022, 10:32
Hd мод имеет пресеты на набор артефактов в окне героя.
Если не забиндить, то снимает все арты
Если не забиндить, то снимает все арты
26.10.2022, 08:58
В Тифон добавлен функционал по добавлению новых кнопок в экран карты приключений. При этом:
1. С помощью костылей удалось добиться совместимости с HD-модом (т.к. Бараторч традиционно перехватывает функции целиком, поэтому как всегда для совместимости приходится заходить с заднего входа, т.е. как это принято в России - делать через ж*пу).
2. Из-за багованного алгоритма патчера определения пространства в коде, которое забивается нопами (а нужно записывать брейкпоинты, т.к. нопы всё же небезопасны), выход из бывших хуков buttons.era на несколько команд сдвинут относительно самого хука (т.к. патчер по неизвестным причинам с помощью нопов превращает код после хука в тыкву, поэтому приходится переносить намного больше затёртого кода, что в общем печально: в старых версиях патчера такой х*ни не было).
В общем, продолжаю переписывать buttons.era в рамках Тифона.

1. С помощью костылей удалось добиться совместимости с HD-модом (т.к. Бараторч традиционно перехватывает функции целиком, поэтому как всегда для совместимости приходится заходить с заднего входа, т.е. как это принято в России - делать через ж*пу).
2. Из-за багованного алгоритма патчера определения пространства в коде, которое забивается нопами (а нужно записывать брейкпоинты, т.к. нопы всё же небезопасны), выход из бывших хуков buttons.era на несколько команд сдвинут относительно самого хука (т.к. патчер по неизвестным причинам с помощью нопов превращает код после хука в тыкву, поэтому приходится переносить намного больше затёртого кода, что в общем печально: в старых версиях патчера такой х*ни не было).
В общем, продолжаю переписывать buttons.era в рамках Тифона.
