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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Внимание!
    — Требуется примерно по 3-5 человек на каждую из версий ОС:: - Windows® XP SP3, Windows® Vista SP2, Windows® 7 SP1, Windows® 8, Windows® 8.1, Windows® 10(build 10 1607) и Windows® 10(build 10 1703). Для стационарных ПК и ноутбуков. Заявку на участие можно оставить здесь...

Готика ½ Union

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
1.302
Благодарности
1.431
Баллы
255
  • Первое сообщение
  • #1
Union - пакет расширений на базе ядра AgamaST 1.004 и SystemPack 1.7
UnionLogo.png

О пакете Описание


  • Ресурсы портала: World of Gothic.ru
    Страна разработчика: РФ
    Платформа игры: Мультиплатформа
    Тип обновления: Пакет
    Версия: 1.0
    Язык: Мультиязычный
    Автор/разработчик: @Gratt (разработка пакета), @killer-m (низкоуровневый патчинг), @Jr13San (отладка), @MaGoth (сбор информации)
    Справочный материал: @Haart (справка на русском), @LikerGothic (перевод на английский)
    Статус: 100% (жду от парней Gothic API чтоб залить сразу сам union и шаблон плагина)
    • Пакет Union 100% (полностью готов)
    • Виртуальная файловая система 100% (полностью готова)
    • Шаблон настроенного плагина 100% (полностью готов)
    • Внешняя библиотека управления памятью 100% (полностью готов)
    • GothicAPI (готово свыше 3к файлов интерфейса готики. надо подпарсить порядок виртуалок)
    • Документация по интерфейсам будет чуть позже релиза.

    Описание:
    Union - это патч-расширитель, построенный на архитектуре библиотек AST & SP для 'Готика 1', 'Готика 2', 'Готика 2 - Ночь Ворона', модов и аддонов на их основе.

  • Архитектура
    Union включает в себя мощные инструменты перехвата, патчинга и прикладные инструменты.
    Далее обновления AgamaST & SystemPack будут производиться под данный модуль.

    Виртуальная файловая система
    Vdfs32g.dll
    - Библиотека виртуальной файловой системы заменяет собой оригинальную.
    * Система строит виртуальную хеш-таблицу файлов, повышая скорость работы и значительно сокращая время загрузки игры. После неудачного завершения сессии обновление dump'ов не требуется.
    * Кеширование данных уменьшает число микротранзакций к жесткому диску и ускоряет чтение.
    * Оптимизация таблицы отбрасывает одноименные файлы, оставляя только одну копию высшего уровня по приоритетам томов.
    * Четкое разделение данных на физические и виртуальные файлы избавлет пользователя от возможных ошибок распознавания типов потоков.
    * Мониторинг 'битых' секций томов.

    Библиотека управления памятью
    Shw32g.dll
    - Система несколько повышает скорость работы программы, а также помогает в нахождении и устранении утечек. Стандартная библиотека с возрастанием количества используемой памяти начинала подтормаживать и вызывать микрофризы, связанные с поиском места под выделение памяти.
    Vdfs32g.dll, Gothic.exe и плагины также используют данную библиотеку.

    Плагины и модульность
    Union наследует систему dll плагинов. Плагины построены на базе архитектуры ZenGin, что позволяет писать расширения, соблюдая даже виртуальные таблицы движка.
    Запуск dll может производиться из папки System или System\Plugins, а также непосредственно из VDF тома вашего мода. Для разработки рекомендуется использовать компилятор от VC2008 или VC2010, а качестве IDE - любую удобную вам visual studio.

    Платформа
    Union может работать абсолютно на любой платформе. Для создания расширений или применения патчей рекомендуется использовать официальные немецкие исполняемые файлы с G1 по G2:NOTR.

    Поддержка плагинов AST
    Для того, чтобы ваши AST плагины заработали под Union, достаточно обновить системные файлы плагинов или перенести ваш код на предлагаемый настроенный проект.

    Использование конечных файлов
    Просто запустить игру через Gothic exe или GothicStarter.
    Инжекторы не требуются!


Подробнее отдельно о пакетах см. в соответствующих темах.
 
Последнее редактирование модератором:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2005
Сообщения
15.642
Благодарности
6.428
Баллы
740
Чтобы вызвать SetAppCompatData нужно в BorderFix.cpp добавить получение хэндла ddraw.dll с указанием путей:
"%systemroot%\SysWoW64\ddraw.dll"
"%systemroot%\System32\ddraw.dll"
Миха, уточнение.. Ты хочешь чтобы была экспортирована эта функция и чтобы потом её можно было подключить? Например:
C++:
__declspec(dllexport) HRESULT __cdecl SetAppCompatData(DWORD Type, DWORD Value);

HRESULT SetAppCompatData(DWORD Type, DWORD Value)
{
    return E_NOTIMPL;
}
или же, хочешь чтобы был проксирован вызов оригинальной ddraw.dll, как описано, например, здесь ? ::)
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
68
Благодарности
20
Баллы
40
Приветствую всех. Данное расширение/фикс/патч будет работать при установке на текущее прохождение, например, мода Кузнец - Безымянный герой? Есть ли намеки на сроки выхода?
Заранее благодарен.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2005
Сообщения
15.642
Благодарности
6.428
Баллы
740
Он будет работать на любой оригинальной пропатченной игре от РВ, с любыми стандартными модами не использующими сторонние костыли "Лего/Икарусы/Г2Эксты и прочее".
Что до сроков, то КТТС.. *right*
 

Piranha13

Участник форума
Регистрация
23 Ноя 2016
Сообщения
44
Благодарности
3
Баллы
55
й
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2005
Сообщения
15.642
Благодарности
6.428
Баллы
740
Медитируем над пациентом.. :D
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
1.302
Благодарности
1.431
Баллы
255
Проверил как работает загрузка сторонних DAT файлов в память.
Помимо DLL можно подсовывать и расширения на скрипты вообще не затрагивая оригинал.

Ниже пример:
Имеем слева основной проект, загружаемый движком. Справа - чистый датник с болванкой единственного нпс.
1557789998914.png

Компилируем второй датник и скармливаем в игру. Консолью вставляем того самого непися.
1557789908942.png

Думаю вынести эту опцию в ini файл, где через запятую можно тупо перечислять скриптовые аддоны. Так что рекомендую подумать над тем, какие инструменты нужны для взаимодействия нескольких датников, ибо эту степь я еще не рассматривал. Пока подумаю насчет общих вызовов и экземпляров.
 

Gratt


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

bogu9821

Участник форума
Регистрация
16 Май 2019
Сообщения
5
Благодарности
0
Баллы
5
Hi, could you say approximate date of Union release?
I also have a question whether you fixed the vtables that were broken in AST. Gratt
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
1.302
Благодарности
1.431
Баллы
255
Последнее редактирование:

bogu9821

Участник форума
Регистрация
16 Май 2019
Сообщения
5
Благодарности
0
Баллы
5
What's the problem with the installer?
 

bogu9821

Участник форума
Регистрация
16 Май 2019
Сообщения
5
Благодарности
0
Баллы
5
If you don't have time you could release Union without installer. Those who will use the Union will probably do without it.
I saw that some people got Union already.
For example:
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
1.302
Благодарности
1.431
Баллы
255
If you don't have time you could release Union without installer. Those who will use the Union will probably do without it.
I saw that some people got Union already.
For example:
Some may not be able to handle the installation. It easy, but you should know - if they do not succeed, community will swear and fuss. And this cause more problems.
 

bogu9821

Участник форума
Регистрация
16 Май 2019
Сообщения
5
Благодарности
0
Баллы
5
However, it should be pointed out that many people are waiting for Union (and earlier for version 1.04 AST) a very long period and in my opinion releasing this earlier without the installer would be a very good idea, looking at the fact that some modifications are to be based on this tool and waiting only for Union.

And let's tell the truth, no one without at least c ++ basic knowledge will be taking on writing plugins for Union.
And even if it is, it will not even deal with the installer anyway.

However, it's up to you to choose, so if you do not want to do it, I will not bother you.
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
323
Благодарности
304
Баллы
220
Мы подождем.
Не привыкать :)
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
1.302
Благодарности
1.431
Баллы
255
Поскольку так внезапно посыпались просьбы выложить юнион (я молчу о хеш тегах), то поступим так. В данным момент у меня отпуск, это значит времени будет больше. За выходные ничего не обещаю, так как дома я вряд ли появлюсь. Но если в начале следующей недели не будет установщика, то скину все ресурсы сюда с описанием что куда класть. Конечно сначала я удостоверюсь что выкладываю стабильный продукт, поэтому сейчас готовлю кое-что, что всем уже приелось, но с совершенно новой механикой (которая была в концептах AST, но так не реализована). Намекну:
1558138473397.png
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
1.645
Благодарности
1.127
Баллы
245
*around the head*
Зачем это все? Ну давайте все зашифруем, зальем на диск, положим его в сундук, запрем, закопаем, а ключ выбросим. Кому это все нужно? Пираньи не для этого МДК сделали и опубликовали. Зачем все скрывать? Денег на этом ты не заработаешь, да и пираньи запрещают. Ты много сил и времени не туда потратил. Рано или поздно расшифрованный пи-код окажется в памяти, оттуда его можно слить, вот только даже этим никто не захочет заниматься.
Кому нужно будет что-то получить из конкретного архива думаю смогут договориться с автором мода без каких бы то ни было загвоздок. Никаких проблем с этим не должно возникнуть если люди найдут общий язык и оговорят условия использования.

Что же я могу сказать на счёт шифрования томов? Ну лично я вижу ещё один плюс в этой возможности. Потому что есть различного рода параноики вроде Дона Эстебана и прочих модераторов с worldofplayers.de, которые в очень громкой форме ратуют за соблюдение авторских прав в связи с использованием так называемых "запрещенных" материалов. Эти люди с особой тщательностью проверяют все забугорные модификации на наличие подобного рода файлов, при всём этом нагло скрывая его в своих собственных, немецких проектах.
Шифровка томов просто поставит крест на их возможности что-то увидеть и доказать. Они просто не смогут предъявить за то что в твоём моде используется контент из сиквела или из альфы, потому что не имеют возможности открыть архив и удостовериться в подлинности материала, а следовательно не имеют права удалять его со своего форума до тех пор пока не будет каких-либо конкретных доказательств. *gigi*
 
Сверху Снизу