1 /***************************************************************************
\r
4 begin : Sun Mar 08 2009
\r
5 copyright : (C) 1999-2009 by Pete Bernert
\r
6 web : www.pbernert.com
\r
7 ***************************************************************************/
\r
9 /***************************************************************************
\r
11 * This program is free software; you can redistribute it and/or modify *
\r
12 * it under the terms of the GNU General Public License as published by *
\r
13 * the Free Software Foundation; either version 2 of the License, or *
\r
14 * (at your option) any later version. See also the license.txt file for *
\r
15 * additional informations. *
\r
17 ***************************************************************************/
\r
23 #include "externals.h"
\r
25 #include "texture.h"
\r
29 ////////////////////////////////////////////////////////////////////////
\r
30 // KeyBoard handler stuff
\r
31 ////////////////////////////////////////////////////////////////////////
\r
33 uint32_t ulKeybits = 0;
\r
35 ////////////////////////////////////////////////////////////////////////
\r
36 // keyboard handler (LINUX)
\r
37 ////////////////////////////////////////////////////////////////////////
\r
39 #define VK_INSERT 65379
\r
40 #define VK_HOME 65360
\r
41 #define VK_PRIOR 65365
\r
42 #define VK_NEXT 65366
\r
43 #define VK_END 65367
\r
44 #define VK_DEL 65535
\r
47 void GPUkeypressed(int keycode)
\r
56 ulKeybits|=KEY_RESETTEXSTORE;
\r
57 if(iBlurBuffer) iBlurBuffer=0;
\r
62 if(ulKeybits&KEY_SHOWFPS)
\r
64 ulKeybits&=~KEY_SHOWFPS;
\r
70 ulKeybits|=KEY_SHOWFPS;
\r
77 case VK_PRIOR: BuildDispMenu(-1); break;
\r
78 case VK_NEXT: BuildDispMenu( 1); break;
\r
79 case VK_END: SwitchDispMenu( 1); break;
\r
80 case VK_HOME: SwitchDispMenu(-1); break;
\r
85 void InitKeyHandler(void)
\r
89 void ExitKeyHandler(void)
\r
93 ////////////////////////////////////////////////////////////////////////
\r
94 // reset stuff on special keyboard commands
\r
95 ////////////////////////////////////////////////////////////////////////
\r
97 void ResetStuff(void)
\r
99 ResetTextureArea(TRUE);
\r
100 ulKeybits&=~KEY_RESETTEXSTORE;
\r
102 if(ulKeybits&KEY_BLACKWHITE)
\r
104 if(bUseFixes) {bUseFixes=FALSE;dwActFixes=0;}
\r
105 else {bUseFixes=TRUE; dwActFixes=dwCfgFixes;}
\r
107 if(iFrameLimit==2) SetAutoFrameCap();
\r
108 ulKeybits&=~KEY_BLACKWHITE;
\r
111 if(ulKeybits&KEY_RESETFILTER)
\r
113 if(ulKeybits&KEY_STEPDOWN)
\r
115 else iFilterType++;
\r
116 if(iFilterType>6) iFilterType=0;
\r
117 if(iFilterType<0) iFilterType=6;
\r
119 ulKeybits&=~(KEY_RESETFILTER|KEY_STEPDOWN);
\r
123 if(ulKeybits&KEY_RESETOPAQUE)
\r
125 bOpaquePass=!bOpaquePass;
\r
127 ulKeybits&=~KEY_RESETOPAQUE;
\r
131 if(ulKeybits&KEY_RESETADVBLEND)
\r
133 bAdvancedBlend=!bAdvancedBlend;
\r
135 ulKeybits&=~KEY_RESETADVBLEND;
\r
139 if(ulKeybits&KEY_RESETDITHER)
\r
141 bDrawDither=!bDrawDither;
\r
142 if(bDrawDither) glEnable(GL_DITHER);
\r
143 else glDisable(GL_DITHER);
\r
144 ulKeybits&=~KEY_RESETDITHER;
\r
148 if(ulKeybits & KEY_TOGGLEFBTEXTURE)
\r
150 if(ulKeybits&KEY_STEPDOWN)
\r
152 else iFrameTexType++;
\r
153 if(iFrameTexType>3) iFrameTexType=0;
\r
154 if(iFrameTexType<0) iFrameTexType=3;
\r
155 if(gTexFrameName!=0)
\r
156 glDeleteTextures(1, &gTexFrameName);
\r
158 ulKeybits&=~(KEY_TOGGLEFBTEXTURE|KEY_STEPDOWN);
\r
161 if(ulKeybits & KEY_TOGGLEFBREAD)
\r
163 if(ulKeybits&KEY_STEPDOWN)
\r
165 else iFrameReadType++;
\r
166 if(iFrameReadType>4) iFrameReadType=0;
\r
167 if(iFrameReadType<0) iFrameReadType=4;
\r
168 if(iFrameReadType==4) bFullVRam=TRUE;
\r
169 else bFullVRam=FALSE;
\r
171 ulKeybits&=~(KEY_TOGGLEFBREAD|KEY_STEPDOWN);
\r