Index: Daodan/Flatline/build_test.bat
===================================================================
--- Daodan/Flatline/build_test.bat	(revision 481)
+++ Daodan/Flatline/build_test.bat	(revision 483)
@@ -1,2 +1,2 @@
-gcc -O3 -s -Wall -o testserver src/testserver.c src/Flatline.c src/Flatline_Win32.c -lws2_32
-gcc -O3 -s -Wall -o testclient src/testclient.c src/Flatline.c src/Flatline_Win32.c -lws2_32
+gcc -O3 -s -Wall -o testserver src/testserver.c src/Flatline.c src/Flatline_Net.c src/Flatline_Win32.c -lws2_32
+gcc -O3 -s -Wall -o testclient src/testclient.c src/Flatline.c src/Flatline_Net.c src/Flatline_Win32.c -lws2_32
Index: Daodan/Flatline/src/Flatline.c
===================================================================
--- Daodan/Flatline/src/Flatline.c	(revision 481)
+++ Daodan/Flatline/src/Flatline.c	(revision 483)
@@ -13,4 +13,4 @@
 bool FLrServer_Run()
 {
-	return Net_Listen(27777, FLrListen_PacketCallback);
+	return NetUDPServer_Listen(27777, FLrServer_PacketCallback);
 }
Index: Daodan/Flatline/src/Flatline.h
===================================================================
--- Daodan/Flatline/src/Flatline.h	(revision 481)
+++ Daodan/Flatline/src/Flatline.h	(revision 483)
@@ -41,10 +41,11 @@
 typedef struct sockaddr sockaddr;
 typedef struct sockaddr_in sockaddr_in;
+typedef sockaddr_storage sockaddr_in6;
 
 bool NetUDPServer_Listen(uint16_t port, bool (*packet_callback)(char* data, int datalen, int from));
-bool NetUDPServer_Send(sockaddr* address, char* data, int datalen)
+bool NetUDPServer_Send(sockaddr* address, char* data, int datalen);
 
 int NetUDPSocket_Create(uint16_t port);
-bool NetUDPSocket_Send(int socket, int ip, uint16_t port, char* data, int datalen);
+bool NetUDPSocket_Send(int socket, const sockaddr* address, const char* data, int datalen);
 void NetUDPSocket_Close(int sock);
 
@@ -66,4 +67,4 @@
 
 
-bool FLrListen_PacketCallback(char* data, int datalen, int from);
-bool FLrListen_Run();
+bool FLrServer_PacketCallback(char* data, int datalen, int from);
+bool FLrServer_Run();
Index: Daodan/Flatline/src/Flatline_Net.c
===================================================================
--- Daodan/Flatline/src/Flatline_Net.c	(revision 481)
+++ Daodan/Flatline/src/Flatline_Net.c	(revision 483)
@@ -84,7 +84,7 @@
 }
 
-bool NetUDPSocket_Send(int socket, sockaddr* address, char* data, int datalen)
+bool NetUDPSocket_Send(int socket, const sockaddr* address, const char* data, int datalen)
 {
-	uint32_t addr_size;
+	int addr_size;
 	switch (address->sa_family)
 	{
@@ -95,4 +95,6 @@
 			addr_size = sizeof(sockaddr_in6);
 			break;
+		default:
+			addr_size = sizeof(sockaddr_storage);
 	}
 	return sendto(socket, data, datalen, 0, address, addr_size);
@@ -101,5 +103,6 @@
 bool NetUDPSocket_Recieve(int socket, sockaddr_storage* address, char* data, uint16_t* datalen)
 {
-	uint32_t msg_size = recvfrom(socket, data, 512, 0, address, sizeof(sockaddr_storage));
+	int address_size = sizeof(sockaddr_storage);
+	uint32_t msg_size = recvfrom(socket, data, 512, 0, (sockaddr*)address, &address_size);
 	if (msg_size == 0)
 		return false;
Index: Daodan/Flatline/src/testclient.c
===================================================================
--- Daodan/Flatline/src/testclient.c	(revision 481)
+++ Daodan/Flatline/src/testclient.c	(revision 483)
@@ -5,16 +5,18 @@
 {
 	NetPlatform_Initalize();
-	int sock = Net_CreateSocket(0);
+	int sock = NetUDPSocket_Create(0);
 	puts("Sending 100 two byte packets . . .");
+	
+	sockaddr_in address = { .sin_family = AF_INET, .sin_port = htons(27777), .sin_addr.S_un.S_addr = inet_addr("192.168.0.100") };
 	
 	int i;
 	for (i = 0; i < 100; i ++)
 	{
-		if (Net_Send(sock, inet_addr("127.0.0.1"), 27777, "hi", 3))
+		if (NetUDPSocket_Send(sock, (sockaddr*)&address, "hi", 2))
 			putchar('*');
 		else
 			putchar('x');
 	}
-	Net_CloseSocket(sock);
+	NetUDPSocket_Close(sock);
 	NetPlatform_Shutdown();
 	return 0;
Index: Daodan/Flatline/src/testserver.c
===================================================================
--- Daodan/Flatline/src/testserver.c	(revision 481)
+++ Daodan/Flatline/src/testserver.c	(revision 483)
@@ -4,5 +4,5 @@
 {
 	NetPlatform_Initalize();
-	FLrListen_Run();
+	FLrServer_Run();
 	NetPlatform_Shutdown();
 	return 0;
Index: Daodan/src/Daodan_Win32.c
===================================================================
--- Daodan/src/Daodan_Win32.c	(revision 481)
+++ Daodan/src/Daodan_Win32.c	(revision 483)
@@ -36,6 +36,6 @@
 	Rect.bottom = Rect.top + Height;
 	AdjustWindowRect(&Rect, WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_POPUP | WS_TILEDWINDOW , FALSE);
-
-	PlatformData->Window = CreateWindowEx(0, "ONI ", "ONI ", WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_POPUP | WS_TILEDWINDOW , Rect.left, Rect.top, Rect.right - Rect.left, Rect.bottom - Rect.top, NULL, NULL, PlatformData->Instance, NULL);
+	PlatformData->Window = CreateWindowEx(0, "ONI ", "ONI ", WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_POPUP | WS_OVERLAPPED, Rect.left, Rect.top, Rect.right - Rect.left, Rect.bottom - Rect.top, NULL, NULL, PlatformData->Instance, NULL);
+	
 	ShowWindow(PlatformData->Window, SW_SHOWNORMAL);
 	UpdateWindow(PlatformData->Window);
