Current time: 19.04.2024, 20:13 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
XEPOMAHT Offline
Moderators

Posts: 2269
Post: #961

(12.02.2021 14:28)Raistlin Wrote:  Единственное, в новый ехе придется ведь подгрузить era.dll и еще пару библиотек? Если да, то как это сделать? Вот так получится?
Code:
call loadlib
db "mydll.dll", 0
Code:
loadlib:
call LoadLibraryA
jmp OriginalEntryPoint


Имелось в виду, что они будут работать из одной папки с разных exe. Но сама ЭРА написана под адресное пространство WoG 3.59 TE. В последнем WoG 3.59 адреса будут совершенно другими, поэтому просто так "на халяву" ничего не заработает - для объединения ERA и WoG 3.59 придётся основательно и мучительно повозится с исходными кодами обоих проектов (плюс к этому отвалится поддержка HD-мода и почти всех эровских плагинов, поэтомы смысла в этом нет абсолютно никакого).
(This post was last modified: 12.02.2021 14:59 by XEPOMAHT.)
12.02.2021 14:57
Find all posts by this user Quote this message in a reply
Grossmaster Offline
Moderators

Posts: 565
Post: #962

Я когда то пробовал ставить эру II на 3.59, ничего хорошего не вышло. Думаю, с эрой III тем более не должно пойти


Новая графика для WoG
12.02.2021 15:38
Visit this user's website Find all posts by this user Quote this message in a reply
Raistlin Away
Moderators

Posts: 1348
Post: #963

Благодарю за ответы, вероятно, все действительно так и будет.


Создал новый глобальный мод: WoG Ultra Edition
12.02.2021 15:43
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #964

Да, либо 3.59 допиливать, либо Эру. 3.59 по исходникам перспективнее, Сергей по сути колоссальный объём работы сделал.


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

Posts: 1348
Post: #965

Но ведь и Вы тоже... Как по мне, ни то, ни другое не должно пропадать, может быть есть возможность, например, несколько изменить код Сергея, чтобы он работал в условиях Эры в форме отдельных плагинов? Насколько это сложно, как бы Вы оценили?


Создал новый глобальный мод: WoG Ultra Edition
13.02.2021 12:34
Find all posts by this user Quote this message in a reply
Archer30 Online
Moderators

Posts: 1114
Post: #966

Hi, Berserker, I want to ask for your help with a question from a mapmaker.

For some reasons, loading any save game from his map results in CTD with the latest ERA. You can easily reproduce the issue by saving at day 1 and loading after.

Map + debug

I believe the debug info is very straight forward, only I could not read it. Could you advise what might be wrong?


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 13.02.2021 16:41 by Archer30.)
13.02.2021 13:51
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #967

Raistlin, я глубоко не копал, возможно, тебе удастся. Нет времени/ресурсов.

Archer30, ---------------------------
Heroes of Might and Magic® III Map Editor
---------------------------
Invalid or corrupt map file.

I cannot advice anything. Crash is on regular H3 function.


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

Posts: 1114
Post: #968

Thank you Berserker, I understand that Yes


Latest ERA mods and scripts in development - My GitHub
13.02.2021 16:59
Find all posts by this user Quote this message in a reply
Raistlin Away
Moderators

Posts: 1348
Post: #969

Berserker, я думаю, многое можно обратить в плагины и использовать таким образом. Кстати, не могли бы Вы подсказать мне, как правильно записать данные в сохранение? У меня есть некий двумерный массив, я вызываю функцию "WriteSavegameSection" в событии "OnBeforeSaveGame" и передаю ей в качестве параметров размер, имя массива (пробовал ссылку, но не помогло) и строку с названием секции. В "OnAfterLoadGame" у меня вызывается "ReadSavegameSection", аргументы такие же. Результата, к сожалению, нет.


Создал новый глобальный мод: WoG Ultra Edition
18.02.2021 19:26
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #970

Raistlin, в событии OnSavegameWrite нужно вызывать WriteSavegameSection с указанием адреса массива (в С++ — как раз просто имя) и размером массива в байтах.
Рекомендую иметь свою секцию/ии с уникальными именем. Первое поле писать uint32 с размером массива, затем сам массив.

В OnSavegameRead делаешь так:

Code:
int arraySize;

if (ReadSavegameSection(sizeof(arraySize), (void*) &arraySize, 'section name')) == sizeof(arraySize) && arraySize = макрос_получения_размера_массива(...)) {
  Так, всё верно:
  1) Плагин ранее записал данные, поскольку мы прочитали заголовок в 4 байта
  2) Записанный размер массива равен реальному размеру, значит плагин не устарел, та же версия
}
Мои секции называются в стиле Era.PO, Era.Triggers и т.д.
Если сохраняешь строки, то сперва пиши int32 длину строки, затем её содержимое. Читай также. В Эре есть высокоуровневая обвязка с функциями вида ReadInt, ReadStr, ReadByte.


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

Posts: 1348
Post: #971

Berserker, я понял, большое спасибо! 132


Создал новый глобальный мод: WoG Ultra Edition
18.02.2021 20:06
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #972

Читать/писать в секцию можно много раз, порциями. Это как файл с отслеживаемой позицией.


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

Posts: 1348
Post: #973

Berserker, это важная деталь, буду иметь ввиду. Еще раз спасибо!


Создал новый глобальный мод: WoG Ultra Edition
19.02.2021 17:30
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #974

Пожалуйста Ab


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

Posts: 1114
Post: #975

A strange bug report here:

Building Wall of Knowledge for Sandro results in a CTD. If Sandro is not in the town, then everything works fine.

debug+save

I removed all mods and refreshed with F12. Problem persisted. What could be wrong 105


Latest ERA mods and scripts in development - My GitHub
19.02.2021 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