1.1 --- a/core/PhraseCollection.cpp Fri Jul 11 06:51:21 2008 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,131 +0,0 @@
1.4 -/**
1.5 - * vim: set ts=4 :
1.6 - * =============================================================================
1.7 - * SourceMod
1.8 - * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
1.9 - * =============================================================================
1.10 - *
1.11 - * This program is free software; you can redistribute it and/or modify it under
1.12 - * the terms of the GNU General Public License, version 3.0, as published by the
1.13 - * Free Software Foundation.
1.14 - *
1.15 - * This program is distributed in the hope that it will be useful, but WITHOUT
1.16 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1.17 - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
1.18 - * details.
1.19 - *
1.20 - * You should have received a copy of the GNU General Public License along with
1.21 - * this program. If not, see <http://www.gnu.org/licenses/>.
1.22 - *
1.23 - * As a special exception, AlliedModders LLC gives you permission to link the
1.24 - * code of this program (as well as its derivative works) to "Half-Life 2," the
1.25 - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
1.26 - * by the Valve Corporation. You must obey the GNU General Public License in
1.27 - * all respects for all other code used. Additionally, AlliedModders LLC grants
1.28 - * this exception to all derivative works. AlliedModders LLC defines further
1.29 - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
1.30 - * or <http://www.sourcemod.net/license.php>.
1.31 - *
1.32 - * Version: $Id$
1.33 - */
1.34 -
1.35 -#include "PhraseCollection.h"
1.36 -#include "Translator.h"
1.37 -#include "sm_stringutil.h"
1.38 -
1.39 -CPhraseCollection::CPhraseCollection()
1.40 -{
1.41 -}
1.42 -
1.43 -CPhraseCollection::~CPhraseCollection()
1.44 -{
1.45 -}
1.46 -
1.47 -void CPhraseCollection::Destroy()
1.48 -{
1.49 - delete this;
1.50 -}
1.51 -
1.52 -IPhraseFile *CPhraseCollection::AddPhraseFile(const char *filename)
1.53 -{
1.54 - size_t i;
1.55 - unsigned int fid;
1.56 - IPhraseFile *pFile;
1.57 - char full_name[PLATFORM_MAX_PATH];
1.58 -
1.59 - /* No compat shim here. The user should have read the doc. */
1.60 - UTIL_Format(full_name, sizeof(full_name), "%s.txt", filename);
1.61 -
1.62 - fid = g_Translator.FindOrAddPhraseFile(full_name);
1.63 - pFile = g_Translator.GetFileByIndex(fid);
1.64 -
1.65 - for (i = 0; i < m_Files.size(); i++)
1.66 - {
1.67 - if (m_Files[i] == pFile)
1.68 - {
1.69 - return pFile;
1.70 - }
1.71 - }
1.72 -
1.73 - m_Files.push_back(pFile);
1.74 -
1.75 - return pFile;
1.76 -}
1.77 -
1.78 -unsigned int CPhraseCollection::GetFileCount()
1.79 -{
1.80 - return (unsigned int)m_Files.size();
1.81 -}
1.82 -
1.83 -IPhraseFile *CPhraseCollection::GetFile(unsigned int file)
1.84 -{
1.85 - if (file >= m_Files.size())
1.86 - {
1.87 - return NULL;
1.88 - }
1.89 -
1.90 - return m_Files[file];
1.91 -}
1.92 -
1.93 -TransError CPhraseCollection::FindTranslation(const char *key, unsigned int langid, Translation *pTrans)
1.94 -{
1.95 - size_t i;
1.96 -
1.97 - for (i = 0; i < m_Files.size(); i++)
1.98 - {
1.99 - if (m_Files[i]->GetTranslation(key, langid, pTrans) == Trans_Okay)
1.100 - {
1.101 - return Trans_Okay;
1.102 - }
1.103 - }
1.104 -
1.105 - return Trans_BadPhrase;
1.106 -}
1.107 -
1.108 -bool CPhraseCollection::FormatString(char *buffer,
1.109 - size_t maxlength,
1.110 - const char *format,
1.111 - void **params,
1.112 - unsigned int numparams,
1.113 - size_t *pOutLength,
1.114 - const char **pFailPhrase)
1.115 -{
1.116 - unsigned int arg;
1.117 -
1.118 - arg = 0;
1.119 - if (!gnprintf(buffer, maxlength, format, this, params, numparams, arg, pOutLength, pFailPhrase))
1.120 - {
1.121 - return false;
1.122 - }
1.123 -
1.124 - if (arg != numparams)
1.125 - {
1.126 - if (pFailPhrase != NULL)
1.127 - {
1.128 - *pFailPhrase = NULL;
1.129 - }
1.130 - return false;
1.131 - }
1.132 -
1.133 - return true;
1.134 -}