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
#2
12/27/2004 (11:29 am)
I grabbed the latest head release last night and there has not been changes to the input device code. Like JMac i suspect that you've not got the DirectX SDK folder in your include path.
#3
and says 'cannot compile pixel shader at line.....'
STeve
12/28/2004 (5:30 pm)
Okay sorted all that. When i run TSE when it trys to locate the datablocks, it stopsand says 'cannot compile pixel shader at line.....'
STeve
#4
12/28/2004 (8:13 pm)
What line? What shader is it? Can your card do pixel shaders?
#6
12/29/2004 (2:31 am)
My card is a Radeon 9800 SE - so it can do pixel shaders
#7
12/29/2004 (9:54 am)
Do you have the 'shaders' folder in place? You should put a breakpoint in GFXD3DShader::initPixShader() to try to figure out which one is asserting.
#8
12/29/2004 (9:57 am)
Yeah i do - i have just downloaded a complete fresh copy of TSE - and compiled it and the error still comes up. Weird isnt it..
#9
12/29/2004 (10:03 am)
I have a 9800 Pro and it works fine here with my latest merge. I'd try setting the breakpoint and at least narrowing it down to which shader is failing... or worse if all shaders would fail (remove the ASSERT_ON_BAD_SHADER define at the top of gfxD3DShader.cpp).
#10
I keep getting th error - that it cannot compile pixel shader. Now.. i know that my card can run shader 2 stuff
Steve
12/30/2004 (7:52 am)
Does anybody use TSE with a Radeon 9800 SE, cos fot the live of me - i cannot get it to work right with TSE.I keep getting th error - that it cannot compile pixel shader. Now.. i know that my card can run shader 2 stuff
Steve
#12
@Stevie - You really should pick up a beginner guide which will give you the basics on compiling and debugging (including placing breakpoints) as they're critical to getting anything done. I'm not familiar with what's out there now myself, but I bet if you posted to one of the general forums they could give you some suggestions... they're might even be some good resources online.
Now as for your crash. Replace the AssertFatal @ line 182 in file gfxD3DShader.cpp with this:
Recompile and execute TSE. Now when it crashes it should give you the shader and target it's using. This should help pinpoint the issue further.
12/30/2004 (11:00 am)
First... not sure if this discussion belongs on the 'public' TSE forums... but it's here.@Stevie - You really should pick up a beginner guide which will give you the basics on compiling and debugging (including placing breakpoints) as they're critical to getting anything done. I'm not familiar with what's out there now myself, but I bet if you posted to one of the general forums they could give you some suggestions... they're might even be some good resources online.
Now as for your crash. Replace the AssertFatal @ line 182 in file gfxD3DShader.cpp with this:
AssertFatal( false, avar( "Unable to compile pixel shader %s for target %s", pixFile, pixTarget ) );
Recompile and execute TSE. Now when it crashes it should give you the shader and target it's using. This should help pinpoint the issue further.
#13
The error i now get is :
Unable to compile pixel shader/planarReflectP.hlsl for target ps_1_4.
A look in the console log reveals:
error X4512: accessing texture coordinate w-component not yet implemented in ps_1_4
12/30/2004 (4:30 pm)
Thanks for that mateThe error i now get is :
Unable to compile pixel shader/planarReflectP.hlsl for target ps_1_4.
A look in the console log reveals:
error X4512: accessing texture coordinate w-component not yet implemented in ps_1_4
#14
12/30/2004 (4:34 pm)
You can open up planarReflectP.hlsl and replace the access to .w in the shader with 1... breaking it, but at least it should compile. The question now is why does this shader not compile for your 9800 but does for mine? Do you have the latest ATI drivers installed? Before you replace the driver go into the device manager and write down your current driver version... it would be nice to know what driver this breaks with.
#16
12/30/2004 (4:47 pm)
By the way i forgot to say - i ran the TSE demo and that worked - but maybe the demo was made before the implementation of the hlsl shader in question. Tom - what version of the Dirext X SDK are u using.
#17
8/3/2004
6.14.0010.6467
Maybe the 9800SE is more crippled that i was aware of, but from all i read it is the same core as the 9800Pro with 4 pipes vs. 8.
Compare the shader/planarReflectP.hlsl in the demo to that in your TSE folder. I'm pretty sure that was working when they released the EA release.
I've got the DirectX 9.0 SDK (October 2004 Update) installed.
12/30/2004 (4:54 pm)
Funny... my driver is older than yours.8/3/2004
6.14.0010.6467
Maybe the 9800SE is more crippled that i was aware of, but from all i read it is the same core as the 9800Pro with 4 pipes vs. 8.
Compare the shader/planarReflectP.hlsl in the demo to that in your TSE folder. I'm pretty sure that was working when they released the EA release.
I've got the DirectX 9.0 SDK (October 2004 Update) installed.
#18
12/30/2004 (4:56 pm)
Yeah it definatally is the same, except for the 4 pipelines. I believe though i can actually get a driver to totally emulate the Pro version. As for being crippled, i believe that this shader should definatally work. I am running all the latest games, with Shader 2 stuff running a treat. and as this shader is i believe Shader 1 it should work... very odd indeed
#19
12/30/2004 (4:59 pm)
The TSE demo doesnt contain that shader....
#20
12/30/2004 (5:03 pm)
I guess your best bet now is to post this bug in the TSE Bugs private forum. Just disable the error by replacing the 'texIndex.w' with 1.
Associate Jaimi McEntire
King of Flapjacks