Карлан 1 049 Опубликовано 8 Августа 2015 Поделиться Опубликовано 8 Августа 2015 не логичнее ли было удаление строки поставить в самом конце? В конце чего? Массивы - это медленно. Зато удобно. Но - много памяти жрет. И да, еще страус-труп грил, шо namespace - признак дурного кода. Перепиши на досуге, и покажи нам как надо! Ссылка на комментарий
HESH 64 Опубликовано 8 Августа 2015 Поделиться Опубликовано 8 Августа 2015 @Карлан, в конце пространства. После replace_string. Переписывать? Шутник! Мне оно надо? Нет. Как надо? Ну тут Страуструпа читать. И не массивчик создавать, а каждый указатель отдельно. ООП - оно такое,, серьзено повышает скорость разработки, однако приводит к перерасходу ресурсов. Все потому, что приходиться абстрактному чему-то перебирать массив, а не обращаться сразу к какой-то абстрактной функции. И вообще, я просто дал совет, как таковой выглядит с моей точки зрения. Ви же обижаться изволили. Добавлено RayTwitty, 8 Августа 2015 "в конце пространства. После replace_string." А какая разница в каком порядке идет список экспортируемых методов? о_0 1 Ссылка на комментарий
Полтергейст 37 Опубликовано 8 Августа 2015 Поделиться Опубликовано 8 Августа 2015 Посмотрел исходники на предмет оффлайн-перемещения. По каким-то причинам перемещение по путям там напрочь заблокировано, плюс некоторые экспортируемые функции не работают. Но это можно исправить. Во-первых, в файле alife_monster_movement_manager_script.cpp надо исправить экспорт метода path_type. Во-вторых, в файле alife_monster_patrol_path_manager.cpp надо добавить метод void CALifeMonsterPatrolPathManager::path(CPatrolPathParams *params){ path(params->m_path); start_type(params->m_tPatrolPathStart); route_type(params->m_tPatrolPathStop); use_randomness(params->m_bRandom);} и экспортировать его в Lua, прописав в файле alife_monster_patrol_path_manager_script.cpp. Существующий (тот, что принимает строку как аргумент), наоборот, надо убрать из экспорта. Если он больше нигде не используется, его можно совсем убрать из кода. Также из экспорта можно убрать методы start_type, route_type и use_randomness (те, что работают на запись), т.к. эти параметры считываются из переданного объекта CPatrolPathParams. В-третьих, в файле alife_monster_brain.cpp нужно поставить проверку на can_choose_alife_tasks() до вызова select_task, а не внутри него. И если can_choose_alife_tasks() вернёт true, то делать как есть сейчас (вызывать select_task и далее), а иначе сразу переходить к movement().update(). Как-то вот так: [spoiler=CALifeMonsterBrain::update] void CALifeMonsterBrain::update () { if (can_choose_alife_tasks()) { select_task (); if (object().m_smart_terrain_id != 0xffff) process_task (); else default_behaviour (); } movement().update (); } это нужно для того, чтобы установленный из скрипта тип пути не сбрасывался. Для передвижения в оффлайне этого должно быть достаточно, но надо проверять. 1 2 Ссылка на комментарий
Карлан 1 049 Опубликовано 8 Августа 2015 Поделиться Опубликовано 8 Августа 2015 Провел замеры перезагрузки диалогов, инфопоршней и строк на чистой игре (в секундах): 0.025326 - диалоги 0.200278 - инфопоршни 0.213696 - строки В чем секрет диалогов? Ссылка на комментарий
Карлан 1 049 Опубликовано 11 Августа 2015 Поделиться Опубликовано 11 Августа 2015 (изменено) Кто-нибудь прикалывался по созданию бустеров, вроде так на вскидку не сложно, но муторно, пока начал только разгребаться что есмь "юзабельные итемы", добавил три параметра в конфиг: use_snd = ; аналог ЗП use_anm = ; проигрывает кам-эффект при использовании use_ppe = ; проигрывает ппе-эффект при использовании Цикличность эффектов делать не стал, мне интересно вот это (цикличность) надо кому или нет? А то можно воткнуть булевый флаг тип юз_анм_суслик = тру . Цикличность задается в секции эффектора. Моя функция читает файл, а не секцию, вся настройка эффекта идет в движке. upd: А, ну разобрался я, да, возможно есть смысл немного переделать, чтобы пользователь сам полностью настраивал эффект. Но не знаю будет ли это востребовано в этом случае, практика покажет, сделать не трудно в любом случае. Изменено 11 Августа 2015 пользователем Карлан Добавлено RayTwitty, 11 Августа 2015 Цикличность задается в секции эффектора. Лучше сделать параметр use_eff, а дальше уже как по старинке пусть действует. Добавлено RayTwitty, 11 Августа 2015 Ну можно оба варианта сделать - не вижу проблемы. Либо указывай секцию эффектора, либо пути до файлов. 1 Ссылка на комментарий
Полтергейст 37 Опубликовано 11 Августа 2015 Поделиться Опубликовано 11 Августа 2015 (изменено) В дополнение к своему посту про правки, касающиеся оффлайн-передвижения. Во-первых, забыл дописать кое-что - в void CALifeMonsterPatrolPathManager::path надо делать проверку параметра на null. void CALifeMonsterPatrolPathManager::path(CPatrolPathParams *params) { if (params == null) { m_path = null; m_actual = false; return; } path(params->m_path); start_type(params->m_tPatrolPathStart); route_type(params->m_tPatrolPathStop); use_randomness(params->m_bRandom);} Во-вторых, напишу свои мысли по поводу исправления синхронизации онлайн и оффлайн передвижения. В файлах xrGame/stalker_alife_task_actions.cpp и xrGame/ai/monsters/states/monster_state_smart_terrain_task* прописано прямое обращение к методу task, возвращающему объект CALifeSmartTerrainTask. Метод этот вызывается из объекта smart terrain. Это плохо тем, что полученный task не будет синхронизирован с данными оффлайн-передвижения, если используется передвижение по путям . Чтобы это исправить, надо, чтобы в классе CALifeMonsterDetailPathManager вместо params m_destination; было CAlifeSmartTerrainTask *m_destination; при этом реализацию класса CAlifeSmartTerrainTask надо брать из исходников ЗП (чтобы можно было создать CAlifeSmartTerrainTask для произвольной точки). Затем надо внести соответствующие изменения в код класса CALifeMonsterDetailPathManager, чтобы ничего не "поломалось" после изменения типа m_destination. В него же надо дописать что-то примерно такое public CAlifeSmartTerrainTask * CALifeMonsterDetailPathManager::get_destination() { return m_destination; } и далее в файлах xrGame/stalker_alife_task_actions.cpp и xrGame/ai/monsters/states/monster_state_smart_terrain_task* заменить вызовы метода task из smart_terrain на вызов CALifeMonsterDetailPathManager::get_destination(). Это значительно исправит синхронизацию онлайн и оффлайн передвижения. Где-то ещё остался баг, из-за которого старый способ управления npc (game_object.command) конфликтует с новым (motivation_action_manager) по вопросу "куда идти" - в smart terrain task или туда, куда указано через game_object.command. Как-нибудь попозже и про него напишу. Изменено 11 Августа 2015 пользователем Полтергейст 1 Ссылка на комментарий
-StalkMen- 159 Опубликовано 12 Августа 2015 Поделиться Опубликовано 12 Августа 2015 LINK : warning LNK4044: эхЁрёяючэрээ√щ ярЁрьхЄЁ "/INCREMENTAL:NO"; шуэюЁшЁєхЄё Что с таким делать (кракозябры) ? *(vs 2013) Ссылка на комментарий
HESH 64 Опубликовано 13 Августа 2015 Поделиться Опубликовано 13 Августа 2015 @-StalkMen-, варнинг - не полноценная ошипка)) У меня крокозябры в логе были, когда собирал ANSI-проекты с высталенной кодировкой Unicode. Поменяй, может поможет. Ссылка на комментарий
-StalkMen- 159 Опубликовано 13 Августа 2015 Поделиться Опубликовано 13 Августа 2015 @HESH, Телодвижения с "Набор символов" ни на что не влияют. Разве что на количество ошибок Ссылка на комментарий
Forser 47 Опубликовано 13 Августа 2015 Поделиться Опубликовано 13 Августа 2015 /INCREMENTAL:NO Можешь в свойствах проекта скрины с консоли компиляции скинуть? Ссылка на комментарий
-StalkMen- 159 Опубликовано 13 Августа 2015 Поделиться Опубликовано 13 Августа 2015 @Forser, Чего вы к варнингу цепляитесь, вопрос не в нём,а в кракозябрах. Ссылка на комментарий
Forser 47 Опубликовано 13 Августа 2015 Поделиться Опубликовано 13 Августа 2015 эхЁрёяючэрээ√щ ярЁрьхЄЁ Ындекс.Переводчик тут бессилен. @-StalkMen-, LINK : warning LNK4044: unrecognized option '/INCREMENTAL:NO'; ignored Не так ли в оригинале? Ссылка на комментарий
-StalkMen- 159 Опубликовано 13 Августа 2015 Поделиться Опубликовано 13 Августа 2015 LNK4044 https://msdn.microsoft.com/ru-ru/library/twch6zc8.aspxНаверно Ссылка на комментарий
Forser 47 Опубликовано 16 Августа 2015 Поделиться Опубликовано 16 Августа 2015 Lua-перехватчик от alpet Кто может перезалить? Ссылка на комментарий
HESH 64 Опубликовано 17 Августа 2015 Поделиться Опубликовано 17 Августа 2015 @Romz, тебе именно xrEngine скомпиленный на релизе нужен? Или еще xrGame? Если только движок, так у меня есть собранный, давай тебе дам. Но хрГейм я не компилил, на моей машине это... утомительно занятие, так скажем. Народ, опрос: в сорцах ЗП в каком файле лежит "ограничение" по памяти? Через HEX править не хочу, но ограничение на 4 гб снять хочется... Может где-то рядом с аллокатором? Я нуб, помогите пжслт. И да, где (опять же в сорцах) лежит параметр FOV? Хотелось бы покопать. Если кто может немного обьяснить мне структуру X-Ray (для меня она после идТэх 2 вообще запутанная), то прошу в ЛС написать. Спасибо заранее. Добавлено RayTwitty, 17 Августа 2015 FOV - g_fov в Actor.cpp должен быть. Ссылка на комментарий
Romz 142 Опубликовано 17 Августа 2015 Поделиться Опубликовано 17 Августа 2015 тебе именно xrEngine скомпиленный на релизе нужен? Или еще xrGame? Если только движок, так у меня есть собранный, давай тебе дам. Но хрГейм я не компилил, на моей машине это... утомительно занятие, так скажем.Я имел ввиду - готовое для вставки в игру, поставил и играй. Для меня сборка-разборка движков игровых - вообще тёмный лес...Уже не актуально, нашёл на ап-про тему со всем наличествующим. Шаман - СисАдмин Всяко-разно: для ЧН Ссылка на комментарий
nikita_nz1986 130 Опубликовано 17 Августа 2015 Поделиться Опубликовано 17 Августа 2015 (изменено) @HESH, console_commands.cpp там fov и многое другое. Изменено 17 Августа 2015 пользователем nikita_nz1986 1 Ссылка на комментарий
Tron 53 Опубликовано 17 Августа 2015 Поделиться Опубликовано 17 Августа 2015 Не помню,кто тут тредами интересовалсяhttps://github.com/SergeyMakeev/TaskScheduler 1 1 Ссылка на комментарий
-StalkMen- 159 Опубликовано 17 Августа 2015 Поделиться Опубликовано 17 Августа 2015 Кто, что думает по поводу PhysX'a ? Ссылка на комментарий
nikita_nz1986 130 Опубликовано 17 Августа 2015 Поделиться Опубликовано 17 Августа 2015 @-StalkMen-, А что тут думать? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти