Game Development Community

T3D 1.1 Beta 2 (Possible Bug) - Materials from Beta 1 are Not Compatible with Beta 2 - NOT A BUG

by Dave Calabrese · in Torque 3D Professional · 08/18/2010 (8:45 am) · 3 replies

Having imported the game files from a Beta 1 project into Beta 2, all materials will no longer load. The following error appears for each one:

GFXD3D9Shader::_compileShader - Error compiling shader: E_FAIL: An undetermined error occurred (80004005)
   C:/Users/BahamutZaero/Desktop/DDS2/My Projects/DDS/game/shaders/procedural/fd583ea64c143c90_P.hlsl(83,4): error X3004: undeclared identifier 'fizzle'
Failed to initialize material 'jazz_Car_Jazz_Windows'
MaterialList::initMatInstances - failed to initialize material instance for 'jazz_Car_Jazz_Windows'

The issue is specifically with the 'fizzle' command, which the system believes does not exist.

Temporary Fix until exact cause can be determined:
Comment out the lines in shaderFeatureHLSL.cpp which place the fizzle command in the procedurally generated HLSL files.

Line 2256:
// Everything else does a fizzle.
   //Var *vPos = getInVpos( meta, componentList );
   //meta->addStatement( new GenOp( "   fizzle( @, @ );rn", vPos, visibility ) );

#1
08/18/2010 (7:15 pm)
This is not a bug.

The fizzle() function exists in game/shader/common/torque.hlsl. You probably forgot to merge changes to the 'shaders' and 'core' folder with your game.
#2
08/19/2010 (6:46 pm)
I have tagged this as Not a Bug to avoid confusion as the QA team combs through the forums. Thanks Tom!
#3
08/19/2010 (6:58 pm)
Yup, Tom is correct. Not a bug - the torque.hlsl apparently did not get merged with the rest of the codebase. Thanks, Tom!