Shkiper2012 35 Опубликовано 15 Сентября 2017 [ТЧ 1.0007rc1] Приветствую. Думал в теме про C++ задать этот вопрос, но он (имхо) ближе к движку и поэтому здесь. Итак... Начал разбираться в движке, и возник такой нубский вопрос по типах переменных (и не только по ним): Скрытый текст Flags8, Flags16, Flags32 <--- Что это за флаги? Для чего используются? u8, u16, u32 <--- Это 'unsigned _int8', 'unsigned _int16', 'unsigned _int32' или что то другое? s16, s32 <--- Это тип 'string' 16ти и 32х битные или нет? f32, <--- Это тип 'float' 32х-битный? Если да, то чем отличается от стандартного 'float' ? BOOL, TRUE / FALSE <--- Почему типы 'boolean' в верхнем регистре? Есть ли отличие от просто 'bool', 'true', 'false' ? LPSTR <--- Что это за строка, чем отличается, например, от 's16', 'string16', 'char' ? IC, ICF <--- Что это за тип / класс / структура / шаблон...? string16, string32, string64, string128, string256, string1024 <--- Чем эти строки отличаются от других? Цифры означают битность или размер чего-либо? (CParticlesObject*& pParticles) <--- Это ссылка и указатель одновременно? До сих пор, путаю указатели и ссылки, а тут всё в одном флаконе =) Что это за типы? Чем отличаются от стандарта C++? Скрытый текст Так же, буду благодарен за объяснения "авторских" типов из движка, которые здесь не указаны. Кроме стандартных, разумеется. А может и стандартные у GSC перегружены / переписаны. Если это, уже где-то "разжёвано", то, пожалуйста, покажите направление куда смотреть. Заранее, признателен за ответы. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 4 Октября 2017 Приветствую. Собираю исходники ТЧ 1.0007rc1 от xp-dev (ревизии 188 и 201). Всё собирается и запускается. Но, есть небольшая проблема: в игре при окончании разговора с НПС (кликаю в диалоге "До свидания.") - вылет. Вылетает только(!) с тем НПС, которые в конце диалога что-нибудь выдают актору. С другими всё в порядке. Например, в начале игры: Сидор - выдает нож в начале игры; Волк - выдает пистолет, патроны, аптечку; Шустрый - выдает флэшку для Сидора. Каждый диалог заканчивается таким вылетом:(лог разбил на две части, для удобства восприятия текста) Скрытый текст [10/03/17 21:09:05] * Detected CPU: GenuineIntel Intel(R) Celeron(R) CPU 925 @ 2.30GHz, F6/M23/S10 [10/03/17 21:09:05] * CPU Features: RDTSC, MMX, SSE, SSE2, SSE3 [10/03/17 21:09:05] [10/03/17 21:09:05] Initializing File System... [10/03/17 21:09:05] !WARNING: CLocatorAPI::check_for_file not found file fsgame.ltx in files list (size = 26) [10/03/17 21:09:05] !WARNING: CLocatorAPI::check_for_file not found file d:\games\s.t.a.l.k.e.r\bin\fsgame.ltx in files list (size = 26) [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db0 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db1 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db2 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db3 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db4 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db5 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db6 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db7 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db8 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.db9 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.dba [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.dbb [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.dbc [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\gamedata.dbd [10/03/17 21:09:05] using fs-ltx fsgame.ltx [10/03/17 21:09:05] --found external arch mp_military_2.xdb0 [10/03/17 21:09:05] CLocatorAPI::ProcessArchive, path = d:\games\s.t.a.l.k.e.r\mods\mp_military_2.xdb0 [10/03/17 21:09:05] FS: 28833 files cached, 4271Kb memory used. [10/03/17 21:09:05] Init FileSystem 2.171648 sec [03.10.17 21:09:05.223] 'xrCore' build 6815, Oct 3 2017 [03.10.17 21:09:05.223] [03.10.17 21:09:05.738] Initializing Engine... [03.10.17 21:09:05.738] Loading config for renderer [03.10.17 21:09:05.738] Executing config-script "user.ltx"... [03.10.17 21:09:05.769] [d:\games\s.t.a.l.k.e.r\stalker-shoc\user.ltx] successfully loaded. [03.10.17 21:09:05.769] Starting INPUT device... [03.10.17 21:09:06.081] Loading DLL: xrRender_R1.dll [03.10.17 21:09:06.581] Loading DLL: xrGame.dll [03.10.17 21:09:06.986] * [win32]: free[2012212 K], reserved[18520 K], committed[66356 K] [03.10.17 21:09:06.986] * [ D3D ]: textures[0 K] [03.10.17 21:09:06.986] * [x-ray]: crt heap[5991 K], process heap[647 K], game lua[0 K], engine lua[0 K], render[0 K] [03.10.17 21:09:06.986] * [x-ray]: economy: strings[1032 K], smem[0 K] [03.10.17 21:09:07.017] Executing config-script "d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"... [03.10.17 21:09:07.080] cant convert dik_name for dik[144], prop=[ [03.10.17 21:09:07.111] [d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded. [03.10.17 21:09:07.111] Executing config-script "user.ltx"... [03.10.17 21:09:07.127] Executing config-script "d:\games\s.t.a.l.k.e.r\gamedata\config\rspec_minimum.ltx"... [03.10.17 21:09:07.142] Unknown command: r__dtex_range [03.10.17 21:09:07.142] Unknown command: r__ssa_glod_end [03.10.17 21:09:07.142] Unknown command: r__ssa_glod_start [03.10.17 21:09:07.142] Unknown command: rs_detail [03.10.17 21:09:07.142] Unknown command: rs_skeleton_update [03.10.17 21:09:07.142] Unknown command: vid_bpp [03.10.17 21:09:07.142] [d:\games\s.t.a.l.k.e.r\gamedata\config\rspec_minimum.ltx] successfully loaded. [03.10.17 21:09:07.142] Executing config-script "d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"... [03.10.17 21:09:07.142] [d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded. [03.10.17 21:09:07.173] [d:\games\s.t.a.l.k.e.r\stalker-shoc\user.ltx] successfully loaded. [03.10.17 21:09:07.236] SOUND: OpenAL: enumerate devices... [03.10.17 21:09:07.236] SOUND: OpenAL: EnumerationExtension Present [03.10.17 21:09:07.345] devices Generic Hardware [03.10.17 21:09:07.361] SOUND: OpenAL: system default SndDevice name is Generic Hardware [03.10.17 21:09:07.361] SOUND: OpenAL: default SndDevice name set to Generic Software [03.10.17 21:09:07.860] SOUND: OpenAL: All available devices: [03.10.17 21:09:07.860] 1. Generic Software, Spec Version 1.1 (default) [03.10.17 21:09:07.860] 2. Generic Software, Spec Version 1.1 (default) [03.10.17 21:09:07.860] SOUND: OpenAL: SelectBestDevice is Generic Software 1.1 [03.10.17 21:09:07.910] SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software. [03.10.17 21:09:07.910] * sound: EAX 2.0 extension: absent [03.10.17 21:09:07.910] * sound: EAX 2.0 deferred: absent [03.10.17 21:09:07.938] * sound : cache: 49155 kb, 5707 lines, 8820 bpl [03.10.17 21:09:07.942] Starting RENDER device... [03.10.17 21:09:08.248] * GPU [vendor:8086]-[device:2A42]: Mobile Intel(R) 4 Series Express Chipset Family [03.10.17 21:09:08.248] * GPU driver: 8.15.10.2869 [03.10.17 21:09:11.867] * CREATE: DeviceREF: 1 [03.10.17 21:09:11.867] * Vertex Processor: PURE HARDWARE [03.10.17 21:09:11.947] * Texture memory: 817 M [03.10.17 21:09:11.947] * DDI-level: 9.0 [03.10.17 21:09:13.137] * GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30) [03.10.17 21:09:13.152] * GPU vertex cache: recognized, 32 [03.10.17 21:09:13.243] * DVB created: 4096K [03.10.17 21:09:13.243] * DIB created: 512K [03.10.17 21:09:15.618] count of .thm files=4 [03.10.17 21:09:15.835] load time=826 ms [03.10.17 21:09:15.882] * distortion: used, dev(30),need(14) [03.10.17 21:09:15.882] * SSample: 1280x768 [03.10.17 21:09:16.569] * SSample: enabled [03.10.17 21:09:16.916] Script debugger succesfully restarted. [03.10.17 21:09:17.448] Starting engine... [03.10.17 21:09:19.629] Loading DLL: xrGameSpy.dll [03.10.17 21:09:26.248] * DVB created: 4096K [03.10.17 21:09:26.248] * DIB created: 512K [03.10.17 21:09:26.248] * SSample: 1280x768 [03.10.17 21:09:26.260] * SSample: enabled [03.10.17 21:09:26.260] * GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30) [03.10.17 21:09:26.260] * GPU vertex cache: recognized, 32 [03.10.17 21:09:26.260] *** RESET [119 ms] [03.10.17 21:09:26.305] "d:\games\s.t.a.l.k.e.r\bin\xr_3da.exe" -nointro [03.10.17 21:09:26.307] * phase time: 0 ms [03.10.17 21:09:26.309] * phase cmem: 84278 K [03.10.17 21:09:26.309] Кэширование объектов... [03.10.17 21:09:26.359] Loading objects... [03.10.17 21:09:26.359] Loading models... [03.10.17 21:09:43.513] * [prefetch] time: 17146 ms [03.10.17 21:09:43.513] * [prefetch] memory: 82621Kb [03.10.17 21:09:43.636] * phase time: 17328 ms [03.10.17 21:09:43.645] * phase cmem: 163007 K [03.10.17 21:09:43.645] Сервер: Старт... [03.10.17 21:09:43.996] * phase time: 359 ms [03.10.17 21:09:44.005] * phase cmem: 158431 K [03.10.17 21:09:44.005] Сервер: Загрузка симуляции жизни... [03.10.17 21:09:44.052] * phase time: 56 ms [03.10.17 21:09:44.062] * phase cmem: 158431 K [03.10.17 21:09:44.062] Загрузка игры "day_01_time_07_00_l01_escape.sav"... [03.10.17 21:09:44.109] SE_DBG: CALifeSimulatorBase 'alife' ->m_objects = 0x0C79A680 [03.10.17 21:09:44.155] * Loading spawn registry... [03.10.17 21:09:45.616] * 8641 spawn points are successfully loaded [03.10.17 21:09:45.616] * Loading objects... [03.10.17 21:09:46.260] * 17209 objects are successfully loaded [03.10.17 21:09:48.588] * Game day_01_time_07_00_l01_escape is successfully loaded from file 'd:\games\s.t.a.l.k.e.r\stalker-shoc\savedgames\day_01_time_07_00_l01_escape.sav' (4.583s) [03.10.17 21:09:48.588] * phase time: 4536 ms [03.10.17 21:09:48.599] * phase cmem: 190379 K [03.10.17 21:09:48.599] Сервер: Соединяемся... [03.10.17 21:09:48.629] MaxPlayers = 32 [03.10.17 21:09:48.700] * phase time: 111 ms [03.10.17 21:09:48.715] * phase cmem: 190411 K [03.10.17 21:09:48.715] Клиент: Соединение с localhost... [03.10.17 21:09:48.716] Player not found. New player created. [03.10.17 21:09:48.746] * client : connection accepted - <> [03.10.17 21:09:48.770] * phase time: 70 ms [03.10.17 21:09:48.780] * phase cmem: 190459 K [03.10.17 21:09:48.780] Открытие потока... [03.10.17 21:09:48.823] * phase time: 53 ms [03.10.17 21:09:48.833] * phase cmem: 190459 K [03.10.17 21:09:48.833] Загрузка формы объектов... [03.10.17 21:09:54.522] * phase time: 5699 ms [03.10.17 21:09:54.535] * phase cmem: 263128 K [03.10.17 21:09:54.535] Загрузка шейдеров... [03.10.17 21:09:56.749] * phase time: 2226 ms [03.10.17 21:09:56.759] * phase cmem: 264610 K [03.10.17 21:09:56.759] Загрузка геометрии... [03.10.17 21:09:56.992] * [Loading VB] 65532 verts, 2047 Kb [03.10.17 21:10:00.203] * [Loading VB] 65525 verts, 2047 Kb [03.10.17 21:10:00.237] * [Loading VB] 65535 verts, 2047 Kb [03.10.17 21:10:00.272] * [Loading VB] 65466 verts, 2045 Kb ... Скрытый текст ... [03.10.17 21:10:01.592] * [Loading IB] 1048575 indices, 2047 Kb [03.10.17 21:10:01.632] * [Loading IB] 228285 indices, 445 Kb [03.10.17 21:10:01.694] * phase time: 4944 ms [03.10.17 21:10:01.704] * phase cmem: 264965 K [03.10.17 21:10:01.704] Загрузка базы пространств... [03.10.17 21:10:05.610] * phase time: 3916 ms [03.10.17 21:10:05.621] * phase cmem: 269003 K [03.10.17 21:10:05.621] Загрузка детальных объектов... [03.10.17 21:10:05.756] * [DETAILS] VertexConsts(256), Batch(61) [03.10.17 21:10:05.757] * [DETAILS] 40687 v(20), 26352 p [03.10.17 21:10:05.757] * [DETAILS] Batch(61), VB(794K), IB(154K) [03.10.17 21:10:05.760] * phase time: 150 ms [03.10.17 21:10:05.771] * phase cmem: 269062 K [03.10.17 21:10:05.771] Загрузка секторов и порталов... [03.10.17 21:10:05.826] * Loading HOM: d:\games\s.t.a.l.k.e.r\gamedata\levels\l01_escape\level.hom [03.10.17 21:10:05.865] * phase time: 104 ms [03.10.17 21:10:05.875] * phase cmem: 269203 K [03.10.17 21:10:05.875] Загрузка ИИ объектов... [03.10.17 21:10:06.094] - Loading music tracks from 'l01_escape_musics'... [03.10.17 21:10:06.211] * phase time: 346 ms [03.10.17 21:10:06.222] * phase cmem: 269258 K [03.10.17 21:10:06.222] Клиент: Создание... [03.10.17 21:10:06.373] - Game configuring : Started [03.10.17 21:10:06.419] - Game configuring : Finished [03.10.17 21:10:07.305] * phase time: 1094 ms [03.10.17 21:10:07.318] * phase cmem: 284949 K [03.10.17 21:10:07.318] Загрузка текстур... [03.10.17 21:10:13.352] * t-report - base: 864, 47944 K [03.10.17 21:10:13.352] * t-report - lmap: 10, 10241 K [03.10.17 21:10:13.352] ***FATAL***: Too many lmap-textures (limit: 8 textures or 32M). [03.10.17 21:10:13.381] Reduce pixel density (worse) or use more vertex lighting (better). [03.10.17 21:10:13.382] * phase time: 6076 ms [03.10.17 21:10:13.394] * phase cmem: 284950 K [03.10.17 21:10:13.394] Клиент: Синхронизация... [03.10.17 21:10:13.459] * phase time: 76 ms [03.10.17 21:10:13.471] * phase cmem: 284950 K [03.10.17 21:10:13.536] * [win32]: free[1362276 K], reserved[58760 K], committed[676052 K] [03.10.17 21:10:13.536] * [ D3D ]: textures[58185 K] [03.10.17 21:10:13.536] * [x-ray]: crt heap[284950 K], process heap[6470 K], game lua[22400 K], engine lua[168 K], render[0 K] [03.10.17 21:10:13.536] * [x-ray]: economy: strings[3729 K], smem[28221 K] [03.10.17 21:10:13.814] * phase time: 432 ms [03.10.17 21:10:13.825] * phase cmem: 284973 K [03.10.17 21:10:13.826] st_actor_netspawn... [03.10.17 21:10:14.076] * phase time: 231 ms [03.10.17 21:10:14.088] * phase cmem: 285019 K [03.10.17 21:10:14.151] * [win32]: free[1361380 K], reserved[58688 K], committed[677020 K] [03.10.17 21:10:14.151] * [ D3D ]: textures[58191 K] [03.10.17 21:10:14.151] * [x-ray]: crt heap[285019 K], process heap[6470 K], game lua[23294 K], engine lua[168 K], render[0 K] [03.10.17 21:10:14.151] * [x-ray]: economy: strings[3818 K], smem[28221 K] [03.10.17 21:10:30.069] * MEMORY USAGE: 303628 K [03.10.17 21:11:06.961] *** break by StackWalk *** [03.10.17 21:11:06.961] DEBUG CONTEXT DUMP: [03.10.17 21:11:06.961] [21:10:50.766]. $#CONTEXT: cl remove [641][28064790] esc_zone_witches_galantine_0006, from v = 0C9D7B24, v.size = 335 [03.10.17 21:11:06.961] [21:10:48.614]. $#CONTEXT: cl remove [155][1AFED0F8] vodka0155, from v = 0C9D7B34, v.size = 637 [03.10.17 21:11:06.961] [21:10:44.626]. $#CONTEXT: cl remove [635][280631A0] esc_zone_witches_galantine_0000, from v = 0C9D7B24, v.size = 335 [03.10.17 21:11:06.961] [21:10:42.260]. $#CONTEXT: cl remove [850][24C0B510] esc_trup_bratka, from v = 0C9D7B24, v.size = 336 [03.10.17 21:11:06.961] [21:10:38.184]. $#CONTEXT: cl remove [850][24C0B510] esc_trup_bratka, from v = 0C9D7B34, v.size = 636 [03.10.17 21:11:06.961] [21:10:33.465]. $#CONTEXT: cl remove [472][17B56910] wpn_ak74u0472, from v = 0C9D7B34, v.size = 637 [03.10.17 21:11:06.961] [21:10:33.465]. $#CONTEXT: cl remove [472][17B56910] wpn_ak74u0472, from v = 0C9D7B24, v.size = 335 [03.10.17 21:11:06.961] [21:10:33.414]. $#CONTEXT: cl remove [497][17B582A0] wpn_ak74u0497, from v = 0C9D7B34, v.size = 637 [03.10.17 21:11:06.961] [21:10:33.414]. $#CONTEXT: cl remove [497][17B582A0] wpn_ak74u0497, from v = 0C9D7B24, v.size = 335 [03.10.17 21:11:06.961] [21:10:33.259]. $#CONTEXT: cl remove [639][28064040] esc_zone_witches_galantine_0004, from v = 0C9D7B24, v.size = 336 [03.10.17 21:11:06.961] [21:10:33.044]. $#CONTEXT: cl remove [429][17B53E60] wpn_ak74u0429, from v = 0C9D7B34, v.size = 636 [03.10.17 21:11:06.961] [21:10:33.044]. $#CONTEXT: cl remove [429][17B53E60] wpn_ak74u0429, from v = 0C9D7B24, v.size = 336 [03.10.17 21:11:06.961] [21:10:32.741]. $#CONTEXT: cl remove [480][17B57190] wpn_ak74u0480, from v = 0C9D7B34, v.size = 636 [03.10.17 21:11:06.961] [21:10:32.741]. $#CONTEXT: cl remove [480][17B57190] wpn_ak74u0480, from v = 0C9D7B24, v.size = 336 [03.10.17 21:11:06.961] [21:10:32.389]. $#CONTEXT: cl remove [439][17B546F0] wpn_ak74u0439, from v = 0C9D7B34, v.size = 636 [03.10.17 21:11:06.961] Unhandled exception stack trace: [03.10.17 21:11:06.961] [03.10.17 21:11:06.998] 001B:522A3260 (0x0018C300 0x2896B6BC 0x2896B748 0x0018C328) xrGame.dll, CVertex<CPhrase *,shared_str,CGraphAbstract<CPhrase *,float,shared_str> >::add_edge, x:\trunk\xray\xr_3da\xrgame\graph_vertex_inline.h, 68 [03.10.17 21:11:06.998] 001B:522A302A (0x280A5C60 0x0018C300 0x24E2AF90 0x52D6A1E0) xrGame.dll, CGraphAbstract<CPhrase *,float,shared_str>::add_edge(), x:\trunk\xray\xr_3da\xrgame\graph_abstract_inline.h, 59 [03.10.17 21:11:06.998] 001B:524C6B9B (0x24E2AF90 0x00000000 0x2896B740 0x0018C318) xrGame.dll, CPhraseDialog::AddPhrase(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.cpp, 271 [03.10.17 21:11:06.998] 001B:522A39FA (0x03BF23D0 0x03D72B18 0x00D183F0 0xFFFFD8F0) xrGame.dll, CPhraseDialog::AddPhrase_script(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.h, 132 [03.10.17 21:11:06.998] 001B:522A4075 (0x522A3980 0x00000000 0x6E192A4D 0x0A905100) xrGame.dll, luabind::detail::returns<CPhrase *>::call<CPhraseDialog,CPhraseDialog,luabind::detail::null_type,char const *,char const *,char const *,int>(), x:\trunk\xray\luabind\luabind\detail\call.hpp, 161 [03.10.17 21:11:06.998] 001B:522A3EED (0x0A905100 0x04420018 0x0A901CC8 0x6E1D74DD) xrGame.dll, boost::detail::function::function_obj_invoker1<luabind::detail::mem_fn_callback<CPhrase * (__thiscall CPhraseDialog::*)(char const *,char const *,char const *,int),CPhraseDialog,luabind::detail::null_type>,int,lua_State *>::invoke(), x:\trunk\3rd party\boost\boost\function\function_template.hpp, 117 [03.10.17 21:11:06.998] 001B:6E192A4D (0x04420018 0x00000000 0x0E7DD8B0 0x04420018) luabind.dll, luabind::detail::overload_rep::call(), x:\trunk\xray\luabind\luabind\detail\overload_rep_impl.hpp, 35 [03.10.17 21:11:06.998] 001B:6E19A91F (0x04420018 0x0BC304F0 0xFFFFFFFF 0x04420018) luabind.dll, luabind::detail::class_rep::function_dispatcher(), x:\trunk\xray\luabind\src\class_rep.cpp, 694 [03.10.17 21:11:06.998] 001B:6E1C62D3 (0xFFFFFFFF 0x0E7DD850 0x04420018 0x00000070) lua5.1.dll, luaJIT_run(), x:\trunk\xray\luajit\src\ljit_core.c, 223 [03.10.17 21:11:06.998] 001B:6E1CFE29 (0x04420018 0x0E7DD7F0 0x00000000 0x04420018) lua5.1.dll, luaD_precall(), x:\trunk\xray\luajit\src\ldo.c, 282 [03.10.17 21:11:06.998] 001B:6E1D00A4 (0x04420018 0x0E7DD7F0 0x00000000 0x6E1CF8AA) lua5.1.dll, luaD_call(), x:\trunk\xray\luajit\src\ldo.c, 384 [03.10.17 21:11:06.998] 001B:6E1D7E55 (0x04420018 0x0018C598 0x04420018 0x00000001) lua5.1.dll, f_call(), x:\trunk\xray\luajit\src\lapi.c, 795 [03.10.17 21:11:06.998] 001B:6E1CF8AA (0x04420018 0x6E1D7E40 0x0018C598 0x00000000) lua5.1.dll, luaD_rawrunprotected(), x:\trunk\xray\luajit\src\ldo.c, 120 [03.10.17 21:11:06.998] 001B:6E1D0258 (0x6E1D7E40 0x0018C598 0x00000050 0x04420018) lua5.1.dll, luaD_pcall(), x:\trunk\xray\luajit\src\ldo.c, 465 [03.10.17 21:11:06.998] 001B:6E1D81D1 (0x04420018 0x00000001 0x00000000 0x00000000) lua5.1.dll, lua_pcall(), x:\trunk\xray\luajit\src\lapi.c, 816 [03.10.17 21:11:06.998] 001B:6E199736 (0x04420018 0x00000001 0x00000000 0x0AB8DB40) luabind.dll, luabind::detail::pcall(), x:\trunk\xray\luabind\src\pcall.cpp, 40 [03.10.17 21:11:06.998] 001B:522A2BF8 (0x14B11120 0x24E2AF90 0x0018C61C 0x52D5A3B0) xrGame.dll, luabind::detail::proxy_functor_void_caller<boost::tuples::tuple<CPhraseDialog * const *,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type> >::~proxy_functor_void_caller<boost::tuples::tuple<CPhraseDialog * const *,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type(), x:\trunk\xray\luabind\luabind\functor.hpp, 284 [03.10.17 21:11:06.998] 001B:524C7220 (0x00000000 0x524C6A58 0x0AB71FC0 0x24E2AF90) xrGame.dll, CPhraseDialog::load_shared(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.cpp, 223 [03.10.17 21:11:06.998] 001B:522A2B99 (0x0AB71FC0 0x24E2AF90 0x524C6335 0x0AB71FC0) xrGame.dll, CSharedClass<SPhraseDialogData,shared_str,0>::load_shared(), x:\trunk\xray\xr_3da\xrgame\shared_data.h, 101 [03.10.17 21:11:06.998] 001B:524C6A58 (0x0AB71FC0 0x00000002 0x24BDDC00 0x14B1111C) xrGame.dll, CPhraseDialog::Load(), x:\trunk\xray\xr_3da\xrgame\phrasedialog.cpp, 185 [03.10.17 21:11:06.998] 001B:524C6335 (0x0AB71FC0 0x0C7BCE38 0x1B0DC4DC 0x0C4F6100) xrGame.dll, CPhraseDialogManager::AddAvailableDialog(), x:\trunk\xray\xr_3da\xrgame\phrasedialogmanager.cpp, 110 [03.10.17 21:11:06.998] 001B:524EEF47 (0x0C7BCE38 0x1B0DC4DC 0x24B85EA0 0x0018C6B4) xrGame.dll, CActor::UpdateAvailableDialogs(), x:\trunk\xray\xr_3da\xrgame\actor_communication.cpp, 195 [03.10.17 21:11:06.998] 001B:523D5B6D (0x280AA930 0x523E260F 0x00000006 0x01036400) xrGame.dll, CUITalkWnd::UpdateQuestions(), x:\trunk\xray\xr_3da\xrgame\ui\uitalkwnd.cpp, 130 [03.10.17 21:11:06.998] 001B:523D624F (0x00000006 0x01036400 0x00F70BDE 0x01036240) xrGame.dll, CUITalkWnd::Update(), x:\trunk\xray\xr_3da\xrgame\ui\uitalkwnd.cpp, 229 [03.10.17 21:11:06.998] 001B:523E260F (0x01036240 0x00FB303C 0x01036534 0x01036414) xrGame.dll, CDialogHolder::OnFrame(), x:\trunk\xray\xr_3da\xrgame\uidialogholder.cpp, 213 [03.10.17 21:11:06.998] 001B:00F70BDE (0x01036534 0x01036414 0x00000000 0x01036240) XR_3DA.exe, CRegistrator<pureRender>::Process(), x:\trunk\xray\xr_3da\pure.h, 77 [03.10.17 21:11:06.998] 001B:00FB303C (0x69402AD0 0x0018E804 0x0018C730 0x00000000) XR_3DA.exe, CRenderDevice::FrameMove(), x:\trunk\xray\xr_3da\device.cpp, 426 [03.10.17 21:11:06.998] 001B:00FB35C1 (0x01041048 0x0018E804 0x0018C748 0x00000000) XR_3DA.exe, CRenderDevice::Run(), x:\trunk\xray\xr_3da\device.cpp, 275 [03.10.17 21:11:06.998] 001B:00FDCDD9 (0x01041048 0x002124F0 0x00000000 0x00000000) XR_3DA.exe, Startup(), x:\trunk\xray\xr_3da\x_ray.cpp, 300 [03.10.17 21:11:06.998] 001B:00FDD5C4 (0x00F30000 0x00000000 0x002124F0 0x00000001) XR_3DA.exe, WinMain_impl(), x:\trunk\xray\xr_3da\x_ray.cpp, 745 [03.10.17 21:11:06.998] 001B:00FDD7A3 (0x00F30000 0x00000000 0x002124F0 0x00000001) XR_3DA.exe, WinMain(), x:\trunk\xray\xr_3da\x_ray.cpp, 805 [03.10.17 21:11:06.998] 001B:00F8BEF7 (0x7FFDB000 0x0018FB8C 0x770337EB 0x7FFDB000) XR_3DA.exe, __tmainCRTStartup(), f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c, 547 [03.10.17 21:11:06.998] 001B:7628ED6C (0x7FFDB000 0x7752B0AB 0x00000000 0x00000000) kernel32.dll, BaseThreadInitThunk() [03.10.17 21:11:06.999] 001B:770337EB (0x00F8C03A 0x7FFDB000 0x00000000 0x00000000) ntdll.dll, RtlInitializeExceptionChain() [03.10.17 21:11:06.999] 001B:770337BE (0x00F8C03A 0x7FFDB000 0x00000000 0x00000000) ntdll.dll, RtlInitializeExceptionChain() Что делал: Скрытый текст Отслеживал работу скриптов - ставил лог-сообщения. Скрипты отрабатываю нормально: выдают, определяют кто есть кто. С этим вроде все нормально. Хотя, до конца не уверен. Сравнивал файлы, которые указаны в логе (типа: ...\xrgame\graph_vertex_inline.h, 68 и т.д.) с другими исходниками (не от xp-dev) Изменений нет. Сам ничего не правил в этих файлах. Число в конце строки (например: 68) - это, наверное строка в файле (например: xrgame\graph_vertex_inline.h,) ??? Если так, то номер строки обычно ничего не проясняет (для меня) - он, обычно, указывает на пустую строку, либо на закрывающую фигурную скобку, либо на что-либо ещё мало информативное (для меня). Уже раз 8 пере-собирал исходники с нуля с разными дэфайнами из build_config_defines.h - результат тот же. Исходные данные: Win7 x86 Ultimate, VS2010_sp1, WinSDK_7.1, DX_SDK_Aug_2007, DX_SDK_June_2010 - инклуды и либы прописаны. Исходники: X-Ray 1.0007rc1 от репо XP-DEV (by alpet, KD) - собирал ревизии 188 и 201. Если нужно выложу логи сборки движка. Буду рад любой инфе по этой теме. У кого-либо было что-то подобное, если да, как "лечили эту болезнь"? И ещё вопрос: так как я сам не-программист, то очень интересует, как грамотно разбирать такие логи с адресами памяти, когда нет привычного сообщения в стиле "FATAL ERROR: bla_bla_bla"? Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 4 Октября 2017 @abramcumner 5 часов назад, abramcumner сказал: в этой строке? В этой строчке '{' Скрытый текст http:// 5 часов назад, abramcumner сказал: геймдата Да от 6-го, но добавлены файлы из папки 'resources' (те, что в репо xp-dev). Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 1 Ноября 2017 [ТЧ 1.0007rc1 (xp-dev.com)] Методы для CInventoryItem: set_inventory_item_flags(flags16) и get_inventory_item_flags() Если, есть те, кто разобрался как ими пользоваться. Подскажите, пожалуйста (с примерами, если не трудно). В движке из репо на xp-dev.com -- при обыске трупа или открытия ящика -- не работает выпадающий список действий (при нажатии правой клавиши мыши) на предмет. Может, кто-нибудь поправил это? Если да - как исправить? Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 2 Ноября 2017 @dsh Наспавнил 5 бутылок водки в инвентарь гг. Беру одну бутылку и пытаюсь установить ей флаг "не-группируемости" или "не-торгуемости". Но, никакого результата (либо я его не вижу). Что делал: Скрытый текст -- dbg_logf - это тот же log1, только для дебага. -- Ставим флаг. -- function set_item_ungroupable( item ) if not item then return end dbg_logf("* set_item_ungroupable -- 0 -- sect: "..tostring( item:section() ).." id: "..tostring( item:id() )) local f = item:get_inventory_item_flags() dbg_logf("* set_item_ungroupable -- 1 -- ") f:set( 16384, true ) -- const FIUngroupable = 16384; -- f:set( 8192, true ) -- const FIAlwaysUntradable = 8192; dbg_logf("* set_item_ungroupable -- 2 -- ") item:set_inventory_item_flags( f ) dbg_logf("* set_item_ungroupable -- 3 -- ") end -- Поиск предмета по секции в инвентаре. -- function search_item_in_inv( section ) for i=0, db.actor:object_count()-1 do local obj = db.actor:object(i) if obj:section() == section then dbg_logf("* search_item_in_inv >>> sect: "..tostring(section).." >>> id: "..tonumber(obj:id())) -- return obj:id() -- предмет найден return obj -- предмет найден end end return nil end local sec = "vodka" local act = db.actor if act then local obj = search_item_in_inv(sec) if obj then dbg_logf("* set_item_ungroupable -- start -- ") set_item_ungroupable(obj) dbg_logf("* set_item_ungroupable -- finish -- ") end end Лог: Скрытый текст [02.11.17 01:08:15.656] ~~Start TESTING script! [02.11.17 01:08:15.657] ~ -------------------------------------------------------- [02.11.17 01:08:15.658] * search_item_in_inv >>> sect: vodka >>> id: 16905 [02.11.17 01:08:15.658] * set_item_ungroupable -- start -- [02.11.17 01:08:15.658] * set_item_ungroupable -- 0 -- sect: vodka id: 16905 [02.11.17 01:08:15.658] * set_item_ungroupable -- 1 -- [02.11.17 01:08:15.658] * set_item_ungroupable -- 2 -- [02.11.17 01:08:15.658] * set_item_ungroupable -- 3 -- [02.11.17 01:08:15.658] * set_item_ungroupable -- finish -- [02.11.17 01:08:15.658] ~ -------------------------------------------------------- [02.11.17 01:08:15.658] ~~Finish TESTING script! Ожидания: Скрытый текст Бутылка с флагом "должна" отделится от группы остальныих или, при торговле "должна быть": закрашена красным и не доступна, при соответствующем флаге, конечно. Но, этого не происходит. Что я делаю не так? Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 2 Ноября 2017 @dsh Вывод: прямо из скрипта нельзя настроить группирование/торгуемость (другие флаги не проверял) (в xp-dev движке, на данный момент, для отдельно-взятого предмета). Так? Или есть другие варианты? Раньше я игрался с "кондишен" предмета для этих целей, либо использовал X-Ray extensions с их "set_inventory_item_int16". А тут такой облом. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 1 Июня 2018 [ ЗП_1.6.02 / СоС_1.4/1.5 ] В каком порядке движок "читает" db-файлы? Как влияет расположение папок с ресурсами игры на это "чтение"? Знаю только, что распакованную "gamedata" в последнюю очередь. Интересуют как оригинальный двиг, так и от СоС. Смотрел исходники, но не разобрался. Заранее признателен. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 27 Февраля 2021 Движок ЗП. Что означает аббревиатура "SLS"? Встречается у некоторых файлов/функций (например: Level_SLS_Default.cpp). Вырезаю мп и всякий мусор, не могу понять - для чего и нужны ли... Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 27 Февраля 2021 @AndreySol Да, уже разобрался. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 15 Марта 2021 12 часов назад, ARTLantist сказал(а): чтобы убрать автоперезарядку оружия? Здесь можешь посмотреть, хотя там про ТЧ, для ЗП будет примерно так же. 1 Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 21 Марта 2021 Парни, может кто знает, как изменить скорость проигрывания звука(ускорить)? Нужно для дела. Сейчас разбираюсь в исходниках "xrSound/xrGame" и не знаю с какой стороны подступится. Движок ЗП. Поделиться этим сообщением Ссылка на сообщение