blob: 0c59e9006fa304900b422dd2083e68fd032bcbf6 [file] [log] [blame]
/****************************************************************************
*
* SciTech OS Portability Manager Library
*
* ========================================================================
*
* The contents of this file are subject to the SciTech MGL Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.scitechsoft.com/mgl-license.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
*
* The Initial Developer of the Original Code is SciTech Software, Inc.
* All Rights Reserved.
*
* ========================================================================
*
* Language: ANSI C
* Environment: Win32
*
* Description: Include file to include all OS specific header files.
*
****************************************************************************/
#define WIN32_LEAN_AND_MEAN
#define STRICT
#include <windows.h>
#include <mmsystem.h>
#include <float.h>
#define NONAMELESSUNION
#include "pm/ddraw.h"
/* Macros to save and restore the default control word. Windows 9x has
* some bugs in it such that calls to load any DLL's which load 16-bit
* DLL's cause the floating point control word to get trashed. We fix
* this by saving and restoring the control word across problematic
* calls.
*/
#if defined(__INTEL__)
#define GET_DEFAULT_CW() \
{ \
if (_PM_cw_default == 0) \
_PM_cw_default = _control87(0,0); \
}
#define RESET_DEFAULT_CW() \
_control87(_PM_cw_default,0xFFFFFFFF)
#else
#define GET_DEFAULT_CW()
#define RESET_DEFAULT_CW()
#endif
/* Custom window messages */
#define WM_DO_SUSPEND_APP WM_USER
#define WM_PM_LEAVE_FULLSCREEN 0
#define WM_PM_RESTORE_FULLSCREEN 1
/* Macro for disabling AutoPlay on a use system */
#define AUTOPLAY_DRIVE_CDROM 0x20
/*--------------------------- Global Variables ----------------------------*/
#ifdef __INTEL__
extern uint _PM_cw_default; /* Default FPU control word */
#endif
extern int _PM_deskX,_PM_deskY; /* Desktop dimensions */
extern HWND _PM_hwndConsole; /* Window handle for console */
/*-------------------------- Internal Functions ---------------------------*/
void _EVT_pumpMessages(void);