00001 /* 00002 =========================================================================== 00003 Copyright (C) 1999-2005 Id Software, Inc. 00004 00005 This file is part of Quake III Arena source code. 00006 00007 Quake III Arena source code is free software; you can redistribute it 00008 and/or modify it under the terms of the GNU General Public License as 00009 published by the Free Software Foundation; either version 2 of the License, 00010 or (at your option) any later version. 00011 00012 Quake III Arena source code is distributed in the hope that it will be 00013 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with Foobar; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 =========================================================================== 00021 */ 00022 // win_local.h: Win32-specific Quake3 header file 00023 00024 #if defined (_MSC_VER) && (_MSC_VER >= 1200) 00025 #pragma warning(disable : 4201) 00026 #pragma warning( push ) 00027 #endif 00028 #include <windows.h> 00029 #if defined (_MSC_VER) && (_MSC_VER >= 1200) 00030 #pragma warning( pop ) 00031 #endif 00032 00033 #define DIRECTSOUND_VERSION 0x0300 00034 #define DIRECTINPUT_VERSION 0x0300 00035 00036 #include <dinput.h> 00037 #include <dsound.h> 00038 #include <winsock.h> 00039 #include <wsipx.h> 00040 00041 void IN_MouseEvent (int mstate); 00042 00043 void Sys_QueEvent( int time, sysEventType_t type, int value, int value2, int ptrLength, void *ptr ); 00044 00045 void Sys_CreateConsole( void ); 00046 void Sys_DestroyConsole( void ); 00047 00048 char *Sys_ConsoleInput (void); 00049 00050 qboolean Sys_GetPacket ( netadr_t *net_from, msg_t *net_message ); 00051 00052 // Input subsystem 00053 00054 void IN_Init (void); 00055 void IN_Shutdown (void); 00056 void IN_JoystickCommands (void); 00057 00058 void IN_Move (usercmd_t *cmd); 00059 // add additional non keyboard / non mouse movement on top of the keyboard move cmd 00060 00061 void IN_DeactivateWin32Mouse( void); 00062 00063 void IN_Activate (qboolean active); 00064 void IN_Frame (void); 00065 00066 // window procedure 00067 LONG WINAPI MainWndProc ( 00068 HWND hWnd, 00069 UINT uMsg, 00070 WPARAM wParam, 00071 LPARAM lParam); 00072 00073 void Conbuf_AppendText( const char *msg ); 00074 00075 void SNDDMA_Activate( void ); 00076 int SNDDMA_InitDS (); 00077 00078 typedef struct 00079 { 00080 00081 HINSTANCE reflib_library; // Handle to refresh DLL 00082 qboolean reflib_active; 00083 00084 HWND hWnd; 00085 HINSTANCE hInstance; 00086 qboolean activeApp; 00087 qboolean isMinimized; 00088 OSVERSIONINFO osversion; 00089 00090 // when we get a windows message, we store the time off so keyboard processing 00091 // can know the exact time of an event 00092 unsigned sysMsgTime; 00093 } WinVars_t; 00094 00095 extern WinVars_t g_wv;
1.3.9.1