mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-24 23:22:25 +01:00
[r07 and r08 were not posted to the WIP thread. -Ed.] byuu says: I'd appreciate it if you guys wouldn't mind testing out the database functionality. Save this file as database.bml (remove the date) inside ~/.config/higan/Super Famicom.sfc/ or %APPDATA%/higan/Super Famicom.sfc/ http://byuu.org/snes/database/database_2012-10-21.bml Now load any of the 20 games in the database from the file dialog. They need to be named *.sfc, have no copier header, and have firmware appended (for Mario Kart only so far.) If anyone actually does test it, please let me know how it goes for you and what you think. Note that future versions of higan will have the database.bml file included with the release.
44 lines
2.5 KiB
C++
Executable File
44 lines
2.5 KiB
C++
Executable File
#ifdef NALL_STRING_INTERNAL_HPP
|
|
|
|
namespace nall {
|
|
|
|
unsigned string::length() const { return strlen(data); }
|
|
unsigned string::capacity() const { return size; }
|
|
|
|
template<unsigned limit> lstring string::split(const char *key) const { lstring result; result.split<limit>(key, data); return result; }
|
|
template<unsigned limit> lstring string::isplit(const char *key) const { lstring result; result.isplit<limit>(key, data); return result; }
|
|
template<unsigned limit> lstring string::qsplit(const char *key) const { lstring result; result.qsplit<limit>(key, data); return result; }
|
|
template<unsigned limit> lstring string::iqsplit(const char *key) const { lstring result; result.iqsplit<limit>(key, data); return result; }
|
|
|
|
bool string::equals(const char *str) const { return !strcmp(data, str); }
|
|
bool string::iequals(const char *str) const { return !istrcmp(data, str); }
|
|
|
|
bool string::wildcard(const char *str) const { return nall::wildcard(data, str); }
|
|
bool string::iwildcard(const char *str) const { return nall::iwildcard(data, str); }
|
|
|
|
bool string::beginswith(const char *str) const { return strbegin(data, str); }
|
|
bool string::ibeginswith(const char *str) const { return istrbegin(data, str); }
|
|
|
|
bool string::endswith(const char *str) const { return strend(data, str); }
|
|
bool string::iendswith(const char *str) const { return istrend(data, str); }
|
|
|
|
string& string::lower() { nall::strlower(data); return *this; }
|
|
string& string::upper() { nall::strupper(data); return *this; }
|
|
string& string::qlower() { nall::qstrlower(data); return *this; }
|
|
string& string::qupper() { nall::qstrupper(data); return *this; }
|
|
string& string::transform(const char *before, const char *after) { nall::strtr(data, before, after); return *this; }
|
|
|
|
template<unsigned limit> string& string::ltrim(const char *key) { nall::ltrim<limit>(data, key); return *this; }
|
|
template<unsigned limit> string& string::rtrim(const char *key) { nall::rtrim<limit>(data, key); return *this; }
|
|
template<unsigned limit> string& string::trim(const char *key, const char *rkey) { nall::trim <limit>(data, key, rkey); return *this; }
|
|
string& string::strip() { nall::strip(data); return *this; }
|
|
|
|
optional<unsigned> string::position(const char *key) const { return strpos(data, key); }
|
|
optional<unsigned> string::iposition(const char *key) const { return istrpos(data, key); }
|
|
optional<unsigned> string::qposition(const char *key) const { return qstrpos(data, key); }
|
|
optional<unsigned> string::iqposition(const char *key) const { return iqstrpos(data, key); }
|
|
|
|
}
|
|
|
|
#endif
|