Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
3.8 kB · 147 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147#include "stdafx.h"
wstring toLower(const wstring& a){ wstring out = wstring(a); std::transform(out.begin(), out.end(), out.begin(), ::tolower); return out;}
wstring trimString(const wstring& a){ wstring b; int start = (int)a.find_first_not_of(L" \t\n\r"); int end = (int)a.find_last_not_of(L" \t\n\r"); if( start == wstring::npos ) start = 0; if( end == wstring::npos ) end = (int)a.size()-1; b = a.substr(start,(end-start)+1); return b;}
wstring replaceAll(const wstring& in, const wstring& replace, const wstring& with){ wstring out = in; size_t pos = 0; while( ( pos = out.find(replace, pos) ) != wstring::npos ) { out.replace( pos, replace.length(), with ); pos++; } return out;}
bool equalsIgnoreCase(const wstring& a, const wstring& b){ bool out; wstring c = toLower(a); wstring d = toLower(b); out = c.compare(d) == 0; return out;}
wstring convStringToWstring(const string& converting){ wstring converted(converting.length(), L' '); copy(converting.begin(), converting.end(), converted.begin()); return converted;}
// Convert for filename wstrings to a straight character pointer for Xbox APIs. The returned string is only valid until// this function is called again, and it isn't thread-safe etc. as I'm just storing the returned name in a local static// to save having to clear it up everywhere this is used.const char *wstringtofilename(const wstring& name){ static char buf[256]; assert(name.length()<256); for(unsigned int i = 0; i < name.length(); i++ ) { wchar_t c = name[i];#if defined __PS3__ || defined __ORBIS__ if(c=='\\') c='/';#else if(c=='/') c='\\';#endif assert(c<128); // Will we have to do any conversion of non-ASCII characters in filenames? buf[i] = (char)c; } buf[name.length()] = 0; return buf;}
const char *wstringtochararray(const wstring& name){ static char buf[256]; assert(name.length()<256); for(unsigned int i = 0; i < name.length(); i++ ) { wchar_t c = name[i]; assert(c<128); // Will we have to do any conversion of non-ASCII characters in filenames? buf[i] = (char)c; } buf[name.length()] = 0; return buf;}
wstring filenametowstring(const char *name){ return convStringToWstring(name);}
std::vector<std::wstring> &stringSplit(const std::wstring &s, wchar_t delim, std::vector<std::wstring> &elems){ std::wstringstream ss(s); std::wstring item; while(std::getline(ss, item, delim)) { elems.push_back(item); } return elems;}
std::vector<std::wstring> stringSplit(const std::wstring &s, wchar_t delim){ std::vector<std::wstring> elems; return stringSplit(s, delim, elems);}
bool BothAreSpaces(wchar_t lhs, wchar_t rhs) { return (lhs == rhs) && (lhs == L' '); }
void stripWhitespaceForHtml(wstring &string, bool bRemoveNewline){ // Strip newline chars if(bRemoveNewline) { string.erase(std::remove(string.begin(), string.end(), '\n'), string.end()); string.erase(std::remove(string.begin(), string.end(), '\r'), string.end()); }
string.erase(std::remove(string.begin(), string.end(), '\t'), string.end());
// Strip duplicate spaces string.erase(std::unique(string.begin(), string.end(), BothAreSpaces), string.end());
string = trimString(string);}
wstring escapeXML(const wstring &in){ wstring out = in; out = replaceAll(out, L"&", L"&"); //out = replaceAll(out, L"\"", L"""); //out = replaceAll(out, L"'", L"'"); out = replaceAll(out, L"<", L"<"); out = replaceAll(out, L">", L">"); return out;}
wstring parseXMLSpecials(const wstring &in){ wstring out = in; out = replaceAll(out, L"&", L"&"); //out = replaceAll(out, L"\"", L"""); //out = replaceAll(out, L"'", L"'"); out = replaceAll(out, L"<", L"<"); out = replaceAll(out, L">", L">"); return out;}