Erm, that loop also removes all messages from the queue before doing the update game bit. Replacing the if with a while doesn't change anything. It's kinda the whole basis of if and else that only...