Files

36 lines
1.3 KiB
C++
Raw Permalink Normal View History

2024-01-05 10:15:41 -06:00
#include "2s2h/resource/importer/scenecommand/SetCsCameraFactory.h"
#include "2s2h/resource/type/scenecommand/SetCsCamera.h"
#include "spdlog/spdlog.h"
2024-03-26 21:26:31 -04:00
namespace SOH {
2024-05-22 09:52:56 -04:00
std::shared_ptr<Ship::IResource> SetCsCameraFactory::ReadResource(std::shared_ptr<Ship::ResourceInitData> initData,
std::shared_ptr<Ship::BinaryReader> reader) {
2024-03-26 21:26:31 -04:00
auto setCsCamera = std::make_shared<SetCsCamera>(initData);
2024-05-22 09:52:56 -04:00
2024-01-05 10:15:41 -06:00
ReadCommandId(setCsCamera, reader);
2024-03-26 21:26:31 -04:00
size_t camSize = reader->ReadUInt32();
setCsCamera->csCamera.reserve(camSize);
2024-01-05 10:15:41 -06:00
for (size_t i = 0; i < camSize; i++) {
ActorCsCamInfoData data;
data.setting = reader->ReadUInt16();
data.count = reader->ReadUInt16();
if (data.count == 0) {
data.actorCsCamFuncData = nullptr;
continue;
}
data.actorCsCamFuncData = new z64Vec3s[data.count];
for (size_t j = 0; j < data.count; j++) {
data.actorCsCamFuncData[j].x = reader->ReadInt16();
data.actorCsCamFuncData[j].y = reader->ReadInt16();
data.actorCsCamFuncData[j].z = reader->ReadInt16();
}
setCsCamera->csCamera.emplace_back(data);
}
2024-03-26 21:26:31 -04:00
return setCsCamera;
}
2024-05-22 09:52:56 -04:00
} // namespace SOH