aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Object
diff options
context:
space:
mode:
authorlinencloth <none@none>2010-10-21 16:56:51 +0200
committerlinencloth <none@none>2010-10-21 16:56:51 +0200
commitd9d1ec3670ce4498b22025973fa126e5e3c2ab48 (patch)
tree53f1ffd4ec3e3247f4b5af4bddf6207268b07eaf /src/server/game/Entities/Object
parentf275f8b4b580b48f8ff7804d2079d6cd83842cda (diff)
Core: optimize string splitting
- Mainly affects item loading performance - Reduces guild loading time a lot --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Entities/Object')
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 7c5768a80e0..868443031ae 100755
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -764,17 +764,13 @@ bool Object::LoadValues(const char* data)
{
if (!m_uint32Values) _InitValues();
- Tokens tokens = StrSplit(data, " ");
+ Tokens tokens(data, ' ');
if (tokens.size() != m_valuesCount)
return false;
- Tokens::iterator iter;
- int index;
- for (iter = tokens.begin(), index = 0; index < m_valuesCount; ++iter, ++index)
- {
- m_uint32Values[index] = atol((*iter).c_str());
- }
+ for (uint16 index = 0; index < m_valuesCount; ++index)
+ m_uint32Values[index] = atol(tokens[index]);
return true;
}
@@ -784,17 +780,13 @@ void Object::_LoadIntoDataField(const char* data, uint32 startOffset, uint32 cou
if (!data)
return;
- Tokens tokens = StrSplit(data, " ");
+ Tokens tokens(data, ' ', count);
if (tokens.size() != count)
return;
- Tokens::iterator iter;
- uint32 index;
- for (iter = tokens.begin(), index = 0; index < count; ++iter, ++index)
- {
- m_uint32Values[startOffset + index] = atol((*iter).c_str());
- }
+ for (uint32 index = 0; index < count; ++index)
+ m_uint32Values[startOffset + index] = atol(tokens[index]);
}
void Object::_SetUpdateBits(UpdateMask *updateMask, Player* /*target*/) const