In my frustration, I’ve made post on this message board before. However, no one is ever willing to really help me out. I get plenty of replies like “I looks like maybe…”, or “Sounds to me like…”, but no one will look at my code and actually help me find the problem. Please do not reply to this post with thinks like “maybe it’s…”. Just reply to this post or E-mail me if you’ve downloaded my source code, run the program, seen the problem, and hopefully found the fault in my code.
I’m not asking for to much here. My code is object oriented (meaning I use classes), and all of the DirectX code can be found in the DirectX manager .CPP file. More specifically, the code to flip the back buffer and the primary surface can be found in the flip surfaces function, and the direct draw setup can be found in the setup direct draw function. Although not extensively commented, my code is neet.
Now for the actual problem I’m having with my code. When the game is run, as the fighters move across the screen, they appear to be shaking very fast (you quickly see what I mean if your download and run the game). I’ve tested to see if for some reason the fighter’s x position is randomly increasing and decreasing as you move left (or right), but it does not. I’ve now spent two weeks on the problem and I cannot find the source of the flaw.
I’ve programmed the game using Visual C++ 6.0, and DirectX 6.0. I use only two direct draw surfaces, the primary surface, and the back buffer. To store all of my images I use arrays of unsigned short (it is a 16 Bit game, full screen). I’m trying to write a software only engine, and I want to code my own drawing routines and the like. Thusly, please do not reply with ideas like “Just use BltFast”, or “Use the hardware”.
I hope someone can actually help me, and not just guess at the problem.
You can download the source code and needed animation files from the following location: http://mike010.hypermart.net/source.zip . Please note that if you wish to debug the game, you can change it to a windowed mode application by change the true to a false on line 190 of the win_main.cpp file.