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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
    Скрыть объявление
  2. Форум аддона "Возвращение" 2.0:
    — Обсудить игру, почитать о прохождениях и/или разрешить свои вопросы по игре вы можете в одной из тем одноименного форума. Посетить...
    — Прочитать историю изменения и/или скачать последнюю версию аддона "Возвращение", вы можете на страницах наших ресурсов. Скачать...
    Скрыть объявление

Готика 2 AST (Agama Script Tools) 002

Инструментарий для работы с движком(ZenGin) и расширения возможностей его скриптов(Daedalus)

Модераторы: Dimus
  1. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    AST.png

    Актуальная версия v1.002
    Download_min.png


    Что такое AST:
    Как известно, серия Gothic не удостоилась чести заполучить в распоряжение собственный SDK.
    Данный пакет исправляет это недоразумение и предоставляет свои инструменты расширения функционала движка.

    Как используется AST:
    Можно определить две категории использования пакета:
    1. В качестве расширителя скриптов. В этом случае достаточно скопировать библиотеку в папку system, после чего станут доступны уже встроенные в AST внешние функции.
    2. Как дополнение к движку. Тогда необходимо создать проект-плагин для AST. Возможности инструментария ограничиваются исключительно навыками и фантазией пользователя.

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

    Почему следует использовать именно AST:
    В первую очередь AST - это каноническая архитектура. Можете быть уверены, что используя наш пакет, вы работаете с движком, а не посредниками.
    Во-вторых, AST модульный. Его структура очень гибкая и способна связывать несколько плагинов в единую цепочку расширений. Помимо всего прочего, каждый плагин также вправе иметь собственный SDK, как и головная библиотека. Таким образом, к вашему личному проекту также можно писать дополнения. *thumbs up*

    Совместимость и дополнительное ПО:
    Пакет полностью самодостаточен и использование стороннего ПО не является обязательным. Однако официально совместимыми считаются только SP и DX11. Ikarus или G2 Ext использовать категорически не рекомендуется и, при обнаружении проблем совместимости, техническая помощь оказываться не будет.


    Полезные ссылки:
    По всем вопросам смотрим этот раздел
    Видео демонстрации можно найти тут


    о предстоящей сборке v1.003
    изменения:
    классы (открыть)


    измененные:
    CInvoke и CCallBack (открыть)

    добавлены методы Attack (ручной перехват функции), Detach (ручное удаление перехвата).
    pInvoke.Attach()
    pInvoke.Detach()


    возможность напрямую передавать адрес метода класса в качестве указателя функции переадресации.
    &Class::Method

    флаг создания хука нижнего уровня при наличии существующего перехвата по адресу.
    CInvoke<type> pInvoke_first(0x00000000, &Class::Method)
    CInvoke<type> pInvoke_second(0x00000000, &Class::Method, Auto)




    CMessage (открыть)

    содержит базовый набор методов: обычное сообщение, предупреждение, ошибка, окно выбора, критическая ошибка (останавливает выполнение программы).
    при использовании встроенных в AST сообщений, окно игры будет автоматически сворачиваться, если до этого оно было развернуто на весь экран.


    CPlugin (открыть)

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


    CScreenShot (открыть)

    предоставляет инструмент переопределения формата, в который будет сохраняться конечное изображение (JPEG, PNG, BMP), а также позволяет задавать собственные имена файлам.


    CTimer (открыть)

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


    новые:
    CApplication (открыть)

    создает референс AST и играет роль автономного callback менеджера.


    CViewAni (открыть)

    унаследован от zCView, но содержит анимированные текстуры или переопределенные материалы 3d объектов.


    CCursor (открыть)

    создает курсор, дублирующий ваш системный. содержит базовые виртуальные методы для переопределения его собственными решениями. приоритет отрисовки максимальный.


    CViewAction (открыть)

    специальная область, повторяющая поведение CViewAni, но созданная по принципу кнопки. содержит группу событий, вызываемые при взаимодействии с курсором:
    mouse_enter // указатель входит в область компонента
    mouse_leave // указатель покидает область компонента
    mouse_hover // указатель неподвижен в области компонента
    mouse_move // указатель перемещается в области компонента
    mouse_down // указатель нажимает на облать компонента
    mouse_up // указатель отжимает от области компонента
    mouse_loop // постоянный цикл



    CSplash (открыть)

    создает на экране окно в отдельном потоке с пользовательской информацией.
    количество объектов неограниченно.


    CLoadScreen (открыть)

    создает пользовательские наборы изображений загрузочных экранов отдельно для каждого из миров.


    CHelpDesc (открыть)

    создает пользовательские наборы подсказок на загрузочных экранах отдельно для каждого из миров.




    Расширения (открыть)

    MARVIN консоль (открыть)

    во время активного диалога, игра ставится на паузу.
    добавлены команды:
    fly - переключает режим полета
    noclip - переключает режим прохождения через стены
    set FOV <value> - устанавливает угол обзора камеры
    set screenshot format <JPEG/PNG/BMP> устанавливает формат сохраняемых скриншотов


    Статус интерфейс (открыть)

    вывод системного времени
    вывод FPS
    вывод общей загрузки памяти
    вывод общей загрузки процессора
    вывод информации использования рабочего набора памяти


    OU (открыть)

    Компиляция файлов OU.bin. также хочу отметить, что AST компилирует библиотеку корректно, выделяя только необходимую информацию и собирает ее в бинарный файл. Spacer и Gothic sourcer справляются с этой задачей очень грязно, от чего размер бинарника возрастает во множество раз из-за огромного количества лишних полей.




    Gothic2 API (открыть)

    интерфейс работы со структурами игры, содержит более 100 классов, а также множество вытекающих из них структур, списков перечислений и тд и тп.


    Engine fixes (открыть)

    1. Прерывание анимации приводит к возвращению использованного предмета в интентарь. [FIXED]
    2. Трансформация выбирает некорректную точку спауна нового воба. [FIXED]
    3. Стрейф не выключается событиями прерывания. [FIXED]
    4. При загрузке мира не выгружаются интерактивные объекты (факел/стрела/болт)
    5. Блокировка поворотов персонажа приводит к стрельбе спиной. [FIXED]
    6. Каст спела производится вдоль константного вектора, приводящему в невозможности нанести повреждение в упор или к ограниченной дистанции полета.
    7. Наносимые повреждения не могут иметь несколько типов, поскольку в результате они складываются.
    8. Любой дальнобой обрабатывает урон как колющий.
    9. Ближнее оружие с колющим уроном наносит смертельный добивающий удар.
    10. Быстрое нажатие на кнопку действия + вперед, будет умножение предметов при взаимодействии с мобси. ??
    11. Заклинание во время нанесения урона наносит повреждение согласно спелу в руке кастера.
    12. Извиваясь из стороны в сторону, преследователь во время атаки будет терять вектор направления. [FIXED]
    13. Быстрая прокрутка мышкой снижает вероятность смертельного падения.
    14. В трансформации, при падении с большой высоты, вернувшись в свой облик перед землей, урон не будет зарегистрирован.
    15. Некоторые смерти заставляют нпс проигрывать последнюю анимацию, а в воде биться в конвульсиях.
    16. Восприятие слуха реагирует только на перемещение вперед и игнорирует стрейф, шаг назад и прыжок. [FIXED]
    17. Падение на живот почти гарантированно влечет смерть с любой высоты.
    18. Урон арбалетов завязан на ловкости.
    19. Двойное выныривание, пузыри изо рта персонажа вне воды, ложное состояние подводного эффекта камеры над уровнем моря.
    20. Проблема с обработкой мышки. Неправильная обработка оси X + заблокированный девайс.
    21. FOV растягивается при изменении оси X, не подстраивается под широкое разрешение экрана. [FIXED]
    22. Трансформация в сущность проводит подмену гг в нулевой координате, куда создается воб, только после этого перемещает его в точку спауна.


    Загрузки:
     

    Вложения:

    Последнее редактирование: 4 май 2017
  2. Saturas

    Saturas
    Модостроитель

    Регистрация:
    11 фев 2009
    Сообщения:
    1.851
    Благодарности:
    553
    Баллы:
    275
    Пол:
    Женский
    Если ты такой крутой кодер, что на полном серьезе говоришь что можешь добавить физику и прочее, то я бы рекомендовал тебе глядеть в сторону OGRE. Но в таком случае, будь ты действительно таким крутым, ты бы просто скачал последнюю сборку аст и посмотрел бы на апи, любому даже начинающему прогромизду этого будет достаточно что бы понять что можно а что нет, а ты даже этого сделать не можешь.
     
    Последнее редактирование: 5 янв 2017
  3. unknown111

    unknown111 Участник форума

    Регистрация:
    5 фев 2013
    Сообщения:
    730
    Благодарности:
    963
    Баллы:
    180
    Да это просто магия Готы *mage*
    Даже если не кодер, и понимаешь что ничего не сможешь сделать из-за ограничений, все равно периодически манит зараза...
    Завершиии мод... Замкни круг *trollface*
     
  4. Saturas

    Saturas
    Модостроитель

    Регистрация:
    11 фев 2009
    Сообщения:
    1.851
    Благодарности:
    553
    Баллы:
    275
    Пол:
    Женский
    у меня от этого фростморн.
     
  5. MaGoth

    MaGoth ★★★★★★★★★★★
    Администратор

    Регистрация:
    7 янв 2005
    Сообщения:
    13.561
    Благодарности:
    6.013
    Баллы:
    740
    Пол:
    Мужской
    Причем тут то что тебе кажется, ты сам указал на смену двига, а не я, это во-первых..
    Во-вторых, даже если и перенести ее это будет уже не Готика, примеров полно, хоть та же Г3..
    В-третьих, для кого это она одна из самых плохих, тебя ?! Может быть, а для меня нет, иначе я бы ею не занимался, а это уже лет 17 тянется.. ::)
     
  6. Friwa

    Friwa Участник форума

    Регистрация:
    22 авг 2010
    Сообщения:
    156
    Благодарности:
    14
    Баллы:
    185
    Сат запили функцию, которая меняет валюту. Например с золота на руду и на оборот. Очень нужна для мода.
     
  7. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    в чем проблема переписать инстанцию золота под руду?
     
  8. Friwa

    Friwa Участник форума

    Регистрация:
    22 авг 2010
    Сообщения:
    156
    Благодарности:
    14
    Баллы:
    185
    Проблема в том что с новой главой ее нужно поменять на другую.
     
  9. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    ну смотри, навскидку.. если номер главы загружается рньше сущностей, то в конструктор, там где инициализация данных инстанции золота, суешь поглавную проверку. в зависимости от нее прописываешь данные о валюте либо как золото, либо как руду. и всё..
     
    Последнее редактирование: 9 янв 2017
  10. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    вобщем говоря кратко, с версии 003 можно вшивать прямо в плагины собственные сплешскрины, картинка может быть любого размера. по их количеству тоже никто не ограничивает, при необходимости задаются определенные изображения, в зависимости от локализации например или просто рандомно
    Открыть спойлер

    1.jpg 2.jpg 3.jpg
     
    gggg12345678!, Friwa и hell9999 поблагодарили.
  11. Friwa

    Friwa Участник форума

    Регистрация:
    22 авг 2010
    Сообщения:
    156
    Благодарности:
    14
    Баллы:
    185
    Дата?
     
  12. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    неделя-две
     
  13. Lev-Lion

    Lev-Lion
    Модостроитель

    Регистрация:
    25 апр 2006
    Сообщения:
    30
    Благодарности:
    102
    Баллы:
    205
    Пол:
    Мужской
    Совместим ли данный пакет с Директ Х11 рендером?
     
  14. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    конечно
     
  15. Carnage/Mark56

    Carnage/Mark56 Участник форума

    Регистрация:
    27 дек 2014
    Сообщения:
    13
    Благодарности:
    51
    Баллы:
    55
    Пол:
    Мужской
    Do you plan to release AST for G1 ? If yes, is there any release date approximation ?
     
  16. MEG@VOLT

    MEG@VOLT ★★★★★★★
    Модератор

    Регистрация:
    24 мар 2006
    Сообщения:
    1.651
    Благодарности:
    721
    Баллы:
    290
    Мне кстати тоже это интересно.
     
  17. MaGoth

    MaGoth ★★★★★★★★★★★
    Администратор

    Регистрация:
    7 янв 2005
    Сообщения:
    13.561
    Благодарности:
    6.013
    Баллы:
    740
    Пол:
    Мужской
    Секрет:
    Открыть спойлер
    Планировалось 2 в 1.. *dance2*
     
    MEG@VOLT поблагодарил.
  18. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    дык это самое.. хукэнжин аста универсален, просто надо G1 API написать. а это очень трудоемкий процесс..
    кто не соображает что это вообще за страшное слово - качаем плагин и ищем G2API. вот надо такой же, только для G1. как только он у нас будет, мы подключим его к этой же либе и все
     
  19. MEG@VOLT

    MEG@VOLT ★★★★★★★
    Модератор

    Регистрация:
    24 мар 2006
    Сообщения:
    1.651
    Благодарности:
    721
    Баллы:
    290
    т.е. не будет. А если и будет, то.... ктож его знает когда?!
     
  20. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    да сделаем. но из штанов выпрыгивать не будем :) поговорим на этот счет после релиза 003
     
  21. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    739
    Благодарности:
    743
    Баллы:
    135
    Пол:
    Мужской
    класс CViewAni аналогичный (унаследован от) zCView, но ориентирован на анимированные текстуры. также поддается тонкой настройке и фильтровке выходного изображения. может полностью заменять собой zCView.
    Открыть спойлер
    Заколхозил примерчик \/ \/ \/

    :: (заменено в классе динамических баров)
     
    neromont, hell9999 и MaGoth поблагодарили.
Модераторы: Dimus

Поделиться этой страницей