Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Закрома Родины
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77
Tron
Цитата(X_Starter_X @ 10.07.2014, 18:46) *
Tron, файлы в includes и в depr разные?

Посмотреть не пробовали?
X_Starter_X
Tron, посмотрел, понял
---
Товарищи, благодарю за 81 ревизию smile.gif .
Тут был лог.
Чей косяк? Мой косяк.

Вот вылезло при компиляции xrCore
Код
1>------ Build started: Project: xrCore, Configuration: Mixed Win32 ------
1>Build started 10.07.2014 23:03:11.
1>InitializeBuildStatus:
1>  Touching "x:\intermediate\Mixed\xrCore\xrCore.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>  log.cpp
1>log.cpp(7): fatal error C1083: Cannot open include file: '../../build_config_defines.h': No such file or directory
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.34
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Такого build_config_defines.h в архиве не нашёл вообще.
alpet
Цитата(X_Starter_X @ 10.07.2014, 21:04) *
Такого build_config_defines.h в архиве не нашёл вообще.

Видимо упустил его в non-versioned, сорри. Скоро появиться. Заодно мелочь исправлю с поиском текстуры.
[edited]
Обновил до ревизии 82.
X_Starter_X
alpet, благодарю smile.gif , быстро нашли решение проблемы. Спасибо за 82 ревизию!

Всё скомпилировал кроме xrGame. Вот такой некрасивый вылез
Код
1>ui\UIInventoryWnd3.cpp(34): error C2065: 'SLOT_QUICK_ACCESS_0' : undeclared identifier
1>ui\UIInventoryWnd3.cpp(34): error C2051: case expression not constant
1>ui\UIInventoryWnd3.cpp(36): error C2065: 'SLOT_QUICK_ACCESS_1' : undeclared identifier
1>ui\UIInventoryWnd3.cpp(36): error C2051: case expression not constant
1>ui\UIInventoryWnd3.cpp(38): error C2065: 'SLOT_QUICK_ACCESS_2' : undeclared identifier
1>ui\UIInventoryWnd3.cpp(38): error C2051: case expression not constant
1>ui\UIInventoryWnd3.cpp(40): error C2065: 'SLOT_QUICK_ACCESS_3' : undeclared identifier
1>ui\UIInventoryWnd3.cpp(40): error C2051: case expression not constant
1>ui\UIInventoryWnd3.cpp(42): warning C4060: switch statement contains no 'case' or 'default' labels
1>  UIOutfitSlot.cpp
1>  UITradeWnd.cpp
1>  UIPdaAux.cpp
1>  UIPdaContactsWnd.cpp
1>  UIPdaListItem.cpp
1>  UIPdaWnd.cpp
1>  map_hint.cpp
1>  map_spot.cpp
1>  UIMap.cpp
1>  UIMapWnd.cpp
1>  UIMapWndActions.cpp
1>  UITalkDialogWnd.cpp
1>  UITalkWnd.cpp
1>  UIDiaryWnd2.cpp
1>  UIEncyclopediaArticleWnd.cpp
1>  Compiling...
1>  UIEncyclopediaWnd.cpp
1>  UINewsItemWnd.cpp
1>  UINewsWnd.cpp
1>  UIArtefactPanel.cpp
1>  UICarPanel.cpp
1>  UIMainIngameWnd.cpp
1>ui\UIMainIngameWnd.cpp(1003): error C2509: 'script_register' : member function not declared in 'CUIMainIngameWnd'
1>          s:\xray\xr_3da\xrgame\ui\UIMainIngameWnd.h(30) : see declaration of 'CUIMainIngameWnd'
alpet
Цитата(X_Starter_X @ 10.07.2014, 22:41) *
alpet, благодарю smile.gif , быстро нашли решение проблемы. Спасибо за 82 ревизию!

Всё скомпилировал кроме xrGame. Вот такой некрасивый вылез

Видимо надо раскомментировать дефайн INV_NEW_SLOTS_SYSTEM в build_config_defines.h, хотя странное это дело - дефайны должны отключать фичи, а не компилируемость проекта вовсе )
X_Starter_X
alpet, похоже на то. По крайней мере помогло. А вот эта ошибка всё же осталась.

Код
1>  UIMainIngameWnd.cpp
1>ui\UIMainIngameWnd.cpp(1003): error C2509: 'script_register' : member function not declared in 'CUIMainIngameWnd'
1>          s:\xray\xr_3da\xrgame\ui\UIMainIngameWnd.h(30) : see declaration of 'CUIMainIngameWnd'
1>  UIMessagesWindow.cpp

alpet
Цитата(X_Starter_X @ 10.07.2014, 23:06) *
alpet, похоже на то. По крайней мере помогло. А вот эта ошибка всё же осталась.

Начинаю посыпать голову пеплом, опять не закоммитил измененный файл. Обнови до ревизии 83.

[edited]
Добавил ещё пару функций для работы с текстурами. Теперь можно извлекать ссылки на текстуры из визуалов объектов. Вот пример скрипта:
Код
local obj = level.object_by_id(0)
if obj then
  for i = 0, 15 do
      local tex = texture_from_visual(obj, i)
      if tex then      
         wprintf(" texture %02d = %s ", i, texture_get_name(tex) or "nope")
      end        
  end  
end

Выдает такой дамп для моего актора:
Код
texture 00 = act\act_green_stalker1
texture 01 = act\act_green_stalker_bump
texture 02 = act\act_green_stalker_bump#
texture 03 = act\act_stalker_face
texture 04 = act\act_stalker_face_bump
texture 05 = act\act_stalker_face_bump#

Пока ещё не понятно, как сделать объект визуала уникальной копией, а не общим ресурсом из пула моделей. Так что остается только глобальная замена текстур в игре.
X_Starter_X
alpet, оставь голову в порядке smile.gif , ещё пригодиться. За такой труд благодарю! Уже обновился, но не скомпилировал.

Hет повести печальнее на свете, чем повесть о заклинившем ...
Код
1>Link:
1>  damage_manager.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>     Creating library x:\libraries\xrGame.lib and object x:\libraries\xrGame.exp
1>xrServer_Objects_ALife.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl LogXrayOffset(char const *,void *,void *)" (__imp_?LogXrayOffset@@YAXPBDPAX1@Z)
1>x:\binaries\xrGame.dll : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:06:47.43
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Может я такой дурак?
Оставим до завтра? Уже спать пора biggrin.gif .

---

Забыл написать. Поправка: в файле "X:\trunk\xray\xr_3da\Environment.cpp" 26 строку заменить на такую
Код
#include "../../build_config_defines.h"
Tron
Цитата
Может я такой дурак?
Оставим до завтра? Уже спать пора .

С макросами намудрил-не включил макрос экспорта.
ищи по коду __declspec(dllimport) или __declspec(dllexport)
там будет конструкция вида

#ifdef BLAHBLAH
#define BLAH_API __declspec(dllexport)
#else
#define BLAH_API __declspec(dllimport)
#endif

В препроцессоре добавь BLAHBLAH

и вообще ошибка тривиальная
X_Starter_X
Долго я искал и __declspec(dllimport) и __declspec(dllexport), пока не сравнил старый файл и новый X:\trunk\xray\xr_3da\xrGame\xrServer_Objects_ALife.cpp в котором происходит ошибка.
Разница была только в этом коде
Код
static bool _saved = false;
    if (!_saved)
    {
        _saved = true;
        LogXrayOffset("CSE_AlifeObject.story_id",    this, &this->m_story_id);
        LogXrayOffset("CSE_AlifeObject.spawn_sid",  this, &this->m_spawn_story_id);
    }

Файл был исправлен на 75 ревизии.
Цитата
alpet:
+ Добавлено логирование смещений для работы библиотеки luaicp напрямую с памятью движка (трассировки указателей).
+ исправлена проблема в рендере, приводящая к сбою

Закоментировал строки, после чего всё нормально откомпилировалось.



При запуске выдал ошибку на рендер 2:

Решил проверить, не было ли ревизий в xrRender_R2. Оказывается был в X:\trunk\xray\xr_3da\xrRender_R2\r2_rendertarget.cpp.
Попробовал загрузится на статическом освещении. Вроде даже начал грузится, но тут же выпрыгнул:

А после кнопки продолжить вот такой:

Tron
Ну правильно,ты проблему то не исправил.

Ищи определение
CODE
LogXrayOffset
HikeR
Цитата(X_Starter_X @ 11.07.2014, 00:03) *
1>  damage_manager.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance

а зачем у xrGame отключили LTCG?

Цитата(Tron @ 11.07.2014, 18:01) *
Ну правильно,ты проблему то не исправил.

Ищи определение

хех, это не его проблема. LogXrayOffset в заголовке прописан без ifdef-а, если LUAICP_COMPAT не определен, то и определения найти негде.
alpet
Цитата(HikeR @ 11.07.2014, 18:12) *
хех, это не его проблема. LogXrayOffset в заголовке прописан без ifdef-а, если LUAICP_COMPAT не определен, то и определения найти негде.

Точнее без определения LUAICP_COMPAT функция LogXrayOffset создается пустой, что на несколько байт увеличивает размер бинарников (имхо не смертельно). У меня просто исчезла смелость проставлять в глобальных хедерах зависимости от дефайнов, т.к. это реально требует пересборки всего солюшена. Моя ошибка в том, что более свежий log.c не залил опять-же на репозиторий.
Код
void    LogXrayOffset(LPCSTR key, LPVOID base, LPVOID pval)
{
#ifdef LUAICP_COMPAT
  ....
#endif



HikeR
пустой, не пустой... в xrServer_Objects_ALife.cpp ifdef-ов совсем нет, без дефайна LUAICP_COMPAT определение функции импорта есть, а реализации нет. вот LNK2001 и вылез.

Цитата(alpet @ 11.07.2014, 18:18) *
более свежий log.c не залил опять-же на репозиторий.

я извиняюсь, зачем ифдефить тело функции, а не всю её целиком? не проще в таком случае сделать один раз
Код
#ifndef LUAICP_COMPAT
#define LogXrayOffset void
#else
void LogXrayOffset(LPCSTR key, LPVOID base, LPVOID pval)
{
//...
Vampir35
Доброго всем времени суток smile.gif
Есть у меня пара вопросов по исходникам, которые лежат на репозитории. Их кто-то вообще хоть немного тестирует? Они же должны компилироваться. Уже даже при компиляции второй по счету dll у меня начинает в лог валиться множество fatal error с отсутствующими файлами, при этом в окошке, в котором обозначены нужные для компиляции файлы нет ни одной галочки, следовательно файлы должны собираться без проблем, но этого почему-то не происходит, а ведь по идее все дополнительные директории для инклудов сохраняются в проекте, ну да ладно, прописать инклуды полбеды. Когда вылезают такие приблуды:
Цитата
1>Link:
1> damage_manager.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1> Creating library x:\libraries\xrGame.lib and object x:\libraries\xrGame.exp
1>xrServer_Objects_ALife.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl LogXrayOffset(char const *,void *,void *)" (__imp_?LogXrayOffset@@YAXPBDPAX1@Z)
1>x:\binaries\xrGame.dll : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:06:47.43
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

хочется лезть на стенку. Я непременно уважаю труд всех тех людей, которые делают правки движка, улучшают его для модмейкеров и простых игроков, но если вдруг я увидел нужную мне для скрипта возможность и просто не могу скомпилить исходники, которые в идеале должны нормально компилится, как-то обидно становится, честное слово. Просьба к тем, кто разбирается в структуре движка как-то привести его в порядок, иначе практического толку от такого проекта я лично не вижу...
alpet
Vampir35
Отправил исправленный log.c в репозиторий xp-dev.
Походу мне нужно придумывать механизм обновления файлов там понадежнее. Слишком много я изменяю, но не все необходимо загружать и чаще приходится вообще мержить отдельные строки. Впредь обещаю тестировать компилируемость со всеми отключенными дефайнами.
HikeR
Цитата(alpet @ 11.07.2014, 20:59) *
мне нужно придумывать механизм обновления файлов там понадежнее.

не надо придумывать, все уже есть.
alpet
Цитата(HikeR @ 11.07.2014, 21:09) *
не надо придумывать, все уже есть.

Предлагаете лить все подряд в свою ветку, а там кому надо пускай извлекает и мержит с транком? )

[edited]
Тем временем провел изнурительную работу, по поиску рецепта подмены текстур и визуалов для отдельных объектов. Наконец получилось хоть что-то:

Vampir35
Прекрасная новость, но, надеюсь, подмена текстуры во всех визуалах тоже останется, просто тоже вещь очень нужная smile.gif
alpet
Цитата(Vampir35 @ 11.07.2014, 21:36) *
Прекрасная новость, но, надеюсь, подмена текстуры во всех визуалах тоже останется, просто тоже вещь очень нужная smile.gif

Никуда оно не делось smile.gif Осталось добить индивидуальную замену визуала для hud-модели оружия, чтобы перекрашивать видимое в руках гг оружие (а не только брошенное). Как это может быть использовано? Побродили немного по болоту, и у вас пушка вся в грязевых пятнах.
Теперь вот думаю как правильно коммит устроить: глобально везде переменную IRender_Visual::shader переименовал, чтобы не путаться в исследованиях. Довольно приличное число файлов задето... ради удобства только.
X_Starter_X
Цитата(alpet @ 11.07.2014, 22:59) *
Vampir35
... Впредь обещаю тестировать компилируемость ...

За это можешь не волноваться smile.gif , если что-то не компилируется или летят ошибки, я прямиком сюда об этом сообщая, с подробнейшим отчётом всегда стараюсь. Благодарю за очередную ревизию smile.gif !
А насчёт надёжного способа вот что думаю. Вот есть две папки, в 1 файлы последней ревизии во 2 которые сейчас наделал. Можно сделать маленькую программу, которая будет сравнивать у файлов контрольную сумму MD5, и если есть изменения - выдёргивать их в отдельную папку для загрузки на репозиторий. Так же выводить новые добавленные файлы. Если совсем лень, то полный архив заливать, но это уже совсем по-топорному smile.gif .
Vampir35
Цитата(alpet @ 11.07.2014, 21:41) *
Цитата(Vampir35 @ 11.07.2014, 21:36) *
Прекрасная новость, но, надеюсь, подмена текстуры во всех визуалах тоже останется, просто тоже вещь очень нужная smile.gif

Никуда оно не делось smile.gif Осталось добить индивидуальную замену визуала для hud-модели оружия, чтобы перекрашивать видимое в руках гг оружие (а не только брошенное). Как это может быть использовано? Побродили немного по болоту, и у вас пушка вся в грязевых пятнах.
Теперь вот думаю как правильно коммит устроить: глобально везде переменную IRender_Visual::shader переименовал, чтобы не путаться в исследованиях. Довольно приличное число файлов задето... ради удобства только.

Прекрасно, действительно простор для фантазии очень даже велик, те же царапинки на стволах)
Можно чуть подробнее вот об этом?
Код
//#define LUAICP_COMPAT                        // alpet: включает совместимость с перехватчиком Lua (luaicp.dll).
// #define SCRIPT_ICONS_CONTROL            // alpet: включает экспорт функции setup_game_icon в Lua

Для чего это? Как работает?
abramcumner
Цитата(X_Starter_X @ 11.07.2014, 21:47) *
А насчёт надёжного способа вот что думаю.

HikeR же давал ссылку на надежный способ pity.gif А маленькая программка уже такая есть - свн называется.
alpet
Цитата(Vampir35 @ 11.07.2014, 21:51) *
Можно чуть подробнее вот об этом?
Код
//#define LUAICP_COMPAT                        // alpet: включает совместимость с перехватчиком Lua (luaicp.dll).
// #define SCRIPT_ICONS_CONTROL            // alpet: включает экспорт функции setup_game_icon в Lua

Для чего это? Как работает?

1. Используется для активации совместимости движка с моей luaicp.dll aka "Lua Перехватчик". После сборки можно будет запускать игру через ланчер и соответственно использовать функции из библиотеки luaicp.dll
2. Добавляет в скрипты функцию setup_game_icon (icon, color, width, height).
Можно пользоваться примерно так:
Код
setup_game_icon(1, tonumber("0xFFFFFFFF"), 0, 0) -- установить белый цвет
setup_game_icon(1, 1, 32, 32) -- установить размер

В моде NLC6 эти иконки были использованы вместо линейных индикаторов, что когда-то породило целую бурю возмущения "светофором" smile.gif
Vampir35
Итак, во время компиляции xr_game ругнулся компилятор на слоты, раскомментировал дефайн, снова нажал сборку. Общее время компиляции составило аж сорок одну минуту smile.gif
При попытке запуститься обнаружилась ругань на отсутствие OpenAL32.dll, положил ее в bin из папки с шестым патчем. Аналогично пришлось поступить с eax.dll
Итак игра все-таки запустилась, при попытке начать новую игру, на стадии кеширование объектов, появляется такая ошибка:
http://savepic.ru/5305051.jpg
Собственно вопрос, это что значит?)
K.D.
Цитата(alpet @ 10.07.2014, 20:15) *
По крайней мере пока не получиться напрямую surface редактировать, затемняя или смешивая с какой-либо маской.

Дак шейдеры как раз для этого придуманы. Все остальное - костыли.
Vampir35
Однако разобрался, при запуске программы от имени администратора появилась табличка с руганью на некий шейдер из папки r2:
http://firepic.org/?v=4.2014-07-11_sphzaf0f5cnq.jpg
при попытке игнорировать ошибку, снова это:
http://firepic.org/?v=4.2014-07-11_4sn1kdczydju.jpg
P.S в меню, кстати, нет звука почему-то.
alpet
Цитата(K.D. @ 11.07.2014, 22:53) *
Дак шейдеры как раз для этого придуманы. Все остальное - костыли.

Мне пока ещё многому учиться надо, с шейдерами очень поверхностно знаком. Ими хоть текст можно на текстуру выводить? )


Цитата(Vampir35 @ 11.07.2014, 23:01) *
Однако разобрался, при запуске программы от имени администратора появилась табличка с руганью на некий шейдер из папки r2:
http://se.uploads.ru/XFBiO.jpg

Эти шейдеры есть в /trunk/xray/resources/shaders/r2, там и другие файлы могут понадобиться.

Тем временем готова 87 ревизия, с расширенной работой с текстурами. Вот такой кусочек кода у меня перекрашивает одну fn2000:
Код
-- сделать уникальным объект визуала
  local vname = obj:get_visual_name()
  local suffix = "|"..tostring(obj:id())  
  if nil == strpos(vname, "|") then
     obj:set_visual_name(vname ..suffix)
  end
texture_to_visual(obj, i, "wpn\\wpn_fn2000_new_light")
X_Starter_X
Цитата(abramcumner @ 12.07.2014, 00:04) *
HikeR же давал ссылку на надежный способ pity.gif А маленькая программка уже такая есть - свн называется.

Умываю руки, впредь не буду предлагать бред.
---
Спешу обрадовать smile.gif всё нормально скомпилировал и запустил.
Наблюдаю рожу лицо Сидора.

Полёт нормальный.
Vampir35
Да, действительно все стало работать, ну, кроме звука smile.gif проверю драйвера и отпишусь, может мой косяк)
X_Starter_X
Vampir35, всё в порядке со звуком. Смотри у себя. Лови то что скомпилировалось у меня.
MegaNub
Цитата(Vampir35 @ 12.07.2014, 00:01) *
Да, действительно все стало работать, ну, кроме звука

OpeanAL собран? wrap_oal.dll в папке с игрой имеется?
X_Starter_X
Цитата(HikeR @ 12.07.2014, 07:10) *
del

То есть ссылки больше так не выкладывать?
MegaNub, в проекте OpeanAL не наблюдал.
Vampir35
Цитата(MegaNub @ 12.07.2014, 06:30) *
Цитата(Vampir35 @ 12.07.2014, 00:01) *
Да, действительно все стало работать, ну, кроме звука

OpeanAL собран? wrap_oal.dll в папке с игрой имеется?

Да в общем-то нет. В проекте последней ревизии нету OpenAL, писал же выше, что dll'ки openAL и eax пришлось доложить из шестого патча. Если доложить файл wrap_oal.dll из шестого патча, то почему-то вылезает ошибка, а вот при взятии этих трех dll'ок из пятого патча, все пошло нормально и появился звук smile.gif
alpet
Удалось сделать подмену текстур и для визуалов худа оружия. Пока правда только глобально получается для всех пушек с общей моделью худа.
Vampir35
alpet, как работает метод смены текстур? Возможно ли заменить уже измененную текстуру? То есть если один раз я уже изменил ее, можно ли подменить ее снова? Отличается ли чем-то работа с обычными моделями и с худом?
P.S подмена текстуры нужна во всех моделях.
alpet
Vampir35

1. Можно в существующем объекте загруженной текстуре изменить её имя (считай файл), и перезагрузить функцией reload. Для этого сначала её нужно найти в глобальном списке текстур ресурсного менеджера, функцией texture_find.
Код
local t = texture_find("wpn\\wpn_fn2000")
if t then
    t:set_name("wpn\\wpn_fn2000_light")
    t:reload()
end

2. Текстуры можно заменять сколько угодно
3. Моделям с худом требуется заменять текстуры отдельно для визуала худа, если не производится глобальное изменение одной текстуры.
alpet
В 90-ой ревизии добавил расширенное управление точечными источниками света (фонарем и hanging_lamp). Теперь можно реализовать фонарик на батарейках как в NLC6, и его различные апгрейды на LED/ИК подсветку.
Кстати, может уже где есть адекватные шейдеры для источников света? Меня очень коробит резкий обрыв зоны освещения после радиуса например.
K.D.
Цитата(alpet @ 13.07.2014, 12:56) *
Меня очень коробит резкий обрыв зоны освещения после радиуса например.

Покажи скрин. Таких проблем не помню.
alpet
Цитата(K.D. @ 13.07.2014, 13:23) *
Покажи скрин. Таких проблем не помню.

Ну вот, для 15 метров и яркого фонаря:
https://www.dropbox.com/s/94cnc4q64e6qjav/X...5_46_34_069.jpg
Хочется плавное затухание.
HikeR
экое страхолюдство...

вот "ванильный" фонарь (не смотрите на блум):


никакого резкого обрыва нет.
macron
Цитата(alpet @ 13.07.2014, 15:50) *
Ну вот, для 15 метров и яркого фонаря:
https://www.dropbox.com/s/94cnc4q64e6qjav/X...5_46_34_069.jpg
Хочется плавное затухание.

В OLR такая же жопа была из-за правки "ВИРТУАЛЬНЫЙ РАДИУС ЛАМП (EXTENDED TUNING OF MAIN_VIRTUAL_SIZE FOR LAMPS)" на r2.
HikeR
вы про это?
alpet
Главный эффект от обрубания света по ренжу выглядит просто: на дороге полукруг, и все препятствия темной ночью влетают в свет мгновенно даже при медленном движении. Это попросту неестественно. А то что вместо круга, получается многоугольник ещё можно истолковать формой бленды у фонарика и одним светодиодом )
Vampir35
Может стоит включить в проект openAl? Звука нет, а начиная с 87 ревизии, взятая от предыдущих патчей wrap_oal.dll стала вызывать ошибку, а без нее у меня звука нет. Может вместе с eax, wrap_oal и OpenAL32, нужно положить что-то еще?
Vampir35
Проблема частично решилась установкой openAl, звук появился, но во время интро роликов и меню подлагивает, версию openAl нашел старую, если у кого есть выше 1.1 прошу поделиться smile.gif
HikeR
Цитата(Vampir35 @ 13.07.2014, 23:19) *
прошу поделиться

чтобы делиться нужно знать какая именно версия лежит в \trunk\3rd party\OpenAL.

так как openal.org сдох, то самый распоследний OpenAL Installer (OpenAL32.dll (6.14.357.25) and wrap_oal.dll (2.2.0.7)) можно надыбать на креативовском сайте скачав какой-нить распоследний драйвер для их аппаратных карточек, например, для Audigy 4 (что-то около 50 Мб). 7-zip-ом открыть экзешник как архив, инсталятор лежит в \Drivers\wdm\common\i386\OALInst.exe

p.s.
или нацепить черную повязку на глаз и пошукать в инете "правильный" комплект с названием "Sound Blaster X-Fi MB 3-1.00.04", который на любой звуковухе включит софтовую эмуляцию всех креативовских фишек вплоть до EAX 5.
Lagos
Цитата(Vampir35 @ 13.07.2014, 23:19) *
Проблема частично решилась установкой openAl, звук появился, но во время интро роликов и меню подлагивает, версию openAl нашел старую, если у кого есть выше 1.1 прошу поделиться smile.gif

Не знаю, то ли.Тынц.
И, как сказал товарищ HikeR, в драйверах Creative лежит такой же OALinst.exe. Версия: 2.1.
macron
Вот полный набор OpenAL-вариантов:

http://rghost.ru/56879810

1-OpenAL21 - старый (OpenAL32.dll 6.14.357.21 and wrap_oal.dll 0.0.0.0)
2-OpenAL21_software - старый + dsound.dll для софтварной эмуляции
3-OpenAL25- новый (OpenAL32.dll 6.14.357.25 and wrap_oal.dll 2.2.0.7)
4-OpenAL25_software - новый + dsound.dll для софтварной эмуляции
5-OpenAL25_hardware - новый, но OpenAL32.dl является копией wrap_oal.dll
HikeR
в 3 и 4 OpenAL32.dll и wrap_oal.dll одинаковые, как раз таки последние. dsound.dll от рилтека сразу на помойку. 1, 3 и 5 есть копии друг друга.

openal32 всего лишь роутер, вся его задача — просканировать рабочий каталог на предмета наличия файлов *_oal.dll и опросить их на предмет поддерживаемых устройств.

*_oal есть трансляторы, которые умеют представлятся как Software (принудительный DS2D с перенаправлением всех расширений в null), либо как Hardware (DS3D + EAX). последний на вистах/семерках недоступен, если только транслятор не обнаруживает аппаратную поддержку (настоящую, проброс через Alchemy или через эмулированный ужас от рилтека).

wrap_oal является fallback-ом, если не обнаружен ct_oal ("родные" аппаратные карточки), host_oal ("лицензированные" софтовые карточки) или cm_oal (попытка Asus Xonar составить конкуренцию). если нет ни одной из перечисленных либ (карточек), то wrap_oal можно смело переименовать в openal32, ничего не изменится, разве что прокси-вызовов будет меньше.

поэтому еще раз, от шаманства с версиями этих файлов ничего не изменится. роутер не поймет отличающуюся версию транслятора, он либо свалится в софтовый fallback, либо, как у Vampir35, будет исправно без ошибок принимать все вызовы, но не пустит их далее (нет звука). если ставить, то парочку openal32+wrap_oal из одного пакета, причем в каталоге с игрой лучше их вобще поудалять.

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

p.s.
кстати, в LA в последнем патче их комплект openal32+wrap_oal вобще перестал обнаруживать креативовские карточки, ни аппаратные, ни софтовые. видимо, чтобы не париться с тем ужасом, который там называют "реверебрация", решили отключить его (ужас) глобально.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.