Fixed a few dependencies on 16-bit or internal functions. Fixed a few
warnings.

diff --git a/controls/desktop.c b/controls/desktop.c
index 859cfba..72e41de 100644
--- a/controls/desktop.c
+++ b/controls/desktop.c
@@ -169,7 +169,7 @@
 	ExitWindows16( 0, 0 ); 
 
     case WM_SETCURSOR:
-        return  (LRESULT)SetCursor16( LoadCursor16( 0, IDC_ARROW16 ) );
+        return  (LRESULT)SetCursor( LoadCursorA( 0, IDC_ARROWA ) );
     }
     
     return 0;
diff --git a/controls/icontitle.c b/controls/icontitle.c
index 9f0c02e..edee6fb 100644
--- a/controls/icontitle.c
+++ b/controls/icontitle.c
@@ -15,8 +15,8 @@
 #include "win.h"
 #include "heap.h"
 
-	BOOL	bMultiLineTitle;
-	HFONT	hIconTitleFont;
+static BOOL bMultiLineTitle;
+static HFONT hIconTitleFont;
 
 /***********************************************************************
  *           ICONTITLE_Init
diff --git a/controls/static.c b/controls/static.c
index 8b7c5d1..3e99188 100644
--- a/controls/static.c
+++ b/controls/static.c
@@ -113,28 +113,10 @@
  *
  * Load the icon for an SS_ICON control.
  */
-static HICON16 STATIC_LoadIcon( WND *wndPtr, LPCSTR name )
+static HICON STATIC_LoadIcon( WND *wndPtr, LPCSTR name )
 {
-    HICON16 hicon;
-
-    if (wndPtr->flags & WIN_ISWIN32)
-    {
-	if (!HIWORD(wndPtr->hInstance)) {
-	    LPSTR segname = SEGPTR_STRDUP(name);
-	    hicon = LoadIcon16( wndPtr->hInstance, SEGPTR_GET(segname) );
-	    SEGPTR_FREE(segname);
-	} else
-	    hicon = LoadIconA( wndPtr->hInstance, name );
-    } else {
-        LPSTR segname = SEGPTR_STRDUP(name);
-
-	if (HIWORD(wndPtr->hInstance))
-		FIXME("win16 window class, but win32 hinstance??\n");
-        hicon = LoadIcon16( wndPtr->hInstance, SEGPTR_GET(segname) );
-        SEGPTR_FREE(segname);
-    }
-    if (!hicon)
-	hicon = LoadIconA( 0, name );
+    HICON hicon = LoadIconA( wndPtr->hInstance, name );
+    if (!hicon) hicon = LoadIconA( 0, name );
     return hicon;
 }
 
@@ -143,24 +125,11 @@
  *
  * Load the bitmap for an SS_BITMAP control.
  */
-static HBITMAP16 STATIC_LoadBitmap( WND *wndPtr, LPCSTR name )
+static HBITMAP STATIC_LoadBitmap( WND *wndPtr, LPCSTR name )
 {
-    HBITMAP16 hbitmap;
-
-    if (wndPtr->flags & WIN_ISWIN32)
-    {
-        hbitmap = LoadBitmapA( wndPtr->hInstance, name );
-        if (!hbitmap)  /* Try OEM icon (FIXME: is this right?) */
-            hbitmap = LoadBitmapA( 0, name );
-    }
-    else
-    {
-        LPSTR segname = SEGPTR_STRDUP(name);
-        hbitmap = LoadBitmap16( wndPtr->hInstance, SEGPTR_GET(segname) );
-        if (!hbitmap)  /* Try OEM icon (FIXME: is this right?) */
-            hbitmap = LoadBitmapA( 0, segname );
-        SEGPTR_FREE(segname);
-    }
+    HBITMAP hbitmap = LoadBitmapA( wndPtr->hInstance, name );
+    if (!hbitmap)  /* Try OEM icon (FIXME: is this right?) */
+        hbitmap = LoadBitmapA( 0, name );
     return hbitmap;
 }
 
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 9bdb628..38bf43c 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -444,7 +444,7 @@
 winmm/wavemap/libmsacm.drv.so: libwinmm.so libuser32.so libkernel32.so libntdll.so
 winmm/wineoss/libwineoss.drv.so: libwinmm.so libuser32.so libkernel32.so libntdll.so
 winsock/libws2_32.so: libuser32.so libkernel32.so libntdll.so
-winspool/libwinspool.drv.so: libgdi32.so libadvapi32.so libkernel32.so libntdll.so
+winspool/libwinspool.drv.so: libuser32.so libgdi32.so libadvapi32.so libkernel32.so libntdll.so
 wow32/libwow32.so: libkernel32.so
 wsock32/libwsock32.so: libws2_32.so libkernel32.so libntdll.so
 x11drv/libx11drv.so: libuser32.so libgdi32.so libkernel32.so
diff --git a/dlls/commdlg/filedlg95.c b/dlls/commdlg/filedlg95.c
index 2839919..cb58ddd 100644
--- a/dlls/commdlg/filedlg95.c
+++ b/dlls/commdlg/filedlg95.c
@@ -1290,7 +1290,7 @@
   if (!COMDLG32_SHGetPathFromIDListA(fodInfos->ShellInfos.pidlAbsCurrent, lpstrPathAndFile))
   {
     /* we are in a special folder, default to desktop */
-    if(FAILED(COMDLG32_SHGetFolderPathA(hwnd, CSIDL_DESKTOPDIRECTORY|CSIDL_FLAG_CREATE, NULL, 0, lpstrPathAndFile)))
+    if(FAILED(COMDLG32_SHGetFolderPathA(hwnd, CSIDL_DESKTOPDIRECTORY|CSIDL_FLAG_CREATE, 0, 0, lpstrPathAndFile)))
     {
       /* last fallback */
       GetCurrentDirectoryA(MAX_PATH, lpstrPathAndFile);
diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c
index a44dd40..2bbed05 100644
--- a/dlls/mpr/wnet.c
+++ b/dlls/mpr/wnet.c
@@ -340,11 +340,9 @@
     if (lpLocalName[1] == ':')
     {
         int drive = toupper(lpLocalName[0]) - 'A';
-        switch(DRIVE_GetType(drive))
+        switch(GetDriveTypeA(lpLocalName))
         {
-        case TYPE_INVALID:
-            return WN_BAD_LOCALNAME;
-        case TYPE_NETWORK:
+        case DRIVE_REMOTE:
             path = DRIVE_GetLabel(drive);
             if (strlen(path) + 1 > *lpBufferSize)
             {
@@ -354,9 +352,9 @@
             strcpy( lpRemoteName, path );
             *lpBufferSize = strlen(lpRemoteName) + 1;
             return WN_SUCCESS;
-	case TYPE_FLOPPY:
-	case TYPE_HD:
-	case TYPE_CDROM:
+	case DRIVE_REMOVABLE:
+	case DRIVE_FIXED:
+	case DRIVE_CDROM:
 	  TRACE("file is local\n");
 	  return WN_NOT_CONNECTED;
 	default:
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index 0e77b7f..29cf617 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -358,7 +358,7 @@
 HICON WINAPI DuplicateIcon( HINSTANCE hInstance, HICON hIcon)
 {
     ICONINFO IconInfo;
-    HICON hDupIcon = NULL;
+    HICON hDupIcon = 0;
 
     TRACE("(%04x, %04x)\n", hInstance, hIcon);
 
@@ -471,7 +471,7 @@
 #define		DROP_FIELD_TOP		(-15)
 #define		DROP_FIELD_HEIGHT	15
 
-extern HICON hIconTitleFont;
+static HICON hIconTitleFont;
 
 static BOOL __get_dropline( HWND hWnd, LPRECT lprect )
 { HWND hWndCtl = GetDlgItem(hWnd, IDC_WINE_TEXT);
@@ -616,6 +616,12 @@
                                   info->szOtherStuff );
                 hWndCtl = GetDlgItem(hWnd, IDC_LISTBOX);
                 SendMessageA( hWndCtl, WM_SETREDRAW, 0, 0 );
+                if (!hIconTitleFont)
+                {
+                    LOGFONTA logFont;
+                    SystemParametersInfoA( SPI_GETICONTITLELOGFONT, 0, &logFont, 0 );
+                    hIconTitleFont = CreateFontIndirectA( &logFont );
+                }
                 SendMessageA( hWndCtl, WM_SETFONT, hIconTitleFont, 0 );
                 while (*pstr)
           { SendMessageA( hWndCtl, LB_ADDSTRING, (WPARAM)-1, (LPARAM)*pstr );
@@ -642,7 +648,7 @@
 
     case WM_LBTRACKPOINT:
 	hWndCtl = GetDlgItem(hWnd, IDC_LISTBOX);
-	if( (INT16)GetKeyState16( VK_CONTROL ) < 0 )
+	if( (INT16)GetKeyState( VK_CONTROL ) < 0 )
       { if( DragDetect( hWndCtl, *((LPPOINT)&lParam) ) )
         { INT idx = SendMessageA( hWndCtl, LB_GETCURSEL, 0, 0 );
 		if( idx != -1 )
@@ -651,7 +657,7 @@
 		    char* pstr = (char*)GlobalLock16( hMemObj );
 
 		    if( pstr )
-            { HCURSOR16 hCursor = LoadCursor16( 0, MAKEINTRESOURCE16(OCR_DRAGOBJECT) );
+            { HCURSOR hCursor = LoadCursorA( 0, MAKEINTRESOURCEA(OCR_DRAGOBJECT) );
 			SendMessageA( hWndCtl, LB_GETTEXT, (WPARAM)idx, (LPARAM)pstr );
 			SendMessageA( hWndCtl, LB_DELETESTRING, (WPARAM)idx, 0 );
 			UpdateWindow( hWndCtl );
@@ -746,7 +752,7 @@
     info.szApp        = szApp;
     info.szOtherStuff = szOtherStuff;
     info.hIcon        = hIcon;
-    if (!hIcon) info.hIcon = LoadIcon16( 0, MAKEINTRESOURCE16(OIC_WINEICON) );
+    if (!hIcon) info.hIcon = LoadIconA( 0, MAKEINTRESOURCEA(OIC_WINEICON) );
     return DialogBoxIndirectParamA( GetWindowLongA( hWnd, GWL_HINSTANCE ),
                                       template, hWnd, AboutDlgProc, (LPARAM)&info );
 }
@@ -772,7 +778,7 @@
     info.szApp        = HEAP_strdupWtoA( GetProcessHeap(), 0, szApp );
     info.szOtherStuff = HEAP_strdupWtoA( GetProcessHeap(), 0, szOtherStuff );
     info.hIcon        = hIcon;
-    if (!hIcon) info.hIcon = LoadIcon16( 0, MAKEINTRESOURCE16(OIC_WINEICON) );
+    if (!hIcon) info.hIcon = LoadIconA( 0, MAKEINTRESOURCEA(OIC_WINEICON) );
     ret = DialogBoxIndirectParamA( GetWindowLongA( hWnd, GWL_HINSTANCE ),
                                    template, hWnd, AboutDlgProc, (LPARAM)&info );
     HeapFree( GetProcessHeap(), 0, (LPSTR)info.szApp );
diff --git a/dlls/shlwapi/Makefile.in b/dlls/shlwapi/Makefile.in
index c9fbaf6..2cefbc0 100644
--- a/dlls/shlwapi/Makefile.in
+++ b/dlls/shlwapi/Makefile.in
@@ -4,7 +4,6 @@
 VPATH     = @srcdir@
 MODULE    = shlwapi
 EXTRALIBS = -lwine_unicode
-IMPORTS   = ntdll
 
 LDDLLFLAGS = @LDDLLFLAGS@
 SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/shlwapi/string.c b/dlls/shlwapi/string.c
index ab3a30f..b259c6e 100644
--- a/dlls/shlwapi/string.c
+++ b/dlls/shlwapi/string.c
@@ -439,7 +439,7 @@
 {	char buf[64];
 	TRACE("%lx %p %i\n", dw, pszBuf, cchBuf);
 	if ( dw<1024L )
-	{ sprintf (buf,"%3.1f bytes", (FLOAT)dw);
+	{ sprintf (buf,"%ld bytes", dw);
 	}
 	else if ( dw<1048576L)
 	{ sprintf (buf,"%3.1f KB", (FLOAT)dw/1024);
@@ -458,23 +458,12 @@
  * StrFormatByteSizeW				[SHLWAPI]
  */
 LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf )
-{	char buf[64];
-	TRACE("%lx %p %i\n", dw, pszBuf, cchBuf);
-	if ( dw<1024L )
-	{ sprintf (buf,"%3.1f bytes", (FLOAT)dw);
-	}
-	else if ( dw<1048576L)
-	{ sprintf (buf,"%3.1f KB", (FLOAT)dw/1024);
-	}
-	else if ( dw < 1073741824L)
-	{ sprintf (buf,"%3.1f MB", (FLOAT)dw/1048576L);
-	}
-	else
-	{ sprintf (buf,"%3.1f GB", (FLOAT)dw/1073741824L);
-	}
+{
+        char buf[64];
+        StrFormatByteSizeA( dw, buf, sizeof(buf) );
         if (!MultiByteToWideChar( CP_ACP, 0, buf, -1, pszBuf, cchBuf ) && cchBuf)
             pszBuf[cchBuf-1] = 0;
-	return pszBuf;	
+        return pszBuf;
 }
 
 /*************************************************************************
diff --git a/dlls/user/network.c b/dlls/user/network.c
index 18f1150..579387b 100644
--- a/dlls/user/network.c
+++ b/dlls/user/network.c
@@ -173,11 +173,9 @@
     if (lpLocalName[1] == ':')
     {
         int drive = toupper(lpLocalName[0]) - 'A';
-        switch(DRIVE_GetType(drive))
+        switch(GetDriveTypeA(lpLocalName))
         {
-        case TYPE_INVALID:
-            return WN16_BAD_LOCALNAME;
-        case TYPE_NETWORK:
+        case DRIVE_REMOTE:
             path = DRIVE_GetLabel(drive);
             if (strlen(path) + 1 > *cbRemoteName)
             {
@@ -187,9 +185,9 @@
             strcpy( lpRemoteName, path );
             *cbRemoteName = strlen(lpRemoteName) + 1;
             return WN16_SUCCESS;
-	case TYPE_FLOPPY:
-	case TYPE_HD:
-	case TYPE_CDROM:
+	case DRIVE_REMOVABLE:
+	case DRIVE_FIXED:
+	case DRIVE_CDROM:
 	  TRACE("file is local\n");
 	  return WN16_NOT_CONNECTED;
 	default:
diff --git a/dlls/win32s/Makefile.in b/dlls/win32s/Makefile.in
index 40d8cd7..78887ed 100644
--- a/dlls/win32s/Makefile.in
+++ b/dlls/win32s/Makefile.in
@@ -5,7 +5,6 @@
 MODULE    = w32skrnl
 SOVERSION = 1.0
 ALTNAMES  = w32sys win32s16
-IMPORTS   = kernel32 ntdll
 
 LDDLLFLAGS = @LDDLLFLAGS@
 SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/win32s/w32skernel.c b/dlls/win32s/w32skernel.c
index d1716a6..75b0101 100644
--- a/dlls/win32s/w32skernel.c
+++ b/dlls/win32s/w32skernel.c
@@ -9,6 +9,7 @@
 
 #include "winbase.h"
 #include "wine/windef16.h"
+#include "thread.h"
 
 /***********************************************************************
  *		GetWin32sDirectory
@@ -34,3 +35,13 @@
 {
 	return (SEGPTR)NULL;
 }
+
+
+/***********************************************************************
+ *           GetCurrentTask32   (W32SKRNL.3)
+ */
+HTASK16 WINAPI GetCurrentTask32(void)
+{
+    return NtCurrentTeb()->htask16;
+}
+
diff --git a/dlls/win32s/w32skrnl.spec b/dlls/win32s/w32skrnl.spec
index 5ecf7fb..5c1ca53 100644
--- a/dlls/win32s/w32skrnl.spec
+++ b/dlls/win32s/w32skrnl.spec
@@ -8,7 +8,7 @@
 
 1 stub _kSetEnvironmentVariable@8
 2 stub _SzFromImte@4
-3 stdcall GetCurrentTask32() GetCurrentTask
+3 stdcall GetCurrentTask32() GetCurrentTask32
 4 stub _DebugPrintf
 5 stub _NtCloseSection@8
 6 stub _AllocKernelHeap@8
diff --git a/dlls/win32s/w32sys.c b/dlls/win32s/w32sys.c
index e7102df..125ea8a 100644
--- a/dlls/win32s/w32sys.c
+++ b/dlls/win32s/w32sys.c
@@ -5,8 +5,11 @@
  * Copyright (c) 1996 Anand Kumria
  */
 
+#include <unistd.h>
+
 #include "windef.h"
 #include "wine/windef16.h"
+#include "wine/winbase16.h"
 #include "debugtools.h"
 
 DEFAULT_DEBUG_CHANNEL(dll);
@@ -62,3 +65,34 @@
 	FIXME("(0x%04x,0x%08lx),stub!\n",x,y);
 	return 0;
 }
+
+
+/**********************************************************************
+ *		IsPeFormat16		(W32SYS.2)
+ * Checks the passed filename if it is a PE format executeable
+ * RETURNS
+ *  TRUE, if it is.
+ *  FALSE if not.
+ */
+BOOL16 WINAPI IsPeFormat16( LPSTR fn,      /* [in] filename to executeable */
+                            HFILE16 hf16 ) /* [in] open file, if filename is NULL */
+{
+    BOOL16 ret = FALSE;
+    IMAGE_DOS_HEADER mzh;
+    OFSTRUCT ofs;
+    DWORD xmagic;
+    HFILE hf;
+
+    if (fn) hf = OpenFile(fn,&ofs,OF_READ);
+    else hf = DosFileHandleToWin32Handle( hf16 );
+    if (hf == HFILE_ERROR) return FALSE;
+    _llseek(hf,0,SEEK_SET);
+    if (sizeof(mzh)!=_lread(hf,&mzh,sizeof(mzh))) goto done;
+    if (mzh.e_magic!=IMAGE_DOS_SIGNATURE) goto done;
+    _llseek(hf,mzh.e_lfanew,SEEK_SET);
+    if (sizeof(DWORD)!=_lread(hf,&xmagic,sizeof(DWORD))) goto done;
+    ret = (xmagic == IMAGE_NT_SIGNATURE);
+ done:
+    if (fn) _lclose(hf);
+    return ret;
+}
diff --git a/windows/defwnd.c b/windows/defwnd.c
index 1e53645..9bf880a 100644
--- a/windows/defwnd.c
+++ b/windows/defwnd.c
@@ -505,9 +505,9 @@
 
             if( (hIcon=wndPtr->class->hCursor) ) return (LRESULT)hIcon;
             for(len=1; len<64; len++)
-                if((hIcon=LoadIcon16(wndPtr->hInstance,MAKEINTRESOURCE16(len))))
+                if((hIcon=LoadIconA(wndPtr->hInstance,MAKEINTRESOURCEA(len))))
                     return (LRESULT)hIcon;
-            return (LRESULT)LoadIcon16(0,IDI_APPLICATION16);
+            return (LRESULT)LoadIconA(0,IDI_APPLICATIONA);
         }
         break;
 
diff --git a/windows/mdi.c b/windows/mdi.c
index 1e262ed..d3102af 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -805,7 +805,7 @@
 {
  HDC 		hDCSrc  = CreateCompatibleDC(0);
  HDC		hDCDest	= CreateCompatibleDC(hDCSrc);
- HBITMAP16	hbClose = LoadBitmap16(0, MAKEINTRESOURCE16(OBM_CLOSE) );
+ HBITMAP16	hbClose = LoadBitmapA(0, MAKEINTRESOURCEA(OBM_CLOSE) );
  HBITMAP16	hbCopy;
  HANDLE16	hobjSrc, hobjDest;
 
@@ -1250,7 +1250,7 @@
 	if (!hBmpClose)
         {
             hBmpClose = CreateMDIMenuBitmap();
-            hBmpRestore = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_RESTORE) );
+            hBmpRestore = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_RESTORE) );
         }
 	MDI_UpdateFrameText(frameWnd, hwnd, MDI_NOFRAMEREPAINT,frameWnd->text);
 
diff --git a/windows/msgbox.c b/windows/msgbox.c
index 6e54b1c..6fad242 100644
--- a/windows/msgbox.c
+++ b/windows/msgbox.c
@@ -98,20 +98,16 @@
     /* Set the icon */
     switch(lpmb->dwStyle & MB_ICONMASK) {
     case MB_ICONEXCLAMATION:
-	SendDlgItemMessage16(hwnd, stc1, STM_SETICON16,
-			     (WPARAM16)LoadIcon16(0, IDI_EXCLAMATION16), 0);
+	SendDlgItemMessageA(hwnd, stc1, STM_SETICON, LoadIconA(0, IDI_EXCLAMATIONA), 0);
 	break;
     case MB_ICONQUESTION:
-	SendDlgItemMessage16(hwnd, stc1, STM_SETICON16,
-			     (WPARAM16)LoadIcon16(0, IDI_QUESTION16), 0);
+	SendDlgItemMessageA(hwnd, stc1, STM_SETICON, LoadIconA(0, IDI_QUESTIONA), 0);
 	break;
     case MB_ICONASTERISK:
-	SendDlgItemMessage16(hwnd, stc1, STM_SETICON16,
-			     (WPARAM16)LoadIcon16(0, IDI_ASTERISK16), 0);
+	SendDlgItemMessageA(hwnd, stc1, STM_SETICON, LoadIconA(0, IDI_ASTERISKA), 0);
 	break;
     case MB_ICONHAND:
-      SendDlgItemMessage16(hwnd, stc1, STM_SETICON16,
-			     (WPARAM16)LoadIcon16(0, IDI_HAND16), 0);
+      SendDlgItemMessageA(hwnd, stc1, STM_SETICON, LoadIconA(0, IDI_HANDA), 0);
       break;
     default:
 	/* By default, Windows 95/98/NT do not associate an icon to message boxes.
diff --git a/windows/nonclient.c b/windows/nonclient.c
index 86e13bf..940ac91 100644
--- a/windows/nonclient.c
+++ b/windows/nonclient.c
@@ -1468,18 +1468,18 @@
 
     if (!hbitmapClose)
     {
-	if (!(hbitmapClose = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_CLOSE) )))
+	if (!(hbitmapClose = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_CLOSE) )))
         {
             WIN_ReleaseWndPtr(wndPtr);
 	    return;
         }
-	hbitmapCloseD    = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_CLOSED) );
-	hbitmapMinimize  = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_REDUCE) );
-	hbitmapMinimizeD = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_REDUCED) );
-	hbitmapMaximize  = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_ZOOM) );
-	hbitmapMaximizeD = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_ZOOMD) );
-	hbitmapRestore   = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_RESTORE) );
-	hbitmapRestoreD  = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_RESTORED) );
+	hbitmapCloseD    = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_CLOSED) );
+	hbitmapMinimize  = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_REDUCE) );
+	hbitmapMinimizeD = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_REDUCED) );
+	hbitmapMaximize  = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_ZOOM) );
+	hbitmapMaximizeD = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_ZOOMD) );
+	hbitmapRestore   = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_RESTORE) );
+	hbitmapRestoreD  = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_RESTORED) );
     }
     
     if (wndPtr->dwExStyle & WS_EX_DLGMODALFRAME)
@@ -1583,15 +1583,15 @@
 					    COLOR_INACTIVECAPTION) );
 
     if (!hbitmapClose) {
-	if (!(hbitmapClose = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_CLOSE) )))
+	if (!(hbitmapClose = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_CLOSE) )))
 	    return;
-        hbitmapCloseD = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_CLOSED));
-	hbitmapMinimize  = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_REDUCE) );
-	hbitmapMinimizeD = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_REDUCED) );
-	hbitmapMaximize  = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_ZOOM) );
-	hbitmapMaximizeD = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_ZOOMD) );
-	hbitmapRestore   = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_RESTORE) );
-	hbitmapRestoreD  = LoadBitmap16( 0, MAKEINTRESOURCE16(OBM_RESTORED) );
+        hbitmapCloseD = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_CLOSED));
+	hbitmapMinimize  = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_REDUCE) );
+	hbitmapMinimizeD = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_REDUCED) );
+	hbitmapMaximize  = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_ZOOM) );
+	hbitmapMaximizeD = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_ZOOMD) );
+	hbitmapRestore   = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_RESTORE) );
+	hbitmapRestoreD  = LoadBitmapA( 0, MAKEINTRESOURCEA(OBM_RESTORED) );
     }
     
     if ((style & WS_SYSMENU) && !(exStyle & WS_EX_TOOLWINDOW)) {
@@ -1971,23 +1971,23 @@
 
     case HTLEFT:
     case HTRIGHT:
-	return (LONG)SetCursor16( LoadCursor16( 0, IDC_SIZEWE16 ) );
+	return (LONG)SetCursor( LoadCursorA( 0, IDC_SIZEWEA ) );
 
     case HTTOP:
     case HTBOTTOM:
-	return (LONG)SetCursor16( LoadCursor16( 0, IDC_SIZENS16 ) );
+	return (LONG)SetCursor( LoadCursorA( 0, IDC_SIZENSA ) );
 
     case HTTOPLEFT:
     case HTBOTTOMRIGHT:	
-	return (LONG)SetCursor16( LoadCursor16( 0, IDC_SIZENWSE16 ) );
+	return (LONG)SetCursor( LoadCursorA( 0, IDC_SIZENWSEA ) );
 
     case HTTOPRIGHT:
     case HTBOTTOMLEFT:
-	return (LONG)SetCursor16( LoadCursor16( 0, IDC_SIZENESW16 ) );
+	return (LONG)SetCursor( LoadCursorA( 0, IDC_SIZENESWA ) );
     }
 
     /* Default cursor: arrow */
-    return (LONG)SetCursor16( LoadCursor16( 0, IDC_ARROW16 ) );
+    return (LONG)SetCursor( LoadCursorA( 0, IDC_ARROWA ) );
 }
 
 /***********************************************************************
diff --git a/windows/syscolor.c b/windows/syscolor.c
index 042ad7b..e5a1d56 100644
--- a/windows/syscolor.c
+++ b/windows/syscolor.c
@@ -299,15 +299,6 @@
 
 
 /***********************************************************************
- *           GetSysColorPen16    (Not a Windows API)
- */
-HPEN16 WINAPI GetSysColorPen16( INT16 index )
-{
-    return (HPEN16)GetSysColorPen(index);
-}
-
-
-/***********************************************************************
  *           GetSysColorPen    (Not a Windows API)
  *
  * This function is new to the Wine lib -- it does not exist in