mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-11-16 16:09:42 +01:00
Use less STL when loading entity XML elements
The STL here cannot be completely eliminated (because the custom entity object uses std::string), but at least we can avoid unnecessarily making std::strings until the very end.
This commit is contained in:
parent
2aeb3f35ce
commit
d590463834
1 changed files with 6 additions and 6 deletions
|
@ -1783,11 +1783,11 @@ bool editorclass::load(std::string& _path)
|
||||||
for( tinyxml2::XMLElement* edEntityEl = pElem->FirstChildElement(); edEntityEl; edEntityEl=edEntityEl->NextSiblingElement())
|
for( tinyxml2::XMLElement* edEntityEl = pElem->FirstChildElement(); edEntityEl; edEntityEl=edEntityEl->NextSiblingElement())
|
||||||
{
|
{
|
||||||
edentities entity;
|
edentities entity;
|
||||||
|
const char* text = edEntityEl->GetText();
|
||||||
|
|
||||||
std::string pKey(edEntityEl->Value());
|
if (text != NULL)
|
||||||
if (edEntityEl->GetText() != NULL)
|
|
||||||
{
|
{
|
||||||
std::string text(edEntityEl->GetText());
|
size_t len = SDL_strlen(text);
|
||||||
|
|
||||||
// And now we come to the part where we have to deal with
|
// And now we come to the part where we have to deal with
|
||||||
// the terrible decisions of the past.
|
// the terrible decisions of the past.
|
||||||
|
@ -1820,13 +1820,13 @@ bool editorclass::load(std::string& _path)
|
||||||
// the linefeed + the extremely specific amount of
|
// the linefeed + the extremely specific amount of
|
||||||
// whitespace at the end of the contents.
|
// whitespace at the end of the contents.
|
||||||
|
|
||||||
if (endsWith(text.c_str(), "\n ")) // linefeed + exactly 12 spaces
|
if (endsWith(text, "\n ")) // linefeed + exactly 12 spaces
|
||||||
{
|
{
|
||||||
// 12 spaces + 1 linefeed = 13 chars
|
// 12 spaces + 1 linefeed = 13 chars
|
||||||
text = text.substr(0, text.length()-13);
|
len -= 13;
|
||||||
}
|
}
|
||||||
|
|
||||||
entity.scriptname = text;
|
entity.scriptname = std::string(text, len);
|
||||||
}
|
}
|
||||||
edEntityEl->QueryIntAttribute("x", &entity.x);
|
edEntityEl->QueryIntAttribute("x", &entity.x);
|
||||||
edEntityEl->QueryIntAttribute("y", &entity.y);
|
edEntityEl->QueryIntAttribute("y", &entity.y);
|
||||||
|
|
Loading…
Reference in a new issue