Index: /Daodan/src/Daodan.c
===================================================================
--- /Daodan/src/Daodan.c	(revision 467)
+++ /Daodan/src/Daodan.c	(revision 468)
@@ -54,4 +54,7 @@
 
 bool opt_usedaodanbsl = true;
+bool opt_border = true;
+bool opt_shadow = true;
+bool opt_topmost = false;
 
 bool DDrPatch_Init()
@@ -213,4 +216,12 @@
 			if (!stricmp(name, "usedaodanbsl"))
 				opt_usedaodanbsl = !stricmp(inifile_cleanstr(value), "true");
+			else if (!stricmp(name, "border"))
+				opt_border = !stricmp(inifile_cleanstr(value), "true");
+			else if (!stricmp(name, "shadow"))
+				opt_shadow = !stricmp(inifile_cleanstr(value), "true");
+			else if (!stricmp(name, "topmost"))
+				opt_topmost = !stricmp(inifile_cleanstr(value), "true");
+			else if (!stricmp(name, "multibyte"))
+				patch_multibyte = !stricmp(inifile_cleanstr(value), "true");
 			else if (!stricmp(name, "debug"))
 				AKgDebug_DebugMaps = !stricmp(inifile_cleanstr(value), "true");
Index: /Daodan/src/Daodan.h
===================================================================
--- /Daodan/src/Daodan.h	(revision 467)
+++ /Daodan/src/Daodan.h	(revision 468)
@@ -11,3 +11,7 @@
 extern HMODULE DDrONiModule;
 
+extern bool opt_border;
+extern bool opt_shadow;
+extern bool opt_topmost;
+
 #endif
Index: /Daodan/src/Daodan_Character.c
===================================================================
--- /Daodan/src/Daodan_Character.c	(revision 467)
+++ /Daodan/src/Daodan_Character.c	(revision 468)
@@ -31,5 +31,5 @@
 return -1;													//not found :(
 }
-
+/*
 OniRectangle TestRect;
 void CHARTest()
@@ -59,2 +59,3 @@
 	return;
 }
+*/
Index: /Daodan/src/Daodan_WindowHack.c
===================================================================
--- /Daodan/src/Daodan_WindowHack.c	(revision 467)
+++ /Daodan/src/Daodan_WindowHack.c	(revision 468)
@@ -7,4 +7,6 @@
 #include "BFW_Motoko_Draw.h"
 #include "oni_gl.h"
+
+#define CS_DROPSHADOW 0x20000
 
 volatile HWND onihwnd, boxhwnd = NULL;
@@ -17,8 +19,4 @@
 	{
 		case WM_KEYDOWN:
-			if (wParam == VK_F5) {
-				MessageBox(0, "test", "", 0);
-				CHARTest();
-			}
 		case WM_ACTIVATE:
 		case WM_CHAR:
@@ -41,7 +39,7 @@
 			}
 			break;
-		case WM_CLOSE:
-			CHARTest();
-			break;
+//		case WM_CLOSE:
+//			CHARTest();
+//			break;
 		case WM_DESTROY:
 			PostQuitMessage(0);
@@ -67,5 +65,5 @@
 	
 	wc.cbSize = sizeof(WNDCLASSEX);
-	wc.style = 0;
+	wc.style = (opt_border ? 0 : (opt_shadow ? CS_DROPSHADOW : 0));
 	wc.lpfnWndProc = DDrHack_WndProc;
 	wc.cbClsExtra = 0;
@@ -85,9 +83,7 @@
 	re.right = re.left + 640;
 	re.bottom = re.top + 480;
-	AdjustWindowRect(&re, WS_POPUP | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU, FALSE);
+	AdjustWindowRect(&re, WS_POPUP | (opt_border ? WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU : 0), FALSE);
 	
-	boxhwnd = CreateWindowEx(0, "OniGanbatte", "Oni", WS_POPUP | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU, re.left, re.top, re.right - re.left, re.bottom - re.top, NULL, NULL, DDrDLLModule, NULL);
-	ShowWindow(boxhwnd, SW_SHOW);
-	UpdateWindow(boxhwnd);
+	boxhwnd = CreateWindowEx(0, "OniGanbatte", "Oni", WS_POPUP | (opt_border ? WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU : 0), re.left, re.top, re.right - re.left, re.bottom - re.top, NULL, NULL, DDrDLLModule, NULL);
 	
 	while (GetMessage(&Msg, NULL, 0, 0) > 0)
@@ -121,7 +117,9 @@
 	re.right = re.left + cx;
 	re.bottom = re.top + cy;
-	AdjustWindowRect(&re, WS_POPUP | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU, FALSE);
+	AdjustWindowRect(&re, WS_POPUP | (opt_border ? WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU : 0), FALSE);
 	
-	SetWindowPos(boxhwnd, NULL, re.left, re.top, re.right - re.left, re.bottom - re.top, uFlags | SWP_NOOWNERZORDER);
+	SetWindowPos(boxhwnd, opt_topmost ? HWND_TOPMOST : NULL, re.left, re.top, re.right - re.left, re.bottom - re.top, (opt_topmost ? uFlags & ~SWP_NOZORDER : uFlags | SWP_NOOWNERZORDER));
+	ShowWindow(boxhwnd, SW_SHOW);
+	UpdateWindow(boxhwnd);
 	return SetWindowPos(hWnd, NULL, 0, 0, cx, cy, uFlags | SWP_NOOWNERZORDER);
 }
