Would it be acceptable if I programmed a game for XP, Vista, 7, and 8 to spare for Windows 10? Are these Windows versions still widely used today?

Started by
30 comments, last by rjhwinner03 5 years, 9 months ago
12 minutes ago, rjhwinner03 said:

What do you mean?

He means look in the callstack and work your way up through the function calls until you find the function in your code that you're calling that has the problem.

Also, it's time to get a newer compiler.

Advertisement

I cant... I get Windows SDK errors when I try to build, forcing me to stick with VS 2008.

23 minutes ago, rjhwinner03 said:

What do you mean?

Actually, from the looks of things, it appears to be a particle system that is giving errors... I am making a RTS game and I have a magician that shoots projectiles... Those are fireballs which are just particles grouped together. Whenever the particles hit the ground and scatter, it gives me that error I was mentioning in the first post...

 Did this help any?

No, not at all. I know nothing about how you've implemented any of this, other than apparently a vector is involved. Nobody here is psychic, you know. Without any code or at least an in-depth explanation of the code that is failing, there's very little we can do. :P

That being said, my clairvoyance says you should double check that you aren't invalidating your iterators by erasing elements from your vector while iterating through it, that being a very common mistake.

My game is based off the code from "Programming a RTS game with Direct3D" by Carl Granberg. (Chapter 16)

Eric Richards has it on github, you could probably find it via Google.

I would probably not have errors if Visual Studio 2003 was not such a jerk...

It always gives me errors when I try to install, and the one time I got it completely installed, the IDE GUI was not working...

That's not specific at all. Again, I'm not psychic. What I'm looking for is the actual place in your code where the assertion is being hit.

To get that, you'll need to do what I said earlier and attach the debugger, catch the assertion, then use Visual Studio's callstack window to see the top-most function on it that is in your code. Post that function on the forum and let's have a look at it. If you're having trouble with this very basic task, I again suggest you go to the chat so we can help you more directly than trying to guess how your VS is set up.

I'm also a little unimpressed that you expect us to go and search for the source code that your project is based on, then somehow psychically work out where the problem is and what you changed in that code to cause the problem, when what is actually needed here is for you to put some effort into using the tools available to you to get the relevant information at hand.

I got it with the Call Stack.

 

It is in msvcp90d.dll

here is the call stack.

 

>    msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x003d7cb8, const wchar_t * file=0x003d71f0, unsigned int line=251)  Line 24    C++

 
game.exe!std::_Vector_const_iterator<EFFECT *,std::allocator<EFFECT *> >::_Compat(const std::_Vector_const_iterator<EFFECT *,std::allocator<EFFECT *> > & _Right=0x0bf19328 {m_pSrcBone=0x0bf15940 m_speed=3.0000000 m_length=-4.3160208e+008 ...})  Line 251 + 0x17 bytes    C++


     game.exe!std::_Vector_const_iterator<EFFECT *,std::allocator<EFFECT *> >::operator==(const std::_Vector_const_iterator<EFFECT *,std::allocator<EFFECT *> > & _Right=0x0bf19328 {m_pSrcBone=0x0bf15940 m_speed=3.0000000 m_length=-4.3160208e+008 ...})  Line 211    C++


     game.exe!std::_Vector_const_iterator<EFFECT *,std::allocator<EFFECT *> >::operator!=(const std::_Vector_const_iterator<EFFECT *,std::allocator<EFFECT *> > & _Right=0x0bf19328 {m_pSrcBone=0x0bf15940 m_speed=3.0000000 m_length=-4.3160208e+008 ...})  Line 216 + 0xc bytes    C++


     game.exe!APPLICATION::Update(float deltaTime=0.0060000001)  Line 355 + 0x72 bytes    C++


     game.exe!WinMain(HINSTANCE__ * hInstance=0x00350000, HINSTANCE__ * prevInstance=0x00000000, char * cmdLine=0x00c98c0a, int showCmd=1)  Line 115    C++


     game.exe!__tmainCRTStartup()  Line 574 + 0x35 bytes    C


     game.exe!WinMainCRTStartup()  Line 399    C

Okay. That callstack indicates that the assertion is being thrown in APPLICATION::Update - every other function above it is in standard library code. Why don't you post the code for that function here?

Yep, it leads directly to the effects (particle systems, etc)

So what does this mean? 

 

P.S. thank you guys for telling me how to find the Call Stack!!!

@rjhwinner03 can I ask how much programming experience you have? I'm not trying to be mean, but based on the questions you're asking, it sounds like you're still very much at the beginner level. There's nothing wrong with that; we all had to start somewhere, but I'm thinking that this particular project (a 3D RTS) might be a bit ambitious for where you're at.

If you're still trying to understand fundamental programming concepts like a call stack, I would avoid doing anything with 3d graphics until you are more comfortable with whatever language you want to use.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

I have been programming in C++ for 4 years, and with Java for 4 years... I started DirectX last October (in 2017). I know how to use DirectX (as I have read Frank Luna's DX9 and DX12 books).

 

I am just more familiar with Visual C++ 6, Visual Studio 2003(I am most comfortable with this one because I started out with it), and Watcom C/C++.

I can program in DirectX 12, but I just prefer not to due to the lack of documentation and the crappy "help" from Microsoft's documentation website...

@ChaosEngine, how much experience do you have?

@ChaosEngine, what do you think would be a good time to start a game? I have had more experience with the old Visual Studio 2003 compiler/IDE and Code::Blocks IDE than I have had with the newer VS 2008 - 2017... Sorry if I was sounding harsh.

This topic is closed to new replies.

Advertisement