CGameStateRecorder::CGameStateRecorder() { m_mode = GPM_Disabled; m_bRecording = false; m_bEnable = false; m_bLogWarning = true; m_currentFrame = 0; m_pSingleActor = NULL; //m_pRecordGameEventFtor = new RecordGameEventFtor(this); m_demo_actorInfo = REGISTER_STRING( "demo_actor_info","player",0,"name of actor which game state info is displayed" ); m_demo_actorFilter = REGISTER_STRING( "demo_actor_filter","player",0,"name of actor which game state is recorded ('player','all',<entity name>" ); REGISTER_CVAR2( "demo_force_game_state",&m_demo_forceGameState,2,0,"Forces game state values into game while playing timedemo: only health and suit energy (1) or all (2)" ); }
bool CPersistantDebug::Init() { // Init CVars m_pETLog = REGISTER_INT("cl_ETLog",0,VF_DUMPTODISK,"Logging (0=off, 1=editor.log, 2=editor.log + AIlog.log)"); m_pETHideAll = REGISTER_INT("cl_ETHideAll",0,VF_DUMPTODISK,"Hide all tags (overrides all other options)"); m_pETHideBehaviour = REGISTER_INT("cl_ETHideBehaviour",0,VF_DUMPTODISK,"Hide AI behavior tags"); m_pETHideReadability = REGISTER_INT("cl_ETHideReadability",0,VF_DUMPTODISK,"Hide AI readability tags"); m_pETHideAIDebug = REGISTER_INT("cl_ETHideAIDebug",0,VF_DUMPTODISK,"Hide AI debug tags"); m_pETHideFlowgraph = REGISTER_INT("cl_ETHideFlowgraph",0,VF_DUMPTODISK,"Hide tags created by flowgraph"); m_pETHideScriptBind = REGISTER_INT("cl_ETHideScriptBind",0,VF_DUMPTODISK,"Hide tags created by Lua script"); m_pETFontSizeMultiplier = REGISTER_FLOAT("cl_ETFontSizeMultiplier",1.0f,VF_DUMPTODISK,"Global font size multiplier"); m_pETMaxDisplayDistance = REGISTER_FLOAT("cl_ETMaxDisplayDistance",-2.0f,VF_DUMPTODISK,"Max display distance"); m_pETColorOverrideEnable = REGISTER_INT("cl_ETColorOverrideEnable",0,VF_DUMPTODISK,"Global color override"); m_pETColorOverrideR = REGISTER_FLOAT("cl_ETColorOverrideR",1.0f,VF_DUMPTODISK,"Global color override (RED)"); m_pETColorOverrideG = REGISTER_FLOAT("cl_ETColorOverrideG",1.0f,VF_DUMPTODISK,"Global color override (GREEN)"); m_pETColorOverrideB = REGISTER_FLOAT("cl_ETColorOverrideB",1.0f,VF_DUMPTODISK,"Global color override (BLUE)"); m_pVisualConsole = REGISTER_INT_CB("VisualConsole", 0, VF_NULL, "writes console to screen", VisualLogCallback); if(m_pVisualConsole) { m_pVisualConsoleSubStr = REGISTER_STRING("VisualConsoleSubStr", "", VF_NULL, "writes console to screen if it matches substr"); } Reset(); return true; }
CMaterialEffectsCVars::CMaterialEffectsCVars() { assert (s_pThis == 0); s_pThis = this; REGISTER_CVAR(mfx_ParticleImpactThresh, 2.0f, VF_CHEAT, "Impact threshold for particle effects. Default: 2.0" ); REGISTER_CVAR(mfx_SoundImpactThresh, 1.5f, VF_CHEAT, "Impact threshold for sound effects. Default: 1.5" ); REGISTER_CVAR(mfx_RaisedSoundImpactThresh, 3.5f, VF_CHEAT, "Impact threshold for sound effects if we're rolling. Default: 3.5" ); REGISTER_CVAR(mfx_Debug, 0, 0, "Turns on MaterialEffects debug messages. 1=Collisions, 2=Breakage, 3=Both" ); REGISTER_CVAR(mfx_DebugVisual, 0, 0, "Turns on/off visual debugging for MFX system"); mfx_DebugVisualFilter = REGISTER_STRING("mfx_DebugVisualFilter","",VF_CHEAT,""); REGISTER_CVAR(mfx_DebugFlowGraphFX, 0, 0, "Turns on Material FlowGraph FX manager debug messages." ); REGISTER_CVAR(mfx_Enable, 1, VF_CHEAT, "Enables MaterialEffects." ); REGISTER_CVAR(mfx_pfx_minScale, .5f, 0, "Min scale (when particle is close)"); REGISTER_CVAR(mfx_pfx_maxScale, 1.5f, 0, "Max scale (when particle is far)"); REGISTER_CVAR(mfx_pfx_maxDist, 35.0f, 0, "Max dist (how far away before scale is clamped)"); REGISTER_CVAR(mfx_Timeout, 0.01f, 0, "Timeout (in seconds) to avoid playing effects too often"); REGISTER_CVAR(mfx_EnableFGEffects, 1, VF_CHEAT, "Enabled Flowgraph based Material effects. Default: On" ); REGISTER_CVAR(mfx_EnableAttachedEffects, 1, VF_CHEAT, "Enable attached effects (characters, entities...)"); REGISTER_CVAR(mfx_SerializeFGEffects, 1, VF_CHEAT, "Serialize Flowgraph based effects. Default: On" ); //FlowGraph HUD effects REGISTER_COMMAND("mfx_ReloadFGEffects", FGEffectsReload, 0, "Reload MaterialEffect's FlowGraphs"); //Reload Excel Spreadsheet REGISTER_COMMAND("mfx_Reload", MFXReload, 0, "Reload MFX Spreadsheet"); }
void CMannequinInterface::RegisterCVars() { mannequin::debug::RegisterCommands(); CAnimationDatabase::RegisterCVars(); #ifndef _RELEASE REGISTER_STRING("mn_sequence_path", "Animations/Mannequin/FragmentSequences/", VF_CHEAT, "Default path for CryMannequin sequence files"); #endif }
// Description: // // Arguments: // // Return: // void CVisualLog::InitCVars() { m_pCVVisualLog = REGISTER_INT( "cl_visualLog", 0, 0, "Enables Visual Logging." ); m_pCVVisualLogFolder = REGISTER_STRING( "cl_visualLogFolder", "VisualLog", 0, "Specifies sub folder to write logs to." ); m_pCVVisualLogImageFormat = REGISTER_STRING( "cl_visualLogImageFormat", "bmp", 0, "Specifies file format of captured files (jpg, bmp)." ); m_pCVVisualLogImageScale = REGISTER_FLOAT( "cl_visualLogImageScale", 128, 0, "Image size. [0-1] = scale value. >1 = actual pixels for image width" ); assert(gEnv->pConsole); PREFAST_ASSUME(gEnv->pConsole); m_pCV_capture_frames = gEnv->pConsole->GetCVar("capture_frames"); m_pCV_capture_file_format = gEnv->pConsole->GetCVar("capture_file_format"); m_pCV_capture_frame_once = gEnv->pConsole->GetCVar("capture_frame_once"); m_pCV_capture_file_name = gEnv->pConsole->GetCVar("capture_file_name"); CRY_ASSERT( m_pCV_capture_frames ); CRY_ASSERT( m_pCV_capture_file_format ); CRY_ASSERT( m_pCV_capture_frame_once ); CRY_ASSERT( m_pCV_capture_file_name ); }
//------------------------------------------------------------------------ // Constructor CPlaylistActivityTracker::CPlaylistActivityTracker() : m_nKnownPlaylists( 0 ) , m_state( eATS_Idle ) , m_timeUntilNextAction( -1.0f ) { m_serverNameCVar = REGISTER_STRING( "g_playlistActivity_server", k_defaultPlaylistActivityServerName, 0, "Usage: g_playlistActivity_server <ip or hostname>\n" ); m_serverPortCVar = REGISTER_INT( "g_playlistActivity_port", k_defaultPlaylistActivityServerPort, 0, "Usage: g_playlistActivity_port <port>\n" ); for( int i = 0; i < eRTT_MaxCount; i++ ) { m_downloadableResources[ i ] = NULL; } }
CGameTokenSystem::CGameTokenSystem() { CGameToken::g_pGameTokenSystem = this; m_pScriptBind = new CScriptBind_GameToken(this); m_pGameTokensMap = new GameTokensMap(); #ifdef _GAMETOKENSDEBUGINFO m_debugHistory.resize( DBG_HISTORYSIZE ); ClearDebugHistory(); REGISTER_CVAR2("gt_show", &CGameTokenSystem::m_CVarShowDebugInfo, 0, 0, "Show Game Tokens debug info. 1=screen and log, 2=screen only, 3=log only"); REGISTER_CVAR2("gt_showPosX", &CGameTokenSystem::m_CVarPosX, 0, 0, "Defines the starting column in screen for game tokens debug info"); REGISTER_CVAR2("gt_showPosY", &CGameTokenSystem::m_CVarPosY, 0, 0, "Defines the starting line in screen for game tokens debug info"); REGISTER_CVAR2("gt_showLines", &CGameTokenSystem::m_CVarNumHistoricLines, DBG_HISTORYSIZE, 0, "How many lines is used by the historic list"); m_pCVarFilter = REGISTER_STRING("gt_showFilter", NULL, VF_NULL, "In the historic list only shows game tokens that include the filter string" ); REGISTER_COMMAND( "gt_AddToDebugList", AddGameTokenToDebugList, VF_CHEAT,"Adds a game token by name to the list of game tokens to be shown on screen" ); REGISTER_COMMAND( "gt_RemoveFromDebugList", RemoveGameTokenFromDebugList, VF_CHEAT,"Removes a game token by name from the list of game tokens to be shown on screen" ); #endif }
CFlowGraphModuleManager::CFlowGraphModuleManager() : m_listeners(1) { m_moduleIdMaker = 0; gEnv->pSystem->GetISystemEventDispatcher()->RegisterListener(this); DefineConstIntCVarName("fg_debugmodules", CV_fg_debugmodules, 0, VF_NULL, "Display Module debug info.\n"\ "0=Disabled"\ "1=Modules only"\ "2=Modules + Module Instances"); fg_debugmodules_filter = REGISTER_STRING("fg_debugmodules_filter", "", VF_NULL, CVARHELP("Only debug modules with this name")); #if !defined (_RELEASE) CRY_ASSERT_MESSAGE( gEnv->pGame->GetIGameFramework(), "Unable to register as Framework listener!" ); if (gEnv->pGame->GetIGameFramework()) { gEnv->pGame->GetIGameFramework()->RegisterListener(this, "FlowGraphModuleManager", FRAMEWORKLISTENERPRIORITY_GAME); } #endif }
CAnimationGraphCVars::CAnimationGraphCVars() { assert (s_pThis == 0); s_pThis = this; IConsole *pConsole = gEnv->pConsole; assert(pConsole); // TODO: remove once animation graph transition is complete REGISTER_CVAR2( "ag_debugExactPos", &m_debugExactPos, 0, VF_CHEAT, "Enable/disable exact positioning debugger" ); // ~TODO REGISTER_CVAR2( "ac_forceSimpleMovement", &m_forceSimpleMovement, 0, VF_CHEAT, "Force enable simplified movement (not visible, dedicated server, etc)." ); REGISTER_CVAR2( "ac_debugAnimEffects", &m_debugAnimEffects, 0, VF_CHEAT, "Print log messages when anim events spawn effects." ); REGISTER_CVAR2( "ac_movementControlMethodHor", &m_MCMH, 0, VF_CHEAT, "Overrides the horizontal movement control method specified by AG (overrides filter)." ); REGISTER_CVAR2( "ac_movementControlMethodVer", &m_MCMV, 0, VF_CHEAT, "Overrides the vertical movement control method specified by AG (overrides filter)." ); REGISTER_CVAR2( "ac_movementControlMethodFilter", &m_MCMFilter, 0, VF_CHEAT, "Force reinterprets Decoupled/CatchUp MCM specified by AG as Entity MCM (H/V overrides override this)." ); REGISTER_CVAR2( "ac_templateMCMs", &m_TemplateMCMs, 1, VF_CHEAT, "Use MCMs from AG state templates instead of AG state headers." ); REGISTER_CVAR2( "ac_ColliderModePlayer", &m_forceColliderModePlayer, 0, VF_CHEAT, "Force override collider mode for all players." ); REGISTER_CVAR2( "ac_ColliderModeAI", &m_forceColliderModeAI, 0, VF_CHEAT, "Force override collider mode for all AI." ); REGISTER_CVAR2( "ac_enableExtraSolidCollider", &m_enableExtraSolidCollider, 1, VF_CHEAT, "Enable extra solid collider (for non-pushable characters)." ); REGISTER_CVAR2( "ac_entityAnimClamp", &m_entityAnimClamp, 1, VF_CHEAT, "Forces the entity movement to be limited by animation." ); REGISTER_CVAR2( "ac_debugAnimTarget", &m_debugAnimTarget, 0, 0, "Display debug history graphs of anim target correction." ); REGISTER_CVAR2( "ac_debugLocationsGraphs", &m_debugLocationsGraphs, 0, 0, "Display debug history graphs of entity locations and movement." ); REGISTER_CVAR2( "ac_debugLocations", &m_debugLocations, 0, 0, "Debug render entity location." ); REGISTER_CVAR2( "ac_debugMotionParams", &m_debugMotionParams, 0, 0, "Display graph of motion parameters." ); REGISTER_CVAR2( "ac_frametime", &m_debugFrameTime, 0, 0, "Display a graph of the frametime." ); REGISTER_CVAR2( "ac_debugText", &m_debugText, 0, 0, "Display entity/animation location/movement values, etc." ); REGISTER_CVAR2( "ac_debugXXXValues", &m_debugTempValues, 0, 0, "Display some values temporarily hooked into temp history graphs." ); REGISTER_CVAR2( "ac_debugEntityParams", &m_debugEntityParams, 0 , VF_CHEAT, "Display entity params graphs" ); m_pDebugFilter = REGISTER_STRING( "ac_DebugFilter", "0", 0, "Debug specified entity name only." ); REGISTER_CVAR2( "ac_debugColliderMode", &m_debugColliderMode, 0, 0, "Display filtered and requested collider modes." ); REGISTER_CVAR2( "ac_debugMovementControlMethods", &m_debugMovementControlMethods, 0, 0, "Display movement control methods." ); REGISTER_CVAR2( "ac_disableSlidingContactEvents", &m_disableSlidingContactEvents, 0, 0, "Force disable sliding contact events." ); REGISTER_CVAR2( "ac_useMovementPrediction", &m_useMovementPrediction, 1, 0, "When using animation driven motion sample animation for the root one frame ahead to take into account 1 frame of physics delay" ); REGISTER_CVAR2( "ac_useQueuedRotation", &m_useQueuedRotation, 0, 0, "Instead of applying rotation directly, queue it until the beginning of the next frame (synchronizes rotation with translation coming from asynchronous physics)" ); REGISTER_CVAR2( "g_landingBobTimeFactor", &m_landingBobTimeFactor, 0.2f, VF_CHEAT, "Fraction of the bob time to release full compression"); REGISTER_CVAR2( "g_landingBobLandTimeFactor", &m_landingBobLandTimeFactor, 0.1f, VF_CHEAT, "Fraction of the bob time to be at full compression"); REGISTER_CVAR2( "g_distanceForceNoIk", &m_distanceForceNoIk, 0.0f, VF_NULL, "Distance at which to disable ground alignment IK"); REGISTER_CVAR2( "g_distanceForceNoLegRaycasts", &m_distanceForceNoLegRaycasts, 5.0f, VF_NULL, "Distance at which to disable ground alignment IKs raycasts"); REGISTER_CVAR2( "g_spectatorCollisions", &m_spectatorCollisions, 1, VF_CHEAT, "Collide against the geometry in spectator mode"); REGISTER_CVAR2( "g_groundAlignAll", &m_groundAlignAll, 1, VF_NULL, "Enable ground alignment for every character that supports it." ); REGISTER_CVAR2("ag_turnSpeedParamScale", &m_turnSpeedParamScale, 0.2f, VF_NULL, "Scale the turn speed animation param (used for leaning)"); REGISTER_CVAR2("ag_turnSpeedSmoothing", &m_enableTurnSpeedSmoothing, 1, VF_NULL, "Enables/Disables turn speed smoothing."); REGISTER_CVAR2("ag_turnAngleSmoothing", &m_enableTurnAngleSmoothing, 1, VF_NULL, "Enables/Disables turn angle smoothing."); REGISTER_CVAR2("ag_travelSpeedSmoothing", &m_enableTravelSpeedSmoothing, 1, VF_NULL, "Enables/Disables travel speed smoothing."); PoseAligner::CVars::GetInstance(); }
CInputCVars::CInputCVars() { REGISTER_CVAR(i_debug, 0, 0, "Toggles input event debugging.\n" "Usage: i_debug [0/1]\n" "Default is 0 (off). Set to 1 to spam console with key events (only press and release)."); REGISTER_CVAR(i_forcefeedback, 1, 0, "Enable/Disable force feedback output."); // mouse REGISTER_CVAR(i_mouse_buffered, 0, 0, "Toggles mouse input buffering.\n" "Usage: i_mouse_buffered [0/1]\n" "Default is 0 (off). Set to 1 to process buffered mouse input."); REGISTER_CVAR(i_mouse_sensitivity, 1, 0, "Changes mouse sensitivity.\n" "Usage: i_mouse_sensitivity [float number]\n" "Default is 1 (raw movement), Set to 0 for no movement, [0/1] for slower movement and [1/n] for faster movement" ); REGISTER_CVAR(i_mouse_accel, 0.0f, VF_DUMPTODISK, "Set mouse acceleration, 0.0 means no acceleration.\n" "Usage: i_mouse_accel [float number] (usually a small number, 0.1 is a good one)\n" "Default is 0.0 (off)"); REGISTER_CVAR(i_mouse_accel_max, 100.0f, VF_DUMPTODISK, "Set mouse max mouse delta when using acceleration.\n" "Usage: i_mouse_accel_max [float number]\n" "Default is 100.0"); REGISTER_CVAR(i_mouse_smooth, 0.0f, VF_DUMPTODISK, "Set mouse smoothing value, also if 0 (disabled) there will be a simple average\n" "between the old and the actual input.\n" "Usage: i_mouse_smooth [float number]\n" "(1.0 = very very smooth, 30 = almost instant)\n" "Default is 0.0"); REGISTER_CVAR(i_mouse_inertia, 0.0f, VF_DUMPTODISK, "Set mouse inertia. It is disabled (0.0) by default.\n" "Usage: i_mouse_inertia [float number]\n" "Default is 0.0"); // keyboard REGISTER_CVAR(i_bufferedkeys, 1, 0, "Toggles key buffering.\n" "Usage: i_bufferedkeys [0/1]\n" "Default is 0 (off). Set to 1 to process buffered key strokes."); // xinput REGISTER_CVAR(i_xinput, 1, 0, "Number of XInput controllers to process\n" "Usage: i_xinput [0/1/2/3/4]\n" "Default is 1."); REGISTER_CVAR(i_xinput_poll_time, 1000, 0, "Number of ms between device polls in polling thread\n" "Usage: i_xinput_poll_time 500\n" "Default is 1000ms. Value must be >=0."); REGISTER_CVAR(i_xinput_deadzone_handling, 1, 0, "deadzonehandling\n" "Usage: i_xinput_deadzone_handling 0/1 (0 - old deadzone/ 1 - new deadzone)\n" "Default is 1. Value must be >=0."); REGISTER_CVAR(i_debugDigitalButtons, 0, 0, "render controller's digital button pressed info\n" "Usage: 0 (off), 1(on)" "Default is 0. Value must be >=0"); #if CRY_PLATFORM_WINDOWS REGISTER_CVAR(i_kinectXboxConnect, 1, 0, "Allow connection to Xbox for Kinect input.\n" "Usage: 0 = disabled, 1 = allow connection, 2 = force connection (don't try local Kinect on system) \n" "Default is 1"); REGISTER_CVAR(i_kinectXboxConnectPort, 62455, 0, "Port used to connect to Xbox for Kinect input.\n" "Default is 62455 (random value different than remote compiler)"); i_kinectXboxConnectIP = REGISTER_STRING("i_kinectXboxConnectIP","", VF_NULL, "Usage: force set a specific Xbox Game IP to connect to for Kinect input (use default xbox from neighbourhood when empty) \n" "Default is empty "); #endif REGISTER_CVAR(i_useKinect, 1, 0, "Use Kinect"); REGISTER_CVAR(i_kinSkeletonSmoothType, 1, 0, "Kinect skeleton tracking smooth type: 0 = not smoothed, 1 = using Double Exponential Smoothing"); REGISTER_CVAR(i_kinectDebug, 1, 0, "1 = Draws skeleton on screen \n2 = Draws colour + depth buffers on screen \n3 = Draws both skeleton and buffers"); REGISTER_CVAR(i_seatedTracking, 1, 0, "1 = Enable seated skeleton tracking"); REGISTER_CVAR(i_kinSkeletonMovedDistance, 0.125f, 0, "Distance used to determine if kinect skeleton has moved in the play space."); #if CRY_PLATFORM_DURANGO REGISTER_CVAR(i_useDurangoKinectSpeech, 1, 0, "Use Kinect Speech Recognition for Durango"); REGISTER_CVAR(i_useDurangoKinectSpeechMode, 0, 0, "Use Kinect Speech Recognition Mode (for Durango): 0 (Continuous), 1 (Pausing)"); REGISTER_CVAR(i_showDurangoKinectAudioStatus, 0, 0, "Show Kinect Audio status for Durango"); REGISTER_CVAR(i_durangoKinectSpeechConfidenceThreshold, 0.2f, 0, "Default Minimum confidence of a speech recognition result in Durango's Kinect to accept it as valid."); #endif //Exponential Smoothing Factors REGISTER_CVAR(i_kinGlobalExpSmoothFactor, 0.5f, 0, "Smoothing factor for double exponential smoothing."); REGISTER_CVAR(i_kinGlobalExpCorrectionFactor, 0.5f, 0, "Trend correction factor for double exponential smoothing."); REGISTER_CVAR(i_kinGlobalExpPredictionFactor, 0.5f, 0, "Prediction factor for double exponential smoothing."); REGISTER_CVAR(i_kinGlobalExpJitterRadius, 0.05f, 0, "Radius to determine jitter correction for double exponential smoothing."); REGISTER_CVAR(i_kinGlobalExpDeviationRadius, 0.04f, 0, "Maximum deviation radius from prediction for double exponential smoothing."); #ifdef USE_SYNERGY_INPUT i_synergyServer = REGISTER_STRING("i_synergyServer","", VF_NULL, "Usage: Set the host ip or hostname for the synergy client to connect to\n" "Default is empty "); i_synergyScreenName = REGISTER_STRING("i_synergyScreenName","Console", VF_NULL, "Usage: Set a screen name for this target\n" "Default is \"Console\""); #endif }
//------------------------------------------------------------------------ CVehicleCVars::CVehicleCVars() { assert (s_pThis == 0); s_pThis = this; IConsole *pConsole = gEnv->pConsole; assert(pConsole); #if ENABLE_VEHICLE_DEBUG // debug draw REGISTER_STRING("v_debugVehicle", "", 0, "Vehicle entity name to use for debugging output"); REGISTER_CVAR_CB(v_draw_components, 0, VF_DUMPTODISK, "Enables/disables display of components and their damage count", OnDebugDrawVarChanged); REGISTER_CVAR_CB(v_draw_helpers, 0, 0, "Enables/disables display of vehicle helpers", OnDebugDrawVarChanged); REGISTER_CVAR_CB(v_draw_seats, 0, 0, "Enables/disables display of seat positions", OnDebugDrawVarChanged); REGISTER_CVAR(v_draw_tm, 0, 0, "Enables/disables drawing of local part matrices"); REGISTER_CVAR(v_draw_passengers, 0, VF_CHEAT, "draw passenger TMs set by VehicleSeat"); REGISTER_CVAR(v_debugdraw, 0, VF_DUMPTODISK, "Displays vehicle status info on HUD\n" "Values:\n" "1: common stuff\n" "2: vehicle particles\n" "3: parts\n" "4: views\n" "6: parts + partIds\n" "7: parts + transformations and bboxes\n" "8: component damage\n" "10: vehicle editor"); REGISTER_CVAR(v_debug_mem, 0, 0, "display memory statistic for vehicles"); REGISTER_CVAR_CB(v_debugView, 0, VF_CHEAT|VF_DUMPTODISK, "Activate a 360 degree rotating third person camera instead of the camera usually available on the vehicle class", OnDebugViewVarChanged); REGISTER_CVAR(v_debugViewDetach, 0, VF_CHEAT|VF_DUMPTODISK, "Freeze vehicle camera position, (1) fixed rotation, (2) track the vehicle"); REGISTER_CVAR(v_debugViewAbove, 0, VF_CHEAT|VF_DUMPTODISK, "Debug camera, looking down on vehicle"); REGISTER_CVAR(v_debugViewAboveH, 10.f, VF_CHEAT|VF_DUMPTODISK, "Debug camera, looking down on vehicle, height "); REGISTER_CVAR(v_debugCollisionDamage, 0, VF_CHEAT, "Enable debug output for vehicle collisions"); REGISTER_CVAR(v_debug_flip_over, 0, VF_CHEAT, "flip over the current vehicle that the player is driving"); REGISTER_CVAR(v_debug_reorient, 0, VF_CHEAT, "reset the orientation of the vehicle that the player is driving so that it is upright again"); REGISTER_COMMAND("v_dump_classes", CVehicleSystem::DumpClasses, 0, "Outputs a list of vehicle classes in use"); #endif // dev vars REGISTER_CVAR(v_lights, 2, 0, "Controls vehicle lights.\n" "0: disable all lights\n" "1: enable lights only for local player\n" "2: enable all lights"); REGISTER_CVAR(v_lights_enable_always, 0, VF_CHEAT, "Vehicle lights are always on (debugging)"); REGISTER_CVAR(v_autoDisable, 1, VF_CHEAT, "Enables/disables vehicle autodisabling"); REGISTER_CVAR(v_set_passenger_tm, 1, VF_CHEAT, "enable/disable passenger entity tm update"); REGISTER_CVAR(v_disable_hull, 0, 0, "Disable hull proxies"); REGISTER_CVAR(v_treadUpdateTime, 0, 0, "delta time for tread UV update, 0 means always update"); REGISTER_CVAR(v_show_all, 0, VF_CHEAT, ""); REGISTER_CVAR(v_transitionAnimations, 1, VF_CHEAT, "Enables enter/exit transition animations for vehicles"); REGISTER_CVAR(v_playerTransitions, 1, VF_CHEAT, "Enables enter/exit transition animations for vehicles"); REGISTER_CVAR(v_ragdollPassengers, 0, VF_CHEAT, "Forces vehicle passenger to detach and ragdoll when they die inside of a vehicle"); REGISTER_CVAR(v_goliathMode, 0, VF_CHEAT, "Makes all vehicles invincible"); REGISTER_CVAR(v_enableMannequin, 1, VF_CHEAT, "Enables enter/exit transition animations for vehicles"); // #AfroStalin . This fix physics lags in multiplayer. Use this dll in GameServer and Clients. REGISTER_CVAR(v_serverControlled, 0, VF_CHEAT|VF_REQUIRE_LEVEL_RELOAD, "Makes the vehicles server authoritative, clients only send inputs to the server who then drives the vehicles"); // REGISTER_CVAR(v_clientPredict, 1, VF_CHEAT, "Enable client-side prediction on vehicle movement"); REGISTER_CVAR(v_clientPredictSmoothing, 1, VF_CHEAT, "Enable client-side prediction smoothing on vehicle movement"); REGISTER_CVAR(v_testClientPredict, 0, VF_CHEAT, "Test client-side prediction on a listen server with no clients, the value represents the number of frames to rewind and replay"); REGISTER_CVAR(v_clientPredictSmoothingConst, 8.0f, VF_CHEAT, "The amount of smoothing to use, lower values result in smoothing looking movement but more lag behind the true position"); REGISTER_CVAR(v_clientPredictAdditionalTime, 0.033f, VF_CHEAT, "Additional time offset to calibrate client prediction, will be added to ping and p_net_interp cvar"); REGISTER_CVAR(v_clientPredictMaxTime, 0.5f, VF_CHEAT, "The maximum time the client can predict ahead of the server position (should be roughly equal to the maximum ping we expect in the real world)"); // for tweaking REGISTER_CVAR(v_slipSlopeFront, 0.f, VF_CHEAT, "coefficient for slip friction slope calculation (front wheels)"); REGISTER_CVAR(v_slipSlopeRear, 0.f, VF_CHEAT, "coefficient for slip friction slope calculation (rear wheels)"); REGISTER_CVAR(v_slipFrictionModFront, 0.f, VF_CHEAT, "if non-zero, used as slip friction modifier (front wheels)"); REGISTER_CVAR(v_slipFrictionModRear, 0.f, VF_CHEAT, "if non-zero, used as slip friction modifier (rear wheels)"); REGISTER_CVAR(v_FlippedExplosionTimeToExplode, 20.f, VF_CHEAT, "The number of seconds to wait after a vehicle is flipped to attempt exploding"); REGISTER_CVAR(v_FlippedExplosionPlayerMinDistance, 25.f, VF_CHEAT, "If a player is within this distance then don't explode yet"); REGISTER_CVAR(v_FlippedExplosionRetryTimeMS, 10000, VF_CHEAT, "If a nearby player blocked explosion then try again after this time period"); REGISTER_COMMAND("v_reload_system", "VehicleSystem.ReloadVehicleSystem()", 0, "Reloads VehicleSystem script"); REGISTER_COMMAND("v_exit_player", CmdExitPlayer, VF_CHEAT, "Makes the local player exit his current vehicle."); REGISTER_CVAR(v_disableEntry, 0, 0, "Don't allow players to enter vehicles"); REGISTER_CVAR(v_vehicle_quality, 4, 0, "Geometry/Physics quality (1-lowspec, 4-highspec)"); REGISTER_CVAR_CB(v_driverControlledMountedGuns, 1, VF_CHEAT, "Specifies if the driver can control the vehicles mounted gun when driving without gunner.", OnDriverControlledGunsChanged); REGISTER_CVAR(v_independentMountedGuns, 1, 0, "Whether mounted gunners operate their turret independently from the parent vehicle"); REGISTER_CVAR(v_debugSuspensionIK, 0, 0, "Debug draw the suspension ik"); }
void NetInputChainInitCVars() { REGISTER_STRING("net_input_trace", "0", VF_CHEAT, "trace an entities input processing to assist finding sync errors")->SetOnChangeCallback(OnChangeEntity); REGISTER_CVAR2("net_input_dump", &dump, 0, VF_CHEAT, "write net_input_trace output to a file (netinput.log)"); }