/* ******************************************************************************** * main ******************************************************************************** */ int main( void ) { /* Disable watchdog if enabled by bootloader/fuses */ MCUSR &= ~(1 << WDRF); wdt_disable(); /* Disable clock division */ CPU_PRESCALE(0); LED_CONFIG; LED_ON; /* Initialize Keyboard Driver */ KB_Init(); /* Initialize Mouse Driver */ MS_Init(); /* Initialize USB Joystick variables */ usb_joystick_raz(); /* Enable interrupts */ sei( ); /* Initialize USB Joystick */ usb_init(); while (!usb_configured()) ; _delay_ms(1000); LED_OFF; /* Send a first packet */ usb_joystick_send(); /* Reset the mouse */ MS_MouseReset(); /* * Comment that code to test rotation speed for a given position. */ while( 1 ) { KB_EventTask(); MS_EventTask(); } /* * Uncomment that code to test rotation speed for a given position. */ // while( 1 ) // { // usb_joystick_move_zrz(153, 128); // usb_joystick_send(); // _delay_ms(5000); // } return 0; }
============ */ void InitInput (void) { gEngfuncs.pfnAddCommand ("+moveup",IN_UpDown); gEngfuncs.pfnAddCommand ("-moveup",IN_UpUp); gEngfuncs.pfnAddCommand ("+movedown",IN_DownDown); gEngfuncs.pfnAddCommand ("-movedown",IN_DownUp); gEngfuncs.pfnAddCommand ("+left",IN_LeftDown); gEngfuncs.pfnAddCommand ("-left",IN_LeftUp); gEngfuncs.pfnAddCommand ("+right",IN_RightDown); gEngfuncs.pfnAddCommand ("-right",IN_RightUp); gEngfuncs.pfnAddCommand ("+forward",IN_ForwardDown); gEngfuncs.pfnAddCommand ("-forward",IN_ForwardUp); gEngfuncs.pfnAddCommand ("+back",IN_BackDown); gEngfuncs.pfnAddCommand ("-back",IN_BackUp); gEngfuncs.pfnAddCommand ("+lookup", IN_LookupDown); gEngfuncs.pfnAddCommand ("-lookup", IN_LookupUp); gEngfuncs.pfnAddCommand ("+lookdown", IN_LookdownDown); gEngfuncs.pfnAddCommand ("-lookdown", IN_LookdownUp); gEngfuncs.pfnAddCommand ("+strafe", IN_StrafeDown); gEngfuncs.pfnAddCommand ("-strafe", IN_StrafeUp); gEngfuncs.pfnAddCommand ("+moveleft", IN_MoveleftDown); gEngfuncs.pfnAddCommand ("-moveleft", IN_MoveleftUp); gEngfuncs.pfnAddCommand ("+moveright", IN_MoverightDown); gEngfuncs.pfnAddCommand ("-moveright", IN_MoverightUp); gEngfuncs.pfnAddCommand ("+speed", IN_SpeedDown); gEngfuncs.pfnAddCommand ("-speed", IN_SpeedUp); gEngfuncs.pfnAddCommand ("+attack", IN_AttackDown); gEngfuncs.pfnAddCommand ("-attack", IN_AttackUp); gEngfuncs.pfnAddCommand ("+attack2", IN_Attack2Down); gEngfuncs.pfnAddCommand ("-attack2", IN_Attack2Up); gEngfuncs.pfnAddCommand ("+use", IN_UseDown); gEngfuncs.pfnAddCommand ("-use", IN_UseUp); gEngfuncs.pfnAddCommand ("+jump", IN_JumpDown); gEngfuncs.pfnAddCommand ("-jump", IN_JumpUp); gEngfuncs.pfnAddCommand ("impulse", IN_Impulse); gEngfuncs.pfnAddCommand ("+klook", IN_KLookDown); gEngfuncs.pfnAddCommand ("-klook", IN_KLookUp); gEngfuncs.pfnAddCommand ("+mlook", IN_MLookDown); gEngfuncs.pfnAddCommand ("-mlook", IN_MLookUp); gEngfuncs.pfnAddCommand ("+jlook", IN_JLookDown); gEngfuncs.pfnAddCommand ("-jlook", IN_JLookUp); gEngfuncs.pfnAddCommand ("+duck", IN_DuckDown); gEngfuncs.pfnAddCommand ("-duck", IN_DuckUp); gEngfuncs.pfnAddCommand ("+reload", IN_ReloadDown); gEngfuncs.pfnAddCommand ("-reload", IN_ReloadUp); gEngfuncs.pfnAddCommand ("+alt1", IN_Alt1Down); gEngfuncs.pfnAddCommand ("-alt1", IN_Alt1Up); gEngfuncs.pfnAddCommand ("+score", IN_ScoreDown); gEngfuncs.pfnAddCommand ("-score", IN_ScoreUp); gEngfuncs.pfnAddCommand ("+showscores", IN_ScoreDown); gEngfuncs.pfnAddCommand ("-showscores", IN_ScoreUp); gEngfuncs.pfnAddCommand ("+graph", IN_GraphDown); gEngfuncs.pfnAddCommand ("-graph", IN_GraphUp); gEngfuncs.pfnAddCommand ("+break",IN_BreakDown); gEngfuncs.pfnAddCommand ("-break",IN_BreakUp); lookstrafe = gEngfuncs.pfnRegisterVariable ( "lookstrafe", "0", FCVAR_ARCHIVE ); lookspring = gEngfuncs.pfnRegisterVariable ( "lookspring", "0", FCVAR_ARCHIVE ); cl_anglespeedkey = gEngfuncs.pfnRegisterVariable ( "cl_anglespeedkey", "0.67", 0 ); cl_yawspeed = gEngfuncs.pfnRegisterVariable ( "cl_yawspeed", "210", 0 ); cl_pitchspeed = gEngfuncs.pfnRegisterVariable ( "cl_pitchspeed", "225", 0 ); cl_upspeed = gEngfuncs.pfnRegisterVariable ( "cl_upspeed", "320", 0 ); cl_forwardspeed = gEngfuncs.pfnRegisterVariable ( "cl_forwardspeed", "400", FCVAR_ARCHIVE ); cl_backspeed = gEngfuncs.pfnRegisterVariable ( "cl_backspeed", "400", FCVAR_ARCHIVE ); cl_sidespeed = gEngfuncs.pfnRegisterVariable ( "cl_sidespeed", "400", 0 ); cl_movespeedkey = gEngfuncs.pfnRegisterVariable ( "cl_movespeedkey", "0.3", 0 ); cl_pitchup = gEngfuncs.pfnRegisterVariable ( "cl_pitchup", "89", 0 ); cl_pitchdown = gEngfuncs.pfnRegisterVariable ( "cl_pitchdown", "89", 0 ); cl_vsmoothing = gEngfuncs.pfnRegisterVariable ( "cl_vsmoothing", "0.05", FCVAR_ARCHIVE ); m_pitch = gEngfuncs.pfnRegisterVariable ( "m_pitch","0.022", FCVAR_ARCHIVE ); m_yaw = gEngfuncs.pfnRegisterVariable ( "m_yaw","0.022", FCVAR_ARCHIVE ); m_forward = gEngfuncs.pfnRegisterVariable ( "m_forward","1", FCVAR_ARCHIVE ); m_side = gEngfuncs.pfnRegisterVariable ( "m_side","0.8", FCVAR_ARCHIVE ); // Initialize third person camera controls. CAM_Init(); // Initialize inputs IN_Init(); // Initialize keyboard KB_Init(); // Initialize view system
/* ============ InitInput ============ */ void InitInput( void ) { ADD_COMMAND ("+moveup", IN_UpDown); ADD_COMMAND ("-moveup", IN_UpUp); ADD_COMMAND ("+movedown", IN_DownDown); ADD_COMMAND ("-movedown", IN_DownUp); ADD_COMMAND ("+left", IN_LeftDown); ADD_COMMAND ("-left", IN_LeftUp); ADD_COMMAND ("+right", IN_RightDown); ADD_COMMAND ("-right", IN_RightUp); ADD_COMMAND ("+forward", IN_ForwardDown); ADD_COMMAND ("-forward", IN_ForwardUp); ADD_COMMAND ("+back", IN_BackDown); ADD_COMMAND ("-back", IN_BackUp); ADD_COMMAND ("+lookup", IN_LookupDown); ADD_COMMAND ("-lookup", IN_LookupUp); ADD_COMMAND ("+lookdown", IN_LookdownDown); ADD_COMMAND ("-lookdown", IN_LookdownUp); ADD_COMMAND ("+strafe", IN_StrafeDown); ADD_COMMAND ("-strafe", IN_StrafeUp); ADD_COMMAND ("+moveleft", IN_MoveleftDown); ADD_COMMAND ("-moveleft", IN_MoveleftUp); ADD_COMMAND ("+moveright", IN_MoverightDown); ADD_COMMAND ("-moveright", IN_MoverightUp); ADD_COMMAND ("+speed", IN_SpeedDown); ADD_COMMAND ("-speed", IN_SpeedUp); ADD_COMMAND ("+attack", IN_AttackDown); ADD_COMMAND ("-attack", IN_AttackUp); ADD_COMMAND ("+attack2", IN_Attack2Down); ADD_COMMAND ("-attack2", IN_Attack2Up); ADD_COMMAND ("+use", IN_UseDown); ADD_COMMAND ("-use", IN_UseUp); ADD_COMMAND ("+jump", IN_JumpDown); ADD_COMMAND ("-jump", IN_JumpUp); ADD_COMMAND ("impulse", IN_Impulse); ADD_COMMAND ("+klook", IN_KLookDown); ADD_COMMAND ("-klook", IN_KLookUp); ADD_COMMAND ("+mlook", IN_MLookDown); ADD_COMMAND ("-mlook", IN_MLookUp); ADD_COMMAND ("+jlook", IN_JLookDown); ADD_COMMAND ("-jlook", IN_JLookUp); ADD_COMMAND ("+duck", IN_DuckDown); ADD_COMMAND ("-duck", IN_DuckUp); ADD_COMMAND ("+reload", IN_ReloadDown); ADD_COMMAND ("-reload", IN_ReloadUp); ADD_COMMAND ("+alt1", IN_Alt1Down); ADD_COMMAND ("-alt1", IN_Alt1Up); ADD_COMMAND ("+graph", IN_GraphDown); ADD_COMMAND ("-graph", IN_GraphUp); ADD_COMMAND ("+score", IN_ScoreDown); ADD_COMMAND ("-score", IN_ScoreUp); ADD_COMMAND ("+break", IN_BreakDown); ADD_COMMAND ("-break", IN_BreakUp); lookstrafe = CVAR_REGISTER ( "lookstrafe", "0", FCVAR_ARCHIVE ); lookspring = CVAR_REGISTER ( "lookspring", "0", FCVAR_ARCHIVE ); cl_anglespeedkey = CVAR_REGISTER ( "cl_anglespeedkey", "0.67", 0 ); cl_yawspeed = CVAR_REGISTER ( "cl_yawspeed", "210", 0 ); cl_pitchspeed = CVAR_REGISTER ( "cl_pitchspeed", "225", 0 ); cl_upspeed = CVAR_REGISTER ( "cl_upspeed", "320", 0 ); cl_forwardspeed = CVAR_REGISTER ( "cl_forwardspeed", "400", FCVAR_ARCHIVE ); cl_backspeed = CVAR_REGISTER ( "cl_backspeed", "400", FCVAR_ARCHIVE ); cl_sidespeed = CVAR_REGISTER ( "cl_sidespeed", "400", 0 ); cl_movespeedkey = CVAR_REGISTER ( "cl_movespeedkey", "0.3", 0 ); cl_pitchup = CVAR_REGISTER ( "cl_pitchup", "89", 0 ); cl_pitchdown = CVAR_REGISTER ( "cl_pitchdown", "89", 0 ); m_pitch = CVAR_REGISTER ( "m_pitch","0.022", FCVAR_ARCHIVE ); m_yaw = CVAR_REGISTER ( "m_yaw","0.022", FCVAR_ARCHIVE ); m_forward = CVAR_REGISTER ( "m_forward","1", FCVAR_ARCHIVE ); m_side = CVAR_REGISTER ( "m_side","0.8", FCVAR_ARCHIVE ); // initialize inputs IN_Init(); // initialize keyboard KB_Init(); // initialize view system V_Init(); }