diff options
author | tartalo <none@none> | 2009-10-18 15:49:54 +0200 |
---|---|---|
committer | tartalo <none@none> | 2009-10-18 15:49:54 +0200 |
commit | 8fccb5a7e9608d206d615a41c92cc5cc6755b66b (patch) | |
tree | 5f68a638392b78a887c4e45333f1ec0deb2bb7b4 /src | |
parent | d32bd47b9060ad77a0e6c54b5b50285e3b964f75 (diff) |
Ulduar: fix instance saving
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp index b825bbcad23..70de8fc1cde 100644 --- a/src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp @@ -281,9 +281,20 @@ struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance return 0; } - const char* Save() + std::string GetSaveData() { - return m_strInstData.c_str(); + OUT_SAVE_INST_DATA; + + std::ostringstream saveStream; + saveStream << "U U " << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3] + << m_auiEncounter[4] << " " << m_auiEncounter[5] << " " << m_auiEncounter[6] << " " << m_auiEncounter[7] + << m_auiEncounter[8] << " " << m_auiEncounter[9] << " " << m_auiEncounter[10] << " " << m_auiEncounter[11] + << m_auiEncounter[12] << " " << m_auiEncounter[13]; + + m_strInstData = saveStream.str(); + + OUT_SAVE_INST_DATA_COMPLETE; + return m_strInstData; } void Load(const char* strIn) @@ -295,15 +306,20 @@ struct TRINITY_DLL_DECL instance_ulduar : public ScriptedInstance } OUT_LOAD_INST_DATA(strIn); + + char dataHead1, dataHead2; std::istringstream loadStream(strIn); - - for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) + + if (dataHead1 == 'U' && dataHead2 == 'U') { - loadStream >> m_auiEncounter[i]; - - if (m_auiEncounter[i] == IN_PROGRESS) - m_auiEncounter[i] = NOT_STARTED; + for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) + { + loadStream >> m_auiEncounter[i]; + + if (m_auiEncounter[i] == IN_PROGRESS) + m_auiEncounter[i] = NOT_STARTED; + } } OUT_LOAD_INST_DATA_COMPLETE; |