The env_fade method works, except it has a limited time before it fades in/out. However, I found out in HL SDK that it is possible to change the code in a way I need, I only need to bind the effect to a key somehow. But it mustn't be impossible. (And I need some testing, too). So it is clear that Valve has provided us with the possibility of making Nightvision effects, we just need to implement it. All in all, I think I'll be able to do it now. (If not, I'll look for help again. :D)
EDIT: No luck at all. Somehow there is no way to compile the HL SDK 2.3 - without it, I just can't do that. BTW, the help files said
"Among others, the following parameters can be altered:
- Support for "viewentity" ( i.e., seeing through the eyes of a specified entity )"
and in view.cpp I saw:
/*
// Example of how to overlay the whole screen with red at 50 % alpha
#define SF_TEST
#if defined SF_TEST
{
screenfade_t sf;
gEngfuncs.pfnGetScreenFade( &sf );
sf.fader = 255;
sf.fadeg = 0;
sf.fadeb = 0;
sf.fadealpha = 128;
sf.fadeFlags = FFADE_STAYOUT | FFADE_OUT;
gEngfuncs.pfnSetScreenFade( &sf );
}
#endif
*/
This is the key to success I think. Too bad I can't use it, because MSVC 5.0 can't compile it - maybe someone else can use it.