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

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

Posts: 517
Post: #91

(14.07.2011 23:22)Berserker Wrote:     если там не много рутины, можно будет сделать автоподгрузку всех лодов из папки.
лучше тогда сделать ещё один вариант этого плагина - как кому нравится.
потому что я как раз хотел держать все лоды в Data а грузить по мере необходимости. Так я могу одним батником грузить русскую версию, другим - турнирную, третим - с новыми объектами, а четвёртым - даже без паззлов кампании, для большей скорости и экономии памяти.
Что ж их, каждый раз переименовывать?


-= подпись Гиппокамуса =-
15.07.2011 00:23
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16654
Post: #92

Да, но переименовывать батником. То же самое с плагинами и патчами. Сменить расширение = включить/отключить.


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

Posts: 2180
Post: #93

Подгрузить все lod'ы из папки Data можно легко, надо просто вместо анализа параметров анализировать имена файлов этой папки (даже ничего ассемблерного редактировать не надо). А насчёт других папок - не знаю, мой плагин не оперирует путём к lod'у, только его именем. Игра сама ищет эти lod'ы, только ли в Data или нет - не знаю.
(This post was last modified: 15.07.2011 00:46 by Sav.)
15.07.2011 00:44
Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 517
Post: #94

По идее в Data и в ..\Data
По крайней мере так делают Хроники.


-= подпись Гиппокамуса =-
15.07.2011 00:52
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #95

Внезапно сейчас у меня оказалось немного свободного времени и я исправил баг. Он, естественно, оказался идиотским: я закомментировал PUSH в одном месте и забыл об этом.

Ссылка удалена. Далее в теме действительно рабочая версия.

В общем, если запустить игру без параметров, подгрузятся только H3bitmap.lod и H3sprite.lod. H3ab_spr.lod, H3ab_bmp.lod, H3psprit.lod, H3pbitma.lod, H3pab_bm.lod, H3pab_sp.lod, H3wog.lod и H3custom.lod не подгружаются! Чтобы подгрузить их, их нужно указать в параметрах командной строки.

Параметр должен начинаться знаком "/" (который, естественно, не входит в имя lod`а). Иначе сами Герои будут ругаться: дескать, есть параметр "/S0" - отключение звука, параметр "/I0" - отключение интро, а что вы там понаписали, я не знаю и вырубаюсь нафиг.

Параметры нечувствительны к регистру. Если параметр не кончается на .lod или является "/.lod", он игнорируется. Параметр должен быть не длиннее 255 символов. Если параметр указывает на "H3bitmap.lod", "H3sprite.lod" или на тот же lod, на который указывал один из предыдущих параметров, он (этот, а не предыдущий Sm) игнорируется. Если уже не проигнорировано 62 параметра, все остальные игнорируются (т. е. всего можно подгрузить 64 lod`а, но за вычетом двух обязательных - 62). lod`ы подгружаются в таком порядке: "H3bitmap.lod", "H3sprite.lod", дополнительные lod`ы в порядке указывающих на них параметров. Указанные в параметрах lod`ы могут не существовать, всё будет работать нормально. Ну и, естественно, нет ограничения снизу на количество параметров, их можно не указывать совсем.

Ну, вроде, всё расписал. Могу уезжать с чистой совестью. Sm

UPD: Ах, да ещё плагин нельзя переименовывать, т. к. в его коде используется его имя. В принципе, ничего страшного не должно случиться, но всё равно не стоит.
(This post was last modified: 14.08.2011 19:03 by Sav.)
15.07.2011 12:02
Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 517
Post: #96

Спасибо, Сав! Всё по высшему разряду!


-= подпись Гиппокамуса =-
15.07.2011 12:18
Visit this user's website Find all posts by this user Quote this message in a reply
Kocmodecaht Offline

Posts: 18
Post: #97

ЧТо уже вышла эра 1.9?
15.07.2011 13:17
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #98

Ещё нет, но уже вышел плагин под неё. Sm
15.07.2011 13:22
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16654
Post: #99

Молодец! Всё, обязательно нужно сделать сервис спасибо.


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

Posts: 18
Post: #100

Вы отлично выпускаете эру я думаю она будет замечательной)))
15.07.2011 13:49
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16654
Post: #101

Благодарю.


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

Posts: 16654
Post: #102

Sav, ты не против, если я покопаю в сторону автоподгрузки лодов в Эре? Чтобы авторы смело свои лоды распространяли. Вдобавок, тут ещё очерёдность загрузки и некоторые нюансы, которые неплохо бы стандартизировать.


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

Posts: 2180
Post: #103

Не против.
Если что, мой плагин работает так:

Сначала происходит анализ параметров, имена подгружаемых lod'ов записываются в спец. отведённую область памяти.

Потом выполняется воговский код, отвечающий за инициализацию h3wog.lod и h3custom.lod (точно не знаю, что там, но без неё lod'ы не подгружаются как следует, напр. если в h3ab_spr.lod запихать что-нибудь, оно не подгрузится просто так), только вместо них инициализируются все lod'ы из параметров.

Потом выполняется код, в котором ссылки на имена lod'ов записываются в определённую область памяти размером в 400 байт на lod (точно знаю, что туда же потом запишется путь к lod'у и ещё какая-то информация). Соответственно, с плагином вместо стандартных lod'ов записываются два обязательных + все из командной строки, а область памяти выделена в виде переменной в плагине и ссылки на неё перенаправлены на переменную в плагине.

Ну и во всех остальных местах (всего штук 40) опять же ссылки на эту область памяти перенаправлены на переменную плагина.

Вообще многие вещи найдены экспериментальным путём, поэтому я не могу с уверенностью говорить о том, что происходит в применяемых к именам lod'ов функциям.
(This post was last modified: 15.07.2011 16:13 by Sav.)
15.07.2011 16:09
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16654
Post: #104

У меня есть возможность сравнить с реализацией от ZVS, но он перехватывает пару основных функций, а ты фактически таблицу переносишь. Нужно будет убедиться, что все обращения к ней учтены.
Ещё раз спасибо за работу!


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

Posts: 517
Post: #105

С очерёдностью как раз проще - в каком порядке они перечисляются, в таком и подгрузятся.
А вот если делать загрузку всех из Data - там возможны конфликты, да. В таком случае лучше делать ini, если ты считаешь, что перечислять - напряжно.


-= подпись Гиппокамуса =-
15.07.2011 17:30
Visit this user's website 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