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

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

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

Adanos Gotoman

Участник форума
Регистрация
16 Мар 2017
Сообщения
232
Благодарности
86
Баллы
195
Unsubdued, не знаю, на днях переустановлю всё.
 

Xnore

Участник форума
Регистрация
5 Фев 2018
Сообщения
42
Благодарности
14
Баллы
170
Чистый GOG 1.08k -
1570634130730.png
 

Xnore

Участник форума
Регистрация
5 Фев 2018
Сообщения
42
Благодарности
14
Баллы
170
Возможно ли играть в Пробуждение на Union? Просто не нашёл нигде, использует ли мод что-то не совместимое.
 

Babka

Участник форума
Регистрация
20 Сен 2019
Сообщения
8
Благодарности
0
Баллы
145
Xnore, Работает и с "чистой" Готикой и с модом Пробуждение. Для корректной работы нужна Gothic ( snowball. 1.08k ). После устанавливается Union patch и сам Union ( 1.0d ):)
 

Test Level

Участник форума
Регистрация
1 Ноя 2011
Сообщения
1.770
Благодарности
562
Баллы
275
Спасибо, Babka старая.
Извините, Админы и Модеры, удержаться не смог...
 

mud-freak

Участник форума
Регистрация
12 Окт 2019
Сообщения
13
Благодарности
11
Баллы
105
Union 1.0d
Стабильная версия, направленная на исправление ошибок 1.0c.

* Исправление вылета, наиболее характерного в переходе между локациями. Добавлена дополнительная проверка валидности физических файлов.
* Альтернативный алгоритм файловой системы. Поиск полного пути к файлу осуществляется в алфавитном порядке. Заметно в озвучке NPC.
* Исправление одноразового воспроизведения звуков. Сброс каретки читаемого ogg файла после использования.
* Исправление 0xC0000005 на некоторых системах. Убран лишний код из Union.patch, приводящий к попытке изменить несуществующие данные.

Всем спасибо за репорты.


Привет Gratt! Извините, что пишу на английском!

Great work! I have some issues with the VDFS of Union. I had created a DLL which can be loaded with the SystemPack successfully (using the pre.load file) without any problems. But now it does not work with Union: When I try to load the same DLL with Union, I run into limitations of its differing VDFS implementation.

Maybe you could look into this:
  1. Cannot access physical files with zFILE_VDFS::Open(false).

    I think this problem was intended to be fixed with version 1.0d (see here), but I still experience it.

    Here an example:
    I want to verify the checksum of my plugin (the physical DLL file) with zCChecksum::CalcFileChecksum(const zSTRING&). This function calls zFILE_VDFS::Open(false) which in turn fails with an invalid handle returned by vdf_fopen(char*, long), resulting in the error previously reported: "VFILE: @#$%^&".
    I assume there is still some implementation error in Union's VDFS which was not quite fixed in version 1.0d. The VDFS of the SystemPack does not have this problem. Could you look into this issue?

  2. VDF are locked and cannot be accessed/opened.

    Once the VDF files are read by the VDFS, they seem to remain opened and are thus locked and cannot be accessed for the duration of the game. This is not the case with the SystemPack. Could you close the files after reading them into memory or open them with shared flags (e.g. FILE_SHARE_READ) instead?
    For me, it is critical to be able to access the VDF, because I have a script that walks the file lists manually.

  3. Plugins (DLLs) are loaded after initialization of VDFS.

    Another problem I have with Union compared to SystemPack's loading of DLLs is, that the VDFS is initialized before loading the DLLs in Union. Could you rearrange that? I modify/create a VDF file at startup of my DLL, but at that time it is too late to be loaded by the VDFS. With the SystemPack (pre.load) this is no problem as the VDF files are only initialized after loading all DLLs.

All the issues mentioned are no problem for the SystemPack VDFS. Maybe you could compare the difference and adjust the VDFS of Union accordingly. I would highly appreciate that!

Thank you and best regards!
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
mud-freak, Hi :)

Cannot access physical files with
I guess this problem is part of the second question, because your DLL may be unavailable of opened in process flow

VDF are locked and cannot be accessed/opened.
This is for protect volumes from changes... But yes, i can unlock volumes for reading.

Plugins (DLLs) are loaded after initialization of VDFS.
that the VDFS is initialized before loading the DLLs in Union.
Because Union loads plugins with VDFS help :) VDFS searches DLLs in physical flows AND in VDF volumes. Union can run DLLs from any VDF or MOD volumes.
Example of autorun plugin:
1570874596877.png
1570874640460.png
Default start time of plugins is after engine WinMain. It is more safely, i can use constructors of Gothic classes in global space
1570876185256.png

But Union have special tag for loads plugins before engine, if last symbol in name == '*'.
Then start time is after VDFS.

For your tasks I can add one more condition of two '**' for start only physical DLLs before VDFS.
1570876426075.png


For tests I can give you new DLLs in forum PM, skype or discord.
 

mud-freak

Участник форума
Регистрация
12 Окт 2019
Сообщения
13
Благодарности
11
Баллы
105
Gratt, thank you for the explanations! Please excuse my lack of knowledge of the Union features, thank you for explaining!

Your ideas sounds very good. I am happy to do some testing with new DLLs in forum PM.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.959
Благодарности
3.113
Баллы
495
Gratt, чем zCModelPrototype отличается от zCModel. Я тут хочу один баг исправить, когда все анимации (спринт, уровень владения оружием) ломаются и помогает только перезапуск игры. Для в2 актуально.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
Gratt, чем zCModelPrototype отличается zCModel. Я тут хочу один баг исправить, когда все анимации (спринт, уровень владения оружием) ломаются и помогает только перезапуск игры. Для в2 актуально.
Тем что zCModelPrototype является 'узлом' класса zCModel. А zCModel - производная от zCVisual.
zCModelPrototype может иметь вложенные zCMesh и хранить списки анимаций. Все это вкупе потом использует zCModel.

ломаются и помогает только перезапуск игры
Как проявляется этот баг?
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.959
Благодарности
3.113
Баллы
495
Gratt, допустим герой умирает, загружаешься, и все анимации владений/спринта скидываются (не всегда). Иногда это происходит при смене локации (редко) Применить новые оверлеи нельзя, ничего не происходит. Причем ломается на всех сейвах. Лечится только перезаходом в игру с нуля.

Функция ApplyModelProtoOverlay в случае бага возвращает FALSE, пишет в лог "tried to apply overlay to model: overlay- and model base-.mds do not match"
Пост автоматически объединён:

Список оверлеев до смерти, во время смерти, после перезагрузки сейва:

1570881582823.png
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.959
Благодарности
3.113
Баллы
495
Gratt, в принципе я баг зафиксил.
Всё оказалось проще, при загрузке локации или сейва вызываю, и не багает :)
Mdl_RemoveOverlayMds(npc,"HUMANS.MDS");
Mdl_ApplyOverlayMds(npc,"HUMANS.MDS");
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
LikerGothic, а глянь в этот момент что лежит в activeOverlays? Этот массив тоже зачищается?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
Union 1.0e
По заявкам. Введение дополнительных возможностей для файловой системы.


* Файловая система оставляет VDF тома доступными для чтения на всем времени выполнения, а также может читать файлы, открытые в других потоках.
* Указанный DLL плагин в PluginList, имеющий '**' на конце имени, будет запускаться до инициализации файловой системы (напоминаю, что плагины с одной '*' на конце запускаются до вызова конструкторов движка и точки входа WinMain)
1570907042275.png
* Теперь движок вызывает функцию vdf_exitall для корректного закрытия VDF потоков.
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.979
Благодарности
582
Баллы
275
Приветствую всех. Возникла проблема:
При установке Union 1.0e, в папке System после запуска игры (G2 NotR) перестал появляться файл Union.ini, вследствие чего не удается подключить плагин dll.
Накатил обратно 1.0d - Union.ini спокойно появился. Пробовал полную переустановку игры, с SP 1.8, но на 1.0e файл упорно НЕ появляется.
В чем может быть проблема?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
KirTheSeeker, ну да, пути из-за вчерашних правок немного поехали.
Те кто уже успел скачать - просто заходим в менеджер, нажимаем ПКМ -> Перекачать и устанавливаем еще раз. Сейчас все правильно должно быть...
 

alexeich2019

Участник форума
Регистрация
28 Июн 2019
Сообщения
191
Благодарности
73
Баллы
175
Подскажите, для G1_Classic можно делать External функции? Соурсер их просто игнорирует, независимо, ставлю я в "Параметры->Расширенные настройки" галочку "Компиляция AST" или не ставлю. Всегда ошибка, мол, такой функции нет. Естественно, функции я прописал в ExternalFuncs.d.
Проверял тоже самое на G2_Addon, все работает. Проблема во мне, в игре или в Соурсере?
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.979
Благодарности
582
Баллы
275
Gratt, да, сейчас 1.0e работает корректно.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.432
Благодарности
4.771
Баллы
625
alexeich2019, В сорсере. Там 2 функции регистрации внешек, так как их наборы отличаются для г1 и г2. Saturas почему-то подставил вызов расширенных функций только в г2. Скомпилируй игрой, там нет ничего сложного.
 
Сверху Снизу