[Core/Maps] Activate creatures and objects during opening cinematics and other flyby cameras (sunwell etc).

Requires re-running map extractor to extract camera m2 files from data
files. These are very small.
This commit is contained in:
r00ty-tc
2016-04-27 16:53:18 +02:00
committed by joschiwald
parent 438d090c8d
commit 8a71e4255e
20 changed files with 913 additions and 9 deletions

View File

@@ -32,6 +32,7 @@ EndScriptData */
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "GossipDef.h"
#include "M2Stores.h"
#include "Transport.h"
#include "Language.h"
#include "MapManager.h"
@@ -123,13 +124,28 @@ public:
uint32 id = atoi((char*)args);
if (!sCinematicSequencesStore.LookupEntry(id))
CinematicSequencesEntry const* cineSeq = sCinematicSequencesStore.LookupEntry(id);
if (!cineSeq)
{
handler->PSendSysMessage(LANG_CINEMATIC_NOT_EXIST, id);
handler->SetSentErrorMessage(true);
return false;
}
// Dump camera locations
std::unordered_map<uint32, FlyByCameraCollection>::const_iterator itr = sFlyByCameraStore.find(cineSeq->Camera[0]);
if (itr != sFlyByCameraStore.end())
{
handler->PSendSysMessage("Waypoints for sequence %u, camera %u", id, cineSeq->Camera[0]);
uint32 count = 1;
for (FlyByCamera cam : itr->second)
{
handler->PSendSysMessage("%02u - %7ums [%f, %f, %f] Facing %f (%f degrees)", count, cam.timeStamp, cam.locations.x, cam.locations.y, cam.locations.z, cam.locations.w, cam.locations.w * (180 / M_PI));
count++;
}
handler->PSendSysMessage("%u waypoints dumped", itr->second.size());
}
handler->GetSession()->GetPlayer()->SendCinematicStart(id);
return true;
}