| /* |
| Copyright (C) 1996-1997 Id Software, Inc. |
| |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License |
| as published by the Free Software Foundation; either version 2 |
| of the License, or (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| |
| See the GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
| */ |
| // winquake.h: Win32-specific Quake header file |
| |
| #pragma warning( disable : 4229 ) // mgraph gets this |
| |
| #include <windows.h> |
| #define WM_MOUSEWHEEL 0x020A |
| |
| #ifndef SERVERONLY |
| #include <ddraw.h> |
| #include <dsound.h> |
| #ifndef GLQUAKE |
| #include <mgraph.h> |
| #endif |
| #endif |
| |
| extern HINSTANCE global_hInstance; |
| extern int global_nCmdShow; |
| |
| #ifndef SERVERONLY |
| |
| extern LPDIRECTDRAW lpDD; |
| extern qboolean DDActive; |
| extern LPDIRECTDRAWSURFACE lpPrimary; |
| extern LPDIRECTDRAWSURFACE lpFrontBuffer; |
| extern LPDIRECTDRAWSURFACE lpBackBuffer; |
| extern LPDIRECTDRAWPALETTE lpDDPal; |
| extern LPDIRECTSOUND pDS; |
| extern LPDIRECTSOUNDBUFFER pDSBuf; |
| |
| extern DWORD gSndBufSize; |
| //#define SNDBUFSIZE 65536 |
| |
| void VID_LockBuffer (void); |
| void VID_UnlockBuffer (void); |
| |
| #endif |
| |
| typedef int modestate_t; |
| enum {MS_WINDOWED, MS_FULLSCREEN, MS_FULLDIB, MS_UNINIT}; |
| |
| extern modestate_t modestate; |
| |
| extern HWND mainwindow; |
| extern qboolean ActiveApp, Minimized; |
| |
| extern qboolean WinNT; |
| |
| int VID_ForceUnlockedAndReturnState (void); |
| void VID_ForceLockState (int lk); |
| |
| void IN_ShowMouse (void); |
| void IN_DeactivateMouse (void); |
| void IN_HideMouse (void); |
| void IN_ActivateMouse (void); |
| void IN_RestoreOriginalMouseState (void); |
| void IN_SetQuakeMouseState (void); |
| void IN_MouseEvent (int mstate); |
| |
| extern qboolean winsock_lib_initialized; |
| |
| extern cvar_t _windowed_mouse; |
| |
| extern int window_center_x, window_center_y; |
| extern RECT window_rect; |
| |
| extern qboolean mouseinitialized; |
| extern HWND hwnd_dialog; |
| |
| extern HANDLE hinput, houtput; |
| |
| void IN_UpdateClipCursor (void); |
| void CenterWindow(HWND hWndCenter, int width, int height, BOOL lefttopjustify); |
| |
| void S_BlockSound (void); |
| void S_UnblockSound (void); |
| |
| void VID_SetDefaultMode (void); |
| |
| int (PASCAL FAR *pWSAStartup)(WORD wVersionRequired, LPWSADATA lpWSAData); |
| int (PASCAL FAR *pWSACleanup)(void); |
| int (PASCAL FAR *pWSAGetLastError)(void); |
| SOCKET (PASCAL FAR *psocket)(int af, int type, int protocol); |
| int (PASCAL FAR *pioctlsocket)(SOCKET s, long cmd, u_long FAR *argp); |
| int (PASCAL FAR *psetsockopt)(SOCKET s, int level, int optname, |
| const char FAR * optval, int optlen); |
| int (PASCAL FAR *precvfrom)(SOCKET s, char FAR * buf, int len, int flags, |
| struct sockaddr FAR *from, int FAR * fromlen); |
| int (PASCAL FAR *psendto)(SOCKET s, const char FAR * buf, int len, int flags, |
| const struct sockaddr FAR *to, int tolen); |
| int (PASCAL FAR *pclosesocket)(SOCKET s); |
| int (PASCAL FAR *pgethostname)(char FAR * name, int namelen); |
| struct hostent FAR * (PASCAL FAR *pgethostbyname)(const char FAR * name); |
| struct hostent FAR * (PASCAL FAR *pgethostbyaddr)(const char FAR * addr, |
| int len, int type); |
| int (PASCAL FAR *pgetsockname)(SOCKET s, struct sockaddr FAR *name, |
| int FAR * namelen); |