aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortartalo <none@none>2009-10-18 15:49:54 +0200
committertartalo <none@none>2009-10-18 15:49:54 +0200
commit8fccb5a7e9608d206d615a41c92cc5cc6755b66b (patch)
tree5f68a638392b78a887c4e45333f1ec0deb2bb7b4 /src
parentd32bd47b9060ad77a0e6c54b5b50285e3b964f75 (diff)
Ulduar: fix instance saving
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp32
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;