diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2010-07-05 20:46:32 +0200 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2010-07-05 20:46:32 +0200 |
| commit | d302ba921e61177da9af1f85df58fe6f47ca5e95 (patch) | |
| tree | 4ac19b9caab0a7142b6dfbc05d234af152bd5407 /src/engine/shared | |
| parent | 143af11a25bc4a944c3605b9a165ffd2f1970641 (diff) | |
| parent | bd02c2043e9f76ec47ee9ac35caf23ae294b1dfa (diff) | |
| download | zcatch-d302ba921e61177da9af1f85df58fe6f47ca5e95.tar.gz zcatch-d302ba921e61177da9af1f85df58fe6f47ca5e95.zip | |
Merge branch 'master' of github.com:matricks/teeworlds
Diffstat (limited to 'src/engine/shared')
| -rw-r--r-- | src/engine/shared/console.cpp | 25 | ||||
| -rw-r--r-- | src/engine/shared/console.h | 7 | ||||
| -rw-r--r-- | src/engine/shared/demorec.cpp | 2 | ||||
| -rw-r--r-- | src/engine/shared/ringbuffer.cpp | 2 | ||||
| -rw-r--r-- | src/engine/shared/storage.cpp | 3 |
5 files changed, 23 insertions, 16 deletions
diff --git a/src/engine/shared/console.cpp b/src/engine/shared/console.cpp index eacf9b78..b7850bea 100644 --- a/src/engine/shared/console.cpp +++ b/src/engine/shared/console.cpp @@ -210,7 +210,7 @@ void CConsole::ExecuteLineStroked(int Stroke, const char *pStr) if(ParseStart(&Result, pStr, (pEnd-pStr) + 1) != 0) return; - CCommand *pCommand = FindCommand(Result.m_pCommand); + CCommand *pCommand = FindCommand(Result.m_pCommand, m_FlagMask); if(pCommand) { @@ -234,7 +234,7 @@ void CConsole::ExecuteLineStroked(int Stroke, const char *pStr) pCommand->m_pfnCallback(&Result, pCommand->m_pUserData); } } - else + else if(Stroke) { char aBuf[256]; str_format(aBuf, sizeof(aBuf), "No such command: %s.", Result.m_pCommand); @@ -258,14 +258,16 @@ void CConsole::PossibleCommands(const char *pStr, int FlagMask, FPossibleCallbac } } -// TODO: this should regard the commands flag -CConsole::CCommand *CConsole::FindCommand(const char *pName) +CConsole::CCommand *CConsole::FindCommand(const char *pName, int FlagMask) { CCommand *pCommand; for (pCommand = m_pFirstCommand; pCommand; pCommand = pCommand->m_pNext) { - if(str_comp_nocase(pCommand->m_pName, pName) == 0) - return pCommand; + if(pCommand->m_Flags&FlagMask) + { + if(str_comp_nocase(pCommand->m_pName, pName) == 0) + return pCommand; + } } return 0x0; @@ -385,8 +387,9 @@ static void StrVariableCommand(IConsole::IResult *pResult, void *pUserData) } } -CConsole::CConsole() +CConsole::CConsole(int FlagMask) { + m_FlagMask = FlagMask; m_pFirstCommand = 0; m_pFirstExec = 0; m_pPrintCallbackUserdata = 0; @@ -459,7 +462,7 @@ void CConsole::Con_Chain(IResult *pResult, void *pUserData) void CConsole::Chain(const char *pName, FChainCommandCallback pfnChainFunc, void *pUser) { - CCommand *pCommand = FindCommand(pName); + CCommand *pCommand = FindCommand(pName, m_FlagMask); if(!pCommand) { @@ -481,10 +484,10 @@ void CConsole::Chain(const char *pName, FChainCommandCallback pfnChainFunc, void } -IConsole::CCommandInfo *CConsole::GetCommandInfo(const char *pName) +IConsole::CCommandInfo *CConsole::GetCommandInfo(const char *pName, int FlagMask) { - return FindCommand(pName); + return FindCommand(pName, FlagMask); } -extern IConsole *CreateConsole() { return new CConsole(); } +extern IConsole *CreateConsole(int FlagMask) { return new CConsole(FlagMask); } diff --git a/src/engine/shared/console.h b/src/engine/shared/console.h index 93d23547..9064fa86 100644 --- a/src/engine/shared/console.h +++ b/src/engine/shared/console.h @@ -24,6 +24,7 @@ class CConsole : public IConsole void *m_pUserData; }; + int m_FlagMask; CCommand *m_pFirstCommand; class CExecFile @@ -74,12 +75,12 @@ class CConsole : public IConsole int ParseStart(CResult *pResult, const char *pString, int Length); int ParseArgs(CResult *pResult, const char *pFormat); - CCommand *FindCommand(const char *pName); + CCommand *FindCommand(const char *pName, int FlagMask); public: - CConsole(); + CConsole(int FlagMask); - virtual CCommandInfo *GetCommandInfo(const char *pName); + virtual CCommandInfo *GetCommandInfo(const char *pName, int FlagMask); virtual void PossibleCommands(const char *pStr, int FlagMask, FPossibleCallback pfnCallback, void *pUser) ; virtual void ParseArguments(int NumArgs, const char **ppArguments); diff --git a/src/engine/shared/demorec.cpp b/src/engine/shared/demorec.cpp index 48b06e9a..6c2ba07d 100644 --- a/src/engine/shared/demorec.cpp +++ b/src/engine/shared/demorec.cpp @@ -335,7 +335,7 @@ void CDemoPlayer::DoTick() static char aDecompressed[CSnapshot::MAX_SIZE]; static char aData[CSnapshot::MAX_SIZE]; int ChunkType, ChunkTick, ChunkSize; - int DataSize; + int DataSize = 0; int GotSnapshot = 0; // update ticks diff --git a/src/engine/shared/ringbuffer.cpp b/src/engine/shared/ringbuffer.cpp index 45a845ee..b84db5a3 100644 --- a/src/engine/shared/ringbuffer.cpp +++ b/src/engine/shared/ringbuffer.cpp @@ -98,7 +98,7 @@ void *CRingBufferBase::Allocate(int Size) // okey, we have our block // split the block if needed - if(pBlock->m_Size > WantedSize+sizeof(CItem)) + if(pBlock->m_Size > WantedSize+(int)sizeof(CItem)) { CItem *pNewItem = (CItem *)((char *)pBlock + WantedSize); pNewItem->m_pPrev = pBlock; diff --git a/src/engine/shared/storage.cpp b/src/engine/shared/storage.cpp index 491795ad..1d0e2f78 100644 --- a/src/engine/shared/storage.cpp +++ b/src/engine/shared/storage.cpp @@ -30,6 +30,9 @@ public: str_format(aPath, sizeof(aPath), "%s/maps", m_aApplicationSavePath); fs_makedir(aPath); + str_format(aPath, sizeof(aPath), "%s/dumps", m_aApplicationSavePath); + fs_makedir(aPath); + str_format(aPath, sizeof(aPath), "%s/downloadedmaps", m_aApplicationSavePath); fs_makedir(aPath); |