Перейти к контенту

[SoC] Вопросы по SDK


faniloko

Рекомендуемые сообщения

Я спрашиваю помощь, - а не ссылки. Я тему прочитал, (Comador - тебе отвечаю). - Шапку темы читал, - моей траблы там нет. Если можешь помочь - помоги. А если не можешь - объясни мне как шапка темы мне поможет. В шапке и близко нет того, что я спрашивал.



abramcumner_спасибо, - реально что-то подсказал. Сейчас попробую. Спасибо - .



ini - настроен, а что значит это: наличие файла "$game_levels$\l05_bar\level". - в папке l05_bar нет никакого level.

Ссылка на комментарий

"$game_levels$\l05_bar\level"

Это значит путь до папки с распакованной gamedata ($game_levels$), в ней папка l05_bar, а в ней - файл level.

Что значит "нет никакого level"? Он просто обязан там быть. Если его нет - значит ты не полностью распаковал архивы мода.

Изменено пользователем topdog
  • Нравится 1
Ссылка на комментарий

ini - настроен, а что значит это: наличие файла "$game_levels$\l05_bar\level". - в папке l05_bar нет никакого level.

Если нет, значит мод не меняет локацию бар. Ну или не все распаковал. Как topdog написал, файла level не может не быть :)

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

  • Нравится 1
Ссылка на комментарий

Запарился совсем, хлопцы - извиняюсь - да, есть файл level. И не один (с разными расширениями). Я не ту геймдату смотрел. Сейчас наведу порядок в папках - после экспериментов много хлама скопилось - и попробую на чистую геймдату распаковать геймдату с модом. Огромное спасибо за помощь парни! Я про чистую геймдату не знал.

Ссылка на комментарий

Тема самая блиизкая по смыслу...

при запуске ле 1935 лог

'xrCore' build 1928, Oct 11 2004

RegisterCommand: command '' overridden by command ''.
***STOP*** file 'P:\xrCore\LocatorAPI.cpp', line 894.
***Reason***: *** Assertion failed ***
Expression: P!=pathes.end()
$local_root$
 

Ссылка на комментарий

Как подгружать к оружию skls-анимации? Если нажать Edit\Append, ничего не происходит, хотя использовал этот способ.

=======================

Этим же способом активировал СДК для 7-ки. Но кнопки "добавить" не работают и в этом случае. Поможет только ХР. В этой теме уже говорилось про это.

Читай здесь - Тынц ! и пост ниже.

BFG

Изменено пользователем BFG
Ссылка на комментарий

Как подгружать к оружию skls-анимации? Если нажать Edit\Append, ничего не происходит, хотя использовал этот способ.

=======================

Этим же способом активировал СДК для 7-ки. Но кнопки "добавить" не работают и в этом случае. Поможет только ХР. В этой теме уже говорилось про это.

Читай здесь - Тынц ! и пост ниже.

BFG

Анимации нужно подгружать в SDK 0.7, потом экспортировать в oGF, затем конвертором бардака конвертировать OGF файл в object и тогда уже можно импортировать в SDK 0.4 

P.S. Натолкнулся на такую проблему, сделал HUD-модель Aks74u с анимациями, прописал эту hud-model арсеналовской аксушке и получаю вылет без лога, когда покупаю оружие. Как решить данную проблему?

==================

Предупреждение !

Прочитайте Правила цитирования. Запрещено цитировать предыдущий пост полностью.

BFG

Изменено пользователем BFG
Ссылка на комментарий

 

 


Привет всем!)) Помогите разобратся... Такое в первые случилось... В общем декомпелирую локу,открываю,доходит загрузка до 99% и вылетает такое окошко   жму ОК,лока открывается,но без спауна,путей и т.д,только геометрия   
* Unloading texture [ston\ston_walls5] pSurface RefCount= 1 * Unloading texture [detail\detail_grnd_grass] pSurface RefCount= 1 * Unloading texture [detail\detail_grnd_asphalt] pSurface RefCount= 1 * Unloading texture [terrain\terrain_escape] pSurface RefCount= 1 * Unloading texture [detail\detail_grnd_earth] pSurface RefCount= 1 Input: 1 Destroying Direct3D... * Unloading texture [ui\ui_font_hud_01] pSurface RefCount= 1 * RM_Dump: textures : 0 * RM_Dump: rtargets : 0 * RM_Dump: rtargetsc : 0 * RM_Dump: vs : 0 * RM_Dump: ps : 0 * RM_Dump: dcl : 0 * RM_Dump: states : 0 * RM_Dump: tex_list : 0 * RM_Dump: matrices : 0 * RM_Dump: lst_constants: 0 * RM_Dump: v_passes : 0 * RM_Dump: v_elements: 0 * RM_Dump: v_shaders : 0 refCount:pBaseZB 1 refCount:pBaseRT 1 refCount:dwDebugSB 1 D3D: device cleared FATAL ERROR [error]Expression : assertion failed [error]Function : I:\xray-svn\editors\ECore\Editor\ui_main.cpp [error]File : I:\xray-svn\editors\ECore\Editor\ui_main.cpp [error]Line : 49 [error]Description : m_ProgressItems.size()==0 stack trace:


 

Разобрался,дело не в памяти,а в кривом Windows!!!

_obJIom4uk_.gif
 

Ссылка на комментарий

Возникла проблема, прошу помочь разобраться...

Суть: Захотелось к стандартным локациям ТЧ (SHoC) добавить автономную тестовую локу, дабы на ней экспериментировать "как в игре". Заодно почистить мусор ы game.graph от баластных записей mp-локаций. Все вроде бы тривиально, но застопорила проблема: при создании level.graph для l12_stancia теряется один гейм-вертекс и вместо того, чтобы иметь 129 (как в оригинальной игре) - остается 128, и соответственно "плывут" все последующие за этой точкой локации, что требует пересборки всего алл.спавна и координат в нем. Непонятно почему у всех (в оригинале и модах даже с новыми локами) такого смещения с исчезновением вертекса нет? Везде 1-й свободный вертекс для новой локи прогнозируется как 2792, а не 2791.

В логе при компиляции аи-враппером это усечение выглядит так:

* New phase started: Loading AI map
! Sector graph doesn't exist : building...
* Navigation info : 477923 nodes, 6686 sectors, 25988 edges
477923 nodes loaded
 
* New phase started: Loading graph points
    | Vertices read : 100
    | Vertices read : 133
133 vertices are loaded
 
* New phase started: Removing duplicate graph points
0 vertices has been removed
133 vertices are valid
 
* New phase started: Searching AI map for corresponding nodes
Point   1 [ 919.21,  -0.10,-185.48] has no corresponding node
Point   4 [ 920.37,  -0.10, -42.71] has no corresponding node
Point  35 [ 437.18,  -0.10, -43.42] has no corresponding node
Point  84 [ 287.60,   0.00,-223.35] has no corresponding node
Point 113 [ 344.90,   0.00, -38.58] has no corresponding node
5 points don't have corresponding nodes (they are removed)
0 points have the same corresponding nodes (they are removed)
 
* New phase started: Removing incoherent graph points
0 graph points are incoherent (they are removed)
128 graph points are valid
 
...

 

 

Пробовал несколько раз и в различных вариациях, меняя и версии аи-врапперов и даже операционки (Win7-64 ->XP). Все исходные файлы для локаций от оригинальной игры ТЧ (1.0004/6).

 

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

.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos, не мне конечно что то советовать...

Но нет ли по этим координатам,

Point   1 [ 919.21,  -0.10,-185.48] has no corresponding node
Point   4 [ 920.37,  -0.10, -42.71] has no corresponding node
Point  35 [ 437.18,  -0.10, -43.42] has no corresponding node
Point  84 [ 287.60,   0.00,-223.35] has no corresponding node
Point 113 [ 344.90,   0.00, -38.58] has no corresponding node
5 points don't have corresponding nodes (they are removed)

проблем с AI-сеткой и геометрией... (*.err)?

Замечал что при конвертировании одной и той же локации, ошибки геометрии могут быть разные... Мало ли что...

Изменено пользователем CuJIbBEP

h-264.jpg

Ссылка на комментарий

@CuJIbBEP, спасибо что откликнулся, а то думаю уже никому до стандартных карт нет дела ;-)

Уточняю:

1. Исходный материал для карт беру из чистой игры (SHoC v1,0004/6) и ничего не добавляю. Т.е. по-сути, пытаюсь  перекомпилировать  геймграфы уже имеющихся в игре локаций, когда-то скомпилированные разрабами GSC, чтобы к ним подключить свою дополнительную.

Верификация aimapcheck проходит без ошибок.

There are 898 single linked nodes!

AI-map is valid!
Verifying level gamedata\levels\l12_stancia\ completed

2. Если смотреть в пак локаций "Stalker_Map_Pack_for_SHoC_1.0004" (by Kostya V), то там присутствует эта же локация l12_stancia (как понимаю с перекомпилированным графом) с теми же 129-ю вертексами. Т.е. усечения 5-го у него не возникало, и он подменяет только level.gct и с ним уже создан новый общий game.graph. Аналогично и в других модах с перекомпилированными графами оригинальных локаций в которых не изменяли их геометрию и AI-сетку.

 

Вот мне и непонятно, у меня одного, вместо 4-х ошибочных вертексов выходящих за пределы AI-сетки, почему-то возникает 5-й (например из-за версий/настроек (де)компиляторов) и он усекается? Или же я все же что-то не так делаю?

 

Если не сложно, может у кого-то есть уже подготовленная l12_stancia от оригинальной версии игры(!) для включения в oбщий пак - был бы благодарен если дадут ссылку на скачать. Хотя хотелось бы понять причину и далее не наступать на грабли... Собственно непонятно, если на гейм-вертексе отсутствует AI-сетка - то почему компилятор усекает этот вертекс? Баласт не всегда требуется вычищать... Есть ли возможность указать чтобы какой-то не усекался?

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

@Artos, а почему бы не скомпилировать просто заново спавн тогда (С Вашими изменениями в нем, если таковые есть) в том же СДК и все? И локации никуда не поплывут и координаты тоже, все будет автоматом "сдвинуто", если то требуется.  ;)  

 

И да, а зачем Вы трогаете Станцию и остальные локации? Ведь Вам, по сути, надо подключить только новую локацию. Вот с ней и работайте. А остальное дело техники, все само будет внесено в глобальный game.graph и all.spawn. 

 

По поводу графов - ничего усекаться, по-идее, не должно. Если есть граф стоящий не на аи-сетке, то будет соответствующая надпись и вылет.

Изменено пользователем HellRatz
Ссылка на комментарий
а почему бы не скомпилировать просто заново спавн тогда (С Вашими изменениями в нем, если таковые есть) в том же СДК и все?

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

2. Учитывая, что у меня в моде очень немало новшеств неведомых движку/SDK, задачка по переносу спавна очень непроста (хотя конечно решаема). Очень непросто научить иль обойти ограничения для новых (псевдо)классов объектов и т.п.

3. По иронии, даже упрощенный перенос спавна не прокатит, т.к., например, в оригинале игры (и у меня) в упомянутом заключительном гейм-вертексе 2791 расположен переход с бункера на радар (name = exit_to_radar_01) и при усечении карты станции (l12_stancia) на один вертекс компилятор уже не может поместить этот переход на карту и просто его вырезает.

   level  1 l01_escape

    ...
    level 15 l12_stancia
    ...
    level 20 l10u_bunker
Graph point bun_graph_point_0000 is removed,because it has the same position as some another graph point

- т.о. придется заново добавлять и переход и менять его обвязку (точку возврата и пр.)

Я уже не говорю о том, что немало использований именно гейм-версексов локаций в кодах мода... Например, спавнятся и закрываются новые переходы между локациями или используются телепорты, используются динамические пути (walks) и т.д. Пересбор кодов сделает их полностью  несовместимыми с оригинальной игрою.

 

 

 

 

И да, а зачем Вы трогаете Станцию и остальные локации?

Хм... Я бы рад не трогать, но заставляет "трогать" сам аи-враппер (иль ai-compiler), т.к. без запуска "-g <имя_карты>" для всех оригинальных карт он отказывается выполнять "-m", т.е. не построив таблицы соответствия с сетками ИИ  всех включенных карт, отказывается сливать их в единый гейм.граф.

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

В описании к аиврапперу имеется куцее упоминание

-m2 <файл> - склеить ИИ-графы карт в глобальный игровой граф с учётом поправок для связей из указанного файла

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

 

 

 

 

По поводу графов - ничего усекаться, по-идее, не должно.

Тоже так думаю, однако на практике именно это и происходит при вынужденном (пере)построении ИИ-графа и таблицы соответствий именно (и только!) для карты  станции (см. раннее цитируемый кусок лога). AICompiler пишет в логе чуть иначе:

...

! removing graph point [aes_graph_point_0000][919.211365][-0.097565][-185.482620] because it is outside of the AI map
! removing graph point [aes_graph_point_0003][920.373718][-0.097565][-42.707016] because it is outside of the AI map
! removing graph point [aes_graph_point_0034][437.179657][-0.099899][-43.417011] because it is outside of the AI map
! removing graph point [aes_graph_point_0083][287.599487][0.000153][-223.348419] because it is outside of the AI map
! removing graph point [aes_graph_point_0113][344.903748][0.000015][-38.576981] because it is outside of the AI map
128 graph points loaded
Building cross table
...

 

- но суть не меняется. Компилятор считает что точка за пределами сетки и усекает ее, не "крича" более об ошибках иль надписями. При чем в оригинальной игре и в модах все 129(!) вертексов карты станции валидны.

Как все же обойти это усечение до 128-ми?

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

@Artos, в принципе, чтобы подключить новую локацию, надо внести ее в game_levels.ltx и в game_maps_single.ltx соответственно, level.gct/graph есть на каждой ТЧ локации (И в СДК пересобирать ничего не нужно вручную). Т.е, нужно просто обработать Аи-Враппером Вашу новую локацию (аи сетку, графы. Проще говоря, первые 2 батника (проверка целостности аи-сетки не в счет)) и обновить level.gct/graph для каждой (!) локации через команду aiwrapper -g "уровень". (Это будет долговато, но, возможно есть команда для массового поочередного запуска локаций на обработку, я с языком bat-a слабо знаком) После обработки уровней можно  уже собрать глобальный граф и спавн. 

 

Сам только что проверил, подключил к игре 3 локации: Кордон, Бар, Болота ЧН . Ни одну локацию я не разобрал под СДК, чисто работал аи враппером, и, соответственно, ни одна локация не потеряла никаких элементов:

 

2329566.jpg

Изменено пользователем HellRatz
  • Полезно 1
Ссылка на комментарий

@HellRatz, то ли я что-то пропускаю в пояснениях, то ли ты не внимательно читаешь...

Всевозможную теорию я уже перечитал десятки раз и как подключать устанавливать/настраивать SDK с приблудами и подключать свою локацию к игре имею представление и практику. Но(!) мне нужно не просто взять свои несколько локаций и засунуть в игру (как ты показал), а к УЖЕ имеющимся оригинальным локациям подключить свою. Причем(!) так, чтобы уже имеющиеся локации НЕ изменяли свою геометрию/сетки/...

Куда, когда и как  вписывать в конфиги свою новую карту тоже знаю (game_graphs.ltx, game_levels.ltx, game_maps_single.ltx) и уже все сделано. Локация подготовлена и могу хоть отдельной игрою ее запускать, хоть прикрепленной к прежним картам. Но, загвоздка в том, что объединяя все локи в один гейм.граф, у меня съезжают все вертексы за картой станции (l12_stancia) и уже без глобальной переделки спавна и конфигов/скриптов игры запустить общий мод не удается.

Описываю по шагам свои действия:

0. Установил SDK + приблуды. и сконфигурировал. Все по стандарту и по многочисленным туторам.

SDK работает, хотя вроде как и не нужен для моей задачи...

 

1. Распаковываю архивы игры (SHoC v1.0004 или v1.0006) *.dbX в папку gamedata .

 

2. Запускаю converter дабы портировать карты в папки SDK:

converter -level default:MY_LEVEL -out MY_LEVEL -mode le

- в итоге имею в папке maps все данные по оригинальным и своей карте + в папке rawdata все требуемые объекты, текстуры и пр.

 

3. Запускаю для каждой локации: aiwrapper -g "уровень" - т.к. без этого невозможно собрать общий гейм.граф(!).

В итоге имею для всех локаций обновленные level.gct/graph. Уже на этом этапе вижу в логе усечение карты станции на один гейм-вертекс, т.е. вместо неких 4-х

у меня компилятор вырезает 5 поинтов, и вместо 129-ти у меня остается всего 128!

 

4. Чтобы подсунуть свою карту изменяю game_graphs.ltx, game_levels.ltx, game_maps_single.ltx. Но даже без этого шага ничего не изменяется для исходных карт.

 

5. Запускаю сборку общего гейм.графа aiwrapper -m - и вижу, что в игре на все карты остается 2791 вертекс, вместо 2792, и даже из игры вырезается точка перехода с бункера на радар, т.к. она приписана к 2792-му вертексу!

Если прикрепляю свою карту, то она начинается именно с 2791-го, а не 2793-го!

 

Далее естественно собирать спавн особого смысла нет...

С новым общим гейм.графом могу запускать через батник свою локу и она работает. Но(!), уже основная игра с общими локациями без переделки спавна/конфигов/скриптов - невозможна...

 

 

 

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

@Artos,

 

Могу ошибаться, но на мой взгляд проблема в шаге 3. Не нужно для каждой релизной локации собирать заново level.gct/graph. Эти файлы изначально присутствуют в папках каждой локации. Попробуй создать level.gct/graph только для своей локации и после этого шаг 4, 5.

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

  • Нравится 4
Ссылка на комментарий

Посадил новую растительность на ПЫС'овской локации бар, скомпилировал на максе. Тестирую в игре. При заходе в какой либо сектор всё(кроме детейл объектов), что вне этого сектора, попросту исчезает, вместе с террейном. Сектора не трогал. В чём проблема и как её решить?

Ссылка на комментарий

@banderos, ты прав(!), после трех дней проб и ошибок с различными версиями приблуд (аиврапперы/аикомпилеры) все же нашел вариант (с подсказки Колмогора, которая совпадает с твоею), которым можно получать некое подобие "чистого пака" исходных локаций.

Т.е. это:

обновить level.gct/graph для каждой (!) локации через команду aiwrapper -g "уровень"

как раз и приводит к усечению карты l12_stancia на один вертекс (129->128).

 

Кому интересно:

Получаем "чистый" пак исходных локаций:

- установка SDK и приблуд к нему в обычном порядке, т.е. по многочисленным туторам.

- обязательно требуется aiwrapper! Именно он позволяет получать общий гейм-граф без пересборки левел-графов исходных локаций.

- желателен AI Compiler (build 0.1.1.1), чтобы получить готовый "чистый" all.spawn (об этом ниже).

 

1.1. Распаковываем архивы оригинальной игры в папку gamedata.

1.2. Открываем gamedata\config\game_levels.ltx и оставляем только основные карты, удаляя/комментируя всякие мульти- и тестовые.

2.1. Обновляем исходные level.spawn командой: aiwrapper -split_spawns

2.2. На всякий случай (особенно если у вас уже модифицированный all.spawn) обновляем и пути: aiwrapper -split_paths

3. Выполняем совмещение левел-графов в единый гейм-граф: aiwrapper -m -> на выходе имеем нужный нам game.graph.

4.1. Создаем "грязный" all.spawn командой: aiwrapper -s -> на выходе имеем алл.спавн, который рабочий, но(!) версии uACDC распаковывают только с ключиком -nofatal, ругаясь в логе на аномалии, explosive_barrel'ы и др. 

4.2. Создаем "чистый" спавн, запустив AI Compiler(!): @start /wait bins\ai\1.exe -s -> на выходе имя l01_escape.spawn заменяем на all.spawn.

 

5. Переносим game.graph, all.spawn и все gamedata\levels\<name>\level.gct в рабочую папку игры...

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

Ну а далее, можем подключать к этому паку свои новые локации, эксклюзивно(!) выполняя только(!) для них: aiwrapper -g <name of your map>, которые ложатся в конец и стартовым гейм-вертексом для них является 2792-ой.

 

Примечания:

1. При компиляции "чистого" алл.спавна AI Compiler'ом выскакивает две ошибки:

1.1. На карте l01_escape:


[error]Description   : Restrictor separates AI map into several disconnected components

[error]Arguments     : esc_selo2_sr

- игнорируем ее, нажав кнопку <продолжить>. Этот рестриктор (криво окаймляет здание около элеватора) и является баластом и можно вообще удалить...

1.2. На карте l04_darkvalley:


[error]Description   : nodes.size() + m_internal.size() <= level_graph().header().vertex_count()

- так же игнорируем (пока не разобрался с каким рестриктором это связано, подозреваю аномалию с кривой точкой спавна артов).

 

2. Замечено, что при подключении новой карты к такому паку, к сожалению, точка перехода с карты Бункера на Радар все же смещается из вертекса 2791 в 2661... что требует некоего вмешательства в спавн.

 

 

 

Изменено пользователем Artos
  • Нравится 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

@Потенциал, как вариант, удали дефолтный сектор и все порталы. Затем заново создай дефолтный и заново сгенерируй порталы.  

Обещаю, что никого в ответ минусить не стану) Чмоки)))

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...