mirror of
https://github.com/SMGCommunity/Petari.git
synced 2025-02-23 15:40:48 +00:00
58 lines
1.2 KiB
C++
58 lines
1.2 KiB
C++
#include "Game/System/ScenarioDataParser.hpp"
|
|
#include "Game/Util.hpp"
|
|
|
|
bool ScenarioData::getValueString(const char *pKey, s32 a2, const char **pOut) const {
|
|
ScenarioDataIter inf = getScenarioDataIter(a2);
|
|
bool ret = inf._0->getValue<const char *>(inf.mCur, pKey, pOut);
|
|
|
|
if (ret) {
|
|
if (MR::isEqualString(*pOut, "")) {
|
|
*pOut = 0;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
const char* ScenarioData::getZoneName(s32 zoneID) const {
|
|
const char* zoneName = 0;
|
|
mZoneList->getValue<const char *>(zoneID, "ZoneName", &zoneName);
|
|
return zoneName;
|
|
}
|
|
|
|
s32 ScenarioData::getZoneNum() const {
|
|
if (mZoneList->mData) {
|
|
return mZoneList->mData->mNumEntries;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
s32 ScenarioData::getZoneId(const char *pZoneName) const {
|
|
for (s32 i = 0; i < getZoneNum(); i++) {
|
|
const char* zoneName = 0;
|
|
mZoneList->getValue<const char *>(i, "ZoneName", &zoneName);
|
|
|
|
if (MR::isEqualStringCase(zoneName, pZoneName)) {
|
|
return i;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
// ScenarioDataIter::isEnd()
|
|
|
|
void ScenarioDataIter::goNext() {
|
|
if (!isEnd()) {
|
|
mCur++;
|
|
}
|
|
}
|
|
|
|
ScenarioDataParser::~ScenarioDataParser() {
|
|
|
|
}
|
|
|
|
namespace MR {
|
|
|
|
} |