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

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

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

Добрый день. Проблема такова... Не собирается библиотека "xrSound". VS пишет следующее : "SoundRender_TargetD.cpp(203): error C2227: выражение слева от "->Unlock" должно указывать на тип класса, структуры или объединения либо на универсальный тип", а так же не определяет идентификатор "IDirectSound8" и многие другие.
Как быть в таком случае ? Перепробовал всё что можно, ничего не помогает fd7b22e4807422.png

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

@stalker MAX

Уточни, с какой студией работаешь и что вней собираешь: чистый 1.0007rc1 или что-то с какого-то репо?

Ссылка на комментарий
6 часов назад, AndreySol сказал:

@stalker MAX

Уточни, с какой студией работаешь и что вней собираешь: чистый 1.0007rc1 или что-то с какого-то репо?

Visual studi 2010, а исходники скачал отсюда http://stalkerin.gameru.net, там же есть не без известная статья по сборке движка, оттуда то я и скачал исходники.

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

Интерфейсы IDirectSound.... объявлены в хедере "....\xr_src\SDK\dx9sdk\dx9sdk\include\dsound.h". Скорее всего у тебя проблема в подключении всех необходимых компонентов. Смотри в настройках пректа все, что связано с инклюдами, конкретно SDK\dx9sdk\dx9sdk\include.

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

Для UI-классов есть какой аналог shedule_Update(u32 dt) классов инвентарных предметов?

У CLevel есть методы для работы с игровым временем. А есть ли где, что-то для реального времени?

Изменено пользователем AndreySol
Ссылка на комментарий
2 часа назад, mortan сказал:

а что там было

Да ни чего особенного, разобрался с непонятками.

Насчет ф-ций реального времени нашел у CLevel, унаследованные им от IPureClient:
IC u32 timeServer()
IC u32 timeServer_Async() <- тут миллисекундный таймер
IC u32 timeServer_Delta()
IC void timeServer_UserDelta(s32 d)
IC void timeServer_Correct(u32 sv_time, u32 cl_time); 

Для UI-классов ф-ция Update имеется, правда на нее завязана отрисовка, ну да ладно, что есть - то есть.
 

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

Если добавить для какого либо класса новую переменную в нет-пакет, то где-нибудь в движке могут проблемы появиться? Т.е., где-нибудь в движке есть прямое использование данных из нет-пакета вне ф-ций net_Import\net_Export, net_Spawn, save\load?

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

Здравствуйте, может не в тему, но может кто и сделает... Мне нужно убрать из КПК раздел "Контакты", судя по всему делается это именно в движке, а также убрать сетку из инвентаря - ТЧ 1.0006. Кто поможет? 

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

@Sergej1, сетка - сделай прозрачным textures/ui/ui_grid.dds. По контактам - попробуй в xml кпк поковыряться (config/ui/, их там несколько).

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

naxac.gif

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

Спасибо naxac, а то мне говорят - "В движке только", а тот только текстура! Эх... Но вот с КПК я пробовал, тут действительно движок наверное... 

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

Приветствую! У меня одна проблема (для Вас, возможно, "детская", а для меня - как "маслину" поймать):

Как говорилось в шапке темы под спойлером "Практика"

Цитата

Первое качаем WinHex(ссылка в шапке)

Насчёт ссылки в шапке - её нет. Да Монолит с этой ссылкой, Я нашёл WinHex в интернете, скачал и попробовал воспользоваться ею... Выскакивает ошибка с руганью на папку Temp - мол, не стоит ли галочка на "только чтение"? Я убрал. Ошибка как была, так и осталась. Думаю "ну ты и мозгоед" и удаляю. Уверен, что у Вас нет проблем с этой программой.

У меня появился один вопрос - есть ли какая-нибудь альтернатива для WinHex'а?

Заранее благодарю!

Ну, да поможет Вам F1, да сохранит Вас F2, во имя Control`а, Alt`а и святого Delet`а. Enter.

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

Помогите разобраться.

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

void CInventory::UpdateDropTasks()
{
    for(u32 i=0; i<m_slots.size(); ++i)    
    {
        if(m_slots.m_pIItem)
            UpdateDropItem(m_slots.m_pIItem);
    }

    for(i = 0; i < 2; ++i)    
    {
        TIItemContainer &list            = i?m_ruck:m_belt;
        TIItemContainer::iterator it    = list.begin();
        TIItemContainer::iterator it_e    = list.end();
    
        for( ;it!=it_e; ++it)
        {
            UpdateDropItem(*it);
        }
    }

    if (m_drop_last_frame)
    {
        m_drop_last_frame = false;
        m_pOwner->OnItemDropUpdate    ();
    }
}

Вот этот кусок

    for(i = 0; i < 2; ++i)    
    {
        TIItemContainer &list            = i?m_ruck:m_belt;

как понимать? i будет иметь значения 0 а затем 1, соответственно код оператора будет выполнен для пояса а затем для рюкзака. А на кой это в for оборачивать ?

Изменено пользователем AndreySol
  • Согласен 1
Ссылка на комментарий
2 часа назад, AndreySol сказал:

А на кой это в for оборачивать ?

Абсолютно не зачем. Можно спокойно заменить на два цикла: по m_ruck и по m_belt. Или добавить UpdateDropItem/s, которая принимает TIItemContainer, тогда будет просто два вызова функции.

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

Приветствую. После сборки оригинальных исходников 1.0007 rc1 в главном меню а так же в игре появились красные надписи, а так же замечен очень сильный упадок фпс а так же фризы. Причём на обычном патче всё нормально, нету никакого упадка фпс и фризов. 
242b6b361ef169eb17e60d5b02081a10.jpg
У кого нибудь бывало подобное, как вы боролись с этим явлением ?

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

Ф-ция CWeapon::SpawnAmmo. Как-то можно для боеприпаса, который в ней будет создан, задать инвентарный флаг EItemPlace? Т.е. указать для создаваемой пачки патронов, контейнер инвентаря в который она должна попасть.

Изменено пользователем AndreySol
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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