Итак, пытался вызывать
DoImageSpaceMotionBlur( view, view.x, view.y, view.width, view.height );
в различных местах и вариациях, выдает ошибку с константой:
code:1>.\viewrender.cpp(1838) : error C2664: 'DoImageSpaceMotionBlur' : cannot convert parameter 1 from 'IViewRender *' to 'const CViewSetup &'
1> Reason: cannot convert from 'IViewRender *' to 'const CViewSetup'
1> No constructor could take the source type, or constructor overload resolution was ambiguous
Иногда вместо 'IViewRender *' выдавало вообще 'int', причину установить не удалось.
После этого попробовал более простой способ - добавить в void CViewRender::RenderView (единственное, откуда получается вызвать DoImageSpaceMotionBlur) условие на проверку булеана, при исполнении которого отрабатывается блер. Булеан меняется консольной командой
code:void BlurOn( const CCommand &args )
{
iBlur = true;
}
static ConCommand blur_on("blur_on", BlurOn, "Motion blur");
Пробовал также ставить флаг FCVAR_CHEAT, ХЛ2 в любом случае команды не распознавал.
Вопрос: где здесь скрывается криворукость или что еще?