pcsxr-1.9.92
[pcsx_rearmed.git] / plugins / peopsxgl / key.c
CommitLineData
ef79bbde
P
1/***************************************************************************\r
2 key.c - description\r
3 -------------------\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
8\r
9/***************************************************************************\r
10 * *\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
16 * *\r
17 ***************************************************************************/\r
18\r
19#include "stdafx.h"\r
20\r
21#define _IN_KEY\r
22\r
23#include "externals.h"\r
24#include "menu.h"\r
25#include "texture.h"\r
26#include "draw.h"\r
27#include "fps.h"\r
28\r
29////////////////////////////////////////////////////////////////////////\r
30// KeyBoard handler stuff\r
31////////////////////////////////////////////////////////////////////////\r
32\r
33uint32_t ulKeybits = 0; \r
34\r
35////////////////////////////////////////////////////////////////////////\r
36// keyboard handler (LINUX)\r
37////////////////////////////////////////////////////////////////////////\r
38\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
45#define VK_F5 65474\r
46\r
47void GPUkeypressed(int keycode)\r
48{\r
49 switch(keycode)\r
50 {\r
51 case VK_F5:\r
52 bSnapShot=1;\r
53 break;\r
54\r
55 case VK_INSERT:\r
56 ulKeybits|=KEY_RESETTEXSTORE;\r
57 if(iBlurBuffer) iBlurBuffer=0;\r
58 else iBlurBuffer=1;\r
59 break;\r
60\r
61 case VK_DEL: \r
62 if(ulKeybits&KEY_SHOWFPS)\r
63 {\r
64 ulKeybits&=~KEY_SHOWFPS;\r
65 HideText();\r
66 DestroyPic();\r
67 }\r
68 else \r
69 {\r
70 ulKeybits|=KEY_SHOWFPS;\r
71 szDispBuf[0]=0;\r
72 BuildDispMenu(0);\r
73\r
74 }\r
75 break;\r
76\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
81 }\r
82\r
83}\r
84\r
85void InitKeyHandler(void)\r
86{\r
87}\r
88\r
89void ExitKeyHandler(void)\r
90{\r
91}\r
92\r
93////////////////////////////////////////////////////////////////////////\r
94// reset stuff on special keyboard commands\r
95////////////////////////////////////////////////////////////////////////\r
96\r
97void ResetStuff(void)\r
98{\r
99 ResetTextureArea(TRUE);\r
100 ulKeybits&=~KEY_RESETTEXSTORE;\r
101\r
102 if(ulKeybits&KEY_BLACKWHITE)\r
103 {\r
104 if(bUseFixes) {bUseFixes=FALSE;dwActFixes=0;}\r
105 else {bUseFixes=TRUE; dwActFixes=dwCfgFixes;}\r
106 SetExtGLFuncs();\r
107 if(iFrameLimit==2) SetAutoFrameCap();\r
108 ulKeybits&=~KEY_BLACKWHITE;\r
109 }\r
110\r
111 if(ulKeybits&KEY_RESETFILTER)\r
112 {\r
113 if(ulKeybits&KEY_STEPDOWN)\r
114 iFilterType--;\r
115 else iFilterType++;\r
116 if(iFilterType>6) iFilterType=0;\r
117 if(iFilterType<0) iFilterType=6;\r
118 SetExtGLFuncs();\r
119 ulKeybits&=~(KEY_RESETFILTER|KEY_STEPDOWN);\r
120 BuildDispMenu(0);\r
121 }\r
122\r
123 if(ulKeybits&KEY_RESETOPAQUE)\r
124 {\r
125 bOpaquePass=!bOpaquePass;\r
126 SetExtGLFuncs();\r
127 ulKeybits&=~KEY_RESETOPAQUE;\r
128 BuildDispMenu(0);\r
129 }\r
130\r
131 if(ulKeybits&KEY_RESETADVBLEND)\r
132 {\r
133 bAdvancedBlend=!bAdvancedBlend;\r
134 SetExtGLFuncs();\r
135 ulKeybits&=~KEY_RESETADVBLEND;\r
136 BuildDispMenu(0);\r
137 }\r
138\r
139 if(ulKeybits&KEY_RESETDITHER)\r
140 {\r
141 bDrawDither=!bDrawDither;\r
142 if(bDrawDither) glEnable(GL_DITHER); \r
143 else glDisable(GL_DITHER); \r
144 ulKeybits&=~KEY_RESETDITHER;\r
145 BuildDispMenu(0);\r
146 }\r
147\r
148 if(ulKeybits & KEY_TOGGLEFBTEXTURE)\r
149 {\r
150 if(ulKeybits&KEY_STEPDOWN)\r
151 iFrameTexType--;\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
157 gTexFrameName=0; \r
158 ulKeybits&=~(KEY_TOGGLEFBTEXTURE|KEY_STEPDOWN);\r
159 }\r
160\r
161 if(ulKeybits & KEY_TOGGLEFBREAD)\r
162 {\r
163 if(ulKeybits&KEY_STEPDOWN)\r
164 iFrameReadType--;\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
170 iRenderFVR=0;\r
171 ulKeybits&=~(KEY_TOGGLEFBREAD|KEY_STEPDOWN);\r
172 }\r
173}\r