|
|
1.1 ! root 1: /* ! 2: Copyright (C) 1996-1997 Id Software, Inc. ! 3: ! 4: This program is free software; you can redistribute it and/or ! 5: modify it under the terms of the GNU General Public License ! 6: as published by the Free Software Foundation; either version 2 ! 7: of the License, or (at your option) any later version. ! 8: ! 9: This program is distributed in the hope that it will be useful, ! 10: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ! 12: ! 13: See the GNU General Public License for more details. ! 14: ! 15: You should have received a copy of the GNU General Public License ! 16: along with this program; if not, write to the Free Software ! 17: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! 18: ! 19: */ ! 20: // winquake.h: Win32-specific Quake header file ! 21: ! 22: #ifdef _WIN32 ! 23: #pragma warning( disable : 4229 ) // mgraph gets this ! 24: ! 25: #include <windows.h> ! 26: #define WM_MOUSEWHEEL 0x020A ! 27: ! 28: #ifndef SERVERONLY ! 29: #include <ddraw.h> ! 30: #include <dsound.h> ! 31: #ifndef GLQUAKE ! 32: #include <mgraph.h> ! 33: #endif ! 34: #endif ! 35: ! 36: extern HINSTANCE global_hInstance; ! 37: extern int global_nCmdShow; ! 38: ! 39: #ifndef SERVERONLY ! 40: ! 41: extern LPDIRECTDRAW lpDD; ! 42: extern qboolean DDActive; ! 43: extern LPDIRECTDRAWSURFACE lpPrimary; ! 44: extern LPDIRECTDRAWSURFACE lpFrontBuffer; ! 45: extern LPDIRECTDRAWSURFACE lpBackBuffer; ! 46: extern LPDIRECTDRAWPALETTE lpDDPal; ! 47: extern LPDIRECTSOUND pDS; ! 48: extern LPDIRECTSOUNDBUFFER pDSBuf; ! 49: ! 50: extern DWORD gSndBufSize; ! 51: //#define SNDBUFSIZE 65536 ! 52: ! 53: void VID_LockBuffer (void); ! 54: void VID_UnlockBuffer (void); ! 55: ! 56: #endif ! 57: ! 58: typedef enum {MS_WINDOWED, MS_FULLSCREEN, MS_FULLDIB, MS_UNINIT} modestate_t; ! 59: ! 60: extern modestate_t modestate; ! 61: ! 62: extern HWND mainwindow; ! 63: extern qboolean ActiveApp, Minimized; ! 64: ! 65: extern qboolean WinNT; ! 66: ! 67: int VID_ForceUnlockedAndReturnState (void); ! 68: void VID_ForceLockState (int lk); ! 69: ! 70: void IN_ShowMouse (void); ! 71: void IN_DeactivateMouse (void); ! 72: void IN_HideMouse (void); ! 73: void IN_ActivateMouse (void); ! 74: void IN_RestoreOriginalMouseState (void); ! 75: void IN_SetQuakeMouseState (void); ! 76: void IN_MouseEvent (int mstate); ! 77: ! 78: extern qboolean winsock_lib_initialized; ! 79: ! 80: extern int window_center_x, window_center_y; ! 81: extern RECT window_rect; ! 82: ! 83: extern qboolean mouseinitialized; ! 84: extern HWND hwnd_dialog; ! 85: ! 86: extern HANDLE hinput, houtput; ! 87: ! 88: void IN_UpdateClipCursor (void); ! 89: void CenterWindow(HWND hWndCenter, int width, int height, BOOL lefttopjustify); ! 90: ! 91: void S_BlockSound (void); ! 92: void S_UnblockSound (void); ! 93: ! 94: void VID_SetDefaultMode (void); ! 95: ! 96: int (PASCAL FAR *pWSAStartup)(WORD wVersionRequired, LPWSADATA lpWSAData); ! 97: int (PASCAL FAR *pWSACleanup)(void); ! 98: int (PASCAL FAR *pWSAGetLastError)(void); ! 99: SOCKET (PASCAL FAR *psocket)(int af, int type, int protocol); ! 100: int (PASCAL FAR *pioctlsocket)(SOCKET s, long cmd, u_long FAR *argp); ! 101: int (PASCAL FAR *psetsockopt)(SOCKET s, int level, int optname, ! 102: const char FAR * optval, int optlen); ! 103: int (PASCAL FAR *precvfrom)(SOCKET s, char FAR * buf, int len, int flags, ! 104: struct sockaddr FAR *from, int FAR * fromlen); ! 105: int (PASCAL FAR *psendto)(SOCKET s, const char FAR * buf, int len, int flags, ! 106: const struct sockaddr FAR *to, int tolen); ! 107: int (PASCAL FAR *pclosesocket)(SOCKET s); ! 108: int (PASCAL FAR *pgethostname)(char FAR * name, int namelen); ! 109: struct hostent FAR * (PASCAL FAR *pgethostbyname)(const char FAR * name); ! 110: struct hostent FAR * (PASCAL FAR *pgethostbyaddr)(const char FAR * addr, ! 111: int len, int type); ! 112: int (PASCAL FAR *pgetsockname)(SOCKET s, struct sockaddr FAR *name, ! 113: int FAR * namelen); ! 114: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.