• entries
500
1888
• views
333259

# Testing: Day 2

95 views

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

if(SeriemasMachine)
PeekMessage(...);

[smile]Ahh, yes.

Sorry about not getting time to go through it yesterday, I might have some time tonight!

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();
}



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

## Create an account

Register a new account