Implemented keyboard input.
Copied some functions from pldnet and d3d_render (now the player image shows in the mirror).
This commit is contained in:
parent
9d32d89705
commit
d19a2069c6
6 changed files with 1177 additions and 40 deletions
221
src/main.c
221
src/main.c
|
@ -75,9 +75,81 @@ static int KeySymToKey(int keysym)
|
|||
switch(keysym) {
|
||||
case SDLK_ESCAPE:
|
||||
return KEY_ESCAPE;
|
||||
case SDLK_RETURN:
|
||||
return KEY_CR;
|
||||
|
||||
case SDLK_0:
|
||||
return KEY_0;
|
||||
case SDLK_1:
|
||||
return KEY_1;
|
||||
case SDLK_2:
|
||||
return KEY_2;
|
||||
case SDLK_3:
|
||||
return KEY_3;
|
||||
case SDLK_4:
|
||||
return KEY_4;
|
||||
case SDLK_5:
|
||||
return KEY_5;
|
||||
case SDLK_6:
|
||||
return KEY_6;
|
||||
case SDLK_7:
|
||||
return KEY_7;
|
||||
case SDLK_8:
|
||||
return KEY_8;
|
||||
case SDLK_9:
|
||||
return KEY_9;
|
||||
|
||||
case SDLK_a:
|
||||
return KEY_A;
|
||||
case SDLK_b:
|
||||
return KEY_B;
|
||||
case SDLK_c:
|
||||
return KEY_C;
|
||||
case SDLK_d:
|
||||
return KEY_D;
|
||||
case SDLK_e:
|
||||
return KEY_E;
|
||||
case SDLK_f:
|
||||
return KEY_F;
|
||||
case SDLK_g:
|
||||
return KEY_G;
|
||||
case SDLK_h:
|
||||
return KEY_H;
|
||||
case SDLK_i:
|
||||
return KEY_I;
|
||||
case SDLK_j:
|
||||
return KEY_J;
|
||||
case SDLK_k:
|
||||
return KEY_K;
|
||||
case SDLK_l:
|
||||
return KEY_L;
|
||||
case SDLK_m:
|
||||
return KEY_M;
|
||||
case SDLK_n:
|
||||
return KEY_N;
|
||||
case SDLK_o:
|
||||
return KEY_O;
|
||||
case SDLK_p:
|
||||
return KEY_P;
|
||||
case SDLK_q:
|
||||
return KEY_Q;
|
||||
case SDLK_r:
|
||||
return KEY_R;
|
||||
case SDLK_s:
|
||||
return KEY_S;
|
||||
case SDLK_t:
|
||||
return KEY_T;
|
||||
case SDLK_u:
|
||||
return KEY_U;
|
||||
case SDLK_v:
|
||||
return KEY_V;
|
||||
case SDLK_w:
|
||||
return KEY_W;
|
||||
case SDLK_x:
|
||||
return KEY_X;
|
||||
case SDLK_y:
|
||||
return KEY_Y;
|
||||
case SDLK_z:
|
||||
return KEY_Z;
|
||||
|
||||
case SDLK_LEFT:
|
||||
return KEY_LEFT;
|
||||
case SDLK_RIGHT:
|
||||
|
@ -85,7 +157,138 @@ static int KeySymToKey(int keysym)
|
|||
case SDLK_UP:
|
||||
return KEY_UP;
|
||||
case SDLK_DOWN:
|
||||
return KEY_DOWN;
|
||||
return KEY_DOWN;
|
||||
case SDLK_RETURN:
|
||||
return KEY_CR;
|
||||
case SDLK_TAB:
|
||||
return KEY_TAB;
|
||||
case SDLK_INSERT:
|
||||
return KEY_INS;
|
||||
case SDLK_DELETE:
|
||||
return KEY_DEL;
|
||||
case SDLK_END:
|
||||
return KEY_END;
|
||||
case SDLK_HOME:
|
||||
return KEY_HOME;
|
||||
case SDLK_PAGEUP:
|
||||
return KEY_PAGEUP;
|
||||
case SDLK_PAGEDOWN:
|
||||
return KEY_PAGEDOWN;
|
||||
case SDLK_BACKSPACE:
|
||||
return KEY_BACKSPACE;
|
||||
case SDLK_COMMA:
|
||||
return KEY_COMMA;
|
||||
case SDLK_PERIOD:
|
||||
return KEY_FSTOP; /* fstop? */
|
||||
case SDLK_SPACE:
|
||||
return KEY_SPACE;
|
||||
|
||||
case SDLK_LSHIFT:
|
||||
return KEY_LEFTSHIFT;
|
||||
case SDLK_RSHIFT:
|
||||
return KEY_RIGHTSHIFT;
|
||||
case SDLK_LALT:
|
||||
return KEY_LEFTALT;
|
||||
case SDLK_RALT:
|
||||
return KEY_RIGHTALT;
|
||||
case SDLK_LCTRL:
|
||||
return KEY_LEFTCTRL;
|
||||
case SDLK_RCTRL:
|
||||
return KEY_RIGHTCTRL;
|
||||
|
||||
case SDLK_CAPSLOCK:
|
||||
return KEY_CAPS;
|
||||
case SDLK_NUMLOCK:
|
||||
return KEY_NUMLOCK;
|
||||
case SDLK_SCROLLOCK:
|
||||
return KEY_SCROLLOK;
|
||||
|
||||
case SDLK_KP0:
|
||||
return KEY_NUMPAD0;
|
||||
case SDLK_KP1:
|
||||
return KEY_NUMPAD1;
|
||||
case SDLK_KP2:
|
||||
return KEY_NUMPAD2;
|
||||
case SDLK_KP3:
|
||||
return KEY_NUMPAD3;
|
||||
case SDLK_KP4:
|
||||
return KEY_NUMPAD4;
|
||||
case SDLK_KP5:
|
||||
return KEY_NUMPAD5;
|
||||
case SDLK_KP6:
|
||||
return KEY_NUMPAD6;
|
||||
case SDLK_KP7:
|
||||
return KEY_NUMPAD7;
|
||||
case SDLK_KP8:
|
||||
return KEY_NUMPAD8;
|
||||
case SDLK_KP9:
|
||||
return KEY_NUMPAD9;
|
||||
case SDLK_KP_MINUS:
|
||||
return KEY_NUMPADSUB;
|
||||
case SDLK_KP_PLUS:
|
||||
return KEY_NUMPADADD;
|
||||
case SDLK_KP_PERIOD:
|
||||
return KEY_NUMPADDEL;
|
||||
case SDLK_KP_ENTER:
|
||||
return KEY_NUMPADENTER;
|
||||
case SDLK_KP_DIVIDE:
|
||||
return KEY_NUMPADDIVIDE;
|
||||
case SDLK_KP_MULTIPLY:
|
||||
return KEY_NUMPADMULTIPLY;
|
||||
|
||||
case SDLK_LEFTBRACKET:
|
||||
return KEY_LBRACKET;
|
||||
case SDLK_RIGHTBRACKET:
|
||||
return KEY_RBRACKET;
|
||||
case SDLK_SEMICOLON:
|
||||
return KEY_SEMICOLON;
|
||||
case SDLK_QUOTE:
|
||||
return KEY_APOSTROPHE;
|
||||
case SDLK_BACKQUOTE:
|
||||
return KEY_GRAVE;
|
||||
case SDLK_BACKSLASH:
|
||||
return KEY_BACKSLASH;
|
||||
case SDLK_SLASH:
|
||||
return KEY_SLASH;
|
||||
/* case SDLK_
|
||||
return KEY_CAPITAL; */
|
||||
case SDLK_MINUS:
|
||||
return KEY_MINUS;
|
||||
case SDLK_EQUALS:
|
||||
return KEY_EQUALS;
|
||||
case SDLK_LSUPER:
|
||||
return KEY_LWIN;
|
||||
case SDLK_RSUPER:
|
||||
return KEY_RWIN;
|
||||
/* case SDLK_
|
||||
return KEY_APPS; */
|
||||
|
||||
case SDLK_F1:
|
||||
return KEY_F1;
|
||||
case SDLK_F2:
|
||||
return KEY_F2;
|
||||
case SDLK_F3:
|
||||
return KEY_F3;
|
||||
case SDLK_F4:
|
||||
return KEY_F4;
|
||||
case SDLK_F5:
|
||||
return KEY_F5;
|
||||
case SDLK_F6:
|
||||
return KEY_F6;
|
||||
case SDLK_F7:
|
||||
return KEY_F7;
|
||||
case SDLK_F8:
|
||||
return KEY_F8;
|
||||
case SDLK_F9:
|
||||
return KEY_F9;
|
||||
case SDLK_F10:
|
||||
return KEY_F10;
|
||||
case SDLK_F11:
|
||||
return KEY_F11;
|
||||
case SDLK_F12:
|
||||
return KEY_F12;
|
||||
|
||||
/* finish foreign keys */
|
||||
|
||||
default:
|
||||
return -1;
|
||||
|
@ -196,8 +399,17 @@ int main(int argc, char *argv[])
|
|||
|
||||
/* InitOptionsMenu(); NOT YET */
|
||||
|
||||
// LoadDefaultPrimaryConfigs(); /* load the configs! yes! */
|
||||
MarineInputPrimaryConfig = DefaultMarineInputPrimaryConfig;
|
||||
PredatorInputPrimaryConfig = DefaultPredatorInputPrimaryConfig;
|
||||
AlienInputPrimaryConfig = DefaultAlienInputPrimaryConfig;
|
||||
MarineInputSecondaryConfig = DefaultMarineInputSecondaryConfig;
|
||||
PredatorInputSecondaryConfig = DefaultPredatorInputSecondaryConfig;
|
||||
AlienInputSecondaryConfig = DefaultAlienInputSecondaryConfig;
|
||||
|
||||
LoadKeyConfiguration();
|
||||
|
||||
|
||||
SoundSys_Start();
|
||||
CDDA_Start();
|
||||
|
||||
|
@ -210,7 +422,8 @@ int main(int argc, char *argv[])
|
|||
LoadSounds("PLAYER");
|
||||
|
||||
AvP.CurrentEnv = AvP.StartingEnv = 0; /* are these even used? */
|
||||
SetLevelToLoad(AVP_ENVIRONMENT_INVASION); /* because the menus aren't implemented */
|
||||
// SetLevelToLoad(AVP_ENVIRONMENT_INVASION); /* because the menus aren't implemented */
|
||||
SetLevelToLoad(AVP_ENVIRONMENT_DERELICT); /* starting marine level */
|
||||
|
||||
// while(AvP_MainMenus()) {
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue