1#include "Game/Camera/DotCamParams.hpp"
5DotCamReader::~DotCamReader() {
9DotCamReaderInBin::DotCamReaderInBin(
const void *pData) :
10 mVersion(0), _8(nullptr), mMapInfo() {
11 mMapIter.mInfo =
nullptr;
16DotCamReaderInBin::~DotCamReaderInBin() {
22u32 DotCamReaderInBin::getVersion()
const {
28bool DotCamReaderInBin::hasMoreChunk()
const {
31 if (mMapIter.isValid()) {
32 const JMapData *mapData = mMapInfo.mData;
33 s32 iVar2 = mapData !=
nullptr ? mapData->_0 : 0;
39 if (mMapIter._4 == iVar2 && mMapIter.mInfo !=
nullptr && mapInfo.mData !=
nullptr) {
40 if (mMapIter.mInfo->mData == mapInfo.mData) {
54void DotCamReaderInBin::nextToChunk() {
55 if (mMapIter.isValid()) {
60bool DotCamReaderInBin::getValueInt(
const char *pName,
long *pOut) {
61 return mMapIter.getValue<
long>(pName, pOut);
64bool DotCamReaderInBin::getValueFloat(
const char *pName,
float *pOut) {
65 return mMapIter.getValue<
float>(pName, pOut);
68bool DotCamReaderInBin::getValueVec(
const char *pName, TVec3f *pOut) {
70 char *pBuffer = &buffer[0];
76 snprintf(pBuffer,
sizeof(buffer),
"%s.X", pName);
77 bool success = mMapIter.getValue<
float>(pBuffer, &x) & 1;
79 snprintf(pBuffer,
sizeof(buffer),
"%s.Y", pName);
80 success &= mMapIter.getValue<
float>(pBuffer, &y);
82 snprintf(pBuffer,
sizeof(buffer),
"%s.Z", pName);
83 success &= mMapIter.getValue<
float>(pBuffer, &z);
94bool DotCamReaderInBin::getValueString(
const char *pName,
const char **pOut) {
95 s32 iVar3 = mMapIter._4;
97 s32 index = info->searchItemInfo(pName);
103 return info->getValueFast(iVar3, index, pOut);
108void DotCamReaderInBin::init(
const void *pData) {
109 mMapInfo.attach(pData);
110 s32 index = mMapInfo.searchItemInfo(
"version");
112 bool valid = index >= 0;
115 mMapInfo.getValueFast(0, index, &mVersion);
118 mMapIter.mInfo = &mMapInfo;