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

Shkiper2012

Пользователи
  • Число публикаций

    47
  • Регистрация

  • Последнее посещение

  • AMKoin

    2,531 [Подарить AMKoin]

Весь контент пользователя Shkiper2012

  1. Когда открываешь спойлер, то сначала идёт описание правки, затем путь к нужному файлу. В данном, конкретном случае это: X:\trunk\xray\xr_3da\xrGame\WeaponMagazined.cpp Нужные строки обычно помечены комментарием, типа такого: // <-- // или что-то подобное. Рекомендую, как можно точнее формулировать свой вопрос (правильно заданный вопрос - это уже половина ответа). Мало-вероятно, что кто-то будет за тебя догадываться, что ты имел в виду.
  2. "Кидать" не надо. Эти правки вводятся "ручками" в соответствующие файлы исходников движка.
  3. Парни, может кто знает, как изменить скорость проигрывания звука(ускорить)? Нужно для дела. Сейчас разбираюсь в исходниках "xrSound/xrGame" и не знаю с какой стороны подступится. Движок ЗП.
  4. Здесь можешь посмотреть, хотя там про ТЧ, для ЗП будет примерно так же.
  5. @AndreySol Да, уже разобрался.
  6. Движок ЗП. Что означает аббревиатура "SLS"? Встречается у некоторых файлов/функций (например: Level_SLS_Default.cpp). Вырезаю мп и всякий мусор, не могу понять - для чего и нужны ли...
  7. Адрес звука: "sounds\detectors\contact_1.ogg". — Прописан в файлах: — system.ltx → [maingame_ui] snd_new_contact = detectors\contact_1 maingame(_16).xml --> <new_contact_snd>detectors\contact_1</new_contact_snd> Можно поменять на "заглушку" типа "$nosound". Либо только через движок, там это прописано.
  8. Shkiper2012

    Ищу файлы / моды / аддоны

    Друзья, не завалялся ли у кого-нибудь DocViewer или 2D HUD Viewer, версии для ЗП?
  9. @Fenrir02, в нужную функцию вставляем: level.send_event_key_press(DIK_keys.DIK_F3) -- вместо "DIK_F3" может быть любая другая клавиша. Результатом будет имитация нажатия, как будто ты нажал на кл."F3" (не касаясь пальцем физически). Только вот не помню, должна ли быть локация загружена в этот момент, так как используется пространство "level". На всякий, может проверку поставить, типа "if level then ... end"
  10. [ЗП/СоС] Как прочесть/выставить режим огня для оружия, с помощью нет-пакетов? Если есть готовые примеры, ткните, пожалуйста.
  11. [ЗП, СоС] Как заставить нпс скриптом перезарядить оружие, которое держит в руках (с анимацией и прочим)? Смотрел как сделано у @Bak в AI Additions, но так до конца и не понял. Вроде используется такая штука, после кучи проверок: npc:set_item(object.aim_force_full1,wpn) Пытаюсь сделать по аналогии, типа так: Скрытый текст -- добавление недостающих команд для оружия if not object.aim_force_full1 then object.aim_ready1 = object.drop+1 -- eObjectActionAimReady1 = 12 object.aim_ready2 = object.aim_ready1+1 -- eObjectActionAimReady2 = 13 object.aim_force_full1 = object.aim_ready2+1 -- eObjectActionAimForceFull1 = 14 object.aim_force_full2 = object.aim_force_full1+1 -- eObjectActionAimForceFull2 = 15 end local target_obj = level.get_target_obj() local npc = target_obj local wpn = npc and npc:active_item() if npc and wpn then log("reloading wpn -- start --") -- 1 -- Либо так: -- -- npc:set_item( object.reload, wpn ) -- npc:set_item( object.reload1, wpn ) -- npc:set_item( object.reload2, wpn ) -- 2 -- или так: npc:set_item( object.aim_force_full1, wpn ) log("reloading wpn -- end --") end Ничего "не выходит" - нпс просто стоит "как ни в чем не бывало". Или парой строк скрипта не обойтись (нужно писать схему поведения, добавлять в планировщик и т.д.)?
  12. Где в файлах прописана дистанция использования/диалога/шмона трупов/ящиков - когда жмёшь кл."F" ? Можно ли её (дистанцию) менять в игре? Или она зашита в движок? (...если ответ уже где-то был дан, пожалуйста, ткните где копать...)
  13. [ЗП, СоС] Как скриптово отследить в каком положении находится актор (идёт/бежит/сидит/в глубоком присяди/и т.п...). Есть ли какой-либо флаг/метод/что-либо?
  14. [ЗП, СоС] Можно ли скриптово отловить момент(...какой-либо флаг, поршень, окно...), когда при разговоре с механиком, открыто окно с ремонтом/апгрейдами для предметов?
  15. [ ЗП_1.6.02 / СоС_1.4/1.5 ] В каком порядке движок "читает" db-файлы? Как влияет расположение папок с ресурсами игры на это "чтение"? Знаю только, что распакованную "gamedata" в последнюю очередь. Интересуют как оригинальный двиг, так и от СоС. Смотрел исходники, но не разобрался. Заранее признателен.
  16. Можно ли скриптом "повесить" актора в пространстве? Чтоб он завис в воздухе. Пробовал делать через "db.actor:set_actor_position( ... точка в пространстве ... )", и обновлять через апдейт - в результате камеру "колбасит не по-детстки". Можно конечно, что-нибудь спавнить под актором и фиксировать, но это не то. Есть варианты? Именно скриптом.
  17. @dsh Вывод: прямо из скрипта нельзя настроить группирование/торгуемость (другие флаги не проверял) (в xp-dev движке, на данный момент, для отдельно-взятого предмета). Так? Или есть другие варианты? Раньше я игрался с "кондишен" предмета для этих целей, либо использовал X-Ray extensions с их "set_inventory_item_int16". А тут такой облом.
  18. @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! Ожидания: Скрытый текст Бутылка с флагом "должна" отделится от группы остальныих или, при торговле "должна быть": закрашена красным и не доступна, при соответствующем флаге, конечно. Но, этого не происходит. Что я делаю не так?
  19. ТЧ 1.0007rc1 // Уменьшаем вес и цену предмета после использования. // Скрытый текст /* #define EAT_PORTIONS_INFLUENCE // Уменьшаем вес и цену предмета после использования. Автор идеи: Real Wolf. В движке из репо на 'xp-dev.com' [ТЧ 1.0007rc1] - есть наработки от Real Wolf по этой теме. В файле "eatable_item.cpp" есть строки: #if defined(EAT_PORTIONS_INFLUENCE) но дефайн нигде не был объявлен. Собрав движок с объявленным #define EAT_PORTIONS_INFLUENCE - ничего не изменилось. Правка не работала. Немного доработал правку. Работает. Файлы для правки: X:\trunk\xray\xr_3da\xrGame\eatable_item.h X:\trunk\xray\xr_3da\xrGame\eatable_item.cpp X:\trunk\xray\xr_3da\xrGame\inventory_item.h */ // eatable_item.h // Скрытый текст //////////////////// // eatable_item.h // //////////////////// class CEatableItem : public CInventoryItem { // ... // После строки: int GetPortionsNum() const { return m_iPortionsNum; }; // Добавляем это: int GetStartPortionsNum() const { return m_iStartPortionsNum; }; // <--- // Не используется, но может пригодится. // float GetOnePortionWeight(); // <--- // u32 GetOnePortionCost(); // <--- // }; // eatable_item.cpp // Скрытый текст ////////////////////// // eatable_item.cpp // ////////////////////// BOOL CEatableItem::net_Spawn (CSE_Abstract* DC) { // ... if (CSE_ALifeItemEatable* se_eat = smart_cast<CSE_ALifeItemEatable*>(DC)) { m_iPortionsNum = se_eat->m_portions_num; #if defined(EAT_PORTIONS_INFLUENCE) // Уменьшаем вес и цену после использования. // by Real Wolf // /* Это можно удалять, если было! m_weight -= m_weight / m_iStartPortionsNum * m_iPortionsNum; m_cost -= m_cost / m_iStartPortionsNum * m_iPortionsNum; */ if( m_iPortionsNum > 0 ){ float w = GetOnePortionWeight(); float weight = w * m_iPortionsNum; u32 c = GetOnePortionCost(); u32 cost = c * m_iPortionsNum; SetWeight ( weight ); SetCost ( cost ); } #endif } else m_iPortionsNum = m_iStartPortionsNum; return TRUE; } void CEatableItem::UseBy (CEntityAlive* entity_alive) { // ... //уменьшить количество порций if(m_iPortionsNum > 0) --(m_iPortionsNum); else m_iPortionsNum = 0; #if defined(EAT_PORTIONS_INFLUENCE) // Уменьшаем вес и цену после использования. // by Real Wolf // /* Это можно удалять, если было! auto sect = object().cNameSect().c_str(); auto weight = READ_IF_EXISTS(pSettings, r_float, sect, "inv_weight", 0.0f); auto cost = READ_IF_EXISTS(pSettings, r_float, sect, "cost", 0.0f); m_weight -= weight / m_iStartPortionsNum; m_cost -= cost / m_iStartPortionsNum; */ float w = GetOnePortionWeight(); float weight = m_weight - w; u32 c = GetOnePortionCost(); u32 cost = m_cost - c; SetWeight ( weight ); SetCost ( cost ); #endif // ... } // В конце файла, добавляем новые методы класса: // float CEatableItem::GetOnePortionWeight() { float rest = 0.0f; LPCSTR sect = object().cNameSect().c_str(); float weight = READ_IF_EXISTS( pSettings, r_float, sect, "inv_weight", 0.100f ); s32 portions = pSettings->r_s32( sect, "eat_portions_num" ); if( portions > 0 ){ rest = weight / portions; }else{ rest = weight; } return rest; } u32 CEatableItem::GetOnePortionCost() { u32 rest = 0; LPCSTR sect = object().cNameSect().c_str(); u32 cost = READ_IF_EXISTS( pSettings, r_u32, sect, "cost", 1); s32 portions = pSettings->r_s32( sect, "eat_portions_num" ); if( portions > 0 ){ rest = cost / portions; }else{ rest = cost; } return rest; } // inventory_item.h // Скрытый текст ////////////////////// // inventory_item.h // ////////////////////// class CInventoryItem : public CAttachableItem, public CHitImmunity #ifdef DEBUG , public pureRender #endif { // ... // После строк: virtual u32 Cost () const { return m_cost; } virtual void SetCost (u32 cost) { m_cost = cost; } virtual float Weight () { return m_weight;} // Добавить это: virtual void SetWeight (float w) { m_weight = w; } // <--- // // ... }; // У бинокля меньшая кратность зума изначально. // Скрытый текст /* Когда пользуешься биноклем, изначально кратность зума почему-то всегда максимальная. Это не всегда удобно. Правка делает кратность зума(при загрузке локации) равной = g_fov актора, т.е. как будто смотришь без бинокля. Вместо g_fov можно использовать свои настройки. !!! Обратите внимание. !!! Если делать оружие на классе бинокля, то эту правку нужно откорректировать под ваши задачи/оружие. X:\trunk\xray\xr_3da\xrGame\WeaponBinoculars.cpp */ BOOL CWeaponBinoculars::net_Spawn (CSE_Abstract* DC) { // m_fRTZoomFactor = m_fScopeZoomFactor; // <--- Было <--- // m_fRTZoomFactor = g_fov; // <--- Стало <--- // // ... } // Убираем троеточие в строках, при загрузке локации, типа: "Клиент: Синхронизация..." // Скрытый текст /* Вроде мелочь, а (по моему скромному мнению) выглядит лучше без точек. X:\trunk\xray\xr_3da\xrGame\GamePersistent.cpp */ void CGamePersistent::LoadTitle(LPCSTR str) { // ... // sprintf_s (buff, "%s...", CStringTable().translate(str).c_str()); // <--- Было <--- // sprintf_s (buff, "%s", CStringTable().translate(str).c_str()); // <--- Стало <--- // // ... } // Убираем прогресс-бары "точности, скорострельности и т.д." для ножа. // Скрытый текст /* Правка убирает прогресс-бары в описании предметов: ножа, ПБС/глушителей, и бинокля. Для ПБС и бинокля они были убраны изначально. А для ножа - нет. Сделал так, что бы проверка на "Показывать прогресс-бар?" была не по секции предмета, как было изначально в оригинале игры, а по классу предмета. Тем самым, можно на этих классах делать другие предметы, не опасаясь, что в описании будут "полоски" характеристик для оружия. !!! Обратите внимание. !!! Если делать оружие на классе бинокля, то эту правку нужно откорректировать под ваши задачи/оружие. X:\trunk\xray\xr_3da\xrGame\ui\UIWpnParams.cpp */ bool CUIWpnParams::Check(const shared_str& wpn_section){ if (pSettings->line_exist(wpn_section, "fire_dispersion_base")) { /* Это можно удалять! if (0==xr_strcmp(wpn_section, "wpn_addon_silencer")) return false; if (0==xr_strcmp(wpn_section, "wpn_binoc")) return false; if (0==xr_strcmp(wpn_section, "mp_wpn_binoc")) return false; */ const char* wpn_clsid_str = pSettings->r_string( wpn_section, "class" ); if( strstr( wpn_clsid_str, "KNIFE") || strstr( wpn_clsid_str, "SILENC") || strstr( wpn_clsid_str, "BINOC") ){ return false; } return true; } else return false; }
  20. [ТЧ 1.0007rc1 (xp-dev.com)] Методы для CInventoryItem: set_inventory_item_flags(flags16) и get_inventory_item_flags() Если, есть те, кто разобрался как ими пользоваться. Подскажите, пожалуйста (с примерами, если не трудно). В движке из репо на xp-dev.com -- при обыске трупа или открытия ящика -- не работает выпадающий список действий (при нажатии правой клавиши мыши) на предмет. Может, кто-нибудь поправил это? Если да - как исправить?
  21. Снимаю флаг flUsedAI_Locations (в данном примере для предметов из ящиков, чтоб не проваливались) local sobj_item = alife():object( obj_itm.id ) local pk = m_netpk.get( sobj_item ) local data = pk:get() data.object_flags = bit_and( data.object_flags, bit_not( 128 ) ) -- снять флаг flUsedAI_Locations pk:set( data ) Как выставить флаг обратно, так же скриптом? (В побитовой математике не шарю.) @TIGER_VLAD Можно попробовать, через имитацию нажатия клавиши (если есть такой функционал).
  22. // Зум в один клик. Теперь не нужно удерживать клавишу для прицеливания. // Скрытый текст #define ONE_CLICK_ZOOM // Зум в один клик. Теперь не нужно удерживать клавишу прицеливания. /* В оригинальной игре чтобы целится через мушку/прицел/наблюдение в бинокль, - нужно было удерживать клавишу зума. Не знаю точно, это баг или так и задумано. Эта правка делает прицеливание в одно нажатие клавиши(без удержания): нажал - целишься, нажал снова - оружие к бедру. X:\trunk\xray\xr_3da\xrGame\Weapon.cpp Сделал через дефайн, для возможности вкл./выкл. этой правки. В функции: bool CWeapon::Action(s32 cmd, u32 flags) нужно дополнить: case kWPN_ZOOM: */ bool CWeapon::Action(s32 cmd, u32 flags) { ... switch (cmd) { ... ... case kWPN_ZOOM: if (IsZoomEnabled()) { #ifdef ONE_CLICK_ZOOM if( flags&CMD_START && !IsPending() && !IsZoomed() ) OnZoomIn(); else if( flags&CMD_START && IsZoomed() ) OnZoomOut(); #else if (flags&CMD_START && !IsPending()) OnZoomIn(); else if (IsZoomed()) OnZoomOut(); #endif return true; } else return false; case kWPN_ZOOM_INC: case kWPN_ZOOM_DEC: ... ... } ... }
  23. Порция мелких правок. Скрытый текст Движок 1.0007rc1 (xp-dev), для других версий, возможно будет по-другому. Делал с дефайнами для возможности вкл/выкл. Тут элементарные фишки, которые мне были нужны, решил выложить, может пригодится кому-нибудь. Дефайны можно добавить в 'build_config_defines.h' (если такой есть), либо в начало файла с правкой. // Убираем возможность переключаться между слотами колесиком мыши + небольшая правка для зума. // Скрытый текст #define NO_MOUSE_WHELL_SWITCH_SLOT // Убираем возможность переключаться между слотами колесиком мыши + небольшая правка для зума. /* Убираем возможность переключаться между слотами колесиком мыши. Мне это было нужно, по-этому решил убрать. И тут же поправим кратность зума. Зум будет меняться, только если целимся или смотрим в бинокль. В конфиги бинокля и оружия (у которого хотите сделать динамический зум) нужно добавить: scope_dynamic_zoom = true X:\trunk\xray\xr_3da\xrGame\ActorInput.cpp */ void CActor::IR_OnMouseWheel(int direction) { /* Это убрал: if(inventory().Action( (direction>0)? kWPN_ZOOM_DEC:kWPN_ZOOM_INC , CMD_START)) return; Короткие записи - они, конечно, компактнее, но их читабельность ниже. */ if( IsZoomAimingMode() ) { if( direction > 0 ){ inventory().Action( kWPN_ZOOM_INC, CMD_START ); return; }else{ inventory().Action( kWPN_ZOOM_DEC, CMD_START ); return; } } #ifndef NO_MOUSE_WHELL_SWITCH_SLOT if (direction>0) OnNextWeaponSlot(); else OnPrevWeaponSlot(); #endif } // Блокируем авто-перезарядку и сброс зума, когда закончились патроны. // Скрытый текст #define NO_AUTO_RELOAD_WPN // Блокируем авто-перезарядку и сброс зума, когда закончились патроны. /* Когда в оружие закончаться патроны анимация "прицеливания" не будет уходить в исходное положение "от бедра". X:\trunk\xray\xr_3da\xrGame\WeaponMagazined.cpp */ void CWeaponMagazined::FireEnd() { inherited::FireEnd(); // 1/2 // Блокируем авто-перезарядку и сброс зума, когда закончились патроны. // #ifndef NO_AUTO_RELOAD_WPN // Если делать без дефайна, то этот код нужно закомментировать. // --> // CActor *actor = smart_cast<CActor*>(H_Parent()); if (!iAmmoElapsed && actor && GetState() != eReload){ Reload(); } // <-- // #endif } void CWeaponMagazined::switch2_Empty() { // 2/2 // Блокируем авто-перезарядку и сброс зума, когда закончились патроны. // #ifdef NO_AUTO_RELOAD_WPN if (smart_cast<CActor*>(H_Parent()) != NULL) { OnEmptyClick(); return; } #endif OnZoomOut(); ... } // Bug_Fix: Убираем звук перезарядки, если прячем оружие. // Скрытый текст // Bug_Fix: Убираем звук перезарядки, если прячем оружие. // /* Когда оружие только начало перезаряжаться, и тут же его спрятали или переключились на другой слот - звук перезарядки продолжается проигрываться. Чтобы остановить звук перезарядки, нужно добавить в функции ниже: HUD_SOUND::StopSound(sndReload); X:\trunk\xray\xr_3da\xrGame\WeaponMagazined.cpp */ void CWeaponMagazined::switch2_Hiding() { CWeapon::FireEnd(); HUD_SOUND::StopSound(sndReload); // <--- // PlaySound(sndHide, get_LastFP()); PlayAnimHide(); m_bPending = true; } void CWeaponMagazined::switch2_Hidden() { CWeapon::FireEnd(); HUD_SOUND::StopSound(sndReload); // <--- // if (m_pHUD) m_pHUD->StopCurrentAnimWithoutCallback(); signal_HideComplete(); RemoveShotEffector(); } // Спрячем/показываем предмет в руках, когда откр./закр. инвентарь. // Скрытый текст #define HIDE_WEAPON_IN_INV // Спрячем/показываем предмет в руках, когда откр./закр. инвентарь. /* Из названия, думаю, всё понятно: Открыли инвентарь - оружие(или что-либо в руках) убрали, Закрыли инвентарь - снова достали, то что было в руках. X:\trunk\xray\xr_3da\xrGame\ui\UIInventoryWnd.cpp */ void CUIInventoryWnd::Show() { ... Update (); PlaySnd (eInvSndOpen); // в конец функции нужно добавить: #ifdef HIDE_WEAPON_IN_INV if( IsGameTypeSingle() ) { CActor* pAct = smart_cast<CActor*>(Level().CurrentEntity()); if( pAct ){ pAct->SetWeaponHideState(INV_STATE_BLOCK_ALL, true); } } #endif } void CUIInventoryWnd::Hide() { ... ... SendInfoToActor ("ui_inventory_hide"); ClearAllLists (); // тут нужно добавить: #ifdef HIDE_WEAPON_IN_INV if( IsGameTypeSingle() ) { CActor* pAct = smart_cast<CActor*>(Level().CurrentEntity()); if( pAct ){ pAct->SetWeaponHideState(INV_STATE_BLOCK_ALL, false); } } #endif //достать вещь в активный слот CActor *pActor = smart_cast<CActor*>(Level().CurrentEntity()); ... ... }
  24. @abramcumner В этой строчке '{' Скрытый текст http:// Да от 6-го, но добавлены файлы из папки 'resources' (те, что в репо xp-dev).
  25. Приветствую. Собираю исходники ТЧ 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"?

AMK-Team.ru

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