Errors.. errors and more...
by arteria3d · in Torque Game Engine Advanced · 12/26/2004 (4:15 pm) · 24 replies
Hi,
I have just got the latest CVS of tse - and have attempted to fresh install it - and get 58 errors!!!. I have never had errors before compiling TSE - some of them are as follows:
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2146: syntax error : missing ';' before identifier 'smDInputInterface'
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2501: 'smDInputInterface' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mDevice'
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'LPDIRECTINPUTDEVICE8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'mDevice' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : error C2039: 'smDInputInterface' : is not a member of 'DInputDevice'
c:\tse\engine\platformwin32\windinputdevice.h(24) : see declaration of 'DInputDevice'
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : error C2146: syntax error : missing ';' before identifier 'smDInputInterface'
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : error C2501: 'LPDIRECTINPUT8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : fatal error C1004: unexpected end of file found
winDirectInput.cpp
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2146: syntax error : missing ';' before identifier 'smDInputInterface'
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2501: 'smDInputInterface' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mDevice'
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'LPDIRECTINPUTDEVICE8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'mDevice' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windirectinput.h(31) : error C2146: syntax error : missing ';' before identifier 'mDInputInterface'
c:\tse\engine\platformwin32\windirectinput.h(31) : error C2501: 'LPDIRECTINPUT8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windirectinput.h(31) : error C2501: 'mDInputInterface' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windirectinput.cpp(28) : error C2065: 'mDInputInterface' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(56) : error C2065: 'IID_IDirectInput8' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(106) : error C2227: left of '->Release' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(198) : error C2039: 'smDInputInterface' : is not a member of 'DInputDevice'
c:\tse\engine\platformwin32\windinputdevice.h(24) : see declaration of 'DInputDevice'
c:\tse\engine\platformwin32\windirectinput.cpp(198) : error C2065: 'smDInputInterface' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(199) : error C2227: left of '->EnumDevices' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(199) : error C2065: 'DI8DEVTYPE_KEYBOARD' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(200) : error C2227: left of '->EnumDevices' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(200) : error C2065: 'DI8DEVTYPE_MOUSE' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(201) : error C2227: left of '->EnumDevices' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(201) : error C2065: 'DI8DEVTYPE_JOYSTICK' : undeclared identifier
winFileio.cpp
Anyone know why?
I have just got the latest CVS of tse - and have attempted to fresh install it - and get 58 errors!!!. I have never had errors before compiling TSE - some of them are as follows:
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2146: syntax error : missing ';' before identifier 'smDInputInterface'
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2501: 'smDInputInterface' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mDevice'
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'LPDIRECTINPUTDEVICE8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'mDevice' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : error C2039: 'smDInputInterface' : is not a member of 'DInputDevice'
c:\tse\engine\platformwin32\windinputdevice.h(24) : see declaration of 'DInputDevice'
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : error C2146: syntax error : missing ';' before identifier 'smDInputInterface'
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : error C2501: 'LPDIRECTINPUT8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.cpp(16) : fatal error C1004: unexpected end of file found
winDirectInput.cpp
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2146: syntax error : missing ';' before identifier 'smDInputInterface'
c:\tse\engine\platformwin32\windinputdevice.h(27) : error C2501: 'smDInputInterface' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2146: syntax error : missing ';' before identifier 'mDevice'
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'LPDIRECTINPUTDEVICE8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windinputdevice.h(50) : error C2501: 'mDevice' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windirectinput.h(31) : error C2146: syntax error : missing ';' before identifier 'mDInputInterface'
c:\tse\engine\platformwin32\windirectinput.h(31) : error C2501: 'LPDIRECTINPUT8' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windirectinput.h(31) : error C2501: 'mDInputInterface' : missing storage-class or type specifiers
c:\tse\engine\platformwin32\windirectinput.cpp(28) : error C2065: 'mDInputInterface' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(56) : error C2065: 'IID_IDirectInput8' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(106) : error C2227: left of '->Release' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(198) : error C2039: 'smDInputInterface' : is not a member of 'DInputDevice'
c:\tse\engine\platformwin32\windinputdevice.h(24) : see declaration of 'DInputDevice'
c:\tse\engine\platformwin32\windirectinput.cpp(198) : error C2065: 'smDInputInterface' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(199) : error C2227: left of '->EnumDevices' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(199) : error C2065: 'DI8DEVTYPE_KEYBOARD' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(200) : error C2227: left of '->EnumDevices' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(200) : error C2065: 'DI8DEVTYPE_MOUSE' : undeclared identifier
c:\tse\engine\platformwin32\windirectinput.cpp(201) : error C2227: left of '->EnumDevices' must point to class/struct/union
c:\tse\engine\platformwin32\windirectinput.cpp(201) : error C2065: 'DI8DEVTYPE_JOYSTICK' : undeclared identifier
winFileio.cpp
Anyone know why?
About the author
Owner of uk based Ltd company ArteriaMediaLtd. with a trading name of Arteria3d Website;arteria3d.com
#22
Another option is to edit the TSE/example/shader/planarReflectP.hlsl file. Just replace the instances of 'texIndex.w' with 1. That should compile and let you run even if it's with broken planar reflective surfaces.
12/30/2004 (5:30 pm)
Well i guess technically you could disable the shader error asserts by commenting out #define ASSERT_ON_BAD_SHADER at the top of gfxD3DShader.cpp. As long as your not using this shader it probably shouldn't crash.Another option is to edit the TSE/example/shader/planarReflectP.hlsl file. Just replace the instances of 'texIndex.w' with 1. That should compile and let you run even if it's with broken planar reflective surfaces.
#23
The following is the planarReflectP.hlsl
//-----------------------------------------------------------------------------
// Structures
//-----------------------------------------------------------------------------
struct ConnectData
{
float2 texCoord : TEXCOORD0;
float4 tex2 : TEXCOORD1;
};
struct Fragout
{
float4 col : COLOR0;
};
//-----------------------------------------------------------------------------
// Main
//-----------------------------------------------------------------------------
Fragout main( ConnectData IN,
uniform sampler2D texMap : register(S0),
uniform sampler2D refractMap : register(S1)
)
{
Fragout OUT;
float4 diffuseColor = tex2D( texMap, IN.texCoord );
float4 reflectColor = tex2Dproj( refractMap, IN.tex2 );
OUT.col = diffuseColor + reflectColor * diffuseColor.a;
return OUT;
}
12/31/2004 (4:09 am)
Tom - i dont have instances of that at all. The following is what my shader file looks like:The following is the planarReflectP.hlsl
//-----------------------------------------------------------------------------
// Structures
//-----------------------------------------------------------------------------
struct ConnectData
{
float2 texCoord : TEXCOORD0;
float4 tex2 : TEXCOORD1;
};
struct Fragout
{
float4 col : COLOR0;
};
//-----------------------------------------------------------------------------
// Main
//-----------------------------------------------------------------------------
Fragout main( ConnectData IN,
uniform sampler2D texMap : register(S0),
uniform sampler2D refractMap : register(S1)
)
{
Fragout OUT;
float4 diffuseColor = tex2D( texMap, IN.texCoord );
float4 reflectColor = tex2Dproj( refractMap, IN.tex2 );
OUT.col = diffuseColor + reflectColor * diffuseColor.a;
return OUT;
}
#24
Westy, replied back telling me to look in Shader.CS and change the datablock of PlanarReflectP from 1.4 to 2.
TSE now loads perfect.
A further look through Scripts.CS revealed that, that was the only datablock using shader=1.4. All the other blocks were set to shader=2.
Steve
12/31/2004 (7:08 am)
I posted on the bug's forumn, and got an answer that worked. I thought i would post back herer, just in case anyone was reading this thread.Westy, replied back telling me to look in Shader.CS and change the datablock of PlanarReflectP from 1.4 to 2.
TSE now loads perfect.
A further look through Scripts.CS revealed that, that was the only datablock using shader=1.4. All the other blocks were set to shader=2.
Steve
Torque 3D Owner arteria3d