Thank you for downloading the F4SM package.

NEED HELP?
==========
Read EVERYTHING below first and email me after that - thank you.


WHAT IS IN THIS DOWNLOAD
========================
In this download you will find 2 directories "Examples" & "Source". Pretty straight forward what they are.
The example demonstrates how you can use the dlls. Both a server and client example are available.

Look in the source directory to view and/or alter the code for these example projects. The comments should be
enough for all average programmers and up to get you going - it doesn't get any easier then this.

WHAT IS NOT IN THIS DOWNLOAD
============================
A fully working program. You still need to do some stuff yourself!


WHAT IS F4SM.DLL
=================
F4SM.dll is the reference dll which will make a programmers life a bit more easy when it comes to the Falcon shared memory area.
Also you can call functions in the F4SM.dll which will enable you to send data UDP to an IP adress.
The client can use the dll so retrieve the data which are sended over UDP to his address.


TINYNET.DLL
===========
This DLL is the work of Tupacs01 which i used for the UDP connection. (why invent the wheel again).
More info about this project can be found here: http://www.codeproject.com/vb/net/TinyUDP.asp.
This DLL is required when you are going to use the UDP features.


UDP - LAN & INTERNET
====================
UDP is a 'connectionless' way of transporting data from one computer to the other.
The TCP/IP protocol establishes a connection and then transfers information. Basically UDP sends out data to an IP. Heck, you
can even compare it with the Sidewinder & AMRAAAM. TCP/IP is the Sidewinder - it needs a connection with to go to the target, where
a AMRAAM is fire and forget: When it's in range (and this is where problems may show). UDP is great over a LAN will work 98 out of 100 times. 
When using UDP over internet however these values may come lower. Depending on the connection to the target pc. Just update (= send the data)
out alot and you should be fine.

USAGE
=====
The following methods can be used:


For the Client (to display anything you have created):
------------------------------------------------------

- ClientConnect
	* Enables listening to a port for UDP transfers

- ClientDisconnect
	* Disables listening to a port for UDP transfers

- ClientGetLastData
	* Retrieves the last message send to the client by the server.


For the Server (where falcon runs):
-----------------------------------

- RefreshData
	* Retrieves/refreshes the information from the SharedMemory location

- SendData
	* Send data to an IP adress.


SENDING DATA
============
You will most likely not be sending ALL information from the SharedMemory area from Falcon. Thats why you can decide which data will be sended to the client:
Using the following (Readonly) properties: (Reference: http://www.simpits.org/)
- f4_x
- f4_y
- f4_z
- f4_xDot
- f4_yDot
- f4_zDot
- f4_alpha
- f4_beta
- f4_gamma
- f4_pitch
- f4_roll
- f4_yaw
- f4_mach
- f4_kias
- f4_vt
- f4_gs
- f4_windOffset
- f4_nozzlePos
- f4_internalFuel
- f4_externalFuel
- f4_fuelFlow
- f4_rpm
- f4_ftit
- f4_gearPos
- f4_speedBrake
- f4_epuFuel
- f4_oilPressure
- f4_lightBits

(All are put in the FD structure)


A note on the x & y:
--------------------
The x & y from falcon correspond to a location in the sim. For YOUR conveniance i calculated the position to be shown on a 1280x1024 map.
So, if you have a 1280x1024 map of the theathers (hint: campaign directory) the x and the y which you get from the F4SM.DLL corresponds to the PIXEL
of that image... (Awacs / ATC programmers: have fun!) If you have different map sizes you can alter these values to your needs..


RECEIVING DATA
==============
Using ClientGetLastData you get the <string> value of the data last sended from the server. You decide what your are sending, so you are also
deciding what you are doing with it. I strongly suggest NOT sending all data at once. I also suggest sending the data in a semicolon seperated string.
Using a simple "split" and "for while loop" you can do with the data whatever you want. 

Your brain is the limit.


DISCLAIMER
==========
This software isn't perfect.

TERMS:
======
You can use my stuff freely. However, a notice is greatly appreciated.



Thank you for reading :)

Stephan 'Stevie' Soolsma
ssoolsma@gmail.com








