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

Cюжет "Чистое Небо" на движке 1602. Архивы ЗП для движка 1510.


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

Замечены первые предупреждения, не приводящие к вылету, на момент начала игры.

! attempt to use non-existent INFOPORTION [ui_talk_show]
! cant find corresponding [id] for action_name

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

На оф сайте Сталкера нашел кое-какую инфу:

Совместимость ЧН и ЗП (СДК):
Формат уровней (за исключением данных, относящихся к xrAI), практически не менялся, поэтому результаты работы xrLC могут быть использованы и в ЧН. Разумеется, это относится только к мультиплеерным картам либо использованию геометрии. Таким образом, если вы хотите использовать SDK 0.7 для компиляции одиночного уровня к ЧН (скажем, из-за скорости работы xrLC), то это возможно, - но, соответственно, только с xrAI от ЧН. Файлы, собранные xrDO, совместимы как с ЗП, так и с ЧН и ТЧ. Файлы .thm совместимы со всеми версиями игры вплоть до ТЧ 1.0004. Формат скелетных объектов .ogf в ЗП и ЧН одинаков, - результаты работы в ActorEditor можно использовать в обеих играх.
Таким образом, в SDK появилась возможность работы со смарткаверами (которые хоть и появились впервые в ЧН, но в его SDK были недоступны) в частности и уровнями для одиночной игры в целом (имевшаяся в LE ЧН, но достаточно ограниченная).

Читать полностью...

 

П.С. Буду рад любой инфе о совместимости и различиях движков, эдиторов, файлов ЧН и ЗП.

 

Изменено пользователем Дизель
  • Полезно 2

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Как исправить баг с рендером вокруг ГГ? Можно с помощью консольных команд в скрипте. Например, я добавил в файл ui_main_menu.script, то что выделено синим:

Скрытый текст

function main_menu:InitControls()
    self:SetWndRect                    (Frect():set(0,0,1024,768)) 
    local xml                        = CScriptXmlInit()
    xml:ParseFile                    ("ui_mm_main.xml") 
    xml:InitStatic                    ("background", self)
    self.shniaga                    = xml:InitMMShniaga("shniaga_wnd",self);
    self.message_box                = CUIMessageBoxEx()
    self:Register                    (self.message_box, "msg_box")      
    local _ver = xml:InitStatic        ("static_version",self)
    local mm                        = _G.main_menu.get_main_menu()
    _ver:SetText                    ("patch " .. mm:GetGSVer())

    local console = get_console()
    console:execute("bind quit kESCAPE") -- когда забудешь включить кнопки по умолчанию (Diesel).
    --от сюда и ниже, нормальные настройки рендера DX10 (нет бага с тенями вокруг ГГ)(Diesel).
    console:execute("r2_volumetric_lights on")
    console:execute("r2_dof_far 800")
    console:execute("r2_dof -0.400000,1.400000,500.000000")
    console:execute("r2_dof_kernel 2.")
    console:execute("r2_dof_sky 0.")
    console:execute("r2_exp_donttest_shad off")
    console:execute("r2_gi off")
    console:execute("r2_ls_bloom_fast off")
    console:execute("r2_sun on")
    console:execute("r2_sun_depth_far_bias -0.00002")
    console:execute("r2_sun_depth_far_scale 1.")
    console:execute("r2_sun_depth_near_bias 0.00007")
    console:execute("r2_sun_depth_near_scale 1.")
    --настройка лучей и яркости освещения DX10, ниже (Diesel).
    console:execute("r2_sun_far 51.") --51-180
    console:execute("r2_sun_lumscale 0.99")
    console:execute("r2_sun_lumscale_amb 0.99")
    console:execute("r2_sun_lumscale_hemi 0.99")
    console:execute("r2_sun_near 49.0") --1-50
    console:execute("r2_sun_near_border 0.75") --0.5-1.0

end

Данный баг растёт из движка, точнее даже не из движка, а из дефолтных настроек файла user.ltx

Автор корректировки я, так что сильно не пинайте. Кто найдёт другой способ исправления - пишите. Но не предлагайте вносить это в user.ltx - будут последствия - сами поэкспериментируйте.

Изменено пользователем Дизель
  • Спасибо 1
  • Полезно 1

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@Zagolski, я то в принципе за то, о чем ты толкуешь. Я понимаю и комрада UnLoaded, который написал: а на кой???

, но я хочу расшевелить модмейкеров, в частности новичков, которые могут со временем перенять наше дело (хотя я сам нуб).  Тема создана не только, для того что я написал в шапке, но еще в образовательных  и  экспериментальных целях. Хочется понять на 100%, каким было различие движков и что на это побудило разрабров (понятно, что время и технологии). Я встречал модмейкеров, которые в ус не ставили движок ЗП (хотя на мой взгляд он бесспорно технологичнее), потому они до сих пор клепают моды на ЧН.

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

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

При согласовании баз ЧН,ЗП и движка ЧН - вылезит такой баг в окне торговли с нпс (смещение левой рамки), а так же смещение кругов в центре окна ГГ.

 

Скрытый текст

9588c15ce958t.jpg

 

Этот баг я малость не понимаю почему происходит - он то есть, то нету.

Может из-за моих дублей gamedata\configs\ui\:

actor_menu_item_load

actor_menu_item_load_16

actor_menu_load

actor_menu_load_16

Их желательно удалить из базы для вашего движка!!!

 

...Пробую компилировать движок заново.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Как лечим баг?:

FATAL ERROR
[error]Description   : XML node not found in file map_spots.xml
[error]Arguments     : primary_task_location

 

Это связано с дублем файла из ЗП, где данная строка закоментирована:

Скрытый текст

<!--
        <primary_task_location>
                <level_map spot="primary_task_spot"        pointer="quest_pointer"/>
                <mini_map spot="primary_task_spot_mini"        pointer="quest_pointer"/>
        </primary_task_location>
        <primary_task_spot x="0" y="0" width="21" height="21" stretch="1" alignment="c" location_level="5">
                <texture r="242" g="15" b="11">ui_pda2_quest</texture>
        </primary_task_spot>
        <primary_task_spot_mini  x="0" y="0" width="15" height="15" stretch="1" alignment="c" location_level="5">
                <texture r="242" g="15" b="11">ui_mmap_quest</texture>
                <texture_below r="242" g="15" b="11">ui_mini_sn_spot_below</texture_below>
                <texture_above r="242" g="15" b="11">ui_mini_sn_spot_above</texture_above>
        </primary_task_spot_mini>

  <primary_na_border x="0" y="0" width="37" height="37" alignment="c" stretch="1" location_level="5">
    <texture r="0" g="154" b="218">ui_pda2_hl_quest_base</texture>
  </primary_na_border>
  <primary_mini_na_border x="0" y="0" width="18" height="18" alignment="c" stretch="1" location_level="5">
    <texture r="0" g="154" b="218">ui_pda2_hl_quest_base</texture>
  </primary_mini_na_border>

        <primary_ac_border x="0" y="0" width="37" height="37" alignment="c" stretch="1" location_level="5">
    <texture r="255" g="240" b="0">ui_pda2_hl_quest_base</texture>
        </primary_ac_border>
        <primary_mini_ac_border x="0" y="0" width="18" height="18" alignment="c" stretch="1" location_level="5">
    <texture r="255" g="240" b="0">ui_pda2_hl_quest_base</texture>
        </primary_mini_ac_border>

        <third_task_location>
                <level_map spot="third_task_spot"/>
        </third_task_location>
        <third_task_spot x="0" y="0" width="27" height="27" stretch="1" alignment="c" location_level="5">
                <texture r="0" g="154" b="218">ui_pda2_sq_sos</texture>
        </third_task_spot>

  <third_na_border x="0" y="0" width="37" height="37" alignment="c" stretch="1" location_level="5">
    <texture r="0" g="154" b="218">ui_pda2_hl_quest_base</texture>
  </third_na_border>

        <third_ac_border x="0" y="0" width="37" height="37" alignment="c" stretch="1" location_level="5">
    <texture r="255" g="240" b="0">ui_pda2_hl_quest_base</texture>
        </third_ac_border>

-->

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

source_cs_1510\clearsky\engine\xrGame\map_location.cpp

Ищем строку: g_uiSpotXml->Load        (CONFIG_PATH, UI_PATH, "map_spots.xml");

Заменяем на свое.Компилируем xrGame. Делаем копию старого файла из ЧН map_spots.xml с новым названием, например map_spots_load.xml (который есть в базе моей).

 

Возможно, если есть вызов из скриптов этого файла, то будет читаться скриптами файл map_spots.xml ЗП. Это надо учесть в будущем и исправить скрипт!!!

 

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Записал первое видео. Из ЗП дёрнул загрузочный экран-заставку. Прикольно, не то что было ранее, мизерные картинки.

Прошу прощения за лаги и тёмную картинку. Такая прога. Надо искать старый, добрый фрапс.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@aka_sektor

12 часов назад, aka_sektor сказал:

Слот шлема

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Стилизовать загрузочный экран ЧН под ЗП, можно в исходном коде. Но это делать наверное стоит, когда всё UI меняешь под ЗП, а так смысла нет просто добавлять. С художественной точки зрения, нужно править новую заставку из ЗП под стиль ЧН.

a470eaa2a272t.jpg

source_cs_1510\clearsky\engine\Layers\xrRender\dxApplicationRender.cpp

https://yadi.sk/i/6btfqi2q3LGHCE

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

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Первоочередная задача: исправить ядро, ограничение с памятью - ищу умных людей.

 

надо проверить это;

В 05.10.2010 в 01:33, Rolan сказал:

Ну вот пожалуй и самое интересное...Практика.


И так начнёмс...
Для начала сделайте копию файла xrEngine.exe или ХR_3DA.exe(смотря на что делаете, ЗП , ЧН или ТЧ)
Первое качаем WinHex(ссылка в шапке) или открываем любой другой Hex-редактор.
Открываем файл,если делаем на ЗП то это - xrEngine.exe , а если на ЧН- xrEngine.exe , а вот на Тень Чернобыля XR_3DA.exe.
Открыли и что Мы видим?Каие-то циферки и буковки,про это сразу забываем и изаем поиск,в поиск вбиваем GlobalMemoryStatusEx и ждём пока он найдёт.
Вот нашли мы эту строку и что дальше?А вот теперь смотрим на те циферки , выделяем окончание Ех у GlobalMemoryStatusEx выделилось как вы заметили не только Ех но и ещё 4 цифры , вот теперь это нужно удалить , те цифры которые были выделены заменяем нулями, то есть вот так


У вас выделились цифры 45 78 их заменяем нулями 00 00 Вот и всё, сохраняем.

Запускаем игру и смотрим, игра больше не тормозит у кого тормозила.

 

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
16 часов назад, warwer сказал:

У меня стоит эта правка... Толку - 0

А от неё и не будет толку, гляньте исходники. Как оно там вообще без вылета функционирует - не понятно.

C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\WinBase.h

 

Скрытый текст

 

typedef struct _MEMORYSTATUSEX {
    DWORD dwLength;
    DWORD dwMemoryLoad;
    DWORDLONG ullTotalPhys;
    DWORDLONG ullAvailPhys;
    DWORDLONG ullTotalPageFile;
    DWORDLONG ullAvailPageFile;
    DWORDLONG ullTotalVirtual;
    DWORDLONG ullAvailVirtual;
    DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

WINBASEAPI
BOOL
WINAPI
GlobalMemoryStatusEx(
    __out LPMEMORYSTATUSEX lpBuffer
    );

 

В движке всего один раз упоминается  X:\source_cs_1510\clearsky\engine\xrEngine\x_ray.cpp(504):    if ( ! GlobalMemoryStatusEx( &statex ) )

Если мы убираем Ex, то компилятор ругается:

11>.\x_ray.cpp(505) : error C2664: 'GlobalMemoryStatus' : cannot convert parameter 1 from 'MEMORYSTATUSEX *__w64 ' to 'LPMEMORYSTATUS'

 

 

 

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Полная функция:
// Фунция для тупых требований THQ и тупых американских пользователей
 

Скрытый текст

 

BOOL IsOutOfVirtualMemory()
{
#define VIRT_ERROR_SIZE 256
#define VIRT_MESSAGE_SIZE 512

    SECUROM_MARKER_HIGH_SECURITY_ON(1)

    MEMORYSTATUSEX statex;
    DWORD dwPageFileInMB = 0;
    DWORD dwPhysMemInMB = 0;
    HINSTANCE hApp = 0;
    char    pszError[ VIRT_ERROR_SIZE ];
    char    pszMessage[ VIRT_MESSAGE_SIZE ];

    ZeroMemory( &statex , sizeof( MEMORYSTATUSEX ) );
    statex.dwLength = sizeof( MEMORYSTATUSEX );
    
    if ( ! GlobalMemoryStatusEx( &statex ) )
        return 0;

    dwPageFileInMB = ( DWORD ) ( statex.ullTotalPageFile / ( 1024 * 1024 ) ) ;
    dwPhysMemInMB = ( DWORD ) ( statex.ullTotalPhys / ( 1024 * 1024 ) ) ;

    // Довольно отфонарное условие
    if ( ( dwPhysMemInMB > 500 ) && ( ( dwPageFileInMB + dwPhysMemInMB ) > 2500  ) )
        return 0;

    hApp = GetModuleHandle( NULL );

    if ( ! LoadString( hApp , RC_VIRT_MEM_ERROR , pszError , VIRT_ERROR_SIZE ) )
        return 0;
 
    if ( ! LoadString( hApp , RC_VIRT_MEM_TEXT , pszMessage , VIRT_MESSAGE_SIZE ) )
        return 0;

    MessageBox( NULL , pszMessage , pszError , MB_OK | MB_ICONHAND );

    SECUROM_MARKER_HIGH_SECURITY_OFF(1)

    return 1;
}

 

 

Что нам дают эти условия - возвращение ноль или один.

Возвращая 1 - игра не запускается вообще. Ноль эмоций.

 

Функуция ЗП //  для тупых требований THQ и тупых американских пользователей одинакова. Логично, что это не влияет на память, так как в ЗП она расшарена выше .

 

Эту функцию вообще можно упростить:

BOOL IsOutOfVirtualMemory()
{
    return 0;
}

И будет работать. Возможно возвращая 1 движок вылетает на рабочий стол? Надо проверить.

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
23 часа назад, warwer сказал:

Так же, как с полноценным использованием ядер проца больше одного.

Есть инфа, где посмотреть?

 

 

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Как всё запущено в СДК ЧН! Пришлось эдиторы под 10ку патчить Microsoft Application Compatibility Toolkit. Скрипты и конфиги не совметимы из игры с СДК.

Пытался уровень скомпилировать. Компиляторы: первый геометрии молчит - соответственно остальные матерятся. Пришлось свой расшареный из ЗП тащить - как вихрь налетел - чешит геометрию. Да уж!

А вот на компиляции сетки, я обломался.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@Zagolski , специально сегодня смотрел ядра - одно только работает в ЧН. Смысла нет - смысл есть. Да и вообще скоро, пора валить на Юнити. Ковыряем для того, что бы ковырять. Чем бы дитя не тешилась, лижь бы ....(сами знаете).

А чем еще заняться?

 

Ура! Я собрал xrSE_Factory.dll ЧН - это было нечто! Теперь АИ.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@warwer, вот кавер боевой ЧН. И Тут прыгает бот, но кавер один. Прыжок - это есть выход из кавера?

74767a003e68t.jpg

 

 

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Начну собирать разницу в gamedata и в движках. Сколько всего приходится править. Тыщи.

1. секции кофигов flesh_weak нет в ЗП.

2. секции конфигов boar_weak нет в ЗП.

3. секции конфигов bloodsucker_night_king нет в ЗП.

4. секции конфигов pseudodog_strong нет в ЗП...

pseudodog_strong
bloodsucker_redforest
bloodsucker_redhunter

 

Это только начало. Будет длинная портянка.

Этих считать: mar_csky_trader и подобные sim_default_csky_0 - наверно не стоит?

 

В СДК 07 уровень ЧН можно открыть, имея небольшие правки. Но наоборот ЗП уровень в ЧН СДК открыть из-за смарт-каверов, не реально  (скорее нецелесообразно).

Пришел к выводу, что уровни для ЧН создавать нужно в СДК 0.7

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
В 25.07.2017 в 05:16, Дизель сказал:

Пришел к выводу, что уровни для ЧН создавать нужно в СДК 0.7

Скрытый текст

Сам с собой разговариваю.

Вывод поспешный. Получается Франкинштейн.

Геометрию можно делать - даже нужно. Травку.

Но аи-сетка, геймграф и весь спавн - не читаемы ЧН.

Скрытый текст

Вот я заморичился!

 

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

Изменено пользователем Дизель
  • Полезно 1

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

×
×
  • Создать...