Testing: Day 2

posted in A Keyboard and the Truth for project 96 Mill
Published July 13, 2005
Advertisement
So the second day of testing went okay as well.

With the help of Seriema I was able to isolate and destroy some good bugs, for instance:

  • config dialog cancel bug
  • config apply button not default
  • sprite flicker (time base animation frame overflow(evil!))
  • part of the 'Phantom Quit Bug'

    The Phantom Quit Bug, is by far the most evil.

    Take this for instance:

    PeekMessage(&msg,hwnd,0,0,PM_REMOVE);

    on 90% of our machines, all with the 'same' OS, that works fine.

    However, on Seriema's and a few others, it doesnt respond to PostQuitMessage(0);

    After some digging it is obvious why it wouldnt, since it is filtering by our hwnd, and PostQuitMessage posts to the thread, and not a specific window.

    HOWEVER!



    Somone please explain to me why it works on most machines!?!?!

    all in all, changing it to:

    PeekMessage(&msg,NULL,0,0,PM_REMOVE);

    seemed to fix part of the error.

    Now however it only sorta quits, it seems the main window lingers around (only on Seriema's machine and others like it), so I am wondering if I need to explicitly say 'DestroyWindow' before I exit the entry point, instead of relying on the window being destroyed when the hInstance goes *poof* =D, probably. However it urks me that this is seemingly system dependant, I cant yet discover exactly what is causing the dependance, the only hunch is perhaps Service Pack 2, and Seriema also uses WINXP Tablet Edition, but ive found this issue on non tablet pc's as well *hmm*

    Anyhow the bug doesnt scare me that much, it will just take a bit of testing to get rid of.

    Seriema has also been running into a fair amount of special bugs in-game (scripting), but at this point I am not positive of thier validity, since the game doesnt seem to like his machine to begin with =D
  • Previous Entry Testing Day 1
    Next Entry Testing Day 3
    0 likes 3 comments

    Comments

    Rob Loach
    if(SeriemasMachine)
        PeekMessage(...);


    [smile]Ahh, yes.

    Sorry about not getting time to go through it yesterday, I might have some time tonight!
    July 13, 2005 09:27 AM
    hungryhippo5000
    I'm not sure why Seriema has a problem! Have you tried the following game loop:

    
    ZeroMemory(&msg, sizeof(msg));
    while(msg.message != WM_QUIT) {
    	if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    
    	Render();
    }
    
    
    
    
    July 13, 2005 05:38 PM
    EDI
    that gameloop is actually bad =/

    it will cause such things as keyboard and potentially mouse input to be sluggish.

    rendering should only occur if no messages are in the queue =D

    thanks for the help tho =)

    we have narrowed it down to somthing with our modal configuration dialog box. I hate win32 =D
    July 13, 2005 09:56 PM
    You must log in to join the conversation.
    Don't have a GameDev.net account? Sign up!
    Profile
    Author
    Advertisement
    Advertisement