Current time: 21.04.2024, 17:34 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA II
» WoG Era 2: Русская и Английская версии
Author Message
Berserker Online
Administrators

Posts: 16488
Post: #316

В своё время народ не принял попытку ресурсы (кроме дефов) перевести на Data\Era\расширение. Data\Era\.erm, Data\Era\.txt.

Code:
{$IFDEF ERA2}
// Патчим GetBitmap816
General.HookCode(Ptr($55AA9A), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим GetBitmap16
General.HookCode(Ptr($55AE96), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим GetPalette
General.HookCode(Ptr($55B2BC), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим GetFont
General.HookCode(Ptr($55BB27), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим GetText
General.HookCode(Ptr($55BDE7), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим GetSample
General.HookCode(Ptr($55C61F), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим OpenFile для GetSample
General.HookCode(Ptr($604881), @AsmHook_OpenFile, General.C_HOOKTYPE_CALL, 6);
General.HookCode(Ptr($604403), @AsmHook_OpenFile, General.C_HOOKTYPE_CALL, 6);
General.HookCode(Ptr($604A17), @AsmHook_OpenFile, General.C_HOOKTYPE_CALL, 6);
// Патчим GetSpreadsheet
General.HookCode(Ptr($55C0B7), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
// Патчим ссылки на Data\s
Patch.Opcode:=$68;
Patch.Addr:=@General.ErmPath[1];
General.WriteAtCode(Ptr($72C2EB), @Patch, 5);
General.WriteAtCode(Ptr($773EB9), @Patch, 5);
General.WriteAtCode(Ptr($777E6F), @Patch, 5);
Patch.Addr:=@General.ErtPath[1];
General.WriteAtCode(Ptr($72C34C), @Patch, 5);
Patch.Addr:=@General.ErsPath[1];
General.WriteAtCode(Ptr($7B3800), @Patch.Addr, 4);
{$ENDIF}


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

Posts: 1809
Post: #317

Quote:General.HookCode(Ptr($55BDE7), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
Я делал хук на 55BDE1, то есть подменял только путь к файлу. Но, в принципе, это одно и то же.

А вообще, вначале, я хотел сделать загрузку текстовиков из архива, но пока не разобрался, где игра читает файлы не из файла, а уже из буфера. А то приходилось бы сначала вытаскивать файл во временный файл, чтобы игра его читала. Лучше же читать уже из буфера - не нужно лишней работы с диском.

Спасибо за адреса, будем посмотреть Sm
06.09.2011 20:38
Find all posts by this user Quote this message in a reply
etoprostoya Offline

Posts: 1809
Post: #318

Хм, а если будет подгрузка текстов
, а в перспективе и прочего, на что Берсеркер тут указал хуки,
из рар-архива (понятно, что на самом деле любого архива, для которого можно найти не слишком сложное API), то это будет пользоваться спросом? При этом остаётся проблема редактора карт, который не поймёт всех этих усилий Ab
06.09.2011 23:06
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16488
Post: #319

Нужно искать аналоги в редакторе, а подгрузка - дело неплохое. В идеале ведь лоды не нужны.


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

Posts: 116
Post: #320

Такой вот глупый вопрос - а читы в Эре есть? Sm Просто для отладки иногда нужно мгновенно пройти карту.
09.09.2011 00:03
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #321

Вроде должны остаться воговские читы.
09.09.2011 00:25
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16488
Post: #322

Воговские читы работают, если не запрещены в вог-опциях.


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

Posts: 1809
Post: #323

http://zalil.ru/31673353
Загрузка текстов из "textlod.ZIP". Пока работает только с костылём в виде "dummy.txt" в папке Data, но он не читается и его содержимое не важно, только проверяется его существование и размер, который должен быть не меньше, чем у самого большого загружаемого текстового файла.
09.09.2011 19:53
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16488
Post: #324

Неплохо! Но что-то костылей много. Нужно и размер подменять на лету.


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

Posts: 1809
Post: #325

Можно, только у меня потом почему-то игра не запускалась. Причину так и не нашёл, поэтому так и оставил пока. Потом надеюсь доделать.

Quote:Но что-то костылей много.
Один костыль только. Sm Если бы я использовал для этих целей любой другой файл из папки Data, то никто бы и не заметил Sm
09.09.2011 21:00
Find all posts by this user Quote this message in a reply
Zenofex Offline

Posts: 133
Post: #326

Берс, а новую версию инсталятора "Все-в-одном" будешь с Эрой 1.91 делать?
13.09.2011 17:05
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16488
Post: #327

Не скоро, наверное.


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

Posts: 2180
Post: #328

MSVC отказался компилировать SDK Эры в представленном виде.
Ничего сверхъестественного изменять не пришлось, мелочи, но, может, сэкономлю кому-нибудь время:
(This post was last modified: 31.10.2011 23:36 by Sav.)
20.09.2011 22:25
Find all posts by this user Quote this message in a reply
Ganymed Offline

Posts: 736
Post: #329

(22.07.2011 05:03)MOP Wrote:  Новый город - это попса. А я митол люблю.
Я вообще думаю, что всего один новый артефакт - лучше, чем сотня городов. Новый город - дорогая по всем параметрам безделушка, делаемая людьми чисто из желания похвастаться, что они смогли это сделать.

Посмеялся от души)))
MOP - новый город, это как симфония в музыке, иными словами - крупная форма, требующая максимального творческого напряжения и соединяющая в себе различные формы и стилистические направления. Это, своего рода, диссертация. А артефакт - ну, пьеса в свободной форме, которую можно сочинить левой ногой, только восставши ото сна.
При всем моем глубоком уважении к тебе, в данном случае ты категорически не прав. Хотя, конечно, тебя можно понять: еще ни одного города не вышло так, чтобы можно было спокойно поиграть и увидеть своими глазами всю мощь и глубину творческой мысли.

Сори за оффтоп. Тема не для этого, просто я не удержался и закомментил, потому как вопрос не праздный и, в общем-то, не только философский.


Настрой имеет значение!
21.09.2011 19:10
Find all posts by this user Quote this message in a reply
AKuHAK Offline

Posts: 116
Post: #330

Внимание! Ексебилдер не учитывает стандартное смещение в 400000. В итоге экзешник разбухает до 7 мегов и разумеется не запускается.
23.09.2011 17:39
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