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; }
bool CEditorGame::Init(ISystem *pSystem,IGameToEditorInterface *pGameToEditorInterface) { assert(pSystem); SSystemInitParams startupParams; FillSystemInitParams(startupParams, pSystem); m_pGameStartup = CreateGameStartup(); m_pGame = m_pGameStartup->Init(startupParams); if (!m_pGame) { return false; } InitUIEnums(pGameToEditorInterface); m_pGame->GetIGameFramework()->InitEditor(pGameToEditorInterface); m_pEquipmentSystemInterface = new CEquipmentSystemInterface(this, pGameToEditorInterface); gEnv->bServer = true; gEnv->bMultiplayer = false; #if !defined(CONSOLE) gEnv->SetIsClient(true); #endif m_bUsingMultiplayerGameRules = (g_pGameCVars->g_multiplayerDefault != 0); if (IConsole* pConsole = gEnv->pConsole) s_pEditorGameMode = REGISTER_INT_CB("net_gamemode", 0, VF_NULL, "Should editor connect a new client?", &OnChangeEditorMode); SetGameMode(false); REGISTER_COMMAND( "net_reseteditorclient", ResetClient, VF_NULL, "Resets player and gamerules!" ); ConfigureNetContext(true); g_pGame->OnEditorGameInitComplete(); return true; }
void CVar::Init( struct IConsole *pConsole ) { assert(gEnv->pConsole); PREFAST_ASSUME(gEnv->pConsole); REGISTER_COMMAND("es_dump_entities", (ConsoleCommandFunc)DumpEntities, 0, "Dumps current entities and their states!"); REGISTER_COMMAND("es_dump_entity_classes_in_use", (ConsoleCommandFunc)DumpEntityClassesInUse, 0, "Dumps all used entity classes"); REGISTER_COMMAND("es_compile_area_grid", (ConsoleCommandFunc)CompileAreaGrid, 0, "Trigger a recompile of the area grid"); REGISTER_COMMAND("es_dump_bookmarks", (ConsoleCommandFunc)DumpEntityBookmarks, 0, "Dumps information about all bookmarked entities"); REGISTER_COMMAND("es_AudioListenerOffset", (ConsoleCommandFunc)SetAudioListenerOffsets, 0, "Sets by how much the audio listener offsets its position and rotation in regards to its entity.\n" "Usage: es_AudioListenerOffset PosX PosY PosZ RotX RotY RotZ\n"); REGISTER_CVAR( es_SortUpdatesByClass, 0, 0, "Sort entity updates by class (possible optimization)" ); pDebug = REGISTER_INT("es_debug",0,VF_CHEAT, "Enable entity debugging info\n" "Usage: es_debug [0/1]\n" "Default is 0 (on)."); pCharacterIK = REGISTER_INT("p_CharacterIK",1,VF_CHEAT, "Toggles character IK.\n" "Usage: p_characterik [0/1]\n" "Default is 1 (on). Set to 0 to disable inverse kinematics."); pEntityBBoxes = REGISTER_INT("es_bboxes",0,VF_CHEAT, "Toggles entity bounding boxes.\n" "Usage: es_bboxes [0/1]\n" "Default is 0 (off). Set to 1 to display bounding boxes."); pEntityHelpers = REGISTER_INT("es_helpers",0,VF_CHEAT, "Toggles helpers.\n" "Usage: es_helpers [0/1]\n" "Default is 0 (off). Set to 1 to display entity helpers."); pProfileEntities = REGISTER_INT("es_profileentities",0,VF_CHEAT, "Usage: es_profileentities 1,2,3\n" "Default is 0 (off)."); /* pUpdateInvisibleCharacter = REGISTER_INT("es_UpdateInvisibleCharacter",0,VF_CHEAT, "Usage: \n" "Default is 0 (off)."); pUpdateBonePositions = REGISTER_INT("es_UpdateBonePositions",1,VF_CHEAT, "Usage: \n" "Default is 1 (on)."); */ pUpdateScript = REGISTER_INT("es_UpdateScript",1,VF_CHEAT, "Usage: es_UpdateScript [0/1]\n" "Default is 1 (on)."); pUpdatePhysics = REGISTER_INT("es_UpdatePhysics",1,VF_CHEAT, "Toggles updating of entity physics.\n" "Usage: es_UpdatePhysics [0/1]\n" "Default is 1 (on). Set to 0 to prevent entity physics from updating."); pUpdateAI = REGISTER_INT("es_UpdateAI",1,VF_CHEAT, "Toggles updating of AI entities.\n" "Usage: es_UpdateAI [0/1]\n" "Default is 1 (on). Set to 0 to prevent AI entities from updating."); pUpdateEntities = REGISTER_INT("es_UpdateEntities",1,VF_CHEAT, "Toggles entity updating.\n" "Usage: es_UpdateEntities [0/1]\n" "Default is 1 (on). Set to 0 to prevent all entities from updating."); pUpdateCollision= REGISTER_INT("es_UpdateCollision",1,VF_CHEAT, "Toggles updating of entity collisions.\n" "Usage: es_UpdateCollision [0/1]\n" "Default is 1 (on). Set to 0 to disable entity collision updating."); pUpdateContainer= REGISTER_INT("es_UpdateContainer",1,VF_CHEAT, "Usage: es_UpdateContainer [0/1]\n" "Default is 1 (on)."); pUpdateTimer = REGISTER_INT("es_UpdateTimer",1,VF_CHEAT, "Usage: es_UpdateTimer [0/1]\n" "Default is 1 (on)."); pUpdateCollisionScript = REGISTER_INT("es_UpdateCollisionScript",1,VF_CHEAT, "Usage: es_UpdateCollisionScript [0/1]\n" "Default is 1 (on)."); pVisCheckForUpdate = REGISTER_INT("es_VisCheckForUpdate",1,VF_CHEAT, "Usage: es_VisCheckForUpdate [0/1]\n" "Default is 1 (on)."); pMinImpulseVel = REGISTER_FLOAT("es_MinImpulseVel",0.0f,VF_CHEAT, "Usage: es_MinImpulseVel 0.0"); pImpulseScale = REGISTER_FLOAT("es_ImpulseScale",0.0f,VF_CHEAT, "Usage: es_ImpulseScale 0.0"); pMaxImpulseAdjMass = REGISTER_FLOAT("es_MaxImpulseAdjMass",2000.0f,VF_CHEAT, "Usage: es_MaxImpulseAdjMass 2000.0"); pDebrisLifetimeScale = REGISTER_FLOAT("es_DebrisLifetimeScale",1.0f,0, "Usage: es_DebrisLifetimeScale 1.0"); pSplashThreshold = REGISTER_FLOAT("es_SplashThreshold",1.0f,VF_CHEAT, "minimum instantaneous water resistance that is detected as a splash" "Usage: es_SplashThreshold 200.0"); pSplashTimeout = REGISTER_FLOAT("es_SplashTimeout",3.0f,VF_CHEAT, "minimum time interval between consecutive splashes" "Usage: es_SplashTimeout 3.0"); pHitCharacters = REGISTER_INT("es_HitCharacters",1,0, "specifies whether alive characters are affected by bullet hits (0 or 1)"); pHitDeadBodies = REGISTER_INT("es_HitDeadBodies",1,0, "specifies whether dead bodies are affected by bullet hits (0 or 1)"); pCharZOffsetSpeed = REGISTER_FLOAT("es_CharZOffsetSpeed",2.0f,VF_DUMPTODISK, "sets the character Z-offset change speed (in m/s), used for IK"); pNotSeenTimeout = REGISTER_INT("es_not_seen_timeout", 30, VF_DUMPTODISK, "number of seconds after which to cleanup temporary render buffers in entity"); pDebugNotSeenTimeout = REGISTER_INT("es_debug_not_seen_timeout", 0, VF_DUMPTODISK, "if true, log messages when entities undergo not seen timeout"); pEnableFullScriptSave = REGISTER_INT("es_enable_full_script_save",0, VF_DUMPTODISK,"Enable (experimental) full script save functionality"); pLogCollisions = REGISTER_INT("es_log_collisions",0,0,"Enables collision events logging" ); REGISTER_CVAR(es_DebugTimers,0,VF_CHEAT, "This is for profiling and debugging (for game coders and level designer)\n" "By enabling this you get a lot of console printouts that show all entities that receive OnTimer\n" "events - it's good to minimize the call count. Certain entities might require this feature and\n" "using less active entities can often be defined by the level designer.\n" "Usage: es_DebugTimers 0/1"); REGISTER_CVAR(es_DebugFindEntity,0,VF_CHEAT,"" ); REGISTER_CVAR(es_DebugEvents,0,VF_CHEAT,"Enables logging of entity events" ); REGISTER_CVAR(es_DisableTriggers,0,0,"Disable enter/leave events for proximity and area triggers"); REGISTER_CVAR(es_DrawProximityTriggers,0,0, "Shows Proximity Triggers.\n" "Usage: es_DrawProximityTriggers [0-255]. The parameter sets the transparency (alpha) level.\n" "Value 1 will be changed to 70.\n" "Default is 0 (off)\n"); REGISTER_CVAR(es_DebugEntityUsage,0,0, "Draws information to the screen to show how entities are being used, per class, including total, active and hidden counts and memory usage" "\nUsage: es_DebugEntityUsage update_rate" "\nupdate_rate - Time in ms to refresh memory usage calculation or 0 to disable"); REGISTER_CVAR(es_DebugEntityUsageFilter,"",0,"Filter entity usage debugging to classes which have this string in their name"); REGISTER_CVAR(es_EnablePoolUse,-1,0, "Force toggle the use of entity pools on/off.\n" "Usage: es_EnablePoolUse 1\n" "Default is -1, or normal behavior. 0 forces system off. 1 forces system on."); REGISTER_CVAR(es_DebugPool,0,0,"Enable debug drawing of entity pools"); REGISTER_CVAR(es_TestPoolSignatures,0,VF_CHEAT,"Enable signature testing on entity classes the first time they're prepared from an entity pool"); REGISTER_CVAR(es_DebugPoolFilter,"",0,"Filter entity pool debugging for just this pool and draw more info about it"); REGISTER_CVAR(es_LayerSaveLoadSerialization, 0, VF_CHEAT, "Switches layer entity serialization: \n" "0 - serialize all \n" "1 - automatically ignore entities on disabled layers \n" "2 - only ignore entities on non-save layers."); REGISTER_CVAR(es_LayerDebugInfo, 0, VF_CHEAT, "Render debug info on active layers: \n" "0 - inactive \n" "1 - active brush layers \n" "2 - all layer info \n" "3 - all layer and all layer pak info"); REGISTER_CVAR(es_SaveLoadUseLUANoSaveFlag, 0, VF_CHEAT, "Save&Load optimization : use lua flag to not serialize entities, for example rigid bodies."); REGISTER_CVAR(es_ClearPoolBookmarksOnLayerUnload, 1, VF_CHEAT, "Clear pool bookmarks when a layer is unloaded (saves memory and makes smaller saves)"); pUpdateType = REGISTER_INT_CB("es_updateType", CComponentEventDistributer::EEventUpdatePolicy_UseDistributer, VF_CHEAT, "Defines how we update type for the entities", OnUpdateTypeChange); pDrawAreas = REGISTER_INT("es_DrawAreas",0,VF_CHEAT,"Enables drawing of Areas" ); pDrawAreaGrid = REGISTER_INT("es_DrawAreaGrid",0,VF_CHEAT,"Enables drawing of Area Grid" ); pDrawAreaDebug = REGISTER_INT("es_DrawAreaDebug",0,VF_CHEAT,"Enables debug drawing of Areas, set 2 for log details" ); pDrawAudioProxyZRay = REGISTER_INT("es_DrawAudioProxyZRay",0,VF_CHEAT,"Enables drawing of Z ray on check for Z visibility" ); REGISTER_CVAR(es_UsePhysVisibilityChecks, 1, 0, "Activates physics quality degradation and forceful sleeping for invisible and faraway entities" ); REGISTER_CVAR(es_MaxPhysDist, 300.0f, 0, "Physical entities farther from the camera than this are forcefully deactivated" ); REGISTER_CVAR(es_MaxPhysDistCloth, 300.0f, 0, "Cloth entities farther from the camera than this are forcefully deactivated" ); REGISTER_CVAR(es_MaxPhysDistInvisible, 40.0f, 0, "Invisible physical entities farther from the camera than this are forcefully deactivated" ); REGISTER_CVAR(es_FarPhysTimeout, 4.0f, 0, "Timeout for faraway physics forceful deactivation" ); pMotionBlur = gEnv->pConsole->GetCVar("r_MotionBlur"); pSysSpecLight = gEnv->pConsole->GetCVar("sys_spec_light"); if (pSysSpecLight && gEnv->IsEditor()) pSysSpecLight->SetOnChangeCallback( OnSysSpecLightChange ); REGISTER_CVAR(es_debugEntityLifetime,0,0, "Debug entities creation and deletion time" ); REGISTER_COMMAND("es_debugAnim", (ConsoleCommandFunc)EnableDebugAnimText, 0, "Debug entity animation (toggle on off)"); REGISTER_CVAR(es_EntityUpdatePosDelta, 0.1f, 0, "Indicates the position delta by which an entity must move before the AreaManager updates position relevant data.\n" "Default: 0.1 (10 cm)"); REGISTER_CVAR(es_debugDrawEntityIDs, 0, VF_CHEAT, "Displays the EntityId of all entities.\n" "Default is 0 (off), any other number enables it.\n" "Note: es_debug must be set to 1 also (or else the EntityId won't be displayed)"); }