#include <stdarg.h>
#include "uInput.h"
#include "tMemManager.h"
#include "rScreen.h"
#include "tInitExit.h"
#include "tConfiguration.h"
#include "rConsole.h"
#include "uMenu.h"
#include "tSysTime.h"
#include <vector>
#include <map>
Go to the source code of this file.
Classes | |
class | uAutoDeleteInput |
class | uKeyInput |
class | uMouseInput |
class | tConfItem_key |
class | uJoystick |
struct | uJoystick::HatDirections |
class | uJoystickInput |
struct | uTransformEventInfo |
class | uMenuItemInput |
Defines | |
#define | MOUSE_BUTTONS 7 |
#define | su_TRANSFORM_PASSES 2 |
#define | MTHRESH 5 |
#define | MREL 2 |
Typedefs | |
typedef std::vector< uInput * > | uInputs |
Functions | |
static uInput * | su_GetInput (tString const &persistentID) |
static uAutoDeleteInput & | su_GetAutoDeleteInput () |
static uInput * | su_NewInput (tString const &ID, tString const &name) |
static uInput * | su_NewInput (char const *ID, char const *name) |
static uKeyInput const & | su_GetKeyInput () |
static uMouseInput const & | su_GetMouseInput () |
void | su_KeyInit () |
static void | keyboard_init () |
static void | keyboard_exit () |
static uJoystickInput & | su_GetJoystickInput () |
static uJoystick * | su_GetJoystick (int id) |
void | su_JoystickInit () |
bool | GlobalAct (uAction *act, REAL x) |
static void | su_TransformEvent (SDL_Event &e, std::vector< uTransformEventInfo > &info) |
static int | Input_Compare (const tListItemBase *a, const tListItemBase *b) |
static void | s_InputConfigGeneric (int ePlayer, uAction *&actions, const tOutput &title) |
void | su_InputConfig (int ePlayer) |
void | su_InputConfigCamera (int player) |
void | su_InputConfigGlobal () |
void | su_HandleDelayedEvents () |
bool | su_HandleEvent (SDL_Event &e, bool delayed) |
void | su_InputSync () |
void | su_ClearKeys () |
static bool | messup_func (REAL x) |
static bool | messdown_func (REAL x) |
Variables | |
bool | su_mouseGrab = false |
static uAction * | su_allActions [uMAX_ACTIONS] |
static int | su_allActionsLen = 0 |
uInputs | su_inputs |
std::map< std::string, uInput * > | su_inputMap |
static tConfItem_key | x |
static uAction * | s_playerActions |
static uAction * | s_cameraActions |
static uAction * | s_globalActions |
static tInitExit keyboard_ie & | keyboard_init |
REAL | su_doubleBindTimeout = -10.0f |
true if the mouse cursor is to be confined into the window | |
static int | nextid = 0 |
REAL | mouse_sensitivity = REAL(.1) |
REAL | key_sensitivity = 40 |
static double | lastTime = 0 |
static REAL | ts = 0 |
static bool | su_delayed = false |
static char const * | Player_keyword = "PLAYER_BIND" |
static uActionGlobalFunc * | uActionGlobal_anchor = NULL |
static uActionGlobal | mess_up ("MESS_UP") |
static uActionGlobal | mess_down ("MESS_DOWN") |
#define MOUSE_BUTTONS 7 |
Definition at line 227 of file uInput.cpp.
Referenced by su_TransformEvent(), and uMouseInput::uMouseInput().
#define MREL 2 |
Definition at line 1122 of file uInput.cpp.
#define MTHRESH 5 |
Definition at line 1121 of file uInput.cpp.
#define su_TRANSFORM_PASSES 2 |
Definition at line 780 of file uInput.cpp.
Definition at line 99 of file uInput.cpp.
Definition at line 691 of file uInput.cpp.
References uActionGlobalFunc::GlobalAct().
Referenced by uBindPlayer::DoActivate().
00692 { 00693 return uActionGlobalFunc::GlobalAct(act,x);
static int Input_Compare | ( | const tListItemBase * | a, | |
const tListItemBase * | b | |||
) | [static] |
Definition at line 1211 of file uInput.cpp.
Referenced by s_InputConfigGeneric().
static void keyboard_exit | ( | ) | [static] |
static void keyboard_init | ( | ) | [static] |
static bool messdown_func | ( | REAL | x | ) | [static] |
Definition at line 1493 of file uInput.cpp.
References rConsole::Scroll(), and sr_con.
static bool messup_func | ( | REAL | x | ) | [static] |
Definition at line 1486 of file uInput.cpp.
References rConsole::Scroll(), and sr_con.
static void s_InputConfigGeneric | ( | int | ePlayer, | |
uAction *& | actions, | |||
const tOutput & | title | |||
) | [static] |
Definition at line 1218 of file uInput.cpp.
References a, b, uMenu::Enter(), Input_Compare(), tListItemBase::Len(), tListItem< T >::Next(), uMenu::ReverseItems(), and tNEW.
Referenced by su_InputConfig(), su_InputConfigCamera(), and su_InputConfigGlobal().
01219 { 01220 uMenuItemInput **input; 01221 01222 uMenu input_menu(title); 01223 01224 actions->tListItemBase::Sort(&Input_Compare); 01225 01226 int len = actions->Len(); 01227 01228 input=tNEW(uMenuItemInput*)[len]; 01229 int a=0; 01230 for (uAction *A=actions;A; A = A->Next()){ 01231 input[a++]=new uMenuItemInput(&input_menu, 01232 A, 01233 ePlayer+1); 01234 01235 } 01236 01237 input_menu.ReverseItems(); 01238 input_menu.Enter(); 01239 01240 for (int b=a-1;b>=0;b--) 01241 delete input[b]; 01242 delete[] input;
void su_ClearKeys | ( | ) |
Definition at line 1367 of file uInput.cpp.
References uBind::Activate(), uInput::GetBind(), uInput::GetPressed(), uInput::SetPressed(), and su_inputs.
Referenced by do_chat(), and uMenu::OnEnter().
01369 { 01370 // clears stored keypresses 01371 for ( uInputs::const_iterator i = su_inputs.begin(); i != su_inputs.end(); ++i ) 01372 { 01373 uInput * input = *i; 01374 uBind * bind = input->GetBind(); 01375 if ( input->GetPressed() > 0 && bind ) 01376 { 01377 bind->Activate( -1, su_delayed ); 01378 input->SetPressed( 0 ); 01379 } 01380 }
static uAutoDeleteInput& su_GetAutoDeleteInput | ( | ) | [static] |
Definition at line 158 of file uInput.cpp.
Referenced by su_NewInput().
00159 { 00160 static uAutoDeleteInput filler; 00161 return filler; 00162 }
Definition at line 118 of file uInput.cpp.
References NULL, and su_inputMap.
Referenced by tConfItem_key::ReadVal().
00119 { 00120 try 00121 { 00122 return su_inputMap[ persistentID ]; 00123 } 00124 catch (...) 00125 { 00126 return NULL; 00127 } 00128 }
static uJoystick* su_GetJoystick | ( | int | id | ) | [static] |
Definition at line 654 of file uInput.cpp.
References uJoystickInput::joysticks, su_GetJoystickInput(), and tASSERT.
Referenced by su_TransformEvent().
00656 { 00657 uJoystickInput & joysticks = su_GetJoystickInput(); 00658 tASSERT( id >= 0 && id < (int)joysticks.joysticks.size() ); 00659 00660 return joysticks.joysticks[id];
static uJoystickInput& su_GetJoystickInput | ( | ) | [static] |
Definition at line 648 of file uInput.cpp.
Referenced by su_GetJoystick(), and su_JoystickInit().
00650 { 00651 static uJoystickInput filler; 00652 return filler;
static uKeyInput const& su_GetKeyInput | ( | ) | [static] |
Definition at line 221 of file uInput.cpp.
Referenced by su_KeyInit(), and su_TransformEvent().
00223 { 00224 static uKeyInput filler; 00225 return filler;
static uMouseInput const& su_GetMouseInput | ( | ) | [static] |
Definition at line 261 of file uInput.cpp.
Referenced by su_KeyInit(), and su_TransformEvent().
00263 { 00264 static uMouseInput filler; 00265 return filler;
void su_HandleDelayedEvents | ( | ) |
Definition at line 1274 of file uInput.cpp.
References uBind::HanldeDelayed(), and su_inputs.
Referenced by gGame::GameLoop(), and su_HandleEvent().
01276 { 01277 // nothing to do 01278 if ( !su_delayed ) 01279 { 01280 return; 01281 } 01282 01283 su_delayed = false; 01284 01285 for ( uInputs::const_iterator i = su_inputs.begin(); i != su_inputs.end(); ++i ) 01286 { 01287 uBind * bind = (*i)->GetBind(); 01288 if ( bind ) 01289 { 01290 bind->HanldeDelayed(); 01291 } 01292 }
bool su_HandleEvent | ( | SDL_Event & | e, | |
bool | delayed | |||
) |
Definition at line 1294 of file uInput.cpp.
References uBind::act, uBind::Activate(), uInput::GetBind(), uTransformEventInfo::input, uBind::IsDoubleBind(), uTransformEventInfo::needsRepeat, uInput::SetPressed(), su_HandleDelayedEvents(), su_TransformEvent(), uAction::type, uAction::uINPUT_ANALOG, and uTransformEventInfo::value.
Referenced by gMemuItemConsole::Event(), gGame::GameLoop(), and uMenu::HandleEvent().
01295 { 01296 #ifndef DEDICATED 01297 if ( su_delayed && !delayed ) 01298 { 01299 su_HandleDelayedEvents(); 01300 } 01301 01302 su_delayed = delayed; 01303 01304 // transform events 01305 bool ret = false; 01306 01307 std::vector< uTransformEventInfo > events; 01308 su_TransformEvent( e, events ); 01309 01310 for ( std::vector< uTransformEventInfo >::const_iterator i = events.begin(); i != events.end(); ++i ) 01311 { 01312 uTransformEventInfo info = *i; 01313 01314 if ( info.input ) 01315 { 01316 // store input state for later repeat 01317 if ( info.needsRepeat ) 01318 { 01319 info.input->SetPressed( info.value > 0 ? info.value : 0 ); 01320 } 01321 01322 // activate binding 01323 uBind * bind = info.input->GetBind(); 01324 if ( bind ) 01325 { 01326 if ( bind->IsDoubleBind( info.input ) ) 01327 { 01328 return true; 01329 } 01330 01331 if ( info.needsRepeat && bind->act && bind->act->type == uAction::uINPUT_ANALOG ) 01332 { 01333 info.value *= ts*key_sensitivity; 01334 } 01335 01336 ret |= bind->Activate( info.value, delayed ); 01337 } 01338 } 01339 } 01340 01341 return ret; 01342 #endif 01343 return false;
void su_InputConfig | ( | int | ePlayer | ) |
Definition at line 1244 of file uInput.cpp.
References uPlayerPrototype::Name(), uPlayerPrototype::PlayerConfig(), s_InputConfigGeneric(), and tOutput::SetTemplateParameter().
Referenced by sg_PlayerMenu().
01245 { 01246 01247 tOutput name; 01248 name.SetTemplateParameter(1, ePlayer+1); 01249 name.SetTemplateParameter(2, uPlayerPrototype::PlayerConfig(ePlayer)->Name()); 01250 name << "$input_for_player"; 01251 01252 s_InputConfigGeneric(ePlayer,s_playerActions,name);
void su_InputConfigCamera | ( | int | player | ) |
Definition at line 1254 of file uInput.cpp.
References uPlayerPrototype::Name(), uPlayerPrototype::PlayerConfig(), s_InputConfigGeneric(), and tOutput::SetTemplateParameter().
Referenced by sg_PlayerMenu().
01255 { 01256 01257 tOutput name; 01258 name.SetTemplateParameter(1, uPlayerPrototype::PlayerConfig(player)->Name()); 01259 name << "$camera_controls"; 01260 01261 s_InputConfigGeneric(player,s_cameraActions,name);
void su_InputConfigGlobal | ( | ) |
Definition at line 1263 of file uInput.cpp.
References s_InputConfigGeneric().
Referenced by MainMenu().
01264 { 01265 s_InputConfigGeneric(-1,s_globalActions,"$input_items_global");
void su_InputSync | ( | ) |
Definition at line 1345 of file uInput.cpp.
References uBind::act, uBind::Activate(), uInput::GetBind(), uInput::GetPressed(), REAL, su_inputs, tSysTimeFloat(), uAction::type, and uAction::uINPUT_ANALOG.
Referenced by gGame::GameLoop().
01346 { 01347 double time=tSysTimeFloat(); 01348 ts=REAL(time-lastTime); 01349 01350 //static REAL tsSmooth=0; 01351 //tsSmooth+=REAL(ts*.1); 01352 //tsSmooth/=REAL(1.1); 01353 lastTime=time; 01354 01355 // key repeat 01356 for ( uInputs::const_iterator i = su_inputs.begin(); i != su_inputs.end(); ++i ) 01357 { 01358 uInput * input = *i; 01359 uBind * bind = input->GetBind(); 01360 if ( input->GetPressed() > 0 && bind && 01361 bind->act && bind->act->type == uAction::uINPUT_ANALOG ) 01362 { 01363 bind->Activate( ts * key_sensitivity * input->GetPressed(), su_delayed ); 01364 } 01365 }
void su_JoystickInit | ( | ) |
Definition at line 662 of file uInput.cpp.
References su_GetJoystickInput().
Referenced by main().
00664 { 00665 su_GetJoystickInput(); 00666 SDL_JoystickEventState( SDL_ENABLE );
void su_KeyInit | ( | ) |
Definition at line 267 of file uInput.cpp.
References su_GetKeyInput(), and su_GetMouseInput().
Referenced by main().
00269 { 00270 su_GetKeyInput(); 00271 su_GetMouseInput();
static uInput* su_NewInput | ( | char const * | ID, | |
char const * | name | |||
) | [static] |
Definition at line 169 of file uInput.cpp.
References uAutoDeleteInput::Create(), and su_GetAutoDeleteInput().
00170 { 00171 return su_GetAutoDeleteInput().Create( tString( ID ), tString( name ) ); 00172 }
Definition at line 164 of file uInput.cpp.
References uAutoDeleteInput::Create(), and su_GetAutoDeleteInput().
Referenced by tConfItem_key::ReadVal(), uJoystick::uJoystick(), uKeyInput::uKeyInput(), and uMouseInput::uMouseInput().
00165 { 00166 return su_GetAutoDeleteInput().Create( ID, name ); 00167 }
static void su_TransformEvent | ( | SDL_Event & | e, | |
std::vector< uTransformEventInfo > & | info | |||
) | [static] |
Definition at line 794 of file uInput.cpp.
References c, uJoystick::Down, uJoystick::GetAxis(), uJoystick::GetBall(), uJoystick::GetButton(), uJoystick::GetHat(), uJoystick::GetHatDirection(), uJoystick::Left, MOUSE_BUTTONS, mouse_sensitivity, REAL, uJoystick::Right, sr_screenHeight, sr_screenWidth, su_GetJoystick(), su_GetKeyInput(), su_GetMouseInput(), su_mouseGrab, and uJoystick::Up.
Referenced by uMenuItemInput::Event(), and su_HandleEvent().
00796 { 00797 switch (e.type) 00798 { 00799 case SDL_MOUSEMOTION: 00800 { 00801 // ignore events generated by mouse grabbing 00802 if ( su_mouseGrab && 00803 e.motion.x==sr_screenWidth/2 && e.motion.x==sr_screenHeight/2) 00804 { 00805 return; 00806 } 00807 00808 // we generate up to four events per mouse movement 00809 info.reserve(4); 00810 00811 REAL xrel=e.motion.xrel; 00812 if (xrel > 0) // right 00813 { 00814 info.push_back( uTransformEventInfo( 00815 su_GetMouseInput().x_minus, 00816 0, 00817 false ) ); 00818 info.push_back( uTransformEventInfo( 00819 su_GetMouseInput().x_plus, 00820 xrel * mouse_sensitivity, 00821 false ) ); 00822 } 00823 00824 if (xrel < 0) // left 00825 { 00826 info.push_back( uTransformEventInfo( 00827 su_GetMouseInput().x_plus, 00828 0, 00829 false ) ); 00830 info.push_back( uTransformEventInfo( 00831 su_GetMouseInput().x_minus, 00832 -xrel * mouse_sensitivity, 00833 false ) ); 00834 } 00835 00836 // invert mouse movement 00837 REAL yrel=-e.motion.yrel; 00838 if (yrel>0) // up 00839 { 00840 info.push_back( uTransformEventInfo( 00841 su_GetMouseInput().y_minus, 00842 0, 00843 false ) ); 00844 info.push_back( uTransformEventInfo( 00845 su_GetMouseInput().y_plus, 00846 yrel * mouse_sensitivity, 00847 false ) ); 00848 } 00849 if (yrel<0) // down 00850 { 00851 info.push_back( uTransformEventInfo( 00852 su_GetMouseInput().y_plus, 00853 0, 00854 false ) ); 00855 info.push_back( uTransformEventInfo( 00856 su_GetMouseInput().y_minus, 00857 -yrel * mouse_sensitivity, 00858 false ) ); 00859 } 00860 } 00861 break; 00862 case SDL_MOUSEBUTTONDOWN: 00863 case SDL_MOUSEBUTTONUP: 00864 { 00865 int button=e.button.button; 00866 if (button<=MOUSE_BUTTONS) 00867 { 00868 info.push_back( uTransformEventInfo( 00869 su_GetMouseInput().button[ button ], 00870 ( e.type == SDL_MOUSEBUTTONDOWN ) ? 1 : 0 ) ); 00871 } 00872 } 00873 break; 00874 case SDL_KEYDOWN: 00875 case SDL_KEYUP: 00876 { 00877 SDL_keysym &c = e.key.keysym; 00878 00879 info.push_back( uTransformEventInfo( 00880 su_GetKeyInput().sdl_keys[ c.sym ], 00881 ( e.type == SDL_KEYDOWN ) ? 1 : 0 ) ); 00882 00883 break; 00884 } 00885 #ifndef NOJOYSTICK 00886 case SDL_JOYAXISMOTION: 00887 { 00888 uJoystick * joystick = su_GetJoystick( e.jaxis.which ); 00889 int dir = e.jaxis.value > 0 ? 1 : 0; 00890 00891 info.push_back( uTransformEventInfo( 00892 joystick->GetAxis( e.jaxis.axis, 1-dir ), 00893 0 ) ); 00894 info.push_back( uTransformEventInfo( 00895 joystick->GetAxis( e.jaxis.axis, dir ), 00896 fabs( e.jaxis.value )/32768 ) ); 00897 00898 break; 00899 } 00900 case SDL_JOYBUTTONDOWN: 00901 case SDL_JOYBUTTONUP: 00902 info.push_back( uTransformEventInfo( 00903 su_GetJoystick( e.jbutton.which )->GetButton( e.jbutton.button ), 00904 ( e.type == SDL_JOYBUTTONDOWN ) ? 1 : 0 ) ); 00905 break; 00906 case SDL_JOYHATMOTION: 00907 { 00908 info.reserve(4); 00909 00910 uJoystick * joystick = su_GetJoystick( e.jhat.which ); 00911 int hat = e.jhat.hat; 00912 int hatDirection = e.jhat.value; 00913 00914 // left/right hat motion 00915 { 00916 int & lastDir = joystick->GetHatDirection( hat, 0 ); 00917 int newDir = 00918 ( ( hatDirection & SDL_HAT_LEFT ) ? -1 : 0 ) + 00919 ( ( hatDirection & SDL_HAT_RIGHT ) ? +1 : 0 ); 00920 00921 // negate previous events 00922 if ( lastDir < 0 && newDir >= 0 ) 00923 { 00924 info.push_back( uTransformEventInfo( 00925 joystick->GetHat( hat, uJoystick::Left ), 00926 0 ) ); 00927 } 00928 00929 if ( lastDir > 0 && newDir <= 0 ) 00930 { 00931 info.push_back( uTransformEventInfo( 00932 joystick->GetHat( hat, uJoystick::Right ), 00933 0 ) ); 00934 } 00935 00936 // create new events 00937 if ( lastDir >= 0 && newDir < 0 ) 00938 { 00939 info.push_back( uTransformEventInfo( 00940 joystick->GetHat( hat, uJoystick::Left ), 00941 1 ) ); 00942 } 00943 00944 if ( lastDir <= 0 && newDir > 0 ) 00945 { 00946 info.push_back( uTransformEventInfo( 00947 joystick->GetHat( hat, uJoystick::Right ), 00948 1 ) ); 00949 } 00950 00951 lastDir = newDir; 00952 } 00953 00954 // up/down hat motion 00955 { 00956 int & lastDir = joystick->GetHatDirection( hat, 1 ); 00957 int newDir = 00958 ( ( hatDirection & SDL_HAT_UP ) ? -1 : 0 ) + 00959 ( ( hatDirection & SDL_HAT_DOWN ) ? +1 : 0 ); 00960 00961 // negate previous events 00962 if ( lastDir < 0 && newDir >= 0 ) 00963 { 00964 info.push_back( uTransformEventInfo( 00965 joystick->GetHat( hat, uJoystick::Up ), 00966 0 ) ); 00967 } 00968 00969 if ( lastDir > 0 && newDir <= 0 ) 00970 { 00971 info.push_back( uTransformEventInfo( 00972 joystick->GetHat( hat, uJoystick::Down ), 00973 0 ) ); 00974 } 00975 00976 // create new events 00977 if ( lastDir >= 0 && newDir < 0 ) 00978 { 00979 info.push_back( uTransformEventInfo( 00980 joystick->GetHat( hat, uJoystick::Up ), 00981 1 ) ); 00982 } 00983 00984 if ( lastDir <= 0 && newDir > 0 ) 00985 { 00986 info.push_back( uTransformEventInfo( 00987 joystick->GetHat( hat, uJoystick::Down ), 00988 1 ) ); 00989 } 00990 00991 lastDir = newDir; 00992 } 00993 } 00994 break; 00995 case SDL_JOYBALLMOTION: 00996 { 00997 info.reserve(4); 00998 00999 uJoystick * joystick = su_GetJoystick( e.jball.which ); 01000 int ball = e.jball.ball; 01001 01002 REAL xrel=e.jball.xrel; 01003 if (xrel > 0) // right 01004 { 01005 info.push_back( uTransformEventInfo( 01006 joystick->GetBall( ball, uJoystick::Left ), 01007 0, 01008 false ) ); 01009 info.push_back( uTransformEventInfo( 01010 joystick->GetBall( ball, uJoystick::Right ), 01011 xrel, 01012 false ) ); 01013 } 01014 01015 if (xrel < 0) // left 01016 { 01017 info.push_back( uTransformEventInfo( 01018 joystick->GetBall( ball, uJoystick::Right ), 01019 0, 01020 false ) ); 01021 info.push_back( uTransformEventInfo( 01022 joystick->GetBall( ball, uJoystick::Left ), 01023 -xrel, 01024 false ) ); 01025 } 01026 01027 // invert ball movement 01028 REAL yrel=-e.jball.yrel; 01029 if (yrel>0) // up 01030 { 01031 info.push_back( uTransformEventInfo( 01032 joystick->GetBall( ball, uJoystick::Down ), 01033 0, 01034 false ) ); 01035 info.push_back( uTransformEventInfo( 01036 joystick->GetBall( ball, uJoystick::Up ), 01037 yrel, 01038 false ) ); 01039 } 01040 if (yrel<0) // down 01041 { 01042 info.push_back( uTransformEventInfo( 01043 joystick->GetBall( ball, uJoystick::Up ), 01044 0, 01045 false ) ); 01046 info.push_back( uTransformEventInfo( 01047 joystick->GetBall( ball, uJoystick::Down ), 01048 -yrel, 01049 false ) ); 01050 } 01051 } 01052 break; 01053 #endif 01054 default: 01055 break; 01056 }
REAL key_sensitivity = 40 |
Definition at line 1268 of file uInput.cpp.
tInitExit keyboard_ie& keyboard_init [static] |
Definition at line 670 of file uInput.cpp.
double lastTime = 0 [static] |
Definition at line 1269 of file uInput.cpp.
static uActionGlobalFunc md & mess_down [static] |
Definition at line 1501 of file uInput.cpp.
static uActionGlobalFunc mu & mess_up [static] |
Definition at line 1500 of file uInput.cpp.
REAL mouse_sensitivity = REAL(.1) |
int nextid = 0 [static] |
Definition at line 738 of file uInput.cpp.
Referenced by uPlayerPrototype::Num(), and uPlayerPrototype::uPlayerPrototype().
char const* Player_keyword = "PLAYER_BIND" [static] |
Definition at line 1386 of file uInput.cpp.
uAction* s_cameraActions [static] |
Definition at line 354 of file uInput.cpp.
uAction* s_globalActions [static] |
Definition at line 355 of file uInput.cpp.
uAction* s_playerActions [static] |
Definition at line 353 of file uInput.cpp.
uAction* su_allActions[uMAX_ACTIONS] [static] |
Definition at line 43 of file uInput.cpp.
int su_allActionsLen = 0 [static] |
bool su_delayed = false [static] |
Definition at line 1272 of file uInput.cpp.
REAL su_doubleBindTimeout = -10.0f |
true if the mouse cursor is to be confined into the window
Definition at line 717 of file uInput.cpp.
Referenced by uBind::IsDoubleBind().
std::map< std::string, uInput * > su_inputMap |
Definition at line 100 of file uInput.cpp.
Referenced by uMenuItemInput::Event(), uActionGlobal::IsBreakingGlobalBind(), uBindPlayer::NewBind(), tConfItem_key::ReadVal(), uMenuItemInput::Render(), su_ClearKeys(), su_HandleDelayedEvents(), su_InputSync(), uInput::uInput(), tConfItem_key::WriteVal(), and uInput::~uInput().
bool su_mouseGrab = false |
Definition at line 41 of file uInput.cpp.
Referenced by filter(), sg_ScreenModeMenu(), and su_TransformEvent().
Definition at line 1270 of file uInput.cpp.
Referenced by cCockpit::cb_Framerate(), uMenu::OnEnter(), gWallRim::RenderReal(), gAIPlayer::SetTraceSide(), gSpark::Timestep(), gCycleMovement::Timestep(), gAIPlayer::Timestep(), gCycleMovement::TimestepCore(), and gCycle::TimestepCore().
uActionGlobalFunc* uActionGlobal_anchor = NULL [static] |
Definition at line 1459 of file uInput.cpp.
tConfItem_key x [static] |
Definition at line 351 of file uInput.cpp.
Referenced by atan2f(), uMenuItemSelection< bool >::Clear(), client(), DecaySmooth(), eGrid::display_simple(), nServerInfo::DoQueryAll(), gAIPlayer::EmergencySurvive(), expf(), fabsf(), floorf(), PDDisc::Generate(), PDCone::Generate(), PDCylinder::Generate(), gArena::GetRandomPos(), zShapePolygon::isInside(), tListItemBase::Len(), rModel::Load(), logf(), main(), rConsole::MaxHeight(), MenuBackground(), uMenuItemSelection< bool >::NewChoice(), NextPowerOfTwo(), ntest(), ePoint::operator *(), tOutput::operator const char *(), ePoint::operator+(), ePoint::operator-(), ePoint::operator=(), ePoint::Print(), nKrawall::ReadScrambledPassword(), gCycle::ReadSync(), eNetGameObject::ReceiveControlNet(), gExplosion::Render(), gCycle::Render(), rFont::Render(), gExplosion::Render2D(), cWidget::NeedleGauge::RenderGraph(), cWidget::VerticalBarGauge::RenderGraph(), cWidget::BarGauge::RenderGraph(), gNetPlayerWall::RenderList(), gCycle::RenderName(), uMenu::ReverseItems(), rotate(), sqrtf(), test_max_a(), test_max_b(), gAIPlayer::Think(), gCamera::Timestep(), eCamera::Timestep(), gCycleMovement::TimestepCore(), PDBlob::Within(), PDCone::Within(), PDCylinder::Within(), gCycle::WriteSync(), and gCamera::~gCamera().