1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Chat console, including a number of rebases and modifications.

Defaults modified from original: alpha=200, key=F10
This commit is contained in:
Kahrl 2011-12-03 09:01:14 +01:00 committed by Perttu Ahola
parent 0053651814
commit 967f25461b
17 changed files with 1941 additions and 146 deletions

View file

@ -694,6 +694,46 @@ private:
u32 *m_result;
};
// Tests if two strings are equal, optionally case insensitive
inline bool str_equal(const std::wstring& s1, const std::wstring& s2,
bool case_insensitive = false)
{
if(case_insensitive)
{
if(s1.size() != s2.size())
return false;
for(size_t i = 0; i < s1.size(); ++i)
if(tolower(s1[i]) != tolower(s2[i]))
return false;
return true;
}
else
{
return s1 == s2;
}
}
// Tests if the second string is a prefix of the first, optionally case insensitive
inline bool str_starts_with(const std::wstring& str, const std::wstring& prefix,
bool case_insensitive = false)
{
if(str.size() < prefix.size())
return false;
if(case_insensitive)
{
for(size_t i = 0; i < prefix.size(); ++i)
if(tolower(str[i]) != tolower(prefix[i]))
return false;
}
else
{
for(size_t i = 0; i < prefix.size(); ++i)
if(str[i] != prefix[i])
return false;
}
return true;
}
// Calculates the borders of a "d-radius" cube
inline void getFacePositions(core::list<v3s16> &list, u16 d)
{
@ -1565,6 +1605,15 @@ inline std::string wrap_rows(const std::string &from, u32 rowlen)
#define MYMIN(a,b) ((a)<(b)?(a):(b))
#define MYMAX(a,b) ((a)>(b)?(a):(b))
/*
Returns nearest 32-bit integer for given floating point number.
<cmath> and <math.h> in VC++ don't provide round().
*/
inline s32 myround(f32 f)
{
return floor(f + 0.5);
}
/*
Returns integer position of node in given floating point position
*/