/* 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 #define WM_MOUSEWHEEL 0x020A #ifndef SERVERONLY #include #include #ifndef GLQUAKE #include #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 enum {MS_WINDOWED, MS_FULLSCREEN, MS_FULLDIB, MS_UNINIT} modestate_t; // jkrige - moved to winquake.h (here) #define MAX_MODE_LIST 30 #ifdef GLQUAKE #define BASEWIDTH 640 #define BASEHEIGHT 480 #define BASEFOV 90 //#define SCALEHEIGHT 540.0f //#define SCALEWIDTH SCALEHEIGHT / 0.5625f // / 0.75f #else #define BASEWIDTH 320 #define BASEHEIGHT 240 // jkrige - was 200 //#define SCALEWIDTH 320 //#define SCALEHEIGHT 240 // jkrige - was 200 #endif // jkrige - moved to winquake.h (here) // jkrige - moved to winquake.h (here) #ifdef GLQUAKE typedef struct { modestate_t type; int width; int height; int modenum; int dib; int fullscreen; int bpp; int halfscreen; // jkrige - increased maximum video mode descriptions char modedesc[33]; //char modedesc[17]; // jkrige - increased maximum video mode descriptions } vmode_t; #else typedef struct { modestate_t type; int width; int height; int modenum; int mode13; int stretched; int dib; int fullscreen; int bpp; int halfscreen; char modedesc[13]; } vmode_t; #endif // jkrige - moved to winquake.h (here) // jkrige - scale2d #ifdef GLQUAKE extern qpic_t *conback; #endif extern vmode_t modelist[MAX_MODE_LIST]; // jkrige - scale2d extern modestate_t modestate; extern HWND mainwindow; extern qboolean ActiveApp, Minimized; //extern qboolean WinNT; // jkrige - remove windows version check 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; // jkrige - scale2d extern cvar_t vid_mode; // jkrige - scale2d // jkrige - non power of two extern cvar_t gl_texture_non_power_of_two; // jkrige - non power of two 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);