Fixed a couple bugs involving OpenArena::Keys where either windows virtual keys or char's were being used instead.
~g2k
This commit is contained in:
@@ -110,9 +110,9 @@ namespace OpenArena
|
||||
KEY_Y,
|
||||
KEY_Z
|
||||
};
|
||||
const unsigned int KEY_LBUTTON = KEY_BUTTON0;
|
||||
const unsigned int KEY_RBUTTON = KEY_BUTTON1;
|
||||
const unsigned int KEY_MBUTTON = KEY_BUTTON2;
|
||||
const Keys KEY_LBUTTON = KEY_BUTTON0;
|
||||
const Keys KEY_RBUTTON = KEY_BUTTON1;
|
||||
const Keys KEY_MBUTTON = KEY_BUTTON2;
|
||||
char KeyToASCII(Keys key, bool shift);
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -100,8 +100,9 @@ namespace OpenArena
|
||||
|
||||
|
||||
|
||||
private:
|
||||
// private:
|
||||
void ConsolePrint(string);
|
||||
private:
|
||||
string consoleHistory[MAX_CONSOLE_HISTORY_LINES];
|
||||
string consoleOutput[MAX_CONSOLE_OUTPUT_LINES];
|
||||
string outputText[MAX_OUTPUT_TEXT_LINES];
|
||||
|
||||
@@ -153,6 +153,9 @@
|
||||
<File
|
||||
RelativePath=".\src\ctrls.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\keys.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\Level.cpp">
|
||||
</File>
|
||||
|
||||
11
src/keys.cpp
11
src/keys.cpp
@@ -19,7 +19,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return ';';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_2:
|
||||
if(shift)
|
||||
{
|
||||
@@ -29,7 +28,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '/';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_3:
|
||||
if(shift)
|
||||
{
|
||||
@@ -39,7 +37,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '`';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_4:
|
||||
if(shift)
|
||||
{
|
||||
@@ -49,7 +46,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '[';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_5:
|
||||
if(shift)
|
||||
{
|
||||
@@ -59,7 +55,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '\\';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_6:
|
||||
if(shift)
|
||||
{
|
||||
@@ -69,7 +64,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return ']';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_7:
|
||||
if(shift)
|
||||
{
|
||||
@@ -79,7 +73,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '"';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_PERIOD:
|
||||
if(shift)
|
||||
{
|
||||
@@ -89,7 +82,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '.';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_PLUS:
|
||||
if(shift)
|
||||
{
|
||||
@@ -99,7 +91,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '=';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_COMMA:
|
||||
if(shift)
|
||||
{
|
||||
@@ -109,7 +100,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return ',';
|
||||
}
|
||||
break;
|
||||
case KEY_OEM_MINUS:
|
||||
if(shift)
|
||||
{
|
||||
@@ -119,7 +109,6 @@ char OpenArena::KeyToASCII(Keys key, bool shift)
|
||||
{
|
||||
return '-';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if(key >= KEY_A && key <= KEY_Z)
|
||||
{
|
||||
|
||||
@@ -366,8 +366,12 @@ uint8 KeyName(std::string str)
|
||||
return OpenArena::KEY_OEM_5;
|
||||
else if (str[0] == '\'' || str[0] == '"')
|
||||
return OpenArena::KEY_OEM_7;
|
||||
else if (isalpha(str[0]))
|
||||
return toupper(str[0]) - 'A' + OpenArena::KEY_A;
|
||||
else if(isdigit(str[0]))
|
||||
return str[0] - '0' + OpenArena::KEY_0;
|
||||
else
|
||||
return toupper(str[0]);
|
||||
return OpenArena::KEY_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ Vec2i Vec2i::cross(const Vec2i& rtOp) const
|
||||
|
||||
int Vec2i::length()const
|
||||
{
|
||||
return (int)sqrt(x*x+y*y);
|
||||
return (int)sqrt((float)(x*x+y*y));
|
||||
}
|
||||
|
||||
int Vec2i::lengthsquared()const
|
||||
|
||||
460
src/windows.cpp
460
src/windows.cpp
@@ -50,6 +50,8 @@ int InitGL(GLvoid);
|
||||
void ReSizeGLScene(GLsizei width, GLsizei height);
|
||||
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);
|
||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
OpenArena::Keys TranslateKey(int keyCode);
|
||||
void HandleConsoleKeyPress(OpenArena::Keys key);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Function Definitions
|
||||
@@ -164,187 +166,18 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
||||
{
|
||||
if(level.showConsole)
|
||||
{
|
||||
//See if we need to hide the console
|
||||
level.defaultPlayer[0].controls.toggleConsole.FirstPosition();
|
||||
if(wParam == level.defaultPlayer[0].controls.toggleConsole.Retrieve())
|
||||
{
|
||||
level.showConsole = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
while(level.defaultPlayer[0].controls.toggleConsole.NextPosition() && level.showConsole)
|
||||
{
|
||||
if(level.defaultPlayer[0].controls.toggleConsole.Retrieve() == wParam)
|
||||
{
|
||||
level.showConsole = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(wParam == VK_RETURN)
|
||||
{
|
||||
level.UpdateConsole('\n');
|
||||
}
|
||||
else if(wParam == VK_SHIFT)
|
||||
{
|
||||
keys[VK_SHIFT] = true;
|
||||
}
|
||||
else if(wParam == VK_SPACE)
|
||||
{
|
||||
level.UpdateConsole(' ');
|
||||
}
|
||||
else if(wParam == VK_BACK)
|
||||
{
|
||||
level.UpdateConsole(VK_BACK);
|
||||
}
|
||||
else if(wParam == VK_OEM_1)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole(':');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(';');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_2)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('?');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('/');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_3)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('~');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('`');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_4)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('{');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('[');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_5)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('|');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('\\');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_6)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('}');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(']');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_7)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('\'');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('"');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_PERIOD)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('>');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('.');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_PLUS)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('+');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('=');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_COMMA)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('<');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(',');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_MINUS)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('_');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('-');
|
||||
}
|
||||
}
|
||||
else if(isalpha(uint8(wParam)))
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole(wParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(tolower(wParam));
|
||||
}
|
||||
}
|
||||
else if(isdigit(uint8(wParam)))
|
||||
{
|
||||
level.UpdateConsole(wParam);
|
||||
}
|
||||
|
||||
HandleConsoleKeyPress((OpenArena::Keys)TranslateKey(wParam));
|
||||
}
|
||||
else
|
||||
{
|
||||
keys[wParam] = true;
|
||||
keys[TranslateKey(wParam)] = true;
|
||||
}
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
case WM_KEYUP:
|
||||
{
|
||||
keys[wParam] = false;
|
||||
keys2[wParam] = false;
|
||||
keys[TranslateKey(wParam)] = false;
|
||||
keys2[TranslateKey(wParam)] = false;
|
||||
return 0;
|
||||
}
|
||||
case WM_SYSKEYDOWN:
|
||||
@@ -356,35 +189,35 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
||||
}
|
||||
case WM_LBUTTONDOWN:
|
||||
{
|
||||
keys[VK_LBUTTON] = true;
|
||||
keys[OpenArena::KEY_LBUTTON] = true;
|
||||
return 0;
|
||||
}
|
||||
case WM_LBUTTONUP:
|
||||
{
|
||||
keys[VK_LBUTTON] = false;
|
||||
keys[VK_LBUTTON] = false;
|
||||
keys[OpenArena::KEY_LBUTTON] = false;
|
||||
keys[OpenArena::KEY_LBUTTON] = false;
|
||||
return 0;
|
||||
}
|
||||
case WM_RBUTTONDOWN:
|
||||
{
|
||||
keys[VK_RBUTTON] = true;
|
||||
keys[OpenArena::KEY_RBUTTON] = true;
|
||||
return 0;
|
||||
}
|
||||
case WM_RBUTTONUP:
|
||||
{
|
||||
keys[VK_RBUTTON] = false;
|
||||
keys[VK_RBUTTON] = false;
|
||||
keys[OpenArena::KEY_RBUTTON] = false;
|
||||
keys[OpenArena::KEY_RBUTTON] = false;
|
||||
return 0;
|
||||
}
|
||||
case WM_MBUTTONDOWN:
|
||||
{
|
||||
keys[VK_MBUTTON] = true;
|
||||
keys[OpenArena::KEY_MBUTTON] = true;
|
||||
return 0;
|
||||
}
|
||||
case WM_MBUTTONUP:
|
||||
{
|
||||
keys[VK_MBUTTON] = false;
|
||||
keys[VK_MBUTTON] = false;
|
||||
keys[OpenArena::KEY_MBUTTON] = false;
|
||||
keys[OpenArena::KEY_MBUTTON] = false;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -441,7 +274,7 @@ int WINAPI WinMain( HINSTANCE hInstance,
|
||||
|
||||
if (active)
|
||||
{
|
||||
if (keys[VK_ESCAPE])
|
||||
if (keys[OpenArena::KEY_ESCAPE])
|
||||
{
|
||||
done=true;
|
||||
}
|
||||
@@ -746,9 +579,9 @@ int WINAPI WinMain( HINSTANCE hInstance,
|
||||
|
||||
g_Screen.SwapBuffers();
|
||||
|
||||
if (keys[VK_F1])
|
||||
if (keys[OpenArena::KEY_F1])
|
||||
{
|
||||
keys[VK_F1]=false;
|
||||
keys[OpenArena::KEY_F1]=false;
|
||||
g_Screen.Close();
|
||||
g_Screen.fullscreen=!g_Screen.fullscreen;
|
||||
if (!g_Screen.Open("OpenArena",g_Screen.width,g_Screen.height,g_Screen.bpp,g_Screen.fullscreen))
|
||||
@@ -762,4 +595,259 @@ int WINAPI WinMain( HINSTANCE hInstance,
|
||||
g_Screen.Close();
|
||||
return (msg.wParam);
|
||||
}
|
||||
|
||||
OpenArena::Keys TranslateKey(int keyCode)
|
||||
{
|
||||
switch (keyCode)
|
||||
{
|
||||
case VK_LEFT:
|
||||
return OpenArena::KEY_LEFT;
|
||||
case VK_RIGHT:
|
||||
return OpenArena::KEY_RIGHT;
|
||||
case VK_UP:
|
||||
return OpenArena::KEY_UP;
|
||||
case VK_DOWN:
|
||||
return OpenArena::KEY_DOWN;
|
||||
case VK_SPACE:
|
||||
return OpenArena::KEY_SPACE;
|
||||
case VK_RETURN:
|
||||
return OpenArena::KEY_RETURN;
|
||||
case VK_SHIFT:
|
||||
return OpenArena::KEY_SHIFT;
|
||||
case VK_PAUSE:
|
||||
return OpenArena::KEY_PAUSE;
|
||||
case VK_CONTROL:
|
||||
return OpenArena::KEY_CONTROL;
|
||||
case VK_CAPITAL:
|
||||
return OpenArena::KEY_CAPITAL;
|
||||
case VK_ESCAPE:
|
||||
return OpenArena::KEY_ESCAPE;
|
||||
case VK_PRIOR:
|
||||
return OpenArena::KEY_PRIOR;
|
||||
case VK_NEXT:
|
||||
return OpenArena::KEY_NEXT;
|
||||
case VK_END:
|
||||
return OpenArena::KEY_END;
|
||||
case VK_HOME:
|
||||
return OpenArena::KEY_HOME;
|
||||
case VK_INSERT:
|
||||
return OpenArena::KEY_INSERT;
|
||||
case VK_DELETE:
|
||||
return OpenArena::KEY_DELETE;
|
||||
case VK_LWIN:
|
||||
return OpenArena::KEY_LWIN;
|
||||
case VK_RWIN:
|
||||
return OpenArena::KEY_RWIN;
|
||||
case VK_APPS:
|
||||
return OpenArena::KEY_APPS;
|
||||
case VK_NUMPAD0:
|
||||
return OpenArena::KEY_NUMPAD0;
|
||||
case VK_NUMPAD1:
|
||||
return OpenArena::KEY_NUMPAD1;
|
||||
case VK_NUMPAD2:
|
||||
return OpenArena::KEY_NUMPAD2;
|
||||
case VK_NUMPAD3:
|
||||
return OpenArena::KEY_NUMPAD3;
|
||||
case VK_NUMPAD4:
|
||||
return OpenArena::KEY_NUMPAD4;
|
||||
case VK_NUMPAD5:
|
||||
return OpenArena::KEY_NUMPAD5;
|
||||
case VK_NUMPAD6:
|
||||
return OpenArena::KEY_NUMPAD6;
|
||||
case VK_NUMPAD7:
|
||||
return OpenArena::KEY_NUMPAD7;
|
||||
case VK_NUMPAD8:
|
||||
return OpenArena::KEY_NUMPAD8;
|
||||
case VK_NUMPAD9:
|
||||
return OpenArena::KEY_NUMPAD9;
|
||||
case VK_MULTIPLY:
|
||||
return OpenArena::KEY_MULTIPLY;
|
||||
case VK_ADD:
|
||||
return OpenArena::KEY_ADD;
|
||||
case VK_SUBTRACT:
|
||||
return OpenArena::KEY_SUBTRACT;
|
||||
case VK_DIVIDE:
|
||||
return OpenArena::KEY_DIVIDE;
|
||||
case VK_F1:
|
||||
return OpenArena::KEY_F1;
|
||||
case VK_F2:
|
||||
return OpenArena::KEY_F2;
|
||||
case VK_F3:
|
||||
return OpenArena::KEY_F3;
|
||||
case VK_F4:
|
||||
return OpenArena::KEY_F4;
|
||||
case VK_F5:
|
||||
return OpenArena::KEY_F5;
|
||||
case VK_F6:
|
||||
return OpenArena::KEY_F6;
|
||||
case VK_F7:
|
||||
return OpenArena::KEY_F7;
|
||||
case VK_F8:
|
||||
return OpenArena::KEY_F8;
|
||||
case VK_F9:
|
||||
return OpenArena::KEY_F9;
|
||||
case VK_F10:
|
||||
return OpenArena::KEY_F10;
|
||||
case VK_F11:
|
||||
return OpenArena::KEY_F11;
|
||||
case VK_F12:
|
||||
return OpenArena::KEY_F12;
|
||||
case VK_NUMLOCK:
|
||||
return OpenArena::KEY_NUMLOCK;
|
||||
case VK_SCROLL:
|
||||
return OpenArena::KEY_SCROLL;
|
||||
case VK_SEPARATOR:
|
||||
return OpenArena::KEY_SEPARATOR;
|
||||
case VK_OEM_1:
|
||||
return OpenArena::KEY_OEM_1;
|
||||
case VK_OEM_2:
|
||||
return OpenArena::KEY_OEM_2;
|
||||
case VK_OEM_3:
|
||||
return OpenArena::KEY_OEM_3;
|
||||
case VK_OEM_4:
|
||||
return OpenArena::KEY_OEM_4;
|
||||
case VK_OEM_5:
|
||||
return OpenArena::KEY_OEM_5;
|
||||
case VK_OEM_6:
|
||||
return OpenArena::KEY_OEM_6;
|
||||
case VK_OEM_7:
|
||||
return OpenArena::KEY_OEM_7;
|
||||
case VK_OEM_PERIOD:
|
||||
return OpenArena::KEY_OEM_PERIOD;
|
||||
case VK_OEM_PLUS:
|
||||
return OpenArena::KEY_OEM_PLUS;
|
||||
case VK_OEM_MINUS:
|
||||
return OpenArena::KEY_OEM_MINUS;
|
||||
case VK_OEM_COMMA:
|
||||
return OpenArena::KEY_OEM_COMMA;
|
||||
case VK_BACK:
|
||||
return OpenArena::KEY_BACK;
|
||||
case VK_TAB:
|
||||
return OpenArena::KEY_TAB;
|
||||
case '0':
|
||||
return OpenArena::KEY_0;
|
||||
case '1':
|
||||
return OpenArena::KEY_1;
|
||||
case '2':
|
||||
return OpenArena::KEY_2;
|
||||
case '3':
|
||||
return OpenArena::KEY_3;
|
||||
case '4':
|
||||
return OpenArena::KEY_4;
|
||||
case '5':
|
||||
return OpenArena::KEY_5;
|
||||
case '6':
|
||||
return OpenArena::KEY_6;
|
||||
case '7':
|
||||
return OpenArena::KEY_7;
|
||||
case '8':
|
||||
return OpenArena::KEY_8;
|
||||
case '9':
|
||||
return OpenArena::KEY_9;
|
||||
case 'A':
|
||||
return OpenArena::KEY_A;
|
||||
case 'B':
|
||||
return OpenArena::KEY_B;
|
||||
case 'C':
|
||||
return OpenArena::KEY_C;
|
||||
case 'D':
|
||||
return OpenArena::KEY_D;
|
||||
case 'E':
|
||||
return OpenArena::KEY_E;
|
||||
case 'F':
|
||||
return OpenArena::KEY_F;
|
||||
case 'G':
|
||||
return OpenArena::KEY_G;
|
||||
case 'H':
|
||||
return OpenArena::KEY_H;
|
||||
case 'I':
|
||||
return OpenArena::KEY_I;
|
||||
case 'J':
|
||||
return OpenArena::KEY_J;
|
||||
case 'K':
|
||||
return OpenArena::KEY_K;
|
||||
case 'L':
|
||||
return OpenArena::KEY_L;
|
||||
case 'M':
|
||||
return OpenArena::KEY_M;
|
||||
case 'N':
|
||||
return OpenArena::KEY_N;
|
||||
case 'O':
|
||||
return OpenArena::KEY_O;
|
||||
case 'P':
|
||||
return OpenArena::KEY_P;
|
||||
case 'Q':
|
||||
return OpenArena::KEY_Q;
|
||||
case 'R':
|
||||
return OpenArena::KEY_R;
|
||||
case 'S':
|
||||
return OpenArena::KEY_S;
|
||||
case 'T':
|
||||
return OpenArena::KEY_T;
|
||||
case 'U':
|
||||
return OpenArena::KEY_U;
|
||||
case 'V':
|
||||
return OpenArena::KEY_V;
|
||||
case 'W':
|
||||
return OpenArena::KEY_W;
|
||||
case 'X':
|
||||
return OpenArena::KEY_X;
|
||||
case 'Y':
|
||||
return OpenArena::KEY_Y;
|
||||
case 'Z':
|
||||
return OpenArena::KEY_Z;
|
||||
case VK_LBUTTON:
|
||||
return OpenArena::KEY_LBUTTON;
|
||||
case VK_RBUTTON:
|
||||
return OpenArena::KEY_RBUTTON;
|
||||
case VK_MBUTTON:
|
||||
return OpenArena::KEY_MBUTTON;
|
||||
default:
|
||||
return OpenArena::KEY_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
void HandleConsoleKeyPress(OpenArena::Keys key)
|
||||
{
|
||||
//See if we need to hide the console
|
||||
level.defaultPlayer[0].controls.toggleConsole.FirstPosition();
|
||||
if(key == level.defaultPlayer[0].controls.toggleConsole.Retrieve())
|
||||
{
|
||||
level.showConsole = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
while(level.defaultPlayer[0].controls.toggleConsole.NextPosition() && level.showConsole)
|
||||
{
|
||||
if(level.defaultPlayer[0].controls.toggleConsole.Retrieve() == key)
|
||||
{
|
||||
level.showConsole = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (key)
|
||||
{
|
||||
case OpenArena::KEY_SHIFT:
|
||||
keys[OpenArena::KEY_SHIFT] = true;
|
||||
break;
|
||||
case OpenArena::KEY_RETURN:
|
||||
level.UpdateConsole('\n');
|
||||
break;
|
||||
case OpenArena::KEY_SPACE:
|
||||
printf("hello");
|
||||
level.UpdateConsole(' ');
|
||||
break;
|
||||
case OpenArena::KEY_BACK:
|
||||
level.UpdateConsole(OpenArena::KEY_BACK);
|
||||
break;
|
||||
default:
|
||||
char ascii = OpenArena::KeyToASCII(key, keys[OpenArena::KEY_SHIFT]);
|
||||
if(ascii != '\0')
|
||||
{
|
||||
level.UpdateConsole(ascii);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user