Answers for Brett and Daniel
by Gonzo T. Clown · in Torque Game Engine · 06/22/2004 (3:04 pm) · 10 replies
@ Brett - I solved that TSE compile problem yesterday at 3:30 am and posted what had gone wrong and why it happened so others could not make the same mistakes and/or be able to fix it if it happens to them. It was caused by installing the DX9 SDK before installing the Compiler VC6 and the libraries were not being accessed properly. And you are right, it wouldn't compile at all. Now it compiles and runs fine.
Also, yes I have Nvidia, and also I stated in this post that I have the latest drivers, and the ones before that, and the ones before that. It's not the drivers. I also stated that I have multiple TGE executables, about 20 or so. I can run any TGE that I compiled before I got the DX9 SDK, I can run any TGE that someone else compiled, including the demos, but I cannot run any TGE that I personally compile now. I get no errors, and no warnings during the compile. The files appear right where they always have and should. Running them in the example folder makes no difference. It wont run, but if I replace the executable with a previous compile, it will run. It's the same in every current TGE project I'm running.
@ Daniel - I haven't tried installing the DX8 SDK for a couple of reasons. I've been using WinXP pro with it's installed version of DX, 8.1 I never had a problem with it. All my TGE compiles were made using DX 8.1 and never gave my any problems no matter what Drivers I used. Direct X is not somthing you want to mess with any more than you have to to keep your system from imploding. Which is what happened when I installed DX9. Also, your not supposed to be able to go back with DX. You can upgrade but a downgrade means a reinstall. Also, if DX or my drivers, or my compiler were messed up, then WHY would my TSE compiles work while me TGE's don't? Why would my video drivers crash for my new exe's but not my old ones or any others? If it were video wouldn't I get an error instead of TGE just quitting? Also, I'm not getting a log from TGE, it's not even running long enough to initialize the video(canvas). Lastly, since the OS comes with DX 8.1 and it was all TGE ever needed before, it doesn't make much sense to actually install DX8 again. But trust me, before I wipe this OS to try again I'll try to get DX 8 installed and try it just to be sure.
Ok, so now, my machine is running perfectly as best I can tell. Every app but one works, and that's TGE's that I compile using VC6 with no warnings, and no errors. That's the delima.
Also, yes I have Nvidia, and also I stated in this post that I have the latest drivers, and the ones before that, and the ones before that. It's not the drivers. I also stated that I have multiple TGE executables, about 20 or so. I can run any TGE that I compiled before I got the DX9 SDK, I can run any TGE that someone else compiled, including the demos, but I cannot run any TGE that I personally compile now. I get no errors, and no warnings during the compile. The files appear right where they always have and should. Running them in the example folder makes no difference. It wont run, but if I replace the executable with a previous compile, it will run. It's the same in every current TGE project I'm running.
@ Daniel - I haven't tried installing the DX8 SDK for a couple of reasons. I've been using WinXP pro with it's installed version of DX, 8.1 I never had a problem with it. All my TGE compiles were made using DX 8.1 and never gave my any problems no matter what Drivers I used. Direct X is not somthing you want to mess with any more than you have to to keep your system from imploding. Which is what happened when I installed DX9. Also, your not supposed to be able to go back with DX. You can upgrade but a downgrade means a reinstall. Also, if DX or my drivers, or my compiler were messed up, then WHY would my TSE compiles work while me TGE's don't? Why would my video drivers crash for my new exe's but not my old ones or any others? If it were video wouldn't I get an error instead of TGE just quitting? Also, I'm not getting a log from TGE, it's not even running long enough to initialize the video(canvas). Lastly, since the OS comes with DX 8.1 and it was all TGE ever needed before, it doesn't make much sense to actually install DX8 again. But trust me, before I wipe this OS to try again I'll try to get DX 8 installed and try it just to be sure.
Ok, so now, my machine is running perfectly as best I can tell. Every app but one works, and that's TGE's that I compile using VC6 with no warnings, and no errors. That's the delima.
About the author
#2
I'm wondering if your object files are out of alignment with a lib or other link envionment issue with the changes you've listed.
If it's not even running long enough to generate a log file, much less compile .cso's, then it still sounds like an environment issue as opposed to a run time issue.
06/22/2004 (3:44 pm)
Not trying to be patronizing or anything, please don't take this wrong, but have you tried a make clean and then a make?I'm wondering if your object files are out of alignment with a lib or other link envionment issue with the changes you've listed.
If it's not even running long enough to generate a log file, much less compile .cso's, then it still sounds like an environment issue as opposed to a run time issue.
#3
The result is shown in red and is this...
bestmatch 0x00bdd1f0 struct Memory::Treenode Memory::Nil
Don't ask me what that means lol. I'm not a C++ guru
06/22/2004 (4:17 pm)
Yes, I have cleaned all my builds and tested. I usually clean them often anyway because of the changes that get made. I and others suspect this is a DX issue, but with almost nowhere to start execpt for a bombing exe, the issue is wide open to being judged as nearly anything. You may be correct about the environment issue but I'm not sure what it could be. When I step thru the debugger, the first place I notice anything is here...static FreeHeader *treeFindSmallestGreaterThan(dsize_t size)
{
TreeNode *bestMatch = NIL;
TreeNode *walk = gFreeTreeRoot; // THIS LINEThe result is shown in red and is this...
bestmatch 0x00bdd1f0 struct Memory::Treenode Memory::Nil
Don't ask me what that means lol. I'm not a C++ guru
#4
06/22/2004 (9:12 pm)
It dies on that line?
#5
Correct me if I'm wrong, but that's like the start of everything is it not? What happens is it jumps into that function, and at the "return run(argc, argv);" it does a bunch of memory setup(as best I can tell) and then it returns to that function and just vaporizes. It jumps to some disassembly code that I don't understand, and if I tell it to step out, it's done.
06/23/2004 (2:42 am)
Ben, after stepping through hundreds upon hundreds of lines, it appears that the crash occurs at the completion of this function....S32 main(S32 argc, const char **argv)
{
winState.appInstance = GetModuleHandle(argv[0]);
return run(argc, argv);
}Correct me if I'm wrong, but that's like the start of everything is it not? What happens is it jumps into that function, and at the "return run(argc, argv);" it does a bunch of memory setup(as best I can tell) and then it returns to that function and just vaporizes. It jumps to some disassembly code that I don't understand, and if I tell it to step out, it's done.
#6
06/23/2004 (7:21 am)
At the completion? That function, main, is the one called by the operating system; when that function completes, so does Torque. Have you tried setting breakpoints in the main function in engine/game/main.cc?
#7
06/24/2004 (11:27 am)
So the TGE is not running for you when you have it set to run in OpenGL (by modifying client/prefs.cs)? Does it die before it's able to create a window?
#8
Error: Unable to load any specified mods
And then of course it quits as told to do by script. This takes place in the main.cs of course, and when stepping through the debugger, this is the line that it quits on(in the MAIN function)....
return run(argc, argv);
Very strange indeed and I have no clue why it's doing this.
07/09/2004 (8:50 pm)
After various tests to determine what is going wrong I loaded the exe onto a slow computer and discovered the following echo into the command window just before it closes....Error: Unable to load any specified mods
And then of course it quits as told to do by script. This takes place in the main.cs of course, and when stepping through the debugger, this is the line that it quits on(in the MAIN function)....
return run(argc, argv);
Very strange indeed and I have no clue why it's doing this.
#9
07/09/2004 (10:12 pm)
Hmm. What command line are you running it with? What happens you put trace(1); at the start of main.cs and check the console.og?
#10
Anyway, once I pointed the main.cs to the correct files, the damn thing fired right up. It also explains the lack of arguement count in the debug and why no9thing seemed to be wrong with the engine, lol.
eye R pheeling newb
Can you say READ ONLY main.cs files boys and girls?
Thanks to everyone for their input on this mess.
07/09/2004 (11:26 pm)
OMG. I'm not sure how it happened, but my main.cs's were not looking for the right files inside the game folders. I for the life of me cannot figure out how they got changed unless they were overwritten accidentally with older versions(Which should not have happened).Anyway, once I pointed the main.cs to the correct files, the damn thing fired right up. It also explains the lack of arguement count in the debug and why no9thing seemed to be wrong with the engine, lol.
eye R pheeling newb
Can you say READ ONLY main.cs files boys and girls?
Thanks to everyone for their input on this mess.
Torque Owner Gonzo T. Clown
As a matter of fact I normally run OpenGL at 1280 x 1024 32bit. When this problem started I tried switching to D3D and switching between different resolutions from 800 x 600 to 1600 x 1200. I even tried running it Windowed and fullscreen. The resoultions and video settings have no effect. Keep in mind that none of the .cs files are actually being compiled into DSO's and it's not running long enough to generate a log or even overwrite the previous one.