Hmm as we have the "quick start" feature... what about a "quick close" feature. i don't really need that "do you really want to quit lfs" and the credits screen ^^
insim.txt: You can identify an OutGauge packet by its size (92 bytes) and 4th byte : zero.
your code: else if (bytesReceived == 96 && received[3] == 0)
So it doesn't work like that And if you wold have run your Tester application you would have noticed it
Nevertheless good work
Edit:
I think something is wrong with outgauge
The packet in the file is 96 bytes big, but if you request outgauge through insim you only get 92 bytes whioch means the
"int ID; // (optional ID - if specified in cfg.txt)" is missing => check packet size of 96 and 92.
But if you use outgauge together with insim you receive at least two packets which are "size (92 bytes) and 4th byte : zero". The outgauge packet and the IS_LAP packet!
So I would suggest to move the OutGauge/Outsim check into the switch (receivedId.ToString())'s default part and check both outgauge packet sizes.
overlay code is taken from the c# example found here: http://nexe.gamedev.net/directKnowledge/
for insim/outgauge wait for sdether to release the next version of his library
well i included the code snippets in the attached text file as i don't have a running version right now (as it was just an experiment)