MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / LoadCameras

Function LoadCameras

TombEngine/Specific/level.cpp:585–630  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

583}
584
585void LoadCameras()
586{
587 int cameraCount = ReadCount();
588 TENLog("Camera count: " + std::to_string(cameraCount), LogLevel::Info);
589
590 g_Level.Cameras.reserve(cameraCount);
591 for (int i = 0; i < cameraCount; i++)
592 {
593 auto& camera = g_Level.Cameras.emplace_back();
594 camera.Index = i;
595 camera.Position.x = ReadInt32();
596 camera.Position.y = ReadInt32();
597 camera.Position.z = ReadInt32();
598 camera.RoomNumber = ReadInt32();
599 camera.Flags = ReadInt32();
600 camera.Speed = ReadInt32();
601 camera.Name = ReadString();
602
603 g_GameScriptEntities->AddName(camera.Name, camera);
604 }
605
606 int numSpotcams = ReadCount();
607 TENLog("Flyby camera count: " + std::to_string(numSpotcams), LogLevel::Info);
608
609 // TODO: Read properly!
610 SpotCam.resize(numSpotcams);
611 if (numSpotcams != 0)
612 ReadBytes(SpotCam.data(), numSpotcams * sizeof(SPOTCAM));
613
614 int sinkCount = ReadCount();
615 TENLog("Sink count: " + std::to_string(sinkCount), LogLevel::Info);
616
617 g_Level.Sinks.reserve(sinkCount);
618 for (int i = 0; i < sinkCount; i++)
619 {
620 auto& sink = g_Level.Sinks.emplace_back();
621 sink.Position.x = ReadInt32();
622 sink.Position.y = ReadInt32();
623 sink.Position.z = ReadInt32();
624 sink.Strength = ReadInt32();
625 sink.BoxIndex = ReadInt32();
626 sink.Name = ReadString();
627
628 g_GameScriptEntities->AddName(sink.Name, sink);
629 }
630}
631
632void LoadTextures()
633{

Callers 1

LoadLevelFunction · 0.85

Calls 11

ReadCountFunction · 0.85
TENLogFunction · 0.85
to_stringFunction · 0.85
ReadInt32Function · 0.85
ReadStringFunction · 0.85
ReadBytesFunction · 0.85
emplace_backMethod · 0.80
AddNameMethod · 0.80
reserveMethod · 0.45
resizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected