Hey guys!

I'm feeling like Sherlock Holmes right now... I've been searching, 
coding and debugging since hours ;)
I found out a ton about the Bink Material.

The Bink Material is a special generated Material Shader consisting of 
the following 19 Parameters: (name - value - type)
$flags - 2113584 - int          
$flags_defined - 2113584 - int
$flags2 - 0 - int
$flags_defined2 - 0 - int
$color - [ 1.000000 1.000000 1.000000 ] - vector
$alpha - 1.000000 - float
$basetexture - <UNDEFINED> - undefined
$frame - 0 - int
$basetexturetransform - [ 1.000 0.000 0.000 0.000 0.000 1.000 0.000 
0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 1.000 ] - matrix
$flashlighttexture - <UNDEFINED> - undefined
$flashlighttextureframe - 0 - Type: 4
$color2 - [ 1.000000 1.000000 1.000000 ] - vector
$srgbtint - [ 1.000000 1.000000 1.000000 ] - vector
$ytexture - videobikmaterialy - texture
$crtexture - videobikmaterialcr - texture
$cbtexture - videobikmaterialcb - texture
$spriteorientation - 3 - int
$nolod - 1 - int
$nomip - 1 - int

The interesting stuff now happens in the 3 textures $ytexture, 
$crtexture, $cbtexture.
pParam13->GetTextureValue()->GetFlags() returns 264972 which looks like 
a CompiledVtfFlags - Element.
I could not find any method in ITexture.h which would alter these flags, 
but I needed proof.
So I turned on some Trainer-Software and overwritten every occurance in 
the process memory of "264972" with "264973" trying to enable 
TEXTUREFLAGS_POINTSAMPLE                   = 0x00000001. And voila! It 
worked! The textures are point-sampled and my stereoscopic video works! 
Wooohoooo... but wait... this is so not sexy to overwrite the struct in 
memory.
Does anybody have an idea how to change the Flags of a texture without 
doing acrobatics in the process memory?

Greets


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to