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

Редактирование движка X-Ray


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

Кто нить пробовал решать такую задачу: для рюкзака сделать ограничение кол-ва используемых ячеек(клеточек)? При этом оставив группировку предметов.

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

@AndreySol, это вроде в xml драг-дропа можно задать: unlimited="0" - ограничение размерами cols_num и rows_num, group_similar="1" - группировка похожих предметов.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий
4 часа назад, naxac сказал:

это вроде в xml драг-дропа можно задать: unlimited="0"

Это не работает, точнее -  работает криво. Флаг unlimited="1" просто позволяет динамически увеличивать емкость контейнера + включает отображение скроллбара. А мне надо именно четкое ограничение по кол-ву клеточек(ячеек). Просто, перед тем, как свое колхозить хотелось бы посмотреть как другие подобное делали...

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

А магазинное питание переносить в движок, кто-то когда-то пробовал, или я первый буду?

Просто любопытно...

  • Нравится 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
4 часа назад, Zander_driver сказал:

А магазинное питание переносить в движок, кто-то когда-то пробовал, или я первый буду?

Ты имеешь ввиду, проверить при перезарядке, есть ли в магазине патроны и, если есть, заспавнить пачку патронов, а магазин обнулить?

Наверное первый.

  • Нравится 1
  • Сомнительно 1
Ссылка на комментарий
только что, abramcumner сказал:

Ты имеешь ввиду, проверить при перезарядке, есть ли в магазине патроны и, если есть, заспавнить пачку патронов,

... нет...

  • Смешно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver, ну тогда рассказывай, что есть "магазинное питание в движке" :)

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

Ссылка на комментарий
только что, abramcumner сказал:

тогда рассказывай

Зачем... тема мода "магазинное питание" за авторством Кирага, существует много лет. Что это такое, можно там прочитать, вместо того чтобы скабрезничать.

То что вы выше написали, к магазинному питанию не имеет отношения.

  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
2 минуты назад, Zander_driver сказал:

То что вы выше написали, к магазинному питанию не имеет отношения.

Это единственное отличие магазинного питания от стандартного: пачка патронов не докладывается в магазин оружия, а заменяет магазин, вставленный в оружие.

  • Не согласен 1
Ссылка на комментарий
только что, abramcumner сказал:

Это единственное отличие

Нет.

Вам заняться нечем?

  • Не нравится 1
  • Смешно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
31 минуту назад, Zander_driver сказал:

Зачем... тема мода "магазинное питание" за авторством Кирага, существует много лет. Что это такое, можно там прочитать, вместо того чтобы скабрезничать.

А можно было просто уточнить. Телепаты в отпуске.

 

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

  • Согласен 2
  • Сомнительно 1
Ссылка на комментарий

@XinnogeN XinnogeN, слитые исходники вроде на 2008 собирали.

 

Товарищи двигоправы, такой вопрос. Делаю скриптовую миникарту, и появилась проблема с вращением статика на шф-разрешениях - карта куда-то "убегает", хотя под широкоформат я её размеры нигде не меняю. Вот видео, чтобы было понятней, клиппер убрал:

обычный монитор: https://yadi.sk/i/056Ku0gTcNaC1g

широкий: https://yadi.sk/i/XhOlsOWehonMCw

Хотел сделать сдвиг текстуры, но от чего зависит такое смещение и откуда плясать - не могу понять. Что там в движке не так работает при широких разрешениях?

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@naxac, убегает, потому что текстура рисуется с разным масштабом по осям: На 0:02 ширина складов больше, чем на 0:06(когда они повернуты на 90 градусов).

Может SetStretchTexture включен?

 

47 минут назад, naxac сказал:

Хотел сделать сдвиг текстуры, но от чего зависит такое смещение и откуда плясать - не могу понять.

Центр карты эллипс описывает, смещения будут тогда вида а * cosx, b * sinx. Замерить максимальное смещение текстуры по х и у, поделить на 2 - это и будут a и b.

 

Но по-хорошему надо разобраться с масштабом, тогда спец. смещения будут не нужны.

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

Наткнулся на непонятку...

Собственно, суть проблемы. Поставил VS, скачал исходники движка OGSR отсюда, Собрал. Release, x64.

Инструкции по адаптации модов на этот двигатель изучил, в самом первом приближении :rolleyes: все что надо сделал, упаковал свой мод xrCompress-ом, запускаю...

Движок думает 8 минут с черным экраном. Не добираясь до главного меню. То что он потом вылетает это ладно. Вылет = информация, разберусь, уберу вызовы того что больше не нужно, моя забота короче.

То что от запуска до начала попыток читать _g.script, проходит 8 минут - вот это вот, огорчает. Лог при этом образуется вот такой...
 

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

 

 


* Detected CPU: AMD FX-4330 Quad-Core Processor                 [AuthenticAMD], F111/M2/S0
* CPU features: RDTSC, MMX, SSE, SSE2, SSE3, MONITOR/MWAIT, SSSE3, SSE4.1, SSE4.2, SSE4a, AVX
* CPU cores: [2], threads: [4]
* CPU0 current freq: 4000 MHz, max freq: 4000 MHz
* CPU1 current freq: 4000 MHz, max freq: 4000 MHz
* CPU2 current freq: 4000 MHz, max freq: 4000 MHz
* CPU3 current freq: 4000 MHz, max freq: 4000 MHz
Initializing File System...
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#0], size: [2011603613]
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#1], size: [2027116103]
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#2], size: [1994756166]
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#3], size: [1993053021]
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#4], size: [1992622007]
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#5], size: [1992590392]
--Found base arch: [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata.db_pack_#6], size: [102689189]
using fs-ltx fsgame.ltx
--Found external arch: [mp_military_2.xdb0], size: [50350518]
FS: 57168 files cached, 12132Kb memory used.
Init FileSystem 7.333754 sec
[15.11.19 06:15:55.603] [OGSR Engine (x64)] build date: [Nov 15 2019 02:32:18]
[15.11.19 06:15:55.603] Working Directory: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin]
[15.11.19 06:15:55.603] CommandLine: ["E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe" ]
[15.11.19 06:15:56.920] TTAPI number of threads: [4]
[15.11.19 06:15:56.920] Initializing Engine...
[15.11.19 06:15:56.921] Starting INPUT device...
[15.11.19 06:15:57.722] refCount:m_pAdapter 1
[15.11.19 06:15:57.722] refCount:pFactory 1
[15.11.19 06:15:57.929] --[CEngineAPI::CreateRendererList] Available render modes [5]:
[15.11.19 06:15:57.929] --  [renderer_r2a]
[15.11.19 06:15:57.929] --  [renderer_r2]
[15.11.19 06:15:57.929] --  [renderer_r2.5]
[15.11.19 06:15:57.929] --  [renderer_r3]
[15.11.19 06:15:57.929] --  [renderer_r4]
[15.11.19 06:15:57.929] Executing config-script "user.ltx"...
[15.11.19 06:15:57.947] --[CCC_r2::Execute] Executing renderer: [renderer_r2], renderer_value: [1]
[15.11.19 06:15:57.947] [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\_appdata_\user.ltx] successfully loaded.
[15.11.19 06:15:57.947] --Loading DLL: [xrRender_R2.dll]
[15.11.19 06:15:57.949] --Loading DLL: [xrGame.dll]
[15.11.19 06:15:58.384] --------------------------------------------------------------------------------
[15.11.19 06:15:58.385] [8149MB] physical memory installed, [6025MB] available, [26] percent of memory in use
[15.11.19 06:15:58.385] PageFile usage: [142MB], Peak PageFile usage: [149MB]
[15.11.19 06:15:58.385] --------------------------------------------------------------------------------
[15.11.19 06:15:58.385] * [ D3D ]: textures[0 K]
[15.11.19 06:15:58.385] * [x-ray]: process heap[114854 K], render[0 K]
[15.11.19 06:15:58.385] * [x-ray]: economy: strings[40592 K], smem[0 K]
[15.11.19 06:15:58.385] SOUND: OpenAL: enumerate devices...
[15.11.19 06:15:58.385] SOUND: OpenAL: EnumerationExtension Present
[15.11.19 06:15:58.593] devices Generic Software
[15.11.19 06:15:58.593] SOUND: OpenAL: system  default SndDevice name is Generic Software
[15.11.19 06:15:58.902] SOUND: OpenAL: All available devices:
[15.11.19 06:15:58.902] 1. Generic Software, Spec Version 1.1 (default) eax[2] efx[no] xram[no]
[15.11.19 06:15:58.902] 2. OpenAL Soft, Spec Version 1.1  eax[0] efx[no] xram[no]
[15.11.19 06:15:58.915] Executing config-script "e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\config\default_controls.ltx"...
[15.11.19 06:15:58.976] [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\config\default_controls.ltx] successfully loaded.
[15.11.19 06:15:58.976] Executing config-script "user.ltx"...
[15.11.19 06:15:58.976] Executing config-script "e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\config\rspec_extreme.ltx"...
[15.11.19 06:15:58.988] ! Unknown command:  r__supersample
[15.11.19 06:15:58.988] [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\config\rspec_extreme.ltx] successfully loaded.
[15.11.19 06:15:58.988] ! Unknown command:  bemsg
[15.11.19 06:15:58.988] Executing config-script "e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\config\default_controls.ltx"...
[15.11.19 06:15:58.989] [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\config\default_controls.ltx] successfully loaded.
[15.11.19 06:15:58.989] ! Unknown command:  cam_fov
[15.11.19 06:15:58.989] ! Unknown command:  cl_cod_pickup_mode
[15.11.19 06:15:58.989] ! Unknown command:  g_autopickup
[15.11.19 06:15:58.989] ! Unknown command:  g_backrun
[15.11.19 06:15:58.989] ! Unknown command:  g_corpsenum
[15.11.19 06:15:58.990] ! Unknown command:  g_eventdelay
[15.11.19 06:15:58.990] ! Unknown command:  mm_mm_net_srv_dedicated
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_con_publicserver
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_con_spectator
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_con_spectator_on
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_battleye
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_empty
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_full
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_listen
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_pass
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_wo_ff
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_filter_wo_pass
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_srv_gamemode
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_srv_maxplayers
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_srv_name
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_srv_reinforcement_type
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_use_battleye
[15.11.19 06:15:58.990] ! Unknown command:  mm_net_weather_rateofchange
[15.11.19 06:15:58.990] ! Unknown command:  mouse_ui_sens
[15.11.19 06:15:58.990] ! Unknown command:  mouse_wheel_slot_changing
[15.11.19 06:15:58.990] ! Unknown command:  net_cl_icurvesize
[15.11.19 06:15:58.990] ! Unknown command:  net_cl_icurvetype
[15.11.19 06:15:58.990] ! Unknown command:  net_cl_interpolation
[15.11.19 06:15:58.990] ! Unknown command:  net_cl_log_data
[15.11.19 06:15:58.990] ! Unknown command:  net_compressor_enabled
[15.11.19 06:15:58.990] ! Unknown command:  net_compressor_gather_stats
[15.11.19 06:15:58.990] ! Unknown command:  net_dbg_dump_update_read
[15.11.19 06:15:58.990] ! Unknown command:  net_dbg_dump_update_write
[15.11.19 06:15:58.990] ! Unknown command:  net_dedicated_sleep
[15.11.19 06:15:58.990] ! Unknown command:  net_sv_gpmode
[15.11.19 06:15:58.990] ! Unknown command:  net_sv_log_data
[15.11.19 06:15:58.990] ! Unknown command:  net_sv_pending_lim
[15.11.19 06:15:58.990] ! Unknown command:  net_sv_update_rate
[15.11.19 06:15:59.005] ! Unknown command:  r2_aa
[15.11.19 06:15:59.005] ! Unknown command:  r2_aa_mode
[15.11.19 06:15:59.005] ! Unknown command:  r2_ao
[15.11.19 06:15:59.005] ! Unknown command:  r2_ao_intensity
[15.11.19 06:15:59.005] ! Unknown command:  r2_blur_params
[15.11.19 06:15:59.005] ! Unknown command:  r2_color_grading
[15.11.19 06:15:59.005] ! Unknown command:  r2_details_opt
[15.11.19 06:15:59.023] ~ Invalid syntax in call to 'r2_dof'
[15.11.19 06:15:59.023] ~ Valid arguments: vector3 in range [-10000.000000,-10000.000000,0.000000]-[10000.000000,10000.000000,10000.000000]
[15.11.19 06:15:59.023] ! Unknown command:  r2_dof_control
[15.11.19 06:15:59.023] ! Unknown command:  r2_dof_quality
[15.11.19 06:15:59.023] ! Unknown command:  r2_dof_reload
[15.11.19 06:15:59.023] ! Unknown command:  r2_dof_zoom
[15.11.19 06:15:59.023] ! Unknown command:  r2_image_sharpening
[15.11.19 06:15:59.023] ! Unknown command:  r2_lens_dirt
[15.11.19 06:15:59.023] ! Unknown command:  r2_lens_dirt_control
[15.11.19 06:15:59.023] ! Unknown command:  r2_lens_flare
[15.11.19 06:15:59.023] ! Unknown command:  r2_lights_shadow_fade
[15.11.19 06:15:59.023] ! Unknown command:  r2_mblur_amount
[15.11.19 06:15:59.023] ! Unknown command:  r2_puddles
[15.11.19 06:15:59.023] ! Unknown command:  r2_rain_params
[15.11.19 06:15:59.023] ! Unknown command:  r2_reflections
[15.11.19 06:15:59.023] ! Unknown command:  r2_reflections_mode
[15.11.19 06:15:59.023] ! Unknown command:  r2_render_mode
[15.11.19 06:15:59.023] ~ Invalid syntax in call to 'r2_slight_fade'
[15.11.19 06:15:59.023] ~ Valid arguments: float value in range [0.200,1.000]
[15.11.19 06:15:59.023] ! Unknown command:  r2_soft_shadows
[15.11.19 06:15:59.023] ~ Invalid syntax in call to 'r2_ssao'
[15.11.19 06:15:59.023] ~ Valid arguments: st_opt_off/st_opt_low/st_opt_medium/st_opt_high
[15.11.19 06:15:59.023] ~ Invalid syntax in call to 'r2_steep_parallax'
[15.11.19 06:15:59.023] ~ Valid arguments: 'on/off' or '1/0'
[15.11.19 06:15:59.023] ! Unknown command:  r2_sunshafts
[15.11.19 06:15:59.023] ! Unknown command:  r2_sunshafts_mode
[15.11.19 06:15:59.023] ! Unknown command:  r2_tf_mipbias
[15.11.19 06:15:59.023] ! Unknown command:  r2_true_sun_shadows
[15.11.19 06:15:59.023] ! Unknown command:  r2_volumetric_fog
[15.11.19 06:15:59.023] ! Unknown command:  r2_wet_surfaces
[15.11.19 06:15:59.023] ! Unknown command:  r__bloodmarks
[15.11.19 06:15:59.023] ~ Invalid syntax in call to 'r__geometry_lod'
[15.11.19 06:15:59.023] ~ Valid arguments: float value in range [0.100,3.000]
[15.11.19 06:15:59.024] ! Unknown command:  r__supersample
[15.11.19 06:15:59.024] --[CCC_r2::Execute] Executing renderer: [renderer_r2], renderer_value: [1]
[15.11.19 06:15:59.024] ! Unknown command:  rs_detail
[15.11.19 06:15:59.024] ! Unknown command:  snd_crossfeed
[15.11.19 06:15:59.024] ! Unknown command:  snd_hrtf
[15.11.19 06:15:59.024] ! Unknown command:  snd_phishing
[15.11.19 06:15:59.024] ! Unknown command:  snd_resampler
[15.11.19 06:15:59.024] ! Unknown command:  snd_stereo_mode
[15.11.19 06:15:59.024] ! Unknown command:  sv_anomalies_enabled
[15.11.19 06:15:59.024] ! Unknown command:  sv_anomalies_length
[15.11.19 06:15:59.024] ! Unknown command:  sv_artefact_respawn_delta
[15.11.19 06:15:59.024] ! Unknown command:  sv_artefact_spawn_force
[15.11.19 06:15:59.024] ! Unknown command:  sv_artefact_stay_time
[15.11.19 06:15:59.024] ! Unknown command:  sv_artefacts_count
[15.11.19 06:15:59.024] ! Unknown command:  sv_auto_team_balance
[15.11.19 06:15:59.024] ! Unknown command:  sv_auto_team_swap
[15.11.19 06:15:59.024] ! Unknown command:  sv_bearercantsprint
[15.11.19 06:15:59.024] ! Unknown command:  sv_client_reconnect_time
[15.11.19 06:15:59.024] ! Unknown command:  sv_console_update_rate
[15.11.19 06:15:59.024] ! Unknown command:  sv_dedicated_server_update_rate
[15.11.19 06:15:59.024] ! Unknown command:  sv_dmgblockindicator
[15.11.19 06:15:59.024] ! Unknown command:  sv_dmgblocktime
[15.11.19 06:15:59.024] ! Unknown command:  sv_dump_online_statistics_period
[15.11.19 06:15:59.024] ! Unknown command:  sv_forcerespawn
[15.11.19 06:15:59.024] ! Unknown command:  sv_fraglimit
[15.11.19 06:15:59.024] ! Unknown command:  sv_friendly_indicators
[15.11.19 06:15:59.024] ! Unknown command:  sv_friendly_names
[15.11.19 06:15:59.024] ! Unknown command:  sv_friendlyfire
[15.11.19 06:15:59.024] ! Unknown command:  sv_hail_to_winner_time
[15.11.19 06:15:59.024] ! Unknown command:  sv_max_ping_limit
[15.11.19 06:15:59.024] ! Unknown command:  sv_pda_hunt
[15.11.19 06:15:59.024] ! Unknown command:  sv_reinforcement_time
[15.11.19 06:15:59.024] ! Unknown command:  sv_remove_corpse
[15.11.19 06:15:59.024] ! Unknown command:  sv_remove_weapon
[15.11.19 06:15:59.024] ! Unknown command:  sv_returnplayers
[15.11.19 06:15:59.024] ! Unknown command:  sv_rpoint_freeze_time
[15.11.19 06:15:59.024] ! Unknown command:  sv_shieldedbases
[15.11.19 06:15:59.024] ! Unknown command:  sv_spectr_firsteye
[15.11.19 06:15:59.024] ! Unknown command:  sv_spectr_freefly
[15.11.19 06:15:59.024] ! Unknown command:  sv_spectr_freelook
[15.11.19 06:15:59.024] ! Unknown command:  sv_spectr_lookat
[15.11.19 06:15:59.024] ! Unknown command:  sv_spectr_teamcamera
[15.11.19 06:15:59.024] ! Unknown command:  sv_statistic_collect
[15.11.19 06:15:59.024] ! Unknown command:  sv_teamkill_limit
[15.11.19 06:15:59.024] ! Unknown command:  sv_teamkill_punish
[15.11.19 06:15:59.024] ! Unknown command:  sv_timelimit
[15.11.19 06:15:59.024] ! Unknown command:  sv_vote_enabled
[15.11.19 06:15:59.024] ! Unknown command:  sv_vote_participants
[15.11.19 06:15:59.024] ! Unknown command:  sv_vote_quota
[15.11.19 06:15:59.024] ! Unknown command:  sv_vote_time
[15.11.19 06:15:59.024] ! Unknown command:  sv_warm_up
[15.11.19 06:15:59.024] [e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\_appdata_\user.ltx] successfully loaded.
[15.11.19 06:15:59.024] SOUND: Selected device is Generic Software
[15.11.19 06:15:59.051] * sound: EAX 2.0 extension: present
[15.11.19 06:15:59.051] * sound: EAX 2.0 deferred: present
[15.11.19 06:15:59.051] * sound : cache: 65537 kb, 4856 lines, 13820 bpl
[15.11.19 06:15:59.058] Starting RENDER device...
[15.11.19 06:15:59.074] * GPU [vendor:1002]-[device:6939]: AMD Radeon (TM) R9 380 Series
[15.11.19 06:15:59.074] * GPU driver: 22.19.171.257
[15.11.19 06:15:59.437] * CREATE: DeviceREF: 1
[15.11.19 06:15:59.437] * Vertex Processor: PURE HARDWARE
[15.11.19 06:15:59.437] *     Texture memory: 4072 M
[15.11.19 06:15:59.437] *          DDI-level: 9.0
[15.11.19 06:15:59.441] * GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
[15.11.19 06:15:59.441] * GPU vertex cache: unrecognized, 16
[15.11.19 06:33:28.512] --[CHWCaps::Update] Detected GpuNum : [1]
[15.11.19 06:33:28.523] * DVB created: 16384K
[15.11.19 06:33:28.523] * DIB created: 512K
[15.11.19 06:33:28.598] ! Version conflict in shader 'models\lightplanes_00'
[15.11.19 06:33:28.598] ! Version conflict in shader 'models\lightplanesself'
[15.11.19 06:33:28.598] ! Version conflict in shader 'models\model_puh'
[15.11.19 06:33:28.598] ! Version conflict in shader 'models\model_refl'
[15.11.19 06:33:28.599] ! Version conflict in shader 'models\xbrainglass'
[15.11.19 06:33:28.599] ! Version conflict in shader 'models\xdistortcolorlinv'
[15.11.19 06:33:28.599] ! Version conflict in shader 'models\xglass'
[15.11.19 06:33:28.599] ! Version conflict in shader 'models\xglass2'
[15.11.19 06:33:28.599] ! Version conflict in shader 'models\xlens'
[15.11.19 06:33:28.599] ! Version conflict in shader 'selflight_static'
[15.11.19 06:33:28.602] [CTextureDescrMngr::LoadLTX] count of *textures*.ltx files: [1]
[15.11.19 06:33:29.019] * NULLRT supported
[15.11.19 06:33:29.019] * ...and used
[15.11.19 06:33:29.019] * HWDST/PCF supported and used
[15.11.19 06:33:29.020] compiling shader dumb
[15.11.19 06:33:29.233] compiling shader dumb
[15.11.19 06:33:29.270] compiling shader accum_mask
[15.11.19 06:33:29.273] compiling shader accum_sun_mask
[15.11.19 06:33:29.276] compiling shader copy_p
[15.11.19 06:33:29.320] compiling shader accum_volume
[15.11.19 06:33:29.323] compiling shader copy
[15.11.19 06:33:29.326] compiling shader accum_sun_near
[15.11.19 06:33:29.445] compiling shader accum_sun
[15.11.19 06:33:29.452] compiling shader accum_sun_cascade
[15.11.19 06:33:29.461] compiling shader accum_sun_cascade_far
[15.11.19 06:33:29.495] compiling shader accum_omni_unshadowed
[15.11.19 06:33:29.499] compiling shader accum_omni_normal
[15.11.19 06:33:29.508] compiling shader accum_omni_transluent
[15.11.19 06:33:29.530] compiling shader accum_spot_unshadowed
[15.11.19 06:33:29.538] compiling shader accum_spot_normal
[15.11.19 06:33:29.547] compiling shader accum_spot_fullsize
[15.11.19 06:33:29.557] compiling shader accum_volumetric
[15.11.19 06:33:29.566] compiling shader accum_volumetric
[15.11.19 06:33:29.571] compiling shader accum_indirect
[15.11.19 06:33:29.576] compiling shader bloom_build
[15.11.19 06:33:29.580] compiling shader bloom_filter
[15.11.19 06:33:29.585] compiling shader bloom_filter_f
[15.11.19 06:33:29.602] compiling shader bloom_luminance_1
[15.11.19 06:33:29.606] compiling shader bloom_luminance_2
[15.11.19 06:33:29.611] compiling shader bloom_luminance_3
[15.11.19 06:33:29.617] compiling shader combine_1
[15.11.19 06:33:29.628] compiling shader combine_1
[15.11.19 06:33:29.632] compiling shader combine_2_NAA
[15.11.19 06:33:29.636] compiling shader combine_2_NAA_D
[15.11.19 06:33:29.641] compiling shader combine_volumetric
[15.11.19 06:33:29.653] compiling shader ogsr_rain_drops
[15.11.19 06:33:30.193] compiling shader fxaa_main
[15.11.19 06:33:34.529] compiling shader fxaa_main
[15.11.19 06:33:34.589] compiling shader postprocess
[15.11.19 06:33:34.600] compiling shader postprocess_CM
[15.11.19 06:33:34.605] compiling shader distort
[15.11.19 06:33:34.666] compiling shader particle
[15.11.19 06:33:34.670] compiling shader particle
[15.11.19 06:33:34.673] compiling shader particle_s-add
[15.11.19 06:33:34.677] compiling shader particle-clip
[15.11.19 06:33:34.680] compiling shader particle_distort
[15.11.19 06:33:34.683] compiling shader particle_s-blend
[15.11.19 06:33:34.687] compiling shader particle_s-aadd
[15.11.19 06:33:34.775] compiling shader deffer_particle
[15.11.19 06:33:34.780] compiling shader deffer_particle
[15.11.19 06:33:35.805] compiling shader portal
[15.11.19 06:33:35.808] compiling shader portal
[15.11.19 06:33:35.815] compiling shader simple_color
[15.11.19 06:33:35.817] compiling shader editor
[15.11.19 06:33:36.144] *********************************************************************************
[15.11.19 06:33:36.144] [print_output(e:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r_ogsr\gamedata\scripts\_g.script)] SCRIPT RUNTIME ERROR:
...publishing\s.t.a.l.k.e.r_ogsr\gamedata\scripts\_g.script:2: attempt to call global 'RvP' (a nil value)
stack traceback:
[15.11.19 06:33:36.144] *********************************************************************************
[15.11.19 06:33:36.144] 
FATAL ERROR

[error]Expression    : assertion failed
[error]Function      : CScriptStorage::do_file
[error]File          : e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_storage.cpp
[error]Line          : 332
[error]Description   : false

[15.11.19 06:33:36.144] ***************************[ScriptCrashHandler]**********************************
[15.11.19 06:33:36.144] stack traceback:
[15.11.19 06:33:36.144] *********************************************************************************
[15.11.19 06:33:36.144] ********************************************************************************
[15.11.19 06:33:45.553] !!stack trace:
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61AA3E78], Fun: [BuildStackTrace()] + [48 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\stacktrace_collector.cpp-->152]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA74B], Fun: [LogStackTrace()] + [51 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->32] + [13 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA5A2], Fun: [xrDebug::backend()] + [174 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->149]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA2C3], Fun: [xrDebug::fail()] + [47 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->198]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB605EF65A], Fun: [CScriptStorage::do_file()] + [406 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_storage.cpp-->332] + [45 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB605EA38C], Fun: [CScriptEngine::process_file_if_exists()] + [184 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_engine.cpp-->309]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB605E9FF8], Fun: [CScriptEngine::init()] + [208 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_engine.cpp-->152]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB6072CF62], Fun: [CObjectFactory::register_script_classes()] + [34 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\object_factory_script.cpp-->58]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB6071C525], Fun: [xrFactory_Create()] + [45 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrgame\xrgame.cpp-->18] + [32 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF7699EEE28], Fun: [Startup()] + [196 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xr_3da\x_ray.cpp-->201] + [19 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF7699EF1F6], Fun: [WinMain_impl()] + [478 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xr_3da\x_ray.cpp-->414]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF7699EC90D], Fun: [WinMain()] + [73 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xr_3da\x_ray.cpp-->449]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF769A4EF7A], Fun: [__scrt_common_main_seh()] + [262 byte(s)], File-->Line: [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl-->288] + [33 byte(s)]
! Module: [C:\Windows\system32\KERNEL32.DLL], AddrPC.Offset: [00007FFB821B1611], Fun: [BaseThreadInitThunk()] + [13 byte(s)]
! Module: [C:\Windows\SYSTEM32\ntdll.dll], AddrPC.Offset: [00007FFB841564AD], Fun: [RtlUserThreadStart()] + [29 byte(s)]
[15.11.19 06:33:45.554] ********************************************************************************
[15.11.19 06:34:23.388] 
FATAL ERROR

[error]Expression    : ExitFromWinMain
[error]Function      : xrDebug::_initialize::<lambda_08822b0990e05ebdfe55e73d1267a8a5>::operator ()
[error]File          : e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp
[error]Line          : 518
[error]Description   : Unexpected application exit!

[15.11.19 06:34:23.389] ***************************[ScriptCrashHandler]**********************************
[15.11.19 06:34:23.389] stack traceback:
[15.11.19 06:34:23.389] *********************************************************************************
[15.11.19 06:34:23.389] ********************************************************************************
[15.11.19 06:34:23.715] !!stack trace:
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61AA3E78], Fun: [BuildStackTrace()] + [48 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\stacktrace_collector.cpp-->152]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA74B], Fun: [LogStackTrace()] + [51 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->32] + [13 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA5A2], Fun: [xrDebug::backend()] + [174 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->149]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACB320], Fun: [<lambda_08822b0990e05ebdfe55e73d1267a8a5>::<lambda_invoker_cdecl>()] + [80 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->518] + [80 byte(s)]
! Module: [C:\Windows\SYSTEM32\ucrtbase.DLL], AddrPC.Offset: [00007FFB619A4577], Fun: [time64()] + [359 byte(s)]
! Module: [C:\Windows\SYSTEM32\ucrtbase.DLL], AddrPC.Offset: [00007FFB6199A2E7], Fun: [register_onexit_function()] + [135 byte(s)]
! Module: [C:\Windows\SYSTEM32\ucrtbase.DLL], AddrPC.Offset: [00007FFB619954D1], Fun: [execute_onexit_table()] + [49 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACE70E], Fun: [dllmain_crt_process_detach()] + [82 byte(s)], File-->Line: [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp-->108]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACE834], Fun: [dllmain_dispatch()] + [232 byte(s)], File-->Line: [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp-->212] + [13 byte(s)]
! Module: [C:\Windows\SYSTEM32\ntdll.dll], AddrPC.Offset: [00007FFB840FA96D], Fun: [RtlActivateActivationContextUnsafeFast()] + [261 byte(s)]
! Module: [C:\Windows\SYSTEM32\ntdll.dll], AddrPC.Offset: [00007FFB840F9DD2], Fun: [LdrShutdownProcess()] + [322 byte(s)]
! Module: [C:\Windows\SYSTEM32\ntdll.dll], AddrPC.Offset: [00007FFB840F7828], Fun: [RtlExitUserProcess()] + [120 byte(s)]
! Module: [C:\Windows\system32\KERNEL32.DLL], AddrPC.Offset: [00007FFB821B4FF6], Fun: [FatalExit()] + [10 byte(s)]
! Module: [C:\Windows\SYSTEM32\ucrtbase.DLL], AddrPC.Offset: [00007FFB619FBBE6], Fun: [wassert()] + [854 byte(s)]
! Module: [C:\Windows\SYSTEM32\ucrtbase.DLL], AddrPC.Offset: [00007FFB619FBB3E], Fun: [wassert()] + [686 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA627], Fun: [xrDebug::backend()] + [307 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->168] + [8 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrCore.dll], AddrPC.Offset: [00007FFB61ACA2C3], Fun: [xrDebug::fail()] + [47 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrcore\xrdebugnew.cpp-->198]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB605EF65A], Fun: [CScriptStorage::do_file()] + [406 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_storage.cpp-->332] + [45 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB605EA38C], Fun: [CScriptEngine::process_file_if_exists()] + [184 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_engine.cpp-->309]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB605E9FF8], Fun: [CScriptEngine::init()] + [208 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\script_engine.cpp-->152]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB6072CF62], Fun: [CObjectFactory::register_script_classes()] + [34 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\common_ai\object_factory_script.cpp-->58]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrGame.dll], AddrPC.Offset: [00007FFB6071C525], Fun: [xrFactory_Create()] + [45 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xrgame\xrgame.cpp-->18] + [32 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF7699EEE28], Fun: [Startup()] + [196 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xr_3da\x_ray.cpp-->201] + [19 byte(s)]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF7699EF1F6], Fun: [WinMain_impl()] + [478 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xr_3da\x_ray.cpp-->414]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF7699EC90D], Fun: [WinMain()] + [73 byte(s)], File-->Line: [e:\storage\programming\cpp\xray\ogsr5\ogsr-engine-main\ogsr-engine-main\ogsr_engine\xr_3da\x_ray.cpp-->449]
! Module: [E:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R_OGSR\bin\xrEngine.exe], AddrPC.Offset: [00007FF769A4EF7A], Fun: [__scrt_common_main_seh()] + [262 byte(s)], File-->Line: [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl-->288] + [33 byte(s)]
! Module: [C:\Windows\system32\KERNEL32.DLL], AddrPC.Offset: [00007FFB821B1611], Fun: [BaseThreadInitThunk()] + [13 byte(s)]
! Module: [C:\Windows\SYSTEM32\ntdll.dll], AddrPC.Offset: [00007FFB841564AD], Fun: [RtlUserThreadStart()] + [29 byte(s)]
[15.11.19 06:34:23.715] ********************************************************************************

 

 

 

 

 

Чем таким движок был занят 8 минут, не добравшись до главного меню, я из этого лога не понял. Хотя, время на строках лога проставлено. Подскажите, что я делаю не так, или в какую сторону копать, хотя бы.

P.S. Все то, на что он ругается "Unknown command", из user.ltx я убрал, но результат это не изменило - висит 8 минут (время стабильное, причем), прежде чем давать какую-либо информацию.

 

Edit:

Ан нет. Время не стабильное. Убрал все лишнее из _g.script (На него больше вообще не ругается, вылетает от других скриптов дальше) - время зависания выросло до 22 минут.

Как он это умудряется делать до начала чтения хотя-бы _g.script, я вообще не понимаю... чертовщина какая-то.

 

Edit 2.
Затык здесь.

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


#include "stdafx.h" #include "hwcaps.h" #include "hw.h" #include "../../xr_3da/AMDGPUTransferee.h" #include "../../xr_3da/NvGPUTransferee.h" u32 GetGpuNum() { try { if (!AMDData) AMDData = new CAMDReader(); if (!NvData) NvData = new CNvReader(); if (CAMDReader::bAMDSupportADL) return AMDData->GetGPUCount() > 0 ? AMDData->GetGPUCount() : 1; else if (CNvReader::bSupport) return NvData->GetGPUCount() > 0 ? NvData->GetGPUCount() : 1; else return 1; } catch (...) { return 1; } } #if !defined(USE_DX10) && !defined(USE_DX11) void CHWCaps::Update() { D3DCAPS9 caps; HW.pDevice->GetDeviceCaps (&caps); // ***************** GEOMETRY geometry_major = u16 ( (u32(caps.VertexShaderVersion)&(0xf << 8ul))>>8 ); geometry_minor = u16 ( (u32(caps.VertexShaderVersion)&0xf) ); geometry.bSoftware = (caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)==0; geometry.bPointSprites = FALSE; geometry.bNPatches = (caps.DevCaps & D3DDEVCAPS_NPATCHES)!=0; DWORD cnt = (caps.MaxVertexShaderConst); clamp<DWORD>(cnt,0,256); geometry.dwRegisters = cnt; geometry.dwInstructions = 256; geometry.dwClipPlanes = _min(caps.MaxUserClipPlanes,15); geometry.bVTF = (geometry_major>=3) && HW.support(D3DFMT_R32F,D3DRTYPE_TEXTURE,D3DUSAGE_QUERY_VERTEXTEXTURE); // ***************** PIXEL processing raster_major = u16 ( u32(u32(caps.PixelShaderVersion)&u32(0xf << 8ul))>>8 ); raster_minor = u16 ( u32(u32(caps.PixelShaderVersion)&u32(0xf)) ); raster.dwStages = caps.MaxSimultaneousTextures; raster.bNonPow2 = ((caps.TextureCaps & D3DPTEXTURECAPS_NONPOW2CONDITIONAL)!=0) || ((caps.TextureCaps & D3DPTEXTURECAPS_POW2)==0); raster.bCubemap = (caps.TextureCaps & D3DPTEXTURECAPS_CUBEMAP)!=0; raster.dwMRT_count = (caps.NumSimultaneousRTs); raster.b_MRT_mixdepth = (caps.PrimitiveMiscCaps & D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS)!=0; raster.dwInstructions = (caps.PS20Caps.NumInstructionSlots); // ***************** Info Msg ("* GPU shading: vs(%x/%d.%d/%d), ps(%x/%d.%d/%d)", caps.VertexShaderVersion, geometry_major, geometry_minor, CAP_VERSION(geometry_major, geometry_minor), caps.PixelShaderVersion, raster_major, raster_minor, CAP_VERSION(raster_major, raster_minor) ); // *******1********** Vertex cache ID3DQuery* q_vc; D3DDEVINFO_VCACHE vc; HRESULT _hr = HW.pDevice->CreateQuery(D3DQUERYTYPE_VCACHE,&q_vc); if (FAILED(_hr)) { vc.OptMethod = 0; vc.CacheSize = 16; geometry.dwVertexCache = 16; } else { q_vc->Issue (D3DISSUE_END); q_vc->GetData (&vc,sizeof(vc),D3DGETDATA_FLUSH); _RELEASE (q_vc); if (1==vc.OptMethod ) geometry.dwVertexCache = vc.CacheSize; else geometry.dwVertexCache = 16; } Msg ("* GPU vertex cache: %s, %d",(1==vc.OptMethod)?"recognized":"unrecognized",u32(geometry.dwVertexCache)); // *******1********** Compatibility : vertex shader if (0==raster_major) geometry_major=0; // Disable VS if no PS #ifdef _EDITOR geometry_major = 0; #endif // bTableFog = FALSE; //BOOL (caps.RasterCaps&D3DPRASTERCAPS_FOGTABLE); // Detect if stencil available bStencil = FALSE; IDirect3DSurface9* surfZS=0; D3DSURFACE_DESC surfDESC; CHK_DX (HW.pDevice->GetDepthStencilSurface(&surfZS)); R_ASSERT (surfZS); CHK_DX (surfZS->GetDesc(&surfDESC)); _RELEASE (surfZS); switch (surfDESC.Format) { case D3DFMT_D15S1: bStencil = TRUE; break; case D3DFMT_D24S8: bStencil = TRUE; break; case D3DFMT_D24X4S4: bStencil = TRUE; break; } // Scissoring if (caps.RasterCaps & D3DPRASTERCAPS_SCISSORTEST) bScissor = TRUE; else bScissor = FALSE; // Stencil relative caps u32 dwStencilCaps = caps.StencilCaps; if( (!(dwStencilCaps & D3DSTENCILCAPS_INCR) && !(dwStencilCaps & D3DSTENCILCAPS_INCRSAT)) ||(!(dwStencilCaps & D3DSTENCILCAPS_DECR) && !(dwStencilCaps & D3DSTENCILCAPS_DECRSAT))) { soDec = soInc = D3DSTENCILOP_KEEP; dwMaxStencilValue = 0; } else { // Prefer sat ops that cap at 0/max, but can use other ones as long as enough stencil bits soInc=(dwStencilCaps & D3DSTENCILCAPS_INCRSAT)? D3DSTENCILOP_INCRSAT:D3DSTENCILOP_INCR; soDec=(dwStencilCaps & D3DSTENCILCAPS_DECRSAT)? D3DSTENCILOP_DECRSAT:D3DSTENCILOP_DECR; dwMaxStencilValue=(1<<8)-1; } // DEV INFO iGPUNum = GetGpuNum(); Msg("--[%s] Detected GpuNum : [%u]", __FUNCTION__, iGPUNum); } #else // USE_DX10 void CHWCaps::Update() { // ***************** GEOMETRY geometry_major = 4; geometry_minor = 0; geometry.bSoftware = FALSE; geometry.bPointSprites = FALSE; geometry.bNPatches = FALSE; DWORD cnt = 256; clamp<DWORD>(cnt,0,256); geometry.dwRegisters = cnt; geometry.dwInstructions = 256; geometry.dwClipPlanes = _min(6,15); geometry.bVTF = TRUE; // ***************** PIXEL processing raster_major = 4; raster_minor = 0; raster.dwStages = 15; raster.bNonPow2 = TRUE; raster.bCubemap = TRUE; raster.dwMRT_count = 4; //raster.b_MRT_mixdepth = FALSE; raster.b_MRT_mixdepth = TRUE; raster.dwInstructions = 256; // ***************** Info Msg ("* GPU shading: vs(%x/%d.%d/%d), ps(%x/%d.%d/%d)", 0, geometry_major, geometry_minor, CAP_VERSION(geometry_major, geometry_minor), 0, raster_major, raster_minor, CAP_VERSION(raster_major, raster_minor) ); // *******1********** Vertex cache // TODO: DX10: Find a way to detect cache size geometry.dwVertexCache = 24; Msg ("* GPU vertex cache: %s, %d","unrecognized",u32(geometry.dwVertexCache)); // *******1********** Compatibility : vertex shader if (0==raster_major) geometry_major=0; // Disable VS if no PS // bTableFog = FALSE; //BOOL (caps.RasterCaps&D3DPRASTERCAPS_FOGTABLE); // Detect if stencil available bStencil = TRUE; // Scissoring bScissor = TRUE; // Stencil relative caps soInc=D3DSTENCILOP_INCRSAT; soDec=D3DSTENCILOP_DECRSAT; dwMaxStencilValue=(1<<8)-1; // DEV INFO iGPUNum = GetGpuNum(); Msg("--[%s] Detected GpuNum : [%u]", __FUNCTION__, iGPUNum); } #endif // USE_DX10

#include "stdafx.h"

#include "hwcaps.h"
#include "hw.h"

#include "../../xr_3da/AMDGPUTransferee.h"
#include "../../xr_3da/NvGPUTransferee.h"

u32 GetGpuNum()
{
	try {
		if (!AMDData) AMDData = new CAMDReader();
		if (!NvData) NvData = new CNvReader();

		if (CAMDReader::bAMDSupportADL)
			return AMDData->GetGPUCount() > 0 ? AMDData->GetGPUCount() : 1;
		else if (CNvReader::bSupport)
			return NvData->GetGPUCount() > 0 ? NvData->GetGPUCount() : 1;
		else
			return 1;
	}
	catch (...) {
		return 1;
	}
}

#if !defined(USE_DX10) && !defined(USE_DX11)
void CHWCaps::Update()
{
	D3DCAPS9					caps;
	HW.pDevice->GetDeviceCaps	(&caps);

	// ***************** GEOMETRY
	geometry_major				= u16 ( (u32(caps.VertexShaderVersion)&(0xf << 8ul))>>8 );
	geometry_minor				= u16 ( (u32(caps.VertexShaderVersion)&0xf) );
	geometry.bSoftware			= (caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)==0;
	geometry.bPointSprites		= FALSE;
	geometry.bNPatches			= (caps.DevCaps & D3DDEVCAPS_NPATCHES)!=0;
	DWORD cnt					= (caps.MaxVertexShaderConst);
	clamp<DWORD>(cnt,0,256);
	geometry.dwRegisters		= cnt;
	geometry.dwInstructions		= 256;
	geometry.dwClipPlanes		= _min(caps.MaxUserClipPlanes,15);
	geometry.bVTF				= (geometry_major>=3) && HW.support(D3DFMT_R32F,D3DRTYPE_TEXTURE,D3DUSAGE_QUERY_VERTEXTEXTURE);

	// ***************** PIXEL processing
	raster_major				= u16 ( u32(u32(caps.PixelShaderVersion)&u32(0xf << 8ul))>>8 );
	raster_minor				= u16 ( u32(u32(caps.PixelShaderVersion)&u32(0xf)) );
	raster.dwStages				= caps.MaxSimultaneousTextures;
	raster.bNonPow2				= ((caps.TextureCaps & D3DPTEXTURECAPS_NONPOW2CONDITIONAL)!=0)  || ((caps.TextureCaps & D3DPTEXTURECAPS_POW2)==0);
	raster.bCubemap				= (caps.TextureCaps & D3DPTEXTURECAPS_CUBEMAP)!=0;
	raster.dwMRT_count			= (caps.NumSimultaneousRTs);
	raster.b_MRT_mixdepth		= (caps.PrimitiveMiscCaps & D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS)!=0;
	raster.dwInstructions		= (caps.PS20Caps.NumInstructionSlots);

	// ***************** Info
	Msg							("* GPU shading: vs(%x/%d.%d/%d), ps(%x/%d.%d/%d)",
		caps.VertexShaderVersion,	geometry_major, geometry_minor, CAP_VERSION(geometry_major,	geometry_minor),
		caps.PixelShaderVersion,	raster_major,	raster_minor,	CAP_VERSION(raster_major,	raster_minor)
		);

	// *******1********** Vertex cache
	ID3DQuery*	q_vc;
	D3DDEVINFO_VCACHE	vc;
	HRESULT _hr			= HW.pDevice->CreateQuery(D3DQUERYTYPE_VCACHE,&q_vc);
	if (FAILED(_hr))
	{
		vc.OptMethod			= 0;
		vc.CacheSize			= 16;
		geometry.dwVertexCache	= 16;
	} else {
		q_vc->Issue			(D3DISSUE_END);
		q_vc->GetData		(&vc,sizeof(vc),D3DGETDATA_FLUSH);
		_RELEASE			(q_vc);
		if (1==vc.OptMethod	)	geometry.dwVertexCache	= vc.CacheSize;
		else					geometry.dwVertexCache	= 16;
	}
	Msg					("* GPU vertex cache: %s, %d",(1==vc.OptMethod)?"recognized":"unrecognized",u32(geometry.dwVertexCache));

	// *******1********** Compatibility : vertex shader
	if (0==raster_major)		geometry_major=0;		// Disable VS if no PS
#ifdef _EDITOR
	geometry_major		= 0;
#endif

	//
	bTableFog			=	FALSE;	//BOOL	(caps.RasterCaps&D3DPRASTERCAPS_FOGTABLE);

	// Detect if stencil available
	bStencil			=	FALSE;
	IDirect3DSurface9*	surfZS=0;
	D3DSURFACE_DESC		surfDESC;
	CHK_DX		(HW.pDevice->GetDepthStencilSurface(&surfZS));
	R_ASSERT	(surfZS);
	CHK_DX		(surfZS->GetDesc(&surfDESC));
	_RELEASE	(surfZS);

	switch		(surfDESC.Format)
	{
	case D3DFMT_D15S1:		bStencil = TRUE;	break;
	case D3DFMT_D24S8:		bStencil = TRUE;	break;
	case D3DFMT_D24X4S4:	bStencil = TRUE;	break;
	}

	// Scissoring
	if (caps.RasterCaps & D3DPRASTERCAPS_SCISSORTEST)	bScissor	= TRUE;
	else												bScissor	= FALSE;

	// Stencil relative caps
    u32 dwStencilCaps = caps.StencilCaps;
    if( (!(dwStencilCaps & D3DSTENCILCAPS_INCR) && !(dwStencilCaps & D3DSTENCILCAPS_INCRSAT))
       ||(!(dwStencilCaps & D3DSTENCILCAPS_DECR) && !(dwStencilCaps & D3DSTENCILCAPS_DECRSAT)))
    {
		soDec = soInc = D3DSTENCILOP_KEEP;
		dwMaxStencilValue = 0;
    }
    else
    {
        // Prefer sat ops that cap at 0/max, but can use other ones as long as enough stencil bits
        soInc=(dwStencilCaps & D3DSTENCILCAPS_INCRSAT)? D3DSTENCILOP_INCRSAT:D3DSTENCILOP_INCR;
        soDec=(dwStencilCaps & D3DSTENCILCAPS_DECRSAT)? D3DSTENCILOP_DECRSAT:D3DSTENCILOP_DECR;
	    dwMaxStencilValue=(1<<8)-1;
    }

	// DEV INFO

	iGPUNum = GetGpuNum();
	Msg("--[%s] Detected GpuNum : [%u]", __FUNCTION__, iGPUNum);
}
#else	//	USE_DX10
void CHWCaps::Update()
{
	// ***************** GEOMETRY
	geometry_major				= 4;
	geometry_minor				= 0;
	geometry.bSoftware			= FALSE;
	geometry.bPointSprites		= FALSE;
	geometry.bNPatches			= FALSE;
	DWORD cnt					= 256;
	clamp<DWORD>(cnt,0,256);
	geometry.dwRegisters		= cnt;
	geometry.dwInstructions		= 256;
	geometry.dwClipPlanes		= _min(6,15);
	geometry.bVTF				= TRUE;

	// ***************** PIXEL processing
	raster_major				= 4;
	raster_minor				= 0;
	raster.dwStages				= 15;
	raster.bNonPow2				= TRUE;
	raster.bCubemap				= TRUE;
	raster.dwMRT_count			= 4;
	//raster.b_MRT_mixdepth		= FALSE;
	raster.b_MRT_mixdepth		= TRUE;
	raster.dwInstructions		= 256;

	// ***************** Info
	Msg							("* GPU shading: vs(%x/%d.%d/%d), ps(%x/%d.%d/%d)",
		0,	geometry_major, geometry_minor, CAP_VERSION(geometry_major,	geometry_minor),
		0,	raster_major,	raster_minor,	CAP_VERSION(raster_major,	raster_minor)
		);

	// *******1********** Vertex cache
	//	TODO: DX10: Find a way to detect cache size
	geometry.dwVertexCache = 24;
	Msg					("* GPU vertex cache: %s, %d","unrecognized",u32(geometry.dwVertexCache));

	// *******1********** Compatibility : vertex shader
	if (0==raster_major)		geometry_major=0;		// Disable VS if no PS

	//
	bTableFog			=	FALSE;	//BOOL	(caps.RasterCaps&D3DPRASTERCAPS_FOGTABLE);

	// Detect if stencil available
	bStencil			=	TRUE;

	// Scissoring
	bScissor	= TRUE;

	// Stencil relative caps
	soInc=D3DSTENCILOP_INCRSAT;
	soDec=D3DSTENCILOP_DECRSAT;
	dwMaxStencilValue=(1<<8)-1;

	// DEV INFO

	iGPUNum = GetGpuNum();
	Msg("--[%s] Detected GpuNum : [%u]", __FUNCTION__, iGPUNum);
}
#endif	//	USE_DX10


 

Сообщения "GPU shading: ...", "GPU vertex cache: ... " - проходят еще нормально. Спустя считанные секунды после запуска.

Сообщение "... Detected GpuNum : ... " - 22 минуты спустя. То, что отнимает 22 минуты времени, вызывается где-то между.

Но тут уж я совсем не знаю, куда копать дальше. Добавить вызовы Msg() можно. Посмотреть какой конкретно вызов столько жрет. И...

Это же рендер. Не конфиги, не скрипты. Занятно...

 

 

 

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

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

 

В 13.11.2019 в 18:24, abramcumner сказал:

надо разобраться с масштабом

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

(xr_3da\xrGame\UICustomItem.cpp)

void CUICustomItem::Render(FVF::TL*& Pointer, const Fvector2& pos_ns, u32 color, float angle)
  ...
	float kx = (UI()->is_16_9_mode())?0.8333f: 1.0f;
	// clip poly
  ...

Это делается только для вращающихся статиков (в конфиге которых heading="1"). На моё счастье в ХЕ есть функция, которая этот самый коэффициент меняет (set_static_rescale_factor) - установил 1, и всё заработало нормально. (= Единственное - карта чуть растянута по Х, но главное координаты совпадают. Иначе пришлось бы на апдейте растягивать статик в зависимости от угла поворота.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

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

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

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

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

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

Войти

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

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

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