Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отличия/Совместимость X-Ray SDK SoC/CS/CoP
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
aka_sektor
Зашел тут разговор, знает кто в чём основное отличие SDK ЧН и ЗП от ТЧ?

Я вот думаю, вроде как в понимании ими формата моделей, но есть мнение, что это не так. Мол, ничего не мешает сделать модель для ЧН в SDK ТЧ. Нужно лишь перебить руками цифру версии в ogf-файла, но... https://coub.com/view/doo72

А что насчёт различия в "костях". Есть мнение, мол к модели в SDK ТЧ .skl подгрузить и все. Предел во всех трёх SDK одинаков - 64 "кости".

Вообще, довольно давно, наш форумчанин bac9-flcl писал об этих вопросах такое:
Цитата(bac9-flcl)
X-Ray SDK 0.4
Совместимость: ТЧ (полная), ЧН/ЗП (ограниченная).
Стандарт де-факто для разработки крупных модов. Позволяет работать под ЧН и ЗП при использовании сторонних версий xrAI.

X-Ray SDK 0.5
Совместимость: ЧН/ЗП.

X-Ray SDK 0.7
Совместимость: ЗП/ЧН.


Ну и есть такая инфа в ReadMe к SDK ЗП:
Цитата
Совместимость

Формат уровней (за исключением данных, относящихся к xrAI), практически не менялся, поэтому результаты работы xrLC могут быть использованы и в ЧН. Разумеется, это относится только к мультиплеерным картам либо использованию геометрии.

Таким образом, если вы хотите использовать SDK 0.7 для компиляции одиночного уровня к ЧН (скажем, из-за скорости работы xrLC), то это возможно, - но, соответственно, только с xrAI от ЧН.

Файлы, собранные xrDO, совместимы как с ЗП, так и с ЧН и ТЧ. Файлы .thm совместимы со всеми версиями игры вплоть до ТЧ 1.0004.

Формат скелетных объектов .ogf в ЗП и ЧН одинаков, - результаты работы в ActorEditor можно использовать в обеих играх.
ForserX
Разница в .ogf заключается в наличии двух новых форматов вертиксов, начиная с 1.5
/// Не помню, где именно лежит описания формата, поэтому просто приведу эти строки
Код
typedef void    __stdcall    xrSkin3W        (vertRender* D, vertBoned3W* S, u32 vCount, CBoneInstance* Bones);
typedef void    __stdcall    xrSkin4W        (vertRender* D, vertBoned4W* S, u32 vCount, CBoneInstance* Bones);

Так же разница в all.spawn
Код
//------------------------------------------------------------------------------
// Version history
//------------------------------------------------------------------------------
// 10 - xrSE_ALifeObjectPhysic            appended with property 'fixed_bone'
// 11 - xrSE_ALifeObjectHangingLamp        appended with property 'spot_brightness'
// 12 - xrSE_ALifeObjectHangingLamp        appended with property 'flags'
// 13 - xrSE_ALifeObjectHangingLamp        appended with property 'mass'
// 14 - xrSE_ALifeObjectPhysic            inherited from CSE_ALifeObject
// 15 - xrSE_ALifeAnomalousZone            inherited calls from CSE_ALifeDynamicObject
// 16 - xrSE_ALifeObjectPhysic            inherited from CSE_ALifeDynamicObject
// 17 - xrSE_...                        inherited from CSE_Visual for smart Level Editor
// 18 - xrSE_ALifeObjectHangingLamp        appended with 'startup_animation'
// 19 - xrSE_Teamed                        didn't save health parameter
// 20 - xrSE_ALife...                    saving vectors in UPDATE_Read/UPDATE_Write changed to STATE_Read/STATE_Write
// 21 -    GLOBAL CLASS HIERARCHY UPDATE
// 22 - CSE_AnomalousZone                appended with a artefact spawns
// 23 - CSE_ALifeObject                    appended with a spawn ID
// 24 - CSE_ALifeObject                    appended with a group control
// 25 - CSE_ALifeObject                    changed type of the property probability from u8 to float
// 26 - CSE_AnomalousZone                appended with artefact spawn information
// 27 - CSE_AnomalousZone                weights changed type from u32 to float
// 28 - CSE_AnomalousZone                appended with an anomalous zone type
// 29 - CSE_ALifeObjectPhysic            appended with an animation property
// 30 - CSE_ALifeTrader                    appended with an ordered artefacts property
// 31 - CSE_ALifeTrader                    appended with a supplies property
// 32 - CSE_ALifeDynamicObjectVisual    the only this class saves and loads visual object
// 33 - CSE_ALifeGraphPoint and CSE_ALifeLevelChanger    level id changed to level name
// 34 - CSE_ALifeLevelPoint and CSE_ALifeLevelChanger    appended several _new properties
// 35 - CSE_ALifeTrader                    artefact order structures changed
// 36 - CSE_ALifeTrader                    appended with the organization identifier property
//        and CSE_ALifeHumanAbstract        appended with known_traders property
//        and CSE_ALifeTask                appended with try count property
//        and CSE_ALifePersonalTask        no more exists
// 37 - бинокль имеет ServerEntity не CSE_ALifeItemWeapon, а CSE_ALifeItem
// 38 - CSE_ALifeHumanAbstract            appended with the equipment and weapon preferences
// 39 - CSE_ALifeAnomalousZone            appended with the start power property
// 40 - CSE_ALifeObjectPhysic            appended with activate flag
//        and CSE_ALifeItemWeapon            appended with weapon addons state flag
// 41 - CSE_ALifeItemTorch                appended glow
// 42 - CSE_ALifeItemTorch                appended guid_bone
// 43 - CSE_ALifeObjectHangingLamp        appended glow_texture and glow_radius
// 44 - xrSE_ALifeObjectHangingLamp        appended with property 'fixed bones'
// 45 - xrSE_ALifeObjectHangingLamp        appended with property 'health'
// 46 - xrSE_ALifeObjectSearchLight        appended with property 'guid_bone',
//                                        appended with property 'rotation_bone'
// 47 - CSE_ALifeItemWeapon                appended with ammo type index
// 48 - CSE_ALifeObjectSearchlight        appended with property 'cone_bone'
// 49 - CSE_ALifeObjectHangingLamp        remove some property
// 50 - CSE_ALifeObject                    appended with ALife flags property
// 51 - CSE_ALifeItemBolt                new class based on CSE_ALifeDynamicObject and CSE_AlifeInventoryItem
// 52 - CSE_ALifeItemExplosive            new class based on CSE_ALifeItem
// 53 - CSE_AlifeInventoryItem            appended with property 'condition'
// 54 - CSE_AlifeLevelChanger            property 'angles' changed from float to fvector
// 55 - CSE_AlifeItemCar->CSE_ALifeCar    heritage changed
// 56 - CSE_ALifeObjectHangingLamp        restore removed props + appended some new
// 57 - CSE_ALifeObjectPhysic            appended with source_id
// 58 - CSE_ALifeObject                    appended with ini_string
// 59 - CSE_ALifeItemPDA                appended with m_original_owner
// 60 - CSE_AlifeInventoryItem            appended with property m_eItemPlace
// 61 - CSE_AlifeObjectPhysic            appended with bones_mask, root_bone
// 62 - CSE_AlifeObject                    appended with m_story_id
// 63 - CSE_AlifeTraderAbstract            remove bug with money
// 64 - CSE_ALifeObjectPhysic            flags, source_id, saved_bones moved to CSE_AlifePHSkeletonObject
// 65 - CSE_ALifeObjectPhysic            startup_anim moved to CSE_AlifePHSkeletonObject
// 66 - CSE_ALifeObjectPhysic            CSE_ALifeCar - heritage changed
// 67 - CSE_ALifeCustomZone                new class appended, heritage changed
// 68 - CSE_ALifeHumanStalker,                
//        CSE_ALifeMonsterBase            new class appended, heritage changed
// 69 -    object broker changed from this version
//        CSE_ALifeObjectHangingLamp,                
//        CSE_ALifeHelicopter                heritage changed
// 70 -    CSE_Abstract                    appended with m_script_version, script version support
// 71 -    CSE_Abstract                    appended with m_client_data, ability to save/load client data
// 72 -    CSE_AlifeInventoryItem            removed property m_eItemPlace, added flag
// 73 -    CSE_AlifeMonsterAbstract        appended with property m_space_restrictors
// 74 -    CSE_AlifeMonsterAbstract        appended with property m_in_space_restrictors
// 75 -    CSE_AlifeSpaceRestrictor        new class added, hierarchy changed
// 76 - CSE_AlifeTraderAbstract            appended with m_iSpecificCharacter
// 77 - CSE_AlifeTraderAbstract            added CSE_ObjectClimable
// 78 - CSE_AlifeTraderAbstract            appended with flags for infinite ammo
// 79 - CSE_AlifeAnomalousZone            appended with power properties (3)
// 80 - CSE_Abstract                    m_tSpawnID property moved from CSE_ALifeObject to CSE_Abstract
// 81 - CSE_SpawnGroup                    appended with 4 properties
// 82 - CSE_AlifeTraderAbstract            load/save m_iCharacterProfile on state read/write
// 83 - CSE_AlifeObject                    m_fProbability moved to CSE_Abstract, m_dwSpawnGroup is removed completely
// 84 - CSE_SpawnGroup                    appended with a property
// 85 - CSE_SpawnGroup                    all the properties moved to CSE_Abstract
// 86 - CSE_AlifeTraderAbstract            appended with m_community_index
// 87 - CSE_AlifeTraderAbstract            appended with m_rank, m_reputation
// 88 - CSE_ALifeCreatureAbstract        appended with m_dynamic_restrictions property
// 89 - CSE_AlifeCreatureActor            appended with m_holderID
// 90 - CSE_ALifeItemPDA                appended with m_specific_character, m_info_portion
// 91 - CSE_ALifeHumanStalker            appended with property demo_mode
// 92 - CSE_AlifeCreatureActor            added base class CSE_PHSkeleton
// 93 - CSE_AlifeCar                    health added in STATE_Read STATE_Write
// 94 - CSE_Abstract                    client_data size increased
// 95 - CSE_ALifeCreatureAbstract        appended with m_killer_id property
// 96 - CSE_ALifeTraderAbstract            changed m_iCharacterProfile(int) to m_sCharacterProfile(shared_str)
// 97 - CSE_ALifeItemPDA                changed m_info_portion(int) to m_info_portion(shared_str) +m_specific_character +CSE_ALifeItemDocument m_wDoc (int-> shared_str)
// 98 - CSE_ALifeItemPDA                changed m_info_portion(int) to m_info_portion(shared_str) +m_specific_character +CSE_ALifeItemDocument m_wDoc (int-> shared_str)
// 99 - CSE_ALifeObjectClimable            inheritance changed CSE_Abstruct -> CSE_AlifeObject
// 100 - CSE_ALifeObjectClimable        inheritance changed CSE_AlifeObject -> CSE_AlifeDynamicObject
// 101 - CSE_ALifeCreaturePhantom        new class based on CSE_ALifeCreatureAbstract
// 102 - CSE_ALifeAnomalousZone            appended m_owner_id
// 103 - CSE_ALifeCustomZone            appended m_owner_id,removed from CSE_ALifeAnomalousZone
// 104 - CSE_Visual                        appended flags
// 105 - CSE_ALifeTraderAbstract        added full name
// 106 - CSE_ALifeCustomZone            enabled\disabled time
// 107 - CSE_ALifeCustomZone            enabled\disabled time extended
// 108 - CSE_ALifeTraderAbstract        removed property m_tpEvents
// 109 - CSE_ALifeBaseMonster            added property m_spec_object
// 110 - CSE_ALifeHumanAbstract            removed a lot
// 111 - CSE_ALifeHumanStalker            removed demo mode
// 112 - CSE_Abstract                    removed all the spawn properties, sad but true
//       - CSE_SpawnGroup                    is no more
//       - CSE_Event                        is no more
//       - CSE_Target_CS                    is no more
//       - CSE_Target_CS_Cask                is no more
//       - CSE_Target_CS_Base                is no more
//       - CSE_TargetAssault                is no more
//       - CSE_Target                        is no more
//       - CSE_ALifeObject                appended with property m_spawn_story_id
// 113 - CSE_ALifeAnomalousZone            removed property m_fStartPower
//       - CSE_ALifeAnomalousZone            removed property m_faWeights
//       - CSE_ALifeAnomalousZone            removed property m_cppArtefactSections
//       - CSE_ALifeAnomalousZone            removed property m_min_start_power
//       - CSE_ALifeAnomalousZone            removed property m_max_start_power
//       - CSE_ALifeAnomalousZone            removed property m_power_artefact_factor
//       - CSE_ALifeCustomZone            removed property m_attn
//       - CSE_ALifeCustomZone            removed property m_period
// 114 - CSE_ALifeMonsterAbstract        m_task_reached, internal member, added
// 115 - CSE_ALifeCreatureAbstract        fHealth now in range 0..1
// 116 - CSE_ALifeCreatureAbstract        appended with property m_game_death_time
// 117 - CSE_ALifeLevelChanger            appended with property m_bSilentMode
// 118 - CALifeHumanBrain                removed property m_tpKnownCustomers, sad but true
// 119 - CSE_ALifeObjectHangingLamp        added property    m_volumetric_quality
//                                        added property    m_volumetric_intensity
//                                        added property    m_volumetric_distance
// 120 - CSE_SmartCover                    added property    m_enter_min_enemy_distance
//                                        added property    m_exit_min_enemy_distance
// 121 - GameTypeChooser                m_gameType using instead og u8 value;
// 122 - CSE_ALifeItemWeapon            appended with count of grenades to spawn in grenade launcher (if it attached)
// 123 - CSE_ALifeInventoryItem            added functions has_upgrade & add_upgrade, xr_vector<shared_str> m_upgrades
// 124 - CSE_ALifeInventoryBox            added property m_can_take, m_closed
//       CSE_ALifeTraderAbstract        added property m_deadbody_can_take, m_deadbody_closed
// 127     CSE_ALifeObjectClimable        added material;
// 128     CSE_ALifeObjectClimable        added can_fire in smart covers;
//------------------------------------------------------------------------------
aka_sektor
Цитата(Forser @ 02.08.2017, 12:04) *
Разница в .ogf заключается в наличии двух новых форматов вертиксов

А как это влияет на совместимость?
ForserX
Цитата(aka_sektor @ 02.08.2017, 12:07) *
Цитата(Forser @ 02.08.2017, 12:04) *
Разница в .ogf заключается в наличии двух новых форматов вертиксов

А как это влияет на совместимость?

Если SDK ЧН запакует модель в один из этих форматов, тч не запустится.
aka_sektor
Цитата(Forser @ 02.08.2017, 12:12) *
Если SDK ЧН запакует модель в один из этих форматов, тч не запустится.

А что если наоборот?

Писали такое:
Цитата
Модели из ТЧ сдк должны работать в Чн\ЗП, а наборот нет.
ForserX
Цитата(aka_sektor @ 02.08.2017, 12:15) *
А что если наоборот?

Всё будет работать. И некоторые простые модели (вроде, когда всего одна кость) от СДК ЗП/ЧН работают в ТыЧо, но... Это не точно, ЕМНИП, так сказать.
Asterix
Про ЧН

"Геометрию можно делать - даже нужно в 0.7. Травку.
Но аи-сетка, геймграф и весь спавн - не читаемы ЧН.

Короче, так: делаем билд геометрии и компиль в СДК07. Затем билд геометрии тащим в СДК05-06, там билдим аи-сетку и спавн, и там же компилируем." © Дизель с амк
ForserX
Цитата(Ray @ 02.08.2017, 12:19) *
Про ЧН

"Геометрию можно делать - даже нужно в 0.7. Травку.
Но аи-сетка, геймграф и весь спавн - не читаемы ЧН.

Короче, так: делаем билд геометрии и компиль в СДК07. Затем билд геометрии тащим в СДК05-06, там билдим аи-сетку и спавн, и там же компилируем." © Дизель с амк

Кх-м, можно попробовать и Make Game в 0.7 провести, а там уже xrAI 0.6 паковать. Разница 1.5.10 и 1.6.02 в 4 версии:
Код
#define SPAWN_VERSION    u16(124) /// 1.5.10
#define SPAWN_VERSION    u16(128) /// 1.6.02
Kontro-zzz
Цитата
Если SDK ЧН запакует модель в один из этих форматов, тч не запустится.

На динамических моделях огф-ах в тч игре выскакивает ошибка по вертексам вроде, пока не перекомпилишь модель в тчешном сдк, трабла эта давным-давно известна.
Diesel
Полезный инструмент: патч для СДК 07. 90.9Мб.

Понимает локации ЧН - удобно смотреть и тырить. Компилировать геометрию, и траву для ЧН.
Работает всё, только конечный результат компиляции алспавна вас не устроит - он для других скриптов и конфигов (проект Progress).
Есть тестовая локация Болота (много инвалидов), но она собирается без проблем.
Как добыть остальные локации из ЧН: нужен конвертер Бардака, и на время конверта заменить конфиги в СДК07 ЧНскими и закинуть сами локации в распаковку ЗП.
converter -level cs:marsh -out marsh -mode le -with_lods

Авторы сборки СДК:
GSC - SDK

K.D.-
Fix's xrECoreB.dll by K.D.- АЕ ЗП: форсировано использование групп сглаживания при экспорте моделей. Работает с группами сглаживания как макса, так и майки.

macron -
Для всех редакторов включена поддержка LARGE_ADDRESS_AWARE.
Фикс падения LE при построении (Compile -> Build) локации на стадии "Merge LOD textures". Основан на фиксе K.D. для SDK ТЧ.
Ошибка возникала из-за большого количества лод-объектов на локации (>128). Они просто не вмещались на текстуру 2048х2048.
Теперь текстура будет увеличена до нужных размеров и соответственно лодов можно будет ставить намного больше.

Дизель -
xrLC.exe - вырезан баг инвалид-фейсов
Анимации смарт-коверов, моделей.
Скрипты, конфиги.

Конверт проекта "marsh".



Для патча заведите новую СДК!

P.S. Это не окончательный вариант, возможны правки. Смотрите инфу (проект Progress)
chriotmao
andreyholkin, т.е. левелы чн слитые Тырсой не пойдут, обязательно делать декомпил?
Yara
Цитата
т.е. левелы чн слитые Тырсой не пойдут, обязательно делать декомпил?

Подойдут, если сперва исходник загрузить в сдк-ЧН, удалить отсутствующие (*коверы, точки sim_faction) спавн-элементы в сдк-ЗП, также ещё нужны некоторые пропсы / текстуры из ЧН. Тоже проверял на болотах оригинальным xr_lc, долго, но успешно. В общем, всё нормально собирается и разбирается.

*коверы - они хороши в лагерях нпс, где мирная обстановка. Сколько играл в ЧН / ЗП, эти боевые коверы только вредят нпс, то не выходят из них, то входят - и убиваются ещё быстрее, чем они просто бы перемещались и прятались за укрытиями (статика). Ещё эти коверы проблемно точно подогнать к статич. геометрии, ибо они должны находиться на аи-сетке, а её не всегда можно сделать в некоторых местах (да с флажком игнора можно, но тогда нпс будут проходить сквозь статику).
Diesel
Цитата(chriotmao @ 06.09.2017, 13:41) *
т.е. левелы чн слитые Тырсой не пойдут, обязательно делать декомпил?

Я не в курсе про слив локаций. Не знаю. Можно еще попробовать билд в СДК07 согласовать с компиляторами ЧН, что бы прям в СДК 07 делать аи-сетку и спавн для ЧН. Пока мозги другим заняты - не могу сосредоточится. biggrin.gif
aka_sektor
andreyholkin, по-моему твой патч вообще не в тему. Про отличия SDK как бы тема.
Diesel
Цитата(Yara @ 06.09.2017, 14:38) *
если сперва исходник загрузить в сдк-ЧН, удалить отсутствующие (*коверы, точки sim_faction) спавн-элементы в сдк-ЗП, также ещё нужны некоторые пропсы / текстуры из ЧН.

Для просмотра и моего проекта ничего удалять не надо. Коверы в Левел-эдиторе функционируют. С сим-факцией пока не всё гладко, дело в разных классах, но у меня ЧН класс подключен, но игра его ничерта не понимает, думает, что это смарт-террайн наверно.
Diesel
Цитата(aka_sektor @ 06.09.2017, 15:08) *
по-моему твой патч вообще не в тему. Про отличия SDK как бы тема

Да ты прав. А нафига Пысы назвали и то и другое SDK? Только сейчас дошло, что тема не та. biggrin.gif

Буду признателен модераторам, если перенесут посты в нужную тему!

Вообще то это та тема. Не сбивай людей с понтолыку.
Diesel
Патч СДК 07 под ЧН эдитор будет точно. Что еще вылазит после Болот:
visual [actors\stalker_neutral\stalker_neutral_1] has no animation [loophole_first_visual]
visual [actors\stalker_neutral\stalker_neutral_1] has no animation [loophole_third_visual]
visual [actors\stalker_neutral\stalker_neutral_1] has no animation [loophole_fourth_visual]
visual [actors\stalker_neutral\stalker_neutral_1] has no animation [loophole_fifth_visual]
visual [actors\stalker_neutral\stalker_neutral_1] has no animation [loophole_second_visual]

af_compass.ogf - нет анимации $editor
val_fireball.anm - нет анимации вообще

Ну и этого тоже нет:
cs_register (object_factory, "CCar", "se_car.se_car", "SCRPTCAR", "car_s")

chriotmao
Цитата
Я не в курсе про слив локаций.

Я перезаливал в теме Объекты и карты Сталкера в период по 12.04-***, тч и все остальное

Это уровни самих пыс, то бишь исходники
Diesel
Обнова для патча (СДК07) (20.1Мб.):
Добавлены: анимации, m_car, текстуры всех террайнов и масок ЧН.

Цитата(chriotmao @ 06.09.2017, 20:24) *
Это уровни самих пыс, то бишь исходники

Спасибо
Diesel
Отличия закончились?

Есть желающие изнутри посмотреть отличия ЧН и ЗП?

Нужно малость поковыряться и вернуть в 1602 dx11.
https://yadi.sk/d/B1CI1XtM3MkVHQ

https://www.youtube.com/watch?v=uNom2Vt23W4
aka_sektor
Цитата(aka_sektor @ 02.08.2017, 11:11) *
Файлы .thm совместимы со всеми версиями игры вплоть до ТЧ 1.0004.

Подтверждение появилось, что .thm от ТЧ в ЧН/ЗП будут вызывать вылет: https://www.amk-team.ru/forum/topic/13415-m...comment=1314994
Код
Expression : assertion failed
Function : CResourceManager::_CreateTexture
File : D:\prog_repository\sources\trunk\Layers\xrRender\ResourceManager_Resources.cpp
Line : 424
Description : _Name && _Name[0]
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.