EI Starter (поддержка модов)
#1
Выложи EIstarter.ini. А то ведь не калбасит у меня новый стартер.
Smile
Ответ
#2
Нивеа.
Стартер создает дублированные папки. Достаточно одной папки аддон.
CTonguerogram FilesПроклятые ЗемлиADDONAddon-ll_v0.3config_ini_(retail)_defaultAddon
И
CTonguerogram FilesПроклятые ЗемлиAddon-dll_v0.3addon_dll
Ответ
#3
Сан
я выложил в твою папку новый эдитор текстур правда пока PNT3 не читает когда читаеш из файла
Ответ
#4
Извините, что вклиниваюсь, просто стало любопытно узнать что-нибудь о новом редакторе текстур Smile Т.е., если я правильно понял, это не будет просто конвертор (как старая версия), будут еще какие-нибудь дополнительные возможности?

P.S. Да, и вот, еще давно хотел спросить. Сан, у вас случайно нет импортера файлов ландшафта из ПЗ в 3DS Max?
Капитан Ос
Ответ
#5
CaptainOS
Спрашивай, конечно….
Редактор (распаковщик/запаковщик) текстур ты уже наверное увидел. Smile Джет его выложил.
Импортера ландшафтов у нас нет. Вообще-то мы умеем отрисовывать поверхность игровых зон в наш редактор. Наверное, можно будет сделать и конвертор для 3DS, попозже….
Smile
Ответ
#6
2 sun

<Редактор (распаковщик/запаковщик) текстур ты уже наверное увидел. Джет его выложил.>
Ага, я его уже скачал! Smile БОльшое спасибо за хорошую утилиту Wink

<Импортера ландшафтов у нас нет. Вообще-то мы умеем отрисовывать поверхность игровых зон в наш редактор. Наверное, можно будет сделать и конвертор для 3DS, попозже….>
Эх, было бы очень здорово, если б такой плагин или конвертор появился! В принципе даже без сохранения координат тектстур (хотя с ними, конечно, лучше Wink)
Капитан Ос
Ответ
#7
Никого нет...

2 Jet

Как насчет MAPS?
Ответ
#8
Цитата:Никого нет...

2 Jet

Как насчет MAPS?
Пока не готово, как только что-то будет, я тебе на e-mail напишу, и выложу на ftp. Wink
Ответ
#9
приболел я, немного...
Smile
Ответ
#10
снова никого...
я увлекся модами - у меня их штук 6 и можно переключаться
на любой из них
особенно увлексся Гипатом в огне Wink там на зайцах прикольно
раскачиваться

Джет
я те на почту вчера написал - новые квесты не появляются и
наличие addon.res слишком навязчиво нужно, ИМХО
чтобы он был факультативно не стоит усложнять
Ответ
#11
Понятно...
Smile
Я тоже понемногу докалбашиваю...
Ответ
#12
Цитата:снова никого...
я увлекся модами - у меня их штук 6 и можно переключаться  
на любой из них
особенно увлексся Гипатом в огне Wink там на зайцах прикольно  
раскачиваться

Джет
я те на почту вчера написал - новые квесты не появляются и  
наличие addon.res слишком навязчиво нужно, ИМХО  
чтобы он был факультативно не стоит усложнять

По повду addon.res решим.
давай определимся с форматом файла моддиста, я предлагал сделать так:
[MOD]
От файлика addon.res избавимся. ;-)
Я думал вот какой сделать .reg файл:

Title=Gipat.Ru Mod 1
Author=Jet jet@gipat.ru
AuthorMail=jet@gipat.ru
URL=http://www.gipat.ru/Mod1
Description=Тестируем мод.
Version=1.0.3
Date=18.01.2003
Database=Database.Res
DatabaseLmp=DatabaseLmp.Res
Figures=Addon.Res
Texts=Addon.Res
TextsLmp=Addon.Res
UseMQ=1
RSA_SIGN=xxx
Но я видимо, как обычно, всё усложняю. ;-)
Ответ
#13
Нормально..., гибко и удобно!
Ответ
#14
Я вот что думаю. Давайте на 99% выполним наше заявление, что наш проект не будет вообще ничего изменять, модернизировать в стандартной ПЗ. 1% пусть будет папка, «add-ons», или «mods» в папке «Проклятые Земли».
Структура пусть будет следующая. В папке ADDON будет лежать наш стартер и необходимые файлы для стартера. Далее папка модификации и все остальное. А в стандартной игре и в ресурсах, а также в реестре ПЗ, мы ничего менять вообще не будем. То есть, и Стартер убрать из директории игры. Я думаю, что и сервис пакет для ПЗ можно сделать, так же как и моды. Хотя ошибки в стандартной игре есть достаточно серьезные.
Ответ
#15
Нивеа
Менеджер модов должен работать так:
В реестр ничего не пишется, никакой активации, кроме простого выбора из списка. Думаю, что даже лучше сделать раскрывающийся список с полями краткой информации. Список должен создаваться по названию папок в папке: CTonguerogram FilesПроклятые Землиmods
Или в другой папке, где будут находиться все остальные моды.
Менеджер модов, в момент инициализации, должен пройти по всем папкам и зачитать в каждой папке, специальный файл: mod.ini. То есть, в каждой папке мода есть один такой файлик. В реестр ничего не пишем, кроме последнего загруженного мода, но проверяем, вдруг путь отсутствует, то выбираем стандартную игру. В списке модов, всегда должна быть строка: «Стандартная игра». Для того чтобюы была стандартная игра, нужно создать по умолчанию пустую папку: «Стандартная игра».
На самом деле как такового интерфейса модово ненужно. Мод нужно выбирать так же как мы выбираем разрешение монитора, просто из списка. И всё….!
Ответ
#16
Наверно Вы создадите нову тему но пока ее нет напишу сдесь свою технологию.

Стартер полагает, что моды лежат в папке Mods внутри ПЗ.
Инсталлятор стартера создает новую папку в Mods с именем мода и копирует в нее все файлы
из указанной папки рекуривно читая их из всех подкаталогов, кроме квестов
Квесты копируются в папку MAPS.
Таким образом при активации стартер смотрит папку мода и если есть файлы ПЗ(резы и тд) запоминает
их как булевы переменные - этим файлам нужно будет поставлять другие пути при запуске стартера.
После активации также становится возможным редактировать ai.reg в папке мода если мод его
использует.

В реестре записывается имя активного мода для автоактивации при следующем запуске стартера.

те для инсталляции мода нужно только его распаковать в любое место
и инсталлировать из стартера

По поводу конфига считаю его нужным, но опциональным те если его
нет то не далать ничего лишнего и не вылетать с сообщением об ошибке
Ответ
#17
Нивеа, все в принципе ОК. Хорошая технология, но не масштабируемая. Мы должны выложить структуру. И пользоваться не только автоматикой, но и придерживаться каких-т оправил. Например, гибкость нашего кода может заключаться в возможности использовать нескольких файлов из одного запрашиваемого ресурса. Предположим так, файл figures.res. Этот файл очень большой. Наша технология позволяет искать запакованные файлы в разных ресурсах. Нам нужно сделать поддержку соответсвий одного запрашиваемого файла – нескольким базам. Например? двумерная таблица с именами полей: 1 поле – «Запрашиваемая база даных» (*.res) и соответствие фала базы данных.
figures.res = RES/figures.res
figures.res = RES/figuresМод1.res
figures.res = RES/figuresМод2.res
figures.res = ../SP/RES/figures.res
и так далее.
Разумеется, что ты можешь сделать что-то автоматически. Так вот, если нет такого файла, на здоровье, создавай файл самостоятельно. Но работа стартера ядра должна быть в одном ключе, а не с массой уникальных приспособленческих «автоматизаций». Полная автоматизация не есть хорошо. Если, путь не соответствует, выводи сообщение, в какой строке отсутствует ресурс. Но автоматизацию прописывай статически. Вызов функции автоматической настройки может быть, если отсутствует файл конфиг. Мы выигрываем в том, что разработчик может разбить (объединить чужой мод) на части. И выпускать новые добавления без необходимости замены старых правильных файлов. Какой смысл из-за одного изменения выпускать дополнение огромных размеров. Чел может дать только необходимые изменения. Также дать дополнения в виде собственного файла с одним-двумя текстурами. К тому же, таким образом решается проблема сервиспакета, и всего что необходимо. Вообще мы сегодня с джетом много говорили на эту тему. Я думаю, он напишет, что и как нужно сделать. Поверь, нужно сделать масштабируемую прогу, чтобы в дальнейшем не иметь проблем. Пожалуйста, давай с инициативой, но без самодеятельности. Работу нужно сделать, так как решим. Два дня на мытарства и все. Кодим…
Джет, напишите, пожалуйста, от себя, основные требования, и как должна быть использоваться структура реестра, что там можно (нужно) писать (сохранять). Что можно (нужно) записывать в папках мода…



Smile
Ответ
#18
Цитата:Так вот, если нет такого файла, на здоровье, создавай файл самостоятельно.

Полностью согласен, но этот файл мне не нужен, а нужен длл
вот я предлагал Джету если его нет сделать его виртуально
или физически, как стартер делает info.txt.

Я делал так как раньше все обговорили - мне оставалось одно
чтобы библиотека работала с новыми модами и не запрашивала
лишних файлов и могли бы уже выложить бету. Конфиг как я понял вопрос больше регистрации и оптимизации модов - я полагал, чтио
оптимизация - есть опциональность. Моды у меня работают без всяких конфигов, регистрации, все не сложно, есть инсталлер, но спорить я не не буду если мое мнение вам ясно - то вы решите так как нужно.

Цитата:Джет, напишите, пожалуйста, от себя, основные требования

Жду когда джет их напишет и начну все переделывать
Ответ
#19
Cry мдя, всё получается не так быстро как мне казалось.
Только что закончил поддержку секции [RES]

Вот описание файла config.Reg:

[MOD]
Title=Gipat.Ru DEMO Mod
; Имя мода, будет выводиться стартером в выпадающем списке

Author=Jet
; Имя (ник) автора мода

AuthorEmail=jet@gipat.ru
; Адрес электронной почты создателя мода

URL=http://www.gipat.ru/Mods/DEMO
; Ссылка на страничку мода

Date_DMY=07.04.2003
; Дата выпуска мода

Version=1.0.0
; Версия мода

Это те поля, которые зачитывает стартер.

Реестр надо вычистить от лишних ключей:
HKEY_CURRENT_USERSoftwareGipat.RuEI_StarterSettings
AddonPath=”” (Путь к директории с модами, библиотека открывает в этой папке Config.reg)
AddonSavesPath – Удалить (Путь теперь будет – папка мода)
AltExpCalc – Удалить (Будет вынесено в Config.Reg)
CustomMpZones – Удалить (Это уже есть в Config.Reg)
Genocide Level – Удалить (Теперь это будет просто мод с новым балансом)
Mod activate – Удалить (Определять активен ли мод можно по значению в поле AddonPath)
Mod dir - Удалить (Определять директорию мода можно по значению в поле AddonPath)
Mod name - Удалить (Определять имя мода можно из файла Config.Reg в папке мода)
New Balance – Удалить (Теперь это будет просто мод с новым балансом)
New Saves – Удалить (Теперь сейвы автоматически будут сохраняться в папках мода)
PerkLimit – Удалить (Теперь это будет просто мод с новым балансом)
SaveMPD Limit – Удалить (Настройки нужно сохранять в файле с сохраненными .MP или в папке мода)
Saving MPD – Удалить (Сохранять историю сейвов нужно только в том случае, если в папке мода присутствует файл .MPD )

Стандартная игра должна оставаться нетронутой, вот главный принцип стартера!
Ветка:
HKEY_CURRENT_USERSoftwareNival InteractiveEvilIslands
В этой ветке ничего изменять нельзя, как это делаем мы сейчас.

Нужно сделать копию ветки вот сюда:
HKEY_CURRENT_USERSoftwareGipat.RuEI_Starter EvilIslands
И здесь изменять значения.
А при запуске игры из-под стартера нужно подставлять эту ветку в игру, вместо стандартной ветки.
Smile жду критики
Ответ
#20
Выложил файл - Mod1.rar, вот его описание:

Mods - Папка с модами
+-Mod1
| +-Config Ai.reg (пока не задействован)
| +-Maps Mob, MPR и MQ файлы. *
| +-Res Только измененные и новые файлы в database.res и texts.res

* Небольшое замечание по поводу *.mq:
Если .mq файлы отсутствуют, то мульти-квесты по умолчанию, то, что установлены в игре
Если есть хоть один .MQ файл в папке Mod1/Maps,

Вот так подключены файлы ресурсов в config.ini:
[RES]
database.Res=ResDatabase.res
texts.res=ResTexts.res

В Database.res только измененные таблицы:
1.acks.db
2.items.idb
3.levers.ldb
4.perks.pdb
5.units.udb

В Texts.res только измененные и новые тексты:
1.pers Susanin
2.string difficulty_easy
3.string difficulty_hard
4.string version_name

2 моб файла:
zone1.mob - Файл зоны с проводником
2oneWar.mob
и всего 4 .MQ файла:
z3q3.mq - Магическая Пирамида
z6q2.mq - Драконы угрожают Поселку!
z6q3.mq - Пропал поросенок Пятачок!
z7q1.mq - Спасите Го-Го!
Сделал для демонстрации, остальных квестов видно не будет.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 6 Гость(ей)