• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
  • Первое сообщение
  • #1
1767600363729.png

RU EN

 

Вложения

  • Union_Primary_Universal 12.02.2022.zip
    44 MB · Просмотры: 28.432
  • Union 1.0m 26.06.2022.zip
    11,8 MB · Просмотры: 977
  • Union 1.0m 26.06.2022 v2.zip
    11,8 MB · Просмотры: 627
  • Union 1.0m 26.06.2022 v3.zip
    11,8 MB · Просмотры: 30.732

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
Обновлен менеджер ресурсов Gothic ½ - Union Resource manager
Последующие обновления будут выкладываться в него. Старые менеджеры не будут обновляться некоторый тестовый период.

В новый менеджер Выложен
Union 1.0f
- Улучшение стабильности - исправление некоторый косяков, произошедших в момент ковыряния некоторых технический моментов в прошлом билде.
- Поддержка 4гб патча - библиотека поддерживает расширение игры до 4гб, для этого необходимо установить новый 'патч на игру + патч 4гб'.
- Режим 'чистый системный пак' - по возможности исключает все лишнее из работы юниона.
- Пользовательский Splash screen
Использование:
При первом запуске игры в Union.ini (если игра была запущена с exe) или в <your mod>.ini (если игра запущена через стартер) появится секция [SPLASH].
* FileName - имя файла изображения (24 разрядный bmp без сохранения данных о цветовом пространстве). Указывается с расширением. Файл может находиться в любой видимой VDFS директории. Например папка System. Также файл может лежать и в томе модификации.
* HideTitle - скрывает информацию о версии текущего пакета.
* AlphaColor - определяет цвет, который будет преобразован в полностью прозрачный. К примеру 0 60 127

Пример прозрачного изображения:
1574108113012.png


Внизу приложу архив с этой картинкой


Union SDK 1.0f
- Обновлен интерфейс движка. Это главным образом касается регистрации всех создаваемых экземпляров zObject.
- Исправлен потенциально опасный конструктор класса oCNpc. Исключен пролог конструктора, исключающий множественную регистрацию oCItemContainer'a в статический список экземпляров данного класса. Больше таких конструкторов найдено не было.
- Исправлены некоторые функции алгебры, а также добавлены новые, например получение угла между векторами.
- Мелкие правки Gothic API.
- Добавлен файл исходного кода, заранее настроенный на мультиплатформенную компиляцию. Объявления добавлять в Plugin_Header.h, а определения в Plugin_Source.hpp.
- Некоторые неиспользуемые события CreateRefApplication можно отключить. Это повысит совместимость с режимом 'чистый системный пак'.
- Рекомендуется изучить файлы Macro.h & zMacro.h, есть некоторые новые макросы.
- Выключены (по умолчанию) предупреждающие сообщения, сообщающие о неверно выбранной целевой платформе при компиляции проекта. Теперь можно компилировать проект на любой платформе, но с указанием поддержки Windows XP. Иначе плагины не будут с ней совместимы.
В общем сборка очень важная, рекомендую пощупать.

alexeich2019 это тебя тоже касается, той проблемы с инвентарем в настоящее время быть не должно :)
 

Вложения

  • Пример окна сплеша.7z
    133,5 KB · Просмотры: 125

alexeich2019

Участник форума
Регистрация
28 Июн 2019
Сообщения
191
Благодарности
73
Баллы
175
Вопрос. А можно как-нибудь подключить проект VS к игре, вместо нашего .dll файла? Хочется вести разработку НЕ выходя из игры. Очень удобно было бы делать UI и некоторые другие фичи...
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
Никак, если не опишешь алгоритм, способный безопасно отключать dll от процесса. Если укажешь путь компиляции в папку system, а в свойствах отладки укажешь $(TargetDir)\Gothic2.exe (либо GothicMod.exe), то при прожатии F5 проект скомпилится и запустит игру вместе с отладчиком студии.
ЗЫ. Ещё полезно задать аргументы командной строки: -zwindowed -devmode. Первый запустит игру в окне, второй активирует Марвин по умолчанию.
 

Adanos Gotoman

Участник форума
Регистрация
16 Мар 2017
Сообщения
232
Благодарности
86
Баллы
195
Gratt, а сложно ли длл-ку от процесса отключить? То есть, вообще, в теории можно сделать всё то, что челик выше написал? Например, да, создание GUI в real-time?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
Adanos Gotoman, проще всего делать это через две библиотеки. Одна для перезагрузки и управления dll, а вторая для реализации, при чем в ней должен быть отключен CreateRefApplication более чем полностью. Все функции обратного вызова должны происходить из первой dll. Вторая обязательно должна иметь функцию полной выгрузки динамически созданных ею объектов. Только после этого операция отсоединения плагина от процесса будет безопасной.
 

alexeich2019

Участник форума
Регистрация
28 Июн 2019
Сообщения
191
Благодарности
73
Баллы
175
Как можно получить массив/список с zCPolygon, в текущей части локации? Пробовал через bspTree, но у меня лапки...
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
alexeich2019, ну все правильно ты делаешь, из bspTree можно много-всяко извлечь. Например чем тебе не нравится world.bspTree.leafList[numLeafs].polyList[numPolys]?
 
Последнее редактирование:

alexeich2019

Участник форума
Регистрация
28 Июн 2019
Сообщения
191
Благодарности
73
Баллы
175
Gratt, ага. Так стало вылетать не сразу, а через несколько секунд. Прогресс.)
C++:
if (zCWorld* world = ogame->world) {
    for (int i = 0; i < world->bspTree.numLeafs; i++) {
        zCBspLeaf leafList = world->bspTree.leafList[i];
        for (int z = 0; z < leafList.numPolys; z++) {
            zCPolygon * poly = leafList.polyList[z];
            if (poly) {
                //ToDo
            }
        }
    }
}
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
alexeich2019,
Потому что ты некорректно обращаешься к памяти. Получается что ты создаёшь новый экземпляр чанка, а у него нет ни оператора, ни конструктора, создавшего бы правильную его копию. Будет верно, если обратишься к чанку по указателю, либо ссылкой (фактически это оно и тоже). Выглядеть это будет либо так:
zCBspLeaf* leafList = &world->bspTree.leafList[i]
Либо так:
zCBspLeaf& leafList = world->bspTree.leafList[i]
Выбирай как тебе удобнее.
 

Jr13San


Модостроитель
Регистрация
1 Апр 2010
Сообщения
500
Благодарности
355
Баллы
230
У меня есть подозрение, что Рыбки опять начудили в алгоритме.
Тестовый код:
C++:
void MarkWorldPolys()
{
    if (!ogame)
        return;

    zCWorld* pWorld = ogame->GetWorld();
    if (!pWorld)
        return;

    for (int i = 0; i < pWorld->bspTree.numLeafs; i++)
    {
        for (int j = 0; j < pWorld->bspTree.leafList[i].numPolys; j++)
        {
            zCPolygon* poly = pWorld->bspTree.leafList[i].polyList[j];
            if (poly)
            {
                poly->material->SetTexture(zSTRING("Brown.tga"));
            }
        }
    }
}

void Game_Loop()
{
    if (zinput->KeyToggled(KEY_F1))
    {
        MarkWorldPolys();
    }
}
В результате подкрашиваются не только полигоны статик меша, но и выборочные полигоны вобов.
 

Вложения

  • MarkWorldPolys_test.jpg
    MarkWorldPolys_test.jpg
    757,2 KB · Просмотры: 225

ignotumvirum

Участник форума
Регистрация
24 Ноя 2019
Сообщения
3
Благодарности
0
Баллы
95
Здравствуйте, подскажите пожалуйста, будет ли модификация перепакованная из .mod в .vdf, корректно работать с Union?(без плейер кита и модстартера)
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.377
Благодарности
7.861
Баллы
995
будет ли модификация перепакованная из .mod в .vdf, корректно работать с Union?
юниону без разницы с чем работать, поэтому будет..
только не понятно нафига нужно мод в вдф пихать, мод на то и мод что его ресурсы должны идти отдельно от ресурсов оригинала игры, иначе это не мод, а херня, которая будет влиять на игру и на все моды установленные на нее..
 

ignotumvirum

Участник форума
Регистрация
24 Ноя 2019
Сообщения
3
Благодарности
0
Баллы
95
юниону без разницы с чем работать, поэтому будет..
только не понятно нафига нужно мод в вдф пихать, мод на то и мод что его ресурсы должны идти отдельно от ресурсов оригинала игры, иначе это не мод, а херня, которая будет влиять на игру и на все моды установленные на нее..
то-есть лучше ставить player kit? до Union, после или без разницы?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.377
Благодарности
7.861
Баллы
995
то-есть лучше ставить player kit? до Union, после или без разницы?
а в инструкции по установке ничего не написано? прочитайте ее и делайте как там указано.. или в самом менеджере, что и в каком порядке ставить..
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
ignotumvirum, на самом деле это не сильно важно, но это пока. Немного заглядывая в необозримое будущее - без понятия что ещё напихаю в патч, идущий в ресурс менеджере. Так что правильнее сначала плеер кит, а потом компоненты Юнион. Это гарантирует, что файлы юниона сохранят свою актуальность, необходимую для наиболее правильной работы игры.


В результате подкрашиваются не только полигоны статик меша, но и выборочные полигоны вобов.
Это да. Чанки не имеют четкой упорядоченности полигонов. Остальные куски вобов разбросаны по другим чанкам. Но это и не критично, у меня проблем от этого беспорядка не возникло даже для написания алгоритма, вычисляющего оптимальный путь из точки А в точку Б, используя только информацию о полигонах локации.
 

aethern

Участник форума
Регистрация
27 Ноя 2019
Сообщения
65
Благодарности
55
Баллы
170
Привет, я здесь новенький.
Такая проблема: не появляется Union.ini в папке System после установки и запуска игры. Но при этом на сплеше при запуске написано, что это юнион и версия систем пака.
Подскажите, пожалуйста, можно ли как-то решить эту проблему? Пробовал переустанавливать, удалять с /ProgramData локальные файлы и переустанавливать заново. Пробовал разные версии Готики: GOG и Steam (обе "Золотое издание").
Сорри, если не по сабжу. Пока плохо ориентируюсь на форуме.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
10.648
Благодарности
7.400
Баллы
1.910
aethern, от имени админа игру запускал?
не ставь игру в програмфайлс. Создай на диске С папку games и туда ставь
 

aethern

Участник форума
Регистрация
27 Ноя 2019
Сообщения
65
Благодарности
55
Баллы
170
aethern, от имени админа игру запускал?
не ставь игру в програмфайлс. Создай на диске С папку games и туда ставь
Да, изначально поставил на C: в папку /Games.
Подумал, из-за каких-то прав может некорректно работать, поэтому перенёс на D:
Но там та же история. Вообще не понимаю, в чём трабла.
От имени админа запускал, не появлялся.ini.
Есть ли шанс, что если кто-то скинет свой union.ini он проиндексируется игрой и будет учитывать его настройки?

PS: Кому не трудно, скиньте, пожалуйста, union.ini
 
Последнее редактирование:

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.979
Благодарности
582
Баллы
275
Приветствую всех.
Gratt, а возможна ли теоретически совместная работа Union с модом Odyssee 2.0?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.377
Благодарности
7.861
Баллы
995
теоретически возможно все, а практически никто с костылями заморачиваться не будет..
 
Сверху Снизу