Updated i18n test system
This was SVN commit r2549.
This commit is contained in:
parent
c6c8bdc6cd
commit
88724d5f95
@ -22,7 +22,7 @@ namespace I18n
|
||||
vartype_int,
|
||||
vartype_double,
|
||||
vartype_string,
|
||||
vartype_rawstring, // won't be translated automatically
|
||||
vartype_rawstring // won't be translated automatically
|
||||
};
|
||||
|
||||
class BufferVariable
|
||||
|
@ -1,536 +0,0 @@
|
||||
#include "precompiled.h"
|
||||
|
||||
#ifndef CStr_CPP_FIRST
|
||||
#define CStr_CPP_FIRST
|
||||
|
||||
//#include "Network/Serialization.h"
|
||||
#include "types.h"
|
||||
#include <cassert>
|
||||
|
||||
#define UNIDOUBLER_HEADER "CStr.cpp"
|
||||
#include "UniDoubler.h"
|
||||
|
||||
#else
|
||||
|
||||
#include "CStr.h"
|
||||
using namespace std;
|
||||
|
||||
#include <sstream>
|
||||
|
||||
CStr::CStr()
|
||||
{
|
||||
// Default Constructor
|
||||
}
|
||||
|
||||
CStr::CStr(const CStr& Str)
|
||||
{
|
||||
// Copy Constructor
|
||||
m_String = Str.m_String;
|
||||
}
|
||||
|
||||
CStr::CStr(const TCHAR* String)
|
||||
{
|
||||
// Creates CStr from C-Style TCHAR string
|
||||
m_String = String;
|
||||
}
|
||||
|
||||
CStr::CStr(tstring String)
|
||||
{
|
||||
m_String = String;
|
||||
}
|
||||
|
||||
#if !(defined(_MSC_VER) && defined(_UNICODE))
|
||||
CStr::CStr(utf16string String)
|
||||
{
|
||||
m_String = tstring(String.begin(), String.end());
|
||||
}
|
||||
#endif
|
||||
|
||||
CStr::CStr(TCHAR Char)
|
||||
{
|
||||
// Creates CStr from a TCHAR
|
||||
m_String = Char;
|
||||
}
|
||||
|
||||
CStr::CStr(int Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
}
|
||||
|
||||
CStr::CStr(unsigned int Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
}
|
||||
|
||||
|
||||
CStr::CStr(long Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
}
|
||||
|
||||
|
||||
CStr::CStr(unsigned long Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
}
|
||||
|
||||
|
||||
CStr::CStr(float Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
}
|
||||
|
||||
CStr::CStr(double Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
}
|
||||
|
||||
CStr::~CStr()
|
||||
{
|
||||
// Destructor
|
||||
}
|
||||
|
||||
|
||||
int CStr::ToInt() const
|
||||
{
|
||||
return _ttoi(m_String.c_str());
|
||||
}
|
||||
|
||||
unsigned int CStr::ToUInt() const
|
||||
{
|
||||
return uint(_ttoi(m_String.c_str()));
|
||||
}
|
||||
|
||||
long CStr::ToLong() const
|
||||
{
|
||||
return _ttol(m_String.c_str());
|
||||
}
|
||||
|
||||
unsigned long CStr::ToULong() const
|
||||
{
|
||||
return ulong(_ttol(m_String.c_str()));
|
||||
}
|
||||
|
||||
|
||||
float CStr::ToFloat() const
|
||||
{
|
||||
return (float)_tstod(m_String.c_str(), NULL);
|
||||
}
|
||||
|
||||
double CStr::ToDouble() const
|
||||
{
|
||||
return _tstod(m_String.c_str(), NULL);
|
||||
}
|
||||
|
||||
//You can retrieve the substring within the string
|
||||
CStr CStr::GetSubstring(size_t start, size_t len) const
|
||||
{
|
||||
return CStr( m_String.substr(start, len) );
|
||||
}
|
||||
|
||||
|
||||
//Search the string for another string
|
||||
long CStr::Find(const CStr& Str) const
|
||||
{
|
||||
size_t Pos = m_String.find(Str.m_String, 0);
|
||||
|
||||
if (Pos != tstring::npos)
|
||||
return (long)Pos;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
//Search the string for another string
|
||||
long CStr::Find(const TCHAR &tchar) const
|
||||
{
|
||||
size_t Pos = m_String.find(tchar, 0);
|
||||
|
||||
if (Pos != tstring::npos)
|
||||
return (long)Pos;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
//Search the string for another string
|
||||
long CStr::Find(const int &start, const TCHAR &tchar) const
|
||||
{
|
||||
size_t Pos = m_String.find(tchar, start);
|
||||
|
||||
if (Pos != tstring::npos)
|
||||
return (long)Pos;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
long CStr::ReverseFind(const CStr& Str) const
|
||||
{
|
||||
size_t Pos = m_String.rfind(Str.m_String, m_String.length() );
|
||||
|
||||
if (Pos != tstring::npos)
|
||||
return (long)Pos;
|
||||
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
// Lowercase and uppercase
|
||||
CStr CStr::LowerCase() const
|
||||
{
|
||||
tstring NewTString = m_String;
|
||||
for (size_t i = 0; i < m_String.length(); i++)
|
||||
NewTString[i] = (TCHAR)_totlower(m_String[i]);
|
||||
|
||||
return CStr(NewTString);
|
||||
}
|
||||
|
||||
CStr CStr::UpperCase() const
|
||||
{
|
||||
tstring NewTString = m_String;
|
||||
for (size_t i = 0; i < m_String.length(); i++)
|
||||
NewTString[i] = (TCHAR)_totupper(m_String[i]);
|
||||
|
||||
return CStr(NewTString);
|
||||
}
|
||||
|
||||
// Lazy versions
|
||||
// code duplication because return by value overhead if they were merely an allias
|
||||
CStr CStr::LCase() const
|
||||
{
|
||||
tstring NewTString = m_String;
|
||||
for (size_t i = 0; i < m_String.length(); i++)
|
||||
NewTString[i] = (TCHAR)_totlower(m_String[i]);
|
||||
|
||||
return CStr(NewTString);
|
||||
}
|
||||
|
||||
CStr CStr::UCase() const
|
||||
{
|
||||
tstring NewTString = m_String;
|
||||
for (size_t i = 0; i < m_String.length(); i++)
|
||||
NewTString[i] = (TCHAR)_totupper(m_String[i]);
|
||||
|
||||
return CStr(NewTString);
|
||||
}
|
||||
|
||||
//Retreive the substring of the first n characters
|
||||
CStr CStr::Left(long len) const
|
||||
{
|
||||
return CStr( m_String.substr(0, len) );
|
||||
}
|
||||
|
||||
//Retreive the substring of the last n characters
|
||||
CStr CStr::Right(long len) const
|
||||
{
|
||||
return CStr( m_String.substr(m_String.length()-len, len) );
|
||||
}
|
||||
|
||||
//Remove all occurences of some character or substring
|
||||
void CStr::Remove(const CStr& Str)
|
||||
{
|
||||
size_t FoundAt = 0;
|
||||
while (FoundAt != tstring::npos)
|
||||
{
|
||||
FoundAt = m_String.find(Str.m_String, 0);
|
||||
|
||||
if (FoundAt != tstring::npos)
|
||||
m_String.erase(FoundAt, Str.m_String.length());
|
||||
}
|
||||
}
|
||||
|
||||
//Replace all occurences of some substring by another
|
||||
void CStr::Replace(const CStr& ToReplace, const CStr& ReplaceWith)
|
||||
{
|
||||
size_t Pos = 0;
|
||||
|
||||
while (Pos != tstring::npos)
|
||||
{
|
||||
Pos = m_String.find(ToReplace.m_String, Pos);
|
||||
if (Pos != tstring::npos)
|
||||
{
|
||||
m_String.erase(Pos, ToReplace.m_String.length());
|
||||
m_String.insert(Pos, ReplaceWith.m_String);
|
||||
Pos += ReplaceWith.m_String.length();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// returns a trimed string, removes whitespace from the left/right/both
|
||||
CStr CStr::Trim(PS_TRIM_MODE Mode)
|
||||
{
|
||||
size_t Left = 0, Right = 0;
|
||||
|
||||
|
||||
switch (Mode)
|
||||
{
|
||||
case PS_TRIM_LEFT:
|
||||
{
|
||||
for (Left = 0; Left < m_String.length(); Left++)
|
||||
if (_istspace(m_String[Left]) == false)
|
||||
break; // end found, trim 0 to Left-1 inclusive
|
||||
} break;
|
||||
|
||||
case PS_TRIM_RIGHT:
|
||||
{
|
||||
Right = m_String.length();
|
||||
while (Right--)
|
||||
if (_istspace(m_String[Right]) == false)
|
||||
break; // end found, trim len-1 to Right+1 inclusive
|
||||
} break;
|
||||
|
||||
case PS_TRIM_BOTH:
|
||||
{
|
||||
for (Left = 0; Left < m_String.length(); Left++)
|
||||
if (_istspace(m_String[Left]) == false)
|
||||
break; // end found, trim 0 to Left-1 inclusive
|
||||
|
||||
Right = m_String.length();
|
||||
while (Right--)
|
||||
if (_istspace(m_String[Right]) == false)
|
||||
break; // end found, trim len-1 to Right+1 inclusive
|
||||
} break;
|
||||
|
||||
default:
|
||||
debug_warn("CStr::Trim: invalid Mode");
|
||||
}
|
||||
|
||||
|
||||
return CStr( m_String.substr(Left, Right-Left+1) );
|
||||
}
|
||||
|
||||
// Overload operations
|
||||
CStr& CStr::operator=(const CStr& Str)
|
||||
{
|
||||
m_String = Str.m_String;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(const TCHAR* String)
|
||||
{
|
||||
m_String = String;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(TCHAR Char)
|
||||
{
|
||||
m_String = Char;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(int Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(long Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(unsigned int Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(unsigned long Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
CStr& CStr::operator=(float Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr& CStr::operator=(double Number)
|
||||
{
|
||||
std::tstringstream ss;
|
||||
ss << Number;
|
||||
ss >> m_String;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool CStr::operator==(const CStr& Str) const
|
||||
{
|
||||
return (m_String == Str.m_String);
|
||||
}
|
||||
|
||||
bool CStr::operator!=(const CStr& Str) const
|
||||
{
|
||||
return (m_String != Str.m_String);
|
||||
}
|
||||
|
||||
bool CStr::operator<(const CStr& Str) const
|
||||
{
|
||||
return (m_String < Str.m_String);
|
||||
}
|
||||
|
||||
bool CStr::operator<=(const CStr& Str) const
|
||||
{
|
||||
return (m_String <= Str.m_String);
|
||||
}
|
||||
|
||||
bool CStr::operator>(const CStr& Str) const
|
||||
{
|
||||
return (m_String > Str.m_String);
|
||||
}
|
||||
|
||||
bool CStr::operator>=(const CStr& Str) const
|
||||
{
|
||||
return (m_String >= Str.m_String);
|
||||
}
|
||||
|
||||
CStr& CStr::operator+=(const CStr& Str)
|
||||
{
|
||||
m_String += Str.m_String;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CStr CStr::operator+(const CStr& Str)
|
||||
{
|
||||
CStr NewStr(*this);
|
||||
NewStr.m_String += Str.m_String;
|
||||
return NewStr;
|
||||
}
|
||||
|
||||
CStr::operator const TCHAR*()
|
||||
{
|
||||
return m_String.c_str();
|
||||
}
|
||||
|
||||
CStr::operator const TCHAR*() const
|
||||
{
|
||||
return m_String.c_str();
|
||||
}
|
||||
|
||||
|
||||
TCHAR &CStr::operator[](int n)
|
||||
{
|
||||
assert((size_t)n < m_String.length());
|
||||
return m_String[n];
|
||||
}
|
||||
|
||||
TCHAR &CStr::operator[](unsigned int n)
|
||||
{
|
||||
assert(n < m_String.length());
|
||||
return m_String[n];
|
||||
}
|
||||
TCHAR &CStr::operator[](long n)
|
||||
{
|
||||
assert((size_t)n < m_String.length());
|
||||
return m_String[n];
|
||||
}
|
||||
|
||||
TCHAR &CStr::operator[](unsigned long n)
|
||||
{
|
||||
assert(n < m_String.length());
|
||||
return m_String[n];
|
||||
}
|
||||
|
||||
ostream &operator<<(ostream &os, CStr& Str)
|
||||
{
|
||||
os << (const TCHAR*)Str;
|
||||
return os;
|
||||
}
|
||||
|
||||
//size_t CStr::GetHashCode() const
|
||||
//{
|
||||
// return (size_t)fnv_hash64(m_String.data(), m_String.length());
|
||||
// // janwas asks: do we care about the hash being 64 bits?
|
||||
// // it is truncated here on 32-bit systems; why go 64 bit at all?
|
||||
//}
|
||||
//
|
||||
//uint CStr::GetSerializedLength() const
|
||||
//{
|
||||
// return uint(m_String.length()*2 + 2);
|
||||
//}
|
||||
//
|
||||
//#ifdef _UNICODE
|
||||
///*
|
||||
// CStrW is always serialized to/from UTF-16
|
||||
//*/
|
||||
//
|
||||
//u8 *CStrW::Serialize(u8 *buffer) const
|
||||
//{
|
||||
// size_t length=m_String.length();
|
||||
// size_t i=0;
|
||||
// for (i=0;i<length;i++)
|
||||
// *(u16 *)(buffer+i*2)=htons(m_String[i]);
|
||||
// *(u16 *)(buffer+i*2)=0;
|
||||
// return buffer+length*2+2;
|
||||
//}
|
||||
//
|
||||
//const u8 *CStrW::Deserialize(const u8 *buffer, const u8 *bufferend)
|
||||
//{
|
||||
// const u16 *strend=(const u16 *)buffer;
|
||||
// while ((const u8 *)strend < bufferend && *strend) strend++;
|
||||
// if ((const u8 *)strend >= bufferend) return NULL;
|
||||
//
|
||||
// m_String.resize(strend-((const u16 *)buffer));
|
||||
// size_t i=0;
|
||||
// const u16 *ptr=(const u16 *)buffer;
|
||||
// while (ptr<strend)
|
||||
// m_String[i++]=(TCHAR)ntohs(*(ptr++));
|
||||
//
|
||||
// return (const u8 *)(strend+1);
|
||||
//}
|
||||
//#else
|
||||
///*
|
||||
// CStr8 is always serialized to/from ASCII (or whatever 8-bit codepage stored
|
||||
// in the CStr)
|
||||
//*/
|
||||
//
|
||||
//u8 *CStr8::Serialize(u8 *buffer) const
|
||||
//{
|
||||
// size_t length=m_String.length();
|
||||
// size_t i=0;
|
||||
// for (i=0;i<length;i++)
|
||||
// buffer[i]=m_String[i];
|
||||
// buffer[i]=0;
|
||||
// return buffer+length+1;
|
||||
//}
|
||||
//
|
||||
//const u8 *CStr8::Deserialize(const u8 *buffer, const u8 *bufferend)
|
||||
//{
|
||||
// const u8 *strend=buffer;
|
||||
// while (strend < bufferend && *strend) strend++;
|
||||
// if (strend >= bufferend) return NULL;
|
||||
//
|
||||
// m_String=std::string(buffer, strend);
|
||||
//
|
||||
// return strend+1;
|
||||
//}
|
||||
//#endif
|
||||
|
||||
#endif
|
@ -1,249 +1,6 @@
|
||||
// Hacked version to minimise dependencies
|
||||
|
||||
/*
|
||||
CStr.h
|
||||
by Caecus
|
||||
Caecus@0ad.wildfiregames.com
|
||||
|
||||
Overview:
|
||||
|
||||
Contains CStr class which is a versatile class for making string use easy.
|
||||
Basic functionality implemented via STL string, so performance is limited
|
||||
based on the STL implementation we use.
|
||||
|
||||
Example:
|
||||
|
||||
CStr MyString = _T("Hello, World.");
|
||||
int MyNum = 126;
|
||||
MyString += _T(" I'm the number ") += CStr(MyNumber);
|
||||
|
||||
// Prints "Hello, World. I'm the number 126"
|
||||
|
||||
_tcout << (LPCTSTR)MyString << endl;
|
||||
|
||||
MyString = _("2341");
|
||||
MyNum = MyString.ToInt();
|
||||
|
||||
// Prints "2341"
|
||||
_tcout << MyNum << endl;
|
||||
|
||||
More Info:
|
||||
http://wildfiregames.com/0ad/codepit/TDD/CStr.html
|
||||
|
||||
*/
|
||||
|
||||
// history:
|
||||
// 19 May 04, Mark Thompson (mot20@cam.ac.uk / mark@wildfiregames.com)
|
||||
// 2004-06-18 janwas: replaced conversion buffer with stringstream
|
||||
|
||||
#ifndef CSTR_H_FIRST
|
||||
#define CSTR_H_FIRST
|
||||
|
||||
enum PS_TRIM_MODE {PS_TRIM_LEFT, PS_TRIM_RIGHT, PS_TRIM_BOTH};
|
||||
|
||||
#ifndef IN_UNIDOUBLER
|
||||
#define UNIDOUBLER_HEADER "CStr.h"
|
||||
#include "UniDoubler.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined(CSTR_H) || defined(IN_UNIDOUBLER)
|
||||
#define CSTR_H
|
||||
|
||||
//#include "Prometheus.h"
|
||||
#include <string> // Used for basic string functionality
|
||||
#include <iostream>
|
||||
#include "utf16string.h"
|
||||
|
||||
//#include "Network/Serialization.h"
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
#ifdef _UNICODE
|
||||
|
||||
#define tstring wstring
|
||||
#define tstringstream wstringstream
|
||||
#define _tcout wcout
|
||||
#define _tstod wcstod
|
||||
#define TCHAR wchar_t
|
||||
#define _ttoi(a) wcstol(a, NULL, 0)
|
||||
#define _ttol(a) wcstol(a, NULL, 0)
|
||||
#define _T(t) L ## t
|
||||
#define _istspace iswspace
|
||||
#define _tsnprintf swprintf
|
||||
#define _totlower towlower
|
||||
#define _totupper towupper
|
||||
|
||||
#else
|
||||
|
||||
#define tstringstream stringstream
|
||||
#define tstring string
|
||||
#define _tcout cout
|
||||
#define _tstod strtod
|
||||
#define _ttoi atoi
|
||||
#define _ttol atol
|
||||
#define TCHAR char
|
||||
#define _T(t) t
|
||||
#define _istspace isspace
|
||||
#define _tsnprintf snprintf
|
||||
#define _totlower tolower
|
||||
#define _totupper toupper
|
||||
|
||||
#endif
|
||||
|
||||
// CStr class, the mother of all strings
|
||||
class CStr//: public ISerializable
|
||||
{
|
||||
#ifdef _UNICODE
|
||||
friend class CStr8;
|
||||
#endif
|
||||
public:
|
||||
|
||||
// CONSTRUCTORS
|
||||
CStr(); // Default constructor
|
||||
CStr(const CStr& Str); // Copy Constructor
|
||||
|
||||
// Transparent CStrW/8 conversion. Note that CStr8 will provide both
|
||||
// definitions since CStrW is defined first - would otherwise result in a
|
||||
// circular dependency
|
||||
#ifndef _UNICODE
|
||||
inline CStr8(const CStrW &wideStr):
|
||||
m_String(wideStr.m_String.begin(), wideStr.m_String.end())
|
||||
{}
|
||||
|
||||
inline operator CStrW ()
|
||||
{
|
||||
return CStrW(std::wstring(m_String.begin(), m_String.end()));
|
||||
}
|
||||
#endif
|
||||
|
||||
CStr(std::tstring String); // Creates CStr from C++ string
|
||||
#if !(defined(_MSC_VER) && defined(_UNICODE))
|
||||
CStr(utf16string String); // Creates CStr from UTF16 string, potentially losing data in UTF16->ASCII conversions
|
||||
#endif
|
||||
CStr(const TCHAR* String); // Creates CStr from C-Style TCHAR string
|
||||
CStr(TCHAR Char); // Creates CStr from a TCHAR
|
||||
CStr(int Number); // Creates CStr from a int
|
||||
CStr(unsigned int Number); // Creates CStr from a uint
|
||||
CStr(long Number); // Creates CStr from a long
|
||||
CStr(unsigned long Number); // Creates CStr from a ulong
|
||||
CStr(float Number); // Creates CStr from a float
|
||||
CStr(double Number); // Creates CStr from a double
|
||||
~CStr(); // Destructor
|
||||
|
||||
// Conversions
|
||||
int ToInt() const;
|
||||
unsigned int ToUInt() const;
|
||||
long ToLong() const;
|
||||
unsigned long ToULong() const;
|
||||
float ToFloat() const;
|
||||
double ToDouble() const;
|
||||
|
||||
size_t Length() const {return m_String.length();}
|
||||
// Retrieves the substring within the string
|
||||
CStr GetSubstring(size_t start, size_t len) const;
|
||||
|
||||
//Search the string for another string
|
||||
long Find(const CStr& Str) const;
|
||||
|
||||
//Search the string for another string
|
||||
long Find(const TCHAR &tchar) const;
|
||||
|
||||
//Search the string for another string
|
||||
long Find(const int &start, const TCHAR &tchar) const;
|
||||
|
||||
//You can also do a "ReverseFind"- i.e. search starting from the end
|
||||
long ReverseFind(const CStr& Str) const;
|
||||
|
||||
// Lowercase and uppercase
|
||||
CStr LowerCase() const;
|
||||
CStr UpperCase() const;
|
||||
|
||||
// Lazy funcs
|
||||
CStr LCase() const;
|
||||
CStr UCase() const;
|
||||
|
||||
// Retreive the substring of the first n characters
|
||||
CStr Left(long len) const;
|
||||
|
||||
// Retreive the substring of the last n characters
|
||||
CStr Right(long len) const;
|
||||
|
||||
//Remove all occurences of some character or substring
|
||||
void Remove(const CStr& Str);
|
||||
|
||||
//Replace all occurences of some substring by another
|
||||
void Replace(const CStr& StrToReplace, const CStr& ReplaceWith);
|
||||
|
||||
// Returns a trimed string, removes whitespace from the left/right/both
|
||||
CStr Trim(PS_TRIM_MODE Mode);
|
||||
|
||||
// Overload operations
|
||||
CStr& operator=(const CStr& Str);
|
||||
CStr& operator=(const TCHAR* String);
|
||||
CStr& operator=(TCHAR Char);
|
||||
CStr& operator=(int Number);
|
||||
CStr& operator=(long Number);
|
||||
CStr& operator=(unsigned int Number);
|
||||
CStr& operator=(unsigned long Number);
|
||||
CStr& operator=(float Number);
|
||||
CStr& operator=(double Number);
|
||||
|
||||
bool operator==(const CStr& Str) const;
|
||||
bool operator!=(const CStr& Str) const;
|
||||
bool operator<(const CStr& Str) const;
|
||||
bool operator<=(const CStr& Str) const;
|
||||
bool operator>(const CStr& Str) const;
|
||||
bool operator>=(const CStr& Str) const;
|
||||
CStr& operator+=(const CStr& Str);
|
||||
CStr operator+(const CStr& Str);
|
||||
operator const TCHAR*();
|
||||
operator const TCHAR*() const; // Gee, I've added this, Maybe the one above should be removed?
|
||||
TCHAR &operator[](int n);
|
||||
TCHAR &operator[](unsigned int n);
|
||||
TCHAR &operator[](long n);
|
||||
TCHAR &operator[](unsigned long n);
|
||||
|
||||
inline const TCHAR *c_str() const
|
||||
{ return m_String.c_str(); }
|
||||
|
||||
inline utf16string utf16() const
|
||||
{ return utf16string(m_String.begin(), m_String.end()); }
|
||||
|
||||
size_t GetHashCode() const;
|
||||
|
||||
// Serialization functions
|
||||
// virtual uint GetSerializedLength() const;
|
||||
// virtual u8 *Serialize(u8 *buffer) const;
|
||||
// virtual const u8 *Deserialize(const u8 *buffer, const u8 *bufferend);
|
||||
|
||||
protected:
|
||||
std::tstring m_String;
|
||||
};
|
||||
|
||||
class CStr_hash_compare
|
||||
class CStr : public std::string {};
|
||||
class CStrW : public std::wstring
|
||||
{
|
||||
public:
|
||||
static const size_t bucket_size = 1;
|
||||
static const size_t min_buckets = 16;
|
||||
size_t operator()( const CStr& Key ) const
|
||||
{
|
||||
return( Key.GetHashCode() );
|
||||
}
|
||||
bool operator()( const CStr& _Key1, const CStr& _Key2 ) const
|
||||
{
|
||||
return( _Key1 < _Key2 );
|
||||
}
|
||||
CStrW(const std::wstring &s) : std::wstring(s) {}
|
||||
};
|
||||
|
||||
// overloaded operator for ostreams
|
||||
std::ostream &operator<<(std::ostream &os, CStr& Str);
|
||||
|
||||
#endif
|
||||
|
||||
// Hacks to make VAssist happy:
|
||||
#ifdef PLEASE_DO_NOT_EVER_DEFINE_THIS
|
||||
class CStrW : public CStr;
|
||||
class CStr8 : public CStr;
|
||||
#endif
|
||||
|
@ -1,265 +0,0 @@
|
||||
// Auto-generated by errorlist.pl - do not edit.
|
||||
|
||||
#include "precompiled.h"
|
||||
|
||||
#include "Errors.h"
|
||||
|
||||
class PSERROR_CVFSFile : public PSERROR {};
|
||||
class PSERROR_Error : public PSERROR {};
|
||||
class PSERROR_GUI : public PSERROR {};
|
||||
class PSERROR_Game : public PSERROR {};
|
||||
class PSERROR_I18n : public PSERROR {};
|
||||
class PSERROR_Renderer : public PSERROR {};
|
||||
class PSERROR_Scripting : public PSERROR {};
|
||||
class PSERROR_System : public PSERROR {};
|
||||
class PSERROR_Xeromyces : public PSERROR {};
|
||||
|
||||
class PSERROR_Game_World : public PSERROR_Game {};
|
||||
class PSERROR_I18n_Script : public PSERROR_I18n {};
|
||||
class PSERROR_Scripting_DefineType : public PSERROR_Scripting {};
|
||||
class PSERROR_Scripting_LoadFile : public PSERROR_Scripting {};
|
||||
|
||||
class PSERROR_CVFSFile_AlreadyLoaded : public PSERROR_CVFSFile { public: PSERROR_CVFSFile_AlreadyLoaded(); };
|
||||
class PSERROR_CVFSFile_InvalidBufferAccess : public PSERROR_CVFSFile { public: PSERROR_CVFSFile_InvalidBufferAccess(); };
|
||||
class PSERROR_CVFSFile_LoadFailed : public PSERROR_CVFSFile { public: PSERROR_CVFSFile_LoadFailed(); };
|
||||
class PSERROR_Error_InvalidError : public PSERROR_Error { public: PSERROR_Error_InvalidError(); };
|
||||
class PSERROR_GUI_JSOpenFailed : public PSERROR_GUI { public: PSERROR_GUI_JSOpenFailed(); };
|
||||
class PSERROR_Game_World_MapLoadFailed : public PSERROR_Game_World { public: PSERROR_Game_World_MapLoadFailed(); };
|
||||
class PSERROR_I18n_Script_SetupFailed : public PSERROR_I18n_Script { public: PSERROR_I18n_Script_SetupFailed(); };
|
||||
class PSERROR_Renderer_VBOFailed : public PSERROR_Renderer { public: PSERROR_Renderer_VBOFailed(); };
|
||||
class PSERROR_Scripting_CallFunctionFailed : public PSERROR_Scripting { public: PSERROR_Scripting_CallFunctionFailed(); };
|
||||
class PSERROR_Scripting_ContextCreationFailed : public PSERROR_Scripting { public: PSERROR_Scripting_ContextCreationFailed(); };
|
||||
class PSERROR_Scripting_ConversionFailed : public PSERROR_Scripting { public: PSERROR_Scripting_ConversionFailed(); };
|
||||
class PSERROR_Scripting_CreateObjectFailed : public PSERROR_Scripting { public: PSERROR_Scripting_CreateObjectFailed(); };
|
||||
class PSERROR_Scripting_DefineConstantFailed : public PSERROR_Scripting { public: PSERROR_Scripting_DefineConstantFailed(); };
|
||||
class PSERROR_Scripting_DefineType_AlreadyExists : public PSERROR_Scripting_DefineType { public: PSERROR_Scripting_DefineType_AlreadyExists(); };
|
||||
class PSERROR_Scripting_DefineType_CreationFailed : public PSERROR_Scripting_DefineType { public: PSERROR_Scripting_DefineType_CreationFailed(); };
|
||||
class PSERROR_Scripting_GlobalObjectCreationFailed : public PSERROR_Scripting { public: PSERROR_Scripting_GlobalObjectCreationFailed(); };
|
||||
class PSERROR_Scripting_LoadFile_EvalErrors : public PSERROR_Scripting_LoadFile { public: PSERROR_Scripting_LoadFile_EvalErrors(); };
|
||||
class PSERROR_Scripting_LoadFile_OpenFailed : public PSERROR_Scripting_LoadFile { public: PSERROR_Scripting_LoadFile_OpenFailed(); };
|
||||
class PSERROR_Scripting_NativeFunctionSetupFailed : public PSERROR_Scripting { public: PSERROR_Scripting_NativeFunctionSetupFailed(); };
|
||||
class PSERROR_Scripting_RegisterFunctionFailed : public PSERROR_Scripting { public: PSERROR_Scripting_RegisterFunctionFailed(); };
|
||||
class PSERROR_Scripting_RuntimeCreationFailed : public PSERROR_Scripting { public: PSERROR_Scripting_RuntimeCreationFailed(); };
|
||||
class PSERROR_Scripting_StandardClassSetupFailed : public PSERROR_Scripting { public: PSERROR_Scripting_StandardClassSetupFailed(); };
|
||||
class PSERROR_Scripting_TypeDoesNotExist : public PSERROR_Scripting { public: PSERROR_Scripting_TypeDoesNotExist(); };
|
||||
class PSERROR_System_RequiredExtensionsMissing : public PSERROR_System { public: PSERROR_System_RequiredExtensionsMissing(); };
|
||||
class PSERROR_System_SDLInitFailed : public PSERROR_System { public: PSERROR_System_SDLInitFailed(); };
|
||||
class PSERROR_System_VmodeFailed : public PSERROR_System { public: PSERROR_System_VmodeFailed(); };
|
||||
class PSERROR_Xeromyces_XMLOpenFailed : public PSERROR_Xeromyces { public: PSERROR_Xeromyces_XMLOpenFailed(); };
|
||||
class PSERROR_Xeromyces_XMLParseError : public PSERROR_Xeromyces { public: PSERROR_Xeromyces_XMLParseError(); };
|
||||
|
||||
extern const PSRETURN PSRETURN_CVFSFile_AlreadyLoaded = 0x01000001;
|
||||
extern const PSRETURN PSRETURN_CVFSFile_InvalidBufferAccess = 0x01000002;
|
||||
extern const PSRETURN PSRETURN_CVFSFile_LoadFailed = 0x01000003;
|
||||
extern const PSRETURN PSRETURN_Error_InvalidError = 0x02000001;
|
||||
extern const PSRETURN PSRETURN_GUI_JSOpenFailed = 0x03000001;
|
||||
extern const PSRETURN PSRETURN_Game_World_MapLoadFailed = 0x04040001;
|
||||
extern const PSRETURN PSRETURN_I18n_Script_SetupFailed = 0x05030001;
|
||||
extern const PSRETURN PSRETURN_Renderer_VBOFailed = 0x06000001;
|
||||
extern const PSRETURN PSRETURN_Scripting_DefineType_AlreadyExists = 0x07010001;
|
||||
extern const PSRETURN PSRETURN_Scripting_DefineType_CreationFailed = 0x07010002;
|
||||
extern const PSRETURN PSRETURN_Scripting_LoadFile_EvalErrors = 0x07020001;
|
||||
extern const PSRETURN PSRETURN_Scripting_LoadFile_OpenFailed = 0x07020002;
|
||||
extern const PSRETURN PSRETURN_Scripting_CallFunctionFailed = 0x07000001;
|
||||
extern const PSRETURN PSRETURN_Scripting_ContextCreationFailed = 0x07000002;
|
||||
extern const PSRETURN PSRETURN_Scripting_ConversionFailed = 0x07000003;
|
||||
extern const PSRETURN PSRETURN_Scripting_CreateObjectFailed = 0x07000004;
|
||||
extern const PSRETURN PSRETURN_Scripting_DefineConstantFailed = 0x07000005;
|
||||
extern const PSRETURN PSRETURN_Scripting_GlobalObjectCreationFailed = 0x07000006;
|
||||
extern const PSRETURN PSRETURN_Scripting_NativeFunctionSetupFailed = 0x07000007;
|
||||
extern const PSRETURN PSRETURN_Scripting_RegisterFunctionFailed = 0x07000008;
|
||||
extern const PSRETURN PSRETURN_Scripting_RuntimeCreationFailed = 0x07000009;
|
||||
extern const PSRETURN PSRETURN_Scripting_StandardClassSetupFailed = 0x0700000a;
|
||||
extern const PSRETURN PSRETURN_Scripting_TypeDoesNotExist = 0x0700000b;
|
||||
extern const PSRETURN PSRETURN_System_RequiredExtensionsMissing = 0x08000001;
|
||||
extern const PSRETURN PSRETURN_System_SDLInitFailed = 0x08000002;
|
||||
extern const PSRETURN PSRETURN_System_VmodeFailed = 0x08000003;
|
||||
extern const PSRETURN PSRETURN_Xeromyces_XMLOpenFailed = 0x09000001;
|
||||
extern const PSRETURN PSRETURN_Xeromyces_XMLParseError = 0x09000002;
|
||||
|
||||
extern const PSRETURN MASK__PSRETURN_CVFSFile = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_CVFSFile = 0x01000000;
|
||||
extern const PSRETURN MASK__PSRETURN_Error = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_Error = 0x02000000;
|
||||
extern const PSRETURN MASK__PSRETURN_GUI = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_GUI = 0x03000000;
|
||||
extern const PSRETURN MASK__PSRETURN_Game = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_Game = 0x04000000;
|
||||
extern const PSRETURN MASK__PSRETURN_I18n = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_I18n = 0x05000000;
|
||||
extern const PSRETURN MASK__PSRETURN_Renderer = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_Renderer = 0x06000000;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting = 0x07000000;
|
||||
extern const PSRETURN MASK__PSRETURN_System = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_System = 0x08000000;
|
||||
extern const PSRETURN MASK__PSRETURN_Xeromyces = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_Xeromyces = 0x09000000;
|
||||
extern const PSRETURN MASK__PSRETURN_Game_World = 0xffff0000;
|
||||
extern const PSRETURN CODE__PSRETURN_Game_World = 0x04040000;
|
||||
extern const PSRETURN MASK__PSRETURN_I18n_Script = 0xffff0000;
|
||||
extern const PSRETURN CODE__PSRETURN_I18n_Script = 0x05030000;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_DefineType = 0xffff0000;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_DefineType = 0x07010000;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_LoadFile = 0xffff0000;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_LoadFile = 0x07020000;
|
||||
|
||||
extern const PSRETURN MASK__PSRETURN_CVFSFile_AlreadyLoaded = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_CVFSFile_AlreadyLoaded = 0x01000001;
|
||||
extern const PSRETURN MASK__PSRETURN_CVFSFile_InvalidBufferAccess = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_CVFSFile_InvalidBufferAccess = 0x01000002;
|
||||
extern const PSRETURN MASK__PSRETURN_CVFSFile_LoadFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_CVFSFile_LoadFailed = 0x01000003;
|
||||
extern const PSRETURN MASK__PSRETURN_Error_InvalidError = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Error_InvalidError = 0x02000001;
|
||||
extern const PSRETURN MASK__PSRETURN_GUI_JSOpenFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_GUI_JSOpenFailed = 0x03000001;
|
||||
extern const PSRETURN MASK__PSRETURN_Game_World_MapLoadFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Game_World_MapLoadFailed = 0x04040001;
|
||||
extern const PSRETURN MASK__PSRETURN_I18n_Script_SetupFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_I18n_Script_SetupFailed = 0x05030001;
|
||||
extern const PSRETURN MASK__PSRETURN_Renderer_VBOFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Renderer_VBOFailed = 0x06000001;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_DefineType_AlreadyExists = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_DefineType_AlreadyExists = 0x07010001;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_DefineType_CreationFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_DefineType_CreationFailed = 0x07010002;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_LoadFile_EvalErrors = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_LoadFile_EvalErrors = 0x07020001;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_LoadFile_OpenFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_LoadFile_OpenFailed = 0x07020002;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_CallFunctionFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_CallFunctionFailed = 0x07000001;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_ContextCreationFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_ContextCreationFailed = 0x07000002;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_ConversionFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_ConversionFailed = 0x07000003;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_CreateObjectFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_CreateObjectFailed = 0x07000004;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_DefineConstantFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_DefineConstantFailed = 0x07000005;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_GlobalObjectCreationFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_GlobalObjectCreationFailed = 0x07000006;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_NativeFunctionSetupFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_NativeFunctionSetupFailed = 0x07000007;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_RegisterFunctionFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_RegisterFunctionFailed = 0x07000008;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_RuntimeCreationFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_RuntimeCreationFailed = 0x07000009;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_StandardClassSetupFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_StandardClassSetupFailed = 0x0700000a;
|
||||
extern const PSRETURN MASK__PSRETURN_Scripting_TypeDoesNotExist = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Scripting_TypeDoesNotExist = 0x0700000b;
|
||||
extern const PSRETURN MASK__PSRETURN_System_RequiredExtensionsMissing = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_System_RequiredExtensionsMissing = 0x08000001;
|
||||
extern const PSRETURN MASK__PSRETURN_System_SDLInitFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_System_SDLInitFailed = 0x08000002;
|
||||
extern const PSRETURN MASK__PSRETURN_System_VmodeFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_System_VmodeFailed = 0x08000003;
|
||||
extern const PSRETURN MASK__PSRETURN_Xeromyces_XMLOpenFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Xeromyces_XMLOpenFailed = 0x09000001;
|
||||
extern const PSRETURN MASK__PSRETURN_Xeromyces_XMLParseError = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Xeromyces_XMLParseError = 0x09000002;
|
||||
|
||||
PSERROR_CVFSFile_AlreadyLoaded::PSERROR_CVFSFile_AlreadyLoaded() { magic=0x45725221; code=0x01000001; }
|
||||
PSERROR_CVFSFile_InvalidBufferAccess::PSERROR_CVFSFile_InvalidBufferAccess() { magic=0x45725221; code=0x01000002; }
|
||||
PSERROR_CVFSFile_LoadFailed::PSERROR_CVFSFile_LoadFailed() { magic=0x45725221; code=0x01000003; }
|
||||
PSERROR_Error_InvalidError::PSERROR_Error_InvalidError() { magic=0x45725221; code=0x02000001; }
|
||||
PSERROR_GUI_JSOpenFailed::PSERROR_GUI_JSOpenFailed() { magic=0x45725221; code=0x03000001; }
|
||||
PSERROR_Game_World_MapLoadFailed::PSERROR_Game_World_MapLoadFailed() { magic=0x45725221; code=0x04040001; }
|
||||
PSERROR_I18n_Script_SetupFailed::PSERROR_I18n_Script_SetupFailed() { magic=0x45725221; code=0x05030001; }
|
||||
PSERROR_Renderer_VBOFailed::PSERROR_Renderer_VBOFailed() { magic=0x45725221; code=0x06000001; }
|
||||
PSERROR_Scripting_DefineType_AlreadyExists::PSERROR_Scripting_DefineType_AlreadyExists() { magic=0x45725221; code=0x07010001; }
|
||||
PSERROR_Scripting_DefineType_CreationFailed::PSERROR_Scripting_DefineType_CreationFailed() { magic=0x45725221; code=0x07010002; }
|
||||
PSERROR_Scripting_LoadFile_EvalErrors::PSERROR_Scripting_LoadFile_EvalErrors() { magic=0x45725221; code=0x07020001; }
|
||||
PSERROR_Scripting_LoadFile_OpenFailed::PSERROR_Scripting_LoadFile_OpenFailed() { magic=0x45725221; code=0x07020002; }
|
||||
PSERROR_Scripting_CallFunctionFailed::PSERROR_Scripting_CallFunctionFailed() { magic=0x45725221; code=0x07000001; }
|
||||
PSERROR_Scripting_ContextCreationFailed::PSERROR_Scripting_ContextCreationFailed() { magic=0x45725221; code=0x07000002; }
|
||||
PSERROR_Scripting_ConversionFailed::PSERROR_Scripting_ConversionFailed() { magic=0x45725221; code=0x07000003; }
|
||||
PSERROR_Scripting_CreateObjectFailed::PSERROR_Scripting_CreateObjectFailed() { magic=0x45725221; code=0x07000004; }
|
||||
PSERROR_Scripting_DefineConstantFailed::PSERROR_Scripting_DefineConstantFailed() { magic=0x45725221; code=0x07000005; }
|
||||
PSERROR_Scripting_GlobalObjectCreationFailed::PSERROR_Scripting_GlobalObjectCreationFailed() { magic=0x45725221; code=0x07000006; }
|
||||
PSERROR_Scripting_NativeFunctionSetupFailed::PSERROR_Scripting_NativeFunctionSetupFailed() { magic=0x45725221; code=0x07000007; }
|
||||
PSERROR_Scripting_RegisterFunctionFailed::PSERROR_Scripting_RegisterFunctionFailed() { magic=0x45725221; code=0x07000008; }
|
||||
PSERROR_Scripting_RuntimeCreationFailed::PSERROR_Scripting_RuntimeCreationFailed() { magic=0x45725221; code=0x07000009; }
|
||||
PSERROR_Scripting_StandardClassSetupFailed::PSERROR_Scripting_StandardClassSetupFailed() { magic=0x45725221; code=0x0700000a; }
|
||||
PSERROR_Scripting_TypeDoesNotExist::PSERROR_Scripting_TypeDoesNotExist() { magic=0x45725221; code=0x0700000b; }
|
||||
PSERROR_System_RequiredExtensionsMissing::PSERROR_System_RequiredExtensionsMissing() { magic=0x45725221; code=0x08000001; }
|
||||
PSERROR_System_SDLInitFailed::PSERROR_System_SDLInitFailed() { magic=0x45725221; code=0x08000002; }
|
||||
PSERROR_System_VmodeFailed::PSERROR_System_VmodeFailed() { magic=0x45725221; code=0x08000003; }
|
||||
PSERROR_Xeromyces_XMLOpenFailed::PSERROR_Xeromyces_XMLOpenFailed() { magic=0x45725221; code=0x09000001; }
|
||||
PSERROR_Xeromyces_XMLParseError::PSERROR_Xeromyces_XMLParseError() { magic=0x45725221; code=0x09000002; }
|
||||
|
||||
const wchar_t* GetErrorString(PSRETURN code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
case 0x01000001: return L"CVFSFile_AlreadyLoaded";
|
||||
case 0x01000002: return L"CVFSFile_InvalidBufferAccess";
|
||||
case 0x01000003: return L"CVFSFile_LoadFailed";
|
||||
case 0x02000001: return L"Error_InvalidError";
|
||||
case 0x03000001: return L"GUI_JSOpenFailed";
|
||||
case 0x04040001: return L"Game_World_MapLoadFailed";
|
||||
case 0x05030001: return L"I18n_Script_SetupFailed";
|
||||
case 0x06000001: return L"Renderer_VBOFailed";
|
||||
case 0x07010001: return L"Scripting_DefineType_AlreadyExists";
|
||||
case 0x07010002: return L"Scripting_DefineType_CreationFailed";
|
||||
case 0x07020001: return L"Scripting_LoadFile_EvalErrors";
|
||||
case 0x07020002: return L"Scripting_LoadFile_OpenFailed";
|
||||
case 0x07000001: return L"Scripting_CallFunctionFailed";
|
||||
case 0x07000002: return L"Scripting_ContextCreationFailed";
|
||||
case 0x07000003: return L"Scripting_ConversionFailed";
|
||||
case 0x07000004: return L"Scripting_CreateObjectFailed";
|
||||
case 0x07000005: return L"Scripting_DefineConstantFailed";
|
||||
case 0x07000006: return L"Scripting_GlobalObjectCreationFailed";
|
||||
case 0x07000007: return L"Scripting_NativeFunctionSetupFailed";
|
||||
case 0x07000008: return L"Scripting_RegisterFunctionFailed";
|
||||
case 0x07000009: return L"Scripting_RuntimeCreationFailed";
|
||||
case 0x0700000a: return L"Scripting_StandardClassSetupFailed";
|
||||
case 0x0700000b: return L"Scripting_TypeDoesNotExist";
|
||||
case 0x08000001: return L"System_RequiredExtensionsMissing";
|
||||
case 0x08000002: return L"System_SDLInitFailed";
|
||||
case 0x08000003: return L"System_VmodeFailed";
|
||||
case 0x09000001: return L"Xeromyces_XMLOpenFailed";
|
||||
case 0x09000002: return L"Xeromyces_XMLParseError";
|
||||
|
||||
default: return L"Unrecognised error";
|
||||
}
|
||||
}
|
||||
|
||||
void ThrowError(PSRETURN code)
|
||||
{
|
||||
switch (code) // Use 'break' in case someone tries to continue from the exception
|
||||
{
|
||||
case 0x01000001: throw PSERROR_CVFSFile_AlreadyLoaded(); break;
|
||||
case 0x01000002: throw PSERROR_CVFSFile_InvalidBufferAccess(); break;
|
||||
case 0x01000003: throw PSERROR_CVFSFile_LoadFailed(); break;
|
||||
case 0x02000001: throw PSERROR_Error_InvalidError(); break;
|
||||
case 0x03000001: throw PSERROR_GUI_JSOpenFailed(); break;
|
||||
case 0x04040001: throw PSERROR_Game_World_MapLoadFailed(); break;
|
||||
case 0x05030001: throw PSERROR_I18n_Script_SetupFailed(); break;
|
||||
case 0x06000001: throw PSERROR_Renderer_VBOFailed(); break;
|
||||
case 0x07010001: throw PSERROR_Scripting_DefineType_AlreadyExists(); break;
|
||||
case 0x07010002: throw PSERROR_Scripting_DefineType_CreationFailed(); break;
|
||||
case 0x07020001: throw PSERROR_Scripting_LoadFile_EvalErrors(); break;
|
||||
case 0x07020002: throw PSERROR_Scripting_LoadFile_OpenFailed(); break;
|
||||
case 0x07000001: throw PSERROR_Scripting_CallFunctionFailed(); break;
|
||||
case 0x07000002: throw PSERROR_Scripting_ContextCreationFailed(); break;
|
||||
case 0x07000003: throw PSERROR_Scripting_ConversionFailed(); break;
|
||||
case 0x07000004: throw PSERROR_Scripting_CreateObjectFailed(); break;
|
||||
case 0x07000005: throw PSERROR_Scripting_DefineConstantFailed(); break;
|
||||
case 0x07000006: throw PSERROR_Scripting_GlobalObjectCreationFailed(); break;
|
||||
case 0x07000007: throw PSERROR_Scripting_NativeFunctionSetupFailed(); break;
|
||||
case 0x07000008: throw PSERROR_Scripting_RegisterFunctionFailed(); break;
|
||||
case 0x07000009: throw PSERROR_Scripting_RuntimeCreationFailed(); break;
|
||||
case 0x0700000a: throw PSERROR_Scripting_StandardClassSetupFailed(); break;
|
||||
case 0x0700000b: throw PSERROR_Scripting_TypeDoesNotExist(); break;
|
||||
case 0x08000001: throw PSERROR_System_RequiredExtensionsMissing(); break;
|
||||
case 0x08000002: throw PSERROR_System_SDLInitFailed(); break;
|
||||
case 0x08000003: throw PSERROR_System_VmodeFailed(); break;
|
||||
case 0x09000001: throw PSERROR_Xeromyces_XMLOpenFailed(); break;
|
||||
case 0x09000002: throw PSERROR_Xeromyces_XMLParseError(); break;
|
||||
|
||||
default: throw PSERROR_Error_InvalidError(); // Hmm...
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
del Coverage\*.dyn
|
||||
Coverage\tests
|
||||
cd Coverage
|
||||
cd ..\..\..\binaries\system
|
||||
..\..\source\i18n\tests\Coverage\tests
|
||||
cd ..\..\source\i18n\tests\Coverage
|
||||
profmerge
|
||||
codecov -comp ../comp.txt -ccolor #f6f6ff -mname "Philip Taylor" -maddr excors@gmail.com
|
||||
start CODE_COVERAGE.HTML
|
1
source/i18n/tests/precompiled.cpp
Normal file
1
source/i18n/tests/precompiled.cpp
Normal file
@ -0,0 +1 @@
|
||||
#include "precompiled.h"
|
@ -24,12 +24,14 @@
|
||||
|
||||
#define SDL_BYTE_ORDER SDL_LIL_ENDIAN
|
||||
|
||||
#include <cassert>
|
||||
#define cassert(x) extern char cassert__##__LINE__ [x]
|
||||
#define debug_warn(x) assert(0&&x)
|
||||
#define debug_assert assert
|
||||
|
||||
#define XP_WIN
|
||||
|
||||
#include "Errors.h"
|
||||
#include "ps/Errors.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#define swprintf _snwprintf
|
||||
#include <cstdio>
|
||||
#define swprintf _snwprintf
|
||||
|
63
source/i18n/tests/ps/Errors.cpp
Executable file
63
source/i18n/tests/ps/Errors.cpp
Executable file
@ -0,0 +1,63 @@
|
||||
// Auto-generated by errorlist.pl - do not edit.
|
||||
|
||||
#include "precompiled.h"
|
||||
|
||||
#include "Errors.h"
|
||||
|
||||
class PSERROR_Error : public PSERROR {};
|
||||
class PSERROR_I18n : public PSERROR {};
|
||||
|
||||
class PSERROR_I18n_Script : public PSERROR_I18n {};
|
||||
|
||||
class PSERROR_Error_InvalidError : public PSERROR_Error { public: PSRETURN getCode() const; };
|
||||
class PSERROR_I18n_Script_SetupFailed : public PSERROR_I18n_Script { public: PSRETURN getCode() const; };
|
||||
|
||||
extern const PSRETURN PSRETURN_Error_InvalidError = 0x01000001;
|
||||
extern const PSRETURN PSRETURN_I18n_Script_SetupFailed = 0x02010001;
|
||||
|
||||
extern const PSRETURN MASK__PSRETURN_Error = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_Error = 0x01000000;
|
||||
extern const PSRETURN MASK__PSRETURN_I18n = 0xff000000;
|
||||
extern const PSRETURN CODE__PSRETURN_I18n = 0x02000000;
|
||||
extern const PSRETURN MASK__PSRETURN_I18n_Script = 0xffff0000;
|
||||
extern const PSRETURN CODE__PSRETURN_I18n_Script = 0x02010000;
|
||||
|
||||
extern const PSRETURN MASK__PSRETURN_Error_InvalidError = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_Error_InvalidError = 0x01000001;
|
||||
extern const PSRETURN MASK__PSRETURN_I18n_Script_SetupFailed = 0xffffffff;
|
||||
extern const PSRETURN CODE__PSRETURN_I18n_Script_SetupFailed = 0x02010001;
|
||||
|
||||
PSRETURN PSERROR_Error_InvalidError::getCode() const { return 0x01000001; }
|
||||
PSRETURN PSERROR_I18n_Script_SetupFailed::getCode() const { return 0x02010001; }
|
||||
|
||||
const char* PSERROR::what() const throw ()
|
||||
{
|
||||
return GetErrorString(getCode());
|
||||
}
|
||||
|
||||
const char* GetErrorString(const PSERROR& err)
|
||||
{
|
||||
return GetErrorString(err.getCode());
|
||||
}
|
||||
|
||||
const char* GetErrorString(PSRETURN code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
case 0x01000001: return "Error_InvalidError";
|
||||
case 0x02010001: return "I18n_Script_SetupFailed";
|
||||
|
||||
default: return "Unrecognised error";
|
||||
}
|
||||
}
|
||||
|
||||
void ThrowError(PSRETURN code)
|
||||
{
|
||||
switch (code) // Use 'break' in case someone tries to continue from the exception
|
||||
{
|
||||
case 0x01000001: throw PSERROR_Error_InvalidError(); break;
|
||||
case 0x02010001: throw PSERROR_I18n_Script_SetupFailed(); break;
|
||||
|
||||
default: throw PSERROR_Error_InvalidError(); // Hmm...
|
||||
}
|
||||
}
|
@ -1,16 +1,17 @@
|
||||
#ifndef _ERRORS_H_
|
||||
#define _ERRORS_H_
|
||||
|
||||
#include "types.h"
|
||||
#include <exception>
|
||||
|
||||
#include "lib/types.h"
|
||||
|
||||
typedef u32 PSRETURN;
|
||||
|
||||
class PSERROR
|
||||
class PSERROR : public std::exception
|
||||
{
|
||||
public:
|
||||
int magic; // = 0x45725221, so the exception handler can recognise
|
||||
// that it's a PSERROR and not some other random object.
|
||||
PSRETURN code; // unique (but arbitrary) code, for translation tables etc
|
||||
virtual const char* what() const throw ();
|
||||
virtual PSRETURN getCode() const = 0; // for functions that catch exceptions then return error codes
|
||||
};
|
||||
|
||||
#define ERROR_GROUP(a) class PSERROR_##a : public PSERROR {}; \
|
||||
@ -22,7 +23,7 @@ public:
|
||||
extern const PSRETURN CODE__PSRETURN_##a##_##b
|
||||
|
||||
|
||||
#define ERROR_TYPE(a,b) class PSERROR_##a##_##b : public PSERROR_##a { public: PSERROR_##a##_##b(); }; \
|
||||
#define ERROR_TYPE(a,b) class PSERROR_##a##_##b : public PSERROR_##a { public: PSRETURN getCode() const; }; \
|
||||
extern const PSRETURN MASK__PSRETURN_##a##_##b; \
|
||||
extern const PSRETURN CODE__PSRETURN_##a##_##b; \
|
||||
extern const PSRETURN PSRETURN_##a##_##b
|
||||
@ -33,7 +34,8 @@ const PSRETURN PSRETURN_OK = 0;
|
||||
const PSRETURN MASK__PSRETURN_OK = 0xffffffff;
|
||||
const PSRETURN CODE__PSRETURN_OK = 0;
|
||||
|
||||
const wchar_t* GetErrorString(PSRETURN code);
|
||||
const char* GetErrorString(PSRETURN code);
|
||||
const char* GetErrorString(const PSERROR& err);
|
||||
void ThrowError(PSRETURN code);
|
||||
|
||||
#endif
|
13
source/i18n/tests/scripting/SpiderMonkey.h
Normal file
13
source/i18n/tests/scripting/SpiderMonkey.h
Normal file
@ -0,0 +1,13 @@
|
||||
#define XP_WIN
|
||||
|
||||
#include <jsapi.h>
|
||||
#include <jsatom.h>
|
||||
#ifndef NDEBUG
|
||||
# include <jsdbgapi.h>
|
||||
#endif
|
||||
|
||||
// Make JS debugging a little easier by automatically naming GC roots
|
||||
// Don't simply #define NAME_ALL_GC_ROOTS, because jsapi.h is horridly broken
|
||||
#ifndef NDEBUG
|
||||
# define JS_AddRoot(cx, rp) JS_AddNamedRoot((cx), (rp), __FILE__ )
|
||||
#endif
|
@ -6,7 +6,7 @@
|
||||
|
||||
#include "Interface.h"
|
||||
|
||||
#include "jsapi.h"
|
||||
#include "scripting/SpiderMonkey.h"
|
||||
|
||||
I18n::CLocale_interface* g_CurrentLocale;
|
||||
#define translate(x) g_CurrentLocale->Translate(x)
|
||||
@ -62,8 +62,8 @@ int main()
|
||||
return 1;
|
||||
|
||||
|
||||
extern void test();
|
||||
test();
|
||||
extern void test(JSContext*, JSObject*);
|
||||
test(cx, glob);
|
||||
|
||||
#if 0
|
||||
std::string lang = readfile("e:\\0ad\\cvs\\binaries\\data\\mods\\official\\language\\test\\phrases.lng");
|
||||
|
@ -1,8 +1,9 @@
|
||||
#include "precompiled.h"
|
||||
|
||||
#include "Interface.h"
|
||||
#include "scripting/SpiderMonkey.h"
|
||||
|
||||
#define FILE_PATH "..\\..\\..\\binaries\\data\\mods\\official\\language\\test\\"
|
||||
#define FILE_PATH "..\\data\\mods\\official\\language\\test\\"
|
||||
|
||||
extern I18n::CLocale_interface* g_CurrentLocale;
|
||||
#define translate(x) g_CurrentLocale->Translate(x)
|
||||
@ -31,12 +32,13 @@ void test_assert(bool test, const char* file, int line, const char* fmt, ...)
|
||||
{
|
||||
if (! test)
|
||||
{
|
||||
char msg[256];
|
||||
char msg[512];
|
||||
va_list v;
|
||||
va_start(v, fmt);
|
||||
vsprintf(msg, fmt, v);
|
||||
char err[256];
|
||||
sprintf(err, "%s(%d) : TEST FAILED : %s\n", file, line, msg);
|
||||
_vsnprintf(msg, sizeof(msg), fmt, v);
|
||||
char err[512];
|
||||
_snprintf(err, sizeof(err), "%s(%d) : TEST FAILED : %s\n", file, line, msg);
|
||||
err[sizeof(err)-1] = 0;
|
||||
OutputDebugStringA(err);
|
||||
printf("%s", err);
|
||||
}
|
||||
@ -61,7 +63,19 @@ namespace I18n { extern bool g_UsedCache; }
|
||||
test_assert(I18n::g_UsedCache, __FILE__, __LINE__, "Failed to use cache"); \
|
||||
}
|
||||
|
||||
void test()
|
||||
#define TEST_EQ_SCRIPT(answer, str) \
|
||||
{ \
|
||||
jsval rval; \
|
||||
if (JS_EvaluateScript(cx, glob, str, (int)strlen(str), "test", 1, &rval) != JS_TRUE) \
|
||||
test_assert(false, __FILE__, __LINE__, "Script eval failed"); \
|
||||
else { \
|
||||
JSString* r = JS_ValueToString(cx, rval); \
|
||||
I18n::Str s (JS_GetStringChars(r), JS_GetStringLength(r)); \
|
||||
test_assert(s == L##answer, __FILE__, __LINE__, "Unexpected output:\n '%ls'\nExpected:\n '%ls'", s.c_str(), L##answer); \
|
||||
} \
|
||||
}
|
||||
|
||||
void test(JSContext* cx, JSObject* glob)
|
||||
{
|
||||
// Untranslated strings. Simple strings.
|
||||
TEST_EQ_NOCACHE(
|
||||
@ -223,7 +237,45 @@ void test()
|
||||
"Testing things $num of $object", << -3.5 << I18n::Raw("orangutan")
|
||||
);
|
||||
|
||||
// TODO: Tests for the JS interface.
|
||||
// Repeated tests, using JS interface.
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"Hello world banana",
|
||||
"translate('Hello world $n', i18n.Name('banana'))"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"Hello world banana",
|
||||
"translate('Hello world $n', i18n.Raw('banana'))"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"Hello world BANANA",
|
||||
"translate('Hello world $n', i18n.Noun('banana'))"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"1.2345+67890=67891.2345. An armadillo buys a platypus for 14.99 (platypus! 14.990000!)",
|
||||
"translate('Test $obj ($$$amnt)', i18n.Noun('platypus'), 14.99)"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"There are (1 BANANA) here",
|
||||
"translate('Testing things $num of $object', 1, i18n.Noun('banana'))"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"There are (2 bananas) here",
|
||||
"translate('Testing things $num of $object', 2, i18n.Noun('banana'))"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"There are (2.5 bananas) here",
|
||||
"translate('Testing things $num of $object', 2.5, i18n.Raw('banana'))"
|
||||
);
|
||||
|
||||
TEST_EQ_SCRIPT(
|
||||
"There are (-3.5 orangutan) here",
|
||||
"translate('Testing things $num of $object', -3.5, i18n.Raw('orangutan'))"
|
||||
);
|
||||
}
|
@ -1,327 +1,262 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Intel C++ Project"
|
||||
Version="7.1"
|
||||
Version="9.0"
|
||||
Name="tests"
|
||||
ProjectGUID="{B48BE4CA-40AF-4D48-86CC-7FCA6BDD02BF}"
|
||||
VCNestedProjectGUID="{1D6A376C-DA9E-4E03-83A7-16784F356633}"
|
||||
VCNestedProjectFileName="tests.vcproj">
|
||||
VCNestedProjectFileName="tests.vcproj"
|
||||
Keyword="Win32Proj">
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32">
|
||||
<IntelOptions
|
||||
<Tool
|
||||
Name="GeneralTool"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
CompilerName="1"/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool">
|
||||
<IntelOptions
|
||||
Optimization="0"
|
||||
MinimalRebuild="1"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"/>
|
||||
</Tool>
|
||||
Name="DebugTool"
|
||||
WorkingDirectory="e:\0ad\svnc\trunk\binaries\system"/>
|
||||
<Tool
|
||||
Name="CppCmplrTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..;..\..\..\libraries\spidermonkey\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I18NDEBUG"
|
||||
MinimalRebuild="1"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="precompiled.h"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="1"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="LinkerTool"
|
||||
DelayImpLib=""
|
||||
AdditionalDependencies="kernel32.lib js32d.lib"
|
||||
OutputFile="$(OutDir)/tests.exe"
|
||||
LinkIncremental="2"
|
||||
AdditionalLibraryDirectories="E:\0ad\libs\lib"
|
||||
GenerateDebugInformation="1"
|
||||
ProgramDatabaseFile="$(OutDir)/tests.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="LibrarianTool"/>
|
||||
<Tool
|
||||
Name="ResCmplrTool"/>
|
||||
<Tool
|
||||
Name="MidlCmplrTool"/>
|
||||
<Tool
|
||||
Name="BscMakeTool"/>
|
||||
<Tool
|
||||
Name="PreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="PreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="PostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="CustomTool"/>
|
||||
<Tool
|
||||
Name="CustomNodeTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32">
|
||||
<IntelOptions
|
||||
<Tool
|
||||
Name="GeneralTool"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
CompilerName="1"/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool">
|
||||
<IntelOptions
|
||||
RuntimeLibrary="4"/>
|
||||
</Tool>
|
||||
Name="DebugTool"
|
||||
WorkingDirectory="e:\0ad\svnc\trunk\binaries\system"/>
|
||||
<Tool
|
||||
Name="CppCmplrTool"
|
||||
AdditionalIncludeDirectories=".;..;..\..\..\libraries\spidermonkey\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="4"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="precompiled.h"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="1"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="LinkerTool"
|
||||
DelayImpLib=""
|
||||
AdditionalDependencies="kernel32.lib js32.lib"
|
||||
OutputFile="$(OutDir)/tests.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="E:\0ad\libs\lib"
|
||||
GenerateDebugInformation="1"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="LibrarianTool"/>
|
||||
<Tool
|
||||
Name="ResCmplrTool"/>
|
||||
<Tool
|
||||
Name="MidlCmplrTool"/>
|
||||
<Tool
|
||||
Name="BscMakeTool"/>
|
||||
<Tool
|
||||
Name="PreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="PreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="PostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="CustomTool"/>
|
||||
<Tool
|
||||
Name="CustomNodeTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Coverage|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool">
|
||||
<IntelOptions
|
||||
PGOPhase="2"
|
||||
Optimization="0"
|
||||
MinimalRebuild="1"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"/>
|
||||
</Tool>
|
||||
Name="GeneralTool"
|
||||
OutputDirectory="Coverage"
|
||||
IntermediateDirectory="Coverage"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
PGOPhase="2"/>
|
||||
<Tool
|
||||
Name="DebugTool"
|
||||
WorkingDirectory="e:\0ad\svnc\trunk\binaries\system"/>
|
||||
<Tool
|
||||
Name="CppCmplrTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..;..\..\..\libraries\spidermonkey\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I18NDEBUG"
|
||||
MinimalRebuild="1"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="precompiled.h"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="1"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="LinkerTool"
|
||||
DelayImpLib=""
|
||||
AdditionalDependencies="kernel32.lib js32d.lib"
|
||||
OutputFile="$(OutDir)/tests.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="1"
|
||||
AdditionalLibraryDirectories="E:\0ad\libs\lib"
|
||||
GenerateDebugInformation="1"
|
||||
ProgramDatabaseFile="$(OutDir)/tests.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="LibrarianTool"/>
|
||||
<Tool
|
||||
Name="ResCmplrTool"/>
|
||||
<Tool
|
||||
Name="MidlCmplrTool"/>
|
||||
<Tool
|
||||
Name="BscMakeTool"/>
|
||||
<Tool
|
||||
Name="PreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="PreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="PostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="CustomTool"/>
|
||||
<Tool
|
||||
Name="CustomNodeTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<File
|
||||
RelativePath=".\CStr.cpp">
|
||||
RelativePath=".\CStr.h"/>
|
||||
<File
|
||||
RelativePath=".\precompiled.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
Name="Coverage|Win32">
|
||||
<Tool
|
||||
Name="CppCmplrTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="CppCmplrTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="CppCmplrTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\CStr.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\precompiled.h"/>
|
||||
<File
|
||||
RelativePath=".\Errors.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\StringConvert.cpp"/>
|
||||
<File
|
||||
RelativePath=".\Errors.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\StringConvert.h"/>
|
||||
<File
|
||||
RelativePath=".\precompiled.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\test.cpp"/>
|
||||
<File
|
||||
RelativePath=".\StringConvert.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\tests.cpp"/>
|
||||
<File
|
||||
RelativePath=".\StringConvert.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\UniDoubler.h"/>
|
||||
<File
|
||||
RelativePath=".\test.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\utf16string.h"/>
|
||||
<File
|
||||
RelativePath=".\tests.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\BufferVariable.cpp"/>
|
||||
<File
|
||||
RelativePath=".\types.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\BufferVariable.h"/>
|
||||
<File
|
||||
RelativePath=".\UniDoubler.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\CLocale.cpp"/>
|
||||
<File
|
||||
RelativePath=".\utf16string.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\CLocale.h"/>
|
||||
<File
|
||||
RelativePath="..\BufferVariable.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\Common.h"/>
|
||||
<File
|
||||
RelativePath="..\BufferVariable.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\DataTypes.h"/>
|
||||
<File
|
||||
RelativePath="..\CLocale.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\Interface.cpp"/>
|
||||
<File
|
||||
RelativePath="..\CLocale.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\Interface.h"/>
|
||||
<File
|
||||
RelativePath="..\Common.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\ScriptInterface.cpp"/>
|
||||
<File
|
||||
RelativePath="..\DataTypes.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\ScriptInterface.h"/>
|
||||
<File
|
||||
RelativePath="..\Interface.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\StrImmutable.h"/>
|
||||
<File
|
||||
RelativePath="..\Interface.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\StringBuffer.cpp"/>
|
||||
<File
|
||||
RelativePath="..\ScriptInterface.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\StringBuffer.h"/>
|
||||
<File
|
||||
RelativePath="..\ScriptInterface.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\TranslatedString.cpp"/>
|
||||
<File
|
||||
RelativePath="..\StrImmutable.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\TranslatedString.h"/>
|
||||
<File
|
||||
RelativePath="..\StringBuffer.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\TSComponent.cpp"/>
|
||||
<File
|
||||
RelativePath="..\StringBuffer.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath="..\TSComponent.h"/>
|
||||
<File
|
||||
RelativePath="..\TranslatedString.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\lib\types.h"/>
|
||||
<File
|
||||
RelativePath="..\TranslatedString.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\lib\sysdep\sysdep.h"/>
|
||||
<File
|
||||
RelativePath="..\TSComponent.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\ps\CLogger.h"/>
|
||||
<File
|
||||
RelativePath="..\TSComponent.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\ps\Errors.cpp"/>
|
||||
<File
|
||||
RelativePath=".\lib\sysdep\sysdep.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\ps\Errors.h"/>
|
||||
<File
|
||||
RelativePath=".\ps\CLogger.h">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"/>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32"/>
|
||||
</File>
|
||||
RelativePath=".\scripting\SpiderMonkey.h"/>
|
||||
</Files>
|
||||
</VisualStudioProject>
|
||||
|
||||
|
@ -20,12 +20,13 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="E:\0ad\libs\include;E:\0ad\cvs\source\i18n;E:\0ad\cvs\source\i18n\tests"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories=".;..;..\..\..\libraries\spidermonkey\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I18NDEBUG"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="0"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="precompiled.h"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
@ -70,10 +71,11 @@
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="E:\0ad\libs\include;E:\0ad\cvs\source\i18n;E:\0ad\cvs\source\i18n\tests"
|
||||
AdditionalIncludeDirectories=".;..;..\..\..\libraries\spidermonkey\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="4"
|
||||
UsePrecompiledHeader="0"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="precompiled.h"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
@ -113,19 +115,20 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Coverage|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
OutputDirectory="Coverage"
|
||||
IntermediateDirectory="Coverage"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="E:\0ad\libs\include;E:\0ad\cvs\source\i18n;E:\0ad\cvs\source\i18n\tests"
|
||||
AdditionalIncludeDirectories=".;..;..\..\..\libraries\spidermonkey\include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;I18NDEBUG"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="0"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="precompiled.h"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
@ -171,17 +174,29 @@
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||
<File
|
||||
RelativePath=".\CStr.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\CStr.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Errors.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Errors.h">
|
||||
RelativePath=".\precompiled.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\precompiled.h">
|
||||
@ -198,9 +213,6 @@
|
||||
<File
|
||||
RelativePath=".\tests.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\types.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\UniDoubler.h">
|
||||
</File>
|
||||
@ -265,6 +277,9 @@
|
||||
<Filter
|
||||
Name="lib"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath=".\lib\types.h">
|
||||
</File>
|
||||
<Filter
|
||||
Name="sysdep"
|
||||
Filter="">
|
||||
@ -279,6 +294,37 @@
|
||||
<File
|
||||
RelativePath=".\ps\CLogger.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ps\Errors.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ObjectFile="$(IntDir)/$(InputName)1.obj"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ObjectFile="$(IntDir)/$(InputName)1.obj"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Coverage|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ObjectFile="$(IntDir)/$(InputName)1.obj"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ps\Errors.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="scripting"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath=".\scripting\SpiderMonkey.h">
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
|
Loading…
Reference in New Issue
Block a user