Please notify alexmx critical error has occurred in render routine

Please notify alexmx critical error has occurred in render routine И никаких няш-мяш! Репутация: 5029 Группа: Участник Сообщений: 28157 Регистрация: 04.02.2003 0) Устанавливаем Visual Studio 2008 SP1 (Proffesional или Team, я собирал в первой), сервис пак из архива engine.vc2008.fixed.rar подходит только к английской версии студии, для русской нужно будет скачать отдельно. ______________________________________________1) Создаём на […]

Содержание

  1. Please notify alexmx critical error has occurred in render routine
  2. Please notify alexmx critical error has occurred in render routine
  3. Please notify alexmx critical error has occurred in render routine

Please notify alexmx critical error has occurred in render routine

И никаких няш-мяш!

Репутация: 5029
Группа: Участник
Сообщений: 28157
Регистрация: 04.02.2003

0) Устанавливаем Visual Studio 2008 SP1 (Proffesional или Team, я собирал в первой), сервис пак из архива engine.vc2008.fixed.rar подходит только к английской версии студии, для русской нужно будет скачать отдельно.
______________________________________________
1) Создаём на диске папку, в ней ещё одну папку.

2) В эту папку помещаем только папку engine.vc2008 из архива «engine.vc2008.fixed — фикшенный мною проект vs2008», папку SDK от туда не трогаем.

3) Папку SDK берём из архива «stasvnsourcesengine.vc2005-2008(

1.6.02 бенчмарк) — март 2010″, из под-папки sources.
Помещаем её в одну папку к engine.vc2008

4) Вот теперь поверх неё докладываем папку SDK из архива engine.vc2008.fixed.rar, соглашаемся на замену всех файлов

5) Качаем с сайта майкрософт два DirectX SDK — 2009 March и 2010 June. (Вес каждой около 500 мб), можно использовать только версию 2009, но тогда не сможете собрать xrRender_R4. (LINK : fatal error LNK1181: cannot open input file ‘d3d11.lib’), а если будете использовать только 2010 — игра с R4 не запустится.

После установки двух DX SDK убедитесь что они прописали свои пути в студию, файлы 2010-го СДК должны быть после 2009-го, как показано на рисунке:

Аналогично для разделов Executable files и Include files. Если возникнут вопросы, ищите информацию в гугле по словам «подключение directx sdk visual studio 2008»

При неправильных версиях СДК (или его не-подключении) в логе будет ругань на отсутствие файлов типа d3dXX.lib.h)
Перемещать папки из уже установленного DirectX SDK никуда не нужно. Достаточно прописать к ним пути глобально для студии (или для каждого проекта вручную)

Комментарий от loxotron: достаточно скопировать и переименовать d3d11_beta.lib в d3d11.lib в папке с директовским сдк, а еще лучше скачать и поставить DX SDK August 2009 и не париться с неподходящими версиями.

6) На всякий случаи можно установить ещё SDKOpenALwEAX.exe, но не уверен что он критически необходим.

7) Запускаем проект через ..CoPProjectengine.vc2008engine.sln. Когда он загрузится, вверху студии режим сборки с Debug_Dedicated (или любой другой) меняем на Release. Далее слевасправа будет список папок с файлами движка, нам нужна, в первую очередь, папка 3rd_party — жмём на неё правой кнопкой мыши и выбираем BuildПостроить.

Если всё будет правильно, то в конце лог внизу напишет об 11 успешных проектах (или число будет меньше, если некоторые проекты уже были собраны до этого, лог об этом тоже сообщит «пропущеныup to date») Главное чтобы ОшибокFatal везде было 0
У меня собрались полностью все проекты без ошибок. (warning за полноценные ошибки не считаются)

8) По аналогии, сверху вниз, можно собрать другие Dll-ки, папки editordedicatedutilsplugins собирать не обязательно — к движку они не относятся. Дольше всего будет собираться xrGame.dll. Остальные достаточно быстро.

Собирать все Dll-ки к слову не обязательно. Можно лишь нужные. Когда они будут готовы — создать чистую папку bin в папке с игрой. Закинуть туда все созданные dll файлы (можно вместе с .pdb). При необходимости, можно докинуть отсутствующие файлы из оригинальной bin ЗП (2-ой патч), если игра будет их требовать. (Навроде wrap_oal.dll)
Игру я запускал с оригинального Stalker-COP.exe

Если всё верно, то в логеконсоли игры в первых строчках будет указан билд игры и дата построения.

Сообщение отредактировал RayTwitty — 22.01.2016, 17:03

Источник

Please notify alexmx critical error has occurred in render routine

И никаких няш-мяш!

Репутация: 5029
Группа: Участник
Сообщений: 28157
Регистрация: 04.02.2003

0) Устанавливаем Visual Studio 2008 SP1 (Proffesional или Team, я собирал в первой), сервис пак из архива engine.vc2008.fixed.rar подходит только к английской версии студии, для русской нужно будет скачать отдельно.
______________________________________________
1) Создаём на диске папку, в ней ещё одну папку.

2) В эту папку помещаем только папку engine.vc2008 из архива «engine.vc2008.fixed — фикшенный мною проект vs2008», папку SDK от туда не трогаем.

3) Папку SDK берём из архива «stasvnsourcesengine.vc2005-2008(

1.6.02 бенчмарк) — март 2010″, из под-папки sources.
Помещаем её в одну папку к engine.vc2008

4) Вот теперь поверх неё докладываем папку SDK из архива engine.vc2008.fixed.rar, соглашаемся на замену всех файлов

5) Качаем с сайта майкрософт два DirectX SDK — 2009 March и 2010 June. (Вес каждой около 500 мб), можно использовать только версию 2009, но тогда не сможете собрать xrRender_R4. (LINK : fatal error LNK1181: cannot open input file ‘d3d11.lib’), а если будете использовать только 2010 — игра с R4 не запустится.

После установки двух DX SDK убедитесь что они прописали свои пути в студию, файлы 2010-го СДК должны быть после 2009-го, как показано на рисунке:

Аналогично для разделов Executable files и Include files. Если возникнут вопросы, ищите информацию в гугле по словам «подключение directx sdk visual studio 2008»

При неправильных версиях СДК (или его не-подключении) в логе будет ругань на отсутствие файлов типа d3dXX.lib.h)
Перемещать папки из уже установленного DirectX SDK никуда не нужно. Достаточно прописать к ним пути глобально для студии (или для каждого проекта вручную)

Комментарий от loxotron: достаточно скопировать и переименовать d3d11_beta.lib в d3d11.lib в папке с директовским сдк, а еще лучше скачать и поставить DX SDK August 2009 и не париться с неподходящими версиями.

6) На всякий случаи можно установить ещё SDKOpenALwEAX.exe, но не уверен что он критически необходим.

7) Запускаем проект через ..CoPProjectengine.vc2008engine.sln. Когда он загрузится, вверху студии режим сборки с Debug_Dedicated (или любой другой) меняем на Release. Далее слевасправа будет список папок с файлами движка, нам нужна, в первую очередь, папка 3rd_party — жмём на неё правой кнопкой мыши и выбираем BuildПостроить.

Если всё будет правильно, то в конце лог внизу напишет об 11 успешных проектах (или число будет меньше, если некоторые проекты уже были собраны до этого, лог об этом тоже сообщит «пропущеныup to date») Главное чтобы ОшибокFatal везде было 0
У меня собрались полностью все проекты без ошибок. (warning за полноценные ошибки не считаются)

8) По аналогии, сверху вниз, можно собрать другие Dll-ки, папки editordedicatedutilsplugins собирать не обязательно — к движку они не относятся. Дольше всего будет собираться xrGame.dll. Остальные достаточно быстро.

Собирать все Dll-ки к слову не обязательно. Можно лишь нужные. Когда они будут готовы — создать чистую папку bin в папке с игрой. Закинуть туда все созданные dll файлы (можно вместе с .pdb). При необходимости, можно докинуть отсутствующие файлы из оригинальной bin ЗП (2-ой патч), если игра будет их требовать. (Навроде wrap_oal.dll)
Игру я запускал с оригинального Stalker-COP.exe

Если всё верно, то в логеконсоли игры в первых строчках будет указан билд игры и дата построения.

Сообщение отредактировал RayTwitty — 22.01.2016, 17:03

Источник

Please notify alexmx critical error has occurred in render routine

Репутация: 648
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010

1. Исправление вылета «can’t find rank» для оружий.

3. Collide
Возвращена коллизия мертвых тел с неписями и актором, как она сделана в старой физике билдов.
Видео: https://www.youtube.com/watch?v=1xNn04f3djc

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

5. Исправление вида от 3-го лица.
Изменено положение камеры от 3-го лица (1). Стрельба идет по перекрестью, а не по направлению актора. Если включить вид от 3-го лица (1) и удерживать Shift, то ГГ будет автоматически целиться в ближайшего непися или монстра.
Проблемы: Стрельба по перекрестью идет также при виде от 3-го лица (2). Если при автоматическом нацеливании непись/монстр удалится или перейдет в оффлайн, будет движковый безлоговый вылет. Я думал вырезать это нацеливание, но решил оставить.

1. Luminosity progress (только ТЧ)
Возвращение шкалы освещения вместо шкалы «заметности» ГГ, как в билдах.

2. Запрет на доставание оружия в машине (только ТЧ и ЧН) и на лестнице (ТЧ, ЧН, ЗП).

4. Отсутствие распознавания неписей перекрестием:
При наведении на непися перекрестье имеет дефолтный цвет. Также не показывает информацию о неписе, если смотреть на него.

5. Bind_object:
Возможность использовать скрипты в мультиплеере.

6. Из оружия на классе бинокля можно стрелять (только ТЧ)

1. Включение некоторых команд без использования ярлыка. Можно патчить по отдельности. Команды: -smap_4096 (максимально улучшенные карты теней), -mblur (включение блюра).

2. Измененная анимация безоружного гг.

3. Увеличение дистанции диалога с неписями (для создания сценок на расстоянии)

4. Исправление вылета при использовании предметов из трупов неписей.
В отличии от версии Kolmogor’а, здесь отключено само меню использования.

5. Возможность поднимать болты как обычные инвентарные предметы (комбинировать с модом Charsi «Заканчивающиеся болты»)

Geometry LOD fix (CS 1.5.10) – расширение диапазона консольной команды r__geometry_lod
Camblu crosshair for build 1865 – замена перекрестия прицела на кружок в билде 1865
Vertex buffer fix for NC Project – исправление вылета по переполнению буфера в NC Project
NO 100 sovetov fix (COP 1.6.02) – убирает надписи «100 советов» с экрана загрузки
Demo Record fix (SOC 1.0006) – убирает красные надписи в режиме demo_record
Weapon Bobbing Beta (SOC 1.0006) – раскачка оружия при ходьбе (бета-версия)
Build Loadscreen (SOC 1.0006) – билдовский экран загрузки со статичным изображением
Detail Density fix (SOC 1.0006) – расширение диапазона консольной команды r__detail_density
Mipbias fix (SOC 1.0006) – расширение диапазона консольных команд r1_tf_mipbias и r2_tf_mipbias
No Quick Use fix (SOC 1.0006) – запрет на использование аптечек и бинтов по быстрым клавишам
Sun Near fix (SOC 1.0006) – расширение диапазона консольной команды r2_sun_near
Target Font (SOC 1.0006) – замена шрифта под перекрестием прицела на шрифт DI
Unload Magazine fix (SOC 1.0006) – фикс скриптовой функции unload_magazine — теперь патроны разряжаются в инвентарь
PNG Screenshots (SOC 1.0006) – игра теперь делает качественные скриншоты в формате png

Доработанный и исправленный экзешник для ТЧ 1.0006 (на основе Steam-версии без защиты)
Включает в себя исправления вылетов, а также очистку лога игры от засоряющих сообщений. Более подробное описание внутри архива.

Портативная версия расширений движка «X-Ray extensions»
Платформы: ТЧ 1.0006, ЧН 1.5.10, ЗП 1.6.02
Эта версия имеет все нужные библиотеки и патчеры, а также настроенные bat-файлы для успешной компиляции. Более подробное описание внутри архива.

Изменения:
1. Добавлена консольная команда fov [5.0, 180.0] — изменяет глобальный FOV камеры.
2. Добавлена консольная команда k_ammo_on_belt [onoff] — включаетвыключает использование патронов с пояса.
3. Артефакты работают из рюкзака, а пояс служит контейнером.

Автор: _призрак_
edited by: RayTwitty aka Shadows

Для редактирования нам понадобится программа IDA Pro.

1. Запускаем IDA Pro.
2. Загружаем бинарник рендера xrRender_R1.dll или xrRender_R2.dll.
3. Теперь необходимо найти, где регистрируется консольная команда. Жмем Ctrl+T и вводим r__detail_density.
4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, только укажу, где задаются параметры:

Если вы заметили, чтобы трава стала плотней нужно уменьшить параметр, а чтобы травы стало меньше, нужно параметр увеличить
5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта:

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

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

Третий: создать переменную. Отличный вариант. Единственный минус — я не знаю как это сделать

Я пошел по второму пути. Два раза щелкнув на ds:flt_10064380, IDA отправила меня в дебри под названием .rdata. Там я нашел переменную, которая называлась — flt_1006452C и которая имела значение 0.0720999.
Насколько я понял, flt_1006452C — не является названием переменной, это сборка из двух показателей — (тип числа)_(смещение). В нашем случае это число типа float, которое находится по адресу 1006452C. Ну что же, приступим к редактированию!
6. Отправляемся в самое начало файла. Как? Сверху есть что-то типа статус-бара — строка состоящая из синего, серого, черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца.
7. Опять ищем r__detail_density. Находим в этой функции строку fld ds:flt_10064338. Дальше самое интересное — жмем на вкладку Hex View и там у нас выделяются какие-то цифры. Это наша переменная 10064338, только написано наоборот. Сравните:

Похоже, не правда ли?
8. Начинаем редактировать. Нам нужно поменять 4338 на 452C (т.е. заменить ссылку с одной переменной на другую). Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где-нибудь в коде (это нужно сделать обязательно!).
9. После этого жмем правой кнопкой мыши и выбираем commit changes. Таким образом, мы поменяли ссылку на переменную и теперь верхнее ограничение будет равно значению из другой переменной.
Но IDA не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так: File -> Produce file -> Create DIF file. Назовем его test. Этот файл можно открыть при помощи блокнота и посмотреть, что получилось.
10. Теперь необходимо внести изменения из этого файла в движок. Это можно сделать при помощи патчера bpatch. Качаем, смотрим и запускаем bpatch.cmd. Я думаю, что батник вы сможете изменить самостоятельно (настроить пути файлов и т.п.) — там все элементарно.
11. Все! Изменения внесены в движок, можно тестировать

Огромное спасибо Kolmogor‘у и malandrinus‘у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз.
Спасибо и Rolan‘у, с которым я очень много беседовал и тоже узнал много чего

Источник

Вопросы по SDK

Установка и настройка СДК — http://stalkerin.gameru.net/wiki/index.php?title=Установка_и_настройка_X-Ray_SDK_0.4,_0.5/0.6,_0.7
Текстовый вариант со ссылками в формате MS Word — https://yadi.sk/i/AqpNv6dbdpucw



X-Ray SDK v0.4

скачать
Глобальный патч v0.4 (16 Dec 2009) для X-Ray SDK v0.4
скачать
Собранный из исходников СДК 0.4, с нормальными диалоговыми окнами: скачать

 
СДК из исходников вылетает при запуске с ошибкой. Что делать? Решение есть.



Декомпилятор уровней, конвертер анимаций, моделей и еще кучи всего


скачать


Патчер, позволяющий использовать сдк 4гб памяти


скачать


Скрипты импорта/экспорта объектов для 3ds max (den-stash):


Тут можно найти последнюю версию:
ссылка
Плагины импорта/экспорта геометрии в Milkshape 3D (bardak, Kamikazze):
скачать
Плагины импорта/экспорта геометрии в Maya (bardak, surfer):
скачать
Плагины экспорта геометрии из Maya/Lightwave (официальные от GSC):
скачать


Официальный xrAI для ТЧ:


скачать
Ускоренные компиляторы для ТЧ, присутствует обход ошибки Invalid Face (Mortarion,Haron,Macron,Bardak):
скачать


!!!ВНИМАНИЕ!!! В этих (х64) компиляторах со временем были обнаружены пара неприятных моментов, но самый критический из них — это то, что xrAI собирает аи-сетку без просчета укрытий, то есть какой бы ключ вы не указали, она всегда будет на драфте. Как избавиться от этого бага и правильно собрать локацию читайте в спойлере ниже.


build 5714, Sep 27 2014

! исправлена замена каналов в итоговой текстуре террейна

 
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt

 
build 5571, May 7 2014
! убрана надпись LevelBuilder из лога

 
build 5570, May 6 2014

 
! переделано детектирование процессора и его фичей
! теперь при вылете компилятор не пытается продолжать работать
+ добавлен ряд новых ключей запуска (-norgb, -lmap_quality)
+ при отсутствии текстур (tga, thm) xrLC слетает не сразу, а по окончании фазы загрузки
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64

build 5707, Sep 20 2014

~ при отсутствии необходимых файлов (build.cform и т.д.) компилятор выдает сообщение

 
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt

 
build 5571, May 7 2014
+ добавлена поддержка x64
+ добавлен ряд новых ключей запуска (-norgb, -nosun)
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64
! убрана надпись LevelBuilder из лога

Sep 27 2014

~ исправлено падение xrAI на старте

 
Sep 20 2014
+ поддержка build.cform, полученного новым xrLC


1. Собрать левел 64-х битными компиляторами за 2014 год.

2. Для террейна использовать 64-х битные компиляторы за 2015 год. Они хорошо передают тени от лод объектов. Прервать после стадии Light Implicit.
3. Подставить террейны к версии, 64-х битными компиляторами за 2014 год.
4. Траву компилировать 64-х битными компиляторами за 2015 год.
5. Для компиляции АИ сетки на draft качестве использовать 64-х битные компиляторы.
6. Для компиляции АИ сетки с расчетом укрытий необходимо:
● Собрать левел на драфте любым 32-х битным компилятором.
● Собрать АИ сетку используя 32-х битные компиляторы.
● Копировать получившийся файл level.ai в папку с версией, собранной 64-х битными компиляторами.


Имя файла: thm for all textures SoC.rar


Размер: 155.48 МБ
Ссылка: >>Click Me<<




В комплекте лестницы, hom-кубик occ и прочая тематичная дребедень + полезная инфа. Разархивировать в папку с SDK. by macron


http://yadi.sk/d/Y7kMpHcG7XkBU


Оригинал: Kostya V
Переписал: krovosnork

 Настройка СДК.
1. Установите СДК на свой компьютер.
2. Лучше всего устанавливать СДК по такому адресу (в будущем тогда будет меньше мороки с настройками): C:Program FilesX-Ray SDK
3. Установите Глобальный патч v0.4 для X-Ray SDK v0.4
4. Возьмите распакованную версию игры Сталкер ТЧ (gamedata) и поставьте с заменой в X-Ray SDKlevel_editor. Это упростит работу в будущем.
5. Теперь понадобится конвертер от Бардака
6. С помощью него преобразовываем текстуры dds2tga. Как — читаем ридми. Необходимо только запустить конвертер на преобразование, остальное он сделает сам. Это необходимо для того, чтобы в СДК появились недостающие текстуры, которых будет много не хватать, если этого не сделать.
7. Ставим компиляторы:


9. Создаем ЛОДы для деревьев и камней. Статья
Видео

 Настройка конвертера.
Создаем папку X-Ray SDKconverter и копируем туда файлы конвертера.
Затем настраиваем его.
Если установили СДК в C:Program FilesX-Ray SDK, то в файле fsconverter.ltx ничего уже настраивать не надо.
Если же сдк установлен в другую папку, то в файле fsconverter.ltx находим строчку $sdk_root$= false| false| c:program filesx-ray sdklevel_editor и прописываем путь к сдк.
В файле converter.ini находим такие строки и исправляем их (укажите путь к своему сдк, если он установлен в другую папку):
; 2947+ (финалка включая обновления)
[2947_config]:2945_config
$game_data$ = c:program filesx-ray sdklevel_editorgamedata
$game_levels$ = c:program filesx-ray sdklevel_editorgamedatalevels

 
 
[3120_config]:2947_config
$game_data$ = c:program filesx-ray sdklevel_editorgamedata
$game_levels$ = c:program filesx-ray sdklevel_editorgamedatalevels

 
Все, теперь конвертер настроен. Как им пользоваться читаем в ридми.

 Подготовка уровня
1. Сделайте в 3Д редакторе какой-нибудь террейн. Затекстурьте его и эспортируйте в СДК.
2. Открываем наш новый уровень в Левел Едиторе.
3. Заходим в PropertiesSceneOptions и меняем Name prefix и Level path на нужные нам названия. Выбираем Quality.
4. Добавляем Glow. Назначаем ему текстуру.
5. Затем жмем Edit ModeLight и добавляем освещение на уровень. Можно поставить несколько в разных углах и хватит.
6. Далее добавляем переход с уровня. (Пропустите этот шаг, если не собираетесь подключать локацию к остальным)
Edit ModeSpawn Elementailevel changer и ставим этот level changer в любом месте, где хотим сделать переход. Потом жмем Edit ModeShape выбираем,
допустим, сферу и ставим ее в том же месте, где и level changer. Затем обратно на Edit ModeSpawn Element и нажимаем CommandsAttach Object, а потом опять на сферу. После этого сфера и level changer объединяться.
7. Теперь нажимаем на level changer правой кнопкой мыши и выбираем properties. В нем выбираем в Level to change уровень, на который хотим перейти. В Level point to change пишем название граф поинта, на котором появится ГГ после перехода. Заходим в custom data перехода и пишем там:
[pt_move_if_reject]
path = название уровня_way_if_reject

 
8. Нажимаем Edit ModeWay Points, ставим 1 вейпоинт рядом с level changer, теперь жмем point mode и ставим второй. Теперь у нас получился путь, который мы прописали в custom data level changer, заходим в свойства и обзываем его также как и в custom data, то есть название уровня_way_if_reject.
9. Расставляем графпоинты.
Edit ModeSpawn Elementaigraph point. Ставим один граф-поинт рядом с переходом и в свойствах прописываем ему название. (Его можно использовать как точку спавна при переходе на локацию)
10. Далее расставляем граф-поинты по уровню. Необходимо ставить их там, где предполагаются места стоянок, а также по периметру уровня. (Для тестовой локации будет достаточно нескольких граф-поинтов)
11. Далее идем в Edit ModeSpawn Element и спавним на локации какой-нибудь предмет (например, винторез).
12. Теперь надо сделать АИ-сетку.
Нажимаем Edit ModeObject и выделяем все объекты на уровне (SelectionSelect All). Далее Edit ModeAI Map и вносим все выделенные объекты в список. Snap ListComandsAdd Selected To List.
Ставим АИ-нод и нажимаем Generate Full.
13. После создания АИ-сетки нажимает Edit ModeSector.
Выбираем Remove Default, а после Create Default.
 Все, приготовления закончились. Теперь начнем компиляцию.

 Компиляция

 
1. В СДК делается Build этого уровня.
Compile->Build
2. Затем компилируем геометрию с помощью xrLC.
Нужно записать название локации в батник xrLC, при необходимости добавить дополнительные ключи (если используете x64 компиляторы, список и предназначение ключей есть в ридми)
3. Далее прописываем в конфигах свой уровень. Прописать надо в файлах game_graphs.ltx и game_levels.ltx.
4. Теперь переходим к работе с xrAI.

 
В папке level_editor создаем батники:
(Путь может отличаться, если вы используете x64 компиляторы)
1) Сборка черновой сетки ИИ:
Команда: @start binscompiler_aixrAI.exe -draft -f <имя_уровня>
На выходе: gamedatalevels<имя_уровня>level.ai.
2) Сборка ИИ-графа:
Команда:@start binscompiler_aixrAI.exe -g <имя_уровня>
На выходе: gamedatalevels<имя_уровня>level.{graph|gct.raw}
3) Склейка ИИ-графов карт в глобальный игровой граф:
Команда:@start binscompiler_aixrAI.exe -m
На выходе: gamedatagame.graph и gamedatalevels*level.gct
(см. ниже для случая с картами без исходников)
4) Сборка all.spawn
Команда:@start binscompiler_aixrAI.exe -s
На выходе: gamedataspawnsall.spawn

 
 
Все карта скомпилирована. Теперь надо собрать геймдату своего уровня.
Обязательно необходимо скопировать из level_editorgamedata в свою геймдату следующие файлы:
— configgame_graphs.ltx и game_levels.ltx
— spawnsall.spawn
— из папки levels скопировать папку с новым уровнем (build.* файлы не нужны)
— из папки levels необходимо скопировать в соответствующие папки файлы level.gct для каждого уровня, если вы подключали свою локацию к оригинальным.
 — game.graph
— в папку textures скопировать все свои новые текстуры, которые использовали для своего уровня.

 
Теперь получившуюся папку gamedata помещаем в папку с игрой и запускаем новую игру.

Официальный xrAI для ТЧ:

скачать
Ускоренные компиляторы для ТЧ, присутствует обход ошибки Invalid Face (Mortarion,Haron,Macron,Bardak):
скачать

build 5714, Sep 27 2014

! исправлена замена каналов в итоговой текстуре террейна

 
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt

 
build 5571, May 7 2014
! убрана надпись LevelBuilder из лога

 
build 5570, May 6 2014

 
! переделано детектирование процессора и его фичей
! теперь при вылете компилятор не пытается продолжать работать
+ добавлен ряд новых ключей запуска (-norgb, -lmap_quality)
+ при отсутствии текстур (tga, thm) xrLC слетает не сразу, а по окончании фазы загрузки
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64

build 5707, Sep 20 2014

~ при отсутствии необходимых файлов (build.cform и т.д.) компилятор выдает сообщение

 
build 5578, May 14 2014
~ сохранение текстур переделано с nvdxt на nvtt

 
build 5571, May 7 2014
+ добавлена поддержка x64
+ добавлен ряд новых ключей запуска (-norgb, -nosun)
+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете
+ добавлен расчет номера билда аналогично игре
+ изменено имя лог-файла на конфигурации x64
! убрана надпись LevelBuilder из лога

Sep 27 2014

~ исправлено падение xrAI на старте

 
Sep 20 2014
+ поддержка build.cform, полученного новым xrLC


8. Открываем СДК. Это делается путем запуска батника LevelEditor в X-Ray SDKlevel_editor.


Дорогие друзья! Прежде, чем написать сообщение с вопросом «а почему у меня не работает»/»а почему такой вылет», проверьте написанное в FAQ по основным проблемам. Если описанный в сообщении вылет/проблема есть в FAQ, не обессудьте — буду тереть. KD87



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

FATAL ERROR
[error]Expression : fatal error
[error]Function : out_of_memory_handler
[error]File : .xrDebugNew.cpp
[error]Line : 318
[error]Description : <no expression>
[error]Arguments : Out of memory. Memory request: 65536 K

Сюда же:

Почему у меня даже на Windows 7 x64 СДК использует только 2 Гб памяти и не дает работать с очень большими локами?

 
Причина: не хватает оперативной памяти, точнее, памяти, выделенной под приложение. Обычно происходит по двум причинам — винда x86 выдает приложению не более 2 Гб оперативки, а приложение, скомпиленное 32битным компилятором, не может адресовать более 2 Гб памяти. Если физической памяти много (4 Гб и более) решаем так:

 
Заставляем винду выдавать побольше памяти приложению:
-устанавливаем x64-версию Windows.
-на x86-версиях можно выполнить следующее:
XP: в boot.ini добавьте ключ /3gb к конфигу текущей операционной системы.
Vista/Win7: в командной строке введите BCDEDIT /Set IncreaseUserVa 3072
Теперь винда сможет давать 3 Гб приложениям.
Внимание! Обычно все путем, но иногда программы могут начать работать странно! Могут начаться глюки! Использовать на свой страх и риск!

 
Заставляем приложение адресовать более 2 Гб памяти:
-добавляем в экзешник флаг /LARGEADDRESSAWARE. Сделать это можно разными способами, проще всего — готовым патчем: патч
================================================================================
При экспорте модели из AE в ogf происходит примерно такое:

 
================================================================================
Вопрос: При экспорте OGF появляется такое сообщение:

 
================================================================================
Вопрос: Взял с карты, импортированой в 3ds Max — любой обьект. Выравниваю пайвот по обьекту (center to object). Далее помещаю обьект в центр координат, экспортирую. А в LE, при спавне этого обьекта — он оказывается не знаю где, а не по пайвоту. Подскажите как правильно выровнять надо.

 
Ответ: После того, как поставите объект куда надо — идём туда, где «включали пайвот» и нажимаем Reset Pivot — непосредственно перед экспортом. И экспортируйте на здоровье. Если объектов — много — выделяем их все, и также «сбрасываем» Pivot.
ИЛИ
Центрировать пайвот по обьекту, поставить в центр и в утилитах нажать Reset xForm.

 
================================================================================
Вопрос: Во время работы выводится ошибка invalid float operation, в логе появляется запись следующего вида:

 
Ответ: Как правило, эта ошибка вызывается файлом rt_object_props.ltx. Закройте SDK и удалите его.

 
================================================================================
Вылет при открытии СДК:

 
================================================================================
Cовместил SDK с игрой, но вылетает с ошибкой. Полный репорт ошибки:

 
================================================================================
Вопрос: SDK не работает под Vista/Win7, что делать?

 
Ответ: Ставим на диск с фаиловой системой fat32, не открываем пока редактор, что нужно устанавливаем в
level_editorrawdata, не забываем впихнуть в папку с редактором d3dx9_31.dll.

 
Создание нового левела на висте — переименовываем пример mp_atp_test.level и папку под него,
редактируем level.ini, детальные объекты придется делать самому, а не открывать заготовку.
Также смотрите:
Запуск СДК под Vista/Win7 с помощью VMWare Worksation: читать
Запуск СДК под Vista/Win7 с помощью Microsoft Compatibility Toolkit: читать

 
================================================================================
Вопрос: После прекомпиляции в редакторе пишет ошибку:
Но! Если на карте уже есть HOM, то вам явно стоит разобраться с секторами.

 
================================================================================
Вопрос: Как запустить Shader Editor, или «А вот это выскочило, когда я попытался запустить .exe-файл»:
@start binsShaderEditor.exe

 
Если у вас подобная ошибка с другими .bat фаилами, возможно, вам нужно установить OpenAL 1.1.
================================================================================
Вопрос: Вылетает ошибка при валидации:
Edit mode — sector — remove default — create default.
Edit mode — portals — compute all.

..Prepare skeleton geometry
Bone: bone001 - Part: 0
..Split meshes
 
FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : I:xray-svneditorsECoreEditorExportSkeleton.cpp
[error]File          : I:xray-svneditorsECoreEditorExportSkeleton.cpp
[error]Line          : 72
[error]Description   : P<u16(-1)
 
stack trace:
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
.............
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
Duplicate face found. Removed.
..Calculate TB
Split statistic:
- Split 0: [Bones: 1, Links: 1, Faces: 1648, Verts: 2018, BrPart: 0, Shader/Texture: 'modelsmodel'/'beltbrezent_a']
- Split 1: [Bones: 1, Links: 1, Faces: 312, Verts: 584, BrPart: 0, Shader/Texture: 'modelsmodel'/'beltplast_z']
- Split 2: [Bones: 1, Links: 1, Faces: 312, Verts: 584, BrPart: 0, Shader/Texture: 'modelsmodel'/'beltplast_k']
- Split 3: [Bones: 1, Links: 1, Faces: 52332, Verts: 70652, BrPart: 0, Shader/Texture: 'modelsmodel'/'beltstal_k']
- Split 4: [Bones: 1, Links: 1, Faces: 3724, Verts: 4352, BrPart: 0, Shader/Texture: 'modelsmodel'/'beltbrezent_p']
- Split 5: [Bones: 1, Links: 1, Faces: 5248, Verts: 7048, BrPart: 0, Shader/Texture: 'modelsmodel'/'beltplast_b']
..Export skeleton geometry
..Export skeleton geometry (Make Progressive...)
 
FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : i:xray-svnxrcore_stl_extensions.h
[error]File          : i:xray-svnxrcore_stl_extensions.h
[error]Line          : 43
[error]Description   : _Pos<size()
 
stack trace:
..Export skeleton geometry (Compute bone bounding volume...)
Export complete.

Возможная причина: в Вашей модели более 60 000 фейсов (если смотреть в AE). В любом случае проблема в модели, точная причина пока не установлена.

..Export skeleton geometry (Compute bone bounding volume...)
Bone 'root' has invalid shape.
Bone 'connectbone01' has invalid shape.
Bone 'connectbone02' has invalid shape.
Export failed.

Ответ: Когда будете в SDK выбирать кости и делать Generate Shape, выбирате только те кости, к которым есть привязка… в данном случае — выбираем все кости, кроме тех на которые ругается сдк, то есть root, connectbone01, connectbone02 соответсвенно…

FATAL ERROR
 
[error]Expression    : b
[error]Function      : X:stalker_addonsourcesenginexrCoreXr_ini.cpp
[error]File          : X:stalker_addonsourcesenginexrCoreXr_ini.cpp
[error]Line          : 670
[error]Description   : name[...] already exist in section[...x-raysdk(3-cs)editorsmapsz_test.level]
 
stack trace:

Далее подобная же ошибка происходит при попытке установки на карту любого объекта. Что делать?

FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : I:xray-svnxr_3daEnvironment_misc.cpp
[error]File          : I:xray-svnxr_3daEnvironment_misc.cpp
[error]Line          : 81
[error]Description   : !sounds.empty() || !effects.empty()

Причина: отсутствие файла $no_sound.ogg в папке gamedatasounds

FATAL ERROR
Expression    : hXRSE_FACTORY
Function      : I:xray-svn-trunkeditorsLevelEditorEditESceneSpawnTools.cpp
File          : I:xray-svn-trunkeditorsLevelEditorEditESceneSpawnTools.cpp
Line          : 38
Description   : Can't load library:
Arguments     : xrSE_Factory.dll

Ответ: Вы просто забыли удалить либо переместить все .db фаилы в другую папку.

!Level doesn't contain HOM objects!

Ответ: Сделайте HOM-объекты на локации. Но к сведению… HOM-объекты для компиляции необязательны, то есть игра прекомпилит уровни и переваривает их и без них, так что ставьте на свое усмотрение. Если у вас пишет Invalid Scene!, то это никак не связано с тем, что вы не поставили сектора и порталы (HOM), а проблема в чем-то другом.

Expression : F
Function : I:xray-svn-trunkxrCoreELocatorAPI.cpp
File : I:xray-svn-trunkxrCoreELocatorAPI.cpp
Line : 63
Description : Can't open file:
Arguments : fs.ltx

Ответ: Создать в папке …LevelEditor .bat-файл, в котором написать:

Error: Scene has 80301 non associated face!

Ответ: когда что-то меняется из статической геометрии, надо пересчитать сектора и порталы.


При использовании любых компиляторов (xrLC, xrDO_Light, xrAI) вылет:

FATAL ERROR
Expression: BT.pSurface
Function: xrLoad
File:...xray-svnxrAIcompiler_load.cpp
Line 209
Descr.: Can't load surface

Последние строчки в логе:

26 supported formats
loading: fxfx_fire.thm; какая-то thm

Причина:

Все компиляторы X-Ray используют типовую функцию загрузки геометрии уровня — с текстурами и прочим. Так что либо нету используемых на локации thm либо tga-текстур.

 
================================================================================
Вопрос: У меня выбивает ошибку «Scene must be empty before editing library» при входе в Objects->Library Editor подскажите что делать?
Ответ: В главном меню File -> Clear.

 
================================================================================
Вопрос: В СДК 0.4, 0.5 (0.6) при расстановке объектов они появляются прямо перед камерой в воздухе, и их приходится постоянно спускать на землю.
Ответ: Нажмите на верхней панели LE кнопку Object Snap Toggle.

 
================================================================================
Вопрос: При попытке использования некоторых объектов стандартной библиотеки (например, из набора staticsdead_body) выдается ошибка о недостающей текстуре.
Ответ: Не включенные в SDK текстуры можно найти в распакованных архива игры. Скопируйте нужные в editorgamedatatextures.

 
================================================================================
Вопрос: Поставил объект, а на карте после компиляции его нет, что делать? sad.gif(
Ответ: Такое бывает, если неправильно заданы свойства объекта. Идем в Objects->Library Editor, находим наш объект, например автобусная остановка в objects(не входит в набор сдк), жмем properties и внизу окна есть выбор между surfaces и Main options, выбираем последнее, теперь меняем Object Type с Dynamic на Static. Вот теперь объект должен нормально отображаться, такой баг частенько случается с модельками на сайте lproject, так что имейте ввиду, когда ставите модели оттуда, что нужно иногда исправлять их исходные параметры.


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

FATAL ERROR
 
[error]Expression : assertion failed
[error]Function : b_BuildTexture::Vflip
[error]File : d:xray-svnxrlcbuild.h
[error]Line : 30
[error]Description : pSurface

Ответ: Весь смысл заключается в том, что в СДК оставили много лишнего, т.е. для текстур оставили

сгенерированные thumbail-ы, а самих текстур нет. И вроде бы всё просто — нужно просто их добавить,
но редактор понимает только *.tga файлы. Нам поможет утилита dds2tga, которая может пакетно преобразовывать
dds файлы в tga.

 
Выявляем(смотрим выше в логе компилятора над надписью «FATAL ERROR») все текстуры на которые ругается
редактор, далее берём их из распакованной игры и помещаем в папку утилиты dds2tga
(рекомендуется сразу положить екзешник dds2tga в папку Import SDK), запускаем CONV_ALL.BAT,
в этой же папке появятся файлы *.tga. Копируем их в папку import/(или rawdata/textures/нужная_папка)
пакета SDK. Запускаем Level Editor и даём команду images check new textures.

 
================================================================================
Вопрос: Компилятор бессловесно вылетает в середине компиляции! В логе ошибок нет, а последнее, что он просчитывал, приблизительно такого вида:

 
================================================================================
Карта не компилируется. Компилятор слетает с ошибкой:

 
В моделях НЕ должно быть:
очень длинных тонких треугольников;
потяжек текстур;
несвязанных рёбрами вершин.
Как это исправить?
Импортируем список ошибок, полученный при декомпиляции карты converter’ом, в LE (Compile—>Import Error List), затем подгружаем куски геометрии с подсвеченными полигонами в 3d-редактор и вручную приводим к соответствию вышеуказанным требованиям.
Или же просто используем компиляторы с обходом данной ошибки — для SoC и для CS/CoP.

 
================================================================================
Вылет на стадии дробления геометрии:

 
Причина: Как показала практика, причина данной проблемы техническая — недостаточная мощность компьтера. Какая конфигурация должна быть? Чем мощнее — тем лучше.
================================================================================
================================================================================

Если при запуске xrLC (в тч. xrDO) создается mdmp файл с ошибкой + не пишется лог стандартным методом в xrlc_***.log, но в engine.log есть информация такого типа:

Initializing File System...
using fs-ltx fsgame.ltx
stack trace:

0023:10029987 xrCore.dll, xrCriticalSection::raii::~raii()

[error][ 18] : Больше файлов не осталось. 

Нужно почистить папку $sdk_rooteditorstemp
Применимо к сдк тч, чн, зп.

* New phase started: Build UV mapping...
    |    | model 'treesnew_treestrees_sosna_1_02' - REF_lighted.
    | Processing...
    |    | model 'treesnew_treestrees_spil_01' - 2 subdivisions
    |    | model 'propsobjectsmusortrash_kamaz_fura' - REF_lighted.
    |    | model 'propsobjectsmusortrash_lada_lod' - 2 subdivisions
    |    | model 'propsobjectsmusortrash_lada_lod' - REF_lighted.
    |    | ::compact:: 248 verts removed
    |    | ::compact:: 377 verts removed
    |    | ::compact:: 70 verts removed
    |    | ::compact:: 67 verts removed
    |    | ::compact:: 72 verts removed
    |    | ::compact:: 108 verts removed
    |    | ::compact:: 102 verts removed
    |    | ::compact:: 15 verts removed
    |    | ::compact:: 38 verts removed

Ответ: У вас проблемы с объектами, либо каких-то из них попросту нет, либо они криво созданны в 3dsmax, либо настроенны неправильно, либо они где-то очень неудачно пересекаются с другими объектами, смотрите как настраивать правильно объекты в level editor в шестом вопросе этого FAQ.

Expression : fatal error
Function : CBuild::PreOptimize
File : D:xray-svnxrLCxrPreOptimize.cpp
Line : 132
Description : <no expression>
Arguments : * FATAL: 145 invalid faces. Compilation aborted

Ответ: Геометрия карты содержит 145 вырожденных треугольников (invalid face’ов).

* New phase started: Subdividing geometry...
| Subdividing in space...
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178287 - split fail, faces: 4948, s1/s2:20/4928
| | ! ERROR: model #178288 - split fail, faces: 5156, s1/s2:5139/17
| | ! ERROR: model #178288 - split fail, faces: 5156, s1/s2:5120/36

конец лога… без каких либо Fatal Error…

FATAL ERROR
 
[error]Expression : THM
[error]Function : CBuild::Load
[error]File : D:xray-svnxrLCBuild_Load.cpp
[error]Line : 282
[error]Description : rawdatatexturescorpcorp_stalker.thm

Причина: не хватает указанного файла .thm. Чтобы решить проблему, берём одноимённую текстуру в формате .dds, конвертируем в .tga и кладём в папку import. Затем в LE или АЕ жмём Images—>Check New Textures. Если видим окно с надписью Found 1 new texture(s), то радуемся и жмём ОК. После этого откроется библиотека текстур. Чаще всего, при импорте текстур из оригинальной игры, настройка не требуется, поэтому жмём ОК. Если же это какая-нибудь новая текстура, тогда настраиваем её по образцу из оригинала.


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

FATAL ERROR
 
[error]Expression : nodes.size() + m_internal.size() == level_graph().header().vertex_count()
[error]Function : CSpaceRestrictorWrapper::verify_connectivity
[error]File : I:xray-svnxrAIspace_restrictor_wrapper.cpp
[error]Line : 268
[error]Description : Restrictor separates AI map into several disconnected components
[error]Arguments : esc_selo2_sr

Причина: Причина: где-то на локации очень неудачно расположен space restrictor, который делит АИ-сетку на несвязанные части. Компилируйте с ключом -no_separator_check или же правьте в СДК.

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

FATAL ERROR
 
[error]Expression : assertion failed
[error]Function : CSpaceRestrictorWrapper::verify_connectivity
[error]File : I:xray-svnxrAIspace_restrictor_wrapper.cpp
[error]Line : 258
[error]Description : nodes.size() + m_internal.size() <= level_graph().header().vertex_count()

Причина: Много неслинкованных нодов на АИ-сетке.


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

Expression : fatal error
Function : CLevel::Load_GameSpecific_CFORM
File : E:stalkerpatch_1_0004xr_3daxrGameLevel_load.cpp
Line : 167
Description : <no expression>
Arguments : Game material '94' not found

Причина: в gamemtl.xr не хватает материала с id = 94. Для разбора файла gmdc в помощь:

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

Expression : SG
Function : CRender::model_CreateParticles
File : E:stalkerpatch_1_0004xr_3daxrRender_R1FStaticRender.cpp
Line : 156
Description : Particle effect or group doesn't exist
Arguments : hit_fxhit_water_00

Причина: в level.ps_static есть партикл, которого нет в particles.xr. Решения три:
-удалить level.ps_static. Будет работать, но пропадут статичные партиклы на карте.
-разобрать level.ps_static, удалить партикл.
-разобрать particles.xr, добавить партикл.

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

FATAL ERROR
 
[error]Expression    : header().graph_guid() == ai().game_graph().header().guid()
[error]Function      : CALifeSpawnRegistry::load
[error]File          : E:stalkersourcestrunkxr_3daxrGamealife_spawn_registry.cpp
[error]Line          : 167
[error]Description   : Spawn doesn't correspond to the graph : REBUILD SPAWN!

Причина: all.spawn не соответствует game.graph. Когда компилировали AI, видно, забыли пересобрать спавн.

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

FATAL ERROR
 
[error]Expression : cross_table().header().game_guid() == game_graph().header().guid()
[error]Function : CAI_Space::load
[error]File : E:stalkerpatch_1_0004xr_3daxrGameai_space.cpp
[error]Line : 121
[error]Description : graph doesn't correspond to the cross table

Причина: game.graph не соответствует кросс-таблице одной из локаций. Скорее всего — забыли закинуть в геймдату level.gct после правки в СДК и компиляции AI. Помните, level.gct нужно обновить для всех локаций, а не только для тех, которые подвергались правке.

 
================================================================================
Вопрос: Ошибка после запуска игры с новыми левелами:

FATAL ERROR
 
[error]Expression    : ai().game_graph().header().levels().end() != I
[error]Function      : CALifeGraphRegistry::setup_current_level
[error]File          : E:stalkerpatch_1_0004xr_3daxrGamealife_graph_registry.cpp
[error]Line          : 91
[error]Description   : Graph point level ID not found!
 
stack trace:

Ответ:
-В версии за 10.09.08 аивраппера бардака, если соединять новые левелы, level_changer’ы(переходы между уровнями) нормально не работали, в текущей версии исправлено.
-Вы забыли добавить в геймдату файл game.graph.
-В спавне указан неуществующий game_vertex_id.

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

FATAL ERROR
 
[error]Expression : rpoints[0].size()
[error]Function : game_sv_Deathmatch::Create
[error]File : D:prog_repositorysourcestrunkxrGamegame_sv_deathmatch.cpp
[error]Line : 99
[error]Description : rpoints for players not found

Причина: нет рпонтов для игроков, им негде спавниться. Расставьте в LE.


Вопрос: я подключил уровень с НПС, все нормально, но когда я стреляю в НПС и прячусь от него, он начинает тупить и бежит на место спавна ГГ и начинает вести себя странно.. Аи-сетку проверил, точно все нормально, я уверен!
Ответ:


Вы создалиотредактировали какую либо локацию или группу локаций в СДК. Добавили нпс с логикой или без, в данном случае это не имеет значения. Успешно прошли все этапы сборки. Дошли до этапа тестирования. Стреляете по нпс, и укрывшись за ближайшим домомдеревом и т.п., видите, что вместо поиска, персонажи отправляется точно на место вашего спавна, останавливаются и начинают безумное вращение корпусом вверх-вниз, словно тот прыгает то под землю, то на поверхность. (к слову, последнее происходит далеко не всегда и нпс могут просто дойдя до точки спавна гг смотреть в произвольном направлении). На попытки привлечь их внимание не реагируют, вплоть до того момента, пока вы не окажетесь на одной линии с их взглядом. Атакуют, но упорно не желают вас преследовать. Снова прячемся — опять та же картина, все смотрят на точку вашего спавна.
Решением данной проблемы является обязательное наличие, при работе в СДК, в секции спавна гг, галочки напротив параметра Used Ai locations. По неизвестным причинам, в некоторых случаях, она может быть снята по умолчанию, что и приведет к вышеописанным проблемам в игре.



================================================================================
Вопрос: Как запустить карту консольно, то есть через батник?
Ответ: Для SP-карт это делается следующим образом:
@start binXR_3DA.exe -start server(%1/single/alife/new) client(localhost)
где %1 название общего gamedataspawns*.spawn (например, в финалке нужно подставить — all).

 
Для MP-карт:
@start binXR_3DA.exe -ltx user_net.ltx -start server(%1/deathmatch) client(localhost/name=%2)
где %2 — ваш никнэйм в игре.

 
Некоторые другие параметры командной строки можно найти тут. В скобках можно указывать и другие режимы игры: teamdeathmatch и artefacthunt.

 
================================================================================
Вопрос: Как создать LOD’ы или «Поставил дерево, камень из библиотеки объектов GSC.. не компилит»:

Invalid scene!

Ответ: читаем
================================================================================
Вопрос: Где в SDK запрятан редактор ANM-фаилов?

 
Ответ: 1). Создаем новый объект.
2). Задаем ему тип dynamic.
3). Добавляем на карту и отмечаем флаг motionable.
4). Заходим в его свойства и видим редактор anm.

 
================================================================================
Вопрос: Как именно надо делать модель в 3ds Max, чтоб в сталкере она работала?

 
Ответ: Вот что для этого надо:
— 3Ds Max 7,8. (+ SP3 Recommended)
— Сутки свободного времени (как минимум)
— Крепкие нервы.
Условия:
— ВСЕ Элементы модели должны быть затекстурены, иначе при экспорте будет ошибка: «Bad Submaterial. Export Failed»
— НИКАКИХ групп сглаживания. Иначе в СДК будет ошибка: «Invalid Smooth group! MAX Type» И крэш компилятора.
— НИКАКИХ оперпаций типа «Boolean», «ProBoolean», «Connect» и т. п… Чревато ошибкой «Invalid Faces».
— НИКАКИХ «потяжек» текстур. Это ещё одна разновидность «Invalid Faces»
— Экспортятся только меши, поли, и примитивы. Никаких групп и ассемблов!
— X-Ray Materials в максе использовать КРАЙНЕ нежелательно. Плагин глючный, и часто «роняет» макс. Материал «Standart» вполне подойдёт. А шейдеры и прочий хлам — настраивать в Actor Editor.
— Чем меньше полигонов в модели — тем лучше.

 
================================================================================
Вопрос: Какой 3d-редактор является «родным» для Сталкера?
Ответ: Однозначно — Maya.

 
================================================================================
Вопрос: На статике нет детальной текстуры, а в SDK есть! Что делать?
Ответ: Чтобы были видны детальные текстуры на драфте, нужно компилировать с параметром Jitter samples 4-medium.

 
================================================================================
Вопрос: А как прописать детальную текстуру?
Ответ:
Images—>Check New Textures—>OK.
Выбираем нужную текстуру и настраиваем:
Type — terrain
Details — Use As Diffuse
Texture — Выбираем нужную из папки detail
Scale — Масштабирование текстуры, например мп атп = 24.5, затон 110
ОK.

 
================================================================================
Вопрос: После компиляции на максимальных поверхности становятся «гранеными». Что делать?
Ответ: Используйте ключ -nosmg.

 
================================================================================
Вопрос: Гружу анимки stalker_animation.skls в модель нпс. Нажимаю сохранить в оmf, в логе куча ошибок:
……….
Invalid Bone Part of motion: ‘norm_torso_7_run_1’.
Invalid Bone Part of motion: ‘norm_torso_6_run_0’.
Invalid Bone Part of motion: ‘norm_torso_7_run_0’.
Invalid Bone Part of motion: ‘dmg_norm_run_ls_0’.
Invalid Bone Part of motion: ‘dmg_norm_run_rs_0’.
Export failed.

 
Собственно лекарство: В АЕ грузим модель, потом тыкаем Bone Parts. В появившемся окошке жмем Reset To Default и раскидываем кости по группам как на скрине,


608009.jpg

либо скачиваем этот файл и грузим его через Load From. Все! Теперь можно добавлять/удалять анимации в библиотеки .omf без проблем.



@Wolf-Heart

Не декомпелируется локация la01_escape из Lost Alpha. Конвертер выдает ошибку:

saving error list
building HOM object
building SOM object
[bug] assertion failed at ..level_aux_mesh.cxx:94

А точнее, не создаются: папка la01_escape и файл la01_escape.level в папке: editorsrawdatalevels
https://i.postimg.cc/j2WLtVVd/1.png
В то время как в папке: editorsrawdataobjectslevelsla01_escape объекты декомпелированы:
https://i.postimg.cc/Cxj17HH5/2.png
Попробовал декомпелировать другой уровень la15_darkscape, декомпил прошел успешно и все необходимые файлы были созданы:
https://i.postimg.cc/sgvxWQwH/3.png
Не знаю, может еще есть такие уровни, которые не декомпилятся, буду тестить, а пока прилагаю полные логи декомпила la01_escape и la15_darkscape: https://yadi.sk/d/jwuzZzU37h3Imw
А так-же на всякий случай уровень la01_escape: https://yadi.sk/d/fhjRrT4RjnewXg
Если еще что необходимо, пиши предоставлю.

@abramcumner

Не найден материал для SOM.

@Wolf-Heart

la15_darkscape хоть и декомпелировался вроде успешно, но при попытке загрузить уровень в СДК происходит мгновенный без логовый вылет.
Скорее всего дело в том, что файлы в папке editorsrawdatalevelsla15_darkscape создались все бинарными, в то время как в СДК_ЗП они пактически все текстовые.
А тут они даже не совсем бинарные, гибрид какой-то, полу бинарные, полу текстовые:
https://i.postimg.cc/W4BRWmhd/1.png
Прилагаю папку levels: https://yadi.sk/d/ETretlOaq4ExYA

@Wolf-Heart

Не найден материал для SOM.

Это проблема конвертера? Или…???

@abramcumner

Скорее всего дело в том, что файлы в папке editorsrawdatalevelsla15_darkscape создались все бинарными, в то время как в СДК_ЗП они пактически все текстовые.

Наверное ты декомпилировал в СДК ТЧ, поэтому в СДК ЗП и не открываются.

@abramcumner

Не найден материал для SOM.

Это проблема конвертера? Или…???

Это проблема gamemtl.xr в СДК, в нет подходящего материала.

@Wolf-Heart

Наверное ты декомпилировал в СДК ТЧ, поэтому в СДК ЗП и не открываются.

Улыбнуло!
Я что по твоему совсем с дуба рухнул? :)))

@Wolf-Heart

Это проблема gamemtl.xr в СДК, в нет подходящего материала

Хм… А по чему с предыдущей версией например 0.1.11 такого не было?
Я ей успешно декомпилил эти уровни и проблем таких не было.

@abramcumner

В прошлой версии наверное настроил секцию la_config и префикс la указывал. С этой чего-то не сделал. Скинь converter.ini и строку запуска.

@Wolf-Heart

В прошлой версии наверное настроил секцию la_config

В этой, то-же все настроил. Но интересное кино получается…
Я декомпилил с ключем la: в батнике, и получился такой результат. А после твоего комита:

Наверное ты декомпилировал в СДК ТЧ, поэтому в СДК ЗП и не открываются.

Решил попробовать с ключем cop: и декомпил la15_darkscape прошел успешно и файлы создались как положенно в текстовом формате:
https://i.postimg.cc/vmB1KJZT/1.png
Сейчас попробую загрузить уровень и потом попробую декомпельнуть la01_escape. По результату отпишусь.

@Wolf-Heart

@Wolf-Heart

Декомпил la01_escape с ключем cop: в батнике, результат тот же что и с ключем la:
Ошибка та же самая, только объктов менше, 9360 с cop: против 11547 с la:
https://i.postimg.cc/WpFHZB3T/1.png
converter.ini и батник запуска: https://yadi.sk/d/RTCKJtUFldMgRA
Причем изначально секция la в converter.ini была настроенна на папку с распакованной gamedata от LA, а в батнике использовался ключ la:

@Wolf-Heart

0.1.11 такого не было

Ошибочка!!!
Попробовал converter_A.0.1.11 декомпельнуть la01_escape, ошибка та же что и с converter_A.0.2.1
Вот лог, converter.ini и батник запуска: https://yadi.sk/d/FIWCUkGz7ZBQaA
Причем converter.ini и батник настроенны так как были изначально настроенны в converter_A.0.2.1
P.S. На название СДК не обращай внимания, это СоР СДК, не SoC — это точно! :)

@abramcumner

P.S. На название СДК не обращай внимания, это СоР СДК, не SoC — это точно! :)

Какое СДК у тебя не важно, важно что прописано в параметре spawn_version в converter.ini. Вот из твоего:

[la_config]:2947_config
$game_data$             = E:W_w_f_SDKeditorsgamedata
$game_levels$           = E:W_w_f_SDKeditorsgamedatalevels
inadhesive_shaders      = la_inadhesive_shaders

Наследуется от ТЧ, spawn_version не указан => будет конвертировать в формат ТЧ СДК.

Так, darkscape загрузился, но при подгрузке текстур, вылезло 5 ошибок:
https://i.postimg.cc/N0Pz2CGS/1.png

Ошибка одна, не найден какой-то партикл

@Wolf-Heart

Наследуется от ТЧ, spawn_version не указан => будет конвертировать в формат ТЧ СДК.

Да, но изначально было прописано:

[la_config]:2947_config
$game_data$             = D:Game_S.T.A.L.K.E.R_ModS.T.A.L.K.E.R. - Lost AlphaUNgamedata
$game_levels$           = D:Game_S.T.A.L.K.E.R_ModS.T.A.L.K.E.R. - Lost AlphaUNgamedatalevels
inadhesive_shaders      = la_inadhesive_shaders
spawn_version = cop

Погляди в converter_A.0.1.11: https://yadi.sk/d/FIWCUkGz7ZBQaA
Там те-же самые настройки, что были в converter_A.0.2.1, это я уже потом убрал spawn_version, а результат одинаковый.

@abramcumner

В этом логе тоже не найден материал для SOM.

@Wolf-Heart

Да, я же писал, что результат одинаковый. Именно с этой ошибки и с такими настройками я и начинал декомпилить только конвертером A.0.2.1. А уже потом начал эксперементировать. :)

@Wolf-Heart

@abramcumner

Похоже у них сильно изменен формат нет-пакетов или в спавне начали сохранять клиентские данные.

@Wolf-Heart

Вобщем, интересное кино получается. Декомпелируется la01_escape только из gamedata-ы, которая в SDK_LA. Не помню уже от куда она у меня, но не из LA 1.3003, не из LADC Кордон не декомпелируется. Проверял обоими конвертерами.
А из gamedata-ы в SDK_LA, декомпилится, но при подгрузке текстур вылазят все те же ошибки о которых писал в комменте выше, а потом вылет без лога.
И причина не партиклы, я удалил файл ps.part, ошибка с партиклом ушла, но вылет все равно произошел после ряда ошибок типа:
Please notify AlexMX!!! Critical error has occured in render routine!!! [Type B] - Tools: 'scene_object' Object: 'levelsla01_escapela01_escape_part2822'
Это и есть основная причина вылета.

Неизвестные никнеймы

В таблице ниже показаны никнеймы, «владельцы» которых пока что неизвестны.

Никнейм Имя Фамилия (если опознан) Деятельность Игра Где обнаружен Примечания
Akella ЧН и ЗП дизайнерские документы ЧН и ЗП
Alena Елена или Алёна (предположительно) Возможно, кто-то из администрации компании ТЧ В графе «Автор» в старых документах[1]
AlexRR Алексей Рудковский Разработчик движка X-Ray (1998 — 2000), SDK Alien Logic Repository
AlexSAM Александр Самборский Разработчик движка X-Ray (1999 — 2004)(?) Alien Logic Repository
ALiEN2k1 Роман Шишкин Документы ТЧ l04_darkvalley.doc из Koan_podarok и
!Stalker_packScenarioLevels4_Darkvalley.doc
\AURORAVersion Кто-то с другого компа Программист ТЧ (21.10 2004 по 10.07.2007) Repository
Besyaev Тестировщик ЧН (и ЗП?) ЧН Среди списка багов ЧН
Den (с 2007) ЧН дизайнерские документы ЧН Oles говорит: «это знакомый Маста [Вячеслав Аристов], он пробовал потом [после GSC] работать в 4A, но что-то не пошло»
Fangahra Александр Пличко Программист скриптов ТЧ
G Максим Шелехов Геймдизайнер OL koan_podarok1Ivanov4_Скриптовые объекты схема.doc Составитель документа
Hoveracer Андрей Ткаченко OL Shaders.xr Как создатель Implicit шейдера для МедПрибора
Justin Summers Владимир С. Авдеев Геймдизайнер ТЧ vsd Создал парочку vsd-файлов. Возможно, кто-то из THQ, что очень неточно.
PRUL Андрей Заволокин Сценарий OL В графе «Автор» в старых документах
Robo Тестировщик ЧН Список багов ЧН
Sanya Александр Где именно? Sources (где именно)?
Stason Станислав (?) Скрипты ТЧ maps Какой-то чувак был, который вроде как не прошел испытательный срок
Valeri Валерия Кравцова Аниматор OL Sources
Zaya Sources
Вадим Зиновьев В документах Решал какие-то вопросы; Олесь говорит, что вообще никак к S.T.A.L.K.E.R. не относится, пару раз появлялся

Выяснить точно, являются ли эти ники никами или это просто набор символов и установить «владельцев»:

  • di_ma123 (Ясенев?)
  • DIVX (название кодека; но зачем писать это в графу «Автор»?)
  • Empr — в сливе объектов, упоминается в одной единственной модели.

Прочие никнеймы

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

  • Eve Seber — продюсер Viva Media (издатель в Северной Америке);
  • IRICHES — наверное, кто-то из THQ (!Stalker_packPublisherFeedbackВсе файлы в этой папке);
  • STALTER — тестировщик? (lox_last_before_retarded_12.12.10SOCexchangelevel_info);
  • Tobbe Åhlen — наверное, кто-то из THQ (!Stalker_packDocumentationРедактор уровней.doc);
  • User Batcovych — понятия не имею, может, кто-то поюморил (documentationQAMP_Checklist.doc );
  • zxc — либо Zexell, либо скриптер-недельник.

Разработчики «без никнеймов»

Здесь приведены разработчики, чьи никнеймы пока неизвестны (или известны, но мы не знаем, что это именно их никнеймы).

Сергей Шатёрный

Художник 2001-2002

Иван Андрущенко

Скриптер

Анатолий Подорванный (Podorvaniy?)

Текстурщик 2000—2006

Александр Дудин

Программист 2007—?

Игорь Лёгенький

Геймдизайнер 2008—?, работал в ЧН, в ЗП его не было.

Алексей Омельчук (Omelchuk?)

Композитор 200?—20??, работает ещё с Казаков (выяснить бы, 1 или 2).

Алексей Кузнецов

Литературный редактор/геймдизайнер. Возможно, имел ник Князь

Владимир Литвиненко

Редактор текстов

Внутренние почтовые адреса GSC

Охват зарегистрированных почт от ноября 2002 до января 2006.

Адрес Физическое лицо Примечания
a@gsc-game.kiev.ua Андрей Кочура
advokat@gsc-game.kiev.ua Андрей В. Лучкевич
alador@gsc-game.kiev.ua Николай С. Волчков
alador@gsc-game.kiev.ua Николай С. Волчков
alegreate@gsc-game.kiev.ua Александр Македонский Игра
alex_manita@gsc-game.kiev.ua Алексей О. Манита
alex_martin@gsc-game.kiev.ua Алексей В. Мартиненко
alexander_bug@gsc-game.kiev.ua alexander_bug Что-то интеранальное-автоматизированное
alexander_crash@gsc-game.kiev.ua alexander_crash Что-то интеранальное-автоматизированное
alexdragon@gsc-game.kiev.ua Алексей А. Бокулев Знаменитый тестер Венома
alexmx@gsc-game.kiev.ua Александр В. Максимчук Please notify AlexMX!!! Critical error has occured in render routine!!! [Type B]
alien2k1@gsc-game.kiev.ua Валерий В. Голик
am@gsc-game.kiev.ua Анна В. Макридичева
andrei@gsc-game.kiev.ua Андрей Кто-то
andrew_s@gsc-game.kiev.ua Андрей В. Шпагин
andrey@gsc-game.kiev.ua
andrey@gsc-game.com
Андрей А. Сальников
andy@gsc-game.kiev.ua
andy@redhat.gsc-game.kiev.ua
Андрей Н. Коломиец
andyukr@gsc-game.kiev.ua
victo@gsc-game.kiev.ua
Андрей А. Зенин
anton@gsc-game.kiev.ua Антон М. Большаков
architect@gsc-game.kiev.ua Андрей А. Кабацкий
arey@gsc-game.kiev.ua Сергей А. Сальников
artist@gsc-game.kiev.ua Андрей А. Диденко
atem@gsc-game.kiev.ua Валентин А. Елтышев
aza@gsc-game.kiev.ua Андрей Е. Яроменок
banan@gsc-game.kiev.ua Руслан Н. Коновальчук
bes@gsc-game.kiev.ua Дмитрий В. Кривец
blackbird@gsc-game.kiev.ua blackbird
bobo@gsc-game.kiev.ua Алексей С. Кучменко
bodya@gsc-game.kiev.ua
terazoid@gsc-game.kiev.ua
Богдан И. Супрун teraZoid@GSC
boleg@gsc-game.kiev.ua Олег М. Большаков
buggy@gsc-game.kiev.ua Даниил К. Меранов
bugtracker@gsc-game.kiev.ua Bug Tracker [GSC Game World]
chugai@gsc-game.kiev.ua
chugai@gsc-game.com
Александр В. Чугай
cinema@gsc-game.kiev.ua Cinema User
cy-27@gsc-game.kiev.ua
cy-27@gsc-game.com
Александр В. Павленко
cyberman@gsc-game.kiev.ua Алексей Б. Пикож
dach@gsc-game.kiev.ua Ярослав Грабовский
dandy@gsc-game.kiev.ua
dobronravin@gsc-game.kiev.ua
Юрий В. Добронравин
demik@gsc-game.kiev.ua Александр П. Демиденко
demon@gsc-game.kiev.ua Дмитрий А. Дрокин
diallin@gsc-game.kiev.ua Андрей В. Стабровский
diehard@gsc-game.kiev.ua Александр Васильконов
dima@gsc-game.kiev.ua Дмитрий А. Зенин
dk@gsc-game.kiev.ua Дмитрий Кузьменко
dmitrik@gsc-game.kiev.ua
draft@gsc-game.kiev.ua Александр Г. Вознюк
drumaturg@gsc-game.kiev.ua Григорий Лебедев
drupov68@mail.ru Дмитрий Друпов ZOmbi
druzerman@gsc-game.kiev.ua Владимир В. Друзенко
dw@gsc-game.kiev.ua
dw@gsc-game.com
Дмитрий Шпилевой Dim Walker
e1@gsc-game.kiev.ua Иван Веретянников
el-nata@gsc-game.kiev.ua Наталья М. Луговая
eretik@gsc-game.kiev.ua Дмитрий Еретик
fal@gsc-game.kiev.ua Андрей Л. Фролов
fara@gsc-game.kiev.ua Алексей А. Онищенко
frodo@gsc-game.kiev.ua Евгений Карпенко
gagarin@gsc-game.kiev.ua Юрий А. Бесараб
garry@gsc-game.kiev.ua Игорь А. Подмоков
gavno@gsc-game.kiev.ua SPAM GAVNO Что-то интеранальное-автоматизированное
gec@gsc-game.kiev.ua Евгений К. Григорович
gestola@gsc-game.kiev.ua Елена В. Попова
gfresh@gsc-game.kiev.ua Владимир А. Ежов
ghoul@gsc-game.kiev.ua Максим В. Шелехов
giraffe@gsc-game.kiev.u Алексей В. Савченко
gkhola@gsc-game.kiev.ua Кирилл В. Брагин
glory@gsc-game.kiev.ua
gl0ry@mail.ru
Вячеслав Е. Гончаренко Слава Glory
gray@gsc-game.kiev.ua Сергей А. Васянин
grey@gsc-game.kiev.ua Сергей Дешко
grushko@gsc-game.kiev.ua Сергей И. Грушко
grygorovych@gsc-game.kiev.ua GSC Commercial
gsc@gsc-game.kiev.ua GSC
hans@gsc-game.kiev.ua Иван А. Хивренко
haron@gsc-game.kiev.ua Haron
helenvo@gsc-game.kiev.ua Елена В. Омельяненко
hireling@gsc-game.kiev.ua Денис А. Шубовский
hok@gsc-game.kiev.ua Александр С. Панашкевич
iassenev@gsc-game.kiev.ua ‘Iassenev Dmitriy’
iov@gsc-game.kiev.ua
iov@gsc-game.com
Владимир А. Ефимов
jim@gsc-game.kiev.ua
jim@gsc-game.com
Сергей Г. Жемейцев
jon@gsc-game.kiev.ua Евгений А. Негробов
karma@gsc-game.kiev.ua Сергей А. Кармальский
kastyan@gsc-game.kiev.ua Константин А. Волохин
katrych@gsc-game.kiev.ua
nataly@gsc-game.kiev.ua
nataly@iv.ua
Наталья В. Катрич
kim@gsc-game.kiev.ua Ким Е. Демиденко
kitty@gsc-game.kiev.ua Ольга И. Ишина
koan@gsc-game.kiev.ua Алексей Сытянов Koan
koreiba@gsc-game.kiev.ua Олег В. Корейба
kostet@gsc-game.kiev.ua Константин Е. Карташов
kotov@gsc-game.kiev.ua Владимир И. Котов
krondor@gsc-game.kiev.ua Дмитрий Лехно Krondor
krotkov@gsc-game.kiev.ua Игорь Г. Кротков
las@gsc-game.kiev.ua Александр С. Липкан
lazar@gsc-game.kiev.ua Александр Лазарь
lema@gsc-game.kiev.ua Василий А. Нерубащенко
lena@gsc-game.kiev.ua Елена Е. Маляренко
lestat@gsc-game.kiev.ua
lestat@voliacable.com
Константин В. Нехайчук
lex@gsc-game.kiev.ua Александр В. Пшеничный
lexe@gsc-game.kiev.ua Алексей С. Кравец
mad-max@gsc-game.kiev.ua Виталий В. Максимов
magnum@gsc-game.kiev.ua Александр В. Малин
magnum@gsc-game.kiev.ua Александр В. Малин
mailspy@gsc-game.kiev.ua Mr. Mail Spy
manowar@gsc-game.kiev.ua Сергей И. Иванцов
mark@gsc-game.kiev.ua Павел И. Маркевич
matron@gsc-game.kiev.ua Андрей В. Матузков
mike@gsc-game.kiev.ua Сергей Курбатов mike
minko@gsc-game.kiev.ua Евгений В. Минко
miyamoto@gsc-game.kiev.ua Михаил В. Запорожченко
mudo@gsc-game.kiev.ua Геннадий В. Генюк
mustdie@gsc-game.kiev.ua Вячеслав Аристов mustdie
mykola@gsc-game.kiev.ua Николай С. Демченко
narrator@gsc-game.kiev.ua
xr.satan@gmail.com
Сергей Винниченко Sa+an
natali@gsc-game.kiev.ua Наталья А. Сытянова
natali@gsc-game.kiev.ua Наталья А. Сытянова
natasha@gsc-game.kiev.ua Наталья А. Авдеенко
negrobov@gsc-game.kiev.ua
negrobov@gsc-game.com
Юрий А. Негробов
okremov@gsc-game.kiev.ua Евгений В. Окремов
oleg@gsc-game.kiev.ua Олен В. Яворский
oles@gsc-game.kiev.ua Олесь В. Шишковцов
olga@gsc-game.kiev.ua Ольга В. Морозова
olimp@gsc-game.kiev.ua Александр Н. Ильницкий
ovas@gsc-game.kiev.ua Олег Васянович
pako@gsc-game.kiev.ua Сергей Стороженко
parfilova@gsc-game.kiev.ua
parfilovaparfilova@gsc-game.kiev.ua
Татьяна Н. Парфилова
partizan@gsc-game.kiev.ua Алексей Дядюн Part1zan
patron@gsc-game.kiev.ua Михаил Ростовцов
pavel@gsc-game.kiev.ua Павел В. Шевченко
petruha@gsc-game.kiev.ua Петр И. Дюков
petruha@gsc-game.kiev.ua
petruha@redhat.gsc-game.kiev.ua
Петр И. Дюков
plecha@gsc-game.kiev.ua Александр О. Пличко
podorvany@gsc-game.kiev.ua Анатолий Л. Подорванный
prihodko@gsc-game.kiev.ua
prof@gsc-game.kiev.ua Андрей К. Прохоров
rainbow@gsc-game.kiev.ua Андрей В. Ткаченко
razor@gsc-game.kiev.ua Владимир П. Мотлях
reef@gsc-game.kiev.ua Богдан Дубовик
repex@gsc-game.kiev.ua Богдан Ю. Репех
reutsky@gsc-game.kiev.ua Виктор В. Реуцкий
rhino@gsc-game.kiev.ua Андрей В. Еськов
roma@gsc-game.kiev.ua Роман В. Несин
russia@gsc-game.kiev.ua Russia ProTeam
sasha@gsc-game.kiev.ua Александр Н. Чучкевич
sd@gsc-game.kiev.ua Надя Н. Бабарыка
sepul@gsc-game.kiev.ua Юрий Ю. Скрипаль
sergey_grygorovych@gsc-game.kiev.ua Сергей К. Григорович
sergio@gsc-game.kiev.ua Сергей А. Кужельный
sergyi@gsc-game.kiev.ua Сергей В. Крижановский
shaman@gsc-game.kiev.ua Дмитрий Никоненко
shlema@gsc-game.kiev.ua Дмитрий И. Сергиенко
shodan@gsc-game.kiev.ua Роман И. Лупашевский
shou@gsc-game.kiev.ua Александр А. Ковач
silver@gsc-game.kiev.ua Руслан Шестопалюк
sky@gsc-game.kiev.ua Евгений С. Мальнев
slavaklimov@gsc-game.kiev.ua Вячеслав М. Климов
slipch@gsc-game.kiev.ua Константин В. Слипченко
smile@gsc-game.kiev.ua Евгений А. Кучма
smoke@gsc-game.kiev.ua Ярослав М. Шкляр
stohe@gsc-game.kiev.ua Руслан В. Диденко
storm@gsc-game.kiev.ua Константин В. Кузьмин
strick@gsc-game.kiev.ua Андрей В. Тымчишин-Валевский
subtek@gsc-game.kiev.ua Сергей В. Пивоваров
support@gsc-game.com
tanya_sh@gsc-game.kiev.ua
tanya@gsc-game.kiev.ua
Татьяна А. Шаповал Tanya
tatyana@gsc-game.kiev.ua Татьяна В. Перепичай
tatyana@gsc-game.kiev.ua Татьяна В. Перепичай
termit@gsc-game.kiev.ua Termit
tiamat@gsc-game.kiev.ua Николай В. Морозов
timur@gsc-game.kiev.ua Тимофей С. Урсуленко
tolik@gsc-game.kiev.ua Анатолий В. Шестопалюк
troya@gsc-game.kiev.ua Ольга И. Троекурова
tuz@gsc-game.kiev.ua Вениамин В. Туз
tva@gsc-game.kiev.ua Владимир Тундук Sidorovich
unforgiven@gsc-game.kiev.ua Виктор Е. Концевич
ventura@gsc-game.kiev.ua Роман В. Андрощук
viator@gsc-game.kiev.ua Виктор В. Онищенко
victoria@gsc-game.kiev.ua Виктория А. Бойко
vital@gsc-game.kiev.ua Виталий С. Лысенко
vitya@gsc-game.kiev.ua Виктор А. Левченко
vol@gsc-game.kiev.ua Владимир В. Гисем
voland@gsc-game.kiev.ua
voland@gsc-game.com
Владимир В. Киселев
volmarnal@gsc-game.kiev.ua Владимир В. Хвостиченко
vortex@gsc-game.kiev.ua Роман Е. Марченко
vovan@gsc-game.kiev.ua Владимир В. Корунчак
vovka@gsc-game.kiev.ua
vovkavovka@gsc-game.kiev.ua
Voffka
vs@gsc-game.kiev.ua Виктор С. Абрамовский
vv_kpp@kpp.kiev.ua VV
webmaster@gsc-game.kiev.ua
webmaster@gsc-game.com
wicked@gsc-game.kiev.u Владимир С. Авдеев
x-gamedesign@gsc-game.kiev.ua
x-gamedesign@redhat.gsc-game.kiev.ua
x-ray@go.ro
x-ray@gsc-game.com
xray@gsc-game.kiev.ua
x-ray@gsc-game.kiev.ua
x-ray@redhat.gsc-game.kiev.ua
x-ray@solo.by
x-ray@sonic.net
x-ray@stalker-game.com
X-Ray
x-spam@gsc-game.com
x-spam@gsc-game.kiev.ua
x-spam@redhat.gsc-game.kiev.ua
x-spam@stalker-game.com
yahno@gsc-game.kiev.ua Алексей Яхно
yury@gsc-game.kiev.ua Юрий Петровский
yxo@gsc-game.kiev.ua Алексей С. Малецкий
zavolokin@gsc-game.kiev.ua Андрей Ф. Заволокин
zavs@gsc-game.kiev.ua Сергей Ф. Заволокин
zebra@gsc-game.kiev.ua Андрей Ф. Пронюк
zergius@gsc-game.kiev.ua Сергей П. Терлюк
zerogravity@gsc-game.kiev.ua Zero
zmey@gsc-game.kiev.ua Андрей Н. Фидря

Складирование информации, которой очень мало или недостаточно для статьи

Bes

Дмитрий Кривец, тестировщик, а позднее – геймдизайнер серии S.T.A.L.K.E.R. До недавнего времени работал в 4A Games, а сейчас – в Vostok Games.

cantide

Василий Пророк, сценарист и геймдизайнер проектов S2 и Survarium. Вместе с Koan и Stohe презентовал сюжет в день заморозки разработки (9.12.2011). Далее работал в Vostok Games. Месяцев 7-8 ушёл. Где он теперь работает — неизвестно.

Demik/Alex

Демиденко Александр Петрович. Работал над Казаками (над 2 точно) над рендером, возможно, делал ролики. Позже был определён в GSC, стал геймдизайнером. Работал с ником Alex, но также имел ник Demik, но потом стал Renderman.

Die.Hard

Александр Васильконов, моделлер. Работал с ЧН по ЗП как минимум. До этого трудился над «Казаками».

Doc

Александр Чубуков, геймдизайнер или скриптер.

Drupov

Сергей Евгениевич Друпов, аниматор GSC Game World. Принимал участие в разработке «Александра» и «S.T.A.L.K.E.R.: Тень Чернобыля» (его ник был обнаружен в Actors). Потом устроился в компанию Kyiv’s Games (IT&T Group Ukraine), где принимал участие в разработке Silverfall и Silverfall: Earth Awakening на должности ведущего аниматора. После в Cities XL и Cities XL 2011 компании Monte Cristo. После этого устроился в 4A Games.

Freeman

Сергей Грицай, август 2002 — апрель 2004. Работал над «Казаками», позже был тестировщиком «ЧН».

Glory

Вячеслав Гончаренко. Родился в 1975(?) году, окончил Керченский морской технологический институт (1993-1998). Опыт работы:

  • 2002 — 2005 — GSC Game World (Character Artist)
  • октябрь 2005 — декабрь 2008 — Crytek Kiev (Senior Artist)
  • декабрь 2008 — январь 2010 — DIOsoft (Lead Artist)
    • iPirate — июль 2009 — декабрь 2009
  • ноябрь 2009 — март 2010 — Astrum Nival (Technical Artist)
  • март 2010 — н.в. — 4A Games (Lead Technical Artist)
  • май 2014 — н.в. — Fishing Planet (Technical Director).

Hammer

Павел Маркевич, ведущий аниматор игры Сталкер Чистое небо (указан в титрах), оператор GSC Game World. Начал карьеру аниматора в компании Boston Animation, где работал над проектом Darkened Skye вместе с некоторыми другими сотрудниками. После устроился на работу в GSC оператором и аниматором. Принимал участие в разработке «Александра» на должности ведущего аниматора. Участвовал в проведении первого плей-теста игры «Казаки II: Наполеоновские войны» 28 декабря 2004-го года[ссылка 1], а 30 декабря выпустил ролик с места событий[ссылка 2]. Над этой же игрой работал на должности ведущего аниматора. Участвовал в проведении турнира по игре[ссылка 3]. Создал два ролика для первой и второй части (отменённой) трилогии «Герои уничтоженных империй»[ссылка 4][ссылка 5]. Создал фильм со S.T.A.L.K.E.R. Fest. Также работал в Vogster Entertainment над CrimeCraft.

Фейсбук https://www.facebook.com/pavel.markevych?ref=br_tf

Hein

Владимир Морев, март 2008 — октябрь 2008 — тестировщик, октябрь 2008 — октябрь 2009 — геймдизайнер.

Ссылки:

  • [1]
  • «Мой круг»
  • DTF.RU

Horn

Юрий Константинов. Сначала был геймдизом, потом стремился себя в моделирование. Работал с ТЧ по ЗП. Как и другие, работал с конфигами, в ТЧ отвечал за тайники на Кордоне, Свалке, НИИ «Агропром» и подземельях (но также изменял тайники и на других локациях), также создатель нескольких vsd’шек и карт-схем.

Inquisitor

Константин Крюков. Наверное, тестировщик ЧН и ЗП. В честь него назван «долговец» Инквизитор.

Kim

Ким Демиденко. Работал над «Александром», «Казаки II: Наполеоновские войны» и над «S.T.A.L.K.E.R.: Тень Чернобыля». Потом устроился в Vogster Entertainment, где работал CrimeCraft.

KUB

Александр Кублицкий, в компании его звали Кубиком или просто Кубсом. Работал аниматором над S.T.A.L.K.E.R. и You Are Empty. Работал за компом MACBETH-DYNAMO, найден в access.ini. портрет

MadMax

Виталий Владимирович Максимов. Занимался программированием сетевой игры, компиляцией сетевых сборок. Также, возможно, внедрял SecuRom.

Map

Денис Матвеенко. Делал трейлеры для ЗП. Вместо с Евгением Яцюком основал свою студию игр. Одна игра есть в Steam’е, не особо успешная. Ссыль про трейлеры: GSC-Fan.

Matron

Андрей Матузков, геймдизайнер стратегий.

MuMMy

Сергей Воронков, один из тестировщиков, проработал совсем немного (!Stalker_packGamePlay_DocBUGS_and_IDEAS.doc).

Mustdie

Вячеслав Аристов. Дата рождения: 19 мая 1984. Путь в геймдеве начался с должности тестировщика в GSC Game World. Позже работал геймдизайнером над первым «Сталкером», после чего перешёл в 4A Games на пост главного геймдизайнера.

mkonyk

Микола Коник (рус. Николай Конык), программист-скриптер; работал над FireStarter примерно год, но его ник упоминается уже под конец 2003. Может, кто-то за его компом сидел или он над S.T.A.L.K.E.R. успел поработать?

Mulder

Халецкий Евгений Валерьевич, тестировщик ЧН и ЗП (или что-то типа этого). В его честь назван майор Халецкий.

Lefty

Работал над текстами в ЧН, есть в титрах.

Redstain

Елена Довгалюк, тестировщик ЧН и ЗП. Ссылка: LinkedIn.

repex

Богдан Репех, геймдизайнер. Проработал недолго, ушёл в другую компанию.

Rimaxch

Максим Смирнов, тестировщик ЧН (вроде бы) и геймдизайнер ЗП. Со слов Верпаховского, на время прихода в GSC был весьма молодым, старшеклассник или студент. Инфы нет, кроме нескольких учётных записей на фрилансерских сайтах и форумах (тематики: торговые сети, javascript и интернет-маркетинг). Возможно, в честь него назван лейтенант Смирнов.

Rostok

Александр Лазарь. Работал над Казаками 2 в качестве программиста. Скорее всего, ушёл после выхода «ТЧ».

Sidorovich

Владимир Тундук, программист. Занимался наполнением уровней, в том числе Кордон. Дата рождения 23.02.1974 (41 год)

ICQ: #231999792

tuz

Туз Вениамин Вениаминович. 29 ноября 1974. С 2003 по 2006 работал моделлером. Сейчас работает главным архитектором в компании Denza, специализирующейся на обустройстве офисных компаний. Работает по специальности, поскольку учился в НАОМА с 1992 года. Учился в СОШ №11 города Луцка, в том же городе родился. Сейчас живёт в Киеве. До S.T.A.L.K.E.R. работал в Boston Animation, над Firestarter, потом ушёл в 4A Games. После, наверное, и ушёл в Denza Workspace.

Ugrumiy

Юрий Негробов, моделлер множества вещей. В его часть назван Угрюмый.

yuriyn1974@gmail.com — писал, но либо игнорирует, либо не читает —Vadyanchikus (обсуждение)
ICQ: #344767456

Wicked/wik/vic

Владимир С. Авдеев. Работал над Казаками 2 в качестве консультанта-историка. Так же помогал и S.T.A.L.K.E.R. что-то навроде Новикова. Возможно, позже за его компом кто-то сидел, а мож и он сам что-то делал. В GSC проработал с августа 2002 по июнь 2006 года. Был обнаружен в maps и koan_podarok1ProfInfoprtions.doc. Над S.T.A.L.K.E.R. работал программистом LUA-скриптов (о чём говорил Jip, Lema же говорил, что он работал со звуком на локациях).

Виктор Храновский

Виктор Храновский, программист логики S.T.A.L.K.E.R. Online.

Евгений Негробов

Скриптовик, брать Юрия Негробова. Видимо, изначально был Genya, потом стал Jon. Писал какие-то руководства, были скрипты собственного производства («Настройка скриптов Джона»).

Максим Н.

Свободный подрядчик в области графического дизайна, какое-то время рисовавший для GSC, 38 лет, живёт/жил в Киеве. Подписывается(-лся) ником Oxotnicdog. Первым его взаимодействием были арты Затона (лодочная станция), окрестностей «Юпитера» (сам завод) и Припять (кинотеатр «Прометей»), которые позже дорабатывал Илья Толмачёв. Позже рисовал комикс(-ы?) для 2-го номера журнала «S.T.A.L.K.E.R.». Есть заброшенное портфолио на «Веблансере»

Хотя есть инфа, что концепт-арт к ЗП рисовал другой подрядчик. Буду выяснять.

Ольга Корунчак

Ольга Корунчак, аниматор в «ТЧ».

Ольга Морозова

Аниматор 2004—2006 (?).

Примечания

Ссылки
  1. ^ GSC Game World — Новости — Казаки 2 — испытание тестом
  2. ^ GSC Game World — cossacks_play_test.avi
  3. ^ GSC Game World — Новости — В Москву! В Москву!
  4. ^ http://vimeo.com/9913418
  5. ^ http://vimeo.com/9913394

ПРОЧИЕ ОПОЗНАННЫЕ

  • Kish Hirani — бывший технический директор в THQ (например, !Stalker_packScriptsBattleВсе файлы в этой папке);
  • Morris — Julian Morris (Джулиан Моррис), геймдизайнер и ещё кое-какие арты нарисовал (documentationloalizationCoP_Glossary.xls).

Ссылки

  1. Без автора

S.T.A.L.K.E.R.: Oblivion Lost

  1. Сергей Сальников — написал на почту 20 июля 2016, жду ответа. Degtyar (обсуждение)
    1. Непонятно где портфолио
    2. .doc — название Andriy Salnikov, автор — Brothers, что наталкивает на мысль, что Сергей и Андрей Сальниковы — братья.
    3. MobyGames
    4. Facebook — написал 31.5.2016, проигнорировал. Degtyar
    5. LinkedIn
  2. Андрей Сальников — был на E3 2004, E3 2005 (он и Yava), ник — Scrat.
    1. MobyGames
    2. LinkedIn
    3. Facebook — проигнорировал
    4. DTF.RU
    5. [2]
    6. [3]
  3. Алексей Кучменко — 2003-2004 тестировщик
    1. ВКонтакте — жду ответа, —Vadyanchikus (обсуждение)
    2. DTF.RU

S.T.A.L.K.E.R.: Тень Чернобыля

  1. Денис Шубовский
    1. [4]
    2. [5]
  2. Денис Ананьев
    1. LinkedIn
    2. Форум GSC
  3. Евгений Негробов — 2004-2004 Lua программист
    1. LinkedIn
    2. Facebook
    3. ВКонтакте
  4. Роман Шишкин
    1. LinkedIn — отказался
    2. Facebook — проигнорировал
    3. YouTube
    4. DTF.RU
    5. Google+ — такая же история
    6. MobyGames
  5. Александр Кохановский
    1. LinkedIn
  6. Наталья Большакова — предположительно на форуме была зарегистрирована под ником Natali.
    1. LinkedIn
    2. Facebook — 2016.7.18 согласилась ответить через некоторое время, Degtyar
  7. Андрей Фидря
    1. LinkedIn
    2. DTF.RU
    3. MobyGames
  8. Пётр Дюков — обнаружен в maps, spawn-файлы (2571), ник — Petruha;
    1. Facebook — разговаривать не захотел
    2. DTF.RU
    3. ExGSC
    4. MobyGames — ник в Xenus II — DUKE
  9. Андрей Николаев — ник Gray Wolf
    1. LinkedIn
    2. MobyGames

S.T.A.L.K.E.R.: Чистое небо

  1. Андрей Заволокин
    1. LinkedIn
    2. 3DNews
    3. Internetwars.ru
    4. fcenter.ru
    5. DTF.RU
    6. DTF.RU (англ.)
  2. Александр Дудин
    1. LinkedIn
  3. Игорь Лёгенький
    1. LinkedIn
  4. Михаил Дворников
    1. LinkedIn

S.T.A.L.K.E.R.: Зов Припяти

  1. Владимир Морев
    1. LinkedIn
  2. Александр Поштарук — прототип Дегтярёва
    1. Вконтакте
    2. LinkedIn
    3. Интервью от YaSTALKER
  3. Евгений Халецкий — тестер ЧН и ЗП
    1. ВКонтакте (ограничил связь с ним, ему нельзя отправить сообщение)
  4. Роман Несин
    1. DTF.RU
    2. LinkedIn
    3. MobyGames
  5. Павел Маркевич — аниматор;
    1. ВКонтакте — 2016.7.4 сказал, что занят, Degtyar
    2. Facebook — написал 28.5.2016, проигнорировал. Degtyar

S.T.A.L.K.E.R. Online

  1. Евгений Ким — с 2010 года Team Leader, Software Architect
    1. Facebook — написал, жду ответа 9.6.2016, Degtyar
    2. ВКонтакте — пообещал ответить, потом начал игнорить, Degtyar
    3. LinkedIn
    4. Twitter
    5. DTF.RU
  2. Елена Кузнецова — 2011 flash/flex разработчик
    1. ВКонтакте — сотрудничать отказалась
    2. LinkedIn
  3. Андрей Имбиров — с 2010 сценарист флеш-игр (на фото не он). Degtyar (обсуждение))
    1. ВКонтакте
  4. Никита Атрошенко
    1. work.ua
    2. work.ua
    3. [6]

S.T.A.L.K.E.R. 2

  1. Евгений Яцюк — написал, пока без результатов, —Vadyanchikus (обсуждение)
    1. MobyGames
    2. LinkedIn
  2. Сергей Терлюк
    1. LinkedIn
    2. Google+
    3. DeviantArt
    4. DOU
  3. Дмитрий Куликов
    1. LinkedIn
  4. Евгений Обертюх
    1. LinkedIn
    2. YouTube
    3. Facebook — написал 28.05.2016, проигнорировал. Degtyar
    4. Twitter
    5. Google+
    6. ВКонтакте — ничего не обещал, но ответил
  5. Виктор Храновский — с 22.11.2010 по 28.03.2011 (программист)
  6. Юрий Негробов — везде молчит, —Vadyanchikus (обсуждение)
    1. ВКонтакте
    2. DTF.RU
    3. LinkedIn
  7. Юрий Скрипаль — молчит, —Vadyanchikus (обсуждение)
    1. LinkedIn
    2. DTF.RU
  8. Сергей Чечин
    1. LinkedIn
    2. DTF.RU
  9. Александр Пличко
    1. ВКонтакте (проигнорировал)
    2. LinkedIn
    3. DTF.RU
    4. MobyGames
  10. Евгений Кучма
    1. Форум GSC Game World
    2. LinkedIn
    3. DTF.RU
    4. MobyGames
  11. Татьяна Мелещенко — программист AI, потом ушла в Vostok Games, поработала там с марта 2012 по октябрь 2012, потом ушла в Crytek Ukraine.
    1. ВКонтакте
    2. Facebook — пообещала ответить. Degtyar.
    3. LinkedIn
    4. DTF.RU

Точно неизвестно

  1. Виталий Лысенко
    1. LinkedIn
    2. ВКонтакте — 2001-2007 тестер-программист, скорее всего, стратегий. Ну я ему написал, а там посмотрим
  2. Александр Дядищев — PR manager (offline)
    1. ВКонтакте (проигнорировал; теперь реально непонятно, работал ли он над S.T.A.L.K.E.R.) — один из авторов рассказа «Клык». Видимо, какое-то время работал что-то типа комьюнити менеджера, но это мои личные предположения—Vadyanchikus (обсуждение) 05:48, 4 июля 2016 (EDT)
  3. Дмитрий Кривец
  1. ^ Например, !Stalker_packScenario и GamePlay_Docscenes_sound.doc.
void CUserManage::CheckUser(DWORD Time)
{
	USER_MAP::Iterator Iter1;
	USER_MAP::Iterator Iter2;
	try
	{
		EnterCriticalSection( &g_CheckCritical ); //Lock
	}
	catch(...)
	{
		return;
	}
	try
	{
		Iter1 = m_UserMap.m_UserTypeMap.begin();
		Iter2 = m_UserMap.m_UserTypeMap.end();
		CUser* pUser;
		for( ;Iter1!=Iter2;Iter1++ )
		{
			pUser = (*Iter1).second;
			if( pUser && pUser->Check(Time) )
			{
				m_UserMap.DeleteData( Iter1->first );
				Iter1 = m_UserMap.m_UserTypeMap.begin();
				Iter2 = m_UserMap.m_UserTypeMap.end();
			}
		}
	}
	catch(...)
	{
		OutInfo( "Error:CheckUser" );
	}
	LeaveCriticalSection( &g_CheckCritical ); //UnLock
}
void TUI::Redraw()
{
	PrepareRedraw();
    try{
    	EDevice.Statistic->RenderDUMP_RT.Begin();
        if (EDevice.Begin()){
            EDevice.UpdateView		();
            EDevice.ResetMaterial	();

            Tools->RenderEnvironment	();

            //. temporary reset filter (      )
            for (u32 k=0; k<HW.Caps.raster.dwStages; k++){
                if( psDeviceFlags.is(rsFilterLinear)){
                    EDevice.SetSS(k,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
                    EDevice.SetSS(k,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
                    EDevice.SetSS(k,D3DSAMP_MIPFILTER,D3DTEXF_LINEAR);
                } else {
                    EDevice.SetSS(k,D3DSAMP_MAGFILTER,D3DTEXF_POINT);
                    EDevice.SetSS(k,D3DSAMP_MINFILTER,D3DTEXF_POINT);
                    EDevice.SetSS(k,D3DSAMP_MIPFILTER,D3DTEXF_POINT);
                }
            }

            // draw grid
            if (psDeviceFlags.is(rsDrawGrid)){
                DU_impl.DrawGrid		();
                DU_impl.DrawPivot		(m_Pivot);
            }

            try{
	            Tools->Render			();
		    }catch(...){
		    	ELog.DlgMsg(mtError, "Please notify AlexMX!!! Critical error has occured in render routine!!! [Type B]");
            }

            // draw selection rect
            if(m_SelectionRect) 	DU_impl.DrawSelectionRect(m_SelStart,m_SelEnd);

            // draw axis
            DU_impl.DrawAxis(EDevice.m_Camera.GetTransform());

            try{
	            // end draw
    	        EDevice.End();
		    }catch(...){
		    	ELog.DlgMsg(mtError, "Please notify AlexMX!!! Critical error has occured in render routine!!! [Type C]");
            }
        }
    	EDevice.Statistic->RenderDUMP_RT.End();
    }catch(...){
    	ELog.DlgMsg(mtError, "Please notify AlexMX!!! Critical error has occured in render routine!!! [Type A]");
//		_clear87();
//		FPU::m24r();
//    	ELog.DlgMsg(mtError, "Critical error has occured in render routine.nEditor may work incorrectly.");
        EDevice.End();
//		EDevice.Resize(m_D3DWindow->Width,m_D3DWindow->Height);
    }

	OutInfo();
}

//外部接收数据线程
DWORD WINAPI ReceiveWorkerThread(LPVOID lp)
{
    CUdpIocp* pUdpIocp = (CUdpIocp*)lp;
    BOOL	bRet = 0; //返回值
    DWORD	nbytes = 0; //返回大小
    DWORD	WorkIndex = 0; //ID
    LPOVERLAPPED	pOvl = NULL; //返回结构
    CUdpSocket*	pSocket = NULL; //socket
    while (1)
    {
        //监听完成端口,有数据才会往下运行
        bRet = GetQueuedCompletionStatus(pUdpIocp->m_hServerIOCPort,&nbytes,
                                         &WorkIndex,&pOvl,INFINITE);
        //有信息判断是否正确
        if(bRet || pOvl)
        {
            if(bRet) //如果信息返回正确
            {
                //检查是否超过最大处理数
                if( WorkIndex > (DWORD)pUdpIocp->m_ServerSocketSize )
                    goto loop_pass; //继续

                //得到要处理的Socket
                pSocket = (CUdpSocket*)pUdpIocp->m_pSocketArray[WorkIndex];
                //检查pSocket是否为空
                if( !pSocket )
                    goto loop_pass; //继续
                //判断是哪个消息
                switch( pOvl->Offset )
                {
                case OVL_RECEIVE: //接收
                    //pUdpIocp->Recv();
                    //检查是否出错
                    if( !nbytes )
                    {
                        //pSocket->Close(); //关闭
                        pSocket->Recv(); //继续接收
                        //pUdpIocp->PushSocket( pSocket );
                        goto loop_pass; //继续
                    }
                    //恢复错误计数器
                    pSocket->m_nPending = 0;
                    pSocket->m_nWouldblock = 0;
                    pSocket->ReceivedData( (int)nbytes ); //处理接收的数据
                    pSocket->Recv(); //继续接收
                    //pUdpIocp->PushSocket( pSocket );
                    break;
                case OVL_SEND: //发送
                    //恢复错误计数器
                    pSocket->m_nPending = 0;
                    pSocket->m_nWouldblock = 0;
                    break;
                case OVL_CLOSE: //关闭
                    //pSocket->Close(); //关闭
                    break;
                default:
                    break;
                }
            }
            else
            {
                if( pOvl ) //关闭
                {
                    //检查是否超过最大处理数
                    if( WorkIndex > (DWORD)pUdpIocp->m_ServerSocketSize )
                        goto loop_pass; //继续
                    //得到要处理的Socket
                    pSocket = (CUdpSocket*)pUdpIocp->m_pSocketArray[WorkIndex];
                    //检查pSocket是否为空
                    if( !pSocket )
                        goto loop_pass; //继续
                    //判断是哪个消息
                    switch( pOvl->Offset )
                    {
                    case OVL_RECEIVE: //接收
                        //pUdpIocp->Recv();
                        //检查是否出错
                        if( !nbytes )
                        {
                            pSocket->Recv(); //继续接收
                            //pUdpIocp->PushSocket( pSocket );
                            goto loop_pass; //继续
                        }
                        //恢复错误计数器
                        pSocket->m_nPending = 0;
                        pSocket->m_nWouldblock = 0;
                        //pSocket->ReceivedData( (int)nbytes ); //处理接收的数据
                        pSocket->Recv(); //继续接收
                        //pUdpIocp->PushSocket( pSocket );
                        break;
                    case OVL_SEND: //发送
                        //恢复错误计数器
                        pSocket->m_nPending = 0;
                        pSocket->m_nWouldblock = 0;
                        break;
                    case OVL_CLOSE: //关闭
                        //pSocket->Close(); //关闭
                        break;
                    default:
                        break;
                    }
                }
            }
        }
        else
        {
            OutInfo( "ERROR:GetQueuedCompletionStatus()" );
        }
loop_pass:
        continue; //继续循环
    }
    return 1; //返回1
}

Понравилась статья? Поделить с друзьями:
  • Please move your forza horizon 5 installation to a shorter path ошибка при запуске
  • Please make sure plusmaster client is updated and running call of duty ghosts как исправить
  • Please look at the error above or use an online yaml parser
  • Please locate it now ошибка самп
  • Please launch rage multiplayer as an admin как исправить