BVB Source Codes

CRYENGINE Show CVarListProcessor.cpp Source code

Return Download CRYENGINE: download CVarListProcessor.cpp Source code - Download CRYENGINE Source code - Type:.cpp
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #include "StdAfx.h"
  4. #include "CVarListProcessor.h"
  5.  
  6. CCVarListProcessor::CCVarListProcessor(const char* path) : m_fileName(path)
  7. {
  8.  
  9. }
  10.  
  11. CCVarListProcessor::~CCVarListProcessor()
  12. {
  13.  
  14. }
  15.  
  16. void CCVarListProcessor::Process(ICVarListProcessorCallback* cb)
  17. {
  18.         FILE* f = gEnv->pCryPak->FOpen(m_fileName, "rt");
  19.         if (!f)
  20.                 return;
  21.  
  22.         static const int BUFSZ = 4096;
  23.         char buf[BUFSZ];
  24.  
  25.         size_t nRead;
  26.         string cvar;
  27.         bool comment = false;
  28.         do
  29.         {
  30.                 cvar.resize(0);
  31.                 buf[0] = '\0';
  32.                 nRead = gEnv->pCryPak->FRead(buf, BUFSZ, f);
  33.  
  34.                 for (size_t i = 0; i < nRead; i++)
  35.                 {
  36.                         char c = buf[i];
  37.                         if (comment)
  38.                         {
  39.                                 if (c == '\r' || c == '\n')
  40.                                         comment = false;
  41.                         }
  42.                         else
  43.                         {
  44.                                 if (c == '_' || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'))
  45.                                 {
  46.                                         cvar += c;
  47.                                 }
  48.                                 else if (c == '\t' || c == '\r' || c == '\n' || c == ' ')
  49.                                 {
  50.                                         if (ICVar* pV = gEnv->pConsole->GetCVar(cvar.c_str()))
  51.                                         {
  52.                                                 cb->OnCVar(pV);
  53.                                                 //CryLog( "Unprotecting '%s'",cvar.c_str());
  54.                                         }
  55.                                         cvar.resize(0);
  56.                                 }
  57.                                 else if (c == '#')
  58.                                 {
  59.                                         comment = true;
  60.                                 }
  61.                         }
  62.                 }
  63.         }
  64.         while (nRead != 0);
  65.  
  66.         if (!cvar.empty())
  67.         {
  68.                 if (ICVar* pV = gEnv->pConsole->GetCVar(cvar.c_str()))
  69.                 {
  70.                         cb->OnCVar(pV);
  71.                         //CryLog( "Unprotecting '%s'",cvar.c_str());
  72.                 }
  73.         }
  74.  
  75.         gEnv->pCryPak->FClose(f);
  76. }
  77.  
downloadCVarListProcessor.cpp Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top